diff -ruN 1.3.12p3/config/config-default.ini 1.3.14/config/config-default.ini
--- 1.3.12p3/config/config-default.ini	2006-06-18 06:19:16.000000000 -0500
+++ 1.3.14/config/config-default.ini	2007-07-01 05:11:02.000000000 -0500
@@ -1,4 +1,4 @@
-; $Id: config-default.ini,v 1.38 2005/09/17 08:17:18 rurban Exp $
+; $Id: config-default.ini,v 1.51 2007/04/18 20:40:49 rurban Exp $
 ; This is the default PhpWiki configuration for undefined config.ini entries.
 
 ; recent development and debugging features:
@@ -13,15 +13,24 @@
 ; calculated dynamically, but need a default
 WIKIDB_NOCACHE_MARKUP = false
 ENABLE_SPAMASSASSIN = false
-; deprecated
-ENABLE_LIVESEARCH = false
-ENABLE_ACDROPDOWN = false
+ENABLE_SPAMBLOCKLIST = true
 GOOGLE_LINKS_NOFOLLOW = true
 NUM_SPAM_LINKS = 20
 USE_SAFE_DBSESSION = false
 ENABLE_DISCUSSION_LINK = false
 ENABLE_CAPTCHA = false
 USE_CAPTCHA_RANDOM_WORD = false
+ENABLE_ACDROPDOWN = true
+DISABLE_UPLOAD_ONLY_ALLOWED_EXTENSIONS = false
+; deprecated, because non-free
+ENABLE_LIVESEARCH = false
+ENABLE_WYSIWYG = true
+WYSIWYG_BACKEND = Wikiwyg
+WYSIWYG_DEFAULT_PAGETYPE_HTML = false
+UPLOAD_USERDIR = true
+DISABLE_UNITS = false
+; UNITS_EXE = /usr/bin/units
+ENABLE_SEARCHHIGHLIGHT = true
 
 WIKI_NAME = PhpWiki
 ENABLE_REVERSE_DNS = true
@@ -50,8 +59,8 @@
 DATABASE_DIRECTORY = /tmp
 DATABASE_DBA_HANDLER = gdbm
 DATABASE_TIMEOUT = 20
-DATABASE_PERSISTENT = false
 DATABASE_OPTIMISE_FREQUENCY = 50
+DATABASE_PERSISTENT = false
 
 ; let all revisions be stored
 MAJOR_MIN_KEEP = 2147483647
@@ -99,9 +108,9 @@
 DBAUTH_PREF_SELECT = "SELECT prefs FROM pref WHERE userid='$userid'"
 DBAUTH_PREF_UPDATE = "UPDATE pref SET prefs='$pref_blob' WHERE userid='$userid'"
 DBAUTH_PREF_INSERT = "INSERT INTO pref (prefs,userid) VALUES ('$pref_blob','$userid')"
-DBAUTH_IS_MEMBER     = "SELECT userid FROM pref WHERE userid='$userid' AND groupname='$groupname'"
+DBAUTH_IS_MEMBER   = "SELECT userid FROM pref WHERE userid='$userid' AND groupname='$groupname'"
 DBAUTH_GROUP_MEMBERS = "SELECT userid FROM pref WHERE groupname='$groupname'"
-DBAUTH_USER_GROUPS   = "SELECT groupname FROM pref WHERE userid='$userid'"
+DBAUTH_USER_GROUPS = "SELECT groupname FROM pref WHERE userid='$userid'"
 EDITING_POLICY = "EditingPolicy"
 ; old WikiUser options:
 ALLOW_HTTP_AUTH_LOGIN = false
@@ -135,6 +144,9 @@
 TOC_FULL_SYNTAX = true
 ENABLE_MARKUP_COLOR = true
 ENABLE_MARKUP_TEMPLATE = false
+DISABLE_MARKUP_WIKIWORD = false
+ENABLE_MARKUP_DIVSPAN = false
+PLUGIN_MARKUP_MAP = ""
 
 ; these not:
 ; DBAUTH_AUTH_DSN =
@@ -152,13 +164,14 @@
 ; FORTUNE_DIR = /usr/share/fortune
 ; GOOGLE_LICENSE_KEY = "..."
 ; DBADMIN_USER = 
-; DBADMIN_PASSWD = 
+; DBADMIN_PASSWD =
 BLOG_DEFAULT_EMPTY_PREFIX = true
 ; TOOLBAR_PAGELINK_PULLDOWN = *
 ; TOOLBAR_TEMPLATE_PULLDOWN = Template*
 
 ; External executables:
 ; USE_EXTERNAL_HTML2PDF = "htmldoc --quiet --format pdf14 --no-toc --no-title %s"
+EXTERNAL_HTML2PDF_PAGELIST = "htmldoc --quiet --webpage --format pdf14"
 BABYCART_PATH = /usr/local/bin/babycart
 ; GRAPHVIZ_EXE = /usr/local/bin/dot
 
diff -ruN 1.3.12p3/config/config-dist.ini 1.3.14/config/config-dist.ini
--- 1.3.12p3/config/config-dist.ini	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/config/config-dist.ini	2007-07-01 05:11:02.000000000 -0500
@@ -0,0 +1,1314 @@
+; This is the main configuration file for PhpWiki.
+; Note that certain characters are used as comment char and therefore 
+; these entries must be in double-quotes. Such as ":", ";", "," and "|"
+;
+; <?php die(); ?> for security
+;
+; This file is divided into eight parts. 
+; Each one has different configuration settings you can
+; change; in all cases the default should work on your system,
+; however, we recommend you tailor things to your particular setting.
+; Here undefined definitions get defined by config-default.ini settings.
+
+;=========================================================================
+; Part Zero: Latest Development and Tricky Options
+;=========================================================================
+; If PHP needs help in finding where you installed the rest of the PhpWiki
+; code, you can set the include_path here.
+;
+; Override PHP's include path so that it can find some needed additional libraries.
+; You shouldn't need to do this unless your system include_path esp. your 
+; system pear libs are broken or oudated. The PHPWIKI_DIR is automatically 
+; put to the front and the local lib/pear path is automatically added to the end.
+; But if you define it, be sure to include either the system pear path or 
+; the phpwiki/lib/pear path to override your Pear_DB.
+; Note that on Windows-based servers, you should use ; rather than :
+; as the path separator.
+;INCLUDE_PATH = ".:/usr/local/httpd/phpwiki:/usr/share/pear"
+
+; Set DEBUG to 1 to view the XHTML and CSS validator icons, page
+; processing timer, and possibly other debugging messages at the
+; bottom of each page. 65 for a more verbose level with AUTH hints. 
+; See lib/config.php for all supported values.
+; Default: 0
+;DEBUG = 1
+
+; Graphical buttons on edit. Default: true
+; Reportedly broken on MacOSX Safari
+;ENABLE_EDIT_TOOLBAR = false
+
+; Adds two additional buttons in EDIT_TOOLBAR, Search&Replace and Undo.
+; Undo is experimental. Default: true
+;JS_SEARCHREPLACE = true
+
+; Note: Enable it for all users. Otherwise as per-user setting in UserPreferences.
+; Default: false
+;ENABLE_DOUBLECLICKEDIT = false
+
+; Enable WYSIWYG editing. Converting back HTML to wikitext does not work in most engines. 
+; Experimental!
+;ENABLE_WYSIWYG = true
+
+; Which backend? Must be seperately installed. See lib/WysiwygEdit/
+;  Wikiwyg     http://openjsan.org/doc/i/in/ingy/Wikiwyg/
+;  tinymce     http://tinymce.moxiecode.com/ 
+;  FCKeditor   http://fckeditor.net/ 
+;  spaw        http://sourceforge.net/projects/spaw 
+;  htmlarea3   
+;  htmlarea2   
+;WYSIWYG_BACKEND = Wikiwyg
+
+; Store all WYSIWYG pages as HTML? Will loose most link and plugin options.
+; Not recommended, but presented here to test several WYSIWYG backends.
+;WYSIWYG_DEFAULT_PAGETYPE_HTML = false
+
+; Upload into seperate userdirs. If enabled (default since 1.3.13) the generated Upload: link 
+; will include the username plus "/". This will make all uploaded links longer, but we 
+; avoid nameclashes and you see who uploaded what file.
+;UPLOAD_USERDIR = false
+
+; SemanticWeb Units require the standard units executable, available in every distribution.
+; On Windows the cygwin version works fine if e.g. the cygwin bin is in the webserver path.
+; However if units fails, attribute comparisons will fail. Esp. getting the base unit and 
+; base values for all attributes.
+; So you might want to disable the unit strictness at all (area:=936km^2 < 1,000,000 ?). 
+; Default: false
+;DISABLE_UNITS = true
+
+; For a non-standard path
+;UNITS_EXE = /usr/bin/units
+
+; Needed for inlined SVG and MathM, but conflicts with document.write(). 
+; Experimental. Default: false. Problematic with MSIE6
+; See http://hixie.ch/advocacy/xhtml
+;ENABLE_XHTML_XML = true
+
+; Needs babycart installed. See http://phpwiki.org/SpamAssassinIntegration
+; Optionally define BABYCART_PATH. Default: /usr/local/bin/babycart
+;ENABLE_SPAMASSASSIN = true
+
+; Check for links to blocked external tld domains in new edits, against 
+; multi.surbl.org and bl.spamcop.net.
+;ENABLE_SPAMBLOCKLIST = true
+
+; If more than this number of external links appear on non-authenticated 
+; edits it will be rejected as spam.
+;NUM_SPAM_LINKS = 20
+
+; By setting DISABLE_UPLOAD_ONLY_ALLOWED_EXTENSIONS to true, you get
+; back the old behaviour to check only *bad* extensions of uploaded
+; files. However a server may treat other files with certain handlers,
+; like executable scripts, so we disable now everything and enable
+; only some extension.  See lib/plugin/UpLoad.php.
+; Default: false
+;DISABLE_UPLOAD_ONLY_ALLOWED_EXTENSIONS = false
+
+; If GOOGLE_LINKS_NOFOLLOW is true, ref=nofollow is added to 
+; all external links to discourage spam. You might want to turn it off,
+; if you want to improve pageranks on external links.
+; TODO: Add ref=nofollow only for external links added by anonymous users.
+; All internal action links do contain ref=nofollow
+;GOOGLE_LINKS_NOFOLLOW = false
+
+; LiveSearch enables immediate title search results via XMLHttpRequest.
+; Displays the results in a dropdown under the titlesearch inputbox
+; while typing. (experimental, only with certain themes)
+; You'll have to copy livesearch.js from http://blog.bitflux.ch/wiki/LiveSearch
+; to themes/default/ and define ENABLE_LIVESEARCH in config.ini to true. 
+; See themes/blog/themeinfo.php.
+; We used the bitflux.ch library temporarily, but we changed to 
+; the better moacdropdown. 
+;ENABLE_LIVESEARCH = true
+
+; ENABLE_ACDROPDOWN replaces now ENABLE_LIVESEARCH
+; http://momche.net/publish/article.php?page=acdropdown
+;ENABLE_ACDROPDOWN = false
+
+; Experimental WikiPedia feature: Force Discussion/Article link at the topnavbar.
+;ENABLE_DISCUSSION_LINK = true
+
+; If set to true, add some anti-spam countermeasures based on captcha
+; tests.  See http://www.captcha.net/ for more information on captcha.
+;ENABLE_CAPTCHA = true 
+
+; If USE_CAPTCHA_RANDOM_WORD is set to true,
+; Captcha will use a random word, otherwise a dictionary word.
+;USE_CAPTCHA_RANDOM_WORD = false
+
+; USE_SAFE_DBSESSION should be enabled, if you encounter session problems, with 
+; duplicate INSERT sess_id warnings at the bottom of the page. Reason is a 
+; unreliable affected_rows implementation() in the sql backend. 
+; Default is Disabled, using the fastest DbSession UPDATE method.
+;USE_SAFE_DBSESSION = false
+
+; If true don't use UserName/Blog/day/time pagenames for the ADMIN_USER, but 
+; Blog/day/time only. Convenience for a single-user blog theme.
+;BLOG_DEFAULT_EMPTY_PREFIX = true
+
+; External Searchengine hits are detected automatically and will be 
+; highlighted in the displayed page if enabled.
+; Optionally the actionpage SearchHighlight is also prepended, which 
+; prints a notice.
+; Default: true
+;ENABLE_SEARCHHIGHLIGHT = false
+
+;==========================================================================
+; Part One: Authentication and security settings.
+;
+; See Part Three for more.
+;==========================================================================
+
+; The name of your wiki.
+;
+; This is used to generate a keywords meta tag in the HTML templates,
+; in bookmark titles for any bookmarks made to pages in your wiki,
+; and during RSS generation for the title of the RSS channel.
+;
+; To use your own logo and signature files, name them PhpWikiLogo.png
+; and PhpWikiSignature.png and put them into themes/default/images
+; (substituting "PhpWiki" in the filename with the name you define
+; here).
+;
+; It is recommended this be a relatively short WikiWord like the
+; InterWiki monikers found in the InterWikiMap. (For examples, see
+; lib/interwiki.map).
+WIKI_NAME = PhpWiki
+
+; Username and password of administrator.
+;
+; Set these to your preferences. For heaven's sake pick a good
+; password and use the passencrypt.php tool to encrypt the password from
+; prying eyes.
+; http://wolfram.org/writing/howto/password.html
+; 
+; Logging into the wiki with the admin user and password allows you to lock,
+; unlock, or remove pages and to perform other PhpWikiAdministration
+; functions. On all other occasions you should simply log in with your
+; regular WikiName.
+; If your password contains special chars like ";" or ":" better quote it in double-quotes.
+;ADMIN_USER = 
+
+; You must set this! Username and password of the administrator.
+; ADMIN_PASSWD is ignored on HttpAuth
+;ADMIN_PASSWD =
+
+; It is recommended that you use encrypted passwords to be stored in the 
+; config.ini and the users homepages metadata.
+; You might want to use the passencrypt.php utility to encode the
+; admin password, in the event that someone gains ftp or ssh access to the
+; server and directory containing phpwiki. 
+; <i>SQL access passwords cannot be encrypted, besides using external DATABASE_DSN aliases within PDO.</i>
+; 
+; If true, all user passwords will be stored encrypted.
+; You might have to set it to false, if your PHP doesn't support crypt().
+; To use plain text passwords, in particular for the ADMIN_PASSWD, set
+; ENCRYPTED_PASSWD to false.
+ENCRYPTED_PASSWD = true
+
+; Visitor Hostname Lookup
+;
+; If set, reverse dns lookups will be performed to attempt to convert
+; the user's IP number into a host name, in the case where the http
+; server does not do this.
+ENABLE_REVERSE_DNS = true
+
+; Private ZIP Dumps of All Wiki Pages
+;
+; If true, only the admin user can make zip dumps. Otherwise anyone
+; may download all wiki pages as a single zip archive.
+ZIPDUMP_AUTH = false
+
+; The RawHtml plugin allows page authors to embed real, raw HTML into Wiki
+; pages.  This is a possible security threat, as much HTML (or, rather,
+; JavaScript) can be very risky.  If you are in a controlled environment,
+; or you are using the two options below, however, it could be of use. 
+ENABLE_RAW_HTML = true
+
+; If this is set, only pages locked by the Administrator may contain the
+; RawHtml plugin
+ENABLE_RAW_HTML_LOCKEDONLY = true
+
+; If this is set, all unsafe html code is stripped automatically (experimental!)
+; See http://chxo.com/scripts/safe_html-test.php
+ENABLE_RAW_HTML_SAFE = true
+
+; Actions listed in this array will not be allowed.  The complete list
+; of actions can be found in lib/main.php with the function
+; getActionDescription. 
+;
+; browse, create, diff, dumphtml, dumpserial, edit, loadfile, lock, 
+; remove, revert, xmlrpc, soap, unlock, upload, viewsource, zip, ziphtml, ...
+;DISABLED_ACTIONS = "dumpserial : loadfile"
+
+; If you enable this option, every page is moderated by the ModeratedPage
+; actionpage plugin. Changing a moderated page will be delayed to be 
+; granted by a moderator by email. Default: false to allow finer control.
+;ENABLE_MODERATEDPAGE_ALL = true
+
+; PhpWiki can generate an access_log (in "NCSA combined log" format)
+; for you. If you want one, define this to the name of the log
+; file. The server must have write access to the directory specified.
+; Preferred is to use SQL access logging as below.
+; Note that even you define ACCESS_LOG_SQL logs are written to this file also.
+;
+; Default: empty - no access log file will be generated.
+;ACCESS_LOG = /var/tmp/wiki_access_log
+
+; PhpWiki can read and/or write mod_log_sql accesslog tables for faster
+; abuse detection and referer lists.
+; See http://www.outoforder.cc/projects/apache/mod_log_sql/docs-2.0/#id2756178
+;
+; If defined (e.g. 1) read-access is done via SQL. 
+; If flag 2 is set, phpwiki also writes. Default on SQL database.
+; This must use DATABASE_TYPE = SQL or ADODB or PDO.
+;   ACCESS_LOG_SQL = 0 ; disable SQL access logging
+;   ACCESS_LOG_SQL = 1 ; phpwiki reads, apache mod_log_sql writes
+;ACCESS_LOG_SQL = 2 ; read + write
+
+; By default PhpWiki will try to have PHP compress its output
+; before sending it to the browser, if you have a recent enough
+; version of PHP and the browser and action supports it.
+;
+; Define COMPRESS_OUTPUT to false to prevent output compression.
+; Define COMPRESS_OUTPUT to true to force output compression,
+; even if we think your version of PHP does this in a buggy
+; fashion.
+; Leave it undefined to leave the choice up to PhpWiki. (Recommended)
+;
+; WARNING: Compressing the output has been reported to cause problems
+; when PHP is running on MacOSX or on redirected requests.
+; This setting should now be correctly determined automatically.
+;COMPRESS_OUTPUT = false
+
+; This controls how PhpWiki sets the HTTP cache control
+; headers (Expires: and Cache-Control:) 
+;
+; Choose one of:
+;
+; NO_CACHE: This is roughly the old (pre 1.3.4) behavior.  PhpWiki will
+;       instruct proxies and browsers never to cache PhpWiki output.
+;       This was previously called 'NONE', but NONE was treated specially 
+;       by parse_ini_config().
+;
+; STRICT: Cached pages will be invalidated whenever the database global
+;       timestamp changes.  This should behave just like NO_CACHE (modulo
+;       bugs in PhpWiki and your proxies and browsers), except that
+;       things will be slightly more efficient.
+;
+; LOOSE: Cached pages will be invalidated whenever they are edited,
+;       or, if the pages include plugins, when the plugin output could
+;       concievably have changed.
+;
+;       Behavior should be much like STRICT, except that sometimes
+;       wikilinks will show up as undefined (with the question mark)
+;       when in fact they refer to (recently) created pages.
+;       (Hitting your browsers reload or perhaps shift-reload button
+;       should fix the problem.)
+;
+; ALLOW_STALE: Proxies and browsers will be allowed to used stale pages.
+;       (The timeout for stale pages is controlled by CACHE_CONTROL_MAX_AGE.)
+;
+;       This setting will result in quirky behavior.  When you edit a
+;       page your changes may not show up until you shift-reload the
+;       page, etc...
+;
+;       This setting is generally not advisable, however it may be useful
+;       in certain cases (e.g. if your wiki gets lots of page views,
+;       and few edits by knowledgable people who won't freak over the quirks.)
+;
+; The recommended default is currently LOOSE.
+;
+CACHE_CONTROL = LOOSE
+
+; Maximum page staleness, in seconds.
+;
+; This only has effect if CACHE_CONTROL is set to ALLOW_STALE.
+CACHE_CONTROL_MAX_AGE = 600
+
+; PhpWiki normally caches a preparsed version (i.e. mostly
+; converted to HTML) of the most recent version of each page.
+; (Parsing the wiki-markup takes a fair amount of CPU.)
+; Define WIKIDB_NOCACHE_MARKUP to true to disable the
+; caching of marked-up page content.
+; Note that you can also disable markup caching on a per-page
+; temporary basis by addinging a query arg of '?nocache=1'
+; to the URL to the page or by adding a NoCache plugin line. 
+; Use '?nocache=purge' to completely discard the cached version of the page.
+; You can also purge the cached markup globally by using the
+; "Purge Markup Cache" button on the PhpWikiAdministration page.
+; Enable only for old php's with low memory or memory_limit=8MB.
+; Default: false
+;WIKIDB_NOCACHE_MARKUP = true
+
+COOKIE_EXPIRATION_DAYS = 365
+; Default path for the wikiuser cookie. You need to specify this more explicitly
+; if you want to enable different users on different wikis on the same host.
+;COOKIE_DOMAIN = "/"
+
+; The login code now uses PHP's session support. Usually, the default
+; configuration of PHP is to store the session state information in
+; /tmp. That probably will work fine, but fails e.g. on clustered
+; servers where each server has their own distinct /tmp (this is the
+; case on SourceForge's project web server.) You can specify an
+; alternate directory in which to store state information like so
+; (whatever user your httpd runs as must have read/write permission
+; in this directory)
+;
+; On USE_DB_SESSION = true you can ignore this.
+;SESSION_SAVE_PATH = some_other_directory
+
+; On USE_DB_SESSION = true or false you can force the behaviour 
+; how to transport session data.
+;USE_DB_SESSION = false 
+
+;======================================================================
+; Part Two: Database Selection
+;======================================================================
+
+; Select the database backend type:
+;
+;       SQL:   access one of several SQL databases using the PEAR DB library.
+;       ADODB: uses the ADODB library for data access.     (most general)
+;       PDO:   The new PHP5 dataobkject library. (experimental, no paging yet)
+;       dba:   use one of the standard UNIX dbm libraries. Use BerkeleyDB (db3,4) (fastest)
+;       file:  use a serialized file database. (easiest)
+;       flatfile:  use a flat file database. (experimental, readable, slow)
+;       cvs:   use a CVS server to store everything. (experimental, slowest, not recommended)
+DATABASE_TYPE = dba
+   
+; Prefix for filenames or table names
+;
+; Currently you MUST EDIT THE SQL file too (in the schemas/
+; directory because we aren't doing on the fly sql generation
+; during the installation.
+; Note: This prefix is NOT prepended to the default DBAUTH_
+;       tables user, pref and member!
+;DATABASE_PREFIX = phpwiki_
+
+; For SQL based backends, specify the database as a DSN (Data Source Name),
+; a kind of URL for databases.
+;
+; The most general form of a DSN looks like:
+;
+;       dbtype(dbsyntax)://username:password@protocol+hostspec/database?option=value&option2=value2
+;
+; For a MySQL database, the following should work:
+;
+;       mysql://user:password@host/databasename
+;
+; To connect over a unix socket, use something like
+;
+;       mysql://user:password@unix(/path/to/socket)/databasename
+;
+; Valid values for dbtype are mysql, pgsql, or sqlite.
+;
+DATABASE_DSN = "mysql://guest@unix(/var/lib/mysql/mysql.sock)/test"
+
+; Keep persistent connections: (mysql_pconnect, ...)
+; Recommended is false for bigger servers, and true for small servers 
+; with not so many connections. postgresql: Please leave it false. Default: false
+; Should really be set as database option in the DSN above.
+DATABASE_PERSISTENT = false
+
+; A table to store session information.  Only needed by SQL backends.
+;
+; A word of warning - any prefix defined above will be prepended to whatever
+; is given here.
+DATABASE_SESSION_TABLE = session
+
+; For the file and dba backends, this specifies where the data files will be
+; located.  Ensure that the user that the webserver runs as has write access
+; to this directory.
+;
+; WARNING: leaving this as the default of '/tmp' will almost guarantee that
+; you'll lose your wiki data at some stage.
+DATABASE_DIRECTORY = /tmp
+
+; For the dba backend, this defines which DBA variant you wish to use.
+;       gdbm - commonly available, Fedora not. Not recommended anymore.
+;       db2 - Berkeley DB v2; not supported by modern versions of PHP.
+;       db3 - Berkeley DB v3; as per db2. The best on Windows.
+;       db4 - Berkeley DB v4; current version, however PHP has some issues
+;               with it's db4 support.
+;       dbm - Older dba handler; suffers from limits on the size of data
+;               items.
+; Better not use other hacks such as inifile, flatfile or cdb.
+DATABASE_DBA_HANDLER = db4
+
+; How long will the system wait for a database operation to complete?
+; Specified in seconds.
+DATABASE_TIMEOUT = 12
+
+; How often to try and optimise the database. Specified in seconds. 
+; Set to 0 to disable optimisation completely. Default is 50 (seconds).
+;
+; This is a fairly crude way of doing things as it requires a page save
+; to occur during the right minute for the optimisation to be triggered. 
+;
+; With most modern databases (eg. Postgres) and distributions (eg. Debian)
+; the system maintenance scripts take care of this nightly, so you will want
+; to set this parameter to 0 (disabled).
+;DATABASE_OPTIMISE_FREQUENCY = 50
+
+; Optional: Administrative SQL DB access (for action=upgrade)
+; If action=upgrade detects (My)SQL problems, but has no ALTER permissions, 
+; give here a database username which has the necessary ALTER or CREATE permissions.
+; Of course you can fix your database manually. See lib/upgrade.php for known issues.
+;DBADMIN_USER = root
+
+; Optional: Administrative SQL DB access (for action=upgrade)
+;DBADMIN_PASSWD = secret
+
+; Store DB query results (esp. for page lists) in memory to avoid duplicate queries.
+; Disable only for old php's with low memory or memory_limit=8MB.
+; Requires at least memory_limit=16MB
+; Default: true
+;USECACHE = false
+
+;========================================================================
+; Section 3a: Page revisions
+;
+; The next section controls how many old revisions of each page are
+; kept in the database.
+;========================================================================
+
+; There are two basic classes of revisions: major and minor. Which
+; class a revision belongs in is determined by whether the author
+; checked the "this is a minor revision" checkbox when they saved the
+; page.
+; 
+; There is, additionally, a third class of revisions: author
+; revisions. The most recent non-mergable revision from each distinct
+; author is an author revision.
+;
+; The expiry parameters for each of those three classes of revisions
+; can be adjusted seperately. For each class there are five
+; parameters (usually, only two or three of the five are actually
+; set) which control how long those revisions are kept in the
+; database.
+;
+;   MAX_KEEP: If set, this specifies an absolute maximum for the
+;             number of archived revisions of that class. This is
+;             meant to be used as a safety cap when a non-zero
+;             min_age is specified. It should be set relatively high,
+;             and it's purpose is to prevent malicious or accidental
+;             database overflow due to someone causing an
+;             unreasonable number of edits in a short period of time.
+;
+;   MIN_AGE:  Revisions younger than this (based upon the supplanted
+;             date) will be kept unless max_keep is exceeded. The age
+;             should be specified in days. It should be a
+;             non-negative, real number,
+;
+;   MIN_KEEP: At least this many revisions will be kept.
+;
+;   KEEP: No more than this many revisions will be kept.
+;
+;   MAX_AGE:  No revision older than this age will be kept.
+;
+; Definitions of terms used above:
+;
+; Supplanted date: Revisions are timestamped at the instant that they
+; cease being the current revision. Revision age is computed using
+; this timestamp, not the edit time of the page.
+;
+; Merging: When a minor revision is deleted, if the preceding
+; revision is by the same author, the minor revision is merged with
+; the preceding revision before it is deleted. Essentially: this
+; replaces the content (and supplanted timestamp) of the previous
+; revision with the content after the merged minor edit, the rest of
+; the page metadata for the preceding version (summary, mtime, ...)
+; is not changed.
+;
+; Let all revisions be stored. Default since 1.3.11
+;MAJOR_MIN_KEEP = 2147483647
+;MINOR_MIN_KEEP = 2147483647
+
+; Keep up to 8 major edits, but keep them no longer than a month.
+MAJOR_MAX_AGE = 32
+MAJOR_KEEP = 8
+
+; Keep up to 4 minor edits, but keep them no longer than a week.
+MINOR_MAX_AGE = 7
+MINOR_KEEP = 4
+
+; Keep the latest contributions of the last 8 authors up to a year.
+; Additionally, (in the case of a particularly active page) try to
+; keep the latest contributions of all authors in the last week (even
+; if there are more than eight of them,) but in no case keep more
+; than twenty unique author revisions.
+AUTHOR_MAX_AGE = 365
+AUTHOR_KEEP = 8
+AUTHOR_MIN_AGE = 7
+AUTHOR_MAX_KEEP = 20
+
+;========================================================================
+; Part Three: User Authentication
+;========================================================================
+;
+; New user authentication configuration:
+; We support three basic authentication methods and a stacked array 
+; of advanced auth methods to get and check the passwords:
+;
+; ALLOW_ANON_USER         default true
+; ALLOW_ANON_EDIT         default true
+; ALLOW_BOGO_LOGIN        default true
+; ALLOW_USER_PASSWORDS    default true
+
+; allow anon users to view or edit any existing pages
+ALLOW_ANON_USER = true
+; allow anon users to edit pages
+ALLOW_ANON_EDIT = true
+
+; If ALLOW_BOGO_LOGIN is true, users are allowed to login (with
+; any/no password) using any userid which: 
+;  1) is not the ADMIN_USER, and
+;  2) is a valid WikiWord (matches $WikiNameRegexp.)
+; If true, users may be created by themselves. Otherwise we need seperate auth. 
+; If such a user will create a so called HomePage with his userid, he will 
+; be able to store his preferences and password there.
+ALLOW_BOGO_LOGIN = true
+
+; True User Authentication:
+; To require user passwords:
+;   ALLOW_ANON_USER = false
+;   ALLOW_ANON_EDIT = false
+;   ALLOW_BOGO_LOGIN = false,
+;   ALLOW_USER_PASSWORDS = true.
+; Otherwise any anon or bogo user might login without any or a wrong password.
+ALLOW_USER_PASSWORDS = true
+
+; Many different methods can be used to check user's passwords:
+;   BogoLogin:     WikiWord username, with no *actual* password checking,
+;                   although the user will still have to enter one.
+;   PersonalPage:  Store passwords in the users homepage metadata (simple)
+;   Db:            Use DBAUTH_AUTH_* (see below) with PearDB or 
+;                   ADODB only.
+;   LDAP:          Authenticate against LDAP_AUTH_HOST with LDAP_BASE_DN
+;   IMAP:          Authenticate against IMAP_AUTH_HOST (email account)
+;   POP3:          Authenticate against POP3_AUTH_HOST (email account)
+;   Session:       Get username and level from a PHP session variable. (e.g. for gforge)
+;   File:          Store username:crypted-passwords in .htaccess like files. 
+;                  Use Apache's htpasswd to manage this file.
+;   HttpAuth:      Use the protection by the webserver (.htaccess/.htpasswd)
+;                  Note that the ADMIN_USER should exist also.
+;                  Using HttpAuth disables all other methods and no userauth sessions are used.
+;		   With mod_ntlm and mod_auth_sspi use this. (automatic login with MSIE)
+;
+; Several of these methods can be used together, in the manner specified by
+; USER_AUTH_POLICY, below.  To specify multiple authentication methods,
+; separate the name of each one with colons.
+; USER_AUTH_ORDER = "BogoLogin : PersonalPage"
+;USER_AUTH_ORDER = "PersonalPage : Db"
+
+; For "security" purposes, you can specify that a password be at least a
+; certain number of characters long.  This applies even to the BogoLogin
+; method. Default: 0 (to allow immediate passwordless BogoLogin)
+;PASSWORD_LENGTH_MINIMUM = 6
+    
+; The following policies are available for user authentication:
+;       first-only: use only the first method in USER_AUTH_ORDER
+;       old:        ignore USER_AUTH_ORDER and try to use all available 
+;                       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
+;       stacked:    check the given user - password combination for all
+;                       methods and return true on the first success.
+USER_AUTH_POLICY = stacked
+
+; 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
+; Default: true
+;ENABLE_USER_NEW = false
+
+; Use access control lists (as in Solaris and Windows NTFS) per page and group, 
+; not per user for the whole wiki.
+; 
+; We suspect ACL page permissions to degrade speed by 10%. 
+; GROUP_METHOD=WIKIPAGE is slowest.
+; Default: true
+;ENABLE_PAGEPERM = false
+
+; LDAP authentication options:
+;
+; The LDAP server to connect to.  Can either be a hostname, or a complete
+; URL to the server (useful if you want to use ldaps or specify a different
+; port number).
+;LDAP_AUTH_HOST = "ldap://localhost:389"
+
+; The organizational or domain BASE DN: e.g. "dc=mydomain,dc=com".
+;
+; Note: ou=Users and ou=Groups are used for GroupLdap Membership
+; Better use LDAP_OU_USERS and LDAP_OU_GROUP with GROUP_METHOD=LDAP.
+;LDAP_BASE_DN = "ou=Users,o=Development,dc=mycompany.com"
+
+; Some LDAP servers need some more options, such as the Windows Active
+; Directory Server.  Specify the options (as allowed by the PHP LDAP module)
+; and their values as NAME=value pairs separated by colons.
+;LDAP_SET_OPTION = "LDAP_OPT_PROTOCOL_VERSION=3:LDAP_OPT_REFERRALS=0"
+
+; DN to initially bind to the LDAP server as. This is needed if the server doesn't 
+; allow anonymous queries. (Windows Active Directory Server)
+;LDAP_AUTH_USER = "CN=ldapuser,ou=Users,o=Development,dc=mycompany.com"
+
+; Password to use to initially bind to the LDAP server, as the DN 
+; specified in the LDAP_AUTH_USER option (above).
+;LDAP_AUTH_PASSWORD = secret
+
+; If you want to match usernames against an attribute other than uid,
+; specify it here. uid is for real active users. cn for anything like test users,
+; sAMAccountName often for Windows/Samba. 
+; Default: uid. Use also "cn" or "sAMAccountName".
+;LDAP_SEARCH_FIELD = sAMAccountName
+
+; If you have an organizational unit for all users, define it here.
+; This narrows the search, and is needed for LDAP group membership (if GROUP_METHOD=LDAP)
+; Default: ou=Users
+;LDAP_OU_USERS = ou=Users
+
+; If you have an organizational unit for all groups, define it here.
+; This narrows the search, and is needed for LDAP group membership (if GROUP_METHOD=LDAP)
+; The entries in this ou must have a gidNumber and cn attribute.
+; Default: ou=Groups
+;LDAP_OU_GROUP = ou=Groups
+
+
+; IMAP authentication options:
+;
+; The IMAP server to check usernames from.  Defaults to localhost.
+;
+; Some IMAP_AUTH_HOST samples:
+;   "localhost", "localhost:143/imap/notls", 
+;   "localhost:993/imap/ssl/novalidate-cert" (SuSE refuses non-SSL conections)
+;IMAP_AUTH_HOST = "localhost:143/imap/notls"
+
+; POP3 authentication options:
+;
+; Host to connect to.
+;POP3_AUTH_HOST = "localhost:110"
+
+; Port to connect. Deprecated: Use POP3_AUTH_HOST:<port> instead
+;POP3_AUTH_PORT = 110
+
+; File authentication options:
+;
+; File to read for authentication information.
+; Popular choices are /etc/shadow and /etc/httpd/.htpasswd
+;AUTH_USER_FILE = /etc/shadow
+
+; Defines whether the user is able to change their own password via PHPWiki.
+; Note that this means that the webserver user must be able to write to the
+; file specified in AUTH_USER_FILE.
+;AUTH_USER_FILE_STORABLE = false
+
+; Session Auth:
+; Name of the session variable which holds the already authenticated username.
+; Sample: "userid", "user[username]", "user->username"
+;AUTH_SESS_USER = userid
+
+; Which level will the user be? 1 = Bogo or 2 = Pass
+;AUTH_SESS_LEVEL = 2
+
+; Group membership.  PhpWiki supports defining permissions for a group as
+; well as for individual users.  This defines how group membership information
+; is obtained.  Supported values are:
+;
+;       "NONE"          Disable group membership (Fastest). Note the required quoting.
+;       WIKIPAGE        Define groups as list at "CategoryGroup". (Slowest, but easiest to maintain)
+;       DB              Stored in an SQL database. Optionally external. See USERS/GROUPS queries
+;       FILE            Flatfile. See AUTH_GROUP_FILE below.
+;       LDAP            LDAP groups. See "LDAP authentication options" above and 
+;                       lib/WikiGroup.php. (experimental)
+GROUP_METHOD = WIKIPAGE
+
+; Page where all groups are listed. Default: Translation of "CategoryGroup"
+;CATEGORY_GROUP_PAGE = CategoryGroup
+
+; For GROUP_METHOD = FILE, the file given below is referenced to obtain
+; group membership information.  It should be in the same format as the
+; standard unix /etc/groups(5) file.
+;AUTH_GROUP_FILE = /etc/groups
+
+; External database authentication and authorization.
+;
+; If USER_AUTH_ORDER includes Db, or GROUP_METHOD = DB, the options listed
+; below define the SQL queries used to obtain the information out of the
+; database, and (in some cases) store the information back to the DB.
+;
+; The options appropriate for each query are currently undocumented, and
+; you should not be surprised if things change mightily in the future.
+;
+; A database DSN to connect to.  Defaults to the DSN specified for the Wiki
+; as a whole.
+;DBAUTH_AUTH_DSN = "mysql://wikiuser:@127.0.0.1/phpwiki"
+;
+; USER/PASSWORD queries
+;
+; For USER_AUTH_POLICY=strict and the Db method this is required:
+;DBAUTH_AUTH_USER_EXISTS = "SELECT userid FROM pref WHERE userid='$userid'"
+
+; Check to see if the supplied username/password pair is OK
+;
+; Plaintext Passwords:
+; DBAUTH_AUTH_CHECK = "SELECT IF(TRIM(passwd)='$password',1,0) AS ok FROM pref WHERE TRIM(userid)='$userid'"
+;
+; Database-hashed passwords (more secure):
+;DBAUTH_AUTH_CHECK = "SELECT IF(TRIM(passwd)=PASSWORD('$password'),1,0) AS ok FROM pref WHERE TRIM(userid)='$userid'"
+DBAUTH_AUTH_CRYPT_METHOD = plain
+
+; If you want to use Unix crypt()ed passwords, you can use DBAUTH_AUTH_CHECK
+; to get the password out of the database with a simple SELECT query, and
+; specify DBAUTH_AUTH_USER_EXISTS and DBAUTH_AUTH_CRYPT_METHOD:
+;DBAUTH_AUTH_CHECK = "SELECT passwd FROM pref WHERE TRIM(userid)='$userid'"
+; DBAUTH_AUTH_CRYPT_METHOD = crypt
+
+; Update the user's authentication credential.  If this is not defined but
+; DBAUTH_AUTH_CHECK is, then the user will be unable to update their
+; password.
+;
+; Database-hashed passwords:
+; DBAUTH_AUTH_UPDATE = "UPDATE pref SET passwd=PASSWORD('$password') WHERE userid='$userid'"
+; Plaintext passwords:
+;DBAUTH_AUTH_UPDATE = "UPDATE pref SET passwd='$password' WHERE userid='$userid'"
+
+; Allow users to create their own account.
+; with CRYPT_METHOD=crypt e.g:
+; DBAUTH_AUTH_CREATE = "INSERT INTO pref (passwd,userid) VALUES ('$password','$userid')"
+; with CRYPT_METHOD=plain:
+;DBAUTH_AUTH_CREATE = "INSERT INTO pref (passwd,userid) VALUES (PASSWORD('$password'),'$userid')"
+
+; USER/PREFERENCE queries
+;
+; If you choose to store your preferences in an external database, enable
+; the following queries.  Note that if you choose to store user preferences
+; in the 'user' table, only registered users get their prefs from the database,
+; self-created users do not.  Better to use the special 'pref' table.
+;
+; The prefs field stores the serialized form of the user's preferences array,
+; to ease the complication of storage.
+;DBAUTH_PREF_SELECT = "SELECT prefs FROM pref WHERE userid='$userid'"
+
+; Update the user's preferences
+;DBAUTH_PREF_UPDATE = "UPDATE pref SET prefs='$pref_blob' WHERE userid='$userid'"
+;DBAUTH_PREF_INSERT = "INSERT INTO pref (userid,prefs) VALUES ('$userid','$pref_blob')"
+
+; USERS/GROUPS queries
+;
+; You can define 1:n or n:m user<=>group relations, as you wish.
+;
+; Sample configurations:
+;  Only one group per user - 1:n: (Default)
+;   DBAUTH_IS_MEMBER     = "SELECT userid FROM pref WHERE userid='$userid' AND groupname='$groupname'"
+;   DBAUTH_GROUP_MEMBERS = "SELECT userid FROM pref WHERE groupname='$groupname'"
+;   DBAUTH_USER_GROUPS   = "SELECT groupname FROM pref WHERE userid='$userid'"
+;  Multiple groups per user - n:m:
+;   DBAUTH_IS_MEMBER     = "SELECT userid FROM member WHERE userid='$userid' AND groupname='$groupname'"
+;   DBAUTH_GROUP_MEMBERS = "SELECT DISTINCT userid FROM member WHERE groupname='$groupname'"
+;   DBAUTH_USER_GROUPS   = "SELECT groupname FROM member WHERE userid='$userid'"
+
+;========================================================================
+; Part Four: Page appearance and layout
+;========================================================================
+
+; THEMES
+;
+; Most of the page appearance is controlled by files in the theme
+; subdirectory.
+;
+; There are a number of pre-defined themes shipped with PhpWiki.
+; Or you may create your own (e.g. by copying and then modifying one of
+; stock themes.)
+;
+; The complete list of installed themes can be found by doing 'ls themes/'
+; from the root of your PHPWiki installation.
+; white on yellow with fat blue links:
+THEME = default
+; almost fully iconized classic grey MacOSX design:
+;THEME = MacOSX
+; as default, just some tricks to make the buttons smaller:
+;THEME = smaller
+; the popular wikipedia layout:
+;THEME = MonoBook
+; the popular Wordpress layout:
+;THEME = Wordpress
+; pure old-style c2wiki layout:
+;THEME = Portland
+; example with some sidebar boxes:
+;THEME = Sidebar
+; mozilla friendly, with lots of icons instead of buttons (i18n friendly):
+;THEME = Crao
+; default + rateit navbar:
+;THEME = wikilens
+; blogger style, rounded (experimental):
+;THEME = blog
+; minimalistic:
+;THEME = shamino_com
+; heavy space-y layout:
+;THEME = SpaceWiki
+; random heavy images:
+;THEME = Hawaiian
+
+; Select a valid charset name to be inserted into the xml/html pages,
+; and to reference links to the stylesheets (css). For more info see:
+; http://www.iana.org/assignments/character-sets. Note that PhpWiki
+; has been extensively tested only with the latin1 (iso-8859-1)
+; character set.
+;
+; If you change the default from iso-8859-1 with existing pages, 
+; PhpWiki may not work properly and will require modifications in all existing pages. 
+; You'll have to dump the old pages with the old charset
+; and import it into the new one after having changed the charset.
+; Currently we support utf-8 for zh and ja, euc-jp for ja (not enabled)
+; and iso-8859-1 for all other langs. Changing languages (UserPreferences) 
+; from one charset to another will not work!
+;
+; Character sets similar to iso-8859-1 may work with little or no
+; modification depending on your setup. The database must also
+; support the same charset, and of course the same is true for the
+; web browser. euc-jp and utf-8 works ok, but only is mbstring is used.
+CHARSET = iso-8859-1
+
+; Most exotic charsets are not supported by htmlspecialchars, which prints a warning:
+; "charset `bla' not supported, assuming iso-8859-1"
+; Even on simple 8bit charsets, where just <>& need to be replaced.
+; See php-src:/ext/standard/html.c
+; We can ignore these warnings then.
+;IGNORE_CHARSET_NOT_SUPPORTED_WARNING = true
+
+; Select your language/locale - Default language is "" for auto-detection.
+; Available languages:
+; English  "en" (English    - HomePage)
+; Dutch    "nl" (Nederlands - ThuisPagina)
+; Spanish  "es" (Espaol    - PginaPrincipal)
+; French   "fr" (Franais   - PageAccueil))
+; German   "de" (Deutsch    - StartSeite)
+; Swedish  "sv" (Svenska    - Framsida)
+; Italian  "it" (Italiano   - PaginaPrincipale)
+; Japanese "ja" (Japanese   - ۡڡ)
+; Chinese  "zh" (Chinese    - ?)
+;
+; If you set DEFAULT_LANGUAGE to the empty string, the users 
+; preferred language as determined by the browser setting will be used.
+; Japanese requires CHARSET=euc-jp or utf-8, Chinese CHARSET=utf-8
+;DEFAULT_LANGUAGE = en
+
+; WIKI_PGSRC -- specifies the source for the initial page contents of
+; the Wiki. The setting of WIKI_PGSRC only has effect when the wiki is
+; accessed for the first time (or after clearing the database.)
+; WIKI_PGSRC can either name a directory or a zip file. In either case
+; WIKI_PGSRC is scanned for files -- one file per page.
+;WIKI_PGSRC = pgsrc
+
+; DEFAULT_WIKI_PGSRC is only used when the language is *not* the
+; default (English) and when reading from a directory: in that case
+; some English pages are inserted into the wiki as well.
+; DEFAULT_WIKI_PGSRC defines where the English pages reside.
+;DEFAULT_WIKI_PGSRC = pgsrc
+
+; These are ':'-seperated pages which will get loaded untranslated from DEFAULT_WIKI_PGSRC.
+;DEFAULT_WIKI_PAGES = "ReleaseNotes:SteveWainstead:TestPage"
+
+;=========================================================================
+; Part Five: Mark-up options.
+;=========================================================================
+;
+; Allowed protocols for links - be careful not to allow "javascript:"
+; URL of these types will be automatically linked.
+; within a named link [name|uri] one more protocol is defined: phpwiki
+; Separate each of the protocol names with a vertical pipe, and ensure there
+; is no extraneous whitespace.
+;ALLOWED_PROTOCOLS = "http|https|mailto|ftp|news|nntp|ssh|gopher"
+
+; URLs ending with the following extension should be inlined as images.
+; Specify as per ALLOWED_PROTOCOLS.
+; Note that you can now also allow class|svg|svgz|vrml|swf ...,
+; which will create embedded object instead of img. 
+; Typical CGI extensions as pl or cgi maybe allowed too, 
+; but those two will be enforced to img.
+;INLINE_IMAGES = "png|jpg|jpeg|gif"
+
+; Perl regexp for WikiNames ("bumpy words")
+; (?<!..) & (?!...) used instead of '\b' because \b matches '_' as well
+;WIKI_NAME_REGEXP = "(?<![[:alnum:]])(?:[[:upper:]][[:lower:]]+){2,}(?![[:alnum:]])"
+
+; Defaults to '/', but '.' was also used.
+;SUBPAGE_SEPARATOR = /
+
+; InterWiki linking -- wiki-style links to other wikis on the web
+;
+; The map will be taken from a page name InterWikiMap.
+; If that page is not found (or is not locked), or map
+; data can not be found in it, then the file specified
+; by INTERWIKI_MAP_FILE (if any) will be used.
+;INTERWIKI_MAP_FILE = lib/interwiki.map
+
+; Display a warning if the internal lib/interwiki.map is used, and 
+; not the public InterWikiMap page. This file is not readable from outside.
+;WARN_NONPUBLIC_INTERWIKIMAP = false
+
+; Search term used for automatic page classification by keyword extraction.
+;
+; Any links on a page to pages whose names match this search 
+; will be used keywords in the keywords html meta tag. This is an aid to
+; classification by search engines. The value of the match is
+; used as the keyword.
+;
+; The default behavior is to match Category* or Topic* links.
+;KEYWORDS = "Category* OR Topic*"
+
+; Author and Copyright Site Navigation Links
+;
+; These will be inserted as <link rel> tags in the html header of
+; every page, for search engines and for browsers like Mozilla which
+; take advantage of link rel site navigation.
+;
+; If you have your own copyright and contact information pages change
+; these as appropriate.
+;COPYRIGHTPAGE_TITLE = "GNU General Public License"
+;COPYRIGHTPAGE_URL = "http://www.gnu.org/copyleft/gpl.html#SEC1"
+; Other useful alternatives to consider:
+; COPYRIGHTPAGE_TITLE = "GNU Free Documentation License"
+; COPYRIGHTPAGE_URL = "http://www.gnu.org/copyleft/fdl.html"
+; COPYRIGHTPAGE_TITLE = "Creative Commons License 2.0"
+; COPYRIGHTPAGE_URL = "http://creativecommons.org/licenses/by/2.0/"
+;  see http://creativecommons.org/learn/licenses/ for variations
+;AUTHORPAGE_TITLE = The PhpWiki Programming Team
+;AUTHORPAGE_URL = http://phpwiki.org/ThePhpWikiProgrammingTeam
+
+; Allow full markup in headers to be parsed by the CreateToc plugin.
+;
+; If false you may not use WikiWords or [] links or any other markup in 
+; headers in pages with the CreateToc plugin. But if false the parsing is 
+; faster and more stable.
+;TOC_FULL_SYNTAX = true
+
+; If false the %color=... %% syntax will be disabled. Since 1.3.11
+; Default: true
+;ENABLE_MARKUP_COLOR = false
+
+; Enable mediawiki-style {{TemplatePage|vars=value|...}} syntax. Since 1.3.11
+; Default: undefined. Enabled automatically on the MonoBook theme if undefined.
+;ENABLE_MARKUP_TEMPLATE = true
+
+; Disable automatic linking of camelcase (wiki-)words to pages. 
+; Internal page links must be forced with [ pagename ] then.
+; Default: false
+;DISABLE_MARKUP_WIKIWORD = true
+
+; Enable <div> and <span> HTML blocks and attributes. Experimental. Not yet working.
+;ENABLE_MARKUP_DIVSPAN = true
+
+; Plugin shortcuts: Enable <xml> syntax mapped to a plugin invocation. (as in mediawiki)
+; <name arg=value>body</name> or <name /> => <?plugin pluginname arg=value body ?>
+; This breaks the InlineParser.
+;PLUGIN_MARKUP_MAP = "html:RawHtml dot:GraphViz toc:CreateToc amath:AsciiMath richtable:RichTable include:IncludePage tex:TexToPng"
+
+;==========================================================================
+; Part Six: URL options.
+;==========================================================================
+;
+; You can probably skip this section.
+
+; The following section contains settings which you can use to tailor
+; the URLs which PhpWiki generates.
+;
+; Any of these parameters which are left undefined will be deduced
+; automatically. You need only set them explicitly if the
+; auto-detected values prove to be incorrect.
+;
+; In most cases the auto-detected values should work fine, so
+; hopefully you don't need to mess with this section.
+;
+; In case of local overrides of short placeholders, which themselves 
+; include index.php, we check for most constants. See '/wiki'.
+; We can override DATA_PATH and PHPWIKI_DIR to support multiple phpwiki 
+; versions (for development), but most likely other values like 
+; THEME, LANG and DbParams for a WikiFarm.
+
+; Canonical name and httpd port of the server on which this PhpWiki
+; resides.
+;/
+;SERVER_NAME = some.host.com
+;SERVER_PORT = 80
+
+; https needs a special setting
+;SERVER_PROTOCOL = http 
+
+; Relative URL (from the server root) of the PhpWiki
+; script.
+;SCRIPT_NAME = /some/where/index.php
+
+; URL of the PhpWiki install directory.  (You only need to set this
+; if you've moved index.php out of the install directory.)  This can
+; be either a relative URL (from the directory where the top-level
+; PhpWiki script is) or an absolute one.
+;DATA_PATH = /home/user/phpwiki
+
+; Path to the PhpWiki install directory.  This is the local
+; filesystem counterpart to DATA_PATH.  (If you have to set
+; DATA_PATH, your probably have to set this as well.)  This can be
+; either an absolute path, or a relative path interpreted from the
+; directory where the top-level PhpWiki script (normally index.php)
+; resides.
+;PHPWIKI_DIR = /home/user/public_html/phpwiki
+
+; PhpWiki will try to use short urls to pages, eg 
+; http://www.example.com/index.php/HomePage
+; If you want to use urls like 
+; http://www.example.com/index.php?pagename=HomePage
+; then define 'USE_PATH_INFO' as false by uncommenting the line below.
+; NB:  If you are using Apache >= 2.0.30, then you may need to to use
+; the directive "AcceptPathInfo On" in your Apache configuration file
+; (or in an appropriate <.htaccess> file) for the short urls to work:  
+; See http://httpd.apache.org/docs-2.0/mod/core.html#acceptpathinfo
+; 
+; See also http://phpwiki.sourceforge.net/phpwiki/PrettyWiki for more ideas
+; on prettifying your urls.
+;
+; Note that Google doesn't follow the default /index.php/PageName links.
+; You must use either a PrettyWiki setup (see below), or force USE_PATH_INFO=false.
+;
+; Default: PhpWiki will try to divine whether use of PATH_INFO
+; is supported in by your webserver/PHP configuration, and will
+; use PATH_INFO if it thinks that is possible.
+;USE_PATH_INFO = false
+
+; VIRTUAL_PATH is the canonical URL path under which your your wiki
+; appears. Normally this is the same as dirname(SCRIPT_NAME), however
+; using, e.g. apaches mod_actions (or mod_rewrite), you can make it
+; something different.
+;
+; If you do this, you should set VIRTUAL_PATH here.
+;
+; E.g. your phpwiki might be installed at at /scripts/phpwiki/index.php,
+; but  * you've made it accessible through eg. /wiki/HomePage.
+;
+; One way to do this is to create a directory named 'wiki' in your
+; server root. The directory contains only one file: an .htaccess
+; file which reads something like:
+;
+;    Action x-phpwiki-page /scripts/phpwiki/index.php
+;    SetHandler x-phpwiki-page
+;    DirectoryIndex /scripts/phpwiki/index.php
+;
+; In that case you should set VIRTUAL_PATH to '/wiki'.
+;
+; (VIRTUAL_PATH is only used if USE_PATH_INFO is true.)
+;/
+;VIRTUAL_PATH = /SomeWiki
+
+; Override the default uploads dir. We have to define the local file path,
+; and the webpath (DATA_PATH). Ensure an ending slash on both. 
+;UPLOAD_FILE_PATH = /var/www/htdocs/uploads/
+;UPLOAD_DATA_PATH = /uploads/
+
+; In case your system has no idea about /tmp, TEMP or TMPDIR, 
+; better provide it here. E.g. needed for zipdumps.
+;TEMP_DIR = /tmp
+
+;===========================================================================
+; Part Seven: Miscellaneous settings
+;===========================================================================
+
+; If you define this to true, (MIME-type) page-dumps (either zip dumps,
+; or "dumps to directory" will be encoded using the quoted-printable
+; encoding.  If you're actually thinking of mailing the raw page dumps,
+; then this might be useful, since (among other things,) it ensures
+; that all lines in the message body are under 80 characters in length.
+;
+; Also, setting this will cause a few additional mail headers
+; to be generated, so that the resulting dumps are valid
+; RFC 2822 e-mail messages.
+;
+; Probably you can just leave this set to false, in which case you get
+; raw ('binary' content-encoding) page dumps.
+STRICT_MAILABLE_PAGEDUMPS = false
+
+; Here you can change the default dump directories.
+; (Can be overridden by the directory argument)
+DEFAULT_DUMP_DIR = /tmp/wikidump
+HTML_DUMP_DIR    = /tmp/wikidumphtml
+
+; Filename suffix used for XHTML page dumps.
+; If you don't want any suffix just comment this out.
+HTML_DUMP_SUFFIX = .html
+
+; The maximum file upload size, in bytes.
+; The default, 16777216, is 16MB.
+MAX_UPLOAD_SIZE = 16777216
+
+; If the last edit is older than MINOR_EDIT_TIMEOUT seconds, the
+; default state for the "minor edit" checkbox on the edit page form
+; will be off.
+; The default, 604800, is one week (7 days): 7 * 24 * 3600
+MINOR_EDIT_TIMEOUT = 604800
+
+; Page name of RecentChanges page. Used for RSS Auto-discovery
+;RECENT_CHANGES = RecentChange
+
+; Disable HTTP redirects.
+; (You probably don't need to touch this.)
+;
+; PhpWiki uses HTTP redirects for some of it's functionality.
+; (e.g. after saving changes, PhpWiki redirects your browser to
+; view the page you just saved.)
+; Some web service providers (notably free European Lycos) don't seem to
+; allow these redirects.  (On Lycos the result in an "Internal Server Error"
+; report.)  In that case you can set DISABLE_HTTP_REDIRECT to true.
+; (In which case, PhpWiki will revert to sneakier tricks to try to
+; redirect the browser...)
+;DISABLE_HTTP_REDIRECT = true
+
+; If you get a crash at loading LinkIcons you might want to disable 
+; the getimagesize() function, which crashes on certain php versions and 
+; and some external images (png's, ..). 
+;
+; getimagesize() is only needed for spam prevention.
+;
+; Per default too small ploaded or external images are not displayed, 
+; to prevent from external 1 pixel spam.
+;DISABLE_GETIMAGESIZE = true
+
+; A interim page which gets displayed on every edit attempt, if it exists.
+;EDITING_POLICY = EditingPolicy
+
+; Enable random quotes from a fortune directory when adding a new page.
+; Usually at /usr/share/fortune or /usr/share/games/fortune
+; If empty no quotes are inserted.
+;FORTUNE_DIR = /usr/share/fortune
+
+; Add additional EDIT_TOOLBAR buttons if defined:
+; They need some time and memory.
+; Insert a pagelink from this list:
+;TOOLBAR_PAGELINK_PULLDOWN = *
+
+; Insert a template from this list:
+;TOOLBAR_TEMPLATE_PULLDOWN = Template*
+
+; Overide the default localized stoplist.
+;FULLTEXTSEARCH_STOPLIST = (A|An|And|But|By|For|From|In|Is|It|Of|On|Or|The|To|With)
+
+
+;===========================================================================
+; Optional Plugin Settings and external executables
+;===========================================================================
+
+; GoogleMaps and GooglePlugin
+; For using the Google API and GoogleMaps
+; http://www.google.com/apis/maps/signup.html
+;GOOGLE_LICENSE_KEY = "..."
+
+; On action=pdf or format=pdf: If enabled don't use the internal fpdf library.
+; External PDF executable, %s is the xhtml filename
+;USE_EXTERNAL_HTML2PDF = "htmldoc --quiet --format pdf14 --no-toc --no-title %s"
+
+; On format=pdf with pagelist actionpages.
+; The multifile variant: book (with index and toc) or webpage format
+;EXTERNAL_HTML2PDF_PAGELIST = "htmldoc --quiet --book --format pdf14"
+EXTERNAL_HTML2PDF_PAGELIST = "htmldoc --quiet --webpage --format pdf14"
+
+; Optional: SPAMASSASSIN wrapper. Only used if ENABLE_SPAMASSASSIN = true
+; http://www.cynistar.net/~apthorpe/code/babycart/babycart.html
+BABYCART_PATH = /usr/local/bin/babycart
+
+; wikilens RateIt widget
+; style of the stars: empty = yellow, red or red
+; RATEIT_IMGPREFIX = 
+; RATEIT_IMGPREFIX = Star
+;RATEIT_IMGPREFIX = BStar
+
+; GraphViz plugin executable:
+; http://www.graphviz.org/
+;GRAPHVIZ_EXE = /usr/local/bin/dot
+
+; Default GD2 truetype font. For text2png, GraphViz, VisualWiki
+; You might need the full path to the .ttf file
+;TTFONT = /System/Library/Frameworks/JavaVM.framework/Versions/1.3.1/Home/lib/fonts/LucidaSansRegular.ttf
+;TTFONT = "C:\\WINDOWS\\Fonts\\Arial.ttf"
+;TTFONT = luximr
+;TTFONT = Helvetica
+
+; VisualWiki Plugin needs graphviz
+; Replaced by TTFONT
+;VISUALWIKIFONT = Arial
+
+; Disable user options
+;VISUALWIKI_ALLOWOPTIONS = false
+
+; PloticusPlugin executable and prefabs path:
+; http://ploticus.sourceforge.net/doc/welcome.html
+;PLOTICUS_EXE = /usr/local/bin/pl
+;PLOTICUS_PREFABS = /usr/share/ploticus
+
+; JabberPresence
+; http://edgar.netflint.net/howto.php
+;MY_JABBER_ID = 
+
+; PhpWeather needs this external php project
+; http://sourceforge.net/projects/phpweather/
+;PHPWEATHER_BASE_DIR = 
+
+; SyntaxHighlight plugin
+; http://www.andre-simon.de/doku/highlight/highlight.html
+;HIGHLIGHT_EXE = /usr/local/bin/highlight
+;HIGHLIGHT_DATA_DIR = /usr/share/highlight
+
+;===========================================================================
+; Part Eight: PLUGINCACHED Pear/Cache Settings
+;===========================================================================
+
+; Cache_Container storage class: 'file' is the fastest. See pear/Cache/Container/
+;PLUGIN_CACHED_DATABASE = file
+
+; This is only used if database is set to file.
+; The webserver must have write access to this dir!
+;PLUGIN_CACHED_CACHE_DIR = /tmp/cache
+; Every file name in the cache begins with this prefix
+;PLUGIN_CACHED_FILENAME_PREFIX = phpwiki
+
+; The maximum total space in bytes of all files in the cache. When
+; highwater is exceeded, a garbage collection will start.  It will
+; collect garbage till 'lowwater' is reached.  Default: 4 * Megabyte
+;PLUGIN_CACHED_HIGHWATER = 4194304
+; Default: 3 * Megabyte
+;PLUGIN_CACHED_LOWWATER  = 3145728
+
+; If an image has not been used for maxlifetime remove it from the
+; cache. (Since there is also the highwater/lowwater mechanism and an
+; image usually requires only 1kb you don't have to make it very
+; small, I think.)  
+; Default: 30 * Day (30 * 24*60*60)
+;PLUGIN_CACHED_MAXLIFETIME = 2592000
+
+; Number of characters allowed to be send as 
+; parameters in the url before using sessions
+; vars instead. 
+; Usually send plugin arguments as URL, but when they become
+; longer than maxarglen store them in session variables.
+; Setting it to 3000 worked fine for me, 30000 completely
+; crashed my linux, 1000 should be safe.
+;PLUGIN_CACHED_MAXARGLEN = 1000
+
+; Actually use the cache (should be always true unless you are
+; debugging). If you want to avoid the usage of a cache but need
+; WikiPlugins that nevertheless rely on a cache you might set
+; 'PLUGIN_CACHED_USECACHE' to false. You still need to set
+; 'PLUGIN_CACHED_CACHE_DIR' appropriately to allow image creation and
+; you should set 'PLUGIN_CACHED_FORCE_SYNCMAP' to false.
+;PLUGIN_CACHED_USECACHE = true
+
+; Will prevent image creation for an image map 'on demand'. It is a
+; good idea to set this to 'true' because it will also prevent the
+; html part not to fit to the image of the map.  If you don't use a
+; cache, you have to set it to 'false', maps will not work otherwise
+; but strange effects may happen if the output of an image map
+; producing WikiPlugin is not completely determined by its parameters.
+; (As it is the case for a graphical site map.)
+;PLUGIN_CACHED_FORCE_SYNCMAP = true
+
+; If ImageTypes() does not exist (PHP < 4.0.2) allow the
+; following image formats (IMG_PNG | IMG_GIF | IMG_JPG | IMG_WBMP)
+; In principal all image types which are compiled into php: 
+;   libgd, libpng, libjpeg, libungif, libtiff, libgd2, ...
+;PLUGIN_CACHED_IMGTYPES = "png|gif|gd|gd2|jpeg|wbmp|xbm|xpm"
diff -ruN 1.3.12p3/config/config.ini 1.3.14/config/config.ini
--- 1.3.12p3/config/config.ini	2006-07-26 15:31:48.000000000 -0500
+++ 1.3.14/config/config.ini	2008-01-16 13:24:53.000000000 -0600
@@ -45,6 +45,39 @@
 ; Default: false
 ;ENABLE_DOUBLECLICKEDIT = false
 
+; Enable WYSIWYG editing. Converting back HTML to wikitext does not work in most engines. 
+; Experimental!
+;ENABLE_WYSIWYG = true
+
+; Which backend? Must be seperately installed. See lib/WysiwygEdit/
+;  Wikiwyg     http://openjsan.org/doc/i/in/ingy/Wikiwyg/
+;  tinymce     http://tinymce.moxiecode.com/ 
+;  FCKeditor   http://fckeditor.net/ 
+;  spaw        http://sourceforge.net/projects/spaw 
+;  htmlarea3   
+;  htmlarea2   
+;WYSIWYG_BACKEND = Wikiwyg
+
+; Store all WYSIWYG pages as HTML? Will loose most link and plugin options.
+; Not recommended, but presented here to test several WYSIWYG backends.
+;WYSIWYG_DEFAULT_PAGETYPE_HTML = false
+
+; Upload into seperate userdirs. If enabled (default since 1.3.13) the generated Upload: link 
+; will include the username plus "/". This will make all uploaded links longer, but we 
+; avoid nameclashes and you see who uploaded what file.
+;UPLOAD_USERDIR = false
+
+; SemanticWeb Units require the standard units executable, available in every distribution.
+; On Windows the cygwin version works fine if e.g. the cygwin bin is in the webserver path.
+; However if units fails, attribute comparisons will fail. Esp. getting the base unit and 
+; base values for all attributes.
+; So you might want to disable the unit strictness at all (area:=936km^2 < 1,000,000 ?). 
+; Default: false
+;DISABLE_UNITS = true
+
+; For a non-standard path
+;UNITS_EXE = /usr/bin/units
+
 ; Needed for inlined SVG and MathM, but conflicts with document.write(). 
 ; Experimental. Default: false. Problematic with MSIE6
 ; See http://hixie.ch/advocacy/xhtml
@@ -62,6 +95,14 @@
 ; edits it will be rejected as spam.
 ;NUM_SPAM_LINKS = 20
 
+; By setting DISABLE_UPLOAD_ONLY_ALLOWED_EXTENSIONS to true, you get
+; back the old behaviour to check only *bad* extensions of uploaded
+; files. However a server may treat other files with certain handlers,
+; like executable scripts, so we disable now everything and enable
+; only some extension.  See lib/plugin/UpLoad.php.
+; Default: false
+;DISABLE_UPLOAD_ONLY_ALLOWED_EXTENSIONS = false
+
 ; If GOOGLE_LINKS_NOFOLLOW is true, ref=nofollow is added to 
 ; all external links to discourage spam. You might want to turn it off,
 ; if you want to improve pageranks on external links.
@@ -75,13 +116,13 @@
 ; You'll have to copy livesearch.js from http://blog.bitflux.ch/wiki/LiveSearch
 ; to themes/default/ and define ENABLE_LIVESEARCH in config.ini to true. 
 ; See themes/blog/themeinfo.php.
-; We used the bitflux.ch library temporarily, but we are changing to 
+; We used the bitflux.ch library temporarily, but we changed to 
 ; the better moacdropdown. 
 ;ENABLE_LIVESEARCH = true
 
-; ENABLE_ACDROPDOWN replaces ENABLE_LIVESEARCH
+; ENABLE_ACDROPDOWN replaces now ENABLE_LIVESEARCH
 ; http://momche.net/publish/article.php?page=acdropdown
-;ENABLE_ACDROPDOWN = true
+;ENABLE_ACDROPDOWN = false
 
 ; Experimental WikiPedia feature: Force Discussion/Article link at the topnavbar.
 ;ENABLE_DISCUSSION_LINK = true
@@ -104,6 +145,13 @@
 ; Blog/day/time only. Convenience for a single-user blog theme.
 ;BLOG_DEFAULT_EMPTY_PREFIX = true
 
+; External Searchengine hits are detected automatically and will be 
+; highlighted in the displayed page if enabled.
+; Optionally the actionpage SearchHighlight is also prepended, which 
+; prints a notice.
+; Default: true
+;ENABLE_SEARCHHIGHLIGHT = false
+
 ;==========================================================================
 ; Part One: Authentication and security settings.
 ;
@@ -184,39 +232,6 @@
 ; See http://chxo.com/scripts/safe_html-test.php
 ENABLE_RAW_HTML_SAFE = true
 
-; If you define this to true, (MIME-type) page-dumps (either zip dumps,
-; or "dumps to directory" will be encoded using the quoted-printable
-; encoding.  If you're actually thinking of mailing the raw page dumps,
-; then this might be useful, since (among other things,) it ensures
-; that all lines in the message body are under 80 characters in length.
-;
-; Also, setting this will cause a few additional mail headers
-; to be generated, so that the resulting dumps are valid
-; RFC 2822 e-mail messages.
-;
-; Probably you can just leave this set to false, in which case you get
-; raw ('binary' content-encoding) page dumps.
-STRICT_MAILABLE_PAGEDUMPS = false
-
-; Here you can change the default dump directories.
-; (Can be overridden by the directory argument)
-DEFAULT_DUMP_DIR = [% installdir %]/_tmp/wikidump
-HTML_DUMP_DIR    = [% installdir %]/_tmp/wikidumphtml
-
-; Filename suffix used for XHTML page dumps.
-; If you don't want any suffix just comment this out.
-HTML_DUMP_SUFFIX = .html
-
-; The maximum file upload size, in bytes.
-; The default, 16777216, is 16MB.
-MAX_UPLOAD_SIZE = 16777216
-
-; If the last edit is older than MINOR_EDIT_TIMEOUT seconds, the
-; default state for the "minor edit" checkbox on the edit page form
-; will be off.
-; The default, 604800, is one week (7 days): 7 * 24 * 3600
-MINOR_EDIT_TIMEOUT = 604800
-
 ; Actions listed in this array will not be allowed.  The complete list
 ; of actions can be found in lib/main.php with the function
 ; getActionDescription. 
@@ -356,9 +371,10 @@
 ;       ADODB: uses the ADODB library for data access.     (most general)
 ;       PDO:   The new PHP5 dataobkject library. (experimental, no paging yet)
 ;       dba:   use one of the standard UNIX dbm libraries. Use BerkeleyDB (db3,4) (fastest)
-;       file:  use a flat file database. (easiest)
-;       cvs:   use a CVS server to store everything. (experimental, not recommended)
-DATABASE_TYPE = SQL 
+;       file:  use a serialized file database. (easiest)
+;       flatfile:  use a flat file database. (experimental, readable, slow)
+;       cvs:   use a CVS server to store everything. (experimental, slowest, not recommended)
+DATABASE_TYPE = SQL
    
 ; Prefix for filenames or table names
 ;
@@ -367,7 +383,7 @@
 ; during the installation.
 ; Note: This prefix is NOT prepended to the default DBAUTH_
 ;       tables user, pref and member!
-;DATABASE_PREFIX = [% table_prefix %]_
+;DATABASE_PREFIX = phpwiki_
 
 ; For SQL based backends, specify the database as a DSN (Data Source Name),
 ; a kind of URL for databases.
@@ -421,7 +437,7 @@
 
 ; How long will the system wait for a database operation to complete?
 ; Specified in seconds.
-DATABASE_TIMEOUT = 5
+DATABASE_TIMEOUT = 12
 
 ; How often to try and optimise the database. Specified in seconds. 
 ; Set to 0 to disable optimisation completely. Default is 50 (seconds).
@@ -443,8 +459,9 @@
 ; Optional: Administrative SQL DB access (for action=upgrade)
 ;DBADMIN_PASSWD = secret
 
-; Store DB query results in memory to avoid duplicate queries.
+; Store DB query results (esp. for page lists) in memory to avoid duplicate queries.
 ; Disable only for old php's with low memory or memory_limit=8MB.
+; Requires at least memory_limit=16MB
 ; Default: true
 ;USECACHE = false
 
@@ -567,15 +584,16 @@
 ;   PersonalPage:  Store passwords in the users homepage metadata (simple)
 ;   Db:            Use DBAUTH_AUTH_* (see below) with PearDB or 
 ;                   ADODB only.
-;   LDAP:          Authenticate against LDAP_AUTH_HOST with LDAP_BASE_DN (experimental)
+;   LDAP:          Authenticate against LDAP_AUTH_HOST with LDAP_BASE_DN
 ;   IMAP:          Authenticate against IMAP_AUTH_HOST (email account)
 ;   POP3:          Authenticate against POP3_AUTH_HOST (email account)
 ;   Session:       Get username and level from a PHP session variable. (e.g. for gforge)
 ;   File:          Store username:crypted-passwords in .htaccess like files. 
 ;                  Use Apache's htpasswd to manage this file.
 ;   HttpAuth:      Use the protection by the webserver (.htaccess/.htpasswd)
-;                  Enforcing HTTP Auth not yet. Note that the ADMIN_USER should exist also.
+;                  Note that the ADMIN_USER should exist also.
 ;                  Using HttpAuth disables all other methods and no userauth sessions are used.
+;		   With mod_ntlm and mod_auth_sspi use this. (automatic login with MSIE)
 ;
 ; Several of these methods can be used together, in the manner specified by
 ; USER_AUTH_POLICY, below.  To specify multiple authentication methods,
@@ -628,30 +646,32 @@
 ; Some LDAP servers need some more options, such as the Windows Active
 ; Directory Server.  Specify the options (as allowed by the PHP LDAP module)
 ; and their values as NAME=value pairs separated by colons.
-; LDAP_SET_OPTION = "LDAP_OPT_PROTOCOL_VERSION=3:LDAP_OPT_REFERRALS=0"
+;LDAP_SET_OPTION = "LDAP_OPT_PROTOCOL_VERSION=3:LDAP_OPT_REFERRALS=0"
 
 ; DN to initially bind to the LDAP server as. This is needed if the server doesn't 
 ; allow anonymous queries. (Windows Active Directory Server)
-; LDAP_AUTH_USER = "CN=ldapuser,ou=Users,o=Development,dc=mycompany.com"
+;LDAP_AUTH_USER = "CN=ldapuser,ou=Users,o=Development,dc=mycompany.com"
 
 ; Password to use to initially bind to the LDAP server, as the DN 
 ; specified in the LDAP_AUTH_USER option (above).
-; LDAP_AUTH_PASSWORD = secret
+;LDAP_AUTH_PASSWORD = secret
 
 ; If you want to match usernames against an attribute other than uid,
-; specify it here. Default: uid
-; LDAP_SEARCH_FIELD = sAMAccountName
+; specify it here. uid is for real active users. cn for anything like test users,
+; sAMAccountName often for Windows/Samba. 
+; Default: uid. Use also "cn" or "sAMAccountName".
+;LDAP_SEARCH_FIELD = sAMAccountName
 
 ; If you have an organizational unit for all users, define it here.
 ; This narrows the search, and is needed for LDAP group membership (if GROUP_METHOD=LDAP)
 ; Default: ou=Users
-; LDAP_OU_USERS = ou=Users
+;LDAP_OU_USERS = ou=Users
 
 ; If you have an organizational unit for all groups, define it here.
 ; This narrows the search, and is needed for LDAP group membership (if GROUP_METHOD=LDAP)
 ; The entries in this ou must have a gidNumber and cn attribute.
 ; Default: ou=Groups
-; LDAP_OU_GROUP = ou=Groups
+;LDAP_OU_GROUP = ou=Groups
 
 
 ; IMAP authentication options:
@@ -661,15 +681,15 @@
 ; Some IMAP_AUTH_HOST samples:
 ;   "localhost", "localhost:143/imap/notls", 
 ;   "localhost:993/imap/ssl/novalidate-cert" (SuSE refuses non-SSL conections)
-; IMAP_AUTH_HOST = "localhost:143/imap/notls"
+;IMAP_AUTH_HOST = "localhost:143/imap/notls"
 
 ; POP3 authentication options:
 ;
 ; Host to connect to.
-; POP3_AUTH_HOST = "localhost:110"
+;POP3_AUTH_HOST = "localhost:110"
 
 ; Port to connect. Deprecated: Use POP3_AUTH_HOST:<port> instead
-; POP3_AUTH_PORT = 110
+;POP3_AUTH_PORT = 110
 
 ; File authentication options:
 ;
@@ -703,7 +723,7 @@
 GROUP_METHOD = WIKIPAGE
 
 ; Page where all groups are listed. Default: Translation of "CategoryGroup"
-; CATEGORY_GROUP_PAGE = CategoryGroup
+;CATEGORY_GROUP_PAGE = CategoryGroup
 
 ; For GROUP_METHOD = FILE, the file given below is referenced to obtain
 ; group membership information.  It should be in the same format as the
@@ -721,8 +741,8 @@
 ;
 ; A database DSN to connect to.  Defaults to the DSN specified for the Wiki
 ; as a whole.
-;DBAUTH_AUTH_DSN = "mysql://wikiuser:@localhost/phpwiki"
-
+;DBAUTH_AUTH_DSN = "mysql://wikiuser:@127.0.0.1/phpwiki"
+;
 ; USER/PASSWORD queries
 ;
 ; For USER_AUTH_POLICY=strict and the Db method this is required:
@@ -731,16 +751,16 @@
 ; Check to see if the supplied username/password pair is OK
 ;
 ; Plaintext Passwords:
-; DBAUTH_AUTH_CHECK = "SELECT IF(passwd='$password',1,0) AS ok FROM pref WHERE userid='$userid'"
+; DBAUTH_AUTH_CHECK = "SELECT IF(TRIM(passwd)='$password',1,0) AS ok FROM pref WHERE TRIM(userid)='$userid'"
 ;
 ; Database-hashed passwords (more secure):
-;DBAUTH_AUTH_CHECK = "SELECT IF(passwd=PASSWORD('$password'),1,0) AS ok FROM pref WHERE userid='$userid'"
+;DBAUTH_AUTH_CHECK = "SELECT IF(TRIM(passwd)=PASSWORD('$password'),1,0) AS ok FROM pref WHERE TRIM(userid)='$userid'"
 DBAUTH_AUTH_CRYPT_METHOD = plain
 
 ; If you want to use Unix crypt()ed passwords, you can use DBAUTH_AUTH_CHECK
 ; to get the password out of the database with a simple SELECT query, and
 ; specify DBAUTH_AUTH_USER_EXISTS and DBAUTH_AUTH_CRYPT_METHOD:
-;DBAUTH_AUTH_CHECK = "SELECT passwd FROM pref where userid='$userid'"
+;DBAUTH_AUTH_CHECK = "SELECT passwd FROM pref WHERE TRIM(userid)='$userid'"
 ; DBAUTH_AUTH_CRYPT_METHOD = crypt
 
 ; Update the user's authentication credential.  If this is not defined but
@@ -808,6 +828,8 @@
 ;THEME = MacOSX
 ; as default, just some tricks to make the buttons smaller:
 ;THEME = smaller
+; the popular wikipedia layout:
+;THEME = MonoBook
 ; the popular Wordpress layout:
 ;THEME = Wordpress
 ; pure old-style c2wiki layout:
@@ -816,8 +838,6 @@
 ;THEME = Sidebar
 ; mozilla friendly, with lots of icons instead of buttons (i18n friendly):
 ;THEME = Crao
-; wikipedia layout:
-;THEME = MonoBook
 ; default + rateit navbar:
 ;THEME = wikilens
 ; blogger style, rounded (experimental):
@@ -831,14 +851,14 @@
 
 ; Select a valid charset name to be inserted into the xml/html pages,
 ; and to reference links to the stylesheets (css). For more info see:
-; <http://www.iana.org/assignments/character-sets>. Note that PhpWiki
+; http://www.iana.org/assignments/character-sets. Note that PhpWiki
 ; has been extensively tested only with the latin1 (iso-8859-1)
 ; character set.
 ;
-; If you change the default from iso-8859-1 PhpWiki may not work
-; properly and will require modifications in all existing pages. 
-; At the very least you will have to convert the files in pgsrc 
-; or locale/xx/pgsrc to match!
+; If you change the default from iso-8859-1 with existing pages, 
+; PhpWiki may not work properly and will require modifications in all existing pages. 
+; You'll have to dump the old pages with the old charset
+; and import it into the new one after having changed the charset.
 ; Currently we support utf-8 for zh and ja, euc-jp for ja (not enabled)
 ; and iso-8859-1 for all other langs. Changing languages (UserPreferences) 
 ; from one charset to another will not work!
@@ -846,10 +866,16 @@
 ; Character sets similar to iso-8859-1 may work with little or no
 ; modification depending on your setup. The database must also
 ; support the same charset, and of course the same is true for the
-; web browser. (Some work is in progress hopefully to allow more
-; flexibility in this area in the future).
+; web browser. euc-jp and utf-8 works ok, but only is mbstring is used.
 CHARSET = iso-8859-1
 
+; Most exotic charsets are not supported by htmlspecialchars, which prints a warning:
+; "charset `bla' not supported, assuming iso-8859-1"
+; Even on simple 8bit charsets, where just <>& need to be replaced.
+; See php-src:/ext/standard/html.c
+; We can ignore these warnings then.
+;IGNORE_CHARSET_NOT_SUPPORTED_WARNING = true
+
 ; Select your language/locale - Default language is "" for auto-detection.
 ; Available languages:
 ; English  "en" (English    - HomePage)
@@ -864,7 +890,7 @@
 ;
 ; If you set DEFAULT_LANGUAGE to the empty string, the users 
 ; preferred language as determined by the browser setting will be used.
-; Japanese requires CHARSET=euc-jp or utf-8 (not yet safe), Chinese CHARSET=utf-8
+; Japanese requires CHARSET=euc-jp or utf-8, Chinese CHARSET=utf-8
 ;DEFAULT_LANGUAGE = en
 
 ; WIKI_PGSRC -- specifies the source for the initial page contents of
@@ -897,8 +923,9 @@
 ; URLs ending with the following extension should be inlined as images.
 ; Specify as per ALLOWED_PROTOCOLS.
 ; Note that you can now also allow class|svg|svgz|vrml|swf ...,
-; which will create embedded <object> instead of <img>. 
-; Typical CGI extensions as pl or cgi maybe allowed too, but those two will be enforced to <img>
+; which will create embedded object instead of img. 
+; Typical CGI extensions as pl or cgi maybe allowed too, 
+; but those two will be enforced to img.
 ;INLINE_IMAGES = "png|jpg|jpeg|gif"
 
 ; Perl regexp for WikiNames ("bumpy words")
@@ -964,6 +991,19 @@
 ; Default: undefined. Enabled automatically on the MonoBook theme if undefined.
 ;ENABLE_MARKUP_TEMPLATE = true
 
+; Disable automatic linking of camelcase (wiki-)words to pages. 
+; Internal page links must be forced with [ pagename ] then.
+; Default: false
+;DISABLE_MARKUP_WIKIWORD = true
+
+; Enable <div> and <span> HTML blocks and attributes. Experimental. Not yet working.
+;ENABLE_MARKUP_DIVSPAN = true
+
+; Plugin shortcuts: Enable <xml> syntax mapped to a plugin invocation. (as in mediawiki)
+; <name arg=value>body</name> or <name /> => <?plugin pluginname arg=value body ?>
+; This breaks the InlineParser.
+;PLUGIN_MARKUP_MAP = "html:RawHtml dot:GraphViz toc:CreateToc amath:AsciiMath richtable:RichTable include:IncludePage tex:TexToPng"
+
 ;==========================================================================
 ; Part Six: URL options.
 ;==========================================================================
@@ -991,6 +1031,8 @@
 ;/
 ;SERVER_NAME = some.host.com
 ;SERVER_PORT = 80
+
+; https needs a special setting
 ;SERVER_PROTOCOL = http 
 
 ; Relative URL (from the server root) of the PhpWiki
@@ -1056,6 +1098,11 @@
 ;/
 ;VIRTUAL_PATH = /SomeWiki
 
+; Override the default uploads dir. We have to define the local file path,
+; and the webpath (DATA_PATH). Ensure an ending slash on both. 
+;UPLOAD_FILE_PATH = /var/www/htdocs/uploads/
+;UPLOAD_DATA_PATH = /uploads/
+
 ; In case your system has no idea about /tmp, TEMP or TMPDIR, 
 ; better provide it here. E.g. needed for zipdumps.
 ;TEMP_DIR = /tmp
@@ -1064,6 +1111,42 @@
 ; Part Seven: Miscellaneous settings
 ;===========================================================================
 
+; If you define this to true, (MIME-type) page-dumps (either zip dumps,
+; or "dumps to directory" will be encoded using the quoted-printable
+; encoding.  If you're actually thinking of mailing the raw page dumps,
+; then this might be useful, since (among other things,) it ensures
+; that all lines in the message body are under 80 characters in length.
+;
+; Also, setting this will cause a few additional mail headers
+; to be generated, so that the resulting dumps are valid
+; RFC 2822 e-mail messages.
+;
+; Probably you can just leave this set to false, in which case you get
+; raw ('binary' content-encoding) page dumps.
+STRICT_MAILABLE_PAGEDUMPS = false
+
+; Here you can change the default dump directories.
+; (Can be overridden by the directory argument)
+DEFAULT_DUMP_DIR = [% installdir %]/_tmp/wikidump
+HTML_DUMP_DIR    = [% installdir %]/_tmp/wikidumphtml
+
+; Filename suffix used for XHTML page dumps.
+; If you don't want any suffix just comment this out.
+HTML_DUMP_SUFFIX = .html
+
+; The maximum file upload size, in bytes.
+; The default, 16777216, is 16MB.
+MAX_UPLOAD_SIZE = 16777216
+
+; If the last edit is older than MINOR_EDIT_TIMEOUT seconds, the
+; default state for the "minor edit" checkbox on the edit page form
+; will be off.
+; The default, 604800, is one week (7 days): 7 * 24 * 3600
+MINOR_EDIT_TIMEOUT = 604800
+
+; Page name of RecentChanges page. Used for RSS Auto-discovery
+;RECENT_CHANGES = RecentChange
+
 ; Disable HTTP redirects.
 ; (You probably don't need to touch this.)
 ;
@@ -1099,12 +1182,14 @@
 ; They need some time and memory.
 ; Insert a pagelink from this list:
 ;TOOLBAR_PAGELINK_PULLDOWN = *
+
 ; Insert a template from this list:
 ;TOOLBAR_TEMPLATE_PULLDOWN = Template*
 
 ; Overide the default localized stoplist.
 ;FULLTEXTSEARCH_STOPLIST = (A|An|And|But|By|For|From|In|Is|It|Of|On|Or|The|To|With)
 
+
 ;===========================================================================
 ; Optional Plugin Settings and external executables
 ;===========================================================================
@@ -1114,11 +1199,15 @@
 ; http://www.google.com/apis/maps/signup.html
 ;GOOGLE_LICENSE_KEY = "..."
 
-; On action=pdf: If enabled don't use the internal fpdf library.
+; On action=pdf or format=pdf: If enabled don't use the internal fpdf library.
 ; External PDF executable, %s is the xhtml filename
-; 
 ;USE_EXTERNAL_HTML2PDF = "htmldoc --quiet --format pdf14 --no-toc --no-title %s"
 
+; On format=pdf with pagelist actionpages.
+; The multifile variant: book (with index and toc) or webpage format
+;EXTERNAL_HTML2PDF_PAGELIST = "htmldoc --quiet --book --format pdf14"
+EXTERNAL_HTML2PDF_PAGELIST = "htmldoc --quiet --webpage --format pdf14"
+
 ; Optional: SPAMASSASSIN wrapper. Only used if ENABLE_SPAMASSASSIN = true
 ; http://www.cynistar.net/~apthorpe/code/babycart/babycart.html
 BABYCART_PATH = /usr/local/bin/babycart
@@ -1129,17 +1218,25 @@
 ; RATEIT_IMGPREFIX = Star
 ;RATEIT_IMGPREFIX = BStar
 
-; GraphViz plugin:
+; GraphViz plugin executable:
 ; http://www.graphviz.org/
 ;GRAPHVIZ_EXE = /usr/local/bin/dot
 
+; Default GD2 truetype font. For text2png, GraphViz, VisualWiki
+; You might need the full path to the .ttf file
+;TTFONT = /System/Library/Frameworks/JavaVM.framework/Versions/1.3.1/Home/lib/fonts/LucidaSansRegular.ttf
+;TTFONT = "C:\\WINDOWS\\Fonts\\Arial.ttf"
+;TTFONT = luximr
+;TTFONT = Helvetica
+
 ; VisualWiki Plugin needs graphviz
+; Replaced by TTFONT
 ;VISUALWIKIFONT = Arial
 
-; disable user options
+; Disable user options
 ;VISUALWIKI_ALLOWOPTIONS = false
 
-; PloticusPlugin:
+; PloticusPlugin executable and prefabs path:
 ; http://ploticus.sourceforge.net/doc/welcome.html
 ;PLOTICUS_EXE = /usr/local/bin/pl
 ;PLOTICUS_PREFABS = /usr/share/ploticus
diff -ruN 1.3.12p3/config/migrate-phpwiki-config 1.3.14/config/migrate-phpwiki-config
--- 1.3.12p3/config/migrate-phpwiki-config	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/config/migrate-phpwiki-config	2007-07-01 05:11:02.000000000 -0500
@@ -0,0 +1,216 @@
+#!/usr/bin/perl -w
+#
+# phpwiki configuration file migration script
+# index.php => config.ini
+#
+# Author:   Matt Brown <matt@mattb.net.nz>,
+#           Reini Urban <rurban@x-ray.at>
+# Version:  $Id: migrate-phpwiki-config,v 1.2 2006/08/30 05:27:20 rurban Exp $
+#
+# Run this script without any arguments for usage information.
+#
+# This script is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# PhpWiki is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with PhpWiki; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+# Store the values
+# In the form $values{$varname} = (value, comment_state)
+# Where value is the value in index.php and comment_state indicates
+# whether the line was commented or not
+use strict;
+use warnings;
+
+my %values = ();
+
+# Check we got a index.php to read from
+if ($#ARGV < 0) {
+  print "Usage: ./phpwiki-migrate-config <../path/to/index.php>\n\n";
+  print "Takes an old style (<= 1.3.9) index.php configuration file\n";
+  print "for phpwiki and outputs a new style (>= 1.3.10) ./config.ini\n";
+  print "configuration file for phpwiki, based on a set of\n";
+  print "./config-{dist,default}.ini files.\n";
+  print "\n";
+  print "The values extracted from the old config file will be\n";
+  print "substituted into a new config.ini file as necessary. Commented\n";
+  print "directives in index.php will remain commented in config.ini\n";
+
+  exit 1;
+}
+
+# Read in values from index.php
+my $infile = shift;
+open INDEXPHP, "< $infile" or die "Cannot read $infile: $!\n";
+my $inifile     = "config.ini";
+my $distfile    = "config-dist.ini";
+my $defaultfile = "config-default.ini";
+die "$inifile already exists.\n" if -e $inifile;
+
+# Write out config.ini, substituting values as needed
+open OUT, "> $inifile"
+  or die "Failed to write $inifile. $!\n";
+open CONFDIST, "< $distfile"
+  or die "Failed to open $distfile: $!\n";
+open CONFDEFAULT, "< $defaultfile"
+  or die "Failed to open $defaultfile: $!\n";
+
+my $epmaj = 0;
+my $epmin = 0;
+
+while (<INDEXPHP>) {
+  my ($name, $value) = ('','');
+  # Check if the line starts with a comment (# or / char)
+  my $is_comment = /^[#\/]/;
+  if (!$is_comment) {
+    $is_comment = 0;
+  }
+
+  # Process expire parameters
+  if (/'keep'/) {
+    ($value) = (/'keep'\s*=>\s*(.*)\)/);
+    if ($epmaj) {
+      $name = "MAJOR_KEEP";
+    } elsif ($epmin) {
+      $name = "MINOR_KEEP";
+    }
+  }
+  $epmaj = 0;
+  $epmin = 0;
+
+  # Skip some known bad options
+  if (/ALLOW_LDAP_LOGIN/) {
+    next;
+  } elsif (/ALLOW_IMAP_LOGIN/) {
+    next;
+
+    # Process defined values
+  } elsif (/define\s*\(/) {
+    # Extract the name of the define and the value of it
+    ($name, $value) = (/define\s*\(\s*['"](.*)['"]\s*,\s*['"]*([^'"]*)['"]*\s*\)/);
+
+    # Process PHP variable values
+  } elsif (/HTML_DUMP_SUFFIX\s*=/) {
+    ($name, $value) = (/\$(\w*)\s*=\s*['"](.*)['"];\s*/);
+  } elsif (/AllowedProtocols\s*=/) {
+    ($value) = (/\$\w*\s*=\s*(.*);\s*/);
+    $name = "ALLOWED_PROTOCOLS";
+  } elsif (/InlineImages\s*=/) {
+    ($value) = (/\$\w*\s*=\s*(.*);\s*/);
+    $name = "INLINE_IMAGES";
+  } elsif (/WikiNameRegexp\s*=/) {
+    ($value) = (/\$\w*\s*=\s*(.*);\s*/);
+    $name = "WIKI_NAME_REGEXP";
+
+    # Process arrays that need to be converted
+  } elsif (/GenericPages\s*=/) {
+    ($value) = (/\$\w*\s*=\s*array\((.*)\)/);
+    $name = "DEFAULT_WIKI_PAGES";
+    $value =~ s/[" ]//g;
+    $value =~ s/,/:/g;
+    $value = "\"$value\""
+  } elsif (/keywords\s*=/) {
+    ($value) = (/\$\w*\s*=\s*array\((.*)\)/);
+    $name = "KEYWORDS";
+    $value =~ s/[" ]//g;
+    $value =~ s/,/:/g;
+    $value = "\"$value\""
+
+      # Process database paramters
+  } elsif (/'dbtype'\s*=>/) {
+    ($value) = (/'dbtype'\s*=>\s*['"](.*)['"]/);
+    $name = "DATABASE_TYPE";
+  } elsif (/'dsn'\s*=>/) {
+    ($value) = (/'dsn'\s*=>\s*['"](.*)['"]/);
+    $name = "DATABASE_DSN";
+  } elsif (/'timeout'\s*=>/) {
+    ($value) = (/'timeout'\s*=>\s*(.*)\s*,/);
+    $name = "DATABASE_TIMEOUT";
+  } elsif (/'db_session_table'\s*=>/) {
+    ($value) = (/'db_session_table'\s*=>\s*['"](.*)['"]/);
+    $name = "DATABASE_SESSION_TABLE";
+  } elsif (/'prefix'\s*=>/) {
+    ($value) = (/'prefix'\s*=>\s*['"](.*)['"]/);
+    $name = "DATABASE_PREFIX";
+  } elsif (/'directory'\s*=>/) {
+    ($value) = (/'directory'\s*=>\s*['"](.*)['"]/);
+    $name = "DATABASE_DIRECTORY";
+  } elsif (/'dba_handler'\s*=>/) {
+    ($value) = (/'dba_handler'\s*=>\s*['"](.*)['"]/);
+    $name = "DATABASE_DBA_HANDLER";
+
+    # Process Expire Parameters
+  } elsif (/\$ExpireParams\['major'\]\s*=/) {
+    ($value) = (/'max_age'\s*=>\s*(.*),/);
+    $name = "MAJOR_MAX_AGE";
+    $epmaj = 1;
+  } elsif (/\$ExpireParams\['minor'\]\s*=/) {
+    ($value) = (/'max_age'\s*=>\s*(.*),/);
+    $name = "MINOR_MAX_AGE";
+    $epmin = 1;
+
+    # Process include path
+  } elsif (/ini_set.*include_path'/) {
+    ($value) = (/ini_set.*include_path'\s*,\s*(.*)\s*\)/);
+    $name = "INCLUDE_PATH";
+
+  }
+  if ($name =~ /^$/) {
+    next;
+  }
+
+  # Put it into the array
+  if (exists $values{$name} && $is_comment) {
+    # If we already have a value and this one is commented, skip it
+    next;
+  }
+  #print "$name => $value ($is_comment)\n";
+  $values{$name} = [$value, $is_comment];
+}
+
+close INDEXPHP;
+
+# Print values we got
+#for my $name ( keys %values ) {
+#    ($value, $is_comment) = @{$values{$name}};
+#    print "$name => $value";
+#    if ($is_comment) { print " (commented)"; }
+#    print "\n";
+#}
+
+select OUT;
+# Write out migration header
+print "; phpwiki 1.3.x configuration automatically generated from $infile\n";
+print "; by migrate-phpwiki-config script\n\n";
+
+while (<CONFDIST>) {
+  # Look for config var lines
+  if (!/\w* = /) {
+    print $_;
+    next;
+  }
+  my ($name, $value, $is_comment);
+  ($name) = (/(\w*) = /);
+  if (!exists $values{$name}) {
+    print $_;
+    next;
+  }
+  ($value, $is_comment) = @{$values{$name}};
+  if ($is_comment) {
+    print "; $name = $value\n";
+  } else {
+    print "$name = $value\n";
+  }
+}
+
+close OUT;
+close CONFDIST;
+close CONFDEFAULT;
diff -ruN 1.3.12p3/configurator.php 1.3.14/configurator.php
--- 1.3.12p3/configurator.php	2006-06-18 06:19:16.000000000 -0500
+++ 1.3.14/configurator.php	2007-07-01 05:11:02.000000000 -0500
@@ -1,4 +1,4 @@
-<?php // $Id: configurator.php,v 1.43 2006/05/17 17:27:12 rurban Exp $
+<?php // -*-php-*- $Id: configurator.php,v 1.50 2007/01/20 15:54:03 rurban Exp $
 /*
  * Copyright 2002,2003,2005 $ThePhpWikiProgrammingTeam
  * Copyright 2002 Martin Geisler <gimpster@gimpster.com> 
@@ -53,20 +53,27 @@
  */
 
 global $HTTP_SERVER_VARS, $HTTP_POST_VARS, $tdwidth;
-if (empty($_GET)) $_GET =& $GLOBALS['HTTP_GET_VARS'];
-if (empty($_ENV)) $_ENV =& $GLOBALS['HTTP_ENV_VARS'];
-if (empty($_POST)) $_POST =& $GLOBALS['HTTP_POST_VARS'];
+if (empty($_SERVER)) 	$_SERVER =& $GLOBALS['HTTP_SERVER_VARS'];
+if (empty($_GET)) 	$_GET    =& $GLOBALS['HTTP_GET_VARS'];
+if (empty($_ENV)) 	$_ENV    =& $GLOBALS['HTTP_ENV_VARS'];
+if (empty($_POST)) 	$_POST   =& $GLOBALS['HTTP_POST_VARS'];
 
 if (empty($configurator))
     $configurator = "configurator.php";
-if (!strstr($HTTP_SERVER_VARS["SCRIPT_NAME"], $configurator) and defined('DATA_PATH'))
+if (!strstr($_SERVER["SCRIPT_NAME"], $configurator) and defined('DATA_PATH'))
     $configurator = DATA_PATH . "/" . $configurator;
-$scriptname = str_replace('configurator.php', 'index.php', $HTTP_SERVER_VARS["SCRIPT_NAME"]);
+$scriptname = str_replace('configurator.php', 'index.php', $_SERVER["SCRIPT_NAME"]);
+if (strstr($_SERVER["SCRIPT_NAME"],"/php")) {  // cgi got this different
+    if (defined('DATA_PATH'))
+	$scriptname = DATA_PATH . "/index.php";
+    else
+	$scriptname = str_replace('configurator.php', 'index.php', $_SERVER["PHP_SELF"]);
+}
 
 $tdwidth = 700;
 $config_file = (substr(PHP_OS,0,3) == 'WIN') ? 'config\\config.ini' : 'config/config.ini';
 $fs_config_file = dirname(__FILE__) . (substr(PHP_OS,0,3) == 'WIN' ? '\\' : '/') . $config_file;
-if (isset($HTTP_POST_VARS['create']))  header('Location: '.$configurator.'?show=_part1&create=1#create');
+if (isset($_POST['create']))  header('Location: '.$configurator.'?show=_part1&create=1#create');
 
 // helpers from lib/WikiUser/HttpAuth.php
 if (!function_exists('_http_user')) {
@@ -155,7 +162,7 @@
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
-<!-- $Id: configurator.php,v 1.43 2006/05/17 17:27:12 rurban Exp $ -->
+<!-- $Id: configurator.php,v 1.50 2007/01/20 15:54:03 rurban Exp $ -->
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
 <title>Configuration tool for PhpWiki <?php echo $config_file ?></title>
 <style type="text/css" media="screen">
@@ -358,6 +365,29 @@
 $properties["ENABLE_WYSIWYG"] =
 new boolean_define_commented_optional('ENABLE_WYSIWYG');
 
+$properties["WYSIWYG_BACKEND"] =
+new _define_selection(
+'WYSIWYG_BACKEND', 
+array('Wikiwyg'   => 'Wikiwyg',
+      'tinymce'   => 'tinymce',
+      'FCKeditor' => 'FCKeditor', 
+      'spaw'      => 'spaw', 
+      'htmlarea3' => 'htmlarea3', 
+      'htmlarea2' => 'htmlarea2',
+));
+
+$properties["WYSIWYG_DEFAULT_PAGETYPE_HTML"] =
+new boolean_define_commented_optional('WYSIWYG_DEFAULT_PAGETYPE_HTML');
+
+$properties["UPLOAD_USERDIR"] =
+new boolean_define_commented_optional('UPLOAD_USERDIR');
+
+$properties["DISABLE_UNITS"] =
+new boolean_define_commented_optional('DISABLE_UNITS');
+
+$properties["UNITS_EXE"] =
+new _define_commented_optional('UNITS_EXE');
+
 $properties["ENABLE_XHTML_XML"] =
 new boolean_define_commented_optional('ENABLE_XHTML_XML');
 
@@ -368,9 +398,7 @@
 new boolean_define_optional('ENABLE_SPAMBLOCKLIST');
 
 $properties["NUM_SPAM_LINKS"] =
-    new numeric_define_optional('NUM_SPAM_LINKS', "20", "
-If more than this number of external links appear on non-authenticated 
-edits it will be rejected as spam.");
+new numeric_define_optional('NUM_SPAM_LINKS');
 
 $properties["GOOGLE_LINKS_NOFOLLOW"] =
 new boolean_define_commented_optional('GOOGLE_LINKS_NOFOLLOW');
@@ -396,6 +424,8 @@
 $properties["BLOG_DEFAULT_EMPTY_PREFIX"] =
 new boolean_define_commented_optional('BLOG_DEFAULT_EMPTY_PREFIX');
 
+$properties["ENABLE_SEARCHHIGHLIGHT"] =
+new boolean_define_commented_optional('ENABLE_SEARCHHIGHLIGHT');
 
 $properties["Part One"] =
 new part('_part1', $SEPARATOR."\n", "
@@ -433,7 +463,7 @@
  array('true'  => "true. perform additional reverse dns lookups",
        'false' => "false. just record the address as given by the httpd server"));
 
-$properties["ZIPdump Authentication"] =
+$properties["ZIP Dump Authentication"] =
 new boolean_define_optional('ZIPDUMP_AUTH', 
                     array('false' => "false. Everyone may download zip dumps",
                           'true'  => "true. Only admin may download zip dumps"));
@@ -1238,17 +1268,18 @@
 subdirectory.
 
 There are a number of pre-defined themes shipped with PhpWiki.
-Or you may create your own (e.g. by copying and then modifying one of
-stock themes.)
+Or you may create your own, e.g. by copying and then modifying one of
+stock themes.
 <pre>
   THEME = default
   THEME = MacOSX
+  THEME = MonoBook (WikiPedia)
   THEME = smaller
   THEME = Wordpress
   THEME = Portland
   THEME = Sidebar
   THEME = Crao
-  THEME = wikilens (Ratings)
+  THEME = wikilens (with Ratings)
   THEME = Hawaiian
   THEME = SpaceWiki
   THEME = Hawaiian
@@ -1256,25 +1287,14 @@
   
 Problems:
 <pre>
-  THEME = MonoBook (WikiPedia) [experimental. MSIE problems]
   THEME = blog     (Kubrick)   [experimental. Several links missing]
 </pre>");
 
 $properties["Character Set"] =
-new _define_optional('CHARSET', 'iso-8859-1', "
-Select a valid charset name to be inserted into the xml/html pages, 
-and to reference links to the stylesheets (css). For more info see: 
-http://www.iana.org/assignments/character-sets. Note that PhpWiki 
-has been extensively tested only with the latin1 (iso-8859-1) 
-character set.
-
-If you change the default from iso-8859-1 PhpWiki may not work 
-properly and it will require code modifications. However, character 
-sets similar to iso-8859-1 may work with little or no modification 
-depending on your setup. The database must also support the same 
-charset, and of course the same is true for the web browser. (Some 
-work is in progress hopefully to allow more flexibility in this 
-area in the future).");
+    new _define_optional('CHARSET', 'iso-8859-1');
+
+$properties["Ignore Charset Not Supported Warning"] =
+    new _define_optional('IGNORE_CHARSET_NOT_SUPPORTED_WARNING');
 
 $properties["Language"] =
 new _define_selection_optional('DEFAULT_LANGUAGE',
@@ -1348,9 +1368,7 @@
 within a named link [name|uri] one more protocol is defined: phpwiki");
 
 $properties["Inline Images"] =
-new list_define('INLINE_IMAGES', 'png|jpg|gif', "
-URLs ending with the following extension should be inlined as images. 
-Scripts shoud not be allowed!");
+    new list_define('INLINE_IMAGES', 'png|jpg|gif');
 
 $properties["WikiName Regexp"] =
 new _define('WIKI_NAME_REGEXP', "(?<![[:alnum:]])(?:[[:upper:]][[:lower:]]+){2,}(?![[:alnum:]])", "
@@ -1423,6 +1441,12 @@
 $properties["ENABLE_MARKUP_TEMPLATE"] =
 new boolean_define_optional('ENABLE_MARKUP_TEMPLATE');
 
+$properties["DISABLE_MARKUP_WIKIWORD"] =
+new boolean_define_optional('DISABLE_MARKUP_WIKIWORD');
+
+$properties["ENABLE_MARKUP_DIVSPAN" ] = 
+new boolean_define_optional('ENABLE_MARKUP_DIVSPAN');
+
 ///////////////////
 
 $properties["Part Six"] =
@@ -1433,36 +1457,28 @@
 
 For a pretty wiki (no index.php in the url) set a seperate DATA_PATH.");
 
-global $HTTP_SERVER_VARS;
 $properties["Server Name"] =
-new _define_commented_optional('SERVER_NAME', $HTTP_SERVER_VARS['SERVER_NAME'], "
+    new _define_commented_optional('SERVER_NAME', $_SERVER['SERVER_NAME'], "
 Canonical name of the server on which this PhpWiki resides.");
 
 $properties["Server Port"] =
-new numeric_define_commented('SERVER_PORT', $HTTP_SERVER_VARS['SERVER_PORT'], "
+    new numeric_define_commented('SERVER_PORT', $_SERVER['SERVER_PORT'], "
 Canonical httpd port of the server on which this PhpWiki resides.",
 "onchange=\"validate_ereg('Sorry, \'%s\' is no valid port number.', '^[0-9]+$', 'SERVER_PORT', this);\"");
 
+$properties["Server Protocol"] =
+    new _define_selection_optional_commented('SERVER_PROTOCOL', 
+		    array('http'  => 'http',
+			  'https' => 'https'));
+
 $properties["Script Name"] =
-new _define_commented_optional('SCRIPT_NAME', $scriptname, "
-Relative URL (from the server root) of the PhpWiki script.");
+    new _define_commented_optional('SCRIPT_NAME', $scriptname);
 
 $properties["Data Path"] =
-new _define_commented_optional('DATA_PATH', dirname($scriptname), "
-URL of the PhpWiki install directory.  (You only need to set this
-if you've moved index.php out of the install directory.)  This can
-be either a relative URL (from the directory where the top-level
-PhpWiki script is) or an absolute one.");
-
+    new _define_commented_optional('DATA_PATH', dirname($scriptname));
 
 $properties["PhpWiki Install Directory"] =
-new _define_commented_optional('PHPWIKI_DIR', dirname(__FILE__), "
-Path to the PhpWiki install directory.  This is the local
-filesystem counterpart to DATA_PATH.  (If you have to set
-DATA_PATH, your probably have to set this as well.)  This can be
-either an absolute path, or a relative path interpreted from the
-directory where the top-level PhpWiki script (normally index.php)
-resides.");
+new _define_commented_optional('PHPWIKI_DIR', dirname(__FILE__));
 
 $properties["Use PATH_INFO"] =
 new _define_selection_optional_commented('USE_PATH_INFO', 
@@ -1511,6 +1527,12 @@
 (VIRTUAL_PATH is only used if USE_PATH_INFO is true.)
 ");
 
+$upload_file_path = defined('UPLOAD_FILE_PATH') ? UPLOAD_FILE_PATH : getUploadFilePath();
+new _define_optional('UPLOAD_FILE_PATH', $temp);
+
+$upload_data_path = defined('UPLOAD_DATA_PATH') ? UPLOAD_DATA_PATH : getUploadDataPath();
+new _define_optional('UPLOAD_DATA_PATH', $temp);
+
 $temp = !empty($_ENV['TEMP']) ? $_ENV['TEMP'] : "/tmp";
 $properties["TEMP_DIR"] =
 new _define_optional('TEMP_DIR', $temp);
@@ -1526,50 +1548,31 @@
 ");
 
 $properties["Strict Mailable Pagedumps"] =
-new boolean_define_optional
-('STRICT_MAILABLE_PAGEDUMPS', 
- array('false' => "binary",
-       'true'  => "quoted-printable"),
-"
-If you define this to true, (MIME-type) page-dumps (either zip dumps,
-or \"dumps to directory\" will be encoded using the quoted-printable
-encoding.  If you're actually thinking of mailing the raw page dumps,
-then this might be useful, since (among other things,) it ensures
-that all lines in the message body are under 80 characters in length.
-
-Also, setting this will cause a few additional mail headers
-to be generated, so that the resulting dumps are valid
-RFC 2822 e-mail messages.
-
-Probably, you can just leave this set to false, in which case you get
-raw ('binary' content-encoding) page dumps.");
-
-$properties["HTML Dump Filename Suffix"] =
-new _define_optional('HTML_DUMP_SUFFIX', ".html", "
-Here you can change the filename suffix used for XHTML page dumps.
-If you don't want any suffix just comment this out.");
+    new boolean_define_optional('STRICT_MAILABLE_PAGEDUMPS', 
+     array('false' => "binary",
+           'true'  => "quoted-printable"));
 
 $properties["Default local Dump Directory"] =
-new _define_optional('DEFAULT_DUMP_DIR', "/tmp/wikidump", "
-Specify the default directory for local backups.");
+    new _define_optional('DEFAULT_DUMP_DIR');
 
 $properties["Default local HTML Dump Directory"] =
-new _define_optional('HTML_DUMP_DIR', "/tmp/wikidumphtml", "
-Specify the default directory for local XHTML dumps.");
+    new _define_optional('HTML_DUMP_DIR');
+
+$properties["HTML Dump Filename Suffix"] =
+    new _define_optional('HTML_DUMP_SUFFIX');
 
 $properties["Pagename of Recent Changes"] =
-new _define_optional('RECENT_CHANGES', 'RecentChanges', "
-Page name of RecentChanges page.  Used for RSS Auto-discovery.");
+    new _define_optional('RECENT_CHANGES', 
+			 "RecentChanges");
 
 $properties["Disable HTTP Redirects"] =
-new boolean_define_commented_optional('DISABLE_HTTP_REDIRECT');
+    new boolean_define_commented_optional('DISABLE_HTTP_REDIRECT');
 
 $properties["Disable GETIMAGESIZE"] =
-new boolean_define_commented_optional('DISABLE_GETIMAGESIZE');
+    new boolean_define_commented_optional('DISABLE_GETIMAGESIZE');
 
 $properties["EDITING_POLICY"] =
-  new _define_optional('EDITING_POLICY', "EditingPolicy", "
-An interim page which gets displayed on every edit attempt, if it exists.");
+    new _define_optional('EDITING_POLICY');
 
 $properties["TOOLBAR_PAGELINK_PULLDOWN"] =
     new _define_commented_optional('TOOLBAR_PAGELINK_PULLDOWN');
@@ -1579,7 +1582,7 @@
     new _define_commented_optional('FULLTEXTSEARCH_STOPLIST');
 
 $properties["Part Seven A"] =
-new part('_part7a', $SEPARATOR."\n", "
+    new part('_part7a', $SEPARATOR."\n", "
 
 Part Seven A:
 
@@ -1590,6 +1593,8 @@
   new _define_commented_optional('FORTUNE_DIR', "/usr/share/fortune");
 $properties["USE_EXTERNAL_HTML2PDF"] =
     new _define_commented_optional('USE_EXTERNAL_HTML2PDF', "htmldoc --quiet --format pdf14 --no-toc --no-title %s");
+$properties["EXTERNAL_HTML2PDF_PAGELIST"] =
+    new _define_commented_optional('EXTERNAL_HTML2PDF_PAGELIST');
 $properties["BABYCART_PATH"] =
     new _define_commented_optional('BABYCART_PATH', "/usr/local/bin/babycart");
 $properties["GOOGLE_LICENSE_KEY"] =
@@ -1598,6 +1603,17 @@
     new _define_commented_optional('RATEIT_IMGPREFIX'); //BStar
 $properties["GRAPHVIZ_EXE"] =
     new _define_commented_optional('GRAPHVIZ_EXE'); // /usr/local/bin/dot
+
+if (PHP_OS == "Darwin") // Mac OS X
+    $ttfont   = "/System/Library/Frameworks/JavaVM.framework/Versions/1.3.1/Home/lib/fonts/LucidaSansRegular.ttf";
+elseif (isWindows()) {
+    $ttfont = $_ENV['windir'].'\Fonts\Arial.ttf';
+} else {
+    $ttfont = 'luximr'; // This is the only what sourceforge offered.
+    //$ttfont = 'Helvetica';
+}
+$properties["TTFONT"] =
+    new _define_commented_optional('TTFONT',$ttfont);
 $properties["VISUALWIKIFONT"] =
     new _define_commented_optional('VISUALWIKIFONT'); // Arial
 $properties["VISUALWIKI_ALLOWOPTIONS"] =
diff -ruN 1.3.12p3/doc/CREDITS 1.3.14/doc/CREDITS
--- 1.3.12p3/doc/CREDITS	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/doc/CREDITS	2007-07-01 05:11:02.000000000 -0500
@@ -0,0 +1,219 @@
+!! The PhpWiki Development Team
+
+Please report bugs to mailto:phpwiki-talk@lists.sourceforge.net
+
+! Core team
+
+;[ Steve Wainstead | mailto:swain@panix.com ] :
+;: Original author
+;: Chief in charge
+
+;[ Jeff Dairiki | mailto:dairiki@dairiki.org ] :
+;: Did a complete rewrite of PhpWiki using PHP classes.
+
+;[ Reini Urban | mailto:rurban@x-ray.at ] :
+;: Maintainance for the 1.2.x series since 1.2.4 and 1.3.x since 1.3.8
+;: External auth, ACL, DbSession, ...
+
+;[ CarstenKlapp | PhpWiki:CarstenKlapp ] :
+;: Maintainance for 1.3.4 - 1.3.7 and the MacOSX theme.
+
+! Developers
+
+;[ Arno Hollosi | mailto:ahollosi@mail.com ] :
+;: Wrote the MySQL library, the templates, and the database schema
+;: plus many other things too numerous to mention, up to 1.2.x
+
+;[Joel Uckelman | mailto:uckelman@nomic.net ] :
+;: Ported the dbmlib.php to the new dba_* interface, which is the default 
+;: in PHP 4.0.4 and later.
+
+;[ Dan Frankowski | http://wikilens.org ] :
+;: Initiated and maintains the wikilens lib and project ("rating system"), 
+;: several plugins.
+
+; Joe Edelman :
+;: IncludePagePlugin
+
+; Lawrence Akka :
+;: Added ADODB support, OrphanedPages, XmlRpc Interface, RSS, ...
+
+; Pierrick Meignen
+;: French localization, several patches, TeX2png plugin
+
+; Jeb Bateman
+
+; Gerrit Riessen :
+;: cvs and file WikiDB backends
+
+; Jochen Kalmbach :
+;: flatfile backend, several patches (prefs, UserManagement)
+
+; Joseph (Joby) Walker  :
+;: configuration libs and tools, WikiGroup architecture
+
+; Johannes Groe :
+;: WikiPluginCached plugins and architecture
+
+! Localization
+
+;[ Jan Nieuwenhuizen | mailto:janneke@gnu.org ] :
+;: built architecture to support internationalization
+;: contributed Dutch translation
+
+;[ Sandino Araico Snchez | mailto:sandino@sandino.net ] :
+;: contributed Spanish translation
+;: Updates by Pablo Roca (proca@clavo.net), J.Ramn Palacios
+
+;[ Jon slund | mailto:d98-jas@nada.kth.se ] :
+;: contributed Swedish translation
+
+; [ Arno Hollosi <ahollosi@mail.com> ] :
+;: contributed German translation, 
+;: updates by Helmer Pardun <pardunpress@t-online.de>, 
+;: Carsten Klapp, Reini Urban
+
+;[ Marco Milanesi | mailto:kpanic@ada2.unipv.it ] :
+;: contributed the Italian translation
+
+;[ Pierrick Meignen <meignen.pierrick@wanadoo.fr> ] :
+;: contributed and maintains the French translation
+;: Updates by Trique <roland.trique@free.fr>, Stphane Gourichon 
+;: <stephane.gourichon@lip6.fr>, Pascal <pascal@phpfrance.com>, 
+;: Benoit Masson, Jean-Philippe Georget <jpgeorget@ouvaton.org> 
+
+;[ Tadashi Jokagi <webmaster@elf.no-ip.org> ] :
+;: contributed and maintains the Japanese translation
+
+;[ DruryL <druryl@user.sourceforge.net> ] :
+;: contributed the Chinese translation, updates by ShiningRay <ShiningRay@users.sf.net>
+
+; Jon slund
+;: contributed the Swedish translation
+
+! Patches (mainly for 1.2.x)
+
+;[ Aredridel Niothke | mailto:aredridel@nbtsc.org ] :
+;: has started a flat file database for Phpwiki 1.2.x
+
+;[ Pablo Roca Rozas | mailto:proca@clavo.net ] :
+;: contributed a new logo image file and updated the Spanish translation
+
+;[Scott R. Anderson | mailto:sra@diem.net ] :
+;: contributed a patch to allow authorized users' names to appear in RecentChanges.
+
+;[Neil Brown | mailto:neilb@cse.unsw.edu.au ] :
+;: has contributed numerous useful patches e.g. nested definition lists
+
+;[Jan Hidders | mailto:hidders@win.tue.nl ] :
+;: has contributed a patch for dbmlib.php for the wikilinks stuff and page removal.
+
+;[Antti Kaihola | mailto:akaihola@siba.fi ] :
+;: patch for named internal links
+
+;[Jeremie Kass | mailto:jeremie@umich.edu ] :
+;: contributed a patch so the logo is decided in the templates instead of being hardcoded.
+
+; Jeremy Avnet
+
+; Manuel Samper <manuel@samper.dyndns.org>
+;: improved the WikiLink regexp splitter
+
+! Contributors since 1.3.x:
+
+; Philippe Vanhaesendonck (oracle backend, several patches)
+; Matt Palmer (debian package maintainer, sqlite, IniConfig)
+; Renat Lumpau (gentoo package maintainer)
+; Jeroen Coumans (several patches)
+; Jim Cheetham  (several patches)
+; John Kershaw (several patches)
+; John Cole (several patches, esp. groups and LDAP)
+; Michael Van Dam (several patches, EditMetaDataPlugin, GoToPlugin, WikiBlogPlugin)
+; Charles Corrigan (several patches and AccessLogSql)
+; Arnaud Fontaine + L. Lunati : 
+;: http://wiki.crao.net/ crao theme, RssParser, JabberPresencePlugin, ...
+; Kai Krakow (several patches)
+; Ernie Oporto (LDAP, WikiGroup)
+; Nicolas Noble (several patches, PopUpPlugin)
+; Rasmus Watjen (PopAuth implementation)
+; Konstantin Zadorozhny 
+; Pablo Martinez  (several patches)
+; Jason Buberel (HttpAuth patch)
+; Mikhail Vladimirov (auth patches)
+; Hendrik Scheider (some patches)
+; Jrme WAGNER (copypage idea)
+; John Lines (LdapSearch plugin)
+; Mike Pickering (Wordpress theme)
+; Walter Rafelsberger (Shamino_com theme, FraktalNavigation)
+; Lea 'LadyBug' Viljanen (CreateBibPlugin)
+; Bill Morrow (apache2 support)
+; Olivier Korn
+; Cuthbert Cat (several patches, SiteMapPlugin, IncludeSiteMapPlugin)
+; Roy Sutton
+; Sren Jacobi
+; Paul Pearson (PageTrailPlugin)
+; Ken MacCuish (PageTrail Duplicates Patch (1.3.4))
+; Jim Hurne
+; Norberto Meijome (LDAP Auth against W2K Active Directory)
+; Ted Vinke (PhotoAlbumPlugin)
+; Pascal Giard (AppendTextPlugin)
+; Daniel O'Connor (FoafViewPlugin)
+; Martin Geisler (PhpHighlightPlugin, PhpWeatherPlugin, configurator framework)
+; Sameer D. Sahasrabuddhe (RichTablePlugin)
+; NathanGass <gass@iogram.ch>, qubit <rtryon@dartmouth.edu> (UpLoadPlugin)
+; electrawn (several patches, WikiSettingsPlugin)
+; Martin Norbck (CalendarListPlugin)
+; Alister Bulman (Calendar patch)
+; Sebastien Delahaye (locale)
+; Manuel Vacelet 
+; Matti Airas (several patches)
+; Micki Kaufman (IncludeSiteMap, ...)
+; Oliver Betz (several patches)
+; Paul Henry (several patches)
+; Philip J. Hollenback
+; Sascha Carlin (several patches)
+; Scott Yilek (wikilens integration)
+; Steven D. Brewer (UnfoldSubpages patch)
+; Steve Christey, MITRE (LDAP injection issue)
+; Thomas Moschny (auth patch)
+; Todd Mokros (several patches, TemplateFormPlugin - not used, but thanks for the idea)
+; Ricardo Gladwell (CollatePages, TextBox plugins)
+; Rob Fulwell (FileBlog plugin)
+; Robert Orenstein (Email Notification - not used)
+; Roy "Kylratix" Laurie (several patches)
+; Rui Carmo (blog theme and libs)
+; Tony Laszlo (utf-8 fix)
+; z2d2z@earthlink.net (several patches)
+; Zot O'Connor (several patches and plugins)
+
+and many more (will be updated later)
+
+! External credits:
+<pre>
+Olivier PLATHEY for fpdf, Don Seb for fpdf
+Mircho Mirev for acdropdown (livesearch)
+Peter Jipsen, Kee-Lin Steven Chan for AsciiMath
+Simon Willison for HttpClient (RssFeed)
+Chris Petersen (Google API)
+Bob Apthorpe for babycart (Blog::SpamAssassin)
+Yamasoft for gif.php
+Stanislav Shramko for the original DBSession
+Dan Libby for the xmlrpc library and tests
+Dietrich Ayala (NuSphere Corporation) for nusoap
+Michael Heilemann (Kubrick css)
+Gabriel Wicke (MonoBook layout, CSS and js)
+Chris Snyder (RawHtml safe mode)
+Martin Langhoff <martin@catalyst.net.nz> (gforge integration)
+Ry4an Brase (IRC gateway)
+Sara von Mosch (Word to wiki converter)
+</pre>
+------------
+
+!! In the 1.0 series:
+
+* John Jorgensen http://c2.com/cgi-bin/wiki?AnotherPhpWiki,
+* Tim Voght http://c2.com/cgi-bin/wiki?TimVoght,
+* Grant Morgan http://c2.com/cgi-bin/wiki?GrantMorgan,
+* and especially Clifford A. Adams: http://c2.com/cgi-bin/wiki?CliffordAdams
+
+ $Id: CREDITS,v 1.6 2005/08/27 10:01:26 rurban Exp $
diff -ruN 1.3.12p3/doc/HISTORY 1.3.14/doc/HISTORY
--- 1.3.12p3/doc/HISTORY	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/doc/HISTORY	2007-07-01 05:11:02.000000000 -0500
@@ -0,0 +1,599 @@
+1.3.11 June, 28? 2004, Reini Urban:
+
+Lots of bugfixes, a new EDIT_TOOLBAR from mediawiki, more page 
+permission enhancements, reduce memory usage for pagelists which 
+need no page content, and admin plugin overhaul.
+
+fixes:
+* fixed Today link in all templates if USE_PATH_INFO = false
+* fixed PluginManager fatal error line 222
+* utf-8 pagenames fixed (typed foreign names from IE)
+* CGI: no PATH_INFO fix 
+* fix some too loose PagePerms for signed, but not authenticated users
+  (admin, owner, creator), and edit and view for Bogo and Password users 
+* security fix for create ACL: action=edit is now checked for create
+* fixed syntax errors in signin.tmpl 
+* fixed important WikiDB bug with DEBUG > 0: wrong assertion 
+  around line 172 (#954648)
+* RssFeed stability fix for empty feeds or broken connections 
+* fixed Sidebar theme CSS, added existing dates to jscalendar
+* fixed ImageLinks, broken since 1.3.10 (Bug #956068)
+* fixed lib/pear/File_Passwd loading
+* fixed missing DEBUG warnings (Support #954260)
+* TranslateText: verbatim needed a pagebreak
+* fixed duplicate session_id warning with adodb
+* fixed adodb DbPassUser login
+* fixed external DbPassUser login
+* fixed adodb action=upgrade
+* fixed FilePassUser locking problems
+* fixed a lot of LDAP auth and group issues
+* fixed LDAP options handling (by John Cole)
+* fixed possible security problems: allowing only posixly strict usernames, 
+  and an actual LDAP Injection problem, detected by Steve Christey, MITRE.
+* honor s=wildcard arguments for WikiAdmin plugins
+* fixed flatfile assertion (#963268) - check existing previous version
+* fixed all msg references from index.php to config/config.ini
+* fixed immediate LANG and THEME in-session updates if not stored in prefs
+* fixed USER_AUTH_POLICY=old, use only USER_AUTH_ORDER methods (besides HttpAuth)
+  and removed LDAP, POP3, IMAP default configs.
+* RelatedChanges: fixed days links
+* fix Rename: Change pagename in all linked pages
+* fixed PageChangeNotification for not-current users
+* fixed UpLoadPlugin for filenames with space (Bug #969532)
+* fixed label support for CreateTocPlugin (Bug #969495)
+* fixed Apache2 crashing with old markup and the CreateTocPlugin. 
+  Still cannot edit though.
+* catch fatals and request->args changes on dumping
+* fixed unneeded UserPreferences plugin login screen on dumphtml
+* catch SOAP fatal on GooglePlugin without GOOGLE_LICENSE_KEY
+* silently ignore jshide argument on MacIE for AddComment and CreateToc
+* PhpWiki is now allow_call_time_pass_reference = Off safe (php.ini)
+  Some external libraries are not (Pear_DB odbc, adodb oracle)
+* fixed sql statements for pagedata where it is not needed, fixing the 
+  typical PageList memory exhaustion on simple page lists.
+
+changes:
+* WikiAdminSetAcl functional
+* enabled PagePerm for all admin plugins (no admin required): 
+  Remove, Rename, Replace, SetAcl, Chown
+* new Error-style with collapsed output of repeated messages 
+* trim pagenames to avoid abuse
+* no double login page header, better login msg. 
+* improved FileFinder include_path logic (NormalizeLocalFileName, ...)
+** init global FileFinder to add proper include paths at startup
+   adds PHPWIKI_DIR if started from another dir, lib/pear also
+** fix slashify for Windows
+* check more config-default and predefined constants 
+* AutoSplit pagenames at subpage seperators, esp for Sidebar theme
+* improve Pagelist layout by equal pagename width for limited lists 
+* added CPAN to interwiki.map
+* ExternalSearchPlugin useimage arg (RFE #952323)
+* Simplified some strings for easier translation 
+* added hash and object support for SessionPassUser userid session variable
+* Auth Page=>DB PassUser upgrade: delete existing Page prefs, if Db prefs are saved.
+* renamed DB_Session.php to DbSession.php
+* vastly improved french locale support, which is now complete (by Pierrick Meignen).
+  english, german and french are now completely translated. The others partially.
+* improved ~SetupWiki (virgin setup) loading all required action pages in english,
+  if no foreign translation found (by Pierrick Meignen)
+* show RelatedChanges only if minimum two links on the current page.
+* PageDump: ViewSource link, better actionpage usage, MessageID TZ
+* brought WikiUser (old) uptodate
+* added owner and acl fields to dumps
+* import GOOGLE_LICENSE_KEY and FORTUNE_DIR from config.ini
+* renamed global $Theme to $WikiTheme (gforge nameclash)
+
+new:
+* new ENABLE_EDIT_TOOLBAR (from mediawiki), JS_SEARCHREPLACE currently broken.
+* new config options: 
+** ENABLE_PAGEPERM to turn off ACL (no owner at the statusline if off)
+** FORTUNE_DIR to enable random quotes for new pages
+* implemented WikiDB page creator and ownership
+* added action=pdf: only page formatter missing
+* new XmlParser, HtmlParser: new libs for HTML->wiki import and htmlarea3 support
+** RssFeed broken
+* new pagename utf8 detection logic (from mediawiki)
+* new action=chown|setacl|rename|dump action shortcuts pointing to the plugin
+* new SyntaxHighlighter plugin (based on work by alecthomas),
+  needs highlight from http://www.andre-simon.de/
+* new Ploticus plugin. full application/xhtml+xml support not yet 
+  (javascript document.write() not supported with ENABLE_XHTML_XML)
+* new ListPages plugin (by Dan Frankowski)
+* new TeX2png plugin (by Pierrick Meignen)
+* added support for ?force_unlock=1 parameter for stale File_Passwd locks
+  (should not be needed anymore, we lock only when we actually change the passwd)
+* added mysql-4.1 fix at action=upgrade
+* author, owner, creator support for WikiAdmin* and AllPages plugins:
+** AllPagesCreatedByMe, AllPagesLastEditedByMe, AllPagesOwnedByMe
+* added action revert, with button from action=diff
+* added option regex to WikiAdminSearchReplace
+* added oracle PearDB backend (by Philippe Vanhaesendonck)
+
+
+1.3.10 May, 13 2004, Reini Urban, Joby Walker:
+
+In short: paging support, adodb rewrite, permission problem fixed.
+
+fixes:
+* fixed severe permission problem:
+  Default permissions not honored. Everybody was able to edit.
+* set UserPreferences for bool and int fixed
+* POP3 auth
+* dba open problems improved, but not generally fixed
+* fixed dba session reading, but still broken
+* support wikiword links and image links in RichTable content,
+  backlinks still not working.
+* fixed navbar links in theme smaller, and made them default
+* fixed loading of localized pagenames on action=upgrade
+* fixed interwiki.map loading on certain PrettyWiki setups
+* re-enabled php-4.0.6 support (broken since 1.3.8: superglobals, array_key_exists),
+  4.0.4-pl1 and 4.0.5 do work, but not stable enough.
+* fix running phpwiki in "http://server/" (empty DATA_PATH)
+* fix PhpWiki:PrettyWiki detection: starter script includes index.php,
+  and include main.php by its own to override certain config values.
+* fix WikiAdminRemove arguments passed from WikiAdminSelect,
+  WikiAdminRemove deleted too many args if passed from WikiAdminSelect
+* session transportation improved, no db objects stored
+* PageGroup support for [links] and subpages
+* HttpClient fixes for older php's
+* RssFeed for allow_url_fopen=false, IMAGE support, empty ITEM list
+* Theme buttons are now also searched in the default theme
+* numerous other minor bugfixes.
+
+changes:
+* ADODB update from ancient mysql-only, to 4.21 with all supported databases.
+  transaction support, with mysql locking-workarounds
+* pear not in our include_path anymore: either use your pear or our pear, 
+  by adding it to your include_path or not. use now 1:1 copies of pear libs.
+* CreateToc parses now headers with links and formatting optionally, if 
+  TOC_FULL_SYNTAX is defined
+* PageChangeNotification: userids, not emails are printed
+* default theme navbar consistency: linkButtons instead of action buttons
+* _~WikiTranslation what=buttons, noT=1, nolinks=1
+* ~SetupWiki (virgin setup) also loads all mandatory pages now 
+  and overwrites ReleaseNotes
+* PageChangeNotification changed subject to "[WikiName] Page change %s",
+  update your filters accordingly
+* action=upgrade now linked in PhpWikiAdministration, 
+  db: fix page.id auto_increment and ADD session.sess_ip
+* some internal InlineParser optimization
+* DBAuthParam statement syntax change: variables now like '$userid'
+
+new:
+* new ini-style config instead of old index.php, by Joby Walker
+* paging support for pagelists longer than limit
+* PopularNearby plugin: same as the classic most popular footer
+* formatted single-line plugins supported
+* RelatedChanges plugin: only those which are links at the current page
+* new GoogleLink pref: add "[G]" lookup on unknown links
+* added chinese language support, by Yan-ren Tsai (druryl)
+* added missing MacOSX buttons, by Carsten Klapp.
+* new Crao theme from http://wiki.crao.net, by Arnaud Fontaine and Laurent Lunati
+* extended PhpWiki:InlineImages markup (size, border, ...)
+
+1.3.9-p1 May,5 2004, Reini Urban:
+
+Bugfix patch for the following 1.3.9 problems:
+
+* Default permissions not honored. Everybody was able to edit.
+* set UserPreferences for bool and int fixed
+* dba open problems improved
+* session transportation improved, no db objects stored
+* php-4.0.6 support re-enabled (superglobals, array_key_exists)
+* WikiAdminRemove deleted too many if args passed from WikiAdminSelect
+* PageGroup support for [links] and subpages
+* disabled default dba sessions, broken!
+* HttpClient fixes for older php's
+* RssFeed for allow_url_fopen=false, IMAGE support, empty ITEM list
+
+1.2.4 (the old-stable version) May, 4 2004, Reini Urban:
+* improves possible deadlocks in DBA, 
+* fixes problems with DBA open failures.
+
+1.2.3 (the old-stable version) Apr, 29 2004, Reini Urban:
+* added the most popular footer for dba
+* added remove for dba
+* fixed a warning on info page
+
+1.3.9 Apr, 12 2004, Reini Urban:
+
+Bugfix release for the following 1.3.8 problems:
+
+* syntax errors in lib/plugin/UpLoad.php
+* syntax errors in lib/plugin/WikiAdminRemove.php
+* syntax error in schemas/mysql.sql
+* several path issues (cannot findfile...), which were caused 
+  by a chdir for bindtextdomain in lib/config.php.
+    Failed opening required 'lib/stdlib.php', 
+    templates/html.tmpl: not found, and more
+* added self-registration for DbPassUser
+* added GoTo plugin, RateIt action page
+
+1.3.8 Jan-Apr 2004, Reini Urban:
+
+External plugable authentification, DB prefs and sessions, 
+some more fixes, docs, themes and plugins.
+
+* new WikiUserNew class (after a kick in the ass by Carsten Klapp), 
+  with new Preferences (finally from DB), and improved DB_Session (+ ADODB support)
+* changed cookie policy: only WIKI_ID stored as string, older pref cookies deleted.
+  They should be stored in the users homepage or in a db.
+* individual PagePermissions (enabled, but not yet enforced)
+* enabled WikiGroup
+* new WikiAdminRename, WikiAdminSearchReplace, WikiAdminSetAcl
+* several other new plugins: WikiPoll, WhoIsOnline, UpLoad, 
+  RichTable, CreateToc, AddComment, _WikiTranslation, TranslateText
+* pear DB update, pear DB query simplification as in ADODB.
+* InterWiki image buttons
+* PageList + WikiDB: enhanced sortby + limit support, sortable gridbuttons enforced
+* preliminary SOAP support (only nusoap, no soap extension yet)
+* Japanese language support added, thanks to Tadashi Jokagi <webmaster@elf.no-ip.org>
+* minor theme/default overhaul and new theme/smaller
+* fixed WikiAdminSelect, WikiAdminRemove
+* fixed UnfoldSubpages sortby
+* fixed XHTML dumps (css, images, unlinked pages, \r\r\n issue)
+* preliminary experimental action=upgrade
+* experimental PearDB sqlite support
+* started work for php5 fixes (XmlElement problems)
+
+1.3.4 until 1.3.7, 2002-2003 Jeff, Carsten and Steve Wainstead:
+
+* several stable releases with better documentation (most plugins) and various bugfixes.
+* EditMetaData (by MichaelVanDam) for example. (forgot what else was new)
+* Jochen Kalmbach's new UserFileManagement and UserRegistration didn't went upstream. 
+  (personal uploads, ...)
+
+1.3.3 early 2002, Jeff strikes back, with the help of Carsten Klapp:
+
+* major feature enhancements:
+* Cache all output and use a clever page cache. Get rid of plugin-head.
+* new PageType class. Formatter and Search engine rewrite.
+* Validator
+* broke several older plugins: InterWikiSearch, WikiAdminSelect. broke image buttons
+* Carsten Klapp's beloved MACOSX theme, button factory and CSS wizardry in general.
+* XHTML dumps, WikiBlog as page type.
+* PluginManager and several more plugins.
+
+1.3.2 early 2002, Reini Urban strikes:
+
+* Start of external authorisation in the config, but not in code.
+* Store Preferences in the users PersonalPage (Jeff)
+* Sessions in DB, pear DB update
+* concept of Subpages, UnfoldSubpages, SiteMap, AllPages, AllUsers, ...
+* PageList (Jeff and Reini)
+* Several new plugins: RedirectTo, plugin-head architecture. 
+  Normalize template names. WikiAdminSelect architecture: WikiAdminRemove
+* VisualWiki, TexToPng, text2png + several cached plugins (by Johannes Groe)
+* PhpWeather (?), PrevNext, image buttons, 
+* IncludePage (Joe Edelman), FrameInclude (Reini), Transclude (Jeff)
+* Calendar (contributed by ?), CalendarList, WikiBlog, ...
+
+.... a small hole here .... (three years no detailed HISTORY. see the outline above)
+
+02/12/01 More Jeff's hacks:
+
+* More CSS stuff.  I think it's neat.
+* Added tables! And modified the footnote stuff a litte.
+  See TextFormattingRules for details.
+* Fixed bugs: including (I hope the two which
+  Reini Urban <rurban@x-ray.at> just reported.)  Also added
+  Reini's patches to the README.  Thanks!
+
+02/11/01 Jeff's hacks continue:
+
+* User preferences can be stored in a cookie.  Currently the only user preference
+  is the size of the textarea on the edit page.  See the UserPreferences wiki page.
+
+* When a zip/file is uploaded, set the author to the user who does the upload
+  (ie. the administrator).  Also enter the upload in RecentChanges.
+* Don't load RecentChanges from zip or dir.  Only from file.
+
+* Clean up error reporting.  Warning messages screw up header() and setcookie()
+  operations, and also corrupt the zip dumps.  New function
+  PostponeErrorMessages() allows one to postpone the reporting of selected warnings.
+
+* Beginnings of CSS support.  Still in the ugly stage.
+
+* More bug fixes.
+
+02/11/01 Jeff's hacks continue:
+
+* Moved user configuration stuff into index.php.  What was index.php is
+  now in lib/main.php.
+
+* Refactored the DB configuration variables.  There's one define() constant
+  which specifies type database type, and one hash (used by all the 
+  databases) which holds database, file, and server selection.
+  The actual file/table names are now "hard-coded" into the individual
+  database modules --- I have added the hook for setting a prefix
+  to be applied to all file/table names.
+  I think it's much cleaner, but let me know if you think otherwise.
+  (I've only tested the dba and mysql backends.)
+  
+* Refactored the dump/load zip/directory stuff.  You can now upload zip-dumps
+  or individual files from your local (client) machine.
+  See PhpWikiAdministration.
+
+* Fixed a bunch of bugs --- mostly the one's I introduced in my last big
+  commit.
+
+02/09/01 Jeff hack's again:
+
+* Pagename in PATH_INFO support added.  This is configurable,
+  cause, near as I can figure, if the php interpreter is run stand-alone
+  in /cgi-bin there's no way to pass any useful PATH_INFO to it.
+  (If a stand-alone php, in say /usr/local/bin, is used as a CGI interpreter,
+  PATH_INFO will work, as long as php was configured with --enable-discard-path .)
+
+  Along with this I refactored the semantics of all the query arguments to
+  make them (IMHO) more consistent.
+
+* Redid the administrator authentication stuff.  Eliminated admin.php ---
+  all access is now through index.php.  (New file lib/userauth.php.)
+  Still a little rough, but a big improvement, I think.  Hopefully this
+  can be developed into a more general user identification scheme...
+
+  Along with eliminating admin.php and the new auth scheme, completely
+  refactored index.php.   It should be easy now to swap config.php and index.php.
+  (I'll do that soon.)
+
+* Continued cleaning out page reference stuff.
+
+* Force archive of old page if author changes.  (Unless new author
+  is admin.)
+  
+* More warning fixes in diff.php
+
+* Refactored the semantics of the phpwiki: URL's.  
+  See pgsrc/PhpWikiAdministration and pgsrc/MagicPhpWikiURLs
+  for more information.
+
+Bug fixes:
+* Don't show signature image if $SignatureImg (in config.php) is left unset
+* Bug fix: hang on full zip dump 
+* Bug fix: hang on diff
+* Bug fix: unzip failed on some old zip-dumps
+* Bug fix: check for DB files in /tmp was broken
+* Minor security fix: pagename must now be url-encoded
+* Spelling fixes in pgsrc/*
+
+1.2.0 02/01/01
+* Support for PHP 4.0.4 (using the dba_* interface for DBM files),
+  thanks to Joel Uckelman
+* Swedish translation added, thanks to Jon slund
+* dbmlib.php has all functions in mysql/postgresql, thanks to Jan Hidder
+* German version updated
+* Dutch translation updated
+* Spanish version updated
+* More robust support for flat file based Wiki (INSTALL.flatfile
+  included)
+* "named internal links," i.e. [wow | HomePage]
+* New IF syntax added to templates
+* New PhpWikiAdministration page added
+* New term/defintion syntax (for <DT><DD> tags)
+* Plenty of bug fixes
+
+1.1.9 11/05/00: 
+* Spanish language support added, thanks to Sandino Araico 
+  Snchez <sandino@sandino.net>
+* German language support thanks to Arno Hollosi
+* Postgresql version brought up to date (plus fixes from Sandino)
+* Neil Brown contributed a patch Arno worked in to heavily modify
+  lib/transform.php, much cleaner structure now
+* Various page updates to English pages
+* Schema update for mSQL
+* Assorted E_NOTICE warnings fixed throughout (though still not done)
+* URL no longer stored in page source of RecentChanges
+* various bugs squashed
+
+1.1.8 10/25/00: 
+* Internationalization, with support for Dutch, and an architecture
+  to add more languages easily
+* Term/defintion tags updated to next and use tabless markup
+* MostPopular works for all implementations, except flat files
+* Flat file database support; it's not yet complete but the basic Wiki
+  functionality is there, thanks to Ari
+* New zip file format for page dumps follows standard email format
+* Removed tabs from all default pages
+* Added whitespace padding to pages after they are serialized and
+  written to the DBM file; this goes a long way towards fixing the
+  memory leak problems for DBM-based Wikis.
+* Numerous bug fixes, as always
+* Some refactoring of the database interface
+
+1.1.7 07/15/00: A lot was added since the 1.1.6b release. Diffs are
+    the handiwork of Jeff Dairiki, though Arno wrote the second
+    revision. Features and changes include:
+
+* Page diffs, with color
+* "MostPopular" page added which dynamically tracks most viewed pages
+  (MySQL only so far)
+* Admin functions: page dumps, page loads, Zip dumps, page locking
+* MySQL, DBM, mSQL and Postgresql support all functional and appear stable
+* Full HTML compliance in page output
+* Tabless markup language introduced for <UL> and <OL>
+* Fixed raw HTML exploit in [info] page
+* Perl script included to reduce the size of a DBM file
+* documentation updates
+* page source updates
+* gazillion feature enhancements and bug fixes, no doubt necessitating
+  another gazillion feature enhancements and bug fixes ;-)
+
+1.1.6b 06/27/00: The wrong wiki_config.php3 file was included in 1.1.6, 
+and this release corrects that; also in my hurry, I included all the CVS
+directories and files, and a test file. That stuff was left out.
+
+1.1.6 06/26/00: Added templates, Postgresql support, mSQL support, new
+database schema, new date storage format, an "info" link on all pages,
+and introduced some new bugs (RecentChanges is broken ;-)
+
+1.1.5 06/08/00: Here are the comments from the CVS logs:
+
+fixed magic_quotes_gpc=1 bug for $pagename
+fixed raw-HTML exploit for $pagename
+fixed javascript: links exploit
+Concurrent editing of pages is detected now - fixes LostUpdateProblem
+(note: EditLinks is *not* treated this way yet)
+search term is now preg_quote()'ed instead of chars removed
+bugfix: UpdateRecentChanges didn't link names of new-style pages.
+Fixed FindPage and search boxes
+Added headings (!,!!,!!!), suppression of wiki linking (!WikiName), and linebreaks (%%%)
+changed mySQL schema: column 'data' renamed 'hash' because 'dada' is a
+reserved word. (update your tables!)
+
+This release should work fine with the new linking scheme, but then
+again, hey, it's beta!
+
+1.1.4 05/11/00: I added the new linking
+scheme, which largely follows the scheme of Wikic
+(http://wiki.cs.uiuc.edu/RefactoringBrowser/Wiki+Syntax). Both "classic
+Wiki" linking and the new linking are supported; you can now also link
+things by using square brackets, like this:
+
+[this is a page link]
+[this is an external link | http://wcsb.org/]
+[ftp://ftp.redhat.com/]
+
+Reference links are still supported.
+
+1.1.3 04/22/00: I rewrote UpdateRecentChanges completely; it's more
+efficient now because it only loops over the lines once, and entries are
+now newest-first instead of oldest-first.
+
+1.1.2 04/20/00: I finally solved the problem once and for all (I hope!)
+with loading pages into a brand new wiki. Vim allows you to change the
+file formats so I wrote a two line ex script to convert all the pages to
+dos format. (This gives them the CR/NL, unlike Un*x).
+
+1.1.1 04/15/00: I changed the way Wiki markup is converted and 
+displayed. Before pages were rendered line by line; now it accumulates
+all the HTML in a variable and does one "echo" to display the page. 
+While this might be a bit slower (it will use a little bit more memory)
+this means PhpWiki can be modified so the HTML can be written to a file.
+a whole PhpWiki site might either be served as static HTML, or
+periodically exported to disk after a period of activity. This is the
+secod beta (more or less) of the 1.1 release.
+
+1.1.0 04/10/00: Support for MySQL added. Thanks to Arno Hollosi for 
+his excellent work! He also provided patches to clean up the wiki_setup
+procedure and fix rendering bugs with italics and bold text, amongst
+others. Alister <alister@minotaur.nu> provided patches for arbitrary
+numbers of reference links, fixing a rotten logic error on my part.
+Removed "static" declarations to help the PHP4 porters.
+
+1.03 03/21/00: Refactored index.php3 and wiki_display.php3, which 
+had dbm function calls in them. Thanks to Christian Lindig
+<lindig@gaertner.de> for pointing this out. This should make it
+a little easier to port to a different database.
+
+1.02 02/02/00: Disabled embedded HTML, due to security holes 
+described in this CERT advisory: http://www.cert.org/advisories/CA-2000-02.html
+You can re-enable it by removing the comment tags in wiki_display.php3.
+Please be certain of what you are doing if you allow this!
+
+1.01 02/01/11: Fixed bug where header rules (<hr>) were inserted
+whenever four or more dashes occured; this only works if it starts the
+line now. Thanks to Gerry Barksdale.
+
+1.00 01/25/00: Changed the names of all files except index.php3; I
+prefaced them all with "wiki_" to avoid collisions with other files 
+that might be in the include path. Thanks to Grant Morgan for the 
+suggestion. A few corrections to the default pages; I think the 
+small rendering problems are due to Unix's lack of a carriage 
+return.
+
+0.99 01/20/00: Added a logic change suggested by Clifford Adams, 
+where a copy is saved to the archive if the previous author was 
+different. A different person that is. Fixed a rendering bug. This was
+breaking: http://c2.com/cgi-bin/wiki followed by
+http://c2.com/cgi-bin/wiki?PhpWiki on the same line. Because PHP only
+can do *global* search and replace, the second URL was incompletely
+swapped and linked. Using rsort() on the array of matches worked.
+Added a patch from Grant Morgan for servers with magic_quotes_gpc set.
+
+0.98 01/18/00: Added code to build the $ServerAddress dyanamically. Now,
+PhpWiki will work as soon as it's untarred. No configuration should be
+necessary.
+
+0.97 01/16/00: Added a feature suggested by Clifford Adams. It stores
+the author's remote address and disables the EditCopy the next time they
+edit a page. Added <DL><DT><DD> support and debugged it. A new Wiki will
+load a set of new pages, so the Wiki is ready to go out of the box.
+
+0.96 01/15/00: Added EditCopy. This uses a second DBM file and could use
+some more pounding. I also found a bug when two URL's appear on the same
+line, like:
+http://foo.com/ http://foo.com/WikiWikiWeb
+In this case the second URL will not be linked correctly due to PHP's
+replace-all-or-nothing regular expression functions.
+
+0.95 01/04/00: Severe reworking of the list code (UL amd OL tags). I
+added a stack class and "implemented recursion," which seemed the
+logical way to accomplish nested tags. There are a couple of minor bugs
+to work out, and I have to get DL tags working. I changed some constants
+to define()'s instead. There are magic numbers in stdlib.php3 that
+probably should be defined. I also used while() loops while doing
+push/pop operations which also gives me the willies, but I put in bounds
+checking.
+
+0.94: 12/22/99 Mostly code cleanups; added code for waiting on the dbm
+file if not available; added more comments. 
+
+0.93: 12/21/99 Added full text search. Moved configuration code to a new
+file, config.php3. Fixed another bug in RecentChanges. Page titles now
+link to full search, which is a bit more useful. Added code to create a
+new RecentChanges if none existed.
+
+0.92: 12/20/99 Added REMOTE_HOST to RecentChanges edits; fixed a bug
+where I typed in PUT instead of POST in editpage.php3; patched
+RecentChanges so hopefully the lines won't get screwed up anymore.
+
+0.91: 12/20/99 Fixed bug that occurred when creating new pages.
+
+0.90: 12/19/99 Added user-defined links (i.e. [1], [2] etc) and embedded
+images. This is the first beta release. Only an issue with second-level
+lists remains, and a couple of other minor things.
+
+0.81: 12/19/99 Fixed another wiki word linking issue. It arose from
+having similar patterns in words in the same line.
+
+0.80: 12/18/99 I'm bumping up the version to .8 because it's that close.
+I finally solved the crucial linking problem, by reinventing how
+classic Wiki does it ;-) URL's are first replaced with tokens, then Wiki
+words are linked, then linked URL's are put back. I improved the code a
+great deal for the differnet "modes" of display text; I have a function
+maintain the mode, and whether end tags are needed or not.
+
+0.07: 12/18/99 Fixed minor bug in preformatted/bulleted code output; fixed
+reverse linking of page titles
+
+0.06: 12/15/99: Added ChangeSpacesToTabs
+
+0.05: 12/14/99: Added title searches, RecentChanges, fixed numerous bugs like
+only trying to render valid page names, the last-edited-date, removed
+the navigation toolbars, linked the new logo to HomePage, and a half
+dozen other odd things. It's almost ready.
+
+0.04: 12/12/99: Several additions to markup:
+   italics 
+   bold
+   preformatted text
+   unordered lists (one level only, tow levels breaks)
+
+In addition, wiki links have been further debugged, but I still
+haven't solved the problem with wiki-links inside URLs.
+   
+0.03: 12/4/99: Pages are now serialized arrays instead of text blobs. Some
+markup rules have been implemented. HTML is escaped; Wiki linking works
+but
+undefined pages do not have the question mark after them (they look like
+a regular link to a Wiki page.) URL's hyperlink and should accept most
+legal
+URL's.
+
+0.02: 12/3/99: Basic page editing/saving/displaying is now working.
+
+Prior to 0.02, there were no numbered releases, and in fact there
+was only one release, so I guess that would be 0.01 :-)
+
+$Id: HISTORY,v 1.12 2004/06/28 13:40:33 rurban Exp $
diff -ruN 1.3.12p3/doc/INSTALL.flatfile 1.3.14/doc/INSTALL.flatfile
--- 1.3.12p3/doc/INSTALL.flatfile	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/doc/INSTALL.flatfile	2007-07-01 05:11:02.000000000 -0500
@@ -0,0 +1,139 @@
+If you cannot run PhpWiki on top of a relational database like
+MySQL or Postgresql, and your system does not support DBA files
+or (worse) has a broken implementation like NDBM on Solaris or 
+GDBM on Linux, then a flat file Wiki should work for you. 
+
+Installation is similar to using a DBA file for storing the pages.
+You should read the main INSTALL file before this one (it's not long
+and complicated so go ahead and we'll wait for you right here).
+
+INSTALLATION NOTES for 1.3
+
+Set DATABASE_TYPE = file in config/config.ini,
+check DATABASE_DIRECTORY not to start with /tmp,
+and fire up the wiki url in your browser.
+The webserver will then start to create this directory with 
+the correct permissions and populate the database.
+
+INSTALLATION NOTES for 1.2
+
+First, edit lib/config.php and set the database to "file":
+
+   $WhichDatabase = 'file'; // use one of "dbm", "mysql", "pgsql", "msql",
+			    // or "file"
+
+
+Now, the key thing is you need a directory that the web server can 
+read and write to. This is where it will store current and archived
+pages.
+
+If you have root access the next section applies to you. If you don't
+have root access, skip down to the section "I DON'T HAVE ROOT ACCESS"
+to see what options you have.
+
+Choose where you want to have the pages stored; on my system I put
+them in a directory under the PhpWiki root directory. That is, I
+installed my PhpWiki in /home/swain/public_html/flatfiletest/phpwiki.
+I created a directory called "pages" like this:
+
+[root@localhost phpwiki]# mkdir pages
+
+This creates a new directory:
+
+[swain@localhost phpwiki]$ ls -l
+total 65
+-rw-r--r--    1 swain    swain        1776 Dec 22 16:10 CREDITS
+-rw-r--r--    1 swain    swain        6323 Dec 12 16:53 DBLIB.txt
+-rw-r--r--    1 swain    swain       10373 Nov  5 22:19 HISTORY
+-rw-r--r--    1 swain    swain        3241 Oct  8 15:08 INSTALL
+-rw-r--r--    1 swain    swain        1241 Oct  8 14:12 INSTALL.mSQL
+-rw-r--r--    1 swain    swain        1584 Oct  8 14:12 INSTALL.mysql
+-rw-r--r--    1 swain    swain        2001 Oct  8 15:19 INSTALL.pgsql
+-rw-r--r--    1 swain    swain       18106 Jun  2  2000 LICENSE
+-rw-r--r--    1 swain    swain        2873 Dec 12 16:24 README
+drwxrwxr-x    2 swain    swain        1024 Jan  1 18:46 admin
+-rw-r--r--    1 swain    swain        2366 Nov 13 05:59 admin.php
+drwxrwxr-x    2 swain    swain        1024 Jan  1 18:46 images
+-rw-r--r--    1 swain    swain        1305 Nov  8 10:34 index.php
+drwxrwxr-x    2 swain    swain        1024 Jan  3 22:44 lib
+drwxrwxr-x    6 swain    swain        1024 Jan  1 18:46 locale
+drwxrwxr-x    4 swain    swain        1024 Jan  1 18:50 pages
+drwxrwxr-x    2 swain    swain        1024 Jan  1 18:46 pgsrc
+drwxrwxr-x    2 swain    swain        1024 Jan  1 18:46 schemas
+drwxrwxr-x    2 swain    swain        1024 Jan  1 18:46 templates
+
+Next, I'm going to change the owner of the directory. Your web server
+probably runs as user "nobody," so I log in as root and run the chown
+command:
+
+[swain@localhost phpwiki]$ su
+Password: 
+[root@localhost phpwiki]# chown nobody:nobody pages
+
+Now the directory is read/writable by "nobody" and should work
+fine. If your web server runs as a different user substitute the
+appropriate name.
+
+
+I DON'T HAVE ROOT ACCESS...
+
+If you do not have root access to your machine you are in a tougher
+situation. What you can do is give the directory read/write permission
+to anybody, but for security reasons this is a bad idea.
+
+The second thing you can do is have your systems administrator install
+PhpWiki for you, or at least follow the steps above to create a
+directory owned by the web server.
+
+Another solution is to let the web server create the directory for
+you. The drawback to this approach is that you won't be able to edit
+the files or copy them from the command line, but most people can live
+with this limitation. (This is how you would do it on SourceForge, by
+the way; they have a cron job that sweeps the filesystem every few
+hours looking for things that are set world writable and change the
+permission.) This will require you to TEMPORARILY make the phpwiki/
+directory world writable:
+
+cd ..
+chmod o+wr phpwiki
+cd phpwiki/
+
+and create a PHP file like this:
+
+
+<html>
+<head>
+<title>Make a directory</title>
+</head>
+
+<?
+
+   /* 
+      I created this to set up server-writable files
+      for the Wiki. You shouldn't have world writable files.
+   */
+
+   $int = mkdir("pages", 0775);
+   if ($int) { echo "mkdir returned $int (success)\n"; }
+
+?>
+</html>
+
+Put the file in the phpwiki/ directory and call it through a web
+browser. This should create a directory owned by the web server in the
+phpwiki/ directory. 
+
+IMPORTANT
+Now you need to restore the permissions of the phpwiki directory
+itself:
+
+cd ..
+chmod 755 phpwiki
+
+If you have problems after all of this, try contacting the
+phpwiki-talk list at phpwiki-talk@lists.sourceforge.net.
+
+Steve Wainstead
+swain@panix.com
+
+$Id: INSTALL.flatfile,v 1.2 2005/10/13 06:55:21 rurban Exp $
diff -ruN 1.3.12p3/doc/INSTALL.MacOSX 1.3.14/doc/INSTALL.MacOSX
--- 1.3.12p3/doc/INSTALL.MacOSX	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/doc/INSTALL.MacOSX	2007-07-01 05:11:02.000000000 -0500
@@ -0,0 +1,360 @@
+
+Using PhpWiki 1.3 with Mac OS X / Darwin
+
+PhpWiki works quite well and retains almost complete functionality
+when used with a default installation of Mac OS X 10.1 (or greater),
+with only a few minor exceptions as noted below. Setting up a database
+for the Wiki backend is probably the most difficult part of the
+PhpWiki installation as it will require use of the Terminal utility;
+therefore it is recommended that you at least have some familiarity
+with the unix command prompt. However, the setup is straightforward
+and you should be able to complete the install by following the
+instructions in the INSTALL document included with the PhpWiki
+download.
+
+If you intend to compile the required database software or PHP module
+yourself you should download and install the Developer tools from
+Apple, which includes the necessary cc compiler, and at least
+temporarily activate the superuser (root) account. The steps necessary
+to do this are relatively more complicated and are beyond the scope of
+this document.
+
+In any case you may find Project Builder to be an attractive
+alternative to TextEdit, especially if you are intent on heavily
+customizing PhpWiki, working with PHP or doing any other code
+development. Among other niceties it provides multiple undos (even
+beyond the last file save), line numbering and syntax coloring;
+however it doesn't always properly handle coloring for strangely
+nested \"escaped quotes\" which are frequently called for in PHP when
+generating HTML code.  \\" <--(kludge for broken syntax coloring)
+
+Instructions for using Project Builder with PhpWiki can be found at
+the bottom of this document.
+
+
+Database
+--------
+
+A suitable database for PhpWiki is not included with Mac OS X 10.1. If
+you decide to use one of the more popular (and free) database packages
+such as mySQL or PostgreSQL with PhpWiki, fortunately there are
+precompiled versions of the software available. Some distributions
+even come with Mac OS X installers which will significantly reduce the
+amount of work you will have to do in the unix environment.
+
+The MySQL 3.23.46 binary installation works well with Mac OS X 10.1
+and PhpWiki. After you install and test mySQL follow the instructions
+given in INSTALL.mysql to prepare a new database for use with PhpWiki.
+
+
+Apache PHP Module
+-----------------
+
+The default PHP module for Apache as supplied by Apple does work with
+PhpWiki but is missing support for the zlib and GD libraries. Wiki
+will still produce a valid ZIP file when an administrator saves a ZIP
+dump of the database but it will not use any compression.
+
+If you want compressed ZIP dumps you will have to install a version of
+PHP which does support the zlib library, or compile PHP yourself and
+replace the default /usr/libexec/httpd/libphp4.so (part of the
+Apple-supplied Apache installation).
+
+PHP with GD library support is required to use "text2png", an
+experimental plugin for Wiki 1.3.
+
+PhpWiki 1.3 already knows where to find the required PEAR.php on Mac
+OS X systems. However if you need to use PEAR with other PHP
+applications, edit or create the file /usr/local/lib/php.ini then add
+the following line:
+
+include_path = ".:/System/Library/PHP";
+
+If you compiled a version of PHP yourself (perhaps newer than the
+4.0.6 version included by Apple) the path will already be included in
+the php.ini file. In that case you shouldn't have to change the path,
+unless you installed PHP into a location other than the default
+/usr/local/ prefix.
+
+
+Obtaining and Installing mySQL and libphp4.so
+---------------------------------------------
+
+Mark Liyanage has graciously provided precompiled Mac OS X versions of
+mySQL, an updated PHP module for Apache and some installation
+instructions on his web site. He has also written some tips if you
+want to compile these programs for yourself.
+
+    <http://www.entropy.ch/software/macosx/>
+
+Note that whether you use the built-in PHP module or another PHP
+module, it must be activated in Apache's httpd.conf before you can use
+PHP. Take a look at Mark's PHP installation instructions or read the
+Apache documentation for more information.
+
+A good place to find other distributions of mySQL or PostgreSQL which
+can be used with Mac OS X are listed at:
+
+    <http://versiontracker.com/macosx/>
+    <http://fink.sourceforge.net/>
+
+PHP 4.1 and Mac OS X
+--------------------
+
+The version of PHP 4.1 from Mark Liyanage's web site requires an
+updated PEAR library. PhpWiki seems to work anyway but it will produce
+warnings about a depreciated user function with each page load.
+
+1.  Move the current contents of '/System/Library/PHP' into a backup
+    folder, such as '/System/Library/PHP/PEAR-4.0.6'.
+
+2.  Take the contents of the 'pear' folder from the official PHP 4.1
+    tarball (php-4.1.0.tar.gz) and move it into '/System/Library/PHP'.
+
+
+PhpWiki Configuration Notes
+---------------------------
+
+Move the phpwiki folder into the directory used by the web server. In
+Mac OS X 10.1 this folder will be "/Library/WebServer/Documents"
+(unless you previously changed it to somewhere else in the config file
+"/private/etc/httpd/httpd.conf").
+
+Follow the generalized installation instructions described in INSTALL
+but with the changes to sections 1 and 2 listed below.
+
+Section 1
+
+The Mac OS X Apache web server runs as user "www" and this works fine
+with PhpWiki so long as "Everyone" has at least read-only access in
+the phpwiki folder's Get Info.
+
+If you want to perform serial dumps instead of ZIP dumps you need to
+set at least one directory to be accessible read-write by the http
+server. The easiest solution is probably to create a new folder called
+"dumps" inside the phpwiki folder, then give the user "www" read-write
+access to it in the terminal:
+
+sudo chown www:www /System/Library/phpwiki/dumps
+sudo chmod u+wrx /System/Library/phpwiki/dumps
+
+Section 2
+
+A few lines need to be inserted into Apache's configuration in order
+to use "nice" URLs with PhpWiki such as:
+
+    "http://somehost/wiki/GoodStyle"
+
+Open the terminal and type in the following to edit the web server
+configuration file (enter your administration password when prompted):
+
+sudo pico /etc/httpd/httpd.conf
+
+Scroll down to the <IfModule mod-alias.c> section. Copy the comment
+line "#PhpWiki 1.3 aliases" and the four lines below it, then paste it
+into the mod_alias section as shown below.
+
+<IfModule mod_alias.c>
+
+    #
+    # Note that if you include a trailing / on fakename then the server will
+    # require it to be present in the URL.  So "/icons" isn't aliased in this
+    # example, only "/icons/".  If the fakename is slash-terminated, then the 
+    # realname must also be slash terminated, and if the fakename omits the 
+    # trailing slash, the realname must also omit it.
+    #
+    Alias /icons/ "/usr/share/httpd/icons/"
+
+#PhpWiki 1.3 aliases
+    Alias /wiki/themes/ "/Library/WebServer/Documents/phpwiki/themes/"
+    Alias /wiki/themes  "/Library/WebServer/Documents/phpwiki/themes"
+    Alias /wiki/favicon.ico "/Library/WebServer/Documents/phpwiki/favicon.ico"
+    Alias /wiki/ "/Library/WebServer/Documents/phpwiki/index.php/"
+    Alias /wiki  "/Library/WebServer/Documents/phpwiki/index.php"
+
+
+To save your changes and exit, press 'control-x', then 'y' followed by
+the 'return' key.
+
+Restart the Web Sharing server from the System Preferences "Sharing"
+control panel or from the terminal:
+
+sudo apachectl graceful
+
+Next, edit the following lines in part five of index.php to match the
+following:
+
+define('DATA_PATH', '/wiki');
+define('USE_PATH_INFO', true);
+define('VIRTUAL_PATH', '/wiki');
+
+Section 3
+
+To retain your PhpWiki logs between system restarts you should specify
+a non-temporary directory. I recommend you use the same folder where
+the web-server stores it's logs. Change the following (line 73) in
+index.php from:
+
+define('ACCESS_LOG', '/tmp/wiki_access_log');
+
+to something like:
+
+define('ACCESS_LOG', '/private/var/log/httpd/wiki_access.log');
+
+Note that the automatic /etc/daily and weekly cron cleanup routines
+will not touch the Wiki log file--even if it is in the same directory
+as the httpd logs--it will be up to you to Trash it once in a while or
+write your own /etc/daily.local file to include it as part of a server
+log rotation.
+
+The web server must have write access to the log file:
+
+    sudo chown www /private/var/log/httpd/wiki_access.log
+
+
+Using Apple's Project Builder with PhpWiki
+------------------------------------------
+
+A PB project file is available on the SourceForge CVS server to allow
+you to easily edit PhpWiki's source code using Apple's Project
+Builder. PB 2.1 (Dec 2002 DevTools) is recommended. If you have not
+yet updated to at least PB 1.1.1 (Dec 2001 DevTools) it is highly
+recommended you do so because the PhpWiki source are written in
+ISO-8859-1, and some of the bug fixes are pertinent to file encoding.
+
+The older PB 1.1 has some bugs which makes it impossible to select the
+correct character encoding in the GUI for any pre-existing source code
+files. By using this project file you will find the PhpWiki source
+files are already preset to use the correct ISO-8859-1 (Western
+Latin-1) encoding.
+
+Also by using the project file, if you are updating or adding a
+tranlastion to the './phpwiki/locale/po/' files, you do not have to
+run 'make' from the terminal window. The Build Target settings have
+been preconfigured to automatically build the project with a "legacy
+Makefile", by invoking '/usr/bin/gnumake' in the folder
+'./phpwiki/locale'. Just click the build button in the toolbar.
+
+To download the phpwiki.pbxproj bundle, use CVS to checkout the module
+named "phpwiki.pbxproj" then place it into the same folder which
+contains your "phpwiki" folder.
+
+
+How to use SSH with Project Builder
+-----------------------------------
+
+To use the CVS functions in PB, the phpwiki folder itself must have
+been checked out with CVS (i.e. the 'CVS' folders within each
+subdirectory of the phpwiki source are required by PB).
+
+Project Builder 1.1.1 (December 2001 Dev Tools) can be used with
+SourceForge's CVS but a little work is needed to get it set up the
+first time. The following instructions were based on a tip from
+macosxhints.com.
+
+Preparation
+
+Make sure that your ssh keys have been uploaded to your account at
+SourceForge and that you can sucessfully ssh into your account. Next,
+ensure that you can check out your project from SourceForge using the
+unix command-line based CVS tools provided by Mac OS X.
+
+Instructions
+
+1.  Download and install "keychain" from:
+
+    <http://www.gentoo.org/projects/keychain.html>
+
+Keychain is also available via the Fink package manager.
+
+The Keychain script acts as a front-end to ssh-agent, allowing you to
+easily have one long-running ssh-agent process per system, rather than
+per login session. This dramatically reduces the number of times you
+need to enter your passphrase, from once per new terminal window
+session to once every time your local machine is rebooted. It also
+allows you to use Project Builder with SSH instead of RSH. SSH is
+required if you want to commit files to a CVS repository at
+SourceForge.
+
+2.  If you use the default tcsh shell or csh, add the following to your
+    .cshrc file:
+
+setenv CVS_RSH 'ssh'
+alias pb 'open -a /Developer/Applications/Project\ Builder.app '
+# Alias to servers via SSH
+alias sshsf 'ssh mysfuserid@phpwiki.sourceforge.net'
+
+    Also add the following to your ~/.login file:
+
+# Keychain is an OpenSSH key manager
+# This will add my SSH1 and SSH2 key
+# Use '/sw/bin/keychain' for a fink-installed keychain
+/usr/bin/keychain ~/.ssh/id_rsa ~/.ssh/id_dsa
+source ~/.keychain/${HOST}-csh
+
+
+    If you use bash instead, add following lines to the ~/.bashrc file:
+
+CVS_RSH=ssh; EXPORT CVS_RSH
+alias pb='open -a /Developer/Applications/Project\ Builder.app '
+# Alias to servers via SSH
+alias sshsf='ssh mysfuserid@phpwiki.sourceforge.net'
+
+    Bash users also add the following to your ~/.login file:
+
+# Keychain is an OpenSSH key manager
+# This will add my SSH1 and SSH2 key
+/usr/bin/keychain ~/.ssh/id_rsa ~/.ssh/id_dsa
+source ~/.keychain/${HOSTNAME}-sh
+
+
+3.  Close the terminal window then open a new one. Keychain will
+    activate ssh-agent which will ask for your ssh key password. It
+    keeps running in the background and won't ask for your password
+    again until you log out or restart.
+
+4.  From now on, YOU MUST open Project Builder from the Terminal shell
+    for it's CVS to work with SSH. This is why we created a command
+    alias in .cshrc to launch Project Builder. If it is already
+    running because you double-clicked the PB icon, quit it, then
+    launch it from the terminal by typing pb. <em>Once PB is running
+    you can safely double-click a project file to open it</em>.
+
+Using the above method, ProjectBuilder will successfully connect to
+the Sourceforge CVS with SSH. Any other server which requires cvs
+connections to be made cia ssh instead of rsh should now work too.
+
+Note: Renaming /usr/bin/rsh to something else and replacing it with
+      ssh doesn't seem to work; Project Builder simply MUST be
+      launched from the command line for it to work at all with ssh.
+
+Hopefully Project Builder's integrated CVS will be improved in the
+future to directly support SSH. To let Apple know that full support
+for SSH in Project Builder is important, send an email to:
+
+      <macosx-tools-feedback@group.apple.com>
+
+
+Project Builder: Miscellaneous 
+------------------------------
+
+ProjectBuilder 1.1.1 has a new auto-indent feature but it does not yet
+recognise php files. You can create a temporary file with the filename
+suffix ".c" and drag it into the project. Paste your code into that temp
+file to use auto-indent, then copy your changes back to the original file
+when you're done.
+
+
+Emacs Users: You can add custom Alt-key bindings to Project Builder
+for some common Emacs stuff: *Note the wrapped url!
+
+<http://developer.apple.com/techpubs/macosx/Cocoa/TasksAndConcepts/
+ProgrammingTopics/TextDisplay/Tasks/TextDefaultsAndBindings.html>
+
+
+If you have problems after all of this, try contacting the
+phpwiki-talk list at phpwiki-talk@lists.sourceforge.net.
+
+Carsten Klapp <carstenklapp@users.sourceforge.net>
+
+$Id: INSTALL.MacOSX,v 1.17 2004/05/09 00:57:31 rurban Exp $
diff -ruN 1.3.12p3/doc/INSTALL.mSQL 1.3.14/doc/INSTALL.mSQL
--- 1.3.12p3/doc/INSTALL.mSQL	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/doc/INSTALL.mSQL	2007-07-01 05:11:02.000000000 -0500
@@ -0,0 +1,62 @@
+FIXME: The flatfile backend has not yet been ported to the new database
+scheme.  For now, it is broken.
+
+Note: mSQL will not be supported in the 1.3 development branch, unless
+someone wants to assume responsibility for it. When the new version of
+mSQL is released we might reconsider it, but there has been no demand
+for a mSQL based Wiki so far. --Steve Wainstead, swain@panix.com
+
+
+mSQL support is fairly stable. However, due to the limitations of
+mSQL's SQL syntax, certain features found in the MySQL and Postgresql
+versions are not available. This is not to say they can't be done, but
+it will require a lot more code in msql.php to compensate for the lack
+of advanced SQL syntax. Simplicity is one of mSQL's virtues however.
+
+Setting up mSQL is beyond the scope of this document. See
+http://www.hughes.com.au/ for information on downloading and
+instructions.
+
+Create the database. You might need system privledges to do this:
+
+[root@localhost phpwiki]# msqladmin create wiki
+Database "wiki" created.
+[root@localhost phpwiki]# 
+
+Load the database schema (here I'm in the phpwiki/ directory created
+after untarring the application):
+
+[swain@localhost phpwiki]$ msql wiki < schemas/minisql-initialize.sql
+
+You will see a few error messages like this: 
+
+mSQL >     -> 
+
+ERROR : Unknown table "wiki"
+
+This is normal because the schema file drops the table and then
+creates it... dropping a nonexistent table is a nonfatal error and you
+don't have to worry about it. You should see a lot of these:
+
+mSQL >     ->     -> 
+Query OK.  1 row(s) modified or retrieved.
+
+
+
+
+mSQL >     -> 
+Bye!
+
+
+
+Now the database is created; edit lib/config.php and comment out the
+DBM file settings. Uncomment the mSQL settings, making sure the values
+are correct.
+
+That should be all! Try accessing your Wiki now. Read INSTALL and
+README for more information, plus the comments in lib/config.php.
+
+--Steve Wainstead
+swain@panix.com
+
+$Id: INSTALL.mSQL,v 1.3 2004/07/25 17:46:44 dfrankow Exp $
diff -ruN 1.3.12p3/doc/INSTALL.mysql 1.3.14/doc/INSTALL.mysql
--- 1.3.12p3/doc/INSTALL.mysql	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/doc/INSTALL.mysql	2007-07-01 05:11:02.000000000 -0500
@@ -0,0 +1,81 @@
+Installing phpwiki with MySQL 
+-----------------------------
+
+A MySQL configuration is relatively hard to setup and slow, compared 
+to dba or better SQL databases.
+
+This assumes that you have a working MySQL server and client setup.
+Installing MySQL is beyond the scope of this document.
+For more information on MySQL go to http://www.mysql.org/
+
+1. If you do not have a suitable database already, create one (using
+   the root or other privileged account you set up when MySQL was
+   installed.)
+
+	mysqladmin -uuser -ppassword create phpwiki
+
+2. If necessary create a user for that database which has the rights
+   to select, insert, update, delete (again using the root
+   administration account).
+
+	mysql -uuser -ppassword phpwiki
+
+   A MySQL grant statement for this user would look like this:
+
+	GRANT select, insert, update, delete, lock tables 
+	ON phpwiki.*
+	TO wikiuser@localhost
+	IDENTIFIED BY 'password';
+
+	Upgrade note: The mysql wikiuser needs to have the LOCK TABLES
+	privilege granted for all the wiki tables (PAGE, VERSION,
+	LINK, RECENT and NONEMPTY). This is a relatively new privilege type.
+
+3. Create tables inside your database (still using the root account).
+
+	mysql -uuser -ppassword phpwiki < schemas/mysql-initialize.sql
+
+   Note: the user specified in this command needs to have the rights
+         to drop and create tables. Use the same user as in step 1.
+
+4. Edit the DATABASE settings in config/config.ini to reflect your settings.
+
+	a) DATABASE_TYPE should be set to 'SQL' or 'ADODB'.
+	b) DATABASE_DSN should be set to something like
+           'mysql://guest@unix(/var/lib/mysql/mysql.sock)/phpwiki".
+	   (where 'phpwiki' is the mysql database name.)
+        c) Note that if you set DATABASE_PREFIX to a 
+           non-empty string, you will have to edit
+           schemas/mysql-initialize.sql before you perform step
+           three (above).  (Sorry.)  (You might also edit
+           schemas/mysql-destroy.sql at the same time, so you
+           don't forget.)
+
+That's it. Phpwiki should now work. 
+DATABASE_DIRECTORY and DATABASE_DBA_HANDLER are ignored for mysql.
+
+If you run into problems then check that your MySQL-user has
+the necessary access rights for the phpwiki tables.
+
+Hint for Linux-Debian users: it may be necessary to load the MySQL
+module first: insert the following line in config.php before
+"mysql.php" gets included:
+if (!extension_loaded("mysql"))  { dl("mysql.so"); }
+
+
+Upgrading a MySQL phpwiki
+-------------------------
+
+If schemas/mysql-initialize.sql has changed for your old phpwiki
+installation (or changed when compared to the old "mysql.sql" file),
+you can either create missing tables manually and ALTER the changed
+tables manually.  
+Or you can run ?action=upgrade (also from "Upgrade"
+at PhpWikiAdministration), but then your database user needs the
+necessary ALTER and CREATE permissions. 
+You might want to set DBADMIN_USER temporarly in your config.ini.
+?action=upgrade also brings all changed pgsrc files up-to-date.
+
+/Reini Urban and Arno ahollosi@mail.com
+
+$Id: INSTALL.mysql,v 1.7 2004/12/17 09:28:40 rurban Exp $
diff -ruN 1.3.12p3/doc/INSTALL.oci8 1.3.14/doc/INSTALL.oci8
--- 1.3.12p3/doc/INSTALL.oci8	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/doc/INSTALL.oci8	2007-07-01 05:11:02.000000000 -0500
@@ -0,0 +1,70 @@
+Installing phpwiki with Oracle 
+------------------------------
+
+(derived from the MySQL INSTALL file!)
+
+This assumes that you have a working Oracle server and client setup.
+Installing Oracle is beyond the scope of this document. If you cannot get
+Oracle working together with PHP, look at:
+http://otn.oracle.com/tech/opensource/php/php_troubleshooting_faq.html
+
+The oci8 database backend (WikiDB/backend/oci8.php) has been developped with an
+Oracle 10g database. It should work with earlier versions but no test has been 
+made.
+
+1. Create a database schema/user using the appropriate user interface 
+   or sqlplus.
+   Example:
+
+	sqlplus system/manager
+	SQL> create user phpwiki identified by phpwiki
+          2  default tablespace users
+          3  temporary tablespace temp;
+
+        User created.
+
+        SQL> grant connect, resource to phpwiki;
+
+        Grant succeeded.
+
+        SQL> revoke unlimited tablespace from phpwiki;
+
+        Revoke succeeded.
+
+        SQL> alter user phpwiki quota unlimited on users;
+
+        User altered.
+
+
+2. Create tables inside your database database schema
+
+        sqlplus phpwiki/phpwiki @ oci8-initialize.sql
+
+   Note: 
+        The script uses 'phpwiki_' as object prefix. You have to define this
+	prefix in your phpWiki config.ini file.
+	You have to use a prefix to avoid issues with Oracle reserved names.
+
+3. Edit your config/config.ini to reflect your settings.
+
+	a) DATABASE_TYPE should be set to 'SQL'.
+	b) DATABASE_DSN should be set to something like
+           'oci8://username:password@dbstring'.
+	   (where 'dbstring' designates your database instance -- as defined
+	   in your tnsnames.ora or a 10g Easy Connect string)
+        c) DATABASE_PREFIX should be 'phpwiki_'
+           (unless you modified the oci8-initialize.sql script)
+	d) DBAUTH_ parameters (need more testing): ensure all tables have the 
+	   'phpwiki_' prefix. You need to have at least the following 2 SQL
+	   statement changed:
+	   DBAUTH_PREF_SELECT = 
+	    "SELECT prefs FROM phpwiki_pref WHERE userid='$userid'"
+	   DBAUTH_PREF_UPDATE = 
+	    "UPDATE phpwiki_pref SET prefs='$pref_blob' where userid='$userid'"
+
+That's it. phpwiki should now work.
+
+/Phil
+Philippe.Vanhaesendonck@topgame.be
+
+$Id: INSTALL.oci8,v 1.2 2004/07/25 17:46:44 dfrankow Exp $
diff -ruN 1.3.12p3/doc/INSTALL.pgsql 1.3.14/doc/INSTALL.pgsql
--- 1.3.12p3/doc/INSTALL.pgsql	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/doc/INSTALL.pgsql	2007-07-01 05:11:02.000000000 -0500
@@ -0,0 +1,104 @@
+NOTE: postgresql does work with phpwiki 1.2.x and 1.3.x
+
+You might want to see http://www.sslug.dk/~chlor/phpwiki-pgsql-install.html 
+for notes how to install it for 1.3.4 (and later)
+
+UPGRADE FROM 1.3.11 to 1.3.12
+
+  tsearch2 is mandatory now.
+  stored procedures and referential integrity was added.
+  auto-incrementing indices were added (SERIAL INDEX)
+  The user table is deprecated now, pref is enough.
+
+  There's a special upgrade script:
+
+  bash$ psql phpwiki < /usr/share/postgresql/contrib/tsearch2.sql 
+  bash$ pgql phpwiki < schemas/psql-1_3_12.sql
+
+----------
+NOTE for the 1.2 release: You may see a few warnings when you first
+load the pages. They may look like this:
+
+***
+Warning: PostgresSQL query failed: ERROR: ExecAppend: Fail to add null
+value in not null attribute pagename in lib/pgsql.php on line 417
+
+Inserting page ConvertSpacesToTabs, version 1 from text file
+***
+
+This is not a problem since PhpWiki is trying to update a table that
+tracks hits and links.
+----------
+
+Installation instructions for PhpWiki with a Postgresql database
+
+Installation of Postgresql will not be discussed here... you can get a
+copy from http://www.postgresql.org/. However if you are running 
+Red Hat Linux, all you need to do is install the PHP RPM and the 
+Postgresql RPM and edit your Apache httpd.conf file, and uncomment 
+the lines for all PHP files.
+
+  And BTW. add index.php to the list of directory files while you're 
+  at it... you may also need to add .php as a type handled by mod_php: 
+
+  <IfModule mod_php3.c>
+    AddType application/x-httpd-php3 .php3
+    AddType application/x-httpd-php3 .php
+    AddType application/x-httpd-php3-source .phps
+  </IfModule>
+
+  FIXME: php4
+
+  (This is from a stock 6.2 Red Hat distro, which ships with an rpm of
+  PHP 3.0.12, but should give you an idea. I had to add the line for
+  .php).
+
+Also note that Postgresql by default has a hard limit of 8K per
+row. This is a Really Bad Thing. You can change that when you compile
+Postgresql to allow 32K per row, but supposedly performance
+suffers. The 7.x release of Postgresql is supposed to fix this.
+
+It's probably a good idea to install PhpWiki as-is first, running it
+off DATABASE_TYPE=dba, a single DBM file. This way you can test most 
+of the functionality of the Wiki.
+
+Once that's done and you have the basic stuff done that's listed in 
+the INSTALL, the time comes to move to Postgresql.
+
+Edit config.ini for Postgresql. The lines are clearly commented and 
+you should have no problem with this.
+
+Next you need to create a new database, like "phpwiki".
+
+  bash$ createdb phpwiki
+
+Now run the script schemas/psql-initialize.sql to create the tables:
+
+  bash$ psql phpwiki -f schemas/psql-initialize.sql
+
+Newer versions of postgresql will require: 
+  bash$ pgql phpwiki < schemas/psql-initialize.sql
+
+Since phpwiki-1.3.12 you'll need to initialize the tsearch2 module before.
+You may want to manually inspect schemas/psql-initialize.sql and add 
+dictionaries and stopword lists for your language.
+See http://www.sai.msu.su/~megera/postgres/gist/tsearch/V2/
+
+  bash$ psql phpwiki < /usr/share/postgresql/contrib/tsearch2.sql 
+  bash$ pgql phpwiki < schemas/psql-initialize.sql
+
+If the schema starts to load but then fails near the end, you might
+need to change the user name at the top of psql-initialize.sql to
+match that which is used by your web server; e.g. nobody, apache, or
+www.
+
+For some reason I had to stop/start the database so that these changes took 
+effect.. after that just open up the Wiki in your browser and you should
+have a brand-new PhpWiki running!
+
+If you find something I missed, please let us know.
+Reini Urban, Steve Wainstead <swain@panix.com>
+
+Report bugs to phpwiki-talk@lists.sourceforge.net
+
+$Id: INSTALL.pgsql,v 1.7 2005/11/21 20:50:26 rurban Exp $
diff -ruN 1.3.12p3/doc/INSTALL.sqlite 1.3.14/doc/INSTALL.sqlite
--- 1.3.12p3/doc/INSTALL.sqlite	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/doc/INSTALL.sqlite	2007-07-01 05:11:02.000000000 -0500
@@ -0,0 +1,41 @@
+Installing phpwiki with SQLite 
+------------------------------
+
+SQLite support is highly experimental but necessary. 
+
+SQLite is from PHP5 on the default database, built in PHP's core. 
+MySQL is only a extension module and relatively hard to setup (or 
+impossible on certain windows builds such as php-5.0.0b4), similar to dba.
+sqlite extensions exist for php-4.3.x but not for 4.2.x
+Get the 4..3.x windows dll at http://snaps.php.net/win32/PECL_4_3/php_sqlite.dll
+
+To setup the initial tables you currently need the external sqlite
+executable client. On Microsoft Windows download the sqlite.exe binary
+from http://www.sqlite.org/sqlite.zip
+We work on a solution to setup the database on a virgin wiki 
+automatically, so that the sqlite binary is not needed anymore.
+
+sqlite /tmp/phpwiki-sqlite.db < schemas/sqlite-initialize.sql
+
+Edit the DATABASE settings in config/config.ini to reflect your settings.
+
+  a) DATABASE_TYPE must be set to 'SQL'.
+     ADODB not yet. This is planned for the 1.4.0 release.
+
+  b) DATABASE_DSN should be set to something like
+     DATABASE_DSN = "sqlite:////tmp/phpwiki-sqlite.db?mode=0664&persistent=1"
+
+That's it. PhpWiki should now work.
+
+UPGRADING the schema
+--------------------
+
+echo ".dump" | sqlite /tmp/phpwiki-sqlite.db > dump.sql
+# fix the dump.sql file: adding indices or columns
+mv /tmp/phpwiki-sqlite.db /tmp/phpwiki-sqlite.old
+sqlite /tmp/phpwiki-sqlite.db < dump.sql
+
+Authors: 
+ReiniUrban (phpwiki developer) and Matthew Palmer (phpwiki debian maintainer)
+
+$Id: INSTALL.sqlite,v 1.7 2004/07/25 17:46:44 dfrankow Exp $
Binary files 1.3.12p3/doc/phpwiki_architecture.png and 1.3.14/doc/phpwiki_architecture.png differ
diff -ruN 1.3.12p3/doc/README.coding 1.3.14/doc/README.coding
--- 1.3.12p3/doc/README.coding	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/doc/README.coding	2007-07-01 05:11:02.000000000 -0500
@@ -0,0 +1,84 @@
+
+Here are the coding guidelines for PhpWiki.
+
+!!! Code Indentation Style
+
+We follow, for the most part, the PEAR coding standards:
+
+    <http://www.php.net/manual/en/pear.standards.php>
+
+There's code snippets for configuring Emacs and Vim as well as several
+other text editors at the above URL.
+
+!! Emacs Users
+
+For editing files in Emacs, set indent-tabs-mode to nil. Some people
+argue that it's better to use tabs and let people set their tab width,
+but I think we're better off using just spaces because aligned
+comments in the right region will not align correctly. For a detailed
+argument see <http://www.jwz.org/doc/tabs-vs-spaces.html>.  Also use a
+tab-width of eight, so that just in case tabs do creep into the source
+code, they have a standard width.
+
+Use php-mode as well. This is freely available on the net
+<http://sourceforge.net/projects/php-mode/>. Put something like this
+in your .emacs file:
+
+ (autoload 'php-mode "php-mode" "PHP editing mode" t)
+ (add-to-list 'auto-mode-alist '("\\.php\\d?$" . php-mode))
+ (add-hook 'php-mode-hook
+	   (lambda ()
+	     (c-set-style "gnu")
+	     ;; This syntax table mod makes the second line in:
+	     ;; 
+	     ;;   function( $arg1,
+	     ;;             $arg2 );
+	     ;;
+	     ;; Line up correctly.
+	     ;;
+	     (modify-syntax-entry ?$ "'" php-mode-syntax-table)
+	     (set (make-local-variable 'tab-width) 8)
+	     (set (make-local-variable 'c-basic-offset) 4)
+	     (set (make-local-variable 'c-hanging-comment-ender-p) 'nil)
+	     (set (make-local-variable 'indent-tabs-mode) 'nil)))
+
+
+!!! I18N: Using gettext()
+
+String literals which end up making it into the HTML output should be
+wrapped with a call to ''gettext()''.  This allows translations to be
+substituted when PhpWiki is run in non-english environments.
+
+Since xgettext (part of the "GNU gettext utilities") is used to find
+strings for translation, It is important that the argument of
+''gettext()'' be a constant string literal, in double quotes (").
+
+Remember that xgettext only knows about c/c++ line-continuation
+strings, it does not know about php's dot operator.
+
+You can now use _("foo") as an alias for gettext("foo").
+
+ OKAY:  gettext("This is a message.");
+ OKAY:  _("Fazool."); 
+ OKAY:  sprintf(_("Hello %s"), $name);
+ OKAY:  sprintf(_("Hello %s"), $name);
+
+ BAD:   _('This will be ignored by xgettext.');
+ BAD:   _("Howdy" . ", wazoo");
+ BAD:   _("Hello $name");
+ BAD:   define("MES", "howdy");  gettext(MES);
+ BAD:   _($string);
+
+If you want Emacs po mode to automatically kick-in when you edit a po
+file, add the following to your .emacs file:
+
+ (setq auto-mode-alist
+       (cons '("\\.po[tx]?\\'\\|\\.po\\." . po-mode) auto-mode-alist))
+ (autoload 'po-mode "po-mode")
+
+!!! Mac OS X: Project Builder
+
+See INSTALL.MacOSX for instructions on using Project Builder with
+PhpWiki and SourceForge.
+
+$Id: README.coding,v 1.5 2002/01/05 10:32:16 carstenklapp Exp $
diff -ruN 1.3.12p3/doc/README.foaf 1.3.14/doc/README.foaf
--- 1.3.12p3/doc/README.foaf	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/doc/README.foaf	2007-07-01 05:11:02.000000000 -0500
@@ -0,0 +1,242 @@
+!FoaF
+!Technology
+* RAP - RDF API for PHP
+* XML_FOAF, Pear
+
+!Why not bare bones RAP?
+RAP is too hard to work with, it provides all of the needed power and functionality, but this means that it tends to get a bit complex to deal with.
+
+!What does XML_FOAF do?
+Its a parser and creator of FOAF files. It was written by [David Shafik|http://beta.plink.org/profile/26b2e3834d83a5ca3fc81e5a942862f7a2bcb653] (Plink), and is currently not ''stable''.
+
+Its really easy to use:
+<verbatim>
+<?php
+require_once 'XML/FOAF.php';
+// Main FOAF
+$foaf = new XML_FOAF();
+
+$foaf->newAgent('person');
+$foaf->setName('Davey Shafik');
+$foaf->setTitle('Mr');
+$foaf->setFirstName('Davey');
+$foaf->setSurname('Shafik');
+$foaf->addMbox('mailto:davey@php.net',TRUE); // see also: XML_FOAF::setMboxSha1Sum();
+$foaf->addHomepage('http://pixelated-dreams.com/~davey/');
+$foaf->addWeblog('http://pixelated-dreams.com/blog');
+$foaf->addImg('http://pixelated-dreams.com/~davey/me.jpg');
+$foaf->addPage('http://pixelated-dreams.com/~davey/CV','Curriculum Vitae','Davey Shafiks Curriculum Vitae');
+$foaf->addPage('http://www.php-mag.net/itr/online_artikel/psecom,id,484,nodeid,114.html','Sticking The Fork In','Creating Daemons in PHP');
+$foaf->addPage('http://pawscon.com/', 'PHP and Web Standards Conference UK 2004', 'A Conference dedicated to PHP, Web Standards and the Semantic Web');
+$foaf->addPhone('07776293539');
+$foaf->addJabberID('fractured_realities@jabber.org');
+$foaf->addTheme('http://php.net');
+$foaf->addOnlineAccount('Davey','http://freenode.info','http://xmlns.com/foaf/0.1/OnlineChatAccount');
+$foaf->addOnlineGamingAccount('Davey_S','http://www.there.com');
+$foaf->addWorkplaceHomepage('http://www.pawscon.com');
+$foaf->addSchoolHomepage('http://www.nobel.herts.sch.uk/');
+$foaf->addInterest('http://xmlns.com/foaf/0.1/');
+$foaf->addFundedBy('http://synapticmedia.net');
+$foaf->addLogo('http://paws.davey.is-a-geek.com/images/paws.jpg');
+$foaf->setBasedNear(52.565475,-1.162895);
+$foaf->addDepiction('http://example.org/depiction/');
+$foaf->addDepiction('http://example.org/depiction/2');
+
+// Content of a <foaf:knows><foaf:Person /></foaf:knows>
+$matt = new XML_FOAF();
+$matt->newAgent('person');
+$matt->setName('Matt McClanahan');
+$matt->addNick('mattmcc');
+$matt->addMboxSha1Sum('0cd5f54daf6aa59d1071ea6bf2973e0171ece606',TRUE);
+$matt->addSeeAlso('http://mmcc.cx/foaf.rdf');
+$matt->addJabberID('mattmcc@jabber.com');
+$matt->addOnlineChatAccount('mattmcc','http://freenode.info','http://xmlns.com/foaf/0.1/OnlineChatAccount');
+// Add to Main FOAF
+$foaf->addKnows($matt);
+
+// Another <foaf:knows><foaf:Person /></foaf:knows>
+/*
+Although we use another instance of XML_FOAF, we could re-use
+the one from above ($matt)
+*/
+$libby = new XML_FOAF();
+$libby->newAgent('person');
+$libby->setName('Libby Miller');
+$libby->addMbox('mailto:libby.miller@bristol.ac.uk');
+$libby->addSeeAlso('http://swordfish.rdfweb.org/people/libby/rdfweb/webwho.xrdf');
+
+// Add to Main FOAF
+$foaf->addKnows($libby);
+
+$mcd = new XML_FOAF();
+$mcd->newAgent('Organization');
+$mcd->setName('McDonalds');
+$mcd->addHomepage('http://www.mcdonalds.com/');
+
+$foaf->addKnows($mcd);
+
+if (!isset($_GET['xml'])) {
+echo "<pre>" .htmlentities($foaf->get()). "</pre>";
+echo "<hr />";
+show_source(__FILE__);
+} else {
+header('Content-Type: text/xml');
+$foaf->dump();
+}
+
+/* Output
+<rdf:RDF xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:foaf="http://xmlns.com/foaf/0.1/"
+xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#"
+xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#">
+<foaf:Person>
+   <foaf:name>Davey Shafik</foaf:name>
+   <foaf:title>Mr</foaf:title>
+   <foaf:firstName>Davey</foaf:firstName>
+   <foaf:surname>Shafik</foaf:surname>
+   <foaf:mbox_sha1sum>26b2e3834d83a5ca3fc81e5a942862f7a2bcb653</foaf:mbox_sha1sum>
+   <foaf:homepage rdf:resource="http://pixelated-dreams.com/~davey/" />
+   <foaf:img rdf:resource="http://pixelated-dreams.com/~davey/me.jpg" />
+   <foaf:page>
+	   <foaf:Document rdf:about="http://pixelated-dreams.com/~davey/CV/">
+		   <dc:title>Curriculum Vitae</dc:title>
+	   </foaf:Document>
+   </foaf:page>
+   <foaf:phone rdf:resource="tel:07776293539" />
+   <foaf:workplaceHomepage rdf:resource="http://www.pawscon.com" />
+   <foaf:schoolHomepage rdf:resource="http://www.nobel.herts.sch.uk/" />
+   <foaf:interest rdf:resource="http://xmlns.com/foaf/0.1/" />
+   <foaf:based_near>
+	   <geo:Point geo:lat="52.565475" geo:long="-1.162895" />
+   </foaf:based_near>
+   <foaf:knows>
+	   <foaf:Person>
+		   <foaf:name>Matt McClanahan</foaf:name>
+		   <foaf:nick>mattmcc</foaf:nick>
+		   <foaf:mbox_sha1sum>0cd5f54daf6aa59d1071ea6bf2973e0171ece606</foaf:mbox_sha1sum>
+		   <rdfs:seeAlso rdf:resource="http://mmcc.cx/foaf.rdf" />
+	   </foaf:Person>
+   </foaf:knows>
+   <foaf:knows>
+	   <foaf:Person>
+		   <foaf:name>Libby Miller</foaf:name>
+		   <foaf:mbox rdf:resource="mailto:libby.miller@bristol.ac.uk" />
+		   <rdfs:seeAlso rdf:resource="http://swordfish.rdfweb.org/people/libby/rdfweb/webwho.xrdf" />
+	   </foaf:Person>
+   </foaf:knows>
+</foaf:Person>
+</rdf:RDF>
+*/
+?>
+</verbatim>
+
+!Parsing
+Parsing isn't so hard either:
+<verbatim>
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+ <html xmlns="http://www.w3.org/1999/xhtml">
+ 	<head>
+ 		<title>XML_FOAF_Parser Example</title>
+ 		<meta name="Author" content="" />
+ 		<meta name="Keywords" content="" />
+ 		<meta name="Description" content="" />
+ 		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ 		<style type="text/css">
+			table,th,td { border: 1px solid black; }
+		</style>
+	</head>
+	<body>
+		<?php
+// Get our FOAF File from $_GET['foaf']
+if (!isset($_REQUEST['foaf'])) {
+echo "<strong>Please enter a FOAF file below";
+} else {
+$foaf = file_get_contents($_REQUEST['foaf']);
+
+// Require the XML_FOAF_Parser class
+require_once 'XML/FOAF/Parser.php';
+
+// Create new Parser object
+$parser = new XML_FOAF_Parser;
+
+// Start of output
+echo '<h1>XML_FOAF_Parser Example</h1>';
+if (isset($_REQUEST['xml'])) {
+echo '<pre>' .htmlentities($foaf). '</pre>';
+}
+
+// Parser our FOAF in $foaf
+$parser->parseFromMem($foaf);
+
+if (isset($_REQUEST['table'])) {
+// Show our FOAF as an HTML table
+echo "<h2>FOAF as HTML Table</h2>";
+echo $parser->toHTML($parser->toArray());
+}
+
+if (isset($_REQUEST['array'])) {
+// Show the contents of the FOAF Data array
+echo "<h2>FOAF as Array</h2>";
+echo "<pre>";
+var_dump($parser->toArray());
+echo "</pre>";
+}
+}
+?>
+		<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
+			<p>
+				<label>FOAF File URI: <input type="text" name="foaf" value="<?php echo(@$_REQUEST['foaf']) ?>" /></label>
+				<br />
+				Show XML: <input type="checkbox" name="xml" value="true" />
+				<br />
+				Show as HTML Table: <input type="checkbox" name="table" value="true" checked="checked" />
+				<br />
+				Show as Array: <input type="checkbox" name="array" value="true" />
+				<br />
+				<input type="submit" value="Parse FOAF!" />
+			</p>
+		</form>
+	</body>
+</html>
+</verbatim>
+
+!How will the plugin(s) work?
+# FoafViewerPlugin is embedded in a normal phpwiki page, with default arguments coming from $_GET varibles.
+# FoafMakePlugin will get some kind of user id from the database, and retrieve any stored information about the user - outputting as FOAF.
+
+!Installing PEAR / XML_FOAF
+The XML_FOAF pear library will not be included with phpwiki, so you have to install the pear 
+library by your own and be sure that the pear path is in the include_path.
+
+Reason: XML_FOAF is based on XML_Parser and XML_Tree, but phpwiki uses its own XML parser and XML 
+tree representation, so it would be unneccesary and incompatible duplication of the same thing.
+
+See: http://pear.php.net/package/XML_FOAF
+PHP Version: PHP 4.3.0 or newer
+PEAR Package: XML_Tree 1.1 or newer
+PEAR Package: XML_Beautifier 0.2.2 or newer
+
+Pear is dead simple to install.
+!! Win32
+<verbatim>
+Start > Run > Command.com
+cd\
+cd c:\php
+go-pear
+</verbatim>
+Follow your nose for a bit. I'm sure you can blunder through it. Next, install the needed modules.
+<verbatim>
+pear download XML_FOAF
+pear download XML_Tree
+pear download XML_Beautifier
+pear upgrade-all
+pear install XML_Tree
+pear install XML_Beautifier
+pear install XML_FOAF
+</verbatim>
+Now, chances are, you won't get away with it all this easy, but if you can't get pear to install XML_FOAF (no ''stable'' package available), then follow these steps next
+# Download [XML_FOAF 0.2|http://pear.php.net/get/XML_FOAF-0.2.tgz]
+# Extract XML_FOAF-0.2.tgz/XML_FOAF-0.2/FOAF/ to C:\php\pear\XML\FOAF
+# Extract documentation to c:\php\pear\docs\
+
+One other thing: make sure your php.ini points to the right location in the ''include_path'' directive!
diff -ruN 1.3.12p3/doc/README.fpdf 1.3.14/doc/README.fpdf
--- 1.3.12p3/doc/README.fpdf	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/doc/README.fpdf	2007-07-01 05:11:02.000000000 -0500
@@ -0,0 +1,4 @@
+The official site for fdpf is http://www.fpdf.org/
+
+fpdf.php and the fonts were taken from the phpMyAdmin distribution, 
+which took some files from the fpdf 1.51 distribution.
diff -ruN 1.3.12p3/doc/README.phpwiki-auth 1.3.14/doc/README.phpwiki-auth
--- 1.3.12p3/doc/README.phpwiki-auth	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/doc/README.phpwiki-auth	2007-07-01 05:11:02.000000000 -0500
@@ -0,0 +1,317 @@
+UserAuthentification
+
+!!! The new phpwiki user authentification and preferences settings
+
+A typical wiki needs no authentification, some wiki's support a so called 
+"Bogo" login, where the username is a wikiword and therefore any note on any page
+(typically ended with "--UserName") is automatically linked to the users homepage 
+on this wiki.
+PhpWiki supported anonymous edits from the beginning, 
+non-anonymous edits, with required BogoLogin since version ???
+and true user identification with required username and passwords since 1.3.4, 
+where the optional password was stored in the users HomePage metadata.
+Seperately PhpWiki could be hacked to be protected by HTTP Auth 
+(e.g. Apache's .htaccess <require>), the username would then be 
+$PHP_AUTH_USER and the password not needed.
+
+Since version 1.3.4 ReiniUrban was working on UserAuthentificationNew
+to support authentification against external sources also, such as a 
+mysql database, LDAP or IMAP or .htaccess like files.
+From version 1.3.4 to 1.3.7 only HTTP Auth, LDAP, and IMAP was supported,
+the configuration settings for the planned (and already written) DbAuth code 
+was in index.php, but it was never enabled (which probably lead to some confusion).
+Since version 1.3.8 UserAuthentificationNew is enabled.
+
+We have to seperate various storage methods for UserPreferences
+(cookie, PersonalPage and database), various retrieval methods for 
+username-password pairs (AuthMethods) and various AuthPolicies.
+
+!! New constants and variables:
+* ALLOW_ANON_USER         default: true
+* ALLOW_ANON_EDIT         default: true
+* ALLOW_BOGO_LOGIN        default: true
+* ALLOW_USER_PASSWORDS    default: true
+* PASSWORD_LENGTH_MINIMUM default: 6
+* $USER_AUTH_ORDER~[~]      default: ("PersonalPage","Db")
+* USER_AUTH_POLICY	  default: "old"
+* $DBAuthParams~[~]         see below
+
+Temporarily:
+; ENABLE_USER_NEW : This will be removed with the 1.3.9 release. 
+;: It's just to decide if ~WikiUserNew.php should be loaded instead of the old ~WikiUser.php
+
+! ALLOW_ANON_USER
+
+To establish a COMPLETELY private wiki, such as an internal corporate one
+set ALLOW_ANON_USER = false, and probably require user passwords as described below. 
+In this case the user will be prompted to login immediately upon accessing
+any page. This is similar to HttpAuth.
+
+! ALLOW_ANON_EDIT
+
+This feature was called REQUIRE_SIGNIN_BEFORE_EDIT before. To enable
+ALLOW_BOGO_LOGIN and/or ALLOW_USER_PASSWORDS, ALLOW_ANON_EDIT must be
+false, otherwise it will override ALLOW_BOGO_LOGIN and
+ALLOW_USER_PASSWORDS. This will go away, with true page permissions.
+
+! ALLOW_BOGO_LOGIN
+
+If ALLOW_BOGO_LOGIN is true, users are allowed to login (with 
+any/no password) using any userid which: 
+  1) is not the ADMIN_USER, and
+  2) is a valid WikiWord (matches $WikiNameRegexp.)
+
+If true, users may be created by themselves. Otherwise we need
+seperate ALLOW_USER_PASSWORDS auth. If such a user will create a so
+called HomePage named after his WikiWord userid, he will be able to
+store his preferences and password there.
+If ALLOW_ANON_EDIT = true, one may still sign in to be able to store 
+UserPreferences and named RecentChanges entries.
+PASSWORD_LENGTH_MINIMUM is ignored by bogo login attempts.
+If an empty password is used, any user can sign in with this userid.
+
+! REQUIRE_SIGNIN_BEFORE_EDIT (Legacy)
+
+If set, then if an anonymous user attempts to edit a page he will
+be required to sign in. This constant was replaced by ALLOW_ANON_EDIT in v1.3.8.
+If ALLOW_BOGO_LOGIN is true, of course, no password is required, but the user 
+must still sign in under some sort of WikiWord name. This will go away, 
+with true page permissions.
+
+! ALLOW_USER_PASSWORDS
+
+True User Authentification is used with Bogo Login and not-empty
+passwords or ALLOW_USER_PASSWORDS = true.
+
+To require user passwords set
+<verbatim>
+   ALLOW_ANON_EDIT  = false
+   ALLOW_BOGO_LOGIN = false
+   ALLOW_USER_PASSWORDS = true
+</verbatim>
+Otherwise any anon or bogo user might login without any or a wrong
+password. A login attempt with ALLOW_USER_PASSWORDS = true depends on
+the defined USER_AUTH_ORDER auth methods, the USER_AUTH_POLICY and
+PASSWORD_LENGTH_MINIMUM.
+
+!! FAQ - UPGRADE PROBLEMS:
+
+* ''Fatal error: The script tried to execute a method or access a
+  property of an incomplete object. Please ensure that the class
+  definition wikiuser of the object you are trying to operate on was
+  loaded _before_ the session was started in...''
+
+This error will appear you switch from old (or from new to old) in the
+same browser session. You have an old (or new) WikiUser object in your
+current session, which is incompatible with the new (or old) WikiUser
+object on session restauration.
+
+Workaround: Close and open your browser again. The session cookie
+should be destroyed, and you will get a fresh new WikiUser
+object. Your default WIKI_ID (your username) will not be lost.
+
+* ''lib\Template.php:22: Warning[2]: fopen("", "rb") - No such file or directory''
+
+PHPWIKI_DIR could not be determined automatically. You probably
+started from a different diretory.
+
+Workaround: Set PHPWIKI_DIR in index.php or in your start script. You
+most likely have to set DATA_PATH also, when your pages look like the
+ancient-style Wiki (Times-Roman, black-white), i.e. no CSS is loaded.
+
+
+Below we define which methods exists and in which order theys are used:
+
+!! USER_AUTH_ORDER auth methods
+
+$USER_AUTH_ORDER is an array of the following strings. You can
+en-/disable any and change the order.
+
+* __~BogoLogin__:  This will eventually replace the old ALLOW_BOGO_LOGIN constant, 
+                   but it will require PASSWORD_LENGTH_MINIMUM. So non-empty passwords can be disabled.
+* __~PersonalPage__:  Store passwords in the users homepage metadata (simple)
+* __Db__:        Use $DBAuthParams~[~] (see below) with PearDB or ADODB only. 
+                 If 'auth_dsn' is undefined, and wiki pages are stored via SQL or ADODB, 
+                 it uses the same database. (fastest)
+* __LDAP__:      Authenticate against LDAP_AUTH_HOST with the LDAP_AUTH_SEARCH settings
+* __IMAP__:      Authenticate against IMAP_AUTH_HOST (e.g. an existing email account)
+* __POP3__:      Authenticate against POP3_AUTH_HOST (e.g. an existing email account)
+* __File__:      Check username:crypted-passwords in .htaccess like files. 
+                 Use e.g. Apache's htpasswd program to manage this file.
+* __~HttpAuth__:  Use the protection by the webserver, either .htaccess or httpd.conf
+                  If no HTTP AUTH is enforced by the webserver (e.g no require valid-user), then
+                  this method will enforce error 401 to force the client to display a password 
+                  entry dialog.
+
+Each method is a WikiUser (in fact a ~_PassUser) class, which defines the checkPass() and 
+userExists() methods and optionally mayChangePass() and storePass().
+
+!! USER_AUTH_POLICY
+
+The available policies defines how and when each auth method from
+USER_AUTH_ORDER is tried, and what to do on failure. Some policies
+require to know it at advance at initialization time, some have to
+check if a valid user exists and some simply check valid username -
+password pairs.
+
+;__old__:   This policy checks all default USER_AUTH_ORDER methods, disables all not defined services (ldap, imap) and tries to use all available methods as in the previous PhpWiki releases with the stacked policy (slow).
+;__first-only__: use only the first method in USER_AUTH_ORDER
+;__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
+;__stacked__:    check the given user - password combination for all methods and return true on the first success.
+
+! AUTH_FILE_* constants
+
+  ''ToDo''
+
+! $DBAuthParams~[~]
+
+Statements for seperate DB User Authentication.
+
+This array defines the database prepare statements to select and
+update the password and preferences.  This is typically used to
+interface with other applications or user databases in quasi secure
+wiki's.  (often so called "Content Management Systems").
+The database can be external like radius, phpnuke, courier authmysql,
+apache auth_mysql or just a simple user table within phpwiki.
+The most likely auth_dsn option is the same dsn as the wikipages, in
+fact if it's empty $DBParams~['dsn'~] is used.  If
+$DBParams~['db_type'~] is not ADODB, the Pear DB library is used
+(db_type = SQL).
+
+This is the list of the available options and some examples. For the statements we use the following symbolic variables:
+   $user_id   : loginname
+   $password  : plain or encrypted password
+   $pref_blob : serialized string of the PHP preferences array (may get large, but not too large. 128 - 1024. mysql TEXT is enough)
+   $groupname     : groupname
+
+Note: The symbolic variables (like "$password", ...) must be enclosed in double quotes!
+ADODB Warning: With ADODB we must currently define the correct alias names: SELECT db_column as name
+This requirement will go away when we switch to FETCH_ROW instead of the slower FETCH_ASSOC 
+(scheduled for 1.4.0)
+
+;auth_dsn:     'mysql://user@password:localhost/phpwiki'
+
+USER => PASSWORD
+
+;auth_crypt_method: 'crypt' (simple unix crypt, not md5 crypt, sha1 or else) or 'plain' (also for mysql md5)
+
+;auth_check:     needs "$password" and "$userid", returns ok with plain or the password with crypt
+
+'auth_crypt_method' = 'plain':
+  'SELECT IF(passwd="$password",1,0) as ok FROM user WHERE username="$userid"' or 
+  'SELECT IF(passwd=PASSWORD("$password"),1,0) as ok FROM user WHERE username="$userid"',
+
+'auth_crypt_method' = 'crypt':
+  'SELECT password as password FROM user WHERE username="$userid"',
+
+auth_user_exists is only needed with auth_crypt_method = plain and USER_AUTH_POLICY = stacked or old:
+;auth_user_exists:  'SELECT username as userid FROM user WHERE username="$userid"'
+
+;auth_update:  'UPDATE user SET password="$password" WHERE username="$userid"' or 
+               'UPDATE user SET password=PASSWORD("$password") WHERE username="$userid"'
+;user_create:  'INSERT INTO user SET username="$userid", password="$password", pref="$pref_blob"'
+
+If auth_update is not defined but auth_check is defined, the user
+cannot change his password. But then better crypt methods may be used
+also. $password is processed by the auth_crypt_method.
+For mysql md5-crypt use auth_crypt_method = plain and 'UPDATE user SET
+password=PASSWORD("$password") WHERE username="$userid"'
+
+user_create is typically undefined, but may be defined to get rid of
+PersonalPage users completely.
+
+auth_user_exists is only needed with auth_crypt_method = plain and
+USER_AUTH_POLICY = stacked or old or for certain plugins which want to
+list all users. With auth_crypt_method = crypt the auth_check
+statement is used for the userExists() check.
+
+USER => PREFERENCES
+
+This can be optionally defined in an external DB. The default is the
+users homepage.
+
+;pref_select: 'SELECT pref as pref FROM user WHERE username="$userid"',
+;pref_update: 'UPDATE user SET pref="$pref_blob" WHERE username="$userid"', or 
+  mysql-specific: 'REPLACE INTO user SET prefs="$pref_blob", userid="$userid"'
+  (only if the pref table uses these two fields only!)
+
+
+USERS <=> GROUPS
+
+DB methods for lib/WikiGroup.php. This can be optionally defined in a
+file (see AUTH_GROUP_FILE) or an external DB. The default storage
+location is a special locked wikipage named after the group and as
+content a list of all groupmembers.
+
+;is_member:     'SELECT 1 FROM groups WHERE user=$userid"" AND group="$groupname"',
+;group_members: ''All members of the group.'' 'SELECT username FROM grouptable WHERE groupname="$groupname"'
+;user_groups:   ''All groups this user belongs to.'' 'SELECT groupname FROM grouptable WHERE username="$userid"'
+
+----
+
+!! UserPreferences
+
+The preferences are stored as serialized hash of non-default values,
+at the following locations:
+
+# Session (volatile)
+# Cookie (only the userid as WIKI_ID)
+# PersonalPage 
+# Database
+
+~AnonUser uses Cookie alone. For signed in users (~BogoUser and
+higher) the PersonalPage and/or Database methods are tried. If these
+methods fail (no such page or user exists) only the userid will be
+stored in a Cookie.  For some short time a serialized array of
+_UserPreference objects was stored which was "not a good thing".
+There is code to detect these objects and convert them automatically.
+Also serialized arrays stored in a WIKI_PREFS2 or WIKI_NAME cookie are
+deprecated and are automatically converted and deleted.
+
+To use the "PersonalPage" location a page with the same name as the
+userid must exist, the so called "HomePage". This does not need be a
+WikiWord pagename but it sure helps.
+
+If $DBAuthParams~['pref_select'~] is defined, PersonalPage preferences
+are ignored and the preferences are read from the database. If
+$DBAuthParams~['pref_update'~] is defined, the preferences are stored
+back into the database.
+
+!! Groups
+
+Group membership information can be stored in 
+# group wikipage
+# database
+# file
+
+For the group wikipage you have to create for every group a page with
+a list of users and the master group page called "CategoryGroup".
+
+For the database setup you can define the following $DBAuthParams[] statements. 
+You can define 1:n or n:m user<=>group relations, as you wish.
+Note: Only the PearDB library may be used so far.
+
+Sample configurations
+
+<verbatim>
+only one group per user:
+  'is_member'     'SELECT 1 FROM user WHERE user=$userid"" AND group="$groupname"',
+  'group_members' 'SELECT user FROM user WHERE group="$groupname"'
+  'user_groups'   'SELECT group FROM user WHERE user="$userid"'
+
+or multiple groups per user (n:m):
+
+  'is_member'  'SELECT 1 FROM groups WHERE user=$userid"" AND group="$groupname"'
+  'group_members'  'SELECT DISTINCT user FROM groups WHERE group="$groupname"'
+  'user_groups'  'SELECT group FROM groups WHERE user="$userid"'
+</verbatim>
+
+Files are defined similar to unix /etc/groups, exactly like apache htgroup files:
+
+AUTH_GROUP_FILE = '<filename>'
+<verbatim>
+  group1: user1 user2 user3 ...
+  group2: ...
+</verbatim>
+
+--ReiniUrban
diff -ruN 1.3.12p3/doc/README.phpwiki-cache 1.3.14/doc/README.phpwiki-cache
--- 1.3.12p3/doc/README.phpwiki-cache	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/doc/README.phpwiki-cache	2007-07-01 05:11:02.000000000 -0500
@@ -0,0 +1,144 @@
+InstallWikiPluginCached       
+
+!!!Requirements
+
+I don't know, tested it with the followings: 
+* WikiPluginCached needs
+** PhpWiki >= 1.3.3
+** Pear Cache >= 1.0
+** GD >= 1.6
+* TexToPng needs
+** TeX 3.14159
+** GNU Ghostscript 6.51 
+** LaTex2HTML Version 99.2beta8 (1.43)
+** Perl >= 5.6.1 built for i586-linux
+* VisualWiki needs
+** graphviz 1.8.x (http://www.graphviz.org/)
+
+!!!Installation
+phpwiki comes with its own copy of PEAR::Cache. 
+You have to configure the PLUGINCACHED Pear/Cache Settings in config/config.ini
+
+*  set PLUGIN_CACHED_CACHE_DIR to a directory accessible by your apache user.
+ 
+!!!Example Calls from Wiki
+!! TexToPng
+This produces a little help screen:
+ < ?plugin TexToPng ?> 
+ 
+A simple formula:
+ < ?plugin TexToPng tex="$x^2$" ?> 
+ 
+Let's show off 
+ < ?plugin TexToPng tex="$$/int^/infty_{-/infty} dx {1 /over /sqrt {x^2+1}}$$" subslash="on" ?> 
+
+----
+
+The available options for TexToPng are:
+;tex:TeX Commands (default: text mode), use $...$ for inline math formula style and $$...$$ for large formula style
+;img:          image type (png, jpeg or gif), if chosen image type is not available use the first possible from png, gif, jpeg (in that order)
+;magstep:      magnify image by (1.2 to the magstep)
+;subslash:     substitute slashes by backslashes (to avoid the backslash bug of the database pear interface)
+;antialias:    render ps to img with antialias option. This produces higher quality output but is slower and needs more disk space.
+;transparent:  produce transparent background instead of white background. Seems to be buggy (in pstoimg - not my fault)
+
+!!VisualWiki
+Standard call:
+ < ?plugin VisualWiki ?>
+Help:
+ < ?plugin VisualWiki help="1" ?>
+
+!!!Known Bugs
+
+WikiPluginCached 0.8
+* VisualWiki and TexToPng use png image type for communication with
+  the image creating scripts (dot and pstoimg), so they rely on
+  CreateImageFronPNG(...)
+* RecentChangesCached produces a strange RSS-link for the RSS-image
+  when it has to store a new html snippet in the cache immediately 
+  after an edit/save cycle.
+
+
+
+
+
+
+
+
+
+
+!!!Examples
+
+This extension of WikiPlugin replaces my old WikiPluginImageCache and allows to cache the following kinds of output:
+
+* html
+** example: [RecentChangesCached - source|http://amor.rz.hu-berlin.de/~h0444nmx/wiki/RecentChangesCached_php] (RecentChanges with a 15 minutes caching interval)
+* images
+** example: [TexToPng - source|http://amor.rz.hu-berlin.de/~h0444nmx/wiki/TexToPng_php] (TeX to image converter)
+** and  [CacheTest - source|http://amor.rz.hu-berlin.de/~h0444nmx/wiki/CacheTest_php] (simple example)
+* image maps
+** example: [VisualWiki - source|http://amor.rz.hu-berlin.de/~h0444nmx/wiki/VisualWiki_php] (VisualWiki draws a graph of some [WikiPage]s showing their mutual linkage using [graphviz|http://www.graphviz.org]).
+
+!!!Requirements
+I used the following versions
+* PhpWiki 1.3.3
+* PEAR Cache 1.1 (needed files are included in the tar ball below)
+* GD >= 1.8
+* For TexToPng
+** Tex 3.14159
+** Perl 5.6.1 built for i586-linux
+** GNU Ghostscript 6.51
+** LaTex2HTML Version 99.2beta8 (1.43)
+* For VisualWiki
+** graphviz 1.8.? (http://www.graphviz.org)
+
+
+!!!Source
+
+These files actually belong to WikiPluginCached
+
+* [imagecache - source|http://amor.rz.hu-berlin.de/~h0444nmx/wiki/imagecache_php] (fetches images from the cache)
+* [WikiPluginCached - source|http://amor.rz.hu-berlin.de/~h0444nmx/wiki/WikiPluginCached_php] (abstract class for cached [WikiPlugin]s)
+* [plugincache-config - source|http://amor.rz.hu-berlin.de/~h0444nmx/wiki/plugincache-config_php] (config file for the PEAR Cache)
+
+!!!Tar
+
+[WikiPluginCached, Examples, and needed Pear Cache as tar.gz|http://amor.rz.hu-berlin.de/~h0444nmx/wiki/wikiplugincached.tar.gz]
+
+!!!Installation
+* EITHER copy the tarball into your phpwiki directory and use
+      tar -xvzf wikiplugincached-0.8.tar.gz
+* OR copy the following files manually:
+**      imagecache.php            ''into''  lib/imagecache.php
+**      !WikiPluginCached.php     ''into''  lib/!WikiPluginCached.php
+**      plugincache-config.php    ''into''  lib/plugincache-config.php
+**      !TexToPng.php             ''into''  lib/plugin/!TexToPng.php
+**      !CacheTest.php            ''into''  lib/plugin/!CacheText.php
+**      !VisualWiki.php           ''into''  lib/plugin/!VisualWiki.php
+**      !RecentChangesCached.php  ''into''  lib/plugin/!RecentChangesCached.php
+**      Cache.php                 ''into''  lib/pear/Cache.php
+**      Error.php                 ''into''  lib/pear/Cache/Error.php
+**      Container.php             ''into''  lib/pear/Cache/Container.php
+**      file.php                  ''into''  lib/pear/Cache/Container/file.php
+**      imgfile.php               ''into''  lib/pear/Cache/Container/imgfile.php
+* copy your own index.php config file into getimg.php and substitute the wiki start up instruction (to be found at the end of the file)
+    include "lib/main.php";
+  by
+      include "lib/imagecache.php";
+* modify configuration file plugincache-config.php according to your wishes, %%%especially:
+**  set 'cache_dir' to a directory accessible by your apache user.
+**  set database to 'file'
+;;:''There is a hack which allows to let apache determine whether the image needs to be recreated. You have to include a symbolic link from your wiki dir to your cache dir and make the getimg.php file the 404 ErrorDocument. So whenever Apache tries to load an image not present in this dir, Apache will call the 404 (=file not found) ErrorDocument which creates the image on the fly. You have to use 'imgfile' as database entry in plugincache-config.php, though. Furthermore you have to replace the old value of 'cache_url' which should be '../getimg.php?' by '../path/to/cache'. Remember: This really is a hack because it needs my modified cache-filesystem-interface which is not part of the official pear distribution.''
+
+!!!Documentation
+At the moment, the source documentation is incomplete, but the example files should help a lot
+
+!!!To Do
+* complete doc
+* There is a bug in RecentChangesCached which scrambles the rss link during the first run.
+* VisualWiki and TexToPng use png image type for communication with the image creating scripts (dot and pstoimg), so they rely on CreateImageFromPNG(...) which is not necessary.
+
+--JohannesGroe
+
+----
+WikiPlugin TexToPng VisualWiki
diff -ruN 1.3.12p3/doc/README.security 1.3.14/doc/README.security
--- 1.3.12p3/doc/README.security	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/doc/README.security	2007-07-01 05:11:02.000000000 -0500
@@ -0,0 +1,231 @@
+_I hate [WikiSpam|http://en.wikipedia.org/wiki/Wikispam]!_
+
+Being technically minded and based in the Asia time zone while my
+co-authors are mainly in Europe and some in the US, it became my
+unofficial role to clean up the WikiSpam each day in a 1.2 based PhpWiki.
+The WikiSpam that I see is mostly created during the evening in the US
+time zone - which is the morning for me.
+
+I started working on PhpWiki 1.3/1.4 with a view to upgrade our wiki,
+implementing security to:
+* let anyone view our work,
+* let anyone register themselves as users,
+* but require new users to be authorised before editing or creating pages.
+
+While testing and fixing bugs, I discovered some interesting and useful
+things about security in PhpWiki. I hope my knowledge will help others.
+This is the recipe that I used. There are many variations that will work
+just as well or even better for you. Note that for most of the actions,
+you need to be logged into the wiki as an administrator.
+
+!!!1 - Generic security setup.
+For the configuration that I describe above, the following parameters
+should be set in config/config.ini (and are further documented there).
+This requires that you have read and write access to the filestore on the
+webserver.
+----
+<pre>
+; require the new login code - the default
+;ENABLE_USER_NEW = true
+
+; allow ACL based permissions on pages - the default
+;ENABLE_PAGEPERM = true
+
+; allow unknown/anonymous users to by default read the content
+ALLOW_ANON_USER = true
+
+; prevent unknown/anonymous users from editing/creating pages
+ALLOW_ANON_EDIT = false
+
+; prevent users just creating a temporary user
+; (I am skating over the complexities of this setting)
+ALLOW_BOGO_LOGIN = false
+
+; to require users to have passwords
+; (this is not independent of the other settings above)
+ALLOW_USER_PASSWORDS = true
+
+; require passwords to have a minimum length
+; I am not trying to protect national security,
+; just encourage the vandals to go elsewhere
+PASSWORD_LENGTH_MINIMUM = 6
+
+; use a database to check user-ids and passwords.
+; Note that there many other settings database settings that
+; need careful attention but that is out of scope for this HOW-TO
+USER_AUTH_ORDER = "Db"
+USER_AUTH_POLICY = first-only
+
+; Store group information in wiki pages
+; theres no need to develop a complex front end for a database.
+; Note that in performance terms this is the most expensive option.
+GROUP_METHOD = WIKIPAGE
+
+; the master page listing the groups - I just used the default
+; CATEGORY_GROUP_PAGE = ~CategoryGroup
+
+; The following SQL queries/statements are stored in
+; config/config.ini so that they can easily be changed
+; if there an existing user database. Several of these have
+; alternatives documented in config/config.ini
+DBAUTH_AUTH_USER_EXISTS = "SELECT userid FROM user WHERE userid="$userid""
+DBAUTH_AUTH_CHECK = "SELECT IF(passwd=PASSWORD("$password"),1,0) AS ok
+FROM user WHERE userid="$userid""
+DBAUTH_AUTH_CRYPT_METHOD = plain
+DBAUTH_AUTH_UPDATE = "UPDATE user SET passwd=PASSWORD("$password") WHERE
+userid="$userid""
+DBAUTH_AUTH_CREATE = "INSERT INTO user SET
+passwd=PASSWORD("$password"),userid="$userid""
+DBAUTH_PREF_SELECT = "SELECT prefs FROM pref WHERE userid="$userid""
+DBAUTH_PREF_UPDATE = "REPLACE INTO pref SET
+prefs="$pref_blob",userid="$userid""
+
+; I am paranoid about undiscovered cross-site scripting
+; vulnerabilities so I prevent users injecting HTML directly into
+; pages. It may be safe to allow the latter 2 options
+ENABLE_RAW_HTML = false
+ENABLE_RAW_HTML_LOCKEDONLY = false
+ENABLE_RAW_HTML_SAFE = false
+</pre>
+----
+
+!!!2 - User Group management
+Create group pages in the wiki.
+*First, in page CategoryGroup, add the name of the group in the bulleted
+list.  This may either be a WikiWord or enclosed in "~[" and "~]" and
+there must be nothing else on the line. For example, while editing
+CategoryGroup, add
+<pre>* ~[Writers]
+* ~UserManagement
+</pre>
+  and save. I will use these two groups as examples.
+
+* Create the two group pages by clicking on the links in the CategoryGroup
+page and add the list of users as a bulleted list (as above).
+  - In the Writers group, list the users that are allowed to edit and
+create pages.
+  - In the UserManagement group, list the users that may authorise new
+users (or remove existing users).
+  - A user may be a member of both groups and new users may be added at
+any time.
+* Lock all three pages CategoryGroup, Writers and UserManagement.
+* Unlock all three pages. _I am not certain that these last two steps are
+necessary but various comments around the documentation indicate that it
+is and, anyway, it did no harm._
+
+!!!3 - change the default page permissions.
+
+Create a page named . to hold these default permissions. _Yes, named "."._
+
+The recommended way to do this is to
+* go your HomePage
+* remove "HomePage" from the url and replace with the parameters
+  "?pagename=.&action=create"
+* enter some text like "This page holds the default ACLs for all pages"
+  and save
+* go your HomePage
+* remove "HomePage" from the url and replace with the parameters
+  "?pagename=.&action=setacl"
+* change the ACLs for EDIT and for CREATE to
+  - +Administrators
+  - +Owner
+  - +Writers
+  - -Authenticated Users
+  - -Signed Users
+  - -Bogo Users
+* _Where + means the ACL allows that kind of access and  means the ACL
+  does not allow that kind of access._
+* change the ACLs for CHANGE and REMOVE to
+  - +Administrators
+  - +Owner
+  - -Authenticated Users
+  - -Signed Users
+  - -Bogo Users
+
+!3a Alternative method to create page "." and set the ACLs correctly.
+I found some problems in the SetACL user interface (that I have not yet looked
+into / fixed), so I used an alternative mechanism to set the ACLs.
+* export a Zip Dump (via the PhpWikiAdministration page)
+* extract one of the files from this zip - initially, it might look like
+----
+<pre>Subject: ~AppendText
+From: foo@bar (~PhpWiki)
+To: foo@bar (~PhpWiki)
+Date: Wed, 5 Jan 2005 17:09:46 +0800
+Mime-Version: 1.0 (Produced by ~PhpWiki 1.3.11pre-20050108)
+Content-Type: application/x-phpwiki;
+  pagename=~AppendText;
+  flags="";
+  author=The%20PhpWiki%20programming%20team;
+  version=1;
+  lastmodified=1104916186;
+  created=1104916186;
+  author_id=The%20PhpWiki%20programming%20team;
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: quoted-printable
+
+~<?plugin ~AppendText ?>
+</pre>
+----
+* rename and edit this file (I called it "dot" but this does not matter).
+The contents should look something like
+----
+<pre>Subject: .
+From: foo@bar (~PhpWiki)
+To: foo@bar (~PhpWiki)
+Date: Mon, 17 Jan 2005 15:54:59 +0800
+Mime-Version: 1.0 (Produced by ~PhpWiki 1.3.11pre-20050108)
+Content-Type: application/x-phpwiki;
+  pagename=.;
+  flags="";
+  author=Admin;
+  version=1;
+  lastmodified=1105949000;
+  created=1105949000;
+  author_id=Admin;
+  markup=2;
+  acl="view:_EVERY;
+edit:_ADMIN,_OWNER,Writers,-_SIGNED-_BOGOUSER,-_AUTHENTICATED;
+create:_ADMIN,_OWNER,Writers,-_SIGNED,-_BOGOUSER,-_AUTHENTICATED;
+list:_EVERY; remove:_ADMIN,_OWNER,-_SIGNED,-_BOGOUSER,-_AUTHENTICATED;
+change:_ADMIN,_OWNER,-_SIGNED,-_BOGOUSER,-_AUTHENTICATED; dump:_EVERY";
+  charset=iso-8859-1
+Content-Transfer-Encoding: quoted-printable
+
+This page holds the default permissions for all pages
+</pre>
+----
+* The author and author_id should be the name of the administrator account.
+* The important line is the one starting "  acl=". This lists the
+groups/login types allowed to perform various actions on a page.
+  - Names starting with an _ and all in capitals ("_ADMIN","_OWNER" etc.)
+are built-in PhpWiki groups.
+  - A - in front of the name means that that group is not allowed perform
+an action, so "edit:-_AUTHENTICATED" means that a user that has logged
+in is not allowed edit a page (unless they are also a member of another
+group that is allowed).
+* The example acl= line above implements the policy that I described near
+the start of this page.
+* Load the file back into the database through the PhpWikiAdministration
+page.
+* Check the permissions are what you need in PhpWikiAdministration/SetAcl
+- this can be done on any page, not just on the "." page. _Use the setacl
+button to see the permissions on a page._
+
+* If you have to alter the ACL, I suggest that you bump the values for
+version, lastmodified and created before reloading (I found problems
+removing groups in the UI, so use the dump page, manual edit and reload
+page mechanism documented above).
+
+* Set any additional/specific restrictions on an individual page by page
+basis.
+* In particular, to have a limited list of users that can manage adding
+and removing users from the Writers group, you should
+  - on pages Writers, UserManagement, CategoryGroup and CategoryCategory
+  - add UserManagement to edit and create permissions
+  - remove Writers from edit and create permissions
+
+* Test the permissions work as expected.
+
+--PhpWiki:CharlesCorrigan
\ No newline at end of file
diff -ruN 1.3.12p3/doc/THEMES 1.3.14/doc/THEMES
--- 1.3.12p3/doc/THEMES	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/doc/THEMES	2007-07-01 05:11:02.000000000 -0500
@@ -0,0 +1,61 @@
+! Brief Example of Creating Your Own Theme
+
+To create or modify one of the existing themes:
+* Make a copy of one of the themes.
+* Look through the default theme, and for any of those templates you
+  want to modify, duplicate them in your new theme folder with the
+  same directory structure and modify them there instead of the
+  originals.
+* Fix the name in themeinfo.php:
+  $Theme = new Theme('NewName');
+* or if you have to override some default Theme methods
+  class Theme_NewName extends Theme;
+  ...
+  $Theme = new Theme_NewName('NewName');
+
+
+Note:
+If you base your theme on the default theme instead of one of the
+others, you can safely delete any files you DID NOT modify from the
+original (so long as you keep the default theme!).
+
+Review the themeinfo.php for any necessary changes, and add the name
+of your theme to index.php.
+  define('THEME','NewName');
+
+! Template Structure
+
+Templates currently must use the .tmpl extension (simple PHP parsed files).
+Other file extensions are reserved for future use (i.e. .tpl for Smarty or 
+.html for our old template expansion.)
+
+Only one template is called, ususally the "html.tmpl" template, 
+which includes all other templates then.
+
+Theme templates are regular xhtml, but the php parts within "<?" and "?>" 
+are treated especially by phpwiki. HTML entities within the php parts 
+should be created by our HtmlElement methods, which create well-formed 
+HTML objects. 
+Pure HTML entities, e.g. <? echo "<br>" ?> will be escaped to &lt;br&gt;.
+
+You can easily embed other templates by your own, e.g. <?= Template('body') ?>
+
+Templates are used
+* by the master action (html and htmldump), which include most other 
+  plugins in a hierarchical manner, 
+* by certain actions (editpage) or plugins (e.g. info, userprefs, 
+  addcomment, ...) or 
+* by certain pagetypes (e.g. wikiblog, comment, wikiforum)
+
+To include templates from other themes use this syntax:
+  <?= Template('default/search') ?>
+includes the search template from the default theme.
+
+Warning!
+When you write your own templates or change existing ones, you might 
+easily destroy XHTML validity of the generated pages. By using 
+the various HTML() methods within a plugin's php code it is guaranteed 
+to produce validating XHTML, by using custom templates not.
+
+----
+PhpWikiDocumentation
diff -ruN 1.3.12p3/ImageTile.php 1.3.14/ImageTile.php
--- 1.3.12p3/ImageTile.php	2006-06-18 06:19:17.000000000 -0500
+++ 1.3.14/ImageTile.php	2007-07-01 05:11:02.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-
+// FIXME! This is a mess. Everything.
 require_once('lib/stdlib.php');
 
 $remove = 0;
@@ -9,14 +9,15 @@
     list($usec, $sec) = explode(" ", microtime());
     
     $fp = fopen('config/config.ini','r');
-    while($config = fgetcsv($fp,1024,';')) {
+    while ($config = fgetcsv($fp,1024,';')) {
         if (preg_match('/DATA_PATH/',$config[0])) {
             list($key,$value) = split('=',$config[0]);
             $data_path = trim($value).'/';
+	    break;
 	}
     }
     fclose($fp);
-    @mkdir($data_path."uploads/thumbs");
+    @mkdir($data_path."uploads/thumbs",0775);
     $file = $data_path."uploads/thumbs/image_" . ((float)$usec + (float)$sec);
     $source = url_get_contents($_REQUEST['url']);
 
@@ -116,8 +117,17 @@
 $newheight = $_REQUEST['height'];
 if (empty($newheight)) $newheight = round($newwidth * ($height / $width)) ;
 
-$thumb = imagecreate($newwidth, $newheight);
-$img = imagecopyresampled($thumb, $img, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
+// php-4.2.x is stupid enough to define on gd only a stub for imagecopyresampled.
+// So function_exists('imagecopyresampled') will fail.
+if (!extension_loaded('gd2') and (substr(PHP_OS,0,3) != 'WIN'))
+    loadPhpExtension('gd2');
+if (extension_loaded('gd2')) {
+    $thumb = imagecreatetruecolor($newwidth, $newheight);
+    $img = imagecopyresampled($thumb, $img, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
+} else {
+    $thumb = imagecreate($newwidth, $newheight);
+    $img = imagecopyresized($thumb, $img, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
+}
 
 if ($remove == 1) unlink ($file);
 
@@ -131,9 +141,14 @@
     exit();
 }
 
-
 /*
  $Log: ImageTile.php,v $
+ Revision 1.6  2007/01/07 18:41:01  rurban
+ Add old gd fallback
+
+ Revision 1.5  2007/01/04 16:44:18  rurban
+ mkdir 0775
+
  Revision 1.4  2005/10/31 17:03:19  rurban
  fix "r"
 
@@ -146,4 +161,4 @@
 // c-hanging-comment-ender-p: nil
 // indent-tabs-mode: nil
 // End:
-?>
\ No newline at end of file
+?>
diff -ruN 1.3.12p3/index.php 1.3.14/index.php
--- 1.3.12p3/index.php	2006-06-18 06:19:17.000000000 -0500
+++ 1.3.14/index.php	2007-07-01 05:11:02.000000000 -0500
@@ -30,7 +30,7 @@
 */
 
 require_once (dirname(__FILE__).'/lib/prepend.php');
-rcs_id('$Id: index.php,v 1.147 2005/01/13 07:28:36 rurban Exp $');
+rcs_id('$Id: index.php,v 1.148 2005/10/30 16:38:13 rurban Exp $');
 
 require_once(dirname(__FILE__).'/lib/IniConfig.php');
 IniConfig(dirname(__FILE__)."/config/config.ini");
diff -ruN 1.3.12p3/INSTALL 1.3.14/INSTALL
--- 1.3.12p3/INSTALL	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/INSTALL	2007-07-01 05:11:02.000000000 -0500
@@ -0,0 +1,159 @@
+REQUIREMENTS
+
+PhpWiki requires a web server with at least PHP version 4.0.6.
+PhpWiki was tested 4.0.4pl1 and 4.0.5 also, but several bugs in these 
+releases make them unstable for production sites.
+
+Due to a security issue found in all versions of PHP (including 3.x
+and 4.x), all users of PHP are strongly encouraged to either upgrade
+to at least PHP 4.2.2, or install a patch available for PHP 3.0.18, 
+4.0.6 and 4.1.0/4.1.1. Visit <http://www.php.net> for downloads and 
+information. 
+Larger phpwiki installations (big pages or > 500 pages) 
+with PHP <= 4.3.9 suffer from a PCRE memory problem and might not 
+work with the 8MB default PHP memory limit.
+
+You need the Perl regular expressions package compiled in; this is the
+default for PHP, so you probably have it. If you don't you'll see an
+error like "function preg_replace() not defined."
+
+PHP must also be compiled with support for the type of database you
+want to use, i.e. --with-gdbm, --with-db2, --with-db3, --with-msql,
+--with-pgsql. (With PHP4 MySQL support is always enabled. With PHP5 
+sqlite instead). Consult the PHP installation manual for specific 
+installation and configure options. 
+<http://www.php.net/manual/en/installation.php>
+
+Since version 1.3.0 PhpWiki uses the 'DB.php' from PEAR, a database
+abstraction layer which is part of PHP. PhpWiki version 1.3.3 and later
+includes the necessary PEAR libraries and will use it if your system 
+PEAR library can not be found. For more information about PEAR 
+see <http://pear.php.net/>.
+PhpWiki version 1.3.7 and later includes the ADODB libraries and will
+use it for DATABASE_TYPE=ADODB. ADODB has more features, can use yet
+unsupported backends out of the box, and this is where SQL development
+happens. ADODB improvements are then backported to the stable PEAR
+backend (which often suffers from bad upstream PEAR libraries) and to
+PDO for php5.
+
+
+QUICK START INSTRUCTIONS
+
+Copy 'config/config-dist.ini' to 'config/config.ini' and edit the 
+settings in 'config/config.ini' to your liking.
+
+By default PhpWiki is configured to use a dba database. If there
+is no dba on your system, you will see an error like this the first
+time you try to use PhpWiki:
+ 
+    "Fatal error: Call to undefined function: dba_open() in 
+     phpwiki/lib/DbaDatabase.php on line 32"
+
+To correct this you will have to check the available dba handlers 
+(default: db3 for Windows, otherwise gdbm), install the dba extension 
+or preferably an sql-compatible database such as MySQL or PostgreSQL 
+and make the necessary configuration changes to 'lib/config/config.ini'.
+
+
+INSTRUCTIONS
+
+Below are the instructions for the "out of the box" installation,
+which uses DB files. If you are using a relational database like
+MySQL, see the INSTALL file for your database in the 'doc/' directory
+under the root of your PhpWiki installation.
+
+
+0. INSTALLATION
+
+Untar / gzip this file into the directory where you want it to
+live. That's it.
+
+bash$ gzip -d phpwiki-X.XX.tar.gz
+bash$ tar -xvf phpwiki-X.XX.tar
+
+In the config subdirectory copy 'config-dist.ini' to 'config.ini' and 
+edit the settings in 'config.ini' to your liking.
+
+
+1. CONFIGURATION
+
+The first time you run this Wiki it will load a set of basic pages
+from the 'pgsrc/' directory. These should be enough to get your Wiki
+started.
+
+PhpWiki will create some DBA files in '/tmp'. They contain the pages
+of the live site, archived pages, and some additional information.
+
+If you don't want the DBA files to live in '/tmp' you must make sure
+the web server can read/write to your chosen location.  It's probably
+a bad idea to leave it in '/tmp', so change it in 'config/config.ini'.
+
+WARNING: On many systems, files in '/tmp' are subject to periodic
+         removal. We very strongly advise you to move the files to
+         another directory.
+
+For example, create a subdirectory called 'pages' in the 'phpwiki'
+directory which was made when you untarred PhpWiki. Move the DBA files
+there. The files should already have proper rights and owners, as they
+were created by the web server. If not, change the permissions
+accordingly so your web server can read / write the DBA files. Note
+that you must be root to move files created by the web server.
+
+Next you must ensure that the web server can access the 'pages'
+directory and can create new files in it. For example, if your web
+server runs as user 'nobody', give the web server access like this:
+
+bash$ chown nobody:youraccount pages
+bash$ chmod 755 pages
+
+This is necessary so that the server can also create / set the
+database lock file (PHP has a built in locking mechanism for DBA file
+access).  Or if you're really lazy and don't worry much about
+security:
+
+bash$ chmod 777 pages
+
+Note: This is insecure. The proper way is to let the directory be
+      owned by the web servers GUID and give it read and write access.
+
+
+2. ALLOWING EMBEDDED HTML
+
+PhpWiki ships with this feature disabled by default. According to
+CERT, malicious users can embed HTML in your pages that allow pure
+evil to happen:
+
+    <http://www.cert.org/advisories/CA-2000-02.html>
+
+Set the ENABLE_RAW_HTML to true in ' config/config.ini' to allow
+embedded HTML, but you should NEVER do this if your Wiki is publicly
+accessible!
+
+3. ETC
+
+Installing PHP is beyond the scope of this document :-) You should
+visit <http://www.php.net/> if you don't have PHP. Note that you
+should have the web server configured to allow index.php as the root
+document of a directory.
+
+4. PATCHES
+
+Post patches to:
+    <http://sourceforge.net/tracker/?func=add&group_id=6121&atid=306121>
+
+5. BUGS
+
+Post bugs to:
+    <http://sourceforge.net/tracker/?func=add&group_id=6121&atid=106121>
+
+6. SUPPORT
+
+For support from the PhpWiki team and user community post to:
+    <phpwiki-talk@lists.sourceforge.net>
+
+You can join this list at:
+    <http://lists.sourceforge.net/lists/listinfo/phpwiki-talk>
+
+FIN
+
+$Id: INSTALL,v 1.26 2006/09/06 05:40:02 rurban Exp $
diff -ruN 1.3.12p3/lib/ArchiveCleaner.php 1.3.14/lib/ArchiveCleaner.php
--- 1.3.12p3/lib/ArchiveCleaner.php	2006-06-18 06:19:17.000000000 -0500
+++ 1.3.14/lib/ArchiveCleaner.php	2007-07-01 05:11:02.000000000 -0500
@@ -1,4 +1,23 @@
-<?php rcs_id('$Id: ArchiveCleaner.php,v 1.4 2004/06/29 08:52:22 rurban Exp $');
+<?php 
+rcs_id('$Id: ArchiveCleaner.php,v 1.8 2006/12/22 00:08:08 rurban Exp $');
+/* Copyright (C) 2002 Geoffrey T. Dairiki <dairiki@dairiki.org>
+ *
+ * This file is part of PhpWiki.
+ * 
+ * PhpWiki is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ * 
+ * PhpWiki is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ * 
+ * You should have received a copy of the GNU General Public License
+ * along with PhpWiki; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
 
 class ArchiveCleaner
 {
@@ -13,7 +32,7 @@
         $page = $revision->getPage();
         $author_id = $revision->get('author_id');
 
-        $previous = $page->getRevisionBefore($revision);
+        $previous = $page->getRevisionBefore($revision, false);
 
         return !empty($author_id)
             && $author_id == $previous->get('author_id');
@@ -26,10 +45,15 @@
     }
         
     function cleanPageRevisions($page) {
+        $INFINITY = 0x7fffffff;
 
         $expire = &$this->expire_params;
         foreach (array('major', 'minor', 'author') as $class)
             $counter[$class] = new ArchiveCleaner_Counter($expire[$class]);
+        // shortcut to keep all    
+        if (($counter['minor']->min_keep == $INFINITY) 
+            and ($counter['major']->min_keep == $INFINITY))
+            return;
 
         $authors_seen = array();
         
@@ -85,6 +109,9 @@
 
         if ($this->keep > $this->max_keep)
             $this->keep = $this->max_keep;
+        if ($this->min_keep == $INFINITY) { // shortcut to keep all
+            $this->max_keep = $this->keep = $this->min_age = $this->max_age = $INFINITY;
+        }
         if ($this->min_keep > $this->keep)
             $this->min_keep = $this->keep;
 
@@ -123,6 +150,9 @@
     }
         
     function keep($revision) {
+    	$INFINITY = 0x7fffffff;
+    	if ($this->min_keep == $INFINITY)
+    	    return true;
         $count = ++$this->count;
         $age = $this->computeAge($revision);
         
@@ -134,6 +164,14 @@
     }
 }
 
+// $Log: ArchiveCleaner.php,v $
+// Revision 1.8  2006/12/22 00:08:08  rurban
+// Optimization after edit:
+// Shortcut to keep all revisions, if min_keep == INFINITY
+//
+// Revision 1.7  2005/10/29 08:57:57  rurban
+// added (c)
+//
 
 // Local Variables:
 // mode: php
diff -ruN 1.3.12p3/lib/BlockParser.php 1.3.14/lib/BlockParser.php
--- 1.3.12p3/lib/BlockParser.php	2006-06-18 06:19:17.000000000 -0500
+++ 1.3.14/lib/BlockParser.php	2007-07-01 05:11:02.000000000 -0500
@@ -1,4 +1,4 @@
-<?php rcs_id('$Id: BlockParser.php,v 1.55 2005/01/29 21:08:41 rurban Exp $');
+<?php rcs_id('$Id: BlockParser.php,v 1.60 2007/01/07 18:41:32 rurban Exp $');
 /* Copyright (C) 2002 Geoffrey T. Dairiki <dairiki@dairiki.org>
  * Copyright (C) 2004,2005 Reini Urban
  *
@@ -372,10 +372,17 @@
     	static $_regexpset, $_block_types;
 
     	if (!is_object($_regexpset)) {
-            foreach (array('oldlists', 'list', 'dl', 'table_dl',
-                           'blockquote', 'heading', 'hr', 'pre', 'email_blockquote',
-                           'plugin', 'p')
-                     as $type) {
+	    $Block_types = array
+		    ('oldlists', 'list', 'dl', 'table_dl',
+                     'blockquote', 'heading', 'hr', 'pre', 'email_blockquote',
+		     'plugin', 'p');
+            // insert it before p!
+            if (ENABLE_MARKUP_DIVSPAN) {
+            	array_pop($Block_types);
+ 		$Block_types[] = 'divspan';
+ 		$Block_types[] = 'p';
+            }
+            foreach ($Block_types as $type) {
                 $class = "Block_$type";
                 $proto = new $class;
                 $this->_block_types[] = $proto;
@@ -384,6 +391,7 @@
             $this->_regexpset = new AnchoredRegexpSet($this->_regexps);
             $_regexpset = $this->_regexpset;
             $_block_types = $this->_block_types;
+            unset($Block_types);
     	} else {
              $this->_regexpset = $_regexpset;
              $this->_block_types = $_block_types;
@@ -502,6 +510,7 @@
         if (get_class($nextBlock) == get_class($this)) {
             assert ($nextBlock->_depth < $this->_depth);
             $nextBlock->_element->unshiftContent($this->_element);
+	    if (!empty($this->_tight_top))
             $nextBlock->_tight_top = $this->_tight_top;
             return $nextBlock;
         }
@@ -910,7 +919,7 @@
 
 class Block_pre extends BlockMarkup
 {
-    var $_re = '<(?:pre|verbatim)>';
+    var $_re = '<(?:pre|verbatim|nowiki)>';
 
     function _match (&$input, $m) {
         $endtag = '</' . substr($m->match, 1);
@@ -927,14 +936,21 @@
         }
         $input->advance();
         
-        $text = join("\n", $text);
+	if ($m->match == '<nowiki>')
+	    $text = join("<br>\n", $text);
+	else
+            $text = join("\n", $text);
         
         // FIXME: no <img>, <big>, <small>, <sup>, or <sub>'s allowed
         // in a <pre>.
         if ($m->match == '<pre>')
             $text = TransformInline($text);
-
-        $this->_element = new Block_HtmlElement('pre', false, $text);
+	if ($m->match == '<nowiki>') {
+            $text = TransformInlineNowiki($text);
+	    $this->_element = new Block_HtmlElement('p', false, $text);
+	} else {
+            $this->_element = new Block_HtmlElement('pre', false, $text);
+	}
         return true;
     }
 }
@@ -1051,6 +1067,48 @@
     }
 }
 
+class Block_divspan extends BlockMarkup
+{
+    var $_re = '<(?im)(?: div|span)(?:[^>]*)?>';
+
+    function _match (&$input, $m) {
+    	if (substr($m->match,1,4) == 'span') {
+    	    $tag = 'span';
+	} else {
+    	    $tag = 'div';
+	}
+	// without last >
+        $argstr = substr(trim(substr($m->match,strlen($tag)+1)),0,-1); 
+        $pos = $input->getPos();
+        $pi  = $content = $m->postmatch;
+        while (!preg_match('/^(.*)\<\/'.$tag.'\>(.*)$/i', $pi, $me)) {
+            $content .= "\n$pi";;
+            if (($pi = $input->nextLine()) === false) {
+                $input->setPos($pos);
+                return false;
+            }
+        }
+        $content .= $me[1]; // prematch
+        $input->advance();
+        $content = TransformInline(trim($content));
+        if (!$argstr) $args = false;
+        else {
+            foreach (preg_split("/\s+/", $argstr) as $a) {
+                @list($k, $v) = preg_split("/\s*=\s*/", $a);
+                if ($v) $v = preg_replace(array("/^[\"']/","/['\"]$/"), array('',''), $v);
+                if (trim($k) and trim($v)) $args[$k] = $v;
+            }
+        }
+        $this->_element = new Block_HtmlElement($tag, $args, $content);
+        //$this->_element->setTightness($tag == 'span', $tag == 'span');
+        return true;
+    }
+    function _setTightness($top, $bot) {
+	// Don't tighten user <div|span>
+    }
+}
+
+
 ////////////////////////////////////////////////////////////////
 //
 
@@ -1092,6 +1150,21 @@
 }
 
 // $Log: BlockParser.php,v $
+// Revision 1.60  2007/01/07 18:41:32  rurban
+// Fix ENABLE_DIVSPAN
+//
+// Revision 1.59  2006/12/22 16:21:29  rurban
+// silence one BlockParser use-case
+//
+// Revision 1.58  2006/11/19 13:57:14  rurban
+// fix Regex Syntax Error
+//
+// Revision 1.57  2006/10/12 06:32:30  rurban
+// Optionally support new tags <div>, <span> with ENABLE_MARKUP_DIVSPAN (in work)
+//
+// Revision 1.56  2006/07/23 14:03:18  rurban
+// add new feature: DISABLE_MARKUP_WIKIWORD
+//
 // Revision 1.55  2005/01/29 21:08:41  rurban
 // update (C)
 //
@@ -1133,4 +1206,4 @@
 // c-hanging-comment-ender-p: nil
 // indent-tabs-mode: nil
 // End:   
-?>
\ No newline at end of file
+?>
diff -ruN 1.3.12p3/lib/CachedMarkup.php 1.3.14/lib/CachedMarkup.php
--- 1.3.12p3/lib/CachedMarkup.php	2006-06-18 06:19:17.000000000 -0500
+++ 1.3.14/lib/CachedMarkup.php	2007-07-01 05:11:02.000000000 -0500
@@ -1,7 +1,7 @@
 <?php 
-rcs_id('$Id: CachedMarkup.php,v 1.35 2005/04/23 11:18:58 rurban Exp $');
+rcs_id('$Id: CachedMarkup.php,v 1.57 2007/05/28 20:13:46 rurban Exp $');
 /* Copyright (C) 2002 Geoffrey T. Dairiki <dairiki@dairiki.org>
- * Copyright (C) 2004, 2005 $ThePhpWikiProgrammingTeam
+ * Copyright (C) 2004,2005,2006,2007 $ThePhpWikiProgrammingTeam
  *
  * This file is part of PhpWiki.
  * 
@@ -20,6 +20,8 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
 
+include_once("lib/Units.php");
+
 class CacheableMarkup extends XmlContent {
 
     function CacheableMarkup($content, $basepage) {
@@ -59,7 +61,7 @@
                 // user our php lib. TESTME
                 include_once("ziplib.php");
                 $zip = new ZipReader($packed);
-                list(,$data,$attrib) = $zip->readFile();
+                list(,$data,$attrib) = $zip->readFile();
                 return unserialize($data);
             }
         }
@@ -77,26 +79,21 @@
     
     /** Get names of wikipages linked to.
      *
-     * @return array
-     * A list of wiki page names (strings).
+     * @return array of hashes { linkto=>pagename, relation=>pagename }
      */
     function getWikiPageLinks() {
-        include_once('lib/WikiPlugin.php');
-        $ploader = new WikiPluginLoader();
-        
 	$links = array();
 	foreach ($this->_content as $item) {
 	    if (!isa($item, 'Cached_DynamicContent'))
                 continue;
-
             if (!($item_links = $item->getWikiPageLinks($this->_basepage)))
                 continue;
-            foreach ($item_links as $pagename)
-                if (is_string($pagename) and $pagename != '')
-                    $links[] = $pagename;
+            $links = array_merge($links, $item_links);
         }
-
-	return array_unique($links);
+        // array_unique has a bug with hashes! 
+        // set_links checks for duplicates, array_merge does not
+	//return array_unique($links);
+	return $links;
     }
 
     /** Get link info.
@@ -263,10 +260,11 @@
 }
 
 class XmlRpc_LinkInfo {
-    function XmlRpc_LinkInfo($page, $type, $href) {
+    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);
     }
 }
@@ -285,23 +283,32 @@
     function getLinkInfo($basepage) {
 	return new XmlRpc_LinkInfo($this->_getName($basepage),
                                    $this->_getType(),
-                                   $this->_getURL($basepage));
+                                   $this->_getURL($basepage),
+                                   $this->_getRelation($basepage));
     }
     
     function _getURL($basepage) {
 	return $this->_url;
     }
+    function __getRelation($basepage) {
+	return $this->_relation;
+    }
 }
 
 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;
+        }    
         if ($anchor)
             $this->_anchor = $anchor;
         if ($label and $label != $page)
             $this->_label = $label;
-        $this->_basepage = false;
+        $this->_basepage = false;    
     }
 
     function _getType() {
@@ -309,15 +316,18 @@
     }
     
     function getPagename($basepage) {
-	$page = new WikiPageName($this->_page, $basepage);
+        $page = new WikiPageName($this->_page, $basepage);
 	if ($page->isValid()) return $page->name;
 	else return false;
     }
 
     function getWikiPageLinks($basepage) {
         if ($basepage == '') return false;
-        if ($link = $this->getPagename($basepage)) return array($link);
-        else return false;
+	if (isset($this->_nolink)) return false;
+        if ($link = $this->getPagename($basepage)) 
+            return array(array('linkto' => $link, 'relation' => 0));
+        else 
+            return false;
     }
 
     function _getName($basepage) {
@@ -330,7 +340,7 @@
     }
 
     function expand($basepage, &$markup) {
-        $this->_basepage = $basepage;
+    	$this->_basepage = $basepage;
 	$label = isset($this->_label) ? $this->_label : false;
 	$anchor = isset($this->_anchor) ? (string)$this->_anchor : '';
         $page = new WikiPageName($this->_page, $basepage, $anchor);
@@ -341,7 +351,7 @@
     function asXML() {
 	$label = isset($this->_label) ? $this->_label : false;
 	$anchor = isset($this->_anchor) ? (string)$this->_anchor : '';
-        // need basepage for subpages like /Remove (within CreateTOC)
+	//TODO: need basepage for subpages like /Remove (within CreateTOC)
         $page = new WikiPageName($this->_page, $this->_basepage, $anchor);
 	$link = WikiLink($page, 'auto', $label);
         return $link->asXML();
@@ -364,6 +374,22 @@
         return WikiLink($this->_page, 'if_known');
     }
 }    
+
+class Cached_SpellCheck extends Cached_WikiLink
+{
+    function Cached_SpellCheck ($word, $suggs) {
+	$this->_page = $word;
+	$this->suggestions = $suggs;
+    }
+
+    function expand($basepage, &$markup) {
+        $link = HTML::a(array('class' => 'spell-wrong', 
+			      'title' => 'SpellCheck: '.join(', ', $this->suggestions),
+			      'name' => $this->_page), 
+			$this->_page);
+        return $link;
+    }
+}    
     
 class Cached_PhpwikiURL extends Cached_DynamicContent
 {
@@ -394,6 +420,156 @@
         return $this->_url;
     }
 }    
+
+/*
+ * Relations (::) are named links to pages.
+ * Attributes (:=) are named metadata per page, "named links to numbers with units". 
+ * We don't want to exhaust the linktable with numbers,
+ * since this would create empty pages per each value, 
+ * so we don't store the attributes as full relationlink. 
+ * But we do store the attribute name as relation with an empty pagename 
+ * to denote that this is an attribute, 
+ * and to enable a fast listRelations mode=attributes
+ */
+class Cached_SemanticLink extends Cached_WikiLink {
+
+    function Cached_SemanticLink ($url, $label=false) {
+	$this->_url = $url;
+        if ($label && $label != $url)
+            $this->_label = $label;
+        $this->_expandurl($this->_url);
+    }
+
+    function isInlineElement() {
+	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;
+    }
+
+    /* Add relation to the link table.
+     * attributes have the _relation, but not the _page set.
+     */
+    function getWikiPageLinks($basepage) {
+        if ($basepage == '') return false;
+	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
+            return false;
+    }
+
+    function _expandurl($url) {
+        $m = array();
+        if (!preg_match('/^ ([^:]+) (:[:=]) (.+) $/x', $url, $m)) {
+            return HTML::strong(array('class' => 'rawurl'),
+                                HTML::u(array('class' => 'baduri'),
+                                        _("BAD semantic relation link")));
+        }
+	$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);
+	    }
+        } else {
+	    $this->_page = urldecode($m[3]);
+        }
+	return $m;
+    }
+
+    function _expand($url, $label = false) {
+	$m = $this->_expandurl($url);
+        $class = 'wiki';
+        // do not link to the attribute value, but to the attribute
+        $is_attribute = ($m[2] == ':=');
+	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
+		(
+		 HTML::a(array('href'  => WikiURL($this->_relation),
+			       'class' => "wiki attribute",
+			       'title' => $title),
+			 $url)
+		 );
+        } else {
+            return HTML::span
+		(
+		 HTML::a(array('href'  => WikiURL($this->_relation),
+			       'class' => "wiki relation"),
+			 $this->_relation),
+		 HTML::span(array('class'=>'relation-symbol'), $m[2]),
+		 HTML::a(array('href'  => WikiURL($this->_page),
+			       'class' => "wiki"),
+			 $this->_page)
+		 );
+        }
+    }
+
+    function expand($basepage, &$markup) {
+        $label = isset($this->_label) ? $this->_label : false;
+        return $this->_expand($this->_url, $label);
+    }
+
+    function asXML() {
+        $label = isset($this->_label) ? $this->_label : false;
+        $link = $this->_expand($this->_url, $label);
+        return $link->asXML();
+    }
+
+    function asString() {
+        if (isset($this->_label))
+            return $this->_label;
+        return $this->_url;
+    }
+}
+
+/** 
+ * Highlight found search engine terms
+ */
+class Cached_SearchHighlight extends Cached_DynamicContent
+{
+    function Cached_SearchHighlight ($word, $engine) {
+	$this->_word = $word;
+	$this->engine = $engine;
+    }
+
+    function expand($basepage, &$markup) {
+        return HTML::span(array('class' => 'search-term',
+                                'title' => _("Found by ") . $this->engine),
+                          $this->_word);
+    }
+}    
     
 class Cached_ExternalLink extends Cached_Link {
 
@@ -421,7 +597,7 @@
         if (GOOGLE_LINKS_NOFOLLOW) {
             // Ignores nofollow when the user who saved the page was authenticated. 
             $page = $request->getPage($basepage);
-            $current = $page->getCurrentRevision();
+            $current = $page->getCurrentRevision(false);
             if (!$current->get('author_id'))
                 $link->setAttr('rel', 'nofollow');
         }
@@ -443,11 +619,33 @@
             $this->_label = $label;
     }
 
+    function getPagename($basepage) {
+        list ($moniker, $page) = split (":", $this->_link, 2);
+	$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 */
+        if ($link = $this->getPagename($basepage)) 
+            return array(array('linkto' => $link, 'relation' => 0));
+        else return false; // dont store external links
+    }
+
     function _getName($basepage) {
 	$label = isset($this->_label) ? $this->_label : false;
-	return ($label and is_string($label)) ? $label : $link;
+	return ($label and is_string($label)) ? $label : $this->_link;
     }
     
+    /* there may be internal interwiki links also */
+    function _getType() {
+        return $this->getPagename(false) ? 'internal' : 'external';
+    }
+
     function _getURL($basepage) {
 	$link = $this->expand($basepage, $this);
 	return $link->getAttr('href');
@@ -482,10 +680,21 @@
     }
 }
 
+/**
+ * 1.3.13: Previously stored was only _pi. 
+ * A fresh generated cache has now ->name and ->args also.
+ * main::isActionPage only checks the raw content.
+ */
 class Cached_PluginInvocation extends Cached_DynamicContent {
 
     function Cached_PluginInvocation ($pi) {
 	$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, plugin-link
+            $this->name = $plugin_cmdline[1]->getName();
+            $this->args = $plugin_cmdline[2];
+        }
     }
 
     function setTightness($top, $bottom) {
@@ -503,9 +712,9 @@
 
         $xml = $loader->expandPI($this->_pi, $GLOBALS['request'], $markup, $basepage);
         $div = HTML::div(array('class' => 'plugin'));
-        if (is_array($plugin_cmdline = $loader->parsePI($this->_pi)) and $plugin_cmdline[1])
-            $id = GenerateId($plugin_cmdline[1]->getName() . 'Plugin');
-        
+        if (isset($this->name))
+            $id = GenerateId($this->name . 'Plugin');
+   
 	if (isset($this->_tightenable)) {
 	    if ($this->_tightenable == 3) {
                 $span = HTML::span(array('class' => 'plugin'), $xml);
@@ -545,6 +754,47 @@
     }
 }
 
+// $Log: CachedMarkup.php,v $
+// Revision 1.57  2007/05/28 20:13:46  rurban
+// Overwrite all attributes at once at page->save to delete dangling meta
+//
+// Revision 1.56  2007/04/08 16:39:40  rurban
+// fix when DISABLE_UNITS = true (thanks to Walter Rafelsberger)
+// simplify title calculation
+//
+// Revision 1.55  2007/03/18 17:35:14  rurban
+// Fix :DontStoreLink
+//
+// Revision 1.54  2007/01/25 07:41:41  rurban
+// Print attribute in title. Use CSS formatting for ::=
+//
+// Revision 1.53  2007/01/21 23:26:52  rurban
+// Translate Found by
+//
+// Revision 1.52  2007/01/20 15:53:51  rurban
+// Rewrite of SearchHighlight: through ActionPage and InlineParser
+//
+// Revision 1.51  2007/01/20 11:24:53  rurban
+// add SpellCheck support
+//
+// Revision 1.50  2007/01/07 18:41:51  rurban
+// Fix fallback ZipReader syntax error. Use label=false. Add parsed plugin names to the stored tree.
+//
+// Revision 1.49  2007/01/04 16:40:35  rurban
+// Remove units object from CachedMarkup links, Store parsed linkinfo only: basevalue, baseunit.
+//
+// Revision 1.48  2007/01/03 21:22:08  rurban
+// Use Units for attributes. Store the unified base value as Cached_SemanticLink->_attribute_base in the wikimarkup and display it as title.
+//
+// Revision 1.47  2007/01/02 13:17:57  rurban
+// fix semantic page links and attributes, esp. attributes. they get stored as link to empty page also. tighten semantic url expander regex, omit want_content if not necessary
+//
+// Revision 1.46  2006/12/22 00:11:38  rurban
+// add seperate expandurl method, to simplify pagename parsing
+//
+// Revision 1.45  2006/10/12 06:33:50  rurban
+// decide later with which class to render this link (fixes interwiki link layout)
+
 // (c-file-style: "gnu")
 // Local Variables:
 // mode: php
@@ -553,4 +803,4 @@
 // c-hanging-comment-ender-p: nil
 // indent-tabs-mode: nil
 // End:   
-?>
\ No newline at end of file
+?>
diff -ruN 1.3.12p3/lib/Captcha.php 1.3.14/lib/Captcha.php
--- 1.3.12p3/lib/Captcha.php	2006-06-18 06:19:17.000000000 -0500
+++ 1.3.14/lib/Captcha.php	2007-07-01 05:11:03.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-rcs_id('$Id: Captcha.php,v 1.5 2005/10/31 16:44:13 rurban Exp $');
+rcs_id('$Id: Captcha.php,v 1.6 2007/01/07 18:42:10 rurban Exp $');
 /**
   Session Captcha v1.0
     by Gavin M. Roy <gmr@bteg.net>
@@ -59,13 +59,13 @@
             $el['CAPTCHA_INPUT']
                 = HTML::input(array('type'  => 'text',
                                     'class' => 'wikitext',
-                                    'id'    => 'edit:captcha_input',
+                                    'id'    => 'edit-captcha_input',
                                     'name'  => 'edit[captcha_input]',
                                     'size'  => $this->length + 2,
                                     'maxlength' => 256));
             $url = WikiURL("", array("action"=>"captcha","id"=>time()), false);
             $el['CAPTCHA_IMAGE'] = "<img src=\"$url\" alt=\"captcha\" />";
-            $el['CAPTCHA_LABEL'] = '<label for="edit:captcha_input">'._("Type word above:").' </label>';
+            $el['CAPTCHA_LABEL'] = '<label for="edit-captcha_input">'._("Type word above:").' </label>';
         }
         return $el;
     }
@@ -176,6 +176,9 @@
 }
 
 // $Log: Captcha.php,v $
+// Revision 1.6  2007/01/07 18:42:10  rurban
+// Improve id: edit: to edit-
+//
 // Revision 1.5  2005/10/31 16:44:13  rurban
 // fallback to PNG or GIF if JPEG support does not exist
 //
diff -ruN 1.3.12p3/lib/config.php 1.3.14/lib/config.php
--- 1.3.12p3/lib/config.php	2006-06-18 06:19:17.000000000 -0500
+++ 1.3.14/lib/config.php	2007-07-01 05:11:03.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-rcs_id('$Id: config.php,v 1.139 2006/03/19 14:50:42 rurban Exp $');
+rcs_id('$Id: config.php,v 1.145 2007/06/02 18:24:39 rurban Exp $');
 /*
  * NOTE: The settings here should probably not need to be changed.
  * The user-configurable settings have been moved to IniConfig.php
@@ -24,7 +24,10 @@
 define ('_DEBUG_INFO',     16);
 define ('_DEBUG_APD',      32);
 define ('_DEBUG_LOGIN',    64); // verbose login debug-msg (settings and reason for failure)
-define ('_DEBUG_SQL',     128);
+define ('_DEBUG_SQL',     128); // force check db, force optimize, print some debugging logs
+define ('_DEBUG_REMOTE',  256); // remote debug into subrequests (xmlrpc, ajax, wikiwyg, ...) 
+				// or test local SearchHighlight.
+				// internal links have persistent ?start_debug=1 
 
 function isCGI() {
     return (substr(php_sapi_name(),0,3) == 'cgi' and 
@@ -67,16 +70,17 @@
     return $HTTP_USER_AGENT;
 }
 function browserDetect($match) {
-    return strstr(browserAgent(), $match);
+    return strstr(strtolower(browserAgent()), strtolower($match));
 }
 // returns a similar number for Netscape/Mozilla (gecko=5.0)/IE/Opera features.
 function browserVersion() {
-    if (strstr(browserAgent(),    "Mozilla/4.0 (compatible; MSIE"))
-        return (float) substr(browserAgent(),30);
-    elseif (strstr(browserAgent(),"Mozilla/5.0 (compatible; Konqueror/"))
-        return (float) substr(browserAgent(),36);
+    $agent = browserAgent();
+    if (strstr($agent, "Mozilla/4.0 (compatible; MSIE"))
+        return (float) substr($agent, 30);
+    elseif (strstr($agent, "Mozilla/5.0 (compatible; Konqueror/"))
+        return (float) substr($agent, 36);
     else
-        return (float) substr(browserAgent(),8);
+        return (float) substr($agent, 8);
 }
 function isBrowserIE() {
     return (browserDetect('Mozilla/') and 
@@ -112,8 +116,13 @@
 // MacOSX Safari has certain limitations. Need detection and patches.
 // * no <object>, only <embed>
 function isBrowserSafari($version = false) {
-    if ($version) return browserDetect('Safari/') and browserVersion() >= $version; 
-    return browserDetect('Safari/');
+    $found = browserDetect('spoofer') or browserDetect('applewebkit');
+    if ($version) return $found and browserVersion() >= $version; 
+    return $found;
+}
+function isBrowserOpera($version = false) {
+    if ($version) return browserDetect('Opera/') and browserVersion() >= $version; 
+    return browserDetect('Opera/');
 }
 
 
@@ -486,6 +495,26 @@
     ');
 }
 
+/**
+ * array_diff_assoc() returns an array containing all the values from array1 that are not
+ * present in any of the other arguments. Note that the keys are used in the comparison 
+ * unlike array_diff(). In core since php-4.3.0
+ * Our fallback here supports only hashes and two args.
+ * $array1 = array("a" => "green", "b" => "brown", "c" => "blue");
+ * $array2 = array("a" => "green", "y" => "yellow", "r" => "red");
+ * => b => brown, c => blue
+ */
+if (!function_exists('array_diff_assoc')) {
+    function array_diff_assoc($a1, $a2) {
+    	$result = array();
+    	foreach ($a1 as $k => $v) {
+    	    if (!isset($a2[$k]) or !$a2[$k])
+    	        $result[$k] = $v;	
+    	}
+    	return $result;
+    }
+}
+
 /** 
  * wordwrap() might crash between 4.1.2 and php-4.3.0RC2, fixed in 4.3.0
  * See http://bugs.php.net/bug.php?id=20927 and 
@@ -552,15 +581,86 @@
 }
 
 function getUploadFilePath() {
+    if (defined('UPLOAD_FILE_PATH')) return UPLOAD_FILE_PATH;
     return defined('PHPWIKI_DIR') 
         ? PHPWIKI_DIR . "/uploads/" 
         : realpath(dirname(__FILE__) . "/../uploads/");
 }
 function getUploadDataPath() {
-  return SERVER_URL . ((substr(DATA_PATH,0,1)=='/') ? '' : "/") . DATA_PATH . '/uploads/';
+    if (defined('UPLOAD_DATA_PATH')) return UPLOAD_DATA_PATH;
+    return SERVER_URL . ((substr(DATA_PATH,0,1)=='/') ? '' : "/") . DATA_PATH . '/uploads/';
+}
+
+/**
+ * htmlspecialchars doesn't support some special 8bit charsets, which we do want to support.
+ * Well it just prints a warning which we could circumvent.
+ * Note: unused, since php htmlspecialchars does the same, just prints a warning which we silence
+ */
+/*
+function htmlspecialchars_workaround($str, $quote=ENT_COMPAT, $charset='iso-8859-1') {
+    if (in_array(strtolower($charset), 
+                 array('iso-8859-2', 'iso8859-2', 'latin-2', 'latin2'))) 
+    {
+        if (! ($quote & ENT_NOQUOTES)) {
+            $str = str_replace("\"", "&quot;",
+                               $str);
+        }
+        if ($quote & ENT_QUOTES) {
+            $str = str_replace("\'", "&#039;",
+                               $str);
+        }
+        return str_replace(array("<", ">", "&"),
+                           array("&lt;", "&gt;", "&amp;"), $str);
+    }
+    else {
+        return htmlspecialchars($str, $quote, $charset);
+    }
+}
+*/
+
+/**
+ * htmlspecialchars doesn't support some special 8bit charsets, which we do want to support.
+ * Well it just prints a warning which we could circumvent.
+ * Note: unused, since php htmlspecialchars does the same, just prints a warning which we silence
+ */
+/*
+function htmlspecialchars_workaround($str, $quote=ENT_COMPAT, $charset='iso-8859-1') {
+    if (in_array(strtolower($charset), 
+                 array('iso-8859-2', 'iso8859-2', 'latin-2', 'latin2'))) 
+    {
+        if (! ($quote & ENT_NOQUOTES)) {
+            $str = str_replace("\"", "&quot;",
+                               $str);
+        }
+        if ($quote & ENT_QUOTES) {
+            $str = str_replace("\'", "&#039;",
+                               $str);
+        }
+        return str_replace(array("<", ">", "&"),
+                           array("&lt;", "&gt;", "&amp;"), $str);
+    }
+    else {
+        return htmlspecialchars($str, $quote, $charset);
+    }
 }
+*/
 
 // $Log: config.php,v $
+// Revision 1.145  2007/06/02 18:24:39  rurban
+// case-insensitive browser check. Imrpoved isBrowserSafari
+//
+// Revision 1.143  2007/05/24 18:36:56  rurban
+// *** empty log message ***
+//
+// Revision 1.142  2007/03/04 14:07:17  rurban
+// Added SearchHighlight comment
+//
+// Revision 1.141  2007/01/07 18:41:42  rurban
+// Add array_diff_assoc() fallback: fixes Blog with php < 4.3.x. Support UPLOAD_FILE_PATH, UPLOAD_DATA_PATH overrides.
+//
+// Revision 1.140  2007/01/02 13:21:30  rurban
+// added _DEBUG_REMOTE flag, omit want_content if not necessary
+//
 // Revision 1.139  2006/03/19 14:50:42  rurban
 // sf.net patch #1438442 by Matt Brown: Unitialised variable reference in config.php
 //
@@ -749,4 +849,4 @@
 // c-hanging-comment-ender-p: nil
 // indent-tabs-mode: nil
 // End:
-?>
\ No newline at end of file
+?>
diff -ruN 1.3.12p3/lib/DbaDatabase.php 1.3.14/lib/DbaDatabase.php
--- 1.3.12p3/lib/DbaDatabase.php	2006-06-18 06:19:17.000000000 -0500
+++ 1.3.14/lib/DbaDatabase.php	2007-07-01 05:11:03.000000000 -0500
@@ -1,4 +1,4 @@
-<?php rcs_id('$Id: DbaDatabase.php,v 1.18 2006/04/17 17:30:35 rurban Exp $');
+<?php rcs_id('$Id: DbaDatabase.php,v 1.21 2006/09/06 05:42:54 rurban Exp $');
 
 require_once('lib/ErrorManager.php');
 
@@ -140,7 +140,7 @@
             }
         }
         else {
-            if (!dba_insert($key, $val, $this->_dbh))
+            if (!dba_insert($key, $val, $dbh))
                 return $this->_error("store[insert]($key)");
         }
     }
@@ -150,7 +150,7 @@
             return $this->_error("sync()");
     }
 
-    function optimize () {
+    function optimize() {
         if (!dba_optimize($this->_dbh))
             return $this->_error("optimize()");
         return 1;
@@ -168,12 +168,22 @@
             printf("%10s: %s\n", $key, $this->fetch($key));
     }
 
-    function _dba_open_error_handler ($error) {
+    function _dba_open_error_handler($error) {
         $this->_dba_open_error = $error;
         return true;
     }
 }
 
+// $Log: DbaDatabase.php,v $
+// Revision 1.21  2006/09/06 05:42:54  rurban
+// unify dbh arg
+//
+// Revision 1.20  2006/08/15 13:35:33  rurban
+// just aesthetics
+//
+// Revision 1.19  2006/06/18 11:01:25  rurban
+// add rcsid log
+//
 
 // (c-file-style: "gnu")
 // Local Variables:
diff -ruN 1.3.12p3/lib/DbSession/ADODB.php 1.3.14/lib/DbSession/ADODB.php
--- 1.3.12p3/lib/DbSession/ADODB.php	2006-06-18 06:19:17.000000000 -0500
+++ 1.3.14/lib/DbSession/ADODB.php	2007-07-01 05:11:03.000000000 -0500
@@ -1,4 +1,4 @@
-<?php rcs_id('$Id: ADODB.php,v 1.2 2005/11/21 20:48:48 rurban Exp $');
+<?php rcs_id('$Id: ADODB.php,v 1.3 2007/01/04 16:45:31 rurban Exp $');
 /*
  Copyright 2005 $ThePhpWikiProgrammingTeam
 
@@ -147,6 +147,7 @@
      * @access private
      */
     function write ($id, $sess_data) {
+        if (defined("WIKI_XMLRPC") or defined("WIKI_SOAP")) return;    	
         
         $dbh = $this->_connect();
         $table = $this->_table;
@@ -258,6 +259,9 @@
 }
 
 // $Log: ADODB.php,v $
+// Revision 1.3  2007/01/04 16:45:31  rurban
+// No write on xmlrpc requests
+//
 // Revision 1.2  2005/11/21 20:48:48  rurban
 // fix ref warnings reported by schorni
 //
diff -ruN 1.3.12p3/lib/DbSession/dba.php 1.3.14/lib/DbSession/dba.php
--- 1.3.12p3/lib/DbSession/dba.php	2006-06-18 06:19:17.000000000 -0500
+++ 1.3.14/lib/DbSession/dba.php	2007-07-01 05:11:03.000000000 -0500
@@ -1,9 +1,13 @@
-<?php rcs_id('$Id: dba.php,v 1.4 2006/02/22 20:56:24 rurban Exp $');
+<?php rcs_id('$Id: dba.php,v 1.5 2007/01/04 16:45:39 rurban Exp $');
 
 /** DBA Sessions
  *  session:
  *     Index: session_id
- *    Values: date : IP : data
+ *     Values: date : IP : data
+ *  Already open sessions, e.g. interim xmlrpc requests are
+ *  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.
  */
 class DbSession_dba
@@ -34,9 +38,8 @@
             $directory = '/tmp';
             $prefix = 'wiki_';
             $dba_handler = 'gdbm';
-            $timeout = 20;
-            extract($DBParams);
-
+            $timeout = 12;
+            extract($DBParams); // overwrite the defaults
             $dbfile = "$directory/$prefix" . 'session' . '.' . $dba_handler;
             $dbh = new DbaDatabase($dbfile, 'c', $dba_handler);
             $this->_dbh = &$dbh;
@@ -45,8 +48,10 @@
     }
 
     function _disconnect() {
-        if (isset($this->_dbh))
+        if (isset($this->_dbh)) {
             $this->_dbh->close();
+            unset($this->_dbh);
+        }
     }
 
     function open ($save_path, $session_name) {
@@ -55,8 +60,7 @@
     }
 
     function close() {
-    	if ($this->_dbh)
-            $this->_dbh->close();
+        $this->_disconnect();
     }
 
     function read ($id) {
@@ -66,7 +70,7 @@
             return false;
         }
         list(,,$packed) = explode(':', $result, 3);
-        // $this->_disconnect();
+        $this->_disconnect();
         if (strlen($packed) > 4000) {
             trigger_error("Overlarge session data!", E_USER_WARNING);
             $packed = '';
@@ -76,6 +80,8 @@
     }
   
     function write ($id, $sess_data) {
+        if (defined("WIKI_XMLRPC") or defined("WIKI_SOAP")) return;
+
         $dbh = $this->_connect();
         $time = time();
         $ip = $GLOBALS['request']->get('REMOTE_ADDR');
@@ -84,14 +90,14 @@
             $sess_data = '';
         }
         $dbh->set($id, $time.':'.$ip.':'.$sess_data);
-        //$this->_disconnect();
+        $this->_disconnect();
         return true;
     }
 
     function destroy ($id) {
         $dbh = $this->_connect();
         $dbh->delete($id);
-        //$this->_disconnect();
+        $this->_disconnect();
         return true;
     }
 
@@ -104,7 +110,7 @@
             if ($date < $threshold)
                 $dbh->delete($id);
         }
-        //$this->_disconnect();
+        $this->_disconnect();
         return true;
     }
 
@@ -132,6 +138,9 @@
 }
 
 // $Log: dba.php,v $
+// Revision 1.5  2007/01/04 16:45:39  rurban
+// No write on xmlrpc requests. Also immediately close the session file, and reopen it on every action. This is problematic.
+//
 // Revision 1.4  2006/02/22 20:56:24  rurban
 // fix more refs
 //
diff -ruN 1.3.12p3/lib/DbSession/PDO.php 1.3.14/lib/DbSession/PDO.php
--- 1.3.12p3/lib/DbSession/PDO.php	2006-06-18 06:19:17.000000000 -0500
+++ 1.3.14/lib/DbSession/PDO.php	2007-07-01 05:11:03.000000000 -0500
@@ -1,4 +1,4 @@
-<?php rcs_id('$Id: PDO.php,v 1.2 2006/02/22 20:56:24 rurban Exp $');
+<?php rcs_id('$Id: PDO.php,v 1.3 2007/01/04 16:45:31 rurban Exp $');
 
 /** 
  * Db sessions for PDO, based on pear DB Sessions.
@@ -124,6 +124,7 @@
      * @access private
      */
     function write ($id, $sess_data) {
+        if (defined("WIKI_XMLRPC") or defined("WIKI_SOAP")) return;    	
         
         $dbh = $this->_connect();
         $table = $this->_table;
@@ -244,6 +245,9 @@
 }
 
 // $Log: PDO.php,v $
+// Revision 1.3  2007/01/04 16:45:31  rurban
+// No write on xmlrpc requests
+//
 // Revision 1.2  2006/02/22 20:56:24  rurban
 // fix more refs
 //
diff -ruN 1.3.12p3/lib/DbSession/SQL.php 1.3.14/lib/DbSession/SQL.php
--- 1.3.12p3/lib/DbSession/SQL.php	2006-06-18 06:19:17.000000000 -0500
+++ 1.3.14/lib/DbSession/SQL.php	2007-07-01 05:11:03.000000000 -0500
@@ -1,4 +1,4 @@
-<?php rcs_id('$Id: SQL.php,v 1.2 2005/11/21 20:57:58 rurban Exp $');
+<?php rcs_id('$Id: SQL.php,v 1.3 2007/01/04 16:45:31 rurban Exp $');
 
 /**
  * DB sessions for pear DB
@@ -133,6 +133,7 @@
      * @access private
      */
     function write ($id, $sess_data) {
+        if (defined("WIKI_XMLRPC") or defined("WIKI_SOAP")) return;    	
         
         $dbh = $this->_connect();
         //$dbh->unlock(false,1);
@@ -241,6 +242,9 @@
 
 
 // $Log: SQL.php,v $
+// Revision 1.3  2007/01/04 16:45:31  rurban
+// No write on xmlrpc requests
+//
 // Revision 1.2  2005/11/21 20:57:58  rurban
 // fix ref warnings, analog to ADODB
 //
diff -ruN 1.3.12p3/lib/diff.php 1.3.14/lib/diff.php
--- 1.3.12p3/lib/diff.php	2006-06-18 06:19:18.000000000 -0500
+++ 1.3.14/lib/diff.php	2007-07-01 05:11:03.000000000 -0500
@@ -1,5 +1,5 @@
 <?php // -*-php-*-
-rcs_id('$Id: diff.php,v 1.52 2005/04/01 14:45:14 rurban Exp $');
+rcs_id('$Id: diff.php,v 1.55 2007/06/01 06:32:13 rurban Exp $');
 // diff.php
 //
 // PhpWiki diff output code.
@@ -234,7 +234,6 @@
     }
 }
 
-
 /////////////////////////////////////////////////////////////////
 
 function PageInfoRow ($label, $rev, &$request, $is_current = false)
@@ -283,12 +282,12 @@
     // abort if page doesn't exist
     $dbi = $request->getDbh();
     $page = $request->getPage();
-    $current = $page->getCurrentRevision();
+    $current = $page->getCurrentRevision(false);
     if ($current->getVersion() < 1) {
-        $html = HTML::div(array('id'=>'content'),
+	$html = HTML::div(array('class'=>'wikitext','id'=>'difftext'),
                           HTML::p(fmt("I'm sorry, there is no such page as %s.",
                                       WikiLink($pagename, 'unknown'))));
-        include_once('lib/Template.php');
+        require_once('lib/Template.php');
         GeneratePage($html, sprintf(_("Diff: %s"), $pagename), false);
         return; //early return
     }
@@ -343,7 +342,7 @@
     $old_link = $old ? WikiLink($old, '', $old_version) : $old_version;
     $page_link = WikiLink($page);
 
-    $html = HTML::div(array('id'=>'content'),
+    $html = HTML::div(array('class'=>'wikitext','id'=>'difftext'),
                      HTML::p(fmt("Differences between %s and %s of %s.",
                                  $new_link, $old_link, $page_link)));
 
@@ -363,7 +362,6 @@
     }
     $html->pushContent($otherdiffs);
 
-
     if ($old and $old->getVersion() == 0)
         $old = false;
 
@@ -388,13 +386,27 @@
             //$fmt = new TableUnifiedDiffFormatter;
             $html->pushContent($fmt->format($diff));
         }
+
+        $html->pushContent(HTML::hr(), HTML::h1($new_version));
+        require_once("lib/BlockParser.php");
+        $html->pushContent(TransformText($new,$new->get('markup'),$pagename));
     }
 
-    include_once('lib/Template.php');
+    require_once('lib/Template.php');
     GeneratePage($html, sprintf(_("Diff: %s"), $pagename), $new);
 }
 
 // $Log: diff.php,v $
+// Revision 1.55  2007/06/01 06:32:13  rurban
+// fix basepage for external links
+//
+// Revision 1.54  2007/01/02 13:18:16  rurban
+// omit want_content if not necessary
+//
+// Revision 1.53  2006/12/02 13:58:27  rurban
+// Fix MonoBook layout (id content forbidden here)
+// Add new revision to the bottom of the diff as in mediawiki.
+//
 // Revision 1.52  2005/04/01 14:45:14  rurban
 // fix dirty side-effect: dont printf too early bypassing ob_buffering.
 // fixes MSIE.
@@ -447,4 +459,4 @@
 // c-hanging-comment-ender-p: nil
 // indent-tabs-mode: nil
 // End:
-?>
\ No newline at end of file
+?>
diff -ruN 1.3.12p3/lib/display.php 1.3.14/lib/display.php
--- 1.3.12p3/lib/display.php	2006-06-18 06:19:18.000000000 -0500
+++ 1.3.14/lib/display.php	2007-07-01 05:11:03.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 // display.php: fetch page or get default content
-rcs_id('$Id: display.php,v 1.66 2006/03/19 14:26:29 rurban Exp $');
+rcs_id('$Id: display.php,v 1.75 2007/07/01 09:17:45 rurban Exp $');
 
 require_once('lib/Template.php');
 
@@ -9,7 +9,7 @@
  */
 function GleanKeywords ($page) {
     if (!defined('KEYWORDS')) return '';
-    include_once("lib/TextSearchQuery.php");
+    require_once("lib/TextSearchQuery.php");
     $search = new TextSearchQuery(KEYWORDS, true);
     $KeywordLinkRegexp = $search->asRegexp();
     // iterate over the pagelinks (could be a large number) [15ms on PluginManager]
@@ -17,6 +17,7 @@
     $links = $page->getPageLinks();
     $keywords[] = SplitPagename($page->getName());
     while ($link = $links->next()) {
+    	$m = array();
         if (preg_match($KeywordLinkRegexp, $link->getName(), $m))
             $keywords[] = SplitPagename($m[0]);
     }
@@ -54,34 +55,91 @@
                           $actionpage->getName(),
                           $WikiTheme->linkExistingWikiWord($pagename, false, $version)));
 
-    $validators = new HTTP_ValidatorSet(array('pageversion' => $revision->getVersion(),
-                                              '%mtime' => $revision->get('mtime')));
-                                        
+    $request->setValidators(array('pageversion' => $revision->getVersion(),
+                                  '%mtime' => $revision->get('mtime')));
     $request->appendValidators(array('pagerev' => $revision->getVersion(),
                                      '%mtime' => $revision->get('mtime')));
     $request->appendValidators(array('actionpagerev' => $actionrev->getVersion(),
                                      '%mtime' => $actionrev->get('mtime')));
 
     $transformedContent = $actionrev->getTransformedContent();
-    $template = Template('browse', array('CONTENT' => $transformedContent));
-/*
-    if (!headers_sent()) {
-        //FIXME: does not work yet. document.write not supported (signout button)
-        // http://www.w3.org/People/mimasa/test/xhtml/media-types/results
-        if (ENABLE_XHTML_XML 
-            and (!isBrowserIE() and
-                 strstr($request->get('HTTP_ACCEPT'),'application/xhtml+xml')))
-            header("Content-Type: application/xhtml+xml; charset=" . $GLOBALS['charset']);
-        else
-            header("Content-Type: text/html; charset=" . $GLOBALS['charset']);
-    }
-*/    
-    /* Tell google (and others) not to take notice of action pages */
+ 
+   /* Optionally tell google (and others) not to take notice of action pages.
+      RecentChanges or AllPages might be an exception.
+   */
+    $args = array();
     if (GOOGLE_LINKS_NOFOLLOW)
 	$args = array('ROBOTS_META' => "noindex,nofollow");
-    GeneratePage($template, $pagetitle, $revision, $args);
+
+    /* Handle other formats: So far we had html only.
+       xml is requested by loaddump, rss is handled by recentchanges, 
+       pdf is a special action, but should be a format to dump multiple pages
+       if the actionpage plugin returns a pagelist.
+       rdf and owl are handled by SemanticWeb.
+    */
+    $format = $request->getArg('format');
+    /* At first the single page formats: html, xml */
+    if ($pagename == _("LinkDatabase")) {
+        $template = Template('browse', array('CONTENT' => $transformedContent));
+	GeneratePage($template, $pagetitle, $revision, $args);
+    } elseif (!$format or $format == 'html' or $format == 'sidebar' or $format == 'contribs') {
+	$template = Template('browse', array('CONTENT' => $transformedContent));
+	GeneratePage($template, $pagetitle, $revision, $args);
+    } elseif ($format == 'xml') {
+	$template = Template('browse', array('CONTENT' => $transformedContent));
+	GeneratePageAsXML($template, $pagetitle, $revision, $args);
+    } else {
+    	$pagelist = null;
+    	require_once('lib/WikiPlugin.php');
+	// Then the multi-page formats
+	// rss (if not already handled by RecentChanges)
+	// Need the pagelist from the first plugin
+	foreach($transformedContent->_content as $cached_element) {
+	    if (is_a($cached_element, "Cached_PluginInvocation")) {
+	        $loader = new WikiPluginLoader;
+	        $markup = null;
+	        // return the first found pagelist
+	        $pagelist = $loader->expandPI($cached_element->_pi, $request, $markup, $pagename);
+	        if (is_a($pagelist, 'PageList'))
+	            break;
+	    }
+	}
+        if (!$pagelist or !is_a($pagelist, 'PageList')) {
+	    if (!in_array($format, array("rss91","rss2","rss","atom","rdf")))
+		trigger_error(sprintf("Format %s requires an actionpage returning a pagelist.", $format)
+			      ."\n".("Fall back to single page mode"), E_USER_WARNING);
+	    $pagelist = new PageList();
+	    $pagelist->addPage($page);
+	}
+	if ($format == 'pdf') {
+	    require_once("lib/pdf.php");
+	    ConvertAndDisplayPdfPageList($request, $pagelist);
+	// time-sorted RDF  la RecentChanges
+	} elseif (in_array($format, array("rss91","rss2","rss","atom"))) {
+            $args = $request->getArgs();
+            if ($pagename == _("RecentChanges")) {
+                $template->printExpansion($args);
+	    } else {
+	        require_once("lib/plugin/RecentChanges.php");
+	        $plugin = new WikiPlugin_RecentChanges();
+                return $plugin->format($plugin->getChanges($request->_dbi, $args), $args);
+	    }
+	} elseif ($format == 'rdf') { // all semantic relations and attributes
+	    require_once("lib/SemanticWeb.php");
+	    $rdf = new RdfWriter($request, $pagelist);
+	    $rdf->format();
+	} elseif ($format == 'owl') { // or daml?
+	    require_once("lib/SemanticWeb.php");
+	    $rdf = new OwlWriter($request, $pagelist);
+	    $rdf->format();
+	} else {
+	    $template = Template('browse', array('CONTENT' => $transformedContent));
+	    GeneratePage($template, $pagetitle, $revision, $args);
+	}
+    }
     $request->checkValidators();
     flush();
+    return '';
 }
 
 function displayPage(&$request, $template=false) {
@@ -104,7 +162,7 @@
         $pages = explode(SUBPAGE_SEPARATOR, $pagename);
         $last_page = array_pop($pages); // deletes last element from array as side-effect
         $pageheader = HTML::span(HTML::a(array('href' => WikiURL($pages[0]),
-                                              'class' => 'pagetitle'
+                                               'class' => 'pagetitle'
                                               ),
                                         $WikiTheme->maybeSplitWikiWord($pages[0] . SUBPAGE_SEPARATOR)));
         $first_pages = $pages[0] . SUBPAGE_SEPARATOR;
@@ -156,62 +214,55 @@
             header("Content-Type: text/html; charset=" . $GLOBALS['charset']);
     }
 */
-    $page_content = $revision->getTransformedContent();
 
-    // if external searchengine (google) referrer, highlight the searchterm
-    // FIXME: move that to the transformer?
-    // OR: add the searchhightplugin line to the content?
+    $toks['TITLE'] = $pagetitle;   // <title> tag
+    $toks['HEADER'] = $pageheader; // h1 with backlink
+    $toks['revision'] = $revision;
+
+    // On external searchengine (google) referrer, highlight the searchterm and 
+    // pass through the Searchhighlight actionpage.
     if ($result = isExternalReferrer($request)) {
-    	if (DEBUG and !empty($result['query'])) {
-            //$GLOBALS['SearchHighlightQuery'] = $result['query'];
-            /* simply add the SearchHighlight plugin to the top of the page. 
-               This just parses the wikitext, and doesn't highlight the markup */
-            include_once('lib/WikiPlugin.php');
-	    $loader = new WikiPluginLoader;
-            $xml = $loader->expandPI('<'.'?plugin SearchHighlight s="'.$result['query'].'"?'.'>', $request, $markup);
-            if ($xml and is_array($xml)) {
-              foreach (array_reverse($xml) as $line) {
-                array_unshift($page_content->_content, $line);
-              }
-              array_unshift($page_content->_content, 
-                            HTML::div(_("You searched for: "), HTML::strong($result['query'])));
-            }
-            
-            if (0) {
-            /* Parse the transformed (mixed HTML links + strings) lines?
-               This looks like overkill.
-             */
-            require_once("lib/TextSearchQuery.php");
-            $query = new TextSearchQuery($result['query']);
-            $hilight_re = $query->getHighlightRegexp();
-            //$matches = preg_grep("/$hilight_re/i", $revision->getContent());
-            // FIXME!
-            for ($i=0; $i < count($page_content->_content); $i++) {
-                $found = false;
-                $line = $page_content->_content[$i];
-            	if (is_string($line)) {
-                    while (preg_match("/^(.*?)($hilight_re)/i", $line, $m)) {
-                        $found = true;
-                        $line = substr($line, strlen($m[0]));
-                        $html[] = $m[1];    // prematch
-                        $html[] = HTML::strong(array('class' => 'search-term'), $m[2]); // match
-                    }
-            	}
-                if ($found) {
-                    $html[] = $line;  // postmatch
-                    $page_content->_content[$i] = HTML::span(array('class' => 'search-context'),
-                                                             $html);
+    	if (!empty($result['query'])) {
+    	    if (ENABLE_SEARCHHIGHLIGHT) {
+                $request->_searchhighlight = $result;
+                $request->appendValidators(array('%mtime' => time())); // force no cache(?)
+                // Should be changed to check the engine and search term only
+                // $request->setArg('nocache', 1); 
+                $page_content = new TransformedText($revision->getPage(),
+                                                    $revision->getPackedContent(),
+                                                    $revision->getMetaData());
+		/* Now add the SearchHighlight plugin to the top of the page, in memory only.
+		   You can parametrize this by changing the SearchHighlight action page.
+		*/
+                if ($actionpage = $request->findActionPage('SearchHighlight')) {
+                    $actionpage = $request->getPage($actionpage);
+                    $actionrev = $actionpage->getCurrentRevision();
+                    $pagetitle = HTML(fmt("%s: %s", 
+                                          $actionpage->getName(),
+                                          $WikiTheme->linkExistingWikiWord($pagename, false, $version)));
+                    $request->appendValidators(array('actionpagerev' => $actionrev->getVersion(),
+                                                     '%mtime' => $actionrev->get('mtime')));
+                    $toks['SEARCH_ENGINE'] = $result['engine'];
+                    $toks['SEARCH_ENGINE_URL'] = $result['engine_url'];
+                    $toks['SEARCH_TERM'] = $result['query'];
+		    //$toks['HEADER'] = HTML($actionpage->getName(),": ",$pageheader); // h1 with backlink
+                    $actioncontent = new TransformedText($actionrev->getPage(),
+                                                         $actionrev->getPackedContent(),
+                                                         $actionrev->getMetaData());
+		    // prepend the actionpage in front of the hightlighted content
+	            $toks['CONTENT'] = HTML($actioncontent, $page_content);
                 }
-            }
-            }
-        }
+	    }
+	} else {
+            $page_content = $revision->getTransformedContent();
+	}
+    } else {
+        $page_content = $revision->getTransformedContent();
     }
    
-    /* Check for special pagenames */
+    /* Check for special pagenames, which are no actionpages. */
     /*
-    if ( $pagename == _("RecentChanges") 
-         || $pagename == _("RecentEdits")
-         || $pagename == _("RecentVisitors")) {
+    if ( $pagename == _("RecentVisitors")) {
         $toks['ROBOTS_META']="noindex,follow";
     } else
     */
@@ -220,28 +271,99 @@
     } else if (!isset($toks['ROBOTS_META'])) {
         $toks['ROBOTS_META'] = "index,follow";
     }
-   
-    $toks['CONTENT'] = new Template('browse', $request, $page_content);
-    
-    $toks['TITLE'] = $pagetitle;   // <title> tag
-    $toks['HEADER'] = $pageheader; // h1 with backlink
-    $toks['revision'] = $revision;
+    if (!isset($toks['CONTENT']))
+        $toks['CONTENT'] = new Template('browse', $request, $page_content);
     if (!empty($redirect_message))
         $toks['redirected'] = $redirect_message;
+    
     $toks['PAGE_DESCRIPTION'] = $page_content->getDescription();
     $toks['PAGE_KEYWORDS'] = GleanKeywords($page);
     if (!$template)
         $template = new Template('html', $request);
+
+    // Handle other formats: So far we had html only.
+    // xml is requested by loaddump, rss is handled by RecentChanges, 
+    // pdf is a special action, but should be a format to dump multiple pages
+    // if the actionpage plugin returns a pagelist.
+    // rdf, owl, kbmodel, daml, ... are handled by SemanticWeb.
+    $format = $request->getArg('format');
+    /* Only single page versions. rss only if not already handled by RecentChanges.
+     */
+    if (!$format or $format == 'html' or $format == 'sidebar' or $format == 'contribs') {
+	$template->printExpansion($toks);
+    } elseif ($format == 'xml') {
+        $template = new Template('htmldump', $request);
+	$template->printExpansion($toks);
+    } else {
+	// No pagelist here. Single page version only
+	require_once("lib/PageList.php");
+	$pagelist = new PageList();
+	$pagelist->addPage($page);
+	if ($format == 'pdf') {
+	    require_once("lib/pdf.php");
+	    ConvertAndDisplayPdfPageList($request, $pagelist);
+	// time-sorted rdf a la RecentChanges
+	} elseif (in_array($format, array("rss91","rss2","rss","atom"))) {
+            if ($pagename == _("RecentChanges"))
+                $template->printExpansion($toks);
+            else {    
+	        require_once("lib/plugin/RecentChanges.php");
+	        $plugin = new WikiPlugin_RecentChanges();
+                $args = $request->getArgs();
+                return $plugin->format($plugin->getChanges($request->_dbi, $args), $args);
+            }
+	} elseif ($format == 'rdf') { // all semantic relations and attributes
+	    require_once("lib/SemanticWeb.php");
+	    $rdf = new RdfWriter($request, $pagelist);
+	    $rdf->format();
+	} elseif ($format == 'owl') { // or daml?
+	    require_once("lib/SemanticWeb.php");
+	    $rdf = new OwlWriter($request, $pagelist);
+	    $rdf->format();
+	} else {
+	    if (!in_array($pagename, array(_("LinkDatabase"))))
+	    	trigger_error(sprintf("Unhandled format %s. Reverting to html", $format), 
+	    	              E_USER_WARNING);
+	    $template->printExpansion($toks);
+	}
+    }
     
-    $template->printExpansion($toks);
     $page->increaseHitCount();
 
     if ($request->getArg('action') != 'pdf')
         $request->checkValidators();
     flush();
+    return '';
 }
 
 // $Log: display.php,v $
+// Revision 1.75  2007/07/01 09:17:45  rurban
+// add ATOM support, a very questionable format
+//
+// Revision 1.74  2007/06/07 17:01:27  rurban
+// actionPage has no toks: fix format=rss* on actionpages
+//
+// Revision 1.73  2007/05/30 20:43:31  rurban
+// added MonoBook UserContribs
+//
+// Revision 1.72  2007/05/13 18:13:12  rurban
+// LinkDatabase format exceptions
+//
+// Revision 1.71  2007/02/17 22:39:05  rurban
+// format=rss overhaul
+//
+// Revision 1.70  2007/01/22 23:43:06  rurban
+// Add RecentChanges format=sidebar
+//
+// Revision 1.69  2007/01/20 15:53:51  rurban
+// Rewrite of SearchHighlight: through ActionPage and InlineParser
+//
+// Revision 1.68  2007/01/20 11:25:19  rurban
+// actionPage: request is already global
+//
+// Revision 1.67  2007/01/07 18:44:20  rurban
+// Support format handlers for single- and multi-page: pagelists from actionpage plugins. Use USE_SEARCHHIGHLIGHT. Fix InlineHighlight (still experimental).
+//
 // Revision 1.66  2006/03/19 14:26:29  rurban
 // sf.net patch by Matt Brown: Add rel=nofollow to more actions
 //
@@ -327,4 +449,4 @@
 // c-hanging-comment-ender-p: nil
 // indent-tabs-mode: nil
 // End:
-?>
\ No newline at end of file
+?>
diff -ruN 1.3.12p3/lib/editpage.php 1.3.14/lib/editpage.php
--- 1.3.12p3/lib/editpage.php	2006-06-18 06:19:18.000000000 -0500
+++ 1.3.14/lib/editpage.php	2007-07-01 05:11:03.000000000 -0500
@@ -1,18 +1,8 @@
 <?php
-rcs_id('$Id: editpage.php,v 1.96 2005/05/06 17:54:22 rurban Exp $');
+rcs_id('$Id: editpage.php,v 1.111 2007/06/03 17:12:00 rurban Exp $');
 
 require_once('lib/Template.php');
 
-// USE_HTMLAREA - Support for some WYSIWYG HTML Editor
-// Not yet enabled, since we cannot convert HTML to Wiki Markup yet.
-// (See HtmlParser.php for the ongoing efforts)
-// We might use a HTML PageType, which is contra wiki, but some people might prefer HTML markup.
-// TODO: Change from constant to user preference variable (checkbox setting),
-//       when HtmlParser is finished.
-if (!defined('USE_HTMLAREA')) define('USE_HTMLAREA', false);
-if (USE_HTMLAREA) require_once('lib/htmlarea.php');
-if (ENABLE_CAPTCHA)  require_once('lib/Captcha.php'); 
-
 class PageEditor
 {
     function PageEditor (&$request) {
@@ -34,11 +24,19 @@
                             'mtime' => time());
         
         $this->tokens = array();
+
+        if (ENABLE_WYSIWYG) {
+            $backend = WYSIWYG_BACKEND;
+            // TODO: error message
+            require_once("lib/WysiwygEdit/$backend.php");
+            $class = "WysiwygEdit_$backend";
+            $this->WysiwygEdit = new $class();
+        }
         if (ENABLE_CAPTCHA) {
             require_once('lib/Captcha.php');
             $this->Captcha = new Captcha($this->meta);
         }
-        
+
         $version = $request->getArg('version');
         if ($version !== false) {
             $this->selected = $this->page->getRevision($version);
@@ -88,6 +86,9 @@
             and ($r->getPref('editHeight') != $r->args['pref']['editHeight'])) {
             $r->_prefs->set('editHeight', $r->args['pref']['editHeight']);
         }
+        
+        if ($this->isModerated())
+            $tokens['PAGE_LOCKED_MESSAGE'] = $this->getModeratedMessage();
 
         if (! $this->canEdit()) {
             if ($this->isInitialEdit())
@@ -101,6 +102,7 @@
 	    }
             elseif ( $this->savePage()) {
                 // noreturn
+                $request->setArg('action', false);
                 $r->redirect(WikiURL($r->getArg('save_and_redirect_to')));
                 return true;    // Page saved.
             }
@@ -118,6 +120,32 @@
                 $saveFailed = true;
             }
         }
+	// coming from loadfile conflicts 
+        elseif ($this->editaction == 'keep_old') {
+	    // keep old page and do nothing
+            $this->_redirectToBrowsePage();
+            //$r->redirect(WikiURL($r->getArg('save_and_redirect_to')));
+	    return true;
+        }
+        elseif ($this->editaction == 'overwrite') { 
+            // take the new content without diff
+	    $source = $this->request->getArg('loadfile');
+	    require_once('lib/loadsave.php');
+	    $this->request->setArg('loadfile', 1);
+	    $this->request->setArg('overwrite', 1);
+	    $this->request->setArg('merge', 0);
+	    LoadFileOrDir($this->request);
+            $this->_redirectToBrowsePage();
+            //$r->redirect(WikiURL($r->getArg('save_and_redirect_to')));
+            return true;
+        }
+        elseif ($this->editaction == 'upload') {
+            // run plugin UpLoad
+            $plugin = WikiPluginLoader("UpLoad");
+            $plugin->run();
+            // add link to content	 
+            ;
+        }
 
         if ($saveFailed and $this->isConcurrentUpdate())
         {
@@ -129,7 +157,7 @@
             $orig_content = $orig->getContent();
             $this_content = explode("\n", $this->_content);
             $other_content = $this->current->getContent();
-            include_once("lib/diff3.php");
+            require_once("lib/diff3.php");
             $diff = new diff3($orig_content, $this_content, $other_content);
             $output = $diff->merged_output(_("Your version"), _("Other version"));
             // Set the content of the textarea to the merged diff
@@ -151,12 +179,14 @@
             $tokens['PREVIEW_CONTENT'] = $this->getConvertedPreview();
         if ($this->editaction == 'preview')
             $tokens['PREVIEW_CONTENT'] = $this->getPreview(); // FIXME: convert to _MESSAGE?
+        if ($this->editaction == 'diff')
+            $tokens['PREVIEW_CONTENT'] = $this->getDiff();
 
         // FIXME: NOT_CURRENT_MESSAGE?
         $tokens = array_merge($tokens, $this->getFormElements());
 
-        if (ENABLE_EDIT_TOOLBAR) {
-            include_once("lib/EditToolbar.php");
+        if (ENABLE_EDIT_TOOLBAR and !ENABLE_WYSIWYG) {
+            require_once("lib/EditToolbar.php");
             $toolbar = new EditToolbar();
             $tokens = array_merge($tokens, $toolbar->getTokens());
         }
@@ -179,11 +209,15 @@
         }
 
         $title = new FormattedText ($title_fs, $pagelink);
-        if (USE_HTMLAREA and $template == 'editpage') {
-            $WikiTheme->addMoreHeaders(Edit_HtmlArea_Head());
-            //$tokens['PAGE_SOURCE'] = Edit_HtmlArea_ConvertBefore($this->_content);
+        // not for dumphtml or viewsource
+        if (ENABLE_WYSIWYG and $template == 'editpage') {
+            $WikiTheme->addMoreHeaders($this->WysiwygEdit->Head());
+            //$tokens['PAGE_SOURCE'] = $this->WysiwygEdit->ConvertBefore($this->_content);
         }
         $template = Template($template, $this->tokens);
+	/* Tell google (and others) not to take notice of edit links */
+	if (GOOGLE_LINKS_NOFOLLOW)
+	    $args = array('ROBOTS_META' => "noindex,nofollow");
         GeneratePage($template, $title, $rev);
         return true;
     }
@@ -227,8 +261,9 @@
             // Save failed. No changes made.
             $this->_redirectToBrowsePage();
             // user will probably not see the rest of this...
-            include_once('lib/display.php');
+            require_once('lib/display.php');
             // force browse of current version:
+            $request->setArg('action', false);
             $request->setArg('version', false);
             displayPage($request, 'nochanges');
             return true;
@@ -241,7 +276,7 @@
             // Save failed. No changes made.
             $this->_redirectToBrowsePage();
             // user will probably not see the rest of this...
-            include_once('lib/display.php');
+            require_once('lib/display.php');
             // force browse of current version:
             $request->setArg('version', false);
             displayPage($request, 'nochanges');
@@ -276,7 +311,7 @@
         $this->updateLock();
 
         // Clean out archived versions of this page.
-        include_once('lib/ArchiveCleaner.php');
+        require_once('lib/ArchiveCleaner.php');
         $cleaner = new ArchiveCleaner($GLOBALS['ExpireParams']);
         $cleaner->cleanPageRevisions($page);
 
@@ -297,17 +332,21 @@
             // been defined.  In this case, the user will most
             // likely not see the rest of the HTML we generate
             // (below).
+            $request->setArg('action', false);
             $this->_redirectToBrowsePage();
         }
 
         // Force browse of current page version.
         $request->setArg('version', false);
-        //$request->setArg('action', false);
+        // testme: does preview and more need action=edit?
+        $request->setArg('action', false);
 
         $template = Template('savepage', $this->tokens);
         $template->replace('CONTENT', $newrevision->getTransformedContent());
-        if (!empty($warnings->_content))
+        if (!empty($warnings->_content)) {
             $template->replace('WARNINGS', $warnings);
+            unset($GLOBALS['ErrorManager']->_postponed_errors); 
+        }
 
         $pagelink = WikiLink($page);
 
@@ -352,12 +391,13 @@
 
         $oldtext = $current->getPackedContent();
         $newtext =& $this->_content;
-
+        $numlinks = $this->numLinks($newtext);
+        $newlinks = $numlinks - $this->numLinks($oldtext);
         // FIXME: in longer texts the NUM_SPAM_LINKS number should be increased.
         //        better use a certain text : link ratio.
 
         // 1. Not more then 20 new external links
-        if ($this->numLinks($newtext) - $this->numLinks($oldtext) >= NUM_SPAM_LINKS)
+        if ($newlinks >= NUM_SPAM_LINKS)
         {
             // Allow strictly authenticated users?
             // TODO: mail the admin?
@@ -369,7 +409,7 @@
         // 2. external babycart (SpamAssassin) check
         // This will probably prevent from discussing sex or viagra related topics. So beware.
         if (ENABLE_SPAMASSASSIN) {
-            include_once("lib/spam_babycart.php");
+            require_once("lib/spam_babycart.php");
             if ($babycart = check_babycart($newtext, $request->get("REMOTE_ADDR"), 
                                            $this->user->getId())) {
                 // TODO: mail the admin
@@ -382,24 +422,37 @@
             }
         }
         // 3. extract (new) links and check surbl for blocked domains
-        if (ENABLE_SPAMBLOCKLIST and $this->numLinks($newtext)) {
-            include_once("lib/SpamBlocklist.php");
-            include_once("lib/InlineParser.php");
+        if (ENABLE_SPAMBLOCKLIST and ($newlinks > 5)) {
+            require_once("lib/SpamBlocklist.php");
+            require_once("lib/InlineParser.php");
             $parsed = TransformLinks($newtext);
+            $oldparsed = TransformLinks($oldtext);
+            $oldlinks = array();
+            foreach ($oldparsed->_content as $link) {
+            	if (isa($link, 'Cached_ExternalLink') and !isa($link, 'Cached_InterwikiLink')) {
+                    $uri = $link->_getURL($this->page->getName());
+                    $oldlinks[$uri]++;
+            	}
+            }
+            unset($oldparsed);
             foreach ($parsed->_content as $link) {
-            	if (isa($link, 'Cached_ExternalLink')) {
-                  $uri = $link->_getURL($this->page->getName());
-                  if ($res = IsBlackListed($uri)) {
-                    // TODO: mail the admin
-                    $this->tokens['PAGE_LOCKED_MESSAGE'] = 
-                        HTML($this->getSpamMessage(),
-                             HTML::p(HTML::strong(_("External links contain blocked domains:")),
-                             HTML::ul(HTML::li(sprintf(_("%s is listed at %s"), 
-                                                       $res[2], $res[0])))));
-                    return true;
-                  }
+            	if (isa($link, 'Cached_ExternalLink') and !isa($link, 'Cached_InterwikiLink')) {
+                    $uri = $link->_getURL($this->page->getName());
+                    // only check new links, so admins may add blocked links.
+                    if (!array_key_exists($uri, $oldlinks) and ($res = IsBlackListed($uri))) {
+                        // TODO: mail the admin
+                        $this->tokens['PAGE_LOCKED_MESSAGE'] = 
+                            HTML($this->getSpamMessage(),
+                                 HTML::p(HTML::strong(_("External links contain blocked domains:")),
+                                         HTML::ul(HTML::li(sprintf(_("%s is listed at %s with %s"), 
+                                                                   $uri." [".$res[2]."]", $res[0], $res[1])))));
+                        return true;
+                    }
             	}
             }
+            unset($oldlinks);
+            unset($parsed);
+            unset($oldparsed);
         }
 
         return false;
@@ -423,24 +476,51 @@
     }
 
     function getPreview () {
-        include_once('lib/PageType.php');
+        require_once('lib/PageType.php');
         $this->_content = $this->getContent();
 	return new TransformedText($this->page, $this->_content, $this->meta);
     }
 
     function getConvertedPreview () {
-        include_once('lib/PageType.php');
+        require_once('lib/PageType.php');
         $this->_content = $this->getContent();
         $this->meta['markup'] = 2.0;
         $this->_content = ConvertOldMarkup($this->_content);
 	return new TransformedText($this->page, $this->_content, $this->meta);
     }
 
+    function getDiff () {
+        require_once('lib/diff.php');
+	$html = HTML();
+	
+	$diff = new Diff($this->current->getContent(), explode("\n", $this->getContent()));
+	if ($diff->isEmpty()) {
+	    $html->pushContent(HTML::hr(),
+			       HTML::p('[', _("Versions are identical"),
+				       ']'));
+	}
+	else {
+	    // New CSS formatted unified diffs (ugly in NS4).
+	    $fmt = new HtmlUnifiedDiffFormatter;
+	    // Use this for old table-formatted diffs.
+	    //$fmt = new TableUnifiedDiffFormatter;
+	    $html->pushContent($fmt->format($diff));
+	}
+        return $html;
+    }
+
     // possibly convert HTMLAREA content back to Wiki markup
     function getContent () {
-        if (USE_HTMLAREA) {
-            $xml_output = Edit_HtmlArea_ConvertAfter($this->_content);
-            $this->_content = join("", $xml_output->_content);
+        if (ENABLE_WYSIWYG) {
+            // don't store everything as html
+            if (!WYSIWYG_DEFAULT_PAGETYPE_HTML) {
+                // Wikiwyg shortcut to avoid the InlineTransformer:
+                if (WYSIWYG_BACKEND == "Wikiwyg") return $this->_content;
+                $xml_output = $this->WysiwygEdit->ConvertAfter($this->_content);
+                $this->_content = join("", $xml_output->_content);
+            } else {
+                $this->meta['pagetype'] = 'html';
+            }
             return $this->_content;
         } else {
             return $this->_content;
@@ -455,6 +535,16 @@
                  HTML::p(_("Sorry for the inconvenience.")));
     }
 
+    function isModerated() {
+        return $this->page->get('moderation');
+    }
+    function getModeratedMessage() {
+        return
+            HTML(HTML::h2(WikiLink(_("ModeratedPage"))),
+                 HTML::p(fmt("You can edit away, but your changes will have to be approved by the defined moderators at the definition in %s", WikiLink(_("ModeratedPage")))),
+                 HTML::p(fmt("The approval has a grace period of 5 days. If you have your E-Mail defined in your %s, you will get a notification of approval or rejection.", 
+                         WikiLink(_("UserPreferences")))));
+    }
     function getConflictMessage ($unresolved = false) {
         /*
          xgettext only knows about c/c++ line-continuation strings
@@ -491,15 +581,18 @@
         $request = &$this->request;
 
         $readonly = ! $this->canEdit(); // || $this->isConcurrentUpdate();
-        if (USE_HTMLAREA) {
-            $html = $this->getPreview();
+
+        // WYSIWYG will need two pagetypes: raw wikitest and converted html
+        if (ENABLE_WYSIWYG) {
             $this->_wikicontent = $this->_content;
-            $this->_content = $html->asXML();
+            $this->_content = $this->WysiwygEdit->ConvertBefore($this->_content);
+            //                $this->getPreview();
+            //$this->_htmlcontent = $this->_content->asXML();
         }
 
         $textarea = HTML::textarea(array('class'=> 'wikiedit',
                                          'name' => 'edit[content]',
-                                         'id'   => 'edit[content]',
+                                         'id'   => 'edit-content',
                                          'rows' => $request->getPref('editHeight'),
                                          'cols' => $request->getPref('editWidth'),
                                          'readonly' => (bool) $readonly),
@@ -509,9 +602,10 @@
          */
         if (isBrowserNS4())
             $textarea->setAttr('wrap', 'virtual');
-        if (USE_HTMLAREA)
-            return Edit_HtmlArea_Textarea($textarea,$this->_wikicontent,'edit[content]');
-        else
+        if (ENABLE_WYSIWYG) {
+            return $this->WysiwygEdit->Textarea($textarea, $this->_wikicontent, 
+                                                $textarea->getAttr('name'));
+        } else
             return $textarea;
     }
 
@@ -534,7 +628,7 @@
         $el['SUMMARY_INPUT']
             = HTML::input(array('type'  => 'text',
                                 'class' => 'wikitext',
-                                'id' => 'edit[summary]',
+                                'id' => 'edit-summary',
                                 'name'  => 'edit[summary]',
                                 'size'  => 50,
                                 'maxlength' => 256,
@@ -542,7 +636,7 @@
         $el['MINOR_EDIT_CB']
             = HTML::input(array('type' => 'checkbox',
                                 'name'  => 'edit[minor_edit]',
-                                'id' => 'edit[minor_edit]',
+                                'id' => 'edit-minor_edit',
                                 'checked' => (bool) $this->meta['is_minor_edit']));
         $el['OLD_MARKUP_CB']
             = HTML::input(array('type' => 'checkbox',
@@ -556,36 +650,53 @@
         $el['LOCKED_CB']
             = HTML::input(array('type' => 'checkbox',
                                 'name' => 'edit[locked]',
-                                'id'   => 'edit[locked]',
+                                'id'   => 'edit-locked',
                                 'disabled' => (bool) !$this->user->isadmin(),
                                 'checked'  => (bool) $this->locked));
 
         $el['PREVIEW_B'] = Button('submit:edit[preview]', _("Preview"),
-                                  'wikiaction');
+                                  'wikiaction',
+                                  array('accesskey'=> 'p', 
+                                     'title' => 'Preview the current content [alt-p]'));
 
         //if (!$this->isConcurrentUpdate() && $this->canEdit())
-        $el['SAVE_B'] = Button('submit:edit[save]', _("Save"), 'wikiaction');
-
+        $el['SAVE_B'] = Button('submit:edit[save]',
+                               _("Save"), 'wikiaction',
+                               array('accesskey'=> 's', 
+                                     'title' => 'Save the current content as wikipage [alt-s]'));
+        $el['CHANGES_B'] = Button('submit:edit[diff]',
+                               _("Changes"), 'wikiaction',
+                               array('accesskey'=> 'c', 
+                                     'title' => 'Preview the current changes as diff [alt-c]'));
+        $el['UPLOAD_B'] = Button('submit:edit[upload]',
+                               _("Upload"), 'wikiaction',
+                                array('title' => 'Select a local file and press Upload to attach into this page'));
+        $el['SPELLCHECK_B'] = Button('submit:edit[SpellCheck]',
+                               _("Spell Check"), 'wikiaction',
+                                array('title' => 'Check the spelling'));
         $el['IS_CURRENT'] = $this->version == $this->current->getVersion();
 
-        $el['WIDTH_PREF'] = HTML::input(array('type' => 'text',
-                                    'size' => 3,
-                                    'maxlength' => 4,
-                                    'class' => "numeric",
-                                    'name' => 'pref[editWidth]',
-                                    'id'   => 'pref[editWidth]',
-                                    'value' => $request->getPref('editWidth'),
-                                    'onchange' => 'this.form.submit();'));
-        $el['HEIGHT_PREF'] = HTML::input(array('type' => 'text',
-                                     'size' => 3,
-                                     'maxlength' => 4,
-                                     'class' => "numeric",
-                                     'name' => 'pref[editHeight]',
-                                     'id'   => 'pref[editHeight]',
-                                     'value' => $request->getPref('editHeight'),
-                                     'onchange' => 'this.form.submit();'));
+        $el['WIDTH_PREF'] 
+            = HTML::input(array('type'     => 'text',
+                                'size'     => 3,
+                                'maxlength'=> 4,
+                                'class'    => "numeric",
+                                'name'     => 'pref[editWidth]',
+                                'id'       => 'pref-editWidth',
+                                'value'    => $request->getPref('editWidth'),
+                                'onchange' => 'this.form.submit();'));
+        $el['HEIGHT_PREF'] 
+            = HTML::input(array('type'     => 'text',
+                                'size'     => 3,
+                                'maxlength'=> 4,
+                                'class'    => "numeric",
+                                'name'     => 'pref[editHeight]',
+                                'id'       => 'pref-editHeight',
+                                'value'    => $request->getPref('editHeight'),
+                                'onchange' => 'this.form.submit();'));
         $el['SEP'] = $WikiTheme->getButtonSeparator();
-        $el['AUTHOR_MESSAGE'] = fmt("Author will be logged as %s.", HTML::em($this->user->getId()));
+        $el['AUTHOR_MESSAGE'] = fmt("Author will be logged as %s.", 
+                                    HTML::em($this->user->getId()));
         
         return $el;
     }
@@ -600,8 +711,9 @@
         $posted = $request->getArg('edit');
         $request->setArg('edit', false);
 
-        if (!$posted || !$request->isPost()
-            || $request->getArg('action') != 'edit')
+        if (!$posted 
+	    || !$request->isPost()
+            || !in_array($request->getArg('action'),array('edit','loadfile')))
             return false;
 
         if (!isset($posted['content']) || !is_string($posted['content']))
@@ -629,13 +741,13 @@
         $this->meta = array_merge($this->meta, $meta);
         $this->locked = !empty($posted['locked']);
 
-        if (!empty($posted['preview']))
-            $this->editaction = 'preview';
-        elseif (!empty($posted['save']))
-            $this->editaction = 'save';
-        elseif (!empty($posted['edit_convert']))
-            $this->editaction = 'edit_convert';
-        else
+	foreach (array('preview','save','edit_convert',
+		       'keep_old','overwrite','diff','upload') as $o) 
+	{
+	    if (!empty($posted[$o]))
+		$this->editaction = $o;
+	}
+        if (empty($this->editaction))
             $this->editaction = 'edit';
 
         return true;
@@ -684,13 +796,15 @@
         $tokens = &$this->tokens;
 
         if (!$this->canEdit()) {
-            if ($this->isInitialEdit())
+            if ($this->isInitialEdit()) {
                 return $this->viewSource();
+	    }
             $tokens['PAGE_LOCKED_MESSAGE'] = $this->getLockedMessage();
         }
         elseif ($this->editaction == 'save') {
-            if ($this->savePage())
+            if ($this->savePage()) {
                 return true;    // Page saved.
+	    }
             $saveFailed = true;
         }
 
@@ -702,7 +816,7 @@
             $orig = $this->page->getRevision($this->_currentVersion);
             $this_content = explode("\n", $this->_content);
             $other_content = $this->current->getContent();
-            include_once("lib/diff.php");
+            require_once("lib/diff.php");
             $diff2 = new Diff($other_content, $this_content);
             $context_lines = max(4, count($other_content) + 1,
                                  count($this_content) + 1);
@@ -727,9 +841,31 @@
 
         // FIXME: NOT_CURRENT_MESSAGE?
         $tokens = array_merge($tokens, $this->getFormElements());
+	// we need all GET params for loadfile overwrite
+	if ($this->request->getArg('action') == 'loadfile') {
+		
+	    $this->tokens['HIDDEN_INPUTS'] = 
+		HTML(HiddenInputs
+		    (array('source' => $this->request->getArg('source'),
+		           'merge'  => 1)),
+		     $this->tokens['HIDDEN_INPUTS']);
+	    // add two conflict resolution buttons before preview and save.
+	    $tokens['PREVIEW_B'] = HTML(
+				    Button('submit:edit[keep_old]', 
+					   _("Keep old"), 'wikiaction'),
+				    $tokens['SEP'],
+				    Button('submit:edit[overwrite]', 
+					   _("Overwrite with new"), 'wikiaction'),
+				    $tokens['SEP'],
+				    $tokens['PREVIEW_B']);
+	}
+	if (ENABLE_EDIT_TOOLBAR and !ENABLE_WYSIWYG) {
+            include_once("lib/EditToolbar.php");
+            $toolbar = new EditToolbar();
+            $tokens = array_merge($tokens, $toolbar->getTokens());
+	}
 
         return $this->output('editpage', _("Merge and Edit: %s"));
-        // FIXME: this doesn't display
     }
 
     function output ($template, $title_fs) {
@@ -745,7 +881,14 @@
             $pagelink = WikiLink($this->page);
         }
 
-        //$title = new FormattedText ($title_fs, $pagelink);
+        $title = new FormattedText ($title_fs, $pagelink);
+	$this->tokens['HEADER'] = $title;
+	//hack! there's no TITLE in editpage, but in the previous top template
+	if (empty($this->tokens['PAGE_LOCKED_MESSAGE']))
+	    $this->tokens['PAGE_LOCKED_MESSAGE'] = HTML::h3($title);
+	else
+	    $this->tokens['PAGE_LOCKED_MESSAGE'] = HTML(HTML::h3($title),
+							$this->tokens['PAGE_LOCKED_MESSAGE']);
         $template = Template($template, $this->tokens);
 
         //GeneratePage($template, $title, $rev);
@@ -764,12 +907,42 @@
 
 /**
  $Log: editpage.php,v $
+ Revision 1.112  2007/06/09 20:05:35  rurban
+ fix and optimize ENABLE_SPAMBLOCKLIST and ($newlinks > 5))
+
+ Revision 1.111  2007/06/03 17:12:00  rurban
+ convenience: only check above 5 external links for blocked domains
+
+ Revision 1.110  2007/01/07 18:42:00  rurban
+ Print ModeratedPage message on edit. Use GOOGLE_LINKS_NOFOLLOW. Improve id: edit: to edit-
+
+ Revision 1.109  2007/01/02 13:21:39  rurban
+ add two merge conflict buttons within loadfile: "Keep Old" and "Overwrite with new". enable edit toolbar there also. fix display of the Merge and Edit header.
+
+ Revision 1.108  2006/12/22 17:47:34  rurban
+ Display Warnings only once.
+ Add button accesskeys
+
+ Revision 1.107  2006/05/13 19:59:54  rurban
+ added wysiwyg_editor-1.3a feature by Jean-Nicolas GEREONE <jean-nicolas.gereone@st.com>
+ converted wysiwyg_editor-1.3a js to WysiwygEdit framework
+ changed default ENABLE_WYSIWYG = true and added WYSIWYG_BACKEND = Wikiwyg
+
  Revision 1.106  2005/11/21 22:03:08  rurban
  fix syntax error inside ENABLE_SPAMBLOCKLIST
 
  Revision 1.105  2005/11/21 20:53:59  rurban
  beautify request pref lines, no antispam if admin (netznetz request), user is a member anyway
 
+ Revision 1.104  2005/10/31 17:20:40  rurban
+ fix ConvertBefore
+
+ Revision 1.103  2005/10/31 17:09:13  rurban
+ use better constant WYSIWYG_DEFAULT_PAGETYPE_HTML
+
+ Revision 1.102  2005/10/31 16:47:14  rurban
+ enable wysiwyg html converters
+
  Revision 1.101  2005/10/30 16:12:28  rurban
  simplify viewsource tokens
 
@@ -782,6 +955,12 @@
    Check for links to blocked external tld domains in new edits, against
    multi.surbl.org and bl.spamcop.net.
 
+ Revision 1.98  2005/10/10 19:37:04  rurban
+ change USE_HTMLAREA to ENABLE WYSIWYG, add NUM_SPAM_LINKS=20
+
+ Revision 1.97  2005/09/26 06:32:22  rurban
+ [] is forbidden in id tags. Renamed to use :
+
  Revision 1.96  2005/05/06 17:54:22  rurban
  silence Preview warnings for PAGE_LOCKED_MESSAGE, CONCURRENT_UPDATE_MESSAGE (thanks to schorni)
 
@@ -998,4 +1177,4 @@
 // c-hanging-comment-ender-p: nil
 // indent-tabs-mode: nil
 // End:
-?>
\ No newline at end of file
+?>
diff -ruN 1.3.12p3/lib/EditToolbar.php 1.3.14/lib/EditToolbar.php
--- 1.3.12p3/lib/EditToolbar.php	2006-06-18 06:19:18.000000000 -0500
+++ 1.3.14/lib/EditToolbar.php	2007-07-01 05:11:03.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-rcs_id('$Id: EditToolbar.php,v 1.5 2005/10/29 14:16:17 rurban Exp $');
+rcs_id('$Id: EditToolbar.php,v 1.12 2007/06/02 18:23:36 rurban Exp $');
 
 /**
  * EDIT Toolbar Initialization.
@@ -9,7 +9,6 @@
  * - save-preview and formatting buttons from mediawiki
  * - Search&Replace from walterzorn.de
  * - pageinsert popup by Reini Urban (TODO: should be a pulldown, use acdropdown))
- *
  */
 
 class EditToolbar {
@@ -25,106 +24,41 @@
             $undo_btn = $WikiTheme->getImageURL("ed_undo.png"); 
             $undo_d_btn = $WikiTheme->getImageURL("ed_undo_d.png"); 
             // JS_SEARCHREPLACE from walterzorn.de
-            $WikiTheme->addMoreHeaders(Javascript("
-var f, sr_undo, replacewin, undo_buffer=new Array(), undo_buffer_index=0;
-
-function define_f() {
-   f=document.getElementById('editpage');
-   f.editarea=document.getElementById('edit[content]');
-   sr_undo=document.getElementById('sr_undo');
-   undo_enable(false);
-   f.editarea.focus();
-}
-function undo_enable(bool) {
-   if (bool) {
-     sr_undo.src='".$undo_btn."';
-     sr_undo.alt='"
-._("Undo")
-."';
-     sr_undo.disabled = false;
-   } else {
-     sr_undo.src='".$undo_d_btn."';
-     sr_undo.alt='"
-._("Undo disabled")
-."';
-     sr_undo.disabled = true;
-     if(sr_undo.blur) sr_undo.blur();
-  }
-}
-function replace() {
-   replacewin = window.open('','','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=yes,copyhistory=no,height=90,width=450');
-   replacewin.window.document.write('<html><head><title>"
-._("Search & Replace")
-."</title><style type=\"text/css\"><'+'!'+'-- body, input {font-family:Tahoma,Arial,Helvetica,sans-serif;font-size:10pt;font-weight:bold;} td {font-size:9pt}  --'+'></style></head><body bgcolor=\"#dddddd\" onload=\"if(document.forms[0].ein.focus) document.forms[0].ein.focus(); return false;\"><form><center><table><tr><td align=\"right\">'+'"
-._("Search")
-.":</td><td align=\"left\"><input type=\"text\" name=\"ein\" size=\"45\" maxlength=\"500\"></td></tr><tr><td align=\"right\">'+' "
-._("Replace with")
-.":</td><td align=\"left\"><input type=\"text\" name=\"aus\" size=\"45\" maxlength=\"500\"></td></tr><tr><td colspan=\"2\" align=\"center\"><input type=\"button\" value=\" "
-._("OK")
-." \" onclick=\"if(self.opener)self.opener.do_replace(); return false;\">&nbsp;&nbsp;&nbsp;<input type=\"button\" value=\""
-._("Close")
-."\" onclick=\"self.close(); return false;\"></td></tr></table></center></form></body></html>');
-   replacewin.window.document.close();
-   return false;
-}
-function do_replace() {
-   var txt=undo_buffer[undo_buffer_index]=f.editarea.value, ein=new RegExp(replacewin.document.forms[0].ein.value,'g'), aus=replacewin.document.forms[0].aus.value;
-   if (ein==''||ein==null) {
-      if (replacewin) replacewin.window.document.forms[0].ein.focus();
-      return;
-   }
-   var z_repl=txt.match(ein)? txt.match(ein).length : 0;
-   txt=txt.replace(ein,aus);
-   ein=ein.toString().substring(1,ein.toString().length-2);
-   result(z_repl, '"
-.sprintf(_("Substring \"%s\" found %s times. Replace with \"%s\"?"), "'+ein+'", "'+z_repl+'", "'+aus+'")
-."', txt, '"
-.sprintf(_("String \"%s\" not found."), "'+ein+'")
-."');
-   replacewin.window.focus();
-   replacewin.window.document.forms[0].ein.focus();
-   return false;
-}
-function result(zahl,frage,txt,alert_txt) {
-   if (zahl>0) {
-      if(window.confirm(frage)==true) {
-         f.editarea.value=txt;
-         undo_save();
-         undo_enable(true);
-      }
-   } else alert(alert_txt);
-}
-function do_undo() {
-   if(undo_buffer_index==0) return;
-   else if(undo_buffer_index>0) {
-      f.editarea.value=undo_buffer[undo_buffer_index-1];
-      undo_buffer[undo_buffer_index]=null;
-      undo_buffer_index--;
-      if(undo_buffer_index==0) {
-         alert('".
-_("Operation undone")
-."');
-         undo_enable(false);
-      }
-   }
-}
-//save a snapshot in the undo buffer
-function undo_save() {
-   undo_buffer[undo_buffer_index]=f.editarea.value;
-   undo_buffer_index++;
-   undo_enable(true);
-}
-"));
-            $WikiTheme->addMoreAttr('body', "SearchReplace"," onload='define_f()'");
+	    $js = Javascript("
+uri_undo_btn   = '".$undo_btn."'
+msg_undo_alt   = '"._("Undo")."'
+uri_undo_d_btn = '".$undo_d_btn."'
+msg_undo_d_alt = '"._("Undo disabled")."'
+msg_do_undo    = '"._("Operation undone")."'
+msg_replfound  = '"._("Substring \"\\1\" found \\2 times. Replace with \"\\3\"?")."'
+msg_replnot    = '"._("String \"%s\" not found.")."'
+msg_repl_title     = '"._("Search & Replace")."'
+msg_repl_search    = '"._("Search for")."'
+msg_repl_replace_with = '"._("Replace with")."'
+msg_repl_ok        = '"._("OK")."'
+msg_repl_close     = '"._("Close")."'
+");
+            if (empty($WikiTheme->_headers_printed)) {
+		$WikiTheme->addMoreHeaders($js);
+		$WikiTheme->addMoreAttr('body', "SearchReplace"," onload='define_f()'");
+	    } else { // from an actionpage: WikiBlog, AddComment, WikiForum
+		printXML($js);
+	    }
         } else {
-            $WikiTheme->addMoreAttr('body', "editfocus", "document.getElementById('edit[content]').editarea.focus()");
+            $WikiTheme->addMoreAttr('body', "editfocus", "document.getElementById('edit-content]').editarea.focus()");
         }
     
         if (ENABLE_EDIT_TOOLBAR) {
-            $WikiTheme->addMoreHeaders(JavaScript('',array('src' => $WikiTheme->_findData("toolbar.js"))));
+	    $js = JavaScript('',array('src' => $WikiTheme->_findData("toolbar.js")));
+            if (empty($WikiTheme->_headers_printed))
+		$WikiTheme->addMoreHeaders($js);
+	    else { // from an actionpage: WikiBlog, AddComment, WikiForum
+		printXML($js);
+		printXML(JavaScript('define_f()'));
+	    }
         }
 
-        include_once("lib/WikiPluginCached.php");
+        require_once("lib/WikiPluginCached.php");
         $cache = WikiPluginCached::newCache();
         $dbi = $GLOBALS['request']->getDbh();
         // regenerate if number of pages changes (categories, pages, templates)
@@ -154,79 +88,92 @@
     }
 
     function _generate () {
-        global $WikiTheme;
+        global $WikiTheme, $request;
 
         $toolbar = "document.writeln(\"<div class=\\\"edit-toolbar\\\" id=\\\"toolbar\\\">\");\n";
+        $accessKeyPrefix = $WikiTheme->tooltipAccessKeyPrefix();
 
         if (ENABLE_EDIT_TOOLBAR) {
+            $username = $request->_user->UserName();
+            if (DISABLE_MARKUP_WIKIWORD or (!isWikiWord($username))) {
+                $username = '['.$username.']';
+            }
+	    $signature = " --".$username." ".CTime();
             $toolarray = array(
                            array(
                                  "image"=>"ed_format_bold.png",
-                                 "open"=>"*",
-                                 "close"=>"*",
+                                 "open"=>"<strong>",
+                                 "close"=>"</strong>",
                                  "sample"=>_("Bold text"),
-                                 "tip"=>_("Bold text")),
+                                 "title"=>_("Bold text [alt-b]")),
                            array("image"=>"ed_format_italic.png",
-                                 "open"=>"_",
-                                 "close"=>"_",
+                                 "open"=>"<em>",
+                                 "close"=>"</em>",
                                  "sample"=>_("Italic text"),
-                                 "tip"=>_("Italic text")),
+                                 "title"=>_("Italic text [alt-i]")),
                            array("image"=>"ed_pagelink.png",
                                  "open"=>"[",
                                  "close"=>"]",
                                  "sample"=>_("optional label | PageName"),
-                                 "tip"=>_("Link to page")),
+                                 "title"=>_("Link to page")),
                            array("image"=>"ed_link.png",
                                  "open"=>"[",
                                  "close"=>"]",
                                  "sample"=>_("optional label | http://www.example.com"),
-                                 "tip"=>_("External link (remember http:// prefix)")),
+                                 "title"=>_("External link (remember http:// prefix)")),
                            array("image"=>"ed_headline.png",
                                  "open"=>"\\n!!! ",
                                  "close"=>"\\n",
                                  "sample"=>_("Headline text"),
-                                 "tip"=>_("Level 1 headline")),
+                                 "title"=>_("Level 1 headline")),
                            array("image"=>"ed_image.png",
                                  "open"=>"[ ",
                                  "close"=>" ]",
                                  "sample"=>_("Example.jpg"),
-                                 "tip"=>_("Embedded image")),
+                                 "title"=>_("Embedded image")),
                            array("image"=>"ed_nowiki.png",
-                                 "open"=>"\\n\\<verbatim\\>\\n",
-                                 "close"=>"\\n\\</verbatim\\>\\n",
+                                 "open"=>"\\<verbatim\\>\\n",
+                                 "close"=>"\\n\\</verbatim\\>",
                                  "sample"=>_("Insert non-formatted text here"),
-                                 "tip"=>_("Ignore wiki formatting")),
+                                 "title"=>_("Ignore wiki formatting")),
                            array("image"=>"ed_sig.png",
-                                 "open" => " --" . $GLOBALS['request']->_user->UserName(),
+                                 "open" => $signature,
                                  "close" => "",
                                  "sample"=>"",
-                                 "tip"=>_("Your signature")),
+                                 "title"=>_("Your signature")),
                            array("image"=>"ed_hr.png",
                                  "open"=>"\\n----\\n",
                                  "close"=>"",
                                  "sample"=>"",
-                                 "tip"=>_("Horizontal line"))
+                                 "title"=>_("Horizontal line"))
                            );
             $btn = new SubmitImageButton(_("Save"), "edit[save]", 'toolbar', 
                                          $WikiTheme->getImageURL("ed_save.png"));
             $btn->addTooltip(_("Save"));
+	    $btn->setAccesskey("s");
             $toolbar .= ('document.writeln("'.addslashes($btn->asXml()).'");'."\n");
-            $btn = new SubmitImageButton(_("Preview"), "edit[preview]", 'toolbar', 
-                                         $WikiTheme->getImageURL("ed_preview.png"));
-            $btn->addTooltip(_("Preview"));
-            $toolbar .= ('document.writeln("'.addslashes($btn->asXml()).'");'."\n");
+	    // preview not supported yet on Wikiblog
+            if (empty($WikiTheme->_headers_printed)) {
+		$btn = new SubmitImageButton(_("Preview"), "edit[preview]", 'toolbar', 
+					     $WikiTheme->getImageURL("ed_preview.png"));
+		$btn->addTooltip(_("Preview"));
+		$btn->setAccesskey("p");
+		$toolbar .= ('document.writeln("'.addslashes($btn->asXml()).'");'."\n");
+	    }
     
             foreach ($toolarray as $tool) {
+            	global $WikiTheme;
                 $image = $WikiTheme->getImageURL($tool["image"]);
                 $open  = $tool["open"];
                 $close = $tool["close"];
                 $sample = addslashes( $tool["sample"] );
-                // Note that we use the tip both for the ALT tag and the TITLE tag of the image.
+                // Note that we use the title both for the ALT tag and the TITLE tag of the image.
                 // Older browsers show a "speedtip" type message only for ALT.
                 // Ideally these should be different, realistically they
                 // probably don't need to be.
-                $tip = addslashes( $tool["tip"] );
-                $toolbar .= ("addTagButton('$image','$tip','$open','$close','$sample');\n");
+                $tool = $WikiTheme->fixAccesskey($tool);
+                $title = addslashes( $tool["title"] );
+                $toolbar .= ("addTagButton('$image','$title','$open','$close','$sample');\n");
             }
             $toolbar .= ("addInfobox('" 
                          . addslashes( _("Click a button to get an example text") ) 
@@ -251,15 +198,15 @@
                             (array('class'=>"toolbar",
                                    'src'  => $sr_btn,
                                    'alt'  =>_("Search & Replace"),
-                                   'title'=>_("Search & Replace"),
+                                   'title'=>_("Search & Replace")." [$accessKeyPrefix-h]",
+                                   'accesskey' => 'h',
                                    'onclick'=>"replace()")));
         } else {
             $sr_html = '';
         }
 
-        //TODO: delegate these calculations to a seperate popup/pulldown action request
-        // using moacdropdown and xmlrpc:titleSearch
-        // action=pulldown or xmlrpc/soap (see google: WebServiceProxyFactory.createProxyAsync)
+        //TODO: Delegate this to run-time with showing an hidden input at the right, and do 
+	// a seperate moacdropdown and xmlrpc:titleSearch.
 
         // Button to generate categories, display in extra window as popup and insert
         $sr_html = HTML($sr_html, $this->categoriesPulldown());
@@ -283,7 +230,7 @@
             return HTML(Javascript($toolbar . $toolbar_end));
     }
 
-    //TODO: make the result cached
+    //result is cached
     function categoriesPulldown() {
         global $WikiTheme;
 
@@ -293,25 +240,31 @@
         $pages = $dbi->titleSearch(new TextSearchQuery(KEYWORDS, true));
         if ($pages) {
             $categories = array();
-            while ($p = $pages->next()){
-                $categories[] = $p->getName();
+            while ($p = $pages->next()) {
+		$page = $p->getName();
+		if (DISABLE_MARKUP_WIKIWORD or (!isWikiWord($page)))
+		    $categories[] = "['$page', '%5B".$page."%5D']";
+		else
+		    $categories[] = "['$page', '$page']";
             }
             if (!$categories) return '';
-            $more_buttons = HTML::img(array('class'=>"toolbar",
+	    // Ensure this to be inserted at the very end. Hence we added the id to the function.
+            $more_buttons = HTML::img(array('class'=> "toolbar",
+					    'id' => 'tb-categories',
                                             'src'  => $WikiTheme->getImageURL("ed_category.png"),
                                             'title'=>_("AddCategory"),
-                                            'alt'=>_("AddCategory"),
+                                            'alt'=>"AddCategory", // to detect this at js
                                             'onclick'=>"showPulldown('".
                                             _("Insert Categories (double-click)")
-                                            ."',['".join("','",$categories)."'],'"
+                                            ."',[".join(",",$categories)."],'"
                                             ._("Insert")."','"
-                                            ._("Close")."')"));
+                                            ._("Close")."','tb-categories')"));
             return HTML("\n", $more_buttons);
         }
         return '';
     }
 
-    //TODO: Make the result cached. Esp. the args are expensive
+    // result is cached. Esp. the args are expensive
     function pluginPulldown() {
         global $WikiTheme;
 
@@ -337,13 +290,14 @@
                     $replace = array('%0A','%22','%27','%7C','%5B','%5D','%5C');
                     $desc = str_replace("<br />",' ',$desc->asXML());
                     if ($desc)
-                        $plugin_args = '\n'.str_replace($src, $replace, $desc);
+                        $plugin_args = ' '.str_replace($src, $replace, $desc);
                     $toinsert = "%0A<?plugin ".$pluginName.$plugin_args."?>"; // args?
                     $plugin_js .= ",['$pluginName','$toinsert']";
                 }
             }
             $plugin_js = substr($plugin_js, 1);
             $more_buttons = HTML::img(array('class'=>"toolbar",
+					    'id' => 'tb-plugins',
                                             'src'  => $WikiTheme->getImageURL("ed_plugins.png"),
                                             'title'=>_("AddPlugin"),
                                             'alt'=>_("AddPlugin"),
@@ -351,12 +305,13 @@
                                             _("Insert Plugin (double-click)")
                                             ."',[".$plugin_js."],'"
                                             ._("Insert")."','"
-                                            ._("Close")."')"));
+                                            ._("Close")."','tb-plugins')"));
             return HTML("\n", $more_buttons);
         }
         return '';
     }
 
+    // result is cached. Esp. the args are expensive
     function pagesPulldown($query, $case_exact=false, $regex='auto') {
         require_once('lib/TextSearchQuery.php');
         $dbi =& $GLOBALS['request']->_dbi;
@@ -364,26 +319,33 @@
         if ($page_iter->count()) {
             global $WikiTheme;
             $pages = array();
-            while ($p = $page_iter->next()){
-                $pages[] = $p->getName();
+            while ($p = $page_iter->next()) {
+		$page = $p->getName();
+		if (DISABLE_MARKUP_WIKIWORD or (!isWikiWord($page)))
+		    $pages[] = "['$page', '%5B".$page."%5D']";
+		else
+		    $pages[] = "['$page', '$page']";
             }
             return HTML("\n", HTML::img(array('class'=>"toolbar",
+					      'id' => 'tb-pages',
                                               'src'  => $WikiTheme->getImageURL("ed_pages.png"),
                                               'title'=>_("AddPageLink"),
                                               'alt'=>_("AddPageLink"),
                                               'onclick'=>"showPulldown('".
                                               _("Insert PageLink (double-click)")
-                                              ."',['".join("','",$pages)."'],'"
+                                              ."',[".join(",",$pages)."],'"
                                               ._("Insert")."','"
-                                              ._("Close")."')")));
+                                              ._("Close")."','tb-pages')")));
         }
         return '';
     }
 
-    //TODO: make the result cached
+    // result is cached. Esp. the args are expensive
+    // FIXME!
     function templatePulldown($query, $case_exact=false, $regex='auto') {
+        global $request;
         require_once('lib/TextSearchQuery.php');
-        $dbi =& $GLOBALS['request']->_dbi;
+        $dbi =& $request->_dbi;
         $page_iter = $dbi->titleSearch(new TextSearchQuery($query, $case_exact, $regex));
         $count = 0;
         if ($page_iter->count()) {
@@ -391,9 +353,7 @@
             $pages_js = '';
             while ($p = $page_iter->next()) {
                 $rev = $p->getCurrentRevision();
-                $src = array("\n",'"');
-                $replace = array('_nl','_quot'); 
-                $toinsert = str_replace($src, $replace, $rev->_get_content());
+                $toinsert = str_replace(array("\n",'"'), array('_nl','_quot'), $rev->_get_content());
                 //$toinsert = str_replace("\n",'\n',addslashes($rev->_get_content()));
                 $pages_js .= ",['".$p->getName()."','_nl$toinsert']";
             }
@@ -401,6 +361,7 @@
             if (!empty($pages_js))
                 return HTML("\n", HTML::img
                             (array('class'=>"toolbar",
+				   'id' => 'tb-templates',
                                    'src'  => $WikiTheme->getImageURL("ed_template.png"),
                                    'title'=>_("AddTemplate"),
                                    'alt'=>_("AddTemplate"),
@@ -408,7 +369,7 @@
                                    _("Insert Template (double-click)")
                                    ."',[".$pages_js."],'"
                                    ._("Insert")."','"
-                                   ._("Close")."')")));
+                                   ._("Close")."','tb-templates')")));
         }
         return '';
     }
@@ -416,26 +377,45 @@
 }
 
 /*
- $Log: EditToolbar.php,v $
- Revision 1.5  2005/10/29 14:16:17  rurban
- fix typo
+$Log: EditToolbar.php,v $
+Revision 1.12  2007/06/02 18:23:36  rurban
+Added accesskeys
 
- Revision 1.4  2005/09/29 23:07:58  rurban
- cache toolbar
+Revision 1.11  2007/02/17 14:16:21  rurban
+move define_f after toolbar.js
 
- Revision 1.3  2005/09/26 06:25:50  rurban
- EditToolbar enhancements by Thomas Harding: add plugins args, properly quote control chars. added plugin method getArgumentsDescription to override the default description string
+Revision 1.10  2007/01/07 18:42:19  rurban
+Improve id: edit: to edit-. Move search&replace js from body (defined in EditToolbar) to the toolbar.js. Support actionpages. Add tb-name argument to showPulldown
 
- Revision 1.3  2005/09/22 13:40:00 tharding
- add modules arguments
- 
- Revision 1.2  2005/05/06 18:43:41  rurban
- add AddTemplate EditToolbar icon
+Revision 1.9  2007/01/02 13:18:26  rurban
+fix id to edit:content
+
+Revision 1.8  2006/12/22 00:17:06  rurban
+add time to signature
 
- Revision 1.1  2005/01/25 15:19:09  rurban
- extract Toolbar code from editpage.php
+Revision 1.7  2006/09/06 05:45:26  rurban
+use html tags for emphasis. workaround ^* problem
 
+Revision 1.6  2006/08/30 05:25:40  rurban
+Handle inserting DISABLE_MARKUP_WIKIWORD and non wikiword links.
+
+Revision 1.5  2005/10/29 14:16:17  rurban
+fix typo
+
+Revision 1.4  2005/09/29 23:07:58  rurban
+cache toolbar
+
+Revision 1.3  2005/09/26 06:25:50  rurban
+EditToolbar enhancements by Thomas Harding: add plugins args, properly quote control chars. added plugin method getArgumentsDescription to override the default description string
+
+Revision 1.3  2005/09/22 13:40:00 tharding
+add modules arguments
+ 
+Revision 1.2  2005/05/06 18:43:41  rurban
+add AddTemplate EditToolbar icon
 
+Revision 1.1  2005/01/25 15:19:09  rurban
+extract Toolbar code from editpage.php
 */
 
 // Local Variables:
diff -ruN 1.3.12p3/lib/ErrorManager.php 1.3.14/lib/ErrorManager.php
--- 1.3.12p3/lib/ErrorManager.php	2006-06-18 06:19:18.000000000 -0500
+++ 1.3.14/lib/ErrorManager.php	2007-07-01 05:11:03.000000000 -0500
@@ -1,4 +1,4 @@
-<?php rcs_id('$Id: ErrorManager.php,v 1.43 2005/04/11 19:41:23 rurban Exp $');
+<?php rcs_id('$Id: ErrorManager.php,v 1.50 2007/01/09 12:35:28 rurban Exp $');
 
 if (isset($GLOBALS['ErrorManager'])) return;
 
@@ -22,7 +22,8 @@
    Only where absolute speed is necessary you might want to turn 
    them off.
 */
-if (1 or (defined('DEBUG') and DEBUG))
+//also turn it on if phpwiki_version notes no release
+if (defined('DEBUG') and DEBUG)
     assert_options (ASSERT_ACTIVE, 1);
 else
     assert_options (ASSERT_ACTIVE, 0);
@@ -460,12 +461,16 @@
         $errfile = preg_replace('|^' . preg_quote($dir) . '|', '', $this->errfile);
         $lines = explode("\n", $this->errstr);
         if (DEBUG & _DEBUG_VERBOSE) {
-          $msg = sprintf("%s:%d: %s[%d]: %s",
+          $msg = sprintf("%s:%d %s[%d]: %s",
                          $errfile, $this->errline,
                          $this->getDescription(), $this->errno,
                          array_shift($lines));
+        } elseif (! $this->isFatal()) {
+          $msg = sprintf("%s: \"%s\"",
+                         $this->getDescription(),
+                         array_shift($lines));
         } else {
-          $msg = sprintf("%s:%d: %s: \"%s\"",
+          $msg = sprintf("%s:%d %s: \"%s\"",
                          $errfile, $this->errline,
                          $this->getDescription(),
                          array_shift($lines));
@@ -591,12 +596,19 @@
 	        $lines = array($this->errstr->asXML());
         $errtype = (DEBUG & _DEBUG_VERBOSE) ? sprintf("%s[%d]", $this->getDescription(), $this->errno)
                                             : sprintf("%s", $this->getDescription());
-        $msg = sprintf("%s:%d: %s: %s %s",
+        if ((DEBUG & _DEBUG_VERBOSE) or $this->isFatal()) {
+	    $msg = sprintf("%s:%d %s: %s %s",
                        $errfile, $this->errline,
                        $errtype,
                        array_shift($lines),
                        $count > 1 ? sprintf(" (...repeated %d times)",$count) : ""
                        );
+	} else {
+          $msg = sprintf("%s: \"%s\" %s",
+			 $errtype,
+			 array_shift($lines),
+			 $count > 1 ? sprintf(" (...repeated %d times)",$count) : "");
+	}
         $html = HTML::div(array('class' => $this->getHtmlClass()), 
                           HTML::p($msg));
         if ($lines) {
@@ -617,6 +629,21 @@
 }
 
 // $Log: ErrorManager.php,v $
+// Revision 1.50  2007/01/09 12:35:28  rurban
+// release ready: turn off assert
+//
+// Revision 1.49  2006/12/22 00:17:49  rurban
+// improve and unify error messages
+//
+// Revision 1.48  2006/03/19 14:29:40  rurban
+// sf.net patch #1438439 by Matt Brown: Only set no-cache headers when error output is generated
+//
+// Revision 1.47  2005/10/31 17:20:40  rurban
+// fix ConvertBefore
+//
+// Revision 1.46  2005/10/30 16:38:13  rurban
+// minor fixes
+//
 // Revision 1.45  2005/10/29 14:28:08  uckelman
 // existence of isa should be checked, not built-in is_a()
 //
@@ -707,4 +734,4 @@
 // c-hanging-comment-ender-p: nil
 // indent-tabs-mode: nil
 // End:
-?>
\ No newline at end of file
+?>
diff -ruN 1.3.12p3/lib/ExternalReferrer.php 1.3.14/lib/ExternalReferrer.php
--- 1.3.12p3/lib/ExternalReferrer.php	2006-06-18 06:19:18.000000000 -0500
+++ 1.3.14/lib/ExternalReferrer.php	2007-07-01 05:11:03.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-rcs_id('$Id: ExternalReferrer.php,v 1.3 2004/10/12 14:22:14 rurban Exp $');
+rcs_id('$Id: ExternalReferrer.php,v 1.5 2007/01/20 15:54:12 rurban Exp $');
 
 /** 
  * Detect external referrers
@@ -8,7 +8,7 @@
  * Todo: 
  *   store all external referrers in (rotatable) log/db for a RecentReferrers plugin.
  */
-if (!function_exists('isExternalReferrer')) { // better define that in stdlib.php
+if (!function_exists('isExternalReferrer')) { // also defined in stdlib.php
   function isExternalReferrer(&$request) {
     if ($referrer = $request->get('HTTP_REFERER')) {
     	$home = SCRIPT_NAME; // was SERVER_URL, check sister wiki's: same host but other other script url
@@ -78,17 +78,20 @@
      */
     function parseSearchQuery($url) {
         // test local referrers
-        if (DEBUG) {
-            $this->searchEngines[SERVER_URL] = array("engine" => "DEBUG", "query1" => "s=", "query2" => "", "url" => SCRIPT_NAME);
+        if (DEBUG & _DEBUG_REMOTE) {
+            $this->searchEngines[strtolower(SERVER_URL)] = array("engine" => "DEBUG", "query1" => "s=", "query2" => "", "url" => SCRIPT_NAME);
+            $this->searchEngines['http://localhost'] = array("engine" => "DEBUG", "query1" => "s=", "query2" => "", "url" => SCRIPT_NAME);
         }
+        $url = strtolower($url);
         $ref = $url;
         while (list($key,$var) = @each($this->searchEngines)) {
-            if (stristr($ref, $key)) {
+            if (strstr($ref, $key)) {
                 unset($ref);
                 $ref["engine"] = $var["engine"];
                 $query1 =  $var["query1"];
                 $query2 =  $var["query2"];
                 $ref["engine_url"] = $var["url"];
+                break;
             }
         }
         reset($this->searchEngines);
@@ -113,6 +116,12 @@
 }
 
 // $Log: ExternalReferrer.php,v $
+// Revision 1.5  2007/01/20 15:54:12  rurban
+// Minor optimization and added localhost for debugging
+//
+// Revision 1.4  2007/01/07 18:42:29  rurban
+// Update comment only
+//
 // Revision 1.3  2004/10/12 14:22:14  rurban
 // lib/ExternalReferrer.php:99: Notice[8]: Undefined index: query
 //
@@ -131,4 +140,4 @@
 // c-hanging-comment-ender-p: nil
 // indent-tabs-mode: nil
 // End:
-?>
\ No newline at end of file
+?>
diff -ruN 1.3.12p3/lib/FileFinder.php 1.3.14/lib/FileFinder.php
--- 1.3.12p3/lib/FileFinder.php	2006-06-18 06:19:18.000000000 -0500
+++ 1.3.14/lib/FileFinder.php	2007-07-01 05:11:03.000000000 -0500
@@ -1,4 +1,4 @@
-<?php rcs_id('$Id: FileFinder.php,v 1.31 2005/02/28 21:24:32 rurban Exp $');
+<?php rcs_id('$Id: FileFinder.php,v 1.32 2007/01/04 16:44:47 rurban Exp $');
 
 require_once(dirname(__FILE__).'/stdlib.php');
 
@@ -6,7 +6,7 @@
  * A class for finding files.
  * 
  * This should really provided by pear. We don't want really to mess around 
- * with all the lousy systems. (WindowsNT, Win95, Mac, VMS, ...)
+ * with all the lousy systems. (WindowsNT, Win95, Mac, ...)
  * But pear has only System and File, which do nothing.
  * Anyway, in good PHP style we ignore the rest of the world and try to behave 
  * as on unix only. That means we use / as pathsep in all our constants.
@@ -587,6 +587,9 @@
 }
 
 // $Log: FileFinder.php,v $
+// Revision 1.32  2007/01/04 16:44:47  rurban
+// Remove VMS from internal note.
+//
 // Revision 1.31  2005/02/28 21:24:32  rurban
 // ignore forbidden ini_set warnings. Bug #1117254 by Xavier Roche
 //
diff -ruN 1.3.12p3/lib/fortune.php 1.3.14/lib/fortune.php
--- 1.3.12p3/lib/fortune.php	2006-06-18 06:19:18.000000000 -0500
+++ 1.3.14/lib/fortune.php	2007-07-01 05:11:03.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 rcs_id('PHP Fortune - Made by henrik@aasted.org. HP: http://www.aasted.org');
-rcs_id('$Id: fortune.php,v 1.2 2004/11/21 11:59:20 rurban Exp $');
+rcs_id('$Id: fortune.php,v 1.3 2007/01/02 13:21:47 rurban Exp $');
 /* 
 Main methods to use:
  quoteFromDir($dir):
@@ -16,6 +16,8 @@
     function quoteFromDir($dir) {
         $amount = 0;
         $index = 0;
+	$quotes = array();
+	$files = array();
 
         if ( $handle = opendir($dir) ) {
             while (false !== ($file = readdir($handle))) {
@@ -30,18 +32,18 @@
                         $index++;					
                     }
                 }			
-		
             }
 	
             srand((double)microtime()*1000000);
             $index = rand(0, $amount);
             $i = 0;
 	
-            while ($quotes[$i] < $index)  {
-                $i++;	
-            }
-
-            return $this->getRandomQuote($dir . "/" .$files[$i]);
+	    if ($amount)
+		while ($quotes[$i] < $index)  {
+		    $i++;	
+		}
+	    if (!empty($files))
+		return $this->getRandomQuote($dir . "/" .$files[$i]);
         }
         return -1;
     }
@@ -196,4 +198,4 @@
         fwrite($fd, chr ( $l & 255));
     }
 } // End of class
-?>
\ No newline at end of file
+?>
diff -ruN 1.3.12p3/lib/HtmlElement.php 1.3.14/lib/HtmlElement.php
--- 1.3.12p3/lib/HtmlElement.php	2006-06-18 06:19:18.000000000 -0500
+++ 1.3.14/lib/HtmlElement.php	2007-07-01 05:11:03.000000000 -0500
@@ -1,4 +1,4 @@
-<?php rcs_id('$Id: HtmlElement.php,v 1.47 2005/08/06 12:53:36 rurban Exp $');
+<?php rcs_id('$Id: HtmlElement.php,v 1.49 2007/06/02 18:23:49 rurban Exp $');
 /**
  * Code for writing the HTML subset of XML.
  * @author: Jeff Dairiki
@@ -63,8 +63,9 @@
      *
      * @param $tooltip_text string The tooltip text.
      */
-    function addTooltip ($tooltip_text) {
+    function addTooltip ($tooltip_text, $accesskey = null) {
         $this->setAttr('title', $tooltip_text);
+	if ($accesskey) $this->setAccesskey($accesskey);
 
         // FIXME: this should be initialized from title by an onLoad() function.
         //        (though, that may not be possible.)
@@ -75,6 +76,23 @@
         $this->setAttr('onmouseout', "window.status='';return true;");
     }
 
+    function setAccesskey ($key) {
+	global $WikiTheme;
+	if (strlen($key) != 1) return;
+	$this->setAttr("accesskey", $key);
+
+        if (!empty($this->_attr['title'])) {
+	    if (preg_match("/\[(alt-)?(.)\]$/", $this->_attr['title'], $m))
+	    {
+		$this->_attr['title'] = preg_replace("/\[(alt-)?(.)\]$/", "[".$WikiTheme->tooltipAccessKeyPrefix()."-\\2]", $this->_attr['title']);
+	    } else  {
+		$this->_attr['title'] .= " [".$WikiTheme->tooltipAccessKeyPrefix()."-$key]";
+	    }
+	} else {
+	    $this->_attr['title'] = "[".$WikiTheme->tooltipAccessKeyPrefix()."-$key]";
+	}
+    }
+
     function emptyTag () {
         if (($this->_properties & HTMLTAG_EMPTY) == 0)
             return $this->startTag() . "</$this->_tag>";
@@ -404,6 +422,10 @@
         $el = new HtmlElement('embed');
         return $el->_init2(func_get_args());
     }
+    function param (/*...*/) {
+        $el = new HtmlElement('param');
+        return $el->_init2(func_get_args());
+    }
 }
 
 define('HTMLTAG_EMPTY', 1);
@@ -535,6 +557,12 @@
     
 /**
  $Log: HtmlElement.php,v $
+ Revision 1.49  2007/06/02 18:23:49  rurban
+ Added accesskeys
+
+ Revision 1.48  2007/05/24 18:51:35  rurban
+ add param (for YouTube)
+
  Revision 1.47  2005/08/06 12:53:36  rurban
  beautify SCRIPT lines
 
@@ -651,4 +679,4 @@
 // c-hanging-comment-ender-p: nil
 // indent-tabs-mode: nil
 // End:
-?>
\ No newline at end of file
+?>
diff -ruN 1.3.12p3/lib/HttpClient.php 1.3.14/lib/HttpClient.php
--- 1.3.12p3/lib/HttpClient.php	2006-06-18 06:19:18.000000000 -0500
+++ 1.3.14/lib/HttpClient.php	2007-07-01 05:11:03.000000000 -0500
@@ -1,5 +1,5 @@
 <?php // -*-php-*-
-rcs_id('$Id: HttpClient.php,v 1.6 2004/11/01 10:43:55 rurban Exp $');
+rcs_id('$Id: HttpClient.php,v 1.9 2007/03/18 10:16:30 rurban Exp $');
 
 /** 
    Version 0.9, 6th April 2003 - Simon Willison ( http://simon.incutio.com/ )
@@ -7,6 +7,9 @@
 
    Copyright  2003 Incutio Limited
    License: http://www.opensource.org/licenses/artistic-license.php
+
+   File upload and xmlrpc support by Reini Urban for PhpWiki, 2006-12-28 18:12:47 
+   Todo: proxy support
 */
 
 class HttpClient {
@@ -21,7 +24,8 @@
     var $accept = 'text/xml,application/xml,application/xhtml+xml,text/html,text/plain,image/png,image/jpeg,image/gif,*/*';
     var $accept_encoding = 'gzip';
     var $accept_language = 'en-us';
-    var $user_agent = 'Incutio HttpClient v0.9';
+    var $user_agent = 'Incutio HttpClient v1.0';
+    var $boundary = "xYzZY"; // FIXME: check if this string doesn't occur in the data
     // Options
     var $timeout = 10;
     var $use_gzip = true;
@@ -45,7 +49,7 @@
     var $redirect_count = 0;
     var $cookie_host = '';
 
-    function HttpClient($host, $port=80) {
+    function HttpClient($host='localhost', $port=80) {
         $this->host = $host;
         $this->port = $port;
     }
@@ -63,6 +67,20 @@
         $this->postdata = $this->buildQueryString($data);
     	return $this->doRequest();
     }
+    function postfile($path, $filename) {
+        $this->path = $path;
+        $this->method = 'POST';
+	$boundary = $this->boundary; //"httpclient_boundary";
+	$headers[] = "Content-Type: multipart/form-data; boundary=\"$boundary\"";
+	$basename = basename($filename); 
+	$this->postdata =
+	    "\r\n--$boundary\r\n"
+	    ."Content-Disposition: form-data; filename=\"$basename\"\r\n"
+	    ."Content-Type: application/octet-stream\r\n\r\n";
+	$this->postdata .= join("",file($filename));
+	$this->postdata .= "\r\n\r\n--$boundary--\r\n";
+    	return $this->doRequest();
+    }
     function buildQueryString($data) {
         $querystring = '';
         if (is_array($data)) {
@@ -82,6 +100,7 @@
     	}
     	return $querystring;
     }
+
     function doRequest() {
         // Performs the actual HTTP request, returning true or false depending on outcome
         // Ensure that the PHP timeout is longer than the socket timeout
@@ -104,7 +123,16 @@
         }
         if (check_php_version(4,3,0))
             socket_set_timeout($fp, $this->timeout);
-        $request = $this->buildRequest();
+	if ( $this->method == 'POST' and preg_match("/\<methodCall\>/", $this->postdata))
+	    $request = $this->buildRequest("text/xml"); //xmlrpc
+	else if ( $this->method == 'POST' and strstr("\r\nContent-Disposition: form-data; filename=", 
+						     $this->postdata)) 
+	{
+	    //file upload
+	    $boundary = $this->boundary;
+	    $request = $this->buildRequest("multipart/form-data; boundary=\"$boundary\"");
+	} else
+	    $request = $this->buildRequest();
         $this->debug('Request', $request);
         fwrite($fp, $request);
     	// Reset all the variables that should not persist between requests
@@ -182,6 +210,10 @@
             // Record domain of cookies for security reasons
             $this->cookie_host = $this->host;
         }
+        if ($this->status == '401') {
+            $this->errormsg = '401 ' . $status_string;
+            return false;
+        }
         // If $persist_referers, set the referer ready for the next request
         if (isset($this->persist_referers)) {
             $this->debug('Persisting referer: '.$this->getRequestURL());
@@ -199,15 +231,20 @@
             $uri = isset($this->headers['uri']) ? $this->headers['uri'] : '';
             if ($location || $uri) {
                 $url = parse_url($location.$uri);
-                // This will FAIL if redirect is to a different site
-                return $this->get($url['path']);
+                if ($this->method == 'POST')
+                    return $this->doRequest();
+                else    
+                    // This will FAIL if redirect is to a different site
+                    return $this->get($url['path']);
             }
         }
         return true;
     }
-    function buildRequest() {
+    
+    function buildRequest($ContentType = 'application/x-www-form-urlencoded') {
         $headers = array();
-        $headers[] = "{$this->method} {$this->path} HTTP/1.0"; // Using 1.1 leads to all manner of problems, such as "chunked" encoding
+	// Using 1.1 leads to all manner of problems, such as "chunked" encoding
+        $headers[] = "{$this->method} {$this->path} HTTP/1.0"; 
         $headers[] = "Host: {$this->host}";
         $headers[] = "User-Agent: {$this->user_agent}";
         $headers[] = "Accept: {$this->accept}";
@@ -232,7 +269,7 @@
     	}
     	// If this is a POST, set the content type and length
     	if ($this->postdata) {
-    	    $headers[] = 'Content-Type: application/x-www-form-urlencoded';
+	    $headers[] = 'Content-Type: ' . $ContentType;
     	    $headers[] = 'Content-Length: '.strlen($this->postdata);
     	}
     	$request = implode("\r\n", $headers)."\r\n\r\n".$this->postdata;
@@ -347,6 +384,15 @@
 }
 
 // $Log: HttpClient.php,v $
+// Revision 1.9  2007/03/18 10:16:30  rurban
+// Fix POST redirects
+//
+// Revision 1.8  2007/01/02 13:18:35  rurban
+// added postfile and xmlrpc support. added ContentType arg to buildRequest
+//
+// Revision 1.7  2006/06/18 11:02:01  rurban
+// assume https <>80
+//
 // Revision 1.6  2004/11/01 10:43:55  rurban
 // seperate PassUser methods into seperate dir (memory usage)
 // fix WikiUser (old) overlarge data session
@@ -368,4 +414,4 @@
 // c-hanging-comment-ender-p: nil
 // indent-tabs-mode: nil
 // End:
-?>
\ No newline at end of file
+?>
diff -ruN 1.3.12p3/lib/imdb.php 1.3.14/lib/imdb.php
--- 1.3.12p3/lib/imdb.php	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/lib/imdb.php	2007-07-01 05:11:03.000000000 -0500
@@ -0,0 +1,373 @@
+<?php rcs_id('$Id: imdb.php,v 1.1 2007/01/25 21:54:36 rurban Exp $');
+/**
+ Copyright 2004 Reini Urban
+
+ This file is (not yet) part of PhpWiki.
+
+ PhpWiki is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ PhpWiki is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with PhpWiki; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+/**
+ * Accessors for a local imdb database.
+ * Import it via amdbfront.
+ * Get the dsn alias from lib/plugin/SqlResult.ini
+ */
+class imdb {
+
+    function imdb () {
+        global $DBParams;
+        $ini = parse_ini_file(FindFile("config/SqlResult.ini"));
+        $dsn = $ini['imdb'];
+        if ($DBParams['dbtype'] == 'SQL') {
+            $this->_dbh = DB::connect($dsn);
+            $this->_dbtype = "PearDB";
+        } else {
+            if ($DBParams['dbtype'] != 'ADODB') {
+                // require_once('lib/WikiDB/adodb/adodb-errorhandler.inc.php');
+                require_once('lib/WikiDB/adodb/adodb-pear.inc.php');
+            }
+            $parsed = parseDSN($dsn);
+            $this->_dbh = &ADONewConnection($parsed['phptype']);
+            $conn = $this->_dbh->Connect($parsed['hostspec'],$parsed['username'], 
+                                         $parsed['password'], $parsed['database']); 
+            $this->_dbtype = "ADODB";
+        }
+        $this->_title_1_1 = array
+            ("business","moviebudgets","colorinfo","mpaaratingsreasons");
+        $this->_title_1_n = array
+            ("akatitles","alternateversions",
+             "miscellaneouscompanies","moviecountries",
+             "certificates","completecast","completecrew","crazycredits",
+             "genres","goofs","keywords","movielinks","plot","quotes","ratings","soundtracks",
+             "specialeffectscompanies",
+             "taglines","trivia","distributors","language","laserdisc","literature",
+             "locations","miscellaneouscompanies",
+             "productioncompanies","releasedates","runningtimes","soundmix","technical"
+             );
+    }
+
+    /* key accessors. return a hash */
+    function title($title_id) {
+        $result = $this->_dbh->genericSqlIter("SELECT m.title, m.date FROM movies as m WHERE m.title_id = '$title_id'");
+        return $result->next();
+    }
+    function name($name_id) {
+        $result = $this->_dbh->genericSqlIter
+            ("SELECT n.name, b.* "
+             ." FROM name AS n"
+             ." LEFT JOIN biographies AS b USING (name_id)"
+             ." WHERE n.name_id = '$name_id' ");
+        return $result->next();
+    }
+
+    /* main movie information, with just the top names */
+    /* 1:1 title info: moviebudgets, colorinfo, business? */
+    function movie($title_id) {
+        $result = $this->_dbh->genericSqlIter("SELECT m.title, m.date"
+                                              ." FROM movies as m"
+                                              ." WHERE m.title_id = '$title_id'");
+        $movie = $result->next();
+        $movie['title_id'] = $title_id;
+        /* add the individual results to hash */
+        foreach (array_merge($this->_title_1_1,$this->_title_1_n) as $accessor) {
+            if (method_exists($this,$accessor))
+                $iter = $this->$accessor($title_id);
+            else
+                $iter = $this->_titleQuery($accessor, $accessor, $title_id);
+            while ($row = $iter->next()) {
+                $movie[$accessor][]  = $row;
+            }
+        }
+        // add the names also?
+        return $movie;
+    }
+
+    function movie_main($title_id) {
+        return movie($title_id);
+    }
+    /* full movie information, with full cast and crew */
+    function movie_full($title_id) {
+        $movie = $this->movie($title_id);
+        /* add the individual results to hash */
+        foreach (array_merge($this->_cast,$this->_crew) as $accessor) {
+            if (method_exists($this,$accessor))
+                $iter = $this->$accessor($title_id);
+            else
+                $iter = $this->_titleQuery($accessor, $accessor, $title_id);
+            while ($row = $iter->next()) {
+                $movie[$accessor][]  = $row;
+            }
+        }
+        return $movie;
+    }
+
+    /* combined movie information */
+    function movie_combined($title_id) {
+        $movie = $this->movie($title_id);
+        /* add the individual results to hash */
+        foreach (array_merge($this->_combined) as $accessor) {
+            if (method_exists($this,$accessor))
+                $iter = $this->$accessor($title_id);
+            else
+                $iter = $this->_titleQuery($accessor, $accessor, $title_id);
+            while ($row = $iter->next()) {
+                $movie[$accessor][]  = $row;
+            }
+        }
+        return $movie;
+    }
+
+    /* movie company_credits information */
+    function movie_company_credits($title_id) {
+        $movie = $this->movie($title_id);
+        /* add the individual results to hash */
+        foreach (array_merge($this->_company_credits) as $accessor) {
+            if (method_exists($this,$accessor))
+                $iter = $this->$accessor($title_id);
+            else
+                $iter = $this->_titleQuery($accessor, $accessor, $title_id);
+            while ($row = $iter->next()) {
+                $movie[$accessor][]  = $row;
+            }
+        }
+        return $movie;
+    }
+
+    /* 1:n title subselects: possibly multiple rows per title */
+    /* accessors with same field and tablename are not needed */
+    function _titleQuery($field, $table, $title_id) {
+        return $this->_dbh->genericSqlIter
+            ("SELECT $field FROM $table WHERE title_id = '$title_id'");
+    }
+    function akatitles($title_id) {
+        return $this->_titleQuery("akatitle", "akatitles", $title_id);
+    }
+    function business($title_id) {
+        return $this->_titleQuery("*", "business", $title_id);
+    }
+    function moviebudgets($title_id) {
+        return $this->_titleQuery("b.currency, b.budget, b.info", "moviebudgets as b", $title_id);
+    }
+    function completecast($title_id) {
+        return $this->_titleQuery("cast", "completecast", $title_id);
+    }
+    function completecrew($title_id) {
+        return $this->_titleQuery("crew", "completecrew", $title_id);
+    }
+    function genres($title_id) {
+        return $this->_titleQuery("genre", "genres", $title_id);
+    }
+    /* how many rows? */
+    function goofs($title_id) {
+        return $this->_titleQuery("text", "goofs", $title_id);
+    }
+    /* how many rows? */
+    function keywords($title_id) {
+        return $this->_titleQuery("keyword", "keywords", $title_id);
+    }
+    // (ml_id, description) values (1, 'followed by');
+    function movielinks($title_id) {
+        return $this->_dbh->genericSqlIter
+            ("SELECT m.title,ml.description, mref.title AS title_ref"
+             ." FROM movielinks AS l, ml, movies as m, movies AS mref"
+             ." WHERE l.title_ref = mref.title_id AND l.title_id = mref.title_id"
+             ." AND l.ml_id = ml.ml_id AND l.title_id = '$title_id'");
+    }
+    /* how many rows? */
+    function plot($title_id) {
+        return $this->_titleQuery("*", "plot", $title_id);
+    }
+    /* how many rows? */
+    function quotes($title_id) {
+        return $this->_titleQuery("*", "quotes", $title_id);
+    }
+    /* TODO: how? */
+    function ratings($title_id) {
+        return $this->_titleQuery("*", "ratings", $title_id);
+    }
+    function soundtracks($title_id) {
+        return $this->_titleQuery("*", "soundtracks", $title_id);
+    }
+    function specialeffectscompanies($title_id) {
+        return $this->_titleQuery("*", "specialeffectscompanies", $title_id);
+    }
+    /* how many rows? */
+    function taglines($title_id) {
+        return $this->_titleQuery("content", "taglines", $title_id);
+    }
+    /* how many rows? */
+    function trivia($title_id) {
+        return $this->_titleQuery("content", "trivia", $title_id);
+    }
+    function distributors($title_id) {
+        return $this->_titleQuery("distributor", "distributors", $title_id);
+    }
+    function language($title_id) {
+        return $this->_titleQuery("language", "language", $title_id);
+    }
+    function laserdisc($title_id) {
+        return $this->_titleQuery("content", "laserdisc", $title_id);
+    }
+    function literature($title_id) {
+        return $this->_titleQuery("literature", "literature", $title_id);
+    }
+    function locations($title_id) {
+        return $this->_titleQuery("location", "locations", $title_id);
+    }
+    function miscellaneouscompanies($title_id) {
+        return $this->_titleQuery("company", "miscellaneouscompanies", $title_id);
+    }
+    function mpaaratingsreasons($title_id) {
+        return $this->_titleQuery("mpaarating", "mpaaratingsreasons", $title_id);
+    }
+    function productioncompanies($title_id) {
+        return $this->_titleQuery("company", "productioncompanies", $title_id);
+    }
+    function soundmix($title_id) {
+        return $this->_titleQuery("soundmix", "soundmix", $title_id);
+    }
+    function technical($title_id) {
+        return $this->_titleQuery("technical", "technical", $title_id);
+    }
+    function releasedates($title_id) {
+        return $this->_dbh->genericSqlIter
+            ("SELECT c.country,r.releasedate,r.info"
+             ." FROM country as c, releasedates AS r"
+             ." WHERE c.country_id = r.country_id AND r.title_id = '$title_id'");
+    }
+    function runningtimes($title_id) {
+        return $this->_dbh->genericSqlIter
+            ("SELECT c.country,r.time,,r.info"
+             ." FROM country as c, runningtimes AS r"
+             ." WHERE c.country_id = r.country_id AND r.title_id = '$title_id'");
+    }
+    function moviecountries($title_id) {
+        return $this->_dbh->genericSqlIter
+            ("SELECT c.country FROM country AS c, moviecountries AS m"
+             ." WHERE c.country_id = m.country_id AND m.title_id = '$title_id'");
+    }
+    function certificates($title_id) {
+        return $this->_dbh->genericSqlIter
+            ("SELECT co.country, c.certificate, c.info"
+             ." FROM country as co, certificates as c"
+             ." WHERE co.country_id = c.country_id AND c.title_id = '$title_id'"
+             ." GROUP BY c.country_id");
+    }
+
+    /* 1:n name subselects: possibly multiple rows per name */
+    /*
+create table akanames (name_id integer unsigned not null, akaname varchar(255) not null);
+create table biographies (name_id integer unsigned not null, RN text, NK text, DB text, DD text, HT text, BG text, BO text, BT text, PI text, OW text, TR text, QU text, SA text, WN text, SP text, TM text, IT text, AT text, PT text, CV text, AG text, primary key (name_id));
+create table guestappearances (name_id integer unsigned not null, title_id integer unsigned not null, role varchar(255));
+create table characters (name_id integer unsigned not null, title_id integer unsigned not null, role varchar(255), position integer unsigned, job_id tinyint unsigned not null);
+     */
+    function akanames($name_id) {
+        return $this->_dbh->genericSqlIter
+            ("SELECT akanames FROM akanames WHERE name_id = '$name_id'");
+    }
+    function guestappearances($name_id) {
+        return $this->_dbh->genericSqlIter
+            ("SELECT g.role, m.movie, m.date"
+             ." FROM guestappearances as g"
+             ." WHERE g.name_id = '$name_id' AND g.title_id = m.title_id");
+    }
+    function biographies($name_id) {
+        return $this->_dbh->genericSqlIter
+            ("SELECT n.name, b.*"
+             ." FROM name as n"
+             ." LEFT JOIN biographies as b USING (name_id)"
+             ." WHERE n.name_id = '$name_id' ");
+    }
+
+    /* Search functions */
+    function searchTitle($title) {
+        return $this->_search($title, '_sql_title_clause', 
+                              "SELECT m.title_id, m.title, m.date".
+                              " FROM movies as m".
+                              " WHERE ",
+                              "ORDER BY m.date DESC");
+    }
+
+    function searchName($name) {
+        return $this->_search($name, '_sql_name_clause', 
+                              "SELECT n.name_id, n.name, j.description, c.role, m.title_id, m.title".
+                              " FROM names as n, jobs as j, characters as c, movies as m".
+                              " WHERE n.name_id = c.name_id".
+                              " AND m.title_id = c.title_id".
+                              " AND c.job_id = j.job_id".
+                              " AND ",
+                              "GROUP BY m.title_id ORDER BY j.description");
+    }
+
+    /* Search helpers */
+    // quote the LIKE argument and construct the WHERE clause
+    function _sql_match_clause($field, $word) {
+        //not sure if we need this.  ADODB may do it for us
+        $word = preg_replace('/(?=[%_\\\\])/', "\\", $word);  
+        // (we need it for at least % and _ --- they're the wildcard characters
+        //  for the LIKE operator, and we need to quote them if we're searching
+        //  for literal '%'s or '_'s.  --- I'm not sure about \, but it seems to
+        //  work as is.
+        $word = $this->_dbh->qstr("%".strtolower($word)."%");
+        return "LOWER($field) LIKE $word";
+    }
+
+    function _sql_title_clause($word) {
+        return $this->_sql_match_clause("title",$word);
+    }
+    function _sql_name_clause($word) {
+        return $this->_sql_match_clause("name",$word);
+    }
+
+    function _search($what, $callback_fn, $query, $order = '') {
+        include_once("lib/TextSearchQuery.php");
+        // $dbh = $GLOBALS['request']->getDbh();
+        //TODO: check if the db is mysql resp. capable of google like search. 
+        //      postgresql tsearch2 for example
+        // See TextSearchQuery.php
+        $search = new TextSearchQuery($what);
+        $callback = new WikiMethodCb($this, $callback_fn);
+        $search_clause = $search->makeSqlClause($callback);
+        $result = $this->_dbh->genericSqlIter($query . " " . $search_clause . " " . $order);
+    }
+
+    /*
+// all movies with actor:
+SELECT m.title, m.date, n.name, c.role
+  FROM movies as m, names as n, jobs as j, characters as c
+  WHERE n.name LIKE "%%where%%"
+  AND m.title_id = c.title_id
+  AND n.name_id = c.name_id
+  AND c.job_id = j.job_id
+  AND j.description = 'Actor'
+  ORDER BY m.date DESC
+    */
+
+};
+
+// $Log: imdb.php,v $
+// Revision 1.1  2007/01/25 21:54:36  rurban
+// First version of my simple local SQL imdb queries
+//
+
+// (c-file-style: "gnu")
+// Local Variables:
+// mode: php
+// tab-width: 8
+// c-basic-offset: 4
+// c-hanging-comment-ender-p: nil
+// indent-tabs-mode: nil
+// End:   
+?>
\ No newline at end of file
diff -ruN 1.3.12p3/lib/IniConfig.php 1.3.14/lib/IniConfig.php
--- 1.3.12p3/lib/IniConfig.php	2006-06-18 06:19:19.000000000 -0500
+++ 1.3.14/lib/IniConfig.php	2007-07-01 05:11:03.000000000 -0500
@@ -1,6 +1,5 @@
 <?php
-rcs_id('$Id: IniConfig.php,v 1.94 2005/09/15 05:56:12 rurban Exp $');
-
+rcs_id('$Id: IniConfig.php,v 1.115 2007/04/18 20:40:49 rurban Exp $');
 /**
  * A configurator intended to read its config from a PHP-style INI file,
  * instead of a PHP file.
@@ -14,7 +13,7 @@
  * @author: Joby Walker, Reini Urban, Matthew Palmer
  */
 /*
- * Copyright 2004,2005 $ThePhpWikiProgrammingTeam
+ * Copyright 2004,2005,2006,2007 $ThePhpWikiProgrammingTeam
  *
  * This file is part of PhpWiki.
  *
@@ -101,6 +100,13 @@
     fclose($fp);
 }
 
+function _check_int_constant(&$c) {
+  // if int value == string value, force int type
+  if (sprintf("%d",(int)$c) === $c) { // DEBUG & _DEBUG_bla
+    $c = (int)$c;
+  }
+}
+
 function IniConfig($file) {
 
     // check config/config.php dump for faster startup
@@ -148,8 +154,10 @@
          'PLUGIN_CACHED_DATABASE', 'PLUGIN_CACHED_FILENAME_PREFIX',
          'PLUGIN_CACHED_HIGHWATER', 'PLUGIN_CACHED_LOWWATER', 'PLUGIN_CACHED_MAXLIFETIME',
          'PLUGIN_CACHED_MAXARGLEN', 'PLUGIN_CACHED_IMGTYPES',
+         'WYSIWYG_BACKEND', 'PLUGIN_MARKUP_MAP',
          // extra logic:
          'SERVER_NAME','SERVER_PORT','SCRIPT_NAME', 'DATA_PATH', 'PHPWIKI_DIR', 'VIRTUAL_PATH',
+	 'EXTERNAL_HTML2PDF_PAGELIST', 'PLUGIN_CACHED_CACHE_DIR'
          );
 
     // Optional values which need to be defined.
@@ -165,7 +173,7 @@
          'GOOGLE_LICENSE_KEY','FORTUNE_DIR',
          'DISABLE_GETIMAGESIZE','DBADMIN_USER','DBADMIN_PASSWD',
          'SESSION_SAVE_PATH', 'TOOLBAR_PAGELINK_PULLDOWN', 'TOOLBAR_TEMPLATE_PULLDOWN',
-         'EXTERNAL_LINK_TARGET', 'ACCESS_LOG_SQL', 'ENABLE_MARKUP_TEMPLATE'
+         'EXTERNAL_LINK_TARGET', 'ACCESS_LOG_SQL', 'USE_EXTERNAL_HTML2PDF'
          );
 
     // List of all valid config options to be define()d which take booleans.
@@ -183,9 +191,12 @@
          'WARN_NONPUBLIC_INTERWIKIMAP', 'USE_PATH_INFO',
          'DISABLE_HTTP_REDIRECT',
          'PLUGIN_CACHED_USECACHE', 'PLUGIN_CACHED_FORCE_SYNCMAP',
-         'BLOG_EMPTY_DEFAULT_PREFIX', 'DATABASE_PERSISTENT',
+         'BLOG_DEFAULT_EMPTY_PREFIX', 'DATABASE_PERSISTENT',
          'ENABLE_DISCUSSION_LINK', 'ENABLE_CAPTCHA',
-         'USE_CAPTCHA_RANDOM_WORD'
+         'ENABLE_WYSIWYG', 'WYSIWYG_DEFAULT_PAGETYPE_HTML',
+         'DISABLE_MARKUP_WIKIWORD', 'ENABLE_MARKUP_COLOR', 'ENABLE_MARKUP_TEMPLATE',
+         'ENABLE_MARKUP_DIVSPAN', 'USE_BYTEA', 'UPLOAD_USERDIR', 'DISABLE_UNITS',
+	 'ENABLE_SEARCHHIGHLIGHT', 'DISABLE_UPLOAD_ONLY_ALLOWED_EXTENSIONS'
          );
 
     $rs = @parse_ini_file($file);
@@ -205,6 +216,7 @@
             continue;
         }
         if (array_key_exists($item, $rs)) {
+            _check_int_constant($rs[$item]);
             define($item, $rs[$item]);
             unset($rs[$item]);
         //} elseif (array_key_exists($item, $rsdef)) {
@@ -214,7 +226,7 @@
                            array('DATABASE_PREFIX', 'SERVER_NAME', 'SERVER_PORT',
                                  'SCRIPT_NAME', 'DATA_PATH', 'PHPWIKI_DIR', 'VIRTUAL_PATH',
                                  'LDAP_AUTH_HOST','IMAP_AUTH_HOST','POP3_AUTH_HOST',
-                                 'PLUGIN_CACHED_CACHE_DIR'))) 
+                                 'PLUGIN_CACHED_CACHE_DIR','EXTERNAL_HTML2PDF_PAGELIST'))) 
         {
             ;
         } elseif (!defined("_PHPWIKI_INSTALL_RUNNING")) {
@@ -248,7 +260,7 @@
                                   'ALLOW_IMAP_LOGIN', 'ALLOW_USER_LOGIN',
                                   'REQUIRE_SIGNIN_BEFORE_EDIT',
                                   'WIKIDB_NOCACHE_MARKUP',
-                                  'COMPRESS_OUTPUT'
+                                  'COMPRESS_OUTPUT', 'USE_BYTEA'
                                   )))
         {
             ;
@@ -294,10 +306,12 @@
             unset($rsdef[$item]);
         }
     }
-    if (!in_array(DATABASE_TYPE, array('SQL','ADODB','PDO','dba','file','cvs')))
+    $valid_database_types = array('SQL','ADODB','PDO','dba','file','flatfile','cvs','cvsclient');
+    if (!in_array(DATABASE_TYPE, $valid_database_types))
         trigger_error(sprintf("Invalid DATABASE_TYPE=%s. Choose one of %s", 
-                              DATABASE_TYPE, "SQL,ADODB,PDO,dba,file,cvs"), 
+                              DATABASE_TYPE, join(",", $valid_database_types)), 
                       E_USER_ERROR);
+    unset($valid_database_types);                  
     if (DATABASE_TYPE == 'PDO') {
         if (!check_php_version(5))
             trigger_error("Invalid DATABASE_TYPE=PDO. PDO requires at least php-5.0!", 
@@ -345,12 +359,13 @@
     unset($item); unset($major); unset($max); 
     
     // User authentication
-    if (!isset($GLOBALS['USER_AUTH_ORDER']))
+    if (!isset($GLOBALS['USER_AUTH_ORDER'])) {
         if (isset($rs['USER_AUTH_ORDER']))
             $GLOBALS['USER_AUTH_ORDER'] = preg_split('/\s*:\s*/', 
                                                      $rs['USER_AUTH_ORDER']);
         else 
             $GLOBALS['USER_AUTH_ORDER'] = array("PersonalPage");
+    }
 
     // Now it's the external DB authentication stuff's turn
     if (in_array('Db', $GLOBALS['USER_AUTH_ORDER']) && empty($rs['DBAUTH_AUTH_DSN'])) {
@@ -385,7 +400,7 @@
     }
     unset($rskey); unset($apkey);
 
-    // TODO: Currently unsupported on non-SQL
+    // TODO: Currently unsupported on non-SQL. Nice to have for RhNavPlugin
     // CHECKME: PDO
     if (array_key_exists('ACCESS_LOG_SQL', $rs)) {
     	// WikiDB_backend::isSql() not yet loaded
@@ -399,6 +414,23 @@
                in_array(DATABASE_TYPE, array('SQL','ADODB','PDO')) ? 2 : 0);
     }
 
+    global $PLUGIN_MARKUP_MAP;
+    $PLUGIN_MARKUP_MAP = array();
+    if (defined('PLUGIN_MARKUP_MAP') and trim(PLUGIN_MARKUP_MAP) != "") {
+	$_map = preg_split('/\s+/', PLUGIN_MARKUP_MAP);
+	foreach ($_map as $v) {
+	    list($xml,$plugin) = split(':', $v);
+	    if (!empty($xml) and !empty($plugin))
+	        $PLUGIN_MARKUP_MAP[$xml] = $plugin;
+	}
+	unset($_map); unset($xml); unset($plugin); unset($v);
+    }
+
+    if (empty($rs['TEMP_DIR'])) {
+	$rs['TEMP_DIR'] = "/tmp";
+	if (getenv("TEMP"))
+	    $rs['TEMP_DIR'] = getenv("TEMP");
+    }
     // optional values will be set to '' to simplify the logic.
     foreach ($_IC_OPTIONAL_VALUE as $item) {
         if (defined($item)) {
@@ -406,13 +438,26 @@
             continue;
         }
         if (array_key_exists($item, $rs)) {
+	    _check_int_constant($rs[$item]);
             define($item, $rs[$item]);
             unset($rs[$item]);
         } else 
             define($item, '');
     }
+
+    if (USE_EXTERNAL_HTML2PDF) {
+	$item = 'EXTERNAL_HTML2PDF_PAGELIST';
+        if (defined($item)) {
+            unset($rs[$item]);
+        } elseif (array_key_exists($item, $rs)) {
+            define($item, $rs[$item]);
+            unset($rs[$item]);
+        } elseif (array_key_exists($item, $rsdef)) {
+            define($item, $rsdef[$item]);
+	}
+    }
     unset($item); 
-    
+        
     // LDAP bind options
     global $LDAP_SET_OPTION;
     if (defined('LDAP_SET_OPTION') and LDAP_SET_OPTION) {
@@ -462,28 +507,25 @@
     global $PLUGIN_CACHED_IMGTYPES;
     $PLUGIN_CACHED_IMGTYPES = preg_split('/\s*[|:]\s*/', PLUGIN_CACHED_IMGTYPES);
 
-    if (empty($rs['PLUGIN_CACHED_CACHE_DIR']) and !empty($rsdef['PLUGIN_CACHED_CACHE_DIR']))
-        $rs['PLUGIN_CACHED_CACHE_DIR'] = $rsdef['PLUGIN_CACHED_CACHE_DIR'];
-    if (empty($rs['PLUGIN_CACHED_CACHE_DIR'])) {
-        if (!empty($rs['INCLUDE_PATH'])) {
-            @ini_set('include_path', $rs['INCLUDE_PATH']);
-        }
-        if (empty($rs['TEMP_DIR'])) {
-            $rs['TEMP_DIR'] = "/tmp";
-            if (getenv("TEMP"))
-                $rs['TEMP_DIR'] = getenv("TEMP");
-        }
-        $rs['PLUGIN_CACHED_CACHE_DIR'] = $rs['TEMP_DIR'] . '/cache';
-        if (!FindFile($rs['PLUGIN_CACHED_CACHE_DIR'], 1)) { // [29ms]
-            FindFile($rs['TEMP_DIR'], false, 1);            // TEMP must exist!
-            mkdir($rs['PLUGIN_CACHED_CACHE_DIR'], 777);
-        }
-        // will throw an error if not exists.
-        define('PLUGIN_CACHED_CACHE_DIR', FindFile($rs['PLUGIN_CACHED_CACHE_DIR'],false,1)); 
-    } else {
-        define('PLUGIN_CACHED_CACHE_DIR', $rs['PLUGIN_CACHED_CACHE_DIR']);
-        // will throw an error if not exists.
-        FindFile(PLUGIN_CACHED_CACHE_DIR);
+    if (!defined('PLUGIN_CACHED_CACHE_DIR')) {
+        if (empty($rs['PLUGIN_CACHED_CACHE_DIR']) and !empty($rsdef['PLUGIN_CACHED_CACHE_DIR']))
+            $rs['PLUGIN_CACHED_CACHE_DIR'] = $rsdef['PLUGIN_CACHED_CACHE_DIR'];
+        if (empty($rs['PLUGIN_CACHED_CACHE_DIR'])) {
+            if (!empty($rs['INCLUDE_PATH'])) {
+                @ini_set('include_path', $rs['INCLUDE_PATH']);
+            }
+            $rs['PLUGIN_CACHED_CACHE_DIR'] = TEMP_DIR . '/cache';
+            if (!FindFile($rs['PLUGIN_CACHED_CACHE_DIR'], 1)) { // [29ms]
+                FindFile(TEMP_DIR, false, 1);            // TEMP must exist!
+                mkdir($rs['PLUGIN_CACHED_CACHE_DIR'], 777);
+            }
+            // will throw an error if not exists.
+            define('PLUGIN_CACHED_CACHE_DIR', FindFile($rs['PLUGIN_CACHED_CACHE_DIR'],false,1)); 
+        } else {
+            define('PLUGIN_CACHED_CACHE_DIR', $rs['PLUGIN_CACHED_CACHE_DIR']);
+            // will throw an error if not exists.
+            FindFile(PLUGIN_CACHED_CACHE_DIR);
+        }
     }
 
     // process the rest of the config.ini settings:
@@ -491,6 +533,7 @@
         if (defined($item)) {
             continue;
         } else {
+	    _check_int_constant($v);
             define($item, $v);
         }
     }
@@ -509,10 +552,20 @@
     fixup_dynamic_configs($file); // [100ms]
 }
 
+function _ignore_unknown_charset_warning(&$error) {
+    //htmlspecialchars(): charset `iso-8859-2' not supported, assuming iso-8859-1
+    if (preg_match('/^htmlspecialchars\(\): charset \`.+\' not supported, assuming iso-8859-1/',
+                   $error->errstr)) {
+        $error->errno = 0;
+        return true;  // Ignore error
+    }
+    return false;
+}
+
 // moved from lib/config.php [1ms]
 function fixup_static_configs($file) {
     global $FieldSeparator, $charset, $WikiNameRegexp, $AllActionPages;
-    global $HTTP_SERVER_VARS, $DBParams, $LANG;
+    global $HTTP_SERVER_VARS, $DBParams, $LANG, $ErrorManager;
     // init FileFinder to add proper include paths
     FindFile("lib/interwiki.map",true);
     
@@ -520,7 +573,7 @@
     // chars in iso-8859-*
     // $FieldSeparator = "\263"; // this is a superscript 3 in ISO-8859-1.
     // $FieldSeparator = "\xFF"; // this byte should never appear in utf-8
-    // FIXME: get rid of constant. pref is dynamic and language specific
+    // Get rid of constant. pref is dynamic and language specific
     $charset = CHARSET;
     // Disabled: Let the admin decide which charset.
     //if (isset($LANG) and in_array($LANG,array('zh')))
@@ -530,18 +583,32 @@
     else
         $FieldSeparator = "\x81";
 
+    // Some exotic charsets are not supported by htmlspecialchars, which just prints an E_WARNING.
+    // Even on simple 8bit charsets, where just <>& need to be replaced. For iso-8859-[2-4] e.g.
+    // See <php-src>/ext/standard/html.c
+    // For performance reasons we require a magic constant to ignore this warning.
+    if (defined('IGNORE_CHARSET_NOT_SUPPORTED_WARNING') and IGNORE_CHARSET_NOT_SUPPORTED_WARNING) {
+        $ErrorManager->pushErrorHandler(new WikiFunctionCb('_ignore_unknown_charset_warning'));
+    }
+    // Used by SetupWiki to pull in required pages, if not translated, then in english.
+    // Also used by _WikiTranslation. Really important are only those which return pagelists 
+    // or contain basic functionality.
+    /*
+      All pages containing plugins of the same name as the filename:
+      cd pgsrc
+      grep -l '\?plugin ' *| perl -ne'$/=0;chop; s/%([\da-fA-F]{2})/pack("C",hex($1))/ge; next LINE if m{^(Help/|Template|Pgsrc)}; print "$_\n"; {local $/;open F,"<$_"; $f=join("",<F>);} push @a,$_ if $f=~/plugin $_/; END{print join(":",@a)};'
+     */
     $AllActionPages = explode(':',
-                              'AllPages:BackLinks:CreatePage:DebugInfo:EditMetaData:FindPage:'
-                              .'FullRecentChanges:FullTextSearch:FuzzyPages:InterWikiSearch:'
-                              .'LikePages:MostPopular:'
-                              .'OrphanedPages:PageDump:PageHistory:PageInfo:RandomPage:RateIt:'
-                              .'RecentChanges:RecentEdits:RecentComments:RelatedChanges:TitleSearch:'
-                              .'TranslateText:UpLoad:UserPreferences:WantedPages:WhoIsOnline:'
+			      'AllPages:AllUsers:AppendText:AuthorHistory:BackLinks:CreatePage:EditMetaData:FindPage:FullTextSearch:'
+			      .'FuzzyPages:InterWikiSearch:LikePages:LinkDatabase:LinkSearch:ListRelations:ModeratedPage:'
+			      .'MostPopular:OrphanedPages:PageDump:PageHistory:PageInfo:PasswordReset:PluginManager:RandomPage:'
+			      .'RateIt:RecentChanges:RecentComments:RelatedChanges:SearchHighlight:SemanticRelations:SemanticSearch:'
+			      .'TitleSearch:TranslateText:UpLoad:UserPreferences:WantedPages:WatchPage:WhoIsOnline:WikiAdminSelect'
+			      // plus some derivations
+			      .':DebugInfo:LeastPopular:RecentEdits:AllPagesCreatedByMe:AllPagesLastEditedByMe:AllPagesOwnedByMe:'
                               .'PhpWikiAdministration/Remove:PhpWikiAdministration/Chmod:'
                               .'PhpWikiAdministration/Rename:PhpWikiAdministration/Replace:'
-                              .'PhpWikiAdministration/SetAcl:PhpWikiAdministration/Chown'
-                              );
-
+                              .'PhpWikiAdministration/SetAcl:PhpWikiAdministration/Chown');
     // If user has not defined PHPWIKI_DIR, and we need it
     if (!defined('PHPWIKI_DIR') and !file_exists("themes/default")) {
     	$themes_dir = FindFile("themes");
@@ -742,7 +809,14 @@
     foreach (array('SERVER_NAME','SERVER_PORT') as $var) {
         //FIXME: for CGI without _SERVER
         if (!defined($var) and !empty($HTTP_SERVER_VARS[$var]))
-            define($var, $HTTP_SERVER_VARS[$var]);
+            // IPV6 fix by matt brown, #1546571
+            // An IPv6 address must be surrounded by square brackets to form a valid server name.
+            if ($var == 'SERVER_NAME' &&
+                    strstr($HTTP_SERVER_VARS[$var], ':')) {
+                define($var, '[' . $HTTP_SERVER_VARS[$var] . ']');
+            } else {
+                define($var, $HTTP_SERVER_VARS[$var]);
+            }
     }
     if (!defined('SERVER_NAME')) define('SERVER_NAME', '127.0.0.1');
     if (!defined('SERVER_PORT')) define('SERVER_PORT', 80);
@@ -861,12 +935,74 @@
 }
 
 // $Log: IniConfig.php,v $
+// Revision 1.115  2007/04/18 20:40:49  rurban
+// added DISABLE_UPLOAD_ONLY_ALLOWED_EXTENSIONS
+//
+// Revision 1.114  2007/02/17 22:49:24  rurban
+// enable TEMP_DIR, fixes bug 1646080
+//
+// Revision 1.113  2007/01/27 21:52:54  rurban
+// Define TEMP_DIR always
+//
+// Revision 1.112  2007/01/22 23:59:52  rurban
+// protect against PLUGIN_CACHED_CACHE_DIR definition
+//
+// Revision 1.111  2007/01/20 15:54:04  rurban
+// rename USE_SEARCHHIGHLIGHT to ENABLE_SEARCHHIGHLIGHT
+//
+// Revision 1.110  2007/01/07 18:42:39  rurban
+// Fix typo: BLOG_EMPTY_DEFAULT_PREFIX => BLOG_DEFAULT_EMPTY_PREFIX. Add USE_SEARCHHIGHLIGHT. Add EXTERNAL_HTML2PDF_PAGELIST logic. Update $AllActionPages.
+//
+// Revision 1.109  2007/01/04 16:40:47  rurban
+// Add more action pages
+//
+// Revision 1.108  2007/01/03 21:22:22  rurban
+// Add DISABLE_UNITS.
+//
+// Revision 1.107  2006/12/22 17:45:28  rurban
+// add USE_BYTEA
+//
+// Revision 1.106  2006/11/19 13:52:18  rurban
+// fix and stabilize MAP splitting
+//
+// Revision 1.105  2006/11/19 11:24:11  rurban
+// IPV6 fix by matt brown, #1546571
+// An IPv6 address must be surrounded by square brackets to form a valid server name.
+//
+// Revision 1.104  2006/10/12 06:36:09  rurban
+// Guard against unwanted DEBUG="DEBUG" logic. In detail (WikiDB),
+// and generally by forcing all int constants to be defined as int.
+//
+// Revision 1.103  2006/08/15 13:36:23  rurban
+// support iso-8859-2
+//
+// Revision 1.102  2006/05/14 18:02:27  rurban
+// patch from bug #1480077 by Kai Krakow
+//
+// Revision 1.101  2006/05/13 19:59:54  rurban
+// added wysiwyg_editor-1.3a feature by Jean-Nicolas GEREONE <jean-nicolas.gereone@st.com>
+// converted wysiwyg_editor-1.3a js to WysiwygEdit framework
+// changed default ENABLE_WYSIWYG = true and added WYSIWYG_BACKEND = Wikiwyg
+//
+// Revision 1.100  2006/03/19 14:23:51  rurban
+// sf.net patch #1377011 by Matt Brown: add DATABASE_OPTIMISE_FREQUENCY
+//
+// Revision 1.99  2006/03/07 20:42:34  rurban
+// add DBAUTH_PREF_INSERT support
+//
+// Revision 1.98  2006/01/12 16:22:47  rurban
+// Add flatfile and cvsclient to $valid_database_types (internal testing)
+// Fix bug #1381464 "Duplicate functions ver. 1.3.11p1"
+//
 // Revision 1.97  2005/10/29 14:16:38  rurban
 // fix broken locale update
 //
 // Revision 1.96  2005/09/26 06:27:33  rurban
 // default locale fix Thomas Harding
 //
+// Revision 1.95  2005/09/18 15:15:53  rurban
+// add a proper Content-Encoding: gzip if compressed, and omit Content-Length then.
+//
 // Revision 1.94  2005/09/15 05:56:12  rurban
 // read configurator desc from config-dist.ini, update desc, fix some warnings
 //
@@ -1253,4 +1389,4 @@
 // c-hanging-comment-ender-p: nil
 // indent-tabs-mode: nil
 // End:   
-?>
\ No newline at end of file
+?>
diff -ruN 1.3.12p3/lib/InlineParser.php 1.3.14/lib/InlineParser.php
--- 1.3.12p3/lib/InlineParser.php	2006-06-18 06:19:19.000000000 -0500
+++ 1.3.14/lib/InlineParser.php	2007-07-01 05:11:04.000000000 -0500
@@ -1,7 +1,7 @@
 <?php 
-rcs_id('$Id: InlineParser.php,v 1.70 2005/10/31 16:45:23 rurban Exp $');
+rcs_id('$Id: InlineParser.php,v 1.91 2007/06/07 18:56:57 rurban Exp $');
 /* Copyright (C) 2002 Geoffrey T. Dairiki <dairiki@dairiki.org>
- * Copyright (C) 2004,2005 Reini Urban
+ * Copyright (C) 2004,2005,2006,2007 Reini Urban
  *
  * This file is part of PhpWiki.
  * 
@@ -24,7 +24,7 @@
  * wiki-markup.
  *
  * @package Markup
- * @author Geoffrey T. Dairiki
+ * @author Geoffrey T. Dairiki, Reini Urban
  */
 /**
  */
@@ -149,27 +149,27 @@
         // sf.net: Fatal error: Allowed memory size of 8388608 bytes exhausted 
         //         (tried to allocate 634 bytes)
         if (_INLINE_OPTIMIZATION) { // disabled, wrong
-        // So we try to minize memory usage, by looping explicitly,
-        // and storing only those regexp which actually match. 
-        // There may be more than one, so we have to find the longest, 
-        // and match inside until the shortest is empty.
-	$matched = array(); $matched_ind = array();
-        for ($i=0; $i<count($regexps); $i++) {
-            if (!trim($regexps[$i])) {
-                trigger_error("empty regexp $i", E_USER_WARNING);
-                continue;
-            }
-            $pat= "/ ( . $repeat ) ( " . $regexps[$i] . " ) /x";
-            if (preg_match($pat, $text, $_m)) {
-            	$m = $_m; // FIXME: prematch, postmatch is wrong
-                $matched[] = $regexps[$i];
-                $matched_ind[] = $i;
-                $regexp_ind = $i;
-            }
-        }
-        // To overcome ANCHORED:
-        // We could sort by longest match and iterate over these.
-        if (empty($matched)) return false;
+	    // So we try to minize memory usage, by looping explicitly,
+	    // and storing only those regexp which actually match. 
+	    // There may be more than one, so we have to find the longest, 
+	    // and match inside until the shortest is empty.
+	    $matched = array(); $matched_ind = array();
+	    for ($i=0; $i<count($regexps); $i++) {
+		if (!trim($regexps[$i])) {
+		    trigger_error("empty regexp $i", E_USER_WARNING);
+		    continue;
+		}
+		$pat= "/ ( . $repeat ) ( " . $regexps[$i] . " ) /x";
+		if (preg_match($pat, $text, $_m)) {
+		    $m = $_m; // FIXME: prematch, postmatch is wrong
+		    $matched[] = $regexps[$i];
+		    $matched_ind[] = $i;
+		    $regexp_ind = $i;
+		}
+	    }
+	    // To overcome ANCHORED:
+	    // We could sort by longest match and iterate over these.
+	    if (empty($matched)) return false;
         }
         $match = new RegexpSet_match;
         
@@ -177,12 +177,6 @@
         if (! _INLINE_OPTIMIZATION or count($matched) > 2) {
             assert(!empty($repeat));
             assert(!empty($regexps));
-            for ($i=0; $i<count($regexps); $i++) {
-                if (!trim($regexps[$i])) {
-                    trigger_error("empty regexp $i", E_USER_WARNING);
-                    $regexps[$i] = '\Wxxxx\w\W\w\W\w\W\w\W\w\W\w'; // some placeholder
-                }
-            }
             // We could do much better, if we would know the matching markup for the 
             // longest regexp match:
             $hugepat= "/ ( . $repeat ) ( (" . join(')|(', $regexps) . ") ) /Asx";
@@ -203,10 +197,16 @@
         $match->match = $m[2];
 
         /* DEBUGGING */
-        /*
-        if (DEBUG & 4) {
-          var_dump($regexps); var_dump($matched); var_dump($matched_inc); 
-        PrintXML(HTML::dl(HTML::dt("input"),
+        if (DEBUG & _DEBUG_PARSER) {
+          static $_already_dumped = 0;
+          if (!$_already_dumped) {
+            var_dump($regexps); 
+            if (_INLINE_OPTIMIZATION)
+            	var_dump($matched);
+            var_dump($matched_inc); 
+          }
+          $_already_dumped = 1;
+          PrintXML(HTML::dl(HTML::dt("input"),
                           HTML::dd(HTML::pre($text)),
                           HTML::dt("regexp"),
                           HTML::dd(HTML::pre($match->regexp_ind, ":", $regexps[$match->regexp_ind])),
@@ -218,7 +218,6 @@
                           HTML::dd(HTML::pre($match->postmatch))
                           ));
         }
-        */
         return $match;
     }
 }
@@ -328,7 +327,7 @@
     // $bracketlink will start and end with brackets; in between will
     // be either a page name, a URL or both separated by a pipe.
     
-    // strip brackets and leading space
+    // Strip brackets and leading space
     // FIXME: \n inside [] will lead to errors
     preg_match('/(\#?) \[\s* (?: (.*?) \s* (?<!' . ESCAPE_CHAR . ')(\|) )? \s* (.+?) \s*\]/x',
 	       $bracketlink, $matches);
@@ -345,7 +344,9 @@
      *   "[http:/server/~name/]" will work as expected
      *   "http:/server/~name/"   will NOT work as expected, will remove the ~
      */
-    if (strstr($rawlink, "http://") or strstr($rawlink, "https://")) {
+    if (   string_starts_with ($rawlink, "http://")
+        or string_starts_with ($rawlink, "https://") ) 
+    {
         $link = $rawlink;
         // Mozilla Browser URI Obfuscation Weakness 2004-06-14
         //   http://www.securityfocus.com/bid/10532/
@@ -358,7 +359,8 @@
 
     /* Relatives links by Joel Schaubert.
      * Recognize [../bla] or [/bla] as relative links, without needing http://
-     * but {/link] only if SUBPAG_SEPERATOR is not /
+     * but [ /link ] only if SUBPAGE_SEPERATOR is not "/". 
+     * Normally /Page links to the subpage /Page.
      */
     if (SUBPAGE_SEPARATOR == '/') {
     	if (preg_match('/^\.\.\//', $link)) {
@@ -392,13 +394,25 @@
 
     if (preg_match("#^(" . ALLOWED_PROTOCOLS . "):#", $link)) {
         // if it's an image, embed it; otherwise, it's a regular link
-        if (isImageLink($link))
+        if (isImageLink($link) and empty($label)) // patch #1348996 by Robert Litwiniec
             return LinkImage($link, $label);
         else
             return new Cached_ExternalLink($link, $label);
     }
-    elseif (preg_match("/^phpwiki:/", $link))
+    elseif (substr($link,0,8) == 'phpwiki:')
         return new Cached_PhpwikiURL($link, $label);
+
+    /* Semantic relations and attributes. 
+     * Relation and attribute names must be word chars only, no space.
+     * Links and Attributes may contain everything. word, nums, units, space, groupsep, numsep, ...
+     */
+    elseif (preg_match("/^ (\w+) (:[:=]) (.*) $/x", $link) and !isImageLink($link))
+        return new Cached_SemanticLink($link, $label);
+
+    /* Do not store the link */    
+    elseif (substr($link,0,1) == ':')
+        return new Cached_WikiLink($link, $label);
+
     /*
      * Inline images in Interwiki urls's:
      * [File:my_image.gif] inlines the image,
@@ -448,6 +462,42 @@
     }
 }
 
+class Markup_spellcheck extends SimpleMarkup
+{
+    function Markup_spellcheck () {
+	$this->suggestions = $GLOBALS['request']->getArg('suggestions');
+    }
+    function getMatchRegexp () {
+    	if (empty($this->suggestions))
+    	    return "(?# false )";
+	$words = array_keys($this->suggestions);
+        return "(?<= \W ) (?:" . join('|', $words) . ") (?= \W )";
+    }
+    
+    function markup ($match) {
+    	if (empty($this->suggestions) or empty($this->suggestions[$match]))
+    	    return $match;
+        return new Cached_SpellCheck(UnWikiEscape($match), $this->suggestions[$match]);
+    }
+}
+
+class Markup_searchhighlight extends SimpleMarkup
+{
+    function Markup_searchhighlight () {
+        $result = $GLOBALS['request']->_searchhighlight;
+        require_once("lib/TextSearchQuery.php");
+        $query = new TextSearchQuery($result['query']);
+        $this->hilight_re = $query->getHighlightRegexp();
+        $this->engine = $result['engine'];
+    }
+    function getMatchRegexp () {
+        return $this->hilight_re;
+    }
+    function markup ($match) {
+        return new Cached_SearchHighlight(UnWikiEscape($match), $this->engine);
+    }
+}
+
 class Markup_url extends SimpleMarkup
 {
     function getMatchRegexp () {
@@ -459,21 +509,27 @@
     }
 }
 
-
 class Markup_interwiki extends SimpleMarkup
 {
     function getMatchRegexp () {
-        global $request;
         $map = getInterwikiMap();
-        return "(?<! [[:alnum:]])" . $map->getRegexp(). ": \S+ (?<![ ,.?;! \] \) \" \' ])";
+        return "(?<! [[:alnum:]])" . $map->getRegexp(). ": [^:=]\S+ (?<![ ,.?;! \] \) \" \' ])";
     }
 
     function markup ($match) {
-        //$map = getInterwikiMap();
         return new Cached_InterwikiLink(UnWikiEscape($match));
     }
 }
 
+class Markup_semanticlink extends SimpleMarkup
+{
+    var $_match_regexp = "(?:\w+:[:=]\S+)"; // no units seperated by space allowed here
+
+    function markup ($match) {
+        return new Cached_SemanticLink(UnWikiEscape($match));
+    }
+}
+
 class Markup_wikiword extends SimpleMarkup
 {
     function getMatchRegexp () {
@@ -590,7 +646,7 @@
 class Markup_html_emphasis extends BalancedMarkup
 {
     var $_start_regexp = 
-        "<(?: b|big|i|small|tt|em|strong|cite|code|dfn|kbd|samp|var|sup|sub )>";
+        "<(?: b|big|i|small|tt|em|strong|cite|code|dfn|kbd|samp|strike|del|var|sup|sub )>";
 
     function getEndRegexp ($match) {
         return "<\\/" . substr($match, 1);
@@ -602,6 +658,34 @@
     }
 }
 
+class Markup_html_divspan extends BalancedMarkup
+{
+    var $_start_regexp = 
+        "<(?: div|span )(?: \s[^>]*)?>";
+
+    function getEndRegexp ($match) {
+    	if (substr($match,1,4) == 'span')
+    	    $tag = 'span';
+    	else
+    	    $tag = 'div';
+        return "<\\/" . $tag . '>';
+    }
+    
+    function markup ($match, $body) {
+    	if (substr($match,1,4) == 'span')
+    	    $tag = 'span';
+    	else
+    	    $tag = 'div';
+    	$rest = substr($match,1+strlen($tag),-1);
+    	if (!empty($rest)) {
+    	    list($key,$val) = explode("=",$rest);
+    	    $args = array($key => $val);
+    	} else $args = array();
+        return new HtmlElement($tag, $args, $body);
+    }
+}
+
+
 class Markup_html_abbr extends BalancedMarkup
 {
     //rurban: abbr|acronym need an optional title tag.
@@ -640,16 +724,16 @@
     var $_end_regexp = "%%";
     
     function markup ($match, $body) {
-    	$color = substr($match, 7, -1);
+    	$color = strtoupper(substr($match, 7, -1));
         if (strlen($color) != 7 
-            and in_array($color, array('red', 'blue', 'grey', 'black'))) {
-            // must be a name
+            and in_array($color, array('RED', 'BLUE', 'GRAY', 'YELLOW', 'GREEN', 'CYAN', 'BLACK'))) 
+	{   // must be a valid color name
             return new HtmlElement('font', array('color' => $color), $body);
         } elseif ((substr($color,0,1) == '#') 
-                  and (strspn(substr($color,1),'0123456789ABCDEFabcdef') == strlen($color)-1)) {
+                  and (strspn(substr($color,1),'0123456789ABCDEF') == strlen($color)-1)) {
             return new HtmlElement('font', array('color' => $color), $body);
         } else {
-            trigger_error(sprintf(_("unknown color %s ignored"), $color), E_USER_WARNING);
+            trigger_error(sprintf(_("unknown color %s ignored"), substr($match, 7, -1)), E_USER_WARNING);
         }
         	
     }
@@ -668,45 +752,93 @@
     }
 }
 
+// Special version for plugins in xml syntax 
+// <name arg=value>body</name> or <name /> => < ? plugin pluginname arg=value body ? >
+// PLUGIN_MARKUP_MAP = "html:RawHtml dot:GraphViz toc:CreateToc amath:AsciiMath richtable:RichTable include:IncludePage tex:TexToPng"
+class Markup_xml_plugin extends BalancedMarkup
+{
+    //var $_start_regexp = "<(?: ".join('|',PLUGIN_MARKUP_MAP)." )(?: \s[^>]*)>";
+
+    function getStartRegexp () {
+	global $PLUGIN_MARKUP_MAP;
+        static $_start_regexp;
+        if ($_start_regexp) return $_start_regexp;
+        if (empty($PLUGIN_MARKUP_MAP))
+            return '';
+        //"<(?: html|dot|toc|amath|richtable|include|tex )(?: \s[^>]*)>"
+	$_start_regexp = "<(?: ".join('|',array_keys($PLUGIN_MARKUP_MAP))." )(?: \s[^>]* | / )>";
+        return $_start_regexp;
+    }
+    function getEndRegexp ($match) {
+        return "<\\/" . $match . '>';
+    }
+    function markup ($match, $body) {
+	global $PLUGIN_MARKUP_MAP;
+        $name = substr($match,2,-2); 
+	$vars = '';
+        if (preg_match('/^(\S+)\|(.*)$/', $name, $_m)) {
+            $name = $_m[1];
+            $vars = $_m[2]; //str_replace(' ', '&', $_m[2]);
+        }
+        if (!isset($PLUGIN_MARKUP_MAP[$name])) {
+            trigger_error("No plugin for $name $vars defined.", E_USER_WARNING);
+            return "";
+        }
+        $plugin = $PLUGIN_MARKUP_MAP[$name];
+	return new Cached_PluginInvocation("<"."?plugin $plugin $vars $body ?".">");
+    }
+}
+
 /** ENABLE_MARKUP_TEMPLATE
  *  Template syntax similar to mediawiki
  *  {{template}}
- * => <?plugin Template page=template?>
+ * => < ? plugin Template page=template ? >
  *  {{template|var=value|...}}
- * => <?plugin Template page=template vars="var=value&..."?>
+ * => < ? plugin Template page=template var=value ... ? >
  */
 class Markup_template_plugin  extends SimpleMarkup
 {
-    var $_match_regexp = '\{\{\w[^\n]+\}\}';
+    // patch #1732793: allow \n, mult. {{ }} in one line, and single letters
+    var $_match_regexp = '\{\{.*?\}\}';
     
     function markup ($match) {
-        $page = substr($match,2,-2); $vars = '';
+        $page = substr(str_replace("\n", "", $match),2,-2); $vars = '';
         if (preg_match('/^(\S+)\|(.*)$/', $page, $_m)) {
             $page = $_m[1];
-            $vars = str_replace('|', '&', $_m[2]);
+            $vars = '"' . preg_replace('/\|/', '" "', $_m[2]) . '"'; 
+            $vars = preg_replace('/"(\S+)=([^"]*)"/', '\\1="\\2"', $vars);
         }
         if ($vars)
-    	    $s = '<?plugin Template page=' . $page . ' vars="' . $vars . '"?>';
+    	    $s = '<'.'?plugin Template page="'.$page.'" '.$vars.' ?'.'>';
     	else
-    	    $s = '<?plugin Template page=' . $page . '?>';
+    	    $s = '<'.'?plugin Template page="' . $page . '" ?'.'>';
 	return new Cached_PluginInvocation($s);
     }
 }
 
-// TODO: "..." => "&#133;"  browser specific display (not cached?)
+// "..." => "&#133;"  browser specific display (not cached?)
+// Support some HTML::Entities: (C) for copy, --- for mdash, -- for ndash
 // TODO: "--" => "&emdash;" browser specific display (not cached?)
-// TODO: Support more HTML::Entities: (C) for copy, --- for mdash, -- for ndash
 
 class Markup_html_entities  extends SimpleMarkup {
-    var $_match_regexp = '(: \.\.\.|\-\-|\-\-\-|\(C\) )';
-   
-    function markup ($match) {
-        static $entities = array('...'  => '&#133;',
+    //var $_match_regexp = '(: \.\.\.|\-\-|\-\-\-|\(C\) )';
+
+    function Markup_html_entities() {
+        $this->_entities = array('...'  => '&#133;',
                                  '--'   => '&ndash;',
                                  '---'  => '&mdash;',
                                  '(C)'  => '&copy;',
+                                 '&copy;' => '&copy;',
+                                 '&trade;'  => '&trade;',
                                  );
-        return HTML::Raw($entities[$match]);
+        $this->_match_regexp = 
+            '(: ' . 
+            join('|', array_map('preg_quote', array_keys($this->_entities))) . 
+            ' )';
+    }
+   
+    function markup ($match) {
+        return HTML::Raw($this->_entities[$match]);
     }
 }
 
@@ -737,24 +869,47 @@
     var $_markup = array();
     
     function InlineTransformer ($markup_types = false) {
+        global $request;
+	// We need to extend the inline parsers by certain actions, like SearchHighlight, 
+	// SpellCheck and maybe CreateToc.
         if (!$markup_types) {
             $non_default = false;
-            $markup_types = array('escape', 'bracketlink', 'url',
-                                  'interwiki', 'wikiword', 'linebreak',
-                                  'old_emphasis', 'nestled_emphasis',
-                                  'html_emphasis', 'html_abbr', 'plugin',
-                                  'isonumchars', 'isohexchars', /*'html_entities',*/
-                                  );
-        } else 
+            $markup_types = array
+                ('escape', 'bracketlink', 'url',
+                 'interwiki',  'semanticlink', 'wikiword', 'linebreak',
+                 'old_emphasis', 'nestled_emphasis',
+                 'html_emphasis', 'html_abbr', 'plugin',
+                 'isonumchars', 'isohexchars', /*'html_entities'*/
+                 );
+	    if (DISABLE_MARKUP_WIKIWORD)
+                $markup_types = array_remove($markup_types, 'wikiword');
+
+	    $action = $request->getArg('action');
+	    if ($action == 'SpellCheck' and $request->getArg('suggestions'))
+	    {   // insert it after url
+		array_splice($markup_types, 2, 1, array('url','spellcheck'));
+	    }
+	    if (isset($request->_searchhighlight))
+	    {   // insert it after url
+		array_splice($markup_types, 2, 1, array('url','searchhighlight'));
+                //$request->setArg('searchhighlight', false);
+	    }
+        } else {
             $non_default = true;
+	}
         foreach ($markup_types as $mtype) {
             $class = "Markup_$mtype";
             $this->_addMarkup(new $class);
         }
+        if (ENABLE_MARKUP_DIVSPAN and !$non_default)
+            $this->_addMarkup(new Markup_html_divspan);
         if (ENABLE_MARKUP_COLOR and !$non_default)
             $this->_addMarkup(new Markup_color);
         if (ENABLE_MARKUP_TEMPLATE and !$non_default)
             $this->_addMarkup(new Markup_template_plugin);
+        // This does not work yet
+        if (0 and PLUGIN_MARKUP_MAP and !$non_default)
+            $this->_addMarkup(new Markup_xml_plugin);
     }
 
     function _addMarkup ($markup) {
@@ -763,7 +918,8 @@
         else
             $regexp = $markup->getStartRegexp();
 
-        assert(!isset($this->_markup[$regexp]));
+        assert( !isset($this->_markup[$regexp]) );
+        assert( strlen(trim($regexp)) > 0 );
         $this->_regexps[] = $regexp;
         $this->_markup[] = $markup;
     }
@@ -785,7 +941,9 @@
             if ($match->regexp_ind == 0) {
                 // No start pattern found before end pattern.
                 // We're all done!
-                if (isset($markup) and is_object($markup) and isa($markup,'Markup_plugin')) {
+                if (isset($markup) and is_object($markup) 
+                    and isa($markup,'Markup_plugin')) 
+                {
                     $current =& $output->_content[count($output->_content)-1];
                     $current->setTightness(true,true);
                 }
@@ -795,7 +953,8 @@
             }
 
             $markup = $this->_markup[$match->regexp_ind - 1];
-            $body = $this->_parse_markup_body($markup, $match->match, $match->postmatch, $end_regexps);
+            $body = $this->_parse_markup_body($markup, $match->match, 
+                                              $match->postmatch, $end_regexps);
             if (!$body) {
                 // Couldn't match balanced expression.
                 // Ignore and look for next matching start regexp.
@@ -810,7 +969,9 @@
             else
                 $current = $markup->markup($match->match, $body);
             $input = $match->postmatch;
-            if (isset($markup) and is_object($markup) and isa($markup,'Markup_plugin')) {
+            if (isset($markup) and is_object($markup) 
+                and isa($markup,'Markup_plugin')) 
+            {
                 $current->setTightness(true,true);
             }
             $output->pushContent($match->prematch, $current);
@@ -845,14 +1006,26 @@
 {
     function LinkTransformer () {
         $this->InlineTransformer(array('escape', 'bracketlink', 'url',
-                                       'interwiki', 'wikiword'));
+                                       'semanticlink', 'interwiki', 'wikiword', 
+                                       ));
+    }
+}
+
+class NowikiTransformer extends InlineTransformer
+{
+    function NowikiTransformer () {
+        $this->InlineTransformer
+            (array('linebreak',
+                   'html_emphasis', 'html_abbr', 'plugin',
+                   'isonumchars', 'isohexchars', /*'html_entities',*/
+                   ));
     }
 }
 
 function TransformInline($text, $markup = 2.0, $basepage=false) {
     static $trfm;
-    
-    if (empty($trfm)) {
+    $action = $GLOBALS['request']->getArg('action');
+    if (empty($trfm) or $action == 'SpellCheck') {
         $trfm = new InlineTransformer;
     }
     
@@ -883,7 +1056,90 @@
     return $trfm->parse($text);
 }
 
+/**
+ * Transform only html markup and entities.
+ */
+function TransformInlineNowiki($text, $markup = 2.0, $basepage=false) {
+    static $trfm;
+    
+    if (empty($trfm)) {
+        $trfm = new NowikiTransformer;
+    }
+    if ($basepage) {
+        return new CacheableMarkup($trfm->parse($text), $basepage);
+    }
+    return $trfm->parse($text);
+}
+
+
 // $Log: InlineParser.php,v $
+// Revision 1.91  2007/06/07 18:56:57  rurban
+// patch #1732793: allow \n, mult. {{ }} in one line, and single
+// letters (slightly improved) by AlJeux and ReiniUrban
+//
+// Revision 1.90  2007/03/18 17:35:14  rurban
+// Fix :DontStoreLink
+//
+// Revision 1.89  2007/02/17 14:16:28  rurban
+// fix color GREY to GRAY
+//
+// Revision 1.88  2007/01/21 13:15:50  rurban
+// Support spaces in attributes and relation links
+//
+// Revision 1.87  2007/01/20 15:53:51  rurban
+// Rewrite of SearchHighlight: through ActionPage and InlineParser
+//
+// Revision 1.86  2007/01/20 11:25:07  rurban
+// add SpellCheck support
+//
+// Revision 1.85  2007/01/07 18:42:49  rurban
+// Add support for non-bracket semantic relation parsing. Assert empty regex (interwikimap?) earlier. Change {{Template||}} vars handling to new style. Stricter interwikimap matching not to find semantic links
+//
+// Revision 1.84  2007/01/02 13:18:07  rurban
+// fix semantic attributes syntax :=, not :-, disable DIVSPAN and PLUGIN_MARKUP_MAP
+//
+// Revision 1.83  2006/12/22 00:23:24  rurban
+// Fix Bug #1540007 "hardened-php issue, crawlers related"
+// Broken str_replace with strings > 200 chars
+//
+// Revision 1.82  2006/12/02 19:53:05  rurban
+// Simplify DISABLE_MARKUP_WIKIWORD handling by adding the new function
+// stdlib: array_remove(). Hopefully PHP will not add this natively sooner
+// or later.
+//
+// Revision 1.81  2006/11/19 13:52:52  rurban
+// improve debug output: regex only once
+//
+// Revision 1.80  2006/10/12 06:32:30  rurban
+// Optionally support new tags <div>, <span> with ENABLE_MARKUP_DIVSPAN (in work)
+//
+// Revision 1.79  2006/10/08 12:38:11  rurban
+// New special interwiki link markup [:LinkTo] without storing the backlink
+//
+// Revision 1.78  2006/09/03 09:53:52  rurban
+// more colors, case-insensitive color names
+//
+// Revision 1.77  2006/08/25 19:02:02  rurban
+// patch #1348996 by Robert Litwiniec: fix show image semantics if label is given
+//
+// Revision 1.76  2006/08/19 11:02:35  rurban
+// add strike and del to html emphasis: Patch #1542894 by Kai Krakow
+//
+// Revision 1.75  2006/08/15 13:43:10  rurban
+// add Markup_xml_plugin (untested) and fix Markup_template_plugin
+//
+// Revision 1.74  2006/07/23 14:03:18  rurban
+// add new feature: DISABLE_MARKUP_WIKIWORD
+//
+// Revision 1.73  2006/04/15 12:20:36  rurban
+// fix relatives links patch by Joel Schaubert for [/
+//
+// Revision 1.72  2006/03/07 20:43:29  rurban
+// relative external link, if no internal subpage. by joel Schaubert
+//
+// Revision 1.71  2005/11/14 22:31:12  rurban
+// add SemanticWeb support
+//
 // Revision 1.70  2005/10/31 16:45:23  rurban
 // added cfg-able markups only for default TextTransformation, not for links and others
 //
@@ -911,4 +1167,4 @@
 // c-hanging-comment-ender-p: nil
 // indent-tabs-mode: nil
 // End:   
-?>
\ No newline at end of file
+?>
diff -ruN 1.3.12p3/lib/interwiki.map 1.3.14/lib/interwiki.map
--- 1.3.12p3/lib/interwiki.map	2006-06-18 06:19:19.000000000 -0500
+++ 1.3.14/lib/interwiki.map	2007-07-01 05:11:04.000000000 -0500
@@ -79,7 +79,7 @@
 php-function http://www.php.net/%s
 php-lookup http://www.php.net/manual-lookup.php?pattern=
 PhpWiki http://phpwiki.sourceforge.net/phpwiki/
-PhpWikiCvs http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/phpwiki/phpwiki/
+PhpWikiCvs http://phpwiki.cvs.sourceforge.net/phpwiki/phpwiki/
 PhpWikiDemo http://phpwiki.sourceforge.net/demo/
 PhpWikiTest http://phpwiki.sourceforge.net/test/
 Pikie http://pikie.darktech.org/cgi/pikie?
@@ -127,3 +127,5 @@
 YpsiEyeball http://sknkwrks.dyndns.org:1957/writewiki/wiki.pl?
 ZWiki http://www.zwiki.org/
 OsFaq2 http://www.mega-tokyo.com/osfaq2/index.php/
+Help Help/
+Relation SearchRelations?s=
diff -ruN 1.3.12p3/lib/loadsave.php 1.3.14/lib/loadsave.php
--- 1.3.12p3/lib/loadsave.php	2006-06-18 06:19:19.000000000 -0500
+++ 1.3.14/lib/loadsave.php	2007-07-01 05:11:04.000000000 -0500
@@ -1,8 +1,8 @@
 <?php //-*-php-*-
-rcs_id('$Id: loadsave.php,v 1.137 2005/01/30 23:14:38 rurban Exp $');
+rcs_id('$Id: loadsave.php,v 1.153 2007/05/28 20:54:40 rurban Exp $');
 
 /*
- Copyright 1999,2000,2001,2002,2004,2005,2006 $ThePhpWikiProgrammingTeam
+ Copyright 1999,2000,2001,2002,2004,2005,2006,2007 $ThePhpWikiProgrammingTeam
 
  This file is part of PhpWiki.
 
@@ -129,7 +129,7 @@
  */
 function MailifyPage ($page, $nversions = 1)
 {
-    $current = $page->getCurrentRevision();
+    $current = $page->getCurrentRevision(false);
     $head = '';
 
     if (STRICT_MAILABLE_PAGEDUMPS) {
@@ -180,8 +180,11 @@
  */
 function FilenameForPage ($pagename)
 {
-    $enc = rawurlencode($pagename);
-    return preg_replace('/^\./', '%2e', $enc);
+    //$enc = rawurlencode($pagename);
+    $enc = preg_replace('/:/', '%3A', $pagename);
+    // For every %2F will need to mkdir -p dirname($pagename)
+    return preg_replace('/^\./', '%2E', $enc);
+    // return preg_replace(array('/^\./','%20'), array('%2E',' '), $enc);
 }
 
 /**
@@ -360,6 +363,23 @@
     }
 }
 
+function mkdir_p($pathname, $permission = 0777) {
+    $arr = explode("/", $pathname);
+    if (empty($arr)) {
+	return mkdir($pathname, $permission);
+    }
+    $s = array_shift($arr);
+    $ok = TRUE;
+    foreach ($arr as $p) {
+	$curr = "$s/$p";
+	if (!is_dir($curr))
+	    $ok = mkdir($curr, $permission);
+	$s = $curr;
+	if (!$ok) return FALSE;
+    }
+    return TRUE;
+}
+
 /**
  * Dump all pages as XHTML to a directory, as pagename.html.
  * Copies all used css files to the directory, all used images to a 
@@ -429,7 +449,7 @@
     } else {
         $prefix = '';
         if (isWindows()) {
-            $prefix = '/' . substr($doc_root,0,2); // add drive where apache is installed
+            $prefix = '/'; // . substr($doc_root,0,2); // add drive where apache is installed
         }
         $link_prefix = "file://".$prefix.$directory."/";
     }
@@ -453,24 +473,39 @@
             }
             continue;
         }
-
+        $relative_base = '';
         $request->setArg('pagename', $pagename); // Template::_basepage fix
         $filename = FilenameForPage($pagename) . $WikiTheme->HTML_DUMP_SUFFIX;
-        $msg = HTML();
-
         $revision = $page->getCurrentRevision();
-        $template = new Template('browse', $request,
-                                 array('revision' => $revision,
-                                       'CONTENT' => $revision->getTransformedContent()));
+	$args = array('revision' => $revision,
+		      'CONTENT' => $revision->getTransformedContent(),
+                      'relative_base' => $relative_base);
+	// For every %2F will need to mkdir -p dirname($pagename)
+	if (preg_match("/(%2F|\/)/", $filename)) {
+	    // mkdir -p and set relative base for subdir pages
+	    $count = substr_count($filename, "%2F");
+	    $filename = preg_replace("/%2F/", "/", $filename);
+	    $dirname = dirname($filename);
+	    mkdir_p($directory."/".$dirname);
+	    $relative_base = "../";
+	    while ($count > 1) {
+		$relative_base .= "../";
+		$count--;
+	    }
+	    $args['relative_base'] = $relative_base;
+	}
+        $msg = HTML();
+        $template = new Template('browse', $request, $args);
 
-        $data = GeneratePageasXML($template, $pagename);
+        $data = GeneratePageasXML($template, $pagename, $revision, $args);
 
         if ( !($fd = fopen($directory."/".$filename, "wb")) ) {
             $msg->pushContent(HTML::strong(fmt("couldn't open file '%s' for writing",
                                                "$directory/$filename")));
             $request->finish($msg);
         }
-        $num = fwrite($fd, $data, strlen($data));
+        $len = strlen($data);
+        $num = fwrite($fd, $data, $len);
         if ($page->getName() != $filename) {
             $link = LinkURL($link_prefix.$filename, $filename);
             $msg->pushContent(HTML::small(_("saved as "), $link, " ... "));
@@ -482,7 +517,7 @@
         flush();
         $request->chunkOutput();
 
-        assert($num == strlen($data));
+        assert($num == $len);
         fclose($fd);
 
         if (USECACHE) {
@@ -515,6 +550,7 @@
                 } else {
                     _copyMsg($from, fmt("... not copied to %s", $target));
                 }
+		//TODO: fix to local path for uploaded images, so that pdf will work
             } else {
                 _copyMsg($from, _("... not found"));
             }
@@ -551,6 +587,7 @@
                 } else {
                     _copyMsg($from, fmt("... not copied to %s", $target));
                 }
+		// TODO: fix @import url(main.css);
             } else {
                 _copyMsg($from, _("... not found"));
             }
@@ -627,7 +664,7 @@
         if ($page->get('locked'))
             $attrib['write_protected'] = 1;
 
-        $request->setArg('pagename',$pagename); // Template::_basepage fix
+        $request->setArg('pagename', $pagename); // Template::_basepage fix
         $filename = FilenameForPage($pagename) . $WikiTheme->HTML_DUMP_SUFFIX;
         $revision = $page->getCurrentRevision();
 
@@ -727,10 +764,16 @@
     if (empty($versiondata['author_id']))
         $versiondata['author_id'] = $versiondata['author'];
 
-    $pagename = $pageinfo['pagename'];
+    // remove invalid backend specific chars. utf8 issues mostly
+    $pagename_check = new WikiPagename($pageinfo['pagename']);
+    if (!$pagename_check->isValid()) {
+        PrintXML(HTML::dt(HTML::strong(_("Invalid pagename!")." ".$pageinfo['pagename'])));
+        return;
+    }
+    $pagename = $pagename_check->getName();
     $content  = $pageinfo['content'];
 
-    if ($pagename ==_("InterWikiMap"))
+    if ($pagename == _("InterWikiMap"))
         $content = _tryinsertInterWikiMap($content);
 
     $dbi =& $request->_dbi;
@@ -754,27 +797,38 @@
     }
 
     $current = $page->getCurrentRevision();
-    if ( $current and (! $current->hasDefaultContents())
-         && ($current->getPackedContent() != $content)
-         && ($merging == true) ) {
-        include_once('lib/editpage.php');
-        $request->setArg('pagename', $pagename);
-        $r = $current->getVersion();
-        $request->setArg('revision', $current->getVersion());
-        $p = new LoadFileConflictPageEditor($request);
-        $p->_content = $content;
-        $p->_currentVersion = $r - 1;
-        $p->editPage($saveFailed = true);
-        return; //early return
+    $skip = false;
+    $edit = $request->getArg('edit');
+    if ($merging) { 
+    	if (isset($edit['keep_old'])) {
+            $merging = false;
+            $skip = true;
+    	}
+    	elseif (isset($edit['overwrite'])) {
+            $merging = false;
+            $overwrite = true;
+    	}
+        elseif ( $current and (! $current->hasDefaultContents())
+         && ($current->getPackedContent() != $content) ) 
+        {
+            include_once('lib/editpage.php');
+            $request->setArg('pagename', $pagename);
+            $v = $current->getVersion();
+            $request->setArg('revision', $current->getVersion());
+            $p = new LoadFileConflictPageEditor($request);
+            $p->_content = $content;
+            $p->_currentVersion = $v - 1;
+            $p->editPage($saveFailed = true);
+            return; //early return
+       }
     }
-
-    foreach ($pagedata as $key => $value) {
+    if (!$skip)
+      foreach ($pagedata as $key => $value) {
         if (!empty($value))
             $page->set($key, $value);
-    }
+      }
 
     $mesg = HTML::dd();
-    $skip = false;
     if ($source)
         $mesg->pushContent(' ', fmt("from %s", $source));
 
@@ -800,8 +854,12 @@
                 }
             }
             else {
-                $mesg->pushContent(' ', fmt("has edit conflicts - skipped"));
-                $needs_merge = true; // hackish
+		if (isset($edit['keep_old'])) {
+		    $mesg->pushContent(' ', fmt("keep old"));
+		} else {
+		    $mesg->pushContent(' ', fmt("has edit conflicts - skipped"));
+		    $needs_merge = true; // hackish, to display the buttons
+		}
                 $skip = true;
             }
         }
@@ -920,7 +978,8 @@
                                       HiddenInputs(array('verify' => 1)),
                                       Button('submit:verify', _("Yes"), 'button'),
                                       HTML::Raw('&nbsp;'),
-                                      Button('submit:cancel', _("Cancel"), 'button')));
+                                      Button('submit:cancel', _("Cancel"), 'button')),
+                           HTML::hr());
         $rev = $page->getRevision($version);
         $html = HTML(HTML::dt(fmt("Revert %s to version $version", WikiLink($pagename))), 
                      $mesg,
@@ -1045,6 +1104,13 @@
                 break;
         }
     }
+    if (empty($pagehash['charset']))
+        $pagehash['charset'] = 'iso-8859-1';
+    // compare to target charset
+    if (strtolower($pagehash['charset']) != strtolower($GLOBALS['charset'])) {
+        $pageinfo['content'] = charset_convert($params['charset'], $GLOBALS['charset'], $pageinfo['content']);
+        $pageinfo['pagename'] = charset_convert($params['charset'], $GLOBALS['charset'], $pageinfo['pagename']);
+    }
     return $pageinfo;
 }
 
@@ -1081,21 +1147,43 @@
     if (!$mtime)
         $mtime = time();    // Last resort.
 
+    // DONE: check source - target charset for content and pagename
+    // but only for pgsrc'ed content, not from the browser.
+
     $default_pagename = rawurldecode($basename);
     if ( ($parts = ParseMimeifiedPages($text)) ) {
+    	if (count($parts) > 1)
+    	    $overwrite = $request->getArg('overwrite');
         usort($parts, 'SortByPageVersion');
-        foreach ($parts as $pageinfo)
+        foreach ($parts as $pageinfo) {
+            // force overwrite
+            if (count($parts) > 1)
+                $request->setArg('overwrite', 1);
             SavePage($request, $pageinfo, sprintf(_("MIME file %s"),
                                                   $filename), $basename);
     }
+        if (count($parts) > 1)
+            if ($overwrite) 
+                $request->setArg('overwrite', $overwrite);
+            else     
+	        unset($request->_args['overwrite']);
+    }
     else if ( ($pageinfo = ParseSerializedPage($text, $default_pagename,
                                                $request->getUser())) ) {
         SavePage($request, $pageinfo, sprintf(_("Serialized file %s"),
                                               $filename), $basename);
     }
     else {
+        // plain old file
         $user = $request->getUser();
 
+        $file_charset = 'iso-8859-1';
+        // compare to target charset
+        if ($file_charset != strtolower($GLOBALS['charset'])) {
+            $text = charset_convert($file_charset, $GLOBALS['charset'], $text);
+            $default_pagename = charset_convert($file_charset, $GLOBALS['charset'], $default_pagename);
+        }
+
         // Assume plain text file.
         $pageinfo = array('pagename' => $default_pagename,
                           'pagedata' => array(),
@@ -1209,14 +1297,14 @@
         // with broken dirname or basename functions.
         // FIXME: windows uses \ and :
         if (is_integer(strpos($file_or_dir, "/"))) {
-            $file_or_dir = FindFile($file_or_dir);
-            // Panic
-            if (!file_exists($file_or_dir))
+            $newfile = FindFile($file_or_dir, true);
+            // Panic. urlencoded by the browser (e.g. San%20Diego => San Diego)
+            if (!$newfile)
                 $file_or_dir = dirname($file_or_dir) . "/"
-                    . urlencode(basename($file_or_dir));
+                    . rawurlencode(basename($file_or_dir));
         } else {
             // This is probably just a file.
-            $file_or_dir = urlencode($file_or_dir);
+            $file_or_dir = rawurlencode($file_or_dir);
         }
     }
 
@@ -1233,7 +1321,7 @@
     }
 
     if (! $type) {
-        $request->finish(fmt("Unable to load: %s", $file_or_dir));
+        $request->finish(fmt("Empty or not existing source. Unable to load: %s", $file_or_dir));
     }
     else if ($type == 'dir') {
         LoadDir($request, $file_or_dir, $files, $exclude);
@@ -1311,7 +1399,7 @@
 
     // Ensure that all mandatory pages are loaded
     $finder = new FileFinder;
-    foreach (array_merge(explode(':','OldTextFormattingRules:TextFormattingRules:PhpWikiAdministration'),
+    foreach (array_merge(explode(':','Help/OldTextFormattingRules:Help/TextFormattingRules:PhpWikiAdministration'),
                          $GLOBALS['AllActionPages'],
                          array(constant('HOME_PAGE'))) as $f) 
     {
@@ -1331,8 +1419,12 @@
                           E_USER_WARNING);
         }
     }
-
     echo "</dl>\n";
+    
+    $pagename = _("InterWikiMap");
+    $map = $dbi->getPage($pagename);
+    $map->set('locked', true);
+    PrintXML(HTML::dt(HTML::em(WikiLink($pagename))), HTML::dd("locked"));
     EndLoadDump($request);
 }
 
@@ -1360,6 +1452,39 @@
 
 /**
  $Log: loadsave.php,v $
+ Revision 1.153  2007/05/28 20:54:40  rurban
+ fix DumpToHtml creating dirs
+
+ Revision 1.152  2007/05/01 16:22:41  rurban
+ lock InterWikiMap on init
+
+ Revision 1.151  2007/02/17 14:17:34  rurban
+ only media=print css for htmldump and pdf
+
+ Revision 1.150  2007/01/20 15:53:42  rurban
+ Use WikiPagename treatment for imported pagenames
+
+ Revision 1.149  2007/01/03 21:25:10  rurban
+ Use convert_charset()
+
+ Revision 1.148  2007/01/02 13:21:57  rurban
+ omit want_content if not necessary. support keep_old and overwrite buttons
+
+ Revision 1.147  2006/12/22 17:44:15  rurban
+ support importing foreign charsets. e.g latin1 => utf8
+
+ Revision 1.146  2006/12/17 18:35:23  rurban
+ Create the right subdirectory name, urlencoded.
+
+ Revision 1.145  2006/09/06 06:01:18  rurban
+ support loadfile multipart archives automatically
+
+ Revision 1.144  2006/08/25 22:06:13  rurban
+ args fix to pass $args to the template
+
+ Revision 1.143  2006/08/25 21:48:39  rurban
+ dumphtml subpages
+
  Revision 1.142  2006/03/19 17:16:32  rurban
  remove remaining cruft
 
@@ -1673,4 +1798,4 @@
 // c-hanging-comment-ender-p: nil
 // indent-tabs-mode: nil
 // End:
-?>
\ No newline at end of file
+?>
diff -ruN 1.3.12p3/lib/MailNotify.php 1.3.14/lib/MailNotify.php
--- 1.3.12p3/lib/MailNotify.php	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/lib/MailNotify.php	2007-07-01 05:11:04.000000000 -0500
@@ -0,0 +1,428 @@
+<?php //-*-php-*-
+rcs_id('$Id: MailNotify.php,v 1.11 2007/07/01 09:01:16 rurban Exp $');
+
+/**
+ * Handle the pagelist pref[notifyPages] logic for users
+ * and notify => hash ( page => (userid => userhash) ) for pages.
+ * Generate notification emails.
+ *
+ * We add WikiDB handlers and register ourself there:
+ *   onChangePage, onDeletePage, onRenamePage
+ * Administrative actions:
+ *   [Watch] WatchPage - add a page, or delete watch handlers into the users 
+ *                       pref[notifyPages] slot.
+ *   My WatchList      - view or edit list/regex of pref[notifyPages].
+ *   EMailConfirm methods: send and verify
+ *
+ * Helper functions:
+ *   getPageChangeEmails
+ *   MailAdmin
+ *   ? handle emailed confirmation links (EmailSignup, ModeratedPage)
+ *
+ * @package MailNotify
+ * @author  Reini Urban
+ */
+
+if (!defined("MAILER_LOG"))
+    if (isWindows())
+        define("MAILER_LOG", 'c:/wikimail.log');
+    else
+        define("MAILER_LOG", '/var/log/wikimail.log');
+
+class MailNotify {
+
+    function MailNotify($pagename) {
+	$this->pagename = $pagename; /* which page */
+        $this->emails  = array();    /* to which addresses */
+        $this->userids = array();    /* corresponding array of displayed names, 
+                                        don't display the email addresses */
+        /* From: from whom the mail appears to be */
+        $this->from = $this->fromId();
+    }
+
+    function fromId() {
+        global $request;
+        return $request->_user->getId() . '@' .  $request->get('REMOTE_HOST');
+    }
+
+    function userEmail($userid, $doverify = true) {
+        global $request;
+        $u = $request->getUser();
+        if ($u->UserName() == $userid) { // lucky: current user
+            $prefs = $u->getPreferences();
+            $email = $prefs->get('email');
+            // do a dynamic emailVerified check update
+            if ($doverify and !$request->_prefs->get('emailVerified'))
+                $email = '';
+        } else {  // not current user
+            if (ENABLE_USER_NEW) {
+                $u = WikiUser($userid);
+                $u->getPreferences();
+                $prefs = &$u->_prefs;
+            } else {
+                $u = new WikiUser($request, $userid);
+                $prefs = $u->getPreferences();
+            }
+            $email = $prefs->get('email');
+            if ($doverify and !$prefs->get('emailVerified')) {
+                $email = '';
+            }
+        }
+        return $email;
+    }
+
+    /**
+     * getPageChangeEmails($notify)
+     * @param  $notify: hash ( page => (userid => userhash) )
+     * @return array
+     *         unique array of ($emails, $userids)
+     */
+    function getPageChangeEmails($notify) {
+        global $request;
+        $emails = array(); $userids = array();
+        foreach ($notify as $page => $users) {
+            if (glob_match($page, $this->pagename)) {
+                foreach ($users as $userid => $user) {
+                    if (!$user) { // handle the case for ModeratePage: 
+                        	  // no prefs, just userid's.
+                        $emails[] = $this->userEmail($userid, false);
+                        $userids[] = $userid;
+                    } else {
+                        if (!empty($user['verified']) and !empty($user['email'])) {
+                            $emails[]  = $user['email'];
+                            $userids[] = $userid;
+                        } elseif (!empty($user['email'])) {
+                            // do a dynamic emailVerified check update
+                            $email = $this->userEmail($userid, true);
+                            if ($email) {
+                                $notify[$page][$userid]['verified'] = 1;
+                                $request->_dbi->set('notify', $notify);
+                                $emails[] = $email;
+                                $userids[] = $userid;
+                            }
+                        }
+                        // ignore verification
+                        /*
+                        if (DEBUG) {
+                            if (!in_array($user['email'], $emails))
+                                $emails[] = $user['email'];
+                        }
+                        */
+                    }
+                }
+            }
+        }
+        $this->emails = array_unique($emails);
+        $this->userids = array_unique($userids);
+        return array($this->emails, $this->userids);
+    }
+    
+    function sendMail($subject, $content, 
+                      $notice = false,
+                      $silent = 0)
+    {
+        global $request;
+	if (!DEBUG and $silent === 0)
+	    $silent = true;
+        $emails = $this->emails;
+        $from = $this->from;
+        if (!$notice) $notice = _("PageChange Notification of %s");
+        $ok = mail(($to = array_shift($emails)),
+                 "[".WIKI_NAME."] ".$subject, 
+		   $subject."\n".$content,
+		   "From: $from\r\nBcc: ".join(',', $emails)
+		   );
+	if (MAILER_LOG and is_writable(MAILER_LOG)) {
+	    $f = fopen(MAILER_LOG, "a");
+	    fwrite($f, "\n\nX-MailSentOK: " . $ok ? 'OK' : 'FAILED');
+	    if (!$ok) {
+		global $ErrorManager;
+		// get last error message
+		$last_err = $ErrorManager->_postponed_errors[count($ErrorHandler->_postponed_errors)-1];
+		fwrite($f, "\nX-MailFailure: " . $last_err);
+	    }
+	    fwrite($f, "\nDate: " . CTime());
+	    fwrite($f, "\nSubject: $subject");
+	    fwrite($f, "\nFrom: $from");
+	    fwrite($f, "\nTo: $to");
+	    fwrite($f, "\nBcc: ".join(',', $emails));
+	    fwrite($f, "\n\n". $content);
+	    fclose($f);
+	}
+        if ($ok) {
+            if (!$silent)
+                trigger_error(sprintf($notice, $this->pagename)
+                              . " "
+                              . sprintf(_("sent to %s"), join(',',$this->userids)),
+                              E_USER_NOTICE);
+            return true;
+        } else {
+            trigger_error(sprintf($notice, $this->pagename)
+                          . " "
+                          . sprintf(_("Error: Couldn't send %s to %s"), 
+                                   $subject."\n".$content, join(',',$this->userids)), 
+                          E_USER_WARNING);
+            return false;
+        }
+    }
+    
+    /**
+     * Send udiff for a changed page to multiple users.
+     * See rename and remove methods also
+     */
+    function sendPageChangeNotification(&$wikitext, $version, &$meta) {
+
+        global $request;
+
+        if (@is_array($request->_deferredPageChangeNotification)) {
+            // collapse multiple changes (loaddir) into one email
+            $request->_deferredPageChangeNotification[] = 
+                array($this->pagename, $this->emails, $this->userids);
+            return;
+        }
+        $backend = &$request->_dbi->_backend;
+        $subject = _("Page change").' '.urlencode($this->pagename);
+        $previous = $backend->get_previous_version($this->pagename, $version);
+        if (!isset($meta['mtime'])) $meta['mtime'] = time();
+        if ($previous) {
+            $difflink = WikiURL($this->pagename, array('action'=>'diff'), true);
+            $cache = &$request->_dbi->_cache;
+            $this_content = explode("\n", $wikitext);
+            $prevdata = $cache->get_versiondata($this->pagename, $previous, true);
+            if (empty($prevdata['%content']))
+                $prevdata = $backend->get_versiondata($this->pagename, $previous, true);
+            $other_content = explode("\n", $prevdata['%content']);
+            
+            include_once("lib/difflib.php");
+            $diff2 = new Diff($other_content, $this_content);
+            //$context_lines = max(4, count($other_content) + 1,
+            //                     count($this_content) + 1);
+            $fmt = new UnifiedDiffFormatter(/*$context_lines*/);
+            $content  = $this->pagename . " " . $previous . " " . 
+                Iso8601DateTime($prevdata['mtime']) . "\n";
+            $content .= $this->pagename . " " . $version . " " .  
+                Iso8601DateTime($meta['mtime']) . "\n";
+            $content .= $fmt->format($diff2);
+            
+        } else {
+            $difflink = WikiURL($this->pagename,array(),true);
+            $content = $this->pagename . " " . $version . " " .  
+                Iso8601DateTime($meta['mtime']) . "\n";
+            $content .= _("New page");
+        }
+        $editedby = sprintf(_("Edited by: %s"), $this->from);
+        //$editedby = sprintf(_("Edited by: %s"), $meta['author']);
+        $this->sendMail($subject, 
+                        $editedby."\n".$difflink."\n\n".$content);
+    }
+
+    /** 
+     * Support mass rename / remove (not yet tested)
+     */
+    function sendPageRenameNotification ($to, &$meta) {
+        global $request;
+
+        if (@is_array($request->_deferredPageRenameNotification)) {
+            $request->_deferredPageRenameNotification[] = 
+                array($this->pagename, $to, $meta, $this->emails, $this->userids);
+        } else {
+            $pagename = $this->pagename;
+            //$editedby = sprintf(_("Edited by: %s"), $meta['author']) . ' ' . $meta['author_id'];
+            $editedby = sprintf(_("Edited by: %s"), $this->from);
+            $subject = sprintf(_("Page rename %s to %s"), urlencode($pagename), urlencode($to));
+            $link = WikiURL($to, true);
+            $this->sendMail($subject, 
+                            $editedby."\n".$link."\n\n"."Renamed $pagename to $to");
+        }
+    }
+
+    /**
+     * The handlers:
+     */
+    function onChangePage (&$wikidb, &$wikitext, $version, &$meta) {
+        $result = true;
+	if (!isa($GLOBALS['request'],'MockRequest')) {
+	    $notify = $wikidb->get('notify');
+            /* Generate notification emails? */
+	    if (!empty($notify) and is_array($notify)) {
+                if (empty($this->pagename))
+                    $this->pagename = $meta['pagename'];
+		// TODO: Should be used for ModeratePage and RSS2 Cloud xml-rpc also.
+                $this->getPageChangeEmails($notify);
+                if (!empty($this->emails)) {
+                    $result = $this->sendPageChangeNotification($wikitext, $version, $meta);
+                }
+	    }
+	}
+	return $result;
+    }
+
+    function onDeletePage (&$wikidb, $pagename) {
+        $result = true;
+	/* Generate notification emails? */
+	if (! $wikidb->isWikiPage($pagename) and !isa($GLOBALS['request'],'MockRequest')) {
+	    $notify = $wikidb->get('notify');
+	    if (!empty($notify) and is_array($notify)) {
+		//TODO: deferr it (quite a massive load if you remove some pages).
+		$this->getPageChangeEmails($notify);
+		if (!empty($this->emails)) {
+		    $editedby = sprintf(_("Removed by: %s"), $this->from); // Todo: host_id
+		    //$emails = join(',', $this->emails);
+		    $subject = sprintf(_("Page removed %s"), urlencode($pagename));
+		    $page = $wikidb->getPage($pagename);
+		    $rev = $page->getCurrentRevision(true);
+		    $content = $rev->getPackedContent();
+                    $result = $this->sendMail($subject, 
+                                              $editedby."\n"."Deleted $pagename"."\n\n".$content);
+		}
+	    }
+	}
+	//How to create a RecentChanges entry with explaining summary? Dynamically
+	/*
+	  $page = $this->getPage($pagename);
+	  $current = $page->getCurrentRevision();
+	  $meta = $current->_data;
+	  $version = $current->getVersion();
+	  $meta['summary'] = _("removed");
+	  $page->save($current->getPackedContent(), $version + 1, $meta);
+	*/
+	return $result;
+    }
+
+    function onRenamePage (&$wikidb, $oldpage, $new_pagename) {
+        $result = true;
+	if (!isa($GLOBALS['request'], 'MockRequest')) {
+	    $notify = $wikidb->get('notify');
+	    if (!empty($notify) and is_array($notify)) {
+		$this->getPageChangeEmails($notify);
+		if (!empty($this->emails)) {
+		    $newpage = $wikidb->getPage($new_pagename);
+		    $current = $newpage->getCurrentRevision();
+		    $meta = $current->_data;
+                    $this->pagename = $oldpage;
+		    $result = $this->sendPageRenameNotification($new_pagename, $meta);
+		}
+	    }
+	}
+    }
+
+    /**
+     * Send mail to user and store the cookie in the db
+     * wikiurl?action=ConfirmEmail&id=bla
+     */
+    function sendEmailConfirmation ($email, $userid) {
+        $id = rand_ascii_readable(16);
+        $wikidb = $GLOBALS['request']->getDbh();
+        $data = $wikidb->get('ConfirmEmail');
+        while(!empty($data[$id])) { // id collision
+            $id = rand_ascii_readable(16);
+        }
+        $subject = WIKI_NAME . " " . _("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
+account \"%s\" with this e-mail address on %s.
+
+To confirm that this account really does belong to you and activate
+e-mail features on %s, open this link in your browser:
+
+%s
+
+If this is *not* you, don't follow the link. This confirmation code
+will expire at %s.", 
+                       $ip, $userid, WIKI_NAME, WIKI_NAME, 
+                       WikiURL(HOME_PAGE, array('action' => 'ConfirmEmail',
+                                                'id' => $id), 
+                               true),
+                       CTime($expire_date));
+        $this->sendMail($subject, $content, "", true);
+        $data[$id] = array('email' => $email,
+                           'userid' => $userid,
+                           'expire' => $expire_date);
+        $wikidb->set('ConfirmEmail', $data);
+        return '';
+    }
+
+    function checkEmailConfirmation () {
+        global $request;
+        $wikidb = $request->getDbh();
+        $data = $wikidb->get('ConfirmEmail');
+        $id = $request->getArg('id');
+        if (empty($data[$id])) { // id not found
+            return HTML(HTML::h1("Confirm E-mail address"),
+                        HTML::h1("Sorry! Wrong URL"));
+        }
+        // upgrade the user
+        $userid = $data['userid'];
+        $email = $data['email'];
+        $u = $request->getUser();
+        if ($u->UserName() == $userid) { // lucky: current user (session)
+            $prefs = $u->getPreferences();
+            $request->_user->_level = WIKIAUTH_USER;
+            $request->_prefs->set('emailVerified', true);
+        } else {  // not current user
+            if (ENABLE_USER_NEW) {
+                $u = WikiUser($userid);
+                $u->getPreferences();
+                $prefs = &$u->_prefs;
+            } else {
+                $u = new WikiUser($request, $userid);
+                $prefs = $u->getPreferences();
+            }
+            $u->_level = WIKIAUTH_USER;
+            $request->setUser($u);
+            $request->_prefs->set('emailVerified', true);
+        }
+        unset($data[$id]);
+        $wikidb->set('ConfirmEmail', $data);
+        return HTML(HTML::h1("Confirm E-mail address"),
+                    HTML::p("Your e-mail address has now been confirmed."));
+    }
+}
+
+
+// $Log: MailNotify.php,v $
+// Revision 1.11  2007/07/01 09:01:16  rurban
+// New MailNotify Policy: only notice on DEBUG
+//
+// Revision 1.10  2007/05/01 16:14:21  rurban
+// fix cache
+//
+// Revision 1.9  2007/03/10 18:22:51  rurban
+// Patch 1677950 by Erwann Penet
+//
+// Revision 1.8  2007/01/25 07:41:54  rurban
+// Add wikimail.log default on unix
+//
+// Revision 1.7  2007/01/20 11:25:38  rurban
+// Fix onDeletePage warning and content
+//
+// Revision 1.6  2007/01/09 12:34:55  rurban
+// Fix typo (syntax error)
+//
+// Revision 1.5  2007/01/07 18:42:58  rurban
+// Add MAILER_LOG logfile
+//
+// Revision 1.4  2007/01/04 16:47:49  rurban
+// improve text
+//
+// Revision 1.3  2006/12/24 13:35:43  rurban
+// added experimental EMailConfirm auth. (not yet tested)
+// requires actionpage ConfirmEmail
+// TBD: purge expired cookies
+//
+// Revision 1.2  2006/12/23 11:50:45  rurban
+// added missing result init
+//
+// Revision 1.1  2006/12/22 17:59:55  rurban
+// Move mailer functions into seperate MailNotify.php
+//
+
+// Local Variables:
+// mode: php
+// tab-width: 8
+// c-basic-offset: 4
+// c-hanging-comment-ender-p: nil
+// indent-tabs-mode: nil
+// End:   
+?>
diff -ruN 1.3.12p3/lib/main.php 1.3.14/lib/main.php
--- 1.3.12p3/lib/main.php	2006-06-18 06:19:19.000000000 -0500
+++ 1.3.14/lib/main.php	2007-07-01 05:11:04.000000000 -0500
@@ -1,5 +1,5 @@
 <?php //-*-php-*-
-rcs_id('$Id: main.php,v 1.223  2006/03/19 15:01:00  rurban Exp $');
+rcs_id('$Id: main.php,v 1.234 2007/07/01 09:36:10 rurban Exp $');
 /*
  Copyright 1999,2000,2001,2002,2004,2005,2006 $ThePhpWikiProgrammingTeam
 
@@ -161,15 +161,21 @@
         }
     }
 
-    function initializeTheme () {
+    function initializeTheme ($when = 'default') {
         global $WikiTheme;
+	// if when = 'default', then first time init (default theme, ...)
+	// if when = 'login', then check some callbacks
+	//                    and maybe the theme changed (other theme defined in pref)
+	// if when = 'logout', then check other callbacks
+	//                    and maybe the theme changed (back to default theme)
 
-        // Load non-default theme
+        // Load non-default theme (when = login)
         $_theme = @$this->_prefs->_prefs['theme'];
         if ($_theme and isset($_theme->theme))
             $user_theme = $_theme->theme;
         else 
             $user_theme = $this->getPref('theme');
+
         //check changed LANG and THEME inside a session. 
         // (e.g. by using another baseurl)
         if (isset($this->_user->_authhow) 
@@ -193,6 +199,21 @@
         if (empty($WikiTheme))
             include_once("themes/default/themeinfo.php");
         assert(!empty($WikiTheme));
+
+	// When all themeinfo.php files do not execute global init code anymore
+	$WikiTheme->load();
+
+	// callbacks
+	if ($when == 'login') {
+	    if (!$this->_user->hasHomePage()) { // NewUser
+		$WikiTheme->CbNewUserLogin($this, $this->_user->_userid);
+		if (in_array($this->getArg('action'), array('edit','create')))
+		    $WikiTheme->CbNewUserEdit($this, $this->_user->_userid);
+	    }
+	}
+	elseif ($when == 'logout') {
+	    $WikiTheme->CbUserLogout($this, $this->_user->_userid);
+	}
     }
 
     // This really maybe should be part of the constructor, but since it
@@ -222,7 +243,7 @@
 
         // Save preferences in session and cookie
         if ((defined('WIKI_XMLRPC') and !WIKI_XMLRPC) or $action != 'xmlrpc') {
-            if (isset($this->_user)) {
+            if (isset($this->_user) and $this->_user->_userid) {
             	if (!isset($this->_user->_authhow) or $this->_user->_authhow != 'session') {
                     $this->_user->setPreferences($this->_prefs, true);
             	}
@@ -315,7 +336,7 @@
      * the URL.  (These should be ignored when we receive the POST
      * request.)
      */
-    function getPostURL ($pagename=false) {
+    function getPostURL ($pagename = false) {
         global $HTTP_GET_VARS;
 
         if ($pagename === false)
@@ -323,6 +344,8 @@
         $action = $this->getArg('action');
         if (!empty($HTTP_GET_VARS['start_debug'])) // zend ide support
             return WikiURL($pagename, array('action' => $action, 'start_debug' => 1));
+        elseif ($action == 'edit')
+            return WikiURL($pagename);
         else
             return WikiURL($pagename, array('action' => $action));
     }
@@ -337,11 +360,7 @@
 
         $olduser = $this->_user;
         $user = $this->_user->AuthCheck($auth_args);
-        if (isa($user, WikiUserClassname())) {
-            // Successful login (or logout.)
-            $this->_setUser($user);
-        }
-        elseif (is_string($user)) {
+        if (is_string($user)) {
             // Login attempt failed.
             $fail_message = $user;
             $auth_args['pass_required'] = true;
@@ -359,6 +378,10 @@
             $olduser->PrintLoginForm($this, $auth_args, $fail_message, 'newpage');
             $this->finish();    //NORETURN
         }
+        elseif (isa($user, WikiUserClassname())) {
+            // Successful login (or logout.)
+            $this->_setUser($user);
+        }
         else {
             // Login request cancelled.
         }
@@ -392,8 +415,10 @@
         if (defined('MAIN_setUser')) return; // don't set cookies twice
         $this->setCookieVar(getCookieName(), $user->getAuthenticatedId(),
                             COOKIE_EXPIRATION_DAYS, COOKIE_DOMAIN);
-        if ($user->isSignedIn())
+	$isSignedIn = $user->isSignedIn();
+        if ($isSignedIn) {
             $user->_authhow = 'signin';
+	}
 
         // Save userid to prefs..
         if ( empty($this->_user->_prefs)) {
@@ -403,8 +428,8 @@
         $this->_user->_group = $this->getGroup();
         $this->setSessionVar('wiki_user', $user);
         $this->_prefs->set('userid',
-                           $user->isSignedIn() ? $user->getId() : '');
-        $this->initializeTheme();
+                           $isSignedIn ? $user->getId() : '');
+        $this->initializeTheme($isSignedIn ? 'login' : 'logout');
         define('MAIN_setUser', true);
     }
 
@@ -473,14 +498,17 @@
         }
         elseif ($require_level == WIKIAUTH_BOGO)
             $msg = fmt("You must sign in to %s.", $what);
-        elseif ($require_level == WIKIAUTH_USER)
+        elseif ($require_level == WIKIAUTH_USER) {
             $msg = fmt("You must log in to %s.", $what);
-        elseif ($require_level == WIKIAUTH_ANON)
+	    if (!ALLOW_ANON_USER)
+		$msg = fmt("You must log in first", $what);
+        } elseif ($require_level == WIKIAUTH_ANON)
             $msg = fmt("Access for you is forbidden to %s.", $what);
         else
             $msg = fmt("You must be an administrator to %s.", $what);
 
-        $this->_user->PrintLoginForm($this, compact('require_level','pass_required'), $msg);
+        $this->_user->PrintLoginForm($this, compact('require_level','pass_required'), 
+				     $msg);
         $this->finish();    // NORETURN
     }
 
@@ -597,6 +625,8 @@
             case 'search':
             case 'pdf':
             case 'captcha':
+            case 'wikitohtml':
+            case 'setpref':
                 return WIKIAUTH_ANON;
 
             case 'zip':
@@ -672,7 +702,12 @@
     // [574ms] mainly template:printexpansion: 393ms and template::expandsubtemplate [100+70+60ms]
     function handleAction () {
         $action = $this->getArg('action');
-        if ($this->isPost() and !$this->_user->isAdmin() and $action != 'browse') {
+        if ($this->isPost()  
+            and !$this->_user->isAdmin()
+            and $action != 'browse' 
+            and $action != 'wikitohtml' 
+            )
+        {
             $page = $this->getPage();
             if ( $page->get('moderation') ) {
                 require_once("lib/WikiPlugin.php");
@@ -804,11 +839,12 @@
         if (!($action = $this->getArg('action'))) {
             // TODO: improve this SOAP.php hack by letting SOAP use index.php 
             // or any other virtual url as with xmlrpc
-            if (defined('WIKI_SOAP')   and WIKI_SOAP)
+            if (defined('WIKI_SOAP') and WIKI_SOAP)
                 return 'soap';
             // Detect XML-RPC requests.
             if ($this->isPost()
-                && $this->get('CONTENT_TYPE') == 'text/xml'
+                && ($this->get('CONTENT_TYPE') == 'text/xml' 
+                    or $this->get('CONTENT_TYPE') == 'application/xml')
                 && strstr($GLOBALS['HTTP_RAW_POST_DATA'], '<methodCall>')
                )
             {
@@ -845,9 +881,9 @@
             return $this->args['auth']['userid'];
 
         if ($user = $this->getSessionVar('wiki_user')) {
-            // switched auth between sessions. 
+            // Switched auth between sessions. 
             // Note: There's no way to demandload a missing class-definition 
-            // afterwards! (Stupid php)
+            // afterwards! Stupid php.
             if (isa($user, WikiUserClassname())) {
                 $this->_user = $user;
                 $this->_user->_authhow = 'session';
@@ -872,6 +908,8 @@
         }
 
         if ($this->getArg('action') == 'xmlrpc') { // how about SOAP?
+	    if (empty($GLOBALS['HTTP_RAW_POST_DATA']))
+		trigger_error("Wrong always_populate_raw_post_data = Off setting in your php.ini\nCannot use xmlrpc!", E_USER_ERROR);
             // wiki.putPage has special otional userid/passwd arguments. check that later.
             $userid = '';
             if (isset($HTTP_SERVER_VARS['REMOTE_USER']))
@@ -888,7 +926,7 @@
         return false;
     }
     
-    function _isActionPage ($pagename) {
+    function _isActionPage ($pagename, $verbose = true) {
         $dbi = $this->getDbh();
         $page = $dbi->getPage($pagename);
         if (!$page) return false;
@@ -896,13 +934,14 @@
         // FIXME: more restrictive check for sane plugin?
         if (strstr($rev->getPackedContent(), '<?plugin'))
             return true;
-        if (!$rev->hasDefaultContents())
+        if ($verbose and !$rev->hasDefaultContents())
             trigger_error("$pagename: Does not appear to be an 'action page'", E_USER_NOTICE);
         return false;
     }
 
     function findActionPage ($action) {
         static $cache;
+        if (!$action) return false;
 
         // check for translated version, as per users preferred language
         // (or system default in case it is not en)
@@ -912,7 +951,7 @@
             return $cache[$translation];
 
         // check for cached translated version
-        if ($this->_isActionPage($translation))
+        if ($translation and $this->_isActionPage($translation, false))
             return $cache[$action] = $translation;
 
         // Allow for, e.g. action=LikePages
@@ -927,7 +966,7 @@
             $trans = new WikiPlugin__WikiTranslation();
             $trans->lang = $LANG;
 	    $default = $trans->translate_to_en($action, $LANG);
-            if ($this->_isActionPage($default))
+            if ($default and $this->_isActionPage($default, false))
                 return $cache[$action] = $default;
         } else {
             $default = $translation;
@@ -1041,7 +1080,7 @@
         $page->set('locked', true);
         $this->_dbi->touch();
         // check ModeratedPage hook
-        if ($moderated = $page->get('moderated')) {
+        if ($moderated = $page->get('moderation')) {
             require_once("lib/WikiPlugin.php");
             $plugin = WikiPluginLoader::getPlugin("ModeratedPage");
             if ($retval = $plugin->lock_check($this, $page, $moderated))
@@ -1082,6 +1121,15 @@
         $xmlrpc->service();
     }
     
+    function action_soap () {
+	if (defined("WIKI_SOAP") and WIKI_SOAP) // already loaded
+	    return;
+	/*
+	  allow VIRTUAL_PATH or action=soap SOAP access
+	 */
+	include_once("SOAP.php");
+    }
+
     function action_revert () {
         include_once "lib/loadsave.php";
         RevertPage($this);
@@ -1140,6 +1188,19 @@
         $captcha->image ( $captcha->captchaword() ); 
     }
     
+    function action_wikitohtml () {
+       include_once("lib/WysiwygEdit/Wikiwyg.php");
+       $wikitohtml = new WikiToHtml( $this->getArg("content") , $this);
+       $wikitohtml->send();
+    }
+
+    function action_setpref () {
+	$what = $this->getArg('pref');
+	$value = $this->getArg('value');
+	$prefs =& $this->_user->_prefs;
+	$prefs->set($what, $value);
+	$num = $this->_user->setPreferences($prefs);
+    }
 }
 
 //FIXME: deprecated with ENABLE_PAGEPERM (?)
@@ -1218,9 +1279,8 @@
     }
     
     // Initialize with system defaults in case user not logged in.
-    // Should this go into constructor?
-    $request->initializeTheme();
-
+    // Should this go into the constructor?
+    $request->initializeTheme('default');
     $request->updateAuthAndPrefs();
     $request->initializeLang();
     
@@ -1236,8 +1296,8 @@
     $request->possiblyDeflowerVirginWiki();
     
 // hack! define proper actions for these.
-if (defined('WIKI_XMLRPC') and WIKI_XMLRPC) return;
-if (defined('WIKI_SOAP')   and WIKI_SOAP)   return;
+//if (defined('WIKI_XMLRPC') and WIKI_XMLRPC) return;
+//if (defined('WIKI_SOAP')   and WIKI_SOAP)   return;
 
     $validators = array('wikiname' => WIKI_NAME,
                         'args'     => wikihash($request->getArgs()),
@@ -1254,8 +1314,10 @@
     //
     // (If DEBUG if off, this may be a strong validator, but I'm going
     // to go the paranoid route here pending further study and testing.)
-    //
-    $validators['%weak'] = true;
+    // access hits and edit stats in the footer violate strong ETags also. 
+    if (1 or DEBUG) {
+	$validators['%weak'] = true;
+    }
     $request->setValidators($validators);
    
     $request->handleAction();
@@ -1275,6 +1337,45 @@
 
 
 // $Log: main.php,v $
+// Revision 1.234  2007/07/01 09:36:10  rurban
+// themes are now easier derivable classes from other themes.
+// removed global code setters, switched to $WikiTheme->load() in main
+//
+// Revision 1.233  2007/06/02 21:07:21  rurban
+// _isActionPage ($pagename, $verbose = true)
+//
+// Revision 1.232  2007/05/13 18:13:20  rurban
+// improve prefs: only save with userid
+//
+// Revision 1.231  2007/02/17 14:16:44  rurban
+// action_soap, action_setpref, anon perms for wikitohtml, setpref
+//
+// Revision 1.230  2007/01/27 21:52:15  rurban
+// Improved login header for !ALLOW_ANON_USER
+//
+// Revision 1.229  2007/01/07 18:44:30  rurban
+// Fix typo for moderation
+//
+// Revision 1.228  2007/01/02 13:22:17  rurban
+// allow application/xml for xmlrpc detection: acdropdown uses this type. silence findActionPage warnings
+//
+// Revision 1.227  2006/12/22 17:53:55  rurban
+// Remove action from edited url
+// move wikitohtml to lib/WysiwygEdit/Wikiwyg.php
+//
+// Revision 1.226  2006/09/06 06:01:45  rurban
+// minor cleanup
+//
+// Revision 1.225  2006/05/31 19:59:57  jeannicolas
+//
+//
+// Added wysiwyg_editor 1.1b
+//
+// Revision 1.224  2006/05/13 19:59:55  rurban
+// added wysiwyg_editor-1.3a feature by Jean-Nicolas GEREONE <jean-nicolas.gereone@st.com>
+// converted wysiwyg_editor-1.3a js to WysiwygEdit framework
+// changed default ENABLE_WYSIWYG = true and added WYSIWYG_BACKEND = Wikiwyg
+//
 // Revision 1.223  2006/03/19 15:01:00  rurban
 // sf.net patch #1333957 by Matt Brown: Authentication cookie identical across all wikis on a host
 //
diff -ruN 1.3.12p3/lib/PageList.php 1.3.14/lib/PageList.php
--- 1.3.12p3/lib/PageList.php	2006-06-18 06:19:19.000000000 -0500
+++ 1.3.14/lib/PageList.php	2007-07-01 05:11:04.000000000 -0500
@@ -1,4 +1,4 @@
-<?php rcs_id('$Id: PageList.php,v 1.135 2005/09/14 05:59:03 rurban Exp $');
+<?php rcs_id('$Id: PageList.php,v 1.142 2007/07/01 09:09:19 rurban Exp $');
 
 /**
  * List a number of pagenames, optionally as table with various columns.
@@ -48,15 +48,18 @@
  * DONE: 
  *   paging support: limit, offset args
  *   check PagePerm "list" access-type,
- *   all columns are sortable (Thanks to the wikilens team).
+ *   all columns are sortable. Thanks to the wikilens team.
  *   cols > 1, comma, azhead, ordered (OL lists)
  *   ->supportedArgs() which arguments are supported, so that the plugin 
  *                     doesn't explictly need to declare it 
+ * TODO:
+ *   fix sortby logic, fix multiple sortby and other paging args per page.
+ *   info=relation,linkto nopage=1
+ *   use custom format method (RecentChanges, rss, ...)
  *
  * FIXED: 
  *   fix memory exhaustion on large pagelists with old --memory-limit php's only. 
  *   Status: improved 2004-06-25 16:19:36 rurban 
- *     but needs further testing.
  */
 class _PageList_Column_base {
     var $_tdattr = array();
@@ -74,10 +77,11 @@
     }
 
     function format ($pagelist, $page_handle, &$revision_handle) {
+    	$nbsp = HTML::raw('&nbsp;');
         return HTML::td($this->_tdattr,
-                        HTML::raw('&nbsp;'),
+                        $nbsp,
                         $this->_getValue($page_handle, $revision_handle),
-                        HTML::raw('&nbsp;'));
+                        $nbsp);
     }
 
     function getHeading () {
@@ -90,6 +94,8 @@
 
     // old-style heading
     function heading () {
+    	global $request;
+        $nbsp = HTML::raw('&nbsp;');
         // allow sorting?
         if (1 /* or in_array($this->_field, PageList::sortable_columns())*/) {
             // multiple comma-delimited sortby args: "+hits,+pagename"
@@ -98,49 +104,47 @@
             //Fixme: pass all also other GET args along. (limit, p[])
             //TODO: support GET and POST
             $s = HTML::a(array('href' => 
-                               $GLOBALS['request']->GetURLtoSelf(array('sortby' => $sortby,
-                                                                       'nocache' => '1')),
+                               $request->GetURLtoSelf(array('sortby' => $sortby)),
                                'class' => 'pagetitle',
                                'title' => sprintf(_("Sort by %s"), $this->_field)), 
-                         HTML::raw('&nbsp;'), HTML::u($this->_heading), HTML::raw('&nbsp;'));
+                         $nbsp, HTML::u($this->_heading), $nbsp);
         } else {
-            $s = HTML(HTML::raw('&nbsp;'), HTML::u($this->_heading), HTML::raw('&nbsp;'));
+            $s = HTML($nbsp, HTML::u($this->_heading), $nbsp);
         }
         return HTML::th(array('align' => 'center'),$s);
     }
 
     // new grid-style sortable heading
-    // see activeui.js 
-    function button_heading ($pagelist, $colNum) {
+    // TODO: via activeui.js ? (fast dhtml sorting)
+    function button_heading (&$pagelist, $colNum) {
         global $WikiTheme, $request;
         // allow sorting?
+        $nbsp = HTML::raw('&nbsp;');
         if (1 /* or in_array($this->_field, PageList::sortable_columns()) */) {
-            // multiple comma-delimited sortby args: "+hits,+pagename"
+            // TODO: add to multiple comma-delimited sortby args: "+hits,+pagename"
             $src = false; 
             $noimg_src = $WikiTheme->getButtonURL('no_order');
             if ($noimg_src)
-                $noimg = HTML::img(array('src' => $noimg_src,
-                                         'width' => '7', 
+                $noimg = HTML::img(array('src'    => $noimg_src,
+                                         'width'  => '7', 
                                          'height' => '7',
                                          'border' => 0,
                                          'alt'    => '.'));
             else 
-                $noimg = HTML::raw('&nbsp;');
-            if ($request->getArg('sortby')) {
-                if ($pagelist->sortby($colNum, 'check')) { // show icon?
-                    $sortby = $pagelist->sortby($request->getArg('sortby'), 'flip_order');
-                    //$request->setArg('sortby', $sortby);
-                    $desc = (substr($sortby,0,1) == '-'); // asc or desc? (+pagename, -pagename)
-                    $src = $WikiTheme->getButtonURL($desc ? 'asc_order' : 'desc_order');
-                } else {
-                    $sortby = $pagelist->sortby($colNum, 'init');
-                }
+                $noimg = $nbsp;
+            if ($pagelist->sortby($colNum, 'check')) { // show icon? request or plugin arg
+                $sortby = $pagelist->sortby($colNum, 'flip_order');
+                $desc = (substr($sortby,0,1) == '-'); // +pagename or -pagename
+                $src = $WikiTheme->getButtonURL($desc ? 'asc_order' : 'desc_order');
+                $reverse = $desc ? _("reverse")." " : "";
             } else {
-                $sortby = $pagelist->sortby($colNum, 'init');
+            	// initially unsorted
+            	$sortby = $pagelist->sortby($colNum, 'get');
             }
             if (!$src) {
                 $img = $noimg;
-                //$img->setAttr('alt', _("Click to sort"));
+                $reverse = "";
+                $img->setAttr('alt', ".");
             } else {
                 $img = HTML::img(array('src' => $src, 
                                        'width' => '7', 
@@ -149,21 +153,17 @@
                                        'alt' => _("Click to reverse sort order")));
             }
             $s = HTML::a(array('href' => 
-                               //Fixme: pass all also other GET args along. (limit is ok, p[])
-                               //Fixme: convert to POST submit[sortby]
-                               $request->GetURLtoSelf(array('sortby' => $sortby,
-                                                            /*'nocache' => '1'*/)),
+                                 //Fixme: pass all also other GET args along. (limit is ok, p[])
+                                 $request->GetURLtoSelf(array('sortby' => $sortby, 
+                                                              'id' => $pagelist->id)),
                                'class' => 'gridbutton', 
-                               'title' => sprintf(_("Click to sort by %s"), $this->_field)),
-                         HTML::raw('&nbsp;'),
-                         $noimg,
-                         HTML::raw('&nbsp;'),
-                         $this->_heading,
-                         HTML::raw('&nbsp;'),
-                         $img,
-                         HTML::raw('&nbsp;'));
+                               'title' => sprintf(_("Click to sort by %s"), $reverse . $this->_field)),
+                         $nbsp, $noimg,
+                         $nbsp, $this->_heading,
+                         $nbsp, $img,
+                         $nbsp);
         } else {
-            $s = HTML(HTML::raw('&nbsp;'), $this->_heading, HTML::raw('&nbsp;'));
+            $s = HTML($nbsp, $this->_heading, $nbsp);
         }
         return HTML::th(array('align' => 'center', 'valign' => 'middle', 
                               'class' => 'gridbutton'), $s);
@@ -345,6 +345,10 @@
         $time = _PageList_Column::_getValue($page_handle, $revision_handle);
         return $this->Theme->formatDateTime($time);
     }
+
+    function _getSortableValue ($page_handle, &$revision_handle) {
+        return _PageList_Column::_getValue($page_handle, $revision_handle);
+    }
 };
 
 class _PageList_Column_version extends _PageList_Column {
@@ -432,31 +436,41 @@
 
     function _getValue ($page_handle, &$revision_handle) {
         $author = _PageList_Column::_getValue($page_handle, $revision_handle);
-        if (isWikiWord($author) && $this->dbi->isWikiPage($author))
+        if ($this->dbi->isWikiPage($author))
             return WikiLink($author);
         else
             return $author;
     }
+    
+    function _getSortableValue ($page_handle, &$revision_handle) {
+        return _PageList_Column::_getValue($page_handle, $revision_handle);
+    }
 };
 
 class _PageList_Column_owner extends _PageList_Column_author {
     function _getValue ($page_handle, &$revision_handle) {
         $author = $page_handle->getOwner();
-        if (isWikiWord($author) && $this->dbi->isWikiPage($author))
+        if ($this->dbi->isWikiPage($author))
             return WikiLink($author);
         else
             return $author;
     }
+    function _getSortableValue ($page_handle, &$revision_handle) {
+        return _PageList_Column::_getValue($page_handle, $revision_handle);
+    }
 };
 
 class _PageList_Column_creator extends _PageList_Column_author {
     function _getValue ($page_handle, &$revision_handle) {
         $author = $page_handle->getCreator();
-        if (isWikiWord($author) && $this->dbi->isWikiPage($author))
+        if ($this->dbi->isWikiPage($author))
             return WikiLink($author);
         else
             return $author;
     }
+    function _getSortableValue ($page_handle, &$revision_handle) {
+        return _PageList_Column::_getValue($page_handle, $revision_handle);
+    }
 };
 
 class _PageList_Column_pagename extends _PageList_Column_base {
@@ -502,15 +516,17 @@
     var $_maxlen = 0;
 
     function PageList ($columns = false, $exclude = false, $options = false) {
+    	// unique id per pagelist on each page.
+    	if (!isset($GLOBALS['request']->_pagelist))
+    	    $GLOBALS['request']->_pagelist = 0;
+    	else 
+    	    $GLOBALS['request']->_pagelist++;    
+    	$this->id = $GLOBALS['request']->_pagelist;
         if ($options)
             $this->_options = $options;
 
-        // let plugins predefine only certain objects, such its own custom pagelist columns
-        if (!empty($this->_options['types'])) {
-            $this->_types = $this->_options['types'];
-            unset($this->_options['types']);
-        }
         $this->_initAvailableColumns();
+        // let plugins predefine only certain objects, such its own custom pagelist columns
         $symbolic_columns = 
             array(
                   'all' =>  array_diff(array_keys($this->_types), // all but...
@@ -528,23 +544,61 @@
                     $columns = array_diff(array_merge($columns,$cols),array($symbol));
                 }
             }
-            if (!in_array('pagename',$columns))
+            if (empty($this->_options['nopage']) and !in_array('pagename',$columns))
                 $this->_addColumn('pagename');
             foreach ($columns as $col) {
-                $this->_addColumn($col);
+		if (!empty($col))
+		    $this->_addColumn($col);
             }
         }
         // If 'pagename' is already present, _addColumn() will not add it again
-        $this->_addColumn('pagename');
+	if (empty($this->_options['nopage']))
+	    $this->_addColumn('pagename');
+
+	if (!empty($this->_options['types'])) {
+            foreach ($this->_options['types'] as $type) {	
+            	$this->_types[$type->_field] = $type;
+                $this->_addColumn($type->_field);
+            }
+            unset($this->_options['types']);
+        }
 
-        foreach (array('sortby','limit','paging','count','dosort') as $key) {
-          if (!empty($options) and !empty($options[$key])) {
-            $this->_options[$key] = $options[$key];
-          } else {
-            $this->_options[$key] = $GLOBALS['request']->getArg($key);
-          }
+        global $request;
+        // explicit header options: ?id=x&sortby=... override options[]
+        // support multiple sorts. check multiple, no nested elseif
+        if (($this->id == $request->getArg("id")) 
+             and $request->getArg('sortby')) 
+        {
+            // add it to the front of the sortby array
+            $this->sortby($request->getArg('sortby'), 'init');
+            $this->_options['sortby'] = $request->getArg('sortby');
+        } // plugin options
+        if (!empty($options['sortby'])) {
+	    if (empty($this->_options['sortby']))
+	        $this->_options['sortby'] = $options['sortby'];
+            $this->sortby($options['sortby'], 'init');
+	} // global options 
+	if (!isset($request->args["id"]) and $request->getArg('sortby') 
+	     and empty($this->_options['sortby'])) 
+	{
+	    $this->_options['sortby'] = $request->getArg('sortby');
+            $this->sortby($this->_options['sortby'], 'init');
+	}
+	// same as above but without the special sortby push, and mutually exclusive (elseif)
+        foreach ($this->pagingArgs() as $key) {
+            if ($key == 'sortby') continue;	
+            if (($this->id == $request->getArg("id")) 
+                and $request->getArg($key)) 
+            {
+                $this->_options[$key] = $request->getArg($key);
+            } // plugin options
+            elseif (!empty($options) and !empty($options[$key])) {
+		$this->_options[$key] = $options[$key];
+	    } // global options 
+	    elseif (!isset($request->args["id"]) and $request->getArg($key)) {
+		$this->_options[$key] = $request->getArg($key);
+	    }
         }
-        $this->_options['sortby'] = $this->sortby($this->_options['sortby'], 'init');
         if ($exclude) {
             if (is_string($exclude) and !is_array($exclude))
                 $exclude = $this->explodePageList($exclude, false,
@@ -593,13 +647,25 @@
                      			    // 1 if without links, 2 if with
                      'commasep' => false,   // Default: ', '
                      'ordered'  => false,   // OL or just UL lists (ignored for comma)
+		     'linkmore' => '',      // If count>0 and limit>0 display a link with 
+		     // the number of all results, linked to the given pagename.
+		     
+		     'nopage'   => false,   // for info=col omit the pagename column
                      );
     }
+    
+    function pagingArgs() {
+    	return array('sortby','limit','paging','count','dosort');
+    }
 
     function setCaption ($caption_string) {
         $this->_caption = $caption_string;
     }
 
+    function addCaption ($caption_string) {
+        $this->_caption = HTML($this->_caption," ",$caption_string);
+    }
+
     function getCaption () {
         // put the total into the caption if needed
         if (is_string($this->_caption) && strstr($this->_caption, '%d'))
@@ -633,8 +699,11 @@
 
     function pageNames() {
         $pages = array();
+	$limit = @$this->_options['limit'];
         foreach ($this->_pages as $page_handle) {
             $pages[] = $page_handle->getName();
+	    if ($limit and count($pages) > $limit)
+		break;
         }
         return $pages;
     }
@@ -642,7 +711,7 @@
     function _getPageFromHandle($page_handle) {
         if (is_string($page_handle)) {
             if (empty($page_handle)) return $page_handle;
-            //$dbi = $GLOBALS['request']->getDbh(); // no, safe memory!
+            //$dbi = $GLOBALS['request']->getDbh(); // no, safe some memory!
             $page_handle = $GLOBALS['request']->_dbi->getPage($page_handle);
         }
         return $page_handle;
@@ -676,10 +745,17 @@
 
         if (count($this->_columns) > 1) {
             $row = HTML::tr(array('class' => $class));
-            foreach ($this->_columns as $col)
+            $j = 0;
+            foreach ($this->_columns as $col) {
+	        $col->current_row = $i;
+	        $col->current_column = $j;
                 $row->pushContent($col->format($this, $page_handle, $revision_handle));
+                $j++;
+            }
         } else {
             $col = $this->_columns[0];
+	    $col->current_row = $i;
+	    $col->current_column = 0;
             $row = $col->_getValue($page_handle, $revision_handle);
         }
 
@@ -783,20 +859,44 @@
             $order = '-'; $column = substr($column,1);
         }
         // default initial order: +pagename, -mtime, -hits
-        if (empty($order))
-            if (in_array($column, array('mtime','hits')))
-                $order = '-';
-            else
-                $order = '+';
-        if ($action == 'flip_order') {
+        if (empty($order)) {
+            if (!empty($this->_sortby[$column]))
+                $order = $this->_sortby[$column];
+            else {
+                if (in_array($column, array('mtime','hits')))
+                    $order = '-';
+                else
+                    $order = '+';
+            }
+        }
+        if ($action == 'get') {
+            return $order . $column;
+        } elseif ($action == 'flip_order') {
+            if (0 and DEBUG)
+            	trigger_error("flip $order $column ".$this->id,  E_USER_NOTICE); 
             return ($order == '+' ? '-' : '+') . $column;
-        } elseif ($action == 'init') {
-            $this->_sortby[$column] = $order;
+        } elseif ($action == 'init') { // only allowed from PageList::PageList
+            if ($this->sortby($column, 'clicked')) {
+            	if (0 and DEBUG)
+            	    trigger_error("clicked $order $column $this->id",  E_USER_NOTICE); 
+                //$order = ($order == '+' ? '-' : '+'); // $this->sortby($sortby, 'flip_order');
+            }
+            $this->_sortby[$column] = $order; // forces show icon
             return $order . $column;
-        } elseif ($action == 'check') {
-            return (!empty($this->_sortby[$column])
-                    or ($request->getArg('sortby')
-                        and strstr($request->getArg('sortby'),$column)));
+        } elseif ($action == 'check') {   // show icon?
+            //if specified via arg or if clicked
+            $show = (!empty($this->_sortby[$column]) or $this->sortby($column, 'clicked'));
+            if (0 and $show and DEBUG) {
+                trigger_error("show $order $column ".$this->id, E_USER_NOTICE);
+            }
+            return $show;	     
+        } elseif ($action == 'clicked') { // flip sort order?
+            global $request;
+            $arg = $request->getArg('sortby');
+            return ($arg
+                    and strstr($arg, $column)
+                    and (!isset($request->args['id']) 
+                         or $this->id == $request->getArg('id')));
         } elseif ($action == 'db') {
             // Performance enhancement: use native DB sort if possible.
             if (($valid_fields and in_array($column, $valid_fields))
@@ -813,8 +913,8 @@
     }
 
     // echo implode(":",explodeList("Test*",array("xx","Test1","Test2")));
-    function explodePageList($input, $include_empty=false, $sortby=false, 
-                             $limit=false, $exclude=false) 
+    function explodePageList($input, $include_empty=false, $sortby='', 
+                             $limit='', $exclude='') 
     {
         if (empty($input)) return array();
         // expand wildcards from list of all pages
@@ -841,10 +941,12 @@
             //TODO: do the sorting, normally not needed if used for exclude only
             return explode(',', $input);
         }
-    } 
+    }
 
-    function allPagesByAuthor($wildcard, $include_empty=false, $sortby=false, 
-                              $limit=false, $exclude=false) {
+    // TODO: optimize getTotal => store in count
+    function allPagesByAuthor($wildcard, $include_empty=false, $sortby='', 
+                              $limit='', $exclude='') 
+    {
         $dbi = $GLOBALS['request']->getDbh();
         $allPagehandles = $dbi->getAllPages($include_empty, $sortby, $limit, $exclude);
         $allPages = array();
@@ -869,8 +971,8 @@
         return $allPages;
     }
 
-    function allPagesByOwner($wildcard, $include_empty=false, $sortby=false, 
-                             $limit=false, $exclude=false) {
+    function allPagesByOwner($wildcard, $include_empty=false, $sortby='', 
+                             $limit='', $exclude='') {
         $dbi = $GLOBALS['request']->getDbh();
         $allPagehandles = $dbi->getAllPages($include_empty, $sortby, $limit, $exclude);
         $allPages = array();
@@ -894,8 +996,8 @@
         return $allPages;
     }
 
-    function allPagesByCreator($wildcard, $include_empty=false, $sortby=false, 
-                               $limit=false, $exclude=false) {
+    function allPagesByCreator($wildcard, $include_empty=false, $sortby='', 
+                               $limit='', $exclude='') {
         $dbi = $GLOBALS['request']->getDbh();
         $allPagehandles = $dbi->getAllPages($include_empty, $sortby, $limit, $exclude);
         $allPages = array();
@@ -1045,7 +1147,8 @@
                                      'rating',/*'ratingwidget',*/
                                      'coagreement', 'minmisery',
                                      /*'prediction',*/
-                                     'averagerating', 'top3recs');
+                                     'averagerating', 'top3recs', 
+                                     'relation', 'linkto');
             if (!in_array($column, $silently_ignore))
                 trigger_error(sprintf("%s: Bad column", $column), E_USER_NOTICE);
             return false;
@@ -1101,6 +1204,7 @@
                 assert(isset($col));
                 $revision_handle = false;
                 $aval = $col->_getSortableValue($pagea, $revision_handle);
+                $revision_handle = false;
                 $bval = $col->_getSortableValue($pageb, $revision_handle);
 
                 $cmp = $col->_compare($aval, $bval);
@@ -1123,11 +1227,13 @@
     function _sortPages() {
         if (count($this->_sortby) > 0) {
             $need_sort = $this->_options['dosort'];
-            foreach ($this->_sortby as $col => $dir) {
+            if (!$need_sort)
+              foreach ($this->_sortby as $col => $dir) {
                 if (! $this->sortby($col, 'db'))
                     $need_sort = true;
-            }
+              }
             if ($need_sort) { // There are some columns to sort by
+		// TODO: consider nopage
                 usort($this->_pages, array($this, '_pageCompare'));
             }
         }
@@ -1197,28 +1303,40 @@
     // make a table given the caption
     function _generateTable($caption) {
         if (count($this->_sortby) > 0) $this->_sortPages();
-
-        $rows = array(); $i = 0;
+        
+        // wikiadminutils hack. that's a way to pagelist non-pages
+        $rows = isset($this->_rows) ? $this->_rows : array(); $i = 0;
+        $count = $this->getTotal();
+        $do_paging = ( isset($this->_options['paging']) 
+        	       and !empty($this->_options['limit']) 
+        	       and $count 
+        	       and $this->_options['paging'] != 'none' );
+        if ($do_paging) {
+            $tokens = $this->pagingTokens($count, 
+                                           count($this->_columns), 
+                                           $this->_options['limit']);
+            if ($tokens)                               
+                $this->_pages = array_slice($this->_pages, $tokens['OFFSET'], $tokens['NUMPAGES']);
+        }
         foreach ($this->_pages as $pagenum => $page) {
             $rows[] = $this->_renderPageRow($page, $i++);
         }
-
         $table = HTML::table(array('cellpadding' => 0,
                                    'cellspacing' => 1,
                                    'border'      => 0,
-                                   'class'       => 'pagelist'));
-        if ($caption)
+                                   'class'       => 'pagelist', 
+				   ));
+        if ($caption) {
             $table->pushContent(HTML::caption(array('align'=>'top'), $caption));
+            $table->setAttr('width', '100%');
+	}
 
         //Warning: This is quite fragile. It depends solely on a private variable
         //         in ->_addColumn()
         if (!empty($this->_columns_seen['checkbox'])) {
             $table->pushContent($this->_jsFlipAll());
         }
-        $do_paging = ( isset($this->_options['paging']) 
-        	       and !empty($this->_options['limit']) 
-        	       and $this->getTotal() 
-        	       and $this->_options['paging'] != 'none' );
+
         $row = HTML::tr();
         $table_summary = array();
         $i = 1; // start with 1!
@@ -1240,9 +1358,6 @@
                                            join(", ", $table_summary)));
         $table->pushContent(HTML::colgroup(array('span' => count($this->_columns))));
         if ( $do_paging ) {
-            $tokens = $this->pagingTokens($this->getTotal(), 
-                                           count($this->_columns), 
-                                           $this->_options['limit']);
             if ($tokens === false) {
                 $table->pushContent(HTML::thead($row),
                                     HTML::tbody(false, $rows));
@@ -1303,11 +1418,16 @@
     // 'azhead' - support <h3> grouping into initials
     // 'ordered' - OL or UL list (not yet inherited to all plugins)
     // 'comma'  - condensed comma-list only, 1: no links, >1: with links
+    // FIXME: only unique list entries, esp. with nopage
     function _generateList($caption='') {
     	if (empty($this->_pages)) return; // stop recursion
         $out = HTML();
         if ($caption)
             $out->pushContent(HTML::p($caption));
+	// Semantic Search et al: only unique list entries, esp. with nopage
+	if (!is_array($this->_pages[0]) and is_string($this->_pages[0])) {
+	    $this->_pages = array_unique($this->_pages);
+	}
 
         // need a recursive switch here for the azhead and cols grouping.
         if (!empty($this->_options['cols']) and $this->_options['cols'] > 1) {
@@ -1386,10 +1506,11 @@
 	else    
             $list = HTML::ul(array('class' => 'pagelist'));
         $i = 0;
-        //TODO: currently we ignore limit here and hope tha the backend didn't ignore it. (BackLinks)
+        //TODO: currently we ignore limit here and hope that the backend didn't ignore it. (BackLinks)
         if (!empty($this->_options['limit']))
             list($offset, $pagesize) = $this->limit($this->_options['limit']);
-        else $pagesize=0;
+        else 
+	    $pagesize=0;
         foreach ($this->_pages as $pagenum => $page) {
             $pagehtml = $this->_renderPageRow($page);
             $group = ($i++ / $this->_group_rows);
@@ -1409,6 +1530,7 @@
     // comma=1
     // Condense list without a href links: "Page1, Page2, ..." 
     // Alternative $seperator = HTML::Raw(' &middot; ')
+    // FIXME: only unique list entries, esp. with nopage
     function _generateCommaListAsString() {
     	if (defined($this->_options['commasep']))
     	    $seperator = $this->_options['commasep'];
@@ -1426,6 +1548,7 @@
     // Normal WikiLink list.
     // Future: 1 = reserved for plain string (see above)
     //         2 and more => HTML link specialization?
+    // FIXME: only unique list entries, esp. with nopage
     function _generateCommaList($style = false) {
     	if (defined($this->_options['commasep']))
     	    $seperator = HTLM::Raw($this->_options['commasep']);
@@ -1459,7 +1582,7 @@
 class PageList_Selectable
 extends PageList {
 
-    function PageList_Selectable ($columns=false, $exclude=false, $options = false) {
+    function PageList_Selectable ($columns=false, $exclude='', $options = false) {
         if ($columns) {
             if (!is_array($columns))
                 $columns = explode(',', $columns);
@@ -1484,6 +1607,27 @@
 }
 
 // $Log: PageList.php,v $
+// Revision 1.142  2007/07/01 09:09:19  rurban
+// fix PageList with multiple lists: added id, fixed sortby REQUEST logic
+//
+// Revision 1.141  2007/05/24 18:40:55  rurban
+// display list with tokens problem
+//
+// Revision 1.140  2007/05/13 18:12:55  rurban
+// force adding a options[type] column: fixes LinkDatabase
+//
+// Revision 1.139  2007/01/25 07:42:01  rurban
+// Support nopage
+//
+// Revision 1.138  2007/01/20 11:24:15  rurban
+// Support paging limit if ->_pages is not yet limited by the backend (AllPagesByMe)
+//
+// Revision 1.137  2007/01/07 18:43:08  rurban
+// Honor predefined ->_rows: hack to (re-)allow non-pagenames, used by WikiAdminUtils
+//
+// Revision 1.136  2007/01/02 13:18:46  rurban
+// filter pageNames through limit, needed for xmlrpc. publish col->current_row and col->current_column counters during iteration. use table width=100% with captions. Clarify API: sortby,limit and exclude are strings.
+//
 // Revision 1.135  2005/09/14 05:59:03  rurban
 // optimized explodePageList to use SQL when available
 //   (titleSearch instead of getAllPages)
@@ -1731,4 +1875,4 @@
 // c-hanging-comment-ender-p: nil
 // indent-tabs-mode: nil
 // End:
-?>
\ No newline at end of file
+?>
diff -ruN 1.3.12p3/lib/PagePerm.php 1.3.14/lib/PagePerm.php
--- 1.3.12p3/lib/PagePerm.php	2006-06-18 06:19:19.000000000 -0500
+++ 1.3.14/lib/PagePerm.php	2007-07-01 05:11:04.000000000 -0500
@@ -86,7 +86,7 @@
             return array('inherited', pagePermissions(getParentPage($pagename)));
         }
     } elseif ($perm = getPagePermissions($page)) {
-        return array('page',$perm);
+        return array('page', $perm);
     // or no permissions defined; returned inherited permissions, to be displayed in gray
     } elseif ($pagename == '.') { // stop recursion in pathological case. 
     	// "." defined, without any acl
@@ -264,7 +264,7 @@
  */
 function getParentPage($pagename) {
     if (isSubPage($pagename)) {
-        return subPageSlice($pagename,0);
+        return subPageSlice($pagename, 0);
     } else {
         return '.';
     }
@@ -359,15 +359,18 @@
      * Must translate the various special groups to the actual users settings 
      * (userid, group membership).
      */
-    function isAuthorized($access,$user) {
+    function isAuthorized($access, $user) {
         if (!empty($this->perm{$access})) {
+            $allow = -1;
             foreach ($this->perm[$access] as $group => $bool) {
-                if ($this->isMember($user,$group)) {
+                if ($this->isMember($user, $group)) {
                     return $bool;
+                } elseif ($allow == -1) { // not a member and undecided: check other groups
+                    $allow = !$bool;
                 }
             }
         }
-        return -1; // undecided
+        return $allow; // undecided
     }
 
     /**
diff -ruN 1.3.12p3/lib/PageType.php 1.3.14/lib/PageType.php
--- 1.3.12p3/lib/PageType.php	2006-06-18 06:19:19.000000000 -0500
+++ 1.3.14/lib/PageType.php	2007-07-01 05:11:04.000000000 -0500
@@ -1,7 +1,7 @@
 <?php // -*-php-*-
-rcs_id('$Id: PageType.php,v 1.45 2005/05/06 16:48:41 rurban Exp $');
+rcs_id('$Id: PageType.php,v 1.52 2007/02/17 14:17:41 rurban Exp $');
 /*
- Copyright 1999,2000,2001,2002,2003,2004,2005 $ThePhpWikiProgrammingTeam
+ Copyright 1999,2000,2001,2002,2003,2004,2005,2006 $ThePhpWikiProgrammingTeam
 
  This file is part of PhpWiki.
 
@@ -103,7 +103,7 @@
      * @param hash $meta Version meta-data
      * @return XmlContent The transformed page text.
      */
-    function transform($page, &$text, $meta) {
+    function transform(&$page, &$text, $meta) {
         $fmt_class = 'PageFormatter_' . $this->getName();
         $formatter = new $fmt_class($page, $meta);
         return $formatter->format($text);
@@ -119,9 +119,9 @@
 class PageType_wikiforum extends PageType {}
 
 /* To prevent from PHP5 Fatal error: Using $this when not in object context */
-function getInterwikiMap ($pagetext = false) {
+function getInterwikiMap ($pagetext=false, $force=false) {
     static $map;
-    if (empty($map))
+    if (empty($map) or $force)
         $map = new PageType_interwikimap($pagetext);
     return $map;
 }
@@ -167,6 +167,7 @@
     }
 
     function link ($link, $linktext = false) {
+	global $WikiTheme;
         list ($moniker, $page) = split (":", $link, 2);
         
         if (!isset($this->_map[$moniker])) {
@@ -175,6 +176,20 @@
         }
 
         $url = $this->_map[$moniker];
+	// localize Upload:links for WIKIDUMP
+	if (!empty($WikiTheme->DUMP_MODE) and $moniker == 'Upload') {
+	    global $request;
+	    $url = getUploadFilePath();
+	    //calculate to a relative local path to /uploads for pdf images.
+	    $doc_root = $request->get("DOCUMENT_ROOT");
+    	    $ldir = NormalizeLocalFileName($url);
+            $wikiroot = NormalizeLocalFileName('');
+    	    if (string_starts_with($ldir, $doc_root)) {
+        	$link_prefix = substr($url, strlen($doc_root));
+    	    } elseif (string_starts_with($ldir, $wikiroot)) {
+        	$link_prefix = NormalizeWebFileName(substr($url, strlen($wikiroot)));
+	    }
+	}
         
         // Urlencode page only if it's a query arg.
         // FIXME: this is a somewhat broken heuristic.
@@ -187,7 +202,7 @@
 
         $link = HTML::a(array('href' => $url));
 
-        if (!$linktext) {
+	if (!$linktext) {
             $link->pushContent(PossiblyGlueIconToText('interwiki', "$moniker:"),
                                HTML::span(array('class' => 'wikipage'), $page));
             $link->setAttr('class', 'interwiki');
@@ -210,7 +225,7 @@
             $map[$m[1]] = $m[2];
         }
 
-        // Add virtual monikers Upload: Talk: User:
+        // Add virtual monikers: "Upload:" "Talk:" "User:", ":"
         // and expand special variables %u, %b, %d
 
         // Upload: Should be expanded later to user-specific upload dirs. 
@@ -224,6 +239,7 @@
         if (empty($map["User"])) {
             $map["User"] = "%s";
         }
+        // Talk:UserName => UserName/Discussion
         // Talk:PageName => PageName/Discussion as default, which might be overridden
         if (empty($map["Talk"])) {
             $pagename = $GLOBALS['request']->getArg('pagename');
@@ -255,10 +271,6 @@
                                              Iso8601DateTime());
         }
 
-        // Maybe add other monikers also - SemanticWeb link predicates
-        // Should they be defined in a RDF? (strict mode)
-        // Or should the SemanticWeb lib add it by itself? 
-        // (adding only a subset dependent on the context = model)
         return $map;
     }
 
@@ -316,7 +328,7 @@
         // New policy: default = new markup (old crashes quite often)
     }
 
-    function _transform($text) {
+    function _transform(&$text) {
 	include_once('lib/BlockParser.php');
 	return TransformText($text, $this->_markup);
     }
@@ -342,10 +354,10 @@
 class PageFormatter_interwikimap extends PageFormatter
 {
     function format($text) {
-        return HTML::div(array('class' => 'wikitext'), 
-                         $this->_transform($this->_getHeader($text)),
-                         $this->_formatMap($text),
-                         $this->_transform($this->_getFooter($text)));
+	return HTML::div(array('class' => 'wikitext'),
+			 $this->_transform($this->_getHeader($text)),
+			 $this->_formatMap($text),
+			 $this->_transform($this->_getFooter($text)));
     }
 
     function _getHeader($text) {
@@ -357,7 +369,7 @@
     }
     
     function _getMap($pagetext) {
-        $map = getInterwikiMap($pagetext);
+        $map = getInterwikiMap($pagetext, 'force');
         return $map->_map;
     }
     
@@ -502,7 +514,23 @@
         return $pdf;
     }
 }
+
 // $Log: PageType.php,v $
+// Revision 1.52  2007/02/17 14:17:41  rurban
+// localize Upload:links for WIKIDUMP: esp. for pdf images
+//
+// Revision 1.51  2007/01/07 18:43:17  rurban
+// Disallow ":" as interwikmap and use it as proper LinkedBracket match.
+//
+// Revision 1.50  2007/01/04 16:44:57  rurban
+// Force interwiki updates and page edits
+//
+// Revision 1.49  2006/10/12 06:25:09  rurban
+// use the same class for $moniker == ""
+//
+// Revision 1.48  2006/10/08 12:38:11  rurban
+// New special interwiki link markup [:LinkTo] without storing the backlink
+//
 // Revision 1.47  2005/08/07 09:14:38  rurban
 // fix comments
 //
@@ -549,4 +577,4 @@
 // c-hanging-comment-ender-p: nil
 // indent-tabs-mode: nil
 // End:
-?>
\ No newline at end of file
+?>
diff -ruN 1.3.12p3/lib/pdf.php 1.3.14/lib/pdf.php
--- 1.3.12p3/lib/pdf.php	2006-06-18 06:19:19.000000000 -0500
+++ 1.3.14/lib/pdf.php	2007-07-01 05:11:04.000000000 -0500
@@ -1,9 +1,9 @@
 <?php // -*-php-*-
-rcs_id('$Id: pdf.php,v 1.7 2004/09/22 13:46:26 rurban Exp $');
+rcs_id('$Id: pdf.php,v 1.11 2007/02/17 14:14:55 rurban Exp $');
 /*
  Copyright (C) 2003 Olivier PLATHEY
  Copyright (C) 200? Don Seb
- Copyright (C) 2004 Reini Urban
+ Copyright (C) 2004,2006,2007 Reini Urban
 
  This file is part of PhpWiki.
 
@@ -134,17 +134,91 @@
     }
 }
 
+function ConvertAndDisplayPdfPageList (&$request, $pagelist) {
+    global $WikiTheme;
+    if (empty($request->_is_buffering_output))
+        $request->buffer_output(false/*'nocompress'*/);
+    $pagename = $request->getArg('pagename');
+    $dest = $request->getArg('dest');
+    $request->setArg('dest',false);
+    $request->setArg('format',false);
+    include_once("lib/display.php");
+
+    // Disable CACHE
+    //while ($page = $pagelist->next())
+    foreach ($pagelist->_pages as $page_handle) {
+	$WikiTheme->DUMP_MODE = true;
+	
+        $request->setArg('action','pdf'); // to omit cache headers
+        $request->setArg('pagename',$page_handle->getName()); // to omit cache headers
+	displayPage($request, new Template('htmldump', $request));
+        $html = ob_get_contents();
+	$WikiTheme->DUMP_MODE = false;
+	$request->discardOutput();
+	$request->buffer_output(false/*'nocompress'*/);
+    
+	// check hook for external converters
+	if (USE_EXTERNAL_HTML2PDF) {
+	    // See http://phpwiki.sourceforge.net/phpwiki/PhpWikiToDocBookAndPDF
+	    // htmldoc or ghostscript + html2ps or docbook (dbdoclet, xsltproc, fop)
+	    require_once("lib/WikiPluginCached.php");
+	    $cache = new WikiPluginCached;
+	    $cache->newCache();
+	    $tmpfile = $cache->tempnam('pdf').".html";
+	    $fp = fopen($tmpfile, "wb");
+	    fwrite($fp, $html);
+	    fclose($fp);
+	    $tmpfiles[] = $tmpfile;
+	} else {
+	    // use fpdf:
+	    if ($GLOBALS['LANG'] == 'ja') {
+		include_once("lib/fpdf/japanese.php");
+		$pdf = new PDF_Japanese;
+	    } elseif ($GLOBALS['LANG'] == 'zh') {
+		include_once("lib/fpdf/chinese.php");
+		$pdf = new PDF_Chinese;
+	    } else {
+		$pdf = new PDF;
+	    }
+	    $pdf->Open();
+	    $pdf->AddPage();
+	    $pdf->ConvertFromHTML($html);
+	}
+    }
+    Header('Content-Type: application/pdf');
+    if (USE_EXTERNAL_HTML2PDF) {
+	passthru(EXTERNAL_HTML2PDF_PAGELIST." ".join(" ", $tmpfiles));
+	foreach($tmpfiles as $f)
+	    unlink($f);
+    } else {
+        $pdf->Output($pagename.".pdf", $dest ? $dest : 'I');
+    }
+    if (!empty($errormsg)) {
+        $request->discardOutput();
+    }
+}
+
+/*
+ * main action handler: action=pdf
+ * TODO: Multiple pages (pages=names), recurse - all forward linked pages (recurse=1)
+ * TODO: inline cached content: /getimg.php? => image.png
+ *
+ * uses either an external exe, or the bad internal php library
+ */
 function ConvertAndDisplayPdf (&$request) {
+    global $WikiTheme;
     if (empty($request->_is_buffering_output))
         $request->buffer_output(false/*'nocompress'*/);
     $pagename = $request->getArg('pagename');
     $dest = $request->getArg('dest');
-    //TODO: inline cached content: /getimg.php? => image.png
+    Header('Content-Type: application/pdf');
     // Disable CACHE
 
+    $WikiTheme->DUMP_MODE = true;
     include_once("lib/display.php");
-    displayPage($request);
+    displayPage($request, new Template('htmldump', $request));
     $html = ob_get_contents();
+    $WikiTheme->DUMP_MODE = false;
     
     // check hook for external converters
     if (defined('USE_EXTERNAL_HTML2PDF')
@@ -160,7 +234,6 @@
         $fp = fopen($tmpfile, "wb");
         fwrite($fp, $html);
         fclose($fp);
-        Header('Content-Type: application/pdf');
         passthru(sprintf(USE_EXTERNAL_HTML2PDF, $tmpfile));
         unlink($tmpfile);
     } else {
@@ -187,6 +260,18 @@
 }
 
 // $Log: pdf.php,v $
+// Revision 1.11  2007/02/17 14:14:55  rurban
+// fix pagename for lists
+//
+// Revision 1.10  2007/01/07 18:44:39  rurban
+// Add ConvertAndDisplayPdfPageList
+//
+// Revision 1.9  2006/09/06 06:02:05  rurban
+// omit actionbar from pdf
+//
+// Revision 1.8  2006/08/25 22:09:00  rurban
+// print pdf header earlier
+//
 // Revision 1.7  2004/09/22 13:46:26  rurban
 // centralize upload paths.
 // major WikiPluginCached feature enhancement:
diff -ruN 1.3.12p3/lib/plugin/AllPages.php 1.3.14/lib/plugin/AllPages.php
--- 1.3.12p3/lib/plugin/AllPages.php	2006-06-18 06:19:20.000000000 -0500
+++ 1.3.14/lib/plugin/AllPages.php	2007-07-01 05:11:05.000000000 -0500
@@ -1,5 +1,5 @@
 <?php // -*-php-*-
-rcs_id('$Id: AllPages.php,v 1.36 2005/01/28 12:08:42 rurban Exp $');
+rcs_id('$Id: AllPages.php,v 1.37 2007/01/20 11:24:32 rurban Exp $');
 /**
  Copyright 1999,2000,2001,2002,2004,2005 $ThePhpWikiProgrammingTeam
 
@@ -23,9 +23,9 @@
 require_once('lib/PageList.php');
 
 /**
- * DONE: support author=[] (current user) and owner, creator
- * to be able to have pages: 
- * AllPagesCreatedByMe, AllPagesOwnedByMe, AllPagesLastAuthoredByMe
+ * Supports author=[] (current user), owner=[] and creator=[]
+ * to be able to have the action pages:
+ *   AllPagesCreatedByMe, AllPagesOwnedByMe, AllPagesLastAuthoredByMe
  */
 class WikiPlugin_AllPages
 extends WikiPlugin
@@ -40,7 +40,7 @@
 
     function getVersion() {
         return preg_replace("/[Revision: $]/", '',
-                            "\$Revision: 1.36 $");
+                            "\$Revision: 1.37 $");
     }
 
     function getDefaultArguments() {
@@ -72,40 +72,47 @@
         
         if ( !empty($args['owner']) ) {
             $pages = PageList::allPagesByOwner($args['owner'], $args['include_empty'],
-                                               $args['sortby'], $args['limit']);
-            if ($args['owner'])
-                $caption = fmt("List of pages owned by [%s] (%d total):", 
-                               WikiLink($args['owner'] == '[]' 
-                                        ? $request->_user->getAuthenticatedId() 
-                                        : $args['owner'], 
-                                        'if_known'),
-                               count($pages));
+                                               $args['sortby'], ''
+					       );
+	    $caption = fmt("List of pages owned by [%s] (%d total):", 
+			   WikiLink($args['owner'] == '[]' 
+				    ? $request->_user->getAuthenticatedId() 
+				    : $args['owner'], 
+				    'if_known'),
+			   count($pages));
+	    $args['count'] = $request->getArg('count');
+	    $pages->_options['count'] = $args['count'];
         } elseif ( !empty($args['author']) ) {
             $pages = PageList::allPagesByAuthor($args['author'], $args['include_empty'],
-                                                $args['sortby'], $args['limit']);
-            if ($args['author'])
-                $caption = fmt("List of pages last edited by [%s] (%d total):", 
-                               WikiLink($args['author'] == '[]' 
-                                        ? $request->_user->getAuthenticatedId() 
-                                        : $args['author'], 
-                                        'if_known'), 
-                               count($pages));
+                                                $args['sortby'], '' 
+						);
+	    $caption = fmt("List of pages last edited by [%s] (%d total):", 
+			   WikiLink($args['author'] == '[]' 
+				    ? $request->_user->getAuthenticatedId() 
+				    : $args['author'], 
+				    'if_known'), 
+			   count($pages));
+	    $args['count'] = $request->getArg('count');
+	    $pages->_options['count'] = $args['count'];
         } elseif ( !empty($args['creator']) ) {
             $pages = PageList::allPagesByCreator($args['creator'], $args['include_empty'],
-                                                 $args['sortby'], $args['limit']);
-            if ($args['creator'])
-                $caption = fmt("List of pages created by [%s] (%d total):", 
-                               WikiLink($args['creator'] == '[]' 
-                                        ? $request->_user->getAuthenticatedId() 
-                                        : $args['creator'],
-                                        'if_known'), 
-                               count($pages));
+                                                 $args['sortby'], ''
+						 );
+	    $caption = fmt("List of pages created by [%s] (%d total):", 
+			   WikiLink($args['creator'] == '[]' 
+				    ? $request->_user->getAuthenticatedId() 
+				    : $args['creator'],
+				    'if_known'), 
+			   count($pages));
+	    $args['count'] = $request->getArg('count');
+	    $pages->_options['count'] = $args['count'];
         //} elseif ($pages) {
         //    $args['count'] = count($pages);
         } else {
             if (! $request->getArg('count'))  
                 $args['count'] = $dbi->numPages($args['include_empty'], $args['exclude']);
-            else $args['count'] = $request->getArg('count');
+            else 
+		$args['count'] = $request->getArg('count');
         }
         if (empty($args['count']) and !empty($pages))
             $args['count'] = count($pages);
@@ -136,6 +143,9 @@
 };
 
 // $Log: AllPages.php,v $
+// Revision 1.37  2007/01/20 11:24:32  rurban
+// Do not limit (yet) to support count and paging
+//
 // Revision 1.36  2005/01/28 12:08:42  rurban
 // dont print [] as user
 //
diff -ruN 1.3.12p3/lib/plugin/AnalyseAccessLogSql.php 1.3.14/lib/plugin/AnalyseAccessLogSql.php
--- 1.3.12p3/lib/plugin/AnalyseAccessLogSql.php	2006-06-18 06:19:20.000000000 -0500
+++ 1.3.14/lib/plugin/AnalyseAccessLogSql.php	2007-07-01 05:11:05.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-rcs_id('$Id: AnalyseAccessLogSql.php,v 1.1 2005/02/12 17:26:24 rurban Exp $');
+rcs_id('$Id: AnalyseAccessLogSql.php,v 1.2 2007/01/28 22:30:14 rurban Exp $');
 /*
  Copyright 2005 Charles Corrigan and $ThePhpWikiProgrammingTeam
 
@@ -60,43 +60,63 @@
 
         // get the correct name for the table
         //FIXME is there a more correct way to do this?
-        global $DBParams;
+        global $DBParams, $request;
         $accesslog = (!empty($DBParams['prefix']) ? $DBParams['prefix'] : '')."accesslog";
 
         $query = '';
-        if ($args['mode']=='referring_urls') {
+        $backend_type = $request->_dbi->_backend->backendType();
+        switch ($backend_type) {
+        case 'mysql': 
+            $Referring_URL = "left(referer,length(referer)-instr(reverse(referer),'?'))"; break;
+        case 'pgsql': 
+        case 'postgres7': 
+            $Referring_URL = "substr(referer,0,position('?' in referer))"; break;
+        default: 
+            $Referring_URL = "referer";
+        }
+        switch ($args['mode']) {
+        case 'referring_urls':
             if ($where_conditions<>'')
                 $where_conditions = 'WHERE '.$where_conditions.' ';
             $query = "SELECT "
-                ."left(referer,length(referer)-instr(reverse(referer),'?')) AS Referring_URL, "
-                ."count(*) AS Referral_Count "
-                ."FROM $accesslog "
-                .$where_conditions
-                ."GROUP BY Referring_URL";
-
-        } elseif ($args['mode']=='external_referers') {
+                . "$Referring_URL AS Referring_URL, "
+                . "count(*) AS Referral_Count "
+                . "FROM $accesslog "
+                . $where_conditions
+                . "GROUP BY Referring_URL";
+            break;
+        case 'external_referers':
             $args['local_referrers'] = 'false';
             $where_conditions = $this->_getWhereConditions($args);
             if ($where_conditions<>'')
                 $where_conditions = 'WHERE '.$where_conditions.' ';
             $query = "SELECT "
-                ."left(referer,length(referer)-instr(reverse(referer),'?')) AS Referring_URL, "
-                ."count(*) AS Referral_Count "
-                ."FROM $accesslog "
-                .$where_conditions
-                ."GROUP BY Referring_URL";
-
-        } elseif ($args['mode']=='referring_domains') {
+                . "$Referring_URL AS Referring_URL, "
+                . "count(*) AS Referral_Count "
+                . "FROM $accesslog "
+                . $where_conditions
+                . "GROUP BY Referring_URL";
+            break;
+        case 'referring_domains':
             if ($where_conditions<>'')
                 $where_conditions = 'WHERE '.$where_conditions.' ';
+            switch ($backend_type) {
+            case 'mysql': 
+                $Referring_Domain = "left(referer, if(locate('/', referer, 8) > 0,locate('/', referer, 8) -1, length(referer)))"; break;
+            case 'pgsql': 
+            case 'postgres7': 
+                $Referring_Domain = "substr(referer,0,8) || regexp_replace(substr(referer,8), '/.*', '')"; break;
+            default: 
+                $Referring_Domain = "referer"; break;
+            }
             $query = "SELECT "
-                ."left(referer, if(locate('/', referer, 8) > 0,locate('/', referer, 8) -1, length(referer))) AS Referring_Domain, "
-                ."count(*) AS Referral_Count "
-                ."FROM $accesslog "
-                .$where_conditions
-                ."GROUP BY Referring_Domain";
-
-        } elseif ($args['mode']=='remote_hosts') {
+                . "$Referring_Domain AS Referring_Domain, "
+                . "count(*) AS Referral_Count "
+                . "FROM $accesslog "
+                . $where_conditions
+                . "GROUP BY Referring_Domain";
+            break;
+        case 'remote_hosts':
             if ($where_conditions<>'')
                 $where_conditions = 'WHERE '.$where_conditions.' ';
             $query = "SELECT "
@@ -105,8 +125,8 @@
                 ."FROM $accesslog "
                 .$where_conditions
                 ."GROUP BY Remote_Host";
-
-        } elseif ($args['mode']=='users') {
+            break;
+        case 'users':
             if ($where_conditions<>'')
                 $where_conditions = 'WHERE '.$where_conditions.' ';
             $query = "SELECT "
@@ -114,9 +134,9 @@
                 ."count(*) AS Access_Count "
                 ."FROM $accesslog "
                 .$where_conditions
-                ."GROUP BY User";
-
-        } elseif ($args['mode']=='host_users') {
+                ."GROUP BY remote_user";
+            break;
+        case 'host_users':
             if ($where_conditions<>'')
                 $where_conditions = 'WHERE '.$where_conditions.' ';
             $query = "SELECT "
@@ -125,9 +145,9 @@
                 ."count(*) AS Access_Count "
                 ."FROM $accesslog "
                 .$where_conditions
-                ."GROUP BY Remote_Host, User";
-
-        } elseif ($args['mode']=="search_bots") {
+                ."GROUP BY remote_host, remote_user";
+            break;
+        case "search_bots":
             // This queries for all entries in the SQL access log table that
             // have a dns name that I know to be a web search engine crawler and
             // categorises the results into time buckets as per the list below
@@ -137,43 +157,52 @@
             // 3 - 1 week   - 604800   = 60 * 60 * 24 * 7
             // 4 - 1 month  - 2629800  = 60 * 60 * 24 * 365.25 / 12
             // 5 - 1 year   - 31557600 = 60 * 60 * 24 * 365.25
-            
             $now = time();
             $query = "SELECT "
-                ."IF($now-time_stamp<60, '"._("0 - last minute")."',"
-                  ."IF($now-time_stamp<3600, '"._("1 - 1 minute to 1 hour")."',"
-                    ."IF($now-time_stamp<86400, '"._("2 - 1 hour to 1 day")."',"
-                      ."IF($now-time_stamp<604800, '"._("3 - 1 day to 1 week")."',"
-                        ."IF($now-time_stamp<2629800, '"._("4 - 1 week to 1 month")."',"
-                          ."IF($now-time_stamp<31557600, '"._("5 - 1 month to 1 year")."'," 
-                            ."'"._("6 - more than 1 year")."')))))) AS 'Time_Scale', "
-                ."remote_host AS 'Remote_Host', "
-                ."count(*) AS 'Access_Count' "
+                ."CASE WHEN $now-time_stamp<60 THEN '"._("0 - last minute")."' ELSE "
+                  ."CASE WHEN $now-time_stamp<3600 THEN '"._("1 - 1 minute to 1 hour")."' ELSE "
+                    ."CASE WHEN $now-time_stamp<86400 THEN '"._("2 - 1 hour to 1 day")."' ELSE "
+                      ."CASE WHEN $now-time_stamp<604800 THEN '"._("3 - 1 day to 1 week")."' ELSE "
+                        ."CASE WHEN $now-time_stamp<2629800 THEN '"._("4 - 1 week to 1 month")."' ELSE "
+                          ."CASE WHEN $now-time_stamp<31557600 THEN '"._("5 - 1 month to 1 year")."' ELSE "
+                            ."'"._("6 - more than 1 year")."' END END END END END END AS Time_Scale, "
+                ."remote_host AS Remote_Host, "
+                ."count(*) AS Access_Count "
                 ."FROM $accesslog "
                 ."WHERE (remote_host LIKE '%googlebot.com' "
                 ."OR remote_host LIKE '%alexa.com' "
                 ."OR remote_host LIKE '%inktomisearch.com' "
                 ."OR remote_host LIKE '%msnbot.msn.com') "
                 .($where_conditions ? 'AND '.$where_conditions : '')
-                ."GROUP BY 'Time_Scale', 'Remote_Host'";
-            
-        } elseif ($args['mode']=="search_bots_hits") {
+                ."GROUP BY Time_Scale, remote_host";
+            break;
+        case "search_bots_hits":
             // This queries for all entries in the SQL access log table that
             // have a dns name that I know to be a web search engine crawler and
             // displays the URI that was hit.
             // If PHPSESSID appears in the URI, just display the URI to the left of this
-            
+            $sessname = session_name();
+            switch ($backend_type) {
+            case 'mysql': 
+                $Request_URI = "IF(instr(request_uri, '$sessname')=0, request_uri,left(request_uri, instr(request_uri, '$sessname')-2))";
+                break;
+            case 'pgsql': 
+            case 'postgres7': 
+                $Request_URI = "regexp_replace(request_uri, '$sessname.*', '')"; break;
+            default: 
+                $Request_URI = 'request_uri'; break;
+            }
             $now = time();
             $query = "SELECT "
-                ."IF($now-time_stamp<60, '"._("0 - last minute")."',"
-                  ."IF($now-time_stamp<3600, '"._("1 - 1 minute to 1 hour")."',"
-                    ."IF($now-time_stamp<86400, '"._("2 - 1 hour to 1 day")."',"
-                      ."IF($now-time_stamp<604800, '"._("3 - 1 day to 1 week")."',"
-                        ."IF($now-time_stamp<2629800, '"._("4 - 1 week to 1 month")."',"
-                          ."IF($now-time_stamp<31557600, '"._("5 - 1 month to 1 year")."'," 
-                            ."'"._("6 - more than 1 year")."')))))) AS 'Time_Scale', "
-                ."remote_host AS 'Remote_Host', "
-                ."IF(instr(request_uri, 'PHPSESS')=0, request_uri,left(request_uri, instr(request_uri, 'PHPSESS')-2)) AS 'Request_URI' "
+                ."CASE WHEN $now-time_stamp<60 THEN '"._("0 - last minute")."' ELSE "
+                  ."CASE WHEN $now-time_stamp<3600 THEN '"._("1 - 1 minute to 1 hour")."' ELSE "
+                    ."CASE WHEN $now-time_stamp<86400 THEN '"._("2 - 1 hour to 1 day")."' ELSE "
+                      ."CASE WHEN $now-time_stamp<604800 THEN '"._("3 - 1 day to 1 week")."' ELSE "
+                        ."CASE WHEN $now-time_stamp<2629800 THEN '"._("4 - 1 week to 1 month")."' ELSE "
+                          ."CASE WHEN $now-time_stamp<31557600 THEN '"._("5 - 1 month to 1 year")."' ELSE "
+                            ."'"._("6 - more than 1 year")."' END END END END END END AS Time_Scale, "
+                ."remote_host AS Remote_Host, "
+                ."$Request_URI AS Request_URI "
                 ."FROM $accesslog "
                 ."WHERE (remote_host LIKE '%googlebot.com' "
                 ."OR remote_host LIKE '%alexa.com' "
@@ -209,7 +238,7 @@
     function getDefaultArguments() {
         return array(
                      'mode'             => 'referring_domains',
-                     // referring_domains, referring_urls, remote_hosts, users, host_users
+                     // referring_domains, referring_urls, remote_hosts, users, host_users, search_bots, search_bots_hits
                      'caption'          => '', 
                      // blank means use the mode as the caption/title for the output
                      'local_referrers'  => 'true',  // only show external referring sites
@@ -229,7 +258,7 @@
 
     function getVersion() {
         return preg_replace("/[Revision: $]/", '',
-                            "\$Revision: 1.1 $");
+                            "\$Revision: 1.2 $");
     }
 
     function run($dbi, $argstr, &$request, $basepage) {
@@ -320,11 +349,22 @@
         }
 
         if ($args['local_referrers']<>'true') {
+            global $request;
             if ($where_conditions<>'')
                 $where_conditions = $where_conditions.' AND ';
             $localhost = SERVER_URL;
             $len = strlen($localhost);
-            $where_conditions = $where_conditions."left(referer,$len)<>'$localhost'";
+            $backend_type = $request->_dbi->_backend->backendType();
+            switch ($backend_type) {
+            case 'mysql': 
+                $ref_localhost = "left(referer,$len)<>'$localhost'"; break;
+            case 'pgsql': 
+            case 'postgres7': 
+                $ref_localhost = "substr(referer,0,$len)<>'$localhost'"; break;
+            default: 
+                $ref_localhost = "";
+            }
+            $where_conditions = $where_conditions.$ref_localhost;
         }
 
         // The assumed contract is that there is a space at the end of the
@@ -348,6 +388,9 @@
 }
 
 // $Log: AnalyseAccessLogSql.php,v $
+// Revision 1.2  2007/01/28 22:30:14  rurban
+// Add postgresql support
+//
 // Revision 1.1  2005/02/12 17:26:24  rurban
 // renamed to Sql. Added translations (inc not yet)
 //
diff -ruN 1.3.12p3/lib/plugin/AsciiMath.php 1.3.14/lib/plugin/AsciiMath.php
--- 1.3.12p3/lib/plugin/AsciiMath.php	2006-06-18 06:19:20.000000000 -0500
+++ 1.3.14/lib/plugin/AsciiMath.php	2007-07-01 05:11:05.000000000 -0500
@@ -1,5 +1,5 @@
 <?php // -*-php-*-
-rcs_id('$Id: AsciiMath.php,v 1.1 2005/01/29 21:50:38 rurban Exp $');
+rcs_id('$Id: AsciiMath.php,v 1.2 2007/02/22 19:55:44 rurban Exp $');
 /*
 Copyright 2005 $ThePhpWikiProgrammingTeam
 
@@ -50,7 +50,7 @@
 
     function getVersion() {
         return preg_replace("/[Revision: $]/", '',
-                            "\$Revision: 1.1 $");
+                            "\$Revision: 1.2 $");
     }
 
     function getDefaultArguments() {
@@ -65,7 +65,7 @@
         if (empty($this->source))
             return '';
 
-        include_once("lib/ASCIIMathPHP/ASCIIMathPHP.cfg.php");
+        include("lib/ASCIIMathPHP/ASCIIMathPHP.cfg.php");
         $ascii_math = new ASCIIMathPHP($symbol_arr, $this->source);
         $ascii_math->genMathML();
         return HTML::Raw($ascii_math->getMathML());
@@ -73,6 +73,9 @@
 };
 
 // $Log: AsciiMath.php,v $
+// Revision 1.2  2007/02/22 19:55:44  rurban
+// fix include: detected by Rud Merriam
+//
 // Revision 1.1  2005/01/29 21:50:38  rurban
 // new MathML plugin and lib
 //
diff -ruN 1.3.12p3/lib/plugin/AsciiSVG.php 1.3.14/lib/plugin/AsciiSVG.php
--- 1.3.12p3/lib/plugin/AsciiSVG.php	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/lib/plugin/AsciiSVG.php	2007-07-01 05:11:05.000000000 -0500
@@ -0,0 +1,126 @@
+<?php // -*-php-*-
+rcs_id('$Id: AsciiSVG.php,v 1.2 2007/01/22 23:48:05 rurban Exp $');
+/*
+Copyright 2007 $ThePhpWikiProgrammingTeam
+
+This file is part of PhpWiki.
+
+PhpWiki is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
+
+PhpWiki is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with PhpWiki; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+*/
+
+/** 
+ * Interface to http://www1.chapman.edu/~jipsen/svg/asciisvg.html
+ * Requires ENABLE_XHTML_XML = true
+ * Syntax: http://www1.chapman.edu/~jipsen/svg/asciisvgcommands.html
+ */
+class WikiPlugin_AsciiSVG
+extends WikiPlugin
+{
+    function getName() {
+        return _("AsciiSVG");
+    }
+
+    function getDescription() {
+        return _("Render inline ASCII SVG");
+    }
+
+    function getVersion() {
+        return preg_replace("/[Revision: $]/", '',
+                            "\$Revision: 1.2 $");
+    }
+
+    function getDefaultArguments() {
+        return array('width'  => 200,
+                     'height' => 200,
+		     'script' => false, // one line script. not very likely
+		     'onmousemove' => false
+                     );
+    }
+    function handle_plugin_args_cruft(&$argstr, &$args) {
+        $this->source = $argstr;
+    }
+
+    function run($dbi, $argstr, &$request, $basepage) {
+        global $WikiTheme;
+        $args = $this->getArgs($argstr, $request);
+        if (empty($this->source))
+            return '';
+        $html = HTML();
+        if (empty($WikiTheme->_asciiSVG)) {
+            $js = JavaScript('', array
+                             ('src' => $WikiTheme->_findData('ASCIIsvg.js')));
+            if (empty($WikiTheme->_headers_printed))
+                $WikiTheme->addMoreHeaders($js);
+            else
+                $html->pushContent($js);
+            $WikiTheme->_asciiSVG = 1; // prevent duplicates
+        }
+	// extract <script>
+	if (preg_match("/^(.*)<script>(.*)<\/script>/ism", $this->source, $m)) {
+	    $this->source = $m[1];
+	    $args['script'] = $m[2];
+	}
+	$embedargs = array('width'  => $args['width'],
+			   'height' => $args['height'],
+			   //'src'    => "d.svg",
+			   'script' => $this->source);
+	// additional onmousemove argument
+	if ($args['onmousemove']) $embedargs['onmousemove'] = $args['onmousemove'];
+        // we need script='data' and not script="data"
+        $embed = new AsciiSVG_HTML("embed", $embedargs);
+        $html->pushContent($embed);
+	if ($args['script']) $html->pushContent(JavaScript($args['script']));
+        return $html;
+    }
+};
+
+class AsciiSVG_HTML extends HtmlElement {
+    function startTag() {
+        $start = "<" . $this->_tag;
+	$this->_setClasses();
+        foreach ($this->_attr as $attr => $val) {
+            if (is_bool($val)) {
+                if (!$val)
+                    continue;
+                $val = $attr;
+            }
+            $qval = str_replace("\"", '&quot;', $this->_quote((string)$val));
+            if ($attr == 'script')
+		// note the ' not "
+                $start .= " $attr='$qval'";
+            else
+                $start .= " $attr=\"$qval\"";
+        }
+        $start .= ">";
+        return $start;
+    }
+}
+
+// $Log: AsciiSVG.php,v $
+// Revision 1.2  2007/01/22 23:48:05  rurban
+// Fix case. Two more args: <script> detection and onmouseover
+//
+// Revision 1.1  2007/01/21 23:14:55  rurban
+// new plugin. see license in the .js
+//
+
+// Local Variables:
+// mode: php
+// tab-width: 8
+// c-basic-offset: 4
+// c-hanging-comment-ender-p: nil
+// indent-tabs-mode: nil
+// End:
+?>
diff -ruN 1.3.12p3/lib/plugin/_BackendInfo.php 1.3.14/lib/plugin/_BackendInfo.php
--- 1.3.12p3/lib/plugin/_BackendInfo.php	2006-06-18 06:19:24.000000000 -0500
+++ 1.3.14/lib/plugin/_BackendInfo.php	2007-07-01 05:11:07.000000000 -0500
@@ -1,7 +1,7 @@
 <?php // -*-php-*-
-rcs_id('$Id: _BackendInfo.php,v 1.24 2005/01/29 19:47:43 rurban Exp $');
+rcs_id('$Id: _BackendInfo.php,v 1.28 2007/05/15 16:32:43 rurban Exp $');
 /**
- Copyright 1999, 2000, 2001, 2002 $ThePhpWikiProgrammingTeam
+ Copyright 1999,2000,2001,2002,2006,2007 $ThePhpWikiProgrammingTeam
 
  This file is part of PhpWiki.
 
@@ -36,11 +36,12 @@
 
     function getVersion() {
         return preg_replace("/[Revision: $]/", '',
-                            "\$Revision: 1.24 $");
+                            "\$Revision: 1.28 $");
     }
 
     function getDefaultArguments() {
-        return array('page' => '[pagename]');
+        return array('page' => '[pagename]',
+		     'notallversions' => 0);
     }
 
     function run($dbi, $argstr, &$request, $basepage) {
@@ -50,11 +51,13 @@
             return '';
 
         $backend = &$dbi->_backend;
+        $this->chunk_split = true;
+        $this->readonly_pagemeta = array();
+        $this->hidden_pagemeta = array ('_cached_html');
 
         $html = HTML(HTML::h3(fmt("Querying backend directly for '%s'",
                                   $page)));
 
-
         $table = HTML::table(array('border' => 1,
                                    'cellpadding' => 2,
                                    'cellspacing' => 0));
@@ -67,17 +70,38 @@
             $this->_fixupData($pagedata);
             $table->pushContent($this->_showhash("get_pagedata('$page')", $pagedata));
         }
-
-        for ($version = $backend->get_latest_version($page);
-             $version;
-             $version = $backend->get_previous_version($page, $version))
-            {
-                $vdata = $backend->get_versiondata($page, $version, true);
-                $this->_fixupData($vdata);
-                $table->pushContent(HTML::tr(HTML::td(array('colspan' => 2))));
-                $table->pushContent($this->_showhash("get_versiondata('$page',$version)",
-                                                     $vdata));
-            }
+	if (!$notallversions) {
+	    $version = $backend->get_latest_version($page);
+	    $vdata = $backend->get_versiondata($page, $version, true);
+	    $this->_fixupData($vdata);
+	    $table->pushContent(HTML::tr(HTML::td(array('colspan' => 2))));
+	    $table->pushContent($this->_showhash("get_versiondata('$page',$version)",
+						 $vdata));
+	} else {
+	    for ($version = $backend->get_latest_version($page);
+		 $version;
+		 $version = $backend->get_previous_version($page, $version))
+		{
+		    $vdata = $backend->get_versiondata($page, $version, true);
+		    $this->_fixupData($vdata);
+		    $table->pushContent(HTML::tr(HTML::td(array('colspan' => 2))));
+		    $table->pushContent($this->_showhash("get_versiondata('$page',$version)",
+							 $vdata));
+		}
+	}
+
+        $linkdata = $backend->get_links($page, false);
+        if ($linkdata->count())
+            $table->pushContent($this->_showhash("get_links('$page')", $linkdata->asArray()));
+        $relations = $backend->get_links($page, false, false, false, false, false, true);
+        if ($relations->count()) {
+            $table->pushContent($this->_showhash("get_relations('$page')", array()));
+            while ($rel = $relations->next())
+                $table->pushContent($this->_showhash(false, $rel));
+        }
+        $linkdata = $backend->get_links($page, true);
+        if ($linkdata->count())
+            $table->pushContent($this->_showhash("get_backlinks('$page')", $linkdata->asArray()));
 
         $html->pushContent($table);
         return $html;
@@ -85,12 +109,15 @@
 
     /**
      * Really should have a _fixupPagedata and _fixupVersiondata, but this works.
+     * also used in plugin/EditMetaData
      */
-    function _fixupData(&$data) {
+    function _fixupData(&$data, $prefix='') {
+	if (!is_array($data)) return;
+	
         global $request;
         $user = $request->getUser();
-
         foreach ($data as $key => $val) {
+            $fullkey = $prefix . '[' . $key . ']';
             if (is_integer($key)) {
             	;
             } elseif ($key == 'passwd' and !$user->isAdmin()) {
@@ -103,24 +130,36 @@
                 ob_end_clean();
             }
             elseif (is_bool($val)) {
-            	$data[$key] = $val ? "<true>" : "<false>";
+            	$data[$key] = $this->_showvalue($key, $val ? "true" : "false", $prefix);
             }
-            elseif (is_string($val) && (substr($val, 0, 2) == 'a:')) {
+            elseif (is_string($val) && ((substr($val, 0, 2) == 'a:' 
+					 or (substr($val, 0, 2) == 'O:')))) 
+	    {
                 // how to indent this table?
                 $val = unserialize($val);
-                $this->_fixupData($val);
+                $this->_fixupData($val, $fullkey);
                 $data[$key] = HTML::table(array('border' => 1,
                                                 'cellpadding' => 2,
                                                 'cellspacing' => 0),
-                                          $this->_showhash(false, $val));
+                                          $this->_showhash(false, $val, $fullkey));
             }
             elseif (is_array($val)) {
                 // how to indent this table?
-                $this->_fixupData($val);
+                $this->_fixupData($val, $fullkey);
+                $data[$key] = HTML::table(array('border' => 1,
+                                                'cellpadding' => 2,
+                                                'cellspacing' => 0),
+                                          $this->_showhash(false, $val, $fullkey));
+            } elseif (is_object($val)) {
+                // how to indent this table?
+                ob_start();
+                print_r($val);
+                $val = HTML::pre(ob_get_contents());
+                ob_end_clean();
                 $data[$key] = HTML::table(array('border' => 1,
                                                 'cellpadding' => 2,
                                                 'cellspacing' => 0),
-                                          $this->_showhash(false, $val));
+                                          $this->_showhash(false, $val, $fullkey));
             }
             elseif ($key and $key == '%content') {
                 if ($val === true)
@@ -132,8 +171,9 @@
         }
         unset($data['%pagedata']); // problem in backend
     }
-            
-    function _showhash ($heading, $hash, $pagename = '') {
+
+    /* also used in plugin/EditMetaData */
+    function _showhash ($heading, $hash, $prefix='') {
         $rows = array();
         if ($heading)
             $rows[] = HTML::tr(array('bgcolor' => '#ffcccc',
@@ -141,8 +181,10 @@
                                HTML::td(array('colspan' => 2,
                                               'style' => 'color:#000000'),
                                         $heading));
+	if (!is_array($hash)) return array();
         ksort($hash);
         foreach ($hash as $key => $val) {
+            if ($this->chunk_split and is_string($val)) $val = chunk_split($val);	
             $rows[] = HTML::tr(HTML::td(array('align' => 'right',
                                               'bgcolor' => '#cccccc',
                                               'style' => 'color:#000000'),
@@ -150,14 +192,32 @@
                                              HTML::raw('&nbsp;'))),
                                HTML::td(array('bgcolor' => '#ffffff',
                                               'style' => 'color:#000000'),
-                                        $val ? $val : HTML::raw('&nbsp;'))
+                                        $this->_showvalue($key, $val, $prefix))
                                );
         }
         return $rows;
     }
+
+    /* also used in plugin/EditMetaData */
+    function _showvalue ($key, $val, $prefix='') {
+	return $val ? $val : HTML::raw('&nbsp;');
+    }
+
 };
 
 // $Log: _BackendInfo.php,v $
+// Revision 1.28  2007/05/15 16:32:43  rurban
+// Improve baseclass for EditMetaData
+//
+// Revision 1.27  2007/05/13 18:13:48  rurban
+// base class for EditmetaData
+//
+// Revision 1.26  2007/01/07 18:44:47  rurban
+// Add notallversion argument. Support more types: objects, serialized objects. split overlong strings
+//
+// Revision 1.25  2006/09/06 06:02:36  rurban
+// print linkinfo also
+//
 // Revision 1.24  2005/01/29 19:47:43  rurban
 // support bool
 //
diff -ruN 1.3.12p3/lib/plugin/BackLinks.php 1.3.14/lib/plugin/BackLinks.php
--- 1.3.12p3/lib/plugin/BackLinks.php	2006-06-18 06:19:20.000000000 -0500
+++ 1.3.14/lib/plugin/BackLinks.php	2007-07-01 05:11:05.000000000 -0500
@@ -1,7 +1,7 @@
 <?php // -*-php-*-
-rcs_id('$Id: BackLinks.php,v 1.32 2004/12/06 19:50:05 rurban Exp $');
+rcs_id('$Id: BackLinks.php,v 1.35 2007/05/24 06:34:14 rurban Exp $');
 /**
- Copyright 1999, 2000, 2001, 2002 $ThePhpWikiProgrammingTeam
+ Copyright 1999,2000,2001,2002,2006 $ThePhpWikiProgrammingTeam
 
  This file is part of PhpWiki.
 
@@ -37,7 +37,7 @@
     
     function getVersion() {
         return preg_replace("/[Revision: $]/", '',
-                            "\$Revision: 1.32 $");
+                            "\$Revision: 1.35 $");
     }
     
     function getDefaultArguments() {
@@ -47,6 +47,8 @@
              array('include_self' => false,
                    'noheader'     => false,
                    'page'         => '[pagename]',
+		   'linkmore'     => '',  // If count>0 and limit>0 display a link with 
+		     // the number of all results, linked to the given pagename.
                    ));
     }
 
@@ -54,6 +56,7 @@
     // info=mtime,hits,summary,version,author,locked,minor
     // exclude arg allows multiple pagenames exclude=HomePage,RecentChanges
     // NEW: info=count : number of links
+    // page=foo,bar : backlinks to both pages
     function run($dbi, $argstr, &$request, $basepage) {
         $args = $this->getArgs($argstr, $request);
         extract($args);
@@ -69,10 +72,36 @@
                 $args['types']['count'] = 
                     new _PageList_Column_BackLinks_count('count', _("#"), 'center');
         }
+	if (!empty($limit))
+	    $args['limit'] = $limit;
         $args['dosort'] = !empty($args['sortby']); // override DB sort (??)
         $pagelist = new PageList($info, $exclude, $args);
-        $p = $dbi->getPage($page);
-        $pagelist->addPages($p->getBackLinks(false, $sortby, $limit, $exclude));
+
+        // support logical AND: page1,page2
+	$pages = explodePageList($page);
+	$count = count($pages);
+	if (count($pages) > 1) {
+	    // AND: the intersection of all these pages
+	    $bl = array();
+	    foreach ($pages as $p) {
+		$dp = $dbi->getPage($p);
+		$bi = $dp->getBackLinks(false, $sortby, 0, $exclude);
+		while ($b = $bi->next()) {
+		    $name = $b->getName();
+	            if (isset($bl[$name]))
+	                $bl[$name]++;
+	            else 
+	                $bl[$name] = 1;   
+                } 
+	    }
+	    foreach ($bl as $b => $v)
+	        if ($v == $count)
+	            $pagelist->addPage($b);
+	} else {
+	    $p = $dbi->getPage($page);
+	    $pagelist->addPages($p->getBackLinks(false, $sortby, 0, $exclude));
+	}
+	$total = $pagelist->getTotal();
 
         // Localization note: In English, the differences between the
         // various phrases spit out here may seem subtle or negligible
@@ -82,7 +111,8 @@
         // distinction as it does with English in this case. :)
         if (!$noheader) {
             if ($page == $request->getArg('pagename')
-                and !$dbi->isWikiPage($page)) {
+                and !$dbi->isWikiPage($page)) 
+	    {
                     // BackLinks plugin is more than likely being called
                     // upon for an empty page on said page, while either
                     // 'browse'ing, 'create'ing or 'edit'ing.
@@ -95,7 +125,7 @@
                     if ($pagelist->isEmpty())
                         return HTML::p(fmt("No other page links to %s yet.", $pagelink));
                     
-                    if ($pagelist->getTotal() == 1)
+                    if ($total == 1)
                         $pagelist->setCaption(fmt("One page would link to %s:",
                                                   $pagelink));
                     // Some future localizations will actually require
@@ -106,18 +136,25 @@
                     //                               $pagelink));
                     else
                         $pagelist->setCaption(fmt("%s pages would link to %s:",
-                                                  $pagelist->getTotal(), $pagelink));
+                                                  $total, $pagelink));
             }
             else {
-                // BackLinks plugin is being displayed on a normal page.
-                $pagelink = WikiLink($page, 'auto');
+		if ($count) {
+		    $tmp_pages = $pages;
+		    $p = array_shift($tmp_pages);
+		    $pagelink = HTML(WikiLink($p, 'auto'));
+		    foreach ($tmp_pages as $p)
+		        $pagelink->pushContent(" ",_("AND")," ",WikiLink($p, 'auto')); 
+		} else
+            	    // BackLinks plugin is being displayed on a normal page.
+                    $pagelink = WikiLink($page, 'auto');
                 
                 if ($pagelist->isEmpty())
                     return HTML::p(fmt("No page links to %s.", $pagelink));
                 
                 //trigger_error("DEBUG: " . $pagelist->getTotal());
                 
-                if ($pagelist->getTotal() == 1)
+                if ($total == 1)
                     $pagelist->setCaption(fmt("One page links to %s:",
                                               $pagelink));
                 // Some future localizations will actually require
@@ -128,9 +165,15 @@
                 //                               $pagelink));
                 else
                     $pagelist->setCaption(fmt("%s pages link to %s:",
-                                              $pagelist->getTotal(), $pagelink));
+                                              $limit > 0 ? $total : _("Those"), 
+					      $pagelink));
             }
         }
+	if (!empty($args['linkmore']) 
+	    and $dbi->isWikiPage($args['linkmore'])
+	    and $limit > 0 and $total > $limit
+	    )
+	    $pagelist->addCaption(WikiLink($args['linkmore'], "auto", _("More...")));
         return $pagelist;
     }
     
@@ -146,6 +189,15 @@
 }
 
 // $Log: BackLinks.php,v $
+// Revision 1.35  2007/05/24 06:34:14  rurban
+// logically fix previous patch: forgot {}
+//
+// Revision 1.34  2007/05/19 13:31:20  rurban
+// Fix AND warnings: de-perlify array access
+//
+// Revision 1.33  2007/01/04 16:46:22  rurban
+// Add linkmore. Support multiple pages logically AND them.
+//
 // Revision 1.32  2004/12/06 19:50:05  rurban
 // enable action=remove which is undoable and seeable in RecentChanges: ADODB ony for now.
 // renamed delete_page to purge_page.
diff -ruN 1.3.12p3/lib/plugin/BlogArchives.php 1.3.14/lib/plugin/BlogArchives.php
--- 1.3.12p3/lib/plugin/BlogArchives.php	2006-06-18 06:19:20.000000000 -0500
+++ 1.3.14/lib/plugin/BlogArchives.php	2007-07-01 05:11:05.000000000 -0500
@@ -1,5 +1,5 @@
 <?php // -*-php-*-
-rcs_id('$Id: BlogArchives.php,v 1.5 2005/10/29 09:06:37 rurban Exp $');
+rcs_id('$Id: BlogArchives.php,v 1.6 2007/01/07 18:45:18 rurban Exp $');
 /*
  * Copyright 2004 $ThePhpWikiProgrammingTeam
  */
@@ -30,7 +30,7 @@
 
     function getVersion() {
         return preg_replace("/[Revision: $]/", '',
-                            "\$Revision: 1.5 $");
+                            "\$Revision: 1.6 $");
     }
 
     function getDefaultArguments() {
@@ -61,7 +61,7 @@
             }
         }
         if (!$args['user'] or $args['user'] == ADMIN_USER) {
-            if (BLOG_EMPTY_DEFAULT_PREFIX)
+            if (BLOG_DEFAULT_EMPTY_PREFIX)
                 $args['user'] = ''; 	    // "Blogs/day" pages 
             else
                 $args['user'] = ADMIN_USER; // "Admin/Blogs/day" pages 
@@ -136,6 +136,9 @@
 };
 
 // $Log: BlogArchives.php,v $
+// Revision 1.6  2007/01/07 18:45:18  rurban
+// Fix typo: BLOG_EMPTY_DEFAULT_PREFIX => BLOG_DEFAULT_EMPTY_PREFIX.
+//
 // Revision 1.5  2005/10/29 09:06:37  rurban
 // move common blog methods to WikiBlog
 //
diff -ruN 1.3.12p3/lib/plugin/BlogJournal.php 1.3.14/lib/plugin/BlogJournal.php
--- 1.3.12p3/lib/plugin/BlogJournal.php	2006-06-18 06:19:20.000000000 -0500
+++ 1.3.14/lib/plugin/BlogJournal.php	2007-07-01 05:11:05.000000000 -0500
@@ -1,5 +1,5 @@
 <?php // -*-php-*-
-rcs_id('$Id: BlogJournal.php,v 1.4 2005/11/21 20:56:23 rurban Exp $');
+rcs_id('$Id: BlogJournal.php,v 1.5 2007/01/07 18:45:27 rurban Exp $');
 /*
  * Copyright 2005 $ThePhpWikiProgrammingTeam
  */
@@ -28,7 +28,7 @@
 
     function getVersion() {
         return preg_replace("/[Revision: $]/", '',
-                            "\$Revision: 1.4 $");
+                            "\$Revision: 1.5 $");
     }
 
     function getDefaultArguments() {
@@ -56,18 +56,19 @@
             }
         }
         if (!$args['user'] or $args['user'] == ADMIN_USER) {
-            if (BLOG_EMPTY_DEFAULT_PREFIX)
+            if (BLOG_DEFAULT_EMPTY_PREFIX) {
                 $args['user'] = ''; 	    // "Blogs/day" pages 
-            else
+            } else {
                 $args['user'] = ADMIN_USER; // "Admin/Blogs/day" pages 
+            }
         }
         $parent = (empty($args['user']) ? '' : $args['user'] . SUBPAGE_SEPARATOR);
 
         $sp = HTML::Raw('&middot; ');
-        $prefix = $parent . $this->_blogPrefix('wikiblog');
+        $prefix = $base = $parent . $this->_blogPrefix('wikiblog');
         if ($args['month'])
             $prefix .= (SUBPAGE_SEPARATOR . $args['month']);
-        $pages = $dbi->titleSearch(new TextSearchQuery("^".$prefix, true, 'posix'));
+        $pages = $dbi->titleSearch(new TextSearchQuery("^".$prefix.SUBPAGE_SEPARATOR, true, 'posix'));
         $html = HTML(); $i = 0;
         while (($page = $pages->next()) and $i < $args['count']) {
             $rev = $page->getCurrentRevision(false);
@@ -77,8 +78,10 @@
             //$html->pushContent(HTML::h3(WikiLink($page, 'known', $rev->get('summary'))));
             $html->pushContent($rev->getTransformedContent('wikiblog'));
         }
-        if ($args['user'] == $user->UserName())
-            $html->pushContent(WikiLink(_("WikiBlog"), 'known', "New entry"));
+        if ($args['user'] == $user->UserName() or $args['user'] == '')
+            $html->pushContent(Button(array('action'=>'WikiBlog',
+					    'mode'=>'add'), 
+				      _("New entry"), $base));
         if (!$i)
             return HTML(HTML::h3(_("No Blog Entries")), $html);
         if (!$args['noheader'])
@@ -90,6 +93,9 @@
 };
 
 // $Log: BlogJournal.php,v $
+// Revision 1.5  2007/01/07 18:45:27  rurban
+// Fix typo: BLOG_EMPTY_DEFAULT_PREFIX => BLOG_DEFAULT_EMPTY_PREFIX. Do not force WikiBlog base for "New entry"
+//
 // Revision 1.4  2005/11/21 20:56:23  rurban
 // no duplicate headline and no direct page link anymore
 //
@@ -114,4 +120,4 @@
 // c-hanging-comment-ender-p: nil
 // indent-tabs-mode: nil
 // End:
-?>
\ No newline at end of file
+?>
diff -ruN 1.3.12p3/lib/plugin/BoxRight.php 1.3.14/lib/plugin/BoxRight.php
--- 1.3.12p3/lib/plugin/BoxRight.php	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/lib/plugin/BoxRight.php	2007-07-01 05:11:05.000000000 -0500
@@ -0,0 +1,74 @@
+<?php // -*-php-*-
+rcs_id('$Id: BoxRight.php,v 1.1 2006/10/12 06:30:30 rurban Exp $');
+/**
+ Copyright 2006 $ThePhpWikiProgrammingTeam
+
+ This file is part of PhpWiki.
+
+ PhpWiki is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ PhpWiki is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with PhpWiki; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+/**
+ * A simple plugin for <div class="boxright"> with wikimarkup
+ */
+class WikiPlugin_BoxRight
+extends WikiPlugin
+{
+    function getName () {
+        return "BoxRight";
+    }
+
+    function getDescription () {
+        return _("A simple plugin for <div class=boxright> with wikimarkup");
+    }
+
+    function getVersion() {
+        return preg_replace("/[Revision: $]/", '',
+                            "\$Revision: 1.1 $");
+    }
+
+    function managesValidators() {
+        // The plugin output will only change if the plugin
+        // invocation (page text) changes --- so the necessary
+        // validators have already been handled by displayPage.
+        return true;
+    }
+    
+    function run($dbi, $argstr, &$request, $basepage) {
+        if (!$basepage) {
+            return $this->error("$basepage unset?");
+        }
+        include_once("lib/BlockParser.php");
+	$page = $request->getPage($basepage);
+        return HTML::div(array('class'=>'boxright'), TransformText($argstr));
+    }
+
+}
+
+// $Log: BoxRight.php,v $
+// Revision 1.1  2006/10/12 06:30:30  rurban
+// New simple plugin BoxRight to work around not existing <div> tag.
+// (see ENABLE_MARKUP_DIVSPAN)
+//
+
+// For emacs users
+// Local Variables:
+// mode: php
+// tab-width: 8
+// c-basic-offset: 4
+// c-hanging-comment-ender-p: nil
+// indent-tabs-mode: nil
+// End:
+?>
diff -ruN 1.3.12p3/lib/plugin/Calendar.php 1.3.14/lib/plugin/Calendar.php
--- 1.3.12p3/lib/plugin/Calendar.php	2006-06-18 06:19:20.000000000 -0500
+++ 1.3.14/lib/plugin/Calendar.php	2007-07-01 05:11:05.000000000 -0500
@@ -1,7 +1,7 @@
 <?php // -*-php-*-
-rcs_id('$Id: Calendar.php,v 1.31 2006/03/19 14:26:29 rurban Exp $');
+rcs_id('$Id: Calendar.php,v 1.33 2007/01/22 23:48:54 rurban Exp $');
 /**
- Copyright 1999, 2000, 2001, 2002 $ThePhpWikiProgrammingTeam
+ Copyright 1999,2000,2001,2002,2007 $ThePhpWikiProgrammingTeam
 
  This file is part of PhpWiki.
 
@@ -47,7 +47,7 @@
 
     function getVersion() {
         return preg_replace("/[Revision: $]/", '',
-                            "\$Revision: 1.31 $");
+                            "\$Revision: 1.33 $");
     }
 
     function getDefaultArguments() {
@@ -59,7 +59,8 @@
 
                      'month_format'     => '%B, %Y',
                      'wday_format'      => '%a',
-                     'start_wday'       => '0');
+                     'start_wday'       => '0',
+		     'display_weeknum'  => 0);
     }
 
     /**
@@ -107,7 +108,7 @@
                                                        $time))),
                         HTML::td(array('align' => 'right'), $next));
 
-        return HTML::tr(HTML::td(array('colspan' => 7,
+        return HTML::tr(HTML::td(array('colspan' => $args['display_weeknum'] ? 8 : 7,
                                        'align'   => 'center'),
                                  HTML::table(array('width' => '100%',
                                                    'class' => 'cal-header'),
@@ -126,6 +127,10 @@
         $fs = $this->args['wday_format'];
         $row = HTML::tr();
         $row->setattr('class', 'cal-dayname');
+	if ($this->args['display_weeknum'])
+            $row->pushContent(HTML::td(array('class' => 'cal-dayname',
+                                             'align' => 'center'),
+                                       _("Wk")));
         for ($i = 0; $i < 7; $i++) {
             $row->pushContent(HTML::td(array('class' => 'cal-dayname',
                                              'align' => 'center'),
@@ -193,6 +198,7 @@
                        1,                                      // mday (1-31)
                        $args['year']);
 
+	$colnum = $args['display_weeknum'] ? 8 : 7;
         $cal = HTML::table(array('cellspacing' => 0,
                                  'cellpadding' => 2,
                                  'class'       => 'cal'),
@@ -211,11 +217,13 @@
         $tbody = HTML::tbody();
         $row = HTML::tr();
 
+	if ($args['display_weeknum'])
+            $row->pushContent(HTML::td(array('class' => 'cal-weeknum'),
+				       ((int)strftime("%U", $time))+1)); // %U problem. starts with 0
         $col = (7 + $t['tm_wday'] - $args['start_wday']) % 7;
         if ($col > 0)
             $row->pushContent(HTML::td(array('colspan' => $col)));
         $done = false;
-
         while (!$done) {
             $row->pushContent($this->__date($dbi, $time));
 
@@ -228,6 +236,9 @@
             $time += SECONDS_PER_DAY;
             $t     = localtime($time, 1);
             $done  = $t['tm_mday'] == 1;
+	    if (!$col and !$done and $args['display_weeknum'])
+		$row->pushContent(HTML::td(array('class' => 'cal-weeknum'),
+					   ((int)strftime("%U", $time))+1)); // starts with 0
         }
 
         if ($row->getContent()) {
@@ -240,6 +251,12 @@
 };
 
 // $Log: Calendar.php,v $
+// Revision 1.33  2007/01/22 23:48:54  rurban
+// Fix Calendar %U: weeknum starting with 1
+//
+// Revision 1.32  2007/01/03 21:23:24  rurban
+// add display_weeknum support.
+//
 // Revision 1.31  2006/03/19 14:26:29  rurban
 // sf.net patch by Matt Brown: Add rel=nofollow to more actions
 //
diff -ruN 1.3.12p3/lib/plugin/CategoryPage.php 1.3.14/lib/plugin/CategoryPage.php
--- 1.3.12p3/lib/plugin/CategoryPage.php	2006-06-18 06:19:21.000000000 -0500
+++ 1.3.14/lib/plugin/CategoryPage.php	2007-07-01 05:11:05.000000000 -0500
@@ -1,5 +1,5 @@
 <?php // -*-php-*-
-rcs_id('$Id: CategoryPage.php,v 1.2 2004/07/08 20:30:07 rurban Exp $');
+rcs_id('$Id: CategoryPage.php,v 1.3 2007/01/07 18:45:35 rurban Exp $');
 /**
  Copyright 1999, 2000, 2001, 2002 $ThePhpWikiProgrammingTeam
 
@@ -20,7 +20,7 @@
  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
 
-#require_once('lib/InlineParser.php');
+//require_once('lib/InlineParser.php');
 require_once('lib/BlockParser.php');
 
 /**
@@ -50,7 +50,7 @@
 
     function getVersion() {
         return preg_replace("/[Revision: $]/", '',
-                            "\$Revision: 1.2 $");
+                            "\$Revision: 1.3 $");
     }
 
     function getDefaultArguments() {
diff -ruN 1.3.12p3/lib/plugin/CreatePage.php 1.3.14/lib/plugin/CreatePage.php
--- 1.3.12p3/lib/plugin/CreatePage.php	2006-06-18 06:19:21.000000000 -0500
+++ 1.3.14/lib/plugin/CreatePage.php	2007-07-01 05:11:05.000000000 -0500
@@ -1,7 +1,7 @@
 <?php // -*-php-*-
-rcs_id('$Id: CreatePage.php,v 1.7 2004/09/06 10:22:15 rurban Exp $');
+rcs_id('$Id: CreatePage.php,v 1.11 2007/01/27 21:36:52 rurban Exp $');
 /**
- Copyright 2004 $ThePhpWikiProgrammingTeam
+ Copyright 2004,2007 $ThePhpWikiProgrammingTeam
 
  This file is part of PhpWiki.
 
@@ -21,19 +21,22 @@
  */
 
 /**
- * This allows you to create a page geting the new pagename from a 
+ * This allows you to create a page getting the new pagename from a 
  * forms-based interface, and optionally with the initial content from 
  * some template, plus expansion of some variables via %%variable%% statements 
  * in the template.
  *
- * Put it <?plugin-form CreatePage ?> at some page, browse this page, 
+ * Put <?plugin-form CreatePage ?> at some page, browse this page, 
  * enter the name of the page to create, then click the button.
  *
  * Usage: <?plugin-form CreatePage template=SomeTemplatePage vars="year=2004&name=None" ?>
  * @authors: Dan Frankowski, Reini Urban
  */
+
+include_once("lib/plugin/Template.php");
+
 class WikiPlugin_CreatePage
-extends WikiPlugin
+extends WikiPlugin_Template
 {
     function getName() {
         return _("CreatePage");
@@ -45,7 +48,7 @@
 
     function getVersion() {
         return preg_replace("/[Revision: $]/", '',
-                            "\$Revision: 1.7 $");
+                            "\$Revision: 1.11 $");
     }
 
     function getDefaultArguments() {
@@ -80,7 +83,7 @@
         $url = WikiURL($s, $param, 'absurl');
         // FIXME: expand vars in templates here.
         if (strlen($url) > 255 
-            or (!empty($vars) and !empty($param['template']))
+            or ($param['template'])
             or preg_match('/%%\w+%%/', $initial_content)) // need variable expansion
         {
             unset($param['initial_content']);
@@ -88,7 +91,8 @@
             $page = $dbi->getPage($s);
             $current = $page->getCurrentRevision();
             $version = $current->getVersion();
-            if ($version and !$overwrite) {
+	    // overwrite empty (deleted) pages
+            if ($version and !$current->hasDefaultContents() and !$overwrite) {
                 return $this->error(fmt("%s already exists", WikiLink($s)));
             } else {
                 $user = $request->getUser();
@@ -99,32 +103,22 @@
                     $currenttmpl = $tmplpage->getCurrentRevision();
                     $initial_content = $currenttmpl->getPackedContent();
                     $meta['markup'] = $currenttmpl->_data['markup'];
+
+		    if (preg_match('/<noinclude>.+<\/noinclude>/s', $initial_content)) {
+			$initial_content = preg_replace("/<noinclude>.+?<\/noinclude>/s", "", 
+							$initial_content);
+		    }
                 }
                 $meta['summary'] = _("Created by CreatePage");
-                // expand variables in $initial_content
-                if (preg_match('/%%\w+%%/', $initial_content)) {
-                    $var = array();
-                    if (!empty($vars)) {
-                        foreach (split("&",$vars) as $pair) {
-                            list($key,$val) = split("=",$pair);
-                            $var[$key] = $val;
-                        }
-                    }
-                    if (empty($var['pagename']))
-                        $var['pagename'] = $s;
-                    if (empty($var['ctime']) and preg_match('/%%ctime%%/', $initial_content))
-                        $var['ctime'] = $GLOBALS['WikiTheme']->formatDateTime(time());
-                    if (empty($var['author']) and preg_match('/%%author%%/', $initial_content))
-                        $var['author'] = $user->getId();
-
-                    foreach ($var as $key => $val) {
-                        $initial_content = preg_replace("/%%$key%%/",$val,$initial_content);
-                    }
+		$content = $this->doVariableExpansion($initial_content, $vars, $s, $request);
+
+		if ($content !== $initial_content) {
                     // need to destroy the template so that editpage doesn't overwrite it.
                     unset($param['template']);
                     $url = WikiURL($s, $param, 'absurl');
                 }
-                $page->save($initial_content, $version+1, $meta);
+
+                $page->save($content, $version+1, $meta);
             }
         }
         return HTML($request->redirect($url, true));
@@ -132,6 +126,18 @@
 };
 
 // $Log: CreatePage.php,v $
+// Revision 1.11  2007/01/27 21:36:52  rurban
+// Overwrite empty or deleted pages
+//
+// Revision 1.10  2007/01/25 07:42:16  rurban
+// Changed doVariableExpansion API.
+//
+// Revision 1.9  2007/01/04 16:42:23  rurban
+// Expand even if no vars are given. They may be defaults, i.e %%pagename%%
+//
+// Revision 1.8  2007/01/03 21:23:32  rurban
+// Derive from Template. Use same variable expansion. Support <noinclude> as in Template.
+//
 // Revision 1.7  2004/09/06 10:22:15  rurban
 // oops, forgot global request
 //
diff -ruN 1.3.12p3/lib/plugin/CreateToc.php 1.3.14/lib/plugin/CreateToc.php
--- 1.3.12p3/lib/plugin/CreateToc.php	2006-06-18 06:19:21.000000000 -0500
+++ 1.3.14/lib/plugin/CreateToc.php	2007-07-01 05:11:05.000000000 -0500
@@ -1,5 +1,5 @@
 <?php // -*-php-*-
-rcs_id('$Id: CreateToc.php,v 1.29 2006/04/15 12:26:54 rurban Exp $');
+rcs_id('$Id: CreateToc.php,v 1.35 2007/02/17 14:17:48 rurban Exp $');
 /*
  Copyright 2004,2005 $ThePhpWikiProgrammingTeam
 
@@ -52,7 +52,7 @@
 
     function getVersion() {
         return preg_replace("/[Revision: $]/", '',
-                            "\$Revision: 1.29 $");
+                            "\$Revision: 1.35 $");
     }
 
     function getDefaultArguments() {
@@ -60,10 +60,11 @@
                       // or headers=1,2,3 is also possible.
                       'headers'   => "!!!,!!,!",   // "!!!"=>h1, "!!"=>h2, "!"=>h3
                       'noheader'  => 0,            // omit <h1>Table of Contents</h1>
-                      'align'     => 'left',
+                      'position'  => 'right',      // or left
                       'with_toclink' => 0,         // link back to TOC
                       'jshide'    => 0,            // collapsed TOC as DHTML button
-                      'liststyle' => 'dl',         // or 'ul' or 'ol'
+		      'extracollapse' => 1,        // provide an entry +/- link to collapse
+                      'liststyle' => 'dl',         // 'dl' or 'ul' or 'ol'
                       'indentstr' => '&nbsp;&nbsp;',
 		      'with_counter' => 0,
                       );
@@ -112,11 +113,13 @@
     function _quote($heading) {
         if (TOC_FULL_SYNTAX ) {
             $theading = TransformInline($heading);
-            $qheading = preg_quote($theading->asXML(), "/");
+            if ($theading)
+                return preg_quote($theading->asXML(), "/");
+            else 
+                return XmlContent::_quote(preg_quote($heading, "/"));
         } else {
-            $qheading = XmlContent::_quote(preg_quote($heading, "/"));
+            return XmlContent::_quote(preg_quote($heading, "/"));
         }
-        return $qheading;
     }
     
     /*
@@ -292,6 +295,7 @@
     }
                 
     function run($dbi, $argstr, &$request, $basepage) {
+        global $WikiTheme;
         extract($this->getArgs($argstr, $request));
         if ($pagename) {
             // Expand relative page names.
@@ -315,7 +319,7 @@
 	    }
         }
         $content = $current->getContent();
-        $html = HTML::div(array('class' => 'toc','align' => $align));
+        $html = HTML::div(array('class' => 'toc', 'id'=>'toc'));
         if ($liststyle == 'dl')
             $list = HTML::dl(array('id'=>'toclist','class' => 'toc'));
         elseif ($liststyle == 'ul')
@@ -359,36 +363,71 @@
                         (str_repeat($indentstr,$indent)),$li));
             }
         }
-        if ($jshide) {
-            $list->setAttr('style','display:none;');
-            $html->pushContent(Javascript("
+	$list->setAttr('style','display:'.($jshide?'none;':'block;'));
+        $open = DATA_PATH.'/'.$WikiTheme->_findFile("images/folderArrowOpen.png");
+        $close = DATA_PATH.'/'.$WikiTheme->_findFile("images/folderArrowClosed.png");
+	$html->pushContent(Javascript("
 function toggletoc(a) {
-  toc=document.getElementById('toclist');
+  var toc=document.getElementById('toclist')
+  //toctoggle=document.getElementById('toctoggle')
+  var open='".$open."'
+  var close='".$close."'
   if (toc.style.display=='none') {
-    toc.style.display='block';
-    a.title='"._("Click to hide the TOC")."';
+    toc.style.display='block'
+    a.title='"._("Click to hide the TOC")."'
+    a.src = open
   } else {
     toc.style.display='none';
-    a.title='"._("Click to display")."';
+    a.title='"._("Click to display")."'
+    a.src = close
   }
 }"));
-            $html->pushContent(HTML::h4(HTML::a(array('name'=>'TOC',
-                                                      'class'=>'wikiaction',
-                                                      'title'=>_("Click to display"),
-                                                      'onclick'=>"toggletoc(this)"),
-                                                _("Table Of Contents"))));
-        } else {
-            if (!$noheader)
-                $html->pushContent(HTML::h2(HTML::a(array('name'=>'TOC'),_("Table Of Contents"))));
-            else 
-                $html->pushContent(HTML::a(array('name'=>'TOC'),""));
-        }
+	if ($extracollapse)
+	    $toclink = HTML(_("Table Of Contents"),
+			    " ",
+                            HTML::a(array('name'=>'TOC')),
+			    HTML::img(array(
+                                            'id'=>'toctoggle',
+                                            'class'=>'wikiaction',
+                                            'title'=>_("Click to display to TOC"),
+                                            'onClick'=>"toggletoc(this)",
+                                            'height' => 15,
+                                            'width' => 15,
+                                            'border' => 0,
+                                            'src' => $jshide ? $close : $open )));
+	else
+	    $toclink = HTML::a(array('name'=>'TOC',
+				     'class'=>'wikiaction',
+				     'title'=>_("Click to display"),
+				     'onclick'=>"toggletoc(this)"),
+			       _("Table Of Contents"),
+			       HTML::span(array('style'=>'display:none',
+						'id'=>'toctoggle')," "));
+	$html->pushContent(HTML::h4($toclink));
         $html->pushContent($list);
         return $html;
     }
 };
 
 // $Log: CreateToc.php,v $
+// Revision 1.35  2007/02/17 14:17:48  rurban
+// declare vars for IE6
+//
+// Revision 1.34  2007/01/28 22:47:06  rurban
+// fix # back link
+//
+// Revision 1.33  2007/01/28 22:37:04  rurban
+// beautify +/- collapse icon
+//
+// Revision 1.32  2007/01/20 11:25:30  rurban
+// remove align
+//
+// Revision 1.31  2007/01/09 12:35:05  rurban
+// Change align to position. Add extracollapse. js now always active, jshide just denotes the initial state.
+//
+// Revision 1.30  2006/12/22 17:49:38  rurban
+// fix quoting
+//
 // Revision 1.29  2006/04/15 12:26:54  rurban
 // need basepage for subpages like /Remove (within CreateTOC)
 //
diff -ruN 1.3.12p3/lib/plugin/Diff.php 1.3.14/lib/plugin/Diff.php
--- 1.3.12p3/lib/plugin/Diff.php	2006-06-18 06:19:21.000000000 -0500
+++ 1.3.14/lib/plugin/Diff.php	2007-07-01 05:11:05.000000000 -0500
@@ -1,5 +1,5 @@
 <?php // -*-php-*-
-rcs_id('$Id: Diff.php,v 1.3 2005/09/30 18:53:10 uckelman Exp $');
+rcs_id('$Id: Diff.php,v 1.4 2007/01/02 13:22:25 rurban Exp $');
 /**
  Copyright 1999, 2000, 2001, 2002, 2004 $ThePhpWikiProgrammingTeam
 
@@ -27,7 +27,8 @@
  * Would make sense to see arbitrary diff's between any files or revisions.
  */
 
-require_once('lib/difflib.php');
+//require_once('lib/difflib.php');
+require_once('lib/diff.php');
 
 class WikiPlugin_Diff
 extends WikiPlugin {
@@ -42,7 +43,7 @@
 
     function getVersion() {
         return preg_replace("/[Revision: $]/", '',
-                            "\$Revision: 1.3 $");
+                            "\$Revision: 1.4 $");
     }
 
     // Establish default values for each of this plugin's arguments.
@@ -199,229 +200,10 @@
     }
 };
 
-class _HWLDF_WordAccumulator {
-    function _HWLDF_WordAccumulator () {
-        $this->_lines = array();
-        $this->_line = false;
-        $this->_group = false;
-        $this->_tag = '~begin';
-    }
-
-    function _flushGroup ($new_tag) {
-        if ($this->_group !== false) {
-            if (!$this->_line)
-                $this->_line = HTML();
-            $this->_line->pushContent($this->_tag
-                                      ? new HtmlElement($this->_tag,
-                                                        $this->_group)
-                                      : $this->_group);
-        }
-        $this->_group = '';
-        $this->_tag = $new_tag;
-    }
-
-    function _flushLine ($new_tag) {
-        $this->_flushGroup($new_tag);
-        if ($this->_line)
-            $this->_lines[] = $this->_line;
-        $this->_line = HTML();
-    }
-
-    function addWords ($words, $tag = '') {
-        if ($tag != $this->_tag)
-            $this->_flushGroup($tag);
-
-        foreach ($words as $word) {
-            // new-line should only come as first char of word.
-            if (!$word)
-                continue;
-            if ($word[0] == "\n") {
-                $this->_group .= PrintXML(HTML::raw('&nbsp;'));
-                $this->_flushLine($tag);
-                $word = substr($word, 1);
-            }
-            assert(!strstr($word, "\n"));
-            $this->_group .= $word;
-        }
-    }
-
-    function getLines() {
-        $this->_flushLine('~done');
-        return $this->_lines;
-    }
-}
-
-class WordLevelDiff extends MappedDiff
-{
-    function WordLevelDiff ($orig_lines, $final_lines) {
-        list ($orig_words, $orig_stripped) = $this->_split($orig_lines);
-        list ($final_words, $final_stripped) = $this->_split($final_lines);
-
-
-        $this->MappedDiff($orig_words, $final_words,
-                          $orig_stripped, $final_stripped);
-    }
-
-    function _split($lines) {
-        // FIXME: fix POSIX char class.
-        if (!preg_match_all('/ ( [^\S\n]+ | [[:alnum:]]+ | . ) (?: (?!< \n) [^\S\n])? /xs',
-                            implode("\n", $lines),
-                            $m)) {
-            return array(array(''), array(''));
-        }
-        return array($m[0], $m[1]);
-    }
-
-    function orig () {
-        $orig = new _HWLDF_WordAccumulator;
-
-        foreach ($this->edits as $edit) {
-            if ($edit->type == 'copy')
-                $orig->addWords($edit->orig);
-            elseif ($edit->orig)
-                $orig->addWords($edit->orig, 'del');
-        }
-        return $orig->getLines();
-    }
-
-    function _final () {
-        $final = new _HWLDF_WordAccumulator;
-
-        foreach ($this->edits as $edit) {
-            if ($edit->type == 'copy')
-                $final->addWords($edit->final);
-            elseif ($edit->final)
-                $final->addWords($edit->final, 'ins');
-        }
-        return $final->getLines();
-    }
-}
-
-/**
- * HTML unified diff formatter.
- *
- * This class formats a diff into a CSS-based
- * unified diff format.
- *
- * Within groups of changed lines, diffs are highlit
- * at the character-diff level.
- */
-class HtmlUnifiedDiffFormatter extends UnifiedDiffFormatter
-{
-    function HtmlUnifiedDiffFormatter($context_lines = 4) {
-        $this->UnifiedDiffFormatter($context_lines);
-    }
-
-    function _start_diff() {
-        $this->_top = HTML::div(array('class' => 'diff'));
-    }
-    function _end_diff() {
-        $val = $this->_top;
-        unset($this->_top);
-        return $val;
-    }
-
-    function _start_block($header) {
-        $this->_block = HTML::div(array('class' => 'block'),
-                                  HTML::tt($header));
-    }
-
-    function _end_block() {
-        $this->_top->pushContent($this->_block);
-        unset($this->_block);
-    }
-
-    function _lines($lines, $class, $prefix = false, $elem = false) {
-        if (!$prefix)
-            $prefix = HTML::raw('&nbsp;');
-        $div = HTML::div(array('class' => 'difftext'));
-        foreach ($lines as $line) {
-            if ($elem)
-                $line = new HtmlElement($elem, $line);
-            $div->pushContent(HTML::div(array('class' => $class),
-                                        HTML::tt(array('class' => 'prefix'),
-                                                 $prefix),
-                                        $line, HTML::raw('&nbsp;')));
-        }
-        $this->_block->pushContent($div);
-    }
-
-    function _context($lines) {
-        $this->_lines($lines, 'context');
-    }
-    function _deleted($lines) {
-        $this->_lines($lines, 'deleted', '-', 'del');
-    }
-
-    function _added($lines) {
-        $this->_lines($lines, 'added', '+', 'ins');
-    }
-
-    function _changed($orig, $final) {
-        $diff = new WordLevelDiff($orig, $final);
-        $this->_lines($diff->orig(), 'original', '-');
-        $this->_lines($diff->_final(), 'final', '+');
-    }
-}
-
-/**
- * HTML table-based unified diff formatter.
- *
- * This class formats a diff into a table-based
- * unified diff format.  (Similar to what was produced
- * by previous versions of PhpWiki.)
- *
- * Within groups of changed lines, diffs are highlit
- * at the character-diff level.
- */
-class TableUnifiedDiffFormatter extends HtmlUnifiedDiffFormatter
-{
-    function TableUnifiedDiffFormatter($context_lines = 4) {
-        $this->HtmlUnifiedDiffFormatter($context_lines);
-    }
-
-    function _start_diff() {
-        $this->_top = HTML::table(array('width' => '100%',
-                                        'class' => 'diff',
-                                        'cellspacing' => 1,
-                                        'cellpadding' => 1,
-                                        'border' => 1));
-    }
-
-    function _start_block($header) {
-        $this->_block = HTML::table(array('width' => '100%',
-                                          'class' => 'block',
-                                          'cellspacing' => 0,
-                                          'cellpadding' => 1,
-                                          'border' => 0),
-                                    HTML::tr(HTML::td(array('colspan' => 2),
-                                                      HTML::tt($header))));
-    }
-
-    function _end_block() {
-        $this->_top->pushContent(HTML::tr(HTML::td($this->_block)));
-        unset($this->_block);
-    }
-
-    function _lines($lines, $class, $prefix = false, $elem = false) {
-        if (!$prefix)
-            $prefix = HTML::raw('&nbsp;');
-        $prefix = HTML::td(array('class' => 'prefix',
-                                 'width' => "1%"), $prefix);
-        foreach ($lines as $line) {
-            if (! trim($line))
-                $line = HTML::raw('&nbsp;');
-            elseif ($elem)
-                $line = new HtmlElement($elem, $line);
-            $this->_block->pushContent(HTML::tr(array('valign' => 'top'),
-                                                $prefix,
-                                                HTML::td(array('class' => $class),
-                                                         $line)));
-        }
-    }
-}
-
 // $Log: Diff.php,v $
+// Revision 1.4  2007/01/02 13:22:25  rurban
+// fix lib/diff loading conflicts by removing duplicate classes
+//
 // Revision 1.3  2005/09/30 18:53:10  uckelman
 // 'final' is a reserved keyword as of PHP5, so shouldn't be used as a
 //  function name here.
@@ -451,4 +233,4 @@
 // c-hanging-comment-ender-p: nil
 // indent-tabs-mode: nil
 // End:
-?>
\ No newline at end of file
+?>
diff -ruN 1.3.12p3/lib/plugin/EditMetaData.php 1.3.14/lib/plugin/EditMetaData.php
--- 1.3.12p3/lib/plugin/EditMetaData.php	2006-06-18 06:19:21.000000000 -0500
+++ 1.3.14/lib/plugin/EditMetaData.php	2007-07-01 05:11:05.000000000 -0500
@@ -1,7 +1,7 @@
 <?php // -*-php-*-
-rcs_id('$Id: EditMetaData.php,v 1.11 2004/06/01 16:48:11 rurban Exp $');
+rcs_id('$Id: EditMetaData.php,v 1.14 2007/05/19 14:41:08 rurban Exp $');
 /**
- Copyright 1999, 2000, 2001, 2002 $ThePhpWikiProgrammingTeam
+ Copyright 1999,2000,2001,2002,2007 $ThePhpWikiProgrammingTeam
 
  This file is part of PhpWiki.
 
@@ -36,10 +36,13 @@
  * Written by MichaelVanDam, to test out some ideas about
  * PagePermissions and PageTypes.
  *
- * Array support added by ReiniUrban.
+ * Rewritten for recursive array support by ReiniUrban.
  */
-class WikiPlugin_EditMetaData
-extends WikiPlugin
+
+require_once('lib/plugin/_BackendInfo.php');
+
+class WikiPlugin_EditMetaData 
+extends WikiPlugin__BackendInfo
 {
     function getName () {
         return _("EditMetaData");
@@ -51,94 +54,91 @@
 
     function getVersion() {
         return preg_replace("/[Revision: $]/", '',
-                            "\$Revision: 1.11 $");
+                            "\$Revision: 1.14 $");
     }
 
-    // Arguments:
-    //
-    //  page - page whose metadata is editted
-
-
     function getDefaultArguments() {
         return array('page'       => '[pagename]'
                     );
     }
 
-
     function run($dbi, $argstr, &$request, $basepage) {
         $this->_args = $this->getArgs($argstr, $request);
         extract($this->_args);
         if (!$page)
             return '';
 
-        $hidden_pagemeta = array ('_cached_html');
-        $readonly_pagemeta = array ('hits');
+        $this->hidden_pagemeta = array ('_cached_html');
+        $this->readonly_pagemeta = array ('hits', 'passwd');
         $dbi = $request->getDbh();
         $p = $dbi->getPage($page);
         $pagemeta = $p->getMetaData();
-
+        $this->chunk_split = false;
+        
         // Look at arguments to see if submit was entered. If so,
         // process this request before displaying.
         //
-        if ($request->isPost() and $request->_user->isAdmin() and $request->getArg('metaedit')) {
+        if ($request->isPost() 
+	    and $request->_user->isAdmin() 
+	    and $request->getArg('metaedit')) 
+	{
             $metafield = trim($request->getArg('metafield'));
             $metavalue = trim($request->getArg('metavalue'));
-            if (!in_array($metafield, $readonly_pagemeta)) {
+            $meta = $request->getArg('meta');
+            $changed = 0;
+            // meta[__global[_upgrade][name]] => 1030.13
+            foreach ($meta as $key => $val) {
+            	if ($val != $pagemeta[$key] 
+		    and !in_array($key, $this->readonly_pagemeta)) 
+		{
+            	    $changed++;
+                    $p->set($key, $val);
+                }
+            }
+            if ($metafield and !in_array($metafield, $this->readonly_pagemeta)) {
+            	// __global[_upgrade][name] => 1030.13
                 if (preg_match('/^(.*?)\[(.*?)\]$/', $metafield, $matches)) {
-                    list(,$array_field, $array_key) = $matches;
+                    list(, $array_field, $array_key) = $matches;
                     $array_value = $pagemeta[$array_field];
                     $array_value[$array_key] = $metavalue;
-                    $p->set($array_field, $array_value);
-                } else {
+                    if ($pagemeta[$array_field] != $array_value) {
+	            	$changed++;
+                    	$p->set($array_field, $array_value);
+                    }
+                } elseif ($pagemeta[$metafield] != $metavalue) {
+	            $changed++;
                     $p->set($metafield, $metavalue);
                 }
             }
-            $dbi->touch();
-            $url = $request->getURLtoSelf(false, 
-                                          array('metaedit','metafield','metavalue'));
-            $request->redirect($url);
-            // The rest of the output will not be seen due to the
-            // redirect.
-
+            if ($changed) {
+                $dbi->touch();
+		$url = $request->getURLtoSelf(false, 
+                                          array('meta','metaedit','metafield','metavalue'));
+		$request->redirect($url);
+		// The rest of the output will not be seen due to the
+		// redirect.
+		return '';
+	    }
         }
 
         // Now we show the meta data and provide entry box for new data.
-
         $html = HTML();
-
-        $html->pushContent(fmt("Existing page-level metadata for %s:",
-                               $page));
-        $dl = HTML::dl();
-        foreach ($pagemeta as $key => $val) {
-            if (is_string($val) and (substr($val,0,2) == 'a:')) {
-                $dl->pushContent(HTML::dt("\n$key => $val\n",
-                                          $dl1 = HTML::dl()));
-                foreach (unserialize($val) as $akey => $aval) {
-                    $dl1->pushContent(HTML::dt(HTML::strong("$key" . '['
-                                                            . $akey
-                                                            . "] => $aval\n"))
-                                      );
-                }
-                $dl->pushContent($dl1);
-            } elseif (is_array($val)) {
-                $dl->pushContent(HTML::dt("\n$key:\n", $dl1 = HTML::dl()));
-                foreach ($val as $akey => $aval) {
-                    $dl1->pushContent(HTML::dt(HTML::strong("$key" . '['
-                                                            . $akey
-                                                            . "] => $aval\n"))
-                                      );
-                }
-                $dl->pushContent($dl1);
-            } elseif (in_array($key,$hidden_pagemeta)) {
-                ;
-            } elseif (in_array($key,$readonly_pagemeta)) {
-                $dl->pushContent(HTML::dt(array('style' => 'background: #dddddd'),
-                                          "$key => $val\n"));
-            } else {
-                $dl->pushContent(HTML::dt(HTML::strong("$key => $val\n")));
-            }
+        //$html->pushContent(HTML::h3(fmt("Existing page-level metadata for %s:",
+	//				$page)));
+	//$dl = $this->_display_values('', $pagemeta);
+        //$html->pushContent($dl);
+        if (!$pagemeta) {
+            // FIXME: invalid HTML
+            $html->pushContent(HTML::p(fmt("No metadata for %s", $page)));
+	    $table = HTML();
+        }
+        else {
+	    $table = HTML::table(array('border' => 1,
+				       'cellpadding' => 2,
+				       'cellspacing' => 0));
+            $this->_fixupData($pagemeta);
+            $table->pushContent($this->_showhash("MetaData('$page')", $pagemeta));
         }
-        $html->pushContent($dl);
 
         if ($request->_user->isAdmin()) {
             $action = $request->getPostURL();
@@ -151,20 +151,60 @@
                                      'method' => 'post',
                                      'accept-charset' => $GLOBALS['charset']),
                                $hiddenfield,
+			       // edit existing fields
+			       $table,
+			       // add new ones
                                $instructions, HTML::br(),
                                $keyfield, ' => ', $valfield,
                                HTML::raw('&nbsp;'), $button
                                );
 
-            $html->pushContent(HTML::br(), $form);
+            $html->pushContent($form);
         } else {
             $html->pushContent(HTML::em(_("Requires WikiAdmin privileges to edit.")));
         }
         return $html;
     }
+
+    function _showvalue ($key, $val, $prefix='') {
+    	if (is_array($val) or is_object($val)) return $val;
+	if (in_array($key, $this->hidden_pagemeta)) return '';
+	if ($prefix) {
+	    $fullkey = $prefix . '[' . $key . ']';
+	    if (substr($fullkey,0,1) == '[') {
+	    	$meta = "meta".$fullkey;
+	    	$fullkey = preg_replace("/\]\[/", "[", substr($fullkey, 1), 1);
+	    } else {
+		$meta = preg_replace("/^([^\[]+)\[/", "meta[$1][", $fullkey, 1);
+	    }
+	} else {
+	    $fullkey = $key;
+	    $meta = "meta[".$key."]";
+	}
+	//$meta = "meta[".$fullkey."]";
+        $arr = array('name' => $meta, 'value' => $val);
+	if (strlen($val) > 20)
+	    $arr['size'] = strlen($val);
+	if (in_array($key, $this->readonly_pagemeta)) {
+	    $arr['readonly'] = 'readonly';
+	    return HTML::input($arr);
+	} else {
+	    return HTML(HTML::em($fullkey), HTML::br(),
+	    		HTML::input($arr));
+	}
+    }
 };
 
 // $Log: EditMetaData.php,v $
+// Revision 1.14  2007/05/19 14:41:08  rurban
+// return a value
+//
+// Revision 1.13  2007/05/15 16:32:25  rurban
+// Recursive array editing: support global_data
+//
+// Revision 1.12  2007/01/04 16:46:31  rurban
+// Make the header a h3
+//
 // Revision 1.11  2004/06/01 16:48:11  rurban
 // dbi->touch
 // security fix to allow post admin only.
diff -ruN 1.3.12p3/lib/plugin/ExternalSearch.php 1.3.14/lib/plugin/ExternalSearch.php
--- 1.3.12p3/lib/plugin/ExternalSearch.php	2006-06-18 06:19:21.000000000 -0500
+++ 1.3.14/lib/plugin/ExternalSearch.php	2007-07-01 05:11:05.000000000 -0500
@@ -1,7 +1,7 @@
 <?php // -*-php-*-
-rcs_id('$Id: ExternalSearch.php,v 1.12 2004/11/28 20:42:33 rurban Exp $');
+rcs_id('$Id: ExternalSearch.php,v 1.13 2006/10/08 12:49:49 rurban Exp $');
 /**
- Copyright 1999, 2000, 2001, 2002 $ThePhpWikiProgrammingTeam
+ Copyright 1999,2000,2001,2002,2006 $ThePhpWikiProgrammingTeam
 
  This file is part of PhpWiki.
 
@@ -30,6 +30,8 @@
      useimage="http://www.geourl.org/maps/au.png"
      name="Go Godzilla All Over It"
  */
+if (!defined("EXTERNALSEARCH_DEFAULT_BUTTON_POSITION"))
+    define("EXTERNALSEARCH_DEFAULT_BUTTON_POSITION", "right");
 
 class WikiPlugin_ExternalSearch
 extends WikiPlugin
@@ -45,7 +47,7 @@
 
     function getVersion() {
         return preg_replace("/[Revision: $]/", '',
-                            "\$Revision: 1.12 $");
+                            "\$Revision: 1.13 $");
     }
 
     function _getInterWikiUrl(&$request) {
@@ -69,7 +71,9 @@
                      'useimage' => false,
                      'width'    => false,
                      'height'   => false,
-                     'debug'    => false
+                     'debug'    => false,
+		     'button_position' => EXTERNALSEARCH_DEFAULT_BUTTON_POSITION,
+		     // 'left' or 'right'
                      );
     }
 
@@ -110,6 +114,10 @@
         $form->pushContent(HTML::input(array('type' => 'hidden',
                                              'name'  => 'url',
                                              'value' => $this->_url)));
+	$s = HTML::input(array('type' => 'text',
+			       'value' => $this->_s,
+			       'name'  => 's',
+			       'size'  => $formsize));
         if (!empty($args["useimage"])) {
             //FIXME: This does not work with Gecko
             $button = HTML::img(array('src' => $useimage, 'alt' => 'imagebutton'));
@@ -117,25 +125,40 @@
                 $button->setAttr('width',$width);
             if (!empty($height))
                 $button->setAttr('height',$height);
+            // on button_position => none display no input form
+	    if ($button_position == 'right')
+		$form->pushContent($s);
             $form->pushContent(HTML::button(array('type' => 'button',
                                                   'class' => 'button',
                                                   'value' => $this->_name,
                                                   ),
                                             $button));
+	    if ($button_position == 'left')
+		$form->pushContent($s);
         } else {
-            $form->pushContent(HTML::input(array('type' => 'submit',
-                                                 'class' => 'button',
-                                                 'value' => $this->_name)));
-            $form->pushContent(HTML::input(array('type' => 'text',
-                                                 'value' => $this->_s,
-                                                 'name'  => 's',
-                                                 'size'  => $formsize)));
+            if ($button_position != 'left' and $button_position != 'right')
+                return $this->error(fmt("Invalid argument: %s=%s", 
+                                        'button_position', $button_position));
+            $button = HTML::input(array('type' => 'submit',
+                                        'class' => 'button',
+                                        'value' => $this->_name));
+	    if ($button_position == 'left') {
+		$form->pushContent($button);
+		$form->pushContent($s);
+	    } elseif ($button_position == 'right') {
+		$form->pushContent($s);
+		$form->pushContent($button);
+	    }
         }
         return $form;
     }
 };
 
 // $Log: ExternalSearch.php,v $
+// Revision 1.13  2006/10/08 12:49:49  rurban
+// add argument button_position, to be able to place it right (new default) or left.
+// and to be able to add the "s" input form additionally on useimage. off with button_position=none
+//
 // Revision 1.12  2004/11/28 20:42:33  rurban
 // Optimize PearDB _extract_version_data and _extract_page_data.
 //
diff -ruN 1.3.12p3/lib/plugin/FileInfo.php 1.3.14/lib/plugin/FileInfo.php
--- 1.3.12p3/lib/plugin/FileInfo.php	2006-06-18 06:19:21.000000000 -0500
+++ 1.3.14/lib/plugin/FileInfo.php	2007-07-01 05:11:05.000000000 -0500
@@ -1,5 +1,5 @@
 <?php // -*-php-*-
-rcs_id('$Id: FileInfo.php,v 1.4 2005/10/29 14:18:47 rurban Exp $');
+rcs_id('$Id: FileInfo.php,v 1.6 2007/01/04 16:42:31 rurban Exp $');
 /*
  Copyright 2005 $ThePhpWikiProgrammingTeam
  
@@ -25,9 +25,9 @@
  * Only files relative and below to the uploads path can be handled.
  *
  * Usage:
- *   <?plugin FileVersion file=uploads/setup.exe display=version,date ?>
- *   <?plugin FileVersion file=uploads/setup.exe display=name,version,date 
- *                        format="%s (version: %s, date: %s)" ?>
+ *   <?plugin FileInfo file=Upload:setup.exe display=version,date ?>
+ *   <?plugin FileInfo file=Upload:setup.exe display=name,version,date 
+ *                     format="%s (version: %s, date: %s)" ?>
  *
  * @author: ReiniUrban
  */
@@ -45,7 +45,7 @@
 
     function getVersion() {
         return preg_replace("/[Revision: $]/", '',
-                            "\$Revision: 1.4 $");
+                            "\$Revision: 1.6 $");
     }
 
     function getDefaultArguments() {
@@ -53,6 +53,7 @@
                      'file'      => false, // relative path from PHPWIKI_DIR. (required)
                      'display'   => false, // version,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)
                     );
     }
@@ -66,13 +67,27 @@
 
         $dir = getcwd();
         chdir(PHPWIKI_DIR);
-	// sanify $file name
 	if (!file_exists($file)) {
-	    trigger_error("file \"$file\" not found", E_USER_WARNING);
+	    if ($quiet)
+		return '';
+	    else
+		trigger_error("file \"$file\" not found", E_USER_WARNING);
 	}
+	// sanify $file name
 	$realfile = realpath($file);
-	if (!string_starts_with($realfile, realpath(getUploadDataPath())))
-	    return $this->error("invalid path \"$file\"");
+	// Hmm, allow ADMIN to check a local file? Only if its locked
+	if (!string_starts_with($realfile, realpath(getUploadDataPath()))) {
+	    $page = $dbi->getPage($basepage);
+	    $user = $request->getUser();
+	    if ($page->getOwner() != ADMIN_USER or !$page->get('locked')) {
+		// For convenience we warn the admin
+		if ($quiet and $user->isAdmin())
+		    return HTML::span(array('title' => _("Output suppressed. FileInfoPlugin with local files require a locked page.")),
+				      HTML::em(_("page not locked")));
+		else
+		    return $this->error("Invalid path \"$file\". Only ADMIN can allow local paths, and the page must be locked.");
+	    }
+	}
 	else 
 	    $isuploaded = 1;
 	$s = array();
@@ -97,7 +112,9 @@
 		}
 		break;
 	    default:
-		return $this->error(sprintf(_("Unsupported argument: %s=%s"), 'display', $mode)); 
+		if (!$quiet)
+		    return $this->error(sprintf(_("Unsupported argument: %s=%s"), 'display', $mode)); 
+		else return '';
 		break;
 	    }
 	}
@@ -283,6 +300,12 @@
 
 /* 
  $Log: FileInfo.php,v $
+ Revision 1.6  2007/01/04 16:42:31  rurban
+ Add quiet argument. Allow local files if owner == ADMIN and page == locked.
+
+ Revision 1.5  2006/08/25 22:10:16  rurban
+ fix docs: FileVersion => FileInfo
+
  Revision 1.4  2005/10/29 14:18:47  rurban
  add display=phonysize
 
diff -ruN 1.3.12p3/lib/plugin/FullTextSearch.php 1.3.14/lib/plugin/FullTextSearch.php
--- 1.3.12p3/lib/plugin/FullTextSearch.php	2006-06-18 06:19:21.000000000 -0500
+++ 1.3.14/lib/plugin/FullTextSearch.php	2007-07-01 05:11:05.000000000 -0500
@@ -1,7 +1,7 @@
 <?php // -*-php-*-
-rcs_id('$Id: FullTextSearch.php,v 1.26 2005/11/14 22:33:04 rurban Exp $');
+rcs_id('$Id: FullTextSearch.php,v 1.27 2007/01/04 16:46:40 rurban Exp $');
 /*
-Copyright 1999,2000,2001,2002,2004 $ThePhpWikiProgrammingTeam
+Copyright 1999,2000,2001,2002,2004,2005 $ThePhpWikiProgrammingTeam
 
 This file is part of PhpWiki.
 
@@ -24,10 +24,16 @@
 require_once("lib/PageList.php");
 
 /**
- * Simple case insensitive fulltext search
- * TODO: case-sensitivity argument, regex argument
+ * Case insensitive fulltext search
+ * Options: case_exact, regex, hilight
+ *          Stoplist
  *
- * See https://sourceforge.net/tracker/index.php?func=detail&aid=927395&group_id=6121&atid=106121
+ * TODO: Hooks to search in external documents: ExternalTextSearch
+ *   Only uploaded: textfiles, PDF, HTML, DOC, XLS, ... or 
+ *   External apps: xapian-omages seems to be the best, over lucene.net, 
+ *   swish, nakamazu, ...
+ *
+ * See http://sf.net/tracker/index.php?aid=927395&group_id=6121&atid=106121
  * Wordaround to let the dead locks occur somewhat later:
  * increased the memory limit of PHP4 from 8 MB to 32 MB
  * php.ini: memory_limit = 32 MB
@@ -45,7 +51,7 @@
 
     function getVersion() {
         return preg_replace("/[Revision: $]/", '',
-                            "\$Revision: 1.26 $");
+                            "\$Revision: 1.27 $");
     }
 
     function getDefaultArguments() {
@@ -74,7 +80,6 @@
         $lines = array();
         $hilight_re = $hilight ? $query->getHighlightRegexp() : false;
         $count = 0;
-        $found = 0;
 
         if ($quiet) { // see how easy it is with PageList...
             $list = new PageList(false,$exclude,$args);
@@ -140,6 +145,9 @@
 };
 
 // $Log: FullTextSearch.php,v $
+// Revision 1.27  2007/01/04 16:46:40  rurban
+// Only notes
+//
 // Revision 1.26  2005/11/14 22:33:04  rurban
 // print ignored stoplist words
 //
diff -ruN 1.3.12p3/lib/plugin/GraphViz.php 1.3.14/lib/plugin/GraphViz.php
--- 1.3.12p3/lib/plugin/GraphViz.php	2006-06-18 06:19:21.000000000 -0500
+++ 1.3.14/lib/plugin/GraphViz.php	2007-07-01 05:11:05.000000000 -0500
@@ -1,5 +1,5 @@
 <?php // -*-php-*-
-rcs_id('$Id: GraphViz.php,v 1.6 2005/10/12 06:19:07 rurban Exp $');
+rcs_id('$Id: GraphViz.php,v 1.9 2007/01/11 21:16:30 rurban Exp $');
 /*
  Copyright 2004 $ThePhpWikiProgrammingTeam
 
@@ -122,7 +122,7 @@
     }
     function getVersion() {
         return preg_replace("/[Revision: $]/", '',
-                            "\$Revision: 1.6 $");
+                            "\$Revision: 1.9 $");
     }
     function getDefaultArguments() {
         return array(
@@ -131,6 +131,7 @@
                      'pages'   => false,  // <!plugin-list !> support
                      'exclude' => false,
                      'help'    => false,
+                     'debug'    => false,
                      );
     }
     function handle_plugin_args_cruft(&$argstr, &$args) {
@@ -181,9 +182,9 @@
         $helparr = array(
             '<?plugin GraphViz ' .
             'imgtype'          => ' = "' . $def['imgtype'] . "(default)|" . join('|',$imgtypes).'"',
-            'alt'              => ' = "alternate text"',
-            'pages'            => ' = "pages,*" or <!plugin-list !> pagelist as input',
-            'exclude'          => ' = "pages,*" or <!plugin-list !> pagelist as input',
+            'alt'              => ' = "alternate image text"',
+            'pages'            => ' = "pagenames,*" or <!plugin-list !> pagelist as input',
+            'exclude'          => ' = "pagenames,*" or <!plugin-list !> pagelist as input',
             'help'             => ' bool: displays this screen',
             '...'              => ' all further lines below the first plugin line ',
             ''                 => ' and inside the tags are the dot script.',
@@ -203,9 +204,12 @@
     }
 
     function processSource($argarray=false) {
-        $source = $this->source;
-        if (empty($source)) {
+        if (empty($this->source)) {
             // create digraph from pages
+            if (empty($argarray['pages'])) {
+                trigger_error(sprintf(_("%s is empty"), 'GraphViz argument source'), E_USER_WARNING);
+                return '';
+            }
             $source = "digraph GraphViz {\n";  // }
             foreach ($argarray['pages'] as $name) { // support <!plugin-list !> pagelists
                 // allow Page/SubPage
@@ -215,6 +219,8 @@
             }
             // {
             $source .= "\n  }";
+        } else {
+            $source = $this->source;
         }
         /* //TODO: expand inlined plugin-list arg
          $i = 0;
@@ -233,9 +239,11 @@
 
     function createDotFile($tempfile='', $argarray=false) {
         $this->source = $this->processSource($argarray);
+        if (!$this->source)
+            return false;
         if (!$tempfile) {
             $tempfile = $this->tempnam($this->getName().".dot");
-            unlink($tempfile);
+            @unlink($tempfile);
         }
         if (!$fp = fopen($tempfile, 'w'))
             return false;
@@ -251,6 +259,7 @@
         if (in_array($gif, array("imap", "cmapx", "ismap", "cmap"))) {
             $this->_mapfile = "$tempfiles.map";
             $gif = $this->decideImgType($argarray['imgtype']);
+	    if ($gif == $argarray['imgtype']) $gif = 'png';
         }
 
         $ImageCreateFromFunc = "ImageCreateFrom$gif";
@@ -263,18 +272,24 @@
         $source = $this->processSource($argarray);
         if (empty($source))
             return $this->error(fmt("No dot graph given"));
-        //$ok = $tempfiles;
-        //$dotfile = $this->createDotFile($tempfiles.'.dot', $argarray);
-        //$args = "-T$gif $dotfile -o $outfile";
-        $args = "-T$gif -o $outfile";
-        $cmdline = "$dotbin $args";
-        if ($debug) $cmdline .= " > $tempout";
-        //if (!isWindows()) $cmdline .= " 2>&1";
-        //$this->execute($cmdline, $outfile);
-        $code = $this->filterThroughCmd($source, $cmdline);
-        if (!empty($code))
-            $this->complain(sprintf(_("Couldn't start commandline '%s'", $cmdline)));
-        sleep(0.1);
+        if (isWindows()) {
+          $ok = $tempfiles;
+          $dotfile = $this->createDotFile($tempfiles.'.dot', $argarray);
+          $args = "-T$gif $dotfile -o $outfile";
+          $cmdline = "$dotbin $args";
+          $code = $this->execute($cmdline, $outfile);
+          if (!$code)
+            $this->complain(sprintf(_("Couldn't start commandline '%s'"), $cmdline));
+        } else {
+          $args = "-T$gif -o $outfile";
+          $cmdline = "$dotbin $args";
+          if ($debug) $cmdline .= " > $tempout";
+          //if (!isWindows()) $cmdline .= " 2>&1";
+          $code = $this->filterThroughCmd($source, $cmdline);
+          if ($code)
+            $this->complain(sprintf(_("Couldn't start commandline '%s'"), $cmdline));
+          sleep(0.1);
+        }
         if (! file_exists($outfile) ) {
             $this->complain(sprintf(_("%s error: outputfile '%s' not created"), 
                                     "GraphViz", $outfile));
@@ -284,8 +299,9 @@
         if (function_exists($ImageCreateFromFunc)) {
             $img = $ImageCreateFromFunc( $outfile );
 	    // clean up tempfiles
-	    if (!$argarray['debug'])
-		foreach (array('',".$gif",'.dot') as $ext) {
+	    @unlink($tempfiles);
+	    if (empty($argarray['debug']))
+		foreach (array(".$gif",'.dot') as $ext) {
 		    //if (file_exists($tempfiles.$ext))
 		    @unlink($tempfiles.$ext);
 		}
@@ -301,7 +317,11 @@
     }
     
     function getMap($dbi, $argarray, $request) {
-    	return $this->invokeDot($argarray);
+    	$result = $this->invokeDot($argarray);
+        if (isa($result, 'HtmlElement'))
+            return array(false, $result);
+        else
+            return $result;
         // $img = $this->getImage($dbi, $argarray, $request);
     	//return array($this->_mapfile, $img);
     }
@@ -331,16 +351,18 @@
         }
         $ok = $tempfiles;
         $source = $this->processSource($argarray);
-        if (empty($source))
-            return $this->error(fmt("No dot graph given"));
+        if (empty($source)) {
+            $this->complain("No dot graph given");
+            return array(false, $this->GetError());
+        }
 	//$ok = $ok and $this->createDotFile($tempfiles.'.dot', $argarray);
 
         $args = "-T$gif $tempfiles.dot -o $outfile";
         $cmdline1 = "$dotbin $args";
         if ($debug) $cmdline1 .= " > $tempout";
 	$ok = $ok and $this->filterThroughCmd($source, $cmdline1);
-	// $this->execute("$dotbin -T$gif $tempfiles.dot -o $outfile" . 
-        //                    ($debug ? " > $tempout 2>&1" : " 2>&1"), $outfile)
+	//$ok = $this->execute("$dotbin -T$gif $tempfiles.dot -o $outfile" . 
+	//		     ($debug ? " > $tempout 2>&1" : " 2>&1"), $outfile)
 
         $args = "-Timap $tempfiles.dot -o $tempfiles.map";
         $cmdline2 = "$dotbin $args";
@@ -403,26 +425,35 @@
                             . (file_exists("$tempfiles.map") ? filesize("$tempfiles.map"):'missing'));
             $this->complain("\ncmd-line: $cmdline1");
             $this->complain("\ncmd-line: $cmdline2");
-            trigger_error($this->GetError(), E_USER_WARNING);
-            return array(false, false);
+            //trigger_error($this->GetError(), E_USER_WARNING);
+            return array(false, $this->GetError());
         }
 
         // clean up tempfiles
+        @unlink($tempfiles);
         if ($ok and !$argarray['debug'])
             foreach (array('',".$gif",'.map','.dot') as $ext) {
-                //if (file_exists($tempfiles.$ext))
-		        @unlink($tempfiles.$ext);
+		@unlink($tempfiles.$ext);
             }
 
         if ($ok)
             return array($img, $map);
         else
-            return array(false, false);
+            return array(false, $this->GetError());
     }
 
 };
 
 // $Log: GraphViz.php,v $
+// Revision 1.9  2007/01/11 21:16:30  rurban
+// Improve docs
+//
+// Revision 1.8  2007/01/10 22:28:43  rurban
+// use temp dotfile on windows
+//
+// Revision 1.7  2006/12/22 17:55:06  rurban
+// fix source handling
+//
 // Revision 1.6  2005/10/12 06:19:07  rurban
 // protect unsafe calls
 //
diff -ruN 1.3.12p3/lib/plugin/Imdb.php 1.3.14/lib/plugin/Imdb.php
--- 1.3.12p3/lib/plugin/Imdb.php	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/lib/plugin/Imdb.php	2007-07-01 05:11:05.000000000 -0500
@@ -0,0 +1,123 @@
+<?php // -*-php-*-
+rcs_id('$Id: Imdb.php,v 1.1 2007/01/25 21:54:36 rurban Exp $');
+/*
+ Copyright 2004 $ThePhpWikiProgrammingTeam
+ 
+ This file is (not yet) part of PhpWiki.
+
+ PhpWiki is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ PhpWiki is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with PhpWiki; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+/**
+ * Query results from a local imdb copy.
+ * see amdbfront for the conversion.
+ * "imdb = mysql://user:pass@localhost/imdb" in lib/plugin/SqlResult.ini
+ *
+ * Queries:
+ * <?plugin Imdb query=movie_main title||="Sample Movie (2002)" ?>
+ * <?plugin Imdb query=movie_combined title||="Sample Movie (2002)" ?>
+ * <?plugin Imdb query=movie_full title||="Sample Movie (2002)" ?>
+ * <?plugin Imdb query=movie_company_credits title||="Sample Movie (2002)" ?>
+ * <?plugin Imdb query=name name||="Lastname, Firstname (I)" ?>
+ * More title queries:
+ *  business, moviebudgets, colorinfo, mpaaratingsreasons,
+ *  akatitles, alternateversions, miscellaneouscompanies, moviecountries,
+ *  certificates, completecast, completecrew, crazycredits, genres, goofs,
+ *  keywords, movielinks, plot, quotes, ratings, soundtracks, specialeffectscompanies,
+ *  taglines, trivia, distributors, language, laserdisc, literature, locations,
+ *  miscellaneouscompanies, productioncompanies, releasedates, runningtimes, soundmix,
+ *  technical
+ * More name queries:
+ *   akanames, guestappearances, biographies
+ *   job.descriptions
+ *
+ * @author: ReiniUrban
+ */
+
+include_once("lib/plugin/SqlResult.php");
+
+class WikiPlugin_Imdb
+extends WikiPlugin_SqlResult
+{
+    function getDescription () {
+        return _("Query a local imdb database");
+    }
+
+    function getVersion() {
+        return preg_replace("/[Revision: $]/", '',
+                            "\$Revision: 1.1 $");
+    }
+
+    function getDefaultArguments() {
+        return array(
+                     'query'       => false, // what
+                     'template'    => false, // TODO: use a custom <theme>/template.tmpl for the result
+                     'where'       => false, // custom filter for the query
+                     'title'       => false, // custom filter for the query
+                     'name'        => false, // custom filter for the query
+                     'sortby'      => false, // for paging, default none
+                     'limit'       => false, // for paging, default: only the first 50 
+                    );
+    }
+
+    function run($dbi, $argstr, &$request, $basepage) {
+        $args = $this->getArgs($argstr, $request);
+        extract($args);
+        include_once("lib/imdb.php");
+        $imdb = new imdb();
+
+        if (method_exists($imdb, $query)) {
+            $SqlResult = $imdb->$query($title ? $title : $name);
+        } else {
+            $SqlResult = array();
+        }
+
+        // if ($limit) ; // TODO: fill paging vars (see PageList)
+        if ($ordered) {
+            $html = HTML::ol(array('class'=>'sqlresult'));
+            foreach ($SqlResult as $row) {
+                $html->pushContent(HTML::li(array('class'=> $i++ % 2 ? 'evenrow' : 'oddrow'), $row[0]));
+            }
+        } else {
+            $html = HTML::table(array('class'=>'sqlresult'));
+            $i = 0;
+            foreach ($SqlResult as $row) {
+                $tr = HTML::tr(array('class'=> $i++ % 2 ? 'evenrow' : 'oddrow'));
+                foreach ($row as $col) {
+                    $tr->pushContent(HTML::td($col));
+                }
+                $html->pushContent($tr);
+            }
+        }
+        // if ($limit) ; // do paging via pagelink template
+        return $html;
+    }
+};
+
+// $Log: Imdb.php,v $
+// Revision 1.1  2007/01/25 21:54:36  rurban
+// First version of my simple local SQL imdb queries
+//
+//
+
+// For emacs users
+// Local Variables:
+// mode: php
+// tab-width: 8
+// c-basic-offset: 4
+// c-hanging-comment-ender-p: nil
+// indent-tabs-mode: nil
+// End:
+?>
\ No newline at end of file
diff -ruN 1.3.12p3/lib/plugin/IncludePage.php 1.3.14/lib/plugin/IncludePage.php
--- 1.3.12p3/lib/plugin/IncludePage.php	2006-06-18 06:19:21.000000000 -0500
+++ 1.3.14/lib/plugin/IncludePage.php	2007-07-01 05:11:05.000000000 -0500
@@ -1,5 +1,5 @@
 <?php // -*-php-*-
-rcs_id('$Id: IncludePage.php,v 1.27 2004/11/17 20:07:18 rurban Exp $');
+rcs_id('$Id: IncludePage.php,v 1.28 2006/04/17 17:28:21 rurban Exp $');
 /*
  Copyright 1999, 2000, 2001, 2002 $ThePhpWikiProgrammingTeam
 
@@ -40,7 +40,7 @@
 
     function getVersion() {
         return preg_replace("/[Revision: $]/", '',
-                            "\$Revision: 1.27 $");
+                            "\$Revision: 1.28 $");
     }
 
     function getDefaultArguments() {
@@ -63,7 +63,7 @@
         }
         if (!$page or !$page->name)
             return false;
-        return array($page->name);
+        return array(array('linkto' => $page->name, 'relation' => 0));
     }
                 
     function run($dbi, $argstr, &$request, $basepage) {
@@ -148,6 +148,9 @@
 
 
 // $Log: IncludePage.php,v $
+// Revision 1.28  2006/04/17 17:28:21  rurban
+// honor getWikiPageLinks change linkto=>relation
+//
 // Revision 1.27  2004/11/17 20:07:18  rurban
 // just whitespace
 //
diff -ruN 1.3.12p3/lib/plugin/InterWikiSearch.php 1.3.14/lib/plugin/InterWikiSearch.php
--- 1.3.12p3/lib/plugin/InterWikiSearch.php	2006-06-18 06:19:21.000000000 -0500
+++ 1.3.14/lib/plugin/InterWikiSearch.php	2007-07-01 05:11:05.000000000 -0500
@@ -1,5 +1,5 @@
 <?php // -*-php-*-
-rcs_id('$Id: InterWikiSearch.php,v 1.8 2004/06/28 12:51:41 rurban Exp $');
+rcs_id('$Id: InterWikiSearch.php,v 1.9 2007/02/17 14:15:06 rurban Exp $');
 /**
  Copyright 1999, 2000, 2001, 2002 $ThePhpWikiProgrammingTeam
 
@@ -37,11 +37,13 @@
 
     function getVersion() {
         return preg_replace("/[Revision: $]/", '',
-                            "\$Revision: 1.8 $");
+                            "\$Revision: 1.9 $");
     }
 
     function getDefaultArguments() {
-        return array();
+        return array('s' => '',
+                     'formsize' => 30,
+        	    );
     }
 
     function run($dbi, $argstr, &$request, $basepage) {
@@ -121,6 +123,9 @@
 
 
 // $Log: InterWikiSearch.php,v $
+// Revision 1.9  2007/02/17 14:15:06  rurban
+// default formsize=30
+//
 // Revision 1.8  2004/06/28 12:51:41  rurban
 // improved dumphtml and virgin setup
 //
diff -ruN 1.3.12p3/lib/plugin/LdapSearch.php 1.3.14/lib/plugin/LdapSearch.php
--- 1.3.12p3/lib/plugin/LdapSearch.php	2006-06-18 06:19:21.000000000 -0500
+++ 1.3.14/lib/plugin/LdapSearch.php	2007-07-01 05:11:05.000000000 -0500
@@ -1,6 +1,7 @@
-<?php // -*-php-*- rcs_id('$Id: LdapSearch.php,v 1.3 2004/12/20 16:05:14 rurban Exp $');
+<?php // -*-php-*- rcs_id('$Id: LdapSearch.php,v 1.5 2007/01/22 23:50:00 rurban Exp $');
 /**
  Copyright 2004 John Lines
+ Copyright 2007 $ThePhpWikiProgrammingTeam
 
  This file is part of PhpWiki.
 
@@ -22,9 +23,9 @@
 /**
  * WikiPlugin which searches an LDAP directory.
  *
- * Note that for this version the attributes are required.
- * TODO: use the config.ini constants as defaults
+ * Uses the config.ini constants as defaults.
  * See http://phpwiki.org/LdapSearchPlugin
+ * TODO: Return a pagelist on certain attributes
  *
  * Usage Samples:
   <?plugin LdapSearch?>
@@ -32,7 +33,7 @@
            host="localhost"
            port=389
            basedn=""
- 	    filter="(cn=*)"
+ 	   filter="(cn=*)"
            attributes=""  
   ?>
   <?plugin LdapSearch host=ldap.example.com filter="(ou=web-team)" 
@@ -46,10 +47,6 @@
  * @author John Lines
  */
 
-// Constants are defined before the class.
-// if (!defined('THE_END'))
-//    define('THE_END', "!");
-
 class WikiPlugin_LdapSearch
 extends WikiPlugin
 {
@@ -62,104 +59,156 @@
     }
     function getVersion() {
         return preg_replace("/[Revision: $]/", '',
-                            "\$Revision: 1.3 $");
+                            "\$Revision: 1.5 $");
     }
     function getDefaultArguments() {
-        return array('host' 	=> "localhost", // change to LDAP_AUTH_HOST
-		     'port' 	=> 389,		// ditto
+        return array('host' 	=> "", 		// default: LDAP_AUTH_HOST
+		     'port' 	=> 389,		// ignored if host = full uri
 		     'basedn' 	=> "",		// LDAP_BASE_DN
                      'filter'   => "(cn=*)",
-		     'attributes' => "");
+		     'attributes' => "",
+                     'user'     => '',
+                     'password' => '',
+                     'options'   => "",
+                     );
     }
 
     // I ought to require the ldap extension, but fail sanely, if I cant get it.
     // - however at the moment this seems to work as is
     function run($dbi, $argstr, $request) {
-        extract($this->getArgs($argstr, $request));
-
-	$html = HTML::table(array('cellpadding' => 1,'cellspacing' => 1, 'border' => 1));
-	$connect = ldap_connect($host, $port);
-	if (!ldap_set_option($connect, LDAP_OPT_PROTOCOL_VERSION, 3)) {
-            $this->error(_("Failed to set LDAP protocol version to 3"));
+        if (!function_exists('ldap_connect')) {
+            if (!loadPhpExtension('ldap'))
+                return $this->error(_("Missing ldap extension"));
+        }
+        $args = $this->getArgs($argstr, $request);
+        extract($args);
+        if (!$host) {
+            if (defined('LDAP_AUTH_HOST')) {
+                $host = LDAP_AUTH_HOST;
+                if (strstr(LDAP_AUTH_HOST, '://'))
+                    $port = null;
+            } else {
+                $host = 'localhost';
+            }
+        } else {
+            if (strstr($host, '://'))
+                $port = null;
+        }
+	$html = HTML();
+        if (is_null($port))
+            $connect = ldap_connect($host);
+        else
+            $connect = ldap_connect($host, $port);
+        if (!$connect)
+            return $this->error(_("Failed to connect to LDAP host"));
+        if (!$options and defined('LDAP_AUTH_HOST') and $args['host'] == LDAP_AUTH_HOST) {
+            if (!empty($GLOBALS['LDAP_SET_OPTION'])) {
+                $options = $GLOBALS['LDAP_SET_OPTION'];
+            }
+        }
+        if ($options) {
+            foreach ($options as $key => $value) {
+                if (!ldap_set_option($connect, $key, $value))
+                    $this->error(_("Failed to set LDAP $key $value"));
+            }
         }
-	$bind = ldap_bind($connect);
-	$attr_array = array("");		// for now - 
+	
+        // special convenience: if host = LDAP_AUTH_HOST
+        // then take user and password from config.ini also
+        if ($user) {
+            if ($password)
+                // required for Windows Active Directory Server
+                $bind = ldap_bind($connect, $user, $password);
+            else
+                $bind = ldap_bind($connect, $user);
+        } elseif (defined('LDAP_AUTH_HOST') and $args['host'] == LDAP_AUTH_HOST) {
+            if (LDAP_AUTH_USER)
+                if (LDAP_AUTH_PASSWORD)
+                    // Windows Active Directory Server is strict
+                    $r = ldap_bind($connect, LDAP_AUTH_USER, LDAP_AUTH_PASSWORD); 
+                else
+                    $r = ldap_bind($connect, LDAP_AUTH_USER); 
+            else // anonymous bind
+                $bind = ldap_bind($connect);
+        } else { // other anonymous bind
+            $bind = ldap_bind($connect);
+        }
+        if (!$bind) return $this->error(_("Failed to bind LDAP host"));
+	$attr_array = array("");
 	if (!$attributes) {
             $res = ldap_search($connect, $basedn, $filter);
         } else {
             $attr_array = split (" ",$attributes);
-            $res = ldap_search($connect, $basedn, $filter,$attr_array);
+            $res = ldap_search($connect, $basedn, $filter, $attr_array);
         }
 	$entries = ldap_get_entries($connect, $res);
  
         // If we were given attributes then we return them in the order given
-        if ( $attributes ) {
-            for ($i=0; $i < count($attr_array) ; $i++) { $attrcols[$i] = 0; }
-            // Work out how many columns we need for each attribute.
-            for ($i = 0; $i < $entries["count"]; $i++) {
-                for ($ii=0; $ii<$entries[$i]["count"]; $ii++){
-                    $data = $entries[$i][$ii];
-                    $datalen = $entries[$i][$data]["count"];
-                    if ($attrcols[$ii] < $datalen ) {
-                        $attrcols[$ii] = $datalen;
-                    }
-                }
-            }
-
-            // Now print the headers
-            $row = HTML::tr(); 
-            for ($i=0; $i < count($attr_array) ; $i++) {
-                $row->pushContent(HTML::th(array('colspan' => $attrcols[$i]), $attr_array[$i]));
-            }
-            $html->pushContent($row);
-            for ($i = 0; $i<$entries["count"]; $i++) {
-                // start a new row for every data value.
-                $row = HTML::tr(); $nc=0;
-                for ($ii=0; $ii < $entries[$i]["count"]; $ii++){
-                    $data = $entries[$i][$ii];
-                    // 3 possible cases for the values of each attribute.
-                    switch ($entries[$i][$data]["count"]) {
-                    case 0:
-                        $row->pushContent(HTML::td("")); $nc++;
-                        break;
-                    default:
-                        for ($iii=0; $iii < $entries[$i][$data]["count"]; $iii++) {
-                            $row->pushContent(HTML::td($entries[$i][$data][$iii])); $nc++;
-                        }
-                    }
-                    // Make up some blank cells if required to pad this row
-                    for ( $j=0 ; $j < ($attrcols[$ii] - $nc); $j++ ) {
-                        $row->pushContent(HTML::td(""));
-                    }
-                }
-                $html->pushContent($row);
-            }
-        } else {
-            // $i = entries
-            // $ii = attributes for entry
-            // $iii = values per attribute
+	// else take all 
+        if ( !$attributes ) {
+	    $attr_array = array();
             for ($i = 0; $i < $entries["count"]; $i++) {
                 $row = HTML::tr();
                 for ($ii=0; $ii < $entries[$i]["count"]; $ii++){
                     $data = $entries[$i][$ii];
-                    for ($iii=0; $iii < $entries[$i][$data]["count"]; $iii++) {
-                        //echo $data.":&nbsp;&nbsp;".$entries[$i][$data][$iii]."<br>";
-                        if ( ! $attributes ) {
-                            $row->pushContent(HTML::td($data));
-                        }
-                        $row->pushContent(HTML::td($entries[$i][$data][$iii]));
-                    }
-                }         	
-                $html->pushContent($row);
-            }
-        }
-        
-        // THE_END); // ??
-        return $html;
+		    $attr_array[] = $data;
+		}
+	    }
+	}
+	for ($i=0; $i < count($attr_array) ; $i++) { $attrcols[$i] = 0; }
+	// Work out how many columns we need for each attribute. objectclass has more
+	for ($i = 0; $i < $entries["count"]; $i++) {
+	    for ($ii=0; $ii<$entries[$i]["count"]; $ii++){
+		$data = $entries[$i][$ii];
+		$datalen = $entries[$i][$data]["count"];
+		if ($attrcols[$ii] < $datalen ) {
+		    $attrcols[$ii] = $datalen;
+		}
+	    }
+	}
+	// Print the headers
+	$row = HTML::tr(); 
+	for ($i=0; $i < count($attr_array) ; $i++) {
+	    if ($attrcols[$i] > 1)
+		$row->pushContent(HTML::th(array('colspan' => $attrcols[$i]), $attr_array[$i]));
+	    else
+		$row->pushContent(HTML::th(array(), $attr_array[$i]));
+	}
+	$html->pushContent($row);
+
+	// Print the data rows
+	for ($i = 0; $i<$entries["count"]; $i++) {
+	    $row = HTML::tr(); $nc=0;
+	    for ($ii=0; $ii < $entries[$i]["count"]; $ii++){
+		$data = $entries[$i][$ii];
+		// 3 possible cases for the values of each attribute.
+		switch ($entries[$i][$data]["count"]) {
+		case 0:
+		    $row->pushContent(HTML::td("")); $nc++;
+		    break;
+		default:
+		    for ($iii=0; $iii < $entries[$i][$data]["count"]; $iii++) {
+			$row->pushContent(HTML::td($entries[$i][$data][$iii])); $nc++;
+		    }
+		}
+		// Make up some blank cells if required to pad this row
+		for ( $j=0 ; $j < ($attrcols[$ii] - $nc); $j++ ) {
+		    $row->pushContent(HTML::td(""));
+		}
+	    }
+	    $html->pushContent($row);
+	}
+	return HTML::table(array('cellpadding' => 1,'cellspacing' => 1, 'border' => 1), $html);
     }
 };
 
 // $Log: LdapSearch.php,v $
+// Revision 1.5  2007/01/22 23:50:00  rurban
+// Improve Table for no attributes
+//
+// Revision 1.4  2007/01/21 23:23:49  rurban
+// Improve LdapSearch
+//
 // Revision 1.3  2004/12/20 16:05:14  rurban
 // gettext msg unification
 //
@@ -179,4 +228,4 @@
 // c-hanging-comment-ender-p: nil
 // indent-tabs-mode: nil
 // End:
-?>
\ No newline at end of file
+?>
diff -ruN 1.3.12p3/lib/plugin/LinkDatabase.php 1.3.14/lib/plugin/LinkDatabase.php
--- 1.3.12p3/lib/plugin/LinkDatabase.php	2006-06-18 06:19:22.000000000 -0500
+++ 1.3.14/lib/plugin/LinkDatabase.php	2007-07-01 05:11:06.000000000 -0500
@@ -1,7 +1,7 @@
 <?php // -*-php-*-
-rcs_id('$Id: LinkDatabase.php,v 1.7 2004/12/26 17:17:25 rurban Exp $');
+rcs_id('$Id: LinkDatabase.php,v 1.8 2007/05/13 18:13:26 rurban Exp $');
 /**
- Copyright 2004 $ThePhpWikiProgrammingTeam
+ Copyright 2004,2007 $ThePhpWikiProgrammingTeam
 
  This file is part of PhpWiki.
 
@@ -33,6 +33,7 @@
  *
  * TODO: Currently the meta-head tags disturb the touchgraph java browser a bit. 
  * Maybe add a theme without that much header tags.
+ * DONE: Convert " " to %20
  */
 class WikiPlugin_LinkDatabase
 extends WikiPluginCached
@@ -48,7 +49,7 @@
     }
     function getVersion() {
         return preg_replace("/[Revision: $]/", '',
-                            "\$Revision: 1.7 $");
+                            "\$Revision: 1.8 $");
     }
     function getExpire($dbi, $argarray, $request) {
         return '+900'; // 15 minutes
@@ -100,7 +101,8 @@
         } else {
             if (! $request->getArg('count'))  
                 $args['count'] = $dbi->numPages($args['include_empty'], $args['exclude_from']);
-            else $args['count'] = $request->getArg('count');
+            else 
+                $args['count'] = $request->getArg('count');
             $pages = $dbi->getAllPages($args['include_empty'], $args['sortby'], 
                                        $args['limit'], $args['exclude_from']);
         }
@@ -108,7 +110,9 @@
             $args['types']['links'] = 
                 new _PageList_Column_LinkDatabase_links('links', _("Links"), 'left');
             $pagelist = new PageList($args['info'], $args['exclude_from'], $args);
+            //$pagelist->_addColumn("links");
             if (!$args['noheader']) $pagelist->setCaption($caption);
+            $pagelist->addPages($pages);
             return $pagelist;
         } elseif ($args['format'] == 'text') {
             $request->discardOutput();
@@ -117,11 +121,11 @@
                 header("Content-Type: text/plain");
             $request->checkValidators();
             while ($page = $pages->next()) {
-                echo $page->getName();
+                echo preg_replace("/ /","%20",$page->getName());
                 $links = $page->getPageLinks(false, $args['sortby'], $args['limit'], 
                                              $args['exclude']);
                 while ($link = $links->next()) {
-                    echo " ", $link->getName();
+                    echo " ", preg_replace("/ /","%20",$link->getName());
                 }
                 echo "\n";
             }
@@ -183,6 +187,9 @@
 }
 
 // $Log: LinkDatabase.php,v $
+// Revision 1.8  2007/05/13 18:13:26  rurban
+// fix HTML display
+//
 // Revision 1.7  2004/12/26 17:17:25  rurban
 // announce dumps - mult.requests to avoid request::finish, e.g. LinkDatabase, PdfOut, ...
 //
@@ -219,4 +226,4 @@
 // c-hanging-comment-ender-p: nil
 // indent-tabs-mode: nil
 // End:
-?>
\ No newline at end of file
+?>
diff -ruN 1.3.12p3/lib/plugin/LinkSearch.php 1.3.14/lib/plugin/LinkSearch.php
--- 1.3.12p3/lib/plugin/LinkSearch.php	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/lib/plugin/LinkSearch.php	2007-07-01 05:11:06.000000000 -0500
@@ -0,0 +1,196 @@
+<?php // -*-php-*-
+rcs_id('$Id: LinkSearch.php,v 1.1 2007/01/02 13:23:14 rurban Exp $');
+/*
+ Copyright 2007 Reini Urban
+
+ This file is part of PhpWiki.
+
+ PhpWiki is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ PhpWiki is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with PhpWiki; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+require_once('lib/TextSearchQuery.php');
+require_once('lib/PageList.php');
+
+/**
+ * Similar to SemanticSearch, just for ordinary in- or outlinks.
+ * 
+ * @author: Reini Urban
+ */
+class WikiPlugin_LinkSearch
+extends WikiPlugin
+{
+    function getName() {
+        return _("LinkSearch");
+    }
+    function getDescription() {
+        return _("Search page and link names");
+    }
+    function getVersion() {
+        return preg_replace("/[Revision: $]/", '',
+                            "\$Revision: 1.1 $");
+    }
+    function getDefaultArguments() { 
+        return array_merge
+            (
+             PageList::supportedArgs(), // paging and more.
+	     array(
+		   's'          => "", // linkvalue query string
+		   'page'       => "*", // which pages (glob allowed), default: all
+		   'direction'  => "out", // or in
+		   'case_exact' => false,
+		   'regex'      => 'auto',
+		   'noform'     => false, // don't show form with results.
+		   'noheader'   => false  // no caption
+		   ));
+    }
+
+    function showForm (&$dbi, &$request, $args) {
+	$action = $request->getPostURL();
+	$hiddenfield = HiddenInputs($request->getArgs(),'',
+				    array('action','page','s','direction'));
+	$pagefilter = HTML::input(array('name' => 'page',
+					'value' => $args['page'],
+					'title' => _("Search only in these pages. With autocompletion."),
+					'class' => 'dropdown', 
+					'acdropdown' => 'true', 
+					'autocomplete_complete' => 'true',
+					'autocomplete_matchsubstring' => 'false', 
+					'autocomplete_list' => 'xmlrpc:wiki.titleSearch ^[S] 4'
+					), '');
+	$query = HTML::input(array('name' => 's', 
+				   'value' => $args['s'],
+				   'title' => _("Filter by this link. These are pagenames. With autocompletion."),
+				   'class' => 'dropdown', 
+				   'acdropdown' => 'true', 
+				   'autocomplete_complete' => 'true', 
+				   'autocomplete_matchsubstring' => 'true', 
+				   'autocomplete_list' => 'xmlrpc:wiki.titleSearch ^[S] 4'
+				   ), '');
+	$dirsign_switch = JavaScript("
+function dirsign_switch() {
+  var d = document.getElementById('dirsign')
+  d.innerHTML = (d.innerHTML == ' =&gt; ') ? ' &lt;= ' : ' =&gt; '
+}
+");
+	$dirsign = " => ";
+	$in = $out = array('name' => 'direction', 'type'=>'radio', 'onChange' => 'dirsign_switch()');
+	$out['value'] = 'out';
+	$out['id'] = 'dir_out';
+	if ($args['direction']=='out') $out['checked'] = 'checked';
+	$in['value'] = 'in';
+	$in['id'] = 'dir_in';
+	if ($args['direction']=='in') {
+	    $in['checked'] = 'checked';
+	    $dirsign = " <= ";
+	}
+	$direction = HTML(HTML::input($out), HTML::label(array('for'=>'dir_out'),_("outgoing")),
+			  HTML::input($in), HTML::label(array('for'=>'dir_in'),_("incoming")));
+	/*
+	$direction = HTML::select(array('name'=>'direction',
+					'onChange' => 'dirsign_switch()'));
+	$out = array('value' => 'out');
+	if ($args['direction']=='out') $out['selected'] = 'selected';
+	$in = array('value' => 'in');
+	if ($args['direction']=='in') {
+	    $in['selected'] = 'selected';
+	    $dirsign = " <= ";
+	}
+	$direction->pushContent(HTML::option($out, _("outgoing")));
+	$direction->pushContent(HTML::option($in, _("incoming")));
+	*/
+	$submit = Button('submit:search',  _("LinkSearch"), false);
+	$instructions = _("Search in pages for links with the matching name.");
+	$form = HTML::form(array('action' => $action,
+				 'method' => 'GET',
+				 'accept-charset' => $GLOBALS['charset']),
+			   $dirsign_switch,
+			   $hiddenfield,
+			   $instructions, HTML::br(),
+			   $pagefilter, 
+			   HTML::strong(HTML::tt(array('id'=>'dirsign'), $dirsign)), 
+			   $query,
+			   HTML::raw('&nbsp;'), $direction, 
+			   HTML::raw('&nbsp;'), $submit);
+	return $form;
+    }
+ 
+    function run ($dbi, $argstr, &$request, $basepage) { 
+        global $WikiTheme;
+        $args = $this->getArgs($argstr, $request);
+        if (empty($args['page']))
+            $args['page'] = "*";
+	$form = $this->showForm($dbi, $request, $args);
+        extract($args);
+	if (empty($s))
+	    return $form;
+        $pagequery = new TextSearchQuery($page, $args['case_exact'], $args['regex']);
+        $linkquery = new TextSearchQuery($s, $args['case_exact'], $args['regex']);
+	$links = $dbi->linkSearch($pagequery, $linkquery, $direction == 'in' ? 'linkfrom' : 'linkto');
+	$pagelist = new PageList($args['info'], $args['exclude'], $args);
+	$pagelist->_links = array();
+	while ($link = $links->next()) {
+	    $pagelist->addPage($link['pagename']);
+	    $pagelist->_links[] = $link;
+	}
+	$pagelist->addColumnObject
+	    (new _PageList_Column_LinkSearch_link('link', _("Link"), $pagelist));
+
+	if (!$noheader) {
+	    // We put the form into the caption just to be able to return one pagelist object, 
+	    // and to still have the convenience form at the top. we could workaround this by 
+	    // putting the form as WikiFormRich into the actionpage. but thid doesnt look as 
+	    // nice as this here.
+	    $pagelist->setCaption
+	    (   // on mozilla the form doesn't fit into the caption very well.
+		HTML($noform ? '' : HTML($form,HTML::hr()),
+	             fmt("LinkSearch result for \"%s\" in pages \"%s\", direction %s", $s, $page, $direction)));
+	}
+	return $pagelist;
+    }
+};
+
+// FIXME: sortby errors with this column
+class _PageList_Column_LinkSearch_link 
+extends _PageList_Column 
+{
+    function _PageList_Column_LinkSearch_link ($field, $heading, &$pagelist) {
+	$this->_field = $field;
+        $this->_heading = $heading;
+	$this->_need_rev = false;
+	$this->_iscustom = true;
+	$this->_pagelist =& $pagelist;
+    }
+    function _getValue(&$page, $revision_handle) {
+	if (is_object($page)) $text = $page->getName();
+        else $text = $page;
+        $link = $this->_pagelist->_links[$this->current_row];
+	return WikiLink($link['linkvalue'],'if_known');
+    }
+}
+
+// $Log: LinkSearch.php,v $
+// Revision 1.1  2007/01/02 13:23:14  rurban
+// add the smaller brother of SemanticSearch
+//
+//
+
+// Local Variables:
+// mode: php
+// tab-width: 8
+// c-basic-offset: 4
+// c-hanging-comment-ender-p: nil
+// indent-tabs-mode: nil
+// End:
+?>
diff -ruN 1.3.12p3/lib/plugin/ListRelations.php 1.3.14/lib/plugin/ListRelations.php
--- 1.3.12p3/lib/plugin/ListRelations.php	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/lib/plugin/ListRelations.php	2007-07-01 05:11:06.000000000 -0500
@@ -0,0 +1,74 @@
+<?php // -*-php-*-
+rcs_id('$Id: ListRelations.php,v 1.1 2007/01/02 13:23:22 rurban Exp $');
+/*
+ Copyright 2006 Reini Urban
+
+ This file is part of PhpWiki.
+
+ PhpWiki is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ PhpWiki is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with PhpWiki; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+require_once('lib/PageList.php');
+
+/**
+ * Display the list of all relations and optionally attributes in the wiki.
+ *
+ * @author: Reini Urban
+ */
+class WikiPlugin_ListRelations
+extends WikiPlugin
+{
+    function getName() {
+        return _("ListRelations");
+    }
+    function getDescription() {
+        return _("Display the list of all defined relations and optionnally attributes in this entrire wiki");
+    }
+    function getVersion() {
+        return preg_replace("/[Revision: $]/", '',
+                            "\$Revision: 1.1 $");
+    }
+    function getDefaultArguments() { 
+        return array_merge
+            (
+             PageList::supportedArgs(), // paging and more.
+	     array(
+		   'mode' => "relations" // or "attributes" or "all"
+		   ));
+    }
+    function run ($dbi, $argstr, &$request, $basepage) {
+        $args = $this->getArgs($argstr, $request);
+        extract($args);
+        $pagelist = new PageList($info, $exclude, $args);
+	// should attributes be listed as pagename here? 
+        $pagelist->addPageList($dbi->listRelations($mode == 'all', $mode == 'attributes', !empty($sortby)));
+        return $pagelist;
+    }
+
+};
+
+// $Log: ListRelations.php,v $
+// Revision 1.1  2007/01/02 13:23:22  rurban
+// simple lister for relations and/or attributes
+//
+
+// Local Variables:
+// mode: php
+// tab-width: 8
+// c-basic-offset: 4
+// c-hanging-comment-ender-p: nil
+// indent-tabs-mode: nil
+// End:
+?>
diff -ruN 1.3.12p3/lib/plugin/ListSubpages.php 1.3.14/lib/plugin/ListSubpages.php
--- 1.3.12p3/lib/plugin/ListSubpages.php	2006-06-18 06:19:22.000000000 -0500
+++ 1.3.14/lib/plugin/ListSubpages.php	2007-07-01 05:11:06.000000000 -0500
@@ -76,7 +76,7 @@
         extract($args);
 
         $content = HTML();
-        $subpages = array_reverse($subpages);
+        //$subpages = array_reverse($subpages); // TODO: why?
         if ($maxpages) {
             $subpages = array_slice ($subpages, 0, $maxpages);
         }
diff -ruN 1.3.12p3/lib/plugin/ModeratedPage.php 1.3.14/lib/plugin/ModeratedPage.php
--- 1.3.12p3/lib/plugin/ModeratedPage.php	2006-06-18 06:19:22.000000000 -0500
+++ 1.3.14/lib/plugin/ModeratedPage.php	2007-07-01 05:11:06.000000000 -0500
@@ -1,5 +1,5 @@
 <?php // -*-php-*-
-rcs_id('$Id: ModeratedPage.php,v 1.4 2005/01/29 19:52:09 rurban Exp $');
+rcs_id('$Id: ModeratedPage.php,v 1.6 2007/01/07 18:45:46 rurban Exp $');
 /*
  Copyright 2004,2005 $ThePhpWikiProgrammingTeam
  
@@ -45,7 +45,7 @@
     }
     function getVersion() {
         return preg_replace("/[Revision: $]/", '',
-                            "\$Revision: 1.4 $");
+                            "\$Revision: 1.6 $");
     }
     function getDefaultArguments() {
         return array('page'          => '[pagename]',
@@ -60,7 +60,7 @@
     function run($dbi, $argstr, &$request, $basepage) {
         $args = $this->getArgs($argstr, $request);
 
-        // handle moderation request from the email
+        // 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");
@@ -70,6 +70,15 @@
                     $moderation = $moderated['data'][$args['id']];
                     // handle defaults:
                     //   approve or reject
+                    if ($request->isPost()) {
+                    	$button = $request->getArg('ModeratedPage');
+                    	if (isset($button['reject']))
+                    	    return $this->reject($request, $args, $moderation);
+                    	elseif (isset($button['approve']))
+                    	    return $this->approve($request, $args, $moderation);
+                    	else  
+                    	    return $this->error("Wrong button pressed");   
+                    }
                     if ($args['pass'] == 'approve')
                         return $this->approve($request, $args, $moderation);
                     elseif ($args['pass'] == 'reject')
@@ -112,8 +121,11 @@
         foreach ($args['moderators'] as $userid) {
             $users[$userid] = 0;
         }
+        require_once("lib/MailNotify.php");
+        $mail = new MailNotify($page->getName());
+        
         list($args['emails'], $args['moderators']) = 
-            $page->getPageChangeEmails(array($page->getName() => $users));
+            $mail->getPageChangeEmails(array($page->getName() => $users));
 
         if (!empty($args['require_access'])) {
             $args['require_access'] = preg_split("/\s*,\s*/", $args['require_access']);
@@ -137,12 +149,12 @@
         $action_page = $request->getPage(_("ModeratedPage"));
         $status = $this->getSiteStatus($request, $action_page);
         if (is_array($status)) {
-            if (!empty($status['emails'])) {
+            if (empty($status['emails'])) {
                 trigger_error(_("ModeratedPage: No emails for the moderators defined"), 
                               E_USER_WARNING);
                 return false;
             }
-            $page->set('moderation', array('_status' => $status));
+            $page->set('moderation', array('status' => $status));
             return $this->notice(
                        fmt("ModeratedPage status update:\n  Moderators: '%s'\n  require_access: '%s'", 
                        join(',', $status['moderators']), $status['require_access']));
@@ -161,12 +173,13 @@
     function lock_add(&$request, &$page, &$action_page) {
         $status = $this->getSiteStatus($request, $action_page);
         if (is_array($status)) {
-            if (!empty($status['emails'])) {
+            if (empty($status['emails'])) {
+            	// We really should present such warnings prominently.
                 trigger_error(_("ModeratedPage: No emails for the moderators defined"), 
                               E_USER_WARNING);
                 return false;
             }
-            $page->set('moderation', array('_status' => $status));
+            $page->set('moderation', array('status' => $status));
             return $this->notice(
                        fmt("ModeratedPage status update: '%s' is now a ModeratedPage.\n  Moderators: '%s'\n  require_access: '%s'", 
                        $page->getName(), join(',', $status['moderators']), $status['require_access']));
@@ -183,11 +196,12 @@
     function generateId() {
         better_srand();
         $s = "";
-        for ($i = 1; $i <= 16; $i++) {
+        for ($i = 1; $i <= 25; $i++) {
             $r = function_exists('mt_rand') ? mt_rand(55, 90) : rand(55, 90);
             $s .= chr(($r < 65) ? ($r-17) : $r);
         }
-        return $s;
+        $len = $r = function_exists('mt_rand') ? mt_rand(15, 25) : rand(15,25);
+        return substr(base64_encode($s),3,$len);
     }
 
     /** 
@@ -199,58 +213,68 @@
     	$action = $request->getArg('action');
     	$moderated = $page->get('moderated');
     	// cached version, need re-lock of each page to update moderators
-    	if (!empty($moderated['_status'])) 
-    	    $status = $moderated['_status'];
+    	if (!empty($moderated['status'])) 
+    	    $status = $moderated['status'];
     	else {
             $action_page = $request->getPage(_("ModeratedPage"));
             $status = $this->getSiteStatus($request, $action_page);
-            $moderated['_status'] = $status;
+            $moderated['status'] = $status;
     	}
-        if (!empty($status['emails'])) {
-            trigger_error(_("ModeratedPage: No emails for the moderators defined"), E_USER_WARNING);
+        if (empty($status['emails'])) {
+            trigger_error(_("ModeratedPage: No emails for the moderators defined"),
+                          E_USER_WARNING);
             return true;
         }
         // which action?
         if (!empty($status['require_access']) 
             and !in_array(action2access($action), $status['require_access']))
             return false; // allow and fall through, not moderated
-        if (!empty($status['require_level']) and $request->_user->_level >= $status['require_level'])
+        if (!empty($status['require_level']) 
+            and $request->_user->_level >= $status['require_level'])
             return false; // allow and fall through, not moderated
         // else all post actions are moderated by default
     	if (1) /* or in_array($action, array('edit','remove','rename')*/ {
-    	    //$moderated = $page->get('moderated');
     	    $id = $this->generateId();
-    	    while (!empty($moderated[$id])) $id = $this->generateId(); // avoid duplicates
+    	    while (!empty($moderated['data'][$id])) $id = $this->generateId(); // avoid duplicates
     	    $moderated['id'] = $id; 		// overwrite current id
+    	    $tempuser = $request->_user;
+    	    unset($tempuser->_HomePagehandle);
     	    $moderated['data'][$id] = array( 	// add current request
     	                                    'timestamp' => time(),
     	    	          		    'userid' => $request->_user->getId(),
-                                            'args' => $request->getArgs(),
-                                            'user'   => serialize($request->_user),
+                                            'args'   => $request->getArgs(),
+                                            'user'   => serialize( $tempuser ),
                                             );
-            $this->_tokens['CONTENT'] = HTML::div(array('class' => 'wikitext'),
-            					  fmt("%s: action forwarded to moderator %s", 
-                                                      $action, 
-                                                      join(", ", $status['moderators'])
-                                                      ));
-	    // send email
+            $this->_tokens['CONTENT'] = 
+                HTML::div(array('class' => 'wikitext'),
+                          fmt("%s: action forwarded to moderator %s", 
+                              $action, 
+                              join(", ", $status['moderators'])
+                              ));
+	    // Send email
+	    require_once("lib/MailNotify.php");
             $pagename = $page->getName();
+	    $mailer = new MailNotify($pagename);
             $subject = "[".WIKI_NAME.'] '.$action.': '._("ModeratedPage").' '.$pagename;
-            if (mail(join(",", $status['emails']), 
-                     $subject, 
+            $content = 	"You are approved as Moderator of the ".WIKI_NAME. " wiki.\n".
+		     "Someone wanted to edit a moderated page, which you have to approve or reject.\n\n".
                      $action.': '._("ModeratedPage").' '.$pagename."\n"
-                     . serialize($moderated['data'][$id])
+                     //. serialize($moderated['data'][$id])
                      ."\n<".WikiURL($pagename, array('action' => _("ModeratedPage"), 
                                                      'id' => $id, 'pass' => 'approve'), 1).">"
                      ."\n<".WikiURL($pagename, array('action' => _("ModeratedPage"), 
-                                                     'id' => $id, 'pass' => 'reject'), 1).">\n"
-                     )) {
+                                                     'id' => $id, 'pass' => 'reject'), 1).">\n";
+	    $mailer->emails = $mailer->userids = $status['emails'];
+	    $mailer->from = $request->_user->_userid;
+            if ($mailer->sendMail($subject, $content, "Moderation notice")) {
                 $page->set('moderated', $moderated);
                 return false; // pass thru
             } else {
-            	//FIXME: This msg get lost on the edit redirect
+                //DELETEME!
+                $page->set('moderated', $moderated);
+            	//FIXME: This msg gets lost on the edit redirect
                 trigger_error(_("ModeratedPage Notification Error: Couldn't send email"), 
-                              E_USER_WARNING);
+                              E_USER_ERROR);
                 return true;
             }
     	}
@@ -264,47 +288,132 @@
      * Better we display a post form for verification.
      */
     function approve(&$request, $args, &$moderation) {
-        // check id, convert to POST, continue
         if ($request->isPost()) {
-            $this->error("ModeratedPage::approve not yet implemented");
+	    // this is unsafe because we dont know if it will succeed. but we tried.
+	    $this->cleanup_and_notify($request, $args, $moderation);
+            // start from scratch, dispatch the action as in lib/main to the action handler
+	    $request->discardOutput();
+            $oldargs = $request->args;	
+            $olduser = $request->_user;	
+            $request->args = $moderation['args'];
+            $request->_user->_userid = $moderation['userid']; // keep current perms but fake the id.
+	    // TODO: fake author ip also
+            extract($request->args);
+            $method = "action_$action";
+            if (method_exists($request, $method)) {
+                $request->{$method}();
+            }
+            elseif ($page = $this->findActionPage($action)) {
+                $this->actionpage($page);
+            }
+            else {
+                $this->finish(fmt("%s: Bad action", $action));
+            }
+	    // now we are gone and nobody brings us back here.
+
+	    //$moderated['data'][$id]->args->action+edit(array)+...
+	    //                              timestamp,user(obj)+userid
+	    // handle $moderated['data'][$id]['args']['action']
         } else {
             return $this->_approval_form($request, $args, $moderation, 'approve');
         }
     }
+
     /** 
      * Handle admin-side moderation resolve.
      */
     function reject(&$request, $args, &$moderation) {
         // check id, delete action
         if ($request->isPost()) {
-            $this->error("ModeratedPage::reject not yet implemented");
+	    // clean up and notify the requestor. Mabye: store and revert to have a diff later on?
+	    $this->cleanup_and_notify($request, $args, $moderation);
         } else {
             return $this->_approval_form($request, $args, $moderation, 'reject');
         }
     }
 
+    function cleanup_and_notify (&$request, $args, &$moderation) {
+	$pagename = $moderation['args']['pagename'];
+	$page = $request->_dbi->getPage($pagename);
+	$pass = $args['pass'];     // accept or reject
+	$reason = $args['reason']; // summary why
+	$user = $moderation['args']['user'];
+	$action = $moderation['args']['action'];
+	$id = $args['id'];
+	unset($moderation['data'][$id]);
+	unset($moderation['id']);
+	$page->set('moderation', $moderation);
+
+	// TODO: Notify the user, only if the user has an email:
+	if ($email = $user->getPref('email')) {
+	    $action_page = $request->getPage(_("ModeratedPage"));
+	    $status = $this->getSiteStatus($request, $action_page);
+	    require_once("lib/MailNotify.php");
+	    $mailer = new MailNotify($pagename);
+	    $subject = "[".WIKI_NAME."] $pass $action "._("ModeratedPage").': '.$pagename;
+	    $mailer->from = $request->_user->UserFrom();
+	    $content = sprintf(_("%s approved your wiki action from %s"),
+				 $mailer->from,CTime($moderation['timestamp']))
+		."\n\n"
+		."Decision: ".$pass
+		."Reason: ".$reason
+		."\n<".WikiURL($pagename).">\n";
+	    $mailer->emails = $mailer->userids = $email;
+	    $mailer->sendMail($subject, $content, "Approval notice");
+	}
+    }
+
     function _approval_form(&$request, $args, $moderation, $pass='approve') {
         $header = HTML::h3(_("Please approve or reject this request:"));
+        
         $loader = new WikiPluginLoader();
         $BackendInfo = $loader->getPlugin("_BackendInfo");
-        $content = HTML::table(array('border' => 1,
+        $table = HTML::table(array('border' => 1,
                                      'cellpadding' => 2,
                                      'cellspacing' => 0));
+        $content = $table;
+	$diff = '';
+	if ($moderation['args']['action'] == 'edit') {
+	    $pagename = $moderation['args']['pagename'];
+	    $p = $request->_dbi->getPage($pagename);
+	    $rev = $p->getCurrentRevision(true);
+	    $curr_content = $rev->getPackedContent();
+	    $new_content = $moderation['args']['edit']['content'];
+	    include_once("lib/difflib.php");
+	    $diff2 = new Diff($curr_content, $new_content);
+	    $fmt = new UnifiedDiffFormatter(/*$context_lines*/);
+	    $diff  = $pagename . " Current Version " . 
+		Iso8601DateTime($p->get('mtime')) . "\n";
+	    $diff .= $pagename . " Edited Version " .  
+		Iso8601DateTime($moderation['timestamp']) . "\n";
+	    $diff .= $fmt->format($diff2);
+	}
+        $content->pushContent($BackendInfo->_showhash("Request", 
+        		array('User'      => $moderation['userid'],
+        		      'When'      => CTime($moderation['timestamp']),
+        		      'Pagename'  => $pagename,
+        		      'Action'    => $moderation['args']['action'],
+        		      'Diff'      => HTML::pre($diff))));                            
+        $content_dbg = $table;
 	$myargs  = $args;
         $BackendInfo->_fixupData($myargs);
-        $content->pushContent($BackendInfo->_showhash("request args", $myargs));
+        $content_dbg->pushContent($BackendInfo->_showhash("raw request args", $myargs));
         $BackendInfo->_fixupData($moderation);
-        $content->pushContent($BackendInfo->_showhash("moderation data", $moderation));
+        $content_dbg->pushContent($BackendInfo->_showhash("raw moderation data", $moderation));
+        $reason = HTML::div(_("Reason: "), HTML::textarea(array('name' => 'reason')));
         $approve = Button('submit:ModeratedPage[approve]', _("Approve"), 
                           $pass == 'approve' ? 'wikiadmin' : 'button');
         $reject  = Button('submit:ModeratedPage[reject]', _("Reject"),
                           $pass == 'reject' ? 'wikiadmin' : 'button');
+	$args['action'] = _("ModeratedPage");
         return HTML::form(array('action' => $request->getPostURL(),
                                 'method' => 'post'),
                           $header,
-                          $content,
-                          ENABLE_PAGEPERM ? ''
-                          : HiddenInputs(array('require_authority_for_post' => WIKIAUTH_ADMIN)),
+                          $content, HTML::p(""), $content_dbg,
+			  $reason,
+                          ENABLE_PAGEPERM 
+                            ? ''
+                            : HiddenInputs(array('require_authority_for_post' => WIKIAUTH_ADMIN)),
                           HiddenInputs($args),
                           $pass == 'approve' ? HTML::p($approve, $reject) 
                           		     : HTML::p($reject, $approve));
@@ -337,6 +446,12 @@
 };
 
 // $Log: ModeratedPage.php,v $
+// Revision 1.6  2007/01/07 18:45:46  rurban
+// Finish 3/3 of the functionality, the Moderators approve and reject, Fix some logical flaws with !empty($status[emails]). Generate a better ID
+//
+// Revision 1.5  2006/08/15 13:41:08  rurban
+// just aesthetics
+//
 // Revision 1.4  2005/01/29 19:52:09  rurban
 // more work on the last part
 //
@@ -363,4 +478,4 @@
 // c-hanging-comment-ender-p: nil
 // indent-tabs-mode: nil
 // End:
-?>
\ No newline at end of file
+?>
diff -ruN 1.3.12p3/lib/plugin/NewPagesPerUser.php 1.3.14/lib/plugin/NewPagesPerUser.php
--- 1.3.12p3/lib/plugin/NewPagesPerUser.php	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/lib/plugin/NewPagesPerUser.php	2007-07-01 05:11:06.000000000 -0500
@@ -0,0 +1,135 @@
+<?php // -*-php-*-
+rcs_id('$Id: NewPagesPerUser.php,v 1.1 2007/05/24 18:42:48 rurban Exp $');
+/*
+ Copyright 2007 AVL
+ */
+
+/**
+ * List all new pages per month per user.
+ * March 2007
+ *   BERTUZZI 20
+ *   URBANR   15
+ *   ...
+ */
+
+class WikiPlugin_NewPagesPerUser
+extends WikiPlugin
+{
+    function getName () {
+        return _("NewPagesPerUser");
+    }
+
+    function getDescription () {
+        return _("List all new pages per month per user");
+    }
+
+    function getVersion() {
+        return preg_replace("/[Revision: $]/", '',
+                            "\$Revision: 1.1 $");
+    }
+
+    function getDefaultArguments() {
+        return array('userid'   => '',
+		     'month'    => 0,
+		     'since'    => 0,
+		     'until'    => 0,
+		     'comments' => 0,
+		     'links'    => 1,
+		     'debug'    => 0,
+                   );
+    }
+    
+    function run($dbi, $argstr, &$request, $basepage) {
+    	global $WikiTheme;
+    	$args = $this->getArgs($argstr, $request);
+        extract($args);
+	if ($since) 
+	    $since = strtotime($since);
+	if ($month) {
+	    $since = strtotime($month);
+	    $since = mktime(0,0,0,date("m",$since),1,date("Y",$since));
+	    $until = mktime(23,59,59,date("m",$since)+1,0,date("Y",$since));
+	} else
+	    $until = 0;
+
+	$iter = $dbi->getAllPages(false,'-mtime');
+	$pages = array();
+
+        while ($page = $iter->next()) {
+	    $pagename = $page->getName();
+	    if (!$page->exists()) continue;
+	    $rev = $page->getRevision(1, false);
+	    $date = $rev->get('mtime');
+	    //$author = $rev->get('author_id');
+	    $author = $page->getOwner();
+	    if ($debug) echo "<i>$pagename, ",strftime("%Y-%m-%d %h:%m:%s", $date),", $author</i><br>\n";
+	    if ($userid and (!preg_match("/".$userid."/", $author))) continue;
+	    if ($since and $date < $since) continue;
+	    if ($until and $date > $until) continue;
+	    if (!$comments and preg_match("/\/Comment/", $pagename)) continue;
+	    $monthnum = strftime("%Y%m", $date);
+	    if (!isset($pages[$monthnum]))
+	        $pages[$monthnum] = array('author' => array(), 
+	                                  'month' => strftime("%B, %Y", $date));
+	    if (!isset($pages[$monthnum]['author'][$author]))
+	        $pages[$monthnum]['author'][$author] = array('count' => 0, 
+							     'pages' => array());
+	    $pages[$monthnum]['author'][$author]['count']++;
+	    $pages[$monthnum]['author'][$author]['pages'][] = $pagename;
+        }
+        $iter->free();
+        $html = HTML::table(HTML::col(array('span' => 2,'align'=> 'left')));
+        $nbsp = HTML::raw('&nbsp;');
+        krsort($pages);
+        foreach ($pages as $monthname => $parr) {
+           $html->pushContent(HTML::tr(HTML::td(array('colspan' => 2),
+                                                HTML::strong($parr['month']))));
+           uasort($parr['author'], 'cmp_by_count');
+	   foreach ($parr['author'] as $user => $authorarr) {
+	       $count = $authorarr['count'];
+	       $id = preg_replace("/ /","_",'pages-'.$monthname.'-'.$user);
+               $html->pushContent
+		   (HTML::tr(HTML::td($nbsp,$nbsp,
+				      HTML::img(array('id'  => "$id-img",
+						      'src' => $WikiTheme->_findData("images/folderArrowClosed.png"),
+						      'onClick'=> "showHideFolder('$id')")),$nbsp,
+				      $user),
+			     HTML::td($count)
+			     ));
+	       if ($links) {
+		   $pagelist = HTML();
+		   foreach ($authorarr['pages'] as $p)
+		       $pagelist->pushContent(WikiLink($p),', ');
+	       } else {
+		   $pagelist = join(', ',$authorarr['pages']);
+	       }
+               $html->pushContent
+		   (HTML::tr(array('id' => $id.'-body',
+				   'style'=>'display:none; background-color: #eee;'),
+			     HTML::td(array('colspan' => 2,
+					    'style' => 'font-size:smaller'),
+				      $pagelist
+				      )));
+	   }
+        }
+        return $html;
+    }
+};
+
+//function cmp_by_num($a, $b) { // larger first
+//  return $a < $b ? 1 : 0;
+//}
+
+// $Log: NewPagesPerUser.php,v $
+// Revision 1.1  2007/05/24 18:42:48  rurban
+// simple statistics
+//
+
+// Local Variables:
+// mode: php
+// tab-width: 8
+// c-basic-offset: 4
+// c-hanging-comment-ender-p: nil
+// indent-tabs-mode: nil
+// End:
+?>
diff -ruN 1.3.12p3/lib/plugin/PageDump.php 1.3.14/lib/plugin/PageDump.php
--- 1.3.12p3/lib/plugin/PageDump.php	2006-06-18 06:19:22.000000000 -0500
+++ 1.3.14/lib/plugin/PageDump.php	2007-07-01 05:11:06.000000000 -0500
@@ -1,5 +1,5 @@
 <?php // -*-php-*-
-rcs_id('$Id: PageDump.php,v 1.18 2004/10/14 19:19:34 rurban Exp $');
+rcs_id('$Id: PageDump.php,v 1.20 2007/06/01 06:38:19 rurban Exp $');
 /**
  * PhpWikiPlugin for PhpWiki developers to generate single page dumps
  * for checking into cvs, or for users or the admin to produce a
@@ -41,7 +41,7 @@
 
     function getVersion() {
         return preg_replace("/[Revision: $]/", '',
-                            "\$Revision: 1.18 $");
+                            "\$Revision: 1.20 $");
     }
 
     function getDefaultArguments() {
@@ -90,25 +90,26 @@
             // TODO: we need a way to hook into the generated headers, to override 
             // Content-Type, Set-Cookie, Cache-control, ...
             $request->discardOutput(); // Hijack the http request from PhpWiki.
-            ob_end_clean(); // clean up after hijacking $request
+            ob_end_clean();            // clean up after hijacking $request
             //ob_end_flush(); //debugging
+            $filename = FilenameForPage($page);
             Header("Content-disposition: attachment; filename=\""
-                   . FilenameForPage($page) . "\"");
+                   . $filename . "\"");
             // Read charset from generated page itself.
             // Inconsequential at the moment, since loadsave.php
-            // always generates headers
+            // always generates headers.
             $charset = $p->get('charset');
             if (!$charset) $charset = $GLOBALS['charset'];
             // We generate 3 Content-Type headers! first in loadsave,
             // then here and the mimified string $mailified also has it!
-            Header("Content-Type: text/plain; name=\""
-                   . FilenameForPage($page) . "\"; charset=\"" . $charset
+	    // This one is correct and overwrites the others.
+            Header("Content-Type: application/octet-stream; name=\""
+                   . $filename . "\"; charset=\"" . $charset
                    . "\"");
             $request->checkValidators();
-            // let $request provide last modifed & etag
+            // let $request provide last modified & etag
             Header("Content-Id: <" . $this->MessageId . ">");
             // be nice to http keepalive~s
-            // FIXME: he length is wrong BTW. must strip the header.
             Header("Content-Length: " . strlen($mailified)); 
 
             // Here comes our prepared mime file
@@ -290,6 +291,12 @@
 };
 
 // $Log: PageDump.php,v $
+// Revision 1.20  2007/06/01 06:38:19  rurban
+// simplify FilenameForPage
+//
+// Revision 1.19  2007/01/03 21:23:40  rurban
+// fix Content-Type header to application/octet-stream to avoid pesty .txt suffixes on windows clients
+//
 // Revision 1.18  2004/10/14 19:19:34  rurban
 // loadsave: check if the dumped file will be accessible from outside.
 // and some other minor fixes. (cvsclient native not yet ready)
diff -ruN 1.3.12p3/lib/plugin/PageHistory.php 1.3.14/lib/plugin/PageHistory.php
--- 1.3.12p3/lib/plugin/PageHistory.php	2006-06-18 06:19:22.000000000 -0500
+++ 1.3.14/lib/plugin/PageHistory.php	2007-07-01 05:11:06.000000000 -0500
@@ -1,5 +1,5 @@
 <?php // -*-php-*-
-rcs_id('$Id: PageHistory.php,v 1.30 2004/06/14 11:31:39 rurban Exp $');
+rcs_id('$Id: PageHistory.php,v 1.32 2007/06/02 18:24:47 rurban Exp $');
 /**
  Copyright 1999, 2000, 2001, 2002 $ThePhpWikiProgrammingTeam
 
@@ -22,7 +22,7 @@
 
 /**
  */
-require_once('lib/plugin/RecentChanges.php');
+require_once("lib/plugin/RecentChanges.php");
 
 class _PageHistory_PageRevisionIter
 extends WikiDB_PageRevisionIterator
@@ -168,6 +168,7 @@
     }
 
     function format_revision ($rev) {
+	global $WikiTheme;
         $class = 'rc-' . $this->importance($rev);
 
         $time = $this->time($rev);
@@ -177,18 +178,30 @@
                                           "(" . _("minor edit") . ")"));
         }
         else {
-            $time = HTML::strong(array('class' => 'pageinfo-majoredit'), $time);
+            $time = HTML::span(array('class' => 'pageinfo-majoredit'), $time);
             $minor_flag = '';
         }
-
-        return HTML::li(array('class' => $class),
-                        $this->diffLink($rev), ' ',
-                        $this->pageLink($rev), ' ',
-                        $time, ' ',
-                        $this->summaryAsHTML($rev),
-                        ' ... ',
-                        $this->authorLink($rev),
-                        $minor_flag);
+        $line = HTML::li(array('class' => $class));
+	if (isa($WikiTheme,'Theme_MonoBook')) {
+	    $line->pushContent(
+			       $this->diffLink($rev), ' ',
+			       $this->pageLink($rev), ' ',
+			       $time,' ',$this->date($rev), ' . . ',
+			       $this->authorLink($rev),' ',
+			       $this->authorContribs($rev),' ',
+			       $this->summaryAsHTML($rev),' ',
+			       $minor_flag);
+	} else {
+	    $line->pushContent(
+			       $this->diffLink($rev), ' ',
+			       $this->pageLink($rev), ' ',
+			       $time, ' ',
+			       $this->summaryAsHTML($rev),
+			       ' ... ',
+			       $this->authorLink($rev),
+			       $minor_flag);
+	}
+	return $line;
     }
 }
 
@@ -253,7 +266,7 @@
 
     function getVersion() {
         return preg_replace("/[Revision: $]/", '',
-                            "\$Revision: 1.30 $");
+                            "\$Revision: 1.32 $");
     }
 
     function getDefaultArguments() {
@@ -281,6 +294,7 @@
         $page = $dbi->getPage($args['page']);
         $iter = $page->getAllRevisions();
         $params = $this->getMostRecentParams($args);
+        if (empty($args['days'])) unset($params['since']);
         return new _PageHistory_PageRevisionIter($iter, $params);
     }
 
@@ -319,6 +333,12 @@
 };
 
 // $Log: PageHistory.php,v $
+// Revision 1.32  2007/06/02 18:24:47  rurban
+// Added MonoBook style
+//
+// Revision 1.31  2007/05/13 18:13:34  rurban
+// fix for recent RecentChanges upgrade: display all versions
+//
 // Revision 1.30  2004/06/14 11:31:39  rurban
 // renamed global $Theme to $WikiTheme (gforge nameclash)
 // inherit PageList default options from PageList
diff -ruN 1.3.12p3/lib/plugin/PageTrail.php 1.3.14/lib/plugin/PageTrail.php
--- 1.3.12p3/lib/plugin/PageTrail.php	2006-06-18 06:19:22.000000000 -0500
+++ 1.3.14/lib/plugin/PageTrail.php	2007-07-01 05:11:06.000000000 -0500
@@ -1,5 +1,5 @@
 <?php // -*-php-*-
-rcs_id('$Id: PageTrail.php,v 1.8 2005/08/06 13:23:14 rurban Exp $');
+rcs_id('$Id: PageTrail.php,v 1.9 2007/01/07 18:45:56 rurban Exp $');
 /**
  Copyright 1999,2000,2001,2002,2005 $ThePhpWikiProgrammingTeam
 
@@ -52,7 +52,7 @@
 
     function getVersion() {
         return preg_replace("/[Revision: $]/", '',
-                            "\$Revision: 1.8 $");
+                            "\$Revision: 1.9 $");
     }
 
     // default values
@@ -75,7 +75,7 @@
         $Pages = $request->session->get("PageTrail");
         if (!is_array($Pages)) $Pages = array();
 
-        if ($duplicates || ($thispage != $Pages[0])) {
+        if (!isset($Pages[0]) or ($duplicates || ($thispage != $Pages[0]))) {
             array_unshift($Pages, $thispage);
             $request->session->set("PageTrail", $Pages);
         }
@@ -95,6 +95,9 @@
 };
 
 // $Log: PageTrail.php,v $
+// Revision 1.9  2007/01/07 18:45:56  rurban
+// Fix fresh warning
+//
 // Revision 1.8  2005/08/06 13:23:14  rurban
 // improved empty cookie
 //
diff -ruN 1.3.12p3/lib/plugin/PasswordReset.php 1.3.14/lib/plugin/PasswordReset.php
--- 1.3.12p3/lib/plugin/PasswordReset.php	2006-06-18 06:19:22.000000000 -0500
+++ 1.3.14/lib/plugin/PasswordReset.php	2007-07-01 05:11:06.000000000 -0500
@@ -1,5 +1,5 @@
 <?php // -*-php-*-
-rcs_id('$Id: PasswordReset.php,v 1.1 2006/03/19 16:31:57 rurban Exp $');
+rcs_id('$Id: PasswordReset.php,v 1.4 2007/01/03 21:23:48 rurban Exp $');
 /**
  Copyright (C) 2006 $ThePhpWikiProgrammingTeam
 
@@ -44,11 +44,11 @@
 
     function getVersion() {
         return preg_replace("/[Revision: $]/", '',
-                            "\$Revision: 1.1 $");
+                            "\$Revision: 1.4 $");
     }
 
     function getDefaultArguments() {
-	return array('user' => 0);
+	return array('user' => '');
     }
 
     /* reset password, verified */
@@ -87,9 +87,8 @@
 	$alert->show();
     }
 
-    function doForm(&$request, $header = '', $footer = '') { 
+    function doForm(&$request, $userid='', $header = '', $footer = '') { 
 	$post_args = $request->getArg('admin_reset');
-	$userid = $request->getArg('user');
 	if (!$header) {
 	    $header = HTML::p(_("Reset password of user: "),
 			      HTML::Raw('&nbsp;'),
@@ -121,23 +120,28 @@
 
         $user =& $request->_user;
 	$post_args = $request->getArg('admin_reset');
-        $userid = $request->getArg('user');
+	$userid = $args['user'];
+        if (!$userid) $userid = $request->getArg('user');
 	$isadmin = $user->isAdmin();
 	if ($request->isPost()) {
+            @$reset = $post_args['reset'];
+            if (empty($reset))
+		return $this->doForm($request, $userid);
 	    if (!$userid) {
 		$alert = new Alert(_("Warning:"),
 				   _("You need to specify the userid!"));
 		$alert->show();
 		return $this->doForm($request);
 	    }
-	    @$reset = $post_args['reset'];
-	    if ($reset and $userid and !empty($post_args['verify'])) {
+	    if ($userid and !empty($post_args['verify'])) {
 		if ($user->isAdmin()) {
 		    return $this->doReset($userid);
 		} else {
 		    return $this->doEmail($request, $userid);
 		}
-	    } elseif ($reset and empty($post_args['verify'])) {
+	    } elseif (empty($post_args['verify'])) {
+		//TODO: verify should check if the user exists, his prefs can be read/safed 
+		//      and the email is verified, even if admin.
 		$buttons = HTML::p(Button('submit:admin_reset[reset]', 
 					  $isadmin ? _("Yes") : _("Send email"), 
 					  $isadmin ? 'wikiadmin' : 'button'),
@@ -168,23 +172,32 @@
 		    if (!$verified)
 			$header->pushContent(HTML::br(), "Warning: This users email address is unverified!");
 		}
-		return $this->doForm($request,
+		return $this->doForm($request, $userid,
 				     $header,
 				     HTML(HTML::hr(),
 					  fmt("Do you really want to reset the password of user %s?", $userid),
 					  $isadmin ? '' : _("An email will be sent."),
 					  HiddenInputs(array('admin_reset[verify]' => 1, 'user' => $userid)),
 					  $buttons));
-	    } else {
-		return $this->doForm($request);
+	    } else { // verify ok, but no userid
+		return $this->doForm($request, $userid);
 	    }
 	} else {
-	    return $this->doForm($request);
+	    return $this->doForm($request, $userid);
         }
     }
 };
 
 // $Log: PasswordReset.php,v $
+// Revision 1.4  2007/01/03 21:23:48  rurban
+// -form cleanup: default 0 => "". clarify where to get userid from.
+//
+// Revision 1.3  2006/08/25 22:13:56  rurban
+// display init form
+//
+// Revision 1.2  2006/06/18 11:04:50  rurban
+// unify gettext msg
+//
 // Revision 1.1  2006/03/19 16:31:57  rurban
 // I would have needed that very often
 //
diff -ruN 1.3.12p3/lib/plugin/PhotoAlbum.php 1.3.14/lib/plugin/PhotoAlbum.php
--- 1.3.12p3/lib/plugin/PhotoAlbum.php	2006-06-18 06:19:22.000000000 -0500
+++ 1.3.14/lib/plugin/PhotoAlbum.php	2007-07-01 05:11:06.000000000 -0500
@@ -1,7 +1,7 @@
 <?php // -*-php-*-
-rcs_id('$Id: PhotoAlbum.php,v 1.14 2005/10/12 06:19:07 rurban Exp $');
+rcs_id('$Id: PhotoAlbum.php,v 1.15 2007/01/07 18:46:05 rurban Exp $');
 /*
- Copyright 2003, 2004, 2005 $ThePhpWikiProgrammingTeam
+ Copyright 2003,2004,2005,2007 $ThePhpWikiProgrammingTeam
  
  This file is part of PhpWiki.
 
@@ -42,6 +42,7 @@
  *
  * "src": textfile of images or directory of images or a single image (local or remote)
  *      Local or remote e.g. http://myserver/images/MyPhotos.txt or http://myserver/images/
+ *      or /images/ or Upload:photos/
  *      Possible content of a valid textfile:
  *     photo-01.jpg; Me and my girlfriend
  *     photo-02.jpg
@@ -69,20 +70,22 @@
 
 class ImageTile extends HtmlElement
 {
+    // go away, hack!
     function image_tile (/*...*/) {
         $el = new HTML ('img');
         $tag = func_get_args();
-        $params = "<img src='../ImageTile.php?url=". $tag[0]['src'];
+	$path = DATA_PATH . "/ImageTile.php";
+        $params = "<img src=\"$path?url=". $tag[0]['src'];
         if (!@empty($tag[0]['width']))
             $params .= "&width=" . $tag[0]['width'];
         if (!@empty($tag[0]['height']))
             $params .= "&height=" . $tag[0]['height'];
         if (!@empty($tag[0]['width']))
-            $params .= "' width='" . $tag[0]['width'];
+            $params .= '" width="' . $tag[0]['width'];
         if (!@empty($tag[0]['height']))
-            $params .= "' height='" . $tag[0]['height'];
+            $params .= '" height="' . $tag[0]['height'];
         
-        $params .= "' alt='" . $tag[0]['alt'] . "' />";
+        $params .= '" alt="' . $tag[0]['alt'] . '" />';
         return $el->raw ($params);
     }
 }
@@ -100,7 +103,7 @@
 
     function getVersion() {
         return preg_replace("/[Revision: $]/", '',
-                            "\$Revision: 1.14 $");
+                            "\$Revision: 1.15 $");
     }
 
 // Avoid nameclash, so it's disabled. We allow any url.
@@ -199,11 +202,11 @@
             $attributes = array_merge($attributes, "alt");
             $attributes = array_merge($attributes, "nowrap");
             $cellwidth  = 'auto'; // else cell won't nowrap
-            $width      = 50;
+	    if ($width == 'auto') $width = 70;
         } elseif ($mode == 'list') {
             $numcols    = 1;
             $cellwidth  = "auto";
-            $width = 50;
+	    if ($width == 'auto') $width = 50;
         } elseif ($mode == 'slide' ) {
             $tableheight = 0; 
             $cell_width = 0;
@@ -283,27 +286,29 @@
                                   E_USER_NOTICE);
                 }
             }
-    
             $newwidth = $this->newSize($size[0], $width);
-            if (($mode == 'thumbs' || $mode == 'tiles' || $mode == 'list')) {
-                if (!empty($size[0]))
-                    $newheight = round (50 * $size[1] / $size[0]);
-                else  $newheight = '';
-                if ($height == 'auto') $height=150;
-            }
-            else
-                $newheight = $this->newSize($size[1], $height);
-                  
             if ($width != 'auto' && $newwidth > 0) {
                 $params = array_merge($params, array("width" => $newwidth));
             }
-            if ($height != 'auto' && $newheight > 0) {
-                $params = array_merge($params, array("height" => $newheight));
+            if (($mode == 'thumbs' || $mode == 'tiles' || $mode == 'list')) {
+                if (!empty($size[0])) {
+                    $newheight = round ($newwidth * $size[1] / $size[0]);
+		    $params['width'] = $newwidth;
+		    $params['height'] = $newheight;
+		} else  $newheight = '';
+                if ($height == 'auto') $height=150;
             }
+            else {
+                $newheight = $this->newSize($size[1], $height);
+		if ($height != 'auto' && $newheight > 0) {
+		    $params = array_merge($params, array("height" => $newheight));
+		}
+	    }
     
             // cell operations
             $cell = array('align'   => "center",
                           'valign'  => "top",
+			  'class'   => 'photoalbum cell',
                           'bgcolor' => "$color");
             if ($cellwidth != 'auto') {
                 if ($cellwidth == 'equal') {
@@ -319,16 +324,16 @@
                 $cell = array_merge($cell, array("nowrap" => "nowrap"));
             }
             //create url to display single larger version of image on page
-            $url     = WikiURL($request->getPage(),
-                               array("p" => basename($value["name"])))
+            $url = WikiURL($request->getPage(),
+			   array("p" => basename($value["name"])))
                 . "#"
                 . basename($value["name"]);
  
-            $b_url    = WikiURL($request->getPage(),
-                                array("h" => basename($value["name"])))
+            $b_url = WikiURL($request->getPage(),
+			     array("h" => basename($value["name"])))
                 . "#"
                 . basename($value["name"]);
-            $url_text   = $link 
+            $url_text = $link 
                 ? HTML::a(array("href" => "$url"), basename($value["desc"])) 
                 : basename($value["name"]);
             if (! $p) {
@@ -355,26 +360,23 @@
                                      HTML::a(array("href" => "$b_url"), HTML::img($params))) : HTML::img($params);
             }
             if ($mode == 'list')
-            $url_text = HTML::a(array("id" => basename($value["name"])),
+		$url_text = HTML::a(array("id" => basename($value["name"])),
                                       $url_text);
             // here we use different modes
             if ($mode == 'tiles') {
                 $row->pushContent(
                     HTML::td($cell,
-                    HTML::table(array("cellpadding" => 1, "border" => 0),
-                    HTML::tr(
-                             HTML::td(array("valign" => "top", "rowspan" => 2),
-                                            $url_image),
-                             HTML::td(array("valign" => "top", "nowrap" => 0),
-                                            HTML::span(array('class'=>'boldsmall'),
-                                                      ($url_text)),
-                                            HTML::br(),
-                                            HTML::span(array('class'=>'gensmall'),
-                                                       ($size[0].
-                                                       " x ".
-                                                       $size[1].
-                                                       " pixels")))
-                    ))));
+			     HTML::div(array('valign' => 'top'), $url_image),
+			     HTML::div(array('valign' => 'bottom'),
+				       HTML::span(array('class'=>'boldsmall'),
+						  ($url_text)),
+				       HTML::br(),
+				       HTML::span(array('class'=>'gensmall'),
+						  ($size[0].
+						   " x ".
+						   $size[1].
+						   " pixels"))))
+		    );
             } elseif ($mode == 'list') {
                 $desc = ($showdesc != 'none') ? $value["desc"] : '';
                 $row->pushContent(
@@ -465,7 +467,8 @@
             } elseif ($mode == 'row') {
                 $desc = ($showdesc != 'none') ? HTML::p($value["desc"]) : '';
                 $row->pushContent(
-                        HTML::table(array("style" => "display: inline"),
+				  HTML::table(array("style" => "display: inline", 
+						    'class' > "photoalbum row"),
                               HTML::tr(HTML::td($url_image)),
                               HTML::tr(HTML::td(array("class" => "gensmall",
                                                       "style" => "text-align: center; "
@@ -492,9 +495,10 @@
         $table_attributes = array("border"      => 0,
                                   "cellpadding" => 5,
                                   "cellspacing" => 2,
-                                  "width"       => $tablewidth);
+				  "class"       => "photoalbum",
+                                  "width"       => $tablewidth ? $tablewidth : "100%");
         
-        if (!@empty($tableheight))
+        if (!empty($tableheight))
             $table_attributes = array_merge($table_attributes,
                                             array("height"  => $tableheight));
         if ($mode != 'row')
@@ -549,6 +553,10 @@
      */
     function fromFile($src, &$photos, $webpath='') {
         $src_bak = $src;
+        if (preg_match("/^Upload:(.*)$/", $src, $m)) {
+            $src = getUploadFilePath() . $m[1];
+            $webpath = getUploadDataPath() . $m[1];
+        }
         //there has a big security hole... as loading config/config.ini !
         if (!preg_match('/(\.csv|\.jpg|\.jpeg|\.png|\.gif|\/)$/',$src)) {
            return $this->error(_("File extension for csv file has to be '.csv'"));
@@ -559,8 +567,11 @@
         if (preg_match('/^(http|ftp|https):\/\//i', $src)) {
             $contents = url_get_contents($src);
             $web_location = 1;
-        } else 
+        } else {
             $web_location = 0;
+            if (string_ends_with($src,"/"))
+               $src = substr($src,0,-1);
+        }
         if (!file_exists($src) and @file_exists(PHPWIKI_DIR . "/$src")) {
             $src = PHPWIKI_DIR . "/$src";
         }
@@ -630,7 +641,7 @@
             fclose ($fp);
         
         } elseif ($web_location == 1) {
-            //TODO: checks if the file is an image
+            //TODO: check if the file is an image
             $contents = preg_split('/\n/',$contents);
             while (list($key,$value) = each($contents)) {
                 $data = preg_split('/\;/',$value);
@@ -649,6 +660,9 @@
 };
 
 // $Log: PhotoAlbum.php,v $
+// Revision 1.15  2007/01/07 18:46:05  rurban
+// Fixed width with tile and list. Fixed height calculation. Add Upload: support
+//
 // Revision 1.14  2005/10/12 06:19:07  rurban
 // protect unsafe calls
 //
diff -ruN 1.3.12p3/lib/plugin/Ploticus.php 1.3.14/lib/plugin/Ploticus.php
--- 1.3.12p3/lib/plugin/Ploticus.php	2006-06-18 06:19:22.000000000 -0500
+++ 1.3.14/lib/plugin/Ploticus.php	2007-07-01 05:11:06.000000000 -0500
@@ -1,5 +1,5 @@
 <?php // -*-php-*-
-rcs_id('$Id: Ploticus.php,v 1.12 2004/12/13 14:37:22 rurban Exp $');
+rcs_id('$Id: Ploticus.php,v 1.14 2007/01/10 23:14:37 rurban Exp $');
 /*
  Copyright 2004 $ThePhpWikiProgrammingTeam
 
@@ -100,7 +100,7 @@
     }
     function getVersion() {
         return preg_replace("/[Revision: $]/", '',
-                            "\$Revision: 1.12 $");
+                            "\$Revision: 1.14 $");
     }
     function getDefaultArguments() {
         return array(
@@ -214,10 +214,10 @@
                 $src .= $source;
                 $source = $src;
             }
-            $tempfile = $this->tempnam('Ploticus');
-            unlink($tempfile);
+            $tempfile = $this->tempnam('Ploticus','plo');
+            @unlink($tempfile);
             $gif = $argarray['device'];
-            $args = " -stdin -$gif -o $tempfile.$gif";
+            $args = "-$gif -o $tempfile.$gif";
             if (!empty($argarray['-csmap'])) {
             	$args .= " -csmap -mapfile $tempfile.map";
             	$this->_mapfile = "$tempfile.map";
@@ -228,22 +228,43 @@
                 if (empty($HTTP_ENV_VARS['PLOTICUS_PREFABS'])) {
                     if (file_exists("/usr/share/ploticus"))
                         $HTTP_ENV_VARS['PLOTICUS_PREFABS'] = "/usr/share/ploticus";
+		    elseif (defined('PLOTICUS_PREFABS'))
+                        $HTTP_ENV_VARS['PLOTICUS_PREFABS'] = constant('PLOTICUS_PREFABS');
                 }
             	$args .= (" -prefab " . $argarray['-prefab']);
             }
-            $code = $this->filterThroughCmd($source, PLOTICUS_EXE . "$args");
+	    if (isWindows()) {
+		$fp = fopen("$tempfile.plo", "w");
+		fwrite ($fp, $source);
+		fclose($fp);
+		$code = $this->execute(PLOTICUS_EXE . " $tempfile.plo $args", $tempfile.".$gif");
+	    } else {
+		$code = $this->filterThroughCmd($source, PLOTICUS_EXE . " -stdin $args");
+		sleep(1);
+	    }
             //if (empty($code))
             //    return $this->error(fmt("Couldn't start commandline '%s'", $commandLine));
-            sleep(1);
-            if (! file_exists("$tempfile.$gif") ) {
+            if (! file_exists($tempfile.".$gif") ) {
                 $this->_errortext .= sprintf(_("%s error: outputfile '%s' not created"), 
                                              "Ploticus", "$tempfile.$gif");
-                $this->_errortext .= ("\ncmd-line: cat script | " . PLOTICUS_EXE . "$args");
+                if (isWindows())
+                    $this->_errortext .= ("\ncmd-line: " .PLOTICUS_EXE . " $tempfile.plo $args");
+                else    
+                    $this->_errortext .= ("\ncmd-line: cat script | ".PLOTICUS_EXE . " $args");    
+                @unlink("$tempfile.pl");
+		@unlink("$tempfile");
                 return false;
             }
             $ImageCreateFromFunc = "ImageCreateFrom$gif";
-            if (function_exists($ImageCreateFromFunc))
-                return $ImageCreateFromFunc( "$tempfile.$gif" );
+            if (function_exists($ImageCreateFromFunc)) {
+                $handle = $ImageCreateFromFunc( "$tempfile.$gif" );
+		if ($handle) {
+		    @unlink("$tempfile.$gif");
+		    @unlink("$tempfile.plo");
+		    @unlink("$tempfile");
+		    return $handle;
+		}    
+	    }
             return "$tempfile.$gif";
         } else {
             return $this->error(fmt("empty source"));
@@ -263,6 +284,12 @@
 };
 
 // $Log: Ploticus.php,v $
+// Revision 1.14  2007/01/10 23:14:37  rurban
+// use temp file on windows
+//
+// Revision 1.13  2007/01/02 13:22:33  rurban
+// support PLOTICUS_PREFABS config.ini setting
+//
 // Revision 1.12  2004/12/13 14:37:22  rurban
 // simplify msg for new GraphViz plugin
 //
diff -ruN 1.3.12p3/lib/plugin/PluginManager.php 1.3.14/lib/plugin/PluginManager.php
--- 1.3.12p3/lib/plugin/PluginManager.php	2006-06-18 06:19:22.000000000 -0500
+++ 1.3.14/lib/plugin/PluginManager.php	2007-07-01 05:11:06.000000000 -0500
@@ -1,5 +1,5 @@
 <?php // -*-php-*-
-rcs_id('$Id: PluginManager.php,v 1.19 2005/10/12 06:15:25 rurban Exp $');
+rcs_id('$Id: PluginManager.php,v 1.20 2007/01/03 21:23:57 rurban Exp $');
 /**
  Copyright 1999, 2000, 2001, 2002 $ThePhpWikiProgrammingTeam
 
@@ -37,7 +37,7 @@
 
     function getVersion() {
         return preg_replace("/[Revision: $]/", '',
-                            "\$Revision: 1.19 $");
+                            "\$Revision: 1.20 $");
     }
 
     function getDefaultArguments() {
@@ -132,7 +132,7 @@
             // This section was largely improved by Pierrick Meignen:
             // make a link if an actionpage exists
             $pluginNamelink = $pluginName;
-            $pluginDocPageName = $pluginName . "Plugin";
+            $pluginDocPageName = _("Help")."/" . $pluginName . "Plugin";
 
             $pluginDocPageNamelink = false;
             $localizedPluginName = '';
@@ -188,6 +188,9 @@
 };
 
 // $Log: PluginManager.php,v $
+// Revision 1.20  2007/01/03 21:23:57  rurban
+// Change to "Help/"
+//
 // Revision 1.19  2005/10/12 06:15:25  rurban
 // just aesthetics
 //
diff -ruN 1.3.12p3/lib/plugin/PopularTags.php 1.3.14/lib/plugin/PopularTags.php
--- 1.3.12p3/lib/plugin/PopularTags.php	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/lib/plugin/PopularTags.php	2007-07-01 05:11:06.000000000 -0500
@@ -0,0 +1,110 @@
+<?php // -*-php-*-
+rcs_id('$Id: PopularTags.php,v 1.2 2007/05/01 16:05:29 rurban Exp $');
+/*
+ Copyright 2007 Reini Urban
+
+ This file is part of PhpWiki.
+
+ PhpWiki is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ PhpWiki is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with PhpWiki; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+/* Usage:
+ * template tags.tmpl:
+ *   <?plugin PopularTags ?>
+ */
+
+require_once('lib/PageList.php');
+
+class WikiPlugin_PopularTags
+extends WikiPlugin
+{
+    function getName () {
+        return _("PopularTags");
+    }
+
+    function getDescription () {
+        return _("List the most popular tags.");
+    }
+
+    function getVersion() {
+        return preg_replace("/[Revision: $]/", '',
+                            "\$Revision: 1.2 $");
+    }
+
+    function getDefaultArguments() {
+        return array('pagename' => '[pagename]',
+                     'limit'    => 10,
+                     'mincount' => 5,
+                     'noheader' => 0,
+                    );
+    }
+    
+
+    function run($dbi, $argstr, &$request, $basepage) {
+    	$args = $this->getArgs($argstr, $request);
+        extract($args);
+
+	$maincat = $dbi->getPage(_("CategoryCategory"));
+	$bi = $maincat->getBackLinks(false);
+	$bl = array();
+	while ($b = $bi->next()) {
+	    $name = $b->getName();
+	    if (preg_match("/^"._("Template")."/", $name)) continue;
+	    $pages = $b->getBackLinks(false);
+	    $bl[] = array('name' => $name,
+			  'count' => $pages->count());
+	}
+
+	usort($bl, 'cmp_by_count');
+	$html = HTML::ul(); $i = 0;
+	foreach ($bl as $b) {
+	    $i++;
+	    $name  = $b['name'];
+	    $count = $b['count'];
+	    if ($count < $mincount) break;
+	    if ($i > $limit) break;
+	    $wo = preg_replace("/^("._("Category")."|"
+			       ._("Topic").")/", "", $name);
+	    $wo = HTML(HTML::span($wo),HTML::raw("&nbsp;"),HTML::small("(".$count.")"));
+	    $link = WikiLink($name, 'auto', $wo);
+	    $html->pushContent(HTML::li($link));
+	}
+	return $html;
+    }
+}
+
+// get list of categories sorted by number of backlinks
+function cmp_by_count($a, $b) {
+     if ($a['count'] == $b['count']) return 0;
+     return $a['count'] < $b['count'] ? 1 : -1;
+}
+
+
+// $Log: PopularTags.php,v $
+// Revision 1.2  2007/05/01 16:05:29  rurban
+// small count
+//
+// Revision 1.1  2007/03/10 18:30:51  rurban
+// Most popular list of Categories
+//
+
+// Local Variables:
+// mode: php
+// tab-width: 8
+// c-basic-offset: 4
+// c-hanging-comment-ender-p: nil
+// indent-tabs-mode: nil
+// End:
+?>
diff -ruN 1.3.12p3/lib/plugin/PreferenceApp.php 1.3.14/lib/plugin/PreferenceApp.php
--- 1.3.12p3/lib/plugin/PreferenceApp.php	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/lib/plugin/PreferenceApp.php	2007-07-01 05:11:06.000000000 -0500
@@ -0,0 +1,312 @@
+<?php //-*-php-*-
+rcs_id('$Id: PreferenceApp.php,v 1.4 2004/12/20 16:05:14 rurban Exp $');
+
+/**
+* 
+*/
+require_once('lib/PageList.php');
+require_once('lib/InlineParser.php');
+
+require_once('lib/wikilens/Utils.php');
+require_once('lib/Theme.php');
+require_once('lib/wikilens/Buddy.php');
+require_once('lib/wikilens/RatingsDb.php');
+
+/**
+ * PreferenceApp is used to analyze a category of items that a group
+ * of people have rated.  A user is grouped to be analyzed in the group by
+ * 1) having rated at least one item in the database and 2) matching the optional 
+ * criteria for declaring a budget on their homepage.  
+ *
+ * An example of a budget decleration would be "TotalSoda: 50" on my homepage.
+ *
+ * PreferenceApp will output a matrix style table shows "how much" fractionally 
+ * a group of people prefer an item over other items.  For example, if my soda 
+ * budget is 100 then PreferenceApp might assign 20 units of my budget to Moutain Dew.
+ *
+ * Author: mcassano circa April 2004
+ *
+ * Usage:
+ * <?plugin PreferenceApp category="Soda" pageLabel="TotalSoda" roundCalc="true" ?>
+ */
+
+class WikiPlugin_PreferenceApp
+extends WikiPlugin
+{
+    function getName () {
+        return _("PreferenceApp");
+    }
+
+    function getDescription () {
+        return _("Analyzes preferences based on voting budget and ratings.");
+    }
+
+    function getVersion() {
+        return preg_replace("/[Revision: $]/", '',
+                            "\$Revision: 1.4 $");
+    }
+
+    function getDefaultArguments() {
+        return array(
+        			'category' => null,
+        			'lockedBudget' => null,
+        			'pageTextLabel' => null,
+        			'group' => null,
+        			'roundCalc' => "true",
+        			'neutralRating' => "3",
+        			'declareBudget' => "true");            
+    }
+    // info arg allows multiple columns
+    // info=mtime,hits,summary,version,author,locked,minor
+    // exclude arg allows multiple pagenames exclude=HomePage,RecentChanges
+	
+
+    function run($dbi, $argstr, &$request, $basepage) {
+    	
+        extract($this->getArgs($argstr, $request));
+        if($pageTextLabel == null && $category != null && $group == null){
+            $group = $category;     		  		
+        }
+        /**
+         * defunct check
+        if($category == null || $pageTextLabel == null){
+        	$html = HTML("PreferencesApp Error: You must declare at least parameters category and pageTextLabel.");
+        	return $html;
+        }
+      	*/
+      	
+        $dbi = $request->getDbh();
+        $rdbi = RatingsDb::getTheRatingsDb();
+        
+        $CATEGORY = $category;
+        $PAGE_TEXT_LABEL = $pageTextLabel;
+        $NEUTRAL_RATING = (int)$neutralRating;
+        
+        $active_user   = $request->getUser();
+        $active_userid = $active_user->_userid;
+		$html = HTML();
+		$html->pushContent("");
+		
+		//Load participating Users
+		$users_array = array();
+		if($group != null){
+			$users_array = getMembers($group, $rdbi);
+
+        } else {
+            $people_iter = $rdbi->sql_get_users_rated();
+			while($people_array = $people_iter->next()){
+				$users_array[] = $people_array['pagename'];	
+			}
+		}
+		$people = array();
+        foreach($users_array as $person_indv){
+			if($declareBudget == "true"){
+                $get_array = getPageTextData($person_indv, $dbi, $PAGE_TEXT_LABEL, "cans");
+				if(count($get_array) == 1){
+					$cans_text = $get_array[0];
+					if(is_numeric($cans_text) && $cans_text >= 0){
+						$canBudget[$person_indv] = $cans_text; //Load the persons budget
+					} else {
+						$canBudget[$person_indv] = 0;
+					}
+					$people[] = $person_indv;	
+				}	
+			} else {
+				$canBudget[$person_indv] = $lockedBudget;
+				$people[] = $person_indv;	
+			}
+		}
+		if(count($people) < 1){
+			$html = HTML("Nobody has used $PAGE_TEXT_LABEL on their homepage");
+			return $html;	
+		}
+		//Get all pages from Category
+		$pageids = array();
+        $category_page = $dbi->getPage($CATEGORY);
+        $iter = $category_page->getLinks();
+        while($item = $iter->next()){
+        	array_push($pageids, $item->getName());
+        }
+        $ratingTotals = array();
+        foreach($people as $person){
+    		$ratings_iter = $rdbi->sql_get_rating(0, $person, $pageids);
+    		$ratingTotals[$person] = 0;
+			while($ratings_array = $ratings_iter->next()){
+				$can_rating = $ratings_array['ratingvalue'];
+				if($can_rating >= $NEUTRAL_RATING){
+					$ratingTotals[$person] += $can_rating;
+				}
+			}		
+        }
+		
+		//Generate numbers
+		$canTotals = array();
+		$peopleTotals = array();
+		foreach($pageids as $soda){
+			$canTotals[$soda] = 0;	
+		}
+		foreach($people as $person){
+			foreach($pageids as $soda){
+				$peopleTotals[$person][$soda] = 0;
+			}	
+		}
+		foreach($people as $person){
+			foreach($pageids as $page){
+				$can_rating_iter = $rdbi->sql_get_rating(0, $person, $page);
+				$can_rating_array = $can_rating_iter->next();
+				$can_rating = $can_rating_array['ratingvalue'];	
+				if($can_rating >= $NEUTRAL_RATING){
+					$calc = (($can_rating / $ratingTotals[$person]) * $canBudget[$person]);
+					if($roundCalc == "true"){
+						$adjustedCans = round($calc);
+					} else {
+						$adjustedCans = round($calc, 2);
+					}
+					$peopleTotals[$person][$page] = $adjustedCans;
+					
+					$canTotals[$page] = $canTotals[$page] + $adjustedCans;
+				}
+			}
+		}
+		$outputArray = array();
+		foreach($people as $person){
+			foreach($pageids as $page){
+				$outputArray[$person][$page] = 0;
+			}
+		}
+		
+		$table = HTML::table(array('cellpadding' => '5', 'cellspacing' => '1', 'border' => '0'));
+		$tr = HTML::tr();
+		$td = HTML::td(array('bgcolor' => '#FFFFFF'));
+		$td->pushContent(" ");
+		$tr->pushContent($td);
+		
+		foreach($people as $person){
+			$td = HTML::td(array('bgcolor' => '#FFFFFF'));
+			$td->pushContent(HTML::a(array('href' => WikiURL($person),
+                                              'class' => 'wiki'
+                                              ),
+                                        SplitPagename($person)));
+			//$td->pushContent(WikiLink(" $person "));
+			$tr->pushContent($td);	
+		}
+		$td = HTML::td(array('bgcolor' => '#FFFFFF'));
+		$td->pushContent("Total Units");
+		$tr->pushContent($td);	
+		$td = HTML::td(array('bgcolor' => '#FFFFFF'));
+		$td->pushContent("Total Voters");
+		$tr->pushContent($td);	
+		$table->pushContent($tr);
+		
+		for($i = 0; $i < count($pageids); $i++){
+			$total_cans = 0;
+			for($j = 0; $j < count($people); $j++){
+				$td = HTML::td(array('align' => 'right'));
+				$cans_per_soda = $peopleTotals[$people[$j]][$pageids[$i]];
+				$total_cans = $total_cans + $cans_per_soda;
+				$outputArray[$people[$j]][$pageids[$i]] = $cans_per_soda;
+			}			
+		}
+			
+		
+		foreach($people as $person){
+			$min_soda = "";
+			$min_cans = 9999999; //9 million, serving as "infinity"
+			$total_cans = 0;
+			foreach($pageids as $page){
+				$cur_soda_cans = $outputArray[$person][$page];
+				if($cur_soda_cans < $min_cans && $cur_soda_cans > 0){
+					$min_cans = $cur_soda_cans;
+					$min_soda = $page;
+				}
+				$total_cans = $total_cans + $cur_soda_cans;
+			}	
+			if($total_cans != $canBudget[$person] && $total_cans > 0){
+				$diff = $canBudget[$person] - $total_cans;
+				$outputArray[$person][$min_soda] = $outputArray[$person][$min_soda] + $diff;
+			}
+		}
+		for($i = 0; $i < count($pageids); $i++){
+			$tr = HTML::tr();
+			$td = HTML::td(array('align' => 'left', 'bgcolor' => '#f7f7f7'));
+			$td->pushContent(HTML::a(array('href' => WikiURL($pageids[$i]),
+                                              'class' => 'wiki'
+                                              ),
+                                        SplitPagename($pageids[$i])));
+			$tr->pushContent($td);
+			$total_cans = 0;
+			$total_voters = 0;
+			for($j = 0; $j < count($people); $j++){
+				$td = HTML::td(array('align' => 'right', 'bgcolor' => '#f7f7f7'));
+				$output = $outputArray[$people[$j]][$pageids[$i]];
+				$total_cans = $total_cans + $output;
+				if($output == ""){
+					$output = "-";
+				} else {
+					$total_voters++;
+				}
+				$td->pushContent($output);
+				$tr->pushContent($td);
+			}	
+			if($total_cans == ""){
+				$total_cans = "-";	
+			}
+			if($total_voters == ""){
+				$total_voters = "-";	
+			}
+			$td = HTML::td(array('align' => 'right'));
+			$td->pushContent($total_cans); 
+			$tr->pushContent($td);	
+			$td = HTML::td(array('align' => 'right'));
+			$td->pushContent($total_voters); 
+			$tr->pushContent($td);	
+			$table->pushContent($tr);	
+		}
+		
+		$tr = HTML::tr();
+		$td = HTML::td(array('align' => 'left'));
+		$td->pushContent(HTML::strong("Total Budget"));
+		$tr->pushContent($td);
+		$cans_total = 0;
+		$total_voters = 0;
+		for($i = 0; $i < count($people); $i++){
+			$td = HTML::td(array('align' => 'right'));
+			$cans_for_soda = 0;
+			foreach($pageids as $page){
+				$cans_for_soda = $cans_for_soda + $outputArray[$people[$i]][$page];
+			}
+			$cans = $cans_for_soda;
+			$cans_total = $cans_total + $cans;
+			if($cans == ""){
+				$cans = "-";
+			} else {
+				$total_voters++;
+			}
+			$td->pushContent(HTML::strong($cans));
+			$tr->pushContent($td);
+		}
+		$td = HTML::td(array('align' => 'right'));
+		$td->pushContent(HTML::strong($cans_total));
+		$tr->pushContent($td);
+		$td = HTML::td(array('align' => 'right'));
+		$td->pushContent(HTML::strong($total_voters));
+		$tr->pushContent($td);
+		$table->pushContent($tr);
+		
+		$table2 = HTML::table(array('bgcolor' => '#dedfdf'));
+		$table2->pushContent(HTML::tr(HTML::td($table)));
+		$html->pushContent($table2);
+		
+		return $html;
+    }
+    
+};
+
+// Local Variables:
+// mode: php
+// tab-width: 8
+// c-basic-offset: 4
+// c-hanging-comment-ender-p: nil
+// indent-tabs-mode: nil
+// End:
+?>
\ No newline at end of file
diff -ruN 1.3.12p3/lib/plugin/RateIt.php 1.3.14/lib/plugin/RateIt.php
--- 1.3.12p3/lib/plugin/RateIt.php	2006-06-18 06:19:22.000000000 -0500
+++ 1.3.14/lib/plugin/RateIt.php	2007-07-01 05:11:06.000000000 -0500
@@ -1,5 +1,5 @@
 <?php // -*-php-*-
-rcs_id('$Id: RateIt.php,v 1.20 2006/03/04 13:57:28 rurban Exp $');
+rcs_id('$Id: RateIt.php,v 1.22 2007/02/17 14:15:14 rurban Exp $');
 /*
  Copyright 2004 $ThePhpWikiProgrammingTeam
 
@@ -77,7 +77,6 @@
  * - fix RATING_STORAGE = WIKIPAGE
  * - fix smart caching
  * - finish mysuggest.c (external engine with data from mysql)
- * - add php_prediction
  */
 
 require_once("lib/WikiPlugin.php");
@@ -94,7 +93,7 @@
     }
     function getVersion() {
         return preg_replace("/[Revision: $]/", '',
-                            "\$Revision: 1.20 $");
+                            "\$Revision: 1.22 $");
     }
 
     function RatingWidgetJavascript() {
@@ -138,14 +137,14 @@
   var myRand = Math.round(Math.random()*(1000000));
   var imgSrc = '".$urlprefix."' + escape(page) + '?version=' + version + '&action=".urlencode(_("RateIt"))."&mode=add&rating=' + rating + '&dimension=' + dimension + '&nopurge=1&rand=' + myRand"
         .(!empty($_GET['start_debug']) ? "+'&start_debug=1'" : '').";
-  ".(DEBUG ? '' : '//')."alert('submitRating(\"'+actionImg+'\", \"'+page+'\", '+version+', '+dimension+', '+rating+') => '+imgSrc);
+  ".(DEBUG & _DEBUG_REMOTE ? '' : '//')."alert('submitRating(\"'+actionImg+'\", \"'+page+'\", '+version+', '+dimension+', '+rating+') => '+imgSrc);
   document[actionImg].src = imgSrc;
 }
 function deleteRating(actionImg, page, dimension) {
   var myRand = Math.round(Math.random()*(1000000));
   var imgSrc = '".$urlprefix."' + escape(page) + '?action=".urlencode(_("RateIt"))."&mode=delete&dimension=' + dimension + '&nopurge=1&rand=' + myRand"
         .(!empty($_GET['start_debug']) ? "+'&start_debug=1'" : '').";
-  ".(DEBUG ? '' : '//')."alert('deleteRating(\"'+actionImg+'\", \"'+page+'\", '+version+', '+dimension+')');
+  ".(DEBUG & _DEBUG_REMOTE ? '' : '//')."alert('deleteRating(\"'+actionImg+'\", \"'+page+'\", '+version+', '+dimension+')');
   document[actionImg].src = imgSrc;
 }
 ";
@@ -182,8 +181,7 @@
         $WikiTheme->addMoreHeaders($this->RatingWidgetJavascript());
     }
 
-    // todo: only for signed users
-    // todo: set rating dbi for external rating database
+    // Only for signed users done in template only yet.
     function run($dbi, $argstr, &$request, $basepage) {
         global $WikiTheme;
         //$this->_request = & $request;
@@ -192,6 +190,7 @@
         //FIXME: fails on test with DumpHtml:RateIt
         if (!is_object($user)) return HTML();
         $this->userid = $user->getId();
+        if (!$this->userid) return HTML();
         $args = $this->getArgs($argstr, $request);
         $this->dimension = $args['dimension'];
         $this->imgPrefix = $args['imgPrefix'];
@@ -370,6 +369,7 @@
         $msg = _("Cancel rating");
         $a0->pushContent(HTML::img(array('src' => $WikiTheme->getImageUrl("RateIt".$imgPrefix."Cancel"),
                                          'name'=> $imgPrefix.'Cancel',
+					 'border' => 0,
                                          'alt' => $msg)));
         $a0->addToolTip($msg);
         $html->pushContent($a0);
@@ -402,6 +402,12 @@
 
 
 // $Log: RateIt.php,v $
+// Revision 1.22  2007/02/17 14:15:14  rurban
+// noborder for the recycle bin
+//
+// Revision 1.21  2007/01/22 23:50:48  rurban
+// Do not diplay if not signed in
+//
 // Revision 1.20  2006/03/04 13:57:28  rurban
 // rename hash for php-5.1
 //
diff -ruN 1.3.12p3/lib/plugin/RdfDefinition.php 1.3.14/lib/plugin/RdfDefinition.php
--- 1.3.12p3/lib/plugin/RdfDefinition.php	2006-06-18 06:19:22.000000000 -0500
+++ 1.3.14/lib/plugin/RdfDefinition.php	2007-07-01 05:11:06.000000000 -0500
@@ -21,10 +21,10 @@
  */
 
 /**
- * RdfDefinition - Define the RDF vocabulary for a wiki subset.
- * <subject> - <predicate>  - <object>
+ * RdfDefinition - Define the RDF vocabulary for a wiki subset. (?)
+ * <subject> - <predicate>  :: <object>
  *                 <=>
- * page    - link-qualifier - pagelinkedto
+ * page    - link-qualifier :: pagelinkedto
  *
  * Similar to the InterWikiMap PageType, with the difference 
  * that the initerwiki map links are wiki global, and a RDF vocabulary
diff -ruN 1.3.12p3/lib/plugin/RecentChanges.php 1.3.14/lib/plugin/RecentChanges.php
--- 1.3.12p3/lib/plugin/RecentChanges.php	2006-06-18 06:19:22.000000000 -0500
+++ 1.3.14/lib/plugin/RecentChanges.php	2007-07-01 05:11:06.000000000 -0500
@@ -1,7 +1,7 @@
 <?php // -*-php-*-
-rcs_id('$Id: RecentChanges.php,v 1.109 2006/03/19 14:26:29 rurban Exp $');
+rcs_id('$Id: RecentChanges.php,v 1.119 2007/07/01 09:17:45 rurban Exp $');
 /**
- Copyright 1999, 2000, 2001, 2002 $ThePhpWikiProgrammingTeam
+ Copyright 1999,2000,2001,2002,2007 $ThePhpWikiProgrammingTeam
 
  This file is part of PhpWiki.
 
@@ -20,6 +20,8 @@
  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
 
+include_once("lib/WikiPlugin.php");
+
 /**
  */
 class _RecentChanges_Formatter
@@ -125,14 +127,22 @@
 {
     function diffLink ($rev) {
         global $WikiTheme;
-        $button = $WikiTheme->makeButton(_("(diff)"), $this->diffURL($rev), 'wiki-rc-action');
+        $button = $WikiTheme->makeButton(_("diff"), $this->diffURL($rev), 'wiki-rc-action');
         $button->setAttr('rel', 'nofollow');
-        return $button;
+        return HTML("(",$button,")");
+    }
+
+    /* deletions: red, additions: green */
+    function diffSummary ($rev) {
+        $html = $this->diffURL($rev);
+        return '';
     }
 
     function historyLink ($rev) {
         global $WikiTheme;
-        return $WikiTheme->makeButton(_("(hist)"), $this->historyURL($rev), 'wiki-rc-action');
+        $button = $WikiTheme->makeButton(_("hist"), $this->historyURL($rev), 'wiki-rc-action');
+        $button->setAttr('rel', 'nofollow');
+        return HTML("(",$button,")");
     }
 
     function pageLink ($rev, $link_text=false) {
@@ -160,35 +170,67 @@
     }
 
     function authorLink ($rev) {
-        $author = $rev->get('author');
-        if ( $this->authorHasPage($author) ) {
-            return WikiLink($author);
-        } else
-            return $author;
+        return WikiLink($rev->get('author'), 'if_known');
+    }
+
+    /* Link to all users contributions (contribs and owns) */
+    function authorContribs ($rev) {
+	$author = $rev->get('author');
+	if (preg_match("/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/", $author)) return '';
+        return HTML('(',
+		    Button(array('action' => _("RecentChanges"), 
+				 'format' => 'contribs',
+				 'author' => $author,
+				 'days' => 360),
+			   _("contribs"),
+			   $author),
+		    ' | ',
+		    Button(array('action' => _("RecentChanges"), 
+				 'format' => 'contribs',
+				 'owner' => $author,
+				 'days' => 360),
+			   _("new pages"),
+			   $author),
+		    ')');
     }
 
     function summaryAsHTML ($rev) {
         if ( !($summary = $this->summary($rev)) )
             return '';
-        return  HTML::strong( array('class' => 'wiki-summary'),
-                              "[",
-                              TransformLinks($summary, $rev->get('markup'), $rev->getPageName()),
-                              "]");
+        return  HTML::span( array('class' => 'wiki-summary'),
+			    "(",
+			    TransformLinks($summary, $rev->get('markup'), $rev->getPageName()),
+			    ")");
     }
 
     function rss_icon () {
         global $request, $WikiTheme;
 
-        $rss_url = $request->getURLtoSelf(array('format' => 'rss'));
+        $rss_url = $request->getURLtoSelf(array('action' => 'RecentChanges', 'format' => 'rss'));
         return HTML::small(array('style' => 'font-weight:normal;vertical-align:middle;'), 
                            $WikiTheme->makeButton("RSS", $rss_url, 'rssicon'));
     }
     function rss2_icon () {
         global $request, $WikiTheme;
 
-        $rss_url = $request->getURLtoSelf(array('format' => 'rss2'));
+        $rss_url = $request->getURLtoSelf(array('action' => 'RecentChanges', 'format' => 'rss2'));
         return HTML::small(array('style' => 'font-weight:normal;vertical-align:middle;'), 
-                           $WikiTheme->makeButton("RSS2", $rss_url, 'rssicon'));
+                           $WikiTheme->makeButton("xml", $rss_url, 'rssicon'));
+    }
+    function atom_icon () {
+        global $request, $WikiTheme;
+	if (DEBUG) {
+	    $rss_url = $request->getURLtoSelf(array('action' => 'RecentChanges', 'format' => 'atom'));
+	    return HTML::small(array('style' => 'font-weight:normal;vertical-align:middle;'), 
+                           $WikiTheme->makeButton("atom", $rss_url, 'rssicon'));
+	}
+    }
+    function grazr_icon () {
+        global $request, $WikiTheme;
+        $rss_url = 'http://grazr.com/gzpanel.html?' . 
+	    WikiURL($request->getArg('pagename'),array('action' => 'RecentChanges', 'format' => 'rss2'),true);
+        return HTML::small(array('style' => 'font-weight:normal;vertical-align:middle;'), 
+                           $WikiTheme->makeButton("grazr-it", $rss_url, 'rssicon'));
     }
 
     function pre_description () {
@@ -202,7 +244,21 @@
             $edits = _("minor edits");
         if (isset($caption) and $caption == _("Recent Comments"))
             $edits = _("comments");
-
+	if (!empty($only_new)) {
+            $edits = _("created new pages");
+	}
+	if (!empty($author)) {
+            global $request;
+            if ($author == '[]')
+                $author = $request->_user->getID();
+            $edits .= sprintf(_(" for pages changed by %s"), $author);
+	}
+	if (!empty($owner)) {
+            global $request;
+            if ($owner == '[]')
+                $owner = $request->_user->getID();
+            $edits .= sprintf(_(" for pages owned by %s"), $owner);
+	}
         if ($timespan = $days > 0) {
             if (intval($days) != $days)
                 $days = sprintf("%.1f", $days);
@@ -223,7 +279,7 @@
          * fr: 1 jour   "Les %d %s les plus rcentes pendant [le dernier (d'une] jour) sont numres ci-dessous."
          * fr: %s jours "Les %d %s les plus rcentes pendant [les derniers (%s] jours) sont numres ci-dessous."
          */
-        if ($limit > 0) {
+	if ($limit > 0) {
             if ($timespan) {
                 if (intval($days) == 1)
                     $desc = fmt("The %d most recent %s during the past day are listed below.",
@@ -271,11 +327,14 @@
         extract($this->_args);
         return array($show_minor ? _("RecentEdits") : _("RecentChanges"),
                      ' ',
-                     $this->rss_icon(), HTML::raw('&nbsp;'), $this->rss2_icon(),
+                     $this->rss_icon(), 
+		     HTML::raw('&nbsp;'), $this->rss2_icon(),
+		     HTML::raw('&nbsp;'), $this->grazr_icon(),
+		     HTML::raw('&nbsp;'), $this->atom_icon(),
                      $this->sidebar_link());
     }
 
-    function empty_message () {
+    function empty_message() {
         if (isset($this->_args['caption']) and $this->_args['caption'] == _("Recent Comments"))
             return _("No comments found");
         else 
@@ -326,6 +385,7 @@
             if (($date = $this->date($rev)) != $last_date) {
                 if ($lines)
                     $html->pushContent($lines);
+		// for user contributions no extra date line
                 $html->pushContent(HTML::h3($date));
                 $lines = HTML::ul();
                 $last_date = $date;
@@ -334,7 +394,6 @@
             // enforce view permission
             if (mayAccessPage('view', $rev->_pagename)) {
                 $lines->pushContent($this->format_revision($rev));
-
                 if ($first)
                     $this->setValidators($rev);
                 $first = false;
@@ -350,32 +409,106 @@
     }
 
     function format_revision ($rev) {
+        global $WikiTheme;
         $args = &$this->_args;
 
         $class = 'rc-' . $this->importance($rev);
 
         $time = $this->time($rev);
         if (! $rev->get('is_minor_edit'))
-            $time = HTML::strong(array('class' => 'pageinfo-majoredit'), $time);
+            $time = HTML::span(array('class' => 'pageinfo-majoredit'), $time);
 
         $line = HTML::li(array('class' => $class));
 
-
         if ($args['difflinks'])
             $line->pushContent($this->diffLink($rev), ' ');
 
         if ($args['historylinks'])
             $line->pushContent($this->historyLink($rev), ' ');
 
-        $line->pushContent($this->pageLink($rev), ' ',
-                           $time, ' ',
-                           $this->summaryAsHTML($rev),
-                           ' ... ',
-                           $this->authorLink($rev));
+	if (isa($WikiTheme, 'Theme_MonoBook')) {
+	    $line->pushContent(
+			       $args['historylinks'] ? '' : $this->historyLink($rev),
+			       ' . . ', $this->pageLink($rev), '; ',
+			       $time, ' . . ',
+			       $this->authorLink($rev),' ',
+			       $this->authorContribs($rev),' ',
+			       $this->summaryAsHTML($rev));
+	} else {
+	    $line->pushContent($this->pageLink($rev), ' ',
+			       $time, ' ',
+			       $this->summaryAsHTML($rev),
+			       ' ... ',
+			       $this->authorLink($rev));
+	}
         return $line;
     }
+
 }
 
+/* format=contribs: no seperation into extra dates
+ * 14:41, 3 December 2006 (hist) (diff) Talk:PhpWiki (added diff link)  (top)
+ */
+class _RecentChanges_UserContribsFormatter
+extends _RecentChanges_HtmlFormatter
+{
+    function title () {
+        extract($this->_args);
+        return array(_("UserContribs"),":",$author ? $author : $owner,
+                     ' ',
+                     $this->rss_icon(), 
+		     HTML::raw('&nbsp;'), $this->rss2_icon(),
+		     //HTML::raw('&nbsp;'), $this->grazr_icon(),
+		     HTML::raw('&nbsp;'), $this->atom_icon());
+    }
+
+    function format ($changes) {
+        include_once('lib/InlineParser.php');
+        
+        $html = HTML(HTML::h2(false, $this->title()));
+	$lines = HTML::ol();
+        $first = true; $count = 0;
+        while ($rev = $changes->next()) {
+            if (mayAccessPage('view', $rev->_pagename)) {
+                $lines->pushContent($this->format_revision($rev));
+                if ($first)
+                    $this->setValidators($rev);
+                $first = false;
+            }
+            $count++;
+        }
+        $this->_args['limit'] = $count;
+        if (($desc = $this->description()))
+            $html->pushContent($desc);
+        if ($this->_args['daylist'])
+            $html->pushContent(new DayButtonBar($this->_args));
+        if ($first)
+            $html->pushContent(HTML::p(array('class' => 'rc-empty'),
+                                       $this->empty_message()));
+        else                               
+            $html->pushContent($lines);
+        
+        return $html;
+    }
+
+    function format_revision ($rev) {
+        $args = &$this->_args;
+        $class = 'rc-' . $this->importance($rev);
+        $time = $this->time($rev);
+        if (! $rev->get('is_minor_edit'))
+            $time = HTML::span(array('class' => 'pageinfo-majoredit'), $time);
+
+        $line = HTML::li(array('class' => $class));
+
+	$line->pushContent($this->time($rev),", ");
+	$line->pushContent($this->date($rev)," ");
+	$line->pushContent($this->diffLink($rev), ' ');
+	$line->pushContent($this->historyLink($rev), ' ');
+	$line->pushContent($this->pageLink($rev), ' ',
+			   $this->summaryAsHTML($rev));
+        return $line;
+    }
+}
 
 class _RecentChanges_SideBarFormatter
 extends _RecentChanges_HtmlFormatter
@@ -443,10 +576,10 @@
     function summaryAsHTML ($rev) {
         if ( !($summary = $this->summary($rev)) )
             return '';
-        return HTML::strong(array('class' => 'wiki-summary'),
-                                "[",
-                                /*TransformLinks(*/$summary,/* $rev->get('markup')),*/
-                                "]");
+        return HTML::span(array('class' => 'wiki-summary'),
+			  "[",
+			  /*TransformLinks(*/$summary,/* $rev->get('markup')),*/
+			  "]");
     }
 
 
@@ -691,7 +824,8 @@
                                  ));
     }
 
-    function cloud_properties () { return false; } // xml-rpc registerProcedure not yet implemented
+    // xml-rpc registerProcedure not yet implemented
+    function cloud_properties () { return false; } 
     function cloud_properties_test () {
         return array('protocol' => 'xml-rpc', // xml-rpc or soap or http-post
                      'registerProcedure' => 'wiki.rssPleaseNotify',
@@ -701,6 +835,72 @@
     }
 }
 
+/** Explicit application/atom+xml Content-Type
+ *  A weird, questionable format
+ */
+class _RecentChanges_AtomFormatter
+extends _RecentChanges_RssFormatter {
+
+    function format ($changes) {
+        global $request;
+        include_once('lib/RssWriter.php');
+        $rss = new AtomFeed;
+
+	// "channel" is called "feed" in atom
+        $rc_url = WikiURL($request->getArg('pagename'), false, 'absurl');
+        $feed_props = array('title' => WIKI_NAME,
+			    'link' => array('rel'=>"alternate",
+			    		    'type'=>"text/html",
+			                    'href' => $rc_url),
+			    'id' => md5($rc_url),                
+			    'modified' => Iso8601DateTime(time()),
+			    'generator' => 'PhpWiki-'.PHPWIKI_VERSION,
+			    'tagline' => '');
+        $rss->feed($feed_props);
+        $first = true;
+        while ($rev = $changes->next()) {
+            // enforce view permission
+            if (mayAccessPage('view', $rev->_pagename)) {
+		$props = $this->item_properties($rev);
+                $rss->addItem($props,
+                              false,
+                              $this->pageURI($rev));
+                if ($first)
+                    $this->setValidators($rev);
+                $first = false;
+            }
+        }
+
+        $request->discardOutput();
+        $rss->finish();
+        printf("\n<!-- Generated by PhpWiki-%s:\n%s-->\n", PHPWIKI_VERSION, $GLOBALS['RCS_IDS']);
+        // Flush errors in comment, otherwise it's invalid XML.
+        global $ErrorManager;
+        if (($errors = $ErrorManager->getPostponedErrorsAsHTML()))
+            printf("\n<!-- PHP Warnings:\n%s-->\n", AsXML($errors));
+
+        $request->finish();     // NORETURN!!!!
+    }
+
+    function item_properties ($rev) {
+        $page = $rev->getPage();
+        $pagename = $page->getName();
+        return array( 'title'           => $pagename,
+                      'link'            => array('rel' => 'alternate',
+						 'type' => 'text/html',
+						 'href' => $this->pageURL($rev)),
+                      'summary'         => $this->summary($rev),
+                      'modified'        => $this->time($rev)."Z",
+                      'issued'          => $this->time($rev),
+                      'created'         => $this->time($rev)."Z",
+                      'author'          => new XmlElement('author', new XmlElement('name', $rev->get('author')))
+                      );
+    }
+}
+
+/**
+ * Filter by non-empty
+ */
 class NonDeletedRevisionIterator extends WikiDB_PageRevisionIterator
 {
     /** Constructor
@@ -730,6 +930,71 @@
 
 }
 
+/**
+ * Filter by only_new.
+ * Only new created pages
+ */
+class NewPageRevisionIterator extends WikiDB_PageRevisionIterator
+{
+    /** Constructor
+     *
+     * @param $revisions object a WikiDB_PageRevisionIterator.
+     */
+    function NewPageRevisionIterator ($revisions) {
+        $this->_revisions = $revisions;
+    }
+
+    function next () {
+        while (($rev = $this->_revisions->next())) {
+            if ($rev->getVersion() == 1)
+                return $rev;
+        }
+        $this->free();
+        return false;
+    }
+}
+
+/**
+ * Filter by author
+ */
+class AuthorPageRevisionIterator extends WikiDB_PageRevisionIterator
+{
+    function AuthorPageRevisionIterator ($revisions, $author) {
+        $this->_revisions = $revisions;
+        $this->_author = $author;
+    }
+
+    function next () {
+        while (($rev = $this->_revisions->next())) {
+            if ($rev->get('author_id') == $this->_author)
+                return $rev;
+        }
+        $this->free();
+        return false;
+    }
+}
+
+/**
+ * Filter by owner
+ */
+class OwnerPageRevisionIterator extends WikiDB_PageRevisionIterator
+{
+    function OwnerPageRevisionIterator ($revisions, $owner) {
+        $this->_revisions = $revisions;
+        $this->_owner = $owner;
+    }
+
+    function next () {
+        while (($rev = $this->_revisions->next())) {
+	    $page = $rev->getPage();
+            if ($page->getOwner() == $this->_owner)
+                return $rev;
+        }
+        $this->free();
+        return false;
+    }
+}
+
 class WikiPlugin_RecentChanges
 extends WikiPlugin
 {
@@ -739,7 +1004,7 @@
 
     function getVersion() {
         return preg_replace("/[Revision: $]/", '',
-                            "\$Revision: 1.109 $");
+                            "\$Revision: 1.119 $");
     }
 
     function managesValidators() {
@@ -766,6 +1031,9 @@
                      'show_major'   => true,
                      'show_all'     => false,
                      'show_deleted' => 'sometimes',
+		     'only_new'     => false,
+		     'author'       => false,
+		     'owner'        => false,
                      'limit'        => false,
                      'format'       => false,
                      'daylist'      => false,
@@ -794,7 +1062,9 @@
         return $args;
     }
 
-    function getMostRecentParams ($args) {
+    function getMostRecentParams (&$args) {
+    	$show_all = false; $show_minor = false; $show_major = false;
+    	$limit = false;
         extract($args);
 
         $params = array('include_minor_revisions' => $show_minor,
@@ -802,11 +1072,24 @@
                         'include_all_revisions' => !empty($show_all));
         if ($limit != 0)
             $params['limit'] = $limit;
-
-        if ($days > 0.0)
+        if (!empty($args['author'])) {
+            global $request;
+            if ($args['author'] == '[]')
+                $args['author'] = $request->_user->getID();
+            $params['author'] = $args['author'];
+        }
+        if (!empty($args['owner'])) {
+            global $request;
+            if ($args['owner'] == '[]')
+                $args['owner'] = $request->_user->getID();
+            $params['owner'] = $args['owner'];
+        }
+        if (!empty($days)) {
+          if ($days > 0.0)
             $params['since'] = time() - 24 * 3600 * $days;
-        elseif ($days < 0.0)
+          elseif ($days < 0.0)
             $params['since'] = 24 * 3600 * $days - time();
+        }
 
         return $params;
     }
@@ -814,12 +1097,19 @@
     function getChanges ($dbi, $args) {
         $changes = $dbi->mostRecent($this->getMostRecentParams($args));
 
-        $show_deleted = $args['show_deleted'];
+        $show_deleted = @$args['show_deleted'];
+        $show_all = @$args['show_all'];
         if ($show_deleted == 'sometimes')
-            $show_deleted = $args['show_minor'];
+            $show_deleted = @$args['show_minor'];
 
+        if (!empty($args['only_new']))
+            $changes = new NewPageRevisionIterator($changes);
+        if (!empty($args['author']))
+            $changes = new AuthorPageRevisionIterator($changes, $args['author']);
+        if (!empty($args['owner']))
+            $changes = new OwnerPageRevisionIterator($changes, $args['owner']);
         if (!$show_deleted)
-            $changes = new NonDeletedRevisionIterator($changes, !$args['show_all']);
+            $changes = new NonDeletedRevisionIterator($changes, !$show_all);
 
         return $changes;
     }
@@ -834,6 +1124,8 @@
                 $fmt_class = '_RecentChanges_RssFormatter';
             elseif ($format == 'rss2')
                 $fmt_class = '_RecentChanges_Rss2Formatter';
+            elseif ($format == 'atom')
+                $fmt_class = '_RecentChanges_AtomFormatter';
             elseif ($format == 'rss091') {
                 include_once "lib/RSSWriter091.php";
                 $fmt_class = '_RecentChanges_RssFormatter091';
@@ -842,6 +1134,8 @@
                 $fmt_class = '_RecentChanges_SideBarFormatter';
             elseif ($format == 'box')
                 $fmt_class = '_RecentChanges_BoxFormatter';
+            elseif ($format == 'contribs')
+                $fmt_class = '_RecentChanges_UserContribsFormatter';
             else
                 $fmt_class = '_RecentChanges_HtmlFormatter';
         }
@@ -872,8 +1166,10 @@
         $args['show_deleted'] = 'sometimes';
         $args['show_all'] = false;
         $args['days'] = 90;
-        return $this->makeBox(WikiLink($this->getName(),'',SplitPagename($this->getName())),
-                              $this->format($this->getChanges($request->_dbi, $args), $args));
+        return $this->makeBox(WikiLink($this->getName(),'',
+                                       SplitPagename($this->getName())),
+                              $this->format
+                              ($this->getChanges($request->_dbi, $args), $args));
     }
 
 };
@@ -895,6 +1191,8 @@
                 $caption = _("Show all changes for:");
             else
                 $caption = _("Show changes for:");
+	    if ($only_new)
+                $caption = _("All new pages since:");
         }
 
         $this->pushContent($caption, ' ');
@@ -927,6 +1225,36 @@
 }
 
 // $Log: RecentChanges.php,v $
+// Revision 1.119  2007/07/01 09:17:45  rurban
+// add ATOM support, a very questionable format
+//
+// Revision 1.118  2007/06/02 18:24:59  rurban
+// global WikiTheme
+//
+// Revision 1.117  2007/05/30 20:43:31  rurban
+// added MonoBook UserContribs
+//
+// Revision 1.116  2007/05/13 18:13:41  rurban
+// use all filters, not just the first, ignoring the others. improve wording a bit
+//
+// Revision 1.115  2007/04/08 16:24:10  rurban
+// Remove redundant code in ->authorLink(): 'if_known' does the same
+//
+// Revision 1.114  2007/02/17 22:39:44  rurban
+// format=rss overhaul
+//
+// Revision 1.113  2007/02/17 14:15:52  rurban
+// new argument owner=[] for RecentChangesMyPages
+//
+// Revision 1.112  2007/01/28 20:32:07  rurban
+// silence empty warning
+//
+// Revision 1.111  2007/01/25 21:48:52  rurban
+// new argument author=[]
+//
+// Revision 1.110  2007/01/22 23:51:36  rurban
+// new arg: only_new
+//
 // Revision 1.109  2006/03/19 14:26:29  rurban
 // sf.net patch by Matt Brown: Add rel=nofollow to more actions
 //
diff -ruN 1.3.12p3/lib/plugin/_Retransform.php 1.3.14/lib/plugin/_Retransform.php
--- 1.3.12p3/lib/plugin/_Retransform.php	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/lib/plugin/_Retransform.php	2007-07-01 05:11:08.000000000 -0500
@@ -0,0 +1,101 @@
+<?php // -*-php-*-
+rcs_id('$Id: _Retransform.php,v 1.1 2007/01/07 18:45:09 rurban Exp $');
+/**
+ Copyright 2007 $ThePhpWikiProgrammingTeam
+
+ This file is part of PhpWiki.
+
+ PhpWiki is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ PhpWiki is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with PhpWiki; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+/**
+ * Only useful for link and parser debugging purposes.
+ */
+class WikiPlugin__Retransform
+extends WikiPlugin
+{
+    function getName () {
+        return _("Retransform CachedMarkup");
+    }
+
+    function getDescription () {
+        return sprintf(_("Show a markup retransformation of page %s."), '[pagename]');
+    }
+
+    function getVersion() {
+        return preg_replace("/[Revision: $]/", '',
+                            "\$Revision: 1.1 $");
+    }
+
+    function getDefaultArguments() {
+        return array('page' => '[pagename]',
+		     );
+    }
+
+    function run($dbi, $argstr, &$request, $basepage) {
+        $args = $this->getArgs($argstr, $request);
+        extract($args);
+        if (empty($page))
+            return '';
+
+        $html = HTML(HTML::h3(fmt("Retransform page '%s'",
+                                  $page)));
+
+	// bypass WikiDB and cache, go directly through the backend.
+        $backend = &$dbi->_backend;
+        //$pagedata = $backend->get_pagedata($page);
+        $version = $backend->get_latest_version($page);
+        $vdata = $backend->get_versiondata($page, $version, true);
+
+        include_once('lib/PageType.php');
+	$formatted = new TransformedText($dbi->getPage($page), $vdata['%content'], $vdata);
+	$content =& $formatted->_content;
+	$html->pushContent($this->_DebugPrintArray($content));
+	$links = $formatted->getWikiPageLinks();
+        if (count($links) > 0) {
+          $html->pushContent(HTML::h3("Links"));	
+	  $html->pushContent($this->_DebugPrintArray($links));
+        }
+        return $html;	
+    }
+
+    function _DebugPrintArray(&$array) {
+    	$html = HTML();
+    	foreach ($array as $line) {
+  	  ob_start();
+          print_r($line);
+          $s = HTML::pre(ob_get_contents());
+          ob_end_clean();
+	  $html->pushContent($s);
+	}
+	return $html;
+    }
+    
+};
+
+// $Log: _Retransform.php,v $
+// Revision 1.1  2007/01/07 18:45:09  rurban
+// Add internally used parser debugging plugin
+//
+
+// (c-file-style: "gnu")
+// Local Variables:
+// mode: php
+// tab-width: 8
+// c-basic-offset: 4
+// c-hanging-comment-ender-p: nil
+// indent-tabs-mode: nil
+// End:
+?>
diff -ruN 1.3.12p3/lib/plugin/SearchHighlight.php 1.3.14/lib/plugin/SearchHighlight.php
--- 1.3.12p3/lib/plugin/SearchHighlight.php	2006-06-18 06:19:23.000000000 -0500
+++ 1.3.14/lib/plugin/SearchHighlight.php	2007-07-01 05:11:06.000000000 -0500
@@ -1,7 +1,7 @@
 <?php // -*-php-*-
-rcs_id('$Id: SearchHighlight.php,v 1.1 2004/09/26 14:58:36 rurban Exp $');
+rcs_id('$Id: SearchHighlight.php,v 1.3 2007/01/21 13:20:08 rurban Exp $');
 /*
-Copyright 2004 $ThePhpWikiProgrammingTeam
+Copyright 2004,2007 $ThePhpWikiProgrammingTeam
 
 This file is NOT part of PhpWiki.
 
@@ -23,12 +23,14 @@
 require_once("lib/TextSearchQuery.php");
 require_once("lib/PageList.php");
 
-/** When someone is referred from a search engine like Google, Yahoo
+/** 
+ * When someone is referred from a search engine like Google, Yahoo
  * or our own fulltextsearch, the terms they search for are highlighted.
  * See http://wordpress.org/about/shots/1.2/plugins.png
  *
- * Could be hooked from lib/display.php (but then not possible for actionpages) 
- * or at request->flush or on a template. (if google referrer, search)
+ * This plugin is normally just used to print a header through an action page.
+ * The highlighting is done through InlineParser automatically if ENABLE_SEARCHHIGHLIGHT is enabled.
+ * If hits = 1, then the list of found terms is also printed.
  */
 class WikiPlugin_SearchHighlight
 extends WikiPlugin
@@ -43,11 +45,14 @@
 
     function getVersion() {
         return preg_replace("/[Revision: $]/", '',
-                            "\$Revision: 1.1 $");
+                            "\$Revision: 1.3 $");
     }
 
     function getDefaultArguments() {
-        return array('s'        => false,
+        // s, engine and engine_url are picked from the request
+        return array('noheader' => false,    //don't print the header
+                     'hits'     => false,    //print the list of lines with lines terms additionally
+                     's'        => false,
                      'case_exact' => false,  //not yet supported
                      'regex'    => false,    //not yet supported
                      );
@@ -55,43 +60,62 @@
 
     function run($dbi, $argstr, &$request, $basepage) {
         $args = $this->getArgs($argstr, $request);
+        if (empty($args['s']) and isset($request->_searchhighlight)) {
+            $args['s'] = $request->_searchhighlight['query'];
+        }
         if (empty($args['s']))
             return '';
-
         extract($args);
-
-        $query = new TextSearchQuery($s, $case_exact, $regex);
-        //$pages = $dbi->fullSearch($query);
-        $lines = array();
-        $hilight_re = $query->getHighlightRegexp();
-        $page = $request->getPage();
-        return $this->showhits($page, $hilight_re);
+        $html = HTML();
+        if (!$noheader and isset($request->_searchhighlight)) {
+            $engine = $request->_searchhighlight['engine'];
+            $html->pushContent(HTML::div(array('class' => 'search-context'),
+            				 fmt("%s: Found %s through %s", 
+            				     $basepage,
+                                             $request->_searchhighlight['query'], 
+                                             $engine)));
+        }
+        if ($hits) {
+            $query = new TextSearchQuery($s, $case_exact, $regex);
+            $lines = array();
+            $hilight_re = $query->getHighlightRegexp();
+            $page = $request->getPage();
+            $html->pushContent($this->showhits($page, $hilight_re));
+        }
+        return $html;
     }
 
     function showhits($page, $hilight_re) {
         $current = $page->getCurrentRevision();
         $matches = preg_grep("/$hilight_re/i", $current->getContent());
-        $html = array();
+        $html = HTML::dl();
         foreach ($matches as $line) {
             $line = $this->highlight_line($line, $hilight_re);
-            $html[] = HTML::dd(HTML::small(array('class' => 'search-context'),
-                                           $line));
+            $html->pushContent(HTML::dd(array('class' => 'search-context'),
+                                        HTML::small($line)));
         }
         return $html;
     }
 
     function highlight_line ($line, $hilight_re) {
+        $html = HTML();
         while (preg_match("/^(.*?)($hilight_re)/i", $line, $m)) {
             $line = substr($line, strlen($m[0]));
-            $html[] = $m[1];    // prematch
-            $html[] = HTML::strong(array('class' => 'search-term'), $m[2]); // match
+            // prematch + match
+            $html->pushContent($m[1], HTML::strong(array('class' => 'search-term'), $m[2])); 
         }
-        $html[] = $line;        // postmatch
+        $html->pushContent($line);       // postmatch
         return $html;
     }
 };
 
 // $Log: SearchHighlight.php,v $
+// Revision 1.3  2007/01/21 13:20:08  rurban
+// Fix hits display
+//
+// Revision 1.2  2007/01/20 15:53:51  rurban
+// Rewrite of SearchHighlight: through ActionPage and InlineParser
+//
 // Revision 1.1  2004/09/26 14:58:36  rurban
 // naive SearchHighLight implementation
 //
diff -ruN 1.3.12p3/lib/plugin/SemanticRelations.php 1.3.14/lib/plugin/SemanticRelations.php
--- 1.3.12p3/lib/plugin/SemanticRelations.php	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/lib/plugin/SemanticRelations.php	2007-07-01 05:11:06.000000000 -0500
@@ -0,0 +1,151 @@
+<?php // -*-php-*-
+rcs_id('$Id: SemanticRelations.php,v 1.4 2007/01/25 07:42:22 rurban Exp $');
+/*
+ Copyright 2005 Reini Urban
+
+ This file is part of PhpWiki.
+
+ PhpWiki is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ PhpWiki is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with PhpWiki; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+/**
+ * SemanticRelations - Display the list of relations and attributes of given page(s).
+ * Relations are stored in the link table.
+ * Attributes as simple page meta-data.
+ *
+ * @author: Reini Urban
+ * @see WikiPlugin_SemanticSearch
+ */
+class WikiPlugin_SemanticRelations
+extends WikiPlugin
+{
+    function getName() {
+        return _("SemanticRelations");
+    }
+    function getDescription() {
+        return _("Display the list of relations and attributes on this page.");
+    }
+    function getVersion() {
+        return preg_replace("/[Revision: $]/", '',
+                            "\$Revision: 1.4 $");
+    }
+    function getDefaultArguments() { 
+        return array(
+                     'page'       => "[pagename]", // which pages (glob allowed), default: current
+                     'relations'  => '', // which relations. default all
+                     'attributes' => '', // which attributes. default all
+                     'units'      => '', // ?
+                     'noheader'   => false,
+                     'nohelp'     => false
+                     );
+    }
+    function run ($dbi, $argstr, &$request, $basepage) { 
+        global $WikiTheme;
+        $args = $this->getArgs($argstr, $request);
+        extract($args);
+        if (empty($page))
+            $page = $request->getArg('pagename');
+        $relhtml = HTML();
+        foreach (explodePageList($page) as $pagename) {
+            $p = $dbi->getPage($pagename);
+            $links = $p->getRelations(); // iter of pagelinks
+            // TODO: merge same relations together located_in::here, located_in::there
+            while ($object = $links->next()) {
+                if ($related = $object->get('linkrelation')) { // a page name
+                    $rellink = WikiLink($related, false, $related);
+                    $rellink->setAttr('class', $rellink->getAttr('class').' relation');
+                    $relhtml->pushContent
+                        ($pagename . " ",
+                         // Link to a special "Relation:" InterWiki link?
+                         $rellink, 
+                         HTML::span(array('class'=>'relation-symbol'), "::"), // use spaces?
+                         WikiLink($object->_pagename), 
+                         " ",
+                         // Link to SemanticSearch
+                         $WikiTheme->makeActionButton(array('relation' => $related,
+                                                            's'   => $object->_pagename),
+                                                      '+',
+                                                      _("SemanticSearch")),
+                         HTML::br());
+                }
+            }
+            if (!empty($relhtml->_content) and !$noheader)
+                $relhtml = HTML(HTML::hr(),
+                                HTML::h3(fmt("Semantic relations for %s", $pagename)),
+                                $relhtml);
+            $atthtml = HTML();
+            if ($attributes = $p->get('attributes')) { // a hash of unique pairs
+                foreach ($attributes as $att => $val) {
+                    $rellink = WikiLink($att, false, $att);
+                    $rellink->setAttr('class', $rellink->getAttr('class').' relation');
+                    $searchlink = $WikiTheme->makeActionButton
+			(array('attribute' => $att,
+			       's'         => $val),
+			 '+',
+			 _("SemanticSearch"));
+                    if (!$noheader)
+                        $atthtml->pushContent("$pagename  ");
+		    $atthtml->pushContent(HTML::span($rellink, 
+						     HTML::span(array('class'=>'relation-symbol'), 
+								":="), 
+						     HTML($val)),
+					  " ", $searchlink,
+					  HTML::br());
+                }
+                if (!$noheader)
+                    $relhtml = HTML($relhtml,
+                                    HTML::hr(),
+                                    HTML::h3(fmt("Attributes of %s", $pagename)), 
+                                    $atthtml);
+                else
+                    $relhtml = HTML($relhtml, $atthtml);
+            }
+        }
+        if ($nohelp) return $relhtml;
+        return HTML($relhtml, 
+                    HTML::hr(), 
+                    WikiLink(_("Help/SemanticRelations"), false,
+                             HTML::em(_("Help/SemanticRelations"))),
+                    " - ",
+                    HTML::em(_("Find out how to add relations and attributes to pages.")));
+    }
+
+};
+
+// $Log: SemanticRelations.php,v $
+// Revision 1.4  2007/01/25 07:42:22  rurban
+// Use CSS formatting for ::=
+//
+// Revision 1.3  2007/01/03 21:23:06  rurban
+// Clarify description: "on this page".
+//
+// Revision 1.2  2007/01/02 13:22:41  rurban
+// default pagename: current. improve output: class, linked attributes. switch to SemanticSearch argument s
+//
+// Revision 1.1  2005/11/21 20:14:20  rurban
+// Plugin to display the list of SemanticRelations - list of relations and
+// attributes of given page(s).
+// Relations are stored in the link table.
+// Attributes as simple page meta-data.
+//
+
+// Local Variables:
+// mode: php
+// tab-width: 8
+// c-basic-offset: 4
+// c-hanging-comment-ender-p: nil
+// indent-tabs-mode: nil
+// End:
+?>
diff -ruN 1.3.12p3/lib/plugin/SemanticSearch.php 1.3.14/lib/plugin/SemanticSearch.php
--- 1.3.12p3/lib/plugin/SemanticSearch.php	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/lib/plugin/SemanticSearch.php	2007-07-01 05:11:06.000000000 -0500
@@ -0,0 +1,451 @@
+<?php // -*-php-*-
+rcs_id('$Id: SemanticSearch.php,v 1.4 2007/01/04 16:44:22 rurban Exp $');
+/*
+ Copyright 2007 Reini Urban
+
+ This file is part of PhpWiki.
+
+ PhpWiki is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ PhpWiki is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with PhpWiki; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+require_once('lib/PageList.php');
+require_once('lib/TextSearchQuery.php');
+require_once('lib/Units.php');
+require_once("lib/SemanticWeb.php");
+
+/**
+ * Search for relations/attributes and its values.
+ * page - relation::object. e.g list all cities: is_a::city => relation=is_a&s=city
+ * We search for both a relation and if the search is valid for attributes also, 
+ * and OR combine the result.
+ *
+ * An attribute has just a value, which is a number, and which is for sure no pagename, 
+ * and its value goes through some units unification. (not yet)
+ * We can also do numerical comparison and unit lifting with attributes. 
+ *   population > 1000000 
+ *   population > 1 million
+ *
+ * Limitation: 
+ * - The backends can already do simple AND/OR combination of multiple 
+ *   relations and attributes to search for. Just the UI not. TODO: implement the AND/OR buttons.
+ *     population < 1 million AND area > 50 km2
+ * - Due to attribute internals a relation search with matching attribute names will also 
+ *   find those attribute names, but not the values. You must explicitly search for attributes then.
+ *
+ * The Advanced query can do a freeform query expression with multiple comparison and nesting. 
+ *   "is_a::city and population > 1.000.000 and population < 10.000.000"
+ *   "(is_a::city or is_a::country) and population < 10.000.000"
+ * 
+ * @author: Reini Urban
+ */
+class WikiPlugin_SemanticSearch
+extends WikiPlugin
+{
+    function getName() {
+        return _("SemanticSearch");
+    }
+    function getDescription() {
+        return _("Search relations and attributes");
+    }
+    function getVersion() {
+        return preg_replace("/[Revision: $]/", '',
+                            "\$Revision: 1.4 $");
+    }
+    function getDefaultArguments() { 
+        return array_merge
+            (
+             PageList::supportedArgs(),  // paging and more.
+	     array(
+		   's'          => "*",  // linkvalue query string
+		   'page'       => "*",  // which pages (glob allowed), default: all
+		   'relation'   => '',   // linkname. which relations. default all
+		   'attribute'  => '',   // linkname. which attributes. default all
+		   'attr_op'    => ':=', // a funny written way for equality for pure aesthetic pleasure 
+		   			 // "All attributes which have this value set"
+		   'units'      => '',   // ?
+		   'case_exact' => false,
+		   'regex'      => 'auto',
+		   'noform'     => false, // don't show form with results.
+		   'noheader'   => false,  // no caption
+		   'info'       => false  // valid: pagename,relation,linkto,attribute,value and all other pagelist columns
+		   ));
+    }
+
+    function showForm (&$dbi, &$request, $args) {
+    	global $WikiTheme;
+	$action = $request->getPostURL();
+	$hiddenfield = HiddenInputs($request->getArgs(),'',
+				    array('action','page','s','semsearch',
+					  'relation','attribute'));
+	$pagefilter = HTML::input(array('name' => 'page',
+					'value' => $args['page'],
+					'title' => _("Search only in these pages. With autocompletion."),
+					'class' => 'dropdown', 
+					'acdropdown' => 'true', 
+					'autocomplete_complete' => 'true',
+					'autocomplete_matchsubstring' => 'false', 
+					'autocomplete_list' => 'xmlrpc:wiki.titleSearch ^[S] 4'
+					), '');
+	$allrelations = $dbi->listRelations(false,false,true);
+	$svalues = empty($allrelations) ? "" : join("','", $allrelations);
+	$reldef = JavaScript("var semsearch_relations = new Array('".$svalues."')");
+	$relation = HTML::input(array('name' => 'relation', 
+				      'value' => $args['relation'],
+				      'title' => _("Filter by this relation. With autocompletion."),
+				      'class' => 'dropdown', 
+				      'style' => 'width:10em',
+				      'acdropdown' => 'true', 
+				      'autocomplete_assoc' => 'false', 
+				      'autocomplete_complete' => 'true', 
+				      'autocomplete_matchsubstring' => 'true', 
+				      'autocomplete_list' => 'array:semsearch_relations'
+				      ), '');
+	$queryrel = HTML::input(array('name' => 's', 
+				      'value' => $args['s'],
+				      'title' => _("Filter by this link. These are pagenames. With autocompletion."),
+				      'class' => 'dropdown', 
+				      'acdropdown' => 'true', 
+				      'autocomplete_complete' => 'true', 
+				      'autocomplete_matchsubstring' => 'true', 
+				      'autocomplete_list' => 'xmlrpc:wiki.titleSearch ^[S] 4'
+				      ), '');
+	$relsubmit = Button('submit:semsearch[relations]',  _("Relations"), false);
+	// just testing some dhtml... not yet done
+	$enhancements = HTML();
+	$nbsp = HTML::raw('&nbsp;');
+	$this_uri = $_SERVER['REQUEST_URI'].'#';
+	$andbutton = new Button(_("AND"),$this_uri,'wikiaction',
+				array(
+				      'onclick' => "addquery('rel', 'and')",
+				      'title' => _("Add an AND query")));
+	$orbutton = new Button(_("OR"),$this_uri,'wikiaction',
+				array(
+				      'onclick' => "addquery('rel', 'or')",
+				      'title' => _("Add an OR query")));
+	if (DEBUG)
+	    $enhancements = HTML::span($andbutton, $nbsp, $orbutton);  
+	$instructions = _("Search in pages for a relation with that value (a pagename).");
+	$form1 = HTML::form(array('action' => $action,
+				  'method' => 'post',
+				  'accept-charset' => $GLOBALS['charset']),
+			    $reldef,
+			    $hiddenfield, HiddenInputs(array('attribute'=>'')),
+			    $instructions, HTML::br(),
+			    HTML::table
+			    (array('border' => 0,'cellspacing' => 2),
+			     HTML::colgroup(array('span' => 6)),
+			     HTML::thead
+			     (HTML::th(''),HTML::th('Pagefilter'),HTML::th('Relation'),
+			      HTML::th(''),HTML::th(array('span' => 2),'Links')),
+			     HTML::tbody
+			     (HTML::tr(
+				       HTML::td($nbsp,$nbsp,$nbsp),
+				       HTML::td($pagefilter, ": "),
+				       HTML::td($relation),
+				       HTML::td(HTML::strong(HTML::tt('  ::  '))), 
+				       HTML::td($queryrel),
+				       HTML::td($nbsp, $relsubmit, 
+						$nbsp, $enhancements)))));
+
+	$allattrs = $dbi->listRelations(false,true,true);
+	if (empty($allrelations) and empty($allattrs)) // be nice to the dummy.
+	    $this->_norelations_warning = 1;
+	$svalues = empty($allattrs) ? "" : join("','", $allattrs);
+	$attdef = JavaScript("var semsearch_attributes = new Array('".$svalues."')\n"
+	                    ."var semsearch_op = new Array('"
+	                          .join("','", $this->_supported_operators)
+	                          ."')");
+        // TODO: We want some more tricks: Autofill the base unit of the selected 
+        // attribute into the s area.
+	$attribute = HTML::input(array('name' => 'attribute', 
+				       'value' => $args['attribute'],
+				       'title' => _("Filter by this attribute name. With autocompletion."),
+				       'class' => 'dropdown', 
+				       'style' => 'width:10em',
+				       'acdropdown' => 'true', 
+				       'autocomplete_complete' => 'true', 
+				       'autocomplete_matchsubstring' => 'true', 
+				       'autocomplete_assoc' => 'false', 
+				       'autocomplete_list' => 'array:semsearch_attributes'
+				       /* 'autocomplete_onselect' => 'check_unit' */
+				      ), '');
+	$attr_op = HTML::input(array('name' => 'attr_op', 
+				        'value' => $args['attr_op'],
+				        'title' => _("Comparison operator. With autocompletion."),
+				        'class' => 'dropdown', 
+				        'style' => 'width:2em',
+				        'acdropdown' => 'true', 
+				        'autocomplete_complete' => 'true', 
+				        'autocomplete_matchsubstring' => 'true', 
+				        'autocomplete_assoc' => 'false', 
+				        'autocomplete_list' => 'array:semsearch_op'
+				      ), '');
+	$queryatt = HTML::input(array('name' => 's', 
+				      'value' => $args['s'],
+				      'title' => _("Filter by this numeric attribute value. With autocompletion."), //?
+				      'class' => 'dropdown', 
+				      'acdropdown' => 'false',
+				      'autocomplete_complete' => 'true', 
+				      'autocomplete_matchsubstring' => 'false', 
+				      'autocomplete_assoc' => 'false',
+				      'autocomplete_list' => 'plugin:SemanticSearch page='.$args['page'].' attribute=^[S] attr_op==~'
+				      ), '');
+	$andbutton = new Button(_("AND"),$this_uri,'wikiaction',
+				array(
+				      'onclick' => "addquery('attr', 'and')",
+				      'title' => _("Add an AND query")));
+	$orbutton = new Button(_("OR"),$this_uri,'wikiaction',
+				array(
+				      'onclick' => "addquery('attr', 'or')",
+				      'title' => _("Add an OR query")));
+	if (DEBUG)
+	    $enhancements = HTML::span($andbutton, $nbsp, $orbutton);
+	$attsubmit = Button('submit:semsearch[attributes]', _("Attributes"), false);
+	$instructions = HTML::span(_("Search in pages for an attribute with that numeric value."),"\n");
+	if (DEBUG)
+	    $instructions->pushContent
+		(HTML(" ", new Button(_("Advanced..."),_("SemanticSearchAdvanced"))));
+	$form2 = HTML::form(array('action' => $action,
+				  'method' => 'post',
+				  'accept-charset' => $GLOBALS['charset']),
+			    $attdef, 
+			    $hiddenfield, HiddenInputs(array('relation'=>'')),
+			    $instructions, HTML::br(),
+			    HTML::table
+			    (array('border' => 0,'cellspacing' => 2),
+			     HTML::colgroup(array('span' => 6)),
+			     HTML::thead
+			     (HTML::th(''),HTML::th('Pagefilter'),HTML::th('Attribute'),
+			      HTML::th('Op'),HTML::th(array('span' => 2),'Value')),
+			     HTML::tbody
+			     (HTML::tr(
+				       HTML::td($nbsp,$nbsp,$nbsp),
+				       HTML::td($pagefilter, ": "),
+				       HTML::td($attribute), 
+				       HTML::td($attr_op),
+				       HTML::td($queryatt),
+				       HTML::td($nbsp, $attsubmit,
+						$nbsp, $enhancements)))));
+	
+	return HTML($form1, $form2);
+    }
+ 
+    function run ($dbi, $argstr, &$request, $basepage) { 
+        global $WikiTheme;
+	                          
+	$this->_supported_operators = array(':=','<','<=','>','>=','!=','==','=~'); 
+        $this->_text_operators = array(':=','==','=~','!=');
+        $args = $this->getArgs($argstr, $request);
+        if (empty($args['page']))
+            $args['page'] = "*";
+        if (!isset($args['s'])) // it might be (integer) 0
+            $args['s'] = "*";
+	$posted = $request->getArg("semsearch");
+	$form = $this->showForm($dbi, $request, $args);
+	if (isset($this->_norelations_warning))
+	    $form->pushContent
+		(HTML::div(array('class' => 'warning'),
+			   _("Warning:"),HTML::br(),
+			   _("No relations nor attributes in the whole wikidb defined!") 
+			   ,"\n"
+			   ,fmt("See %s",WikiLink(_("Help:SemanticRelations")))));
+        extract($args);
+	// for convenience and harmony we allow GET requests also.
+	if (!$request->isPost()) {
+	    if ($relation or $attribute) // check for good GET request
+	        ;
+	    else     
+	        return $form; // nobody called us, so just display our supadupa form
+	}
+        $pagequery = new TextSearchQuery($page, $args['case_exact'], $args['regex']);
+        // we might want to check for semsearch['relations'] and semsearch['attributes'] also
+	if (empty($relation) and empty($attribute)) {
+	    // so we just clicked without selecting any relation. 
+	    // hmm. check which button we clicked, before we do the massive alltogether search.
+	    if (isset($posted['relations']) and $posted['relations'])
+		$relation = '*';
+	    elseif (isset($posted['attributes']) and $posted['attributes']) {
+		$attribute = '*';
+		// here we have to check for invalid text operators. ignore it then
+		if (!in_array($attr_op, $this->_text_operators))
+		    $attribute = '';
+	    }
+	}
+	$searchtype = "Text";
+	if (!empty($relation)) {
+	    $querydesc = $relation."::".$s;
+	    $linkquery = new TextSearchQuery($s, $args['case_exact'], $args['regex']);
+	    $relquery = new TextSearchQuery($relation, $args['case_exact'], $args['regex']);
+	    $links = $dbi->linkSearch($pagequery, $linkquery, 'relation', $relquery);
+	    $pagelist = new PageList($info, $exclude, $args);
+	    $pagelist->_links = array();
+	    while ($link = $links->next()) {
+	        $pagelist->addPage($link['pagename']);
+	        $pagelist->_links[] = $link;
+	    }
+	    // default (=empty info) wants all three. but we want to be able to override this.
+	    // $pagelist->_columns_seen is the exploded info
+	    if (!$info or ($info and isset($pagelist->_columns_seen['relation'])))
+	        $pagelist->addColumnObject
+		    (new _PageList_Column_SemanticSearch_relation('relation', _("Relation"), $pagelist));
+	    if (!$args['info'] or ($args['info'] and isset($pagelist->_columns_seen['linkto'])))
+	        $pagelist->addColumnObject
+		    (new _PageList_Column_SemanticSearch_link('linkto', _("Link"), $pagelist));
+	}
+	// can we merge two different pagelist?
+	if (!empty($attribute)) {
+	    $relquery = new TextSearchQuery($attribute, $args['case_exact'], $args['regex']);
+	    if (!in_array($attr_op, $this->_supported_operators)) {
+		return HTML($form,$this->error(fmt("Illegal operator: %s",
+					           HTML::tt($attr_op))));
+	    }
+	    $s_base = preg_replace("/,/","", $s);
+	    $units = new Units();
+	    if (!is_numeric($s_base)) {
+	        $s_base = $units->basevalue($s_base);
+	        $is_numeric = is_numeric($s_base);
+	    } else {
+	        $is_numeric = true;
+	    }
+	    // check which type to search with:
+	    // at first check if forced text matcher
+	    if ($attr_op == '=~') {
+		if ($s == '*') $s = '.*'; // help the poor user. we need pcre syntax.	
+		$linkquery = new TextSearchQuery("$s", $args['case_exact'], 'pcre');
+		$querydesc = "$attribute $attr_op $s";
+	    } elseif ($is_numeric) { // do comparison with numbers 
+		/* We want to search for multiple attributes also. linkSearch can do this. 
+		 * But we have to construct the query somehow. (that's why we try the AND OR dhtml)
+		 *     population < 1 million AND area > 50 km2
+		 * Here we check only for one attribute per page.  
+		 * See SemanticSearchAdvanced for the full expression.
+		 */
+		// it might not be the best idea to use '*' as variable to expand. hmm.
+		if ($attribute == '*') $attribute = '_star_'; 
+		$searchtype = "Numeric";
+		$query = $attribute." ".$attr_op." ".$s_base;
+		$linkquery = new SemanticAttributeSearchQuery($query, $attribute, $units->baseunit($s));
+		if ($attribute == '_star_') $attribute = '*'; 
+		$querydesc = $attribute." ".$attr_op." ".$s;
+
+	    // no number or unit: check other text matchers or '*' MATCH_ALL
+	    } elseif (in_array($attr_op, $this->_text_operators)) {
+		if ($attr_op == '=~') {
+		    if ($s == '*') $s = '.*'; // help the poor user. we need pcre syntax.	
+		    $linkquery = new TextSearchQuery("$s", $args['case_exact'], 'pcre');
+		}
+		else		                                 
+		    $linkquery = new TextSearchQuery("$s", $args['case_exact'], $args['regex']);
+		$querydesc = "$attribute $attr_op $s";
+
+	    // should we fail or skip when the user clicks on Relations?
+	    } elseif (isset($posted['relations']) and $posted['relations'])  {
+		$linkquery = false; // skip
+	    } else {
+		$querydesc = $attribute." ".$attr_op." ".$s;
+		return HTML($form, $this->error(fmt("Only text operators can be used with strings: %s",
+						    HTML::tt($querydesc))));
+		
+	    }
+	    if ($linkquery) {
+		$links = $dbi->linkSearch($pagequery, $linkquery, 'attribute', $relquery);
+		if (empty($relation)) {
+		    $pagelist = new PageList($args['info'], $args['exclude'], $args);
+		    $pagelist->_links = array();
+		}
+		while ($link = $links->next()) {
+		    $pagelist->addPage($link['pagename']);
+		    $pagelist->_links[] = $link;
+		}
+	        // default (=empty info) wants all three. but we want to override this.
+	        if (!$args['info'] or ($args['info'] and isset($pagelist->_columns_seen['attribute'])))
+		    $pagelist->addColumnObject
+		        (new _PageList_Column_SemanticSearch_relation('attribute', _("Attribute"), $pagelist));
+	        if (!$args['info'] or ($args['info'] and isset($pagelist->_columns_seen['value'])))
+		    $pagelist->addColumnObject
+		        (new _PageList_Column_SemanticSearch_link('value', _("Value"), $pagelist));
+	    }
+	}
+	if (!isset($pagelist)) {
+	    $querydesc = _("<empty>");
+	    $pagelist = new PageList();
+	}
+	if (!$noheader) {
+	// We put the form into the caption just to be able to return one pagelist object, 
+	// and to still have the convenience form at the top. we could workaround this by 
+	// putting the form as WikiFormRich into the actionpage. but thid doesnt look as 
+	// nice as this here.
+	    $pagelist->setCaption
+	    (   // on mozilla the form doesn't fit into the caption very well.
+		HTML($noform ? '' : HTML($form,HTML::hr()),
+	             fmt("Semantic %s Search Result for \"%s\" in pages \"%s\"",$searchtype,$querydesc,$page)));
+	}
+	return $pagelist;
+    }
+};
+
+class _PageList_Column_SemanticSearch_relation 
+extends _PageList_Column 
+{
+    function _PageList_Column_SemanticSearch_relation ($field, $heading, &$pagelist) {
+	$this->_field = $field;
+        $this->_heading = $heading;
+	$this->_need_rev = false;
+	$this->_iscustom = true;
+	$this->_pagelist =& $pagelist;
+    }
+    function _getValue(&$page, $revision_handle) {
+	if (is_object($page)) $text = $page->getName();
+        else $text = $page;
+        $link = $this->_pagelist->_links[$this->current_row];
+        return WikiLink($link['linkname'],'if_known');
+    }
+}
+class _PageList_Column_SemanticSearch_link 
+extends _PageList_Column_SemanticSearch_relation 
+{
+    function _getValue(&$page, $revision_handle) {
+	if (is_object($page)) $text = $page->getName();
+        else $text = $page;
+        $link = $this->_pagelist->_links[$this->current_row];
+        if ($this->_field != 'value')
+            return WikiLink($link['linkvalue'],'if_known');
+        else    
+	    return $link['linkvalue'];
+    }
+}
+
+// $Log: SemanticSearch.php,v $
+// Revision 1.4  2007/01/04 16:44:22  rurban
+// Fix the info argument: e.g. try info=pagename or info=relation,linkto. Sorry, the pagename is always there.
+//
+// Revision 1.3  2007/01/03 21:23:15  rurban
+// Use Units and SemanticWeb: "population > 0.5 million or area < 100m^2" will work. Add help link if no relations are defined yet. Add attr_op=~ to attribute livesearch
+//
+// Revision 1.2  2007/01/02 13:23:06  rurban
+// add SemanticSearch with internal form
+//
+// Revision 1.1  2006/03/07 20:52:01  rurban
+// not yet working good enough
+//
+
+// Local Variables:
+// mode: php
+// tab-width: 8
+// c-basic-offset: 4
+// c-hanging-comment-ender-p: nil
+// indent-tabs-mode: nil
+// End:
+?>
diff -ruN 1.3.12p3/lib/plugin/SpellCheck.php 1.3.14/lib/plugin/SpellCheck.php
--- 1.3.12p3/lib/plugin/SpellCheck.php	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/lib/plugin/SpellCheck.php	2007-07-01 05:11:07.000000000 -0500
@@ -0,0 +1,207 @@
+<?php // -*-php-*-
+rcs_id('$Id: SpellCheck.php,v 1.2 2007/05/29 16:56:41 rurban Exp $');
+/**
+ Copyright 2006,2007 $ThePhpWikiProgrammingTeam
+
+ This file is part of PhpWiki.
+
+ PhpWiki is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ PhpWiki is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with PhpWiki; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+/**
+ * SpellCheck is a plugin, used inside the editpage.tmpl (on save or preview)
+ * This could be a userpref option always highlighting words in preview
+ * or it could be an extra button in edit.
+ *
+ * The pspell extension is better, because it's easier to store corrections.
+ * Enchant looks more promising, because it supports multiple speller backends.
+ *
+ * Currently we do use aspell (via pspell or cmdline) in ispell mode. 
+ * Maybe enchant later.
+ * cmdline preparation:
+  do autosplit wikiwords && sed s,^,\^^, $pagename | aspell --lang=$LANG -a
+    or 
+  sed s,^,\^^, $pagename | aspell --lang=$LANG -a -C
+=>
+  & phpwiki 62 30: pipework, paprika, Popek, Phip, Pike, Viki, pike, ...
+ */
+
+// Those settings should really be defined in config.ini, not here.
+if (!function_exists('pspell_new_config')) {
+    // old pipe interface:
+    if (!defined('ASPELL_EXE'))
+        define('ASPELL_EXE','aspell');
+    //define('ASPELL_EXE','/usr/local/bin/aspell');
+    //define('ASPELL_EXE','/home/groups/p/ph/phpwiki/bin/aspell');
+    if (!defined('ASPELL_DATA_DIR'))
+        if (isWindows())
+            define('ASPELL_DATA_DIR','c:\cygwin\usr\share\aspell');
+        else
+            define('ASPELL_DATA_DIR','/usr/share/aspell');
+    //define('ASPELL_DATA_DIR','/home/groups/p/ph/phpwiki/share/highlight');
+} else {
+    // new library interface through the pspell extension:
+    // "/var/dictionaries/custom.pws"
+    if (!defined('PSPELL_PWL'))
+	define('PSPELL_PWL', '');  // phpwiki-special wordlist
+    // "/var/dictionaries/custom.repl"
+    if (!defined('PSPELL_REPL'))
+	define('PSPELL_REPL', ''); // phpwiki-special replacement list (persistent replacements)
+}
+
+class WikiPlugin_SpellCheck
+extends WikiPlugin
+{
+    function getName () {
+        return _("Spell Checker");
+    }
+    function getDescription () {
+        return _("Check the spelling of a page and make suggestions");
+    }
+    function managesValidators() {
+        return true;
+    }
+    function getVersion() {
+        return preg_replace("/[Revision: $]/", '',
+                            "\$Revision: 1.2 $");
+    }
+    function getDefaultArguments() {
+        return array('pagename' => '[]', // button or preview highlight?
+                     );
+    }
+
+    function pspell_check ($text, $lang=false) {
+        global $charset;
+        if ($lang) $lang = $GLOBALS['LANG'];
+        $words = preg_split('/[\W]+?/', $text);
+
+        $misspelled = $return = array();
+        $pspell_config = pspell_config_create($lang, "", "", $charset, 
+                                              PSPELL_NORMAL|PSPELL_RUN_TOGETHER);
+        //pspell_config_runtogether($pspell_config, true);
+        if (PSPELL_PWL)
+            pspell_config_personal($pspell_config, PSPELL_PWL);
+        if (PSPELL_REPL)
+            pspell_config_repl($pspell_config, PSPELL_REPL);
+        $pspell = pspell_new_config($pspell_config);
+
+        foreach ($words as $value) {
+            // SplitPagename $value
+            if (!pspell_check($pspell, $value)) {
+                $misspelled[] = $value;
+            }
+        }
+        foreach ($misspelled as $value) {
+            $return[$value] = pspell_suggest($pspell, $value);
+        }
+        return $return;
+    }
+
+    function pspell_correct ($text, $corrections) {
+        ;
+    }
+
+    function run($dbi, $argstr, &$request, $basepage) {
+        extract($this->getArgs($argstr, $request));
+        $page = $dbi->getPage($pagename);
+        $current = $page->getCurrentRevision(); 
+        $source = $current->getPackedContent();
+
+        if (empty($source))
+            return $this->error(fmt("empty source"));
+	if ($basepage == _("SpellCheck"))
+            return $this->error(fmt("Cannot SpellCheck myself"));
+	$lang = $page->get('lang');
+	if (empty($lang)) $lang = $GLOBALS['LANG'];
+	$html = HTML();
+        if (!function_exists('pspell_new_config')) {
+	    // use the aspell commandline interface
+            include_once("lib/WikiPluginCached.php");
+            $args = "";
+            $source = preg_replace("/^/m", "^", $source);
+            if (ASPELL_DATA_DIR)
+                $args .= " --data-dir=" . ASPELL_DATA_DIR;
+	    // MAYBE TODO: do we have the language dictionary?
+	    $args .= " --lang=" . $lang;
+            // use -C or autosplit wikiwords in the text
+            $commandLine = ASPELL_EXE . " -a -C $args ";
+            $cache = new WikiPluginCached;
+            $code = $cache->filterThroughCmd($source, $commandLine);
+            if (empty($code))
+                return $this->error(fmt("Couldn't start commandline '%s'",$commandLine));
+	    $sugg = array();
+	    foreach (preg_split("/\n/", $code) as $line) {
+		if (preg_match("/^& (\w+) \d+ \d+: (.+)$/", $line, $m)) {
+		    $sugg[$m[1]] = preg_split("/, /", $m[2]);
+		}
+	    }
+            /*$pre = HTML::pre(HTML::raw($code));
+            $pre->setAttr('class','tightenable top bottom');
+            $html->pushContent($pre);*/
+        } else {
+            $sugg = pspell_check($source, $lang);
+        }
+	//$html->pushContent(HTML::hr(),HTML::h1(_("Spellcheck")));
+	$page = $request->getPage();
+	if ($version) {
+	    $revision = $page->getRevision($version);
+	    if (!$revision)
+		NoSuchRevision($request, $page, $version);
+	}
+	else {
+	    $revision = $page->getCurrentRevision();
+	}
+	$GLOBALS['request']->setArg('suggestions', $sugg);
+        include_once("lib/BlockParser.php");
+	$ori_html = TransformText($revision, $revision->get('markup'), $page);
+	$GLOBALS['request']->setArg('suggestions', false);
+
+        $html->pushContent($ori_html, HTML::hr(), HTML::h1(_("SpellCheck result")));
+
+	$list = HTML::ul();
+	foreach ($sugg as $word => $suggs) {
+	    $w = HTML::span(array('class' => 'spell-wrong'), $word);
+	    // TODO: optional replace-link. jscript or request button with word replace.
+	    $r = HTML();
+	    foreach ($suggs as $s) {
+		$r->pushContent(HTML::a(array('class' => 'spell-sugg',
+					      'href' => "javascript:do_replace('$word','$s')"), 
+					$s),", ");
+	    }
+	    $list->pushContent(HTML::li($w, ": ", $r));
+	}
+	$html->pushContent($list);
+	return $html;
+    }
+};
+
+// $Log: SpellCheck.php,v $
+// Revision 1.2  2007/05/29 16:56:41  rurban
+// Fix recursion
+//
+// Revision 1.1  2007/01/20 11:23:26  rurban
+// New plugin and ActionPage
+//
+//
+
+// For emacs users
+// Local Variables:
+// mode: php
+// tab-width: 8
+// c-basic-offset: 4
+// c-hanging-comment-ender-p: nil
+// indent-tabs-mode: nil
+// End:
+?>
diff -ruN 1.3.12p3/lib/plugin/SqlResult.php 1.3.14/lib/plugin/SqlResult.php
--- 1.3.12p3/lib/plugin/SqlResult.php	2006-06-18 06:19:23.000000000 -0500
+++ 1.3.14/lib/plugin/SqlResult.php	2007-07-01 05:11:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php // -*-php-*-
-rcs_id('$Id: SqlResult.php,v 1.7 2005/02/27 12:37:14 rurban Exp $');
+rcs_id('$Id: SqlResult.php,v 1.8 2006/08/25 22:15:15 rurban Exp $');
 /*
  Copyright 2004 $ThePhpWikiProgrammingTeam
  
@@ -73,7 +73,7 @@
 
     function getVersion() {
         return preg_replace("/[Revision: $]/", '',
-                            "\$Revision: 1.7 $");
+                            "\$Revision: 1.8 $");
     }
 
     function getDefaultArguments() {
@@ -148,8 +148,7 @@
             }
         } else { // unless PearDB use the included ADODB, regardless if dba, file or PDO, ...
             if ($DBParams['dbtype'] != 'ADODB') {
-                // require_once('lib/WikiDB/adodb/adodb-errorhandler.inc.php');
-                require_once('lib/WikiDB/adodb/adodb.inc.php');
+                require_once('lib/WikiDB/backend/ADODB.php');
             }
             $parsed = parseDSN($inidsn);
             $dbh = &ADONewConnection($parsed['phptype']); 
@@ -221,6 +220,9 @@
 };
 
 // $Log: SqlResult.php,v $
+// Revision 1.8  2006/08/25 22:15:15  rurban
+// simplify require ADODB
+//
 // Revision 1.7  2005/02/27 12:37:14  rurban
 // update comments
 //
diff -ruN 1.3.12p3/lib/plugin/SyncWiki.php 1.3.14/lib/plugin/SyncWiki.php
--- 1.3.12p3/lib/plugin/SyncWiki.php	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/lib/plugin/SyncWiki.php	2007-07-01 05:11:07.000000000 -0500
@@ -0,0 +1,379 @@
+<?php // -*-php-*-
+rcs_id('$Id: SyncWiki.php,v 1.3 2007/03/18 10:34:42 rurban Exp $');
+/**
+ Copyright 2006 $ThePhpWikiProgrammingTeam
+
+ This file is part of PhpWiki.
+
+ PhpWiki is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ PhpWiki is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with PhpWiki; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+/**
+ * required argument:  url = <rpc interface to main wiki>
+ * optional arguments: noimport, noexport, noupload
+ *	
+ * 1. check RPC2 interface or admin url (lang?) of external wiki
+ *    get external pagelist, only later than our last mergepoint
+ * 2. Download all externally changed sources:
+ *    If local page is older than the mergepoint, import it.
+ *    If local page does not exist (deleted?), and there is no revision, import it.
+ *    Else we deleted it. Skip the import, but don't delete the external. Should be added to conflict.
+ *    If local page is newer than the mergepoint, then add it to the conflict pages.
+ * 3. check our to_delete, to_add, to_merge 
+ * 4. get our pagelist of pages only later than our last mergepoint
+ * 5. check external to_delete, to_add, to_merge
+ * 6. store log (where, how?)
+ */
+require_once("lib/loadsave.php");
+include_once("lib/plugin/WikiAdminUtils.php");
+
+class WikiPlugin_SyncWiki
+extends WikiPlugin_WikiAdminUtils
+{
+    function getName () {
+        return _("SyncWiki");
+    }
+
+    function getDescription () {
+        return _("Synchronize pages with external PhpWiki");
+    }
+
+    function getVersion() {
+        return preg_replace("/[Revision: $]/", '',
+                            "\$Revision: 1.3 $");
+    }
+
+    function getDefaultArguments() {
+        return array('url'    => '',
+		     'noimport' => 0,
+		     'noexport' => 0,
+		     'noupload' => 0,
+		     'label'  => $this->getName(),
+		     //'userid' => false,
+		     'passwd' => false,
+		     'sid'    => false,
+		     );
+    }
+
+    function run($dbi, $argstr, &$request, $basepage) {
+        $args = $this->getArgs($argstr, $request);
+        $args['action'] = 'syncwiki';
+	extract($args);
+	if (empty($args['url']))
+	    return $this->error(fmt("A required argument '%s' is missing.", "url"));
+        if ($request->getArg('action') != 'browse')
+            return $this->disabled("(action != 'browse')");
+	$posted = $request->getArg('wikiadminutils');
+	if ($request->isPost() 
+	    and $posted['action'] == $action 
+	    and $posted['url'] == $url) // multiple buttons
+	{
+	    return $this->_do_syncwiki($request, $posted);
+	}
+        return $this->_makeButton($request, $args, $label);
+    }
+
+    function _do_syncwiki(&$request, $args) {
+	global $charset;
+	longer_timeout(240);
+
+	if (!function_exists('wiki_xmlrpc_post')) {
+	    include_once("lib/XmlRpcClient.php");
+	}
+	$userid = $request->_user->_userid;
+	$dbh = $request->getDbh();
+	$merge_point = $dbh->get('mergepoint');
+	if (empty($merge_point)) {
+	    $page = $dbh->getPage("ReleaseNotes"); // this is usually the latest official page
+	    $last = $page->getCurrentRevision(false);
+	    $merge_point = $last->get("mtime");    // for testing: 1160396075
+	    $dbh->set('mergepoint', $merge_point);
+	}
+	//TODO: remote auth, set session cookie
+	$pagelist = wiki_xmlrpc_post('wiki.getRecentChanges', 
+				     iso8601_encode($merge_point,1), 
+				     $args['url'], $args);
+	$html = HTML();
+	//$html->pushContent(HTML::div(HTML::em("check RPC2 interface...")));
+	if (gettype($pagelist) === "array") {
+	    //$request->_deferredPageChangeNotification = array();
+	    $request->discardOutput();
+	    StartLoadDump($request, _("Syncing this PhpWiki"));
+	    PrintXML(HTML::strong(fmt("Download all externally changed sources.")));
+	    echo "<br />\n";
+	    PrintXML(fmt("Retrieving from external url %s wiki.getRecentChanges(%s)...", 
+	             $args['url'], iso8601_encode($merge_point,1)));
+	    echo "<br />\n";
+	    $ouriter = $dbh->mostRecent(array('since' => $merge_point));
+	    //$ol = HTML::ol();
+	    $done = array();
+	    foreach ($pagelist as $ext) {
+		$reaction = _("<unknown>");
+		// compare existance and dates with local page
+		$extdate = iso8601_decode($ext['lastModified']->scalar,1);
+		// TODO: urldecode ???
+		$name = utf8_decode($ext['name']);
+		$our = $dbh->getPage($name);
+		$done[$name] = 1;
+		$ourrev  = $our->getCurrentRevision(false);
+		$rel = '<=>';
+		if (!$our->exists()) {
+		    // we might have deleted or moved it on purpose?
+		    // check date of latest revision if there's one, and > mergepoint
+		    if (($ourrev->getVersion() > 1) and ($ourrev->get('mtime') > $merge_point)) {
+			// our was deleted after sync, and changed after last sync.
+			$this->_addConflict('delete', $args, $our, $extdate);
+			$reaction = (_(" skipped")." ("."locally deleted or moved".")");
+		    } else {
+			$reaction = $this->_import($args, $our, $extdate);
+		    }
+		} else {
+		    $ourdate = $ourrev->get('mtime');
+		    if ($extdate > $ourdate and $ourdate < $merge_point) {
+		    	$rel = '>';
+			$reaction = $this->_import($args, $our, $extdate);
+		    } elseif ($extdate > $ourdate and $ourdate >= $merge_point) {
+		    	$rel = '>';
+			// our is older then external but newer than last sync
+			$reaction = $this->_addConflict('import', $args, $our, $extdate);
+		    } elseif ($extdate < $ourdate and $extdate < $merge_point) {
+		    	$rel = '>';
+			$reaction = $this->_export($args, $our);
+		    } elseif ($extdate < $ourdate and $extdate >= $merge_point) {
+		    	$rel = '>';
+			// our is newer and external is also newer
+			$reaction = $this->_addConflict('export', $args, $our, $extdate);
+		    } else {
+		    	$rel = '==';
+			$reaction = _("same date");
+		    }
+		}
+		/*$ol->pushContent(HTML::li(HTML::strong($name)," ",
+					  $extdate,"<=>",$ourdate," ",
+					  HTML::strong($reaction))); */
+		PrintXML(HTML::strong($name)," ",
+			 $extdate," $rel ",$ourdate," ",
+			 HTML::strong($reaction),
+			 HTML::br());
+		$request->chunkOutput();
+	    }
+	    //$html->pushContent($ol);
+	} else {
+	    $html->pushContent("xmlrpc error:  wiki.getRecentChanges returned "
+	                  ."(".gettype($pagelist).") ".$pagelist);
+	    trigger_error("xmlrpc error:  wiki.getRecentChanges returned "
+	                  ."(".gettype($pagelist).") ".$pagelist, E_USER_WARNING);
+	    EndLoadDump($request);
+            return $this->error($html);
+	}
+
+	if (empty($args['noexport'])) {
+	    PrintXML(HTML::strong(fmt("Now upload all locally newer pages.")));
+	    echo "<br />\n";
+	    PrintXML(fmt("Checking all local pages newer than %s...", 
+	             iso8601_encode($merge_point,1)));
+	    echo "<br />\n";
+	    while ($our = $ouriter->next()) {
+		$name = $our->getName();
+		if ($done[$name]) continue;
+		$reaction = _(" skipped");
+		$ext = wiki_xmlrpc_post('wiki.getPageInfo', $name, $args['url']);
+		if (is_array($ext)) {
+		    $extdate = iso8601_decode($ext['lastModified']->scalar,1);
+		    $ourdate = $our->get('mtime');
+		    if ($extdate < $ourdate and $extdate < $merge_point) {
+			$reaction = $this->_export($args, $our);
+		    } elseif ($extdate < $ourdate and $extdate >= $merge_point) {
+			// our newer and external newer
+			$reaction = $this->_addConflict($args, $our, $extdate);
+		    }
+		} else {
+		    $reaction = 'xmlrpc error';
+		}
+		PrintXML(HTML::strong($name)," ",
+			 $extdate," < ",$ourdate," ",
+			 HTML::strong($reaction),
+			 HTML::br());
+		$request->chunkOutput();
+	    }
+
+	    PrintXML(HTML::strong(fmt("Now upload all locally newer uploads.")));
+	    echo "<br />\n";
+	    PrintXML(fmt("Checking all local uploads newer than %s...", 
+	             iso8601_encode($merge_point,1)));
+	    echo "<br />\n";
+	    $this->_fileList = array();
+	    $prefix = getUploadFilePath();
+	    $this->_dir($prefix);
+	    $len = strlen($prefix);
+	    foreach ($this->_fileList as $path) {
+		// strip prefix
+		$file = substr($path,$len);
+		$ourdate = filemtime($path);
+		$oursize = filesize($path);
+		$reaction = _(" skipped");
+		$ext = wiki_xmlrpc_post('wiki.getUploadedFileInfo', $file, $args['url']);
+		if (is_array($ext)) {
+		    $extdate = iso8601_decode($ext['lastModified']->scalar,1);
+		    $extsize = $ext['size'];
+		    if (empty($extsize) or $extdate < $ourdate) {
+			$timeout = $oursize * 0.0002;  // assume 50kb/sec upload speed
+			$reaction = $this->_upload($args, $path, $timeout);
+		    }
+		} else {
+		    $reaction = 'xmlrpc error wiki.getUploadedFileInfo not supported';
+		}
+		PrintXML(HTML::strong($name)," ",
+			 "$extdate ($extsize) < $ourdate ($oursize)",
+			 HTML::strong($reaction),
+			 HTML::br());
+		$request->chunkOutput();
+	    }
+	}
+
+	$dbh->set('mergepoint', time());
+	EndLoadDump($request);
+	return ''; //$html;
+    }
+
+    /* path must have ending slash */
+    function _dir($path) {
+	$dh = @opendir($path);
+	while ($filename = readdir($dh)) {
+	    if ($filename[0] == '.')
+		continue;
+	    $ft = filetype($path . $filename);
+	    if ($ft == 'file')
+		array_push($this->_fileList, $path . $filename);
+	    else if ($ft == 'dir')
+		$this->_dir($path . $filename . "/");
+	}
+	closedir($dh);
+    }
+
+    function _addConflict($what, $args, $our, $extdate = null) {
+	$pagename = $our->getName();
+	$meb = Button(array('action' => $args['action'],
+			    'merge'=> true,
+			    'source'=> $f),
+		      _("Merge Edit"),
+		      $args['pagename'],
+		      'wikiadmin');
+	$owb = Button(array('action' => $args['action'],
+			    'overwrite'=> true,
+			    'source'=> $f),
+		      sprintf(_("%s force"), strtoupper(substr($what, 0, 1)).substr($what, 1)),
+		      $args['pagename'],
+		      'wikiunsafe');
+	$this->_conflicts[] = $pagename;
+	return HTML(fmt(_("Postponed %s for %s."), $what, $pagename), " ", $meb, " ", $owb);
+    }
+
+    // TODO: store log or checkpoint for restauration?
+    function _import($args, $our, $extdate = null) {
+	global $request;
+	$reaction = 'import ';
+	if ($args['noimport']) return ($reaction._("skipped"));
+	//$userid = $request->_user->_userid;
+	$name = $our->getName();
+	$pagedata = wiki_xmlrpc_post('wiki.getPage', $name, $args['url']);
+	if (is_object($pagedata)) {
+	    $pagedata = $pagedata->scalar;
+	    $ourrev  = $our->getCurrentRevision(true);
+	    $content = $ourrev->getPackedContent();
+	    if ($pagedata == $content)
+	    	return $reaction . _("skipped").' '._("same content");
+	    if (is_null($extdate))
+	        $extdate = time();	
+	    $our->save(utf8_decode($pagedata), -1, array('author' => $userid,
+	    						 'mtime' => $extdate));
+	    $reaction .= _("OK");
+	} else 
+	      $reaction .= (_("FAILED").' ('.gettype($pagedata).')');
+	return $reaction;
+    }
+
+    // TODO: store log or checkpoint for restauration?
+    function _export($args, $our) {
+	global $request;
+	$reaction = 'export ';
+	if ($args['noexport']) return ($reaction._("skipped"));
+	$userid  = $request->_user->_userid;
+	$name    = $our->getName();
+	$ourrev  = $our->getCurrentRevision(true);
+	$content = $ourrev->getPackedContent();
+	$extdata = wiki_xmlrpc_post('wiki.getPage', $name, $args['url']);
+	if (is_object($extdata)) {
+	    $extdata = $extdata->scalar;
+	    if ($extdata == $content)
+	    	return $reaction . _("skipped").' '._("same content");
+	}
+	$mypass  = $request->getPref('passwd'); // this usually fails
+	$success = wiki_xmlrpc_post('wiki.putPage',
+				    array($name, $content, $userid, $mypass), $args['url']);
+	if (is_array($success)) {
+	    if ($success['code'] == 200)
+	        $reaction .= (_("OK").' '.$success['code']." ".$success['message']);
+	    else
+	        $reaction .= (_("FAILED").' '.$success['code']." ".$success['message']);
+	} else 
+	    $reaction .= (_("FAILED"));
+	return $reaction;
+    }
+
+    // TODO: store log or checkpoint for restauration?
+    function _upload($args, $path, $timeout) {
+	global $request;
+	$reaction = 'upload ';
+	if ($args['noupload']) return ($reaction._("skipped"));
+
+	//$userid  = $request->_user->_userid;
+	$url = $args['url'];
+	$url = str_replace("/RPC2.php","/index.php", $url);
+	$server = parse_url($url);
+	$http = new HttpClient($server['host'], $server['port']);
+	$http->timeout = $timeout + 5;
+	$success = $http->postfile($server['url'], $path);
+	if ($success) {
+	    if ($http->getStatus() == 200)
+	        $reaction .= _("OK");
+	    else
+	        $reaction .= (_("FAILED").' '.$http->getStatus());
+	} else
+	    $reaction .= (_("FAILED").' '.$http->getStatus()." ".$http->errormsg);
+	return $reaction;
+    }
+};
+
+// $Log: SyncWiki.php,v $
+// Revision 1.3  2007/03/18 10:34:42  rurban
+// Fix for multiple buttons
+//
+// Revision 1.2  2007/01/20 11:24:46  rurban
+// Be more strict: link to merge conflicts (not yet handled)
+//
+// Revision 1.1  2007/01/02 13:22:57  rurban
+// add SyncWiki
+//
+
+// For emacs users
+// Local Variables:
+// mode: php
+// tab-width: 8
+// c-basic-offset: 4
+// c-hanging-comment-ender-p: nil
+// indent-tabs-mode: nil
+// End:
+?>
diff -ruN 1.3.12p3/lib/plugin/Template.php 1.3.14/lib/plugin/Template.php
--- 1.3.12p3/lib/plugin/Template.php	2006-06-18 06:19:23.000000000 -0500
+++ 1.3.14/lib/plugin/Template.php	2007-07-01 05:11:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php // -*-php-*-
-rcs_id('$Id: Template.php,v 1.4 2005/09/11 13:30:22 rurban Exp $');
+rcs_id('$Id: Template.php,v 1.9 2007/03/04 14:09:13 rurban Exp $');
 /*
  Copyright 2005 $ThePhpWikiProgrammingTeam
 
@@ -20,7 +20,6 @@
  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
 
-
 /**
  * Template: Parametrized blocks.
  *    Include text from a wiki page and replace certain placeholders by parameters.
@@ -46,7 +45,7 @@
  *
  * <noinclude> .. </noinclude> is stripped
  *
- * In work:
+ * See also:
  * - ENABLE_MARKUP_TEMPLATE = true: (lib/InlineParser.php)
  *   Support a mediawiki-style syntax extension which maps 
  *     {{TemplateFilm|title=Some Good Film|year=1999}}
@@ -67,32 +66,41 @@
 
     function getVersion() {
         return preg_replace("/[Revision: $]/", '',
-                            "\$Revision: 1.4 $");
+                            "\$Revision: 1.9 $");
     }
 
     function getDefaultArguments() {
         return array( 
                      'page'    => false, // the page to include
-                     'vars'    => false,
+                     'vars'    => false, // TODO: get rid of this, all remaining args should be vars
                      'rev'     => false, // the revision (defaults to most recent)
                      'section' => false, // just include a named section
                      'sectionhead' => false // when including a named section show the heading
                      );
     }
-
+    function allow_undeclared_arg($name, $value) {
+    	// either just allow it or you can store it here away also. 
+    	$this->vars[$name] = $value;
+    	return $name != 'action';
+    }
+    // TODO: check if page can really be pulled from the args, or if it is just the basepage. 
     function getWikiPageLinks($argstr, $basepage) {
-        extract($this->getArgs($argstr));
+        $args = $this->getArgs($argstr);
+	$page = @$args['page'];
         if ($page) {
             // Expand relative page names.
             $page = new WikiPageName($page, $basepage);
         }
         if (!$page or !$page->name)
             return false;
-        return array($page->name);
+        return array(array('linkto' => $page->name, 'relation' => 0));
     }
                 
     function run($dbi, $argstr, &$request, $basepage) {
-        extract($this->getArgs($argstr, $request));
+    	$this->vars = array();
+        $args = $this->getArgs($argstr, $request);
+	$vars = $args['vars'] ? $args['vars'] : $this->vars;
+	$page = $args['page'];
         if ($page) {
             // Expand relative page names.
             $page = new WikiPageName($page, $basepage);
@@ -110,11 +118,11 @@
         }
 
         $p = $dbi->getPage($page);
-        if ($rev) {
-            $r = $p->getRevision($rev);
+        if ($args['rev']) {
+            $r = $p->getRevision($args['rev']);
             if (!$r) {
                 return $this->error(sprintf(_("%s(%d): no such revision"),
-                                            $page, $rev));
+                                            $page, $args['rev']));
             }
         } else {
             $r = $p->getCurrentRevision();
@@ -122,8 +130,8 @@
         $initial_content = $r->getPackedContent();
         $c = explode("\n", $initial_content);
 
-        if ($section) {
-            $c = extractSection($section, $c, $page, $quiet, $sectionhead);
+        if ($args['section']) {
+            $c = extractSection($args['section'], $c, $page, $quiet, $args['sectionhead']);
             $initial_content = implode("\n", $c);
         }
 
@@ -131,59 +139,86 @@
             $initial_content = preg_replace("/<noinclude>.+?<\/noinclude>/s", "", 
                                             $initial_content);
         }
-        if (preg_match('/%%\w+%%/', $initial_content)) // need variable expansion
+	$this->doVariableExpansion($initial_content, $vars, $basepage, $request);
+
+        array_push($included_pages, $page);
+
+        include_once('lib/BlockParser.php');
+        $content = TransformText($initial_content, $r->get('markup'), $page);
+
+        array_pop($included_pages);
+
+        return HTML::div(array('class' => 'template'), $content);
+    }
+
+    /**
+     * Expand template variables. Used by the TemplatePlugin and the CreatePagePlugin
+     */
+    function doVariableExpansion(&$content, $vars, $basepage, &$request) {
+        if (preg_match('/%%\w+%%/', $content)) // need variable expansion
         {
+            $dbi =& $request->_dbi;
             $var = array();
-            if (!empty($vars)) {
+            if (is_string($vars) and !empty($vars)) {
                 foreach (split("&",$vars) as $pair) {
                     list($key,$val) = split("=",$pair);
                     $var[$key] = $val;
                 }
-            }
+            } elseif (is_array($vars)) {
+		$var =& $vars;
+	    }
             $thispage = $dbi->getPage($basepage);
-            // pagename is not overridable
-            if (empty($var['pagename']))
-                $var['pagename'] = $page;
-            // those are overridable
-            if (empty($var['mtime']) and preg_match('/%%mtime%%/', $initial_content)) {
+            // pagename and userid are not overridable
+            $var['PAGENAME'] = $thispage->getName();
+            if (preg_match('/%%USERID%%/', $content))
+		$var['USERID'] = $request->_user->getId();
+            if (empty($var['MTIME']) and preg_match('/%%MTIME%%/', $content)) {
                 $thisrev  = $thispage->getCurrentRevision(false);
-                $var['mtime'] = $GLOBALS['WikiTheme']->formatDateTime($thisrev->get('mtime'));
+                $var['MTIME'] = $GLOBALS['WikiTheme']->formatDateTime($thisrev->get('mtime'));
             }
-            if (empty($var['ctime']) and preg_match('/%%ctime%%/', $initial_content)) {
+            if (empty($var['CTIME']) and preg_match('/%%CTIME%%/', $content)) {
                 if ($first = $thispage->getRevision(1,false))
-                    $var['ctime'] = $GLOBALS['WikiTheme']->formatDateTime($first->get('mtime'));
+                    $var['CTIME'] = $GLOBALS['WikiTheme']->formatDateTime($first->get('mtime'));
             }
-            if (empty($var['author']) and preg_match('/%%author%%/', $initial_content))
-                $var['author'] = $thispage->getAuthor();
-            if (empty($var['owner']) and preg_match('/%%owner%%/', $initial_content))
-                $var['owner'] = $thispage->getOwner();
-            if (empty($var['creator']) and preg_match('/%%creator%%/', $initial_content))
-                $var['creator'] = $thispage->getCreator();
+            if (empty($var['AUTHOR']) and preg_match('/%%AUTHOR%%/', $content))
+                $var['AUTHOR'] = $thispage->getAuthor();
+            if (empty($var['OWNER']) and preg_match('/%%OWNER%%/', $content))
+                $var['OWNER'] = $thispage->getOwner();
+            if (empty($var['CREATOR']) and preg_match('/%%CREATOR%%/', $content))
+                $var['CREATOR'] = $thispage->getCreator();
             foreach (array("SERVER_URL", "DATA_PATH", "SCRIPT_NAME", "PHPWIKI_BASE_URL") as $c) {
                 // constants are not overridable
-                if (preg_match('/%%'.$c.'%%/', $initial_content))
+                if (preg_match('/%%'.$c.'%%/', $content))
                     $var[$c] = constant($c);
             }
-            if (preg_match('/%%BASE_URL%%/', $initial_content))
+            if (preg_match('/%%BASE_URL%%/', $content))
                 $var['BASE_URL'] = PHPWIKI_BASE_URL;
 
             foreach ($var as $key => $val) {
-                $initial_content = preg_replace("/%%$key%%/", $val, $initial_content);
+                //$content = preg_replace("/%%".preg_quote($key,"/")."%%/", $val, $content);
+                $content = str_replace("%%".$key."%%", $val, $content);
             }
         }
-
-        array_push($included_pages, $page);
-
-        include_once('lib/BlockParser.php');
-        $content = TransformText($initial_content, $r->get('markup'), $page);
-
-        array_pop($included_pages);
-
-        return HTML::div(array('class' => 'template'), $content);
+	return $content;
     }
 };
 
 // $Log: Template.php,v $
+// Revision 1.9  2007/03/04 14:09:13  rurban
+// silence missing page warning
+//
+// Revision 1.8  2007/01/25 07:42:29  rurban
+// Changed doVariableExpansion API. Uppercase default vars. Use str_replace.
+//
+// Revision 1.7  2007/01/04 16:42:41  rurban
+// Improve vars passing. Use new method allow_undeclared_arg to allow arbitrary args for the template. Fix doVariableExpansion: use a ref. Fix pagename. Put away \b in regex.
+//
+// Revision 1.6  2007/01/03 21:24:06  rurban
+// protect page in links. new doVariableExpansion() for CreatePage. preg_quote custom vars.
+//
+// Revision 1.5  2006/04/17 17:28:21  rurban
+// honor getWikiPageLinks change linkto=>relation
+//
 // Revision 1.4  2005/09/11 13:30:22  rurban
 // improve comments
 //
diff -ruN 1.3.12p3/lib/plugin/TeX2png.php 1.3.14/lib/plugin/TeX2png.php
--- 1.3.12p3/lib/plugin/TeX2png.php	2006-06-18 06:19:23.000000000 -0500
+++ 1.3.14/lib/plugin/TeX2png.php	2007-07-01 05:11:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php // -*-php-*-
-rcs_id('$Id: TeX2png.php,v 1.3 2004/11/01 10:43:59 rurban Exp $');
+rcs_id('$Id: TeX2png.php,v 1.4 2007/01/07 18:46:15 rurban Exp $');
 /*
  Copyright 2004 Pierrick Meignen
 */
@@ -35,7 +35,7 @@
     }
     
     function getVersion() {
-        return preg_replace("/[Revision: $]/", '',"\$Revision: 1.3 $");
+        return preg_replace("/[Revision: $]/", '',"\$Revision: 1.4 $");
     }
     
     function getDefaultArguments() {
@@ -170,7 +170,7 @@
                 $this->createTexFile($texfile, $text);     
                 $this->createPngFile($this->imagepath, $imagename);
             } else {
-                $error_html = _("TeX directory not writable.");
+                $error_html = _("TeX imagepath not writable.");
                 trigger_error($error_html, E_USER_NOTICE);
             }
         }
@@ -221,6 +221,9 @@
 };
 
 // $Log: TeX2png.php,v $
+// Revision 1.4  2007/01/07 18:46:15  rurban
+// Wording: use imagepath
+//
 // Revision 1.3  2004/11/01 10:43:59  rurban
 // seperate PassUser methods into seperate dir (memory usage)
 // fix WikiUser (old) overlarge data session
diff -ruN 1.3.12p3/lib/plugin/text2png.php 1.3.14/lib/plugin/text2png.php
--- 1.3.12p3/lib/plugin/text2png.php	2006-06-18 06:19:23.000000000 -0500
+++ 1.3.14/lib/plugin/text2png.php	2007-07-01 05:11:07.000000000 -0500
@@ -1,7 +1,7 @@
 <?php // -*-php-*-
-rcs_id('$Id: text2png.php,v 1.13 2004/02/17 12:11:36 rurban Exp $');
+rcs_id('$Id: text2png.php,v 1.15 2007/01/04 16:42:50 rurban Exp $');
 /*
- Copyright 1999, 2000, 2001, 2002 $ThePhpWikiProgrammingTeam
+ Copyright 1999,2000,2001,2002,2007 $ThePhpWikiProgrammingTeam
 
  This file is part of PhpWiki.
 
@@ -23,7 +23,17 @@
 
 /**
  * File loading and saving diagnostic messages, to see whether an
- * image was saved to or loaded from the cache and what the path is
+ * image was saved to or loaded from the cache and what the path is.
+ *
+ * Convert text into a png image using GD without using [WikiPluginCached|Help:WikiPlugin].
+ * The images are stored in a private <PHPWIKI_DIR>/images/<LANG> subdirectory instead, 
+ * which are not timestamp checked at all. Delete the .png file(s) if you change anything.
+ * 
+ * This is a really simple and stupid plugin, which needs some work. 
+ * No size and color options, no change check.
+ *
+ * We'd need a ButtonCreator for the MacOSX theme buttons also.
+ * Via svg => png, or is gd2 good enough?
  *
  * PHP must be compiled with support for the GD library version 1.6 or
  * later to create PNG image files:
@@ -32,7 +42,8 @@
  *
  * See <http://www.php.net/manual/pl/ref.image.php> for more info.
  */
-define('text2png_debug', true);
+if (!defined('text2png_debug'))
+    define('text2png_debug', DEBUG & _DEBUG_VERBOSE);
 
 
 class WikiPlugin_text2png
@@ -48,20 +59,27 @@
 
     function getVersion() {
         return preg_replace("/[Revision: $]/", '',
-                            "\$Revision: 1.13 $");
+                            "\$Revision: 1.15 $");
     }
 
     function getDefaultArguments() {
         global $LANG;
-        return array('text' => "Hello WikiWorld!",
-                     'l'    => $LANG );
+	// TODO: add fixed size and center.
+        return array('text'    => "text2png testtext",
+                     'lang'    => $LANG, 
+                     '_force'      => 0,
+		     'fontsize'    => 18, // with GD1 it's the pixelsize, with GD2 the pointsize
+		     'with_shadow' => 1,
+		     'fontcolor'   => '#000000',
+		     'shadowcolor' => '#AFAFAF',
+		     'backcolor'   => '#ffffff');
         }
 
     function run($dbi, $argstr, &$request, $basepage) {
         if (ImageTypes() & IMG_PNG) {
             // we have gd & png so go ahead.
-            extract($this->getArgs($argstr, $request));
-            return $this->text2png($text,$l);
+            $args = $this->getArgs($argstr, $request);
+            return $this->text2png($args);
         } else {
             // we don't have png and/or gd.
             $error_html = _("Sorry, this version of PHP cannot create PNG image files.");
@@ -71,9 +89,24 @@
             return;
         }
     }
+    
+   /**
+    * Parse hexcolor into ordinal rgb array.
+    * '#000'    => array(0,0,0)
+    * '#000000' => array(0,0,0)
+    */
+    function hexcolor($h, $default=false) {
+	if ($h[0] != '#') return $default;
+	$rgb = substr($h,1);
+	if (strlen($rgb) == 3)
+	    return array(hexdec($rgb{0}),hexdec($rgb{1}),hexdec($rgb{2}));
+	elseif (strlen($rgb) == 6)
+	    return array(hexdec(substr($rgb,0,2)),hexdec(substr($rgb,2,2)),hexdec(substr($rgb,4,2)));
+	return $default;
+    }
 
-    function text2png($text, $l) {
-
+    function text2png($args) {
+	extract ($args);
         /**
          * Basic image creation and caching
          *
@@ -81,7 +114,7 @@
          * change the drawing routines!
          */
 
-        $filename = $text . ".png";
+        $filename = urlencode($text) . ".png"; // protect by urlencode!!!
 
         /**
          * FIXME: need something more elegant, and a way to gettext a
@@ -90,30 +123,48 @@
          */
 
         if ($l == "C") {
-            $l = "en";
-        } //english=C
-        $filepath = getcwd() . "/images/$l";
-
-        if (!file_exists($filepath ."/". $filename)) {
-
+            $l = "en"; //english=C
+        } else {
+            $l = urlencode ($l); // who on earth forgot his?
+        }
+	$basedir = "text2png-image";
+        $filepath = getUploadFilePath() . "$basedir/$l";
+        if ($_force or !file_exists($filepath.$filename)) {
             if (!file_exists($filepath)) {
                 $oldumask = umask(0);
                 // permissions affected by user the www server is running as
+                mkdir(getUploadFilePath() . $basedir, 0777);
                 mkdir($filepath, 0777);
                 umask($oldumask);
             }
-
-            // add trailing slash to save some keystrokes later
             $filepath .= "/";
-
             /**
              * prepare a new image
              *
              * FIXME: needs a dynamic image size depending on text
              *        width and height
              */
-            $im = @ImageCreate(150, 50);
 
+	    // got this logic from GraphViz
+	    if (defined('TTFONT'))
+		$ttfont = TTFONT;
+	    elseif (PHP_OS == "Darwin") // Mac OS X
+		$ttfont   = "/System/Library/Frameworks/JavaVM.framework/Versions/1.3.1/Home/lib/fonts/LucidaSansRegular.ttf";
+	    elseif (isWindows()) {
+		$ttfont = $_ENV['windir'].'\Fonts\Arial.ttf';
+	    } else {
+		$ttfont = 'luximr'; // This is the only what sourceforge offered.
+		//$ttfont = 'Helvetica';
+	    }
+
+            /* http://download.php.net/manual/en/function.imagettftext.php
+             * array imagettftext (int im, int size, int angle, int x, int y,
+             *                      int col, string fontfile, string text)
+             */
+
+            // get ready to draw
+	    $s = ImageTTFBBox($fontsize, 0, $ttfont, $text);
+            $im = @ImageCreate(abs($s[4])+20, abs($s[7])+10);
             if (empty($im)) {
                 $error_html = _("PHP was unable to create a new GD image stream. Read 'lib/plugin/text2png.php' for details.");
                 // FIXME: Error manager does not transform URLs passed
@@ -123,23 +174,18 @@
                 trigger_error( $error_html, E_USER_NOTICE );
                 return;
             }
-            // get ready to draw
-            $bg_color = ImageColorAllocate($im, 255, 255, 255);
-            $ttfont   = "/System/Library/Frameworks/JavaVM.framework/Versions/1.3.1/Home/lib/fonts/LucidaSansRegular.ttf";
-
-            /* http://download.php.net/manual/en/function.imagettftext.php
-             * array imagettftext (int im, int size, int angle, int x, int y,
-             *                      int col, string fontfile, string text)
-             */
-
-            // draw shadow
-            $text_color = ImageColorAllocate($im, 175, 175, 175);
-            // shadow is 1 pixel down and 2 pixels right
-            ImageTTFText($im, 10, 0, 12, 31, $text_color, $ttfont, $text);
-
+	    $rgb = $this->hexcolor($backcolor, array(255,255,255));
+            $bg_color = ImageColorAllocate($im, $rgb[0], $rgb[1], $rgb[2]);
+            if ($with_shadow) {
+	        $rgb = $this->hexcolor($shadowcolor, array(175,175,175));
+                $text_color = ImageColorAllocate($im, $rgb[0], $rgb[1], $rgb[2]);
+                // shadow is 1 pixel down and 2 pixels right
+                ImageTTFText($im, $fontsize, 0, 12, abs($s[7])+6, $text_color, $ttfont, $text);
+            }
             // draw text
-            $text_color = ImageColorAllocate($im, 0, 0, 0);
-            ImageTTFText($im, 10, 0, 10, 30, $text_color, $ttfont, $text);
+	    $rgb = $this->hexcolor($fontcolor, array(0,0,0));
+            $text_color = ImageColorAllocate($im, $rgb[0], $rgb[1], $rgb[2]);
+            ImageTTFText($im, $fontsize, 0, 10, abs($s[7])+5, $text_color, $ttfont, $text);
 
             /**
              * An alternate text drawing method in case ImageTTFText
@@ -174,11 +220,10 @@
                                   E_USER_NOTICE);
                 }
             }
-            $url = "images/$l/$filename";
-            if (defined('DATA_PATH'))
-                $url = DATA_PATH . "/$url";
+            $url =  getUploadDataPath()."$basedir/".urlencode($l)."/".urlencode($filename);
             $html->pushContent(HTML::img(array('src' => $url,
-                                               'alt' => $text)));
+                                               'alt' => $text,
+                                               'title' => '"'.$text.'"'. _(" produced by "). $this->getName())));
         } else {
             trigger_error(sprintf(_("couldn't open file '%s' for writing"),
                                   $filepath . $filename), E_USER_NOTICE);
@@ -188,6 +233,12 @@
 };
 
 // $Log: text2png.php,v $
+// Revision 1.15  2007/01/04 16:42:50  rurban
+// Replace VISULWIKIFONT by new TTFONT
+//
+// Revision 1.14  2007/01/03 21:24:15  rurban
+// Improve ttfont handling, we would really need an TTFONT cfg. add more options. Calc size. Parse hexcolor. Handle text2png_debug. urlencode filename and l for security. Changed to use the uploads/ path for the images.
+//
 // Revision 1.13  2004/02/17 12:11:36  rurban
 // added missing 4th basepage arg at plugin->run() to almost all plugins. This caused no harm so far, because it was silently dropped on normal usage. However on plugin internal ->run invocations it failed. (InterWikiSearch, IncludeSiteMap, ...)
 //
diff -ruN 1.3.12p3/lib/plugin/TitleSearch.php 1.3.14/lib/plugin/TitleSearch.php
--- 1.3.12p3/lib/plugin/TitleSearch.php	2006-06-18 06:19:23.000000000 -0500
+++ 1.3.14/lib/plugin/TitleSearch.php	2007-07-01 05:11:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php // -*-php-*-
-rcs_id('$Id: TitleSearch.php,v 1.28 2005/09/10 21:33:08 rurban Exp $');
+rcs_id('$Id: TitleSearch.php,v 1.29 2007/01/02 13:23:30 rurban Exp $');
 /**
  Copyright 1999,2000,2001,2002,2004,2005 $ThePhpWikiProgrammingTeam
 
@@ -49,7 +49,7 @@
 
     function getVersion() {
         return preg_replace("/[Revision: $]/", '',
-                            "\$Revision: 1.28 $");
+                            "\$Revision: 1.29 $");
     }
 
     function getDefaultArguments() {
@@ -83,6 +83,7 @@
             $pagelist->addPage($page);
             $last_name = $page->getName();
         }
+	// this hack will go away
         if ($args['format'] == 'livesearch') {
             $request->discardOutput();
             $request->buffer_output(false);
@@ -113,6 +114,9 @@
 };
 
 // $Log: TitleSearch.php,v $
+// Revision 1.29  2007/01/02 13:23:30  rurban
+// note to deprecate livesearch hack
+//
 // Revision 1.28  2005/09/10 21:33:08  rurban
 // support enhanced API
 //
diff -ruN 1.3.12p3/lib/plugin/Transclude.php 1.3.14/lib/plugin/Transclude.php
--- 1.3.12p3/lib/plugin/Transclude.php	2006-06-18 06:19:23.000000000 -0500
+++ 1.3.14/lib/plugin/Transclude.php	2007-07-01 05:11:07.000000000 -0500
@@ -1,7 +1,7 @@
 <?php // -*-php-*-
-rcs_id('$Id: Transclude.php,v 1.9 2004/06/14 11:31:39 rurban Exp $');
+rcs_id('$Id: Transclude.php,v 1.10 2006/10/12 18:45:40 rurban Exp $');
 /**
- Copyright 1999, 2000, 2001, 2002 $ThePhpWikiProgrammingTeam
+ Copyright 1999,2000,2001,2002,2006 $ThePhpWikiProgrammingTeam
 
  This file is part of PhpWiki.
 
@@ -57,7 +57,7 @@
 
     function getVersion() {
         return preg_replace("/[Revision: $]/", '',
-                            "\$Revision: 1.9 $");
+                            "\$Revision: 1.10 $");
     }
 
     function getDefaultArguments() {
@@ -75,12 +75,21 @@
         if (!$src) {
             return $this->error(fmt("%s parameter missing", "'src'"));
         }
+	// Expand possible interwiki link for src
+	if (strstr($src,':')
+            and (!strstr($src,'://'))
+            and ($intermap = getInterwikiMap()) 
+            and preg_match("/^" . $intermap->getRegexp() . ":/", $src)) 
+        {
+	    $link = $intermap->link($src);
+	    $src = $link->getAttr('href');
+	}
+
         // FIXME: Better recursion detection.
         // FIXME: Currently this doesnt work at all.
         if ($src == $request->getURLtoSelf() ) {
             return $this->error(fmt("recursive inclusion of url %s", $src));
         }
-
         if (! IsSafeURL($src)) {
             return $this->error(_("Bad url in src: remove all of <, >, \""));
         }
@@ -149,6 +158,9 @@
 };
 
 // $Log: Transclude.php,v $
+// Revision 1.10  2006/10/12 18:45:40  rurban
+// Expand possible interwiki link for Transclude src
+//
 // Revision 1.9  2004/06/14 11:31:39  rurban
 // renamed global $Theme to $WikiTheme (gforge nameclash)
 // inherit PageList default options from PageList
diff -ruN 1.3.12p3/lib/plugin/UpLoad.php 1.3.14/lib/plugin/UpLoad.php
--- 1.3.12p3/lib/plugin/UpLoad.php	2006-06-18 06:19:23.000000000 -0500
+++ 1.3.14/lib/plugin/UpLoad.php	2007-07-01 05:11:07.000000000 -0500
@@ -1,7 +1,7 @@
 <?php // -*-php-*-
-rcs_id('$Id: UpLoad.php,v 1.19 2005/04/11 19:40:15 rurban Exp $');
+rcs_id('$Id: UpLoad.php,v 1.25 2007/04/18 20:40:48 rurban Exp $');
 /*
- Copyright 2003, 2004 $ThePhpWikiProgrammingTeam
+ Copyright 2003,2004,2007 $ThePhpWikiProgrammingTeam
 
  This file is part of PhpWiki.
 
@@ -52,10 +52,38 @@
         	     // end of the page (or current page)
         	     'autolink' => true, 
         	     'page'     => '[pagename]',
+        	     'size'     => 50,
+        	     'mode'     => 'actionpage', // or edit
         	     );
     }
 
     function run($dbi, $argstr, &$request, $basepage) {
+        $this->allowed_extensions = explode("\n",
+"7z
+avi
+bmp
+bz2
+c
+cfg
+diff
+doc
+gif
+h
+ini
+jpeg
+jpg
+kmz
+mp3
+patch
+pdf
+png
+ppt
+rar
+tar
+tar.gz
+txt
+xls
+zip");
         $this->disallowed_extensions = explode("\n",
 "ad[ep]
 asd
@@ -82,7 +110,8 @@
 ops
 pcd
 p[ir]f
-php
+php\d?
+phtml
 pl
 py
 reg
@@ -99,21 +128,29 @@
         extract($args);
 
         $file_dir = getUploadFilePath();
-        //$url_prefix = SERVER_NAME . DATA_PATH; 
-
-        $form = HTML::form(array('action' => $request->getPostURL(),
+        $form = HTML::form(array('action'  => $request->getPostURL(),
                                  'enctype' => 'multipart/form-data',
-                                 'method' => 'post'));
+                                 'method'  => 'post'));
         $contents = HTML::div(array('class' => 'wikiaction'));
         $contents->pushContent(HTML::input(array('type' => 'hidden',
                                                  'name' => 'MAX_FILE_SIZE',
-                                                 'value' => MAX_UPLOAD_SIZE)));
+                                                 'value'=> MAX_UPLOAD_SIZE)));
         $contents->pushContent(HTML::input(array('name' => 'userfile',
                                                  'type' => 'file',
-                                                 'size' => '50')));
-        $contents->pushContent(HTML::raw(" "));
-        $contents->pushContent(HTML::input(array('value' => _("Upload"),
-                                                 'type' => 'submit')));
+                                                 'size' => $size)));
+        if ($mode == 'edit') {
+            $contents->pushContent(HTML::input(array('name' => 'action',
+                                                     'type' => 'hidden',
+                                                     'value'=> 'edit')));
+            $contents->pushContent(HTML::raw(" "));
+            $contents->pushContent(HTML::input(array('value' => _("Upload"),
+                                                     'name'  => 'edit[upload]',
+                                                     'type'  => 'submit')));
+        } else {
+            $contents->pushContent(HTML::raw(" "));
+            $contents->pushContent(HTML::input(array('value' => _("Upload"),
+                                                     'type'  => 'submit')));
+        }
         $form->pushContent($contents);
 
         $message = HTML();
@@ -134,25 +171,43 @@
         if ($userfile) {
             $userfile_name = $userfile->getName();
             $userfile_name = trim(basename($userfile_name));
+	    if (UPLOAD_USERDIR) {
+		$file_dir .= $request->_user->_userid;
+		if (!file_exists($file_dir))
+		    mkdir($file_dir, 0775);
+		$file_dir .= "/";
+		$u_userfile = $request->_user->_userid . "/" . $userfile_name;
+	    } else {
+		$u_userfile = $userfile_name;
+	    }
+	    $u_userfile = preg_replace("/ /", "%20", $u_userfile);
             $userfile_tmpname = $userfile->getTmpName();
 	    $err_header = HTML::h2(fmt("ERROR uploading '%s': ", $userfile_name));
-            if (preg_match("/(\." . join("|\.", $this->disallowed_extensions) . ")\$/",
+            if (preg_match("/(\." . join("|\.", $this->disallowed_extensions) . ")(\.|\$)/i",
                            $userfile_name))
             {
             	$message->pushContent($err_header);
                 $message->pushContent(fmt("Files with extension %s are not allowed.",
                                           join(", ", $this->disallowed_extensions)),HTML::br(),HTML::br());
-            } 
-            elseif (preg_match("/[^._a-zA-Z0-9-]/", $userfile_name))
+            }
+            elseif (! DISABLE_UPLOAD_ONLY_ALLOWED_EXTENSIONS and 
+                    ! preg_match("/(\." . join("|\.", $this->allowed_extensions) . ")\$/i", 
+                               $userfile_name))
             {
             	$message->pushContent($err_header);
-                $message->pushContent(_("File names may only contain alphanumeric characters and dot, underscore or dash."),
+                $message->pushContent(fmt("Only files with the extension %s are allowed.",
+                                          join(", ", $this->allowed_extensions)),HTML::br(),HTML::br());
+            }
+            elseif (preg_match("/[^._a-zA-Z0-9- ]/", $userfile_name))
+            {
+            	$message->pushContent($err_header);
+                $message->pushContent(_("Invalid filename. File names may only contain alphanumeric characters and dot, underscore, space or dash."),
                                       HTML::br(),HTML::br());
             }
             elseif (file_exists($file_dir . $userfile_name)) {
             	$message->pushContent($err_header);
                 $message->pushContent(fmt("There is already a file with name %s uploaded.",
-                                          $userfile_name),HTML::br(),HTML::br());
+                                          $u_userfile),HTML::br(),HTML::br());
             }
             elseif ($userfile->getSize() > (MAX_UPLOAD_SIZE)) {
             	$message->pushContent($err_header);
@@ -163,7 +218,7 @@
                     )
             {
             	$interwiki = new PageType_interwikimap();
-            	$link = $interwiki->link("Upload:$userfile_name");
+		$link = $interwiki->link("Upload:$u_userfile");
                 $message->pushContent(HTML::h2(_("File successfully uploaded.")));
                 $message->pushContent(HTML::ul(HTML::li($link)));
 
@@ -179,9 +234,9 @@
                         $current = $pagehandle->getCurrentRevision();
                         $version = $current->getVersion();
                         $text = $current->getPackedContent();
-                        $newtext = $text . "\n* [Upload:$userfile_name]";
+                        $newtext = $text . "\n* [Upload:$u_userfile]";
                         $meta = $current->_data;
-                        $meta['summary'] = sprintf(_("uploaded %s"),$userfile_name);
+                        $meta['summary'] = sprintf(_("uploaded %s"),$u_userfile);
                         $pagehandle->save($newtext, $version + 1, $meta);
                     }
                 }
@@ -191,9 +246,9 @@
                 $message->pushContent(HTML::br(),_("Uploading failed."),HTML::br());
             }
         }
-        else {
+        /*else {
             $message->pushContent(HTML::br(),HTML::br());
-        }
+        }*/
 
         //$result = HTML::div( array( 'class' => 'wikiaction' ) );
         $result = HTML();
@@ -231,6 +286,25 @@
 }
 
 // $Log: UpLoad.php,v $
+// Revision 1.25  2007/04/18 20:40:48  rurban
+// added DISABLE_UPLOAD_ONLY_ALLOWED_EXTENSIONS
+//
+// Revision 1.24  2007/04/11 17:49:01  rurban
+// Chgeck against .php\d, i.e. php3
+//
+// Revision 1.23  2007/04/08 12:43:45  rurban
+// Important security fix!
+// Disallow files like "deface.php.3" also. Those are actually in the wild!
+//
+// Revision 1.22  2007/02/17 14:16:56  rurban
+// allow spaces in filenames
+//
+// Revision 1.21  2007/01/04 16:46:50  rurban
+// Support UPLOAD_USERDIR
+//
+// Revision 1.20  2006/08/15 13:40:40  rurban
+// help finding the file (should not be needed)
+//
 // Revision 1.19  2005/04/11 19:40:15  rurban
 // Simplify upload. See https://sourceforge.net/forum/message.php?msg_id=3093651
 // Improve UpLoad warnings.
diff -ruN 1.3.12p3/lib/plugin/UserRatings.php 1.3.14/lib/plugin/UserRatings.php
--- 1.3.12p3/lib/plugin/UserRatings.php	2006-06-18 06:19:23.000000000 -0500
+++ 1.3.14/lib/plugin/UserRatings.php	2007-07-01 05:11:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php // -*-php-*-
-rcs_id('$Id: UserRatings.php,v 1.4 2005/09/30 18:41:39 uckelman Exp $');
+rcs_id('$Id: UserRatings.php,v 1.5 2007/06/02 18:25:16 rurban Exp $');
 /**
  Copyright 2004 Dan Frankowski
 
@@ -53,7 +53,7 @@
 
     function getVersion() {
         return preg_replace("/[Revision: $]/", '',
-                            "\$Revision: 1.4 $");
+                            "\$Revision: 1.5 $");
     }
 
     function getDefaultArguments() {
@@ -202,10 +202,12 @@
            //$people_iter = $dbi->get_users_rated();
             $people_dbi = RatingsDb::getTheRatingsDb();
             $people_iter = $people_dbi->sql_get_users_rated();
-            while($people_array = $people_iter->next()){
-                $userid = $people_array['pagename']; 
-                $user = & RatingsUserFactory::getUser($userid);
-                array_push($allowed_users, $user);
+            while ($people_array = $people_iter->next()) {
+		if (isset($people_array['pagename'])) {
+		    $userid = $people_array['pagename']; 
+		    $user = & RatingsUserFactory::getUser($userid);
+		    array_push($allowed_users, $user);
+		}
             }
             
          }
diff -ruN 1.3.12p3/lib/plugin/VisualWiki.php 1.3.14/lib/plugin/VisualWiki.php
--- 1.3.12p3/lib/plugin/VisualWiki.php	2006-06-18 06:19:23.000000000 -0500
+++ 1.3.14/lib/plugin/VisualWiki.php	2007-07-01 05:11:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php // -*-php-*-
-rcs_id('$Id: VisualWiki.php,v 1.19 2005/10/12 06:19:31 rurban Exp $');
+rcs_id('$Id: VisualWiki.php,v 1.21 2007/01/04 16:43:00 rurban Exp $');
 /*
  Copyright (C) 2002 Johannes Groe (Johannes Gro&szlig;e)
 
@@ -41,7 +41,8 @@
      * Sets plugin type to map production
      */
     function getPluginType() {
-        return ($GLOBALS['request']->getArg('debug')) ? PLUGIN_CACHED_IMG_ONDEMAND : PLUGIN_CACHED_MAP;
+        return ($GLOBALS['request']->getArg('debug')) ? PLUGIN_CACHED_IMG_ONDEMAND 
+	    					      : PLUGIN_CACHED_MAP;
     }
 
     /**
@@ -55,7 +56,7 @@
 
     function getVersion() {
         return preg_replace("/[Revision: $]/", '',
-                            "\$Revision: 1.19 $");
+                            "\$Revision: 1.21 $");
     }
 
     /**
@@ -161,9 +162,12 @@
         $this->extract_wikipages($dbi, $argarray);
         /* ($dbi,  $large, $recent, $refined, $backlink,
             $neighbour, $excludelist, $includelist, $color); */
-        return $this->invokeDot($argarray);
+    	$result = $this->invokeDot($argarray);
+        if (isa($result, 'HtmlElement'))
+            return array(false, $result);
+        else
+            return $result;
         /* => ($width, $height, $color, $shape, $text); */
-	
     }
 
     // ------------------------------------------------------------------------------------------
@@ -544,9 +548,8 @@
         $this->extract_wikipages($dbi, $argarray);
         list($imagehandle, $content['html']) = $this->invokeDot($argarray);
         // write to uploads and produce static url
-        $file_dir = defined('PHPWIKI_DIR') ? 
-            PHPWIKI_DIR . "/uploads" : "uploads";
-        $upload_dir = SERVER_URL . ((substr(DATA_PATH,0,1)=='/') ? '' : "/") . DATA_PATH . '/uploads/';
+        $file_dir = getUploadFilePath();
+        $upload_dir = getUploadDataPath();
         $tmpfile = tempnam($file_dir,"VisualWiki").".".$argarray['imgtype'];
         WikiPluginCached::writeImage($argarray['imgtype'], $imagehandle, $tmpfile);             
         ImageDestroy($imagehandle);
@@ -617,6 +620,13 @@
 }
 
 // $Log: VisualWiki.php,v $
+// Revision 1.21  2007/01/04 16:43:00  rurban
+// Whitespace only
+//
+// Revision 1.20  2006/12/22 17:57:10  rurban
+// use getUploadxxxPath
+// improve error display
+//
 // Revision 1.19  2005/10/12 06:19:31  rurban
 // remove INCLUDED from EXCLUDED, includes override excludes.
 //
diff -ruN 1.3.12p3/lib/plugin/WantedPagesOld.php 1.3.14/lib/plugin/WantedPagesOld.php
--- 1.3.12p3/lib/plugin/WantedPagesOld.php	2006-06-18 06:19:23.000000000 -0500
+++ 1.3.14/lib/plugin/WantedPagesOld.php	1969-12-31 18:00:00.000000000 -0600
@@ -1,268 +0,0 @@
-<?php // -*-php-*-
-rcs_id('$Id: WantedPagesOld.php,v 1.1 2004/11/20 11:28:49 rurban Exp $');
-/*
- This file is part of PhpWiki.
-
- PhpWiki is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- PhpWiki is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with PhpWiki; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- */
-
-/**
- * A plugin which returns a list of referenced pages which do not exist yet.
- *
- **/
-//include_once('lib/PageList.php');
-
-/**
- */
-class WikiPlugin_WantedPagesOld
-extends WikiPlugin
-{
-    function getName () {
-        return _("WantedPages");
-    }
-
-    function getDescription () {
-        return _("Lists referenced page names which do not exist yet.");
-    }
-
-    function getVersion() {
-        return preg_replace("/[Revision: $]/", '',
-                            "\$Revision: 1.1 $");
-    }
-
-    function getDefaultArguments() {
-        return array('noheader' => false,
-                     'exclude'  => _("PgsrcTranslation"),
-                     'page'     => '[pagename]',
-                     'sortby'   => false,
-                     'limit'    => 50,
-                     'paging'   => 'auto');
-    }
-
-    // info arg allows multiple columns
-    // info=mtime,hits,summary,version,author,locked,minor,markup or all
-    // exclude arg allows multiple pagenames exclude=HomePage,RecentChanges
-
-    function run($dbi, $argstr, &$request, $basepage) {
-        extract($this->getArgs($argstr, $request));
-
-        if ($exclude) {
-            if (!is_array($exclude))
-                $exclude = explode(',', $exclude);
-        }
-
-        if ($page == _("WantedPages"))
-            $page = "";
-
-        // The PageList class can't handle the 'count' column needed
-        // for this table
-        $this->pagelist = array();
-
-        // There's probably a more memory-efficient way to do this (eg
-        // a tailored SQL query via the backend, but this gets the job
-        // done.
-        if (!$page) {
-            $include_empty = false;
-            $allpages_iter = $dbi->getAllPages($include_empty,$sortby,$limit);
-            while ($page_handle = $allpages_iter->next()) {
-                $name = $page_handle->getName();
-                if ($name == _("InterWikiMap")) continue;
-                if (! in_array($name, $exclude))
-                    $this->_iterateLinks($page_handle, $dbi);
-            }
-        } else if ($page && $pageisWikiPage = $dbi->isWikiPage($page)) {
-            //only get WantedPages links for one page
-            $page_handle = $dbi->getPage($page);
-            $this->_iterateLinks($page_handle, $dbi);
-            if (! $request->getArg('count')) {
-                $args['count'] = count($this->pagelist);
-            } else {
-                $args['count'] = $request->getArg('count');
-            }
-        }
-        ksort($this->pagelist);
-        arsort($this->pagelist);
-
-        $this->_rows = HTML();
-        $caption = false;
-        $this->_messageIfEmpty = _("<none>");
-
-        if ($page) {
-            // link count always seems to be 1 for a single page so
-            // omit count column
-            foreach ($this->pagelist as $key => $val) {
-                $row = HTML::li(WikiLink((string)$key, 'unknown'));
-                $this->_rows->pushContent($row);
-            }
-            if (!$noheader) {
-                if ($pageisWikiPage)
-                    $pagelink = WikiLink($page);
-                else
-                    $pagelink = WikiLink($page, 'unknown');
-                $c = count($this->pagelist);
-                $caption = fmt("Wanted Pages for %s (%d total):",
-                               $pagelink, $c);
-            }
-            return $this->_generateList($caption);
-
-        } else {
-            $spacer = new RawXml("&nbsp;&nbsp;&nbsp;&nbsp;");
-            // Clicking on the number in the links column does a
-            // FullTextSearch for the citations of the WantedPage
-            // link.
-            foreach ($this->pagelist as $key => $val) {
-                $key = (string) $key; // TODO: Not sure why, but this
-                                      // string cast type-coersion
-                                      // does seem necessary here.
-                // Enclose any FullTextSearch keys containing a space
-                // with quotes in oder to request a defnitive search.
-                $searchkey = (strstr($key, ' ') === false) ? $key : "\"$key\"";
-                $row = HTML::tr(HTML::td(array('align' => 'right'),
-                                         Button(array('s' => $searchkey),
-                                                $val, _("FullTextSearch")),
-                                         // Alternatively, get BackLinks
-                                         // instead.
-                                         //
-                                         //Button(array('action'
-                                         //             => _("BackLinks")),
-                                         //       $val, $searchkey),
-                                         HTML::td(HTML($spacer,
-                                                       WikiLink($key,
-                                                                'unknown')))
-                                         ));
-                $this->_rows->pushContent($row);
-            }
-            $c = count($this->pagelist);
-            if (!$noheader)
-                $caption = sprintf(_("Wanted Pages in this wiki (%d total):"),
-                                   $c);
-            $this->_columns = array(_("Count"), _("Page Name"));
-            if ($c > 0)
-                return $this->_generateTable($caption);
-            else
-                return HTML(HTML::p($caption), HTML::p($messageIfEmpty));
-        }
-    }
-
-    function _generateTable($caption) {
-
-        if (count($this->pagelist) > 0) {
-            $table = HTML::table(array('cellpadding' => 0,
-                                       'cellspacing' => 1,
-                                       'border'      => 0,
-                                       'class'       => 'pagelist'));
-            if ($caption)
-                $table->pushContent(HTML::caption(array('align'=>'top'),
-                                                  $caption));
-
-            $row = HTML::tr();
-            $spacer = new RawXml("&nbsp;&nbsp;&nbsp;&nbsp;");
-            foreach ($this->_columns as $col_heading) {
-                $row->pushContent(HTML::td(HTML($spacer,
-                                                HTML::u($col_heading))));
-                $table_summary[] = $col_heading;
-            }
-            // Table summary for non-visual browsers.
-            $table->setAttr('summary', sprintf(_("Columns: %s."),
-                                               implode(", ", $table_summary)));
-
-            $table->pushContent(HTML::thead($row),
-                                HTML::tbody(false, $this->_rows));
-        } else {
-            $table = HTML();
-            if ($caption)
-                $table->pushContent(HTML::p($caption));
-            $table->pushContent(HTML::p($this->_messageIfEmpty));
-        }
-
-        return $table;
-    }
-
-    function _generateList($caption) {
-        $list = HTML();
-        $c = count($this->pagelist);
-        if ($caption)
-            $list->pushContent(HTML::p($caption));
-
-        if ($c > 0)
-            $list->pushContent(HTML::ul($this->_rows));
-        else
-            $list->pushContent(HTML::p($this->_messageIfEmpty));
-
-        return $list;
-    }
-
-    function _iterateLinks($page_handle, $dbi) {
-        $links_iter = $page_handle->getLinks($reversed = false);
-        while ($link_handle = $links_iter->next())
-        {
-            if (! $dbi->isWikiPage($linkname = $link_handle->getName()))
-                if (! in_array($linkname, array_keys($this->pagelist)))
-                    $this->pagelist[$linkname] = 1;
-                else
-                    $this->pagelist[$linkname] += 1;
-        }
-    }
-};
-
-// $Log: WantedPagesOld.php,v $
-// Revision 1.1  2004/11/20 11:28:49  rurban
-// fix a yet unused PageList customPageListColumns bug (merge class not decl to _types)
-// change WantedPages to use PageList
-// change WantedPages to print the list of referenced pages, not just the count.
-//   the old version was renamed to WantedPagesOld
-//   fix and add handling of most standard PageList arguments (limit, exclude, ...)
-// TODO: pagename sorting, dumb/WantedPagesIter and SQL optimization
-//
-// Revision 1.12  2004/10/04 23:39:34  rurban
-// just aesthetics
-//
-// Revision 1.11  2004/04/20 00:56:00  rurban
-// more paging support and paging fix for shorter lists
-//
-// Revision 1.10  2004/04/18 01:44:02  rurban
-// more sortby+limit support
-//
-// Revision 1.9  2004/04/10 04:15:06  rurban
-// sf.net 927122 Suggestion
-//
-// Revision 1.8  2004/02/17 12:11:36  rurban
-// added missing 4th basepage arg at plugin->run() to almost all plugins. This caused no harm so far, because it was silently dropped on normal usage. However on plugin internal ->run invocations it failed. (InterWikiSearch, IncludeSiteMap, ...)
-//
-// Revision 1.7  2003/12/19 06:57:49  carstenklapp
-// Bugfix: Enclose FullTextSearch query with quotes when the [Wiki Word]
-// contains spaces.
-//
-// Revision 1.6  2003/11/19 17:08:23  carstenklapp
-// New feature: Clicking on the number of citations in the links column
-// now does a FullTextSearch for the WantedPage link!
-//
-// Revision 1.5  2003/03/25 21:05:27  dairiki
-// Ensure pagenames are strings.
-//
-// Revision 1.4  2003/01/18 22:14:24  carstenklapp
-// Code cleanup:
-// Reformatting & tabs to spaces;
-// Added copyleft, getVersion, getDescription, rcs_id.
-//
-
-// Local Variables:
-// mode: php
-// tab-width: 8
-// c-basic-offset: 4
-// c-hanging-comment-ender-p: nil
-// indent-tabs-mode: nil
-// End:
-?>
diff -ruN 1.3.12p3/lib/plugin/WantedPages.php 1.3.14/lib/plugin/WantedPages.php
--- 1.3.12p3/lib/plugin/WantedPages.php	2006-06-18 06:19:23.000000000 -0500
+++ 1.3.14/lib/plugin/WantedPages.php	2007-07-01 05:11:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php // -*-php-*-
-rcs_id('$Id: WantedPages.php,v 1.16 2004/11/23 15:17:19 rurban Exp $');
+rcs_id('$Id: WantedPages.php,v 1.17 2007/05/24 18:41:04 rurban Exp $');
 /*
  Copyright (C) 2002, 2004 $ThePhpWikiProgrammingTeam
  
@@ -43,13 +43,14 @@
     }
     function getVersion() {
         return preg_replace("/[Revision: $]/", '',
-                            "\$Revision: 1.16 $");
+                            "\$Revision: 1.17 $");
     }
     function getDefaultArguments() {
         return array_merge
             (
              PageList::supportedArgs(),
              array('page'     => '[pagename]', // just for a single page.
+		   'withlinks' => 0,
                    'noheader' => false,
                    'exclude_from'  => _("PgsrcTranslation").','._("InterWikiMap"),
                    'limit'    => '100',
@@ -73,10 +74,20 @@
         // done.
         // TODO: Move this to backend/dumb/WantedPagesIter.php
 
-        if (!$page)
+        if (!$page and $withlinks) {
             $GLOBALS['WikiTheme']->addPageListColumn(
                 array('wanted' => array('_PageList_Column_WantedPages_wanted', 'custom:wanted', _("Wanted From"), 'left')));
-        $pagelist = new PageList($page ? '' : 'pagename,wanted', $exclude, $args); // search button?
+	    $info = "pagename,wanted";
+	} elseif ($page) {
+            //only get WantedPages links for one page
+	    $info = "";
+	} else {
+            // just link to links
+            $GLOBALS['WikiTheme']->addPageListColumn(
+                array('links' => array('_PageList_Column_WantedPages_links', 'custom:links', _("Links"), 'left')));
+	    $info = "pagename,links";
+	}
+        $pagelist = new PageList($info, $exclude, $args); // search button?
         $pagelist->_wpagelist = array();
 
         if (!$page) {
@@ -88,9 +99,13 @@
             	// ignore duplicates:
             	if (empty($pagelist->_wpagelist[$wanted]))
             	    $pagelist->addPage($wanted);
-            	$pagelist->_wpagelist[$wanted][] = $wantedfrom;
+            	if (!isset($pagelist->_wpagelist[$wanted]))
+            	    $pagelist->_wpagelist[$wanted][] = $wantedfrom;
+            	elseif (!in_array($wantedfrom, $pagelist->_wpagelist[$wanted]))
+            	    $pagelist->_wpagelist[$wanted][] = $wantedfrom;
             }
             $wanted_iter->free();
+            unset($wanted_iter);
             // update limit, but it's still a hack.
             $pagelist->_options['limit'] = "$offset," . min($pagelist->getTotal(), $maxcount);
         } elseif ($dbi->isWikiPage($page)) {
@@ -117,7 +132,8 @@
                 $pagelist->setCaption(sprintf(_("Wanted Pages in this wiki:")));
         }
         // reference obviously doesn't work, so force an update to add _wpagelist to parentobj
-        if (isset($pagelist->_columns[1]) and $pagelist->_columns[1]->_field == 'wanted')
+        if (isset($pagelist->_columns[1]) 
+            and in_array($pagelist->_columns[1]->_field, array('wanted','links')))
             $pagelist->_columns[1]->parentobj =& $pagelist;
         return $pagelist;
     }
@@ -131,7 +147,8 @@
     }
     function _getValue(&$page, $revision_handle) {
     	$html = false;
-        foreach($this->parentobj->_wpagelist[$page->getName()] as $page) {
+	$pagename = $page->getName();
+        foreach ($this->parentobj->_wpagelist[$pagename] as $page) {
             if ($html)
                 $html->pushContent(', ', WikiLink($page));
             else 
@@ -141,7 +158,27 @@
     }
 }
 
+/*
+ * List of Links and link to ListLinks
+ */
+class _PageList_Column_WantedPages_links extends _PageList_Column {
+    function _PageList_Column_WantedPages_links (&$params) {
+        $this->parentobj =& $params[3];
+        $this->_PageList_Column($params[0],$params[1],$params[2]);
+    }
+    function _getValue(&$page, $revision_handle) {
+    	$html = false;
+	$pagename = $page->getName();
+	$count = count($this->parentobj->_wpagelist[$pagename]);
+        return LinkURL(WikiURL($page, array('action' => 'BackLinks'), false), 
+			fmt("(%d Links)", $count));
+    }
+}
+
 // $Log: WantedPages.php,v $
+// Revision 1.17  2007/05/24 18:41:04  rurban
+// added withlinks argument
+//
 // Revision 1.16  2004/11/23 15:17:19  rurban
 // better support for case_exact search (not caseexact for consistency),
 // plugin args simplification:
@@ -207,4 +244,4 @@
 // c-hanging-comment-ender-p: nil
 // indent-tabs-mode: nil
 // End:
-?>
\ No newline at end of file
+?>
diff -ruN 1.3.12p3/lib/plugin/WatchPage.php 1.3.14/lib/plugin/WatchPage.php
--- 1.3.12p3/lib/plugin/WatchPage.php	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/lib/plugin/WatchPage.php	2007-07-01 05:11:07.000000000 -0500
@@ -0,0 +1,176 @@
+<?php // -*-php-*-
+rcs_id('$Id: WatchPage.php,v 1.2 2007/01/04 16:47:02 rurban Exp $');
+/**
+ Copyright (C) 2006 $ThePhpWikiProgrammingTeam
+
+ This file is part of PhpWiki.
+
+ PhpWiki is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ PhpWiki is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with PhpWiki; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+/**
+ * Plugin to manage notifications emails per page. action=WatchPage
+ * mode = add or edit
+ * pagename = pagename to be added
+ *
+ * Prefs are stored in metadata in the current session, 
+ *  within the user's home page or in a database.
+ */
+class WikiPlugin_WatchPage
+extends WikiPlugin
+{
+    function getName () {
+        return _("WatchPage");
+    }
+
+    function getVersion() {
+        return preg_replace("/[Revision: $]/", '',
+                            "\$Revision: 1.2 $");
+    }
+
+    function getDefaultArguments() {
+        return array('page' => '[pagename]',
+		     'mode'   => 'add',
+		     );
+    }
+
+    function contains($pagelist, $page) {
+	if (!isset($this->_explodePageList))
+	    $this->_explodePageList = explodePageList($pagelist);
+	return in_array($page, $this->_explodePageList);
+    }
+
+    // This could be expanded as in mediawiki to a list of each page with a remove button.
+    function showWatchList($pagelist) {
+        return HTML::strong(HTML::tt(empty($pagelist) ? "<empty>" : $pagelist));
+    }
+
+    function addpagelist($page, $pagelist) {
+        if (!empty($pagelist)) {
+            if ($this->contains($pagelist, $page))
+                return "$pagelist";
+            else
+                return "$pagelist,$page";
+        } else
+            return "$page";
+    }
+
+    function showNotify(&$request, $messages, $page, $pagelist, $verified) {
+	$isNecessary = ! $this->contains($pagelist, $page);
+        $form = HTML::form
+	    (array('action' => $request->getPostURL(),
+		   'method' => 'post'),
+	     HiddenInputs(array('verify' => 1)),
+	     HiddenInputs($request->getArgs(),false,array('verify')),
+	     $messages,
+	     HTML::p(_("Your current watchlist: "), $this->showWatchList($pagelist)),
+	     HTML::p(_("New watchlist: "), 
+	             $this->showWatchList($this->addpagelist($page, $pagelist))));
+	if ($isNecessary) {
+	    $form->pushContent(HTML::p(sprintf(_("Do you %s want to add this page \"%s\" to your WatchList?"), 
+                                               ($verified ? _("really") : ""), $page)),
+			       HTML::p(Button('submit:add', _("Yes")),
+				       HTML::Raw('&nbsp;'),
+				       Button('submit:cancel', _("Cancel"))));
+	} else {
+            $form->pushContent(HTML::p(fmt("The page %s is already watched!", $page)),
+                               HTML::p(Button('submit:edit', _("Edit")),
+                                       HTML::Raw('&nbsp;'),
+                                       Button('submit:cancel', _("Cancel"))));
+	}
+	return $form;
+    }
+
+    function run($dbi, $argstr, &$request, $basepage) {
+        $args = $this->getArgs($argstr, $request);
+        if (isa($request,'MockRequest'))
+            return '';
+        $user =& $request->_user;
+        $userid = $user->UserName();
+        $page = $args['page'];
+        if (!$user->isAuthenticated() or empty($userid)) {
+            // wrong or unauthenticated user
+            return $request->_notAuthorized(WIKIAUTH_BOGO);
+            //return $user->PrintLoginForm ($request, $args, false, false);
+        } else {
+            $pref = &$request->_prefs;
+            $messages = "";
+	    $email = $pref->get("email");
+	    if (empty($email))
+	        return HTML::div(
+	        	array('class' => 'errors'),
+	        	_("ERROR: No email defined! You need to do this in your "), 
+	        	WikiLink(_("UserPreferences")));
+	        
+	    $emailVerified = $pref->get("emailVerified");
+	    if (empty($emailVerified))
+	        $messages = HTML::div(array('class' => 'mw-warning'),
+				      HTML::p("WARNING! Your email address was not verifed yet!"),
+				      HTML::p("EmailNotifications currently disabled. <TODO>"));
+	    $pagelist = $pref->get("notifyPages");
+            if (! $request->isPost() ) {
+		return $this->showNotify($request, $messages, $page, $pagelist, false);
+            } else { // POST
+            	$errmsg = '';
+                if ($request->getArg('cancel')) {
+		    $request->redirect(WikiURL($request->getArg('pagename'), 
+                                               false, 'absolute_url')); // noreturn
+		    return;
+		}
+                if ($request->getArg('edit')) {
+		    $request->redirect(WikiURL(_("UserPreferences"), 
+                                               false, 'absolute_url')); // noreturn
+		    return;
+		}
+                $add = $request->getArg('add');
+                if ($add and !$request->getArg('verify')) {
+		    return $this->showNotify($request, $messages, $page, $pagelist, true); 
+                }
+                elseif ($add and $request->getArg('verify')) { // this is not executed so far.
+                    // add page to watchlist, verified
+                    $pref = &$request->_prefs;
+                    $pref->set('notifyPages', $this->addpagelist($page, $pagelist));
+                    $user->setPreferences($pref);
+                    $request->_setUser($user);
+                    $request->setArg("verify",false);
+                    $request->setArg("add",false);
+                    $alert = new Alert(
+                     _("Message"),
+                     _("E-Mail Notification for the current page successfully stored in your preferences."));
+                    $alert->show();
+                    return;
+                }
+            }
+        }
+    }
+};
+
+// $Log: WatchPage.php,v $
+// Revision 1.2  2007/01/04 16:47:02  rurban
+// Translate 'really'
+//
+// Revision 1.1  2006/12/22 01:28:23  rurban
+// new plugin similar to mediawiki
+//
+
+// For emacs users
+// Local Variables:
+// mode: php
+// tab-width: 8
+// c-basic-offset: 4
+// c-hanging-comment-ender-p: nil
+// indent-tabs-mode: nil
+// End:
+?>
diff -ruN 1.3.12p3/lib/plugin/WikiAdminSelect.php 1.3.14/lib/plugin/WikiAdminSelect.php
--- 1.3.12p3/lib/plugin/WikiAdminSelect.php	2006-06-18 06:19:24.000000000 -0500
+++ 1.3.14/lib/plugin/WikiAdminSelect.php	2007-07-01 05:11:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php // -*-php-*-
-rcs_id('$Id: WikiAdminSelect.php,v 1.23 2005/09/14 06:06:09 rurban Exp $');
+rcs_id('$Id: WikiAdminSelect.php,v 1.24 2007/01/04 16:47:13 rurban Exp $');
 /*
  Copyright 2002 $ThePhpWikiProgrammingTeam
 
@@ -46,7 +46,7 @@
 
     function getVersion() {
         return preg_replace("/[Revision: $]/", '',
-                            "\$Revision: 1.23 $");
+                            "\$Revision: 1.24 $");
     }
 
     function getDefaultArguments() {
@@ -68,7 +68,7 @@
      * Default collector for all WikiAdmin* plugins.
      * preSelectS() is similar, but fills $this->_list
      */
-    function collectPages(&$list, &$dbi, $sortby, $limit=0, $exclude=false) {
+    function collectPages(&$list, &$dbi, $sortby, $limit=0, $exclude='') {
         $allPages = $dbi->getAllPages(0, $sortby, $limit, $exclude);
         while ($pagehandle = $allPages->next()) {
             $pagename = $pagehandle->getName();
@@ -247,6 +247,9 @@
 }
 
 // $Log: WikiAdminSelect.php,v $
+// Revision 1.24  2007/01/04 16:47:13  rurban
+// Clarify API: sortby,limit and exclude are strings.
+//
 // Revision 1.23  2005/09/14 06:06:09  rurban
 // use a sane limit of 150
 //
@@ -370,4 +373,4 @@
 // c-hanging-comment-ender-p: nil
 // indent-tabs-mode: nil
 // End:
-?>
\ No newline at end of file
+?>
diff -ruN 1.3.12p3/lib/plugin/WikiAdminSetAcl.php 1.3.14/lib/plugin/WikiAdminSetAcl.php
--- 1.3.12p3/lib/plugin/WikiAdminSetAcl.php	2006-06-18 06:19:24.000000000 -0500
+++ 1.3.14/lib/plugin/WikiAdminSetAcl.php	2007-07-01 05:11:07.000000000 -0500
@@ -28,6 +28,10 @@
  *
  * KNOWN ISSUES:
  * Requires PHP 4.2 so far.
+ *
+ * TODO: UI to add custom group/username. 
+ * Currently it's easier to dump a page, fix it manually and 
+ * import it, than use Setacl
  */
 require_once('lib/PageList.php');
 require_once('lib/plugin/WikiAdminSelect.php');
diff -ruN 1.3.12p3/lib/plugin/WikiAdminUtils.php 1.3.14/lib/plugin/WikiAdminUtils.php
--- 1.3.12p3/lib/plugin/WikiAdminUtils.php	2006-06-18 06:19:24.000000000 -0500
+++ 1.3.14/lib/plugin/WikiAdminUtils.php	2007-07-01 05:11:07.000000000 -0500
@@ -1,7 +1,7 @@
 <?php // -*-php-*-
-rcs_id('$Id: WikiAdminUtils.php,v 1.19 2006/04/15 12:27:40 rurban Exp $');
+rcs_id('$Id: WikiAdminUtils.php,v 1.24 2007/01/07 18:46:31 rurban Exp $');
 /**
- Copyright 2003, 2004 $ThePhpWikiProgrammingTeam
+ Copyright 2003,2004,2006 $ThePhpWikiProgrammingTeam
 
  This file is part of PhpWiki.
 
@@ -28,6 +28,8 @@
         access-restrictions
         email-verification
         convert-cached-html
+        db-check
+        db-rebuild
  */
 class WikiPlugin_WikiAdminUtils
 extends WikiPlugin
@@ -42,7 +44,7 @@
 
     function getVersion() {
         return preg_replace("/[Revision: $]/", '',
-                            "\$Revision: 1.19 $");
+                            "\$Revision: 1.24 $");
     }
 
     function getDefaultArguments() {
@@ -87,27 +89,33 @@
                           HiddenInputs($args, 'wikiadminutils'),
                           HiddenInputs(array('require_authority_for_post' =>
                                              WIKIAUTH_ADMIN)),
-                          HiddenInputs($request->getArgs()));
+                          HiddenInputs($request->getArgs(),false,array('action')));
     }
     
     function do_action(&$request, $args) {
         $method = strtolower('_do_' . str_replace('-', '_', $args['action']));
         if (!method_exists($this, $method))
-            return $this->error("Bad action");
+            return $this->error("Bad action $method");
 
         $message = call_user_func(array(&$this, $method), $request, $args);
 
         // display as seperate page or as alert?
-        $alert = new Alert(_("WikiAdminUtils says:"),
+        $alert = new Alert(fmt("WikiAdminUtils %s returned:", $args['action']),
                            $message,
-                           array(_("Okay") => $args['return_url']));
+                           array(_("Back") => $args['return_url']));
         $alert->show();         // noreturn
     }
 
     function _getLabel($action) {
-        $labels = array('purge-cache' => _("Purge Markup Cache"),
-                        'purge-bad-pagenames' => _("Purge all Pages With Invalid Names"),
-                        'purge-empty-pages' => _("Purge all empty, unreferenced Pages"));
+        $labels = array('purge-cache' 		=> _("Purge Markup Cache"),
+                        '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"),
+                        'convert-cached-html' 	=> _("Convert cached_html"),
+                        'db-check' 		=> _("DB Check"),
+                        'db-rebuild' 		=> _("Db Rebuild")
+                        );
         return @$labels[$action];
     }
 
@@ -153,7 +161,10 @@
         $list = HTML::ol(array('align'=>'left'));
         $pages = $dbi->getAllPages('include_empty');
         while (($page = $pages->next())) {
-            if (!$page->exists() and ($links = $page->getBackLinks('include_empty')) and !$links->next()) {
+            if (!$page->exists() 
+                and ($links = $page->getBackLinks('include_empty')) 
+                     and !$links->next())
+            {
                 $pagename = $page->getName();
                 if ($pagename == 'global_data' or $pagename == '.') continue;
                 if ($dbi->purgePage($pagename))
@@ -194,6 +205,21 @@
         }
     }
 
+    function _do_db_check(&$request, $args) {
+	longer_timeout(180);
+        $dbh = $request->getDbh();
+	//FIXME: display result.
+        $result = $dbh->_backend->check();
+        return $result;
+    }
+
+    function _do_db_rebuild(&$request, $args) {
+	longer_timeout(240);
+        $dbh = $request->getDbh();
+	//FIXME: display result.
+        $result = $dbh->_backend->rebuild();
+        return $result;
+    }
 
     //TODO: We need a seperate plugin for this.
     //      Too many options.
@@ -209,6 +235,7 @@
         $email = new _PageList_Column_email('email',_("E-Mail"),'left');
         $emailVerified = new _PageList_Column_emailVerified('emailVerified',
                                                             _("Verification Status"),'center');
+        $pagelist->_columns[0]->_heading = _("Username");                                                    
         $pagelist->_columns[] = $email;
         $pagelist->_columns[] = $emailVerified;
         //This is the best method to find all users (Db and PersonalPage)
@@ -217,7 +244,10 @@
             $group = $request->getGroup();
 	    $allusers = $group->_allUsers();
 	} else {
-	    $allusers = array_keys($args['user']);
+            if (!empty($args['user']))
+                $allusers = array_keys($args['user']);
+            else 
+                $allusers = array();
 	}
         foreach ($allusers as $username) {
             if (ENABLE_USER_NEW)
@@ -240,7 +270,7 @@
                 $row->pushContent($email->format($pagelist, $prefs, $page_handle));
 		if (!empty($args['verify'])) {
 		    $prefs->_prefs['email']->set('emailVerified', 
-                                                 empty($args['verified'][$username]) ? 0 : 2);
+                                                 empty($args['verified'][$username]) ? 0 : true);
 		    $user->setPreferences($prefs);
 		}
                 $row->pushContent($emailVerified->format($pagelist, $prefs, $args['verify']));
@@ -248,9 +278,9 @@
             }
         }
         $request->_user = $current_user;
-        if (!empty($args['verify'])) {
+        if (!empty($args['verify']) or empty($pagelist->_rows)) {
             return HTML($pagelist->_generateTable(false));
-        } else {
+        } elseif (!empty($pagelist->_rows)) {
             $args['verify'] = 1;
 	    $args['return_url'] = $request->getURLtoSelf();
             return HTML::form(array('action' => $request->getPostURL(),
@@ -305,4 +335,4 @@
 // c-hanging-comment-ender-p: nil
 // indent-tabs-mode: nil
 // End:
-?>
\ No newline at end of file
+?>
diff -ruN 1.3.12p3/lib/plugin/WikiBlog.php 1.3.14/lib/plugin/WikiBlog.php
--- 1.3.12p3/lib/plugin/WikiBlog.php	2006-06-18 06:19:24.000000000 -0500
+++ 1.3.14/lib/plugin/WikiBlog.php	2007-07-01 05:11:07.000000000 -0500
@@ -1,7 +1,7 @@
 <?php // -*-php-*-
-rcs_id('$Id: WikiBlog.php,v 1.23 2005/10/29 09:06:37 rurban Exp $');
+rcs_id('$Id: WikiBlog.php,v 1.27 2007/06/01 06:39:07 rurban Exp $');
 /*
- Copyright 2002, 2003 $ThePhpWikiProgrammingTeam
+ Copyright 2002,2003,2007 $ThePhpWikiProgrammingTeam
  
  This file is part of PhpWiki.
 
@@ -20,7 +20,8 @@
  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
 /**
- * @author: MichaelVanDam, major refactor by JeffDairiki
+ * @author: MichaelVanDam, major refactor by JeffDairiki (as AddComment)
+ * @author: Changed as baseclass to AddComment and WikiForum and EditToolbar integration by ReiniUrban.
  */
 
 require_once('lib/TextSearchQuery.php');
@@ -29,16 +30,27 @@
  * This plugin shows 'blogs' (comments/news) associated with a
  * particular page and provides an input form for adding a new blog.
  *
+ * USAGE:
+ * Add <?plugin WikiBlog ?> at your PersonalPage and BlogArchive and 
+ * BlogJournal will find the Blog entries automatically.
+ *
  * Now it is also the base class for all attachable pagetypes: 
- *    wikiblog, comment and wikiforum
+ *    "wikiblog", "comment" and "wikiforum"
  *
  * HINTS/COMMENTS:
  *
- * To have comments show up on a separate page:
+ * To have the blog show up on a seperate page:
  * On TopPage, use
  *   <?plugin WikiBlog mode=add?>
- * Create TopPage/Comments with:
- *   <?plugin WikiBlog page=TopPage mode=show?>
+ * Create TopPage/Blog with this page as actionpage:
+ *   <?plugin WikiBlog pagename=TopPage mode=show?>
+ *
+ * To have the main ADMIN_USER Blog appear under Blog and not under WikiBlog/Blog
+ * or UserName/Blog as for other users blogs,
+ * define BLOG_DEFAULT_EMPTY_PREFIX=true 
+ * use the page Blog as basepage
+ * and user="" (as default for ADMIN or current user) and pagename="Blog" 
+ * in the various blog plugins (BlogArchives, BlogJournal)
  *
  * TODO:
  *
@@ -81,7 +93,7 @@
 
     function getVersion() {
         return preg_replace("/[Revision: $]/", '',
-                            "\$Revision: 1.23 $");
+                            "\$Revision: 1.27 $");
     }
 
     // Arguments:
@@ -120,12 +132,13 @@
         //    return $this->error(_("No pagename specified"));
 
         // Get our form args.
-        $blog = $request->getArg("blog");
-        $request->setArg('blog', false);
+        $blog = $request->getArg("edit");
+        $request->setArg("edit", false);
             
-        if ($request->isPost() and !empty($blog['addblog'])) {
-            $this->add($request, $blog); // noreturn
+        if ($request->isPost() and !empty($blog['save'])) {
+            $this->add($request, $blog, 'wikiblog', $basepage); // noreturn
         }
+	//TODO: preview
 
         // Now we display previous comments and/or provide entry box
         // for new comments
@@ -149,11 +162,27 @@
         return $html;
     }
 
-    function add (&$request, $blog, $type='wikiblog') {
-        $parent = $blog['pagename'];
+    /**
+     * posted: required: pagename, content. optional: summary
+     */
+    function add (&$request, $posted, $type='wikiblog') {
+	// This is similar to editpage. Shouldn't we use just this for preview?
+        $parent = $posted['pagename'];
         if (empty($parent)) {
             $prefix = "";   // allow empty parent for default "Blog/day"
             $parent = HOME_PAGE;
+        } elseif (($parent == 'Blog' or $parent == 'WikiBlog') and $type == 'wikiblog')
+	{ // avoid Blog/Blog/2003-01-11/14:03:02+00:00
+            $prefix = "";
+	    $parent = ''; // 'Blog';
+        } elseif ($parent == 'Comment' and $type == "comment")
+	{
+            $prefix = "";
+	    $parent = ''; // 'Comment';
+        } elseif ($parent == 'Forum' and $type == "wikiforum")
+	{
+            $prefix = "";
+	    $parent = ''; // 'Forum';
         } else {
             $prefix = $parent . SUBPAGE_SEPARATOR;
         }
@@ -183,7 +212,7 @@
         
 
         // Version meta-data
-        $summary = trim($blog['summary']);
+        $summary = trim($posted['summary']);
         $version_meta = array('author'    => $blog_meta['creator'],
                               'author_id' => $blog_meta['creator_id'],
                               'markup'    => 2.0,   // assume new markup
@@ -196,30 +225,35 @@
             unset($version_meta['summary']);
 
         // Comment body.
-        $body = trim($blog['body']);
+        $body = trim($posted['content']);
 
         $saved = false;
+	if ($type != 'wikiforum')
+	    $pagename = $this->_blogPrefix($type);
+	else {
+	    $pagename = substr($summary,0,12);
+	    if (empty($pagename)) {
+		$saved = true;
+		trigger_error("Empty title", E_USER_WARNING);
+	    }
+	}
         while (!$saved) {
             // Generate the page name.  For now, we use the format:
             //   Rootname/Blog/2003-01-11/14:03:02+00:00
+	    // Rootname = $prefix, Blog = $pagename, 
             // This gives us natural chronological order when sorted
             // alphabetically. "Rootname/" is optional.
+	    // Esp. if Rootname is named Blog, it is omitted.
 
             $time = Iso8601DateTime();
-            if ($type == 'wikiblog')
-                $pagename = "Blog";
-            elseif ($type == 'comment')
-                $pagename = "Comment";
-            elseif ($type == 'wikiforum')
-                $pagename = substr($summary,0,12);
-
             // Check intermediate pages. If not existing they should RedirectTo the parent page.
             // Maybe add the BlogArchives plugin instead for the new interim subpage.
             $redirected = $prefix . $pagename;
             if (!$dbi->isWikiPage($redirected)) {
+            	if (!$parent) $parent = HOME_PAGE;
                 require_once('lib/loadsave.php');
                 $pageinfo = array('pagename' => $redirected,
-                                  'content'  => '<?plugin RedirectTo page='.$parent.' ?>',
+                                  'content'  => '<?plugin RedirectTo page="'.$parent.'" ?>',
                                   'pagedata' => array(),
                                   'versiondata' => array('author' => $blog_meta['creator']),
                                   );
@@ -227,9 +261,10 @@
             }
             $redirected = $prefix . $pagename . SUBPAGE_SEPARATOR . preg_replace("/T.*/", "", "$time");
             if (!$dbi->isWikiPage($redirected)) {
+            	if (!$parent) $parent = HOME_PAGE;
                 require_once('lib/loadsave.php');
                 $pageinfo = array('pagename' => $redirected,
-                                  'content'  => '<?plugin RedirectTo page='.$parent.' ?>',
+                                  'content'  => '<?plugin RedirectTo page="'.$parent.'" ?>',
                                   'pagedata' => array(),
                                   'versiondata' => array('author' => $blog_meta['creator']),
                                   );
@@ -257,12 +292,14 @@
              * nice to allow only the 'creator' to edit by default.
              */
             $p->set('locked', true); //lock by default
+	    // TOOD: use ACL perms
             $saved = $p->save($body, 1, $version_meta);
 
             $now++;
         }
         
         $dbi->touch();
+        $request->setArg("mode", "show");
         $request->redirect($request->getURLtoSelf()); // noreturn
 
         // FIXME: when submit a comment from preview mode,
@@ -277,9 +314,8 @@
         // blogSearch implementation / naming scheme.
         
         $dbi = $request->getDbh();
-
-        $parent = $args['pagename'];
-        $blogs = $this->findBlogs($dbi, $parent, $type);
+	$basepage = $args['pagename'];
+        $blogs = $this->findBlogs($dbi, $basepage, $type);
         $html = HTML();
         if ($blogs) {
             // First reorder
@@ -291,7 +327,7 @@
             $name = $this->_blogPrefix($type);
             if (!$args['noheader'])
                 $html->pushContent(HTML::h4(array('class' => "$type-heading"),
-                                            fmt("%s on %s:", $name, WikiLink($parent))));
+                                            fmt("%s on %s:", $name, WikiLink($basepage))));
             foreach ($blogs as $rev) {
                 if (!$rev->get($type)) {
                     // Ack! this is an old-style blog with data ctime in page meta-data.
@@ -307,15 +343,17 @@
         return $html;
     }
 
-    // all Blogs/Forum/Comment entries are subpages under this pagename, to find them faster.
+    // Subpage for the basepage. All Blogs/Forum/Comment entries are 
+    // Subpages under this pagename, to find them faster.
     function _blogPrefix($type='wikiblog') {
         if ($type == 'wikiblog')
-            $name = "Blog";
+            $basepage = "Blog";
         elseif ($type == 'comment')
-            $name = "Comment";
+            $basepage = "Comment";
         elseif ($type == 'wikiforum')
-            $name = "Message"; // FIXME: we use the first 12 chars of the summary
-        return $name;
+	    $basepage = substr($summary,0,12);
+	    //$basepage = _("Message"); // FIXME: we use now the first 12 chars of the summary
+        return $basepage;
     }
 
     function _transformOldFormatBlog($rev, $type='wikiblog') {
@@ -330,8 +368,10 @@
         return new TransformedText($page, $rev->getPackedContent(), $meta, $type);
     }
 
-    function findBlogs (&$dbi, $parent, $type='wikiblog') {
-        $prefix = (empty($parent) ? "" :  $parent . SUBPAGE_SEPARATOR) . $this->_blogPrefix($type);
+    function findBlogs (&$dbi, $basepage='', $type='wikiblog') {
+        $prefix = (empty($basepage) 
+		   ? "" 
+		   :  $basepage . SUBPAGE_SEPARATOR) . $this->_blogPrefix($type);
         $pages = $dbi->titleSearch(new TextSearchQuery("^".$prefix, true, 'posix'));
 
         $blogs = array();
@@ -353,17 +393,25 @@
     
     function showForm (&$request, $args, $template='blogform') {
         // Show blog-entry form.
-        return new Template($template, $request,
-                            array('PAGENAME' => $args['pagename']));
+	$args = array('PAGENAME' => $args['pagename'],
+		      'HIDDEN_INPUTS' => 
+		      HiddenInputs($request->getArgs()));
+	if (ENABLE_EDIT_TOOLBAR and !ENABLE_WYSIWYG and ($template != 'addcomment')) {
+            include_once("lib/EditToolbar.php");
+            $toolbar = new EditToolbar();
+            $args = array_merge($args, $toolbar->getTokens());
+	}
+	return new Template($template, $request, $args);
     }
 
     // "2004-12" => "December 2004"
     function _monthTitle($month){
+    	if (!$month) $month = strftime("%Y-%m");
         //list($year,$mon) = explode("-",$month);
         return strftime("%B %Y", strtotime($month."-01"));
     }
 
-    // "User/Blog/2004-12-13/12:28:50+01:00" => array('month' => "2004-12", ...)
+    // "UserName/Blog/2004-12-13/12:28:50+01:00" => array('month' => "2004-12", ...)
     function _blog($rev_or_page) {
     	$pagename = $rev_or_page->getName();
         if (preg_match("/^(.*Blog)\/(\d\d\d\d-\d\d)-(\d\d)\/(.*)/", $pagename, $m))
@@ -385,6 +433,18 @@
 };
 
 // $Log: WikiBlog.php,v $
+// Revision 1.27  2007/06/01 06:39:07  rurban
+// no edittoolbar for comments
+//
+// Revision 1.26  2007/02/17 14:17:03  rurban
+// redirect page=""
+//
+// Revision 1.25  2007/01/20 11:23:37  rurban
+// Fix forum parent. Fix addcomment header.
+//
+// Revision 1.24  2007/01/07 18:46:40  rurban
+// Add EditToolbar support. Omit Blog/Blog/
+//
 // Revision 1.23  2005/10/29 09:06:37  rurban
 // move common blog methods to WikiBlog
 //
@@ -476,4 +536,4 @@
 // c-hanging-comment-ender-p: nil
 // indent-tabs-mode: nil
 // End:
-?>
\ No newline at end of file
+?>
diff -ruN 1.3.12p3/lib/plugin/WikiFormRich.php 1.3.14/lib/plugin/WikiFormRich.php
--- 1.3.12p3/lib/plugin/WikiFormRich.php	2006-06-18 06:19:24.000000000 -0500
+++ 1.3.14/lib/plugin/WikiFormRich.php	2007-07-01 05:11:07.000000000 -0500
@@ -1,7 +1,7 @@
 <?php // -*-php-*-
-rcs_id('$Id: WikiFormRich.php,v 1.15 2004/11/26 18:25:33 rurban Exp $');
+rcs_id('$Id: WikiFormRich.php,v 1.19 2007/01/21 23:29:49 rurban Exp $');
 /*
- Copyright 2004 $ThePhpWikiProgrammingTeam
+ Copyright 2004,2006,2007 $ThePhpWikiProgrammingTeam
 
  This file is part of PhpWiki.
 
@@ -25,16 +25,24 @@
  * Previously encoded with the "phpwiki:" syntax.
  *
  * Enhanced WikiForm to be more generic:
- * - editbox[] 		name=.. value=.. text=..
+ * - editbox[] 		name=.. value=.. text=.. autocomplete=1
  * - checkbox[] 	name=.. value=0|1 checked text=..
  * - radio[] 	        name=.. value=.. text=..
- * - pulldown[]		name=.. value=.. selected=.. text=..
- * - combobox[]		name=.. method=.. value=.. selected=.. text=..
+ * - pulldown[]		name=.. value=.. selected=.. text=.. autocomplete=1
+ * - combobox[]		name=.. value=.. text=.. method=.. args=.. 
  * - hidden[]		name=.. value=..
  * - submit[]
  * - action, submit buttontext, optional cancel button (bool)
  * - method=get or post, Default: post.
  
+ * Valid arguments for pulldown and editbox: autocomplete=1, Default: 0
+ * If autocomplete=1, additional arguments method and args may be used. 
+ * If no method is given, value will be used to fill in the valid values.
+ * method="xmlrpc:server:name" or "url:http://server/wiki/method" or "array:jsvariable"
+ * or "plugin:pluginname"
+ * args are optional arguments, space seperated, for the method.
+ * A combobox is a pulldown with autocomplete=1.
+ *
  * @Author: Reini Urban
 
  * Values which are constants are evaluated.
@@ -80,6 +88,12 @@
   <?plugin WikiFormRich action=AppendText buttontext="AddCategory"
   	   pulldown[] name=s text="Categories: " value=<!plugin-list TitleSearch s=Category !>
   	   ?>
+  <?plugin WikiFormRich action=SemanticSearch buttontext="AddRelation"
+  	   combobox[] name=relation text="Relation: " method=listRelations
+  	   ?>
+  <?plugin WikiFormRich action=AppendText buttontext="InsertTemplate"
+  	   combobox[] name=s text="Template: " method=titleSearch args="Template/"
+  	   ?>
 */
 
 class WikiPlugin_WikiFormRich
@@ -93,7 +107,7 @@
     }
     function getVersion() {
         return preg_replace("/[Revision: $]/", '',
-                            "\$Revision: 1.15 $");
+                            "\$Revision: 1.19 $");
     }
     function getDefaultArguments() {
         return array('action' => false,     // required argument
@@ -121,7 +135,7 @@
                 $this->inputbox[][$name] = array(); $j = count($this->inputbox) - 1;
                 $curargs = trim($m[2]);
                 // must match name=NAME and also value=<!plugin-list name !>
-                while (preg_match("/^(\w+)=((?:\".*\")|(?:\w+)|(?:\"?<!plugin-list.+!>\"?))\s*/", 
+                while (preg_match("/^(\w+?)=((?:\".*?\")|(?:\w+)|(?:\"?<!plugin-list.+?!>\"?))\s*/", 
                                   $curargs, $m)) {
                     $attr = $m[1]; $value = $m[2];
                     $curargs = substr($curargs, strlen($m[0]));
@@ -138,7 +152,7 @@
             		// will return a pagelist object! pulldown,checkbox,radiobutton
             		$value = $loader->expandPI($plugin_str, $GLOBALS['request'], $markup, $basepage);
             		if (isa($value, 'PageList')) 
-            		    $value = $value->_pages;
+            		    $value = $value->pageNames(); // apply limit
             		elseif (!is_array($value))
     	    		    trigger_error(sprintf("Invalid argument %s ignored", htmlentities($arg_array[$i])), 
     	    	                          E_USER_WARNING);
@@ -164,14 +178,14 @@
         }
         $form = HTML::form(array('action' => $request->getPostURL(),
                                  'method' => strtolower($method),
-                                 'class'  => 'wikiaction',
+                                 'class'  => 'wikiformrich',
                                  'accept-charset' => $GLOBALS['charset']),
                            HiddenInputs(array('action' => $action)));
         $nbsp = HTML::Raw('&nbsp;');
         $already_submit = 0;
         foreach ($this->inputbox as $inputbox) {
             foreach ($inputbox as $inputtype => $input) {
-              if ($inputtype == 'radiobutton') $inputtype='radio'; // convert from older versions
+              if ($inputtype == 'radiobutton') $inputtype = 'radio'; // convert from older versions
               $input['type'] = $inputtype;
               $text = '';
               if ($inputtype != 'submit') {
@@ -182,8 +196,8 @@
                   $text = $input['text'];
                   unset($input['text']);
               }
-              switch($inputtype) {
-              case 'checkbox':
+	      switch($inputtype) {
+              case 'checkbox': // text right
               case 'radio':
                 if (empty($input['value'])) $input['value'] = 1;
                 if (is_array($input['value'])) {
@@ -214,54 +228,30 @@
                     if ($nobr)
                         $form->pushContent(HTML::input($input), $nbsp, $text, $nbsp);
                     else
-                        $form->pushContent(HTML::div(array('class' => $class), HTML::input($input), $text));
+                        $form->pushContent(HTML::div(array('class' => $class), HTML::input($input), $nbsp, $text));
                 }
                 break;
-              case 'editbox':
+              case 'editbox': // text left
                   $input['type'] = 'text';
                   if (empty($input['value']) and ($s = $request->getArg($input['name'])))
                       $input['value'] = $s;
+		  if (!empty($input['autocomplete']))
+		      $this->_doautocomplete($form, $inputtype, $input, $input['value']);
                   if ($nobr)
-                      $form->pushContent(HTML::input($input), $nbsp, $text, $nbsp);
+                      $form->pushContent($text, $nbsp, HTML::input($input));
                   else
-                      $form->pushContent(HTML::div(array('class' => $class), HTML::input($input), $text));
-                  break;
-              case 'combobox':
-                  // TODO: moACDROPDOWN
-                  $values = $input['value'];
-                  unset($input['value']);
-                  $input['type'] = 'text';
-                  if (is_string($values)) $values = explode(",", $values);
-                  if (empty($values)) {
-                      if ($input['method'])
-                          $input['value'] = xmlrequest($input['method']);
-                       elseif ($s = $request->getArg($input['name']))
-                           $input['value'] = $s;
-                  } elseif (is_array($values)) {
-                      $name = $input['name'];
-                      unset($input['name']);
-                      foreach ($values as $val) {
-                          $input = array('value' => $val);
-                          if ($request->getArg($name)) {
-                              if ($request->getArg($name) == $val)
-                                  $input['selected'] = 'selected';
-                              else
-                                  unset($input['selected']);
-                          }
-                          //$select->pushContent(HTML::option($input, $val));
-                      }
-                  }
-                  if ($nobr)
-                      $form->pushContent(HTML::input($input), $nbsp, $text, $nbsp);
-                  else
-                      $form->pushContent(HTML::div(array('class' => $class), HTML::input($input), $text));
+                      $form->pushContent(HTML::div(array('class' => $class), $text, $nbsp, HTML::input($input)));
                   break;
+              case 'combobox': // text left
+		  $input['autocomplete'] = 1;
               case 'pulldown':
-                  $values = $input['value'];
+                  $values = @$input['value'];
                   unset($input['value']);
                   unset($input['type']);
-                  $select = HTML::select($input);
                   if (is_string($values)) $values = explode(",", $values);
+		  if (!empty($input['autocomplete']))
+		      $this->_doautocomplete($form, $inputtype, $input, $values);
+                  $select = HTML::select($input);
                   if (empty($values) and ($s = $request->getArg($input['name']))) {
                       $select->pushContent(HTML::option(array('value'=> $s), $s));
                   } elseif (is_array($values)) {
@@ -275,9 +265,12 @@
                               else
                                   unset($input['selected']);
                           }
+                          //TODO: filter uneeded attributes
                           $select->pushContent(HTML::option($input, $val));
                       }
-                  }
+                  } else { // force empty option
+		      $select->pushContent(HTML::option(array(), ''));
+		  }
                   $form->pushContent($text, $nbsp, $select);
                   break;
               case 'reset':
@@ -285,7 +278,7 @@
                   $form->pushContent(HTML::input($input));
                   break;
               // change the order of inputs, by explicitly placing a submit button here.
-              case 'submit':
+              case 'submit': // text right (?)
                   //$input['type'] = 'submit';
                   if (empty($input['value'])) $input['value'] = $buttontext ? $buttontext : $action;
                   unset($input['text']);
@@ -322,9 +315,101 @@
         }
         return $form;
     }
+
+    function _doautocomplete(&$form, $inputtype, &$input, &$values) {
+	global $request;
+	$input['class'] = "dropdown";
+	$input['acdropdown'] = "true"; 
+	//$input['autocomplete'] = "OFF";
+	$input['autocomplete_complete'] = "true";
+	// only match begin: autocomplete_matchbegin, or
+	$input['autocomplete_matchsubstring'] = "true";
+	if (empty($values)) {
+	    if ($input['method']) {
+		if (empty($input['args'])) {
+		    if (preg_match("/^(.*?) (.*)$/",$input['method'],$m)) {
+		        $input['method'] = $m[1];
+		        $input['args'] = $m[2];
+		    } else 
+		        $input['args'] = null;
+		}
+		static $tmpArray = 'tmpArray00';
+		// deferred remote xmlrpc call
+		if (string_starts_with($input['method'], "dynxmlrpc:")) {
+		    // how is server + method + args encoding parsed by acdropdown? 
+		    $input['autocomplete_list'] = substr($input['method'],3);
+		    if ($input['args']) 
+		        $input['autocomplete_list'] .= (" ".$input['args']);
+		// static xmlrpc call, local only
+		} elseif (string_starts_with($input['method'], "xmlrpc:")) {
+		    include_once("lib/XmlRpcClient.php");
+		    $values = wiki_xmlrpc_post(substr($input['method'],7), $input['args']);
+		} elseif (string_starts_with($input['method'], "url:")) {
+		    include_once("lib/HttpClient.php");
+		    $html = HttpClient::quickGet(substr($input['method'],4));
+		    //TODO: how to parse the HTML result into a list?
+		} elseif (string_starts_with($input['method'], "dynurl:")) {
+		    $input['autocomplete_list'] = substr($input['method'],3);
+		} elseif (string_starts_with($input['method'], "plugin:")) {
+		    $dbi = $request->getDbh();
+		    $pluginName = substr($input['method'],7);
+		    $basepage = '';
+		    require_once("lib/WikiPlugin.php");
+		    $w = new WikiPluginLoader;
+		    $p = $w->getPlugin($pluginName, false); // second arg?
+		    if (!is_object($p))
+			trigger_error("invalid input['method'] ".$input['method'], E_USER_WARNING);
+		    $pagelist = $p->run($dbi, @$input['args'], $request, $basepage);
+		    $values = array();
+		    if (is_object($pagelist) and isa($pagelist, 'PageList')) {
+			foreach ($pagelist->_pages as $page) {
+			    if (is_object($page))
+			        $values[] = $page->getName();
+			    else
+			        $values[] = (string)$page;
+			}
+		    }
+		} elseif (string_starts_with($input['method'], "array:")) {
+		    // some predefined values (e.g. in a template or themeinfo.php)
+		    $input['autocomplete_list'] = $input['method'];
+		} else {
+		    trigger_error("invalid input['method'] ".$input['method'], E_USER_WARNING);
+		}
+		if (empty($input['autocomplete_list'])) 
+		{
+		    $tmpArray++;
+		    $input['autocomplete_list']="array:".$tmpArray;
+		    $svalues = empty($values) ? "" : join("','", $values);
+		    $form->pushContent(JavaScript("var $tmpArray = new Array('".$svalues."')"));
+		}
+		if (count($values) == 1)
+		    $input['value'] = $values[0];
+		else
+		    $input['value'] = "";    
+		unset($input['method']);
+		unset($input['args']);
+		//unset($input['autocomplete']);
+	    }
+	    elseif ($s = $request->getArg($input['name']))
+		$input['value'] = $s;
+	}
+	return true;
+    }
 };
 
 // $Log: WikiFormRich.php,v $
+// Revision 1.19  2007/01/21 23:29:49  rurban
+// editbox label left. Use form class wikiformrich
+//
+// Revision 1.18  2007/01/20 11:41:47  rurban
+// Updated (c) year
+//
+// Revision 1.17  2007/01/03 21:24:33  rurban
+// remove debugging cruft.
+//
+// Revision 1.16  2007/01/02 13:23:38  rurban
+// support more WikiFormRich method arguments: url, dynurl, xmlrpc, dynxmlrpc, the autocomplete option for pulldown[] and editbox[] and the new combobox[] widget. fix name=value parsing. fix limit with plugin-list invocations
+//
 // Revision 1.15  2004/11/26 18:25:33  rurban
 // pulldown[] values="val1,val2,val3,..." simple comma seperated values
 //
@@ -390,4 +475,4 @@
 // c-hanging-comment-ender-p: nil
 // indent-tabs-mode: nil
 // End:
-?>
\ No newline at end of file
+?>
diff -ruN 1.3.12p3/lib/plugin/WikiForum.php 1.3.14/lib/plugin/WikiForum.php
--- 1.3.12p3/lib/plugin/WikiForum.php	2006-06-18 06:19:24.000000000 -0500
+++ 1.3.14/lib/plugin/WikiForum.php	2007-07-01 05:11:07.000000000 -0500
@@ -1,9 +1,9 @@
 <?php // -*-php-*-
-rcs_id('$Id: WikiForum.php,v 1.3 2004/06/14 11:31:39 rurban Exp $');
+rcs_id('$Id: WikiForum.php,v 1.4 2007/01/20 11:41:54 rurban Exp $');
 /*
  Copyright 2004 $ThePhpWikiProgrammingTeam
  
- This file is (not yet) part of PhpWiki.
+ This file is part of PhpWiki.
 
  PhpWiki is free software; you can redistribute it and/or modify
  it under the terms of the GNU General Public License as published by
@@ -58,7 +58,7 @@
 
     function getVersion() {
         return preg_replace("/[Revision: $]/", '',
-                            "\$Revision: 1.3 $");
+                            "\$Revision: 1.4 $");
     }
 
     function getDefaultArguments() {
@@ -136,6 +136,9 @@
 };
 
 // $Log: WikiForum.php,v $
+// Revision 1.4  2007/01/20 11:41:54  rurban
+// Updated desc
+//
 // Revision 1.3  2004/06/14 11:31:39  rurban
 // renamed global $Theme to $WikiTheme (gforge nameclash)
 // inherit PageList default options from PageList
@@ -163,4 +166,4 @@
 // c-hanging-comment-ender-p: nil
 // indent-tabs-mode: nil
 // End:
-?>
\ No newline at end of file
+?>
diff -ruN 1.3.12p3/lib/plugin/WikiPoll.php 1.3.14/lib/plugin/WikiPoll.php
--- 1.3.12p3/lib/plugin/WikiPoll.php	2006-06-18 06:19:24.000000000 -0500
+++ 1.3.14/lib/plugin/WikiPoll.php	2007-07-01 05:11:07.000000000 -0500
@@ -1,5 +1,5 @@
 <?php // -*-php-*-
-rcs_id('$Id: WikiPoll.php,v 1.9 2004/06/16 10:38:59 rurban Exp $');
+rcs_id('$Id: WikiPoll.php,v 1.10 2007/01/04 16:47:24 rurban Exp $');
 /*
  Copyright 2004 $ThePhpWikiProgrammingTeam
  
@@ -65,7 +65,7 @@
 
     function getVersion() {
         return preg_replace("/[Revision: $]/", '',
-                            "\$Revision: 1.9 $");
+                            "\$Revision: 1.10 $");
     }
 
     function getDefaultArguments() {
@@ -221,7 +221,7 @@
             $html->pushContent(HTML::p(
         	HTML::input(array('type' => 'submit',
                                   'name' => "WikiPoll",
-                                  'value' => _("Ok"))),
+                                  'value' => _("OK"))),
         	HTML::input(array('type' => 'reset',
                                   'name' => "reset",
                                   'value' => _("Reset")))));
@@ -330,6 +330,9 @@
 };
 
 // $Log: WikiPoll.php,v $
+// Revision 1.10  2007/01/04 16:47:24  rurban
+// Ok => OK: less translations
+//
 // Revision 1.9  2004/06/16 10:38:59  rurban
 // Disallow refernces in calls if the declaration is a reference
 // ("allow_call_time_pass_reference clean").
@@ -376,4 +379,4 @@
 // c-hanging-comment-ender-p: nil
 // indent-tabs-mode: nil
 // End:
-?>
\ No newline at end of file
+?>
diff -ruN 1.3.12p3/lib/plugin/YouTube.php 1.3.14/lib/plugin/YouTube.php
--- 1.3.12p3/lib/plugin/YouTube.php	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/lib/plugin/YouTube.php	2007-07-01 05:11:07.000000000 -0500
@@ -0,0 +1,193 @@
+<?php // -*-php-*-
+rcs_id('$Id: YouTube.php,v 1.2 2007/05/24 19:03:07 rurban Exp $');
+/*
+ Copyright 2007 Reini Urban
+*/
+
+/**
+ * Embed YouTube videos
+ *
+ * Browse: Daily pick, Most Recent, Most Viewed, Top Rated, Most Discussed, Top Favorites, Most Linked,
+ *         Recently Featured, Most Responded, Watch on Mobile
+ * Time:   Today, This Week, This Month, All Time
+ * Category: All, Autos & Vehicles, Comedy, Entertainment, Film & Animation, 
+ *         Gadgets & Games, Howto & DIY, Music, News & Politics, People & Blogs, Pets & Animals, 
+ *         Sports, Travel & Places
+ * Language: All, English, Spanish, Japanese, German, Chinese, French
+ * @author: Reini Urban
+ */
+
+class WikiPlugin_YouTube
+extends WikiPlugin
+{
+    function getName () {
+        return _("YouTube");
+    }
+    
+    function getDescription () {
+        return _("Embed YouTube videos");
+    }
+    
+    function getVersion() {
+        return preg_replace("/[Revision: $]/", '',"\$Revision: 1.2 $");
+    }
+    
+    function getDefaultArguments() {
+        return array('v' => "",
+		     'browse' => '',      // see above
+		     'time'   => '',      // only if browse
+		     'category' => '',    // only if browse
+		     'language' => '',    // only if browse
+		     'index'    => 0,     // only if browse
+		     'style' => 'inline', // or link. link links to youtube.
+		     'size'  => 'medium', // or large, medium or small
+		     'autoplay' => 0,
+		     'width' => "425",
+		     'height' => "350");
+    }
+   
+    function run($dbi, $argstr, &$request, $basepage) {
+	$args = $this->getArgs($argstr, $request);
+	extract($args);
+	if (empty($args['v'])) {
+	    if (empty($args['browse']))
+		return $this->error(fmt("Required argument %s missing", "v"));
+	    $this->_browse = array("Most Recent"   => "mr",
+	    			   "Most Viewed"   => "mp",
+	    			   "Top Rated"     => "tr",
+	    			   "Most Discussed"=> "md",
+				   "Top Favorites" => "mf",
+				   "Most Linked"   => "mrd",
+				   "Recently Featured"=> "rf",
+				   "Most Responded"   => "ms",
+				   "Watch on Mobile"  => "mv");
+	    $this->browse   = array_keys($this->_browse);
+	    array_unshift($this->browse, "Daily Pick");
+	    $this->_time    = array("Today" => "t",
+				    "This Week" => "w",
+				    "This Month" => "m",
+				    "All Time" => "a");
+	    $this->_category = array("All" 		=> "0",
+				     "Autos & Vehicles" => "2",
+				     "Comedy" 		=> "23",
+				     "Entertainment" 	=> "24",
+				     "Film & Animation" => "1",
+				     "Gadgets & Games" 	=> "20",
+				     "Howto & DIY" 	=> "26",
+				     "Music" 		=> "10",
+				     "News & Politics" 	=> "25",
+				     "People & Blogs" 	=> "22",
+				     "Pets & Animals" 	=> "15",
+				     "Sports" 		=> "17",
+				     "Travel & Places" 	=> "19");
+	    $this->_language = array("All"     => "",
+				     "English" => "EN",
+				     "Spanish" => "ES",
+				     "Japanese"=> "JA",
+				     "German"  => "DE",
+				     "Chinese" => "CN",
+				     "French"  => "FR");
+	    if (!in_array($browse,$this->browse))
+		return $this->error(fmt("Invalid argument %s", "browse"));
+	    if ($time and !in_array($time,array_keys($this->_time)))
+		return $this->error(fmt("Invalid argument %s", "time"));
+	    if ($category and !in_array($category,$this->category)) 
+		return $this->error(fmt("Invalid argument %s", "category"));
+	    if ($language and !in_array($language,$this->language)) 
+		return $this->error(fmt("Invalid argument %s", "language"));
+	    if ($browse == "Daily Pick")
+		$v = $this->Daily_pick();
+	    else {
+		$s = $this->_browse[$browse];
+		$t = $time ? $this->_time[$time] : 't';
+		$c = $category ? $this->_category[$category] : '0';
+		$l = $language ? $this->_language[$language] : '';
+	    	$url = "http://www.youtube.com/browse?s=$s&t=$t&c=$c&l=$l";
+		$m = array('','');
+		if ($xml = url_get_contents($url)) {
+		    if ($index) {
+			if (preg_match_all('/<div class="vtitle">.*?\n.*?<a href="\/watch\?v=(\w+)" onclick=/s', $xml, $m))
+			    $v = $m[1][$index];
+		    }
+		    else {
+			if (preg_match('/<div class="vtitle">.*?\n.*?<a href="\/watch\?v=(\w+)" onclick=/s', $xml, $m))
+			    $v = $m[1];
+		    }
+		}
+	    }
+	}
+	// sanify check
+	if (strlen($v) < 10 or strlen($v) > 12)
+	    return $this->error(fmt("Invalid argument %s", "v"));
+	if (strcspn($v,"-_0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"))
+	    return $this->error(fmt("Invalid argument %s", "v"));
+	$url = "http://www.youtube.com/v/" . $v;
+	if ($autoplay)
+	    $url .= "?autoplay=1";
+	if ($size != 'medium') {
+	    if ($size == 'large') { $width = 640; $height = 526; }
+	    elseif ($size == 'small') { $width = 240; $height = 200; }
+	}
+	unset($args['size']);
+	unset($args['style']);
+	$args['src'] = $v;
+	unset($args['v']);
+	if ($style == 'link') {
+	    if ($size == 'medium') { $width = 130; $height = 97; }
+	    elseif ($size == 'large') { $width = 320; $height = 240; }
+	    elseif ($size == 'small') { $width = 90; $height = 60; }
+	    // img: http://img.youtube.com/vi/KKTDRqQtPO8/2.jpg or 0.jpg
+	    $link = HTML::a(array('href' => $url),
+			    HTML::img(array('src' => "http://img.youtube.com/vi/".
+					    $v."/".(($size == 'large')?"0":"2").".jpg",
+					    'width' => $width,
+					    'height' => $height)));
+	    return $link;
+	}
+	$object = HTML::object(array('class' => 'inlineobject',
+				     'width' => $width,
+				     'height' => $height,
+				     ));
+	$attrs = array('src' => $url,
+		       'type' => 'application/x-shockwave-flash', 
+		       'wmode' => 'transparent',
+		       'width' => $width,
+		       'height' => $height);
+	if (isBrowserSafari()) {
+	    return HTML::embed($attrs);
+	}
+	$object->pushContent(HTML::param(array('name' => 'movie', 'value' => $url)));
+	$object->pushContent(HTML::param(array('name' => 'wmode', 'value' => 'transparent')));
+	$object->pushContent(HTML::embed($attrs));
+	return $object;
+
+	//<object width="$w" height="$h"><param name="movie" value="http://www.youtube.com/v/$v"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/$v" type="application/x-shockwave-flash" wmode="transparent" width="$w" height="$h"></embed></object>
+    }
+
+    function Daily_pick() {
+	if ($xml = url_get_contents("http://www.youtube.com/categories")) {
+	    if (preg_match('/<div class="heading"><b>Pick of The Day<\/b><\/div>.*?<a href="\/watch\?v=(\w+)">/s', $xml, $m))
+	        return $m[1];
+	}
+	return '';
+    }
+};
+
+// $Log: YouTube.php,v $
+// Revision 1.2  2007/05/24 19:03:07  rurban
+// fix browse regex
+//
+// Revision 1.1  2007/05/24 18:40:30  rurban
+// new plugin
+//
+//
+
+// For emacs users
+// Local Variables:
+// mode: php
+// tab-width: 8
+// c-basic-offset: 4
+// c-hanging-comment-ender-p: nil
+// indent-tabs-mode: nil
+// End:
+?>
diff -ruN 1.3.12p3/lib/prepend.php 1.3.14/lib/prepend.php
--- 1.3.12p3/lib/prepend.php	2006-06-18 06:19:24.000000000 -0500
+++ 1.3.14/lib/prepend.php	2007-07-01 05:11:08.000000000 -0500
@@ -9,10 +9,10 @@
     if (defined('DEBUG') and DEBUG)
         $GLOBALS['RCS_IDS'] .= "$id\n"; 
 }
-rcs_id('$Id: prepend.php,v 1.43 2005/09/14 06:06:43 rurban Exp $');
+rcs_id('$Id: prepend.php,v 1.61 2007/06/07 16:59:06 rurban Exp $');
 
 // see lib/stdlib.php: phpwiki_version()
-define('PHPWIKI_VERSION', '1.3.12p3');
+define('PHPWIKI_VERSION', '1.3.14');
 
 /** 
  * Returns true if current php version is at mimimum a.b.c 
@@ -30,11 +30,28 @@
   * We want to work with those old ones instead of the new superglobals, 
   * for easier coding.
   */
+/*
 foreach (array('SERVER','REQUEST','GET','POST','SESSION','ENV','COOKIE') as $k) {
-    if (!isset($GLOBALS['HTTP_'.$k.'_VARS']) and isset($GLOBALS['_'.$k]))
+    if (!isset($GLOBALS['HTTP_'.$k.'_VARS']) and isset($GLOBALS['_'.$k])) {
         $GLOBALS['HTTP_'.$k.'_VARS'] =& $GLOBALS['_'.$k];
+    }
+}
+*/
+// A new php-5.1.x feature: Turn off php-5.1.x auto_globals_jit = On, or use this mess below.
+if (empty($GLOBALS['HTTP_SERVER_VARS'])) {
+    $GLOBALS['HTTP_SERVER_VARS']  =& $_SERVER;
+    $GLOBALS['HTTP_ENV_VARS'] 	  =& $_ENV;
+    $GLOBALS['HTTP_GET_VARS'] 	  =& $_GET;
+    $GLOBALS['HTTP_POST_VARS'] 	  =& $_POST;
+    $GLOBALS['HTTP_SESSION_VARS'] =& $_SESSION;
+    $GLOBALS['HTTP_COOKIE_VARS']  =& $_COOKIE;
+    $GLOBALS['HTTP_REQUEST_VARS'] =& $_REQUEST;
 }
 unset($k);
+// catch connection failures on upgrade
+if (isset($GLOBALS['HTTP_GET_VARS']['action']) 
+    and $GLOBALS['HTTP_GET_VARS']['action'] == 'upgrade')
+    define('ADODB_ERROR_HANDLER_TYPE', E_USER_WARNING);
 
 // If your php was compiled with --enable-trans-sid it tries to
 // add a PHPSESSID query argument to all URL strings when cookie
diff -ruN 1.3.12p3/lib/Request.php 1.3.14/lib/Request.php
--- 1.3.12p3/lib/Request.php	2006-06-18 06:19:24.000000000 -0500
+++ 1.3.14/lib/Request.php	2007-07-01 05:11:08.000000000 -0500
@@ -1,7 +1,7 @@
 <?php // -*-php-*-
-rcs_id('$Id: Request.php,v 1.105 2006/04/17 17:25:19 rurban Exp $');
+rcs_id('$Id: Request.php,v 1.113 2007/03/18 10:25:21 rurban Exp $');
 /*
- Copyright (C) 2002,2004,2005 $ThePhpWikiProgrammingTeam
+ Copyright (C) 2002,2004,2005,2006 $ThePhpWikiProgrammingTeam
  
  This file is part of PhpWiki.
 
@@ -60,8 +60,13 @@
     function get($key) {
         if (!empty($GLOBALS['HTTP_SERVER_VARS']))
             $vars = &$GLOBALS['HTTP_SERVER_VARS'];
-        else // cgi or other servers than Apache
-            $vars = &$GLOBALS['HTTP_ENV_VARS'];
+        elseif (!empty($GLOBALS['HTTP_ENV_VARS']))
+            $vars = &$GLOBALS['HTTP_ENV_VARS']; // cgi or other servers than Apache
+        else
+            trigger_error("Serious php configuration error!"
+                          ." No HTTP_SERVER_VARS and HTTP_ENV_VARS vars available."
+                          ." These should get defined in lib/prepend.php",
+                          E_USER_WARNING);
 
         if (isset($vars[$key]))
             return $vars[$key];
@@ -412,13 +417,15 @@
      * sections with ob_buffering.
      */
     function chunkOutput() {
-        if (!empty($this->_is_buffering_output) or 
-            (function_exists('ob_get_level') and @ob_get_level())) {
+        if (!empty($this->_is_buffering_output) 
+	    or 
+            (function_exists('ob_get_level') and @ob_get_level())) 
+	{
             $this->_do_chunked_output = true;
             if (empty($this->_ob_get_length)) $this->_ob_get_length = 0;
             $this->_ob_get_length += ob_get_length();
             while (@ob_end_flush());
-            ob_end_clean();
+            @ob_end_clean();
             ob_start();
         }
     }
@@ -718,11 +725,13 @@
                     $tmp_file = dirname(tempnam('', ''));
                 }
                 $tmp_file .= '/' . basename($fileinfo['tmp_name']);
-                /* but ending slash in php.ini upload_tmp_dir is required. */
+                /* ending slash in php.ini upload_tmp_dir is required. */
                 if (realpath(ereg_replace('/+', '/', $tmp_file)) != realpath($fileinfo['tmp_name'])) {
                     trigger_error(sprintf("Uploaded tmpfile illegal: %s != %s.",$tmp_file, $fileinfo['tmp_name']).
                     	          "\n".
-                    	          "Probably illegal TEMP environment or upload_tmp_dir setting.",
+                    	          "Probably illegal TEMP environment or upload_tmp_dir setting. ".
+                    	          "Esp. on WINDOWS be sure to set upload_tmp_dir in php.ini to use forward slashes and ".
+                    	          "end with a slash. upload_tmp_dir = \"C:/WINDOWS/TEMP/\" is good suggestion.",
                                   E_USER_ERROR);
                     return false;
                 } else {
@@ -1039,10 +1048,10 @@
      * @param $size integer
      */
     function setSize ($size=0) {
-        $this->size = $size;
+        $this->size = (int)$size;
     }
     function setDuration ($seconds) {
-        $this->duration = $seconds;
+        $this->duration = (float)$seconds;
     }
     
     /**
@@ -1117,7 +1126,7 @@
     	
         $dbh =& $request->_dbi;
         if ($dbh and $dbh->isOpen() and $this->_accesslog->logtable) {
-            $log_tbl =& $this->_accesslog->logtable;
+            //$log_tbl =& $this->_accesslog->logtable;
             if ($request->get('REQUEST_METHOD') == "POST") {
                 // strangely HTTP_POST_VARS doesn't contain all posted vars.
           	if (check_php_version(4,2))
@@ -1133,24 +1142,12 @@
             } else {
           	$this->request_args = $request->get('QUERY_STRING'); 
             }
+            $this->request_method = $request->get('REQUEST_METHOD');
+            $this->request_uri = $request->get('REQUEST_URI');
             // duration problem: sprintf "%f" might use comma e.g. "100,201" in european locales
-            $dbh->genericSqlQuery
-                (
-                 sprintf("INSERT INTO $log_tbl"
-                         . " (time_stamp,remote_host,remote_user,request_method,request_line,request_uri,"
-                         .   "request_args,request_time,status,bytes_sent,referer,agent,request_duration)"
-                         . " VALUES(%d,%s,%s,%s,%s,%s,%s,%s,%d,%d,%s,%s,'%s')",
-                     $this->time,
-                     $dbh->quote($this->host), $dbh->quote($this->user),
-                     $dbh->quote($request->get('REQUEST_METHOD')), $dbh->quote($this->request), 
-                     $dbh->quote($request->get('REQUEST_URI')), $dbh->quote($this->request_args),
-                     $dbh->quote($this->_ncsa_time($this->time)), $this->status, $this->size,
-                     $dbh->quote($this->referer),
-                     $dbh->quote($this->user_agent),
-                     $this->duration));
+            $dbh->_backend->write_accesslog($this);
         }
     }
-
 }
 
 /**
@@ -1350,6 +1347,30 @@
 
 
 // $Log: Request.php,v $
+// Revision 1.113  2007/03/18 10:25:21  rurban
+// cast AccessLog types
+//
+// Revision 1.112  2007/01/28 22:49:55  rurban
+// use backend specific SQL write_accesslog
+//
+// Revision 1.111  2007/01/07 18:43:26  rurban
+// Explain failed UpLoad on Windows to the user.
+//
+// Revision 1.110  2007/01/04 16:45:10  rurban
+// Be more verbose in serious php problem.
+//
+// Revision 1.109  2006/12/22 00:24:09  rurban
+// silence empty obcache messages
+//
+// Revision 1.108  2006/11/29 19:49:48  rurban
+// quote the date
+//
+// Revision 1.107  2006/11/19 11:10:11  rurban
+// Patch from Bug# 1569424 by Bob Peele (bob.peele@oracle.com)
+//
+// Revision 1.106  2006/08/15 13:37:59  rurban
+// error on no long arrays
+//
 // Revision 1.105  2006/04/17 17:25:19  rurban
 // make the flush error go away. die
 //
diff -ruN 1.3.12p3/lib/RssWriter2.php 1.3.14/lib/RssWriter2.php
--- 1.3.12p3/lib/RssWriter2.php	2006-06-18 06:19:24.000000000 -0500
+++ 1.3.14/lib/RssWriter2.php	2007-07-01 05:11:08.000000000 -0500
@@ -1,4 +1,4 @@
-<?php rcs_id('$Id: RssWriter2.php,v 1.2 2005/07/24 09:52:59 rurban Exp $');
+<?php rcs_id('$Id: RssWriter2.php,v 1.3 2007/01/04 16:45:20 rurban Exp $');
 /*
  * Code for creating RSS 2.0
  * Author: Reini Urban for PhpWiki
@@ -73,7 +73,6 @@
         echo "              %HTMLlat1;]>\n";
         $this->printXML();
     }
-
 };
 
 // (c-file-style: "gnu")
diff -ruN 1.3.12p3/lib/RssWriter.php 1.3.14/lib/RssWriter.php
--- 1.3.12p3/lib/RssWriter.php	2006-06-18 06:19:24.000000000 -0500
+++ 1.3.14/lib/RssWriter.php	2007-07-01 05:11:08.000000000 -0500
@@ -1,4 +1,4 @@
-<?php rcs_id('$Id: RssWriter.php,v 1.12 2005/07/24 09:52:59 rurban Exp $');
+<?php rcs_id('$Id: RssWriter.php,v 1.14 2007/07/01 09:17:45 rurban Exp $');
 /*
  * Code for creating RSS 1.0.
  */
@@ -45,7 +45,7 @@
 	assert(!isset($this->_modules[$alias]));
 	$this->_modules[$alias] = $uri;
     }
-        
+
     // Args should include:
     //  'title', 'link', 'description'
     // and can include:
@@ -112,7 +112,6 @@
         $this->_finished = true;
     }
             
-
     /**
      * Write output to HTTP client.
      */
@@ -155,7 +154,12 @@
 	$out = array();
         foreach ($elements as $prop => $val) {
 	    $this->__check_predicate($prop);
-	    $out[] = new XmlElement($prop, false, $val);
+	    if (is_array($val))
+	        $out[] = new XmlElement($prop, $val);
+	    elseif (is_object($val))    
+		    $out[] = $val; 
+	    else
+	        $out[] = new XmlElement($prop, false, $val);
 	}
 	return $out;
     }
@@ -183,6 +187,107 @@
     }
 };
 
+/* taken from mediawiki */
+class AtomFeed extends RssWriter {
+  
+    // Args should include:
+    //  'title', 'link', 'description'
+    // and can include:
+    //  'URI'
+    function feed($properties, $uri = false) {
+    	global $LANG;
+    	$attr = array('xmlns' => 'http://www.w3.org/2005/Atom',
+        	      'version' => '0.3', // or 1.0
+        	      'lang' => $LANG);
+        $this->_channel = $this->__node('feed', $attr, $properties, $uri);
+    }
+
+    /**
+     * Write output to HTTP client.
+     */
+    function __spew() {
+        header("Content-Type: application/atom+xml; charset=" . RSS_ENCODING);
+        printf("<?xml version=\"1.0\" encoding=\"%s\"?>\n", RSS_ENCODING);
+        printf("<!-- generator=\"PhpWiki-%s\" -->\n", PHPWIKI_VERSION);
+        /*
+        <feed version="0.3" xmlns="http://www.w3.org/2005/Atom" xml:lang="$LANG">	
+        <title><?php print $this->getTitle() ?></title>
+        <link rel="alternate" type="text/html" href="<?php print $this->getUrl() ?>"/>
+        <modified><?= gmdate( 'Y-m-d\TH:i:s', wfTimestamp( TS_UNIX, $ts ) ) ?>Z</modified>
+        <tagline><?php print $this->getDescription() ?></tagline>
+        */
+        $this->printXML();
+    }
+
+    /**
+     * Create a new entry
+     */
+    function __node($type, $attr, $properties, $uri = false) {
+	if (! $uri)
+	    $uri = $properties['link'];
+	//$attr['rdf:about'] = $this->__uniquify_uri($uri);
+	return new XmlElement($type, $attr,
+                              $this->__elementize($properties));
+    }
+
+    // Args should include:
+    //  'title', 'link', author, modified, issued, created, summary,
+    // and can include:
+    //  comment
+    function addItem($properties, $attr=false, $uri = false) {
+        $this->_items[] = $this->__node('entry', $attr, $properties, $uri);
+    /*
+	<entry>
+		<title><?php print $item->getTitle() ?></title>
+		<link rel="alternate" type="<?php print $wgMimeType ?>" href="<?php print $item->getUrl() ?>"/>
+		<?php if( $item->getDate() ) { ?>
+		<modified><?php print $this->formatTime( $item->getDate() ) ?>Z</modified>
+		<issued><?php print $this->formatTime( $item->getDate() ) ?></issued>
+		<created><?php print $this->formatTime( $item->getDate() ) ?>Z</created><?php } ?>
+	
+		<summary type="text/plain"><?php print $item->getDescription() ?></summary>
+		<?php if( $item->getAuthor() ) { ?><author><name><?php print $item->getAuthor() ?></name><!-- <url></url><email></email> --></author><?php }?>
+		<comment>foobar</comment>
+                <?php if( $item->getComments() ) { ?><dc:comment><?php print $item->getComments() ?></dc:comment><?php }?> 
+	</entry> 
+    */
+    }
+
+    /**
+     * Finish construction of RSS.
+     */
+    function finish() {
+        if (isset($this->_finished))
+            return;
+
+        $channel = &$this->_channel;
+        $items = &$this->_items;
+	/*
+        $seq = new XmlElement('rdf:Seq');
+        if ($items) {
+            foreach ($items as $item)
+                $seq->pushContent($this->__ref('rdf:li', $item));
+        }
+        $channel->pushContent(new XmlElement('items', false, $seq));
+	if (isset($this->_image)) {
+            $channel->pushContent($this->__ref('image', $this->_image));
+	    $items[] = $this->_image;
+	}
+	if (isset($this->_textinput)) {
+            $channel->pushContent($this->__ref('textinput', $this->_textinput));
+	    $items[] = $this->_textinput;
+	}
+	*/
+
+	if ($items)
+	    $channel->pushContent($items);
+	$this->pushContent($channel);
+
+        $this->__spew();
+        $this->_finished = true;
+    }
+}
+
 
 // (c-file-style: "gnu")
 // Local Variables:
@@ -192,4 +297,4 @@
 // c-hanging-comment-ender-p: nil
 // indent-tabs-mode: nil
 // End:   
-?>
\ No newline at end of file
+?>
diff -ruN 1.3.12p3/lib/SemanticWeb.php 1.3.14/lib/SemanticWeb.php
--- 1.3.12p3/lib/SemanticWeb.php	2006-06-18 06:19:24.000000000 -0500
+++ 1.3.14/lib/SemanticWeb.php	2007-07-01 05:11:08.000000000 -0500
@@ -1,4 +1,4 @@
-<?php rcs_id('$Id: SemanticWeb.php,v 1.8 2004/04/18 01:11:51 rurban Exp $');
+<?php rcs_id('$Id: SemanticWeb.php,v 1.9 2007/06/09 20:02:55 rurban Exp $');
 /**
  * What to do on ?format=rdf  What to do on ?format=owl
  *
@@ -19,9 +19,11 @@
  * DAML should also be supported.
  *
  * Purpose:
- * - Another way to represent various KB models in various DL languages. (OWL/DAML/other DL)
+ * - Another way to represent various KB models in various DL languages. 
+ *   (OWL/DAML/other DL)
  * - Frontend to various KB model reasoners and representations. 
- * - Generation/update of static wiki pages based on external OWL/DL/KB (=> ModelTest/Categories)
+ * - Generation/update of static wiki pages based on external OWL/DL/KB 
+ *   (=> ModelTest/Categories)
  *   KB Blackboard and Visualization.
  * - OWL generation based on static wiki pages (ModelTest?format=owl)
  *
@@ -82,7 +84,7 @@
  */
 /*============================================================================*/
 /*
- Copyright 2004 Reini Urban
+ Copyright 2004,2007 Reini Urban
 
  This file is part of PhpWiki.
 
@@ -101,15 +103,19 @@
  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
 
+require_once('lib/RssWriter.php');
+require_once('lib/TextSearchQuery.php');
+require_once('lib/Units.php');
+
+
 /**
- * RdfWriter - A class to represent a wikipage as RDF. Supports ?format=rdf
+ * RdfWriter - A class to represent a single(?) wikipage as RDF. Supports ?format=rdf
  *
  * RdfWriter
  *  - RssWriter
  *    - RecentChanges (RecentChanges?format=rss)
  *      channel: ... item: ...
  */
-include_once('lib/RssWriter.php');
 class RdfWriter extends RssWriter // in fact it should be rewritten to be other way round.
 {
     function RdfWriter () {
@@ -125,11 +131,84 @@
 
 	$this->_uris_seen = array();
         $this->_items = array();
+
+	$this->wiki_xmlns_xml = WikiURL(_("URIResolver")."/",false,true);
+	$this->wiki_xmlns_url = PHPWIKI_BASE_URL;
+
+	$this->pre_ns_buffer =
+	    "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" .
+	    "<!DOCTYPE rdf:RDF[\n" .
+	    "\t"."<!ENTITY rdf 'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>\n" .
+	    "\t"."<!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>\n" .
+	    "\t"."<!ENTITY owl 'http://www.w3.org/2002/07/owl#'>\n" .
+	    "\t"."<!ENTITY smw 'http://smw.ontoware.org/2005/smw#'>\n" .
+	    "\t"."<!ENTITY smwdt 'http://smw.ontoware.org/2005/smw-datatype#'>\n" .
+	    // A note on "wiki": this namespace is crucial as a fallback when it would be illegal to start e.g. with a number. In this case, one can always use wiki:... followed by "_" and possibly some namespace, since _ is legal as a first character.
+	    "\t"."<!ENTITY wiki '" . $this->wiki_xmlns_xml .  "'>\n" .
+	    "\t"."<!ENTITY relation '" . $this->wiki_xmlns_xml .
+	    $this->makeXMLExportId(urlencode(str_replace(' ', '_', _("Relation") . ':'))) .  "'>\n" .
+	    "\t"."<!ENTITY attribute '" . $this->wiki_xmlns_xml .
+	    $this->makeXMLExportId(urlencode(str_replace(' ', '_', _("Attribute") . ':'))) .  "'>\n" .
+	    "\t"."<!ENTITY wikiurl '" . $this->wiki_xmlns_url .  "'>\n" .
+	    "]>\n\n" .
+	    "<rdf:RDF\n" .
+	    "\t"."xmlns:rdf=\"&rdf;\"\n" .
+	    "\t"."xmlns:rdfs=\"&rdfs;\"\n" .
+	    "\t"."xmlns:owl =\"&owl;\"\n" .
+	    "\t"."xmlns:smw=\"&smw;\"\n" .
+	    "\t"."xmlns:wiki=\"&wiki;\"\n" .
+	    "\t"."xmlns:relation=\"&relation;\"\n" .
+	    "\t"."xmlns:attribute=\"&attribute;\"";
+	$this->post_ns_buffer =
+	    "\n\t<!-- reference to the Semantic MediaWiki schema -->\n" .
+	    "\t"."<owl:AnnotationProperty rdf:about=\"&smw;hasArticle\">\n" .
+	    "\t\t"."<rdfs:isDefinedBy rdf:resource=\"http://smw.ontoware.org/2005/smw\"/>\n" .
+	    "\t"."</owl:AnnotationProperty>\n" .
+	    "\t"."<owl:AnnotationProperty rdf:about=\"&smw;hasType\">\n" .
+	    "\t\t"."<rdfs:isDefinedBy rdf:resource=\"http://smw.ontoware.org/2005/smw\"/>\n" .
+	    "\t"."</owl:AnnotationProperty>\n" .
+	    "\t"."<owl:Class rdf:about=\"&smw;Thing\">\n" .
+	    "\t\t"."<rdfs:isDefinedBy rdf:resource=\"http://smw.ontoware.org/2005/smw\"/>\n" .
+	    "\t"."</owl:Class>\n" .
+	    "\t<!-- exported page data -->\n";
     }
+
+    function format() {
+	header( "Content-type: application/rdf+xml; charset=UTF-8" );
+	echo $this->pre_ns_buffer;
+	echo ">\n";
+	echo $this->post_ns_buffer;
+	echo "</rdf:RDF>\n";
+    }
+
+	/** This function transforms a valid url-encoded URI into a string
+	 *  that can be used as an XML-ID. The mapping should be injective.
+	 */
+	function makeXMLExportId($uri) {
+		$uri = str_replace( '-', '-2D', $uri);
+		//$uri = str_replace( ':', '-3A', $uri); //already done by PHP
+		//$uri = str_replace( '_', '-5F', $uri); //not necessary
+		$uri = str_replace( array('"','#','&',"'",'+','%'),
+		                    array('-22','-23','-26','-27','-2B','-'),
+		                    $uri);
+		return $uri;
+	}
+
+	/** This function transforms an XML-ID string into a valid
+	 *  url-encoded URI. This is the inverse to makeXMLExportID.
+	 */
+	function makeURIfromXMLExportId($id) {
+		$id = str_replace( array('-22','-23','-26','-27','-2B','-'),
+		                   array('"','#','&',"'",'+','%'),
+		                   $id);
+		$id = str_replace( '-2D', '-', $id);
+		return $id;
+	}
 }
 
 /**
- * OwlWriter - A class to represent a set of wiki pages (a DL model) as OWL. 
+ * OwlWriter - A class to represent a set of wiki pages (a DL model) as OWL.
+ * Requires an actionpage returning a pagelist.
  * Supports ?format=owl
  *
  * OwlWriter
@@ -141,6 +220,7 @@
 
 /**
  * ModelWriter - Export a KB as set of wiki pages. 
+ * Requires an actionpage returning a pagelist.
  * Probably based on some convenient DL expression syntax. (deffact, defrule, ...)
  *
  * ModelWriter
@@ -150,6 +230,102 @@
 class ModelWriter extends OwlWriter {
 };
 
+/**
+ *  NumericSearchQuery can do: 
+ *         ("population < 20000 and area > 1000000", array("population", "area"))
+ *  ->match(array('population' => 100000, 'area' => 10000000)) 
+ * @see NumericSearchQuery
+ *
+ *  SemanticAttributeSearchQuery can detect and unify units in numbers.
+ *         ("population < 2million and area > 100km2", array("population", "area"))
+ *  ->match(array('population' => 100000, 'area' => 10000000))
+ *
+ * Do we need a real parser or can we just regexp over some allowed unit 
+ * suffixes to detect the numbers?
+ * See man units(1) and /usr/share/units.dat
+ * base units: $ units "1 million miles"
+ *                     Definition: 1.609344e+09 m
+ */
+class SemanticAttributeSearchQuery
+extends NumericSearchQuery
+{
+    /*
+    var $base_units = array('m'   => explode(',','km,miles,cm,dm,mm,ft,inch,inches,meter'),
+			    'm^2' => explode(',','km^2,ha,cm^2,mi^2'),
+			    'm^3' => explode(',','km^3,lit,cm^3,dm^3,gallons'),
+			    );
+    */
+
+    /**
+     * We need to detect units from the freetext query:
+     * population > 1 million
+     */
+    function SemanticAttributeSearchQuery($search_query, $placeholders, $unit = '') {
+	$this->NumericSearchQuery($search_query, $placeholders);
+	$this->_units = new Units();
+	$this->unit = $unit;
+    }
+
+    /**
+     * Strip non-numeric chars from the variable (as the groupseperator) and replace 
+     * it in the symbolic query for evaluation.
+     * This version unifies the attribute values from the database to a 
+     * numeric basevalue before comparison. (area:=963.6km^2 => 9.366e+08 m^2)
+     *
+     * @access private
+     * @param $value number   A numerical value: integer, float or string.
+     * @param $x string       The variable name to be replaced in the query.
+     * @return string
+     */
+    function _bind($value, $x) {
+    	$ori_value = $value;
+	$value = preg_replace("/,/", "", $value);
+	$this->_bound[] = array('linkname'  => $x,
+	        		'linkvalue' => $value);
+	// We must ensure that the same baseunits are matched against. 
+	// We cannot compare m^2 to m or ''
+	$val_base = $this->_units->basevalue($value);
+        if (!DISABLE_UNITS and $this->_units->baseunit($value) != $this->unit) {
+	    // Poor user has selected an attribute, but no unit. assume he means the baseunit
+	    if (count($this->getVars() == 1) and $this->unit == '') {
+		;
+	    } else {
+		// non-matching units are silently ignored
+		$this->_workquery = '';
+		return '';
+	    }
+        }
+        $value = $val_base;
+	if (!is_numeric($value)) {
+	    $this->_workquery = ''; //must return false
+	    trigger_error("Cannot match against non-numeric attribute value $x := $ori_value", 
+			  E_USER_NOTICE);
+	    return '';
+	}
+
+	$this->_workquery = preg_replace("/\b".preg_quote($x,"/")."\b/", $value, $this->_workquery);
+	return $this->_workquery;
+    }
+
+}
+
+/**
+ *  SemanticSearchQuery can do:
+ *     (is_a::city and population < 20000) and (*::city and area > 1000000)
+ *  ->match(array('is_a' => 'city', 'linkfrom' => array(), 
+ *          population' => 100000, 'area' => 10000000))
+ * @return array  A list of found and bound matches
+ */
+class SemanticSearchQuery
+extends SemanticAttributeSearchQuery
+{
+    function hasAttributes() { // TODO 
+    }
+    function hasRelations()  { // TODO 
+    }
+    function getLinkNames()  { // TODO 
+    }
+}
 
 /**
  * ReasonerBackend - hooks to reasoner backends.
@@ -183,9 +359,13 @@
 class ReasonerBackend_LISA extends ReasonerBackend {
 };
 
+class ReasonerBackend_Racer extends ReasonerBackend {
+};
+
 class ReasonerBackend_KM extends ReasonerBackend {
 };
 
+// $Log: SemanticWeb.php,v $
 
 // (c-file-style: "gnu")
 // Local Variables:
diff -ruN 1.3.12p3/lib/SpamBlocklist.php 1.3.14/lib/SpamBlocklist.php
--- 1.3.12p3/lib/SpamBlocklist.php	2006-06-18 06:19:24.000000000 -0500
+++ 1.3.14/lib/SpamBlocklist.php	2007-07-01 05:11:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-rcs_id('$Id: SpamBlocklist.php,v 1.1 2005/10/29 08:21:58 rurban Exp $');
+rcs_id('$Id: SpamBlocklist.php,v 1.2 2007/06/07 16:52:18 rurban Exp $');
 /* Copyright (C) 2005 Reini Urban
  *
  * This file is part of PhpWiki.
@@ -45,7 +45,7 @@
     }
     $host_2_elements = implode('.', $host_elements);
     if (empty($twoleveltlds)) {
-	$data = @file(dirname(__FILE__)."/../cfg/two-level-tlds");
+	$data = @file(dirname(__FILE__)."/../config/two-level-tlds");
 	$twoleveltlds = $data ? array_flip($data) : array();
     }
     if (array_key_exists($host_2_elements, $twoleveltlds))
@@ -62,7 +62,7 @@
     	                      /* "sbl-xbl.spamhaus.net" */
     static $whitelist = array();
     if (empty($whitelist)) { // list of domains
-	$data = @file(dirname(__FILE__)."/../cfg/whitelist");
+	$data = @file(dirname(__FILE__)."/../config/whitelist");
 	$whitelist = $data ? array_flip($data) : array();
     }
 
@@ -120,6 +120,9 @@
 */
 
 // $Log: SpamBlocklist.php,v $
+// Revision 1.2  2007/06/07 16:52:18  rurban
+// fix SpamBlocklist config file reading
+//
 // Revision 1.1  2005/10/29 08:21:58  rurban
 // ENABLE_SPAMBLOCKLIST:
 //   Check for links to blocked external tld domains in new edits, against
diff -ruN 1.3.12p3/lib/stdlib.php 1.3.14/lib/stdlib.php
--- 1.3.12p3/lib/stdlib.php	2006-06-18 06:19:24.000000000 -0500
+++ 1.3.14/lib/stdlib.php	2007-07-01 05:11:08.000000000 -0500
@@ -1,4 +1,4 @@
-<?php //rcs_id('$Id: stdlib.php,v 1.251 2006/03/19 15:01:00 rurban Exp $');
+<?php //rcs_id('$Id: stdlib.php,v 1.262 2007/06/07 17:02:01 rurban Exp $');
 /*
  Copyright 1999,2000,2001,2002,2004,2005 $ThePhpWikiProgrammingTeam
 
@@ -55,7 +55,7 @@
     file_mtime ($filename)
     sort_file_mtime ($a, $b)
     class fileSet {fileSet($directory, $filepattern = false), 
-                   getFiles($exclude=false, $sortby=false, $limit=false) }
+                   getFiles($exclude='', $sortby='', $limit='') }
     class ListRegexExpand { listMatchCallback($item, $key),  
                             expandRegex ($index, &$pages) }
 
@@ -82,6 +82,8 @@
     firstNWordsOfContent ($n, $content)
     extractSection ($section, $content, $page, $quiet = false, $sectionhead = false)
     isExternalReferrer()
+    
+    charset_convert($from, $to, $data)
 
   function: LinkInterWikiLink($link, $linktext)
   moved to: lib/interwiki.php
@@ -380,7 +382,7 @@
  *
  * Syntax: [image.png size=50% border=n align= hspace= vspace= width= height=]
  * Disallows sizes which are too small. 
- * Spammers may use such (typically invisible) image attributes to higher their GoogleRank.
+ * Spammers may use such (typically invisible) image attributes to raise their GoogleRank.
  *
  * Handle embeddable objects, like svg, class, vrml, swf, svgz, pdf, avi, wmv especially.
  */
@@ -393,8 +395,8 @@
                                      _("BAD URL -- remove all of <, >, \"")));
     } else {
         // support new syntax: [image.jpg size=50% border=n]
-        if (!preg_match("/\.(".$force_img.")/i", $url))
-            $ori_url = $url;
+        //if (!preg_match("/\.(".$force_img.")/i", $url))
+        $ori_url = $url;
         $arr = split(' ',$url);
         if (count($arr) > 1) {
             $url = $arr[0];
@@ -656,14 +658,15 @@
         if (is_string($name)) {
             $this->shortName = $name;
             if (strstr($name, ':')) {
-                list($moniker, $this->shortName) = split (":", $name, 2);
+                list($moniker, $shortName) = split (":", $name, 2);
 	  	$map = getInterwikiMap(); // allow overrides to custom maps
                 if (isset($map->_map[$moniker])) {
                     $url = $map->_map[$moniker];
                     if (strstr($url, '%s'))
-                        $url = sprintf($url, $this->shortName);
+                        $url = sprintf($url, $shortName);
                     else
-                        $url .= $this->shortName;
+                        $url .= $shortName;
+                    $this->shortName = $shortName;
                     // expand Talk or User, but not to absolute urls!
                     if (strstr($url, '//')) {
                         if ($moniker == 'Talk')
@@ -756,7 +759,13 @@
         return substr($name, 1);
     }
 
-
+    /**
+     * Compress internal white-space to single space character.
+     *
+     * This leads to problems with loading a foreign charset pagename, 
+     * which cannot be deleted anymore, because unknown chars are compressed.
+     * So BEFORE importing a file _check must be done !!!
+     */
     function _check($pagename) {
         // Compress internal white-space to single space character.
         $pagename = preg_replace('/[\s\xa0]+/', ' ', $orig = $pagename);
@@ -764,7 +773,7 @@
             $this->_warnings[] = _("White space converted to single space");
     
         // Delete any control characters.
-        if (DATABASE_TYPE == 'cvs' or DATABASE_TYPE == 'file') {
+        if (DATABASE_TYPE == 'cvs' or DATABASE_TYPE == 'file' or DATABASE_TYPE == 'flatfile') {
             $pagename = preg_replace('/[\x00-\x1f\x7f\x80-\x9f]/', '', $orig = $pagename);
             if ($pagename != $orig)
                 $this->_errors[] = _("Control characters not allowed");
@@ -792,8 +801,11 @@
         }
 
         // disallow some chars only on file and cvs
-        if ((DATABASE_TYPE == 'cvs' or DATABASE_TYPE == 'file') 
-            and preg_match('/(:|\.\.)/', $pagename, $m)) {
+        if ((DATABASE_TYPE == 'cvs' 
+            or DATABASE_TYPE == 'file' 
+            or DATABASE_TYPE == 'flatfile') 
+            and preg_match('/(:|\.\.)/', $pagename, $m)) 
+        {
             $this->_warnings[] = sprintf(_("Illegal chars %s removed"), $m[1]);
             $pagename = str_replace('..', '', $pagename);
             $pagename = str_replace(':', '', $pagename);
@@ -989,7 +1001,7 @@
                 preg_match('/^\[\s*(\d+)\s*\]/', $block, $m);
                 $footnum = $m[1];
                 $block = substr($block, strlen($m[0]));
-                $prefix = "#[|ftnt_${footnum}]~[[${footnum}|#ftnt_ref_${footnum}]~] ";
+                $prefix = "#[|ftnt_".${footnum}."]~[[".${footnum}."|#ftnt_ref_".${footnum}."]~] ";
             }
             elseif ($block[0] == '<') {
                 // Plugin.
@@ -1090,6 +1102,7 @@
         $RE[] = '/(\d)([[:alpha:]])/';
         // Split at subpage seperators. TBD in Theme.php
         $RE[] = "/([^${sep}]+)(${sep})/";
+        $RE[] = "/(${sep})([^${sep}]+)/";
         
         foreach ($RE as $key)
             $RE[$key] = pcre_fix_posix_classes($key);
@@ -1384,7 +1397,7 @@
      * (This was a function LoadDir in lib/loadsave.php)
      * See also http://www.php.net/manual/en/function.readdir.php
      */
-    function getFiles($exclude=false, $sortby=false, $limit=false) {
+    function getFiles($exclude='', $sortby='', $limit='') {
         $list = $this->_fileList;
 
         if ($sortby) {
@@ -1537,7 +1550,7 @@
 
 // echo implode(":",explodeList("Test*",array("xx","Test1","Test2")));
 function explodePageList($input, $include_empty=false, $sortby='pagename', 
-			 $limit=false, $exclude=false) {
+			 $limit='', $exclude='') {
     include_once("lib/PageList.php");
     return PageList::explodePageList($input, $include_empty, $sortby, $limit, $exclude);
 }
@@ -1853,13 +1866,7 @@
     $locharset = strtolower($charset);
 
     if( $locharset != "utf-8" and $ishigh and $isutf )
-        // if charset == 'iso-8859-1' then simply use utf8_decode()
-        if ($locharset == 'iso-8859-1')
-            return utf8_decode( $s );
-        else
-            // TODO: check for iconv support
-            return iconv( "UTF-8", $charset, $s );
-
+	$s = charset_convert('UTF-8', $locharset, $s);
     if ($locharset == "utf-8" and $ishigh and !$isutf )
         return utf8_encode( $s );
 
@@ -1994,6 +2001,7 @@
         $se = new SearchEngines();
         return $se->parseSearchQuery($referrer);
     }
+    //if (DEBUG) return array('query' => 'wiki');
     return false;
 }
 
@@ -2002,19 +2010,46 @@
  */
 function loadPhpExtension($extension) {
     if (!extension_loaded($extension)) {
-        $soname = (isWindows() ? 'php_' : '') . $extension . (isWindows() ? '.dll' : '.so');
+	$isWindows = (substr(PHP_OS,0,3) == 'WIN');
+        $soname = ($isWindows ? 'php_' : '') 
+	        . $extension 
+	        . ($isWindows ? '.dll' : '.so');
         if (!@dl($soname))
             return false;
     }
     return extension_loaded($extension);
 }
 
+function charset_convert($from, $to, $data) {
+    //global $CHARSET;
+    //$wikicharset = strtolower($CHARSET);
+    //$systemcharset = strtolower(get_cfg_var('iconv.internal_encoding')); // 'iso-8859-1';
+    if (strtolower($from) == 'utf-8' and strtolower($to) == 'iso-8859-1')
+	return utf8_decode($data);
+    if (strtolower($to) == 'utf-8' and strtolower($from) == 'iso-8859-1')
+	return utf8_encode($data);
+
+    if (loadPhpExtension("iconv")) {
+	$tmpdata = iconv($from, $to, $data);
+	if (!$tmpdata)
+	    trigger_error("charset conversion $from => $to failed. Wrong source charset?", E_USER_WARNING);
+	else
+	    $data = $tmpdata;
+    } else {
+	trigger_error("The iconv extension cannot be loaded", E_USER_WARNING);
+    }
+    return $data;
+}
+
 function string_starts_with($string, $prefix) {
     return (substr($string, 0, strlen($prefix)) == $prefix);
 }
 function string_ends_with($string, $suffix) {
     return (substr($string, -strlen($suffix)) == $suffix);
 }
+function array_remove($arr,$value) {
+   return array_values(array_diff($arr,array($value)));
+}
 
 /** 
  * Ensure that the script will have another $secs time left. 
@@ -2031,13 +2066,17 @@
 
 function printSimpleTrace($bt) {
     //print_r($bt);
-    echo "Traceback:\n";
-    foreach ($bt as $i => $elem) {
-        if (!array_key_exists('file', $elem)) {
-            continue;
-        }
-        echo join(" ",array_values($elem)),"\n";
-        //print "  " . $elem['file'] . ':' . $elem['line'] . " " .$elem['function']"\n";
+    echo "\nTraceback:\n";
+    if (function_exists('debug_print_backtrace')) { // >= 5
+	debug_print_backtrace();
+    } else {
+	foreach ($bt as $i => $elem) {
+	    if (!array_key_exists('file', $elem)) {
+		continue;
+	    }
+	    //echo join(" ",array_values($elem)),"\n";
+	    echo "  ",$elem['file'],':',$elem['line']," ",$elem['function'],"\n";
+	}
     }
 }
 
@@ -2047,11 +2086,12 @@
  * Special quirks for Windows: Requires cygwin.
  */
 function getMemoryUsage() {
+    //if (!(DEBUG & _DEBUG_VERBOSE)) return;
     if (function_exists('memory_get_usage') and memory_get_usage()) {
         return memory_get_usage();
-    } elseif (function_exists('getrusage') and ($u = getrusage()) and !empty($u['ru_maxrss'])) {
+    } elseif (function_exists('getrusage') and ($u = @getrusage()) and !empty($u['ru_maxrss'])) {
         $mem = $u['ru_maxrss'];
-    } elseif (substr(PHP_OS,0,3) == 'WIN') { // requires a newer cygwin
+    } elseif (substr(PHP_OS,0,3) == 'WIN') { // may require a newer cygwin
         // what we want is the process memory only: apache or php (if CGI)
         $pid = getmypid();
         $memstr = '';
@@ -2059,7 +2099,7 @@
  	if (function_exists('win32_ps_list_procs')) {
 	    $info = win32_ps_stat_proc($pid);
 	    $memstr = $info['mem']['working_set_size'];
-	} else {
+	} elseif(0) {
 	    // This works only if it's a cygwin process (apache or php).
 	    // Requires a newer cygwin
 	    //$memstr = exec("cat /proc/$pid/statm |cut -f1");
@@ -2069,7 +2109,7 @@
 	    $memstr = exec("pslist $pid|grep -A1 Mem|sed 1d|perl -ane\"print \$"."F[5]\"");
         }
         return (integer) trim($memstr);
-    } elseif (1) {
+    } elseif (0) {
         $pid = getmypid();
         //%MEM: Percentage of total memory in use by this process
         //VSZ: Total virtual memory size, in 1K blocks.
@@ -2082,6 +2122,41 @@
 }
 
 // $Log: stdlib.php,v $
+// Revision 1.262  2007/06/07 17:02:01  rurban
+// fix display of pagenames containing ":" in certain lists
+//
+// Revision 1.261  2007/06/01 06:37:53  rurban
+// use native debug_print_backtrace
+//
+// Revision 1.260  2007/02/17 14:15:21  rurban
+// fix ImgLink params: $ori_url
+//
+// Revision 1.259  2007/01/20 11:41:38  rurban
+// WikiPagename::_check: add flatfile support
+//
+// Revision 1.258  2007/01/07 18:43:51  rurban
+// Remove FileFinder dependency for loadPhpExtension()
+//
+// Revision 1.257  2007/01/03 21:24:56  rurban
+// Disable noisy ps subprocess on DEBUG. Turn it on explicitly on memory debugging. Add convert_charset helper. Use convert_charset().
+//
+// Revision 1.256  2007/01/02 13:23:49  rurban
+// ftnt_${footnum}: do not confuse old php string definition parsers. Clarify API: sortby,limit and exclude are strings.
+//
+// Revision 1.255  2006/12/22 16:53:38  rurban
+// Try to dl() load the iconv extension, if not already loaded
+//
+// Revision 1.254  2006/12/02 19:53:05  rurban
+// Simplify DISABLE_MARKUP_WIKIWORD handling by adding the new function
+// stdlib: array_remove(). Hopefully PHP will not add this natively sooner
+// or later.
+//
+// Revision 1.253  2006/08/25 22:20:52  rurban
+// better split subpages at sep
+//
+// Revision 1.252  2006/06/18 11:03:36  rurban
+// support rc version
+//
 // Revision 1.251  2006/03/19 15:01:00  rurban
 // sf.net patch #1333957 by Matt Brown: Authentication cookie identical across all wikis on a host
 //
diff -ruN 1.3.12p3/lib/Template.php 1.3.14/lib/Template.php
--- 1.3.12p3/lib/Template.php	2006-06-18 06:19:24.000000000 -0500
+++ 1.3.14/lib/Template.php	2007-07-01 05:11:08.000000000 -0500
@@ -1,5 +1,5 @@
 <?php //-*-php-*-
-rcs_id('$Id: Template.php,v 1.73 2005/04/08 05:41:00 rurban Exp $');
+rcs_id('$Id: Template.php,v 1.76 2007/05/13 18:13:04 rurban Exp $');
 
 require_once("lib/ErrorManager.php");
 
@@ -40,7 +40,7 @@
         }
         $request->_TemplatesProcessed[$name] = 1;
         $this->_tmpl = fread($fp, filesize($file));
-        fclose($fp);
+        if ($fp) fclose($fp);
         //$userid = $request->_user->_userid;
         if (is_array($args))
             $this->_locals = $args;
@@ -132,6 +132,9 @@
             $user = $request->getUser();
         if (!isset($page))
             $page = $request->getPage();
+	// Speedup. I checked all templates
+        if (!isset($revision)) 
+	    $revision = false;
 
         global $WikiTheme, $RCS_IDS, $charset; 
         //$this->_dump_template();
@@ -231,7 +234,7 @@
  *
  * @param $content mixed html content to put into the page
  * @param $title string page title
- * @param $page_revision object A WikiDB_PageRevision object
+ * @param $page_revision object A WikiDB_PageRevision object or false
  * @param $args hash Extract args for top-level template
  *
  * @return string HTML expansion of template.
@@ -282,6 +285,12 @@
 }
 
 // $Log: Template.php,v $
+// Revision 1.76  2007/05/13 18:13:04  rurban
+// Protect against erronously closed template file
+//
+// Revision 1.75  2007/01/02 13:18:55  rurban
+// speed up Template expansion. revision only necessary. fixed all affected templates
+//
 // Revision 1.73  2005/04/08 05:41:00  rurban
 // fix Template("theme/name") inclusion
 //
diff -ruN 1.3.12p3/lib/TextSearchQuery.php 1.3.14/lib/TextSearchQuery.php
--- 1.3.12p3/lib/TextSearchQuery.php	2006-06-18 06:19:24.000000000 -0500
+++ 1.3.14/lib/TextSearchQuery.php	2007-07-01 05:11:08.000000000 -0500
@@ -1,4 +1,4 @@
-<?php rcs_id('$Id: TextSearchQuery.php,v 1.23 2006/04/13 19:30:44 rurban Exp $');
+<?php rcs_id('$Id: TextSearchQuery.php,v 1.28 2007/03/18 17:35:26 rurban Exp $');
 /**
  * A text search query, converting queries to PCRE and SQL matchers.
  *
@@ -80,15 +80,26 @@
             $this->_regex = 0;
         }
         $this->_case_exact = $case_exact;
-        $parser = new TextSearchQuery_Parser;
-        $this->_tree = $parser->parse($search_query, $case_exact, $this->_regex);
-        $this->_optimize(); // broken under certain circumstances: "word -word -word"
-        if (defined("FULLTEXTSEARCH_STOPLIST"))
-            $this->_stoplist = FULLTEXTSEARCH_STOPLIST;
-        else // default stoplist, localizable.
-            $this->_stoplist = _("(A|An|And|But|By|For|From|In|Is|It|Of|On|Or|The|To|With)");
+        if ($regex != 'pcre') {
+	    $parser = new TextSearchQuery_Parser;
+	    $this->_tree = $parser->parse($search_query, $case_exact, $this->_regex);
+	    $this->_optimize(); // broken under certain circumstances: "word -word -word"
+	    if (defined("FULLTEXTSEARCH_STOPLIST"))
+		$this->_stoplist = FULLTEXTSEARCH_STOPLIST;
+	    else // default stoplist, localizable.
+		$this->_stoplist = _("(A|An|And|But|By|For|From|In|Is|It|Of|On|Or|The|To|With)");
+	}
+	else {
+	    $this->_tree = new TextSearchQuery_node_regex_pcre($search_query);
+	    if (preg_match("/^\/(.*)\/(\w*)$/", $search_query, $m)) {
+	    	$this->_tree->word = $m[1];
+	    	$this->_regex_modifier = $m[2]; // overrides case_exact
+	    }
+	}
     }
 
+    function getType() { return 'text'; }
+
     function _optimize() {
         $this->_tree = $this->_tree->optimize();
     }
@@ -98,10 +109,12 @@
      */
     function asRegexp() {
         if (!isset($this->_regexp)) {
+            if (!isset($this->_regex_modifier)) 
+                $this->_regex_modifier = ($this->_case_exact?'':'i').'sS';
             if ($this->_regex)
-                $this->_regexp =  '/' . $this->_tree->regexp() . '/'.($this->_case_exact?'':'i').'sS';
+                $this->_regexp =  '/' . $this->_tree->regexp() . '/'.$this->_regex_modifier;
             else
-                $this->_regexp =  '/^' . $this->_tree->regexp() . '/'.($this->_case_exact?'':'i').'sS';
+                $this->_regexp =  '/^' . $this->_tree->regexp() . '/'.$this->_regex_modifier;
         }
         return $this->_regexp;
     }
@@ -140,7 +153,8 @@
     }
 
     /**
-     * Make an SQL clause which matches the query. (deprecated, use makeSqlClause instead)
+     * Make an SQL clause which matches the query. 
+     * Deprecated, use makeSqlClauseObj instead.
      *
      * @param $make_sql_clause_cb WikiCallback
      * A callback which takes a single word as an argument and
@@ -148,9 +162,9 @@
      * containing the word.  The word passed to the callback will always
      * be in all lower case.
      *
-     * TODO: support db-specific extensions, like MATCH AGAINST or REGEX
-     *       mysql => 4.0.1 can also do Google: MATCH AGAINST IN BOOLEAN MODE
-     *       How? WikiDB backend method?
+     * Support db-specific extensions, like MATCH AGAINST or REGEX
+     * mysql => 4.0.1 can also do Google: MATCH AGAINST IN BOOLEAN MODE
+     * by using makeSqlClauseObj
      *
      * Old example usage:
      * <pre>
@@ -299,6 +313,251 @@
     function asString() { return "NullTextSearchQuery"; }
 };
 
+/**
+ * A simple algebraic matcher for numeric attributes.
+ *  NumericSearchQuery can do ("population < 20000 and area > 1000000", array("population", "area"))
+ *  ->match(array('population' => 100000, 'area' => 10000000)) 
+ *
+ * Supports all mathematical PHP comparison operators, plus ':=' for equality.
+ *   "(x < 2000000 and x >= 10000) or (x >= 100 and x < 2000)"
+ *   "x := 100000" is the same as "x == 100000"
+ *
+ * Since this is basic numerics only, we simply try to get away with 
+ * replacing the variable values at the right positions and do an eval then. 
+ *
+ * @package NumericSearchQuery
+ * @author Reini Urban
+ * @see SemanticAttributeSearchQuery
+ */
+class NumericSearchQuery
+{
+    /**
+     * Create a new query.
+     *   NumericSearchQuery("population > 20000 or population < 200", "population")
+     *   NumericSearchQuery("population < 20000 and area > 1000000", array("population", "area"))
+     *
+     * With a single variable it is easy: The valid name must be matched elsewhere, just 
+     * replace the given number in match in the query.
+     *   ->match(2000)
+     *
+     * With matching a struct we need strict names, no * as name is allowed.
+     * So always when the placeholder is an array, the names of the target struct must match 
+     * and all vars be defined. Use the method can_match($struct) therefore.
+     *
+     * @access public
+     * @param $search_query string   A numerical query with placeholders as variable.
+     * @param $placeholders array or string  All placeholders in the query must be defined 
+     * 	here, and will be replaced by the matcher.
+     */
+    function NumericSearchQuery($search_query, $placeholders) {
+	// added some basic security checks against user input
+        $this->_query = $search_query;
+	$this->_placeholders = $placeholders;
+
+	// we should also allow the M_ constants
+	$this->_allowed_functions = explode(':','abs:acos:acosh:asin:asinh:atan2:atan:atanh:base_convert:bindec:ceil:cos:cosh:decbin:dechex:decoct:deg2rad:exp:expm1:floor:fmod:getrandmax:hexdec:hypot:is_finite:is_infinite:is_nan:lcg_value:log10:log1p:log:max:min:mt_getrandmax:mt_rand:mt_srand:octdec:pi:pow:rad2deg:rand:round:sin:sinh:sqrt:srand:tan:tanh');
+	$this->_allowed_operators = explode(',', '-,<,<=,>,>=,==,!=,*,+,/,(,),%,and,or,xor,<<,>>,===,!==,&,^,|,&&,||');
+	$this->_parser_check = array();
+	// check should be fast, so make a hash
+	foreach ($this->_allowed_functions as $f)
+	    $this->_parser_check[$f] = 1;
+	foreach ($this->_allowed_operators as $f)
+	    $this->_parser_check[$f] = 1;
+	if (is_array($placeholders))
+	    foreach ($placeholders as $f)
+		$this->_parser_check[$f] = 1;
+	else $this->_parser_check[$placeholders] = 1;	
+
+	// This is a speciality: := looks like the attribute definition and is 
+	// therefore a dummy check for this definition.
+	// php-4.2.2 has a problem with /\b:=\b/ matching "population := 1223400"
+	$this->_query = preg_replace("/:=/", "==", $this->_query);
+	$this->_query = $this->check_query($this->_query);
+    }
+
+    function getType() { return 'numeric'; }
+
+    /**
+     * Check the symbolic definition query against unwanted functions and characters.
+     * "population < 20000 and area > 1000000" vs 
+     *   "area > 1000000 and mail($me,file("/etc/passwd"),...)" 
+     * http://localhost/wikicvs/SemanticSearch?attribute=*&attr_op=<0 and find(1)>&s=-0.01&start_debug=1
+     */
+    function check_query ($query) {
+	$tmp = $query; // check for all function calls, in case the tokenizer is not available.
+    	while (preg_match("/([a-z][a-z0-9]+)\s*\((.*)$/i", $tmp, $m)) {
+	    if (!in_array($m[1], $this->_allowed_functions)
+		and !in_array($m[1], $this->_allowed_operators))
+	    {
+		trigger_error("Illegal function in query: ".$m[1], E_USER_WARNING);
+		return '';
+	    }
+	    $tmp = $m[2];
+	}
+	
+	// Strictly check for illegal functions and operators, which are no placeholders.
+	if (function_exists('token_get_all')) {
+	    $parsed = token_get_all("<?$query?>");
+	    foreach ($parsed as $x) { // flat, non-recursive array
+		if (is_string($x) and !isset($this->_parser_check[$x])) {
+		    // single char op or name
+		    trigger_error("Illegal string or operator in query: \"$x\"", E_USER_WARNING);
+		    $query = '';
+	        }
+		elseif (is_array($x)) {
+		    $n = token_name($x[0]);
+		    if ($n == 'T_OPEN_TAG' or $n == 'T_WHITESPACE' 
+		        or $n == 'T_CLOSE_TAG' or $n == 'T_LNUMBER'
+		        or $n == 'T_CONST' or $n == 'T_DNUMBER' ) continue;
+		    if ($n == 'T_VARIABLE') { // but we do allow consts
+			trigger_error("Illegal variable in query: \"$x[1]\"", E_USER_WARNING);
+			$query = '';
+		    }    
+		    if (is_string($x[1]) and !isset($this->_parser_check[$x[1]])) {
+			// multi-char char op or name
+			trigger_error("Illegal $n in query: \"$x[1]\"", E_USER_WARNING);
+			$query = '';
+		    }
+		}
+	    }
+	    //echo "$query <br>";
+	    //$this->_parse_token($parsed);
+	    //echo "<br>\n";
+	    //var_dump($parsed);
+	    /* 
+"_x > 0" => 
+{ T_OPEN_TAG "<?"} { T_STRING "_x"} { T_WHITESPACE " "} ">" { T_WHITESPACE " "} { T_LNUMBER "0"} { T_CLOSE_TAG "?>"}
+	Interesting: on-char ops, as ">" are not tokenized.
+"_x <= 0"
+{ T_OPEN_TAG "< ?" } { T_STRING "_x" } { T_WHITESPACE " " } { T_IS_SMALLER_OR_EQUAL "<=" } { T_WHITESPACE " " } { T_LNUMBER "0" } { T_CLOSE_TAG "?>" }
+	     */
+	} else {
+	    // Detect illegal characters besides nums, words and ops. 
+	    // So attribute names can not be utf-8
+	    $c = "/([^\d\w.,\s".preg_quote(join("",$this->_allowed_operators),"/")."])/";
+	    if (preg_match($c, $query, $m)) {
+		trigger_error("Illegal character in query: ".$m[1], E_USER_WARNING);
+		return '';
+	    }
+	}
+	return $query;
+    }
+
+    /**
+     * Check the bound, numeric-only query against unwanted functions and sideeffects.
+     * "4560000 < 20000 and 1456022 > 1000000"
+     */
+    function _live_check () {
+	// TODO: check $this->_workquery again?
+	return !empty($this->_workquery);
+    }
+
+    /**
+     * A numeric query can only operate with predefined variables. "x < 0 and y < 1"
+     *
+     * @return array The names as array of strings. => ('x', 'y') the placeholders.
+     */
+    function getVars() {
+	if(is_array($this->_placeholders)) return $this->_placeholders;
+	else return array($this->_placeholders);
+    }
+
+    /**
+     * Strip non-numeric chars from the variable (as the groupseperator) and replace 
+     * it in the symbolic query for evaluation.
+     *
+     * @access private
+     * @param $value number   A numerical value: integer, float or string.
+     * @param $x string       The variable name to be replaced in the query.
+     * @return string
+     */
+    function _bind($value, $x) {
+	// TODO: check is_number, is_float, is_integer and do casting
+	$this->_bound[] = array('linkname'  => $x,
+	        		'linkvalue' => $value);
+	$value = preg_replace("/[^-+0123456789.,]/", "", $value);
+	//$c = "/\b".preg_quote($x,"/")."\b/";
+	$this->_workquery = preg_replace("/\b".preg_quote($x,"/")."\b/", $value, $this->_workquery);
+	// FIXME: do again a final check. now only numbers and some operators are allowed.
+	return $this->_workquery;
+    }
+    
+    /* array of successfully bound vars, and in case of success, the resulting vars
+     */
+    function _bound() {
+    	return $this->_bound;
+    }
+
+    /** 
+     * With an array of placeholders we need a hash to check against, if all required names are given.
+     * Purpose: Be silent about missing vars, just return false.
+     `*
+     * @access public
+     * @param $variable string or hash of name => value  The keys must satisfy all placeholders in the definition.
+     * We want the full hash and not just the keys because a hash check is faster than the array of keys check.
+     * @return boolean
+     */
+    function can_match(&$variables) {
+    	if (empty($this->_query))
+    	    return false;
+	$p =& $this->_placeholders;
+	if (!is_array($variables) and !is_array($p))
+	    return $variables == $p; // This was easy.
+	// Check if all placeholders have definitions. can be overdefined but not underdefined.
+	if (!is_array($p)) {
+	    if (!isset($variables[$p])) return false;
+	} else {
+	    foreach ($p as $x) {
+		if (!isset($variables[$x])) return false;
+	    }
+	}
+	return true;
+    }
+
+    /**
+     * We can match against a single variable or against a hash of variables.
+     * With one placeholder we need just a number.
+     * With an array of placeholders we need a hash.
+     *
+     * @access public
+     * @param $variable number or array of name => value  The keys must satisfy all placeholders in the definition.
+     * @return boolean
+     */
+    function match(&$variable) {
+	$p =& $this->_placeholders;
+	$this->_workquery = $this->_query;
+	if (!is_array($p)) {
+	    if (is_array($variable)) { // which var to match? we cannot decide this here
+		if (!isset($variable[$p]))
+		    trigger_error("Required NumericSearchQuery->match variable $x not defined.", E_USER_ERROR);
+		$this->_bind($variable[$p], $p);
+	    } else {
+		$this->_bind($variable, $p);
+	    }
+	} else {
+	    foreach ($p as $x) {
+		if (!isset($variable[$x]))
+		    trigger_error("Required NumericSearchQuery->match variable $x not defined.", E_USER_ERROR);
+		$this->_bind($variable[$x], $x);
+	    }
+	}
+    	if (!$this->_live_check()) // check returned an error
+    	    return false;
+    	$search = $this->_workquery;
+	$result = false;
+	//if (DEBUG & _DEBUG_VERBOSE)
+	//    trigger_error("\$result = (boolean)($search);", E_USER_NOTICE);
+	// We might have a numerical problem:
+	// php-4.2.2 eval'ed as module: "9.636e+08 > 1000" false; 
+	// php-5.1.2 cgi true, 4.2.2 cgi true
+	eval("\$result = (boolean)($search);");
+	if ($result and is_array($p)) {
+	    return $this->_bound();
+	}
+        return $result;
+    }
+}
+
 
 ////////////////////////////////////////////////////////////////
 //
@@ -359,7 +618,7 @@
     }
     function _sql_quote() {
         $word = preg_replace('/(?=[%_\\\\])/', "\\", $this->word);
-        return $GLOBALS['request']->_dbi->qstr($word);
+        return $GLOBALS['request']->_dbi->_backend->qstr($word);
     }
     function sql()    { return '%'.$this->_sql_quote($this->word).'%'; }
 }
@@ -867,6 +1126,21 @@
 }
 
 // $Log: TextSearchQuery.php,v $
+// Revision 1.28  2007/03/18 17:35:26  rurban
+// Improve comments
+//
+// Revision 1.27  2007/01/21 23:27:32  rurban
+// Fix ->_backend->qstr()
+//
+// Revision 1.26  2007/01/04 16:41:52  rurban
+// Improve error description. Fix the function parser for illegal functions, when the tokenizer cannot be used.
+//
+// Revision 1.25  2007/01/03 21:22:34  rurban
+// add getType(). NumericSearchQuery::check Improve hacker detection using token_get_all(). Better support for multiple attributes. Add getVars().
+//
+// Revision 1.24  2007/01/02 13:19:05  rurban
+// add NumericSearchQuery. change on pcre: no parsing done, detect modifiers
+//
 // Revision 1.23  2006/04/13 19:30:44  rurban
 // make TextSearchQuery->_stoplist localizable and overridable within config.ini
 // 
@@ -878,4 +1152,4 @@
 // c-hanging-comment-ender-p: nil
 // indent-tabs-mode: nil
 // End:   
-?>
\ No newline at end of file
+?>
diff -ruN 1.3.12p3/lib/Theme.php 1.3.14/lib/Theme.php
--- 1.3.12p3/lib/Theme.php	2006-06-18 06:19:24.000000000 -0500
+++ 1.3.14/lib/Theme.php	2007-07-01 05:11:08.000000000 -0500
@@ -1,5 +1,5 @@
-<?php rcs_id('$Id: Theme.php,v 1.131 2005/06/10 06:09:06 rurban Exp $');
-/* Copyright (C) 2002,2004,2005 $ThePhpWikiProgrammingTeam
+<?php rcs_id('$Id: Theme.php,v 1.142 2007/07/01 09:36:09 rurban Exp $');
+/* Copyright (C) 2002,2004,2005,2006 $ThePhpWikiProgrammingTeam
  *
  * This file is part of PhpWiki.
  * 
@@ -179,29 +179,35 @@
  * </dl>
  * ($Page_or_rev is ignored for submit buttons.)
  */
-function Button ($action, $label = false, $page_or_rev = false) {
+function Button ($action, $label = false, $page_or_rev = false, $options = false) {
     global $WikiTheme;
 
     if (!is_array($action) && preg_match('/^submit:(.*)/', $action, $m))
-        return $WikiTheme->makeSubmitButton($label, $m[1], $page_or_rev);
+        return $WikiTheme->makeSubmitButton($label, $m[1], $page_or_rev, $options);
     else
-        return $WikiTheme->makeActionButton($action, $label, $page_or_rev);
+        return $WikiTheme->makeActionButton($action, $label, $page_or_rev, $options);
 }
 
-
 class Theme {
     var $HTML_DUMP_SUFFIX = '';
     var $DUMP_MODE = false, $dumped_images, $dumped_css; 
 
-    function Theme ($theme_name = 'default') {
+    /**
+     * noinit: Do not initialize unnecessary items in default_theme fallback twice.
+     */
+    function Theme ($theme_name = 'default', $noinit = false) {
         $this->_name = $theme_name;
         $this->_themes_dir = NormalizeLocalFileName("themes");
         $this->_path  = defined('PHPWIKI_DIR') ? NormalizeLocalFileName("") : "";
         $this->_theme = "themes/$theme_name";
 
         if ($theme_name != 'default')
-            $this->_default_theme = new Theme;
+            $this->_default_theme = new Theme('default',true);
+        if ($noinit) return;
 
+	$this->addMoreHeaders(JavaScript("var data_path = '". DATA_PATH ."'\n"
+					."var pagename  = '". $GLOBALS['request']->getArg('pagename') ."'\n"
+					."var stylepath = '". DATA_PATH . '/'.$this->_theme."/'\n"));
         // by pixels
         if ((is_object($GLOBALS['request']) // guard against unittests
              and $GLOBALS['request']->getPref('doubleClickEdit'))
@@ -212,6 +218,10 @@
         if (ENABLE_LIVESEARCH) { // by bitflux.ch
             $this->initLiveSearch();
         }
+        // replaces external LiveSearch
+        if (defined("ENABLE_ACDROPDOWN") and ENABLE_ACDROPDOWN) { 
+            $this->initMoAcDropDown();
+        }
         $this->_css = array();
     }
 
@@ -459,16 +469,17 @@
         }
     }
 
-    function getAuthorMessage ($revision, $only_authenticated = true) {
+    /* New behaviour: (by Matt Brown)
+       Prefer author (name) over internal author_id (IP) */
+    function getAuthorMessage ($revision) {
         if (!$revision) return '';
         $dbi =& $GLOBALS['request']->_dbi;
-        $author = $revision->get('author_id');
-        if ( $author or $only_authenticated ) {
-            if (!$author) $author = $revision->get('author');
+        $author = $revision->get('author');
+        if (!$author) $author = $revision->get('author_id');
             if (!$author) return '';
-            if ( $dbi->isWikiPage($author) )
+        if ( $dbi->isWikiPage($author) ) {
                 return fmt("by %s", WikiLink($author));
-            else
+        } else {
                 return fmt("by %s", '"'.$author.'"');
         }
     }
@@ -640,7 +651,9 @@
      */
     function addImageAlias ($alias, $image_name) {
         // fall back to the PhpWiki-supplied image if not found
-        if ($this->_findFile("images/$image_name", true))
+	if ((empty($this->_imageAliases[$alias])
+	       and $this->_findFile("images/$image_name", true))
+	    or $image_name === false)
             $this->_imageAliases[$alias] = $image_name;
     }
 
@@ -799,28 +812,29 @@
     //
     ////////////////////////////////////////////////////////////////
 
-    function makeButton ($text, $url, $class = false) {
+    function makeButton ($text, $url, $class = false, $options = false) {
         // FIXME: don't always try for image button?
 
         // Special case: URLs like 'submit:preview' generate form
         // submission buttons.
         if (preg_match('/^submit:(.*)$/', $url, $m))
-            return $this->makeSubmitButton($text, $m[1], $class);
+            return $this->makeSubmitButton($text, $m[1], $class, $options);
 
         $imgurl = $this->getButtonURL($text);
         if ($imgurl)
-            return new ImageButton($text, $url, $class, $imgurl);
+            return new ImageButton($text, $url, $class, $imgurl, $options);
         else
-            return new Button($this->maybeSplitWikiWord($text), $url, $class);
+            return new Button($this->maybeSplitWikiWord($text), $url, 
+                              $class, $options);
     }
 
-    function makeSubmitButton ($text, $name, $class = false) {
+    function makeSubmitButton ($text, $name, $class = false, $options = false) {
         $imgurl = $this->getButtonURL($text);
 
         if ($imgurl)
-            return new SubmitImageButton($text, $name, $class, $imgurl);
+            return new SubmitImageButton($text, $name, $class, $imgurl, $options);
         else
-            return new SubmitButton($text, $name, $class);
+            return new SubmitButton($text, $name, $class, $options);
     }
 
     /**
@@ -847,7 +861,7 @@
      *
      * @return object A Button object.
      */
-    function makeActionButton ($action, $label = false, $page_or_rev = false) {
+    function makeActionButton ($action, $label = false, $page_or_rev = false, $options = false) {
         extract($this->_get_name_and_rev($page_or_rev));
 
         if (is_array($action)) {
@@ -867,9 +881,39 @@
         if ($action == 'browse')
             unset($attr['action']);
 
-        return $this->makeButton($label, WikiURL($pagename, $attr), $class);
+        $options = $this->fixAccesskey($options);
+
+        return $this->makeButton($label, WikiURL($pagename, $attr), $class, $options);
+    }
+    
+    function tooltipAccessKeyPrefix() {
+	static $tooltipAccessKeyPrefix = null;
+	if ($tooltipAccessKeyPrefix) return $tooltipAccessKeyPrefix;
+
+        $tooltipAccessKeyPrefix = 'alt';
+	if (isBrowserOpera()) $tooltipAccessKeyPrefix = 'shift-esc';
+	elseif (isBrowserSafari() or browserDetect("Mac") or isBrowserKonqueror()) 
+	    $tooltipAccessKeyPrefix = 'ctrl';
+	// ff2 win and x11 only
+	elseif ((browserDetect("firefox/2") or browserDetect("minefield/3") or browserDetect("SeaMonkey/1.1")) 
+		and ((browserDetect("windows") or browserDetect("x11"))))
+	    $tooltipAccessKeyPrefix = 'alt-shift'; 
+	return $tooltipAccessKeyPrefix;
     }
 
+    /** Define the accesskey in the title only, with ending [p] or [alt-p].
+     *  This fixes the prefix in the title and sets the accesskey.
+     */
+    function fixAccesskey($attrs) {
+        if (!empty($attrs['title']) and preg_match("/\[(alt-)?(.)\]$/", $attrs['title'], $m))
+        {
+    	    if (empty($attrs['accesskey'])) $attrs['accesskey'] = $m[2];
+    	    // firefox 'alt-shift', MSIE: 'alt', ... see wikibits.js
+    	    $attrs['title'] = preg_replace("/\[(alt-)?(.)\]$/", "[".$this->tooltipAccessKeyPrefix()."-\\2]", $attrs['title']);
+        }
+        return $attrs;
+    }
+    
     /**
      * Make a "button" which links to a wiki-page.
      *
@@ -1070,9 +1114,13 @@
         foreach ($this->_css as $title => $css_files) {
             ksort($css_files); // move $css_files[''] to front.
             foreach ($css_files as $media => $css_file) {
-                $css[] = $this->_CSSlink($title, $css_file, $media, $is_alt);
+		if (!empty($this->DUMP_MODE)) {
+		    if ($media == 'print')
+			$css[] = $this->_CSSlink($title, $css_file, '', $is_alt);
+		} else {
+		    $css[] = $this->_CSSlink($title, $css_file, $media, $is_alt);
+		}
                 if ($is_alt) break;
-                
             }
             $is_alt = true;
         }
@@ -1084,10 +1132,10 @@
             return $this->_path . $tmp;
         else {
             $f1 = $this->file("templates/$name.tmpl");
-            trigger_error("pwd: ".getcwd(), E_USER_ERROR);
+            //trigger_error("findTemplate($name) pwd: ".getcwd(), E_USER_ERROR);
             if (isset($this->_default_theme)) {
                $f2 = $this->_default_theme->file("templates/$name.tmpl");
-               trigger_error("$f1 nor $f2 found", E_USER_ERROR);
+               //trigger_error("$f1 nor $f2 found", E_USER_ERROR);
             } else 
                trigger_error("$f1 not found", E_USER_ERROR);
             return false;
@@ -1096,9 +1144,21 @@
 
     var $_MoreHeaders = array();
     function addMoreHeaders ($element) {
-        array_push($this->_MoreHeaders, $element);
+        $this->_MoreHeaders[] = $element;
+        if (!empty($this->_headers_printed) and $this->_headers_printed) {
+	    trigger_error(_("Some action(page) wanted to add more headers, but they were already printed.")
+			  ."\n". $element->asXML(),
+                           E_USER_NOTICE);
+        }
     }
+
+    /**
+      * Singleton. Only called once, by the head template. See the warning above.
+      */
     function getMoreHeaders () {
+    	// actionpages cannot add headers, because recursive template expansion
+    	// already expanded the head template before.
+    	$this->_headers_printed = 1;
         if (empty($this->_MoreHeaders))
             return '';
         $out = '';
@@ -1141,6 +1201,130 @@
     }
 
     /**
+     * Common Initialisations
+     */
+
+    /**
+     * The ->load() method replaces the formerly global code in themeinfo.php.
+     * Without this you would not be able to derive from other themes.
+     */
+    function load() {
+
+	// CSS file defines fonts, colors and background images for this
+	// style.  The companion '*-heavy.css' file isn't defined, it's just
+	// expected to be in the same directory that the base style is in.
+
+	// This should result in phpwiki-printer.css being used when
+	// printing or print-previewing with style "PhpWiki" or "MacOSX" selected.
+	$this->setDefaultCSS('PhpWiki',
+			     array(''      => 'phpwiki.css',
+				   'print' => 'phpwiki-printer.css'));
+
+	// This allows one to manually select "Printer" style (when browsing page)
+	// to see what the printer style looks like.
+	$this->addAlternateCSS(_("Printer"), 'phpwiki-printer.css', 'print, screen');
+	$this->addAlternateCSS(_("Top & bottom toolbars"), 'phpwiki-topbottombars.css');
+	$this->addAlternateCSS(_("Modern"), 'phpwiki-modern.css');
+
+	if (isBrowserIE()) {
+	    $this->addMoreHeaders($this->_CSSlink(0,
+						  $this->_findFile('IEFixes.css'),'all'));
+	    $this->addMoreHeaders("\n");
+	}
+
+	/**
+	 * The logo image appears on every page and links to the HomePage.
+	 */
+	$this->addImageAlias('logo', WIKI_NAME . 'Logo.png');
+	
+	$this->addImageAlias('search', 'search.png');
+
+	/**
+	 * The Signature image is shown after saving an edited page. If this
+	 * is set to false then the "Thank you for editing..." screen will
+	 * be omitted.
+	 */
+
+	$this->addImageAlias('signature', WIKI_NAME . "Signature.png");
+	// Uncomment this next line to disable the signature.
+	//$this->addImageAlias('signature', false);
+
+	/*
+	 * Link icons.
+	 */
+	$this->setLinkIcon('http');
+	$this->setLinkIcon('https');
+	$this->setLinkIcon('ftp');
+	$this->setLinkIcon('mailto');
+	$this->setLinkIcon('interwiki');
+	$this->setLinkIcon('wikiuser');
+	$this->setLinkIcon('*', 'url');
+
+	$this->setButtonSeparator("\n | ");
+
+	/**
+	 * WikiWords can automatically be split by inserting spaces between
+	 * the words. The default is to leave WordsSmashedTogetherLikeSo.
+	 */
+	$this->setAutosplitWikiWords(false);
+
+	/**
+	 * Layout improvement with dangling links for mostly closed wiki's:
+	 * If false, only users with edit permissions will be presented the 
+	 * special wikiunknown class with "?" and Tooltip.
+	 * If true (default), any user will see the ?, but will be presented 
+	 * the PrintLoginForm on a click.
+	 */
+	//$this->setAnonEditUnknownLinks(false);
+
+	/*
+	 * You may adjust the formats used for formatting dates and times
+	 * below.  (These examples give the default formats.)
+	 * Formats are given as format strings to PHP strftime() function See
+	 * http://www.php.net/manual/en/function.strftime.php for details.
+	 * Do not include the server's zone (%Z), times are converted to the
+	 * user's time zone.
+	 *
+	 * Suggestion for french: 
+	 *   $this->setDateFormat("%A %e %B %Y");
+	 *   $this->setTimeFormat("%H:%M:%S");
+	 * Suggestion for capable php versions, using the server locale:
+	 *   $this->setDateFormat("%x");
+	 *   $this->setTimeFormat("%X");
+	 */
+	//$this->setDateFormat("%B %d, %Y");
+	//$this->setTimeFormat("%I:%M %p");
+
+	/*
+	 * To suppress times in the "Last edited on" messages, give a
+	 * give a second argument of false:
+	 */
+	//$this->setDateFormat("%B %d, %Y", false); 
+
+
+	/**
+	 * Custom UserPreferences:
+	 * A list of name => _UserPreference class pairs.
+	 * Rationale: Certain themes should be able to extend the predefined list 
+	 * of preferences. Display/editing is done in the theme specific userprefs.tmpl
+	 * but storage/sanification/update/... must be extended to the Get/SetPreferences methods.
+	 * See themes/wikilens/themeinfo.php
+	 */
+	//$this->customUserPreference(); 
+
+	/**
+	 * Register custom PageList type and define custom PageList classes.
+	 * Rationale: Certain themes should be able to extend the predefined list 
+	 * of pagelist types. E.g. certain plugins, like MostPopular might use 
+	 * info=pagename,hits,rating
+	 * which displays the rating column whenever the wikilens theme is active.
+	 * See themes/wikilens/themeinfo.php
+	 */
+	//$this->addPageListColumn(); 
+
+    } // end of load
+
+    /**
      * Custom UserPreferences:
      * A list of name => _UserPreference class pairs.
      * Rationale: Certain themes should be able to extend the predefined list 
@@ -1177,19 +1361,162 @@
             $this->addMoreAttr('body', 'DoubleClickEdit', HTML::Raw(" ondblclick=\"url = document.URL; url2 = url; if (url.indexOf('?') != -1) url2 = url.slice(0, url.indexOf('?')); if ((url.indexOf('action') == -1) || (url.indexOf('action=browse') != -1)) document.location = url2 + '?action=edit';\""));
     }
 
-    // Immediate title search results via XMLHTML(HttpRequest
+    // Immediate title search results via XMLHTML(HttpRequest)
     // by Bitflux GmbH, bitflux.ch. You need to install the livesearch.js seperately.
     // Google's or acdropdown is better.
     function initLiveSearch() {
-        if (!$this->HTML_DUMP_SUFFIX) {
+	//subclasses of Sidebar will init this twice 
+	static $already = 0;
+        if (!$this->HTML_DUMP_SUFFIX and !$already) {
             $this->addMoreAttr('body', 'LiveSearch', 
                                HTML::Raw(" onload=\"liveSearchInit()"));
             $this->addMoreHeaders(JavaScript('var liveSearchURI="'
                                              .WikiURL(_("TitleSearch"),false,true).'";'));
             $this->addMoreHeaders(JavaScript('', array
                                              ('src' => $this->_findData('livesearch.js'))));
+	    $already = 1;
         }
     }
+
+    // Immediate title search results via XMLHttpRequest
+    // using the shipped moacdropdown js-lib
+    function initMoAcDropDown() {
+	//subclasses of Sidebar will init this twice 
+	static $already = 0;
+        if (!$this->HTML_DUMP_SUFFIX and !$already) {
+            $dir = $this->_findData('moacdropdown');
+            // if autocomplete_remote is used: (getobject2 also for calc. the showlist width)
+	    if (DEBUG) {
+		foreach (array("mobrowser.js","modomevent3.js","modomt.js",
+			       "modomext.js","getobject2.js","xmlextras.js") as $js) 
+		{
+		    $this->addMoreHeaders(JavaScript('', array('src' => "$dir/js/$js")));
+		}
+		$this->addMoreHeaders(JavaScript('', array('src' => "$dir/js/acdropdown.js")));
+	    } else {
+		$this->addMoreHeaders(JavaScript('', array('src' => DATA_PATH . "/themes/default/moacdropdown.js")));
+	    }
+            //$this->addMoreHeaders($this->_CSSlink(0, 
+            //                      $this->_findFile('moacdropdown/css/dropdown.css'), 'all'));
+            $this->addMoreHeaders(HTML::style("  @import url( $dir/css/dropdown.css );\n"));
+	    /*
+	    // for local xmlrpc requests
+	    $xmlrpc_url = deduce_script_name();
+	    //if (1 or DATABASE_TYPE == 'dba')
+	    $xmlrpc_url = DATA_PATH . "/RPC2.php";
+	    if ((DEBUG & _DEBUG_REMOTE) and isset($_GET['start_debug']))
+		$xmlrpc_url .= ("?start_debug=".$_GET['start_debug']);
+            $this->addMoreHeaders(JavaScript("var xmlrpc_url = '$xmlrpc_url'"));
+	    */
+	    $already = 1;
+        }
+    }
+
+    function calendarLink($date = false) {
+        return $this->calendarBase() . SUBPAGE_SEPARATOR . 
+               strftime("%Y-%m-%d", $date ? $date : time());
+    }
+
+    function calendarBase() {
+        static $UserCalPageTitle = false;
+        global $request;
+
+        if (!$UserCalPageTitle) 
+            $UserCalPageTitle = $request->_user->getId() . 
+                                SUBPAGE_SEPARATOR . _("Calendar");
+        if (!$UserCalPageTitle)
+            $UserCalPageTitle = (BLOG_EMPTY_DEFAULT_PREFIX ? '' 
+                                 : ($request->_user->getId() . SUBPAGE_SEPARATOR)) . "Blog";
+        return $UserCalPageTitle;
+    }
+
+    function calendarInit($force = false) {
+        $dbi = $GLOBALS['request']->getDbh();
+        // display flat calender dhtml in the sidebar
+        if ($force or $dbi->isWikiPage($this->calendarBase())) {
+            $jslang = @$GLOBALS['LANG'];
+            $this->addMoreHeaders
+                (
+                 $this->_CSSlink(0, 
+                                 $this->_findFile('jscalendar/calendar-phpwiki.css'), 'all'));
+            $this->addMoreHeaders
+                (JavaScript('',
+                            array('src' => $this->_findData('jscalendar/calendar'.(DEBUG?'':'_stripped').'.js'))));
+            if (!($langfile = $this->_findData("jscalendar/lang/calendar-$jslang.js")))
+                $langfile = $this->_findData("jscalendar/lang/calendar-en.js");
+            $this->addMoreHeaders(JavaScript('',array('src' => $langfile)));
+            $this->addMoreHeaders
+                (JavaScript('',
+                            array('src' => 
+                                  $this->_findData('jscalendar/calendar-setup'.(DEBUG?'':'_stripped').'.js'))));
+
+            // Get existing date entries for the current user
+            require_once("lib/TextSearchQuery.php");
+            $iter = $dbi->titleSearch(new TextSearchQuery("^".$this->calendarBase().SUBPAGE_SEPARATOR, true, "auto"));
+            $existing = array();
+            while ($page = $iter->next()) {
+                if ($page->exists())
+                    $existing[] = basename($page->_pagename);
+            }
+            if (!empty($existing)) {
+                $js_exist = '{"'.join('":1,"',$existing).'":1}';
+                //var SPECIAL_DAYS = {"2004-05-11":1,"2004-05-12":1,"2004-06-01":1}
+                $this->addMoreHeaders(JavaScript('
+// This table holds the existing calender entries for the current user
+// calculated from the database
+var SPECIAL_DAYS = '.$js_exist.';
+// This function returns true if the date exists in SPECIAL_DAYS
+function dateExists(date, y, m, d) {
+    var year = date.getFullYear();
+    m = m + 1;
+    m = m < 10 ? "0" + m : m;  // integer, 0..11
+    d = d < 10 ? "0" + d : d;  // integer, 1..31
+    var date = year+"-"+m+"-"+d;
+    var exists = SPECIAL_DAYS[date];
+    if (!exists) return false;
+    else return true;
+}
+// This is the actual date status handler. 
+// Note that it receives the date object as well as separate 
+// values of year, month and date.
+function dateStatusFunc(date, y, m, d) {
+    if (dateExists(date, y, m, d)) return "existing";
+    else return false;
+}'));
+            }
+            else {
+                $this->addMoreHeaders(JavaScript('
+function dateStatusFunc(date, y, m, d) { return false;}'));
+            }
+        }
+    }
+
+    ////////////////////////////////////////////////////////////////
+    //
+    // Events
+    //
+    ////////////////////////////////////////////////////////////////
+
+    /* Callback when a new user creates or edits a page */
+    function CbNewUserEdit (&$request, $userid) {
+	; // i.e. create homepage with Template/UserPage
+    }
+
+    /* Callback when a new user logs in. 
+       What is new? We only record changes, not logins.
+       Should we track user actions?
+       Let's say user without homepage.
+    */
+    function CbNewUserLogin (&$request, $userid) {
+	; // do nothing
+    }
+
+    /* Callback when a user logs out
+    */
+    function CbUserLogout (&$request, $userid) {
+	; // do nothing
+    }
+
 };
 
 
@@ -1205,8 +1532,9 @@
      * @param $text string The text for the button.
      * @param $url string The url (href) for the button.
      * @param $class string The CSS class for the button.
+     * @param $options array Additional attributes for the &lt;input&gt; tag.
      */
-    function Button ($text, $url, $class = false) {
+    function Button ($text, $url, $class=false, $options=false) {
         global $request;
         //php5 workaround
         if (check_php_version(5)) {
@@ -1218,6 +1546,10 @@
             $this->setAttr('class', $class);
         if ($request->getArg('frame'))
             $this->setAttr('target', '_top');
+        if (!empty($options)) {
+            foreach ($options as $key => $val)
+                $this->setAttr($key, $val);
+        }
         // Google honors this
         if (in_array(strtolower($text), array('edit','create','diff','pdf'))
             and !$request->_user->isAuthenticated())
@@ -1240,7 +1572,7 @@
      * @param $img_url string URL for button's image.
      * @param $img_attr array Additional attributes for the &lt;img&gt; tag.
      */
-    function ImageButton ($text, $url, $class, $img_url, $img_attr = false) {
+    function ImageButton ($text, $url, $class, $img_url, $img_attr=false) {
         $this->__construct('a', array('href' => $url));
         if ($class)
             $this->setAttr('class', $class);
@@ -1268,14 +1600,19 @@
      * @param $text string The text for the button.
      * @param $name string The name of the form field.
      * @param $class string The CSS class for the button.
+     * @param $options array Additional attributes for the &lt;input&gt; tag.
      */
-    function SubmitButton ($text, $name = false, $class = false) {
+    function SubmitButton ($text, $name=false, $class=false, $options=false) {
         $this->__construct('input', array('type' => 'submit',
                                           'value' => $text));
         if ($name)
             $this->setAttr('name', $name);
         if ($class)
             $this->setAttr('class', $class);
+        if (!empty($options)) {
+            foreach ($options as $key => $val)
+                $this->setAttr($key, $val);
+        }
     }
 
 };
@@ -1293,7 +1630,7 @@
      * @param $img_url string URL for button's image.
      * @param $img_attr array Additional attributes for the &lt;img&gt; tag.
      */
-    function SubmitImageButton ($text, $name = false, $class = false, $img_url) {
+    function SubmitImageButton ($text, $name=false, $class=false, $img_url, $img_attr=false) {
         $this->__construct('input', array('type'  => 'image',
                                           'src'   => $img_url,
                                           'value' => $text,
@@ -1302,6 +1639,10 @@
             $this->setAttr('name', $name);
         if ($class)
             $this->setAttr('class', $class);
+        if (!empty($img_attr)) {
+            foreach ($img_attr as $key => $val)
+                $this->setAttr($key, $val);
+        }
     }
 
 };
@@ -1341,6 +1682,8 @@
     var $_plugin, $_args = false, $_basepage = false;
 
     function PluginSidebarBox($name, $args = false, $basepage = false) {
+	require_once("lib/WikiPlugin.php");
+
         $loader = new WikiPluginLoader();
         $plugin = $loader->getPlugin($name);
         if (!$plugin) {
@@ -1376,8 +1719,9 @@
         $counter = 0;
         $sp = HTML::Raw('&middot; ');
         foreach ($page_content->getWikiPageLinks() as $link) {
-            if (!$request->_dbi->isWikiPage($link)) continue;
-            $this->body->pushContent($sp, WikiLink($link), HTML::br());
+            $linkto = $link['linkto'];
+            if (!$request->_dbi->isWikiPage($linkto)) continue;
+            $this->body->pushContent($sp, WikiLink($linkto), HTML::br());
             $counter++;
             if ($limit and $counter > $limit) continue;
         }
@@ -1394,8 +1738,9 @@
         $counter = 0;
         $sp = HTML::Raw('&middot; ');
         foreach ($cache->getWikiPageLinks() as $link) {
-            if ($link) {
-                $this->body->pushContent($sp, WikiLink($link), HTML::br());
+            $linkto = $link['linkto'];
+            if ($linkto) {
+                $this->body->pushContent($sp, WikiLink($linkto), HTML::br());
                 $counter++;
                 if ($limit and $counter > $limit) continue;
             }
@@ -1411,9 +1756,9 @@
     $dir = dir($dir_root);
     if ($dir) {
         while($entry = $dir->read()) {
-            if (is_dir($dir_root.'/'.$entry)
-                && (substr($entry,0,1) != '.')
-                && $entry != 'CVS') {
+            if (is_dir($dir_root.'/'.$entry) 
+                and file_exists($dir_root.'/'.$entry.'/themeinfo.php')) 
+            {
                 array_push($available_themes, $entry);
             }
         }
@@ -1429,10 +1774,7 @@
         $dir_root = PHPWIKI_DIR . "/$dir_root";
     if ($dir = dir($dir_root)) {
         while($entry = $dir->read()) {
-            if (is_dir($dir_root."/".$entry)
-                && (substr($entry,0,1) != '.')
-                && $entry != 'po'
-                && $entry != 'CVS') 
+            if (is_dir($dir_root."/".$entry) and is_dir($dir_root.'/'.$entry.'/LC_MESSAGES'))
             {
                 array_push($available_languages, $entry);
             }
@@ -1443,8 +1785,36 @@
 }
 
 // $Log: Theme.php,v $
+// Revision 1.142  2007/07/01 09:36:09  rurban
+// themes are now easier derivable classes from other themes.
+// removed global code setters, switched to $WikiTheme->load() in main
+//
+// Revision 1.141  2007/06/02 18:24:30  rurban
+// Added accesskeys. Added js stylepath
+//
+// Revision 1.140  2007/03/10 18:27:20  rurban
+// Patch 1677965 by Erwann Penet
+//
+// Revision 1.138  2007/01/07 18:43:37  rurban
+// Remove fatals when no intermediate template was found. Deprecate subclasses of subthemes (blog of Sidebar). Warn about lost _MoreHeaders. $noinit: Do not initialize unnecessary items in default_theme fallback twice. Move over calendarInit from themes/Sidebar/themeinfo.php.
+//
+// Revision 1.137  2007/01/02 13:19:23  rurban
+// add getobject2.js to acdropdown to calculate the sizes. add global xmlrpc_url for local xml requests (interface simplification). stabilize theme and language detection: require magic files there
+//
+// Revision 1.136  2006/12/06 22:07:31  rurban
+// Add new Button argument to override any option.
+//
+// Revision 1.135  2006/04/17 17:28:21  rurban
+// honor getWikiPageLinks change linkto=>relation
+//
+// Revision 1.134  2006/03/19 16:24:38  rurban
+// fix syntax error with patch #1377650
+//
+// Revision 1.133  2006/03/19 14:24:38  rurban
+// sf.net patch #1377650 by Matt Brown:  Always prefer legible author name over author_id property
+//
 // Revision 1.132  2005/07/24 09:51:22  rurban
-// guard doubleClickEdit for unittests
+// guard doubleClickEdit for unittests, add AcDropDown support
 //
 // Revision 1.131  2005/06/10 06:09:06  rurban
 // enable getPref('doubleClickEdit')
@@ -1798,4 +2168,4 @@
 // c-hanging-comment-ender-p: nil
 // indent-tabs-mode: nil
 // End:
-?>
\ No newline at end of file
+?>
diff -ruN 1.3.12p3/lib/Units.php 1.3.14/lib/Units.php
--- 1.3.12p3/lib/Units.php	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/lib/Units.php	2007-07-01 05:11:08.000000000 -0500
@@ -0,0 +1,102 @@
+<?php rcs_id('$Id: Units.php,v 1.3 2007/05/01 16:18:35 rurban Exp $');
+/**
+ *
+ * Interface to man units(1), /usr/share/units.dat
+ *
+ * $ units "372.0 mi2"
+ *         Definition: 9.6347558e+08 m^2
+ * $ units "372.0 mi2" m^2
+ *         Definition: 9.6347558e+08 m^2
+ *
+ * Called by: 
+ *    CachedMarkup.php: Cached_SemanticLink::_expandurl()
+ *    SemanticWeb.php: class SemanticAttributeSearchQuery
+ *
+ * Windows requires the cygwin /usr/bin/units.
+ * All successfully parsed unit definitions are stored in the wikidb,
+ * so that subsequent expansions will not require /usr/bin/units be called again.
+ * So far even on windows (cygwin) the process is fast enough.
+ *
+ * TODO: understand dates and maybe times
+ *   YYYY-MM-DD, "CW"ww/yy (CalendarWeek)
+ */
+
+class Units {
+    function Units ($UNITSFILE = false) {
+    	if (DISABLE_UNITS)
+    	    $this->errcode = 1;
+    	elseif (defined("UNITS_EXE")) // ignore dynamic check
+	    $this->errcode = 0;
+	else
+    	    exec("units m2", $o, $this->errcode);
+    }
+
+    /**
+     * $this->_attribute_base = $units->Definition($this->_attribute);
+     */
+    function Definition ($query) {
+	static $Definitions = array();
+	if (isset($Definitions[$query])) return $Definitions[$query];
+	if ($this->errcode)
+            return $query;
+	$query = preg_replace("/,/","", $query);
+	if ($query == '' or $query == '*') 
+	    return ($Definitions[$query] = '');
+	// detect date values, currently only ISO: YYYY-MM-DD or YY-MM-DD
+	if (preg_match("/^(\d{2,4})-(\d{1,2})-(\d{1,2})$/",$query, $m)) {
+	    $date = mktime(0,0,0,$m[2],$m[3],$m[1]);
+	    return ($Definitions[$query] = "$date date");
+	}
+	if (preg_match("/^(\d{2,4})-(\d{1,2})-(\d{1,2}) (\d{1,2}):(\d{2}):?(\d{2})?$/",$query, $m)) {
+	    $date = mktime($m[4],$m[5],@$m[6],$m[2],$m[3],$m[1]);
+	    return ($Definitions[$query] = "$date date");
+	}
+	$def = $this->_cmd("\"$query\"");
+	if (preg_match("/Definition: (.+)$/",$def,$m))
+	    return ($Definitions[$query] = $m[1]);
+	else {
+	    trigger_error("units: ". $def, E_USER_WARNING);
+	    return '';
+	}
+    }
+
+    /**
+     * We must ensure that the same baseunits are matched against. 
+     * We cannot compare m^2 to m or ''
+     * $val_base = $this->_units->basevalue($value); // SemanticAttributeSearchQuery
+     */
+    function basevalue($query, $def = false) {
+	if (!$def) $def = $this->Definition($query);
+	if ($def) {
+	    if (is_numeric($def)) // e.g. "1 million"
+	        return $def;
+	    if (preg_match("/^([-0-9].*) \w.*$/",$def,$m))
+		return $m[1];
+	}
+	return '';
+    }
+
+    /**
+     * $this->_unit = $units->baseunit($this->_attribute);  // SemanticAttributeSearchQuery
+     * and Cached_SemanticLink::_expandurl()
+     */
+    function baseunit($query, $def  = false) {
+	if (!$def) $def = $this->Definition($query);
+	if ($def) {
+	    if (preg_match("/ (.+)$/",$def,$m))
+		return $m[1];
+	}
+	return '';
+    }
+
+    function _cmd($args) {
+	if ($this->errcode) return $args;
+	if (defined("UNITS_EXE")) {
+	    $s = UNITS_EXE ." $args";
+	    $result = `$s`;
+	}
+	else 
+	    $result = `units $args`;
+	return trim($result);
+    }
+}
diff -ruN 1.3.12p3/lib/upgrade.php 1.3.14/lib/upgrade.php
--- 1.3.12p3/lib/upgrade.php	2006-06-18 06:19:25.000000000 -0500
+++ 1.3.14/lib/upgrade.php	2007-07-01 05:11:08.000000000 -0500
@@ -1,7 +1,7 @@
 <?php //-*-php-*-
-rcs_id('$Id: upgrade.php,v 1.47 2005/02/27 19:13:27 rurban Exp $');
+rcs_id('$Id: upgrade.php,v 1.59 2007/06/09 18:57:44 rurban Exp $');
 /*
- Copyright 2004,2005 $ThePhpWikiProgrammingTeam
+ Copyright 2004,2005,2006,2007 $ThePhpWikiProgrammingTeam
 
  This file is part of PhpWiki.
 
@@ -21,10 +21,9 @@
  */
 
 /**
- * Upgrade the WikiDB and config settings after installing a new 
- * PhpWiki upgrade.
- * Status: experimental, no queries for verification yet, 
- *         no merge conflict resolution (patch?), just overwrite.
+ * Upgrade existing WikiDB and config settings after installing a new PhpWiki sofwtare version.
+ * Status: almost no queries for verification. 
+ *         simple merge conflict resolution, or Overwrite All.
  *
  * Installation on an existing PhpWiki database needs some 
  * additional worksteps. Each step will require multiple pages.
@@ -36,10 +35,10 @@
  *     for upgrading these. Check timestamps, upgrade silently or 
  *     show diffs if existing. Overwrite or merge (easy, complete)
  *  3. Check for new or changed or deprecated index.php/config.ini settings
- *     and help in upgrading these. (hard)
- *  3a Convert old-style index.php into config/config.ini. (easy)
- *  4. Check for changed plugin invocation arguments. (hard)
- *  5. Check for changed theme variables. (hard)
+ *     and help in upgrading these. (for newer changes since 1.3.11, not yet)
+ *   3a. Convert old-style index.php into config/config.ini. (easy, not yet)
+ *  4. Check for changed plugin invocation arguments. (medium, done)
+ *  5. Check for changed theme variables. (hard, not yet)
  *  6. Convert the single-request upgrade to a class-based multi-page 
  *     version. (hard)
 
@@ -49,143 +48,208 @@
  */
 require_once("lib/loadsave.php");
 
-/**
- * TODO: check for the pgsrc_version number, not the revision mtime only
- */
-function doPgsrcUpdate(&$request,$pagename,$path,$filename) {
-    $dbi = $request->getDbh(); 
-    $page = $dbi->getPage($pagename);
-    if ($page->exists()) {
-        // check mtime: update automatically if pgsrc is newer
-        $rev = $page->getCurrentRevision();
-        $page_mtime = $rev->get('mtime');
-        $data  = implode("", file($path."/".$filename));
-        if (($parts = ParseMimeifiedPages($data))) {
-            usort($parts, 'SortByPageVersion');
-            reset($parts);
-            $pageinfo = $parts[0];
-            $stat  = stat($path."/".$filename);
-            $new_mtime = @$pageinfo['versiondata']['mtime'];
-            if (!$new_mtime)
-                $new_mtime = @$pageinfo['versiondata']['lastmodified'];
-            if (!$new_mtime)
-                $new_mtime = @$pageinfo['pagedata']['date'];
-            if (!$new_mtime)
-                $new_mtime = $stat[9];
-            if ($new_mtime > $page_mtime) {
-                echo "$path/$pagename: ",_("newer than the existing page."),
-                    _(" replace "),"($new_mtime &gt; $page_mtime)","<br />\n";
-                LoadAny($request,$path."/".$filename);
-                echo "<br />\n";
-            } else {
-                echo "$path/$pagename: ",_("older than the existing page."),
-                    _(" skipped"),".<br />\n";
-            }
-        } else {
-            echo "$path/$pagename: ",("unknown format."),
-                    _(" skipped"),".<br />\n";
-        }
-    } else {
-        echo sprintf(_("%s does not exist"),$pagename),"<br />\n";
-        LoadAny($request,$path."/".$filename);
-        echo "<br />\n";
-    }
-}
-
-/** Need the english filename (required precondition: urlencode == urldecode).
- *  Returns the plugin name.
- */ 
-function isActionPage($filename) {
-    static $special = array("DebugInfo" 	=> "_BackendInfo",
-                            "PhpWikiRecentChanges" => "RssFeed",
-                            "ProjectSummary"  	=> "RssFeed",
-                            "RecentReleases"  	=> "RssFeed",
-                            "InterWikiMap"      => "InterWikiMap",
-                            );
-    $base = preg_replace("/\..{1,4}$/","",basename($filename));
-    if (isset($special[$base])) return $special[$base];
-    if (FindFile("lib/plugin/".$base.".php",true)) return $base;
-    else return false;
-}
-
-function CheckActionPageUpdate(&$request) {
-    echo "<h3>",_("check for necessary ActionPage updates"),"</h3>\n";
-    $dbi = $request->getDbh(); 
-    $path = FindFile('pgsrc');
-    $pgsrc = new fileSet($path);
-    // most actionpages have the same name as the plugin
-    $loc_path = FindLocalizedFile('pgsrc');
-    foreach ($pgsrc->getFiles() as $filename) {
-        if (substr($filename,-1,1) == '~') continue;
-        $pagename = urldecode($filename);
-        if (isActionPage($filename)) {
-            $translation = gettext($pagename);
-            if ($translation == $pagename)
-                doPgsrcUpdate($request, $pagename, $path, $filename);
-            elseif (FindLocalizedFile('pgsrc/'.urlencode($translation),1))
-                doPgsrcUpdate($request, $translation, $loc_path, 
-                              urlencode($translation));
-            else
-                doPgsrcUpdate($request, $pagename, $path, $filename);
-        }
-    }
-}
-
-// see loadsave.php for saving new pages.
-function CheckPgsrcUpdate(&$request) {
-    echo "<h3>",_("check for necessary pgsrc updates"),"</h3>\n";
-    $dbi = $request->getDbh(); 
-    $path = FindLocalizedFile(WIKI_PGSRC);
-    $pgsrc = new fileSet($path);
-    // fixme: verification, ...
-    $isHomePage = false;
-    foreach ($pgsrc->getFiles() as $filename) {
-        if (substr($filename,-1,1) == '~') continue;
-        $pagename = urldecode($filename);
-        // don't ever update the HomePage
-        if (defined(HOME_PAGE))
-            if ($pagename == HOME_PAGE) $isHomePage = true;
-        else
-            if ($pagename == _("HomePage")) $isHomePage = true;
-        if ($pagename == "HomePage") $isHomePage = true;
-        if ($isHomePage) {
-            echo "$path/$pagename: ",_("always skip the HomePage."),
-                _(" skipped"),".<br />\n";
-            $isHomePage = false;
-            continue;
-        }
-        if (!isActionPage($filename)) {
-            doPgsrcUpdate($request,$pagename,$path,$filename);
-        }
-    }
-    return;
-}
+class Upgrade {
 
-/**
- * TODO: Search table definition in appropriate schema
- *       and create it.
- * Supported: mysql and generic SQL, for ADODB and PearDB.
- */
-function installTable(&$dbh, $table, $backend_type) {
-    global $DBParams;
-    if (!$dbh->_backend->isSQL()) return;
-    echo _("MISSING")," ... \n";
-    $backend = &$dbh->_backend->_dbh;
-    /*
-    $schema = findFile("schemas/${backend_type}.sql");
-    if (!$schema) {
-        echo "  ",_("FAILED"),": ",sprintf(_("no schema %s found"),
-        "schemas/${backend_type}.sql")," ... <br />\n";
-        return false;
-    }
-    */
-    extract($dbh->_backend->_table_names);
-    $prefix = isset($DBParams['prefix']) ? $DBParams['prefix'] : '';
-    switch ($table) {
-    case 'session':
-        assert($session_tbl);
-        if ($backend_type == 'mysql') {
-            $dbh->genericSqlQuery("
+    function Upgrade (&$request) {
+	$this->request =& $request;
+	$this->dbi =& $request->_dbi; // no reference for dbadmin ? 
+	$this->phpwiki_version = $this->current_db_version = phpwiki_version();
+	//$this->current_db_version = 1030.13; // should be stored in the db. should be phpwiki_version
+
+	$this->db_version = $this->dbi->get_db_version();
+	$this->isSQL = $this->dbi->_backend->isSQL();
+    }
+
+    /**
+     * TODO: check for the pgsrc_version number, not the revision mtime only
+     */
+    function doPgsrcUpdate($pagename, $path, $filename) {
+	$page = $this->dbi->getPage($pagename);
+	if ($page->exists()) {
+	    // check mtime: update automatically if pgsrc is newer
+	    $rev = $page->getCurrentRevision();
+	    $page_mtime = $rev->get('mtime');
+	    $data  = implode("", file($path."/".$filename));
+	    if (($parts = ParseMimeifiedPages($data))) {
+		usort($parts, 'SortByPageVersion');
+		reset($parts);
+		$pageinfo = $parts[0];
+		$stat  = stat($path."/".$filename);
+		$new_mtime = @$pageinfo['versiondata']['mtime'];
+		if (!$new_mtime)
+		    $new_mtime = @$pageinfo['versiondata']['lastmodified'];
+		if (!$new_mtime)
+		    $new_mtime = @$pageinfo['pagedata']['date'];
+		if (!$new_mtime)
+		    $new_mtime = $stat[9];
+		if ($new_mtime > $page_mtime) {
+		    echo "$path/$pagename: ",_("newer than the existing page."),
+			_(" replace "),"($new_mtime &gt; $page_mtime)","<br />\n";
+		    LoadAny($this->request, $path."/".$filename);
+		    echo "<br />\n";
+		} else {
+		    echo "$path/$pagename: ",_("older than the existing page."),
+			_(" skipped"),".<br />\n";
+		}
+	    } else {
+		echo "$path/$pagename: ",("unknown format."),
+                    _(" skipped"),".<br />\n";
+	    }
+	} else {
+	    echo sprintf(_("%s does not exist"),$pagename),"<br />\n";
+	    LoadAny($this->request, $path."/".$filename);
+	    echo "<br />\n";
+	}
+    }
+
+    /** 
+     *  If a matching pgsrc => pluginname exists
+     *  Need the english filename (required precondition: urlencode == urldecode).
+     *  Returns the plugin name.
+     */ 
+    function isActionPage($filename) {
+	static $special = array("DebugInfo" 	=> "_BackendInfo",
+				"PhpWikiRecentChanges" => "RssFeed",
+				"ProjectSummary"  	=> "RssFeed",
+				"RecentReleases"  	=> "RssFeed",
+				"InterWikiMap"      => "InterWikiMap",
+				);
+	$base = preg_replace("/\..{1,4}$/","",basename($filename));
+	if (isset($special[$base])) return $special[$base];
+	if (FindFile("lib/plugin/".$base.".php",true)) return $base;
+	else return false;
+    }
+
+    function CheckActionPageUpdate() {
+	echo "<h3>",sprintf(_("check for necessary %s updates"),
+			    _("ActionPage")),"</h3>\n";
+	// 1.3.13 before we pull in all missing pages, we rename existing ones
+	$this->_rename_page_helper(_("_AuthInfo"), _("DebugAuthInfo"));
+	// this is in some templates. so we keep the old name
+	//$this->_rename_page_helper($this->dbi, _("DebugInfo"), _("DebugBackendInfo")); 
+	$this->_rename_page_helper(_("_GroupInfo"), _("GroupAuthInfo")); //never officially existed
+	$this->_rename_page_helper("InterWikiKarte", "InterWikiListe"); // german only
+ 
+	$path = FindFile('pgsrc');
+	$pgsrc = new fileSet($path);
+	// most actionpages have the same name as the plugin
+	$loc_path = FindLocalizedFile('pgsrc');
+	foreach ($pgsrc->getFiles() as $filename) {
+	    if (substr($filename,-1,1) == '~') continue;
+	    if (substr($filename,-5,5) == '.orig') continue;
+	    $pagename = urldecode($filename);
+	    if ($this->isActionPage($filename)) {
+		$translation = gettext($pagename);
+		if ($translation == $pagename)
+		    $this->doPgsrcUpdate($pagename, $path, $filename);
+		elseif (FindLocalizedFile('pgsrc/'.urlencode($translation),1))
+		    $this->doPgsrcUpdate($translation, $loc_path, urlencode($translation));
+		else
+		    $this->doPgsrcUpdate($pagename, $path, $filename);
+	    }
+	}
+    }
+
+    // see loadsave.php for saving new pages.
+    function CheckPgsrcUpdate() {
+	echo "<h3>",sprintf(_("check for necessary %s updates"),
+			    "pgsrc"),"</h3>\n";
+	if ($this->db_version < 1030.12200612) {
+	    echo "<h4>",_("rename to Help: pages"),"</h4>\n";
+	}
+	$path = FindLocalizedFile(WIKI_PGSRC);
+	$pgsrc = new fileSet($path);
+	// fixme: verification, ...
+	$isHomePage = false;
+	foreach ($pgsrc->getFiles() as $filename) {
+	    if (substr($filename,-1,1) == '~') continue;
+	    if (substr($filename,-5,5) == '.orig') continue;
+	    $pagename = urldecode($filename);
+	    // don't ever update the HomePage
+	    if (defined(HOME_PAGE))
+		if ($pagename == HOME_PAGE) $isHomePage = true;
+		else
+		    if ($pagename == _("HomePage")) $isHomePage = true;
+	    if ($pagename == "HomePage") $isHomePage = true;
+	    if ($isHomePage) {
+		echo "$path/$pagename: ",_("always skip the HomePage."),
+		    _(" skipped"),".<br />\n";
+		$isHomePage = false;
+		continue;
+	    }
+	    if (!$this->isActionPage($filename)) {
+		// There're a lot of now unneeded pages around. 
+		// At first rename the BlaPlugin pages to Help/<pagename> and then to the update.
+		if ($this->db_version < 1030.12200612) {
+		    $this->_rename_to_help_page($pagename);    
+		}
+		$this->doPgsrcUpdate($pagename,$path,$filename);
+	    }
+	}
+
+	// Now check some theme specific pgsrc files (blog, wikilens, custom). 
+	// WARNING: Also override the HomePage here.
+	global $WikiTheme;
+	$path = $WikiTheme->file("pgsrc");
+	$pgsrc = new fileSet($path);
+	if ($pgsrc->getFiles()) {
+	    echo "<h3>",sprintf(_("check for additional theme %s updates"),
+				"pgsrc"),"</h3>\n";
+	    foreach ($pgsrc->getFiles() as $filename) {
+		if (substr($filename,-1,1) == '~') continue;
+		if (substr($filename,-5,5) == '.orig') continue;
+		$pagename = urldecode($filename);
+		$this->doPgsrcUpdate($pagename,$path,$filename);
+	    }
+	}
+	return;
+    }
+
+    function _rename_page_helper($oldname, $pagename) {
+	echo sprintf(_("rename %s to %s"), $oldname, $pagename)," ...";
+	if ($this->dbi->isWikiPage($oldname) and !$this->dbi->isWikiPage($pagename)) {
+	    if ($this->dbi->_backend->rename_page($oldname, $pagename))
+		echo _("OK")," <br />\n";
+	    else
+		echo " <b><font color=\"red\">", _("FAILED"), "</font></b>",
+		    " <br />\n";
+	} else {
+	    echo _(" skipped")," <br />\n";
+	}
+    }
+
+    function _rename_to_help_page($pagename) {
+	$newprefix = _("Help") . "/";
+	if (substr($pagename,0,strlen($newprefix)) != $newprefix) return;	
+	$oldname = substr($pagename,strlen($newprefix));
+	$this->_rename_page_helper($oldname, $pagename);
+    }
+
+    /**
+     * TODO: Search table definition in appropriate schema
+     *       and create it.
+     * Supported: mysql and generic SQL, for ADODB and PearDB.
+     */
+    function installTable($table, $backend_type) {
+	global $DBParams;
+	if (!$this->isSQL) return;
+	echo _("MISSING")," ... \n";
+	$backend = &$this->dbi->_backend->_dbh;
+	/*
+	  $schema = findFile("schemas/${backend_type}.sql");
+	  if (!$schema) {
+	  echo "  ",_("FAILED"),": ",sprintf(_("no schema %s found"),
+	  "schemas/${backend_type}.sql")," ... <br />\n";
+	  return false;
+	  }
+	*/
+	extract($this->dbi->_backend->_table_names);
+	$prefix = isset($DBParams['prefix']) ? $DBParams['prefix'] : '';
+	switch ($table) {
+	case 'session':
+	    assert($session_tbl);
+	    if ($backend_type == 'mysql') {
+		$this->dbi->genericSqlQuery("
 CREATE TABLE $session_tbl (
     	sess_id 	CHAR(32) NOT NULL DEFAULT '',
     	sess_data 	BLOB NOT NULL,
@@ -194,82 +258,63 @@
     	PRIMARY KEY (sess_id),
 	INDEX (sess_date)
 )");
-        } else {
-            $dbh->genericSqlQuery("
+	    } else {
+		$this->dbi->genericSqlQuery("
 CREATE TABLE $session_tbl (
 	sess_id 	CHAR(32) NOT NULL DEFAULT '',
     	sess_data 	".($backend_type == 'pgsql'?'TEXT':'BLOB')." NOT NULL,
     	sess_date 	INT,
     	sess_ip 	CHAR(15) NOT NULL
 )");
-            $dbh->genericSqlQuery("CREATE UNIQUE INDEX sess_id ON $session_tbl (sess_id)");
-        }
-        $dbh->genericSqlQuery("CREATE INDEX sess_date on session (sess_date)");
-        echo "  ",_("CREATED");
-        break;
-    case 'user':
-        $user_tbl = $prefix.'user';
-        if ($backend_type == 'mysql') {
-            $dbh->genericSqlQuery("
-CREATE TABLE $user_tbl (
-  	userid 	CHAR(48) BINARY NOT NULL UNIQUE,
-  	passwd 	CHAR(48) BINARY DEFAULT '',
-  	PRIMARY KEY (userid)
-)");
-        } else {
-            $dbh->genericSqlQuery("
-CREATE TABLE $user_tbl (
-  	userid 	CHAR(48) NOT NULL,
-  	passwd 	CHAR(48) DEFAULT ''
-)");
-            $dbh->genericSqlQuery("CREATE UNIQUE INDEX userid ON $user_tbl (userid)");
-        }
-        echo "  ",_("CREATED");
-        break;
-    case 'pref':
-        $pref_tbl = $prefix.'pref';
-        if ($backend_type == 'mysql') {
-            $dbh->genericSqlQuery("
+		$this->dbi->genericSqlQuery("CREATE UNIQUE INDEX sess_id ON $session_tbl (sess_id)");
+	    }
+	    $this->dbi->genericSqlQuery("CREATE INDEX sess_date on session (sess_date)");
+	    echo "  ",_("CREATED");
+	    break;
+	case 'pref':
+	    $pref_tbl = $prefix.'pref';
+	    if ($backend_type == 'mysql') {
+		$this->dbi->genericSqlQuery("
 CREATE TABLE $pref_tbl (
   	userid 	CHAR(48) BINARY NOT NULL UNIQUE,
   	prefs  	TEXT NULL DEFAULT '',
   	PRIMARY KEY (userid)
 )");
-        } else {
-            $dbh->genericSqlQuery("
+	    } else {
+		$this->dbi->genericSqlQuery("
 CREATE TABLE $pref_tbl (
   	userid 	CHAR(48) NOT NULL,
-  	prefs  	TEXT NULL DEFAULT '',
+  	prefs  	TEXT NULL DEFAULT ''
 )");
-            $dbh->genericSqlQuery("CREATE UNIQUE INDEX userid ON $pref_tbl (userid)");
-        }
-        echo "  ",_("CREATED");
-        break;
-    case 'member':
-        $member_tbl = $prefix.'member';
-        if ($backend_type == 'mysql') {
-            $dbh->genericSqlQuery("
+		$this->dbi->genericSqlQuery("CREATE UNIQUE INDEX userid ON $pref_tbl (userid)");
+	    }
+	    echo "  ",_("CREATED");
+	    break;
+	case 'member':
+	    $member_tbl = $prefix.'member';
+	    if ($backend_type == 'mysql') {
+		$this->dbi->genericSqlQuery("
 CREATE TABLE $member_tbl (
 	userid    CHAR(48) BINARY NOT NULL,
    	groupname CHAR(48) BINARY NOT NULL DEFAULT 'users',
    	INDEX (userid),
    	INDEX (groupname)
 )");
-        } else {
-            $dbh->genericSqlQuery("
+	    } else {
+		$this->dbi->genericSqlQuery("
 CREATE TABLE $member_tbl (
 	userid    CHAR(48) NOT NULL,
-   	groupname CHAR(48) NOT NULL DEFAULT 'users',
+   	groupname CHAR(48) NOT NULL DEFAULT 'users'
 )");
-            $dbh->genericSqlQuery("CREATE INDEX userid ON $member_tbl (userid)");
-            $dbh->genericSqlQuery("CREATE INDEX groupname ON $member_tbl (groupname)");
-        }
-        echo "  ",_("CREATED");
-        break;
-    case 'rating':
-        $rating_tbl = $prefix.'rating';
-        if ($backend_type == 'mysql') {
-            $dbh->genericSqlQuery("
+		$this->dbi->genericSqlQuery("CREATE INDEX userid ON $member_tbl (userid)");
+		$this->dbi->genericSqlQuery("CREATE INDEX groupname ON $member_tbl (groupname)");
+	    }
+	    echo "  ",_("CREATED");
+	    break;
+	case 'rating':
+	    $rating_tbl = $prefix.'rating';
+	    if ($backend_type == 'mysql') {
+		$this->dbi->genericSqlQuery("
 CREATE TABLE $rating_tbl (
         dimension INT(4) NOT NULL,
         raterpage INT(11) NOT NULL,
@@ -279,51 +324,51 @@
         tstamp TIMESTAMP(14) NOT NULL,
         PRIMARY KEY (dimension, raterpage, rateepage)
 )");
-        } else {
-            $dbh->genericSqlQuery("
+	    } else {
+		$this->dbi->genericSqlQuery("
 CREATE TABLE $rating_tbl (
         dimension INT(4) NOT NULL,
         raterpage INT(11) NOT NULL,
         rateepage INT(11) NOT NULL,
         ratingvalue FLOAT NOT NULL,
         rateeversion INT(11) NOT NULL,
-        tstamp TIMESTAMP(14) NOT NULL,
+        tstamp TIMESTAMP(14) NOT NULL
 )");
-            $dbh->genericSqlQuery("CREATE UNIQUE INDEX rating"
-                                  ." ON $rating_tbl (dimension, raterpage, rateepage)");
-        }
-        echo "  ",_("CREATED");
-        break;
-    case 'accesslog':
-        $log_tbl = $prefix.'accesslog';
-        // fields according to http://www.outoforder.cc/projects/apache/mod_log_sql/docs-2.0/#id2756178
-        /*
-A	User Agent agent	varchar(255)	Mozilla/4.0 (compat; MSIE 6.0; Windows)
-a	CGi request arguments	request_args	varchar(255)	user=Smith&cart=1231&item=532
-b	Bytes transfered	bytes_sent	int unsigned	32561
-c???	Text of cookie	cookie	varchar(255)	Apache=sdyn.fooonline.net 1300102700823
-f	Local filename requested	request_file	varchar(255)	/var/www/html/books-cycroad.html
-H	HTTP request_protocol	request_protocol	varchar(10)	HTTP/1.1
-h	Name of remote host	remote_host	varchar(50)	blah.foobar.com
-I	Request ID (from modd_unique_id)	id	char(19)	POlFcUBRH30AAALdBG8
-l	Ident user info	remote_logname	varcgar(50)	bobby
-M	Machine ID???	machine_id	varchar(25)	web01
-m	HTTP request method	request_method	varchar(10)	GET
-P	httpd cchild PID	child_pid	smallint unsigned	3215
-p	http port	server_port	smallint unsigned	80
-R	Referer	referer	varchar(255)	http://www.biglinks4u.com/linkpage.html
-r	Request in full form	request_line	varchar(255)	GET /books-cycroad.html HTTP/1.1
-S	Time of request in UNIX time_t format	time_stamp	int unsigned	1005598029
-T	Seconds to service request	request_duration	smallint unsigned	2
-t	Time of request in human format	request_time	char(28)	[02/Dec/2001:15:01:26 -0800]
-U	Request in simple form	request_uri	varchar(255)	/books-cycroad.html
-u	User info from HTTP auth	remote_user	varchar(50)	bobby
-v	Virtual host servicing the request	virtual_host	varchar(255)
-        */
-        $dbh->genericSqlQuery("
+		$this->dbi->genericSqlQuery("CREATE UNIQUE INDEX rating"
+				      ." ON $rating_tbl (dimension, raterpage, rateepage)");
+	    }
+	    echo "  ",_("CREATED");
+	    break;
+	case 'accesslog':
+	    $log_tbl = $prefix.'accesslog';
+	    // fields according to http://www.outoforder.cc/projects/apache/mod_log_sql/docs-2.0/#id2756178
+	    /*
+	      A	User Agent agent	varchar(255)	Mozilla/4.0 (compat; MSIE 6.0; Windows)
+	      a	CGi request arguments	request_args	varchar(255)	user=Smith&cart=1231&item=532
+	      b	Bytes transfered	bytes_sent	int unsigned	32561
+	      c???	Text of cookie	cookie	varchar(255)	Apache=sdyn.fooonline.net 1300102700823
+	      f	Local filename requested	request_file	varchar(255)	/var/www/html/books-cycroad.html
+	      H	HTTP request_protocol	request_protocol	varchar(10)	HTTP/1.1
+	      h	Name of remote host	remote_host	varchar(50)	blah.foobar.com
+	      I	Request ID (from modd_unique_id)	id	char(19)	POlFcUBRH30AAALdBG8
+	      l	Ident user info	remote_logname	varcgar(50)	bobby
+	      M	Machine ID???	machine_id	varchar(25)	web01
+	      m	HTTP request method	request_method	varchar(10)	GET
+	      P	httpd cchild PID	child_pid	smallint unsigned	3215
+	      p	http port	server_port	smallint unsigned	80
+	      R	Referer	referer	varchar(255)	http://www.biglinks4u.com/linkpage.html
+	      r	Request in full form	request_line	varchar(255)	GET /books-cycroad.html HTTP/1.1
+	      S	Time of request in UNIX time_t format	time_stamp	int unsigned	1005598029
+	      T	Seconds to service request	request_duration	smallint unsigned	2
+	      t	Time of request in human format	request_time	char(28)	[02/Dec/2001:15:01:26 -0800]
+	      U	Request in simple form	request_uri	varchar(255)	/books-cycroad.html
+	      u	User info from HTTP auth	remote_user	varchar(50)	bobby
+	      v	Virtual host servicing the request	virtual_host	varchar(255)
+	    */
+	    $this->dbi->genericSqlQuery("
 CREATE TABLE $log_tbl (
         time_stamp    int unsigned,
-	remote_host   varchar(50),
+	remote_host   varchar(100),
 	remote_user   varchar(50),
         request_method varchar(10),
 	request_line  varchar(255),
@@ -336,522 +381,856 @@
 	agent         varchar(255),
 	request_duration float
 )");
-        $dbh->genericSqlQuery("CREATE INDEX log_time ON $log_tbl (time_stamp)");
-        $dbh->genericSqlQuery("CREATE INDEX log_host ON $log_tbl (remote_host)");
-        echo "  ",_("CREATED");
-        break;
-    }
-    echo "<br />\n";
-}
-
-/**
- * Update from ~1.3.4 to current.
- * Only session, user, pref and member
- * jeffs-hacks database api (around 1.3.2) later:
- *   people should export/import their pages if using that old versions.
- */
-function CheckDatabaseUpdate(&$request) {
-    global $DBParams, $DBAuthParams;
-    $dbh = $request->getDbh(); 
-    if (!$dbh->_backend->isSQL()) return;
-    echo "<h3>",_("check for necessary database updates"), " - ", DATABASE_TYPE, "</h3>\n";
-
-    $dbadmin = $request->getArg('dbadmin');
-    _upgrade_db_init($dbh);
-    if (isset($dbadmin['cancel'])) {
-        echo _("CANCEL")," <br />\n";
-        return;
-    }
-
-    $tables = $dbh->_backend->listOfTables();
-    $backend_type = $dbh->_backend->backendType();
-    echo "<h4>",_("Backend type: "),$backend_type,"</h4>\n";
-    $prefix = isset($DBParams['prefix']) ? $DBParams['prefix'] : '';
-    foreach (explode(':','session:user:pref:member') as $table) {
-        echo sprintf(_("check for table %s"), $table)," ...";
-    	if (!in_array($prefix.$table, $tables)) {
-            installTable($dbh, $table, $backend_type);
-    	} else {
-    	    echo _("OK")," <br />\n";
-        }
-    }
-    if (ACCESS_LOG_SQL) {
-        $table = "accesslog";
-        echo sprintf(_("check for table %s"), $table)," ...";
-    	if (!in_array($prefix.$table, $tables)) {
-            installTable($dbh, $table, $backend_type);
-    	} else {
-    	    echo _("OK")," <br />\n";
-        }
-    }
-    if ((class_exists("RatingsUserFactory") or $dbh->isWikiPage(_("RateIt")))) {
-        $table = "rating";
-        echo sprintf(_("check for table %s"), $table)," ...";
-    	if (!in_array($prefix.$table, $tables)) {
-            installTable($dbh, $table, $backend_type);
-    	} else {
-    	    echo _("OK")," <br />\n";
-        }
-    }
-    $backend = &$dbh->_backend->_dbh;
-    extract($dbh->_backend->_table_names);
-
-    // 1.3.8 added session.sess_ip
-    if (phpwiki_version() >= 1030.08 and USE_DB_SESSION and isset($request->_dbsession)) {
-  	echo _("check for new session.sess_ip column")," ... ";
-  	$database = $dbh->_backend->database();
-  	assert(!empty($DBParams['db_session_table']));
-        $session_tbl = $prefix . $DBParams['db_session_table'];
-        $sess_fields = $dbh->_backend->listOfFields($database, $session_tbl);
-        if (!$sess_fields) {
-            echo _("SKIP");
-        } elseif (!strstr(strtolower(join(':', $sess_fields)), "sess_ip")) {
-            // TODO: postgres test (should be able to add columns at the end, but not in between)
-            echo "<b>",_("ADDING"),"</b>"," ... ";		
-            $dbh->genericSqlQuery("ALTER TABLE $session_tbl ADD sess_ip CHAR(15) NOT NULL");
-            $dbh->genericSqlQuery("CREATE INDEX sess_date ON $session_tbl (sess_date)");
-        } else {
-            echo _("OK");
-        }
-        echo "<br />\n";
-        if (substr($backend_type,0,5) == 'mysql') {
-            // upgrade to 4.1.8 destroyed my session table: 
-            // sess_id => varchar(10), sess_data => varchar(5). For others obviously also.
-  	    echo _("check for mysql session.sess_id sanity")," ... ";
-            $result = $dbh->genericSqlQuery("DESCRIBE $session_tbl");
-            if (DATABASE_TYPE == 'SQL') {
-            	$iter = new WikiDB_backend_PearDB_generic_iter($backend, $result);
-            } elseif (DATABASE_TYPE == 'ADODB') {
-            	$iter = new WikiDB_backend_ADODB_generic_iter($backend, $result, 
-            		        array("Field", "Type", "Null", "Key", "Default", "Extra"));
-            } elseif (DATABASE_TYPE == 'PDO') {
-            	$iter = new WikiDB_backend_PDO_generic_iter($backend, $result);
-            }
-            while ($col = $iter->next()) {
-                if ($col["Field"] == 'sess_id' and !strstr(strtolower($col["Type"]), 'char(32)')) {
-            	    $dbh->genericSqlQuery("ALTER TABLE $session_tbl CHANGE sess_id"
-                                          ." sess_id CHAR(32) NOT NULL");
-            	    echo "sess_id ", $col["Type"], " ", _("fixed"), " =&gt; CHAR(32) ";
-            	}
-            	if ($col["Field"] == 'sess_ip' and !strstr(strtolower($col["Type"]), 'char(15)')) {
-            	    $dbh->genericSqlQuery("ALTER TABLE $session_tbl CHANGE sess_ip"
-                                          ." sess_ip CHAR(15) NOT NULL");
-            	    echo "sess_ip ", $col["Type"], " ", _("fixed"), " =&gt; CHAR(15) ";
-            	}
-            }
+	    $this->dbi->genericSqlQuery("CREATE INDEX log_time ON $log_tbl (time_stamp)");
+	    $this->dbi->genericSqlQuery("CREATE INDEX log_host ON $log_tbl (remote_host)");
+	    echo "  ",_("CREATED");
+	    break;
+	}
+	echo "<br />\n";
+    }
+
+    /**
+     * Update from ~1.3.4 to current.
+     * tables: Only session, user, pref and member
+     * jeffs-hacks database api (around 1.3.2) later:
+     *   people should export/import their pages if using that old versions.
+     */
+    function CheckDatabaseUpdate() {
+	global $DBAuthParams;
+
+	echo "<h3>",sprintf(_("check for necessary %s updates"),
+			    _("database")),
+	    " - ", DATABASE_TYPE,"</h3>\n";
+	$dbadmin = $this->request->getArg('dbadmin');
+	if ($this->isSQL) {
+	    $this->_db_init();
+	    if (isset($dbadmin['cancel'])) {
+		echo _("CANCEL")," <br />\n";
+		return;
+	    }
+	}
+        echo "db version: we want ", $this->current_db_version, "\n<br>";
+        echo "db version: we have ", $this->db_version, "\n<br>";
+        if ($this->db_version >= $this->current_db_version) {
             echo _("OK"), "<br />\n";
+            return;
         }
-    }
 
-    /* TODO:
-     ALTER TABLE link ADD relation INT DEFAULT 0;
-     CREATE INDEX linkrelation ON link (relation);
-    */
-
-    // mysql >= 4.0.4 requires LOCK TABLE privileges
-    if (0 and substr($backend_type,0,5) == 'mysql') {
-  	echo _("check for mysql LOCK TABLE privilege")," ...";
-        $mysql_version = $dbh->_backend->_serverinfo['version'];
-        if ($mysql_version > 400.40) {
-            if (!empty($dbh->_backend->_parsedDSN))
-                $parseDSN = $dbh->_backend->_parsedDSN;
-            elseif (function_exists('parseDSN')) // ADODB or PDO
-                $parseDSN = parseDSN($DBParams['dsn']);
-            else 			     // pear
-                $parseDSN = DB::parseDSN($DBParams['dsn']);
-            $username = $dbh->_backend->qstr($parseDSN['username']);
-            // on db level
-            $query = "SELECT lock_tables_priv FROM mysql.db WHERE user='$username'";
-            //mysql_select_db("mysql", $dbh->_backend->connection());
-            $db_fields = $dbh->_backend->listOfFields("mysql", "db");
-            if (!strstr(strtolower(join(':', $db_fields)), "lock_tables_priv")) {
-                echo join(':', $db_fields);
-            	die("lock_tables_priv missing. The DB Admin must run mysql_fix_privilege_tables");
-            }
-            $row = $dbh->_backend->getRow($query);
-            if (isset($row[0]) and $row[0] == 'N') {
-                $dbh->genericSqlQuery("UPDATE mysql.db SET lock_tables_priv='Y'"
-                                      ." WHERE mysql.user='$username'");
-                $dbh->genericSqlQuery("FLUSH PRIVILEGES");
-                echo "mysql.db user='$username'", _("fixed"), "<br />\n";
-            } elseif (!$row) {
-                // or on user level
-                $query = "SELECT lock_tables_priv FROM mysql.user WHERE user='$username'";
-                $row = $dbh->_backend->getRow($query);
-                if ($row and $row[0] == 'N') {
-                    $dbh->genericSqlQuery("UPDATE mysql.user SET lock_tables_priv='Y'"
-                                          ." WHERE mysql.user='$username'");
-                    $dbh->genericSqlQuery("FLUSH PRIVILEGES");
-                    echo "mysql.user user='$username'", _("fixed"), "<br />\n";
-                } elseif (!$row) {
-                    echo " <b><font color=\"red\">", _("FAILED"), "</font></b>: ",
-                        "Neither mysql.db nor mysql.user has a user='$username'"
-                        ." or the lock_tables_priv field",
-                        "<br />\n";
-                } else {
-                    echo _("OK"), "<br />\n";
-                }
-            } else {
-                echo _("OK"), "<br />\n";
-            }
-            //mysql_select_db($dbh->_backend->database(), $dbh->_backend->connection());
-        } else {
-            echo sprintf(_("version <em>%s</em> not affected"), $mysql_version),"<br />\n";
-        }
-    }
+	if ($this->isSQL) {
+	    $backend_type = $this->dbi->_backend->backendType();
+	    echo "<h4>",_("Backend type: "),$backend_type,"</h4>\n";
+	    $prefix = isset($DBParams['prefix']) ? $DBParams['prefix'] : '';
+	    $tables = $this->dbi->_backend->listOfTables();
+	    foreach (explode(':','session:pref:member') as $table) {
+		echo sprintf(_("check for table %s"), $table)," ...";
+		if (!in_array($prefix.$table, $tables)) {
+		    $this->installTable($table, $backend_type);
+		} else {
+		    echo _("OK")," <br />\n";
+		}
+	    }
+	}
+
+	if ($this->phpwiki_version >= 1030.12200612 and $this->db_version < 1030.13) {
+	    if ($this->isSQL and preg_match("/(pgsql|postgres)/", $backend_type)) {
+		trigger_error("You need to upgrade to schema/psql-initialize.sql manually!", 
+			      E_USER_WARNING);
+	        // $this->_upgrade_psql_tsearch2();
+	    }
+	    $this->_upgrade_relation_links();
+	}
+
+	if (ACCESS_LOG_SQL and $this->isSQL) {
+	    $table = "accesslog";
+	    echo sprintf(_("check for table %s"), $table)," ...";
+	    if (!in_array($prefix.$table, $tables)) {
+		$this->installTable($table, $backend_type);
+	    } else {
+		echo _("OK")," <br />\n";
+	    }
+	}
+	if ($this->isSQL and (class_exists("RatingsUserFactory") or $this->dbi->isWikiPage(_("RateIt")))) {
+	    $table = "rating";
+	    echo sprintf(_("check for table %s"), $table)," ...";
+	    if (!in_array($prefix.$table, $tables)) {
+		$this->installTable($table, $backend_type);
+	    } else {
+		echo _("OK")," <br />\n";
+	    }
+	}
+	$backend = &$this->dbi->_backend->_dbh;
+	if ($this->isSQL)
+	    extract($this->dbi->_backend->_table_names);
+
+	// 1.3.8 added session.sess_ip
+	if ($this->isSQL and $this->phpwiki_version >= 1030.08 and USE_DB_SESSION 
+	    and isset($this->request->_dbsession)) 
+	{
+	    echo _("check for new session.sess_ip column")," ... ";
+	    $database = $this->dbi->_backend->database();
+	    assert(!empty($DBParams['db_session_table']));
+	    $session_tbl = $prefix . $DBParams['db_session_table'];
+	    $sess_fields = $this->dbi->_backend->listOfFields($database, $session_tbl);
+	    if (!$sess_fields) {
+		echo _("SKIP");
+	    } elseif (!strstr(strtolower(join(':', $sess_fields)), "sess_ip")) {
+		// TODO: postgres test (should be able to add columns at the end, but not in between)
+		echo "<b>",_("ADDING"),"</b>"," ... ";		
+		$this->dbi->genericSqlQuery("ALTER TABLE $session_tbl ADD sess_ip CHAR(15) NOT NULL");
+		$this->dbi->genericSqlQuery("CREATE INDEX sess_date ON $session_tbl (sess_date)");
+	    } else {
+		echo _("OK");
+	    }
+	    echo "<br />\n";
+	    if (substr($backend_type,0,5) == 'mysql') {
+		// upgrade to 4.1.8 destroyed my session table: 
+		// sess_id => varchar(10), sess_data => varchar(5). For others obviously also.
+		echo _("check for mysql session.sess_id sanity")," ... ";
+		$result = $this->dbi->genericSqlQuery("DESCRIBE $session_tbl");
+		if (DATABASE_TYPE == 'SQL') {
+		    $iter = new WikiDB_backend_PearDB_generic_iter($backend, $result);
+		} elseif (DATABASE_TYPE == 'ADODB') {
+		    $iter = new WikiDB_backend_ADODB_generic_iter($backend, $result, 
+								  array("Field", "Type", "Null", "Key", "Default", "Extra"));
+		} elseif (DATABASE_TYPE == 'PDO') {
+		    $iter = new WikiDB_backend_PDO_generic_iter($backend, $result);
+		}
+		while ($col = $iter->next()) {
+		    if ($col["Field"] == 'sess_id' and !strstr(strtolower($col["Type"]), 'char(32)')) {
+			$this->dbi->genericSqlQuery("ALTER TABLE $session_tbl CHANGE sess_id"
+					      ." sess_id CHAR(32) NOT NULL");
+			echo "sess_id ", $col["Type"], " ", _("fixed"), " =&gt; CHAR(32) ";
+		    }
+		    if ($col["Field"] == 'sess_ip' and !strstr(strtolower($col["Type"]), 'char(15)')) {
+			$this->dbi->genericSqlQuery("ALTER TABLE $session_tbl CHANGE sess_ip"
+					      ." sess_ip CHAR(15) NOT NULL");
+			echo "sess_ip ", $col["Type"], " ", _("fixed"), " =&gt; CHAR(15) ";
+		    }
+		}
+		echo _("OK"), "<br />\n";
+	    }
+	}
+
+	/* TODO:
+	   ALTER TABLE link ADD relation INT DEFAULT 0;
+	   CREATE INDEX linkrelation ON link (relation);
+	*/
+
+	// mysql >= 4.0.4 requires LOCK TABLE privileges
+	if (substr($backend_type,0,5) == 'mysql') {
+	    echo _("check for mysql LOCK TABLE privilege")," ...";
+	    $mysql_version = $this->dbi->_backend->_serverinfo['version'];
+	    if ($mysql_version > 400.40) {
+		if (!empty($this->dbi->_backend->_parsedDSN))
+		    $parseDSN = $this->dbi->_backend->_parsedDSN;
+		elseif (function_exists('parseDSN')) // ADODB or PDO
+		    $parseDSN = parseDSN($DBParams['dsn']);
+		else 			     // pear
+		    $parseDSN = DB::parseDSN($DBParams['dsn']);
+		$username = $this->dbi->_backend->qstr($parseDSN['username']);
+		// on db level
+		$query = "SELECT lock_tables_priv FROM mysql.db WHERE user='$username'";
+		//mysql_select_db("mysql", $this->dbi->_backend->connection());
+		$db_fields = $this->dbi->_backend->listOfFields("mysql", "db");
+		if (!strstr(strtolower(join(':', $db_fields)), "lock_tables_priv")) {
+		    echo join(':', $db_fields);
+		    die("lock_tables_priv missing. The DB Admin must run mysql_fix_privilege_tables");
+		}
+		$row = $this->dbi->_backend->getRow($query);
+		if (isset($row[0]) and $row[0] == 'N') {
+		    $this->dbi->genericSqlQuery("UPDATE mysql.db SET lock_tables_priv='Y'"
+					  ." WHERE mysql.user='$username'");
+		    $this->dbi->genericSqlQuery("FLUSH PRIVILEGES");
+		    echo "mysql.db user='$username'", _("fixed"), "<br />\n";
+		} elseif (!$row) {
+		    // or on user level
+		    $query = "SELECT lock_tables_priv FROM mysql.user WHERE user='$username'";
+		    $row = $this->dbi->_backend->getRow($query);
+		    if ($row and $row[0] == 'N') {
+			$this->dbi->genericSqlQuery("UPDATE mysql.user SET lock_tables_priv='Y'"
+					      ." WHERE mysql.user='$username'");
+			$this->dbi->genericSqlQuery("FLUSH PRIVILEGES");
+			echo "mysql.user user='$username'", _("fixed"), "<br />\n";
+		    } elseif (!$row) {
+			echo " <b><font color=\"red\">", _("FAILED"), "</font></b>: ",
+			    "Neither mysql.db nor mysql.user has a user='$username'"
+			    ." or the lock_tables_priv field",
+			    "<br />\n";
+		    } else {
+			echo _("OK"), "<br />\n";
+		    }
+		} else {
+		    echo _("OK"), "<br />\n";
+		}
+		//mysql_select_db($this->dbi->_backend->database(), $this->dbi->_backend->connection());
+	    } else {
+		echo sprintf(_("version <em>%s</em> not affected"), $mysql_version),"<br />\n";
+	    }
+	}
+
+	// 1.3.10 mysql requires page.id auto_increment
+	// mysql, mysqli or mysqlt
+	if ($this->phpwiki_version >= 1030.099 and substr($backend_type,0,5) == 'mysql' 
+	    and DATABASE_TYPE != 'PDO') 
+        {
+	    echo _("check for mysql page.id auto_increment flag")," ...";
+	    assert(!empty($page_tbl));
+	    $database = $this->dbi->_backend->database();
+	    $fields = mysql_list_fields($database, $page_tbl, $this->dbi->_backend->connection());
+	    $columns = mysql_num_fields($fields); 
+	    for ($i = 0; $i < $columns; $i++) {
+		if (mysql_field_name($fields, $i) == 'id') {
+		    $flags = mysql_field_flags($fields, $i);
+		    //DONE: something was wrong with ADODB here.
+		    if (!strstr(strtolower($flags), "auto_increment")) {
+			echo "<b>",_("ADDING"),"</b>"," ... ";
+			// MODIFY col_def valid since mysql 3.22.16,
+			// older mysql's need CHANGE old_col col_def
+			$this->dbi->genericSqlQuery("ALTER TABLE $page_tbl CHANGE id"
+						    ." id INT NOT NULL AUTO_INCREMENT");
+			$fields = mysql_list_fields($database, $page_tbl);
+			if (!strstr(strtolower(mysql_field_flags($fields, $i)), "auto_increment"))
+			    echo " <b><font color=\"red\">", _("FAILED"), "</font></b><br />\n";
+			else     
+			    echo _("OK"), "<br />\n";
+		    } else {
+			echo _("OK"), "<br />\n";
+		    }
+		    break;
+		}
+	    }
+	    mysql_free_result($fields);
+	}
+
+	// Check for mysql 4.1.x/5.0.0a binary search problem.
+	//   http://bugs.mysql.com/bug.php?id=4398
+	// "select * from page where LOWER(pagename) like '%search%'" does not apply LOWER!
+	// Confirmed for 4.1.0alpha,4.1.3-beta,5.0.0a; not yet tested for 4.1.2alpha,
+	// On windows only, though utf8 would be useful elsewhere also.
+	// Illegal mix of collations (latin1_bin,IMPLICIT) and 
+	// (utf8_general_ci, COERCIBLE) for operation '='])
+	if (isWindows() and substr($backend_type,0,5) == 'mysql') {
+	    echo _("check for mysql 4.1.x/5.0.0 binary search on windows problem")," ...";
+	    $mysql_version = $this->dbi->_backend->_serverinfo['version'];
+	    if ($mysql_version < 401.0) { 
+		echo sprintf(_("version <em>%s</em>"), $mysql_version)," ",
+		    _("not affected"),"<br />\n";
+	    } elseif ($mysql_version >= 401.6) { // FIXME: since which version?
+		$row = $this->dbi->_backend->getRow("SHOW CREATE TABLE $page_tbl");
+		$result = join(" ", $row);
+		if (strstr(strtolower($result), "character set") 
+		    and strstr(strtolower($result), "collate")) 
+		    {
+			echo _("OK"), "<br />\n";
+		    } else {
+		    //SET CHARACTER SET latin1
+		    $charset = CHARSET;
+		    if ($charset == 'iso-8859-1') $charset = 'latin1';
+		    $this->dbi->genericSqlQuery("ALTER TABLE $page_tbl CHANGE pagename "
+					  ."pagename VARCHAR(100) "
+					  ."CHARACTER SET '$charset' COLLATE '$charset"."_bin' NOT NULL");
+		    echo sprintf(_("version <em>%s</em>"), $mysql_version), 
+			" <b>",_("FIXED"),"</b>",
+			"<br />\n";
+		}
+	    } elseif (DATABASE_TYPE != 'PDO') {
+		// check if already fixed
+		extract($this->dbi->_backend->_table_names);
+		assert(!empty($page_tbl));
+		$database = $this->dbi->_backend->database();
+		$fields = mysql_list_fields($database, $page_tbl, $this->dbi->_backend->connection());
+		$columns = mysql_num_fields($fields); 
+		for ($i = 0; $i < $columns; $i++) {
+		    if (mysql_field_name($fields, $i) == 'pagename') {
+			$flags = mysql_field_flags($fields, $i);
+			// I think it was fixed with 4.1.6, but I tested it only with 4.1.8
+			if ($mysql_version > 401.0 and $mysql_version < 401.6) {
+			    // remove the binary flag
+			    if (strstr(strtolower($flags), "binary")) {
+				// FIXME: on duplicate pagenames this will fail!
+				$this->dbi->genericSqlQuery("ALTER TABLE $page_tbl CHANGE pagename"
+						      ." pagename VARCHAR(100) NOT NULL");
+				echo sprintf(_("version <em>%s</em>"), $mysql_version), 
+				    "<b>",_("FIXED"),"</b>"
+				    ,"<br />\n";	
+			    }
+			}
+			break;
+		    }
+		}
+	    }
+	}
+	if ($this->isSQL and ACCESS_LOG_SQL & 2) {
+	    echo _("check for ACCESS_LOG_SQL passwords in POST requests")," ...";
+	    // Don't display passwords in POST requests (up to 2005-02-04 12:03:20)
+	    $res = $this->dbi->genericSqlIter("SELECT time_stamp, remote_host, " .
+					"request_args FROM ${prefix}accesslog WHERE request_args LIKE " .
+					"'%s:6:\"passwd\"%' AND request_args NOT LIKE '%s:6:\"passwd\";" .
+					"s:15:\"<not displayed>\"%'");
+	    $count = 0;
+	    while ($row = $res->next()) {
+		$args = preg_replace("/(s:6:\"passwd\";s:15:\").*(\")/", 
+				     "$1<not displayed>$2", $row["request_args"]);
+		$ts = $row["time_stamp"];
+		$rh = $row["remote_host"];
+		$this->dbi->genericSqlQuery("UPDATE ${prefix}accesslog SET " .
+				      "request_args='$args' WHERE time_stamp=$ts AND " .
+				      "remote_host='$rh'");
+		$count++;
+	    }
+	    if ($count > 0)
+		echo "<b>",_("FIXED"),"</b>", "<br />\n";
+	    else 
+		echo _("OK"),"<br />\n";
+
+	    if ($this->phpwiki_version >= 1030.13) {
+		echo _("check for ACCESS_LOG_SQL remote_host varchar(50)")," ...";
+		$database = $this->dbi->_backend->database();
+		$accesslog_tbl = $prefix . 'accesslog';
+		$fields = $this->dbi->_backend->listOfFields($database, $accesslog_tbl);
+		if (!$fields) {
+		    echo _("SKIP");
+		} elseif (strstr(strtolower(join(':', $sess_fields)), "remote_host")) {
+		    // TODO: how to check size, already done?
+		    echo "<b>",_("FIXING"),"remote_host</b>"," ... ";
+		    $this->dbi->genericSqlQuery("ALTER TABLE $accesslog_tbl CHANGE remote_host VARCHAR(100)");
+		} else {
+		    echo _("FAIL");
+		}
+		echo "<br />\n";
+	    }
+	}
+	$this->_upgrade_cached_html();
+
+	if ($this->db_version < $this->current_db_version) {
+	    $this->dbi->set_db_version($this->current_db_version);
+	    $this->db_version = $this->dbi->get_db_version();
+            echo "db version: we have now ", $this->db_version,"  ";
+            echo _("OK"), "<br />\n";
+            flush();
+	}
 
-    // 1.3.10 mysql requires page.id auto_increment
-    // mysql, mysqli or mysqlt
-    if (phpwiki_version() >= 1030.099 and substr($backend_type,0,5) == 'mysql' 
-        and DATABASE_TYPE != 'PDO') {
-  	echo _("check for mysql page.id auto_increment flag")," ...";
-        assert(!empty($page_tbl));
-  	$database = $dbh->_backend->database();
-  	$fields = mysql_list_fields($database, $page_tbl, $dbh->_backend->connection());
-  	$columns = mysql_num_fields($fields); 
-        for ($i = 0; $i < $columns; $i++) {
-            if (mysql_field_name($fields, $i) == 'id') {
-            	$flags = mysql_field_flags($fields, $i);
-                //DONE: something was wrong with ADODB here.
-            	if (!strstr(strtolower($flags), "auto_increment")) {
-                    echo "<b>",_("ADDING"),"</b>"," ... ";
-                    // MODIFY col_def valid since mysql 3.22.16,
-                    // older mysql's need CHANGE old_col col_def
-                    $dbh->genericSqlQuery("ALTER TABLE $page_tbl CHANGE id"
-                                          ." id INT NOT NULL AUTO_INCREMENT");
-                    $fields = mysql_list_fields($database, $page_tbl);
-                    if (!strstr(strtolower(mysql_field_flags($fields, $i)), "auto_increment"))
-                        echo " <b><font color=\"red\">", _("FAILED"), "</font></b><br />\n";
-                    else     
-                        echo _("OK"), "<br />\n";
-            	} else {
-                    echo _("OK"), "<br />\n";
-            	}
-            	break;
-            }
-        }
-        mysql_free_result($fields);
+	return;
     }
 
-    // Check for mysql 4.1.x/5.0.0a binary search problem.
-    //   http://bugs.mysql.com/bug.php?id=4398
-    // "select * from page where LOWER(pagename) like '%search%'" does not apply LOWER!
-    // Confirmed for 4.1.0alpha,4.1.3-beta,5.0.0a; not yet tested for 4.1.2alpha,
-    // On windows only, though utf8 would be useful elsewhere also.
-    // Illegal mix of collations (latin1_bin,IMPLICIT) and 
-    // (utf8_general_ci, COERCIBLE) for operation '='])
-    if (isWindows() and substr($backend_type,0,5) == 'mysql') {
-  	echo _("check for mysql 4.1.x/5.0.0 binary search on windows problem")," ...";
-        $mysql_version = $dbh->_backend->_serverinfo['version'];
-        if ($mysql_version < 401.0) { 
-            echo sprintf(_("version <em>%s</em>"), $mysql_version)," ",
-                _("not affected"),"<br />\n";
-        } elseif ($mysql_version >= 401.6) { // FIXME: since which version?
-            $row = $dbh->_backend->getRow("SHOW CREATE TABLE $page_tbl");
-            $result = join(" ", $row);
-            if (strstr(strtolower($result), "character set") 
-                and strstr(strtolower($result), "collate")) 
-            {
-                echo _("OK"), "<br />\n";
-            } else {
-                //SET CHARACTER SET latin1
-                $charset = CHARSET;
-                if ($charset == 'iso-8859-1') $charset = 'latin1';
-                $dbh->genericSqlQuery("ALTER TABLE $page_tbl CHANGE pagename "
-                                      ."pagename VARCHAR(100) "
-                                      ."CHARACTER SET '$charset' COLLATE '$charset"."_bin' NOT NULL");
-                echo sprintf(_("version <em>%s</em>"), $mysql_version), 
-                    " <b>",_("FIXED"),"</b>",
-                    "<br />\n";
-            }
-        } elseif (DATABASE_TYPE != 'PDO') {
-            // check if already fixed
-            extract($dbh->_backend->_table_names);
-            assert(!empty($page_tbl));
-  	    $database = $dbh->_backend->database();
-  	    $fields = mysql_list_fields($database, $page_tbl, $dbh->_backend->connection());
-  	    $columns = mysql_num_fields($fields); 
-            for ($i = 0; $i < $columns; $i++) {
-                if (mysql_field_name($fields, $i) == 'pagename') {
-            	    $flags = mysql_field_flags($fields, $i);
-                    // I think it was fixed with 4.1.6, but I tested it only with 4.1.8
-                    if ($mysql_version > 401.0 and $mysql_version < 401.6) {
-                    	// remove the binary flag
-            	        if (strstr(strtolower($flags), "binary")) {
-            	            // FIXME: on duplicate pagenames this will fail!
-                            $dbh->genericSqlQuery("ALTER TABLE $page_tbl CHANGE pagename"
-                                                  ." pagename VARCHAR(100) NOT NULL");
-                            echo sprintf(_("version <em>%s</em>"), $mysql_version), 
-                                "<b>",_("FIXED"),"</b>"
-                                ,"<br />\n";	
-            	        }
-                    }
-                    break;
-                }
+    /**
+     * Filter SQL missing permissions errors.
+     *
+     * A wrong DBADMIN user will not be able to connect
+     * @see _is_false_error, ErrorManager
+     * @access private
+     */
+    function _dbpermission_filter($err) {
+	if  ( $err->isWarning() ) {
+	    global $ErrorManager;
+	    $this->error_caught = 1;
+	    $ErrorManager->_postponed_errors[] = $err;
+	    return true;
+	}
+	return false;
+    }
+
+    function _try_dbadmin_user ($user, $passwd) {
+	global $DBParams, $DBAuthParams;
+	$AdminParams = $DBParams;
+	if (DATABASE_TYPE == 'SQL')
+	    $dsn = DB::parseDSN($AdminParams['dsn']);
+	else {
+	    $dsn = parseDSN($AdminParams['dsn']);
+	}
+	$AdminParams['dsn'] = sprintf("%s://%s:%s@%s/%s",
+				      $dsn['phptype'],
+				      $user,
+				      $passwd,
+				      $dsn['hostspec'],
+				      $dsn['database']);
+	$AdminParams['_tryroot_from_upgrade'] = 1;
+	// add error handler to warn about missing permissions for DBADMIN_USER
+	global $ErrorManager;
+	$ErrorManager->pushErrorHandler(new WikiMethodCb($this, '_dbpermission_filter'));
+	$this->error_caught = 0;
+	$this->dbi = WikiDB::open($AdminParams);
+	if (!$this->error_caught) return true; 
+	// FAILED: redo our connection with the wikiuser
+	$this->dbi = WikiDB::open($DBParams);
+	$ErrorManager->flushPostponedErrors();
+	$ErrorManager->popErrorHandler();
+	return false;
+    }
+
+    function _db_init () {
+	if (!$this->isSQL) return;
+
+	/* SQLite never needs admin params */
+	$backend_type = $this->dbi->_backend->backendType();
+	if (substr($backend_type,0,6)=="sqlite") {
+	    return;
+	}
+	$dbadmin_user = 'root';
+	if ($dbadmin = $this->request->getArg('dbadmin')) {
+	    $dbadmin_user = $dbadmin['user'];
+	    if (isset($dbadmin['cancel'])) {
+		return;
+	    } elseif (!empty($dbadmin_user)) {
+		if ($this->_try_dbadmin_user($dbadmin['user'], $dbadmin['passwd']))
+		    return;
+	    }
+	} elseif (DBADMIN_USER) {
+	    if ($this->_try_dbadmin_user(DBADMIN_USER, DBADMIN_PASSWD))
+		return true;
+	}
+	// Check if the privileges are enough. Need CREATE and ALTER perms. 
+	// And on windows: SELECT FROM mysql, possibly: UPDATE mysql.
+	$form = HTML::form(array("method" => "post", 
+				 "action" => $this->request->getPostURL(),
+				 "accept-charset"=>$GLOBALS['charset']),
+			   HTML::p(_("Upgrade requires database privileges to CREATE and ALTER the phpwiki database."),
+				   HTML::br(),
+				   _("And on windows at least the privilege to SELECT FROM mysql, and possibly UPDATE mysql")),
+			   HiddenInputs(array('action' => 'upgrade',
+					      'overwrite' => $this->request->getArg('overwrite'))),
+			   HTML::table(array("cellspacing"=>4),
+				       HTML::tr(HTML::td(array('align'=>'right'),
+							 _("DB admin user:")),
+						HTML::td(HTML::input(array('name'=>"dbadmin[user]",
+									   'size'=>12,
+									   'maxlength'=>256,
+									   'value'=>$dbadmin_user)))),
+				       HTML::tr(HTML::td(array('align'=>'right'),
+							 _("DB admin password:")),
+						HTML::td(HTML::input(array('name'=>"dbadmin[passwd]",
+									   'type'=>'password',
+									   'size'=>12,
+									   'maxlength'=>256)))),
+				       HTML::tr(HTML::td(array('align'=>'center', 'colspan' => 2),
+							 Button("submit:", _("Submit"), 'wikiaction'), 
+							 HTML::raw('&nbsp;'),
+							 Button("submit:dbadmin[cancel]", _("Cancel"), 
+								'button')))));
+	$form->printXml();
+	echo "</div><!-- content -->\n";
+	echo asXML(Template("bottom"));
+	echo "</body></html>\n";
+	$this->request->finish();
+	exit();
+    }
+
+    /**
+     * if page.cached_html does not exists:
+     *   put _cached_html from pagedata into a new seperate blob, 
+     *   not into the huge serialized string.
+     *
+     * It is only rarelely needed: for current page only, if-not-modified,
+     * but was extracetd for every simple page iteration.
+     */
+    function _upgrade_cached_html ( $verbose=true ) {
+	global $DBParams;
+	if (!$this->isSQL) return;
+	$count = 0;
+	if ($this->phpwiki_version >= 1030.10) {
+	    if ($verbose)
+		echo _("check for extra page.cached_html column")," ... ";
+	    $database = $this->dbi->_backend->database();
+	    extract($this->dbi->_backend->_table_names);
+	    $fields = $this->dbi->_backend->listOfFields($database, $page_tbl);
+	    if (!$fields) {
+		echo _("SKIP"), "<br />\n";
+		return 0;
+	    }
+	    if (!strstr(strtolower(join(':', $fields)), "cached_html")) {
+		if ($verbose)
+		    echo "<b>",_("ADDING"),"</b>"," ... ";
+		$backend_type = $this->dbi->_backend->backendType();
+		if (substr($backend_type,0,5) == 'mysql')
+		    $this->dbi->genericSqlQuery("ALTER TABLE $page_tbl ADD cached_html MEDIUMBLOB");
+		else
+		    $this->dbi->genericSqlQuery("ALTER TABLE $page_tbl ADD cached_html BLOB");
+		if ($verbose)
+		    echo "<b>",_("CONVERTING"),"</b>"," ... ";
+		$count = _convert_cached_html();
+		if ($verbose)
+		    echo $count, " ", _("OK"), "<br />\n";
+	    } else {
+		if ($verbose)
+		    echo _("OK"), "<br />\n";
+	    }
+	}
+	return $count;
+    }
+
+    /** 
+     * move _cached_html for all pages from pagedata into a new seperate blob.
+     * decoupled from action=upgrade, so that it can be used by a WikiAdminUtils button also.
+     */
+    function _convert_cached_html () {
+	global $DBParams;
+	if (!$this->isSQL) return;
+	//if (!in_array(DATABASE_TYPE, array('SQL','ADODB'))) return;
+
+	$pages = $this->dbi->getAllPages();
+	$cache =& $this->dbi->_cache;
+	$count = 0;
+	extract($this->dbi->_backend->_table_names);
+	while ($page = $pages->next()) {
+	    $pagename = $page->getName();
+	    $data = $this->dbi->_backend->get_pagedata($pagename);
+	    if (!empty($data['_cached_html'])) {
+		$cached_html = $data['_cached_html'];
+		$data['_cached_html'] = '';
+		$cache->update_pagedata($pagename, $data);
+		// store as blob, not serialized
+		$this->dbi->genericSqlQuery("UPDATE $page_tbl SET cached_html=? WHERE pagename=?",
+				      array($cached_html, $pagename));
+		$count++;
+	    }
+	}
+	return $count;
+    }
+
+    /**
+     * upgrade to 1.3.13 link structure.
+     */
+    function _upgrade_relation_links ( $verbose=true ) {
+	if ($this->phpwiki_version >= 1030.12200610) {
+	    echo _("Rebuild entire database to upgrade relation links")," ... ";
+	    if (DATABASE_TYPE == 'dba') {
+		echo "<b>",_("CONVERTING")," dba linktable</b>","(~2 min, max 4 min) ... ";
+	        flush();
+	        longer_timeout(240);
+	        $this->dbi->_backend->_linkdb->rebuild();
+	    } else {
+	        flush();
+	        longer_timeout(180);
+	        $this->dbi->_backend->rebuild();
+	    }
+	    echo _("OK"), "<br />\n";
+	}
+    }
+
+    function CheckPluginUpdate() {
+    	return;
+    	
+	echo "<h3>",sprintf(_("check for necessary %s updates"),
+			    _("plugin argument")),"</h3>\n";
+			    
+	$this->_configUpdates = array();
+	$this->_configUpdates[] = new UpgradePluginEntry
+	    ($this, array('key' => 'plugin_randompage_numpages', 
+			  'fixed_with' => 1012.0,
+			  //'header' => _("change RandomPage pages => numpages"),
+			  //'notice'  =>_("found RandomPage plugin"),
+	                  'check_args' => array("plugin RandomPage pages",
+                                                "/(<\?\s*plugin\s+ RandomPage\s+)pages/",
+                                                "\\1numpages")));
+	$this->_configUpdates[] = new UpgradePluginEntry
+	    ($this, array('key' => 'plugin_createtoc_position', 
+			  'fixed_with' => 1013.0,
+			  //'header' => _("change CreateToc align => position"),
+			  //'notice'  =>_("found CreateToc plugin"),
+	                  'check_args' => array("plugin CreateToc align",
+                                                "/(<\?\s*plugin\s+ CreateToc[^\?]+)align/",
+                                                "\\1position")));
+
+	if (empty($this->_configUpdates)) return;
+        foreach ($this->_configUpdates as $update) {
+            $pages = $this->dbi->fullSearch($this->check_args[0]);
+            while ($page = $allpages->next()) {
+                $current = $page->getCurrentRevision();
+                $pagetext = $current->getPackedContent();
+	        $update->check($this->check_args[1], $this->check_args[2], $pagetext, $page, $current);
+	    }
+	}
+	free($allpages);
+	unset($pagetext);
+	unset($current);
+	unset($page);
+    }
+
+    /**
+     * preg_replace over local file.
+     * Only line-orientated matches possible.
+     */
+    function fixLocalFile($match, $replace, $filename) {
+    	$o_filename = $filename;
+    	if (!file_exists($filename))
+	    $filename = FindFile($filename);
+    	if (!file_exists($filename))
+	    return array(false, sprintf(_("file %s not found"), $o_filename));
+	$found = false;
+	if (is_writable($filename)) {
+	    $in = fopen($filename, "rb");
+	    $out = fopen($tmp = tempnam(getUploadFilePath(),"cfg"), "wb");
+	    if (isWindows())
+		$tmp = str_replace("/","\\",$tmp);
+	    // Detect the existing linesep at first line. fgets strips it even if 'rb'.
+	    // Before we simply assumed \r\n on windows local files.
+	    $s = fread($in, 1024);
+	    rewind($in);
+	    $linesep = (substr_count($s, "\r\n") > substr_count($s, "\n")) ? "\r\n" : "\n";
+	    //$linesep = isWindows() ? "\r\n" : "\n";
+	    while ($s = fgets($in)) {
+		// =>php-5.0.1 can fill count
+		//$new = preg_replace($match, $replace, $s, -1, $count);
+		$new = preg_replace($match, $replace, $s);
+		if ($new != $s) {
+		    $s = $new . $linesep;
+		    $found = true;
+		}
+		fputs($out, $s);
+	    }
+	    fclose($in);
+	    fclose($out);
+	    if (!$found) {
+		// todo: skip
+	    	$reason = sprintf(_("%s not found in %s"), $match, $filename);
+		unlink($out);
+		return array($found, $reason);
+	    } else {
+		@unlink("$file.bak");
+		@rename($file,"$file.bak");
+		if (!rename($tmp, $file))
+	            return array(false, sprintf(_("couldn't move %s to %s"), $tmp, $filename));
+	        return true;    
+	    }
+	} else {
+	    return array(false, sprintf(_("file %s is not writable"), $filename));
+	}
+    }
+
+    function CheckConfigUpdate () {
+	echo "<h3>",sprintf(_("check for necessary %s updates"),
+			    "config.ini"),"</h3>\n";
+	$entry = new UpgradeConfigEntry
+	    ($this, array('key' => 'cache_control_none', 
+	                  'fixed_with' => 1012.0,
+	                  'header' => sprintf(_("check for %s"),"CACHE_CONTROL = NONE"),
+	                  'applicable_args' => 'CACHE_CONTROL',
+	                  'notice'  => _("CACHE_CONTROL is set to 'NONE', and must be changed to 'NO_CACHE'"),
+	                  'check_args' => array("/^\s*CACHE_CONTROL\s*=\s*NONE/", "CACHE_CONTROL = NO_CACHE")));
+	$entry->setApplicableCb(new WikiMethodCb($entry, '_applicable_defined_and_empty'));
+	$this->_configUpdates[] = $entry;
+	
+	$entry = new UpgradeConfigEntry
+	    ($this, array('key' => 'group_method_none', 
+			  'fixed_with' => 1012.0,
+			  'header' => sprintf(_("check for %s"), "GROUP_METHOD = NONE"),
+			  'applicable_args' => 'GROUP_METHOD',
+			  'notice'  =>_("GROUP_METHOD is set to NONE, and must be changed to \"NONE\""),
+	                  'check_args' => array("/^\s*GROUP_METHOD\s*=\s*NONE/", "GROUP_METHOD = \"NONE\"")));
+	$entry->setApplicableCb(new WikiMethodCb($entry, '_applicable_defined_and_empty'));
+	$this->_configUpdates[] = $entry;
+
+	$entry = new UpgradeConfigEntry
+	    ($this, array('key' => 'blog_empty_default_prefix', 
+			  'fixed_with' => 1013.0,
+			  'header' => sprintf(_("check for %s"), "BLOG_EMPTY_DEFAULT_PREFIX"),
+			  'applicable_args' => 'BLOG_EMPTY_DEFAULT_PREFIX',
+			  'notice'  =>_("fix BLOG_EMPTY_DEFAULT_PREFIX into BLOG_DEFAULT_EMPTY_PREFIX"),
+	                  'check_args' => array("/BLOG_EMPTY_DEFAULT_PREFIX\s*=/","BLOG_DEFAULT_EMPTY_PREFIX =")));
+	$entry->setApplicableCb(new WikiMethodCb($entry, '_applicable_defined'));
+	$this->_configUpdates[] = $entry;
+
+	// TODO: find extra file updates
+	if (empty($this->_configUpdates)) return;
+	foreach ($this->_configUpdates as $update) {
+	    $update->check();
+	}
+    }
+
+} // class Upgrade
+
+class UpgradeEntry 
+{
+    /**
+     * Add an upgrade item to be checked.
+     *
+     * @param $parent object The parent Upgrade class to inherit the version properties
+     * @param $key string    A short unique key to store success in the WikiDB
+     * @param $fixed_with double @see phpwiki_version() number
+     * @param $header string Optional header to be printed always even if not applicable
+     * @param $applicable WikiCallback Optional callback boolean applicable()
+     * @param $notice string Description of the check
+     * @param $method WikiCallback Optional callback array method(array)
+     * //param All other args are passed to $method
+     */
+    function UpgradeEntry(&$parent, $params) {
+	$this->parent =& $parent;           // get the properties db_version
+    	foreach (array('key' => 'required',
+		       	// the wikidb stores the version when we actually fixed that.
+    	               'fixed_with' => 'required',
+    	               'header' => '',          // always printed
+    	               'applicable_cb' => null, // method to check if applicable 
+    	               'applicable_args' => array(), // might be the config name
+    	               'notice' => '', 
+    	               'check_cb' => null,      // method to apply
+    	               'check_args' => array()) 
+    	         as $k => $v)
+        {
+            if (!isset($params[$k])) { // default
+                if ($v == 'required') trigger_error("Required arg $k missing", E_USER_ERROR);
+                else $this->{$k} = $v;
+            } else { 
+                $this->{$k} = $params[$k];
             }
         }
+	if (!is_array($this->applicable_args)) // single arg convenience shortcut
+	    $this->applicable_args = array($this->applicable_args);
+	if (!is_array($this->check_args))   // single arg convenience shortcut
+	    $this->check_args = array($this->check_args);
+	if ($this->notice === '' and count($this->applicable_args) > 0)
+	    $this->notice = 'Check for '.join(', ', $this->applicable_args);
+	$this->_db_key = "_upgrade";
+	$this->upgrade = $this->parent->dbi->get($this->_db_key);
+    }
+    /* needed ? */
+    function setApplicableCb($object) {
+	$this->applicable_cb =& $object; 
+    }
+    function _check_if_already_fixed() {
+	// not yet fixed?
+	if (!isset($this->upgrade['name'])) return false;
+	// override with force?
+	if ($this->parent->request->getArg('force')) return false;
+	// already fixed and with an ok version
+	if ($this->upgrade['name'] >= $this->fixed_with) return $this->upgrade['name'];
+	// already fixed but with an older version. do it again.
+	return false;
+    }
+    function pass() {
+	// store in db no to fix again
+	$this->upgrade['name'] = $this->parent->phpwiki_version;
+	$this->parent->dbi->set($this->_db_key, $this->upgrade);
+	echo "<b>",_("FIXED"),"</b>";
+	if (isset($this->reason))
+	    echo ": ", $this->reason;
+	echo "<br />\n";
+	flush();
+	return true;
+    }
+    function fail() {
+	echo " <b><font color=\"red\">", _("FAILED"), "</font></b>";
+	if (isset($this->reason))
+	    echo ": ", $this->reason;
+	echo "<br />\n";
+	flush();
+	return false;
+    }
+    function skip() { // not applicable
+        if (isset($this->silent_skip)) return true;
+	echo _(" skipped"),".<br />\n";
+	flush();
+	return true;
+    }
+    function check($args = null) {
+	if ($this->header) echo $this->header, ' ... ';
+	if ($when = $this->_check_if_already_fixed()) {
+	    // be totally silent if no header is defined.
+	    if ($this->header) echo _("fixed with")," ",$when,"<br />\n";
+	    flush();
+	    return true;
+	}
+	if (is_object($this->applicable_cb)) {
+	    if (!$this->applicable_cb->call_array($this->applicable_args))
+	        return $this->skip();
+	}
+	if ($this->notice) {
+	    if ($this->header)
+	        echo "<br />\n";
+	    echo $this->notice," ";
+	    flush();
+	}
+	if (!is_null($args)) $this->check_args =& $args;
+	if (is_object($this->check_cb))
+	    $do = $this->method_cb->call_array($this->check_args);
+	else
+	    $do = $this->default_method($this->check_args);
+	if (is_array($do)) {
+	    $this->reason = $do[1];
+	    $do = $do[0];
+	}
+	return $do ? $this->pass() : $this->fail();
+    }
+} // class UpgradeEntry
+
+class UpgradeConfigEntry extends UpgradeEntry {
+    function _applicable_defined() {
+    	return (boolean)defined($this->applicable_args[0]);
+    }
+    function _applicable_defined_and_empty() {
+    	$const = $this->applicable_args[0];
+    	return (boolean)(defined($const) and !constant($const));
+    }
+    function default_method ($args) {
+	$match = $args[0];
+	$replace = $args[1];
+	return $this->parent->fixLocalFile($match, $replace, "config/config.ini");
+    }
+} // class UpdateConfigEntry
+
+/* This is different */
+class UpgradePluginEntry extends UpgradeEntry {
+    
+   /**
+     * check all pages for a plugin match
+     */
+    var $silent_skip = 1;
+     
+    function default_method (&$args) {
+    	$match    =  $args[0];
+    	$replace  =  $args[1];
+    	$pagetext =& $args[2];
+    	$page     =& $args[3];
+    	$current  =& $args[4];
+	if (preg_match($match, $pagetext)) {
+	    echo $page->getName()," ",$this->notice," ... ";
+	    if ($newtext = preg_replace($match, $replace, $pagetext)) {
+		$meta = $current->_data;
+		$meta['summary'] = "upgrade: ".$this->header;
+		$page->save($newtext, $current->getVersion() + 1, $meta);
+		$this->pass();
+	    } else {
+		$this->fail();
+	    }
+	}
     }
-    if ((ACCESS_LOG_SQL & 2)) {
-    	echo _("check for ACCESS_LOG_SQL passwords in POST requests")," ...";
-        // Don't display passwords in POST requests (up to 2005-02-04 12:03:20)
-        $result = $dbh->genericSqlQuery(
-                    "UPDATE ".$prefix."accesslog"
-                    .' SET request_args=CONCAT(left(request_args, LOCATE("s:6:\"passwd\"",request_args)+12),"...")'
-                    .' WHERE LOCATE("s:6:\"passwd\"", request_args)'
-                    .' AND NOT(LOCATE("s:6:\"passwd\";s:15:\"<not displayed>\"", request_args))'
-                    .' AND request_method="POST"');
-        if ((DATABASE_TYPE == 'SQL' and $backend->AffectedRows()) 
-            or (DATABASE_TYPE == 'ADODB' and $backend->Affected_Rows())
-            or (DATABASE_TYPE == 'PDO' and $result))
-            echo "<b>",_("FIXED"),"</b>", "<br />\n";
-        else 
-            echo _("OK"),"<br />\n";
-    }
-    _upgrade_cached_html($dbh);
-
-    return;
-}
-
-function _upgrade_db_init (&$dbh) {
-    global $request, $DBParams, $DBAuthParams;
-    if (!$dbh->_backend->isSQL()) return;
-
-    if (DBADMIN_USER) {
-        // if need to connect as the root user, for CREATE and ALTER privileges
-        $AdminParams = $DBParams;
-        if (DATABASE_TYPE == 'SQL')
-            $dsn = DB::parseDSN($AdminParams['dsn']);
-        else // ADODB or PDO
-            $dsn = parseDSN($AdminParams['dsn']);
-        $AdminParams['dsn'] = sprintf("%s://%s:%s@%s/%s",
-                                      $dsn['phptype'],
-                                      DBADMIN_USER,
-                                      DBADMIN_PASSWD,
-                                      $dsn['hostspec'],
-                                      $dsn['database']);
-        if (DEBUG & _DEBUG_SQL and DATABASE_TYPE == 'PDO') {
-            echo "<br>\nDBParams['dsn']: '", $DBParams['dsn'], "'";
-            echo "<br>\ndsn: '", print_r($dsn), "'";
-            echo "<br>\nAdminParams['dsn']: '", $AdminParams['dsn'], "'";
-        }
-        $dbh = WikiDB::open($AdminParams);
-    } elseif ($dbadmin = $request->getArg('dbadmin')) {
-        if (empty($dbadmin['user']) or isset($dbadmin['cancel']))
-            $dbh = &$request->_dbi;
-        else {
-            $AdminParams = $DBParams;
-            if (DATABASE_TYPE == 'SQL')
-                $dsn = DB::parseDSN($AdminParams['dsn']);
-            else
-                $dsn = parseDSN($AdminParams['dsn']);
-            $AdminParams['dsn'] = sprintf("%s://%s:%s@%s/%s",
-                                      $dsn['phptype'],
-                                      $dbadmin['user'],
-                                      $dbadmin['passwd'],
-                                      $dsn['hostspec'],
-                                      $dsn['database']);
-            $dbh = WikiDB::open($AdminParams);
-        }
-    } else {
-        // Check if the privileges are enough. Need CREATE and ALTER perms. 
-        // And on windows: SELECT FROM mysql, possibly: UPDATE mysql.
-        $form = HTML::form(array("method" => "post", 
-                                 "action" => $request->getPostURL(),
-                                 "accept-charset"=>$GLOBALS['charset']),
-HTML::p(_("Upgrade requires database privileges to CREATE and ALTER the phpwiki database."),
-                                   HTML::br(),
-_("And on windows at least the privilege to SELECT FROM mysql, and possibly UPDATE mysql")),
-                           HiddenInputs(array('action' => 'upgrade',
-                                              'overwrite' => $request->getArg('overwrite'))),
-                           HTML::table(array("cellspacing"=>4),
-                                       HTML::tr(HTML::td(array('align'=>'right'),
-                                                         _("DB admin user:")),
-                                                HTML::td(HTML::input(array('name'=>"dbadmin[user]",
-                                                                           'size'=>12,
-                                                                           'maxlength'=>256,
-                                                                           'value'=>'root')))),
-                                       HTML::tr(HTML::td(array('align'=>'right'),
-                                                         _("DB admin password:")),
-                                                HTML::td(HTML::input(array('name'=>"dbadmin[passwd]",
-                                                                           'type'=>'password',
-                                                                           'size'=>12,
-                                                                           'maxlength'=>256)))),
-                                       HTML::tr(HTML::td(array('align'=>'center', 'colspan' => 2),
-                                                         Button("submit:", _("Submit"), 'wikiaction'), 
-                                                         HTML::raw('&nbsp;'),
-                                                         Button("submit:dbadmin[cancel]", _("Cancel"), 
-                                                                'button')))));
-        $form->printXml();
-        echo "</div><!-- content -->\n";
-        echo asXML(Template("bottom"));
-        echo "</body></html>\n";
-        $request->finish();
-        exit();
-    }
-}
+} // class UpdatePluginEntry
 
 /**
- * if page.cached_html does not exists:
- *   put _cached_html from pagedata into a new seperate blob, not huge serialized string.
- *
- * it is only rarelely needed: for current page only, if-not-modified
- * but was extracetd for every simple page iteration.
- */
-function _upgrade_cached_html (&$dbh, $verbose=true) {
-    global $DBParams;
-    if (!$dbh->_backend->isSQL()) return;
-    //if (!in_array(DATABASE_TYPE, array('SQL','ADODB','PDO'))) return;
-    $count = 0;
-    if (phpwiki_version() >= 1030.10) {
-        if ($verbose)
-            echo _("check for extra page.cached_html column")," ... ";
-  	$database = $dbh->_backend->database();
-        extract($dbh->_backend->_table_names);
-        $fields = $dbh->_backend->listOfFields($database, $page_tbl);
-        if (!$fields) {
-            echo _("SKIP"), "<br />\n";
-            return 0;
-        }
-        if (!strstr(strtolower(join(':', $fields)), "cached_html")) {
-            if ($verbose)
-                echo "<b>",_("ADDING"),"</b>"," ... ";
-            $backend_type = $dbh->_backend->backendType();
-            if (substr($backend_type,0,5) == 'mysql')
-                $dbh->genericSqlQuery("ALTER TABLE $page_tbl ADD cached_html MEDIUMBLOB");
-            else
-                $dbh->genericSqlQuery("ALTER TABLE $page_tbl ADD cached_html BLOB");
-            if ($verbose)
-                echo "<b>",_("CONVERTING"),"</b>"," ... ";
-            $count = _convert_cached_html($dbh);
-            if ($verbose)
-                echo $count, " ", _("OK"), "<br />\n";
-        } else {
-            if ($verbose)
-                echo _("OK"), "<br />\n";
-        }
-    }
-    return $count;
-}
-
-/** 
- * move _cached_html for all pages from pagedata into a new seperate blob.
- * decoupled from action=upgrade, so that it can be used by a WikiAdminUtils button also.
+ * fix custom themes which are not in our distribution
+ * this should be optional
  */
-function _convert_cached_html (&$dbh) {
-    global $DBParams;
-    if (!$dbh->_backend->isSQL()) return;
-    //if (!in_array(DATABASE_TYPE, array('SQL','ADODB'))) return;
-
-    $pages = $dbh->getAllPages();
-    $cache =& $dbh->_cache;
-    $count = 0;
-    extract($dbh->_backend->_table_names);
-    while ($page = $pages->next()) {
-        $pagename = $page->getName();
-        $data = $dbh->_backend->get_pagedata($pagename);
-        if (!empty($data['_cached_html'])) {
-            $cached_html = $data['_cached_html'];
-            $data['_cached_html'] = '';
-            $cache->update_pagedata($pagename, $data);
-            // store as blob, not serialized
-            $dbh->genericSqlQuery("UPDATE $page_tbl SET cached_html=? WHERE pagename=?",
-                                  array($cached_html, $pagename));
-            $count++;
-        }
-    }
-    return $count;
-}
+class UpgradeThemeEntry extends UpgradeEntry {
 
-function CheckPluginUpdate(&$request) {
-    echo "<h3>",_("check for necessary plugin argument updates"),"</h3>\n";
-    $process = array('msg' => _("change RandomPage pages => numpages"),
-                     'match' => "/(<\?\s*plugin\s+ RandomPage\s+)pages/",
-                     'replace' => "\\1numpages");
-    $dbi = $request->getDbh();
-    $allpages = $dbi->getAllPages(false);
-    while ($page = $allpages->next()) {
-        $current = $page->getCurrentRevision();
-        $pagetext = $current->getPackedContent();
-        foreach ($process as $p) {
-            if (preg_match($p['match'], $pagetext)) {
-                echo $page->getName()," ",$p['msg']," ... ";
-                if ($newtext = preg_replace($p['match'], $p['replace'], $pagetext)) {
-                    $meta = $current->_data;
-                    $meta['summary'] = "upgrade: ".$p['msg'];
-                    $page->save($newtext, $current->getVersion() + 1, $meta);
-                    echo _("OK"), "<br />\n";
-                } else {
-                    echo " <b><font color=\"red\">", _("FAILED"), "</font></b><br />\n";
-                }
-            }
-        }
+    function default_method (&$args) {
+    	$match    =  $args[0];
+    	$replace  =  $args[1];
+    	$template = $args[2];
+    }
+    
+    function fixThemeTemplate($match, $new, $template) {
+    	// for all custom themes
+    	$ourthemes = explode(":","blog:Crao:default:Hawaiian:MacOSX:MonoBook:Portland:shamino_com:SpaceWiki:wikilens:Wordpress");
+	$themedir = NormalizeLocalFileName("themes");
+	$dh = opendir($themedir);
+	while ($r = readdir($dh)) {
+	    if (filetype($r) == 'dir' and $r[0] != '.' and !is_array($r, $ourthemes))
+		$customthemes[] = $r;
+	}
+	$success = true;
+	$errors = '';
+	foreach ($customthemes as $customtheme) {
+	    $template = FindFile("themes/$customtheme/templates/$template");
+	    $do = $this->parent->fixLocalFile($match, $new, template);
+	    if (!$do[0]) {
+		$success = false;
+		$errors .= $do[1]." "; 
+		echo $do[1];
+	    }
+	}
+	return array($success, $errors);
     }
 }
 
-function fixConfigIni($match, $new) {
-    $file = FindFile("config/config.ini");
-    $found = false;
-    if (is_writable($file)) {
-        $in = fopen($file,"rb");
-        $out = fopen($tmp = tempnam(FindFile("uploads"),"cfg"),"wb");
-        if (isWindows())
-            $tmp = str_replace("/","\\",$tmp);
-        while ($s = fgets($in)) {
-            if (preg_match($match, $s)) {
-                $s = $new . (isWindows() ? "\r\n" : "\n");
-                $found = true;
-            }
-            fputs($out, $s);
-        }
-        fclose($in);
-        fclose($out);
-        if (!$found) {
-            echo " <b><font color=\"red\">",_("FAILED"),"</font></b>: ",
-                sprintf(_("%s not found"), $match);
-            unlink($out);
-        } else {
-            @unlink("$file.bak");
-            @rename($file,"$file.bak");
-            if (rename($tmp, $file))
-                echo " <b>",_("FIXED"),"</b>";
-            else {
-                echo " <b>",_("FAILED"),"</b>: ";
-                sprintf(_("couldn't move %s to %s"), $tmp, $file);
-                return false;
-            }
-        }
-        return $found;
-    } else {
-        echo " <b><font color=\"red\">",_("FAILED"),"</font></b>: ",
-            sprintf(_("%s is not writable"), $file);
-        return false;
-    }
-}
-
-function CheckConfigUpdate(&$request) {
-    echo "<h3>",_("check for necessary config updates"),"</h3>\n";
-    echo _("check for old CACHE_CONTROL = NONE")," ... ";
-    if (defined('CACHE_CONTROL') and CACHE_CONTROL == '') {
-        echo "<br />&nbsp;&nbsp;",
-            _("CACHE_CONTROL is set to 'NONE', and must be changed to 'NO_CACHE'"),
-            " ...";
-        fixConfigIni("/^\s*CACHE_CONTROL\s*=\s*NONE/","CACHE_CONTROL = NO_CACHE");
-    } else {
-        echo _("OK");
-    }
-    echo "<br />\n";
-    echo _("check for GROUP_METHOD = NONE")," ... ";
-    if (defined('GROUP_METHOD') and GROUP_METHOD == '') {
-        echo "<br />&nbsp;&nbsp;",
-            _("GROUP_METHOD is set to NONE, and must be changed to \"NONE\""),
-            " ...";
-        fixConfigIni("/^\s*GROUP_METHOD\s*=\s*NONE/","GROUP_METHOD = \"NONE\"");
-    } else {
-        echo _("OK");
-    }
-    echo "<br />\n";
-}
-
 /**
  * TODO:
  *
@@ -859,14 +1238,6 @@
  * identify, validate, display options, next step
  */
 /*
-class Upgrade {
-}
-
-class Upgrade_CheckPgsrc extends Upgrade {
-}
-
-class Upgrade_CheckDatabaseUpdate extends Upgrade {
-}
 */
 
 // TODO: At which step are we? 
@@ -874,7 +1245,7 @@
 
 /** entry function from lib/main.php
  */
-function DoUpgrade($request) {
+function DoUpgrade(&$request) {
 
     if (!$request->_user->isAdmin()) {
         $request->_notAuthorized(WIKIAUTH_ADMIN);
@@ -883,21 +1254,61 @@
                                    fmt("Upgrade disabled: user != isAdmin")));
         return;
     }
-
+    // TODO: StartLoadDump should turn on implicit_flush.   
+    @ini_set("implicit_flush", true);
     StartLoadDump($request, _("Upgrading this PhpWiki"));
-    //CheckOldIndexUpdate($request); // to upgrade from < 1.3.10
-    CheckDatabaseUpdate($request);   // first check cached_html and friends
-    CheckActionPageUpdate($request);
-    CheckPgsrcUpdate($request);
-    //CheckThemeUpdate($request);
-    //CheckPluginUpdate($request);
-    CheckConfigUpdate($request);
+    $upgrade = new Upgrade($request);
+    //if (!$request->getArg('noindex'))
+    //    CheckOldIndexUpdate($request); // index.php => config.ini to upgrade from < 1.3.10
+    if (!$request->getArg('nodb'))
+	$upgrade->CheckDatabaseUpdate($request);   // first check cached_html and friends
+    if (!$request->getArg('nopgsrc')) {
+	$upgrade->CheckActionPageUpdate($request);
+	$upgrade->CheckPgsrcUpdate($request);
+    }
+    if (!$request->getArg('noplugin'))
+	$upgrade->CheckPluginUpdate($request);
+    if (!$request->getArg('noconfig'))
+	$upgrade->CheckConfigUpdate($request);
+    // This is optional and should be linked. In EndLoadDump or PhpWikiAdministration?
+    //if ($request->getArg('theme'))
+    //	  $upgrade->CheckThemeUpdate($request);
     EndLoadDump($request);
 }
 
 
 /*
  $Log: upgrade.php,v $
+ Revision 1.59  2007/06/09 18:57:44  rurban
+ fix action=upgrade for dba
+
+ Revision 1.58  2007/01/28 22:54:18  rurban
+ more objectification. store last db update.
+
+ Revision 1.57  2007/01/04 16:43:09  rurban
+ Changed to class Upgrade: Do not pollute our namespace with global functions. Less arguments needed. Fix missing permissions on wrong DBADMIN_USER. Let user input override the wrong constant.
+
+ Revision 1.56  2007/01/03 21:25:34  rurban
+ rename InterWikiKarte to InterWikiListe. Support nosql, nopgsrc, noplugin, noconfig args.
+
+ Revision 1.55  2007/01/02 13:24:01  rurban
+ 1.3.13 support: _rename_page_helper, _rename_to_help_page, _upgrade_relation_links, check for ACCESS_LOG_SQL remote_host varchar(50), _upgrade_psql_tsearch2
+
+ Revision 1.54  2006/12/03 17:07:29  rurban
+ #1535843 by matt brown: Upgrade Wizard Password fixes are not portable
+
+ Revision 1.53  2006/12/03 17:03:18  rurban
+ #1535851 by matt brown
+
+ Revision 1.52  2006/12/03 17:01:18  rurban
+ #1535839 by matt brown
+
+ Revision 1.51  2006/08/07 21:05:30  rurban
+ patch #1535837  (debian)
+
+ Revision 1.50  2006/06/18 11:04:09  rurban
+ keep overwrite arg
+
  Revision 1.49  2006/05/18 06:03:39  rurban
  use $dbh->_backend->isSQL
 
@@ -915,8 +1326,7 @@
  add PDO support
 
  Revision 1.44  2005/02/07 15:40:42  rurban
- use defined CHARSET for db. more comments
-
+ use defined CHARSET for db. more comment
  Revision 1.43  2005/02/04 11:44:07  rurban
  check passwd in access_log
 
@@ -1092,4 +1502,4 @@
 // c-hanging-comment-ender-p: nil
 // indent-tabs-mode: nil
 // End:
-?>
\ No newline at end of file
+?>
diff -ruN 1.3.12p3/lib/WikiDB/ADODB.php 1.3.14/lib/WikiDB/ADODB.php
--- 1.3.12p3/lib/WikiDB/ADODB.php	2006-06-18 06:19:26.000000000 -0500
+++ 1.3.14/lib/WikiDB/ADODB.php	2007-07-01 05:11:09.000000000 -0500
@@ -1,5 +1,5 @@
 <?php // -*-php-*-
-rcs_id('$Id: ADODB.php,v 1.13 2005/10/30 15:49:00 rurban Exp $');
+rcs_id('$Id: ADODB.php,v 1.14 2007/01/04 16:41:14 rurban Exp $');
 
 require_once('lib/WikiDB.php');
 
@@ -34,6 +34,7 @@
         include_once("lib/WikiDB/backend/".$backend.".php");
         $backend_class = "WikiDB_backend_".$backend;
         $backend = new $backend_class($dbparams);
+	if (!$backend->_dbh->_connectionID) return false;
         $this->WikiDB($backend, $dbparams);
     }
     
diff -ruN 1.3.12p3/lib/WikiDB/backend/ADODB_mssql.php 1.3.14/lib/WikiDB/backend/ADODB_mssql.php
--- 1.3.12p3/lib/WikiDB/backend/ADODB_mssql.php	2006-06-18 06:19:26.000000000 -0500
+++ 1.3.14/lib/WikiDB/backend/ADODB_mssql.php	2007-07-01 05:11:09.000000000 -0500
@@ -1,5 +1,5 @@
 <?php // -*-php-*-
-rcs_id('$Id: ADODB_mssql.php,v 1.1 2004/10/12 13:50:56 rurban Exp $');
+rcs_id('$Id: ADODB_mssql.php,v 1.2 2005/10/10 19:42:15 rurban Exp $');
 
 /**
  * MS SQL extensions for the ADODB DB backend.
@@ -26,7 +26,6 @@
         //$this->_expressions['iscontent'] = "content NOT LIKE ''";
 
         $this->_prefix = isset($dbparams['prefix']) ? $dbparams['prefix'] : '';
-
     }
     
     /**
diff -ruN 1.3.12p3/lib/WikiDB/backend/ADODB_mysql.php 1.3.14/lib/WikiDB/backend/ADODB_mysql.php
--- 1.3.12p3/lib/WikiDB/backend/ADODB_mysql.php	2006-06-18 06:19:26.000000000 -0500
+++ 1.3.14/lib/WikiDB/backend/ADODB_mysql.php	2007-07-01 05:11:09.000000000 -0500
@@ -1,11 +1,13 @@
 <?php // -*-php-*-
-rcs_id('$Id: ADODB_mysql.php,v 1.15 2005/04/10 10:43:25 rurban Exp $');
+rcs_id('$Id: ADODB_mysql.php,v 1.18 2007/01/04 16:57:32 rurban Exp $');
 
 require_once('lib/WikiDB/backend/ADODB.php');
 
 /*
  * PROBLEM: mysql seems to be the simpliest (or most stupid) db on earth. 
  * (tested with 4.0.18)
+ * See http://sql-info.de/mysql/gotchas.html for mysql specific quirks.
+ *
  * Whenever a table is write-locked, you cannot even write to other unrelated 
  * tables. So it seems that we have to lock all tables!
  * As workaround we try it with application locks, uniquely named locks, 
@@ -17,7 +19,7 @@
 
 /**
  * WikiDB layer for ADODB-mysql, called by lib/WikiDB/ADODB.php.
- * Now with support for the newer adodb library, the adodb extension library 
+ * Now with support for the newer ADODB library, the ADODB extension library 
  * and more database drivers.
  * To use transactions use the mysqlt driver: "mysqlt:..."
  * 
@@ -31,7 +33,8 @@
      */
     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']);
@@ -89,12 +92,12 @@
     }
 
     /**
-     * Lock tables. As fine-grained application lock, which locks only the same transaction
-     * (conflicting updates and edits), and as full table write lock.
+     * Lock tables. As fine-grained application lock, which locks only the 
+     * same transaction (conflicting updates and edits), and as full table 
+     * write lock.
      *
      * New: which tables as params,
      *      support nested locks via app locks
-     *
      */
     function _lock_tables($tables, $write_lock = true) {
     	if (!$tables) return;
@@ -162,6 +165,9 @@
             }
         }
         
+	// attributes play this game.
+        if ($pagename === '') return 0;
+
         $dbh = &$this->_dbh;
         $page_tbl = $this->_table_names['page_tbl'];
         $query = sprintf("SELECT id FROM $page_tbl WHERE pagename=%s",
@@ -232,4 +238,4 @@
 // c-hanging-comment-ender-p: nil
 // indent-tabs-mode: nil
 // End:   
-?>
\ No newline at end of file
+?>
diff -ruN 1.3.12p3/lib/WikiDB/backend/ADODB_oci8po.php 1.3.14/lib/WikiDB/backend/ADODB_oci8po.php
--- 1.3.12p3/lib/WikiDB/backend/ADODB_oci8po.php	2006-06-18 06:19:26.000000000 -0500
+++ 1.3.14/lib/WikiDB/backend/ADODB_oci8po.php	2007-07-01 05:11:09.000000000 -0500
@@ -1,5 +1,5 @@
 <?php // -*-php-*-
-rcs_id('$Id: ADODB_oci8po.php,v 1.4 2005/11/14 22:24:33 rurban Exp $');
+rcs_id('$Id: ADODB_oci8po.php,v 1.5 2007/01/28 22:49:55 rurban Exp $');
 
 /**
  * Oracle extensions for the ADODB DB backend.
@@ -120,6 +120,32 @@
         return unserialize($this->_dbh->BlobDecode($data));
     }
 
+    function write_accesslog(&$entry) {
+        global $request;
+        $dbh = &$this->_dbh;
+        $log_tbl = $entry->_accesslog->logtable;
+        $dbh->query("INSERT INTO $log_tbl"
+                    . " (time_stamp,remote_host,remote_user,request_method,request_line,request_uri,"
+                    .   "request_args,request_time,status,bytes_sent,referer,agent,request_duration)"
+                    . " VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?)",
+                    array(
+                          // Problem: date formats are backend specific. Either use unixtime as %d (long),
+                          // or the native timestamp format.
+                          date('d-M-Y H:i:s', $entry->time),
+                          $entry->host, 
+                          $entry->user,
+                          $entry->request_method, 
+                          $entry->request, 
+                          $entry->request_uri,    
+                          $entry->request_args,
+                          $entry->_ncsa_time($entry->time), 
+                          $entry->status, 
+                          $entry->size,
+                          $entry->referer,
+                          $entry->user_agent,
+                          $entry->duration));
+    }
+
 };
 
 class WikiDB_backend_ADODB_oci8_search
diff -ruN 1.3.12p3/lib/WikiDB/backend/ADODB.php 1.3.14/lib/WikiDB/backend/ADODB.php
--- 1.3.12p3/lib/WikiDB/backend/ADODB.php	2006-06-18 06:19:26.000000000 -0500
+++ 1.3.14/lib/WikiDB/backend/ADODB.php	2007-07-01 05:11:09.000000000 -0500
@@ -1,5 +1,5 @@
 <?php // -*-php-*-
-rcs_id('$Id: ADODB.php,v 1.78 2005/09/14 06:04:43 rurban Exp $');
+rcs_id('$Id: ADODB.php,v 1.99 2007/06/07 21:37:39 rurban Exp $');
 
 /*
  Copyright 2002,2004,2005,2006 $ThePhpWikiProgrammingTeam
@@ -86,12 +86,15 @@
         $this->_dsn = $parsed;
         // persistent is defined as DSN option, or with a config value.
         //   phptype://username:password@hostspec/database?persistent=false
+
+	//FIXME: how to catch connection errors for dbamin_user?
         if (!empty($parsed['persistent']) or DATABASE_PERSISTENT)
             $conn = $this->_dbh->PConnect($parsed['hostspec'],$parsed['username'], 
                                           $parsed['password'], $parsed['database']);
         else
             $conn = $this->_dbh->Connect($parsed['hostspec'],$parsed['username'], 
                                          $parsed['password'], $parsed['database']);
+	if (!$conn) return;
 
         // Since 1.3.10 we use the faster ADODB_FETCH_NUM,
         // with some ASSOC based recordsets.
@@ -285,7 +288,9 @@
                 return $cache[$pagename];
             }
         }
-        
+	// attributes play this game.
+        if ($pagename === '') return 0;
+
         $dbh = &$this->_dbh;
         $page_tbl = $this->_table_names['page_tbl'];
         $query = sprintf("SELECT id FROM $page_tbl WHERE pagename=%s",
@@ -296,14 +301,18 @@
         }
         $row = $dbh->GetRow($query);
         if (! $row ) {
-	    //$id = $dbh->GenID($page_tbl . 'seq');
-	    // Better generic version than with adodob::genID
 	    //TODO: Does the DBM has subselects? Then we can do it with select max(id)+1
 	    // $this->lock(array('page'));
 	    $dbh->BeginTrans( );
 	    $dbh->CommitLock($page_tbl);
-	    $row = $dbh->GetRow("SELECT MAX(id) FROM $page_tbl");
-	    $id = $row[0] + 1;
+            if (0 and $dbh->hasGenID) {
+            	// requires create permissions
+                $id = $dbh->GenID($page_tbl."_id");
+            } else {
+                // Better generic version than with adodb::genID
+                $row = $dbh->GetRow("SELECT MAX(id) FROM $page_tbl");
+                $id = $row[0] + 1;
+            }
 	    $rs = $dbh->Execute(sprintf("INSERT INTO $page_tbl"
 					. " (id,pagename,hits)"
 					. " VALUES (%d,%s,0)",
@@ -536,9 +545,9 @@
         
         $this->lock(array('version','recent','nonempty','page','link'));
         if ( ($id = $this->_get_pageid($pagename, false)) ) {
-            $dbh->Execute("DELETE FROM $version_tbl  WHERE id=$id");
-            $dbh->Execute("DELETE FROM $recent_tbl   WHERE id=$id");
             $dbh->Execute("DELETE FROM $nonempty_tbl WHERE id=$id");
+            $dbh->Execute("DELETE FROM $recent_tbl   WHERE id=$id");
+            $dbh->Execute("DELETE FROM $version_tbl  WHERE id=$id");
             $this->set_links($pagename, false);
             $row = $dbh->GetRow("SELECT COUNT(*) FROM $link_tbl WHERE linkto=$id");
             if ($row and $row[0]) {
@@ -565,8 +574,11 @@
     //function update_versiondata($pagename, $version, $data) {
     //}
 
+    /* 
+     * Update link table.
+     * on DEBUG: delete old, deleted links from page
+     */
     function set_links($pagename, $links) {
-        // Update link table.
         // FIXME: optimize: mysql can do this all in one big INSERT/REPLACE.
 
         $dbh = &$this->_dbh;
@@ -575,35 +587,151 @@
         $this->lock(array('link'));
         $pageid = $this->_get_pageid($pagename, true);
 
-        if (1 or $links) {
-            $dbh->Execute("DELETE FROM $link_tbl WHERE linkfrom=$pageid");
+        $oldlinks = $dbh->getAssoc("SELECT $link_tbl.linkto as id, page.pagename FROM $link_tbl"
+                                  ." JOIN page ON ($link_tbl.linkto = page.id)"
+                                  ." WHERE linkfrom=$pageid");
+        // Delete current links,
+        $dbh->Execute("DELETE FROM $link_tbl WHERE linkfrom=$pageid");
+        // and insert new links. Faster than checking for all single links
+        if ($links) {
             foreach ($links as $link) {
-                if (isset($linkseen[$link]))
+                $linkto = $link['linkto'];
+                if ($link['relation'])
+                    $relation = $this->_get_pageid($link['relation'], true);
+                else 
+                    $relation = 0;
+                if ($linkto === "") { // ignore attributes
                     continue;
-                $linkseen[$link] = true;
-                $linkid = $this->_get_pageid($link, true);
+                }
+                // avoid duplicates
+                if (isset($linkseen[$linkto]) and !$relation) {
+                    continue;
+                }
+                if (!$relation) {
+                    $linkseen[$linkto] = true;
+                }
+                $linkid = $this->_get_pageid($linkto, true);
                 assert($linkid);
-                $dbh->Execute("INSERT INTO $link_tbl (linkfrom, linkto)"
-                            . " VALUES ($pageid, $linkid)");
+                if ($relation) {
+                    $dbh->Execute("INSERT INTO $link_tbl (linkfrom, linkto, relation)"
+                                  . " VALUES ($pageid, $linkid, $relation)");
+                } else {              
+                    $dbh->Execute("INSERT INTO $link_tbl (linkfrom, linkto)"
+                                  . " VALUES ($pageid, $linkid)");
+                }
+                if ($oldlinks and array_key_exists($linkid, $oldlinks)) {
+                    // This was also in the previous page
+                    unset($oldlinks[$linkid]); 
+                }
             }
-        } elseif (0 and DEBUG) {
-            // purge page table: delete all non-referenced pages
-            // for all previously linked pages...
-            foreach ($dbh->getRow("SELECT $link_tbl.linkto as id FROM $link_tbl".
-                                  " WHERE linkfrom=$pageid") as $id) {
-            	// ...check if the page is empty and has no version
-                //FIXME: ISNULL is mysql specific
-                if ($dbh->getRow("SELECT $page_tbl.id FROM $page_tbl"
-                                 . " LEFT JOIN $nonempty_tbl USING (id) "
-                                 . " LEFT JOIN $version_tbl USING (id)"
-                                 . " WHERE $nonempty_tbl.id is NULL"
-                                 . " AND $version_tbl.id is NULL"
-                                 . " AND $page_tbl.id=$id")) {
-                    $dbh->Execute("DELETE FROM $page_tbl WHERE id=$id");   // this purges the link
+        }
+        // purge page table: delete all non-referenced pages
+        // for all previously linked pages, which have no other linkto links
+        if (DEBUG and $oldlinks) {
+            // trigger_error("purge page table: delete all non-referenced pages...", E_USER_NOTICE);
+            foreach ($oldlinks as $id => $name) {
+                // ...check if the page is empty and has no version
+                $result = $dbh->getRow("SELECT $page_tbl.id FROM $page_tbl"
+                                     . " LEFT JOIN $nonempty_tbl USING (id) "
+                                     . " LEFT JOIN $version_tbl USING (id)"
+                                     . " WHERE $nonempty_tbl.id is NULL"
+                                     . " AND $version_tbl.id is NULL"
+                                     . " AND $page_tbl.id=$id");
+                $linkto = $dbh->getRow("SELECT linkfrom FROM $link_tbl WHERE linkto=$id");
+                if ($result and empty($linkto))
+                {
+                    trigger_error("delete empty and non-referenced link $name ($id)", E_USER_NOTICE);
                     $dbh->Execute("DELETE FROM $recent_tbl WHERE id=$id"); // may fail
+        	    $dbh->Execute("DELETE FROM $link_tbl WHERE linkto=$id");
+                    $dbh->Execute("DELETE FROM $page_tbl WHERE id=$id");   // this purges the link
+                }
+            }
+        }
+        $this->unlock(array('link'));
+        return true;
+    }
+
+    /* get all oldlinks in hash => id, relation
+       check for all new links
+     */
+    function set_links1($pagename, $links) {
+
+        $dbh = &$this->_dbh;
+        extract($this->_table_names);
+
+        $this->lock(array('link'));
+        $pageid = $this->_get_pageid($pagename, true);
+
+        $oldlinks = $dbh->getAssoc("SELECT $link_tbl.linkto as linkto, $link_tbl.relation, page.pagename"
+                                  ." FROM $link_tbl"
+                                  ." JOIN page ON ($link_tbl.linkto = page.id)"
+                                  ." WHERE linkfrom=$pageid");
+        /*      old                  new
+         *      X => [1,0 2,0 1,1]   X => [1,1 3,0]
+         * => delete 1,0 2,0 + insert 3,0
+         */
+        if ($links) {
+            foreach ($links as $link) {
+                $linkto = $link['linkto'];
+                if ($link['relation'])
+                    $relation = $this->_get_pageid($link['relation'], true);
+                else 
+                    $relation = 0;
+                // avoid duplicates
+                if (isset($linkseen[$linkto]) and !$relation) {
+                    continue;
+                }
+                if (!$relation) {
+                    $linkseen[$linkto] = true;
+                }
+                $linkid = $this->_get_pageid($linkto, true);
+                assert($linkid);
+                $skip = 0;
+                // find linkfrom,linkto,relation triple in oldlinks
+                foreach ($oldlinks as $l) {
+                    if ($relation) { // relation NOT NULL
+                        if ($l['linkto'] == $linkid and $l['relation'] == $relation) {
+                            // found and skip
+                            $skip = 1;
+                        }
+                    }
+                }
+                if (! $skip ) {
+                    if ($update) {
+                    }
+                    if ($relation) {
+                        $dbh->Execute("INSERT INTO $link_tbl (linkfrom, linkto, relation)"
+                                      . " VALUES ($pageid, $linkid, $relation)");
+                    } else {              
+                        $dbh->Execute("INSERT INTO $link_tbl (linkfrom, linkto)"
+                                      . " VALUES ($pageid, $linkid)");
+                    }
+                }
+
+                if (array_key_exists($linkid, $oldlinks)) {
+                    // This was also in the previous page
+                    unset($oldlinks[$linkid]); 
+                }
+            }
+        }
+        // purge page table: delete all non-referenced pages
+        // for all previously linked pages...
+        if (DEBUG and $oldlinks) {
+            // trigger_error("purge page table: delete all non-referenced pages...", E_USER_NOTICE);
+            foreach ($oldlinks as $id => $name) {
+                // ...check if the page is empty and has no version
+                if ($dbh->getRow("SELECT $page_tbl.id FROM $page_tbl"
+                                     . " LEFT JOIN $nonempty_tbl USING (id) "
+                                     . " LEFT JOIN $version_tbl USING (id)"
+                                     . " WHERE $nonempty_tbl.id is NULL"
+                                     . " AND $version_tbl.id is NULL"
+                                     . " AND $page_tbl.id=$id")) 
+                {
+                        trigger_error("delete empty and non-referenced link $name ($id)", E_USER_NOTICE);
+                        $dbh->Execute("DELETE FROM $page_tbl WHERE id=$id");   // this purges the link
+                        $dbh->Execute("DELETE FROM $recent_tbl WHERE id=$id"); // may fail
                 }
             }
-            $dbh->Execute("DELETE FROM $link_tbl WHERE linkfrom=$pageid");
         }
         $this->unlock(array('link'));
         return true;
@@ -614,10 +742,17 @@
      *
      * Optimization: save request->_dbi->_iwpcache[] to avoid further iswikipage checks
      * (linkExistingWikiWord or linkUnknownWikiWord)
-     * This is called on every page header GleanDescription, so we can store all the existing links.
-     */
-    function get_links($pagename, $reversed=true, $include_empty=false,
-                       $sortby=false, $limit=false, $exclude='') {
+     * This is called on every page header GleanDescription, so we can store all the 
+     * existing links.
+     * 
+     * relations: $backend->get_links is responsible to add the relation to the pagehash 
+     * as 'linkrelation' key as pagename. See WikiDB_PageIterator::next 
+     *   if (isset($next['linkrelation']))
+     */
+    function get_links($pagename, $reversed=true,   $include_empty=false,
+                       $sortby='', $limit='', $exclude='',
+                       $want_relations = false)
+    {
         $dbh = &$this->_dbh;
         extract($this->_table_names);
 
@@ -634,15 +769,23 @@
 
         $qpagename = $dbh->qstr($pagename);
         // removed ref to FETCH_MODE in next line
-        $sql = "SELECT $want.id AS id, $want.pagename AS pagename"
-            . " FROM $link_tbl, $page_tbl linker, $page_tbl linkee"
-            . (!$include_empty ? ", $nonempty_tbl" : '')
+        $sql = "SELECT $want.id AS id, $want.pagename AS pagename, "
+            . ($want_relations ? " related.pagename as linkrelation" : " $want.hits AS hits")
+            . " FROM "
+            . (!$include_empty ? "$nonempty_tbl, " : '')
+            . " $page_tbl linkee, $page_tbl linker, $link_tbl "
+            . ($want_relations ? " JOIN $page_tbl related ON ($link_tbl.relation=related.id)" : '')
             . " WHERE linkfrom=linker.id AND linkto=linkee.id"
             . " AND $have.pagename=$qpagename"
             . (!$include_empty ? " AND $nonempty_tbl.id=$want.id" : "")
             //. " GROUP BY $want.id"
             . $exclude
             . $orderby;
+/*
+  echo "SELECT linkee.id AS id, linkee.pagename AS pagename, related.pagename as linkrelation FROM link, page linkee, page linker JOIN page related ON (link.relation=related.id) WHERE linkfrom=linker.id AND linkto=linkee.id AND linker.pagename='SanDiego'" | mysql phpwiki
+id      pagename        linkrelation
+2268    California      located_in
+*/            
         if ($limit) {
             // extract from,count from limit
             list($offset,$count) = $this->limit($limit);
@@ -650,7 +793,10 @@
         } else {
             $result = $dbh->Execute($sql);
         }
-        return new WikiDB_backend_ADODB_iter($this, $result, $this->links_field_list);
+        $fields = $this->links_field_list;
+        if ($want_relations) // instead of hits
+            $fields[2] = 'linkrelation';
+        return new WikiDB_backend_ADODB_iter($this, $result, $fields);
     }
 
     /**
@@ -666,7 +812,7 @@
             list($have, $want) = array('linker', 'linkee');
         $qpagename = $dbh->qstr($pagename);
         $qlink = $dbh->qstr($link);
-        $row = $dbh->GetRow("SELECT IF($want.pagename,1,0)"
+        $row = $dbh->GetRow("SELECT CASE WHEN $want.pagename=$qlink THEN 1 ELSE 0 END"
                             . " FROM $link_tbl, $page_tbl linker, $page_tbl linkee, $nonempty_tbl"
                             . " WHERE linkfrom=linker.id AND linkto=linkee.id"
                             . " AND $have.pagename=$qpagename"
@@ -677,7 +823,7 @@
     /*
      * 
      */
-    function get_all_pages($include_empty=false, $sortby=false, $limit=false, $exclude='') {
+    function get_all_pages($include_empty=false, $sortby='', $limit='', $exclude='') {
         $dbh = &$this->_dbh;
         extract($this->_table_names);
         $orderby = $this->sortby($sortby, 'db');
@@ -739,7 +885,7 @@
      * Title and fulltext search.
      */
     function text_search($search, $fullsearch=false, 
-                         $sortby=false, $limit=false, $exclude=false) 
+                         $sortby='', $limit='', $exclude='') 
     {
         $dbh = &$this->_dbh;
         extract($this->_table_names);
@@ -802,7 +948,7 @@
     /**
      * Find highest or lowest hit counts.
      */
-    function most_popular ($limit=20, $sortby='-hits') {
+    function most_popular($limit=20, $sortby='-hits') {
         $dbh = &$this->_dbh;
         extract($this->_table_names);
         $order = "DESC";
@@ -914,7 +1060,7 @@
     /**
      * Find referenced empty pages.
      */
-    function wanted_pages($exclude_from='', $exclude='', $sortby=false, $limit=false) {
+    function wanted_pages($exclude_from='', $exclude='', $sortby='', $limit='') {
         $dbh = &$this->_dbh;
         extract($this->_table_names);
         if ($orderby = $this->sortby($sortby, 'db', array('pagename','wantedfrom')))
@@ -934,11 +1080,11 @@
               where nonempty.id is null and linked.id=link.linkfrom;  
         */
         $sql = "SELECT p.pagename, pp.pagename as wantedfrom"
-            . " FROM $page_tbl p JOIN $link_tbl linked "
-            . " LEFT JOIN $page_tbl pp ON linked.linkto = pp.id"
-            . " LEFT JOIN $nonempty_tbl ne ON linked.linkto = ne.id" 
+            . " FROM $page_tbl p, $link_tbl linked"
+            .   " LEFT JOIN $page_tbl pp ON (linked.linkto = pp.id)"
+            .   " LEFT JOIN $nonempty_tbl ne ON (linked.linkto = ne.id)" 
             . " WHERE ne.id is NULL"
-            .       " AND p.id = linked.linkfrom"
+            .       " AND (p.id = linked.linkfrom)"
             . $exclude_from
             . $exclude
             . $orderby;
@@ -1068,7 +1214,6 @@
      */
     function unlock($tables = false, $force = false) {
         if ($this->_lock_count == 0) {
-            $this->_dbh->CompleteTrans(! $force);
             $this->_current_lock = false;
             return;
         }
@@ -1197,6 +1342,13 @@
         return $rec_assoc;
     }
 
+    function asArray () {
+    	$result = array();
+    	while ($page = $this->next())
+    	    $result[] = $page;
+        return $result;
+    }
+
     function free () {
         if ($this->_result) {
             /* call mysql_free_result($this->_queryID) */
@@ -1230,6 +1382,9 @@
         if (!empty($rec_assoc['version'])) {
             $rec_assoc['versiondata'] = $backend->_extract_version_data_assoc($rec_assoc);
         }
+        if (!empty($rec_assoc['linkrelation'])) {
+            $rec_assoc['linkrelation'] = $rec_assoc['linkrelation']; // pagename enough?
+        }
         return $rec_assoc;
     }
 }
@@ -1400,19 +1555,74 @@
     }
 
 // $Log: ADODB.php,v $
+// Revision 1.99  2007/06/07 21:37:39  rurban
+// add native asArray methods to generic iters (for DebugInfo)
+//
+// Revision 1.98  2007/05/28 20:13:46  rurban
+// Overwrite all attributes at once at page->save to delete dangling meta
+//
+// Revision 1.97  2007/01/28 22:53:23  rurban
+// protect against $oldlinks warning
+//
+// Revision 1.96  2007/01/21 23:28:32  rurban
+// Disable hasGenID. requires CREATE perms
+//
+// Revision 1.95  2007/01/04 16:57:32  rurban
+// Clarify API: sortby,limit and exclude are strings. fix upgrade test connection
+//
+// Revision 1.94  2006/12/23 11:44:56  rurban
+// deal with strict references and the order of deletion
+//
+// Revision 1.93  2006/12/03 16:25:20  rurban
+// remove closing Smart ROLLBACK, cannot be forced if never started.
+// remove postgresql user VACUUM, autovacumm must do that. (can be easily
+// enabled)
+//
+// Revision 1.92  2006/12/02 21:57:27  rurban
+// fix WantedPages SQL: no JOIN
+// clarify first condition in CASE WHEN
+//
+// Revision 1.91  2006/11/19 14:03:32  rurban
+// Replace IF by CASE in exists_link()
+//
+// Revision 1.90  2006/09/06 05:50:19  rurban
+// please XEmacs font-lock
+//
+// Revision 1.89  2006/06/10 11:59:46  rurban
+// purge empty, non-references pages when link is deleted
+//
 // Revision 1.88  2006/05/14 12:28:03  rurban
 // mysql 5.x fix for wantedpages join
 //
-// Revision 1.82  2005/10/31 16:48:22  rurban
-// move mysql-specifics into its special class
+// Revision 1.87  2006/04/17 17:28:21  rurban
+// honor getWikiPageLinks change linkto=>relation
+//
+// Revision 1.86  2006/04/17 10:02:44  rurban
+// fix syntax error missing }
+//
+// Revision 1.85  2006/04/15 12:48:04  rurban
+// use genID, dont lock here
 //
+// Revision 1.84  2006/02/22 21:49:50  rurban
+// Remove hits from links query
+// force old set_links method. need to test IS NULL
+//
+// Revision 1.83  2005/11/14 22:24:33  rurban
+// fix fulltext search,
 // Eliminate stoplist words,
 // don't extract %pagedate twice in ADODB,
-// fix fulltext search,
+// add SemanticWeb support: link(relation),
+// major postgresql update: stored procedures, tsearch2 for fulltext
+//
+// Revision 1.82  2005/10/31 16:48:22  rurban
+// move mysql-specifics into its special class
 //
 // Revision 1.81  2005/10/10 19:42:14  rurban
 // fix wanted_pages SQL syntax
 //
+// Revision 1.80  2005/09/28 19:26:05  rurban
+// working on improved postgresql support: better quoting, bytea support
+//
 // Revision 1.79  2005/09/28 19:08:41  rurban
 // dont use LIMIT on modifying queries
 //
@@ -1668,4 +1878,4 @@
 // c-hanging-comment-ender-p: nil
 // indent-tabs-mode: nil
 // End:   
-?>
\ No newline at end of file
+?>
diff -ruN 1.3.12p3/lib/WikiDB/backend/ADODB_postgres7.php 1.3.14/lib/WikiDB/backend/ADODB_postgres7.php
--- 1.3.12p3/lib/WikiDB/backend/ADODB_postgres7.php	2006-06-18 06:19:26.000000000 -0500
+++ 1.3.14/lib/WikiDB/backend/ADODB_postgres7.php	2007-07-01 05:11:09.000000000 -0500
@@ -1,5 +1,5 @@
 <?php // -*-php-*-
-rcs_id('$Id: ADODB_postgres7.php,v 1.3 2005/10/31 16:49:02 rurban Exp $');
+rcs_id('$Id: ADODB_postgres7.php,v 1.8 2007/01/04 16:41:14 rurban Exp $');
 
 require_once('lib/WikiDB/backend/ADODB.php');
 
@@ -9,10 +9,9 @@
 
 /**
  * WikiDB layer for ADODB-postgres (7 or 8), called by lib/WikiDB/ADODB.php.
- * Pending changes from CVS HEAD:
+ * Changes 1.3.12: 
  *  - use Foreign Keys and ON DELETE CASCADE.
  *  - bytea blob type
- *  - tsearch2
  * 
  * @author: Reini Urban
  */
@@ -24,6 +23,7 @@
      */
     function WikiDB_backend_ADODB_postgres7($dbparams) {
         $this->WikiDB_backend_ADODB($dbparams);
+        if (!$this->_dbh->_connectionID) return;
 
         $this->_serverinfo = $this->_dbh->ServerInfo();
         if (!empty($this->_serverinfo['version'])) {
@@ -36,8 +36,11 @@
 
     /**
      * Pack tables.
+     * NOTE: Only the table owner can do this. Either fix the schema or setup autovacuum.
      */
     function optimize() {
+        return 0; 	// if the wikiuser is not the table owner
+
         foreach ($this->_table_names as $table) {
             $this->_dbh->Execute("VACUUM ANALYZE $table");
         }
diff -ruN 1.3.12p3/lib/WikiDB/backend/ADODB_sqlite.php 1.3.14/lib/WikiDB/backend/ADODB_sqlite.php
--- 1.3.12p3/lib/WikiDB/backend/ADODB_sqlite.php	2006-06-18 06:19:26.000000000 -0500
+++ 1.3.14/lib/WikiDB/backend/ADODB_sqlite.php	2007-07-01 05:11:09.000000000 -0500
@@ -1,5 +1,5 @@
 <?php // -*-php-*-
-rcs_id('$Id: ADODB_sqlite.php,v 1.2 2004/07/05 13:56:23 rurban Exp $');
+rcs_id('$Id: ADODB_sqlite.php,v 1.5 2007/01/04 16:57:32 rurban Exp $');
 
 require_once('lib/WikiDB/backend/ADODB.php');
 
@@ -20,8 +20,9 @@
         if (! file_exists($parsed['database'])) {
             // creating the empty database
             $db = $parsed['database'];
-            $schema = FindFile("schemas/sqlite.sql");
+            $schema = FindFile("schemas/sqlite-initialize.sql");
             `sqlite $db < $schema`;
+            `echo "CREATE USER wikiuser" | sqlite $db`;
         }
         $this->WikiDB_backend_ADODB($dbparams);
     }
@@ -35,6 +36,9 @@
             $row = $dbh->GetRow($query);
             return $row ? $row[0] : false;
         }
+	// attributes play this game.
+        if ($pagename === '') return 0;
+
         $row = $dbh->GetRow($query);
         if (! $row ) {
             // atomic version 	
diff -ruN 1.3.12p3/lib/WikiDB/backend/cvs.php 1.3.14/lib/WikiDB/backend/cvs.php
--- 1.3.12p3/lib/WikiDB/backend/cvs.php	2006-06-18 06:19:27.000000000 -0500
+++ 1.3.14/lib/WikiDB/backend/cvs.php	2007-07-01 05:11:09.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-rcs_id('$Id: cvs.php,v 1.26 2005/11/14 22:24:33 rurban Exp $');
+rcs_id('$Id: cvs.php,v 1.27 2007/01/04 16:45:49 rurban Exp $');
 /**
  * Backend for handling CVS repository. 
  *
@@ -388,7 +388,7 @@
     }
 
     function get_links($pagename, $reversed=true, $include_empty=false,
-                       $sortby=false, $limit=false, $exclude=false)
+                       $sortby='', $limit='', $exclude='')
     {
         // TODO: ignores the $reversed argument and returns
         // TODO: the value of _links_ attribute of the meta information
@@ -406,14 +406,14 @@
         return new WikiDB_backend_dumb_AllRevisionsIter($this, $pagename);
     } */
 
-    function get_all_pages($include_empty=false, $sortby=false, $limit=false) 
+    function get_all_pages($include_empty=false, $sortby='', $limit='') 
     {
         // FIXME: this ignores the parameters.
         return new Cvs_Backend_Array_Iterator(
                               $this->_getAllFileNamesInDir( $this->_docDir ));
     }
 
-    function text_search($search, $fullsearch = false, $orderby=false, $limit=false, $exclude=false) 
+    function text_search($search, $fullsearch = false, $orderby=false, $limit='', $exclude='') 
     {
         if ( $fullsearch ) {
             $iter = new Cvs_Backend_Full_Search_Iterator(
diff -ruN 1.3.12p3/lib/WikiDB/backend/dbaBase.php 1.3.14/lib/WikiDB/backend/dbaBase.php
--- 1.3.12p3/lib/WikiDB/backend/dbaBase.php	2006-06-18 06:19:27.000000000 -0500
+++ 1.3.14/lib/WikiDB/backend/dbaBase.php	2007-07-01 05:11:09.000000000 -0500
@@ -1,4 +1,5 @@
-<?php rcs_id('$Id: dbaBase.php,v 1.23 2005/09/11 13:21:45 rurban Exp $');
+<?php // -*-php-*-
+rcs_id('$Id: dbaBase.php,v 1.29 2007/05/24 18:39:10 rurban Exp $');
 
 require_once('lib/WikiDB/backend.php');
 
@@ -72,6 +73,8 @@
     }
 
     function rebuild() {
+    	parent::rebuild();
+    	// rebuild backlink table
         $this->_linkdb->rebuild();
         $this->optimize();
     }
@@ -229,7 +232,7 @@
         $pagedb->set($pagename, (int)$latest . ':' . (int)$flags . ":$pagedata");
     }
 
-    function numPages($include_empty=false, $exclude=false) {
+    function numPages($include_empty=false, $exclude='') {
         $pagedb = &$this->_pagedb;
         $count = 0;
         for ($page = $pagedb->firstkey(); $page!== false; $page = $pagedb->nextkey()) {
@@ -250,16 +253,22 @@
         return $count;
     }
 
-    function get_all_pages($include_empty=false, $sortby=false, $limit=false, $exclude=false) {
+    function get_all_pages($include_empty=false, $sortby='', $limit='', $exclude='') {
         $pagedb = &$this->_pagedb;
         $pages = array();
+        if ($limit) // extract from,count from limit
+            list($from,$count) = $this->limit($limit);
         for ($page = $pagedb->firstkey(); $page!== false; $page = $pagedb->nextkey()) {
             if (!$page) {
                 assert(!empty($page));
                 continue;
             }
             if ($exclude and in_array($page, $exclude)) continue; 
-            if ($limit and count($pages) > $limit) break;
+            if ($limit and $from) {
+		$i++;
+		if ($i < $from) continue;
+	    }
+            if ($limit and count($pages) > $count) break;
             if (!$include_empty) {
             	if (!($data = $pagedb->get($page))) continue;
                 list($latestversion,$flags,) = explode(':', $data, 3);
@@ -270,8 +279,8 @@
             $pages[] = $page;
         }
         return new WikiDB_backend_dbaBase_pageiter($this, $pages, 
-                                                   array('sortby'=>$sortby,
-                                                         'limit' =>$limit));
+                                                   array('sortby'=>$sortby/*,
+                                                         'limit' =>$limit*/));
     }
 
     function set_links($pagename, $links) {
@@ -279,13 +288,214 @@
     }
 
     function get_links($pagename, $reversed=true, $include_empty=false,
-                       $sortby=false, $limit=false, $exclude=false) {
-        $links = $this->_linkdb->get_links($pagename, $reversed);
-        return new WikiDB_backend_dbaBase_pageiter($this, $links, 
-                                                   array('sortby'=>$sortby,
-                                                         'limit' =>$limit,
-                                                         'exclude'=>$exclude,
-                                                         ));
+                       $sortby='', $limit='', $exclude='',
+                       $want_relations=false) 
+    {
+    	// optimization: if no relation at all is found, mark it in the iterator.
+        $links = $this->_linkdb->get_links($pagename, $reversed, $want_relations);
+
+        return new WikiDB_backend_dbaBase_pageiter
+	    ($this, $links, 
+	     array('sortby'=>$sortby,
+		   'limit' =>$limit,
+		   'exclude'=>$exclude,
+		   'want_relations'=>$want_relations,
+		   'found_relations' => $want_relations ? $this->_linkdb->found_relations : 0
+		   ));
+    }
+    
+    /**
+     * @access public
+     *
+     * @return array of all linkrelations
+     * Faster than the dumb WikiDB method.
+     */
+    function list_relations($also_attributes=false, $only_attributes=false, $sorted=true) {
+        $linkdb = &$this->_linkdb;
+        $relations = array();
+        for ($link = $linkdb->_db->firstkey(); $link!== false; $link = $linkdb->_db->nextkey()) {
+            if ($link[0] != 'o') continue;	
+            $links = $linkdb->_get_links('o', substr($link,1));
+            foreach ($links as $link) { // linkto => page, linkrelation => page
+                if (is_array($link)
+                    and $link['relation'] 
+                    and !in_array($link['relation'], $relations)) 
+		{
+		    $is_attribute = empty($link['linkto']); // a relation has both
+		    if ($is_attribute) {
+			if ($only_attributes or $also_attributes)
+			    $relations[] = $link['relation'];
+		    } elseif (!$only_attributes) {
+			  $relations[] = $link['relation'];
+		    }
+		}
+            }
+        }
+	if ($sorted) {
+	    sort($relations);
+	    reset($relations);
+	}
+        return $relations;
+    }
+
+    /**
+     * WikiDB_backend_dumb_LinkSearchIter searches over all pages and then all its links.
+     * Since there are less links than pages, and we easily get the pagename from the link key,
+     * we iterate here directly over the linkdb and check the pagematch there.
+     *
+     * @param $pages     object A TextSearchQuery object for the pagename filter.
+     * @param $query     object A SearchQuery object (Text or Numeric) for the linkvalues, 
+     *                          linkto, linkfrom (=backlink), relation or attribute values.
+     * @param $linktype  string One of the 4 linktypes "linkto", "linkfrom" (=backlink), "relation" or "attribute".
+     * 				Maybe also "relation+attribute" for the advanced search.
+     * @param $relation  object A TextSearchQuery for the linkname or false.
+     * @param $options   array Currently ignored. hash of sortby, limit, exclude.
+     * @return object A WikiDB_backend_iterator.
+     * @see WikiDB::linkSearch
+     */
+    function link_search( $pages, $query, $linktype, $relation=false, $options=array() ) {
+        $linkdb = &$this->_linkdb;
+        $links = array();
+	$reverse = false;
+	$want_relations = false;
+	if ($linktype == 'relation') {
+	    $want_relations = true;
+	    $field = 'linkrelation';
+	}
+	if ($linktype == 'attribute') {
+	    $want_relations = true;
+	    $field = 'attribute';
+	}
+	if ($linktype == 'linkfrom') {
+	    $reverse = true;
+	}
+
+        for ($link = $linkdb->_db->firstkey(); $link!== false; $link = $linkdb->_db->nextkey()) {
+	    $type = $reverse ? 'i' : 'o';
+            if ($link[0] != $type) continue;
+	    $pagename = substr($link, 1);
+	    if (!$pages->match($pagename)) continue;
+	    if ($linktype == 'attribute') {
+		$page = $GLOBALS['request']->_dbi->getPage($pagename);
+		$attribs = $page->get('attributes');
+		if ($attribs) {
+		    /* Optimization on expressive searches: 
+		       for queries with multiple attributes.
+		       Just take the defined placeholders from the query(ies)
+		       if there are more attributes than query variables. 
+		    */
+		    if ($query->getType() != 'text'
+		        and !$relation
+			and ((count($vars = $query->getVars()) > 1) 
+			     or (count($attribs) > count($vars))))
+		    {
+			// names must strictly match. no * allowed
+			if (!$query->can_match($attribs)) continue;
+			if (!($result = $query->match($attribs))) continue;
+			foreach ($result as $r) {
+			    $r['pagename'] = $pagename;
+			    $links[] = $r;
+			}
+		    } else {
+			// textsearch or simple value. no strict bind by name needed 
+			foreach ($attribs as $attribute => $value) {
+			    if ($relation and !$relation->match($attribute)) continue;
+			    if (!$query->match($value)) continue; 
+			    $links[] = array('pagename'  => $pagename,
+					     'linkname'  => $attribute,
+					     'linkvalue' => $value);
+			}
+		    }
+		}
+	    }
+	    else {
+		// TODO: honor limits. this can get large.
+		if ($want_relations) {
+		    // MAP linkrelation : pagename => thispagename : linkname : linkvalue  
+		    $_links = $linkdb->_get_links('o', $pagename);
+		    foreach ($_links as $link) { // linkto => page, linkrelation => page
+			if (!isset($link['relation']) or !$link['relation']) continue;
+			if ($relation and !$relation->match($link['relation'])) continue;
+			if (!$query->match($link['linkto'])) continue;
+			$links[] = array('pagename'  => $pagename,
+					 'linkname'  => $link['relation'],
+					 'linkvalue' => $link['linkto']);
+		    }
+		} else {
+		    $_links = $linkdb->_get_links($reverse ? 'i' : 'o', $pagename);
+		    foreach ($_links as $link) { // linkto => page
+			if (is_array($link))
+			    $link = $link['linkto'];
+			if (!$query->match($link)) continue; 
+			$links[] = array('pagename'  => $pagename,
+					 'linkname'  => '',
+					 'linkvalue' => $link);
+		    }
+		}
+	    }
+        }
+	$options['want_relations'] = true; // Iter hack to force return of the whole hash
+        return new WikiDB_backend_dbaBase_pageiter($this, $links, $options);
+    }
+
+    /**
+     * Handle multi-searches for many relations and attributes in one expression.
+     * Bind all required attributes and relations per page together and pass it to one query.
+     *   (is_a::city and population < 20000) and (*::city and area > 1000000)
+     *   (is_a::city or linkto::CategoryCountry) and population < 20000 and area > 1000000
+     * Note that the 'linkto' and 'linkfrom' links are relations, containing an array.
+     *
+     * @param $pages     object A TextSearchQuery object for the pagename filter.
+     * @param $query     object A SemanticSearchQuery object for the links. 
+     * @param $options   array  Currently ignored. hash of sortby, limit, exclude for the pagelist.
+     * @return object A WikiDB_backend_iterator.
+     * @see WikiDB::linkSearch
+     */
+    function relation_search( $pages, $query, $options=array() ) {
+        $linkdb = &$this->_linkdb;
+        $links = array();
+	// We need to detect which attributes and relation names we should look for. NYI
+	$want_attributes = $query->hasAttributes();
+	$want_relation = $query->hasRelations();
+	$linknames = $query->getLinkNames();
+	// create a hash for faster checks
+	$linkcheck = array();
+	foreach ($linknames as $l) $linkcheck[$l] = 1;
+
+        for ($link = $linkdb->_db->firstkey(); $link!== false; $link = $linkdb->_db->nextkey()) {
+	    $type = $reverse ? 'i' : 'o';
+            if ($link[0] != $type) continue;
+	    $pagename = substr($link, 1);
+	    if (!$pages->match($pagename)) continue;
+	    $pagelinks = array();
+	    if ($want_attributes) {
+		$page = $GLOBALS['request']->_dbi->getPage($pagename);
+		$attribs = $page->get('attributes');
+		$pagelinks = $attribs;
+	    }
+	    if ($want_relations) {
+		// all links contain arrays of pagenames, just the attributes 
+		// are guaranteed to be singular
+		if (isset($linkcheck['linkfrom'])) {
+		    $pagelinks['linkfrom'] = $linkdb->_get_links('i', $pagename);
+		}
+		$outlinks = $linkdb->_get_links('o', $pagename);
+		$want_to = isset($linkcheck['linkto']);
+		foreach ($outlinks as $link) { // linkto => page, relation => page
+		    // all named links
+		    if ((isset($link['relation'])) and $link['relation'] 
+		        and isset($linkcheck[$link['relation']]))
+			$pagelinks[$link['relation']][] = $link['linkto'];
+		    if ($want_to)
+			$pagelinks['linkto'][] = is_array($link) ? $link['linkto'] : $link;
+		}
+	    }
+	    if ($result = $query->match($pagelinks)) {
+		$links = array_merge($links, $result);		
+	    }
+        }
+	$options['want_relations'] = true; // Iter hack to force return of the whole hash
+        return new WikiDB_backend_dbaBase_pageiter($this, $links, $options);
     }
 };
 
@@ -329,6 +539,7 @@
 class WikiDB_backend_dbaBase_pageiter
 extends WikiDB_backend_iterator
 {
+    // fixed for linkrelations
     function WikiDB_backend_dbaBase_pageiter(&$backend, &$pages, $options=false) {
         $this->_backend = $backend;
         $this->_options = $options;
@@ -348,21 +559,20 @@
             $this->_pages = array();
     }
 
+    // fixed for relations
     function next() {
-        if ( ! ($pagename = array_shift($this->_pages)) )
+        if ( ! ($page = array_shift($this->_pages)) )
             return false;
-        if (!empty($options['exclude']) and in_array($pagename, $options['exclude']))
+	if (!empty($this->_options['want_relations'])) {
+	    // $linkrelation = $page['linkrelation'];
+	    $pagename = $page['pagename'];
+            if (!empty($this->_options['exclude']) and in_array($pagename, $this->_options['exclude']))
+        	return $this->next();
+	    return $page;
+    	}
+        if (!empty($this->_options['exclude']) and in_array($page, $this->_options['exclude']))
             return $this->next();
-        return array('pagename' => $pagename);
-    }
-            
-    function count() {
-        return count($this->_pages);
-    }
-
-    function asArray() {
-        reset($this->_pages);
-        return $this->_pages;
+        return array('pagename' => $page);
     }
 
     function free() {
@@ -378,23 +588,57 @@
 
     //FIXME: try storing link lists as hashes rather than arrays.
     // (backlink deletion would be faster.)
-    function get_links($page, $reversed=true) {
-        return $this->_get_links($reversed ? 'i' : 'o', $page);
+    function get_links($page, $reversed=true, $want_relations=false) {
+        if ($want_relations) {
+            $this->found_relations = 0;	
+            $links = $this->_get_links($reversed ? 'i' : 'o', $page);
+            $linksonly = array();
+            foreach ($links as $link) { // linkto => page, linkrelation => page
+                if (is_array($link) and isset($link['relation'])) {
+                    if ($link['relation'])
+                        $this->found_relations++;
+                    $linksonly[] = array('pagename'     => $link['linkto'],
+                    		         'linkrelation' => $link['relation']);
+                } else { // empty relations are stripped
+                    $linksonly[] = array('pagename' => $link['linkto']);
+                }
+            }
+            return $linksonly;
+        } else {
+            $links = $this->_get_links($reversed ? 'i' : 'o', $page);
+            $linksonly = array();
+            foreach ($links as $link) {
+                if (is_array($link)) {
+                    $linksonly[] = $link['linkto'];
+                } else
+                    $linksonly[] = $link;
+            }
+            return $linksonly;
+        }
     }
     
-    function set_links($page, $newlinks) {
+    // fixed: relations ready
+    function set_links($page, $links) {
 
-        $oldlinks = $this->_get_links('o', $page);
+        $oldlinks = $this->get_links($page, false, false);
 
-        if (!is_array($newlinks)) {
-            assert(empty($newlinks));
-            $newlinks = array();
+        if (!is_array($links)) {
+            assert(empty($links));
+            $links = array();
         }
-        else {
-            $newlinks = array_unique($newlinks);
+        $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'];		
         }
+        //$newlinks = array_unique($newlinks);
+        sort($oldlinks);
         sort($newlinks);
-        $this->_set_links('o', $page, $newlinks);
 
         reset($newlinks);
         reset($oldlinks);
@@ -432,22 +676,18 @@
     function rebuild () {
         $db = &$this->_db;
 
-        // Delete the backlink tables, make a list of page names.
+        // Delete the backlink tables, make a list of lo.page keys.
         $okeys = array();
-        $ikeys = array();
         for ($key = $db->firstkey(); $key; $key = $db->nextkey()) {
             if ($key[0] == 'i')
-                $ikeys[] = $key;
+                $db->delete($key);
             elseif ($key[0] == 'o')
                 $okeys[] = $key;
             else {
                 trigger_error("Bad key in linktable: '$key'", E_USER_WARNING);
-                $ikeys[] = $key;
-            }
-        }
-        foreach ($ikeys as $key) {
             $db->delete($key);
         }
+        }
         foreach ($okeys as $key) {
             $page = substr($key,1);
             $links = $this->_get_links('o', $page);
@@ -470,6 +710,7 @@
             if ($key[0] == 'o') {
                 // Forward links.
                 foreach($this->_get_links('o', $page) as $link) {
+                    $link = $link['linkto'];
                     if (!$this->_has_link('i', $link, $page))
                         $errs[] = "backlink entry missing for link '$page'->'$link'";
                 }
@@ -483,10 +724,20 @@
                 }
             }
         }
-
+ 	//if ($errs) $this->rebuild();
         return isset($errs) ? $errs : false;
     }
     
+    /* TODO: Add another lrRelationName key for relations.
+     * lrRelationName: frompage => topage
+     */
+
+    function _add_relation($page, $linkedfrom) {
+        $relations = $this->_get_links('r', $page);
+        $backlinks[] = $linkedfrom;
+        sort($backlinks);
+        $this->_set_links('i', $page, $backlinks);
+    }
         
     function _add_backlink($page, $linkedfrom) {
         $backlinks = $this->_get_links('i', $page);
@@ -506,8 +757,9 @@
     
     function _has_link($which, $page, $link) {
         $links = $this->_get_links($which, $page);
+        //TODO: since links are always sorted do a binary search or at least break if >
         foreach($links as $l) {
-            if ($l == $link)
+            if ($l['linkto'] == $link)
                 return true;
         }
         return false;
@@ -527,6 +779,20 @@
     }
 }
 
+// $Log: dbaBase.php,v $
+// Revision 1.29  2007/05/24 18:39:10  rurban
+// limits for get_all_pages, improved WantedPages
+//
+// Revision 1.28  2007/01/03 21:26:01  rurban
+// Fix dba searching for relations. Optimize link_search for strict attribute search. Add relation_search()
+//
+// Revision 1.27  2007/01/02 13:19:33  rurban
+// faster list_relations method. new native link_search method. additions to rebuild() (still very slow), fix iterator options (for want_relations and exclude). Clarify API: sortby,limit and exclude are strings
+//
+// Revision 1.26  2006/12/22 00:27:37  rurban
+// just add Log
+//
+
 // (c-file-style: "gnu")
 // Local Variables:
 // mode: php
@@ -535,4 +801,4 @@
 // c-hanging-comment-ender-p: nil
 // indent-tabs-mode: nil
 // End:   
-?>
\ No newline at end of file
+?>
diff -ruN 1.3.12p3/lib/WikiDB/backend/dba.php 1.3.14/lib/WikiDB/backend/dba.php
--- 1.3.12p3/lib/WikiDB/backend/dba.php	2006-06-18 06:19:27.000000000 -0500
+++ 1.3.14/lib/WikiDB/backend/dba.php	2007-07-01 05:11:09.000000000 -0500
@@ -1,4 +1,4 @@
-<?php rcs_id('$Id: dba.php,v 1.7 2004/11/21 11:59:26 rurban Exp $');
+<?php rcs_id('$Id: dba.php,v 1.8 2006/08/07 21:03:17 rurban Exp $');
 
 require_once('lib/WikiDB/backend/dbaBase.php');
 require_once('lib/DbaDatabase.php');
@@ -18,7 +18,14 @@
         // FIXME: error checking.
         $db = new DbaDatabase($dbfile, false, $dba_handler);
         $db->set_timeout($timeout);
-        if (!$db->open('c')) {
+	
+	// Workaround for BDB 4.1 bugs
+	if (file_exists($dbfile)) {
+            $mode = 'w';
+	} else {
+            $mode = 'c';
+	}
+        if (!$db->open($mode)) {
             trigger_error(sprintf(_("%s: Can't open dba database"), $dbfile), E_USER_ERROR);
             global $request;
             $request->finish(fmt("%s: Can't open dba database", $dbfile));
diff -ruN 1.3.12p3/lib/WikiDB/backend/dumb/LinkSearchIter.php 1.3.14/lib/WikiDB/backend/dumb/LinkSearchIter.php
--- 1.3.12p3/lib/WikiDB/backend/dumb/LinkSearchIter.php	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/lib/WikiDB/backend/dumb/LinkSearchIter.php	2007-07-01 05:11:10.000000000 -0500
@@ -0,0 +1,172 @@
+<?php // -*-php-*-
+rcs_id('$Id: LinkSearchIter.php,v 1.2 2007/01/04 16:41:25 rurban Exp $');
+/*
+ Copyright 2007 Reini Urban
+
+ This file is part of PhpWiki.
+
+ PhpWiki is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ PhpWiki is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with PhpWiki; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+/**
+ * Ad-hoc support for an RDF-Triple search in our link database.
+ *
+ * This iterator will work with any WikiDB_backend
+ * which has a working get_links() method with want_relation support.
+ * Currently we iterate over all pages, check for all matching links.
+ * As optimization a backend could iterate over the linktable instead 
+ * and check the matching page there. There are most likely less links 
+ * than pages and links are smaller than pages.  
+ *
+ * This is mostly here for testing, very slow.
+ *
+ * @author Reini Urban
+ * @see WikiDB_backend::link_search
+ */
+
+class WikiDB_backend_dumb_LinkSearchIter
+extends WikiDB_backend_iterator
+{
+    function WikiDB_backend_dumb_LinkSearchIter(&$backend, &$pageiter, $search, $linktype, 
+						$relation=false, $options=array()) 
+    {
+        $this->_backend  = &$backend;
+        $this->_pages    = $pageiter;
+        $this->search    = $search;   // search the linkvalue. it should be the value or pagename
+        $this->relation  = $relation; // limit the search to this linkname
+        $this->linktype  = $linktype;
+	$this->_reverse  = false;
+	$this->_want_relations = true;
+	$this->sortby  = isset($options['sortby'])  ? $options['sortby']  : '';
+	$this->limit   = isset($options['limit'])   ? $options['limit']   : '';
+	$this->exclude = isset($options['exclude']) ? $options['exclude'] : '';
+	$this->_field = 'pagename'; // the name of the linkvalue field to apply the search
+	$this->_dbi =& $GLOBALS['request']->_dbi;
+	if ($linktype == 'relation') {
+	    $this->_want_relations = true;
+	    $this->_field = 'linkrelation';
+	}
+	if ($linktype == 'attribute') {
+	    $this->_want_relations = true;
+	    $this->_field = 'attribute';
+	}
+	if ($linktype == 'linkfrom') {
+	    $this->_reverse = true;
+	}
+	$this->_page = false;
+    }
+
+    // iterate a nested page-links loop. there will be multiple results per page.
+    // we must keep the page iter internally.
+    function next() {
+    	while (1) {
+	    if (!isset($this->_links) or count($this->_links) == 0) {
+		$page = $this->_next_page(); // initialize all links of this page
+		if (!$page) return false;
+	    } else {
+	    	$page = $this->_page;
+	    }
+	    // iterate the links. the links are pushed into the handy triple by _get_links 
+	    while ($link = array_shift($this->_links)) {
+		// unmatching relations are already filtered out
+		if ($this->search->match($link['linkvalue'])) { //pagename or attr-value
+		    if ($link['linkname'])
+			return array('pagename' => $page,
+				     'linkname' => $link['linkname'],
+				     'linkvalue'=> $link['linkvalue']);
+		    else
+			return array('pagename' => $page,
+				     'linkvalue'=> $link['linkvalue']);
+		}
+	    }
+	    // no links on this page anymore.
+    	}
+    }
+
+    // initialize the links also
+    function _next_page() {
+	unset($this->_links);
+	if (!($next = $this->_pages->next()))
+	    return false;
+	$this->_page = $next['pagename'];
+	while(!($this->_links = $this->_get_links($this->_page))) {
+	    if (!($next = $this->_pages->next()))
+	        return false;
+	    $this->_page = $next['pagename'];
+	}
+	return $this->_page;
+    }
+
+    // get the links of each page in advance
+    function _get_links($pagename) {
+	$links = array();
+	if ($this->linktype == 'attribute') {
+	    $page = $this->_dbi->getPage($pagename);
+	    $attribs = $page->get('attributes');
+	    if ($attribs) {
+	      foreach ($attribs as $attribute => $value) {
+		  if ($this->relation and !$this->relation->match($attribute)) continue; 
+		  // The logical operator and unit unification (not yet) is encoded into 
+		  // a seperate search object.
+		  if (!$this->search->match($value)) continue; 
+		  $links[] = array('pagename'  => $pagename,
+				   'linkname'  => $attribute,
+				   'linkvalue' => $value);
+	      }
+	    }
+	    unset($attribs);
+	} else {
+	    $link_iter = $this->_backend->get_links($pagename, $this->_reverse, true,
+						    $this->sortby, $this->limit, 
+						    $this->exclude, $this->_want_relations);
+	    // we already stepped through all links. make use of that.
+	    if ($this->_want_relations
+	        and isset($link_iter->_options['found_relations']) 
+		and $link_iter->_options['found_relations'] == 0)
+	    {
+		$link_iter->free();
+		return $links;
+	    }
+	    while ($link = $link_iter->next()) {
+	    	if (empty($link[$this->_field])) continue;
+		if ($this->_want_relations and $this->relation 
+		    and !$this->relation->match($link['linkrelation'])) continue; 
+		// check hash values, with/out want_relations
+		$links[] = array('pagename'  => $pagename,
+		                 'linkname'  => $this->_want_relations ? $link['linkrelation'] : '',
+				 'linkvalue' => $link['pagename']);
+	    }
+	    $link_iter->free();
+	}
+	return $links;
+    }
+
+    function free() {
+	$this->_page = false;
+	unset($this->_links);
+        $this->_pages->free();
+    }
+}
+
+// For emacs users
+// Local Variables:
+// mode: php
+// tab-width: 8
+// c-basic-offset: 4
+// c-hanging-comment-ender-p: nil
+// indent-tabs-mode: nil
+// End:
+
+?>
diff -ruN 1.3.12p3/lib/WikiDB/backend/dumb/MostPopularIter.php 1.3.14/lib/WikiDB/backend/dumb/MostPopularIter.php
--- 1.3.12p3/lib/WikiDB/backend/dumb/MostPopularIter.php	2006-06-18 06:19:27.000000000 -0500
+++ 1.3.14/lib/WikiDB/backend/dumb/MostPopularIter.php	2007-07-01 05:11:10.000000000 -0500
@@ -1,5 +1,5 @@
 <?php // -*-php-*-
-rcs_id('$Id: MostPopularIter.php,v 1.7 2004/01/25 08:17:29 rurban Exp $');
+rcs_id('$Id: MostPopularIter.php,v 1.9 2006/12/22 00:27:37 rurban Exp $');
 
 require_once('lib/WikiDB/backend.php');
 
@@ -18,7 +18,7 @@
         $this->_pages = array();
         $pages = &$this->_pages;
 
-        while ($page = & $all_pages->next()) {
+        while ($page = $all_pages->next()) {
             if (!isset($page['pagedata']))
                 $page['pagedata'] = $backend->get_pagedata($page['pagename']);
             $pages[] = $page;
@@ -66,6 +66,11 @@
     return $ahits - $bhits;
 }
 
+// $Log: MostPopularIter.php,v $
+// Revision 1.9  2006/12/22 00:27:37  rurban
+// just add Log
+//
+
 // For emacs users
 // Local Variables:
 // mode: php
@@ -74,5 +79,4 @@
 // c-hanging-comment-ender-p: nil
 // indent-tabs-mode: nil
 // End:
-
 ?>
diff -ruN 1.3.12p3/lib/WikiDB/backend/dumb/MostRecentIter.php 1.3.14/lib/WikiDB/backend/dumb/MostRecentIter.php
--- 1.3.12p3/lib/WikiDB/backend/dumb/MostRecentIter.php	2006-06-18 06:19:27.000000000 -0500
+++ 1.3.14/lib/WikiDB/backend/dumb/MostRecentIter.php	2007-07-01 05:11:10.000000000 -0500
@@ -1,5 +1,5 @@
 <?php // -*-php-*-
-rcs_id('$Id: MostRecentIter.php,v 1.6 2005/04/09 09:16:54 rurban Exp $');
+rcs_id('$Id: MostRecentIter.php,v 1.8 2006/12/22 00:27:37 rurban Exp $');
 
 require_once('lib/WikiDB/backend.php');
 
@@ -23,7 +23,7 @@
         $this->_revisions = array();
         while ($page = $pages->next()) {
             $revs = $backend->get_all_revisions($page['pagename']);
-            while ($revision = &$revs->next()) {
+            while ($revision = $revs->next()) {
                 $vdata = &$revision['versiondata'];
                 assert(is_array($vdata));
                 if (!empty($vdata['is_minor_edit'])) {
@@ -75,6 +75,11 @@
     return $acreated - $bcreated;
 }
 
+// $Log: MostRecentIter.php,v $
+// Revision 1.8  2006/12/22 00:27:37  rurban
+// just add Log
+//
+
 // (c-file-style: "gnu")
 // Local Variables:
 // mode: php
diff -ruN 1.3.12p3/lib/WikiDB/backend/dumb/WantedPagesIter.php 1.3.14/lib/WikiDB/backend/dumb/WantedPagesIter.php
--- 1.3.12p3/lib/WikiDB/backend/dumb/WantedPagesIter.php	2006-06-18 06:19:27.000000000 -0500
+++ 1.3.14/lib/WikiDB/backend/dumb/WantedPagesIter.php	2007-07-01 05:11:10.000000000 -0500
@@ -1,5 +1,5 @@
 <?php // -*-php-*-
-rcs_id('$Id: WantedPagesIter.php,v 1.1 2004/11/20 17:35:58 rurban Exp $');
+rcs_id('$Id: WantedPagesIter.php,v 1.3 2007/05/24 18:39:17 rurban Exp $');
 
 //require_once('lib/WikiDB/backend.php');
 
@@ -12,7 +12,7 @@
 class WikiDB_backend_dumb_WantedPagesIter
 extends WikiDB_backend_iterator
 {
-    function WikiDB_backend_dumb_WantedPagesIter(&$backend, &$all_pages, $exclude='', $sortby=false, $limit=false) {
+    function WikiDB_backend_dumb_WantedPagesIter(&$backend, &$all_pages, $exclude='', $sortby='', $limit='') {
         $this->_allpages   = $all_pages;
         $this->_allpages_array   = $all_pages->asArray();
         $this->_backend = &$backend;
@@ -20,22 +20,41 @@
             $this->exclude = $exclude ? PageList::explodePageList($exclude) : array();
         else 
             $this->exclude = $exclude;
+        $this->sortby = $sortby; // ignored
+        if ($limit) { // extract from,count from limit
+            list($this->from, $this->limit) = $backend->limit($limit);
+        } else { 
+            $this->limit = 0;
+            $this->from = 0;
+        }
+        $this->pos = 0;
+        $this->pagelinks = array();
     }
 
     function next() {
         while ($page = $this->_allpages->next()) {
+            while ($this->pagelinks) { // deferred return
+            	return array_pop($this->pagelinks);
+            }
+    	    $this->pagelinks = array();
+            if ($this->limit and $this->pos > $this->limit) break;
             $pagename = $page['pagename'];
             $links = $this->_backend->get_links($pagename, false);
             while ($link = $links->next()) {
+            	if ($this->limit and $this->pos > $this->limit) break;
                 if ($this->exclude and in_array($link['pagename'], $this->exclude)) continue;
-                // better membership for a pageiterator???
+                // better membership for a pageiterator?
                 if (! in_array($link['pagename'], $this->_allpages_array)) {
-                    $links->free();
+                    if ($this->from and $this->pos < $this->from) continue;
+                    // collect all links per page and return them deferred
                     $link['wantedfrom'] = $pagename;
-                    return $link;
+                    $this->pagelinks[] = $link;
+                    $this->pos++;
                 }
             }
             $links->free();
+            unset($links);
+            if ($this->pagelinks) return array_pop($this->pagelinks);
         }
         return false;
     }
@@ -43,6 +62,8 @@
     function free() {
         unset($this->_allpages_array);
         $this->_allpages->free();
+        unset($this->_allpages);
+        unset($this->_backend);
     }
 }
 
@@ -54,4 +75,4 @@
 // c-hanging-comment-ender-p: nil
 // indent-tabs-mode: nil
 // End:
-?>
\ No newline at end of file
+?>
diff -ruN 1.3.12p3/lib/WikiDB/backend/file.php 1.3.14/lib/WikiDB/backend/file.php
--- 1.3.12p3/lib/WikiDB/backend/file.php	2006-06-18 06:19:27.000000000 -0500
+++ 1.3.14/lib/WikiDB/backend/file.php	2007-07-01 05:11:10.000000000 -0500
@@ -1,5 +1,5 @@
 <?php // -*-php-*-
-rcs_id('$Id: file.php,v 1.22 2004/12/06 19:50:04 rurban Exp $');
+rcs_id('$Id: file.php,v 1.25 2007/02/17 21:49:13 rurban Exp $');
 
 /**
  Copyright 1999, 2000, 2001, 2002, 2003 $ThePhpWikiProgrammingTeam
@@ -121,7 +121,7 @@
     function _savePage($type, $pagename, $version, $data) {
         $filename = $this->_pagename2filename($type, $pagename, $version);
         if($fd = fopen($filename, 'a+b')) { 
-           $locked = flock($fd,2); #Exclusive blocking lock 
+            $locked = flock($fd,2); // Exclusive blocking lock 
            if (!$locked) { 
               ExitWiki("Timeout while obtaining lock. Please try again"); 
            }
@@ -129,7 +129,9 @@
            rewind($fd);
            ftruncate($fd, 0);
            $pagedata = serialize($data);
-           fwrite($fd, $pagedata); 
+           $len = strlen($pagedata);
+           $num = fwrite($fd, $pagedata, $len); 
+           assert($num == $len);
            fclose($fd);
         } else {
            ExitWiki("Error while writing page '$pagename'");
@@ -517,7 +519,9 @@
      * @return object A WikiDB_backend_iterator.
      */
     function get_links($pagename, $reversed=true, $include_empty=false,
-                       $sortby=false, $limit=false, $exclude=false) {
+                       $sortby='', $limit='', $exclude='',
+                       $want_relations=false) 
+    {
         if ($reversed == false)
             return new WikiDB_backend_file_iter($this, $this->_loadPageLinks($pagename));
 
@@ -529,7 +533,7 @@
         foreach ($pagenames as $key => $val) {
             $links = $this->_loadPageLinks($key);
 	    foreach ($links as $key2 => $val2) {
-                if ($val2 == $pagename)
+                if ($val2['linkto'] == $pagename)
                     array_push($out, $key);
             }
         }
@@ -568,7 +572,7 @@
      *
      * @return object A WikiDB_backend_iterator.
      */
-    function get_all_pages($include_empty=false, $sortby=false, $limit=false, $exclude=false) {
+    function get_all_pages($include_empty=false, $sortby='', $limit='', $exclude='') {
     	require_once("lib/PageList.php");
         $this->_loadLatestVersions();
         $a = array_keys($this->_latest_versions);
@@ -711,6 +715,9 @@
         }
         
         $pn = $e[1];
+        if (is_array($pn) and isset($pn['linkto'])) { // support relation link iterator
+            $pn = $pn['linkto'];
+        }
         $pagedata = $this->_backend->get_pagedata($pn);
         // don't pass _cached_html via iterators
         if (isset($pagedata['_cached_html']))
@@ -718,6 +725,9 @@
         unset($pagedata['pagename']);
         $rec = array('pagename' => $pn,
                      'pagedata' => $pagedata);
+        if (is_array($e[1])) {
+            $rec['linkrelation'] = $e[1]['relation'];
+        }
         //$rec['version'] = $backend->get_latest_version($pn);
         //$rec['versiondata'] = $backend->get_versiondata($pn, $rec['version'], true);
         return $rec;
@@ -735,6 +745,15 @@
 }
 
 // $Log: file.php,v $
+// Revision 1.25  2007/02/17 21:49:13  rurban
+// fix Backlinks: Patch 1660462 by Erwann Penet. Thanks for the prvious rev change to Erwann Penet too.
+//
+// Revision 1.24  2007/02/17 20:24:56  rurban
+// fix getLinks for relation and linkto
+//
+// Revision 1.23  2007/01/04 16:45:49  rurban
+// Clarify API: sortby,limit and exclude are strings.
+//
 // Revision 1.22  2004/12/06 19:50:04  rurban
 // enable action=remove which is undoable and seeable in RecentChanges: ADODB ony for now.
 // renamed delete_page to purge_page.
@@ -845,4 +864,4 @@
 // c-hanging-comment-ender-p: nil
 // indent-tabs-mode: nil
 // End:
-?>
\ No newline at end of file
+?>
diff -ruN 1.3.12p3/lib/WikiDB/backend/flatfile.php 1.3.14/lib/WikiDB/backend/flatfile.php
--- 1.3.12p3/lib/WikiDB/backend/flatfile.php	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/lib/WikiDB/backend/flatfile.php	2007-07-01 05:11:10.000000000 -0500
@@ -0,0 +1,216 @@
+<?php // -*-php-*-
+rcs_id('$Id: flatfile.php,v 1.2 2007/02/17 20:25:41 rurban Exp $');
+
+/**
+ Copyright 1999,2005,2006 $ThePhpWikiProgrammingTeam
+
+ This file is part of PhpWiki.
+
+ PhpWiki is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ PhpWiki is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with PhpWiki; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+/**
+ * Backend for handling file storage as pure, readable flatfiles, 
+ * as with PageDump. All other methods are taken from file, which 
+ * handles serialized pages.
+ *   latest version_data is it page_data/
+ *   previous ver_data is at ver_data/
+ *   latest_ver should not be needed (todo)
+ *
+ * Author: Reini Urban, based on the file backend by Jochen Kalmbach
+ */
+
+require_once('lib/WikiDB/backend/file.php');
+require_once('lib/loadsave.php');
+
+class WikiDB_backend_flatfile
+extends WikiDB_backend_file
+{
+    // *********************************************************************
+    // common file load / save functions:
+    // FilenameForPage is from loadsave.php
+    function _pagename2filename($type, $pagename, $version) {
+    	$fpagename = FilenameForPage($pagename);
+    	if (strstr($fpagename, "/")) {
+            $fpagename = preg_replace("/\//", "%2F", $fpagename);
+        }
+    	return $this->_dir_names[$type].'/'.$fpagename;
+/*      if ($version == 0)
+             return $this->_dir_names[$type].'/'.FilenameForPage($pagename);
+         else
+             return $this->_dir_names[$type].'/'.FilenameForPage($pagename).'--'.$version;
+*/             
+    }
+
+    // Load/Save Page-Data
+    function _loadPageData($pagename) {
+       if ($this->_page_data != NULL) {
+            if ($this->_page_data['pagename'] == $pagename) {
+                return $this->_page_data;
+             }
+       }
+       //$pd = $this->_loadPage('page_data', $pagename, 0);
+        
+       $filename = $this->_pagename2filename('page_data', $pagename, 0);
+       if (!file_exists($filename)) return NULL;
+       if (!filesize($filename)) return array();
+       if ($fd = @fopen($filename, "rb")) {
+	   $locked = flock($fd, 1); // Read lock
+	   if (!$locked) { 
+	       ExitWiki("Timeout while obtaining lock. Please try again"); 
+	   }
+	   if ($data = fread($fd, filesize($filename))) {
+	       // This is the only difference from file:
+	       if ($parts = ParseMimeifiedPages($data)) {
+		   $pd = $parts[0];
+	       }
+	       //if ($set_pagename == true)
+	       $pd['pagename'] = $pagename;
+	       //if ($version != 0) $pd['version'] = $version;
+	       if (!is_array($pd))
+		   ExitWiki(sprintf(gettext("'%s': corrupt file"),
+				    htmlspecialchars($filename)));
+	   }
+	   fclose($fd);
+       }
+        
+       if ($pd != NULL)
+            $this->_page_data = $pd;
+       if ($this->_page_data != NULL) {
+            if ($this->_page_data['pagename'] == $pagename) {
+                return $this->_page_data;
+             }
+       }
+       return array();  // no values found
+    }
+    
+    /** Store latest version as full page_data flatfile, 
+     *    earlier versions as file backend ver_data.
+     * _cached_html will not be stored.
+     * If the given ($pagename,$version) is already in the database,
+     * this method completely overwrites any stored data for that version.
+     */
+    function _saveVersionData($pagename, $version, $data) {
+        // check if this is a newer version:
+        if ($this->_getLatestVersion($pagename) < $version) {
+            // write new latest-version-info
+            $this->_setLatestVersion($pagename, $version);
+            // save it as latest page, not serialized version hash
+            // TODO: load latest version data and merge it with new pagedata
+            $this->_savePageData($pagename, array('versiondata' => $data));
+        } else { // save/update old version data hash
+            $this->_savePage('ver_data', $pagename, $version, $data);
+        }
+    }
+    
+    // This is different to file and not yet finished.
+    // TODO: fields not being saved as page_data should be saved to ver_data
+    // Store as full page_data flatfile
+    //   pagedata: date, pagename, hits 
+    //   versiondata: _cached_html and the rest
+    function _savePageData($pagename, $data) {
+
+        $type = 'page_data';
+        $version = 1;
+        $filename = $this->_pagename2filename($type, $pagename, $version);
+
+        // Construct a dummy page_revision object
+        $page = new WikiDB_Page($this->_wikidb, $pagename);
+        // data may be pagedate or versiondata updates
+        if (USECACHE and empty($data['pagedata'])) {
+            $cache =& $this->_wikidb->_cache;
+            if (!empty($cache->_pagedata_cache[$pagename]) 
+                and is_array($cache->_pagedata_cache[$pagename])) 
+            {
+                $cachedata = &$cache->_pagedata_cache[$pagename];
+                foreach($data as $key => $val)
+                    $cachedata[$key] = $val;
+            } else {
+                $cache->_pagedata_cache[$pagename] = $data;
+            }
+        }
+        //unset ($data['pagedata']);
+        //if (empty($data['versiondata']))
+        //    $data['versiondata'] = $data;
+        // TODO: 
+        //   with versiondata merge it with previous pagedata, not to overwrite with empty pagedata
+        //   with pagedata merge it with previous versiondata, not to overwrite with empty versiondata (content)
+        $olddata = $this->_loadPageData($pagename);
+        if (isset($data['version'])) {
+            $version = $data['version'];
+            $latestversion = $this->_getLatestVersion($pagename);
+            if ($latestversion < $version) {
+                $oldversiondata = $this->_loadVersionData($pagename, $latestversion);
+                if ($oldversiondata)
+                    $olddata['versiondata'] = array_merge($oldversiondata, $olddata['versiondata']);
+            }
+        }
+        $data['pagedata'] = array_merge($olddata['pagedata'], $data['pagedata']);
+        $data['versiondata'] = array_merge($olddata['versiondata'], $data['versiondata']);
+        if (empty($data['versiondata']['%content'])) 
+            $data['versiondata']['%content'] = $olddata['content'];
+        $current = new WikiDB_PageRevision($this->_wikidb, $pagename, $version, $data['versiondata']);
+        unset ($data['versiondata']);
+        foreach ($data as $k => $v) {
+            if ($k == 'pagedata')
+                $current->_data = array_merge($current->_data, $v);
+            elseif ($k == 'versiondata')
+                $current->_data = array_merge($current->_data, $v);
+            else
+                $current->_data[$k] = $v;
+        }
+        $this->_page_data = $current->_data;
+        $pagedata = "Date: " . Rfc2822DateTime($current->get('mtime')) . "\r\n";
+        $pagedata .= sprintf("Mime-Version: 1.0 (Produced by PhpWiki %s)\r\n",
+                         PHPWIKI_VERSION);
+        $pagedata .= MimeifyPageRevision($page, $current);
+        
+        if ($fd = fopen($filename, 'a+b')) {
+	    $locked = flock($fd, 2); // Exclusive blocking lock 
+	    if (!$locked) { 
+		ExitWiki("Timeout while obtaining lock. Please try again"); 
+	    }
+	    rewind($fd);
+	    ftruncate($fd, 0);
+            $len = strlen($pagedata);
+	    $num = fwrite($fd, $pagedata, $len); 
+	    assert($num == $len);
+	    fclose($fd);
+        } else {
+	    ExitWiki("Error while writing page '$pagename'");
+        }
+    }
+};
+
+//class WikiDB_backend_flatfile_iter extends WikiDB_backend_file_iter {};
+
+// $Log: flatfile.php,v $
+// Revision 1.2  2007/02/17 20:25:41  rurban
+// improve _savepage a bit. still not working though.
+//
+// Revision 1.1  2007/01/02 13:19:47  rurban
+// new flatfile backend (readable page files)
+//
+//
+
+// For emacs users
+// Local Variables:
+// mode: php
+// tab-width: 8
+// c-basic-offset: 4
+// c-hanging-comment-ender-p: nil
+// indent-tabs-mode: nil
+// End:
+?>
diff -ruN 1.3.12p3/lib/WikiDB/backend/PDO_oci8.php 1.3.14/lib/WikiDB/backend/PDO_oci8.php
--- 1.3.12p3/lib/WikiDB/backend/PDO_oci8.php	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/lib/WikiDB/backend/PDO_oci8.php	2007-07-01 05:11:10.000000000 -0500
@@ -0,0 +1,103 @@
+<?php // -*-php-*-
+rcs_id('$Id: PDO_oci8.php,v 1.1 2007/01/28 22:51:41 rurban Exp $');
+
+/*
+ Copyright 2007 $ThePhpWikiProgrammingTeam
+
+ This file is part of PhpWiki.
+
+ PhpWiki is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ PhpWiki is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with PhpWiki; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+*/ 
+
+/**
+ * @author: Reini Urban
+ */
+require_once('lib/WikiDB/backend/PDO.php');
+
+class WikiDB_backend_PDO_oci8
+extends WikiDB_backend_PDO
+{
+
+    function optimize() {
+        // Do nothing here -- Leave that for the DBA
+        // Cost Based Optimizer tuning vary from version to version
+        return 1;
+    }
+
+    /**
+     * Lock all tables we might use.
+     */
+    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...
+        if ($write_lock) {
+            // Next line is default behaviour, so just skip it
+            // $dbh->query("SET TRANSACTION READ WRITE");
+            foreach ($this->_table_names as $table) {
+                $dbh->exec("LOCK TABLE $table IN EXCLUSIVE MODE");
+            }
+        } else {
+            // Just ensure read consistency
+            $dbh->exec("SET TRANSACTION READ ONLY");
+        }
+    }
+
+    function backendType() {
+        return 'oci8';
+    }
+    function write_accesslog(&$entry) {
+        global $request;
+        $dbh = &$this->_dbh;
+        $log_tbl = $entry->_accesslog->logtable;
+        $sth = $dbh->prepare("INSERT INTO $log_tbl"
+                             . " (time_stamp,remote_host,remote_user,request_method,request_line,request_args,"
+                             .   "request_file,request_uri,request_time,status,bytes_sent,referer,agent,request_duration)"
+                             . " VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?)");
+        // Either use unixtime as %d (long), or the native timestamp format.
+        $sth->bindParam(1, date('d-M-Y H:i:s', $entry->time));
+        $sth->bindParam(2, $entry->host, PDO_PARAM_STR, 100);
+        $sth->bindParam(3, $entry->user, PDO_PARAM_STR, 50);
+        $sth->bindParam(4, $entry->request_method, PDO_PARAM_STR, 10);
+        $sth->bindParam(5, $entry->request, PDO_PARAM_STR, 255);
+        $sth->bindParam(6, $entry->request_args, PDO_PARAM_STR, 255);
+        $sth->bindParam(7, $entry->request_uri, PDO_PARAM_STR, 255);
+        $sth->bindParam(8, $entry->_ncsa_time($entry->time), PDO_PARAM_STR, 28);
+        $sth->bindParam(9, $entry->time, PDO_PARAM_INT);
+        $sth->bindParam(10,$entry->status, PDO_PARAM_INT);
+        $sth->bindParam(11,$entry->size, PDO_PARAM_INT);
+        $sth->bindParam(12,$entry->referer, PDO_PARAM_STR, 255);
+        $sth->bindParam(13,$entry->user_agent, PDO_PARAM_STR, 255);
+        $sth->bindParam(14,$entry->duration, PDO_PARAM_FLOAT);
+        $sth->execute();
+    }
+}
+
+// $Log: PDO_oci8.php,v $
+// Revision 1.1  2007/01/28 22:51:41  rurban
+// untested
+//
+
+// (c-file-style: "gnu")
+// Local Variables:
+// mode: php
+// tab-width: 8
+// c-basic-offset: 4
+// c-hanging-comment-ender-p: nil
+// indent-tabs-mode: nil
+// End:   
+?>
\ No newline at end of file
diff -ruN 1.3.12p3/lib/WikiDB/backend/PDO.php 1.3.14/lib/WikiDB/backend/PDO.php
--- 1.3.12p3/lib/WikiDB/backend/PDO.php	2006-06-18 06:19:27.000000000 -0500
+++ 1.3.14/lib/WikiDB/backend/PDO.php	2007-07-01 05:11:10.000000000 -0500
@@ -1,5 +1,5 @@
 <?php // -*-php-*-
-rcs_id('$Id: PDO.php,v 1.7 2006/05/14 12:28:03 rurban Exp $');
+rcs_id('$Id: PDO.php,v 1.12 2007/01/28 22:49:55 rurban Exp $');
 
 /*
  Copyright 2005 $ThePhpWikiProgrammingTeam
@@ -102,13 +102,17 @@
                                         ));
         }
         catch (PDOException $e) {
-            echo "<br>\nDB Connection failed: " . $e->getMessage();
+            echo "<br>\nCan't connect to database: %s" . $e->getMessage();
             if (DEBUG & _DEBUG_VERBOSE or DEBUG & _DEBUG_SQL) {
                 echo "<br>\nDSN: '", $dbparams['dsn'], "'";
                 echo "<br>\n_parsedDSN: '", print_r($this->_parsedDSN), "'";
                 echo "<br>\nparsed: '", print_r($parsed), "'";
             }
-            exit();
+            if (isset($dbparams['_tryroot_from_upgrade']))
+                trigger_error(sprintf("Can't connect to database: %s", $e->getMessage()),
+                              E_USER_WARNING);
+            else 
+                exit();
         }
         if (DEBUG & _DEBUG_SQL) { // not yet implemented
             $this->_dbh->debug = true;
@@ -347,6 +351,9 @@
                 return $cache[$pagename];
             }
         }
+
+	// attributes play this game.
+        if ($pagename === '') return 0;
         
         $dbh = &$this->_dbh;
         $page_tbl = $this->_table_names['page_tbl'];
@@ -718,7 +725,7 @@
      * This is called on every page header GleanDescription, so we can store all the existing links.
      */
     function get_links($pagename, $reversed=true, $include_empty=false,
-                       $sortby=false, $limit=false, $exclude='') {
+                       $sortby='', $limit='', $exclude='') {
         $dbh = &$this->_dbh;
         extract($this->_table_names);
 
@@ -762,19 +769,18 @@
             list($have, $want) = array('linkee', 'linker');
         else
             list($have, $want) = array('linker', 'linkee');
-        $sth = $dbh->prepare("SELECT IF($want.pagename,1,0)"
+        $sth = $dbh->prepare("SELECT CASE WHEN $want.pagename THEN 1 ELSE 0 END"
                              . " FROM $link_tbl, $page_tbl linker, $page_tbl linkee, $nonempty_tbl"
                              . " WHERE linkfrom=linker.id AND linkto=linkee.id"
                              . " AND $have.pagename=?"
-                             . " AND $want.pagename=?"
-                             . "LIMIT 1");
+                             . " AND $want.pagename=?");
         $sth->bindParam(1, $pagename, PDO_PARAM_STR, 100);
         $sth->bindParam(2, $link, PDO_PARAM_STR, 100);
         $sth->execute();
         return $sth->fetchSingle();
     }
 
-    function get_all_pages($include_empty=false, $sortby=false, $limit=false, $exclude='') {
+    function get_all_pages($include_empty=false, $sortby='', $limit='', $exclude='') {
         $dbh = &$this->_dbh;
         extract($this->_table_names);
         $orderby = $this->sortby($sortby, 'db');
@@ -830,7 +836,7 @@
     /**
      * Title search.
      */
-    function text_search($search, $fullsearch=false, $sortby=false, $limit=false, $exclude=false) {
+    function text_search($search, $fullsearch=false, $sortby='', $limit='', $exclude='') {
         $dbh = &$this->_dbh;
         extract($this->_table_names);
         $orderby = $this->sortby($sortby, 'db');
@@ -997,7 +1003,7 @@
     /**
      * Find referenced empty pages.
      */
-    function wanted_pages($exclude_from='', $exclude='', $sortby=false, $limit=false) {
+    function wanted_pages($exclude_from='', $exclude='', $sortby='', $limit='') {
         $dbh = &$this->_dbh;
         extract($this->_table_names);
         if ($orderby = $this->sortby($sortby, 'db', array('pagename','wantedfrom')))
@@ -1244,6 +1250,32 @@
             $limit = '';
         return $limit;
     }
+
+    function write_accesslog(&$entry) {
+        global $request;
+        $dbh = &$this->_dbh;
+        $log_tbl = $entry->_accesslog->logtable;
+        $dbh->prepare("INSERT INTO $log_tbl"
+                      . " (time_stamp,remote_host,remote_user,request_method,request_line,request_args,"
+                      .   "request_file,request_uri,request_time,status,bytes_sent,referer,agent,request_duration)"
+                      . " VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?)");
+        // Either use unixtime as %d (long), or the native timestamp format.
+        $sth->bindParam(1, $entry->time, PDO_PARAM_INT);
+        $sth->bindParam(2, $entry->host, PDO_PARAM_STR, 100);
+        $sth->bindParam(3, $entry->user, PDO_PARAM_STR, 50);
+        $sth->bindParam(4, $entry->request_method, PDO_PARAM_STR, 10);
+        $sth->bindParam(5, $entry->request, PDO_PARAM_STR, 255);
+        $sth->bindParam(6, $entry->request_args, PDO_PARAM_STR, 255);
+        $sth->bindParam(7, $entry->request_uri, PDO_PARAM_STR, 255);
+        $sth->bindParam(8, $entry->_ncsa_time($entry->time), PDO_PARAM_STR, 28);
+        $sth->bindParam(9, $entry->time, PDO_PARAM_INT);
+        $sth->bindParam(10,$entry->status, PDO_PARAM_INT);
+        $sth->bindParam(11,$entry->size, PDO_PARAM_INT);
+        $sth->bindParam(12,$entry->referer, PDO_PARAM_STR, 255);
+        $sth->bindParam(13,$entry->user_agent, PDO_PARAM_STR, 255);
+        $sth->bindParam(14,$entry->duration, PDO_PARAM_FLOAT);
+        $sth->execute();
+    }
 };
 
 class WikiDB_backend_PDO_generic_iter
@@ -1460,6 +1492,21 @@
     }
 
 // $Log: PDO.php,v $
+// Revision 1.12  2007/01/28 22:49:55  rurban
+// use backend specific SQL write_accesslog
+//
+// Revision 1.11  2007/01/04 16:57:32  rurban
+// Clarify API: sortby,limit and exclude are strings. fix upgrade test connection
+//
+// Revision 1.10  2006/12/22 01:04:12  rurban
+// fix syntax error
+//
+// Revision 1.9  2006/11/19 14:04:39  rurban
+// Oops. Syntax error in prev commit
+//
+// Revision 1.8  2006/11/19 14:03:32  rurban
+// Replace IF by CASE in exists_link()
+//
 // Revision 1.7  2006/05/14 12:28:03  rurban
 // mysql 5.x fix for wantedpages join
 //
@@ -1494,4 +1541,4 @@
 // c-hanging-comment-ender-p: nil
 // indent-tabs-mode: nil
 // End:   
-?>
\ No newline at end of file
+?>
diff -ruN 1.3.12p3/lib/WikiDB/backend/PearDB_mysql.php 1.3.14/lib/WikiDB/backend/PearDB_mysql.php
--- 1.3.12p3/lib/WikiDB/backend/PearDB_mysql.php	2006-06-18 06:19:27.000000000 -0500
+++ 1.3.14/lib/WikiDB/backend/PearDB_mysql.php	2007-07-01 05:11:10.000000000 -0500
@@ -1,5 +1,5 @@
 <?php // -*-php-*-
-rcs_id('$Id: PearDB_mysql.php,v 1.23 2006/06/18 11:13:25 rurban Exp $');
+rcs_id('$Id: PearDB_mysql.php,v 1.27 2007/01/04 16:41:14 rurban Exp $');
 
 require_once('lib/WikiDB/backend/PearDB.php');
 
@@ -15,6 +15,7 @@
      */
     function WikiDB_backend_PearDB_mysql($dbparams) {
         $this->WikiDB_backend_PearDB($dbparams);
+        if (DB::isError($this->_dbh)) return;
         //$this->_serverinfo = $this->_dbh->ServerInfo();
         $row = $this->_dbh->GetOne("SELECT version()");
         if (!DB::isError($row) and !empty($row)) {
@@ -114,7 +115,7 @@
     }
 
     /* ISNULL is mysql specific */
-    function wanted_pages($exclude_from='', $exclude='', $sortby=false, $limit=false) {
+    function wanted_pages($exclude_from='', $exclude='', $sortby='', $limit='') {
         $dbh = &$this->_dbh;
         extract($this->_table_names);
         if ($orderby = $this->sortby($sortby, 'db', array('pagename','wantedfrom')))
@@ -126,7 +127,7 @@
             $exclude = " AND p.pagename NOT IN ".$this->_sql_set($exclude);
 
         $sql = "SELECT p.pagename, pp.pagename as wantedfrom"
-            . " FROM $page_tbl p JOIN $link_tbl linked"
+            . " FROM $page_tbl p, $link_tbl linked"
             . " LEFT JOIN $page_tbl pp ON (linked.linkto = pp.id)"
             . " LEFT JOIN $nonempty_tbl ne ON (linked.linkto = ne.id)" 
             . " WHERE ISNULL(ne.id)"
@@ -224,6 +225,14 @@
     }
 }
 
+// $Log: PearDB_mysql.php,v $
+// Revision 1.27  2007/01/04 16:41:14  rurban
+// Allow missing connection permissions on upgrade::_try_dbadmin_user.
+//
+// Revision 1.26  2006/12/22 17:49:05  rurban
+// add Log
+//
+
 // (c-file-style: "gnu")
 // Local Variables:
 // mode: php
diff -ruN 1.3.12p3/lib/WikiDB/backend/PearDB_oci8.php 1.3.14/lib/WikiDB/backend/PearDB_oci8.php
--- 1.3.12p3/lib/WikiDB/backend/PearDB_oci8.php	2006-06-18 06:19:27.000000000 -0500
+++ 1.3.14/lib/WikiDB/backend/PearDB_oci8.php	2007-07-01 05:11:10.000000000 -0500
@@ -1,5 +1,5 @@
 <?php // -*-php-*-
-rcs_id('$Id: PearDB_oci8.php,v 1.9 2005/11/14 22:24:33 rurban Exp $');
+rcs_id('$Id: PearDB_oci8.php,v 1.14 2007/01/28 22:49:55 rurban Exp $');
 
 /**
  * Oracle extensions for the Pear DB backend.
@@ -17,7 +17,8 @@
     function WikiDB_backend_PearDB_oci8($dbparams) {
         // Backend constructor
         $this->WikiDB_backend_PearDB($dbparams);
-        
+        if (DB::isError($this->_dbh)) return;
+
         // Empty strings are NULLS
         $this->_expressions['notempty'] = "IS NOT NULL";
         $this->_expressions['iscontent'] = "DECODE(DBMS_LOB.GETLENGTH(content), NULL, 0, 0, 0, 1)";
@@ -33,7 +34,6 @@
             DB_PORTABILITY_LOWERCASE | DB_PORTABILITY_NULL_TO_EMPTY | DB_PORTABILITY_NUMROWS);
     }
 
-            
     /**
      * Pack tables.
      */
@@ -63,6 +63,42 @@
             $dbh->query("SET TRANSACTION READ ONLY");
         }
     }
+
+    function _quote($s) {
+        return base64_encode($s);
+    }
+
+    function _unquote($s) {
+        return base64_decode($s);
+    }
+
+    function write_accesslog(&$entry) {
+        global $request;
+        $dbh = &$this->_dbh;
+        $log_tbl = $entry->_accesslog->logtable;
+        // duration problem: sprintf "%f" might use comma e.g. "100,201" in european locales
+        $dbh->query("INSERT INTO $log_tbl"
+                    . " (time_stamp,remote_host,remote_user,request_method,request_line,request_uri,"
+                    .   "request_args,request_time,status,bytes_sent,referer,agent,request_duration)"
+                    . " VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?)",
+                    array(
+                          // Problem: date formats are backend specific. Either use unixtime as %d (long),
+                          // or the native timestamp format.
+                          date('d-M-Y H:i:s', $entry->time),
+                          $entry->host, 
+                          $entry->user,
+                          $entry->request_method, 
+                          $entry->request, 
+                          $entry->request_uri,    
+                          $entry->request_args,
+                          $entry->_ncsa_time($entry->time), 
+                          $entry->status, 
+                          $entry->size,
+                          $entry->referer,
+                          $entry->user_agent,
+                          $entry->duration));
+    }
+
 };
 
 class WikiDB_backend_PearDB_oci8_search
@@ -83,6 +119,18 @@
     }
 }
 
+// $Log: PearDB_oci8.php,v $
+// Revision 1.14  2007/01/28 22:49:55  rurban
+// use backend specific SQL write_accesslog
+//
+// Revision 1.13  2007/01/04 16:41:14  rurban
+// Allow missing connection permissions on upgrade::_try_dbadmin_user.
+//
+// Revision 1.12  2006/12/22 00:27:37  rurban
+// just add Log
+//
+
+
 // (c-file-style: "gnu")
 // Local Variables:
 // mode: php
@@ -91,4 +139,4 @@
 // c-hanging-comment-ender-p: nil
 // indent-tabs-mode: nil
 // End:   
-?>
\ No newline at end of file
+?>
diff -ruN 1.3.12p3/lib/WikiDB/backend/PearDB_pgsql.php 1.3.14/lib/WikiDB/backend/PearDB_pgsql.php
--- 1.3.12p3/lib/WikiDB/backend/PearDB_pgsql.php	2006-06-18 06:19:27.000000000 -0500
+++ 1.3.14/lib/WikiDB/backend/PearDB_pgsql.php	2007-07-01 05:11:10.000000000 -0500
@@ -1,15 +1,15 @@
 <?php // -*-php-*-
-rcs_id('$Id: PearDB_pgsql.php,v 1.17 2005/09/11 13:25:12 rurban Exp $');
+rcs_id('$Id: PearDB_pgsql.php,v 1.26 2007/01/04 16:45:49 rurban Exp $');
 
 require_once('lib/ErrorManager.php');
 require_once('lib/WikiDB/backend/PearDB.php');
 
-if (!defined("USE_BYTEA"))     // see schemas/psql-initialize.sql
-    define("USE_BYTEA", true); // only BYTEA is binary safe!
-    //define("USE_BYTEA", false);
+if (!defined("USE_BYTEA")) // see schemas/psql-initialize.sql
+    //define("USE_BYTEA", true);
+    define("USE_BYTEA", false);
 
 /*
-Pending changes from CVS HEAD:
+Since 1.3.12 changed to use:
  * Foreign Keys 
  * ON DELETE CASCADE
  * tsearch2
@@ -30,10 +30,10 @@
         // so that they don't get reported to the user.  (They are
         // not consequential.)  
 
-        //global $ErrorManager;
-        //$ErrorManager->pushErrorHandler(new WikiMethodCb($this,'_pgsql_open_error'));
+        global $ErrorManager;
+        $ErrorManager->pushErrorHandler(new WikiMethodCb($this,'_pgsql_open_error'));
         $this->WikiDB_backend_PearDB($dbparams);
-        //$ErrorManager->popErrorHandler();
+        $ErrorManager->popErrorHandler();
     }
 
     function _pgsql_open_error($error) {
@@ -44,12 +44,13 @@
     }
             
     /**
-     * Pack tables.
+     * Pack tables. 
+     * NOTE: Only the table owner can do this. Either fix the schema or setup autovacuum.
      */
     function optimize() {
+        return 0;	// if the wikiuser is not the table owner
+
         foreach ($this->_table_names as $table) {
-            // see /var/log/postgresql.log for any errors
-            // and disable this line here if the wikiuser doesn't have proper permissions
             $this->_dbh->query("VACUUM ANALYZE $table");
         }
         return 1;
@@ -58,15 +59,18 @@
     function _quote($s) {
         if (USE_BYTEA)
             return pg_escape_bytea($s);
-        else 
-            // pg_escape_string() is broken
+	if (function_exists('pg_escape_string'))
+	    return pg_escape_string($s);
+	else
 	    return base64_encode($s);
     }
 
     function _unquote($s) {
         if (USE_BYTEA)
             return pg_unescape_bytea($s);
-        else
+	if (function_exists('pg_escape_string'))
+	    return $s;
+	else
 	    return base64_decode($s);
     }
 
@@ -98,9 +102,71 @@
     }
 
     /**
+     * Create a new revision of a page.
+     */
+    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));
+
+        @$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));
+        $dbh->query(sprintf("INSERT INTO version (id,version,mtime,minor_edit,content,versiondata)" .
+                            " VALUES (%d, %d, %d, %d, '%s', '%s')",
+                            $id, $version, $mtime, $minor_edit,
+                            $this->_quote($content),
+                            $this->_serialize($data)));
+        // TODO: This function does not work yet
+        $dbh->query(sprintf("SELECT update_recent (%d, %d)", $id, $version));
+        $this->unlock();
+    }
+
+    /**
+     * Delete an old revision of a page.
+     */
+    function _todo_delete_versiondata($pagename, $version) {
+        $dbh = &$this->_dbh;
+        // TODO: This function was removed
+        $dbh->query(sprintf("SELECT delete_versiondata (%d, %d)", $id, $version));
+    }
+
+    /**
+     * Rename page in the database.
+     */
+    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)) {
+                // Cludge Alert!
+                // This page does not exist (already verified before), but exists in the page table.
+                // So we delete this page in one step.
+                $dbh->query("SELECT prepare_rename_page($id, $new)");
+            }
+            $dbh->query(sprintf("UPDATE $page_tbl SET pagename='%s' WHERE id=$id",
+                                $dbh->escapeSimple($to)));
+        }
+        $this->unlock();
+        return $id;
+    }
+
+    /**
      * Lock all tables we might use.
      */
-    function _lock_tables($write_lock = true) {
+    function _lock_tables($write_lock=true) {
         $this->_dbh->query("BEGIN");
     }
 
@@ -133,6 +199,64 @@
             return unserialize($data);
         return unserialize($this->_unquote($data));
     }
+
+    /**
+     * Title search.
+     */
+    function text_search($search, $fulltext=false, $sortby='', $limit='', 
+                         $exclude='') 
+    {
+        $dbh = &$this->_dbh;
+        extract($this->_table_names);
+        $orderby = $this->sortby($sortby, 'db');
+        if ($sortby and $orderby) $orderby = ' ORDER BY ' . $orderby;
+
+        $searchclass = get_class($this)."_search";
+        // no need to define it everywhere and then fallback. memory!
+        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;
+
+        if ($fulltext) {
+            $table .= ", $recent_tbl";
+            $join_clause .= " AND $page_tbl.id=$recent_tbl.id";
+
+            $table .= ", $version_tbl";
+            $join_clause .= " AND $page_tbl.id=$version_tbl.id AND latestversion=version";
+
+            $fields .= ", $page_tbl.pagedata as pagedata, " . $this->version_tbl_fields;
+	    // TODO: title still ignored, need better rank and subselect
+            $callback = new WikiMethodCb($searchobj, "_fulltext_match_clause");
+            $search_string = $search->makeTsearch2SqlClauseObj($callback);
+            $search_string = str_replace(array("%"," "), array("","&"), $search_string);
+            $search_clause = "idxFTI @@ to_tsquery('$search_string')";
+            if (!$orderby)
+               $orderby = " ORDER BY rank(idxFTI, to_tsquery('$search_string')) DESC";
+        } else {
+            $callback = new WikiMethodCb($searchobj, "_pagename_match_clause");
+            $search_clause = $search->makeSqlClauseObj($callback);
+        }
+        
+        $sql = "SELECT $fields FROM $table"
+            . " WHERE $join_clause"
+            . "  AND ($search_clause)"
+            . $orderby;
+         if ($limit) {
+             list($from, $count) = $this->limit($limit);
+             $result = $dbh->limitQuery($sql, $from, $count);
+         } else {
+             $result = $dbh->query($sql);
+         }
+        
+        $iter = new WikiDB_backend_PearDB_iter($this, $result);
+        $iter->stoplisted = @$searchobj->stoplisted;
+        return $iter;
+    }
+
 };
 
 class WikiDB_backend_PearDB_pgsql_search
@@ -150,15 +274,60 @@
                     : "pagename ILIKE '$word'");
         }
     }
-    function _fulltext_match_clause($node) { 
-        $word = $node->sql();
-        return $this->_pagename_match_clause($node) 
-            . ($this->_case_exact
-               ? " OR content LIKE '$word'"
-               : " OR content ILIKE '$word'");
+
+    /*
+     most used words:
+select * from stat('select idxfti from version') order by ndoc desc, nentry desc, word limit 10;
+      word       | ndoc | nentry
+-----------------+------+--------
+ plugin          |  112 |    418
+ page            |   85 |    446
+ phpwikidocument |   62 |     62
+ use             |   48 |    169
+ help            |   46 |     96
+ wiki            |   44 |    102
+ name            |   43 |    131
+ phpwiki         |   42 |    173
+ 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 "|"
+     * tsearch2 query language: @@ "word | word", "word & word", ! word
+     * ~* '.*something that does not exist.*'
+     */
+    /*
+     phrase search for "history lesson":
+
+     SELECT id FROM tab WHERE ts_idx_col @@ to_tsquery('history&lesson')
+     AND text_col ~* '.*history\\s+lesson.*';
+
+     The full-text index will still be used, and the regex will be used to
+     prune the results afterwards.
+    */
+    function _fulltext_match_clause($node) {
+        $word = strtolower($node->word);
+        $word = str_replace(" ", "&", $word); // phrase fix
+        return $word;
+
+        // clause specified above.
+        return $this->_pagename_match_clause($node) . " OR idxFTI @@ to_tsquery('$word')";
     }
 }
 
+// $Log: PearDB_pgsql.php,v $
+// Revision 1.26  2007/01/04 16:45:49  rurban
+// Clarify API: sortby,limit and exclude are strings.
+//
+// Revision 1.25  2006/12/23 11:56:17  rurban
+// note about vacuum permissions
+//
+// Revision 1.24  2006/12/22 00:27:37  rurban
+// just add Log
+//
+
 // (c-file-style: "gnu")
 // Local Variables:
 // mode: php
@@ -167,4 +336,4 @@
 // c-hanging-comment-ender-p: nil
 // indent-tabs-mode: nil
 // End:   
-?>
\ No newline at end of file
+?>
diff -ruN 1.3.12p3/lib/WikiDB/backend/PearDB.php 1.3.14/lib/WikiDB/backend/PearDB.php
--- 1.3.12p3/lib/WikiDB/backend/PearDB.php	2006-06-18 06:19:27.000000000 -0500
+++ 1.3.14/lib/WikiDB/backend/PearDB.php	2007-07-01 05:11:10.000000000 -0500
@@ -1,5 +1,5 @@
 <?php // -*-php-*-
-rcs_id('$Id: PearDB.php,v 1.92 2005/09/14 06:04:43 rurban Exp $');
+rcs_id('$Id: PearDB.php,v 1.108 2007/06/07 21:37:39 rurban Exp $');
 
 require_once('lib/WikiDB/backend.php');
 //require_once('lib/FileFinder.php');
@@ -35,7 +35,7 @@
 
         // Install filter to handle bogus error notices from buggy DB.php's.
         // TODO: check the Pear_DB version, but how?
-        if (0) {
+        if (DEBUG) {
             global $ErrorManager;
             $ErrorManager->pushErrorHandler(new WikiMethodCb($this, '_pear_notice_filter'));
             $this->_pearerrhandler = true;
@@ -56,7 +56,10 @@
         if (DB::isError($dbh)) {
             trigger_error(sprintf("Can't connect to database: %s",
                                   $this->_pear_error_message($dbh)),
-                          E_USER_ERROR);
+                          isset($dbparams['_tryroot_from_upgrade']) // hack!
+                            ? E_USER_WARNING : E_USER_ERROR);
+            if (isset($dbparams['_tryroot_from_upgrade']))
+                return;                
         }
         $dbh->setErrorHandling(PEAR_ERROR_CALLBACK,
                                array($this, '_pear_error_callback'));
@@ -212,10 +215,10 @@
                             $dbh->escapeSimple($this->_serialize($data)),
                             $dbh->escapeSimple($pagename)));
         */
-        $sth = $dbh->query("UPDATE $page_tbl"
-                           . " SET hits=?, pagedata=?"
-                           . " WHERE pagename=?",
-                           array($hits, $this->_serialize($data), $pagename));
+        $dbh->query("UPDATE $page_tbl"
+                    . " SET hits=?, pagedata=?"
+                    . " WHERE pagename=?",
+                    array($hits, $this->_serialize($data), $pagename));
         $this->unlock(array($page_tbl));
     }
 
@@ -229,10 +232,10 @@
     function set_cached_html($pagename, $data) {
         $dbh = &$this->_dbh;
         $page_tbl = $this->_table_names['page_tbl'];
-        $sth = $dbh->query("UPDATE $page_tbl"
-                           . " SET cached_html=?"
-                           . " WHERE pagename=?",
-                           array($data, $pagename));
+        $dbh->query("UPDATE $page_tbl"
+                    . " SET cached_html=?"
+                    . " WHERE pagename=?",
+                    array($data, $pagename));
     }
 
     function _get_pageid($pagename, $create_if_missing = false) {
@@ -246,6 +249,9 @@
             }
         }
 
+	// attributes play this game.
+        if ($pagename === '') return 0;
+
         $dbh = &$this->_dbh;
         $page_tbl = $this->_table_names['page_tbl'];
         
@@ -260,6 +266,8 @@
             $this->lock(array($page_tbl), true); // write lock
             $max_id = $dbh->getOne("SELECT MAX(id) FROM $page_tbl");
             $id = $max_id + 1;
+            // requires createSequence and on mysql lock the interim table ->getSequenceName
+            //$id = $dbh->nextId($page_tbl . "_id");
             $dbh->query(sprintf("INSERT INTO $page_tbl"
                                 . " (id,pagename,hits)"
                                 . " VALUES (%d,'%s',0)",
@@ -342,6 +350,13 @@
         if (!$query_result)
             return false;
 
+        /* Earlier versions (<= 1.3.7) stored the version data in base64.
+           This could be done here or in upgrade.
+        */
+        if (!strstr($query_result['versiondata'], ":")) {
+            $query_result['versiondata'] = 
+                base64_decode($query_result['versiondata']);
+        }
         $data = $this->_unserialize($query_result['versiondata']);
         
         $data['mtime'] = $query_result['mtime'];
@@ -388,19 +403,9 @@
         $this->lock();
         $id = $this->_get_pageid($pagename, true);
 
-        // FIXME: optimize: mysql can do this with one REPLACE INTO (I think).
         $dbh->query(sprintf("DELETE FROM $version_tbl"
                             . " WHERE id=%d AND version=%d",
                             $id, $version));
-
-        /* mysql optimized version. 
-        $dbh->query(sprintf("INSERT INTO $version_tbl"
-                            . " (id,version,mtime,minor_edit,content,versiondata)"
-                            . " VALUES(%d,%d,%d,%d,'%s','%s')",
-                            $id, $version, $mtime, $minor_edit,
-                            $dbh->quoteSmart($content),
-                            $dbh->quoteSmart($this->_serialize($data))));
-        */
         // generic slow PearDB bind eh quoting.
         $dbh->query("INSERT INTO $version_tbl"
                     . " (id,version,mtime,minor_edit,content,versiondata)"
@@ -425,6 +430,7 @@
         if ( ($id = $this->_get_pageid($pagename)) ) {
             $dbh->query("DELETE FROM $version_tbl"
                         . " WHERE id=$id AND version=$version");
+
             $this->_update_recent_table($id);
             // This shouldn't be needed (as long as the latestversion
             // never gets deleted.)  But, let's be safe.
@@ -466,9 +472,9 @@
         
         $this->lock();
         if ( ($id = $this->_get_pageid($pagename, false)) ) {
-            $dbh->query("DELETE FROM $version_tbl  WHERE id=$id");
-            $dbh->query("DELETE FROM $recent_tbl   WHERE id=$id");
             $dbh->query("DELETE FROM $nonempty_tbl WHERE id=$id");
+            $dbh->query("DELETE FROM $recent_tbl   WHERE id=$id");
+            $dbh->query("DELETE FROM $version_tbl  WHERE id=$id");
             $dbh->query("DELETE FROM $link_tbl     WHERE linkfrom=$id");
             $nlinks = $dbh->getOne("SELECT COUNT(*) FROM $link_tbl WHERE linkto=$id");
             if ($nlinks) {
@@ -507,27 +513,48 @@
         $pageid = $this->_get_pageid($pagename, true);
 
         $dbh->query("DELETE FROM $link_tbl WHERE linkfrom=$pageid");
-
 	if ($links) {
-            foreach($links as $link) {
+	    $linkseen = array();
+            foreach ($links as $link) {
+                $linkto = $link['linkto'];
+                if ($linkto === "") { // ignore attributes
+                    continue;
+                }
+                if ($link['relation'])
+                    $relation = $this->_get_pageid($link['relation'], true);
+                else 
+                    $relation = 0;
                 // avoid duplicates
-                if (isset($linkseen[$link]))
+                if (isset($linkseen[$linkto]) and !$relation)
                     continue;
-                $linkseen[$link] = true;
-                $linkid = $this->_get_pageid($link, true);
+                if (!$relation)
+                    $linkseen[$linkto] = true;
+                $linkid = $this->_get_pageid($linkto, true);
+              	if (!$linkid) {
+               	    echo("No link for $linkto on page $pagename");
+               	    //printSimpleTrace(debug_backtrace());
+               	    trigger_error("No link for $linkto on page $pagename");
+                }
                 assert($linkid);
-                $dbh->query("INSERT INTO $link_tbl (linkfrom, linkto)"
-                            . " VALUES ($pageid, $linkid)");
+                $dbh->query("INSERT INTO $link_tbl (linkfrom, linkto, relation)"
+                            . " VALUES ($pageid, $linkid, $relation)");
             }
+	    unset($linkseen);
 	}
         $this->unlock();
     }
     
     /**
      * Find pages which link to or are linked from a page.
+     *
+     * TESTME relations: get_links is responsible to add the relation to the pagehash 
+     * as 'linkrelation' key as pagename. See WikiDB_PageIterator::next 
+     *   if (isset($next['linkrelation']))
      */
     function get_links($pagename, $reversed=true, $include_empty=false,
-                       $sortby=false, $limit=false, $exclude='') {
+                       $sortby='', $limit='', $exclude='', 
+                       $want_relations = false)
+    {
         $dbh = &$this->_dbh;
         extract($this->_table_names);
 
@@ -543,9 +570,12 @@
             $exclude='';
 
         $qpagename = $dbh->escapeSimple($pagename);
-        $sql = "SELECT $want.id AS id, $want.pagename AS pagename "
-            . " FROM $link_tbl, $page_tbl linker, $page_tbl linkee"
-            . (!$include_empty ? ", $nonempty_tbl" : '')
+        $sql = "SELECT $want.id AS id, $want.pagename AS pagename, "
+            . ($want_relations ? " related.pagename as linkrelation" : " $want.hits AS hits")
+            . " FROM "
+            . (!$include_empty ? "$nonempty_tbl, " : '')
+            . " $page_tbl linkee, $page_tbl linker, $link_tbl "
+            . ($want_relations ? " JOIN $page_tbl related ON ($link_tbl.relation=related.id)" : '')
             . " WHERE linkfrom=linker.id AND linkto=linkee.id"
             . " AND $have.pagename='$qpagename'"
             . (!$include_empty ? " AND $nonempty_tbl.id=$want.id" : "")
@@ -576,16 +606,15 @@
             list($have, $want) = array('linker', 'linkee');
         $qpagename = $dbh->escapeSimple($pagename);
         $qlink = $dbh->escapeSimple($link);
-        $row = $dbh->GetRow("SELECT IF($want.pagename,1,0) as result"
-                                . " FROM $link_tbl, $page_tbl linker, $page_tbl linkee, $nonempty_tbl"
-                                . " WHERE linkfrom=linker.id AND linkto=linkee.id"
-                                . " AND $have.pagename='$qpagename'"
-                                . " AND $want.pagename='$qlink'"
-                                . " LIMIT 1");
+        $row = $dbh->GetRow("SELECT CASE WHEN $want.pagename='$qlink' THEN 1 ELSE 0 END as result"
+                            . " FROM $link_tbl, $page_tbl linker, $page_tbl linkee, $nonempty_tbl"
+                            . " WHERE linkfrom=linker.id AND linkto=linkee.id"
+                            . " AND $have.pagename='$qpagename'"
+                            . " AND $want.pagename='$qlink'");
         return $row['result'];
     }
 
-    function get_all_pages($include_empty=false, $sortby=false, $limit=false, $exclude='') {
+    function get_all_pages($include_empty=false, $sortby='', $limit='', $exclude='') {
         $dbh = &$this->_dbh;
         extract($this->_table_names);
         $orderby = $this->sortby($sortby, 'db');
@@ -644,9 +673,10 @@
         
     /**
      * Title search.
+     * Todo: exclude
      */
-    function text_search($search, $fulltext=false, $sortby=false, $limit=false, 
-                         $exclude=false) 
+    function text_search($search, $fulltext=false, $sortby='', $limit='', 
+                         $exclude='') 
     {
         $dbh = &$this->_dbh;
         extract($this->_table_names);
@@ -841,7 +871,7 @@
     /**
      * Find referenced empty pages.
      */
-    function wanted_pages($exclude_from='', $exclude='', $sortby=false, $limit=false) {
+    function wanted_pages($exclude_from='', $exclude='', $sortby='', $limit='') {
         $dbh = &$this->_dbh;
         extract($this->_table_names);
         if ($orderby = $this->sortby($sortby, 'db', array('pagename','wantedfrom')))
@@ -851,16 +881,17 @@
             $exclude_from = " AND pp.pagename NOT IN ".$this->_sql_set($exclude_from);
         if ($exclude) // array of pagenames
             $exclude = " AND p.pagename NOT IN ".$this->_sql_set($exclude);
-        $sql = "SELECT p.pagename, pp.pagename as wantedfrom"
-            . " FROM $page_tbl p JOIN $link_tbl linked"
-            . " LEFT JOIN $page_tbl pp ON linked.linkto = pp.id"
-            . " LEFT JOIN $nonempty_tbl ne ON linked.linkto = ne.id" 
-            . " WHERE ne.id is NULL"
-	    .       " AND p.id = linked.linkfrom"
+        $sql = "SELECT p.pagename, pp.pagename AS wantedfrom"
+            . " FROM $page_tbl p, $link_tbl linked"
+            .   " LEFT JOIN $page_tbl pp ON linked.linkto = pp.id"
+            .   " LEFT JOIN $nonempty_tbl ne ON linked.linkto = ne.id"
+            . " WHERE ne.id IS NULL"
+            .       " AND p.id = linked.linkfrom"
             . $exclude_from
             . $exclude
             . $orderby;
         if ($limit) {
+            // oci8 error: WHERE NULL = NULL appended
             list($from, $count) = $this->limit($limit);
             $result = $dbh->limitQuery($sql, $from, $count * 3);
         } else {
@@ -890,13 +921,13 @@
                 // Cludge Alert!
                 // This page does not exist (already verified before), but exists in the page table.
                 // So we delete this page.
-                $dbh->query("DELETE FROM $page_tbl WHERE id=$new");
-                $dbh->query("DELETE FROM $version_tbl WHERE id=$new");
-                $dbh->query("DELETE FROM $recent_tbl WHERE id=$new");
                 $dbh->query("DELETE FROM $nonempty_tbl WHERE id=$new");
+                $dbh->query("DELETE FROM $recent_tbl WHERE id=$new");
+                $dbh->query("DELETE FROM $version_tbl WHERE id=$new");
                 // We have to fix all referring tables to the old id
                 $dbh->query("UPDATE $link_tbl SET linkfrom=$id WHERE linkfrom=$new");
                 $dbh->query("UPDATE $link_tbl SET linkto=$id WHERE linkto=$new");
+                $dbh->query("DELETE FROM $page_tbl WHERE id=$new");
             }
             $dbh->query(sprintf("UPDATE $page_tbl SET pagename='%s' WHERE id=$id",
                                 $dbh->escapeSimple($to)));
@@ -1129,6 +1160,7 @@
         } else {
             // TODO: try ADODB version?
             trigger_error("Unsupported dbtype and backend. Either switch to ADODB or check it manually.");
+            return false;
         }
     }
 };
@@ -1165,7 +1197,6 @@
     }
     
     function next() {
-        $backend = &$this->_backend;
         if (!$this->_result)
             return false;
 
@@ -1184,6 +1215,13 @@
             $this->_result = false;
         }
     }
+
+    function asArray () {
+    	$result = array();
+    	while ($page = $this->next())
+    	    $result[] = $page;
+        return $result;
+    }
 }
 
 class WikiDB_backend_PearDB_iter
@@ -1221,12 +1259,55 @@
 }
 
 // $Log: PearDB.php,v $
+// Revision 1.108  2007/06/07 21:37:39  rurban
+// add native asArray methods to generic iters (for DebugInfo)
+//
+// Revision 1.107  2007/05/28 20:13:46  rurban
+// Overwrite all attributes at once at page->save to delete dangling meta
+//
+// Revision 1.106  2007/01/04 16:57:32  rurban
+// Clarify API: sortby,limit and exclude are strings. fix upgrade test connection
+//
+// Revision 1.105  2006/12/23 13:03:32  rurban
+// reorder deletion
+//
+// Revision 1.104  2006/12/23 11:44:56  rurban
+// deal with strict references and the order of deletion
+//
+// Revision 1.103  2006/12/03 17:11:53  rurban
+// #1535832 by matt brown: Check for base 64 encoded version data
+//
+// Revision 1.102  2006/12/02 21:57:27  rurban
+// fix WantedPages SQL: no JOIN
+// clarify first condition in CASE WHEN
+//
+// Revision 1.101  2006/11/29 19:49:05  rurban
+// fix CASE WHEN SQL syntax error from previous commit
+//
+// Revision 1.100  2006/11/19 13:59:11  rurban
+// Replace IF by CASE in exists_link()
+//
+// Revision 1.99  2006/10/08 12:40:51  rurban
+// minor cleanup: remove unused vars
+//
+// Revision 1.98  2006/06/03 08:50:41  rurban
+// revert wrong pear DB nextID() usage, our old is easier
+//
 // Revision 1.97  2006/05/14 12:28:03  rurban
 // mysql 5.x fix for wantedpages join
 //
+// Revision 1.96  2006/04/15 12:28:53  rurban
+// use pear nextID
+//
+// Revision 1.95  2006/02/22 21:52:28  rurban
+// whitespace only
+//
 // Revision 1.94  2005/11/14 22:24:33  rurban
 // fix fulltext search,
 // Eliminate stoplist words,
+// don't extract %pagedate twice in ADODB,
+// add SemanticWeb support: link(relation),
+// major postgresql update: stored procedures, tsearch2 for fulltext
 //
 // Revision 1.93  2005/10/10 19:42:15  rurban
 // fix wanted_pages SQL syntax
@@ -1456,4 +1537,4 @@
 // c-hanging-comment-ender-p: nil
 // indent-tabs-mode: nil
 // End:   
-?>
\ No newline at end of file
+?>
diff -ruN 1.3.12p3/lib/WikiDB/backend/sqlite-destroy.sql 1.3.14/lib/WikiDB/backend/sqlite-destroy.sql
--- 1.3.12p3/lib/WikiDB/backend/sqlite-destroy.sql	2006-06-18 06:19:27.000000000 -0500
+++ 1.3.14/lib/WikiDB/backend/sqlite-destroy.sql	1969-12-31 18:00:00.000000000 -0600
@@ -1,14 +0,0 @@
--- http://www.hezmatt.org/~mpalmer/sqlite-phpwiki/sqlite.sql
-
--- $Id: sqlite-destroy.sql,v 1.3 2005/09/28 19:27:23 rurban Exp $
-
-DROP TABLE page;
-DROP TABLE version;
-DROP TABLE recent;
-DROP TABLE nonempty;
-DROP TABLE link;
-DROP TABLE session;
-DROP TABLE pref;
-DROP TABLE member;
-DROP TABLE rating;
-DROP TABLE accesslog;
diff -ruN 1.3.12p3/lib/WikiDB/backend/sqlite-initialize.sql 1.3.14/lib/WikiDB/backend/sqlite-initialize.sql
--- 1.3.12p3/lib/WikiDB/backend/sqlite-initialize.sql	2006-06-18 06:19:27.000000000 -0500
+++ 1.3.14/lib/WikiDB/backend/sqlite-initialize.sql	1969-12-31 18:00:00.000000000 -0600
@@ -1,108 +0,0 @@
--- http://www.hezmatt.org/~mpalmer/sqlite-phpwiki/sqlite.sql
-
--- $Id: sqlite-initialize.sql,v 1.4 2005/09/28 19:27:23 rurban Exp $
-
-CREATE TABLE page (
-	id              INTEGER PRIMARY KEY,
-	pagename        VARCHAR(100) NOT NULL,
-	hits            INTEGER NOT NULL DEFAULT 0,
-	pagedata        MEDIUMTEXT NOT NULL DEFAULT '',
-	cached_html 	MEDIUMTEXT               -- added with 1.3.11
-);
-CREATE UNIQUE INDEX page_index ON page (pagename);
-
-CREATE TABLE version (
-	id              INTEGER NOT NULL,
-	version         INTEGER NOT NULL,
-	mtime           INTEGER NOT NULL,
-	minor_edit      TINYINTEGER DEFAULT 0,
-	content         MEDIUMTEXT NOT NULL DEFAULT '',
-	versiondata     MEDIUMTEXT NOT NULL DEFAULT '',
-	PRIMARY KEY (id,version)
-);
-CREATE INDEX version_index ON version (mtime);
-
-CREATE TABLE recent (
-	id              INTEGER NOT NULL PRIMARY KEY,
-	latestversion   INTEGER,
-	latestmajor     INTEGER,
-	latestminor     INTEGER
-);
-
-CREATE TABLE nonempty (
-	id              INTEGER NOT NULL
-);
-CREATE INDEX nonempty_index ON nonempty (id);
-
-CREATE TABLE link (
-	linkfrom        INTEGER NOT NULL,
-	linkto          INTEGER NOT NULL
-);
-CREATE INDEX linkfrom_index ON link (linkfrom);
-CREATE INDEX linkto_index ON link (linkto);
-
-CREATE TABLE session (
-	sess_id   CHAR(32) NOT NULL DEFAULT '' PRIMARY KEY,
-	sess_data MEDIUMTEXT NOT NULL,
-	sess_date INTEGER UNSIGNED NOT NULL,
-	sess_ip   CHAR(40) NOT NULL
-);
-CREATE INDEX sessdate_index ON session (sess_date);
-CREATE INDEX sessip_index ON session (sess_ip);
-
--- Optional DB Auth and Prefs
--- For these tables below the default table prefix must be used 
--- in the DBAuthParam SQL statements also.
-
-CREATE TABLE pref (
-  	userid 	CHAR(48) NOT NULL PRIMARY KEY,
-  	prefs  	MEDIUMTEXT NULL DEFAULT '',
-  	passwd 	CHAR(48) DEFAULT '',
-	groupname CHAR(48) DEFAULT 'users',
-);
-
--- Use the member table, if you need it for n:m user-group relations,
--- and adjust your DBAUTH_AUTH_ SQL statements.
-CREATE TABLE member (
-	userid    CHAR(48) NOT NULL,
-   	groupname CHAR(48) NOT NULL DEFAULT 'users'
-);
-CREATE INDEX member_userid ON member (userid);
-CREATE INDEX member_groupname ON member (groupname);
-
--- only if you plan to use the wikilens theme
-CREATE TABLE rating (
-        dimension TINYINTEGER NOT NULL,
-        raterpage INTEGER NOT NULL,
-        rateepage INTEGER NOT NULL,
-        ratingvalue FLOAT NOT NULL,
-        rateeversion INTEGER NOT NULL,
-        tstamp INTEGER UNSIGNED NOT NULL,
-        PRIMARY KEY (dimension, raterpage, rateepage)
-);
-CREATE INDEX rating_dimension ON rating (dimension);
-CREATE INDEX rating_raterpage ON rating (raterpage);
-CREATE INDEX rating_rateepage ON rating (rateepage);
-
--- if ACCESS_LOG_SQL > 0
--- only if you need fast log-analysis (spam prevention, recent referrers)
--- see http://www.outoforder.cc/projects/apache/mod_log_sql/docs-2.0/#id2756178
-CREATE TABLE accesslog (
-        time_stamp    INTEGER UNSIGNED,
-	remote_host   VARCHAR(50),
-	remote_user   VARCHAR(50),
-        request_method VARCHAR(10),
-	request_line  VARCHAR(255),
-	request_args  VARCHAR(255),
-	request_file  VARCHAR(255),
-	request_uri   VARCHAR(255),
-	request_time  CHAR(28),
-	status 	      TINYINTEGER UNSIGNED,
-	bytes_sent    TINYINTEGER UNSIGNED,
-        referer       VARCHAR(255), 
-	agent         VARCHAR(255),
-	request_duration FLOAT
-);
-CREATE INDEX log_time ON accesslog (time_stamp);
-CREATE INDEX log_host ON accesslog (remote_host);
--- create extra indices on demand (usually referer. see plugin/AccessLogSql)
diff -ruN 1.3.12p3/lib/WikiDB/backend.php 1.3.14/lib/WikiDB/backend.php
--- 1.3.12p3/lib/WikiDB/backend.php	2006-06-18 06:19:27.000000000 -0500
+++ 1.3.14/lib/WikiDB/backend.php	2007-07-01 05:11:10.000000000 -0500
@@ -1,5 +1,5 @@
 <?php // -*-php-*-
-rcs_id('$Id: backend.php,v 1.26 2005/11/14 22:24:33 rurban Exp $');
+rcs_id('$Id: backend.php,v 1.33 2007/06/07 21:35:04 rurban Exp $');
 
 /*
   Pagedata
@@ -271,7 +271,7 @@
      * @return object A WikiDB_backend_iterator.
      */
     function get_links($pagename, $reversed, $include_empty=false,
-                       $sortby=false, $limit=false, $exclude=false) {
+                       $sortby='', $limit='', $exclude='') {
         //FIXME: implement simple (but slow) link finder.
         die("FIXME get_links");
     }
@@ -306,7 +306,7 @@
      *
      * @return object A WikiDB_backend_iterator.
      */
-    function get_all_pages($include_defaulted, $orderby=false, $limit=false, $exclude=false) {
+    function get_all_pages($include_defaulted, $orderby=false, $limit='', $exclude='') {
         trigger_error("virtual", E_USER_ERROR);
     }
         
@@ -328,7 +328,9 @@
      *
      * @see WikiDB::titleSearch
      */
-    function text_search($search, $fulltext=false, $sortby=false, $limit=false, $exclude=false) {
+    function text_search($search, $fulltext=false, $sortby='', 
+			 $limit='', $exclude='') 
+    {
         // This is method implements a simple linear search
         // through all the pages in the database.
         //
@@ -342,6 +344,25 @@
                                                             'exclude' => $exclude));
     }
 
+
+    /**
+     *
+     * @access protected
+     * @param $pages     object A TextSearchQuery object.
+     * @param $linkvalue object A TextSearchQuery object for the linkvalues 
+     *                          (linkto, relation or backlinks or attribute values).
+     * @param $linktype  string One of the 4 linktypes.
+     * @param $relation  object A TextSearchQuery object or false.
+     * @param $options   array Currently ignored. hash of sortby, limit, exclude.
+     * @return object A WikiDB_backend_iterator.
+     * @see WikiDB::linkSearch
+     */
+    function link_search( $pages, $linkvalue, $linktype, $relation=false, $options=array() ) {
+        include_once('lib/WikiDB/backend/dumb/LinkSearchIter.php');
+        $pageiter = $this->text_search($pages);
+        return new WikiDB_backend_dumb_LinkSearchIter($this, $pageiter, $linkvalue, $linktype, $relation, $options);
+    }
+
     /**
      * Find pages with highest hit counts.
      *
@@ -349,7 +370,7 @@
      * be returned in reverse order by hit count.
      *
      * @access protected
-     * @param $limit integer  No more than this many pages
+     * @param integer $limit No more than this many pages
      * @return object A WikiDB_backend_iterator.
      */
     function most_popular($limit, $sortby='-hits') {
@@ -384,7 +405,7 @@
         return new WikiDB_backend_dumb_MostRecentIter($this, $pages, $params);
     }
 
-    function wanted_pages($exclude_from='', $exclude='', $sortby=false, $limit=false) {
+    function wanted_pages($exclude_from='', $exclude='', $sortby='', $limit='') {
         include_once('lib/WikiDB/backend/dumb/WantedPagesIter.php');
         $allpages = $this->get_all_pages(true,false,false,$exclude_from);
         return new WikiDB_backend_dumb_WantedPagesIter($this, $allpages, $exclude, $sortby, $limit);
@@ -451,7 +472,8 @@
     }
 
     /**
-     * Put the database into a consistent state.
+     * Put the database into a consistent state 
+     * by reparsing and restoring all pages.
      *
      * This should put the database into a consistent state.
      * (I.e. rebuild indexes, etc...)
@@ -459,6 +481,24 @@
      * @return boolean True iff successful.
      */
     function rebuild() {
+	global $request;
+	$dbh = $request->getDbh();
+    	$iter = $dbh->getAllPages(false);
+        while ($page = $iter->next()) {
+	    $current = $page->getCurrentRevision(true);
+	    $pagename = $page->getName();
+	    $meta = $current->_data;
+	    $version = $current->getVersion();
+	    $content =& $meta['%content'];
+	    $formatted = new TransformedText($page, $content, $current->getMetaData());
+	    $type = $formatted->getType();
+	    $meta['pagetype'] = $type->getName();
+	    $links = $formatted->getWikiPageLinks(); // linkto => relation
+	    $this->lock(array('version','page','recent','link','nonempty'));
+	    $this->set_versiondata($pagename, $version, $meta);
+	    $this->set_links($pagename, $links);
+	    $this->unlock(array('version','page','recent','link','nonempty'));
+        }
     }
 
     function _parse_searchwords($search) {
@@ -560,6 +600,33 @@
     function isSQL () {
         return in_array(DATABASE_TYPE, array('SQL','ADODB','PDO'));
     }
+
+    function write_accesslog(&$entry) {
+        global $request;
+        $dbh = &$this->_dbh;
+        $log_tbl = $entry->_accesslog->logtable;
+        // duration problem: sprintf "%f" might use comma e.g. "100,201" in european locales
+        $dbh->query("INSERT INTO $log_tbl"
+                    . " (time_stamp,remote_host,remote_user,request_method,request_line,request_uri,"
+                    .   "request_args,request_time,status,bytes_sent,referer,agent,request_duration)"
+                    . " VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?)",
+                    array(
+                          // Problem: date formats are backend specific. Either use unixtime as %d (long),
+                          // or the native timestamp format.
+                          $entry->time,
+                          $entry->host, 
+                          $entry->user,
+                          $entry->request_method, 
+                          $entry->request, 
+                          $entry->request_uri,    
+                          $entry->request_args,
+                          $entry->_ncsa_time($entry->time), 
+                          $entry->status, 
+                          (int)$entry->size,
+                          $entry->referer,
+                          $entry->user_agent,
+                          $entry->duration));
+    }
 };
 
 /**
@@ -576,23 +643,41 @@
      *
      * This returns a hash. The hash may contain the following keys:
      * <dl>
-     * <dt> pagename <dt> (string) the page name
+     * <dt> pagename <dt> (string) the page name or linked page name on link iterators
      * <dt> version  <dt> (int) the version number
      * <dt> pagedata <dt> (hash) page meta-data (as returned from backend::get_pagedata().)
      * <dt> versiondata <dt> (hash) page meta-data (as returned from backend::get_versiondata().)
+     * <dt> linkrelation <dt> (string) the page naming the relation (e.g. isa:=page <=> isa)
      *
      * If this is a page iterator, it must contain the 'pagename' entry --- the others
      * are optional.
      *
      * If this is a version iterator, the 'pagename', 'version', <strong>and</strong> 'versiondata'
      * entries are mandatory.  ('pagedata' is optional.)
+     *
+     * If this is a link iterator, the 'pagename' is mandatory, 'linkrelation' is optional.
      */
     function next() {
         trigger_error("virtual", E_USER_ERROR);
     }
 
     function count() {
-        return count($this->_pages);
+    	if (!empty($this->_pages))
+	    return count($this->_pages);
+	else
+	    return 0;    
+    }
+
+    function asArray() {
+    	if (!empty($this->_pages)) {
+            reset($this->_pages);
+            return $this->_pages;
+    	} else {
+    	    $result = array();
+    	    while ($page = $this->next())
+    	        $result[] = $page;
+            return $result;
+    	}
     }
 
     /**
@@ -609,9 +694,9 @@
 {
     function WikiDB_backend_search($search, &$dbh) {
         $this->_dbh = $dbh;
-        $this->_case_exact =  $search->_case_exact;
+        $this->_case_exact = $search->_case_exact;
         $this->_stoplist   =& $search->_stoplist;
-        $this->_stoplisted = array();
+        $this->stoplisted = array();
     }
     function _quote($word) {
         return preg_quote($word, "/");
@@ -629,19 +714,20 @@
         return "preg_match(\"/\".$word.\"/\"".($this->_case_exact ? "i":"").")";
     }
     /* Eliminate stoplist words.
-       Keep a list of Stoplisted words to inform the poor user. */
+     *  Keep a list of Stoplisted words to inform the poor user. 
+     */
     function isStoplisted ($node) {
     	// check only on WORD or EXACT fulltext search
     	if ($node->op != 'WORD' and $node->op != 'EXACT')
     	    return false;
         if (preg_match("/^".$this->_stoplist."$/i", $node->word)) {
-            array_push($this->_stoplisted, $node->word);
+            array_push($this->stoplisted, $node->word);
             return true;
         }
         return false;
     }
     function getStoplisted($word) {
-        return $this->_stoplisted;
+        return $this->stoplisted;
     }
 }
 
@@ -674,6 +760,20 @@
     }
 }
 
+// $Log: backend.php,v $
+// Revision 1.33  2007/06/07 21:35:04  rurban
+// fixed backend asArray access to iterators (DebugInfo with SQL)
+//
+// Revision 1.32  2007/02/17 14:14:41  rurban
+// enforce accesslog types
+//
+// Revision 1.31  2007/01/28 22:49:55  rurban
+// use backend specific SQL write_accesslog
+//
+// Revision 1.30  2007/01/02 13:20:26  rurban
+// added link_search. Clarify API: sortby,limit and exclude are strings.
+//
+
 // For emacs users
 // Local Variables:
 // mode: php
@@ -682,4 +782,4 @@
 // c-hanging-comment-ender-p: nil
 // indent-tabs-mode: nil
 // End:
-?>
\ No newline at end of file
+?>
diff -ruN 1.3.12p3/lib/WikiDB/flatfile.php 1.3.14/lib/WikiDB/flatfile.php
--- 1.3.12p3/lib/WikiDB/flatfile.php	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/lib/WikiDB/flatfile.php	2007-07-01 05:11:10.000000000 -0500
@@ -0,0 +1,68 @@
+<?php
+
+rcs_id( '$Id: flatfile.php,v 1.1 2007/01/02 13:19:47 rurban Exp $' );
+
+/**
+ Copyright 1999, 2005 $ThePhpWikiProgrammingTeam
+
+ This file is part of PhpWiki.
+
+ PhpWiki is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ PhpWiki is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with PhpWiki; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+
+require_once( 'lib/WikiDB.php' );
+require_once( 'lib/WikiDB/backend/flatfile.php' );
+
+/**
+ * Wrapper class for the flatfile backend.
+ * flatfile has readable (mimified) page_data files, the rest is the 
+ * same as in the file backend (serialized arrays). 
+ */
+class WikiDB_flatfile extends WikiDB
+{  
+    /**
+     * Constructor requires the DB parameters. 
+     */
+    function WikiDB_flatfile( $dbparams ) 
+    {
+        $backend = new WikiDB_backend_flatfile( $dbparams );
+        $backend->_wikidb =& $this;
+        $this->WikiDB($backend, $dbparams);
+
+        if (empty($dbparams['directory'])
+            || preg_match('@^/tmp\b@', $dbparams['directory']))
+            trigger_error(sprintf(_("The %s files are in the %s directory. Please read the INSTALL file and move the database to a permanent location or risk losing all the pages!"), 
+                                  "Page", "/tmp"), E_USER_WARNING);
+    }
+}
+
+
+// $Log: flatfile.php,v $
+// Revision 1.1  2007/01/02 13:19:47  rurban
+// new flatfile backend (readable page files)
+//
+
+
+// (c-file-style: "gnu")
+// Local Variables:
+// mode: php
+// tab-width: 8
+// c-basic-offset: 4
+// c-hanging-comment-ender-p: nil
+// indent-tabs-mode: nil
+// End:   
+
+?>
diff -ruN 1.3.12p3/lib/WikiDB/SQL.php 1.3.14/lib/WikiDB/SQL.php
--- 1.3.12p3/lib/WikiDB/SQL.php	2006-06-18 06:19:27.000000000 -0500
+++ 1.3.14/lib/WikiDB/SQL.php	2007-07-01 05:11:10.000000000 -0500
@@ -1,4 +1,4 @@
-<?php rcs_id('$Id: SQL.php,v 1.15 2005/10/30 15:49:00 rurban Exp $');
+<?php rcs_id('$Id: SQL.php,v 1.16 2007/01/04 16:41:14 rurban Exp $');
 
 require_once('lib/WikiDB.php');
 //require_once('lib/WikiDB/backend/PearDB.php');
@@ -23,6 +23,7 @@
         include_once ("lib/WikiDB/backend/PearDB_".$backend.".php");
         $backend_class = "WikiDB_backend_PearDB_".$backend;
         $backend = & new $backend_class($dbparams);
+        if (DB::isError($backend->_dbh)) return;
         $this->WikiDB($backend, $dbparams);
     }
     
diff -ruN 1.3.12p3/lib/WikiDB.php 1.3.14/lib/WikiDB.php
--- 1.3.12p3/lib/WikiDB.php	2006-06-18 06:19:27.000000000 -0500
+++ 1.3.14/lib/WikiDB.php	2007-07-01 05:11:10.000000000 -0500
@@ -1,5 +1,5 @@
 <?php //-*-php-*-
-rcs_id('$Id: WikiDB.php,v 1.135 2005/09/11 14:19:44 rurban Exp $');
+rcs_id('$Id: WikiDB.php,v 1.153 2007/06/07 16:54:29 rurban Exp $');
 
 require_once('lib/PageType.php');
 
@@ -9,7 +9,7 @@
  *
  * @package WikiDB
  * @author Geoffrey T. Dairiki <dairiki@dairiki.org>
- *         Reini Urban
+ * Minor enhancements by Reini Urban
  */
 
 /**
@@ -122,8 +122,10 @@
         if ($this->get('_timestamp') === false)
             $this->touch();
         
-        //FIXME: devel checking.
-        //$this->_backend->check();
+        // devel checking.
+        if ((int)DEBUG & _DEBUG_SQL) {
+            $this->_backend->check();
+	}
     }
     
     /**
@@ -155,7 +157,7 @@
     function getPage($pagename) {
         static $error_displayed = false;
         $pagename = (string) $pagename;
-        if (DEBUG) {
+        if ((int)DEBUG) {
             if ($pagename === '') {
                 if ($error_displayed) return false;
                 $error_displayed = true;
@@ -186,15 +188,13 @@
      * manner in certain back-ends.
      *
      * @access public
-     *
      * @param string $pagename string Which page to check.
-     *
      * @return boolean True if the page actually exists with
      * non-default contents in the WikiDataBase.
      */
     function isWikiPage ($pagename) {
         $page = $this->getPage($pagename);
-        return $page->exists();
+        return ($page and $page->exists());
     }
 
     /**
@@ -206,8 +206,8 @@
      * Note: purgePage() effectively destroys all revisions of the page from the WikiDB. 
      *
      * @access public
-     *
      * @param string $pagename Name of page to delete.
+     * @see purgePage
      */
     function deletePage($pagename) {
     	// don't create empty revisions of already purged pages.
@@ -216,36 +216,10 @@
         else 
             $result = -1;
 
-        /* Generate notification emails? */
-        if (! $this->isWikiPage($pagename) and !isa($GLOBALS['request'],'MockRequest')) {
-            $notify = $this->get('notify');
-            if (!empty($notify) and is_array($notify)) {
-                global $request;
-                //TODO: deferr it (quite a massive load if you remove some pages).
-                //TODO: notification class which catches all changes,
-                //  and decides at the end of the request what to mail. 
-                //  (type, page, who, what, users, emails)
-                // could be used for PageModeration and RSS2 Cloud xml-rpc also.
-                $page = new WikiDB_Page($this, $pagename);
-                list($emails, $userids) = $page->getPageChangeEmails($notify);
-                if (!empty($emails)) {
-                    $from = $request->_user->getId() . '@' .  $request->get('REMOTE_HOST');
-                    $editedby = sprintf(_("Removed by: %s"), $from);
-                    $emails = join(',', $emails);
-                    $subject = sprintf(_("Page removed %s"), urlencode($pagename));
-                    if (mail("<undisclosed-recipients>","[".WIKI_NAME."] ".$subject, 
-                             $subject."\n".
-                             $editedby."\n\n".
-                             "Deleted $pagename",
-                             "From: $from\r\nBcc: $emails"))
-                        trigger_error(sprintf(_("PageChange Notification of %s sent to %s"),
-                                              $pagename, join(',',$userids)), E_USER_NOTICE);
-                    else
-                        trigger_error(sprintf(_("PageChange Notification Error: Couldn't send %s to %s"),
-                                              $pagename, join(',',$userids)), E_USER_WARNING);
-                }
-            }
-        }
+        /* Generate notification emails */
+        include_once("lib/MailNotify.php");
+        $MailNotify = new MailNotify($pagename);
+        $MailNotify->onDeletePage ($this, $pagename);
 
         //How to create a RecentChanges entry with explaining summary? Dynamically
         /*
@@ -261,6 +235,9 @@
 
     /**
      * Completely remove the page from the WikiDB, without undo possibility.
+     * @access public
+     * @param string $pagename Name of page to delete.
+     * @see deletePage
      */
     function purgePage($pagename) {
         $result = $this->_cache->purge_page($pagename);
@@ -275,16 +252,20 @@
      *
      * @access public
      *
-     * @param boolean $include_defaulted Normally pages whose most
+     * @param boolean $include_empty Optional. Normally pages whose most
      * recent revision has empty content are considered to be
      * non-existant. Unless $include_defaulted is set to true, those
      * pages will not be returned.
+     * @param string or false $sortby Optional. "+-column,+-column2". 
+     *		If false the result is faster in natural order.
+     * @param string or false $limit Optional. Encoded as "$offset,$count".
+     * 		$offset defaults to 0.
+     * @param string $exclude: Optional comma-seperated list of pagenames. 
      *
      * @return WikiDB_PageIterator A WikiDB_PageIterator which contains all pages
      *     in the WikiDB which have non-default contents.
      */
-    function getAllPages($include_empty=false, $sortby=false, $limit=false, 
-                         $exclude=false) 
+    function getAllPages($include_empty=false, $sortby='', $limit='', $exclude='') 
     {
         // HACK: memory_limit=8M will fail on too large pagesets. old php on unix only!
         if (USECACHE) {
@@ -304,8 +285,13 @@
     }
 
     /**
-     * $include_empty = true: include also empty pages
-     * exclude: comma-seperated list pagenames: TBD: array of pagenames
+     * @access public
+     *
+     * @param boolean $include_empty If true include also empty pages
+     * @param string $exclude: comma-seperated list of pagenames. 
+     * 			TBD: array of pagenames
+     * @return integer
+     * 
      */
     function numPages($include_empty=false, $exclude='') {
     	if (method_exists($this->_backend, 'numPages'))
@@ -328,15 +314,19 @@
      *
      * Pages are returned in alphabetical order whenever it is
      * practical to do so.
-     *
-     * FIXME: clarify $search syntax. provide glob=>TextSearchQuery converters
+     * TODO: Sort by ranking. Only postgresql with tsearch2 can do ranking so far.
      *
      * @access public
      * @param TextSearchQuery $search A TextSearchQuery object
+     * @param string or false $sortby Optional. "+-column,+-column2". 
+     *		If false the result is faster in natural order.
+     * @param string or false $limit Optional. Encoded as "$offset,$count".
+     * 		$offset defaults to 0.
+     * @param string $exclude: Optional comma-seperated list of pagenames. 
      * @return WikiDB_PageIterator A WikiDB_PageIterator containing the matching pages.
      * @see TextSearchQuery
      */
-    function titleSearch($search, $sortby='pagename', $limit=false, $exclude=false) {
+    function titleSearch($search, $sortby='pagename', $limit='', $exclude='') {
         $result = $this->_backend->text_search($search, false, $sortby, $limit, $exclude);
         return new WikiDB_PageIterator($this, $result,
                                        array('exclude' => $exclude,
@@ -352,14 +342,20 @@
      *
      * Pages are returned in alphabetical order whenever it is
      * practical to do so.
+     * TODO: Sort by ranking. Only postgresql with tsearch2 can do ranking so far.
      *
      * @access public
      *
      * @param TextSearchQuery $search A TextSearchQuery object.
+     * @param string or false $sortby Optional. "+-column,+-column2". 
+     *		If false the result is faster in natural order.
+     * @param string or false $limit Optional. Encoded as "$offset,$count".
+     * 		$offset defaults to 0.
+     * @param string $exclude: Optional comma-seperated list of pagenames. 
      * @return WikiDB_PageIterator A WikiDB_PageIterator containing the matching pages.
      * @see TextSearchQuery
      */
-    function fullSearch($search, $sortby='pagename', $limit=false, $exclude=false) {
+    function fullSearch($search, $sortby='pagename', $limit='', $exclude='') {
         $result = $this->_backend->text_search($search, true, $sortby, $limit, $exclude);
         return new WikiDB_PageIterator($this, $result,
                                        array('exclude' => $exclude,
@@ -378,6 +374,8 @@
      * @param integer $limit The maximum number of pages to return.
      * Set $limit to zero to return all pages.  If $limit < 0, pages will
      * be sorted in decreasing order of popularity.
+     * @param string or false $sortby Optional. "+-column,+-column2". 
+     *		If false the result is faster in natural order.
      *
      * @return WikiDB_PageIterator A WikiDB_PageIterator containing the matching
      * pages.
@@ -400,7 +398,8 @@
      * <dt> limit 
      *    <dd> (integer) At most this many revisions will be returned.
      * <dt> since
-     *    <dd> (integer) Only revisions since this time (unix-timestamp) will be returned. 
+     *    <dd> (integer) Only revisions since this time (unix-timestamp) 
+     *		will be returned. 
      * <dt> include_minor_revisions
      *    <dd> (boolean) Also include minor revisions.  (Default is not to.)
      * <dt> exclude_major_revisions
@@ -412,8 +411,8 @@
      *         for each page.
      * </dl>
      *
-     * @return WikiDB_PageRevisionIterator A WikiDB_PageRevisionIterator containing the
-     * matching revisions.
+     * @return WikiDB_PageRevisionIterator A WikiDB_PageRevisionIterator 
+     * containing the matching revisions.
      */
     function mostRecent($params = false) {
         $result = $this->_backend->most_recent($params);
@@ -423,13 +422,79 @@
     /**
      * @access public
      *
-     * @return Iterator A generic iterator containing rows of (duplicate) pagename, wantedfrom.
+     * @param string or false $sortby Optional. "+-column,+-column2". 
+     *		If false the result is faster in natural order.
+     * @param string or false $limit Optional. Encoded as "$offset,$count".
+     * 		$offset defaults to 0.
+     * @return Iterator A generic iterator containing rows of 
+     * 		(duplicate) pagename, wantedfrom.
      */
-    function wantedPages($exclude_from='', $exclude='', $sortby=false, $limit=false) {
+    function wantedPages($exclude_from='', $exclude='', $sortby='', $limit='') {
         return $this->_backend->wanted_pages($exclude_from, $exclude, $sortby, $limit);
         //return new WikiDB_PageIterator($this, $result);
     }
 
+    /**
+     * Generic interface to the link table. Esp. useful to search for rdf triples as in 
+     * SemanticSearch and ListRelations.
+     *
+     * @access public
+     *
+     * @param $pages  object A TextSearchQuery object.
+     * @param $search object A TextSearchQuery object.
+     * @param string $linktype One of "linkto", "linkfrom", "relation", "attribute".
+     *   linktype parameter:
+     * <dl>
+     * <dt> "linkto"
+     *    <dd> search for simple out-links
+     * <dt> "linkfrom"
+     *    <dd> in-links, i.e BackLinks
+     * <dt> "relation"
+     *    <dd> the first part in a <>::<> link 
+     * <dt> "attribute"
+     *    <dd> the first part in a <>:=<> link 
+     * </dl>
+     * @param $relation object An optional TextSearchQuery to match the 
+     * relation name. Ignored on simple in-out links.
+     *
+     * @return Iterator A generic iterator containing links to pages or values.
+     *                  hash of "pagename", "linkname", "linkvalue. 
+     */
+    function linkSearch($pages, $search, $linktype, $relation=false) {
+        return $this->_backend->link_search($pages, $search, $linktype, $relation);
+    }
+
+    /**
+     * Return a simple list of all defined relations (and attributes), mainly 
+     * for the SemanticSearch autocompletion.
+     *
+     * @access public
+     *
+     * @return array of strings
+     */
+    function listRelations($also_attributes=false, $only_attributes=false, $sorted=true) {
+        if (method_exists($this->_backend, "list_relations"))
+            return $this->_backend->list_relations($also_attributes, $only_attributes, $sorted);
+	// dumb, slow fallback. no iter, so simply define it here.
+        $relations = array();
+        $iter = $this->getAllPages();
+        while ($page = $iter->next()) {
+            $reliter = $page->getRelations();
+            $names = array();
+            while ($rel = $reliter->next()) {
+		// if there's no pagename it's an attribute
+                $names[] = $rel->getName();
+            }
+            $relations = array_merge($relations, $names);
+            $reliter->free();
+        }
+        $iter->free();
+	if ($sorted) {
+	    sort($relations);
+	    reset($relations);
+	}
+        return $relations;
+    }
 
     /**
      * Call the appropriate backend method.
@@ -472,6 +537,7 @@
                     $meta = $current->_data;
                     $version = $current->getVersion();
                     $meta['summary'] = sprintf(_("renamed from %s"), $from);
+		    unset($meta['mtime']); // force new date
                     $page->save($current->getPackedContent(), $version + 1, $meta);
                 }
             } elseif (!$oldpage->getCurrentRevision(false) and !$newpage->exists()) {
@@ -486,10 +552,9 @@
         if ($result and !isa($GLOBALS['request'], 'MockRequest')) {
             $notify = $this->get('notify');
             if (!empty($notify) and is_array($notify)) {
-                list($emails, $userids) = $oldpage->getPageChangeEmails($notify);
-                if (!empty($emails)) {
-                    $oldpage->sendPageRenameNotification($to, $meta, $emails, $userids);
-                }
+                include_once("lib/MailNotify.php");
+                $MailNotify = new MailNotify($from);
+                $MailNotify->onRenamePage ($this, $from, $to);
             }
         }
         return $result;
@@ -520,6 +585,15 @@
         $this->set('_timestamp', array(time(), $ts[1] + 1));
     }
 
+    /**
+     * Roughly similar to the float in phpwiki_version(). Set by action=upgrade.
+     */
+    function get_db_version() {
+        return (float) $this->get('_db_version');
+    }
+    function set_db_version($ver) {
+        return $this->set('_db_version', (float)$ver);
+    }
         
     /**
      * Access WikiDB global meta-data.
@@ -647,7 +721,7 @@
     function WikiDB_Page(&$wikidb, $pagename) {
         $this->_wikidb = &$wikidb;
         $this->_pagename = $pagename;
-        if (DEBUG) {
+        if ((int)DEBUG) {
             if (!(is_string($pagename) and $pagename != '')) {
                 if (function_exists("xdebug_get_function_stack")) {
                     echo "xdebug_get_function_stack(): "; var_dump(xdebug_get_function_stack());
@@ -804,7 +878,7 @@
      * @param hash $metadata Metadata for new revision.
      * All values in the hash should be scalars (strings or integers).
      *
-     * @param array $links List of pagenames which this page links to.
+     * @param hash $links List of linkto=>pagename, relation=>pagename which this page links to.
      *
      * @return WikiDB_PageRevision  Returns the new WikiDB_PageRevision object. If
      * $version was incorrect, returns false
@@ -887,11 +961,19 @@
      *
      * @param hash $meta  Meta-data for new revision.
      */
-    function save($wikitext, $version, $meta) {
-	$formatted = new TransformedText($this, $wikitext, $meta);
+    function save($wikitext, $version, $meta, $formatted = null) {
+	if (is_null($formatted))
+	    $formatted = new TransformedText($this, $wikitext, $meta);
         $type = $formatted->getType();
 	$meta['pagetype'] = $type->getName();
-	$links = $formatted->getWikiPageLinks();
+	$links = $formatted->getWikiPageLinks(); // linkto => relation
+        $attributes = array();
+        foreach ($links as $link) {
+            if ($link['linkto'] === "" and $link['relation']) {
+                $attributes[$link['relation']] = $this->getAttribute($link['relation']);
+            }
+        }
+        $meta['attribute'] = $attributes;
 
 	$backend = &$this->_wikidb->_backend;
 	$newrevision = $this->createRevision($version, $wikitext, $meta, $links);
@@ -903,11 +985,11 @@
         //
         // We're doing this here rather than in createRevision because
         // postgresql can't optimize while locked.
-        if ((DEBUG & _DEBUG_SQL)
+        if (((int)DEBUG & _DEBUG_SQL)
 	    or (DATABASE_OPTIMISE_FREQUENCY > 0 and 
                 (time() % DATABASE_OPTIMISE_FREQUENCY == 0))) {
             if ($backend->optimize()) {
-                if (DEBUG)
+                if ((int)DEBUG)
                     trigger_error(_("Optimizing database"), E_USER_NOTICE);
             }
         }
@@ -916,11 +998,13 @@
         if (isa($newrevision, 'WikiDB_PageRevision')) {
             // Save didn't fail because of concurrent updates.
             $notify = $this->_wikidb->get('notify');
-            if (!empty($notify) and is_array($notify) and !isa($GLOBALS['request'],'MockRequest')) {
-                list($emails, $userids) = $this->getPageChangeEmails($notify);
-                if (!empty($emails)) {
-                    $this->sendPageChangeNotification($wikitext, $version, $meta, $emails, $userids);
-                }
+            if (!empty($notify) 
+		and is_array($notify) 
+		and !isa($GLOBALS['request'],'MockRequest')) 
+	    {
+                include_once("lib/MailNotify.php");
+                $MailNotify = new MailNotify($newrevision->getName());
+		$MailNotify->onChangePage ($this->_wikidb, $wikitext, $version, $meta);
             }
             $newrevision->_transformedContent = $formatted;
         }
@@ -928,162 +1012,6 @@
 	return $newrevision;
     }
 
-    function getPageChangeEmails($notify) {
-        $emails = array(); $userids = array();
-        foreach ($notify as $page => $users) {
-            if (glob_match($page, $this->_pagename)) {
-                foreach ($users as $userid => $user) {
-                    if (!$user) { // handle the case for ModeratePage: no prefs, just userid's.
-                        global $request;
-                        $u = $request->getUser();
-                        if ($u->UserName() == $userid) {
-                            $prefs = $u->getPreferences();
-                        } else {
-                            // not current user
-                            if (ENABLE_USER_NEW) {
-                                $u = WikiUser($userid);
-                                $u->getPreferences();
-                                $prefs = &$u->_prefs;
-                            } else {
-                                $u = new WikiUser($GLOBALS['request'], $userid);
-                                $prefs = $u->getPreferences();
-                            }
-                        }
-                        $emails[] = $prefs->get('email');
-                        $userids[] = $userid;
-                    } else {
-                      if (!empty($user['verified']) and !empty($user['email'])) {
-                        $emails[]  = $user['email'];
-                        $userids[] = $userid;
-                      } elseif (!empty($user['email'])) {
-                        global $request;
-                        // do a dynamic emailVerified check update
-                        $u = $request->getUser();
-                        if ($u->UserName() == $userid) {
-                            if ($request->_prefs->get('emailVerified')) {
-                                $emails[] = $user['email'];
-                                $userids[] = $userid;
-                                $notify[$page][$userid]['verified'] = 1;
-                                $request->_dbi->set('notify', $notify);
-                            }
-                        } else {
-                            // not current user
-                            if (ENABLE_USER_NEW) {
-                                $u = WikiUser($userid);
-                                $u->getPreferences();
-                                $prefs = &$u->_prefs;
-                            } else {
-                                $u = new WikiUser($GLOBALS['request'], $userid);
-                                $prefs = $u->getPreferences();
-                            }
-                            if ($prefs->get('emailVerified')) {
-                                $emails[] = $user['email'];
-                                $userids[] = $userid;
-                                $notify[$page][$userid]['verified'] = 1;
-                                $request->_dbi->set('notify', $notify);
-                            }
-                        }
-                        // ignore verification
-                        /*
-                        if (DEBUG) {
-                            if (!in_array($user['email'],$emails))
-                                $emails[] = $user['email'];
-                        }
-                        */
-                    }
-                  }
-                }
-            }
-        }
-        $emails = array_unique($emails);
-        $userids = array_unique($userids);
-        return array($emails, $userids);
-    }
-
-    /**
-     * Send udiff for a changed page to multiple users.
-     * See rename and remove methods also
-     */
-    function sendPageChangeNotification(&$wikitext, $version, $meta, $emails, $userids) {
-        global $request;
-        if (@is_array($request->_deferredPageChangeNotification)) {
-            // collapse multiple changes (loaddir) into one email
-            $request->_deferredPageChangeNotification[] 
-		= array($this->_pagename, $emails, $userids);
-            return;
-        }
-        $backend = &$this->_wikidb->_backend;
-        //$backend = &$request->_dbi->_backend;
-        $subject = _("Page change").' '.urlencode($this->_pagename);
-        $previous = $backend->get_previous_version($this->_pagename, $version);
-        if (!isset($meta['mtime'])) $meta['mtime'] = time();
-        if ($previous) {
-            $difflink = WikiURL($this->_pagename, array('action'=>'diff'), true);
-            $cache = &$this->_wikidb->_cache;
-            //$cache = &$request->_dbi->_cache;
-            $this_content = explode("\n", $wikitext);
-            $prevdata = $cache->get_versiondata($this->_pagename, $previous, true);
-            if (empty($prevdata['%content']))
-                $prevdata = $backend->get_versiondata($this->_pagename, $previous, true);
-            $other_content = explode("\n", $prevdata['%content']);
-            
-            include_once("lib/difflib.php");
-            $diff2 = new Diff($other_content, $this_content);
-            //$context_lines = max(4, count($other_content) + 1,
-            //                     count($this_content) + 1);
-            $fmt = new UnifiedDiffFormatter(/*$context_lines*/);
-            $content  = $this->_pagename . " " . $previous . " " . 
-                Iso8601DateTime($prevdata['mtime']) . "\n";
-            $content .= $this->_pagename . " " . $version . " " .  
-                Iso8601DateTime($meta['mtime']) . "\n";
-            $content .= $fmt->format($diff2);
-            
-        } else {
-            $difflink = WikiURL($this->_pagename,array(),true);
-            $content = $this->_pagename . " " . $version . " " .  
-                Iso8601DateTime($meta['mtime']) . "\n";
-            $content .= _("New page");
-        }
-        $from = $request->_user->getId() . '@' .  $request->get('REMOTE_HOST');
-        $editedby = sprintf(_("Edited by: %s"), $from);
-        $emails = join(',',$emails);
-        if (mail("<undisclosed-recipients>",
-                 "[".WIKI_NAME."] ".$subject, 
-                 $subject."\n". $editedby."\n". $difflink."\n\n". $content,
-                 "From: $from\r\nBcc: $emails"))
-            trigger_error(sprintf(_("PageChange Notification of %s sent to %s"),
-                                  $this->_pagename, join(',',$userids)), E_USER_NOTICE);
-        else
-            trigger_error(sprintf(_("PageChange Notification Error: Couldn't send %s to %s"),
-                                  $this->_pagename, join(',',$userids)), E_USER_WARNING);
-    }
-
-    /** support mass rename / remove (not yet tested)
-     */
-    function sendPageRenameNotification($to, &$meta, $emails, $userids) {
-        global $request;
-        if (@is_array($request->_deferredPageRenameNotification)) {
-            $request->_deferredPageRenameNotification[] = array($this->_pagename, 
-                                                                $to, $meta, $emails, $userids);
-        } else {
-            $oldname = $this->_pagename;
-            $from = $request->_user->getId() . '@' .  $request->get('REMOTE_HOST');
-            $editedby = sprintf(_("Edited by: %s"), $from);
-            $emails = join(',',$emails);
-            $subject = sprintf(_("Page rename %s to %s"), urlencode($oldname), urlencode($to));
-            $link = WikiURL($to, true);
-            if (mail("<undisclosed-recipients>",
-                     "[".WIKI_NAME."] ".$subject, 
-                     $subject."\n".$editedby."\n".$link."\n\n"."Renamed $from to $to",
-                     "From: $from\r\nBcc: $emails"))
-                trigger_error(sprintf(_("PageChange Notification of %s sent to %s"),
-                                      $oldname, join(',',$userids)), E_USER_NOTICE);
-            else
-                trigger_error(sprintf(_("PageChange Notification Error: Couldn't send %s to %s"),
-                                      $oldname, join(',',$userids)), E_USER_WARNING);
-        }
-    }
-
     /**
      * Get the most recent revision of a page.
      *
@@ -1091,7 +1019,7 @@
      *
      * @return WikiDB_PageRevision The current WikiDB_PageRevision object. 
      */
-    function getCurrentRevision ($need_content = true) {
+    function getCurrentRevision ($need_content=true) {
         $backend = &$this->_wikidb->_backend;
         $cache = &$this->_wikidb->_cache;
         $pagename = &$this->_pagename;
@@ -1190,6 +1118,9 @@
     
     /**
      * Find pages which link to or are linked from a page.
+     * relations: $backend->get_links is responsible to add the relation to the pagehash 
+     * as 'linkrelation' key as pagename. See WikiDB_PageIterator::next 
+     *   if (isset($next['linkrelation']))
      *
      * @access public
      *
@@ -1198,30 +1129,54 @@
      * @return WikiDB_PageIterator A WikiDB_PageIterator containing
      * all matching pages.
      */
-    function getLinks ($reversed = true, $include_empty=false, $sortby=false, 
-                       $limit=false, $exclude=false) {
+    function getLinks ($reversed=true, $include_empty=false, $sortby='', 
+                       $limit='', $exclude='', $want_relations=false) 
+    {
         $backend = &$this->_wikidb->_backend;
         $result =  $backend->get_links($this->_pagename, $reversed, 
-                                       $include_empty, $sortby, $limit, $exclude);
+                                       $include_empty, $sortby, $limit, $exclude,
+                                       $want_relations);
         return new WikiDB_PageIterator($this->_wikidb, $result, 
                                        array('include_empty' => $include_empty,
-                                             'sortby' => $sortby, 
-                                             'limit' => $limit, 
-                                             'exclude' => $exclude));
+                                             'sortby'        => $sortby, 
+                                             'limit'         => $limit, 
+                                             'exclude'       => $exclude,
+                                             'want_relations'=> $want_relations));
     }
 
     /**
      * All Links from other pages to this page.
      */
-    function getBackLinks($include_empty=false, $sortby=false, $limit=false, $exclude=false) {
+    function getBackLinks($include_empty=false, $sortby='', $limit='', $exclude='', 
+                          $want_relations=false) 
+    {
         return $this->getLinks(true, $include_empty, $sortby, $limit, $exclude);
     }
     /**
      * Forward Links: All Links from this page to other pages.
      */
-    function getPageLinks($include_empty=false, $sortby=false, $limit=false, $exclude=false) {
+    function getPageLinks($include_empty=false, $sortby='', $limit='', $exclude='', 
+                          $want_relations=false) 
+    {
         return $this->getLinks(false, $include_empty, $sortby, $limit, $exclude);
     }
+    /**
+     * Relations: All links from this page to other pages with relation <> 0. 
+     * is_a:=page or population:=number
+     */
+    function getRelations($sortby='', $limit='', $exclude='') {
+        $backend = &$this->_wikidb->_backend;
+        $result =  $backend->get_links($this->_pagename, false, true,
+                                       $sortby, $limit, $exclude, 
+                                       true);
+        // we do not care for the linked page versiondata, just the pagename and linkrelation
+        return new WikiDB_PageIterator($this->_wikidb, $result, 
+                                       array('include_empty' => true,
+                                             'sortby'        => $sortby, 
+                                             'limit'         => $limit, 
+                                             'exclude'       => $exclude,
+                                             'want_relations'=> true));
+    }
     
     /**
      * possibly faster link existance check. not yet accelerated.
@@ -1240,6 +1195,17 @@
         $iter->free();
         return false;
     }
+
+    /* Semantic relations are links with the relation pointing to another page,
+       the so-called "RDF Triple".
+       [San Diego] is%20a::city
+       => "At the page San Diego there is a relation link of 'is a' to the page 'city'."
+     */
+
+    /* Semantic attributes for a page. 
+       [San Diego] population:=1,305,736
+       Attributes are links with the relation pointing to another page.
+    */
             
     /**
      * Access WikiDB_Page non version-specific meta-data.
@@ -1407,7 +1373,7 @@
     // May be empty. Either the stored owner (/Chown), or the first authorized author
     function getOwner() {
         if ($owner = $this->get('owner'))
-            return ($owner == "The PhpWiki programming team") ? ADMIN_USER : $owner;
+            return ($owner == _("The PhpWiki programming team")) ? ADMIN_USER : $owner;
         // check all revisions forwards for the first author_id
         $backend = &$this->_wikidb->_backend;
         $pagename = &$this->_pagename;
@@ -1415,7 +1381,7 @@
         for ($v=1; $v <= $latestversion; $v++) {
             $rev = $this->getRevision($v,false);
             if ($rev and $owner = $rev->get('author_id')) {
-            	return ($owner == "The PhpWiki programming team") ? ADMIN_USER : $owner;
+            	return ($owner == _("The PhpWiki programming team")) ? ADMIN_USER : $owner;
             }
         }
         return '';
@@ -1433,6 +1399,26 @@
         else return '';
     }
 
+    /* Semantic Web value, not stored in the links.
+     * todo: unify with some unit knowledge
+     */
+    function setAttribute($relation, $value) {
+    	$attr = $this->get('attributes');
+    	if (empty($attr))
+    	    $attr = array($relation => $value);
+    	else
+    	    $attr[$relation] = $value;
+    	$this->set('attributes', $attr);
+    }
+
+    function getAttribute($relation) {
+    	$meta = $this->get('attributes');
+    	if (empty($meta))
+    	    return '';
+    	else
+    	    return $meta[$relation];
+    }
+
 };
 
 /**
@@ -1615,9 +1601,10 @@
      */
     function getPackedContent() {
         $data = &$this->_data;
-
         
-        if (empty($data['%content'])) {
+        if (empty($data['%content'])
+            || (!$this->_wikidb->isWikiPage($this->_pagename)
+                && $this->isCurrent())) {
             include_once('lib/InlineParser.php');
 
             // A feature similar to taglines at http://www.wlug.org.nz/
@@ -1629,9 +1616,16 @@
             {
                 include_once("lib/fortune.php");
                 $fortune = new Fortune();
-                $quote = str_replace("\n<br>","\n", $fortune->quoteFromDir(FORTUNE_DIR));
-                return sprintf("<verbatim>\n%s</verbatim>\n\n"._("Describe %s here."), 
-                               $quote, "[" . WikiEscape($this->_pagename) . "]");
+		$quote = $fortune->quoteFromDir(FORTUNE_DIR);
+		if ($quote != -1)
+		    $quote = "<verbatim>\n"
+			. str_replace("\n<br>","\n", $quote)
+			. "</verbatim>\n\n";
+		else 
+		    $quote = "";
+                return $quote
+		    . sprintf(_("Describe %s here."), 
+			      "[" . WikiEscape($this->_pagename) . "]");
             }
             // Replace empty content with default value.
             return sprintf(_("Describe %s here."), 
@@ -1790,10 +1784,16 @@
             return false;
 
         $pagename = &$next['pagename'];
-        if (!is_string($pagename)) { // Bug #1327912 fixed by Joachim Lous
-            $pagename = strval($pagename);
-        }
+	if (!is_string($pagename)) { // Bug #1327912 fixed by Joachim Lous
+	    /*if (is_array($pagename) && isset($pagename['linkto'])) {
+		$pagename = $pagename['linkto'];
+	    }
+            $pagename = strval($pagename);*/
+            trigger_error("WikiDB_PageIterator->next pagename", E_USER_WARNING);
+	}
         if (!$pagename) {
+            if (isset($next['linkrelation']) 
+                or isset($next['pagedata']['linkrelation'])) return false;	
             trigger_error('empty pagename in WikiDB_PageIterator::next()', E_USER_WARNING);
             var_dump($next);
             return false;
@@ -1808,7 +1808,10 @@
                   and !$this->_options['include_empty'] and isset($next['id'])) {
             $this->_wikidb->_cache->_id_cache[$next['pagename']] = $next['id'];
         }
-        return new WikiDB_Page($this->_wikidb, $pagename);
+        $page = new WikiDB_Page($this->_wikidb, $pagename);
+        if (isset($next['linkrelation']))
+            $page->set('linkrelation', $next['linkrelation']);
+        return $page;
     }
 
     /**
@@ -1918,19 +1921,19 @@
         $pagename = $next['pagename'];
         $version = $next['version'];
         $versiondata = $next['versiondata'];
-        if (DEBUG) {
+        if ((int)DEBUG) {
             if (!(is_string($pagename) and $pagename != '')) {
                 trigger_error("empty pagename",E_USER_WARNING);
                 return false;
             }
         } else assert(is_string($pagename) and $pagename != '');
-        if (DEBUG) {
+        if ((int)DEBUG) {
             if (!is_array($versiondata)) {
                 trigger_error("empty versiondata",E_USER_WARNING);
                 return false;
             }
         } else assert(is_array($versiondata));
-        if (DEBUG) {
+        if ((int)DEBUG) {
             if (!($version > 0)) {
                 trigger_error("invalid version",E_USER_WARNING);
                 return false;
@@ -2193,7 +2196,7 @@
     static $i = 0;
     if (!$fp) {
         $stamp = strftime("%y%m%d-%H%M%S");
-        $fp = fopen("/tmp/sql-$stamp.log", "a");
+        $fp = fopen(TEMP_DIR."/sql-$stamp.log", "a");
         register_shutdown_function("_sql_debuglog_shutdown_function");
     } elseif ($shutdown) {
         fclose($fp);
@@ -2208,7 +2211,56 @@
 }
 
 // $Log: WikiDB.php,v $
+// Revision 1.153  2007/06/07 16:54:29  rurban
+// enable $MailNotify->onChangePage. support other formatters (MediaWiki, Creole, ...)
+//
+// Revision 1.152  2007/05/28 20:13:46  rurban
+// Overwrite all attributes at once at page->save to delete dangling meta
+//
+// Revision 1.151  2007/05/01 16:20:12  rurban
+// MailNotify->onChangePage only on DEBUG (still broken)
+//
+// Revision 1.150  2007/03/18 17:35:27  rurban
+// Improve comments
+//
+// Revision 1.149  2007/02/17 14:16:37  rurban
+// isWikiPage no error on empty pagenames. MailNotify->onChangePage fix by ??
+//
+// Revision 1.148  2007/01/27 21:53:03  rurban
+// Use TEMP_DIR for debug sql.log
+//
+// Revision 1.147  2007/01/04 16:41:41  rurban
+// Some pageiterators also set ['pagedata']['linkrelation'], hmm
+//
+// Revision 1.146  2007/01/02 13:20:00  rurban
+// rewrote listRelations. added linkSearch. force new date in renamePage. fix fortune error handling. added page->setAttributes. use translated initial owner. Clarify API: sortby,limit and exclude are strings. Enhance documentation.
+//
+// Revision 1.145  2006/12/22 17:59:55  rurban
+// Move mailer functions into seperate MailNotify.php
+//
+// Revision 1.144  2006/10/12 06:36:09  rurban
+// Guard against unwanted DEBUG="DEBUG" logic. In detail (WikiDB),
+// and generally by forcing all int constants to be defined as int.
+//
+// Revision 1.143  2006/09/06 05:46:40  rurban
+// do db backend check on _DEBUG_SQL
+//
+// Revision 1.142  2006/06/10 11:55:58  rurban
+// print optimize only when DEBUG
+//
+// Revision 1.141  2006/04/17 17:28:21  rurban
+// honor getWikiPageLinks change linkto=>relation
+//
+// Revision 1.140  2006/03/19 14:23:51  rurban
+// sf.net patch #1377011 by Matt Brown: add DATABASE_OPTIMISE_FREQUENCY
+//
+// Revision 1.139  2006/01/12 16:38:07  rurban
+// add page method listRelations()
 // fix bug #1327912 numeric pagenames can break plugins (Joachim Lous)
+//
+// Revision 1.138  2005/11/14 22:27:07  rurban
+// add linkrelation support
+//   getPageLinks returns now an array of hashes
 // pass stoplist through iterator
 //
 // Revision 1.137  2005/10/12 06:16:18  rurban
@@ -2617,4 +2669,4 @@
 // c-hanging-comment-ender-p: nil
 // indent-tabs-mode: nil
 // End:   
-?>
\ No newline at end of file
+?>
diff -ruN 1.3.12p3/lib/WikiGroup.php 1.3.14/lib/WikiGroup.php
--- 1.3.12p3/lib/WikiGroup.php	2006-06-18 06:19:27.000000000 -0500
+++ 1.3.14/lib/WikiGroup.php	2007-07-01 05:11:10.000000000 -0500
@@ -519,7 +519,7 @@
             return false;
         }
         $contents = $group_revision->getContent();
-        $match = '/^\s*[\*\#]+\s*\[?' . $this->username . '\]?\s*$/';
+        $match = '/^\s*[\*\#]+\s*\[?' . $this->username . '\]?(\s|$)/';
         foreach ($contents as $line){
             if (preg_match($match, $line)) {
                 return true;
diff -ruN 1.3.12p3/lib/wikilens/RatingsDb.php 1.3.14/lib/wikilens/RatingsDb.php
--- 1.3.12p3/lib/wikilens/RatingsDb.php	2006-06-18 06:19:28.000000000 -0500
+++ 1.3.14/lib/wikilens/RatingsDb.php	2007-07-01 05:11:10.000000000 -0500
@@ -1,14 +1,13 @@
 <?php // -*-php-*-
-rcs_id('$Id: RatingsDb.php,v 1.13 2005/10/10 19:51:41 rurban Exp $');
+rcs_id('$Id: RatingsDb.php,v 1.14 2007/01/21 23:16:29 rurban Exp $');
 
 /*
  * @author:  Dan Frankowski (wikilens group manager), Reini Urban (as plugin)
  *
  * TODO: 
- * - fix RATING_STORAGE = WIKIPAGE
+ * - fix RATING_STORAGE = WIKIPAGE (dba, file)
  * - fix smart caching
  * - finish mysuggest.c (external engine with data from mysql)
- * - add php_prediction from wikilens
  * - add the various show modes (esp. TopN queries in PHP)
  */
 /*
@@ -24,10 +23,14 @@
  );
 */
 
-//FIXME! for other than SQL backends
+// For other than SQL backends. dba + adodb SQL ratings are allowed but deprecated.
+// We will probably drop this hack.
 if (!defined('RATING_STORAGE'))
-    define('RATING_STORAGE', 'SQL');         //TODO: support ADODB
+    // for DATABASE_TYPE=dba and forced RATING_STORAGE=SQL we must use ADODB,
+    // but this is problematic.
+    define('RATING_STORAGE', $GLOBALS['request']->_dbi->_backend->isSQL() ? 'SQL' : 'WIKIPAGE');
     //define('RATING_STORAGE','WIKIPAGE');   // not fully supported yet
+   
 // leave undefined for internal, slow php engine.
 //if (!defined('RATING_EXTERNAL'))
 //    define('RATING_EXTERNAL',PHPWIKI_DIR . 'suggest.exe');
@@ -52,13 +55,17 @@
         $this->_backend = &$this->_dbi->_backend;
         $this->dimension = null;
         if (RATING_STORAGE == 'SQL') {
-            $this->_sqlbackend = &$this->_backend;
-            if (isa($this->_backend, 'WikiDB_backend_PearDB'))
+            if (isa($this->_backend, 'WikiDB_backend_PearDB')) {
+                $this->_sqlbackend = &$this->_backend;
                 $this->dbtype = "PearDB";
-            elseif (isa($this->_backend, 'WikiDB_backend_ADODOB'))
+            } elseif (isa($this->_backend, 'WikiDB_backend_ADODOB')) {
+                $this->_sqlbackend = &$this->_backend;
                 $this->dbtype = "ADODB";
-            else {
+            } else { 
             	include_once("lib/WikiDB/backend/ADODB.php");
+            	// It is not possible to decouple a ref from the source again. (4.3.11)
+            	// It replaced the main request backend. So we don't initialize _sqlbackend before.
+            	//$this->_sqlbackend = clone($this->_backend);
                 $this->_sqlbackend = new WikiDB_backend_ADODB($GLOBALS['DBParams']);
             	$this->dbtype = "ADODB";
             }
@@ -290,7 +297,7 @@
         if (is_null($pagename))  $pagename = $this->pagename;
 
         if (RATING_STORAGE == 'SQL') {
-            $dbh = &$this->_dbi->_backend;
+            $dbh = &$this->_sqlbackend;
             if (isset($pagename))
                 $page = $dbh->_get_pageid($pagename);
             else 
@@ -359,7 +366,7 @@
 		$where = "WHERE";
 	    }
             if (isset($pagename)) {
-                $raterid = $this->_backend->_get_pageid($pagename, true);
+                $raterid = $this->_sqlbackend->_get_pageid($pagename, true);
                 $where .= " raterpage=$raterid";
             }
             if (isset($dimension)) {
@@ -452,6 +459,8 @@
         if (($pageinfo != "ratee") && ($pageinfo != "rater"))
             return;
         $dbi = &$this->_sqlbackend;
+        if (is_null($dbi))
+            return;
         //$dbh = &$this->_dbi;
         extract($dbi->_table_names);
         $where = "WHERE r." . $pageinfo . "page = p.id";
@@ -459,14 +468,14 @@
             $where .= " AND dimension=$dimension";
         }
         if (isset($rater)) {
-            $raterid = $this->_backend->_get_pageid($rater, true);
+            $raterid = $dbi->_get_pageid($rater, true);
             $where .= " AND raterpage=$raterid";
         }
         if (isset($ratee)) {
             if(is_array($ratee)){
         		$where .= " AND (";
         		for($i = 0; $i < count($ratee); $i++){
-        			$rateeid = $this->_backend->_get_pageid($ratee[$i], true);
+        			$rateeid = $dbi->_get_pageid($ratee[$i], true);
             		$where .= "rateepage=$rateeid";
         			if($i != (count($ratee) - 1)){
         				$where .= " OR ";
@@ -474,7 +483,7 @@
         		}
         		$where .= ")";
         	} else {
-        		$rateeid = $this->_backend->_get_pageid($ratee, true);
+        		$rateeid = $dbi->_get_pageid($ratee, true);
             	$where .= " AND rateepage=$rateeid";
         	}
         }
@@ -490,7 +499,7 @@
                . " FROM $rating_tbl r, $page_tbl p "
                . $where
                . $orderbyStr;
-        $result = $dbi->_dbh->query($query);
+        $result = $dbi->query($query);
         return $result;
     }
 
@@ -512,8 +521,8 @@
         extract($dbi->_table_names);
 
         $dbi->lock();
-        $raterid = $this->_backend->_get_pageid($rater, true);
-        $rateeid = $this->_backend->_get_pageid($ratee, true);
+        $raterid = $dbi->_get_pageid($rater, true);
+        $rateeid = $dbi->_get_pageid($ratee, true);
         $where = "WHERE raterpage=$raterid and rateepage=$rateeid";
         if (isset($dimension)) {
             $where .= " AND dimension=$dimension";
@@ -545,8 +554,8 @@
             $rating_tbl = $this->_dbi->getParam('prefix') . 'rating';
 
         $dbi->lock();
-        $raterid = $this->_backend->_get_pageid($rater, true);
-        $rateeid = $this->_backend->_get_pageid($ratee, true);
+        $raterid = $dbi->_get_pageid($rater, true);
+        $rateeid = $dbi->_get_pageid($ratee, true);
         assert($raterid);
         assert($rateeid);
         //mysql optimize: REPLACE if raterpage and rateepage are keys
@@ -712,6 +721,9 @@
 */
 
 // $Log: RatingsDb.php,v $
+// Revision 1.14  2007/01/21 23:16:29  rurban
+// Fix dba with RATING_STORAGE=SQL
+//
 // Revision 1.13  2005/10/10 19:51:41  rurban
 // fix aesthetic issues by John Stevens
 //
diff -ruN 1.3.12p3/lib/WikiPluginCached.php 1.3.14/lib/WikiPluginCached.php
--- 1.3.12p3/lib/WikiPluginCached.php	2006-06-18 06:19:28.000000000 -0500
+++ 1.3.14/lib/WikiPluginCached.php	2007-07-01 05:11:10.000000000 -0500
@@ -1,7 +1,7 @@
-<?php rcs_id('$Id: WikiPluginCached.php,v 1.19 2004/12/16 18:30:59 rurban Exp $');
+<?php rcs_id('$Id: WikiPluginCached.php,v 1.22 2007/01/25 07:42:09 rurban Exp $');
 /*
  Copyright (C) 2002 Johannes Groe (Johannes Gro&szlig;e)
- Copyright (C) 2004 Reini Urban
+ Copyright (C) 2004,2007 Reini Urban
 
  This file is part of PhpWiki.
 
@@ -29,20 +29,17 @@
 require_once "lib/WikiPlugin.php";
 // require_once "lib/plugincache-config.php"; // replaced by config.ini settings!
 
-// Try the system pear class. See newCache()
-@require_once('Cache.php');
-
 // types:
 define('PLUGIN_CACHED_HTML', 0);         // cached html (extensive calculation)
 define('PLUGIN_CACHED_IMG_INLINE', 1);   // gd images
-define('PLUGIN_CACHED_MAP', 2);    	     // area maps
-define('PLUGIN_CACHED_SVG', 3);    	     // special SVG/SVGZ object
+define('PLUGIN_CACHED_MAP', 2);    	 // area maps
+define('PLUGIN_CACHED_SVG', 3);    	 // special SVG/SVGZ object
 define('PLUGIN_CACHED_SVG_PNG', 4);      // special SVG/SVGZ object with PNG fallback
-define('PLUGIN_CACHED_SWF', 5);    	     // special SWF (flash) object
-define('PLUGIN_CACHED_PDF', 6);    	     // special PDF object (inlinable?)
-define('PLUGIN_CACHED_PS', 7);    	     // special PS object (inlinable?)
+define('PLUGIN_CACHED_SWF', 5);    	 // special SWF (flash) object
+define('PLUGIN_CACHED_PDF', 6);    	 // special PDF object (inlinable?)
+define('PLUGIN_CACHED_PS', 7);    	 // special PS object (inlinable?)
 // boolean tests:
-define('PLUGIN_CACHED_IMG_ONDEMAND', 64); // don't cache
+define('PLUGIN_CACHED_IMG_ONDEMAND', 64);// don't cache
 define('PLUGIN_CACHED_STATIC', 128); 	 // make it available via /uploads/, not via /getimg.php?id=
 
 /**
@@ -112,7 +109,7 @@
             $url .= '/' . PLUGIN_CACHED_FILENAME_PREFIX . $id . '.img' 
                 . ($plugincall_arg ? '?args='.$plugincall_arg : '');
         }
-        if ($request->getArg("start_debug"))
+        if ($request->getArg("start_debug") and (DEBUG & _DEBUG_REMOTE))
             $url .= "&start_debug=1";
         return array($id, $url);
     } // genUrl
@@ -1064,10 +1061,31 @@
         }
     }
 
+    function oldFilterThroughCmd_File($input, $commandLine) {
+	$ext = ".txt";
+	$tmpfile = tempnam(getUploadFilePath(), $ext);
+	$fp = fopen($tmpfile,'wb');
+	fwrite($fp, $input);
+	fclose($fp);
+	$cat = isWindows() ? 'cat' : 'type';
+	$pipe = popen("$cat \"$tmpfile\" | $commandLine", 'r');
+	if (!$pipe) {
+            print "pipe failed.";
+            return "";
+	}
+	$output = '';
+	while (!feof($pipe)) {
+            $output .= fread($pipe, 1024);
+	}
+	pclose($pipe);
+	unlink($tmpfile);
+	return $output;
+    }
+
     /* PHP versions < 4.3
      * TODO: via temp file looks more promising
      */
-    function OldFilterThroughCmd($input, $commandLine) {
+    function oldFilterThroughCmd($input, $commandLine) {
          $input = str_replace ("\\", "\\\\", $input);
          $input = str_replace ("\"", "\\\"", $input);
          $input = str_replace ("\$", "\\\$", $input);
@@ -1075,7 +1093,7 @@
          $input = str_replace ("'", "\'", $input);
          //$input = str_replace (";", "\;", $input);
 
-         $pipe = popen("echo \"$input\"|$commandLine", 'r');
+         $pipe = popen("echo \"$input\" | $commandLine", 'r');
          if (!$pipe) {
             print "pipe failed.";
             return "";
@@ -1092,12 +1110,14 @@
     function filterThroughCmd($source, $commandLine) {
         if (check_php_version(4,3,0))
             return $this->newFilterThroughCmd($source, $commandLine);
-        else 
+        elseif (strlen($source) < 255)
             return $this->oldFilterThroughCmd($source, $commandLine);
+        else
+            return $this->oldFilterThroughCmd_File($source, $commandLine);
     }
 
     /**
-     * Execute system command until the outfile $until exists.
+     * Execute system command and wait until the outfile $until exists.
      *
      * @param  cmd   string   command to be invoked
      * @param  until string   expected output filename
@@ -1133,6 +1153,12 @@
 
 
 // $Log: WikiPluginCached.php,v $
+// Revision 1.22  2007/01/25 07:42:09  rurban
+// Remove early Cache.php loader. Do it later and better.
+//
+// Revision 1.21  2007/01/20 11:24:23  rurban
+// Use cat/type for text pipe commands if input > 255 chars
+//
 // Revision 1.20  2005/09/26 06:28:46  rurban
 // beautify tempnam() on Windows. Move execute() from above here
 //
@@ -1179,4 +1205,4 @@
 // c-hanging-comment-ender-p: nil
 // indent-tabs-mode: nil
 // End:
-?>
\ No newline at end of file
+?>
diff -ruN 1.3.12p3/lib/WikiPlugin.php 1.3.14/lib/WikiPlugin.php
--- 1.3.12p3/lib/WikiPlugin.php	2006-06-18 06:19:28.000000000 -0500
+++ 1.3.14/lib/WikiPlugin.php	2007-07-01 05:11:10.000000000 -0500
@@ -1,5 +1,5 @@
 <?php //-*-php-*-
-rcs_id('$Id: WikiPlugin.php,v 1.61 2005/10/31 17:20:40 rurban Exp $');
+rcs_id('$Id: WikiPlugin.php,v 1.65 2007/07/01 09:09:19 rurban Exp $');
 
 class WikiPlugin
 {
@@ -87,7 +87,7 @@
     function getVersion() {
         return _("n/a");
         //return preg_replace("/[Revision: $]/", '',
-        //                    "\$Revision: 1.61 $");
+        //                    "\$Revision: 1.65 $");
     }
 
     function getArgs($argstr, $request=false, $defaults=false) {
@@ -116,17 +116,17 @@
             unset($argstr_args[$arg]);
             unset($argstr_defaults[$arg]);
         }
-
+        
         foreach (array_merge($argstr_args, $argstr_defaults) as $arg => $val) {
-            if ($request and $request->getArg('pagename') == _("PhpWikiAdministration") 
+	    // TODO: where the heck comes this from? Put the new method over there and peace.
+            /*if ($request and $request->getArg('pagename') == _("PhpWikiAdministration") 
                 and $arg == 'overwrite') // silence this warning
-                ;
-            else
-                trigger_error(sprintf(_("Argument '%s' not declared by plugin."),
-                                      $arg), E_USER_NOTICE);
+                ;*/
+            if ($this->allow_undeclared_arg($arg, $val))
+                $args[$arg] = $val;
         }
 
-        // add special handling of pages and exclude args to accept <! plugin-list !>
+        // Add special handling of pages and exclude args to accept <! plugin-list !>
         // and split explodePageList($args['exclude']) => array()
         // TODO : handle p[] pagehash
         foreach (array('pages', 'exclude') as $key) {
@@ -136,16 +136,6 @@
                     : $args[$key]; // <! plugin-list !>
         }
 
-        // always override sortby,limit from the REQUEST. ignore defaults if defined as such.
-        foreach (array('sortby', 'limit') as $key) {
-            if (array_key_exists($key, $defaults)) {
-                if ($val = $request->getArg($key))
-                    $args[$key] = $val;
-                elseif (!empty($args[$key])) {
-                    $GLOBALS['request']->setArg($key, $args[$key]);
-                }
-            }
-        }
         return $args;
     }
 
@@ -235,19 +225,27 @@
         trigger_error(sprintf(_("trailing cruft in plugin args: '%s'"),
                               $argstr), E_USER_NOTICE);
     }
+    
+    /* A plugin can override this to allow undeclared arguments.
+       Or to silence the warning.
+     */
+    function allow_undeclared_arg($name, $value) {
+        trigger_error(sprintf(_("Argument '%s' not declared by plugin."),
+                              $name), E_USER_NOTICE);
+	return false;
+    }
 
     /* handle plugin-list argument: use run(). */
     function makeList($plugin_args, $request, $basepage) {
         $dbi = $request->getDbh();
         $pagelist = $this->run($dbi, $plugin_args, $request, $basepage);
         $list = array();
-        if (is_object($pagelist) and isa($pagelist, 'PageList')) {
-            // table or list?
-            foreach ($pagelist->_pages as $page) {
-            	$list[] = $page->getName();
-            }
-        }
-        return $list;
+        if (is_object($pagelist) and isa($pagelist, 'PageList'))
+            return $pagelist->pageNames();
+        elseif (is_array($pagelist))
+            return $pagelist;
+        else    
+            return $list;
     }
 
     function getDefaultLinkArguments() {
diff -ruN 1.3.12p3/lib/WikiUser/AdoDb.php 1.3.14/lib/WikiUser/AdoDb.php
--- 1.3.12p3/lib/WikiUser/AdoDb.php	2006-06-18 06:19:28.000000000 -0500
+++ 1.3.14/lib/WikiUser/AdoDb.php	2007-07-01 05:11:10.000000000 -0500
@@ -1,5 +1,5 @@
 <?php //-*-php-*-
-rcs_id('$Id: AdoDb.php,v 1.8 2006/03/19 16:26:40 rurban Exp $');
+rcs_id('$Id: AdoDb.php,v 1.10 2007/05/30 21:53:52 rurban Exp $');
 /* Copyright (C) 2004 ReiniUrban
  * This file is part of PhpWiki. Terms and Conditions see LICENSE. (GPL2)
  */
@@ -160,7 +160,7 @@
         // reasons
         if (empty($this->_authcreate) and $dbi->getAuthParam('auth_create')) {
             $this->_authcreate = $this->prepare($dbi->getAuthParam('auth_create'),
-                                                array("userid", "password"));
+                                                array("password", "userid"));
         }
         if (!empty($this->_authcreate) and 
             isset($GLOBALS['HTTP_POST_VARS']['auth']) and
@@ -222,7 +222,10 @@
             elseif (isset($rs->fields[0]))
                 $okay = $rs->fields[0];
             else {
-                $okay = reset($rs->fields);
+                if (is_array($rs->fields))
+                    $okay = reset($rs->fields);
+                else
+                    $okay = false;
             }
             $rs->Close();
             $result = !empty($okay);
@@ -272,6 +275,12 @@
 }
 
 // $Log: AdoDb.php,v $
+// Revision 1.10  2007/05/30 21:53:52  rurban
+// add userid to authcreate
+//
+// Revision 1.9  2006/12/22 17:25:23  rurban
+// forgot why
+//
 // Revision 1.8  2006/03/19 16:26:40  rurban
 // fix DBAUTH arguments to be position independent, fixes bug #1358973
 //
diff -ruN 1.3.12p3/lib/WikiUser/HttpAuth.php 1.3.14/lib/WikiUser/HttpAuth.php
--- 1.3.12p3/lib/WikiUser/HttpAuth.php	2006-06-18 06:19:28.000000000 -0500
+++ 1.3.14/lib/WikiUser/HttpAuth.php	2007-07-01 05:11:10.000000000 -0500
@@ -1,13 +1,13 @@
 <?php //-*-php-*-
-rcs_id('$Id: HttpAuth.php,v 1.5 2005/02/28 20:35:45 rurban Exp $');
+rcs_id('$Id: HttpAuth.php,v 1.8 2007/05/19 14:34:42 rurban Exp $');
 /* Copyright (C) 2004 ReiniUrban
  * This file is part of PhpWiki. Terms and Conditions see LICENSE. (GPL2)
  */
 
 /**
  * We have two possibilities here.
- * 1) The webserver location is already HTTP protected (usually Basic). Then just 
- *    use the username and do nothing.
+ * 1) The webserver location is already HTTP protected. Usually Basic, but also 
+ *    NTLM or Digest. Then just use this username and do nothing.
  * 2) The webserver location is not protected, so we enforce basic HTTP Protection
  *    by sending a 401 error and let the client display the login dialog.
  *    This makes only sense if HttpAuth is the last method in USER_AUTH_ORDER,
@@ -19,7 +19,7 @@
 class _HttpAuthPassUser
 extends _PassUser
 {
-    function _HttpAuthPassUser($UserName='',$prefs=false) {
+    function _HttpAuthPassUser($UserName='', $prefs=false) {
         if ($prefs) $this->_prefs = $prefs;
         if (!isset($this->_prefs->_method))
            _PassUser::_PassUser($UserName);
@@ -28,10 +28,11 @@
         
         // Is this double check really needed? 
         // It is not expensive so we keep it for now.
-        if ($this->userExists())
+        if ($this->userExists()) {
             return $this;
-        else 
+        } else {
             return $GLOBALS['ForbiddenUser'];
+        }
     }
 
     // FIXME! This doesn't work yet!
@@ -55,6 +56,7 @@
         // Maybe we should random the realm to really force a logout. 
         // But the next login will fail.
         // better_srand(); $realm = microtime().rand();
+        // TODO: On AUTH_TYPE=NTLM this will fail. Only Basic supported so far.
         header('WWW-Authenticate: Basic realm="'.WIKI_NAME.'"');
         if (strstr(php_sapi_name(), 'apache'))
             header('HTTP/1.0 401 Unauthorized'); 
@@ -76,7 +78,7 @@
 	    return $GLOBALS['HTTP_ENV_VARS']['REMOTE_USER'];
 	if (!empty($GLOBALS['REMOTE_USER']))
 	    return $GLOBALS['REMOTE_USER'];
-	//IIS:
+	// IIS + Basic
 	if (!empty($_SERVER['HTTP_AUTHORIZATION'])) {
             list($userid, $passwd) = explode(':', 
                 base64_decode(substr($_SERVER['HTTP_AUTHORIZATION'], 6)));
@@ -87,8 +89,20 @@
     
     // force http auth authorization
     function userExists() {
+        if (!isset($_SERVER))
+            $_SERVER =& $GLOBALS['HTTP_SERVER_VARS'];
         $username = $this->_http_username();
-        if (empty($username) 
+        if (strstr($username, "\\") 
+            and isset($_SERVER['AUTH_TYPE']) 
+            and $_SERVER['AUTH_TYPE'] == 'NTLM')
+        {
+            // allow domain\user, change userid to domain/user
+            $username = str_ireplace("\\\\", "\\", $username); // php bug with _SERVER
+            $username = str_ireplace("\\", SUBPAGE_SEPARATOR, $username);
+            $this->_userid = str_ireplace("\\", SUBPAGE_SEPARATOR, $this->_userid);
+        }
+        // FIXME: if AUTH_TYPE = NTLM there's a domain\\name <> domain\name mismatch
+        if (empty($username)
             or strtolower($username) != strtolower($this->_userid)) 
         {
             $this->logout();
@@ -107,7 +121,7 @@
         return $this;
     }
     
-    // ignore password for now, this is checked by apache.
+    // ignore password, this is checked by the webservers http auth.
     function checkPass($submitted_password) {
         return $this->userExists() 
             ? ($this->isAdmin() ? WIKIAUTH_ADMIN : WIKIAUTH_USER)
@@ -120,6 +134,16 @@
 }
 
 // $Log: HttpAuth.php,v $
+// Revision 1.8  2007/05/19 14:34:42  rurban
+// Improved comment
+//
+// Revision 1.7  2006/09/03 10:10:00  rurban
+// oops: reset this->_userid also
+//
+// Revision 1.6  2006/09/03 09:57:19  rurban
+// Support AUTH_TYPE=NTLM (Windows domain\username)
+// Workaround PHP _SERVER bug adding \\ => \\\\
+//
 // Revision 1.5  2005/02/28 20:35:45  rurban
 // linebreaks
 //
@@ -149,4 +173,4 @@
 // c-hanging-comment-ender-p: nil
 // indent-tabs-mode: nil
 // End:
-?>
\ No newline at end of file
+?>
diff -ruN 1.3.12p3/lib/WikiUser/HttpAuthUpper.php 1.3.14/lib/WikiUser/HttpAuthUpper.php
--- 1.3.12p3/lib/WikiUser/HttpAuthUpper.php	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/lib/WikiUser/HttpAuthUpper.php	2007-07-01 05:11:10.000000000 -0500
@@ -0,0 +1,156 @@
+<?php //-*-php-*-
+rcs_id('$Id: HttpAuthAVL.php,v 1.7 2006/09/03 10:10:00 rurban Exp $');
+/* Copyright (C) 2004,2007 ReiniUrban
+ * This file is part of PhpWiki. Terms and Conditions see LICENSE. (GPL2)
+ */
+
+/**
+ * We have two possibilities here:
+ * 1) The webserver location is already HTTP protected. 
+ *    Usually Basic by some auth module (ldap, mysql, ...), but also NTLM or Digest. 
+ *    Then just use this username and do nothing.
+ * 2) The webserver location is not protected, so we enforce basic HTTP Protection
+ *    by sending a 401 error and let the client display the login dialog.
+ *    This makes only sense if HttpAuth is the last method in USER_AUTH_ORDER,
+ *    since the other methods cannot be transparently called after this enforced 
+ *    external dialog.
+ *    Try the available auth methods (most likely Bogo) and sent this header back.
+ *    header('Authorization: Basic '.base64_encode("$userid:$passwd")."\r\n";
+ */
+class _HttpAuthUpperPassUser
+extends _PassUser
+{
+    function _HttpAuthUpperPassUser($UserName='', $prefs=false) {
+        if ($prefs) $this->_prefs = $prefs;
+        if (!isset($this->_prefs->_method))
+           _PassUser::_PassUser($UserName);
+        if ($UserName) 
+            $this->_userid = $UserName;
+        $this->_authmethod = 'HttpAuthUpper';
+        
+        // Is this double check really needed? 
+        // It is not expensive so we keep it for now.
+        if ($this->userExists()) {
+            return $this;
+        } else {
+            return $GLOBALS['ForbiddenUser'];
+        }
+    }
+
+    // FIXME! This doesn't work yet!
+    // Allow httpauth by other method: Admin for now only
+    function _fake_auth($userid, $passwd) {
+    	return false;
+    	
+        header('WWW-Authenticate: Basic realm="'.WIKI_NAME.'"');
+        header("Authorization: Basic ".base64_encode($userid.":".$passwd));
+        if (!isset($_SERVER))
+            $_SERVER =& $GLOBALS['HTTP_SERVER_VARS'];
+        $GLOBALS['REMOTE_USER'] = $userid;
+        $_SERVER['PHP_AUTH_USER'] = $userid;
+        $_SERVER['PHP_AUTH_PW'] = $passwd;
+        //$GLOBALS['request']->setStatus(200);
+    }
+
+    function logout() {
+        if (!isset($_SERVER))
+            $_SERVER =& $GLOBALS['HTTP_SERVER_VARS'];
+        // Maybe we should random the realm to really force a logout. 
+        // But the next login will fail.
+        // better_srand(); $realm = microtime().rand();
+        // TODO: On AUTH_TYPE=NTLM this will fail. Only Basic supported so far.
+        header('WWW-Authenticate: Basic realm="'.WIKI_NAME.'"');
+        if (strstr(php_sapi_name(), 'apache'))
+            header('HTTP/1.0 401 Unauthorized'); 
+        else    
+            header("Status: 401 Access Denied"); //IIS and CGI need that
+        unset($GLOBALS['REMOTE_USER']);
+        unset($_SERVER['PHP_AUTH_USER']);
+        unset($_SERVER['PHP_AUTH_PW']);
+    }
+
+    function _http_username() {
+        if (!isset($_SERVER))
+            $_SERVER =& $GLOBALS['HTTP_SERVER_VARS'];
+	if (!empty($_SERVER['PHP_AUTH_USER']))
+	    return $_SERVER['PHP_AUTH_USER'];
+	if (!empty($_SERVER['REMOTE_USER']))
+	    return $_SERVER['REMOTE_USER'];
+        if (!empty($GLOBALS['HTTP_ENV_VARS']['REMOTE_USER']))
+	    return $GLOBALS['HTTP_ENV_VARS']['REMOTE_USER'];
+	if (!empty($GLOBALS['REMOTE_USER']))
+	    return $GLOBALS['REMOTE_USER'];
+	// IIS + Basic
+	if (!empty($_SERVER['HTTP_AUTHORIZATION'])) {
+            list($userid, $passwd) = explode(':', 
+                base64_decode(substr($_SERVER['HTTP_AUTHORIZATION'], 6)));
+            return $userid;
+	}    
+	return '';
+    }
+
+    // special: force upcase username
+    function UserName() {
+        if (!empty($this->_userid)) {
+	    $this->_userid = strtoupper($this->_userid);
+            return strtoupper($this->_userid);
+	}
+    }
+    
+    // force http auth authorization
+    function userExists() {
+        if (!isset($_SERVER))
+            $_SERVER =& $GLOBALS['HTTP_SERVER_VARS'];
+        $username = strtoupper($this->_http_username());
+        if (strstr($username, "\\") 
+            and isset($_SERVER['AUTH_TYPE']) 
+            and $_SERVER['AUTH_TYPE'] == 'NTLM')
+        {
+            // allow domain\user, change userid to domain/user
+            $username = str_ireplace("\\\\", "\\", $username); // php bug with _SERVER
+            $username = str_ireplace("\\", SUBPAGE_SEPARATOR, $username);
+            $this->_userid = str_ireplace("\\", SUBPAGE_SEPARATOR, $this->_userid);
+        }
+        // FIXME: if AUTH_TYPE = NTLM there's a domain\\name <> domain\name mismatch
+        if (empty($username)
+            or strtolower($username) != strtolower($this->_userid)) 
+        {
+            $this->logout();
+            $user = $GLOBALS['ForbiddenUser'];
+            $user->_userid = $this->_userid =  "";
+            $this->_level = WIKIAUTH_FORBIDDEN;
+            return $user;
+            //exit;
+        }
+        $this->_userid = strtoupper($username);
+        // we should check if he is a member of admin, 
+        // because HttpAuth has its own logic.
+        $this->_level = WIKIAUTH_USER;
+        if ($this->isAdmin())
+            $this->_level = WIKIAUTH_ADMIN;
+        return $this;
+    }
+    
+    // ignore password, this is checked by the webservers http auth.
+    function checkPass($submitted_password) {
+        return $this->userExists() 
+            ? ($this->isAdmin() ? WIKIAUTH_ADMIN : WIKIAUTH_USER)
+            : WIKIAUTH_ANON;
+    }
+
+    function mayChangePass() {
+        return false;
+    }
+}
+
+// $Log: HttpAuth.php,v $
+// Revision 1.7  2006/09/03 10:10:00  rurban
+
+// Local Variables:
+// mode: php
+// tab-width: 8
+// c-basic-offset: 4
+// c-hanging-comment-ender-p: nil
+// indent-tabs-mode: nil
+// End:
+?>
diff -ruN 1.3.12p3/lib/WikiUser/IMAP.php 1.3.14/lib/WikiUser/IMAP.php
--- 1.3.12p3/lib/WikiUser/IMAP.php	2006-06-18 06:19:28.000000000 -0500
+++ 1.3.14/lib/WikiUser/IMAP.php	2007-07-01 05:11:10.000000000 -0500
@@ -1,5 +1,5 @@
 <?php //-*-php-*-
-rcs_id('$Id: IMAP.php,v 1.5 2005/04/25 19:46:08 rurban Exp $');
+rcs_id('$Id: IMAP.php,v 1.7 2006/09/06 05:52:43 rurban Exp $');
 /* Copyright (C) 2004 $ThePhpWikiProgrammingTeam
  * This file is part of PhpWiki. Terms and Conditions see LICENSE. (GPL2)
  */
@@ -14,10 +14,12 @@
 {
     function checkPass($submitted_password) {
         if (!$this->isValidName()) {
+	    if (DEBUG & _DEBUG_LOGIN) trigger_error(get_class($this)."::checkPass => failed isValidName", E_USER_WARNING);
             trigger_error(_("Invalid username."),E_USER_WARNING);
             return $this->_tryNextPass($submitted_password);
         }
         if (!$this->_checkPassLength($submitted_password)) {
+	    if (DEBUG & _DEBUG_LOGIN) trigger_error(get_class($this)."::checkPass => failed checkPassLength", E_USER_WARNING);
             return WIKIAUTH_FORBIDDEN;
         }
         $userid = $this->_userid;
@@ -26,6 +28,7 @@
         if ($mbox) {
             imap_close($mbox);
             $this->_authmethod = 'IMAP';
+	    if (DEBUG & _DEBUG_LOGIN) trigger_error(get_class($this)."::checkPass => ok", E_USER_WARNING);
             $this->_level = WIKIAUTH_USER;
             return $this->_level;
         } else {
@@ -34,6 +37,7 @@
                               E_USER_WARNING);
             }
         }
+	if (DEBUG & _DEBUG_LOGIN) trigger_error(get_class($this)."::checkPass => wrong", E_USER_WARNING);
 
         return $this->_tryNextPass($submitted_password);
     }
@@ -42,17 +46,27 @@
     function userExists() {
         return true;
 
-        if (checkPass($this->_prefs->get('passwd')))
+        if ($this->checkPass($this->_prefs->get('passwd'))) {
+	    if (DEBUG & _DEBUG_LOGIN) trigger_error(get_class($this)."::userExists => true (pass ok)", E_USER_WARNING);
             return true;
+	}
+	if (DEBUG & _DEBUG_LOGIN) trigger_error(get_class($this)."::userExists => false (pass wrong)", E_USER_WARNING);
         return $this->_tryNextUser();
     }
 
     function mayChangePass() {
+	if (DEBUG & _DEBUG_LOGIN) trigger_error(get_class($this)."::mayChangePass => false", E_USER_WARNING);
         return false;
     }
 }
 
 // $Log: IMAP.php,v $
+// Revision 1.7  2006/09/06 05:52:43  rurban
+// more verbose _DEBUG_LOGIN
+//
+// Revision 1.6  2006/08/25 22:35:50  rurban
+// fix checkPass call in userExists
+//
 // Revision 1.5  2005/04/25 19:46:08  rurban
 // trivial tuning by michael pruitt. Patch #1120185
 //
diff -ruN 1.3.12p3/lib/WikiUser/LDAP.php 1.3.14/lib/WikiUser/LDAP.php
--- 1.3.12p3/lib/WikiUser/LDAP.php	2006-06-18 06:19:28.000000000 -0500
+++ 1.3.14/lib/WikiUser/LDAP.php	2007-07-01 05:11:10.000000000 -0500
@@ -1,6 +1,6 @@
 <?php //-*-php-*-
-rcs_id('$Id: LDAP.php,v 1.5 2005/10/10 19:43:49 rurban Exp $');
-/* Copyright (C) 2004 $ThePhpWikiProgrammingTeam
+rcs_id('$Id: LDAP.php,v 1.9 2007/06/13 12:48:14 rurban Exp $');
+/* Copyright (C) 2004,2007 $ThePhpWikiProgrammingTeam
  * This file is part of PhpWiki. Terms and Conditions see LICENSE. (GPL2)
  */
 
@@ -49,16 +49,24 @@
         unset($this->_sr);
         unset($this->_ldap);
     }
-    
+
     function checkPass($submitted_password) {
 
         $this->_authmethod = 'LDAP';
         $userid = $this->_userid;
         if (!$this->isValidName()) {
             trigger_error(_("Invalid username."), E_USER_WARNING);
+            $this->_free();
             return $this->_tryNextPass($submitted_password);
         }
         if (!$this->_checkPassLength($submitted_password)) {
+            $this->_free();
+            return WIKIAUTH_FORBIDDEN;
+        }
+        // A LDAP speciality: empty passwords are valid with ldap_bind!!!
+        if (strlen($submitted_password) == 0) {
+            trigger_error(_("Empty password not allowed for LDAP"), E_USER_WARNING);
+            $this->_free();
             return WIKIAUTH_FORBIDDEN;
         }
         if (strstr($userid,'*')) {
@@ -73,11 +81,14 @@
                 ? LDAP_SEARCH_FIELD."=$userid"
                 : "uid=$userid";
             if (!$this->_sr = ldap_search($ldap, LDAP_BASE_DN, $st_search)) {
+		trigger_error(_("Could not search in LDAP"), E_USER_WARNING);
  		$this->_free();
                 return $this->_tryNextPass($submitted_password);
             }
             $info = ldap_get_entries($ldap, $this->_sr); 
             if (empty($info["count"])) {
+		if (DEBUG)
+		    trigger_error(_("User not found in LDAP"), E_USER_WARNING);
             	$this->_free();
                 return $this->_tryNextPass($submitted_password);
             }
@@ -86,22 +97,52 @@
             for ($i = 0; $i < $info["count"]; $i++) {
                 $dn = $info[$i]["dn"];
                 // The password is still plain text.
+		// LDAP allows all chars but *, (, ), \, NUL
+		// Quoting is done by \xx (two-digit hexcode). * <=> \2a
+		// Handling '?' is unspecified
+		$password = strtr($submitted_password, 
+				array("*" => "\\2a",
+				      "?" => "\\3f",
+				      "(" => "\\28",
+				      ")" => "\\29",
+				      "\\" => "\\5c",
+				      "\0" => "\\00"));
                 // On wrong password the ldap server will return: 
                 // "Unable to bind to server: Server is unwilling to perform"
                 // The @ catches this error message.
-                if ($r = @ldap_bind($ldap, $dn, $submitted_password)) {
+                if ($r = @ldap_bind($ldap, $dn, $password)) {
                     // ldap_bind will return TRUE if everything matches
+		    // Get the mail from ldap
+		    if (!empty($info[$i]["mail"][0])) {
+			$this->_prefs->_prefs['email']->default_value = $info[$i]["mail"][0];
+		    }
             	    $this->_free();
                     $this->_level = WIKIAUTH_USER;
                     return $this->_level;
                 }
             }
+	    if (DEBUG)
+		trigger_error(_("Wrong password: ") . 
+			      str_repeat("*",strlen($submitted_password)), 
+			      E_USER_WARNING);
             $this->_free();
-        }
+        } else {
+            $this->_free();
+	    trigger_error(_("Could not connect to LDAP"), E_USER_WARNING);
+	}
 
         return $this->_tryNextPass($submitted_password);
     }
 
+
+    function isValidName ($userid = false) {
+        if (!$userid) $userid = $this->_userid;
+	// LDAP allows all chars but *, (, ), \, NUL
+	// Quoting is done by \xx (two-digit hexcode). * <=> \2a
+	// We are more restrictive here, but must allow explitly utf-8
+        return preg_match("/^[\-\w_\.@ ]+$/u", $userid) and strlen($userid) < 64;
+    }
+
     function userExists() {
         $userid = $this->_userid;
         if (strstr($userid, '*')) {
@@ -122,6 +163,7 @@
 
             if ($info["count"] > 0) {
          	$this->_free();
+		UpgradeUser($GLOBALS['ForbiddenUser'], $this);
                 return true;
             }
         }
@@ -136,6 +178,20 @@
 }
 
 // $Log: LDAP.php,v $
+// Revision 1.9  2007/06/13 12:48:14  rurban
+// fix wrong fix from 1.3.13p1
+//
+// Revision 1.8  2007/06/07 16:31:33  rurban
+// Important! Fixes bug #1732882 ldap_bind with empty password
+// Adds diagnostics on other ldap failures
+// Fix password quoting
+//
+// Revision 1.7  2007/05/30 21:56:17  rurban
+// Back to default uid for LDAP
+//
+// Revision 1.6  2007/05/29 16:56:15  rurban
+// Allow more password und userid chars. uid => cn: default for certain testusers
+//
 // Revision 1.5  2005/10/10 19:43:49  rurban
 // add DBAUTH_PREF_INSERT: self-creating users. by John Stevens
 //
diff -ruN 1.3.12p3/lib/WikiUser/PearDb.php 1.3.14/lib/WikiUser/PearDb.php
--- 1.3.12p3/lib/WikiUser/PearDb.php	2006-06-18 06:19:28.000000000 -0500
+++ 1.3.14/lib/WikiUser/PearDb.php	2007-07-01 05:11:11.000000000 -0500
@@ -1,5 +1,5 @@
 <?php //-*-php-*-
-rcs_id('$Id: PearDb.php,v 1.10 2006/03/19 16:26:40 rurban Exp $');
+rcs_id('$Id: PearDb.php,v 1.11 2007/05/30 21:53:52 rurban Exp $');
 /* Copyright (C) 2004 ReiniUrban
  * This file is part of PhpWiki. Terms and Conditions see LICENSE. (GPL2)
  */
@@ -153,8 +153,8 @@
             isset($GLOBALS['HTTP_POST_VARS']['auth']['passwd'])) 
         {
             $passwd = $GLOBALS['HTTP_POST_VARS']['auth']['passwd'];
-            $dbh->simpleQuery(sprintf($this->_authcreate, 
-                                      $dbh->quote($passwd), 
+            $dbh->simpleQuery(sprintf($this->_authcreate,
+                                      $dbh->quote($passwd),
                                       $dbh->quote($this->_userid)));
             return true;
         }
@@ -187,7 +187,7 @@
             $result = $this->_checkPass($submitted_password, $stored_password);
         } else {
             // be position independent
-            $okay = $dbh->getOne(sprintf($this->_authselect, 
+            $okay = $dbh->getOne(sprintf($this->_authselect,
                                          $dbh->quote($submitted_password),
                                          $dbh->quote($this->_userid)));
             $result = !empty($okay);
@@ -237,6 +237,9 @@
 }
 
 // $Log: PearDb.php,v $
+// Revision 1.11  2007/05/30 21:53:52  rurban
+// add userid to authcreate
+//
 // Revision 1.10  2006/03/19 16:26:40  rurban
 // fix DBAUTH arguments to be position independent, fixes bug #1358973
 //
diff -ruN 1.3.12p3/lib/WikiUser/POP3.php 1.3.14/lib/WikiUser/POP3.php
--- 1.3.12p3/lib/WikiUser/POP3.php	2006-06-18 06:19:28.000000000 -0500
+++ 1.3.14/lib/WikiUser/POP3.php	2007-07-01 05:11:11.000000000 -0500
@@ -1,5 +1,5 @@
 <?php //-*-php-*-
-rcs_id('$Id: POP3.php,v 1.6 2005/04/23 11:17:41 rurban Exp $');
+rcs_id('$Id: POP3.php,v 1.7 2006/09/06 05:52:43 rurban Exp $');
 /* Copyright (C) 2004 $ThePhpWikiProgrammingTeam
  * This file is part of PhpWiki. Terms and Conditions see LICENSE. (GPL2)
  */
@@ -15,9 +15,11 @@
     function checkPass($submitted_password) {
         if (!$this->isValidName()) {
             trigger_error(_("Invalid username."), E_USER_WARNING);
+	    if (DEBUG & _DEBUG_LOGIN) trigger_error(get_class($this)."::checkPass => failed isValidName", E_USER_WARNING);
             return $this->_tryNextPass($submitted_password);
         }
         if (!$this->_checkPassLength($submitted_password)) {
+	    if (DEBUG & _DEBUG_LOGIN) trigger_error(get_class($this)."::checkPass => failed checkPassLength", E_USER_WARNING);
             return WIKIAUTH_FORBIDDEN;
         }
         $userid = $this->_userid;
@@ -60,6 +62,7 @@
                           E_USER_WARNING);
         }
         $this->_authmethod = 'POP3';
+	if (DEBUG & _DEBUG_LOGIN) trigger_error(get_class($this)."::checkPass => $retval", E_USER_WARNING);
         if ($retval) {
             $this->_level = WIKIAUTH_USER;
         } else {
@@ -67,9 +70,17 @@
         }
         return $this->_level;
     }
+
+    function __userExists() {
+	if (DEBUG & _DEBUG_LOGIN) trigger_error(get_class($this)."::userExists => true (dummy)", E_USER_WARNING);
+        return true;
+    }
 }
 
 // $Log: POP3.php,v $
+// Revision 1.7  2006/09/06 05:52:43  rurban
+// more verbose _DEBUG_LOGIN
+//
 // Revision 1.6  2005/04/23 11:17:41  rurban
 // bug #1186291
 //
diff -ruN 1.3.12p3/lib/WikiUserNew.php 1.3.14/lib/WikiUserNew.php
--- 1.3.12p3/lib/WikiUserNew.php	2006-06-18 06:19:28.000000000 -0500
+++ 1.3.14/lib/WikiUserNew.php	2007-07-01 05:11:11.000000000 -0500
@@ -1,6 +1,6 @@
 <?php //-*-php-*-
-rcs_id('$Id: WikiUserNew.php,v 1.137 2006/05/03 06:05:37 rurban Exp $');
-/* Copyright (C) 2004,2005 $ThePhpWikiProgrammingTeam
+rcs_id('$Id: WikiUserNew.php,v 1.145 2007/06/07 16:56:27 rurban Exp $');
+/* Copyright (C) 2004,2005,2006,2007 $ThePhpWikiProgrammingTeam
  *
  * This file is part of PhpWiki.
  * 
@@ -113,6 +113,13 @@
 define('TIMEOFFSET_MAX_HOURS',  26);
 if (!defined('TIMEOFFSET_DEFAULT_HOURS')) define('TIMEOFFSET_DEFAULT_HOURS', 0);
 
+/* EMAIL VERIFICATION
+ * On certain nets or hosts the email domain cannot be determined automatically from the DNS.
+ * Provide some overrides here.
+ *    ( username @ ) domain => mail-domain
+ */
+$EMailHosts = array('avl.com' => 'mail.avl.com');
+
 /**
  * There are be the following constants in config/config.ini to 
  * establish login parameters:
@@ -202,8 +209,19 @@
         else { 
             $_PassUser = new _PassUser($UserName,
                                        isset($_BogoUser) ? $_BogoUser->_prefs : false);
-            if ($_PassUser->userExists() or $GLOBALS['request']->getArg('auth'))
-                return $_PassUser;
+            if ($_PassUser->userExists() or $GLOBALS['request']->getArg('auth')) {
+            	if (isset($GLOBALS['request']->_user_class))
+	    	    $class = $GLOBALS['request']->_user_class;
+            	elseif (strtolower(get_class($_PassUser)) == "_passuser")
+	    	    $class = $_PassUser->nextClass();
+	    	else
+		    $class = get_class($_PassUser);
+    		if ($user = new $class($UserName, $_PassUser->_prefs)) {
+	            return $user;
+            	} else {
+            	    return $_PassUser;
+            	}
+            }
         }
     }
     // No Bogo- or PassUser exists, or
@@ -227,7 +245,7 @@
  * 
  */
 function WikiUser ($UserName = '') {
-    global $ForbiddenUser;
+    global $ForbiddenUser, $HTTP_SESSION_VARS;
 
     //Maybe: Check sessionvar for username & save username into
     //sessionvar (may be more appropriate to do this in lib/main.php).
@@ -236,7 +254,7 @@
         // Found a user name.
         return _determineAdminUserOrOtherUser($UserName);
     }
-    elseif (!empty($_SESSION['userid'])) {
+    elseif (!empty($HTTP_SESSION_VARS['userid'])) {
         // Found a user name.
         $ForbiddenUser = new _ForbiddenUser($_SESSION['userid']);
         return _determineAdminUserOrOtherUser($_SESSION['userid']);
@@ -279,28 +297,29 @@
  * (on php4 it works ok, on php5 it's currently disallowed on the parser level)
  * that's why try it the hard way.
  */
-function UpgradeUser ($olduser, $user) {
-    if (isa($user,'_WikiUser') and isa($olduser,'_WikiUser')) {
-        // populate the upgraded class $olduser with the values from the new user object
+function UpgradeUser ($user, $newuser) {
+    if (isa($user,'_WikiUser') and isa($newuser,'_WikiUser')) {
+        // populate the upgraded class $newuser with the values from the current user object
         //only _auth_level, _current_method, _current_index,
         if (!empty($user->_level) and 
-            $user->_level > $olduser->_level)
-            $olduser->_level = $user->_level;
+            $user->_level > $newuser->_level)
+            $newuser->_level = $user->_level;
         if (!empty($user->_current_index) and
-            $user->_current_index > $olduser->_current_index) {
-            $olduser->_current_index = $user->_current_index;
-            $olduser->_current_method = $user->_current_method;
+            $user->_current_index > $newuser->_current_index) {
+            $newuser->_current_index = $user->_current_index;
+            $newuser->_current_method = $user->_current_method;
         }
         if (!empty($user->_authmethod))
-            $olduser->_authmethod = $user->_authmethod;
+            $newuser->_authmethod = $user->_authmethod;
+	$GLOBALS['request']->_user_class = get_class($newuser);
         /*
         foreach (get_object_vars($user) as $k => $v) {
             if (!empty($v)) $olduser->$k = $v;	
         }
         */
-        $olduser->hasHomePage(); // revive db handle, because these don't survive sessions
+        $newuser->hasHomePage(); // revive db handle, because these don't survive sessions
         //$GLOBALS['request']->_user = $olduser;
-        return $olduser;
+        return $newuser;
     } else {
         return false;
     }
@@ -323,7 +342,7 @@
     if (isa($user,'_BogoUser'))
         $user = new _PassUser($UserName,$user->_prefs);
     $class = $user->nextClass();
-    if ($user = new $class($UserName,$user->_prefs)) {
+    if ($user = new $class($UserName, $user->_prefs)) {
         return $user->userExists($UserName);
     }
     $request->_user = $GLOBALS['ForbiddenUser'];
@@ -404,6 +423,17 @@
         return false;
     }
 
+    // 
+    function createHomePage() {
+        global $request;
+        $versiondata = array('author' => _("The PhpWiki programming team"));
+        $request->_dbi->save(_("Automatically created user homepage to be able to store UserPreferences.").
+        		     "\n{{Template/UserPage}}",
+                             1, $versiondata);
+        $request->_dbi->touch();                             
+        $this->_HomePagehandle = $request->getPage($this->_userid);
+    }
+    
     // innocent helper: case-insensitive position in _auth_methods
     function array_position ($string, $array) {
         $string = strtolower($string);
@@ -470,7 +500,7 @@
         if ($seperate_page) {
             $page = $request->getPage($pagename);
             $revision = $page->getCurrentRevision();
-            return GeneratePage($login,_("Sign In"),$revision);
+            return GeneratePage($login,_("Sign In"), $revision);
         } else {
             return $login->printExpansion();
         }
@@ -521,12 +551,13 @@
     }
 
     /* This is quite restrictive and not according the login description online. 
-       Any word char (A-Za-z0-9_), ".", "@" and "-"
-       The backends may loosen this.
+       Any word char (A-Za-z0-9_), " ", ".", "@" and "-"
+       The backends may loosen or tighten this.
     */
     function isValidName ($userid = false) {
         if (!$userid) $userid = $this->_userid;
-        return preg_match("/^[\w\.@\-]+$/",$userid) and strlen($userid) < 32;
+        if (!$userid) return false;
+        return preg_match("/^[\-\w\.@ ]+$/u", $userid) and strlen($userid) < 32;
     }
 
     /**
@@ -828,8 +859,8 @@
     function _PassUser($UserName='', $prefs=false) {
         //global $DBAuthParams, $DBParams;
         if ($UserName) {
-            if (!$this->isValidName($UserName))
-                return false;
+            /*if (!$this->isValidName($UserName))
+                return false;*/
             $this->_userid = $UserName;
             if ($this->hasHomePage())
                 $this->_HomePagehandle = $GLOBALS['request']->getPage($this->_userid);
@@ -1100,7 +1131,7 @@
         _AnonUser::getPreferences();
         // User may have deleted cookie, retrieve from his
         // PersonalPage if there is one.
-        if ($this->_HomePagehandle) {
+        if (!empty($this->_HomePagehandle)) {
             if ($restored_from_page = $this->_prefs->retrieve
                 ($this->_HomePagehandle->get('pref'))) {
                 $updated = $this->_prefs->updatePrefs($restored_from_page,'init');
@@ -1135,7 +1166,14 @@
         }
         if ($updated = _AnonUser::setPreferences($prefs, $id_only)) {
             // Encode only the _prefs array of the UserPreference object
-            if (!empty($this->_HomePagehandle) and !$id_only) {
+	    // If no DB method exists to store the prefs we must store it in the page, not in the cookies.
+            if (empty($this->_HomePagehandle)) {
+                $this->_HomePagehandle = $GLOBALS['request']->getPage($this->_userid);
+	    }
+            if (! $this->_HomePagehandle->exists() ) {
+                $this->createHomePage();
+            }
+	    if (!empty($this->_HomePagehandle) and !$id_only) {
                 $this->_HomePagehandle->set('pref', $this->_prefs->store());
             }
         }
@@ -1150,13 +1188,18 @@
     // child methods obtain $stored_password from external auth.
     function userExists() {
         //if ($this->_HomePagehandle) return true;
-        $class = $this->nextClass();
-        while ($user = new $class($this->_userid, $this->_prefs)) {
+        if (strtolower(get_class($this)) == "_passuser") {
+            $class = $this->nextClass();
+            $user = new $class($this->_userid, $this->_prefs);
+        } else {
+            $user = $this;
+        }
+        while ($user) {
             if (!check_php_version(5))
                 eval("\$this = \$user;");
-            // /*PHP5 patch*/$this = $user;
-            UpgradeUser($this,$user);
+            $user = UpgradeUser($this, $user);
             if ($user->userExists()) {
+                $user = UpgradeUser($this, $user);
                 return true;
             }
             // prevent endless loop. does this work on all PHP's?
@@ -1306,14 +1349,15 @@
             if (substr($class,-10) == "dbpassuser") $class = "_dbpassuser";
             $GLOBALS['USER_AUTH_ERROR'][$class] = 'nosuchuser';
         }
-        if (USER_AUTH_POLICY === 'strict') {
+        if (USER_AUTH_POLICY === 'strict'
+	    or USER_AUTH_POLICY === 'stacked') {
             $class = $this->nextClass();
-            while ($user = new $class($this->_userid,$this->_prefs)) {
+            while ($user = new $class($this->_userid, $this->_prefs)) {
                 if (!check_php_version(5))
                     eval("\$this = \$user;");
-                // /*PHP5 patch*/$this = $user;
-                //$user = UpgradeUser($this, $user);
+	        $user = UpgradeUser($this, $user);
                 if ($user->userExists()) {
+                    $user = UpgradeUser($this, $user);
                     return true;
                 }
                 $class = $this->nextClass();
@@ -1656,8 +1700,11 @@
             list($ok,$msg) = ValidateMail($value);
             if ($ok and mail($value,"[".WIKI_NAME ."] "._("Email Verification"),
                      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))))
+                             WIKI_NAME, WikiURL($GLOBALS['request']->getArg('pagename'),'',true)))) {
                 $this->set('emailVerified',1);
+            } else {
+            	trigger_error($msg, E_USER_WARNING);
+            }
         }
     }
 }
@@ -1667,11 +1714,12 @@
     Note: too strict, Bug #1053681
  */
 function ValidateMail($email, $noconnect=false) {
+    global $EMailHosts;
     $HTTP_HOST = $GLOBALS['request']->get('HTTP_HOST');
 
     // if this check is too strict (like invalid mail addresses in a local network only)
     // uncomment the following line:
-    // return array(true,"not validated");
+    //return array(true,"not validated");
     // see http://sourceforge.net/tracker/index.php?func=detail&aid=1053681&group_id=6121&atid=106121
 
     $result = array();
@@ -1705,6 +1753,9 @@
     $mailbox = "(?:$addr_spec|$phrase$route_addr)";
 
     $rfc822re = "/$lwsp*$mailbox/";
+    unset($domain, $route_addr, $route, $phrase, $addr_spec, $sub_domain, $localpart, 
+          $atom, $word, $quoted_string);
+    unset($dtext, $controls, $specials, $lwsp, $domain_literal);
 
     if (!preg_match($rfc822re, $email)) {
         $result[0] = false;
@@ -1712,7 +1763,7 @@
         return $result;
     }
     if ($noconnect)
-      return array(true,sprintf(_("E-Mail address '%s' is properly formatted"), $email));
+      return array(true, sprintf(_("E-Mail address '%s' is properly formatted"), $email));
 
     list ( $Username, $Domain ) = split ("@", $email);
     //Todo: getmxrr workaround on windows or manual input field to verify it manually
@@ -1720,6 +1771,9 @@
         $ConnectAddress = $MXHost[0];
     } else {
         $ConnectAddress = $Domain;
+	if (isset($EMailHosts[ $Domain ])) {
+            $ConnectAddress = $EMailHosts[ $Domain ];
+        }
     }
     $Connect = @fsockopen ( $ConnectAddress, 25 );
     if ($Connect) {
@@ -2107,6 +2161,32 @@
 */
 
 // $Log: WikiUserNew.php,v $
+// Revision 1.145  2007/06/07 16:56:27  rurban
+// protect against empty username
+//
+// Revision 1.144  2007/06/01 06:36:57  rurban
+// allow space in user names. backends should tighten it
+//
+// Revision 1.143  2007/05/24 18:37:53  rurban
+// silence AdminUser HomePagehandle warning
+//
+// Revision 1.142  2007/05/15 16:32:34  rurban
+// Refactor class upgrading at ->UserExists
+//
+// Revision 1.141  2007/05/13 18:31:24  rurban
+// Refactor UpgradeUser. Added EMailHosts
+//
+// Revision 1.140  2006/12/22 01:20:14  rurban
+// Automatically create a Users homepage, when no SQL method exists
+// not to rely on cookies.
+//
+// Revision 1.139  2006/09/03 09:55:37  rurban
+// Remove too early and too strict isValidName check in _PassUser. This really should be done in
+// the method, when we know it. This fixes NTLM auth. (userid=domain\user)
+//
+// Revision 1.138  2006/06/18 11:02:55  rurban
+// pref->value > -name, fix bug #1355533
+//
 // Revision 1.137  2006/05/03 06:05:37  rurban
 // Fix default preferences for editheight maxrows, by Manuel Vacelet.
 //
diff -ruN 1.3.12p3/lib/WysiwygEdit/FCKeditor.php 1.3.14/lib/WysiwygEdit/FCKeditor.php
--- 1.3.12p3/lib/WysiwygEdit/FCKeditor.php	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/lib/WysiwygEdit/FCKeditor.php	2007-07-01 05:11:11.000000000 -0500
@@ -0,0 +1,128 @@
+<?php
+rcs_id('$Id: FCKeditor.php,v 1.2 2007/01/07 18:44:00 rurban Exp $');
+/**
+ * FCKeditor is compatible with most internet browsers which
+ * include: IE 5.5+ (Windows), Firefox 1.0+, Mozilla 1.3+
+ * and Netscape 7+.
+ *
+ * Download: http://fckeditor.net/
+ * Suggested installation into themes/default/FCKeditor/
+ * or the default /FCKeditor/. See $this->BasePath below.
+ *
+ * @package WysiwygEdit
+ * @author Reini Urban
+ */
+
+require_once("lib/WysiwygEdit.php");
+
+class WysiwygEdit_FCKeditor extends WysiwygEdit {
+
+    function WysiwygEdit_FCKeditor() {
+        global $LANG;
+        $this->_transformer_tags = false;
+	$this->BasePath = DATA_PATH.'/themes/default/FCKeditor/';
+	$this->_htmltextid = "edit-content"; // FCKEditor1;
+        $this->_wikitextid = "editareawiki";
+    	$this->_jsdefault = "
+oFCKeditor.BasePath	= '$this->BasePath';
+oFCKeditor.Height	= 300;
+// oFCKeditor.ToolbarSet	= 'Basic' ;
+oFCKeditor.Config.DefaultLanguage = '$LANG';
+oFCKeditor.Config.LinkBrowserURL  = oFCKeditor.BasePath + 'editor/filemanager/browser/default/browser.html?Connector=connectors/php/connector.php';
+oFCKeditor.Config.ImageBrowserURL = oFCKeditor.BasePath + 'editor/filemanager/browser/default/browser.html?Type=Image&Connector=connectors/php/connector.php';
+";
+    	if (!empty($_REQUEST['start_debug']))
+    	    $this->_jsdefault = "\noFCKeditor.Config.Debug = true;";
+    }
+
+    function Head($name='edit[content]') {
+        global $WikiTheme;
+        $WikiTheme->addMoreHeaders
+            (Javascript('', array('src' => $this->BasePath . 'fckeditor.js',
+                                  'language' => 'JavaScript')));
+	return JavaScript("
+window.onload = function()
+{
+var oFCKeditor = new FCKeditor( '$this->_htmltextid' ) ;"
+. $this->_jsdefault . "
+// force textarea in favor of iFrame?
+// oFCKeditor._IsCompatibleBrowser = function() { return false; }
+oFCKeditor.ReplaceTextarea();
+}");
+    }
+
+    function Textarea ($textarea, $wikitext, $name='edit[content]') {
+    	return $this->Textarea_Replace($textarea, $wikitext, $name);
+    }
+
+    /* either iframe or textarea */
+    function Textarea_Create ($textarea, $wikitext, $name='edit[content]') {
+        $htmltextid = $name;
+        $out = HTML(
+		    JavaScript("
+var oFCKeditor = new FCKeditor( '$htmltextid' ) ;
+oFCKeditor.Value	= '" . $textarea->_content[0]->asXML() . "';" 
+. $this->_jsdefault . "
+oFCKeditor.Create();"),
+		    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, 
+				    'style' => 'display:none'),
+			      $wikitext),
+		    "\n");
+	return $out;
+    }
+    
+    /* via the PHP object */
+    function Textarea_PHP ($textarea, $wikitext, $name='edit[content]') {
+        global $LANG;
+	$this->FilePath = realpath(PHPWIKI_DIR.'/themes/default/FCKeditor') . "/";
+
+        $htmltextid = "edit-content";
+
+	include_once($this->FilePath . 'fckeditor.php');
+	$this->oFCKeditor = new FCKeditor($htmltextid) ;
+	$this->oFCKeditor->BasePath = $this->BasePath;
+	$this->oFCKeditor->Value = $textarea->_content[0]->asXML();
+
+	$this->oFCKeditor->Config['AutoDetectLanguage']	= true ;
+	$this->oFCKeditor->Config['DefaultLanguage'] = $LANG;
+	$this->oFCKeditor->Create();
+	
+	return HTML::div(array("id"   => $this->_wikitextid, 
+			      'style' => 'display:none'),
+			      $wikitext);
+    }
+
+}
+
+
+/*
+ $Log: FCKeditor.php,v $
+ Revision 1.2  2007/01/07 18:44:00  rurban
+ Improve id: edit: to edit-
+
+ Revision 1.1  2005/10/31 16:41:46  rurban
+ added FCKeditor + spaw
+
+
+*/
+
+// Local Variables:
+// mode: php
+// tab-width: 8
+// c-basic-offset: 4
+// c-hanging-comment-ender-p: nil
+// indent-tabs-mode: nil
+// End:
+?>
diff -ruN 1.3.12p3/lib/WysiwygEdit/htmlarea2.php 1.3.14/lib/WysiwygEdit/htmlarea2.php
--- 1.3.12p3/lib/WysiwygEdit/htmlarea2.php	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/lib/WysiwygEdit/htmlarea2.php	2007-07-01 05:11:11.000000000 -0500
@@ -0,0 +1,82 @@
+<?php
+rcs_id('$Id: htmlarea2.php,v 1.2 2005/10/31 16:41:46 rurban Exp $');
+/**
+ * requires installation into themes/default/htmlarea2/
+ * Output the javascript function to check for MS Internet Explorer >= 5.5 on Windows
+ * and call the real js script then, else just a nil func.
+ *   version 2: only for MSIE 5.5 and better
+ *   version 3: also Mozilla >= 1.3
+ *
+ * @package WysiwygEdit
+ * @author Reini Urban
+ */
+
+require_once("lib/WysiwygEdit.php");
+
+class WysiwygEdit_htmlarea2 extends WysiwygEdit {
+
+    function Head($name='edit[content]') {
+	//if (isBrowserIE() and browserVersion() >= 5.5) return $this->Head_IEonly();
+
+        return JavaScript("
+_editor_url = \"".DATA_PATH."/themes/default/htmlarea2/\";
+var win_ie_ver = parseFloat(navigator.appVersion.split(\"MSIE\")[1]);
+if (navigator.userAgent.indexOf('Mac')        >= 0) { win_ie_ver = 0; }
+if (navigator.userAgent.indexOf('Windows CE') >= 0) { win_ie_ver = 0; }
+if (navigator.userAgent.indexOf('Opera')      >= 0) { win_ie_ver = 0; }
+if (win_ie_ver >= 5.5) {
+  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>'); 
+}
+ ",
+		    array('version' => 'JavaScript1.2',
+			  'type' => 'text/javascript'));
+    }
+
+    // to be called after </textarea>
+    // version 2
+    function Textarea($textarea,$wikitext,$name='edit[content]') {
+        $out = HTML($textarea);
+        // some more custom links 
+        //$out->pushContent(HTML::a(array('href'=>"javascript:editor_insertHTML('".$name."',\"<font style='background-color: yellow'>\",'</font>',1)"),_("Highlight selected text")));
+        //$out->pushContent(HTML("\n"));
+        $out->pushContent(JavaScript("editor_generate('".$name."');",
+                                     array('version' => 'JavaScript1.2',
+                                           'defer' => 1)));
+        return $out;
+        //return "\n".'<script language="JavaScript1.2" defer> editor_generate(\'CONTENT\'); </script>'."\n";
+    }
+
+    // for testing only
+    function Head_IEonly() {
+        return HTML(JavaScript("_editor_url = \"".DATA_PATH."/themes/default/htmlarea2/\""),
+                    "\n",
+                    JavaScript("",
+                               array('version' => 'JavaScript1.2',
+                                     'type' => 'text/javascript',
+                                     'src' => DATA_PATH."/themes/default/htmlarea2/editor.js")));
+    }
+
+}
+
+/*
+ $Log: htmlarea2.php,v $
+ Revision 1.2  2005/10/31 16:41:46  rurban
+ added FCKeditor + spaw
+
+ Revision 1.1  2005/10/30 14:22:15  rurban
+ refactor WysiwygEdit
+
+
+*/
+
+// Local Variables:
+// mode: php
+// tab-width: 8
+// c-basic-offset: 4
+// c-hanging-comment-ender-p: nil
+// indent-tabs-mode: nil
+// End:
+?>
diff -ruN 1.3.12p3/lib/WysiwygEdit/htmlarea3.php 1.3.14/lib/WysiwygEdit/htmlarea3.php
--- 1.3.12p3/lib/WysiwygEdit/htmlarea3.php	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/lib/WysiwygEdit/htmlarea3.php	2007-07-01 05:11:11.000000000 -0500
@@ -0,0 +1,128 @@
+<?php
+rcs_id('$Id: htmlarea3.php,v 1.2 2005/10/31 16:41:46 rurban Exp $');
+/**
+ * requires installation into themes/default/htmlarea3/
+ * MSIE => 5.5,  Mozilla >= 1.3
+ *
+ * @package WysiwygEdit
+ * @author Reini Urban
+ */
+
+require_once("lib/WysiwygEdit.php");
+
+class WysiwygEdit_htmlarea3 extends WysiwygEdit {
+
+    function Head($name='edit[content]') {
+        global $WikiTheme;
+        $WikiTheme->addMoreAttr('body'," onload='initEditor()'");
+        //Todo: language selection from available lang/*.js files
+        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> 
+<style type="text/css">
+@import url('.DATA_PATH.'/themes/default/htmlarea3/htmlarea.css);
+</style>
+<script type="text/javascript">
+_editor_url = "'.DATA_PATH.'/themes/default/htmlarea3/";
+var editor = null;
+function initEditor() {
+  editor = new HTMLArea("'.$name.'");
+
+  // 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) {
+    switch (buttonId) {
+      case "my-toc":
+        editor.insertHTML("<?plugin CreateToc ?>");
+        break;
+      case "my-date":
+        editor.insertHTML((new Date()).toString());
+        break;
+      case "my-bold-em":
+        editor.execCommand("bold");
+        editor.execCommand("italic");
+        break;
+      case "my-hilite":
+        editor.surroundHTML("<span class=\"hilite\">", "</span>");
+        break;
+    }
+  };
+  cfg.registerButton("my-toc",  "Insert TOC", _editor_url+"ed_custom.gif", false, clickHandler);
+  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) {
+        editor.insertHTML("<span class=\"sample\">&nbsp;&nbsp;</span>");
+        var r = editor._doc.selection.createRange();
+        r.move("character", -2);
+        r.moveEnd("character", 2);
+        r.select();
+      } else { // Gecko/W3C compliant
+        var n = editor._doc.createElement("span");
+        n.className = "sample";
+        editor.insertNodeAtSelection(n);
+        var sel = editor._iframe.contentWindow.getSelection();
+        sel.removeAllRanges();
+        var r = editor._doc.createRange();
+        r.setStart(n, 0);
+        r.setEnd(n, 0);
+        sel.addRange(r);
+      }
+    }
+  );
+  
+  //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"]); 
+  // END: code that adds custom buttons
+
+  editor.generate();
+}
+function insertHTML() {
+  var html = prompt("Enter some HTML code here");
+  if (html) {
+    editor.insertHTML(html);
+  }
+}
+function highlight() {
+  editor.surroundHTML(\'<span style="background-color: yellow">\', \'</span>\');
+}
+</script>
+ ');
+    }
+
+    function Textarea($textarea,$wikitext,$name='edit[content]') {
+        $out = HTML($textarea,HTML::div(array("id"=>"editareawiki",'style'=>'display:none'),$wikitext),"\n");
+        //TODO: maybe some more custom links
+        return $out;
+    }
+}
+
+/*
+ $Log: htmlarea3.php,v $
+ Revision 1.2  2005/10/31 16:41:46  rurban
+ added FCKeditor + spaw
+
+ Revision 1.1  2005/10/30 14:22:15  rurban
+ refactor WysiwygEdit
+
+
+*/
+
+// Local Variables:
+// mode: php
+// tab-width: 8
+// c-basic-offset: 4
+// c-hanging-comment-ender-p: nil
+// indent-tabs-mode: nil
+// End:
+?>
\ No newline at end of file
diff -ruN 1.3.12p3/lib/WysiwygEdit/spaw.php 1.3.14/lib/WysiwygEdit/spaw.php
--- 1.3.12p3/lib/WysiwygEdit/spaw.php	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/lib/WysiwygEdit/spaw.php	2007-07-01 05:11:11.000000000 -0500
@@ -0,0 +1,64 @@
+<?php
+/**
+ * Just IE 5.5+ and Gecko
+ *
+ * Download: http://sourceforge.net/projects/spaw
+ * requires installation of spaw as lib/spaw
+ * modify lib/spaw/config/spaw_control.config.php to your needs.
+ *
+ * @package WysiwygEdit
+ * @author Reini Urban
+ */
+
+require_once("lib/WysiwygEdit.php");
+
+class WysiwygEdit_spaw extends WysiwygEdit {
+
+    function Head($name='edit[content]') {
+        $basepath = DATA_PATH.'/lib/spaw/';
+        $spaw_root = PHPWIKI_DIR . "/lib/spaw/";
+        $spaw_base_url = "$basepath";
+        $spaw_dir  = "$basepath";
+        $this->spaw_root =& $spaw_root;
+        include_once($spaw_root. "spaw_control.class.php");
+    }
+
+    function Textarea($textarea, $wikitext, $name='edit[content]') {
+        // global $LANG, $WikiTheme;
+        $id = "spaw_editor";
+        /*SPAW_Wysiwyg(
+              $control_name='spaweditor', // control's name
+              $value='',                  // initial value
+              $lang='',                   // language
+              $mode = '',                 // toolbar mode
+              $theme='',                  // theme (skin)
+              $width='100%',              // width
+              $height='300px',            // height
+              $css_stylesheet='',         // css stylesheet file for content
+              $dropdown_data=''           // data for dropdowns (style, font, etc.) 
+        */
+        $this->SPAW = new SPAW_Wysiwyg($id, $textarea->_content);
+        $textarea->SetAttr('id', $name);
+        $this->SPAW->show();
+        $out = HTML::div(array("id"=>$id, 'style'=>'display:none'),
+                                         $wikitext);
+        return $out;
+    }
+}
+
+/*
+ $Log: spaw.php,v $
+ Revision 1.1  2005/10/31 16:41:46  rurban
+ added FCKeditor + spaw
+
+
+*/
+
+// Local Variables:
+// mode: php
+// tab-width: 8
+// c-basic-offset: 4
+// c-hanging-comment-ender-p: nil
+// indent-tabs-mode: nil
+// End:
+?>
\ No newline at end of file
diff -ruN 1.3.12p3/lib/WysiwygEdit/tinymce.php 1.3.14/lib/WysiwygEdit/tinymce.php
--- 1.3.12p3/lib/WysiwygEdit/tinymce.php	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/lib/WysiwygEdit/tinymce.php	2007-07-01 05:11:11.000000000 -0500
@@ -0,0 +1,86 @@
+<?php
+rcs_id('$Id: tinymce.php,v 1.3 2007/01/07 18:44:00 rurban Exp $');
+/**
+ * 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/
+ * Suggested installation of the jscripts subdirectory
+ *   tinymce/jscripts/tiny_mce/ into themes/default/tiny_mce/
+ *
+ * WARNING! Probably incompatible with ENABLE_XHTML_XML
+ *
+ * @package WysiwygEdit
+ * @author Reini Urban
+ */
+
+require_once("lib/WysiwygEdit.php");
+
+class WysiwygEdit_tinymce extends WysiwygEdit {
+
+    function WysiwygEdit_tinymce() {
+        $this->_transformer_tags = false;
+	$this->BasePath = DATA_PATH.'/themes/default/tiny_mce/';
+	$this->_htmltextid = "edit-content";
+        $this->_wikitextid = "editareawiki";
+    }
+
+    function Head($name='edit[content]') {
+        global $LANG, $WikiTheme;
+        $WikiTheme->addMoreHeaders
+            (Javascript('', array('src' => $this->BasePath . 'tiny_mce.js',
+                                  'language' => 'JavaScript')));
+        return Javascript("
+tinyMCE.init({
+	mode    : 'exact',
+	elements: '$name',
+        theme   : 'advanced',
+        language: \"$LANG\",
+        ask     : false,
+	theme_advanced_toolbar_location : \"top\",
+	theme_advanced_toolbar_align : \"left\",
+	theme_advanced_path_location : \"bottom\",
+	theme_advanced_buttons1 : \"bold,italic,underline,separator,strikethrough,justifyleft,justifycenter,justifyright,justifyfull,bullist,numlist,undo,redo,link,unlink\",
+	theme_advanced_buttons2 : \"\",
+	theme_advanced_buttons3 : \"\",
+});");
+        /*
+        plugins : \"table,contextmenu,paste,searchreplace,iespell,insertdatetime\",
+	extended_valid_elements : \"a[name|href|target|title|onclick],img[class|src|border=0|alt|title|hspace|vspace|width|height|align|onmouseover|onmouseout|name],hr[class|width|size|noshade],font[face|size|color|style],span[class|align|style]\"
+});
+        */
+    }
+
+    // to be called after </textarea>
+    // name ignored
+    function Textarea($textarea, $wikitext, $name='edit[content]') {
+        $out = HTML($textarea,
+                    HTML::div(array("id" => $this->_wikitextid, 
+                                    'style'=>'display:none'),
+                                         $wikitext),"\n");
+        //TODO: maybe some more custom links
+        return $out;
+    }
+}
+
+/*
+ $Log: tinymce.php,v $
+ Revision 1.3  2007/01/07 18:44:00  rurban
+ Improve id: edit: to edit-
+
+ Revision 1.2  2005/10/31 16:41:46  rurban
+ added FCKeditor + spaw
+
+ Revision 1.1  2005/10/30 14:22:15  rurban
+ refactor WysiwygEdit
+
+*/
+
+// Local Variables:
+// mode: php
+// tab-width: 8
+// c-basic-offset: 4
+// c-hanging-comment-ender-p: nil
+// indent-tabs-mode: nil
+// End:
+?>
diff -ruN 1.3.12p3/lib/WysiwygEdit/Wikiwyg.php 1.3.14/lib/WysiwygEdit/Wikiwyg.php
--- 1.3.12p3/lib/WysiwygEdit/Wikiwyg.php	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/lib/WysiwygEdit/Wikiwyg.php	2007-07-01 05:11:11.000000000 -0500
@@ -0,0 +1,344 @@
+<?php
+rcs_id('$Id: Wikiwyg.php,v 1.9 2007/01/07 18:44:00 rurban Exp $');
+/**
+ * Wikiwyg is compatible with most internet browsers which
+ * include: IE 5.5+ (Windows), Firefox 1.0+, Mozilla 1.3+
+ * and Netscape 7+.
+ *
+ * Download: http://openjsan.org/doc/i/in/ingy/Wikiwyg/
+ * Suggested installation into themes/default/Wikiwyg/
+ *
+ * @package WysiwygEdit
+ * @author  Reini Urban, based on a patch by Jean-Nicolas GEREONE, STMicroelectronics, 2006
+ * Current maintainer: Sabri LABBENE, STMicroelectronics, 2006
+ */
+
+require_once("lib/WysiwygEdit.php");
+
+class WysiwygEdit_Wikiwyg extends WysiwygEdit {
+
+    function WysiwygEdit_Wikiwyg() {
+        global $request, $LANG;
+        $this->_transformer_tags = false;
+	$this->BasePath = DATA_PATH.'/themes/default/Wikiwyg';
+	$this->_htmltextid = "edit-content";
+        $this->_wikitextid = "editareawiki";
+	$script_url = deduce_script_name();
+	if ((DEBUG & _DEBUG_REMOTE) and isset($_GET['start_debug']))
+	    $script_url .= ("?start_debug=".$_GET['start_debug']);
+    	$this->_jsdefault = "
+var base_url = '".DATA_PATH."';
+var data_url = '$this->BasePath';
+var script_url = '$script_url';
+var pagename = '".$request->getArg('pagename')."';
+";
+    }
+
+    function Head($name='edit[content]') {
+        global $WikiTheme;
+        foreach (array("Wikiwyg.js","Wikiwyg/Toolbar.js","Wikiwyg/Preview.js","Wikiwyg/Wikitext.js",
+                       "Wikiwyg/Wysiwyg.js","Wikiwyg/Phpwiki.js","Wikiwyg/HTML.js",
+                       "Wikiwyg/Toolbar.js") as $js) {
+            $WikiTheme->addMoreHeaders
+                (Javascript('', array('src' => $this->BasePath . '/' . $js,
+                                      'language' => 'JavaScript')));
+        }
+        $doubleClickToEdit = ($GLOBALS['request']->getPref('doubleClickEdit') or ENABLE_DOUBLECLICKEDIT) 
+            ? 'true' : 'false';
+        return JavaScript($this->_jsdefault . "
+window.onload = function() {
+   var wikiwyg = new Wikiwyg.Phpwiki();
+   var config = {
+            doubleClickToEdit:  $doubleClickToEdit,
+            javascriptLocation: base_url+'/themes/default/Wikiwyg/',
+            toolbar: {
+	        imagesLocation: base_url+'/themes/default/Wikiwyg/images/',
+		controlLayout: [
+		       'save','preview','save_button','|',
+                       'mode_selector', '/',
+		       'p','|',
+		       'h2', 'h3', 'h4','|',
+		       'bold', 'italic', '|',
+                       'sup', 'sub', '|',
+                       'toc',
+                       'wikitext','|',
+		       'pre','|',
+		       'ordered', 'unordered','hr','|',
+		       'link','|',
+                       'table'
+		       ],
+		styleSelector: [
+		       'label', 'p', 'h2', 'h3', 'h4', 'pre'
+				], 
+		controlLabels: {
+	               save:     '"._("Apply changes")."',
+		       cancel:   '"._("Exit toolbar")."',
+		       h2:       '"._("Title 1")."',
+		       h3:       '"._("Title 2")."',
+		       h4:       '"._("Title 3")."',
+		       verbatim: '"._("Verbatim")."',
+                       toc:   '"._("Table of content")."', 
+                       wikitext:   '"._("Insert Wikitext section")."', 
+                       sup:      '"._("Sup")."', 
+                       sub:      '"._("Sub")."',
+                       preview:  '"._("Preview")."',   
+                       save_button:'"._("Save")."'   
+	              }
+            },
+            wysiwyg: {
+                iframeId: 'iframe0'
+            },
+	    wikitext: {
+	      supportCamelCaseLinks: true
+	    }
+   };
+   var div = document.getElementById(\"" . $this->_htmltextid . "\");
+   wikiwyg.createWikiwygArea(div, config);
+   wikiwyg_divs.push(wikiwyg);
+   wikiwyg.editMode();
+}");
+    }
+
+    function Textarea ($textarea, $wikitext, $name='edit[content]') {
+        $htmltextid = $this->_htmltextid;
+        $textarea->SetAttr('id', $htmltextid);
+        $iframe0 = new RawXml('<iframe id="iframe0" height="0" width="0" frameborder="0"></iframe>');
+        $out = HTML(HTML::div(array('class' => 'hint'), 
+                              _("Warning: This Wikiwyg editor has only Beta quality!")),
+                    $textarea,
+                    $iframe0,
+		    "\n");
+	return $out;
+    }
+
+    /**
+     * Handler to convert the Wiki Markup to HTML before editing.
+     * This will be converted back by WysiwygEdit_ConvertAfter if required.
+     *  *text* => '<b>text<b>'
+     */
+    function ConvertBefore($text) {
+        return $text;
+    }
+
+    /* 
+     * No special PHP HTML->Wikitext conversion needed. This is done in js thanksfully. 
+     * Avoided in editpage.php: PageEditor->getContent
+     */
+    function ConvertAfter($text) {
+        return TransformInline($text);
+    }
+}
+
+class WikiToHtml {
+  function WikiToHtml ($wikitext, &$request) {
+        $this->_wikitext = $wikitext;
+	$this->_request =& $request;
+	$this->_html = "";
+	$this->html_content = "";
+    }
+
+    function send() {
+        $this->convert();
+	echo $this->html_content;
+    }
+
+    function convert() {
+        require_once("lib/BlockParser.php");       
+	$xmlcontent = TransformText($this->_wikitext, 2.0, $this->_request->getArg('pagename')); 
+	$this->_html = $xmlcontent->AsXML();
+
+	$this->replace_inside_html();
+    }
+
+    function replace_inside_html() {
+	global $charset;
+
+	$this->clean_links();
+        $this->clean_plugin_name();
+        $this->replace_known_plugins();
+        $this->replace_unknown_plugins();
+	// $this->replace_tags();
+	$this->clean_plugin();
+
+	if ($charset != 'utf-8') {
+ 	    if ($charset == 'iso-8959-1') {
+ 	        $this->_html = utf8_decode($this->_html);
+	    } else {    
+                // check for iconv support
+                loadPhpExtension("iconv");
+	        $this->_html = iconv("UTF-8", $charset, $this->_html);
+ 	    }
+        }
+	$this->html_content = $this->_html;
+    }
+
+    // Draft function to replace RichTable
+    // by a html table
+    // Works only on one plugin for the moment
+    function replace_known_plugins() {
+      // If match a plugin
+      $pattern = '/\&lt\;\?plugin\s+RichTable(.*)\?\&gt\;/Umsi';
+      $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 = 
+	  '<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);
+    }
+
+    // Clean links to keep only <a href="link">name</a>
+    function clean_links() {
+        // Existing links
+        // FIXME: use VIRTUAL_PATH
+        $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\=([^"]*)(&amp;action){1}([^>])*\>/Umsi';
+        $replace_string = '<a href="\1">';
+	
+        $this->_html = preg_replace($pattern,
+                                    $replace_string,
+                                    $this->_html) ;
+
+        // Clean underline 
+        $pattern = '/\<u\>(.*)\<\/u\>(\<a href="(.*))[?"]{1}.*\>.*\<\/a\>/Umsi';
+        $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 = 
+            '<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 
+    // <?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) ; 
+
+    }
+
+    function clean_plugin_name() {
+	// Remove plugin name converted in a link
+	$pattern = '/(\&lt\;\?plugin\s)\<span.*\>\<span\>\<a href=.*\>(\w+)\<\/a\><\/span\><\/span>([^?]*\?\&gt\;)/Umsi';
+ 	$replace_string = '\1 \2 \3';
+ 	$this->_html = preg_replace($pattern,
+ 				    $replace_string,
+ 				    $this->_html) ; 
+    } 
+}
+
+// This is called to replace the RichTable plugin by an html table
+// $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";   
+    else {
+        //Replace unused <p...>
+        $pattern = '/\<p.*\>/Umsi';
+        $replace_string = "";
+    
+        $plugin = preg_replace($pattern,
+                               $replace_string,
+                               $plugin) ; 
+    
+        //replace unused </p> by \n
+        $pattern = '/\<\/p\>/Umsi';
+        $replace_string = "\n";
+    
+        $plugin = preg_replace($pattern,
+                               $replace_string,
+                               $plugin) ; 
+    
+        $plugin = "<?plugin RichTable ".$plugin." ?>";
+    
+        require_once("lib/BlockParser.php"); 
+        $xmlcontent = TransformText($plugin, 2.0, $GLOBALS['request']->getArg('pagename')); 
+        return $xmlcontent->AsXML();
+  }
+}
+
+/*
+ $Log: Wikiwyg.php,v $
+ Revision 1.9  2007/01/07 18:44:00  rurban
+ Improve id: edit: to edit-
+
+ Revision 1.8  2007/01/02 13:20:57  rurban
+ use the new _DEBUG_REMOTE flag. simplify default utf-8 charset conversion, not requiring iconv
+
+ Revision 1.7  2006/12/22 16:53:38  rurban
+ Try to dl() load the iconv extension, if not already loaded
+
+ Revision 1.6  2006/08/25 22:42:51  rurban
+ warn user about beta quality, not to save wrong edits
+
+ Revision 1.5  2006/06/28 14:28:14  jeannicolas
+ Add preview and save button on the toolbar.
+ Fix an IE issue in wikitext mode.
+
+ Revision 1.4  2006/06/19 17:33:06  jeannicolas
+ Add button to insert table of content plugin
+ Add button to insert wikitext section in wysiwyg mode
+
+ Fix internet explorer issue in wikitext mode. The toolbar in this mode didn't work.
+
+ Revision 1.3  2006/05/31 19:59:57  jeannicolas
+ Added wysiwyg_editor 1.1b
+
+ Revision 1.2  2006/05/14 17:52:20  rurban
+ fix syntax error. delete a left-over attempt to add CSS links also. 
+ We did put everything into phpwiki.css for browser compatibility.
+
+ Revision 1.1  2006/05/13 19:59:55  rurban
+ added wysiwyg_editor-1.3a feature by Jean-Nicolas GEREONE <jean-nicolas.gereone@st.com>
+ converted wysiwyg_editor-1.3a js to WysiwygEdit framework
+ changed default ENABLE_WYSIWYG = true and added WYSIWYG_BACKEND = Wikiwyg
+
+
+*/
+
+// Local Variables:
+// mode: php
+// tab-width: 8
+// c-basic-offset: 4
+// c-hanging-comment-ender-p: nil
+// indent-tabs-mode: nil
+// End:
+?>
diff -ruN 1.3.12p3/lib/WysiwygEdit.php 1.3.14/lib/WysiwygEdit.php
--- 1.3.12p3/lib/WysiwygEdit.php	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/lib/WysiwygEdit.php	2007-07-01 05:11:11.000000000 -0500
@@ -0,0 +1,161 @@
+<?php
+rcs_id('$Id: WysiwygEdit.php,v 1.4 2006/05/13 19:59:54 rurban Exp $');
+/**
+ * Baseclass for WysiwygEdit/*
+ *
+ * ENABLE_WYSIWYG - Support for some WYSIWYG_BACKEND Editors:
+ *   tinymce, htmlarea3, FCKeditor, spaw, htmlarea2, Wikiwyg
+ * Not yet enabled as default, since we cannot convert HTML to Wiki Markup yet.
+ * (See HtmlParser.php for the ongoing efforts)
+ * We might use a PageType=html, which is contra wiki, but some people 
+ * might prefer HTML markup.
+ *
+ * TODO: Change from ENABLE_WYSIWYG constant to user preference variable 
+ *       (checkbox setting or edit click as in gmail),
+ *       when HtmlParser is finished.
+ * Based upon htmlarea3.php and tinymce.php
+ *
+ * WARNING! Probably incompatible with ENABLE_XHTML_XML (TestMe)
+ *
+ * @package WysiwygEdit
+ * @author Reini Urban
+ */
+
+require_once("lib/InlineParser.php");
+
+class WysiwygEdit {
+
+    function WysiwygEdit() { 
+        $this->_transformer_tags = false;
+    }
+
+    function Head($name='edit[content]') {
+        trigger_error("virtual", E_USER_ERROR); 
+    }
+
+    // to be called after </textarea>
+    function Textarea($textarea,$wikitext,$name='edit[content]') {
+        trigger_error("virtual", E_USER_ERROR); 
+    }
+
+    /**
+     * Handler to convert the Wiki Markup to HTML before editing.
+     * This will be converted back by WysiwygEdit_ConvertAfter if required.
+     *  *text* => '<b>text<b>'
+     */
+    function ConvertBefore($text) {
+        require_once("lib/BlockParser.php");
+    	$xml = TransformText($text, 2.0, $GLOBALS['request']->getArg('pagename'));
+        return $xml->AsXML();
+    }
+    
+    /**
+     * FIXME: Handler to convert the HTML formatting back to wiki formatting.
+     * Derived from InlineParser, but returning wiki text instead of HtmlElement objects.
+     * '<b>text<b>' => '<SPAN style="FONT-WEIGHT: bold">text</SPAN>' => '*text*'
+     *
+     * TODO: Switch over to HtmlParser
+     */
+    function ConvertAfter($text) {
+        static $trfm;
+        if (empty($trfm)) {
+            $trfm = new HtmlTransformer($this->_transformer_tags);
+        }
+        $markup = $trfm->parse($text); // version 2.0
+        return $markup;
+    }
+}
+
+// re-use these classes for the regexp's.
+// just output strings instead of XmlObjects
+class Markup_html_br extends Markup_linebreak {
+    function markup ($match) {
+        return $match;
+    }
+}
+
+class Markup_html_simple_tag extends Markup_html_emphasis {
+    function markup ($match, $body) {
+        $tag = substr($match, 1, -1);
+        switch ($tag) {
+        case 'b':
+        case 'strong':
+            return "*".$body."*";
+        case 'big': 
+            return "<big>".$body."</big>";
+        case 'i':
+        case 'em':
+            return "_".$body."_";
+        }
+    }
+}
+
+class Markup_html_p extends BalancedMarkup
+{
+    var $_start_regexp = "<(?:p|P)( class=\".*\")?>";
+
+    function getEndRegexp ($match) {
+        return "<\\/" . substr($match, 1);
+    }
+    function markup ($match, $body) {
+        return $body."\n";
+    }
+}
+
+//'<SPAN style="FONT-WEIGHT: bold">text</SPAN>' => '*text*'
+class Markup_html_spanbold extends BalancedMarkup
+{
+    var $_start_regexp = "<(?:span|SPAN) style=\"FONT-WEIGHT: bold\">";
+
+    function getEndRegexp ($match) {
+        return "<\\/" . substr($match, 1);
+    }
+    function markup ($match, $body) {
+        //Todo: convert style formatting to simplier nested <b><i> tags
+        return "*".$body."*";
+    }
+}
+
+class HtmlTransformer extends InlineTransformer
+{
+    function HtmlTransformer ($tags = false) {
+        if (!$tags) $tags = 
+            array('escape','html_br','html_spanbold','html_simple_tag',
+                  'html_p',);
+        /*
+         'html_a','html_span','html_div',
+         'html_table','html_hr','html_pre',
+         'html_blockquote',
+         'html_indent','html_ol','html_li','html_ul','html_img'
+        */
+        return $this->InlineTransformer($tags);
+    }
+}
+
+/*
+ $Log: WysiwygEdit.php,v $
+ Revision 1.4  2006/05/13 19:59:54  rurban
+ added wysiwyg_editor-1.3a feature by Jean-Nicolas GEREONE <jean-nicolas.gereone@st.com>
+ converted wysiwyg_editor-1.3a js to WysiwygEdit framework
+ changed default ENABLE_WYSIWYG = true and added WYSIWYG_BACKEND = Wikiwyg
+
+ Revision 1.3  2005/10/31 17:20:40  rurban
+ fix ConvertBefore
+
+ Revision 1.2  2005/10/31 16:46:13  rurban
+ move old default transformers to baseclass
+
+ Revision 1.1  2005/10/30 14:22:15  rurban
+ refactor WysiwygEdit
+
+
+*/
+
+// Local Variables:
+// mode: php
+// tab-width: 8
+// c-basic-offset: 4
+// c-hanging-comment-ender-p: nil
+// indent-tabs-mode: nil
+// End:
+?>
\ No newline at end of file
diff -ruN 1.3.12p3/lib/XmlElement.php 1.3.14/lib/XmlElement.php
--- 1.3.12p3/lib/XmlElement.php	2006-06-18 06:19:28.000000000 -0500
+++ 1.3.14/lib/XmlElement.php	2007-07-01 05:11:11.000000000 -0500
@@ -1,4 +1,4 @@
-<?php rcs_id('$Id: XmlElement.php,v 1.38 2005/10/10 19:36:09 rurban Exp $');
+<?php rcs_id('$Id: XmlElement.php,v 1.42 2007/01/20 11:41:30 rurban Exp $');
 /**
  * Code for writing XML.
  * @package Markup
@@ -6,8 +6,8 @@
  *          Reini Urban (php5 tricks)
  *
  * WARNING: This module is very php5 sensitive. 
- *        Fixed for 1.3.9 and 1.3.11.
- *        With allow_call_time_pass_reference clean fixes.
+ *          Fixed for 1.3.9, 1.3.11 and 1.3.13 (php-5.2).
+ *          With allow_call_time_pass_reference clean fixes.
  */
 
 /**
@@ -132,14 +132,20 @@
         return $pdf;
     }
 
+    /* php-5.2 magic */
+    function __toString () {
+        return $this->asString();
+    }
+
     function asString () {
         $val = '';
         foreach ($this->_content as $item) {
             if (is_object($item)) {
-                if (method_exists($item, 'asString'))
-                    $val .= $item->asString();
-                else
+                if (method_exists($item, 'asString')) {
+                    $val .= (string) $item->asString();
+                } else {
                     $val .= sprintf("==Object(%s)==", get_class($item));
+                }
             }
             else
                 $val .= (string) $item;
@@ -422,6 +428,11 @@
         echo $this->_xml;
     }
 
+    /* php-5.2 magic */
+    function __toString () {
+        return $this->_xml;
+    }
+
     function asXML () {
         return $this->_xml;
     }
@@ -490,18 +501,28 @@
             $args[] = AsString($arg);
         return call_user_func_array('sprintf', $args);
     }
+
+    /* php-5.2 magic */
+    function __toString () {
+        return $this->asString();
+    }
 }
 
 /**
  * PHP5 compatibility
  * Error[2048]: Non-static method XmlContent::_quote() should not be called statically
+ * Note: There's lot of room for performance increase if the right charset variant can 
+ * be created on load-time.
  */
 function XmlContent_quote ($string) {
     if (!$string) return $string;
-    if (check_php_version(4,1) and isset($GLOBALS['charset']))
+    if (check_php_version(4,1) and isset($GLOBALS['charset'])
+        and (!defined('IGNORE_CHARSET_NOT_SUPPORTED_WARNING') or !IGNORE_CHARSET_NOT_SUPPORTED_WARNING))
+    {
         return htmlspecialchars($string, ENT_COMPAT, $GLOBALS['charset']);
-    else
+    } else {
         return htmlspecialchars($string);
+    }
 }
 
 function PrintXML ($val /* , ... */ ) {
@@ -604,6 +625,18 @@
 }
 
 // $Log: XmlElement.php,v $
+// Revision 1.42  2007/01/20 11:41:30  rurban
+// Add php-5.2.0 note
+//
+// Revision 1.41  2007/01/13 23:34:49  rurban
+// More php-5.2.0 fixes __toString
+//
+// Revision 1.40  2007/01/13 23:28:56  rurban
+// php-5.2.0 fix for string fallback: Provide the magic method __toString
+//
+// Revision 1.39  2006/08/15 13:36:23  rurban
+// support iso-8859-2
+//
 // Revision 1.38  2005/10/10 19:36:09  rurban
 // fix comment
 //
@@ -642,4 +675,4 @@
 // c-hanging-comment-ender-p: nil
 // indent-tabs-mode: nil
 // End:   
-?>
\ No newline at end of file
+?>
diff -ruN 1.3.12p3/lib/XmlParser.php 1.3.14/lib/XmlParser.php
--- 1.3.12p3/lib/XmlParser.php	2006-06-18 06:19:28.000000000 -0500
+++ 1.3.14/lib/XmlParser.php	2007-07-01 05:11:11.000000000 -0500
@@ -1,5 +1,5 @@
 <?php // -*-php-*-
-rcs_id('$Id: XmlParser.php,v 1.6 2004/11/03 16:34:11 rurban Exp $');
+rcs_id('$Id: XmlParser.php,v 1.7 2007/05/27 19:47:31 rurban Exp $');
 /**
  * Base XmlParser Class.
  * Requires the expat.so/.dll, usually enabled by default.
@@ -148,10 +148,12 @@
                 trigger_error("Error parse url $file");
                 return;
             }
+            $content = "";
             while ($data = fread($fp, 4096))  {
-            	$this->parse($data, feof($fp));
+            	$content .= $data;
             }
             fclose($fp);
+            $this->parse($content);
         } else {
             // other url_fopen workarounds: curl, socket (http 80 only)
             $data = url_get_contents($file);
@@ -165,6 +167,9 @@
 }
 
 // $Log: XmlParser.php,v $
+// Revision 1.7  2007/05/27 19:47:31  rurban
+// Disable chunkwise xml parsing because of php crashes
+//
 // Revision 1.6  2004/11/03 16:34:11  rurban
 // proper msg if rss connection is broken or no items found
 //
diff -ruN 1.3.12p3/lib/XMLRPC/utils.php 1.3.14/lib/XMLRPC/utils.php
--- 1.3.12p3/lib/XMLRPC/utils.php	2006-06-18 06:19:28.000000000 -0500
+++ 1.3.14/lib/XMLRPC/utils.php	2007-07-01 05:11:11.000000000 -0500
@@ -1,5 +1,4 @@
 <?php
-
 /*
   This file is part of, or distributed with, libXMLRPC - a C library for 
   xml-encoded function calls.
@@ -69,7 +68,10 @@
         $fsockopen = $secure ? "fsockopen_ssl" : "fsockopen";
 
         dbg1("opening socket to host: $host, port: $port, uri: $uri", $debug);
-        $query_fd = $fsockopen($host, $port, $errno, $errstr, 10);
+	if ($secure)
+        	$query_fd = fsockopen_ssl($host, $port, $errno, $errstr, 10);
+	else
+        	$query_fd = fsockopen($host, $port, $errno, $errstr, 10);
 
         if ($query_fd) {
 
@@ -90,9 +92,7 @@
                 $request;
 
            dbg1("sending http request:</em><br /> <xmp>\n$http_request\n</xmp>", $debug);
-
            fputs($query_fd, $http_request, strlen($http_request));
-
            dbg1("receiving response...", $debug);
 
            $header_parsed = false;
@@ -211,9 +211,19 @@
    $response_buf = "";
    if ($host && $uri && $port) {
        $request_xml = xmlrpc_encode_request($method, $args, $output);
-       $response_buf = xu_query_http_post($request_xml, $host, $uri, $port, $debug,
-                                          $timeout, $user, $pass, $secure);
-
+       if (isWindows() and !check_php_version(4,3,0)) {
+       	   include_once("lib/HttpClient.php");
+	   $http = new HttpClient($host, $port);
+	   if ($timeout)
+	       $http->timeout = $timeout;
+	   $http->setDebug($debug);
+	   if ($http->post($uri, $request_xml))
+	       $response_buf = $http->content;
+	   else
+	       $response_buf = $http->errormsg;
+       } else 
+	   $response_buf = xu_query_http_post($request_xml, $host, $uri, $port, $debug,
+					      $timeout, $user, $pass, $secure);
        $retval = find_and_decode_xml($response_buf, $debug);
    }
    return $retval;
@@ -264,4 +274,4 @@
       dbg($msg);
    }
 }
-?>
\ No newline at end of file
+?>
diff -ruN 1.3.12p3/lib/XMLRPC/xmlrpcs_emu.inc 1.3.14/lib/XMLRPC/xmlrpcs_emu.inc
--- 1.3.12p3/lib/XMLRPC/xmlrpcs_emu.inc	2006-06-18 06:19:28.000000000 -0500
+++ 1.3.14/lib/XMLRPC/xmlrpcs_emu.inc	2007-07-01 05:11:11.000000000 -0500
@@ -41,7 +41,7 @@
 
 // by Edd Dumbill (C) 1999,2000
 // <edd@usefulinc.com>
-// $Id: xmlrpcs_emu.inc,v 1.3 2005/01/21 14:07:50 rurban Exp $
+// $Id: xmlrpcs_emu.inc,v 1.4 2007/01/04 16:46:11 rurban Exp $
 
 // License is granted to use or modify this software ("XML-RPC for PHP")
 // for commercial or non-commercial use provided the copyright of the author
@@ -170,6 +170,8 @@
    function service() {
       global $HTTP_RAW_POST_DATA;
       $data = $HTTP_RAW_POST_DATA;
+      if (is_null($data))
+      	  trigger_error("empty \$HTTP_RAW_POST_DATA", E_USER_WARNING);
 
       // call server
       $payload = xmlrpc_server_call_method($this->xmlrpc_server, $data, $this->dmap, 
diff -ruN 1.3.12p3/lib/XmlRpcClient.php 1.3.14/lib/XmlRpcClient.php
--- 1.3.12p3/lib/XmlRpcClient.php	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/lib/XmlRpcClient.php	2007-07-01 05:11:11.000000000 -0500
@@ -0,0 +1,139 @@
+<?php // -*- php -*-
+// $Id: XmlRpcClient.php,v 1.4 2007/03/18 10:26:35 rurban Exp $
+/* Copyright (C) 2002, Lawrence Akka <lakka@users.sourceforge.net>
+ * Copyright (C) 2004,2005,2006 $ThePhpWikiProgrammingTeam
+ */
+// All these global declarations that this file
+// XmlRpcClient.php can be included within a function body
+// (not in global scope), and things will still work.
+
+global $xmlrpcI4, $xmlrpcInt, $xmlrpcBoolean, $xmlrpcDouble, $xmlrpcString;
+global $xmlrpcDateTime, $xmlrpcBase64, $xmlrpcArray, $xmlrpcStruct;
+global $xmlrpcTypes;
+global $xmlEntities;
+global $xmlrpcerr, $xmlrpcstr;
+global $xmlrpc_defencoding;
+global $xmlrpcName, $xmlrpcVersion;
+global $xmlrpcerruser, $xmlrpcerrxml;
+global $xmlrpc_backslash;
+global $_xh;
+global $_xmlrpcs_debug;
+
+define('XMLRPC_EXT_LOADED', true);
+if (loadPhpExtension('xmlrpc')) { // fast c lib
+    global $xmlrpc_util_path;
+    $xmlrpc_util_path = dirname(__FILE__)."/XMLRPC/";
+    include_once("lib/XMLRPC/xmlrpc_emu.inc"); 
+ } else { // slow php lib
+    // Include the php XML-RPC library
+    include_once("lib/XMLRPC/xmlrpc.inc");
+}
+
+// API version
+// See http://www.jspwiki.org/wiki/WikiRPCInterface  for version 1
+// See http://www.jspwiki.org/wiki/WikiRPCInterface2 for version 2 (we support 80%)
+define ("WIKI_XMLRPC_VERSION", 1);
+
+/*
+ * Helper functions for encoding/decoding strings.
+ *
+ * According to WikiRPC spec, all returned strings take one of either
+ * two forms.  Short strings (page names, and authors) are converted to
+ * UTF-8, then rawurlencode()d, and returned as XML-RPC <code>strings</code>.
+ * Long strings (page content) are converted to UTF-8 then returned as
+ * XML-RPC <code>base64</code> binary objects.
+ */
+
+/**
+ * Urlencode ASCII control characters.
+ *
+ * (And control characters...)
+ *
+ * @param string $str
+ * @return string
+ * @see urlencode
+ */
+function UrlencodeControlCharacters($str) {
+    return preg_replace('/([\x00-\x1F])/e', "urlencode('\\1')", $str);
+}
+
+/**
+ * Convert a short string (page name, author) to xmlrpcval.
+ */
+function short_string ($str) {
+    return new xmlrpcval(UrlencodeControlCharacters(utf8_encode($str)), 'string');
+}
+
+/**
+ * Convert a large string (page content) to xmlrpcval.
+ */
+function long_string ($str) {
+    return new xmlrpcval(utf8_encode($str), 'base64');
+}
+
+/**
+ * Decode a short string (e.g. page name)
+ */
+function short_string_decode ($str) {
+    return utf8_decode(urldecode($str));
+}
+
+function wiki_xmlrpc_post($method, $args = null, $url = null, $auth = null) {
+    if (is_null($url)) {
+	//$url = deduce_script_name();
+	$url = DATA_PATH . "/RPC2.php"; // connect to self
+    }
+    $debug = 0;
+    $server = parse_url($url);
+    if (empty($server['host'])) {
+	$server['host'] = 'localhost';
+    }
+    if (!empty($_GET['start_debug'])) { 
+	$debug = 2;
+    }
+    if (DEBUG & _DEBUG_REMOTE) {  // xmlrpc remote debugging
+	$debug = 2;
+	$server['path'] .= '?start_debug=1';
+    }
+    $params = array('method' => $method,
+		    'args'   => $args, 
+		    'host'   => $server['host'], 
+		    'uri'    => $server['path'], 
+		    'debug'  => $debug,
+		    'output' => null);
+    //TODO: auth and/or session cookie
+    if (isset($auth['sid']))
+        $params['cookies'] = array(session_name() => $auth['sid']);
+    if (isset($auth['user']))
+        $params['user'] = $auth['user'];
+    if (isset($auth['pass']))
+        $params['pass'] = $auth['pass'];
+    $result = xu_rpc_http_concise($params);
+    return $result;
+}
+
+/*
+ $Log: XmlRpcClient.php,v $
+ Revision 1.4  2007/03/18 10:26:35  rurban
+ enhance xu_rpc_http_concise($params) by cookies user pass
+
+ Revision 1.3  2007/01/22 23:42:13  rurban
+ Back to WIKI_XMLRPC_VERSION 1. Explain why
+
+ Revision 1.2  2007/01/03 21:25:43  rurban
+ use explicit RPC2 url because of still unresolved dba problem.
+
+ Revision 1.1  2007/01/02 13:21:12  rurban
+ split client from server
+
+ */
+
+// (c-file-style: "gnu")
+// Local Variables:
+// mode: php
+// tab-width: 8
+// c-basic-offset: 4
+// c-hanging-comment-ender-p: nil
+// indent-tabs-mode: nil
+// End:   
+?>
diff -ruN 1.3.12p3/lib/XmlRpcServer.php 1.3.14/lib/XmlRpcServer.php
--- 1.3.12p3/lib/XmlRpcServer.php	2006-06-18 06:19:29.000000000 -0500
+++ 1.3.14/lib/XmlRpcServer.php	2007-07-01 05:11:11.000000000 -0500
@@ -1,7 +1,7 @@
 <?php
-// $Id: XmlRpcServer.php,v 1.14 2005/07/21 19:27:04 rurban Exp $
+// $Id: XmlRpcServer.php,v 1.25 2007/03/18 10:27:11 rurban Exp $
 /* Copyright (C) 2002, Lawrence Akka <lakka@users.sourceforge.net>
- * Copyright (C) 2004, 2005 $ThePhpWikiProgrammingTeam
+ * Copyright (C) 2004,2005,2006,2007 $ThePhpWikiProgrammingTeam
  *
  * LICENCE
  * =======
@@ -45,62 +45,46 @@
 
 /*
 ToDo:
-        Remove all warnings from xmlrpc.inc 
-        Return list of external links in listLinks
-        Support RSS2 cloud subscription
+    * Change to unit tests: XmlRpcTest v1, v2 and private
+    * Return list of external links in listLinks
+    * Support RSS2 cloud subscription: wiki.rssPleaseNotify, pingback.ping
+
+    * API v2 http://www.jspwiki.org/wiki/WikiRPCInterface2 :
+
+    * array listAttachments( utf8 page ) - Lists attachments on a given page. 
+            The array consists of utf8 attachment names that can be fed to getAttachment (or putAttachment).
+    * base64 getAttachment( utf8 attachmentName ) - returns the content of an attachment.
+    * putAttachment( utf8 attachmentName, base64 content ) - (over)writes an attachment. 
+    * array system.listMethods()
+    * string system.methodHelp (string methodName)
+    * array system.methodSignature (string methodName) 
+
 Done:
         Test hwiki.jar xmlrpc interface (java visualization plugin)
      	Make use of the xmlrpc extension if found. http://xmlrpc-epi.sourceforge.net/
 	Resolved namespace conflicts
+	Added various phpwiki specific methods (mailPasswordToUser, getUploadedFileInfo, 
+	putPage, titleSearch, listPlugins, getPluginSynopsis, listRelations)
+	Use client methods in inter-phpwiki calls: SyncWiki, tests/xmlrpc/
 */
 
 // Intercept GET requests from confused users.  Only POST is allowed here!
 if (empty($GLOBALS['HTTP_SERVER_VARS']))
-    $GLOBALS['HTTP_SERVER_VARS'] =& $_SERVER;
-if ($GLOBALS['HTTP_SERVER_VARS']['REQUEST_METHOD'] != "POST")
+    $GLOBALS['HTTP_SERVER_VARS']  =& $_SERVER;
+if ($GLOBALS['HTTP_SERVER_VARS']['REQUEST_METHOD'] != "POST")  
 {
     die('This is the address of the XML-RPC interface.' .
-        '  You must use XML-RPC calls to access information here');
+        '  You must use XML-RPC calls to access information here.');
 }
-
-// All these global declarations make it so that this file
-// (XmlRpcServer.php) can be included within a function body
-// (not in global scope), and things will still work....
-
-global $xmlrpcI4, $xmlrpcInt, $xmlrpcBoolean, $xmlrpcDouble, $xmlrpcString;
-global $xmlrpcDateTime, $xmlrpcBase64, $xmlrpcArray, $xmlrpcStruct;
-global $xmlrpcTypes;
-global $xmlEntities;
-global $xmlrpcerr, $xmlrpcstr;
-global $xmlrpc_defencoding;
-global $xmlrpcName, $xmlrpcVersion;
-global $xmlrpcerruser, $xmlrpcerrxml;
-global $xmlrpc_backslash;
-global $_xh;
-
+  
+require_once("lib/XmlRpcClient.php");
 if (loadPhpExtension('xmlrpc')) { // fast c lib
-    define('XMLRPC_EXT_LOADED', true);
-
-    global $xmlrpc_util_path;
-    $xmlrpc_util_path = dirname(__FILE__)."/XMLRPC/";
-    include_once("lib/XMLRPC/xmlrpc_emu.inc"); 
-    global $_xmlrpcs_debug;
-    include_once("lib/XMLRPC/xmlrpcs_emu.inc");
-
- } else { // slow php lib
-    define('XMLRPC_EXT_LOADED', true);
-
-    // Include the php XML-RPC library
-    include_once("lib/XMLRPC/xmlrpc.inc");
-
+    require_once("lib/XMLRPC/xmlrpcs_emu.inc");
+} else { // slow php lib
     global $_xmlrpcs_dmap;
-    global $_xmlrpcs_debug;
-    include_once("lib/XMLRPC/xmlrpcs.inc");
+    require_once("lib/XMLRPC/xmlrpcs.inc");
 }
- 
 
-//  API version
-define ("WIKI_XMLRPC_VERSION", 2);
 
 /**
  * Helper function:  Looks up a page revision (most recent by default) in the wiki database
@@ -130,50 +114,6 @@
     return false;
 } 
 
-/*
- * Helper functions for encoding/decoding strings.
- *
- * According to WikiRPC spec, all returned strings take one of either
- * two forms.  Short strings (page names, and authors) are converted to
- * UTF-8, then rawurlencode()d, and returned as XML-RPC <code>strings</code>.
- * Long strings (page content) are converted to UTF-8 then returned as
- * XML-RPC <code>base64</code> binary objects.
- */
-
-/**
- * Urlencode ASCII control characters.
- *
- * (And control characters...)
- *
- * @param string $str
- * @return string
- * @see urlencode
- */
-function UrlencodeControlCharacters($str) {
-    return preg_replace('/([\x00-\x1F])/e', "urlencode('\\1')", $str);
-}
-
-/**
- * Convert a short string (page name, author) to xmlrpcval.
- */
-function short_string ($str) {
-    return new xmlrpcval(UrlencodeControlCharacters(utf8_encode($str)), 'string');
-}
-
-/**
- * Convert a large string (page content) to xmlrpcval.
- */
-function long_string ($str) {
-    return new xmlrpcval(utf8_encode($str), 'base64');
-}
-
-/**
- * Decode a short string (e.g. page name)
- */
-function short_string_decode ($str) {
-    return utf8_decode(urldecode($str));
-}
-
 /**
  * Get an xmlrpc "No such page" error message
  */
@@ -208,12 +148,14 @@
  * array getRecentChanges(Date timestamp) : Get list of changed pages since 
  * timestamp, which should be in UTC. The result is an array, where each element
  * is a struct: 
- *     name (string) : Name of the page. The name is UTF-8 with URL encoding to make it ASCII. 
+ *     name (string)       : Name of the page. The name is UTF-8 with URL encoding to make it ASCII. 
  *     lastModified (date) : Date of last modification, in UTC. 
- *     author (string) : Name of the author (if available). Again, name is UTF-8 with URL encoding. 
- * 	   version (int) : Current version. 
+ *     author (string)     : Name of the author (if available). Again, name is UTF-8 with URL encoding. 
+ *     version (int)       : Current version. 
+ *     summary (string)    : UTF-8 with URL encoding. 
  * A page MAY be specified multiple times. A page MAY NOT be specified multiple 
  * times with the same modification date.
+ * Additionally to API version 1 and 2 we added the summary field.
  */
 $wiki_dmap['getRecentChanges']
 = array('signature'	=> array(array($xmlrpcArray, $xmlrpcDateTime)),
@@ -241,6 +183,7 @@
         $pages[] = new xmlrpcval(array('name' => $name, 
                                        'lastModified' => $lastmodified,
                                        'author' => $author,
+				       'summary' => short_string($page->get('summary')),
                                        'version' => $version),
                                  'struct');
     } 
@@ -352,7 +295,7 @@
  *   name (string): the canonical page name 
  *   lastModified (date): Last modification date 
  *   version (int): current version 
- * 	 author (string): author name 
+ *   author (string): author name 
  */
 $wiki_dmap['getPageInfo']
 = array('signature'	=> array(array($xmlrpcStruct, $xmlrpcString)),
@@ -397,8 +340,8 @@
 /*  array listLinks( string pagename ): Lists all links for a given page. The
  *  returned array contains structs, with the following elements: 
  *   	 name (string) : The page name or URL the link is to. 
- *       type (int) : The link type. Zero (0) for internal Wiki link,
- *         one (1) for external link (URL - image link, whatever).
+ *       type (int)    : The link type. Zero (0) for internal Wiki link,
+ *                        one (1) for external link (URL - image link, whatever).
  */
 $wiki_dmap['listLinks']
 = array('signature'	=> array(array($xmlrpcArray, $xmlrpcString)),
@@ -470,6 +413,10 @@
     return new xmlrpcresp(new xmlrpcval ($linkstruct, "array"));
 } 
 
+/* End of WikiXMLRpc API v1 */
+/* ======================================================================== */
+/* Start of partial WikiXMLRpc API v2 support */
+
 /** 
  * struct putPage(String pagename, String content, [String author[, String password]})
  * returns a struct with elements: 
@@ -478,6 +425,8 @@
  *   version (int): version of new page
  *
  * @author: Arnaud Fontaine, Reini Urban
+ *
+ * API notes: Contrary to the API v2 specs we dropped attributes and added author + password
  */
 $wiki_dmap['putPage']
 = array('signature'     => array(array($xmlrpcStruct, $xmlrpcString, $xmlrpcString, $xmlrpcString, $xmlrpcString)),
@@ -580,8 +529,48 @@
                                         "struct"));
 }
 
+/* End of WikiXMLRpc API v2 */
+/* ======================================================================== */
+/* Start of private extensions */
+
 /**
- * Publish-Subscribe
+ * struct getUploadedFileInfo( string localpath ) : returns a struct with elements: 
+ *   lastModified (date): Last modification date 
+ *   size (int): current version 
+ * This is to sync uploaded files up to a remote master wiki. (SyncWiki)
+ * Not existing files return both 0.
+ *
+ * API notes: API v2 specs have array listAttachments( utf8 page ), 
+ * base64 getAttachment( utf8 attachmentName ), putAttachment( utf8 attachmentName, base64 content )
+ */
+$wiki_dmap['getUploadedFileInfo']
+= array('signature'	=> array(array($xmlrpcStruct, $xmlrpcString)),
+        'documentation' => 'Gets date and size about an uploaded local file',
+        'function'	=> 'getUploadedFileInfo');
+
+function getUploadedFileInfo($params)
+{
+    // localpath is the relative part after "Upload:"	
+    $ParamPath = $params->getParam(0);
+    $localpath = short_string_decode($ParamPath->scalarval());
+    preg_replace("/^[\\ \/ \.]/", "", $localpath); // strip hacks
+    $file = getUploadFilePath() . $localpath;
+    if (file_exists($file)) {
+        $size = filesize($file);
+        $lastmodified = filemtime($file);
+    } else {
+    	$size = 0;
+    	$lastmodified = 0;
+    }        
+    return new xmlrpcresp(new xmlrpcval
+    	(array('lastModified' => new xmlrpcval(iso8601_encode($lastmodified, 1),
+                                               "dateTime.iso8601"),
+               'size' => new xmlrpcval($size, "int")), 
+        "struct"));
+}
+
+/**
+ * Publish-Subscribe (not yet implemented)
  * Client subscribes to a RecentChanges-like channel, getting a short 
  * callback notification on every change. Like PageChangeNotification, just shorter 
  * and more complicated
@@ -611,7 +600,7 @@
 }
 
 /*
- *  String wiki.rssPleaseNotify ( username )
+ *  boolean wiki.mailPasswordToUser ( username )
  *  returns: true or false 
 
  */
@@ -638,14 +627,14 @@
 }
 
 /** 
- * array wiki.titleSearch(String substring [, Integer option = 0])
+ * array wiki.titleSearch(String substring [, String option = "0"])
  * returns an array of matching pagenames.
  * TODO: standardize options
  *
  * @author: Reini Urban
  */
 $wiki_dmap['titleSearch']
-= array('signature'     => array(array($xmlrpcArray, $xmlrpcString, $xmlrpcInt)),
+= array('signature'     => array(array($xmlrpcArray, $xmlrpcString, $xmlrpcString)),
         'documentation' => "Return matching pagenames. 
 Option 1: caseexact, 2: regex, 4: starts_with, 8: exact",
         'function'      => 'titleSearch');
@@ -657,9 +646,10 @@
     $searchstring = short_string_decode($ParamPageName->scalarval());
     if (count($params->params) > 1) {
         $ParamOption = $params->getParam(1);
-        $option = $ParamOption->scalarval();
-    } else $option = 0;
-    // default option: substring, case-inexact
+        $option = (int) $ParamOption->scalarval();
+    } else 
+	$option = 0;
+    	// default option: substring, case-inexact
 
     $case_exact = $option & 1;
     $regex      = $option & 2;
@@ -674,8 +664,8 @@
         }
     } else {
     	if ($option & 4 or $option & 8) { 
-		    global $xmlrpcerruser;
-    		return new xmlrpcresp(0, $xmlrpcerruser + 1, "Invalid option");
+	    global $xmlrpcerruser;
+    	    return new xmlrpcresp(0, $xmlrpcerruser + 1, "Invalid option");
     	}
     }
     include_once("lib/TextSearchQuery.php");
@@ -765,15 +755,56 @@
 }
 
 /** 
- * array wiki.listRelations()
+ * array wiki.callPlugin(String name, String args)
  *
- * Returns an array of all available relations. 
- * For SemanticSearch autofill method.
+ * Returns an array of pages as returned by the plugins PageList call. 
+ * Only valid for plugins returning pagelists, e.g. BackLinks, AllPages, ...
+ * For various AJAX or WikiFormRich calls.
+ *
+ * @author: Reini Urban
+ */
+$wiki_dmap['callPlugin']
+= array('signature'     => array(array($xmlrpcArray, $xmlrpcString, $xmlrpcString)),
+        'documentation' => "Returns an array of pages as returned by the plugins PageList call",
+        'function'      => 'callPlugin');
+
+function callPlugin($params)
+{
+    global $request;
+    $dbi = $request->getDbh();
+    $ParamPlugin = $params->getParam(0);
+    $pluginName = short_string_decode($ParamPlugin->scalarval());
+    $ParamArgs = $params->getParam(1);
+    $plugin_args = short_string_decode($ParamArgs->scalarval());
+
+    $basepage = ''; //$pluginName;
+    require_once("lib/WikiPlugin.php");
+    $w = new WikiPluginLoader;
+    $p = $w->getPlugin($pluginName, false); // second arg?
+    $pagelist = $p->run($dbi, $plugin_args, $request, $basepage);
+    $list = array();
+    if (is_object($pagelist) and isa($pagelist, 'PageList')) {
+	foreach ($pagelist->_pages as $page) {
+	    $list[] = $page->getName();
+	}
+    }
+    return new xmlrpcresp(new xmlrpcval($list, "array"));
+}
+
+/** 
+ * array wiki.listRelations([ Integer option = 1 ])
+ *
+ * Returns an array of all available relation names.
+ *   option: 1 relations only ( with 0 also )
+ *   option: 2 attributes only
+ *   option: 3 both, all names of relations and attributes 
+ *   option: 4 unsorted, this might be added as bitvalue: 7 = 4+3. default: sorted
+ * For some semanticweb autofill methods.
  *
  * @author: Reini Urban
  */
 $wiki_dmap['listRelations']
-= array('signature'     => array(array($xmlrpcArray)),
+= array('signature'     => array(array($xmlrpcArray, $xmlrpcInt)),
         'documentation' => "Return names of all relations",
         'function'      => 'listRelations');
 
@@ -781,8 +812,18 @@
 {
     global $request;
     $dbh = $request->getDbh();
-    $RetArray = $dbh->listRelations();
-    return new xmlrpcresp(new xmlrpcval($RetArray->asArray(), "array"));
+    if (count($params->params) > 0) {
+        $ParamOption = $params->getParam(0);
+        $option = (int) $ParamOption->scalarval();
+    } else 
+	$option = 1;
+    $also_attributes = $option & 2; 
+    $only_attributes = $option & 2 and !($option & 1); 
+    $sorted = !($option & 4);
+    return new xmlrpcresp(new xmlrpcval($dbh->listRelations($also_attributes,
+							    $only_attributes,
+							    $sorted), 
+					"array"));
 }
 
 /** 
@@ -883,6 +924,9 @@
     $targetURI = short_string_decode($Param1->scalarval());
     // TODO...
 }
+
+/* End of private WikiXMLRpc API extensions */
+/* ======================================================================== */
  
 /** 
  * Construct the server instance, and set up the dispatch map, 
@@ -924,6 +968,30 @@
 
 /*
  $Log: XmlRpcServer.php,v $
+ Revision 1.25  2007/03/18 10:27:11  rurban
+ whitespace only
+
+ Revision 1.24  2007/01/22 23:42:13  rurban
+ Back to WIKI_XMLRPC_VERSION 1. Explain why
+
+ Revision 1.23  2007/01/10 20:47:45  rurban
+ change int to string because of acdropdown
+
+ Revision 1.22  2007/01/07 18:44:11  rurban
+ Add summary to getRecentChanges result
+
+ Revision 1.21  2007/01/04 16:42:13  rurban
+ Use require, not include!
+
+ Revision 1.20  2007/01/03 21:25:52  rurban
+ add option argument to listRelations.
+
+ Revision 1.19  2007/01/02 13:21:21  rurban
+ split client from server. added getUploadedFileInfo (for SyncWiki), callPlugin (for WikiFormRich)
+
+ Revision 1.18  2006/05/18 06:10:45  rurban
+ add xmlrpc listRelations signature
+
  Revision 1.17  2005/10/31 16:49:31  rurban
  fix doc
 
@@ -947,4 +1015,4 @@
 // c-hanging-comment-ender-p: nil
 // indent-tabs-mode: nil
 // End:   
-?>
\ No newline at end of file
+?>
diff -ruN 1.3.12p3/lib/ziplib.php 1.3.14/lib/ziplib.php
--- 1.3.12p3/lib/ziplib.php	2006-06-18 06:19:29.000000000 -0500
+++ 1.3.14/lib/ziplib.php	2007-07-01 05:11:11.000000000 -0500
@@ -1,4 +1,4 @@
-<?php rcs_id('$Id: ziplib.php,v 1.46 2006/03/07 20:47:36 rurban Exp $');
+<?php rcs_id('$Id: ziplib.php,v 1.53 2007/05/19 14:41:14 rurban Exp $');
 
 /**
  * GZIP stuff.
@@ -189,8 +189,15 @@
         $data = gzinflate($data);
         if (strlen($data) != $uncomp_size)
             trigger_error("not enough output from gzinflate", E_USER_ERROR);
-        if (zip_crc32($data) != $crc32)
-            trigger_error("CRC32 mismatch", E_USER_ERROR);
+        $zcrc32 = zip_crc32($data);
+        if ($zcrc32 < 0) { // force unsigned
+            $zcrc32 += 4294967296;
+        }
+        if ($crc32 < 0) { // force unsigned
+            $crc32 += 4294967296;
+        }
+        if ($zcrc32 != $crc32)
+            trigger_error("CRC32 mismatch: calculated=$zcrc32, expected=$crc32", E_USER_ERROR);
         return $data;
     }
     
@@ -579,6 +586,7 @@
     $params = array('pagename'     => $page->getName(),
                     'flags'        => "",
                     'author'       => $revision->get('author'),
+                    'owner'        => $page->getOwner(),
                     'version'      => $revision->getVersion(),
                     'lastmodified' => $revision->get('mtime'));
     
@@ -797,7 +805,8 @@
     $page        = array();
     $pagedata    = array();
     $versiondata = array();
-    $pagedata['date'] = strtotime($headers['date']);
+    if (isset($headers['date']))
+	$pagedata['date'] = strtotime($headers['date']);
 
     //DONE: support owner and acl
     foreach ($params as $key => $value) {
@@ -852,6 +861,18 @@
         $data = QuotedPrintableDecode($data);
     else if ($encoding && $encoding != 'binary')
         ExitWiki( sprintf("Unknown %s", 'encoding type: $encoding') );
+
+    if (empty($params['charset']))
+        $params['charset'] = 'iso-8859-1';
+
+    // compare to target charset
+    if (strtolower($params['charset']) != strtolower($GLOBALS['charset'])) {
+    	$data = charset_convert($params['charset'], $GLOBALS['charset'], $data);
+    	//$page['pagename'] = charset_convert($params['charset'], $GLOBALS['charset'], $page['pagename']);
+	if (isset($versiondata['summary']))
+	    $versiondata['summary'] = charset_convert($params['charset'], $GLOBALS['charset'], $versiondata['summary']);
+
+    }
     
     $data .= GenerateFootnotesFromRefs($params);
     
@@ -863,6 +884,27 @@
 }
 
 // $Log: ziplib.php,v $
+// Revision 1.53  2007/05/19 14:41:14  rurban
+// add owner to header to set correct owner on input
+//
+// Revision 1.52  2007/05/15 16:36:36  rurban
+// nowarn on nosummary
+//
+// Revision 1.51  2007/03/27 07:12:06  rurban
+// Patch #1688929 by Erwann Penet: force $crc32 unsigned also
+//
+// Revision 1.50  2007/02/17 14:15:59  rurban
+// also charset convert summary
+//
+// Revision 1.49  2007/01/03 21:25:10  rurban
+// Use convert_charset()
+//
+// Revision 1.48  2006/12/22 17:44:15  rurban
+// support importing foreign charsets. e.g latin1 => utf8
+//
+// Revision 1.47  2006/10/08 12:32:26  rurban
+// workaround signed-unsigned issue (not solved). patch by Bob Apthorpe
+//
 // Revision 1.46  2006/03/07 20:47:36  rurban
 // MimeifyPageRevision refactoring. see loadsave
 //
@@ -926,4 +968,4 @@
 // c-hanging-comment-ender-p: nil
 // indent-tabs-mode: nil
 // End:   
-?>
\ No newline at end of file
+?>
diff -ruN 1.3.12p3/LICENSE 1.3.14/LICENSE
--- 1.3.12p3/LICENSE	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/LICENSE	2007-07-01 05:11:11.000000000 -0500
@@ -0,0 +1,340 @@
+		    GNU GENERAL PUBLIC LICENSE
+		       Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+                       59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+			    Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users.  This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it.  (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.)  You can apply it to
+your programs, too.
+
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+  To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+  For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have.  You must make sure that they, too, receive or can get the
+source code.  And you must show them these terms so they know their
+rights.
+
+  We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+  Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software.  If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+  Finally, any free program is threatened constantly by software
+patents.  We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary.  To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.
+
+		    GNU GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License.  The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language.  (Hereinafter, translation is included without limitation in
+the term "modification".)  Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+  1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+  2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) You must cause the modified files to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    b) You must cause any work that you distribute or publish, that in
+    whole or in part contains or is derived from the Program or any
+    part thereof, to be licensed as a whole at no charge to all third
+    parties under the terms of this License.
+
+    c) If the modified program normally reads commands interactively
+    when run, you must cause it, when started running for such
+    interactive use in the most ordinary way, to print or display an
+    announcement including an appropriate copyright notice and a
+    notice that there is no warranty (or else, saying that you provide
+    a warranty) and that users may redistribute the program under
+    these conditions, and telling the user how to view a copy of this
+    License.  (Exception: if the Program itself is interactive but
+    does not normally print such an announcement, your work based on
+    the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+    a) Accompany it with the complete corresponding machine-readable
+    source code, which must be distributed under the terms of Sections
+    1 and 2 above on a medium customarily used for software interchange; or,
+
+    b) Accompany it with a written offer, valid for at least three
+    years, to give any third party, for a charge no more than your
+    cost of physically performing source distribution, a complete
+    machine-readable copy of the corresponding source code, to be
+    distributed under the terms of Sections 1 and 2 above on a medium
+    customarily used for software interchange; or,
+
+    c) Accompany it with the information you received as to the offer
+    to distribute corresponding source code.  (This alternative is
+    allowed only for noncommercial distribution and only if you
+    received the program in object code or executable form with such
+    an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it.  For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable.  However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+  4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License.  Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+  5. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Program or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+  6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+  7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+  8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded.  In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+  9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time.  Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation.  If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+  10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission.  For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this.  Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+			    NO WARRANTY
+
+  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+		     END OF TERMS AND CONDITIONS
+
+	    How to Apply These Terms to Your New Programs
+
+  If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+  To do so, attach the following notices to the program.  It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the program's name and a brief idea of what it does.>
+    Copyright (C) <year>  <name of author>
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+    Gnomovision version 69, Copyright (C) year name of author
+    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+    This is free software, and you are welcome to redistribute it
+    under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License.  Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary.  Here is a sample; alter the names:
+
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+  `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+  <signature of Ty Coon>, 1 April 1989
+  Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs.  If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library.  If this is what you want to do, use the GNU Library General
+Public License instead of this License.
Binary files 1.3.12p3/locale/de/LC_MESSAGES/phpwiki.mo and 1.3.14/locale/de/LC_MESSAGES/phpwiki.mo differ
diff -ruN 1.3.12p3/locale/de/LC_MESSAGES/phpwiki.php 1.3.14/locale/de/LC_MESSAGES/phpwiki.php
--- 1.3.12p3/locale/de/LC_MESSAGES/phpwiki.php	2006-06-18 06:19:29.000000000 -0500
+++ 1.3.14/locale/de/LC_MESSAGES/phpwiki.php	2007-07-01 05:11:11.000000000 -0500
@@ -80,14 +80,10 @@
    "%s ist leer";
 $locale["%s is empty."] =
    "%s ist leer.";
-$locale["%s is listed at %s"] =
-   "%s blockiert von %s";
 $locale["%s is missing"] =
    "%s Argument fehlt";
 $locale["%s is not locked!"] =
    "%s ist nicht gesperrt!";
-$locale["%s is not writable"] =
-   "%s ist nicht nderbar";
 $locale["%s is not writable."] =
    "%s is nicht nderbar.";
 $locale["%s is only allowed in locked pages."] =
@@ -98,6 +94,8 @@
    "%s nicht definiert";
 $locale["%s not found"] =
    "%s nicht gefunden";
+$locale["%s not found in %s"] =
+   "%s nicht in %s gefunden";
 $locale["%s of this page"] =
    "%s von dieser Seite";
 $locale["%s on %s:"] =
@@ -158,6 +156,10 @@
    "%s: Datei korrumpiert";
 $locale["'s %d page ratings:"] =
    "s %d Seiten Bewertungen:";
+$locale["(%d Links)"] =
+   "(%d Links)";
+$locale["(A|An|And|But|By|For|From|In|Is|It|Of|On|Or|The|To|With)"] =
+   "(Ein|Eine|Einer|Und|Aber|Wenn|Fr|Von|In|Ist|Es|Oder|Der|Die|Das|Nach|Mit)";
 $locale["(Copy your changes to the clipboard. You can try editing a different page or save your text in a text editor.)"] =
    "(Kopieren Sie Ihre Vernderungen in die Zwischenablage. Sie knnen versuchen eine andere Seite zu edieren oder Ihr Text in einem Texteditor speichern.)";
 $locale["(Currently not working)"] =
@@ -178,8 +180,6 @@
    "(formatiert fr die PhpWiki Entwickler als pgsrc Vorlage, nicht zum Backup)";
 $locale["(formatted for backing up: all revisions)"] =
    "(formatiert zum Backup: Alle Versionen)";
-$locale["(hist)"] =
-   "(protok.)";
 $locale["(max. recursion level: %d)"] =
    "(max. Rekursionstiefe: %d)";
 $locale["(normal formatting: latest revision only)"] =
@@ -211,7 +211,7 @@
 $locale["<no matches>"] =
    "<nichts gefunden>";
 $locale["<none>"] =
-   "<Keine>";
+   "<keine>";
 $locale["<not displayed>"] =
    "<nicht angezeigt>";
 $locale["<system language>"] =
@@ -246,12 +246,16 @@
    "Zugang verweigert um Seite '%s' zu ndern.";
 $locale["Action page"] =
    "Aktion Seite";
+$locale["ActionPage"] =
+   "AktionsSeite";
 $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. Neuestenderungen).";
 $locale["Add %s:"] =
    "%s Hinzufgen:";
 $locale["Add Comment"] =
    "Neuer Kommentar";
+$locale["Add Entry"] =
+   "Neuer Eintrag";
 $locale["Add Message"] =
    "Neue Nachricht";
 $locale["Add a Comment"] =
@@ -278,8 +282,12 @@
    "Admin";
 $locale["Admin is also online."] =
    "Administrator ist auch online.";
+$locale["Administration"] =
+   "Administration";
 $locale["Administrators"] =
    "Administratoren";
+$locale["Advanced..."] =
+   "Erweitert...";
 $locale["All %s are listed below."] =
    "Alle %s sind unten aufgelistet.";
 $locale["All pages in this wiki (%d total):"] =
@@ -300,12 +308,14 @@
    "Erlaube / Sperre";
 $locale["Allows selection of multiple pages which get passed to other WikiAdmin plugins."] =
    "Erlaubt die Auswahl mehrerer Seiten, die dann mit weiteren WikiAdmin Zusatzprogrammen bearbeitet werden.";
+$locale["Already logged in"] =
+   "Bereits eingeloggt";
 $locale["Also pages which have been deleted at least %s days."] =
    "Auch Seiten, die in den letzten %s Tagen gelscht wurden.";
-$locale["An email will be sent."] =
-   "Ein EMail wird versendet.";
 $locale["An unnamed PhpWiki"] =
    "Unbenanntes PhpWiki";
+$locale["Analyzes preferences based on voting budget and ratings."] =
+   "Analysiere Empfehlungen auf Grund von Bewertungen.";
 $locale["Anonymous Users"] =
    "Anonyme Benutzer";
 $locale["Appearance"] =
@@ -322,6 +332,8 @@
    "Anwendungsname";
 $locale["Application size: %d Kb"] =
    "Anwendungsplatzbedarf: %d KB";
+$locale["Apply changes"] =
+   "nderungen durchfhren";
 $locale["Approve"] =
    "Akzeptieren";
 $locale["Are you sure you want to permanently change access to the selected files?"] =
@@ -346,6 +358,16 @@
    "Parameter";
 $locale["Attempting to use the directory '%s' instead."] =
    "Versuche stattdessen das Verzeichnis %s zu verwenden.";
+$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 fr %s";
 $locale["Auth Level"] =
    "Auth. Ebene";
 $locale["Auth Method"] =
@@ -378,6 +400,8 @@
    "phpwiki: URL Formfehler";
 $locale["BOGO"] =
    "BOGO";
+$locale["Back"] =
+   "Zurck";
 $locale["Back to the previous page."] =
    "Zurck zur vorigen Seite.";
 $locale["BackLinks"] =
@@ -392,6 +416,8 @@
    "Ungltiger Dateityp: %s";
 $locale["Bad url in src: remove all of <, >, \""] =
    "URL Formfehler in Quellcode: alle der folgenden Zeichen entfernen <, >, \"";
+$locale["Blog"] =
+   "Blog";
 $locale["Blog Archives:"] =
    "Blog-Archive:";
 $locale["Blog Entries for %s:"] =
@@ -400,12 +426,12 @@
    "Blog Seite";
 $locale["BlogArchives"] =
    "BlogArchiv";
-$locale["Blogs"] =
-   "Blogs";
 $locale["Bogo Users"] =
    "Bogo Benutzer";
 $locale["Bold text"] =
    "Fetter Text";
+$locale["Bold text [alt-b]"] =
+   "Fetter Text [alt-b]";
 $locale["Browsing pages"] =
    "Das Durchblttern der Seiten dieses Wikis";
 $locale["CANCEL"] =
@@ -444,6 +470,8 @@
    "Kann AUTH_GROUP_FILE %s nicht ffnen";
 $locale["Case insensitive?"] =
    "Gro-/Kleinschreibung beachten?";
+$locale["Category"] =
+   "Kategorie";
 $locale["CategoryCategory"] =
    "KategorieKategorie";
 $locale["CategoryGroup"] =
@@ -468,6 +496,8 @@
    "ndern von Eigenschaften";
 $locale["Change the markup type of selected pages."] =
    "ndere den Formatierungstyp aller ausgewhlte Seiten.";
+$locale["Changes"] =
+   "nderungen";
 $locale["Check any two boxes then %s."] =
    "Whlen Sie zwei Versionen aus, dann %s.";
 $locale["Check any two boxes to compare revisions."] =
@@ -494,6 +524,8 @@
    "Klicken um anzuzeigen";
 $locale["Click to display all comments"] =
    "Klicken um Kommentare anzuzeigen";
+$locale["Click to display to TOC"] =
+   "Klicke um das TOC anzuzeigen";
 $locale["Click to hide the TOC"] =
    "Hier klicken um zu verstecken";
 $locale["Click to hide the comments"] =
@@ -550,8 +582,6 @@
    "Konnte Seite '%s' nicht in '%s' umbenennen.";
 $locale["Couldn't start commandline '%s'"] =
    "Konnte Programm %s nicht starten";
-$locale["Count"] =
-   "Anzahl";
 $locale["Create a Wiki page by the provided name."] =
    "Erzeuge neue Wiki-Seite mit dem angegebenem Namen.";
 $locale["Create a Wiki page."] =
@@ -560,6 +590,8 @@
    "Erzeuge eine neue (Unter)Seite";
 $locale["Create: %s"] =
    "Erzeugen: %s";
+$locale["CreateBib"] =
+   "ErzeugeBib";
 $locale["CreatePage"] =
    "NeueSeite";
 $locale["CreateToc"] =
@@ -596,6 +628,8 @@
    "Datumsformat";
 $locale["DeadEndPages"] =
    "VerwaisteSeiten";
+$locale["DebugAuthInfo"] =
+   "DebugAuthInfo";
 $locale["DebugGroupInfo"] =
    "DebugGruppenInfo";
 $locale["DebugInfo"] =
@@ -648,6 +682,8 @@
    "Diskussion";
 $locale["Display arbitrary SQL result tables"] =
    "Zeige Tabelle von SQL Abfragen an";
+$locale["Display as Pdf"] =
+   "Zeige als PDF";
 $locale["Display differences between revisions"] =
    "Zeilenweiser Vergleich der Versionen";
 $locale["Displays a list of randomly chosen pages or redirects to a random page."] =
@@ -656,8 +692,6 @@
    "Zeigt die Liste der Bilder in einer Textdatei an, mit optionalen Beschreibungen";
 $locale["Displays a url in a seperate frame inside our body. Only one frame allowed."] =
    "Zeigt eine URL in einem eigenen (oder gesonderten) Frame innerhalb der Seite. Nur ein Frame ist erlaubt.";
-$locale["Do you really want to reset the password of user %s?"] =
-   "Wollen Sie wirklich das Passwort von Benutzer %s zurcksetzen?";
 $locale["Don't cache this page."] =
    "Cache diese Seite nicht.";
 $locale["Double redirect not allowed."] =
@@ -732,8 +766,6 @@
    "E-Mail Besttigung";
 $locale["Email not yet verified."] =
    "E-Mail noch nicht besttigt.";
-$locale["Email sent to the stored email address for user %s"] =
-   "EMail mit dem neuen Passwort fr Benutzer %s erfolgreich gesendet";
 $locale["Email verified."] =
    "E-Mail besttigt.";
 $locale["Embed hidden comments in WikiPages."] =
@@ -752,10 +784,12 @@
    "Liste aller Seiten durch Leerzeichen oder Komma getrennt. Regulre Ausdrcke (fileglobbing) erlaubt.";
 $locale["Enter your UserId to sign in"] =
    "Tragen Sie bitte fr die Anmeldung im Wiki Ihren Benutzernamen ein";
-$locale["Error"] =
-   "Fehler";
+$locale["Entry on %s by %s."] =
+   "Eintrag am %s von %s.";
 $locale["Error sending email with password for user %s."] =
-   "Fehler beim Versenden der EMail mit dem neuen Passwort fr Benutzer %s.";
+   "Fehler beim Versenden der E-Mail mit dem neuen Passwort fr Benutzer %s.";
+$locale["Error: Couldn't send %s to %s"] =
+   "Fehler: Kann nicht %s zu %s senden";
 $locale["Error: Empty search string."] =
    "Fehler: Leeres Suchwort.";
 $locale["Error: The user HomePage must be a valid WikiWord. Sorry, UserPreferences cannot be saved."] =
@@ -764,8 +798,8 @@
    "Jeder";
 $locale["Example.jpg"] =
    "Beispiel.jpg";
-$locale["Existing page-level metadata for %s:"] =
-   "Zugewiesene Seiten Meta-Daten fr %s:";
+$locale["Exit toolbar"] =
+   "Werkzeugleiste beenden";
 $locale["External Links"] =
    "Externe Links";
 $locale["External link (remember http:// prefix)"] =
@@ -774,18 +808,22 @@
    "FremdSuche";
 $locale["ExternalSearchPlugin"] =
    "FremdSuchePlugin";
+$locale["FAIL"] =
+   "FEHLGESCHLAGEN";
 $locale["FAILED"] =
    "FEHLER";
 $locale["FIXED"] =
    "AUSGEBESSERT";
+$locale["FIXING"] =
+   "AUSBESSERN";
 $locale["FORBIDDEN"] =
    "VERBOTEN";
-$locale["Failed to set LDAP protocol version to 3"] =
-   "Fehler beim Setzen der LDAP Protokoll Version 3";
+$locale["Failed to bind LDAP host"] =
+   "Fehler beim Anbinden an den LDAP Server";
+$locale["Failed to connect to LDAP host"] =
+   "Fehler beim Verbinden zum LDAP Server";
 $locale["Fatal PhpWiki Error"] =
    "Fataler PhpWiki-Fehler";
-$locale["File names may only contain alphanumeric characters and dot, underscore or dash."] =
-   "Dateinamen drfen nur folgende Zeichen enthalten: alphanumerische Zeichen, Punkt, Unterstrich und Bindestrich.";
 $locale["File successfully uploaded."] =
    "Datei erfolgreich hochgeladen.";
 $locale["FileInfo"] =
@@ -800,6 +838,8 @@
    "FoafBetrachter";
 $locale["FoafViewerPlugin"] =
    "FoafViewerPlugin";
+$locale["Found by "] =
+   "Gefunden von";
 $locale["FrameInclude"] =
    "FrameEinbetten";
 $locale["FrameIncludePlugin"] =
@@ -838,8 +878,6 @@
    "Los?";
 $locale["GoTo"] =
    "GeheZu";
-$locale["GoodStyle"] =
-   "GuterStil";
 $locale["GooglePlugin"] =
    "GoogleZusatzprogramm";
 $locale["Grant"] =
@@ -850,6 +888,8 @@
    "Gruppenseite %s existiert nicht";
 $locale["Group/User"] =
    "Gruppe/Benutzer";
+$locale["GroupAuthInfo"] =
+   "GruppenAuthentifizierungsInfo";
 $locale["Guest"] =
    "Gast";
 $locale["Guests"] =
@@ -858,6 +898,8 @@
    "H.";
 $locale["HasHomePage"] =
    "HasHomePage";
+$locale["Headline"] =
+   "berschrift";
 $locale["Headline text"] =
    "berschrift";
 $locale["Height"] =
@@ -866,6 +908,18 @@
    "HalloWelt";
 $locale["HelloWorldPlugin"] =
    "HalloWeltPlugin";
+$locale["Help"] =
+   "Hilfe";
+$locale["Help/GoodStyle"] =
+   "Hilfe/GuterStil";
+$locale["Help/OldTextFormattingRules"] =
+   "Hilfe/AlteTextFormatierungsRegeln";
+$locale["Help/SemanticRelations"] =
+   "Hilfe/SemantischeBeziehungen";
+$locale["Help/TextFormattingRules"] =
+   "Hilfe/TextFormatierungsRegeln";
+$locale["Help:SemanticRelations"] =
+   "Hilfe:SemantischeBeziehungen";
 $locale["Here you can override site-specific default values."] =
    "Hier knnen Sie einige Voreinstellungen ndern.";
 $locale["Hide %s:"] =
@@ -874,16 +928,14 @@
    "LinkIcons ausblenden oder einblenden (unter der Voraussetzung, dass es durch die ausgewhlte Darstellung untersttzt wird). Dies ist sinnvoll fr Text-Browser und langsame Verbindungen.";
 $locale["Hilight referred search terms."] =
    "Hebe externe Suchwrter hervor.";
+$locale["History"] =
+   "Protokoll";
 $locale["History of all major and minor edits by %s to page %s."] =
    "Verlaufsprotokoll aller groen und kleinen nderungen von %s der Seite %s.";
 $locale["History of all major and minor modifications for any page edited by %s."] =
    "Verlaufsprotokoll aller groen und kleinen nderungen aller Seiten, die von %s bearbeitet wurden.";
-$locale["History of all major edits by %s to page %s."] =
-   "Verlaufsprotokoll aller groen nderungen von %s der Seite %s.";
 $locale["History of changes."] =
    "nderungsprotokoll.";
-$locale["History of major modifications for any page edited by %s."] =
-   "Verlaufsprotokoll aller groen nderungen aller Seiten, die von %s bearbeitet wurden.";
 $locale["Hit statistics"] =
    "Treffer Statistiken";
 $locale["Hits"] =
@@ -972,6 +1024,8 @@
    "Ungltige ACL";
 $locale["Invalid [] syntax ignored"] =
    "Ungltige [] syntax ignoriert";
+$locale["Invalid argument %s"] =
+   "Ungltiger Parameter %s";
 $locale["Invalid argument: %s=%s"] =
    "Ungltiger Parameter: %s=%s";
 $locale["Invalid chmod string"] =
@@ -980,6 +1034,8 @@
    "Ungltige Farbe: %s";
 $locale["Invalid image size"] =
    "Ungltige Bildgre";
+$locale["Invalid pagename!"] =
+   "Ungltiger Seitenname!";
 $locale["Invalid password or userid."] =
    "Ungltiges Passwort oder falscher Benutzername.";
 $locale["Invalid password."] =
@@ -990,6 +1046,8 @@
    "Ungltiger Benutzername.";
 $locale["Italic text"] =
    "Kursiver Text";
+$locale["Italic text [alt-i]"] =
+   "Kursiver Text [alt-i]";
 $locale["JabberPresence"] =
    "JabberAnwesend";
 $locale["Keep up to %d major edits, but keep them no longer than %d days."] =
@@ -1028,16 +1086,22 @@
    "hnlicheSeiten";
 $locale["Line %s does not begin with a '|'."] =
    "Zeile %s beginnt nicht mit '|'.";
+$locale["Link"] =
+   "Link";
 $locale["Link to page"] =
    "Link auf Seite";
 $locale["LinkDatabase"] =
    "LinkDatenbank";
 $locale["LinkIcons"] =
    "LinksIcons";
+$locale["LinkSearch"] =
+   "LinkSuche";
 $locale["Links"] =
    "Links";
 $locale["List PageHistory for %s"] =
    "Das nderungsprotokoll fr %s auflisten";
+$locale["List all new pages per month per user"] =
+   "Liste alle neue Seiten pro Monat pro Benutzer";
 $locale["List all once authenticated users."] =
    "Liste alle eingetragenen Benutzer.";
 $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."] =
@@ -1062,12 +1126,16 @@
    "Liste die meistbesuchten Seiten in der Nhe.";
 $locale["List the most popular pages."] =
    "Die meistbesucht Seiten werden aufgelistet.";
+$locale["List the most popular tags."] =
+   "Die hufigsten 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";
+$locale["ListRelations"] =
+   "ListeBeziehungen";
 $locale["ListSubpages"] =
    "UnterseitenListe";
 $locale["Lists referenced page names which do not exist yet."] =
@@ -1132,6 +1200,8 @@
    "Fehlender %s fr %s";
 $locale["Missing PagePermission:"] =
    "Fehlende Zugriffsberechtigung:";
+$locale["Missing ldap extension"] =
+   "Fehlendes LDAP Modul";
 $locale["ModeratedPage"] =
    "ModerierteSeite";
 $locale["ModeratedPage Notification Error: Couldn't send email"] =
@@ -1144,6 +1214,8 @@
    "Gendert";
 $locale["Moniker"] =
    "Kurzname";
+$locale["More..."] =
+   "Mehr...";
 $locale["Most users ever online was %d at %s."] =
    "Die meisten Besucher online waren %d am %s.";
 $locale["MostPopular"] =
@@ -1156,6 +1228,8 @@
    "Neues Thema";
 $locale["New comment."] =
    "Neuer Kommentar.";
+$locale["New entry"] =
+   "Neuer Eintrag";
 $locale["New page"] =
    "Neue Seite";
 $locale["New password"] =
@@ -1180,6 +1254,8 @@
    "Keine Kommentare gefunden.";
 $locale["No empty, unreferenced pages were found."] =
    "Keine leeren, unverlinkten Seiten gefunden.";
+$locale["No metadata for %s"] =
+   "Keine Meta-Daten fr %s";
 $locale["No or not enough GROUP_DB SQL statements defined"] =
    "Keine oder zu wenige GROUP_DB SQL Statements definiert";
 $locale["No or unsupported GROUP_METHOD defined"] =
@@ -1220,8 +1296,6 @@
    "Nichts gefunden";
 $locale["OK"] =
    "OK";
-$locale["Ok"] =
-   "Ok";
 $locale["Okay"] =
    "OK";
 $locale["Old UserPage %s without stored password updated with empty password. Set a password in your UserPreferences."] =
@@ -1230,8 +1304,6 @@
    "TraditionellerTabellenStil";
 $locale["OldStyleTablePlugin"] =
    "TraditionellerTabellenStilPlugin";
-$locale["OldTextFormattingRules"] =
-   "AlteTextFormatierungsRegeln";
 $locale["Older page:"] =
    "ltere Seite:";
 $locale["One page links to %s:"] =
@@ -1240,6 +1312,8 @@
    "Eine Seite wrde 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 gelscht!";
 $locale["Operation undone"] =
@@ -1306,6 +1380,8 @@
    "Datei erfolgreich gendert.";
 $locale["PageChange Notification Error: Couldn't send %s to %s"] =
    "Seitennderung Benachrichtigung Fehler: Konnte %s nicht an %s senden";
+$locale["PageChange Notification of %s"] =
+   "Seitennderung Benachrichtigung von %s";
 $locale["PageChange Notification of %s sent to %s"] =
    "Seitennderung Benachrichtigung von %s an %s gesendet";
 $locale["PageDump"] =
@@ -1343,7 +1419,7 @@
 $locale["Password:"] =
    "Passwort:";
 $locale["PasswordReset"] =
-   "PasswortZurcksetzen:";
+   "PasswortZurcksetzen";
 $locale["Perform searches on InterWiki sites listed in InterWikiMap."] =
    "Durchsuchen im InterWiki sites die im InterWikiMap verzeichnet sind.";
 $locale["Permanently remove all selected pages."] =
@@ -1366,8 +1442,6 @@
    "BilderAlbum";
 $locale["PhotoAlbumPlugin"] =
    "BilderAlbumPlugin";
-$locale["Photos"] =
-   "Album";
 $locale["PhpHighlight"] =
    "PhpHighlight";
 $locale["PhpHighlightPlugin"] =
@@ -1432,6 +1506,8 @@
    "Zusatzprogramme";
 $locale["PopularNearby"] =
    "MeistBesuchtNahe";
+$locale["PopularTags"] =
+   "BeliebteTags";
 $locale["Post new"] =
    "Neuer Eintrag";
 $locale["Posted: %s"] =
@@ -1464,6 +1540,8 @@
    "Voriger Monat";
 $locale["Previous Revision"] =
    "Vorige Neubearbeitung";
+$locale["Printable version"] =
+   "Druckversion";
 $locale["Printer"] =
    "Drucker";
 $locale["Propagate new permissions to all subpages?"] =
@@ -1546,6 +1624,12 @@
    "Verwandte Links";
 $locale["RelatedChanges"] =
    "Verlinktenderungen";
+$locale["Relation"] =
+   "Beziehung";
+$locale["Relation %s to page %s"] =
+   "Beziehung %s auf Seite %s";
+$locale["Relations"] =
+   "Beziehungen";
 $locale["Remove"] =
    "Lschen";
 $locale["Remove Page"] =
@@ -1580,14 +1664,18 @@
    "'%s' mit '%s' in Seite '%s' ersetzt.";
 $locale["Reply"] =
    "Antwort";
+$locale["Required argument %s missing"] =
+   "Erforderlicher Parameter %s fehlt.";
 $locale["Requires WikiAdmin privileges to edit."] =
    "Verlangt Administratorenrechte zur Bearbeitung.";
 $locale["Reset"] =
    "Zurcksetzen";
 $locale["Reset password of user: "] =
-   "Setze Passwort von Benutzer zurck: ";
+   "Setze Passwort fr Benutzer zurck: ";
 $locale["Restore Anyway"] =
    "Ungeprft berschreiben";
+$locale["Retransform page '%s'"] =
+   "Retransform Seite '%s'";
 $locale["Return to %s"] =
    "Zurck zu %s";
 $locale["Revert"] =
@@ -1602,6 +1690,8 @@
    "ErweiterteTabellen";
 $locale["RichTablePlugin"] =
    "ErweiterteTabellenPlugin";
+$locale["SKIP"] =
+   "AUSLASSEN";
 $locale["SOAP access"] =
    "SOAP-Zugriff";
 $locale["SandBox"] =
@@ -1624,6 +1714,8 @@
    "Durchsuche ein LDAP Verzeichnis";
 $locale["Search and replace text in selected wiki pages."] =
    "Suche und ersetze Text in den gewhlten Seiten.";
+$locale["Search for"] =
+   "Suche nach";
 $locale["Search for page titles similar to %s."] =
    "Suche nach Seitentitel die hnlich klingen wie %s.";
 $locale["Search string '%s' not found in content of page '%s'."] =
@@ -1632,6 +1724,8 @@
    "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["See %s"] =
@@ -1662,8 +1756,16 @@
    "Ausgewhlte Seiten: ";
 $locale["Selected page '%s' passed to '%s'."] =
    "Ausgewhlte Seite %s an %s bergeben.";
+$locale["Semantic relations for %s"] =
+   "Semantische Beziehungen fr %s";
+$locale["SemanticRelations"] =
+   "SemantischeBeziehungen";
+$locale["SemanticSearch"] =
+   "SemantischeSuche";
+$locale["SemanticSearchAdvanced"] =
+   "SemantischeSucheErweitert";
 $locale["Send email"] =
-   "Sende EMail";
+   "Versende E-Mail";
 $locale["Serialized file %s"] =
    "Serialisierte Datei %s";
 $locale["Set Password"] =
@@ -1708,8 +1810,6 @@
    "Abmelden";
 $locale["Signed Users"] =
    "Angemeldete Benutzer";
-$locale["Signed as %s"] =
-   "Angemeldet as %s";
 $locale["Simple RSS Feed aggregator Plugin"] =
    "Einfaches RSS Feed Plugin";
 $locale["Simple Sample Plugin"] =
@@ -1762,6 +1862,8 @@
    "Gltigkeit:";
 $locale["String \"%s\" not found."] =
    "Zeichenkette \"%s\" nicht gefunden.";
+$locale["Sub"] =
+   "Unter";
 $locale["SubPages of %s:"] =
    "Unterseiten von %s:";
 $locale["Submit"] =
@@ -1772,10 +1874,12 @@
    "Land eingeben";
 $locale["Subpage"] =
    "Unterseite";
-$locale["Substring \"%s\" found %s times. Replace with \"%s\"?"] =
-   "Substring \"%s\" %s mal gefunden. Ersetze mit \"%s\"?";
+$locale["Substring \"\\1\" found \\2 times. Replace with \"\\3\"?"] =
+   "Substring \"\\1\" \\2 mal gefunden. Ersetze mit \"\\3\"?";
 $locale["Summary"] =
    "Zusammenfassung";
+$locale["Sup"] =
+   "ber";
 $locale["Supplanted on:"] =
    "Ersetzt am:";
 $locale["Support moderated pages"] =
@@ -1798,14 +1902,16 @@
    "SyntaxHervorhebung";
 $locale["Table Of Contents"] =
    "Inhaltsverzeichnis";
-$locale["TeX directory not writable."] =
+$locale["Table of content"] =
+   "Inhaltsverzeichnis";
+$locale["TeX imagepath not writable."] =
    "Keine Schreibrechte fr das TeX Verzeichnis.";
 $locale["Template"] =
    "Benutzeroberflche";
+$locale["TemplateTalk"] =
+   "VorlageDiskussion";
 $locale["TermsOfUse"] =
    "BenutzungsBedingungen";
-$locale["TextFormattingRules"] =
-   "TextFormatierungsRegeln";
 $locale["Thank you for editing %s."] =
    "Danke fr das Bearbeiten von %s.";
 $locale["Thanks for adding this translation!"] =
@@ -1858,6 +1964,8 @@
    "Die jngste %s innerhalb des letzten Tages sind unten aufgelistet.";
 $locale["The newest registered user is %s."] =
    "Wir haben insgesamt %d registrierte Benutzer.";
+$locale["The page %s is already watched!"] =
+   "Die Seite %s wird bereits beobachtet!";
 $locale["The requested information is available only to Administrators."] =
    "Diese Information ist nur fr Administratoren zugnglich.";
 $locale["The result of this poll so far:"] =
@@ -1888,10 +1996,18 @@
    "Diese Seite wurde vom Systemadministrator gesperrt und kann nicht bearbeitet werden.";
 $locale["This page has been locked by the administrator so your changes can not be saved."] =
    "Diese Seite wurde vom Administrator fr die allgemeine Bearbeitung gesperrt. Ihre nderungen knnen deshalb nicht gespeichert werden.";
+$locale["Those"] =
+   "Diese";
 $locale["Time Zone"] =
    "Zeitzone";
 $locale["Title"] =
    "Titel";
+$locale["Title 1"] =
+   "berschrift 1";
+$locale["Title 2"] =
+   "berschrift 2";
+$locale["Title 3"] =
+   "berschrift 3";
 $locale["Title Search"] =
    "TitelSuche";
 $locale["Title search results for '%s'"] =
@@ -1912,6 +2028,8 @@
    "Obere u. untere Werkzeugleisten";
 $locale["Top Recommendations"] =
    "Beste Bewertungungen";
+$locale["Topic"] =
+   "Thema";
 $locale["Total %d plugins: "] =
    "%d Gesamte Zusatzprogramme: ";
 $locale["Total of %d languages: "] =
@@ -1952,8 +2070,6 @@
    "Konnte LDAP Server %s nicht finden";
 $locale["Unable to find src='%s'"] =
    "Konnte src='%s' nicht lesen";
-$locale["Unable to load: %s"] =
-   "Konnte %s nicht laden";
 $locale["Unable to open directory '%s' for reading"] =
    "Konnte Verzeichnis %s nicht zum Lesen ffnen";
 $locale["Unable to read src='%s'"] =
@@ -2002,6 +2118,10 @@
    "Hochladen";
 $locale["Upload File"] =
    "Datei Hochladen";
+$locale["Upload file"] =
+   "Datei Hochladen";
+$locale["Upload images or media files"] =
+   "Datei oder Bilder hochladen";
 $locale["Uploading %s"] =
    "%s wird hochgeladen";
 $locale["Uploading failed."] =
@@ -2026,10 +2146,14 @@
    "BenutzerEinstellungen";
 $locale["UserRatings"] =
    "BenutzerBewertungen";
+$locale["Username"] =
+   "Benutzername";
 $locale["Users will not be able to sign in."] =
    "Benutzer werden sich nicht anmelden knnen.";
 $locale["Using directory '%s'"] =
    "Das Verzeichnis %s wird verwendet";
+$locale["Verbatim"] =
+   "Unformatiert";
 $locale["Verification Status"] =
    "Besttigungs-Status";
 $locale["Verify the current action"] =
@@ -2068,24 +2192,22 @@
    "ACHTUNG: Die InterWikiListe Seite ist ungesperrt. Ignoriert.";
 $locale["Wanted From"] =
    "Bentigt von";
-$locale["Wanted Pages for %s (%d total):"] =
-   "WunschZettelSeiten fr %s (%d gesamt):";
 $locale["Wanted Pages for %s:"] =
    "WunschZettelSeiten fr %s:";
-$locale["Wanted Pages in this wiki (%d total):"] =
-   "WunschZettelSeiten in diesem Wiki (%d gesamt):";
 $locale["Wanted Pages in this wiki:"] =
    "WunschZettelSeiten in diesem Wiki:";
 $locale["WantedPages"] =
    "WunschZettelSeiten";
-$locale["Warning!"] =
-   "Achtung!";
 $locale["Warning:"] =
    "Achtung:";
 $locale["Warning: The search string cannot be empty!"] =
    "Achtung! Das Suchwort darf nicht leer sein!";
 $locale["Warning: You are editing an old revision."] =
    "Achtung: Sie bearbeiten eine alte Version.";
+$locale["Watch"] =
+   "Beobachte";
+$locale["WatchPage"] =
+   "BeobachteSeite";
 $locale["We have a total of %d registered users."] =
    "Wir haben insgesamt %d registrierte Benutzer.";
 $locale["Welcome to %s!\nYour email account is verified and\nwill be used to send page change notifications.\nSee %s"] =
@@ -2124,8 +2246,8 @@
    "WikiAdminAclSetzen";
 $locale["WikiAdminUtils"] =
    "WikiAdminUtils";
-$locale["WikiAdminUtils says:"] =
-   "WikiAdminUtils sagt:";
+$locale["WikiAdminUtils %s returned:"] =
+   "WikiAdminUtils %s gibt zurck:";
 $locale["WikiBlog"] =
    "WikiBlog";
 $locale["WikiBlogPlugin"] =
@@ -2148,6 +2270,8 @@
    "Wikiname regexp";
 $locale["With the current offset, this would be reported as %s."] =
    "Mit dem eingegebenen Zeit-Unterschied, wrde die Zeit %s angezeigt.";
+$locale["Wk"] =
+   "Wo";
 $locale["World"] =
    "Welt";
 $locale["Wrong password. Try again."] =
@@ -2178,6 +2302,8 @@
    "Sie mssen Administratorrechte haben, um dieses Zusatzprogramm zu benutzen.";
 $locale["You must be logged in to view ratings."] =
    "Sie mssen sich anmelden um die Bewertungen zu sehen.";
+$locale["You must log in first"] =
+   "Sie mssen sich zuerst anmelden";
 $locale["You must log in to %s."] =
    "Sie mssen sich anmelden %s.";
 $locale["You must sign in to %s."] =
@@ -2186,10 +2312,8 @@
    "Sie mssen zum Sichern ein Verzeichnis angeben.";
 $locale["You must wait for moderator approval."] =
    "Sie mssen auf die Zustimmung des Moderators warten.";
-$locale["You need to ask an Administrator to reset this password. See below: "] =
-   "Sie mssen einen Administrator bitten, das Passwort zurckzusetzen. Siehe unten: ";
-$locale["You searched for: "] =
-   "Sie suchten nach: ";
+$locale["You need to specify the userid!"] =
+   "Sie mssen 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:"] =
@@ -2230,6 +2354,10 @@
    "[nicht entfernbar]";
 $locale["[purged]"] =
    "[entfernt]";
+$locale["_AuthInfo"] =
+   "_AuthentifizierungsInfo";
+$locale["_GroupInfo"] =
+   "DebugGruppenInfo";
 $locale["_WikiTranslation"] =
    "_Wikibersetzung";
 $locale["access this wiki via SOAP"] =
@@ -2256,8 +2384,12 @@
    "Gro-/Kleinschreibung beachten";
 $locale["change page '%s' to markup type '%s'."] =
    "Formatierung der Seite '%s' auf '%s' gendert.";
+$locale["check for %s"] =
+   "prfe %s";
 $locale["check for ACCESS_LOG_SQL passwords in POST requests"] =
    "prfe auf ACCESS_LOG_SQL Passwrter in POST Requests";
+$locale["check for ACCESS_LOG_SQL remote_host varchar(50)"] =
+   "prfe auf ACCESS_LOG_SQL remote_host varchar(50)";
 $locale["check for mysql 4.1.x/5.0.0 binary search on windows problem"] =
    "prfe auf mysql 4.1.x/5.0.0 Binrsuch-Problem (nur Windows)";
 $locale["check for mysql LOCK TABLE privilege"] =
@@ -2286,6 +2418,8 @@
    "um diese Seite zu erzeugen";
 $locale["current version"] =
    "aktuelle Version";
+$locale["database"] =
+   "Datenbank";
 $locale["days"] =
    "Tage";
 $locale["default page permission"] =
@@ -2302,6 +2436,8 @@
    "um von diesem Wiki HTML-Dateien lokal abzuspeichern";
 $locale["dump serial pages"] =
    "um von diesem Wiki die Seiten lokal abzuspeichern";
+$locale["e-mail address confirmation"] =
+   "E-Mail Adress Besttigung";
 $locale["edit area"] =
    "Texteingabe Fenster";
 $locale["edit this page"] =
@@ -2310,8 +2446,14 @@
    "nderungen";
 $locale["empty source"] =
    "fehlender Quelltext";
+$locale["file %s is not writable"] =
+   "Datei %s ist nicht beschreibbar";
+$locale["file %s not found"] =
+   "Datei %s nicht gefunden";
 $locale["fixed"] =
    "Gendert";
+$locale["fixed with"] =
+   "Gendert mit";
 $locale["from"] =
    "von";
 $locale["from %s"] =
@@ -2326,6 +2468,8 @@
    "Start Seite";
 $locale["hours"] =
    "Stunden";
+$locale["incoming"] =
+   "hereinkommend";
 $locale["invalid %s ignored"] =
    "ungltiges %s ignoriert";
 $locale["invalid argument %s"] =
@@ -2364,6 +2508,8 @@
    "k.A.";
 $locale["name"] =
    "Name";
+$locale["new pages"] =
+   "neue Seiten";
 $locale["new&nbsp;window"] =
    "neues&nbsp;Fenster";
 $locale["newer than the existing page."] =
@@ -2390,12 +2536,18 @@
    "optionaler Name | SeitenName";
 $locale["optional label | http://www.example.com"] =
    "optionaler Name | http://www.example.com";
+$locale["outgoing"] =
+   "ausgehend";
+$locale["page not locked"] =
+   "Seite nicht gesperrt";
 $locale["page permission inherited from %s"] =
    "Zugriffsrecht geerbt von %s";
 $locale["period"] =
    "Version %d.";
 $locale["plain file %s"] =
    "Nur-Text-Datei %s";
+$locale["plugin argument"] =
+   "Plugin Parameter";
 $locale["predecessor to the previous major change"] =
    "Vorgnger zur vorherigen greren nderung";
 $locale["previous revision"] =
@@ -2410,6 +2562,10 @@
    "Regulrer Ausdruck";
 $locale["remove this page"] =
    "um diese Seite zu lschen";
+$locale["rename %s to %s"] =
+   "%s umbenennen nach %s";
+$locale["rename to Help: pages"] =
+   "In Help: Seiten umbenennen";
 $locale["renamed from %s"] =
    "umbenannt von %s";
 $locale["revert to a previous version of this page"] =
@@ -2418,12 +2574,18 @@
    "Speichere Version %d zurck.";
 $locale["revision by previous author"] =
    "Revidierte Ausgabe des vorigen Autors";
+$locale["same content"] =
+   "gleicher Inhalt";
 $locale["same version page"] =
    "selbe Version der Seite";
 $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'"] =
diff -ruN 1.3.12p3/locale/de/pgsrc/AlteTextFormatierungsRegeln 1.3.14/locale/de/pgsrc/AlteTextFormatierungsRegeln
--- 1.3.12p3/locale/de/pgsrc/AlteTextFormatierungsRegeln	2006-06-18 06:19:29.000000000 -0500
+++ 1.3.14/locale/de/pgsrc/AlteTextFormatierungsRegeln	2007-07-01 05:11:11.000000000 -0500
@@ -1,6 +1,6 @@
 Date: Sat, 8 Jan 2005 22:55:20 +0100
 Mime-Version: 1.0 (Produced by PhpWiki 1.3.11pre-20041223)
-X-Rcs-Id: $Id: AlteTextFormatierungsRegeln,v 1.3 2005/01/08 22:41:43 rurban Exp $
+X-Rcs-Id: $Id: AlteTextFormatierungsRegeln,v 1.4 2005/09/27 17:31:25 rurban Exp $
 Content-Type: application/x-phpwiki;
   pagename=AlteTextFormatierungsRegeln;
   flags=PAGE_LOCKED;
@@ -14,7 +14,7 @@
 <strong>Listen:</strong>~* fr Rasterpunkte u. Ebenen, # fr numerierte Listen, <em><strong>;</strong> Das Wort <strong>:</strong> Die Wortbestimmung</em> fr glossarhnliche Listen.%%%
 <strong>Querverweise:</strong> in ~GrobuchstabenZusammenschreiben oder in eckige Klammern setzen ~[ein Link] oder URL ~[~http://cool.wiki.int/].%%%
 <strong>Funoten:</strong> Benutze ~[1],~[2],~[3],... wie diese hier #[|ftnt_ref_1]<sup>~[[1|#ftnt_1]~]</sup>. Siehe Funoten fr das Ziel. (If the ~[ is in the first column, it is a footnote <em>definition</em> rather than a footnote <em>reference</em>.)
-<strong>Links verhindern:</strong> das Wort mit einem ~! beginnen: ~!~NichtLinken, Links so angeben: ~[~[Text | URL] (zweimal [). Beachte, da bei den neuen TextFormatierungsRegeln das Zeichen ~~ verwendet wird.%%%
+<strong>Links verhindern:</strong> das Wort mit einem ~! beginnen: ~!~NichtLinken, Links so angeben: ~[~[Text | URL] (zweimal [). Beachte, dass bei den neuen TextFormatierungsRegeln das Zeichen ~~ verwendet wird.%%%
 <strong>Verschiedenes:</strong> ~!, ~!~!, ~!~!~! fr berschriften, %%<em></em>% fr Zeilenvorschubzeichen, u. ---<em></em>- zeichnet eine Linie.%%%
 <strong>Tabellen:</strong> | in der ersten Zeile, | fr weitere Spalten, |> rechtsbndig, |< linksbndig, |^ zentriert (Vorgabe), || span columns, |v span rows
 
@@ -113,4 +113,4 @@
 #[|ftnt_1]~[[1|#ftnt_ref_1]~]  By using ~[1] a second time (in the first column) the footnote itself is <em>defined</em>.  You may refer to a footnote as many times as you want, but you may only define it once on the page.  Note the the ~[1] in the footnote links back to the first reference, if there are multiple references there will be +'s after the ~[1] which will link to the other references.  (References which come <em>after</em> the footnote <em>definition</em> will not be linked to.)
 
 ----
-PhpWikiDokumentation
\ No newline at end of file
+PhpWikiDokumentation
diff -ruN 1.3.12p3/locale/de/pgsrc/AutorenProtokollPlugin 1.3.14/locale/de/pgsrc/AutorenProtokollPlugin
--- 1.3.12p3/locale/de/pgsrc/AutorenProtokollPlugin	2006-06-18 06:19:29.000000000 -0500
+++ 1.3.14/locale/de/pgsrc/AutorenProtokollPlugin	1969-12-31 18:00:00.000000000 -0600
@@ -1,57 +0,0 @@
-Date: Sun, 4 Jan 2004 17:18:08 -0500
-Mime-Version: 1.0 (Produced by PhpWiki 1.3.8)
-X-Rcs-Id: $Id: AutorenProtokollPlugin,v 1.1 2004/03/11 12:26:55 rurban Exp $
-Content-Type: application/x-phpwiki;
-  pagename=AutorenProtokollPlugin;
-  pgsrc_version="2 $Revision: 1.1 $";
-  flags="";
-  markup=2;
-  charset=iso-8859-1
-Content-Transfer-Encoding: binary
-
-Liste aller Versionen eines Autors mit Diff-Links, oder eine SeitenProtokoll-hnliche Liste einer oder aller (page=all) Seiten nur fr einen Autor.
-
-Dieses experimentelle WikiPlugin erlaubt nur die nderungen eines bestimmten Autors anzuzeigen; man kann auch das Protokoll fr eine spezielle Seite bestimmen, die Vorgabe ist das Protokoll fr die aktuelle Seite. Carsten sagt: _EXPERIMENTAL PLUGIN Needs a lot of work! Use at your own risk._
-
-<verbatim>
-<?plugin AuthorHistory page=StartSeite ?>
-
-<?plugin AuthorHistory page=all author="test" ?>
-</verbatim>
-
-Das erste Beispiel zeigt alle nderungen der Seite "StartSeite" fr jeweils andere Benutzer,
-das zweite Beispiel alle nderungen des Autors "test" im gesamten Wiki.
-
-!! Benutzung
-
-<verbatim>
-<?plugin AuthorHistory page=StartSeite ?>
-</verbatim> 
-
-ergibt:
-<?plugin AuthorHistory page=StartSeite ?>
-
-----
-
-!! Argumente
-
-__author__ |
-  Benutzername. Vorgabe: aktueller Benutzername
-__page__ |
-  Seitenname.  Vorgabe: aktuelle Seite. 
-  Besondere Werte: page=username: page=author, page=all: Liste aller Seiten mit nderungen dieses Benutzers.
-__info__|
-  Liste der Spaltentypen. Vorgabe: version,minor,author,summary,mtime
-  Beispiel: info=mtime,hits,summary,version,author,locked,minor
-__exclude__ |
-  Komma-getrennte Liste von Seiten, die nicht angezeigt werden sollen. Vorgabe: ''
-__noheader__ |
-  boolean. Vorgabe: false
-__includeminor__ |
-  boolean. Vorgabe: false
-__includedeleted__ |
-  boolean. Vorgabe: false
-
-----
-
-PhpWikiDokumentation
diff -ruN 1.3.12p3/locale/de/pgsrc/BeobachteSeite 1.3.14/locale/de/pgsrc/BeobachteSeite
--- 1.3.12p3/locale/de/pgsrc/BeobachteSeite	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/locale/de/pgsrc/BeobachteSeite	2007-07-01 05:11:11.000000000 -0500
@@ -0,0 +1,12 @@
+Date: Sat, 2 Dec 2006 14:25:30 +0100
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: BeobachteSeite,v 1.1 2007/01/03 21:28:28 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=BeobachteSeite;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+<?plugin WatchPage ?>
\ No newline at end of file
diff -ruN 1.3.12p3/locale/de/pgsrc/DebugAuthInfo 1.3.14/locale/de/pgsrc/DebugAuthInfo
--- 1.3.12p3/locale/de/pgsrc/DebugAuthInfo	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/locale/de/pgsrc/DebugAuthInfo	2007-07-01 05:11:12.000000000 -0500
@@ -0,0 +1,13 @@
+Date: Tue, 2 Jan 2007 13:30:17 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: DebugAuthInfo,v 1.1 2007/01/03 21:28:28 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=DebugAuthInfo;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags=LOCKED;
+  markup=2;
+  acl="view:_AUTHENTICATED; edit:_AUTHENTICATED; create:_AUTHENTICATED,_BOGOUSER; list:_AUTHENTICATED; remove:_ADMIN,_OWNER; change:_ADMIN,_OWNER; dump:_EVERY";
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+<?plugin _AuthInfo ?>
\ No newline at end of file
diff -ruN 1.3.12p3/locale/de/pgsrc/DebugGruppenInfo 1.3.14/locale/de/pgsrc/DebugGruppenInfo
--- 1.3.12p3/locale/de/pgsrc/DebugGruppenInfo	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/locale/de/pgsrc/DebugGruppenInfo	2007-07-01 05:11:12.000000000 -0500
@@ -0,0 +1,13 @@
+Date: Tue, 2 Jan 2007 13:30:17 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: DebugGruppenInfo,v 1.1 2007/01/03 21:28:28 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=DebugGruppenInfo;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags=LOCKED;
+  markup=2;
+  acl="view:_AUTHENTICATED; edit:_AUTHENTICATED; create:_AUTHENTICATED,_BOGOUSER; list:_AUTHENTICATED; remove:_ADMIN,_OWNER; change:_ADMIN,_OWNER; dump:_EVERY";
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+<?plugin _GroupInfo ?>
diff -ruN 1.3.12p3/locale/de/pgsrc/GuterStil 1.3.14/locale/de/pgsrc/GuterStil
--- 1.3.12p3/locale/de/pgsrc/GuterStil	2006-06-18 06:19:29.000000000 -0500
+++ 1.3.14/locale/de/pgsrc/GuterStil	2007-07-01 05:11:12.000000000 -0500
@@ -1,18 +1,18 @@
 Date: Fri, 24 Oct 2003 18:09:11 +0200
 Mime-Version: 1.0 (Produced by PhpWiki 1.3.5pre)
-X-Rcs-Id: $Id: GuterStil,v 1.8 2003/11/17 22:37:45 carstenklapp Exp $
+X-Rcs-Id: $Id: GuterStil,v 1.9 2005/09/27 17:31:25 rurban Exp $
 Content-Type: application/x-phpwiki;
   pagename=GuterStil;
-  pgsrc_version="2 $Revision: 1.8 $";
+  pgsrc_version="2 $Revision: 1.9 $";
   flags="";
   charset=iso-8859-1
 Content-Transfer-Encoding: binary
 
-"Junge Schreiber glauben oft, da Stil die Sauce fr das Fleisch der
+"Junge Schreiber glauben oft, dass Stil die Sauce fr das Fleisch der
 Prosa ist. Eine Sauce, die das fade Gericht erst schmackhaft
 macht. Stil besitzt aber nicht diese Qualitt. Stil ist unteilbar,
 nicht filterbar. Der Anfnger sollte in seiner Suche nach seinem Stil
-vorsichtig vorgehen. Sich bewut sein, da er es ist dem er sich
+vorsichtig vorgehen. Sich bewusst sein, dass er es ist dem er sich
 nhert und nicht seinem Stil. Und er sollte tunlichst eine groen
 Bogen um alle Eigenheiten machen, die gewhnlicherweise Stil
 indizieren--alle Manierismen, Tricks und Verzierungen. Der richtig
diff -ruN 1.3.12p3/locale/de/pgsrc/HalloWeltPlugin 1.3.14/locale/de/pgsrc/HalloWeltPlugin
--- 1.3.12p3/locale/de/pgsrc/HalloWeltPlugin	2006-06-18 06:19:29.000000000 -0500
+++ 1.3.14/locale/de/pgsrc/HalloWeltPlugin	1969-12-31 18:00:00.000000000 -0600
@@ -1,83 +0,0 @@
-Date: Sat, 15 Nov 2003 17:23:27 -0500
-Mime-Version: 1.0 (Produced by PhpWiki 1.3.8)
-X-Rcs-Id: $Id: HalloWeltPlugin,v 1.2 2004/02/26 23:21:33 rurban Exp $
-Content-Type: application/x-phpwiki;
-  pagename=HalloWeltPlugin;
-  pgsrc_version="2 $Revision: 1.2 $";
-  flags="";
-  markup=2;
-  charset=iso-8859-1
-Content-Transfer-Encoding: binary
-
-Ein einfaches Beispiels-Plugin.
-
-<?plugin HelloWorld salutation="Hallo," name="WikiUser" ?>
-
-Vom Quellcode dieser Seite:
-
-<verbatim>
-<?plugin HelloWorld salutation="Hallo," name="WikiUser" ?>
-</verbatim>
-
------
-PhpWiki's Plugin Architektur erlaubt dir benutzerdefinierte HTML Elemente deinem Wiki hinzuzufgen. Du mut nur eine neue Klasse (Unterklasse) von der ~WikiPlugin Klasse ableiten, wie mit dem Namen unterhalb, und mit der run() Methode ja nach Wiki- oder Request Argumenten die HTML Ausgabe zu erzeugen. 
-
-* Entweder man erzeugt sie ber die HTML Klassen, 
-* oder ber ein Template (Vorlage). Templates sind unbersichtlicher, und Verleiten zum Erzeugen von ungltigem XHTML code, sind aber leichter anpassbar.
-
-<?plugin PhpHighlight
-
-/**
- * Ein einfaches Beispiels-WikiPlugin. 
- * Name, Argumente und Texte bitte auf englisch, und erst in locale/po/de.po
- * auf Deutsch bersetzen.
- *
- * Aufruf:
- * <?plugin HelloWorld?&gt;
- * <?plugin HelloWorld
- *          salutation="Gre, "
- *          name=Wikimeister
- * ? >
- * <?plugin HelloWorld salutation=Hallo ? >
- * <?plugin HelloWorld name=WabiSabi ? >
- */
-
-// Konstanten vor der Klasse definieren.
-if (!defined('THE_END'))
-    define('THE_END', "!");
-
-class WikiPlugin_HelloWorld
-extends WikiPlugin
-{
-    // Fnf notwendige Funktionen in einem WikiPlugin.
-
-    function getName () {
-        return _("HelloWorld");
-    }
-
-    function getDescription () {
-        return _("Simple Sample Plugin");
-    }
-
-    function getVersion() {
-        return preg_replace("/[Revision: $]/", '',
-                            "\$Revision: 1.2 $");
-    }
-
-    // Establish default values for each of this plugin's arguments.
-    function getDefaultArguments() {
-        return array('salutation' => "Hello,",
-                     'name'       => "World");
-    }
-
-    function run($dbi, $argstr, $request) {
-        extract($this->getArgs($argstr, $request));
-
-        // Any text that is returned will not be further transformed,
-        // so use html where necessary.
-        $html = HTML::tt(fmt('%s: %s', $salutation, WikiLink($name, 'auto')),
-                         THE_END);
-        return $html;
-    }
-};
-?>
diff -ruN 1.3.12p3/locale/de/pgsrc/Hilfe%2FAktionsSeite 1.3.14/locale/de/pgsrc/Hilfe%2FAktionsSeite
--- 1.3.12p3/locale/de/pgsrc/Hilfe%2FAktionsSeite	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/locale/de/pgsrc/Hilfe%2FAktionsSeite	2007-07-01 05:11:12.000000000 -0500
@@ -0,0 +1,16 @@
+Date: Tue, 2 Jan 2007 13:30:17 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Hilfe%2FAktionsSeite,v 1.1 2007/01/04 16:47:52 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Hilfe%2FAktionsSeite;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+<?plugin IncludePage page=Hilfe/WikiPlugin section="Aktions Seiten"
+
+----
+
+PhpWikiDokumentation
diff -ruN 1.3.12p3/locale/de/pgsrc/Hilfe%2FAutorenProtokollPlugin 1.3.14/locale/de/pgsrc/Hilfe%2FAutorenProtokollPlugin
--- 1.3.12p3/locale/de/pgsrc/Hilfe%2FAutorenProtokollPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/locale/de/pgsrc/Hilfe%2FAutorenProtokollPlugin	2007-07-01 05:11:12.000000000 -0500
@@ -0,0 +1,57 @@
+Date: Sun, 4 Jan 2004 17:18:08 -0500
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.8)
+X-Rcs-Id: $Id: Hilfe%2FAutorenProtokollPlugin,v 1.1 2007/01/03 21:28:51 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Hilfe%2FAutorenProtokollPlugin;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+Liste aller Versionen eines Autors mit Diff-Links, oder eine SeitenProtokoll-hnliche Liste einer oder aller (page=all) Seiten nur fr einen Autor.
+
+Dieses experimentelle Hilfe:WikiPlugin erlaubt nur die nderungen eines bestimmten Autors anzuzeigen; man kann auch das Protokoll fr eine spezielle Seite bestimmen, die Vorgabe ist das Protokoll fr die aktuelle Seite. Carsten sagt: _EXPERIMENTAL PLUGIN Needs a lot of work! Use at your own risk._
+
+<verbatim>
+<?plugin AuthorHistory page=StartSeite ?>
+
+<?plugin AuthorHistory page=all author="test" ?>
+</verbatim>
+
+Das erste Beispiel zeigt alle nderungen der Seite "StartSeite" fr jeweils andere Benutzer,
+das zweite Beispiel alle nderungen des Autors "test" im gesamten Wiki.
+
+!! Benutzung
+
+<verbatim>
+<?plugin AuthorHistory page=StartSeite ?>
+</verbatim> 
+
+ergibt:
+<?plugin AuthorHistory page=StartSeite ?>
+
+----
+
+!! Argumente
+
+__author__ |
+  Benutzername. Vorgabe: aktueller Benutzername
+__page__ |
+  Seitenname.  Vorgabe: aktuelle Seite. 
+  Besondere Werte: page=username: page=author, page=all: Liste aller Seiten mit nderungen dieses Benutzers.
+__info__|
+  Liste der Spaltentypen. Vorgabe: version,minor,author,summary,mtime
+  Beispiel: info=mtime,hits,summary,version,author,locked,minor
+__exclude__ |
+  Komma-getrennte Liste von Seiten, die nicht angezeigt werden sollen. Vorgabe: ''
+__noheader__ |
+  boolean. Vorgabe: false
+__includeminor__ |
+  boolean. Vorgabe: false
+__includedeleted__ |
+  boolean. Vorgabe: false
+
+----
+
+PhpWikiDokumentation
diff -ruN 1.3.12p3/locale/de/pgsrc/Hilfe%2FGraphVizPlugin 1.3.14/locale/de/pgsrc/Hilfe%2FGraphVizPlugin
--- 1.3.12p3/locale/de/pgsrc/Hilfe%2FGraphVizPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/locale/de/pgsrc/Hilfe%2FGraphVizPlugin	2007-07-01 05:11:12.000000000 -0500
@@ -0,0 +1,51 @@
+Date: Tue, 2 Jan 2007 13:30:17 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Hilfe%2FGraphVizPlugin,v 1.1 2007/01/03 21:28:51 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Hilfe%2FGraphVizPlugin;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+! Beispiel
+
+<verbatim>
+<?plugin GraphViz
+digraph automata_0 {
+	size ="8.5, 11";
+	node [shape = circle];
+	0 [ style = filled, color=lightgrey ];
+	2 [ shape = doublecircle ];
+	0 -> 2 [ label = "a " ];
+	0 -> 1 [ label = "other " ];
+	1 -> 2 [ label = "a " ];
+	1 -> 1 [ label = "other " ];
+	2 -> 2 [ label = "a " ];
+	2 -> 1 [ label = "other " ];
+	"Machine: a" [ shape = plaintext ];
+}
+?>
+</verbatim>
+
+wird angezeigt als
+
+<?plugin GraphViz
+digraph automata_0 {
+	size ="8.5, 11";
+	node [shape = circle];
+	0 [ style = filled, color=lightgrey ];
+	2 [ shape = doublecircle ];
+	0 -> 2 [ label = "a " ];
+	0 -> 1 [ label = "other " ];
+	1 -> 2 [ label = "a " ];
+	1 -> 1 [ label = "other " ];
+	2 -> 2 [ label = "a " ];
+	2 -> 1 [ label = "other " ];
+	"Machine: a" [ shape = plaintext ];
+}
+?>
+
+----
+PhpWikiDokumentation Hilfe:WikiPlugin
\ No newline at end of file
diff -ruN 1.3.12p3/locale/de/pgsrc/Hilfe%2FHalloWeltPlugin 1.3.14/locale/de/pgsrc/Hilfe%2FHalloWeltPlugin
--- 1.3.12p3/locale/de/pgsrc/Hilfe%2FHalloWeltPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/locale/de/pgsrc/Hilfe%2FHalloWeltPlugin	2007-07-01 05:11:12.000000000 -0500
@@ -0,0 +1,86 @@
+Date: Sat, 15 Nov 2003 17:23:27 -0500
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.8)
+X-Rcs-Id: $Id: Hilfe%2FHalloWeltPlugin,v 1.1 2007/01/03 21:28:51 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Hilfe%2FHalloWeltPlugin;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+Ein einfaches Beispiels-Plugin.
+
+<?plugin HelloWorld salutation="Hallo," name="WikiUser" ?>
+
+Vom Quellcode dieser Seite:
+
+<verbatim>
+<?plugin HelloWorld salutation="Hallo," name="WikiUser" ?>
+</verbatim>
+
+-----
+PhpWiki's Plugin Architektur erlaubt dir benutzerdefinierte HTML Elemente deinem Wiki hinzuzufgen. Du mut nur eine neue Klasse (Unterklasse) von der ~WikiPlugin Klasse ableiten, wie mit dem Namen unterhalb, und mit der run() Methode ja nach Wiki- oder Request Argumenten die HTML Ausgabe zu erzeugen. 
+
+* Entweder man erzeugt sie ber die HTML Klassen, 
+* oder ber ein theme Template (Vorlage). Templates sind unbersichtlicher, und Verleiten zum 
+  Erzeugen von ungltigem XHTML code, sind aber leichter anpassbar.
+
+<?plugin PhpHighlight
+
+/**
+ * Ein einfaches Beispiels-WikiPlugin. 
+ * Name, Argumente und Texte bitte auf englisch, und erst in locale/po/de.po
+ * auf Deutsch bersetzen.
+ *
+ * Aufruf:
+ * <?plugin HelloWorld?&gt;
+ * <?plugin HelloWorld
+ *          salutation="Gre, "
+ *          name=Wikimeister
+ * ? >
+ * <?plugin HelloWorld salutation=Hallo ? >
+ * <?plugin HelloWorld name=WabiSabi ? >
+ */
+
+// Konstanten vor der Klasse definieren.
+if (!defined('THE_END'))
+    define('THE_END', "!");
+
+class WikiPlugin_HelloWorld
+extends WikiPlugin
+{
+    // Fnf notwendige Funktionen in einem WikiPlugin.
+
+    function getName () {
+        return _("HelloWorld");
+    }
+
+    function getDescription () {
+        return _("Simple Sample Plugin");
+    }
+
+    function getVersion() {
+        return preg_replace("/[Revision: $]/", '',
+                            "\$Revision: 1.1 $");
+    }
+
+    // Establish default values for each of this plugin's arguments.
+    function getDefaultArguments() {
+        return array('salutation' => "Hello,",
+                     'name'       => "World");
+    }
+
+    function run($dbi, $argstr, $request) {
+        extract($this->getArgs($argstr, $request));
+
+        // Any text that is returned will not be further transformed,
+        // so use html where necessary.
+        $html = HTML::tt(fmt('%s: %s', $salutation, WikiLink($name, 'auto')),
+                         THE_END);
+        return $html;
+    }
+};
+?>
+----
+PhpWikiDokumentation Hilfe:WikiPlugin
diff -ruN 1.3.12p3/locale/de/pgsrc/Hilfe%2FHochLadenPlugin 1.3.14/locale/de/pgsrc/Hilfe%2FHochLadenPlugin
--- 1.3.12p3/locale/de/pgsrc/Hilfe%2FHochLadenPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/locale/de/pgsrc/Hilfe%2FHochLadenPlugin	2007-07-01 05:11:12.000000000 -0500
@@ -0,0 +1,55 @@
+Date: Thu, 10 Jun 2004 04:48:06 -0700
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.11)
+X-Rcs-Id: $Id: Hilfe%2FHochLadenPlugin,v 1.1 2007/01/03 21:28:51 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Hilfe%2FHochLadenPlugin;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+Das HochLaden Hilfe:WikiPlugin zeigt eine Eingabebox und zwei Knpfe. 
+Mit dem ersten Knopf "Durchsuchen..." kann man eine Datei aus dem 
+lokalem Dateisystem auswhlen, die man hochladen mchte. 
+Der Textwert dieses Knopfes ("Durchsuchen...") hngt von Ihrem Browser ab. 
+Der zweite "HochLaden" Knopf ldt die Datei dann in das upload Verzeichnis auf dem 
+Server hoch.
+Der Inhalt dieses Verzeichnis ist geheim, jede Datei dort kann mit dem "Upload~:" 
+[InterWikiKarte]n Prefix zum Dateinamen verwendet werden.
+So knnen Sie z.B. leicht hochgeladene Bilder anzeigen. Siehe PhpWiki:InlineUploadedImages
+
+! Benutzung:
+<verbatim>
+     <?plugin UpLoad ?>
+</verbatim>
+
+!! Argumente:
+__logfile__:
+  Lokaler Pfad. Vorgabe: "phpwiki-upload.log"
+  Das Format ist momentan HTML - eine neue <tr> Zeile per Datei - und nicht die sonst bliche 
+  Log Datei Syntax.
+__autolink__:
+  Fge den hochgeladene Dateinamen zur Liste der hochgeladenen Dateien auf der Seite 'page' dazu.
+  Vorgabe: true
+__page__:
+  Die Seite auf der hochgeladene Dateien aufgelistet werden, wenn 'autolink' 
+  auf true gesetzt ist. 
+  Vorgabe: current page.
+
+! Probleme:
+
+# The user must be authenticated to be able to upload.
+# The filename may not end with certain disallowed extensions, to prevent from abuse.
+# MAX_FILE_SITE is configured by the config.ini option MAX_UPLOAD_SIZE, which defaults to 16MB.
+  Your webserver and php may add another limit.
+# Already existing uploaded files are NOT overwritten.
+# Certain internal php problems for Windows and MacOSX have been fixed with 1.3.9.
+
+----
+
+! Beispiel:
+<?plugin UpLoad ?>
+
+----
+PhpWikiDokumentation Hilfe:WikiPlugin
diff -ruN 1.3.12p3/locale/de/pgsrc/Hilfe%2FInhaltsVerzeichnisPlugin 1.3.14/locale/de/pgsrc/Hilfe%2FInhaltsVerzeichnisPlugin
--- 1.3.12p3/locale/de/pgsrc/Hilfe%2FInhaltsVerzeichnisPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/locale/de/pgsrc/Hilfe%2FInhaltsVerzeichnisPlugin	2007-07-01 05:11:12.000000000 -0500
@@ -0,0 +1,46 @@
+Date: Tue, 2 Jan 2007 13:30:17 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Hilfe%2FInhaltsVerzeichnisPlugin,v 1.1 2007/01/03 21:28:51 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Hilfe%2FInhaltsVerzeichnisPlugin;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+<?plugin CreateToc jshide||=1 ?>
+
+Hilfe:WikiPlugin um ein dynamisches *Inhaltsverzeichnis* aller berschriften anzuzeigen. Seit v1.3.8
+
+!! Benutzung
+
+<verbatim>
+     <?plugin CreateToc ?>
+     <?plugin CreateToc jshide||=1 with_toclink||=1 ?>
+</verbatim>
+
+!! Argumente
+
+__jshide__: |
+  Bool'sche Variable, ob das Inhaltsverzeichnis (TOC) zuerst versteckt sein soll, und erst auf Klick erscheint. Vorgabe: 0
+__with_toclink__:  |
+  Bool'sche Variable, ob die berschriften zum TOC zurck linken sollen. Vorgabe: 0
+__with_counter__:  |
+  Bool'sche Variable, ob hierarchische Prefixes verwendet sollen. Vorgabe: nein
+__headers__:  |
+  Welche berschriften?  Vorgabe: !!!,!!,!    1,2,3 auch erlaubt
+__noheader__:  |
+  Bool'sche Variable, ob die "Inhaltsverzeichnis" h2 berschrift weggelassen soll. Vorgabe: 0
+__liststyle__:  |
+  dl oder ol oder ul. Vorgabe: dl
+__indentstr__:  |
+  Vorgabe: &nbsp;&nbsp;
+__pagename__:  |
+  TOC welcher Seite? Vorgabe: Aktueller Seitenname
+
+!! Beispiele
+
+Siehe zB. TextFormatierungsRegeln
+----
+PhpWikiDokumentation Hilfe:WikiPlugin
diff -ruN 1.3.12p3/locale/de/pgsrc/Hilfe%2FNeuerKommentarPlugin 1.3.14/locale/de/pgsrc/Hilfe%2FNeuerKommentarPlugin
--- 1.3.12p3/locale/de/pgsrc/Hilfe%2FNeuerKommentarPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/locale/de/pgsrc/Hilfe%2FNeuerKommentarPlugin	2007-07-01 05:11:12.000000000 -0500
@@ -0,0 +1,41 @@
+Date: Tue, 2 Jan 2007 13:30:17 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.8)
+X-Rcs-Id: $Id: Hilfe%2FNeuerKommentarPlugin,v 1.1 2007/01/03 21:28:51 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=NeuerKommentarPlugin;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+<?plugin CreateToc jshide||=1 ?>
+
+Hilfe:WikiPlugin um Benutzer Kommentare zu Seiten ans Ende einer Seite anhngen zu lassen. Seit v1.3.8.
+Anpassungs des Layouts ber die Vorlagen comment.tmpl und addcomment.tmpl, und die CSS Klassen
+wikicomment, wikicomment-header, wikicomment-body, wikicomment-footer
+
+!! Benutzung
+
+<verbatim>
+     <?plugin AddComment order||=normal jshide||=0 mode||=show,add noheader||=0 ?>
+</verbatim>
+
+!! Argumente
+
+__jshide__: |
+  Bool'sche Variable, ob die Kommentare oder Eingabe-Textbox zuerst versteckt sein soll, und erst auf Klick erscheint. Vorgabe: 0
+__order__:  |
+  Liste Kommentare in chronologischer (order=normal) oder umgekehrter Reihenfolge (order=reverse)
+__mode__:  |
+  Liste von "add" und/oder "show".  Vorgabe: "add,show"
+__noheader__:  |
+  Bool'sche Variable, ob die "Kommentare" h2 berschrift weggelassen soll. Vorgabe: 0
+__pagename__:  |
+  Hnge Kommentare an welche Seite an? Vorgabe: Aktueller Seitenname
+
+!! Beispiele
+
+<?plugin AddComment jshide||=1 ?>
+----
+PhpWikiDokumentation Hilfe:WikiPlugin
diff -ruN 1.3.12p3/locale/de/pgsrc/Hilfe%2FNeueSeitePlugin 1.3.14/locale/de/pgsrc/Hilfe%2FNeueSeitePlugin
--- 1.3.12p3/locale/de/pgsrc/Hilfe%2FNeueSeitePlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/locale/de/pgsrc/Hilfe%2FNeueSeitePlugin	2007-07-01 05:11:12.000000000 -0500
@@ -0,0 +1,53 @@
+Date: Wed, 16 Jun 2004 14:50:15 +0200
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.11pre)
+X-Rcs-Id: $Id: Hilfe%2FNeueSeitePlugin,v 1.1 2007/01/03 21:28:51 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Hilfe%2FNeueSeitePlugin;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags=PAGE_LOCKED;
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+WikiPlugin um leicht neue Seiten zu erzeugen, optional mit vorgegebenem Inhalt. Seit v1.3.8
+
+Sie knnen den neuen Seitennamen von einer Eingabebox bekommen, optional mit 
+neuem Inhalt von einer bestehenden Vorgabe oder Kategorieseite.
+
+Schreibe "<~?plugin-form ~CreatePage ?~>" in eine Seite, zeige diese Seite an, 
+gebe den Namen der neuen Seite an und klicke auf den NeueSeite Knopf.
+
+!! Benutzung
+<verbatim>
+     <?plugin-form CreatePage ?>
+     <?plugin-form CreatePage template=KategorieStartSeite ?>
+</verbatim>
+
+!! Argumente
+__s__: |
+  Der Name fr die neue Seite. Vorgabe: ""
+__initial_content__:  |
+  Die neue Seite wird mit diesem Inhalt erzeugt. Vorgabe: ""
+__template__:  |
+  Die neue Seite wird mit dem Inhalt dieser Seite erzeugt. Vorgabe: ""
+
+!! Bekannte Probleme
+
+Keine
+
+!! Plne
+
+The content might hold some variables, which will be expanded on creation. 
+The syntax is not clear yet.
+
+!! Autor
+
+Dan Frankowski
+
+!! Beispiel
+
+<?plugin-form CreatePage s=MyHomePage ?>
+
+Siehe auch PhpWiki:EasilyCreateNewPages 
+----
+PhpWikiDokumentation Hilfe:WikiPlugin
diff -ruN 1.3.12p3/locale/de/pgsrc/Hilfe%2FPhotoAlbumPlugin 1.3.14/locale/de/pgsrc/Hilfe%2FPhotoAlbumPlugin
--- 1.3.12p3/locale/de/pgsrc/Hilfe%2FPhotoAlbumPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/locale/de/pgsrc/Hilfe%2FPhotoAlbumPlugin	2007-07-01 05:11:12.000000000 -0500
@@ -0,0 +1,134 @@
+Date: Tue, 20 Sep 2005 20:18:39 +0100
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.12pre-20050918)
+Content-Type: application/x-phpwiki;
+  pagename=Hilfe%2FPhotoAlbumPlugin;
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+!!! Zusammenfassung
+Zeigt eine Liste von Bilder aus einer Definitionsdatei mit optionaler Beschreibung als Album an. 
+
+!!! Benutzung 
+<verbatim>
+<?plugin PhotoAlbum
+         src=http://server/textfile
+         mode=[column|row]
+         align=[center|left|right]
+         desc=true
+         sort=false
+         height=100%
+         width=100%
+         weblocation=>false
+?>
+</verbatim>
+
+!!! Argumente
+_Nur der ='src'= Parameter ist verpflichtend._
+
+*src*:
+  Url or local path to a CSV textfile which separates filename and 
+  description of each photo. Photos listed in the text file have to be in same
+  directory as the file. Descriptions are optional.
+  If the the local path points to a directory, is relative from PHPWIKI_DIR, 
+  and the main script is in PHPWIKI_DIR, weblocation must not be given, and 
+  all pictures from this directory are displayed.
+
+*url*: 
+  defines the the webpath to the srcdir directory (formerly called weblocation)
+
+*mode*:
+  Specifies how the images are arranged.
+
+  * "normal" - Normal table which shows photos full-size
+  * "thumbs" - WinXP thumbnail style
+  * "tiles"  - WinXP tiles style
+  * "list"   - WinXP list style
+  * "slide"  - slideshow mode, needs javascript on client
+
+*showdesc*:
+  "none"   - No descriptions next to photos %%%
+  "name"   - Only filename shown %%%
+  "desc"   - Only description (from textfile) shown %%%
+  "both"   - If no description found, then filename will be used %%%
+
+*link*: 
+  true or false
+  If true, each image will be hyperlinked to a page where the single 
+  photo will be shown full-size. Only works when mode != 'normal'
+
+*align*:
+  center|right|left. Default is ='center'=.
+
+*desc*:
+  Display any descriptions given in the text file. Default is true.
+
+*sort*:
+  Sort images by file name. By default the order in the text file is
+  followed.
+
+*bgcolor*:
+  Default: #eae8e8  cell bgcolor (lightgrey)
+
+*hlcolor*:
+  Default: #c0c0ff  highlight color (lightblue)
+
+*height*, *width*:
+  Height and width are calculated compared to original metrics
+  retrieved by [php-function:getimagesize] and can be absolute (50px) 
+  or a percentage (e.g. "50%").
+
+*attrib*:
+  attrib arg allows multiple attributes: attrib=sort,nowrap,alt
+  'sort' sorts alphabetically, 'nowrap' for cells, 'alt' to use
+  descs instead of filenames in image ALT-tags
+
+*cellwidth*:
+  cell (auto|equal|image|75|100%)
+
+  Width of cells in table. Either absolute value in pixels, HTML
+  style percentage, "auto" (no special action), "equal" (where
+  all columns are equally sized) or "image" (take height and
+  width of the photo in that cell).
+
+*tablewidth*: (Optional)
+  table (75|100%)
+
+*p*:    (Optional)
+  "displaythissinglephoto.jpg" only
+
+*h*: (Optional)
+  "highlightcolorofthisphoto.jpg" only
+
+!!! Beispiele
+!! Textdatei
+Mglicher Inhalt einer Definitionsdatei:
+
+<verbatim>
+photo-01.jpg; Meine Freundin und Ich
+photo-02.jpg
+christmas.gif; Frohe Weihnachten!
+</verbatim>
+
+!! Beispiel Alben
+Lokales Verzeichnis:
+<?plugin PhotoAlbum
+         src="themes/Hawaiian/images/pictures/"
+?>
+oder via externe URL:
+<verbatim>
+<?plugin PhotoAlbum
+         src="http://phpwiki.sourceforge.net/demo/themes/Hawaiian/images/pictures/PhotoAlbum.csv"
+</verbatim>
+?>
+
+[ /Diashow ]
+
+!!! Plugin Autoren
+* [Ted Vinke|mailto:teddy@jouwfeestje.com] Originaler Autor
+* [ReiniUrban|PhpWiki:ReiniUrban] Lokales Dateisystem
+* [ThomasHarding|PhpWiki:ThomasHarding] Diashow und thumbs
+
+----
+PhpWikiDokumentation Hilfe:WikiPlugin
diff -ruN 1.3.12p3/locale/de/pgsrc/Hilfe%2FPhotoAlbumPlugin%2EDiashow 1.3.14/locale/de/pgsrc/Hilfe%2FPhotoAlbumPlugin%2EDiashow
--- 1.3.12p3/locale/de/pgsrc/Hilfe%2FPhotoAlbumPlugin%2EDiashow	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/locale/de/pgsrc/Hilfe%2FPhotoAlbumPlugin%2EDiashow	2007-07-01 05:11:12.000000000 -0500
@@ -0,0 +1,19 @@
+Date: Tue, 2 Jan 2007 13:30:17 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Hilfe%2FPhotoAlbumPlugin%2EDiashow,v 1.1 2007/01/03 21:29:36 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Hilfe%2FPhotoAlbumPlugin%2FDiashow;
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+[ Back | PhotoAlbumPlugin ]
+
+<?plugin PhotoAlbum
+         src="themes/Hawaiian/images/pictures/"
+         mode=slide
+         duration=1
+?>
+----
+PhpWikiDokumentation
diff -ruN 1.3.12p3/locale/de/pgsrc/Hilfe%2FVorlagePlugin 1.3.14/locale/de/pgsrc/Hilfe%2FVorlagePlugin
--- 1.3.12p3/locale/de/pgsrc/Hilfe%2FVorlagePlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/locale/de/pgsrc/Hilfe%2FVorlagePlugin	2007-07-01 05:11:12.000000000 -0500
@@ -0,0 +1,87 @@
+Date: Tue, 2 Jan 2007 13:30:17 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Hilfe%2FVorlagePlugin,v 1.1 2007/01/03 21:28:51 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Hilfe%2FVorlagePlugin;
+  pgsrc_version="1 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+!! Synopsis
+
+Vorlage = Parametrische Blcke.
+
+Include text from a wiki page and replace certain placeholders by parameters.
+Similiar to CreatePage with the template argument, but at run-time.
+
+Similiar to the mediawiki templates but not with the "|" parameter seperator. 
+Note: The mediawiki syntax is also supported.
+
+!! Usage
+<verbatim>
+  <?plugin Template page=Template/Footer?>
+
+  <?plugin Template page=Template/Film vars="title=SomeFilm&year=1999" ?>
+
+  {{Template/Film|title=SomeFilm|year=1999}}
+</verbatim>
+
+!! Plugin Argumente
+Argument|
+  Vorgabewert|
+    Beschreibung
+
+page|
+  (empty)|
+    pagename to be included as template
+
+vars|
+  (empty)|
+    optional parameters to be expanded inside the template
+
+! Parameter expansion:
+  vars="var1=value1&var2=value2"
+
+We only support named parameters, not numbered ones as in mediawiki, and 
+the placeholder is %%var%% and not {{~{var~}}} as in mediawiki.
+
+The following predefined variables are automatically expanded if existing:
+<verbatim>
+  pagename
+  mtime     - last modified date + time
+  ctime     - creation date + time
+  author    - last author
+  owner     
+  creator   - first author
+  SERVER_URL, DATA_PATH, SCRIPT_NAME, PHPWIKI_BASE_URL and BASE_URL
+</verbatim>
+
+<noinclude> .. </noinclude> is stripped
+
+! In work:
+* ENABLE_MARKUP_TEMPLATE = true: (lib/InlineParser.php)
+  Support a mediawiki-style syntax extension which maps 
+<verbatim>
+    {{Template/Film|title=Some Good Film|year=1999}}
+</verbatim>
+  to 
+<verbatim>
+    <?plugin Template page=Template/Film vars="title=Some Good Film&year=1999" ?>
+</verbatim>
+
+!! Examples
+
+<verbatim>
+  <?plugin Template page=Vorlage/Beispiel vars="title=TestTitle" ?>
+</verbatim>
+
+Standard syntax:
+  <?plugin Template page=Vorlage/Beispiel vars="title=TestTitle" ?>
+
+Shorter syntax:
+  {{Vorlage/Beispiel|title=TestTitel}}
+
+-------------
+PhpWikiDokumentation Hilfe:WikiPlugin
diff -ruN 1.3.12p3/locale/de/pgsrc/Hilfe%2FWikiPlugin 1.3.14/locale/de/pgsrc/Hilfe%2FWikiPlugin
--- 1.3.12p3/locale/de/pgsrc/Hilfe%2FWikiPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/locale/de/pgsrc/Hilfe%2FWikiPlugin	2007-07-01 05:11:12.000000000 -0500
@@ -0,0 +1,183 @@
+Date: Sun, 27 Jan 2002 17:28:55 -0500
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.2-jeffs-hacks)
+X-Rcs-Id: $Id: Hilfe%2FWikiPlugin,v 1.1 2007/01/03 21:28:51 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Hilfe%2FWikiPlugin;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+Since PhpWiki-1.3.3 support for ~WikiPlugins is included.
+
+A plugin is some PHP code that
+
+* lives in =phpwiki/lib/plugin/<pluginname>.php=
+* implements the ~WikiPlugin interface by extending that class.
+
+There are many plugins already distributed with PhpWiki. Simply look in the =lib/plugin=
+directory or see the PluginManager list.
+
+To write your own, look at the HelloWorldPlugin (~HelloWorld.php in that directory), 
+which is a minimal example of a plugin.
+Publish your self-written plugin at a new PhpWiki page with ~PluginName + *Plugin* appended 
+and add a link to [CategoryContributedPlugin | PhpWiki:CategoryContributedPlugin].
+
+A Help:WikiPlugin allows one to easily add new types of dynamic content 
+(as well as other functionality) to wiki pages within PhpWiki.
+In this very wiki all actions which are not entirely lowercased
+are implemented using plugins, and some lowercased convenience actions also. (rename, revert, setacl, diff, ...)
+
+(The old-style  Help:MagicPhpWikiURLs have been replaced by plugins entirely.)
+
+!!!Example
+
+Currently, one invokes a plugin by putting something like:
+
+<verbatim>
+<?plugin AllPages limit=5?>
+</verbatim>
+
+into a regular wiki-page.  That particular example produces a list of
+the first 5 existing pages (via the ~PageList library).
+
+<?plugin AllPages limit=5 ?>
+
+!!!Details
+
+Plugins can take certain named arguments (most do).  The values of
+these arguments can be determined four different ways.  In order of
+precedence:
+
+# The plugin invocation can specify the value for an argument, like so:
+  <verbatim>
+  <?plugin BackLinks page=OtherPage ?>
+  </verbatim>
+
+# The argument can be specified via an HTTP query argument.  This
+  doesn't happen (is not allowed) unless the argument is mentioned in
+  the plugin invocation:
+
+  <verbatim>
+  <?plugin BackLinks page ?>
+  </verbatim>
+
+# Default values specified in the plugin invocation:
+
+  <verbatim>
+  <?plugin BackLinks page||=OtherPage ?>
+  </verbatim>
+
+# The plugin must supply default values for each argument it uses.
+  Such default args may be overriden by URL arguments like so: 
+  <verbatim>
+    BackLinks?page=ThisPage&sortby=-mtime
+  </verbatim>
+  (The BackLinks plugin uses the current page as the default value for
+  the ''page'' argument.)
+
+  Most plugins using the ~PageListLibrary inherit their default arguments 
+  from the PhpWiki:PageListLibrary.
+
+!! Standard Arguments
+
+Most plugins display a list of pages, via the ~PageListLibrary.
+~PageList provides automatic support for those arguments.
+
+  info, exclude, author, owner, creator, sortby, limit, paging, cols, azhead,
+  comma, commasep, ordered
+
+  For details see the PhpWiki:PageListLibrary documentation.
+
+*exclude* and *pages* accept a list of pages. Either as comma-seperated list,
+supporting glob-style wildcards, or via the <tt><!plugin-list pluginname ~[args~] !></tt>
+invocation syntax, where pluginname might be any plugin returning a pagelist.
+See PhpWiki:PluginList.
+
+!! Basic Plugin Types
+
+All these plugins derive from the Help:WikiPlugin class extending the run method,
+which returns a object tree of HTML objects, and may react on any
+provided arguments from the ~WikiPage (see the args below) or
+optionally overridden by arguments from the url (GET or POST args), 
+if defined via '||='.
+
+A basic plugin just needs the run() method, and optionally getName, 
+getDescription, getVersion, getDefaultArguments. See the Help:HelloWorldPlugin for a short introduction.
+
+  *plugin* reacts on its arguments and the request and displays arbitrary HTML.
+
+  *plugin-form* is used to display a input type=text box for the default argument *s*.
+
+  *plugin-list* is used as argument to provide a dynamic list of pagenames.
+
+  <verbatim>
+    <?plugin PluginName  Help:s ...] ?>
+  </verbatim>
+
+  <verbatim>
+    <?plugin-form PluginName  Help:s ...] ?>
+  </verbatim>
+
+  <verbatim>
+    <?plugin PluginName args=<!plugin-list pluginname  Help:s ] !> ?>
+  </verbatim>
+
+! The box Method
+
+Themes based on the "sidebar" theme may use the box method of any plugin, which displays a *title* 
+and a condensed *content* in a box.
+
+! ~WikiPluginCached
+
+Plugins deriving from the class ~WikiPluginCached must also define the methods getPluginType(), 
+optionally getExpire(), managesValidators(), and dependent of the getPluginType the methods 
+to display the *possibly cached* result.
+
+  getImage(), getMap() or getHtml(), 
+
+optionally also
+
+  getAlt(), getImageType(), embedMap(), embedImg(), embedObject()
+
+See the config.ini PLUGIN_CACHED_* settings and PhpWiki:WikiPluginCached
+
+!! Aktions Seiten
+
+The term *~ActionPage* refers to a page containing a plugin invocation.
+An *action* is together with the *pagename* argument the a basic PhpWiki argument. 
+It can both be GET or POST actions. Actions are untranslated, always english. 
+Basic (and old) actions are all lowercase, like edit, browse, remove, ...
+Newer actions in PhpWiki:CamelCase are invoked via plugins on their specific action page.
+
+We decoupled actions from plugins via action pages for the following reasons:
+
+# support translated action buttons and customizable action descriptions. 
+# customize standard actions by tuning the plugin invocation arguments. override or add plugin defaults.
+# split simple plugins into multiple actions, like RecentChanges/RecentEdits, MostPopular/LeastPopular, 
+  AllPages/AllPagesCreatedByMe/AllPagesLastEditedByMe/AllPagesOwnedByMe which differ only in one argument.
+
+* Those actions which have buttons or links in the theme or are referenced in the standard pgsrc 
+  pageset require their (possibly localized) actionpages, otherwise the actions will not work.
+* If the localized actionpage is not found the english version is used.
+* If no actionpage is found, it is recommended to do action=upgrade, which imports all missing 
+  and required action pages into the database.
+
+So for a hypothetical new ~MyActionPage plugin ~MyActionPage will invoke the plugin and 
+~MyActionPagePlugin is the the description.
+
+!!! Existing Plugins
+
+See PluginManager for a detailed list. Most plugins should have their own description page with the name 
+*Plugin* appended.
+
+<?plugin BackLinks noheader=1 ?>
+
+!!! Contributed Plugins 
+
+See PhpWiki:CategoryContributedPlugin.
+
+<?plugin Backlinks page=CategoryContributedPlugin ?>
+
+-----
+PhpWikiDokumentation
\ No newline at end of file
diff -ruN 1.3.12p3/locale/de/pgsrc/HochLadenPlugin 1.3.14/locale/de/pgsrc/HochLadenPlugin
--- 1.3.12p3/locale/de/pgsrc/HochLadenPlugin	2006-06-18 06:19:29.000000000 -0500
+++ 1.3.14/locale/de/pgsrc/HochLadenPlugin	1969-12-31 18:00:00.000000000 -0600
@@ -1,55 +0,0 @@
-Date: Thu, 10 Jun 2004 04:48:06 -0700
-Mime-Version: 1.0 (Produced by PhpWiki 1.3.11)
-X-Rcs-Id: $Id: HochLadenPlugin,v 1.1 2004/06/17 10:51:22 rurban Exp $
-Content-Type: application/x-phpwiki;
-  pagename=HochLadenPlugin;
-  pgsrc_version="2 $Revision: 1.1 $";
-  flags="";
-  markup=2;
-  charset=iso-8859-1
-Content-Transfer-Encoding: binary
-
-Das HochLaden WikiPlugin zeigt eine Eingabebox und zwei Knpfe. 
-Mit dem ersten Knopf "Durchsuchen..." kann man eine Datei aus dem 
-lokalem Dateisystem auswhlen, die man hochladen mchte. 
-Der Textwert dieses Knopfes ("Durchsuchen...") hngt von Ihrem Browser ab. 
-Der zweite "HochLaden" Knopf ldt die Datei dann in das upload Verzeichnis auf dem 
-Server hoch.
-Der Inhalt dieses Verzeichnis ist geheim, jede Datei dort kann mit dem "Upload~:" 
-[InterWikiKarte]n Prefix zum Dateinamen verwendet werden.
-So knnen Sie z.B. leicht hochgeladene Bilder anzeigen. Siehe PhpWiki:InlineUploadedImages
-
-! Benutzung:
-<verbatim>
-     <?plugin UpLoad ?>
-</verbatim>
-
-!! Argumente:
-__logfile__:
-  Lokaler Pfad. Vorgabe: "phpwiki-upload.log"
-  Das Format ist momentan HTML - eine neue <tr> Zeile per Datei - und nicht die sonst bliche 
-  Log Datei Syntax.
-__autolink__:
-  Fge den hochgeladene Dateinamen zur Liste der hochgeladenen Dateien auf der Seite 'page' dazu.
-  Vorgabe: true
-__page__:
-  Die Seite auf der hochgeladene Dateien aufgelistet werden, wenn 'autolink' 
-  auf true gesetzt ist. 
-  Vorgabe: current page.
-
-! Probleme:
-
-# The user must be authenticated to be able to upload.
-# The filename may not end with certain disallowed extensions, to prevent from abuse.
-# MAX_FILE_SITE is configured by the config.ini option MAX_UPLOAD_SIZE, which defaults to 16MB.
-  Your webserver and php may add another limit.
-# Already existing uploaded files are NOT overwritten.
-# Certain internal php problems for Windows and MacOSX have been fixed with 1.3.9.
-
-----
-
-! Beispiel:
-<?plugin UpLoad ?>
-
-----
-PhpWikiDokumentation
\ No newline at end of file
diff -ruN 1.3.12p3/locale/de/pgsrc/InhaltsVerzeichnisPlugin 1.3.14/locale/de/pgsrc/InhaltsVerzeichnisPlugin
--- 1.3.12p3/locale/de/pgsrc/InhaltsVerzeichnisPlugin	2006-06-18 06:19:29.000000000 -0500
+++ 1.3.14/locale/de/pgsrc/InhaltsVerzeichnisPlugin	1969-12-31 18:00:00.000000000 -0600
@@ -1,48 +0,0 @@
-Date: Sat, 13 Mar 2004 11:26:41 +0100
-Mime-Version: 1.0 (Produced by PhpWiki 1.3.8)
-X-Rcs-Id: $Id: InhaltsVerzeichnisPlugin,v 1.1 2004/03/17 15:05:44 rurban Exp $
-Content-Type: application/x-phpwiki;
-  pagename=InhaltsVerzeichnisPlugin;
-  pgsrc_version="2 $Revision: 1.1 $";
-  flags="";
-  markup=2;
-  charset=iso-8859-1
-Content-Transfer-Encoding: binary
-
-<?plugin CreateToc jshide||=1 ?>
-
-WikiPlugin um ein dynamisches *Inhaltsverzeichnis* aller berschriften anzuzeigen. Seit v1.3.8
-
-!! Benutzung
-
-<verbatim>
-     <?plugin CreateToc ?>
-     <?plugin CreateToc jshide||=1 with_toclink||=1 ?>
-</verbatim>
-
-!! Argumente
-
-__jshide__: |
-  Bool'sche Variable, ob das Inhaltsverzeichnis (TOC) zuerst versteckt sein soll, und erst auf Klick erscheint. Vorgabe: 0
-__with_toclink__:  |
-  Bool'sche Variable, ob die berschriften zum TOC zurck linken sollen. Vorgabe: 0
-__headers__:  |
-  Welche berschriften?  Vorgabe: !!!,!!,!    1,2,3 auch erlaubt
-__noheader__:  |
-  Bool'sche Variable, ob die "Inhaltsverzeichnis" h2 berschrift weggelassen soll. Vorgabe: 0
-__liststyle__:  |
-  dl oder ol oder ul. Vorgabe: dl
-__indentstr__:  |
-  Vorgabe: &nbsp;&nbsp;
-__pagename__:  |
-  TOC welcher Seite? Vorgabe: Aktueller Seitenname
-
-!! Bekannte Probleme
-
-Wenn eine berschrift einen Link oder eine WikiWort enthlt, erzeugt ~CreateToc eine Warnung und diese berschrift wird falsch verlinkt.
-
-!! Beispiele
-
-Siehe zB. TextFormattingRules
-----
-PhpWikiDokumentation
diff -ruN 1.3.12p3/locale/de/pgsrc/InterWikiKarte 1.3.14/locale/de/pgsrc/InterWikiKarte
--- 1.3.12p3/locale/de/pgsrc/InterWikiKarte	2006-06-18 06:19:30.000000000 -0500
+++ 1.3.14/locale/de/pgsrc/InterWikiKarte	1969-12-31 18:00:00.000000000 -0600
@@ -1,12 +0,0 @@
-Date: Sat, 3 Feb 2002 17:28:00 -0500
-Mime-Version: 1.0 (Produced by PhpWiki 1.3.3-jeffs-hacks)
-X-Rcs-Id: $Id: InterWikiKarte,v 1.2 2002/03/02 22:32:06 carstenklapp Exp $
-Content-Type: application/x-phpwiki;
-  pagename=InterWikiKarte;
-  flags=PAGE_LOCKED;
-  pgsrc_version="2 $Revision: 1.2 $";
-  markup=2;
-  charset=iso-8859-1
-Content-Transfer-Encoding: binary
-
-Die InterWiki-Karte die in diesem Wiki benutzt wird, wird nachstehend aufgefhrt. Die Karte wird vom Text im verbatim Block unten genommen. (Dieses funktioniert aber nur wenn diese Seite gesperrt ist.)
diff -ruN 1.3.12p3/locale/de/pgsrc/InterWikiListe 1.3.14/locale/de/pgsrc/InterWikiListe
--- 1.3.12p3/locale/de/pgsrc/InterWikiListe	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/locale/de/pgsrc/InterWikiListe	2007-07-01 05:11:12.000000000 -0500
@@ -0,0 +1,16 @@
+Date: Thu, 10 Nov 2005 17:28:00 -0500
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.12)
+X-Rcs-Id: $Id: InterWikiListe,v 1.1 2007/01/03 21:29:14 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=InterWikiListe;
+  flags=PAGE_LOCKED;
+  pgsrc_version="2 $Revision: 1.1 $";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+Liste aller InterWiki Namen und URLs, die in diesem Wiki
+benutzt wird.  Diese Liste wird vom Text im *verbatim* Block
+unten genommen. Das funktioniert aber nur wenn diese Seite
+gesperrt ist, sonst wird die Standardliste von
+lib/interwiki.map genommen.
diff -ruN 1.3.12p3/locale/de/pgsrc/LinkSuche 1.3.14/locale/de/pgsrc/LinkSuche
--- 1.3.12p3/locale/de/pgsrc/LinkSuche	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/locale/de/pgsrc/LinkSuche	2007-07-01 05:11:12.000000000 -0500
@@ -0,0 +1,12 @@
+Date: Tue, 2 Jan 2007 13:30:17 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: LinkSuche,v 1.1 2007/01/03 21:28:28 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=LinkSuche;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags=PAGE_LOCKED;
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+<?plugin LinkSearch ?>
\ No newline at end of file
diff -ruN 1.3.12p3/locale/de/pgsrc/ListeRelationen 1.3.14/locale/de/pgsrc/ListeRelationen
--- 1.3.12p3/locale/de/pgsrc/ListeRelationen	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/locale/de/pgsrc/ListeRelationen	2007-07-01 05:11:12.000000000 -0500
@@ -0,0 +1,12 @@
+Date: Tue, 2 Jan 2007 13:30:17 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: ListeRelationen,v 1.1 2007/01/03 21:28:28 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=ListeRelationen;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags=PAGE_LOCKED;
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+<?plugin ListRelations ?>
\ No newline at end of file
diff -ruN 1.3.12p3/locale/de/pgsrc/NeuerKommentarPlugin 1.3.14/locale/de/pgsrc/NeuerKommentarPlugin
--- 1.3.12p3/locale/de/pgsrc/NeuerKommentarPlugin	2006-06-18 06:19:30.000000000 -0500
+++ 1.3.14/locale/de/pgsrc/NeuerKommentarPlugin	1969-12-31 18:00:00.000000000 -0600
@@ -1,41 +0,0 @@
-Date: Sat, 13 Mar 2004 11:26:41 +0100
-Mime-Version: 1.0 (Produced by PhpWiki 1.3.8)
-X-Rcs-Id: $Id: NeuerKommentarPlugin,v 1.1 2004/03/17 15:05:44 rurban Exp $
-Content-Type: application/x-phpwiki;
-  pagename=NeuerKommentarPlugin;
-  pgsrc_version="2 $Revision: 1.1 $";
-  flags="";
-  markup=2;
-  charset=iso-8859-1
-Content-Transfer-Encoding: binary
-
-<?plugin CreateToc jshide||=1 ?>
-
-WikiPlugin um Benutzer Kommentare zu Seiten ans Ende einer Seite anhngen zu lassen. Seit v1.3.8.
-Anpassungs des Layouts ber die Vorlagen comment.tmpl und addcomment.tmpl, und die CSS Klassen
-wikicomment, wikicomment-header, wikicomment-body, wikicomment-footer
-
-!! Benutzung
-
-<verbatim>
-     <?plugin AddComment order||=normal jshide||=0 mode||=show,add noheader||=0 ?>
-</verbatim>
-
-!! Argumente
-
-__jshide__: |
-  Bool'sche Variable, ob die Kommentare oder Eingabe-Textbox zuerst versteckt sein soll, und erst auf Klick erscheint. Vorgabe: 0
-__order__:  |
-  Liste Kommentare in chronologischer (order=normal) oder umgekehrter Reihenfolge (order=reverse)
-__mode__:  |
-  Liste von "add" und/oder "show".  Vorgabe: "add,show"
-__noheader__:  |
-  Bool'sche Variable, ob die "Kommentare" h2 berschrift weggelassen soll. Vorgabe: 0
-__pagename__:  |
-  Hnge Kommentare an welche Seite an? Vorgabe: Aktueller Seitenname
-
-!! Beispiele
-
-<?plugin AddComment jshide||=1 ?>
-----
-PhpWikiDokumentation
diff -ruN 1.3.12p3/locale/de/pgsrc/NeueSeitePlugin 1.3.14/locale/de/pgsrc/NeueSeitePlugin
--- 1.3.12p3/locale/de/pgsrc/NeueSeitePlugin	2006-06-18 06:19:30.000000000 -0500
+++ 1.3.14/locale/de/pgsrc/NeueSeitePlugin	1969-12-31 18:00:00.000000000 -0600
@@ -1,51 +0,0 @@
-Date: Wed, 16 Jun 2004 14:50:15 +0200
-Mime-Version: 1.0 (Produced by PhpWiki 1.3.11pre)
-X-Rcs-Id: $Id: NeueSeitePlugin,v 1.1 2004/06/16 14:24:55 rurban Exp $
-Content-Type: application/x-phpwiki;
-  pagename=NeueSeitePlugin;
-  pgsrc_version="2 $Revision: 1.1 $";
-  flags=PAGE_LOCKED;
-  markup=2;
-  charset=iso-8859-1
-Content-Transfer-Encoding: binary
-
-WikiPlugin um leicht neue Seiten zu erzeugen, optional mit vorgegebenem Inhalt. Seit v1.3.8
-
-Sie knnen den neuen Seitennamen von einer Eingabebox bekommen, optional mit 
-neuem Inhalt von einer bestehenden Vorgabe oder Kategorieseite.
-
-Schreibe "<~?plugin-form ~CreatePage ?~>" in eine Seite, zeige diese Seite an, 
-gebe den Namen der neuen Seite an und klicke auf den NeueSeite Knopf.
-
-!! Benutzung
-<verbatim>
-     <?plugin-form CreatePage ?>
-     <?plugin-form CreatePage template=KategorieStartSeite ?>
-</verbatim>
-
-!! Argumente
-__s__: |
-  Der Name fr die neue Seite. Vorgabe: ""
-__initial_content__:  |
-  Die neue Seite wird mit diesem Inhalt erzeugt. Vorgabe: ""
-__template__:  |
-  Die neue Seite wird mit dem Inhalt dieser Seite erzeugt. Vorgabe: ""
-
-!! Bekannte Probleme
-
-Keine
-
-!! Plne
-
-The content might hold some variables, which will be expanded on creation. 
-The syntax is not clear yet.
-
-!! Autor
-
-Dan Frankowski
-
-!! Beispiel
-
-<?plugin-form CreatePage s=MyHomePage ?>
-
-Siehe auch PhpWiki:EasilyCreateNewPages
diff -ruN 1.3.12p3/locale/de/pgsrc/PasswortZur%FCcksetzen 1.3.14/locale/de/pgsrc/PasswortZur%FCcksetzen
--- 1.3.12p3/locale/de/pgsrc/PasswortZur%FCcksetzen	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/locale/de/pgsrc/PasswortZur%FCcksetzen	2007-07-01 05:11:12.000000000 -0500
@@ -0,0 +1,25 @@
+Date: Wed, 11 Oct 2006 09:16:43 +0200
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: PasswortZur%FCcksetzen,v 1.1 2007/01/03 21:28:28 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=PasswortZur%FCcksetzen;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+Jeder Administrator darf jedes Passwort jedes Benutzers zurcksetzen oder lschen. Der Benutzer darf sich dann 
+z.B. mit einem leerem Passwort anmelden oder ein neues beim Anmelden vergeben.
+
+Ein normaler Benutzer darf nur sein eigenes Passwort zurcksetzen, wenn er seine E-Mail Addresse in den 
+BenutzerEinstellungen definiert hat. 
+Fr Benutzer mit undefinierter oder ungeprfter E-Mail Addresse mssen sie einen Administrator 
+benachrichtigen, um das Passwort zurcksetzen zu lassen.
+
+Authenticated users should change their passwords at their UserPreferences page.
+
+Achtung: Gewisse externe Authentifizierungsmethoden lassen keine Passwort nderung zu. Sie mssen das dann dort tun.
+----
+
+<?plugin PasswordReset ?>
diff -ruN 1.3.12p3/locale/de/pgsrc/PhpWikiSystemverwalten 1.3.14/locale/de/pgsrc/PhpWikiSystemverwalten
--- 1.3.12p3/locale/de/pgsrc/PhpWikiSystemverwalten	2006-06-18 06:19:30.000000000 -0500
+++ 1.3.14/locale/de/pgsrc/PhpWikiSystemverwalten	2007-07-01 05:11:12.000000000 -0500
@@ -1,10 +1,10 @@
-Date: Thu, 17 Jun 2004 13:22:00 +0200
-Mime-Version: 1.0 (Produced by PhpWiki 1.3.11pre)
-X-Rcs-Id: $Id: PhpWikiSystemverwalten,v 1.21 2004/06/19 12:14:33 rurban Exp $
+Date: Wed, 3 Jan 2007 18:08:55 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: PhpWikiSystemverwalten,v 1.23 2007/01/03 21:28:12 rurban Exp $
 Content-Type: application/x-phpwiki;
   pagename=PhpWikiSystemverwalten;
   flags=PAGE_LOCKED;
-  pgsrc_version="2 $Revision: 1.21 $";
+  pgsrc_version="2 $Revision: 1.23 $";
   markup=2;
   charset=iso-8859-1
 Content-Transfer-Encoding: binary
@@ -33,16 +33,28 @@
 ----
 !!! Benutzerverwaltung
 
-Die PhpWiki:EmailVerification ist momentan nicht strikt, d.h. einige mgliche falsche Ergebnisse der automatischen berprfung auf gltige E-Mail Addressen kann hier verwaltet werden.
 
-  Dieser Link zeigt eine Liste aller mit E-Mail registrierten Benutzer, und Haken um die Verifizierung manuell zu ndern.
+Setze ein Benutzer Passwort zurck:
+
+  <?plugin-form PasswordReset textinput=user method=post ?>
+
+Email Verification:
+
+  Die PhpWiki:EmailVerification ist momentan nicht strikt, d.h. einige mgliche falsche Ergebnisse der 
+  automatischen berprfung auf gltige E-Mail Addressen kann hier verwaltet werden. Manche Domains oder 
+  Email server knnen nicht automatisch berprft werden.
+
+  Dieser Link zeigt eine Liste aller mit E-Mail registrierten Benutzer, und Checkboxes um die 
+  Verifizierung manuell zu ndern.
 
   <?plugin WikiAdminUtils
            action=email-verification
            label="E-Mail Verifizierung"
    ?>
 
-To prevent from robots eating all possible ressources in a short time, blocking from certain IP's or not-well-behaving user agents can be defined below. See PhpWiki:HowToBlockRobots and MeatBall:SurgeProtector. _Note: Not yet enabled._
+Zugangsbeschrnkungen (disabled):
+
+  To prevent from robots eating all possible ressources in a short time, blocking from certain IP's or not-well-behaving user agents can be defined below. See PhpWiki:HowToBlockRobots and MeatBall:SurgeProtector. _Note: Not yet enabled._
 
   <?plugin WikiAdminUtils
            action=access-restrictions
@@ -84,7 +96,7 @@
   <?plugin WikiForm action=dumpserial?>
 
 Nur die neuesten Versionen aller Seiten wird als Einzeldatei in dieses
-Verzeichnis geschrieben. Beachte, da evtl. deine Benutzerrechte dazu
+Verzeichnis geschrieben. Beachte, dass evtl. deine Benutzerrechte dazu
 ausreichen mssen.
 
 -----------
@@ -206,5 +218,47 @@
            label="WikiDB Bereinigen"
    ?> 
 
+
+!! Clean WikiDB of empty and unreferenced pages
+
+  *Warning!* This button will delete every empty and unreferenced page, without any possibility to restore them again.
+  This will disable the possibility to revert or get back any deleted page.
+
+  <?plugin WikiAdminUtils
+           action=purge-empty-pages
+           label="Purge all empty unreferenced pages"
+   ?>
+
+!! Convert cached_html to new SQL column
+
+  This is only needed on SQL or ADODB if you didn't do action=upgrade, but created the 
+  new page.cached_html field seperately, and now you want to move this data from 
+  page.pagedata over to page.cached_html.
+
+  <?plugin WikiAdminUtils
+           action=convert-cached-html
+           label="Convert cached_html"
+   ?>
+
+
+!! Check WikiDB
+
+  This button will check the Wiki page database for consistency. This can last several minutes.
+
+  <?plugin WikiAdminUtils
+           action=db-check
+           label="Check WikiDB"
+   ?>
+
+!! Rebuild WikiDB
+
+  This will retransform all pages and rebuild the Wiki database on consistency errors or parser updates. 
+  This can last several minutes, eat a lot of memory and possibly times out!!
+
+  <?plugin WikiAdminUtils
+           action=db-rebuild
+           label="Rebuild WikiDB"
+   ?>
+
 ----
 PhpWikiDokumentation
diff -ruN 1.3.12p3/locale/de/pgsrc/SemantischeRelationen 1.3.14/locale/de/pgsrc/SemantischeRelationen
--- 1.3.12p3/locale/de/pgsrc/SemantischeRelationen	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/locale/de/pgsrc/SemantischeRelationen	2007-07-01 05:11:13.000000000 -0500
@@ -0,0 +1,12 @@
+Date: Tue, 2 Jan 2007 13:30:17 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: SemantischeRelationen,v 1.1 2007/01/03 21:28:28 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=SemantischeRelationen;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags=PAGE_LOCKED;
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+<?plugin SemanticRelations ?>
\ No newline at end of file
diff -ruN 1.3.12p3/locale/de/pgsrc/SemantischeSuche 1.3.14/locale/de/pgsrc/SemantischeSuche
--- 1.3.12p3/locale/de/pgsrc/SemantischeSuche	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/locale/de/pgsrc/SemantischeSuche	2007-07-01 05:11:13.000000000 -0500
@@ -0,0 +1,14 @@
+Date: Tue, 2 Jan 2007 13:30:17 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: SemantischeSuche,v 1.1 2007/01/03 21:28:28 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=SemanticSearch;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags=PAGE_LOCKED;
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+Suche nach semantischen Relationen und Attributen.
+
+<?plugin SemanticSearch ?>
\ No newline at end of file
diff -ruN 1.3.12p3/locale/de/pgsrc/Vorlage%2FBeispiel 1.3.14/locale/de/pgsrc/Vorlage%2FBeispiel
--- 1.3.12p3/locale/de/pgsrc/Vorlage%2FBeispiel	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/locale/de/pgsrc/Vorlage%2FBeispiel	2007-07-01 05:11:13.000000000 -0500
@@ -0,0 +1,37 @@
+Date: Tue, 2 Jan 2007 13:30:17 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Vorlage%2FBeispiel,v 1.1 2007/01/03 21:29:36 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Vorlage%2FBeispiel;
+  pgsrc_version="1 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+<noinclude>
+Die folgenden vordefinierten Variablen werden zwischen zwei %% gesetzt automatisch expandiert, 
+auf ihren Wert gesetzt:
+  pagename
+  mtime     - last modified date + time
+  ctime     - creation date + time
+  author    - last author
+  owner     
+  creator   - first author
+  SERVER_URL, DATA_PATH, SCRIPT_NAME, PHPWIKI_BASE_URL and BASE_URL
+</noinclude>
+
+Titel: %%title%%   Jahr: %%year%%
+---
+* Seitenname: %%pagename%%
+* Autor: %%author%%
+* Datum der letzten nderung: %%mtime%%
+* Datum der Erzeugung: %%ctime%%
+* Eigentmer: %%owner%%
+* Erzeuger: %%creator%%
+
+* SERVER_URL: %%SERVER_URL%%
+* DATA_PATH: %%DATA_PATH%%
+* SCRIPT_NAME: %%SCRIPT_NAME%%
+* PHPWIKI_BASE_URL: %%PHPWIKI_BASE_URL%%
+* BASE_URL: %%BASE_URL%%
diff -ruN 1.3.12p3/locale/de/pgsrc/VorlageBeispiel 1.3.14/locale/de/pgsrc/VorlageBeispiel
--- 1.3.12p3/locale/de/pgsrc/VorlageBeispiel	2006-06-18 06:19:31.000000000 -0500
+++ 1.3.14/locale/de/pgsrc/VorlageBeispiel	1969-12-31 18:00:00.000000000 -0600
@@ -1,36 +0,0 @@
-Date: Sat, 10 Sep 2005 21:42:11 +0100
-Mime-Version: 1.0 (Produced by PhpWiki 1.3.11)
-X-Rcs-Id: $Id: VorlageBeispiel,v 1.1 2005/09/11 20:21:57 rurban Exp $
-Content-Type: application/x-phpwiki;
-  pagename=VorlageBeispiel;
-  pgsrc_version="1 $Revision: 1.1 $";
-  flags="";
-  markup=2;
-  charset=iso-8859-1
-Content-Transfer-Encoding: binary
-
-<noinclude>
-The following predefined variables are automatically expanded if existing:
-  pagename
-  mtime     - last modified date + time
-  ctime     - creation date + time
-  author    - last author
-  owner     
-  creator   - first author
-  SERVER_URL, DATA_PATH, SCRIPT_NAME, PHPWIKI_BASE_URL and BASE_URL
-</noinclude>
-
-Titel: %%title%%   Jahr: %%year%%
----
-* Seitenname: %%pagename%%
-* Autor: %%author%%
-* Datum der letzten nderung: %%mtime%%
-* Datum der Erzeugung: %%ctime%%
-* Eigentmer: %%owner%%
-* Erzeuger: %%creator%%
-
-* SERVER_URL: %%SERVER_URL%%
-* DATA_PATH: %%DATA_PATH%%
-* SCRIPT_NAME: %%SCRIPT_NAME%%
-* PHPWIKI_BASE_URL: %%PHPWIKI_BASE_URL%%
-* BASE_URL: %%BASE_URL%%
diff -ruN 1.3.12p3/locale/de/pgsrc/VorlagePlugin 1.3.14/locale/de/pgsrc/VorlagePlugin
--- 1.3.12p3/locale/de/pgsrc/VorlagePlugin	2006-06-18 06:19:31.000000000 -0500
+++ 1.3.14/locale/de/pgsrc/VorlagePlugin	1969-12-31 18:00:00.000000000 -0600
@@ -1,83 +0,0 @@
-Date: Sat, 10 Sep 2005 21:42:11 +0100
-Mime-Version: 1.0 (Produced by PhpWiki 1.3.11)
-X-Rcs-Id: $Id: VorlagePlugin,v 1.1 2005/09/11 20:21:57 rurban Exp $
-Content-Type: application/x-phpwiki;
-  pagename=VorlagePlugin;
-  pgsrc_version="1 $Revision: 1.1 $";
-  flags="";
-  markup=2;
-  charset=iso-8859-1
-Content-Transfer-Encoding: binary
-
-!! Synopsis
-
-Vorlage = Parametrische Blcke.
-
-Include text from a wiki page and replace certain placeholders by parameters.
-Similiar to CreatePage with the template argument, but at run-time.
-Similiar to the mediawiki templates but not with the "|" parameter seperator.
-
-!! Usage
-<verbatim>
-  <?plugin Template page=Vorlage/Footer?>
-  <?plugin Template page=Vorlage/Film vars="title=SomeFilm&year=1999" ?>
-  {{Vorlage/Film|title=SomeFilm|year=1999}}
-</verbatim>
-
-!! Plugin Argumente
-Argument|
-  Vorgabewert|
-    Beschreibung
-
-page|
-  (empty)|
-    pagename to be included as template
-
-vars|
-  (empty)|
-    optional parameters to be expanded inside the template
-
-! Parameter expansion:
-  vars="var1=value1&var2=value2"
-
-We only support named parameters, not numbered ones as in mediawiki, and 
-the placeholder is %%var%% and not {{~{var~}}} as in mediawiki.
-
-The following predefined variables are automatically expanded if existing:
-<verbatim>
-  pagename
-  mtime     - last modified date + time
-  ctime     - creation date + time
-  author    - last author
-  owner     
-  creator   - first author
-  SERVER_URL, DATA_PATH, SCRIPT_NAME, PHPWIKI_BASE_URL and BASE_URL
-</verbatim>
-
-<noinclude> .. </noinclude> is stripped
-
-! In work:
-* ENABLE_MARKUP_TEMPLATE = true: (lib/InlineParser.php)
-  Support a mediawiki-style syntax extension which maps 
-<verbatim>
-    {{TemplateFilm|title=Some Good Film|year=1999}}
-</verbatim>
-  to 
-<verbatim>
-    <?plugin Template page=TemplateFilm vars="title=Some Good Film&year=1999" ?>
-</verbatim>
-
-!! Examples
-
-<verbatim>
-  <?plugin Template page=VorlageBeispiel vars="title=TestTitle" ?>
-</verbatim>
-
-Standard syntax:
-  <?plugin Template page=VorlageBeispiel vars="title=TestTitle" ?>
-
-Shorter syntax:
-  {{VorlageBeispiel|title=TestTitel}}
-
--------------
-PhpWikiDokumentation WikiPlugin
diff -ruN 1.3.12p3/locale/de/pgsrc/WieManWikiBenutzt 1.3.14/locale/de/pgsrc/WieManWikiBenutzt
--- 1.3.12p3/locale/de/pgsrc/WieManWikiBenutzt	2006-06-18 06:19:31.000000000 -0500
+++ 1.3.14/locale/de/pgsrc/WieManWikiBenutzt	2007-07-01 05:11:13.000000000 -0500
@@ -1,6 +1,6 @@
 Date: Sun, 27 Jan 2002 17:28:55 -0500
 Mime-Version: 1.0 (Produced by PhpWiki 1.3.2-jeffs-hacks)
-X-Rcs-Id: $Id: WieManWikiBenutzt,v 1.10 2004/05/09 00:57:32 rurban Exp $
+X-Rcs-Id: $Id: WieManWikiBenutzt,v 1.11 2005/09/27 17:31:25 rurban Exp $
 Content-Type: application/x-phpwiki;
   pagename=WieManWikiBenutzt;
   flags="";
@@ -31,7 +31,7 @@
 
 * Eine horizontale Trennlinie bekommt man indem man vier oder mehr Bindestriche an den Anfang einer Zeile stellt:
 ----
-* Links kann man erzeugen, indem man einzelne Wrter, deren Anfangsbuchstabe gro geschrieben wird, zusammenfgt. Wenn du also etwa eine Seite darber  schreiben willst, da Arno Ratten mag, schreibst du: ArnoMagRatten. Falls die Seite noch nicht existiert erscheint dahinter ein Fragezeichen, das dir die Mglichkeit gibt die Seite zu erzeugen: DieseSeiteSollteNichtExistieren. (Und bitte verdirb das Beispiel nicht, indem du diese Seite erzeugst).
+* Links kann man erzeugen, indem man einzelne Wrter, deren Anfangsbuchstabe gro geschrieben wird, zusammenfgt. Wenn du also etwa eine Seite darber  schreiben willst, dass Arno Ratten mag, schreibst du: ArnoMagRatten. Falls die Seite noch nicht existiert erscheint dahinter ein Fragezeichen, das dir die Mglichkeit gibt die Seite zu erzeugen: DieseSeiteSollteNichtExistieren. (Und bitte verdirb das Beispiel nicht, indem du diese Seite erzeugst).
 * Um externe Links zu setzen, kannst du einfach die Adresse eintippen und PhpWiki erzeugt einen passenden Link, z.B. http://www.diezeit.de/
 * Um Bilder einzufgen, schliet man deren Adresse in eckigen Klammern ein, wie hier: [[!http://www.deinhost.de/bilder/bild.png]. Falls die Adresse des Bildes nicht in eckigen Klammern steht, wird einfach nur die Adresse (nicht aber das Bild) angezeigt.
 * Jetzt kann es eigentlich schon mit dem SeitenErzeugen losgehen!
diff -ruN 1.3.12p3/locale/de/pgsrc/WikiPlugin 1.3.14/locale/de/pgsrc/WikiPlugin
--- 1.3.12p3/locale/de/pgsrc/WikiPlugin	2006-06-18 06:19:31.000000000 -0500
+++ 1.3.14/locale/de/pgsrc/WikiPlugin	1969-12-31 18:00:00.000000000 -0600
@@ -1,110 +0,0 @@
-Date: Sun, 27 Jan 2002 17:28:55 -0500
-Mime-Version: 1.0 (Produced by PhpWiki 1.3.2-jeffs-hacks)
-X-Rcs-Id: $Id: WikiPlugin,v 1.1 2004/02/15 18:14:06 rurban Exp $
-Content-Type: application/x-phpwiki;
-  pagename=WikiPlugin;
-  pgsrc_version="2 $Revision: 1.1 $";
-  flags="";
-  markup=2;
-  charset=iso-8859-1
-Content-Transfer-Encoding: binary
-
-The latest hacks include support for ~WikiPlugins.
-
-~WikiPlugins allow one to easily add new types of dynamic content (as
-well as other functionality) to wiki pages within PhpWiki.  In this
-very wiki, the RecentChanges, BackLinks, LikePages and DebugInfo pages
-are all implemented using plugins.
-
-I expect that the search result pages, as well as much
-PhpWikiAdministration will soon be implemented via plugins as well.
-(I think the oh-so-ugly [MagicPhpWikiURLs] can be replaced by plugins,
-too.)
-
-!!!Example
-
-Currently, one invokes a plugin by putting something like:
-
-<verbatim>
-<?plugin BackLinks?>
-</verbatim>
-
-into a regular wiki-page.  That particular example produces as list of
-pages which link to the current page.  Here it is:
-
-<?plugin BackLinks?>
-
-(This is great for Category and Topic pages.  You can use this to get
-an automatic in-line listing of pages in the Category or Topic.)
-
-!!!Details
-
-(This is all subject to change.)
-
-Plugins can take certain named arguments (most do).  The values of
-these arguments can be determined four different ways.  In order of
-precedence:
-
-# The plugin invocation can specify the value for an argument, like so:
-  <verbatim>
-  <?plugin BackLinks page=OtherPage ?>
-  </verbatim>
-
-# The argument can be specified via an HTTP query argument.  This
-  doesn't happen (is not allowed) unless the argument is mentioned in
-  the plugin invocation:
-
-  <verbatim>
-  <?plugin BackLinks page ?>
-  </verbatim>
-
-# Default values specified in the plugin invocation:
-
-  <verbatim>
-  <?plugin BackLinks page||=OtherPage ?>
-  </verbatim>
-
-# The plugin must supply default values for each argument it uses.
-  (The BackLinks plugin uses the current page as the default value for
-  the ''page'' argument.
-
-!!!Existing Plugins
-
-* BackLinks
-* CalendarPlugin
-* DebugInfo
-* FullTextSearch
-* IncludePage
-* LikePages
-* MostPopular
-* PageHistory
-* RecentChanges
-* text2png
-* TitleSearch
-* ViewSource
-* walkabout
-* PhpHighlightPlugin
-
-!!!More Ideas for Plugins
-
-* Integrate Search form with individual InterWiki map entries
-  e.g. Search Php Website for:[ ] (Search)
-* WantedPages, OrphanedPages, other various indexing schemes.
-* Diff, PageHistory
-* Redirect plugin -- =<?plugin Redirect target=~OtherPage ?>=
-* Insert XML/RSS/RDF news content from =location=xxx= where location
-  is a parameter to the plugin, maybe include some formatting control
-  of the output generated.
-
------
-
-Pages in this category:
-
-<?plugin BackLinks page=[pagename] noheader=1?>
-
-* FullTextSearch: FindPage
-* TitleSearch: LikePages (match_head, match_tail).
-
------
-
-PhpWikiDokumentation
diff -ruN 1.3.12p3/locale/de/pgsrc/WunschZettelSeiten 1.3.14/locale/de/pgsrc/WunschZettelSeiten
--- 1.3.12p3/locale/de/pgsrc/WunschZettelSeiten	2006-06-18 06:19:31.000000000 -0500
+++ 1.3.14/locale/de/pgsrc/WunschZettelSeiten	2007-07-01 05:11:13.000000000 -0500
@@ -1,5 +1,5 @@
-Date: Sun, 19 Mar 2006 00:14:20 -0500
-Mime-Version: 1.0 (Produced by PhpWiki 1.3.12p3)
+Date: Sun, 11 Apr 2004 00:14:20 -0500
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.8)
 X-Rcs-Id: $Id: WunschZettelSeiten,v 1.2 2005/09/27 17:31:25 rurban Exp $
 Content-Type: application/x-phpwiki;
   pagename=WunschZettelSeiten;
Binary files 1.3.12p3/locale/es/LC_MESSAGES/phpwiki.mo and 1.3.14/locale/es/LC_MESSAGES/phpwiki.mo differ
diff -ruN 1.3.12p3/locale/es/LC_MESSAGES/phpwiki.php 1.3.14/locale/es/LC_MESSAGES/phpwiki.php
--- 1.3.12p3/locale/es/LC_MESSAGES/phpwiki.php	2006-06-18 06:19:31.000000000 -0500
+++ 1.3.14/locale/es/LC_MESSAGES/phpwiki.php	2007-07-01 05:11:13.000000000 -0500
@@ -44,12 +44,8 @@
    "%s se rechaza en este wiki.";
 $locale["%s is empty"] =
    "%s es vaco";
-$locale["%s is listed at %s"] =
-   "%s se enumera en %s";
 $locale["%s is missing"] =
    "%s falta";
-$locale["%s is not writable"] =
-   "%s no es escribible";
 $locale["%s is not writable."] =
    "%s no es escribible.";
 $locale["%s not found"] =
@@ -184,6 +180,8 @@
    "No puede crear el directorio '%s'";
 $locale["Cannot open AUTH_GROUP_FILE %s"] =
    "No puede abrir AUTH_GROUP_FILE %s";
+$locale["Category"] =
+   "Categora";
 $locale["CategoryCategory"] =
    "CategoriaCategoria";
 $locale["CategoryGroup"] =
@@ -334,8 +332,6 @@
    "Contrasea no hecho caso.";
 $locale["Go"] =
    "Aceptar";
-$locale["GoodStyle"] =
-   "BuenEstilo";
 $locale["Grant"] =
    "Concesin";
 $locale["Group %s does not exist"] =
@@ -520,8 +516,6 @@
    "Nota:";
 $locale["Old UserPage %s without stored password updated with empty password. Set a password in your UserPreferences."] =
    "Viejo UserPage %s sin la contrasea almacenada puesta al da con contrasea vaca. Fije una contrasea en su UsuarioPreferencias.";
-$locale["OldTextFormattingRules"] =
-   "ViejoReglasDeFormatoDeTexto";
 $locale["Older page:"] =
    "Pgina ms viejo:";
 $locale["Oops! Revision %s of %s seems to have been deleted!"] =
@@ -726,16 +720,12 @@
    "Secuencia \"%s\" no encontrado.";
 $locale["SubPages of %s:"] =
    "PginasSecundaria de %s:";
-$locale["Substring \"%s\" found %s times. Replace with \"%s\"?"] =
-   "Subsecuencia \"%s\" tiempos encontrados de %s.  Substituya por \"%s\"?";
 $locale["Summary"] =
    "Comentarios";
 $locale["Supported handlers are: %s"] =
    "Los tratantes apoyados son: %s";
 $locale["Synopsis"] =
    "Sinopsis";
-$locale["TextFormattingRules"] =
-   "ReglasDeFormatoDeTexto";
 $locale["Thank you for editing %s."] =
    "Gracias por editar %s.";
 $locale["Thanks for participating!"] =
@@ -800,6 +790,8 @@
    "Tambin muchos acoplamientos externos.";
 $locale["Top & bottom toolbars"] =
    "Toolbars superiores y inferiores";
+$locale["Topic"] =
+   "Asunto";
 $locale["Type word above:"] =
    "Mecanografe la palabra arriba:";
 $locale["Typed in verification word mismatch ... are you a bot?"] =
@@ -814,8 +806,6 @@
    "Incapaz conectar con el IMAP el servidor ";
 $locale["Unable to connect to LDAP server %s"] =
    "Incapaz conectar con el servidor %s de LDAP";
-$locale["Unable to load: %s"] =
-   "Incapaz cargar:  %s";
 $locale["Undefined method %s for special group %s"] =
    "Mtodo indefinido %s para el grupo especial %s";
 $locale["Undo"] =
@@ -918,8 +908,6 @@
    "Usted debe especificar un directorio para descargar a";
 $locale["You must wait for moderator approval."] =
    "Usted debe esperar la aprobacin del asesor.";
-$locale["You searched for: "] =
-   "Usted busc para: ";
 $locale["You stored an empty password in your '%s' page."] =
    "Usted almacen una contrasea vaca en su pgina de '%s'.";
 $locale["Your WikiDB DB backend '%s' cannot be used for DbSession."] =
diff -ruN 1.3.12p3/locale/.exclude 1.3.14/locale/.exclude
--- 1.3.12p3/locale/.exclude	2006-06-18 06:19:29.000000000 -0500
+++ 1.3.14/locale/.exclude	2007-07-01 05:11:11.000000000 -0500
@@ -1,6 +1,44 @@
+lib/template_lite/
 lib/pear/
 lib/WikiDB/adodb/
 lib/nusoap/
 lib/fpdf/
 lib/XMLRPC/
 lib/ASCIIMathPHP/
+lib/AccessLog.php
+lib/AspellPspell.php
+lib/JSON.php
+lib/SimplePie.php
+lib/TarLib.class.php
+lib/feedcreator.class.php
+lib/geshi.php
+lib/jQPie.php
+lib/jQPie_Response.php
+lib/utf8.php
+lib/weather_class_inc.php
+lib/plugin/BlockQuote.php
+lib/plugin/GridTable.php
+lib/plugin/ImportMediaWiki.php
+lib/plugin/ImportOwl.php
+lib/plugin/ImportRdf.php
+lib/plugin/ImportRdfs.php
+lib/plugin/NewUserWelcomePage.php
+lib/plugin/RdfDefinition.php
+lib/plugin/SpecialTag.php
+lib/plugin/UserFileManagement.php
+lib/plugin/WikiAccessRestrictions.php
+lib/plugin/WikiAdminMassRevert.php
+lib/plugin/WikiAdminSetAclSimple.php
+lib/plugin/WikiSettings.php
+lib/plugin/WikiUserAdministration.php
+lib/WikiDB/backend/cvsclient.php
+lib/WikiUser/EMailConfirm.php
+lib/WikiUser/LdapAVL.php
+themes/default/tiny_mce/
+themes/wikilens/templates/newuserwelcomepage.tmpl
+themes/wikilens/templates/categorypage.tmpl
+themes/archX/
+themes/film/
+themes/AVL/
+themes/AVL-GM/
+themes/default/htmlarea3/popups/insert_pagelink.php
Binary files 1.3.12p3/locale/fr/LC_MESSAGES/phpwiki.mo and 1.3.14/locale/fr/LC_MESSAGES/phpwiki.mo differ
diff -ruN 1.3.12p3/locale/fr/LC_MESSAGES/phpwiki.php 1.3.14/locale/fr/LC_MESSAGES/phpwiki.php
--- 1.3.12p3/locale/fr/LC_MESSAGES/phpwiki.php	2006-06-18 06:19:32.000000000 -0500
+++ 1.3.14/locale/fr/LC_MESSAGES/phpwiki.php	2007-07-01 05:11:14.000000000 -0500
@@ -22,8 +22,6 @@
    "Garder jusqu' %d dition mineures, mais pas plus que %d jours.";
 $locale[" Sorry, cannot merge."] =
    " Dsol, impossible de fusionner.";
-$locale[" This is for small text"] =
-   "C'est pour des petits textes";
 $locale[" replace "] =
    " remplace ";
 $locale[" skipped"] =
@@ -90,14 +88,14 @@
    "%s est manquant";
 $locale["%s is not locked!"] =
    "%s n'est pas verrouill!";
-$locale["%s is not writable"] =
-   "%s n'est pas accessible en criture";
 $locale["%s is not writable."] =
    "%s n'est pas accessible en criture.";
 $locale["%s is only allowed in locked pages."] =
    "%s n'est autoris que dans les pages verrouilles.";
 $locale["%s k"] =
    "%s k";
+$locale["%s not defined"] =
+   "%s : non dfini";
 $locale["%s not found"] =
    "%s non trouv";
 $locale["%s of this page"] =
@@ -170,8 +168,6 @@
    "(diff)";
 $locale["(disable individual page permissions, enable inheritance)?"] =
    "(dsactive les permissions individuelles par page, activer l'hritage) ?";
-$locale["(hist)"] =
-   "(hist)";
 $locale["(max. recursion level: %d)"] =
    "(niveau maximum de rcursivit: %d)";
 $locale["(ugo : rwx)"] =
@@ -380,8 +376,6 @@
    "Mauvaise url dans la source : retirez tous les <, >, \"";
 $locale["Blog page"] =
    "Page de Blog";
-$locale["Blogs"] =
-   "Blogs";
 $locale["Bogo Users"] =
    "Utilisateurs Bogo";
 $locale["Bold text"] =
@@ -420,6 +414,8 @@
    "Impossible d'ouvrir AUTH_GROUP_FILE %s";
 $locale["Case insensitive?"] =
    "Sensible  la casse ?";
+$locale["Category"] =
+   "Catgorie";
 $locale["CategoryCategory"] =
    "CatgorieCatgorie";
 $locale["CategoryGroup"] =
@@ -520,8 +516,6 @@
    "Impossible de renommer la page '%s' en '%s'.";
 $locale["Couldn't start commandline '%s'"] =
    "Impossible de lancer la ligne de commande '%s'";
-$locale["Count"] =
-   "Compte";
 $locale["Create a Wiki page by the provided name."] =
    "Crer une PageWiki avec le nom demand.";
 $locale["Create a Wiki page."] =
@@ -730,8 +724,6 @@
    "Toutes";
 $locale["Example.jpg"] =
    "Example.jpg";
-$locale["Existing page-level metadata for %s:"] =
-   "Mtadonnes existantes pour niveau de pages pour %s :";
 $locale["Expiry parameters"] =
    "Expiration des paramtres";
 $locale["External Links"] =
@@ -752,8 +744,6 @@
    "Erreur Fatale de PhpWiki";
 $locale["File successfully uploaded."] =
    "Fichier transfr avec succs.";
-$locale["FileInfo"] =
-   "FichierInfo";
 $locale["Files with extension %s are not allowed."] =
    "%s: extension interdit.";
 $locale["FindPage"] =
@@ -798,8 +788,6 @@
    "Allons-y ?";
 $locale["GoTo"] =
    "AllerVers";
-$locale["GoodStyle"] =
-   "StyleCorrect";
 $locale["Google:%s"] =
    "Google: %s";
 $locale["GooglePlugin"] =
@@ -840,12 +828,8 @@
    "Historique de toutes les ditions majeures et mineures par %s sur la page %s.";
 $locale["History of all major and minor modifications for any page edited by %s."] =
    "Historique des ditions majeures ou mineures pour n'importe quelle page dite par %s.";
-$locale["History of all major edits by %s to page %s."] =
-   "Historique de toutes les ditions majeures par %s sur la page %s.";
 $locale["History of changes."] =
    "Historique des changements.";
-$locale["History of major modifications for any page edited by %s."] =
-   "Historique des ditions majeures de toutes les pages dites par %s.";
 $locale["Hit statistics"] =
    "Statistiques de visites";
 $locale["Hits"] =
@@ -1180,8 +1164,6 @@
    "Aucun rsultat";
 $locale["OK"] =
    "OK";
-$locale["Ok"] =
-   "Ok";
 $locale["Okay"] =
    "OK";
 $locale["Old UserPage %s without stored password updated with empty password. Set a password in your UserPreferences."] =
@@ -1192,8 +1174,6 @@
    "TableauAncienStyle";
 $locale["OldStyleTablePlugin"] =
    "PluginTableauAncienStyle";
-$locale["OldTextFormattingRules"] =
-   "RglesDeFormatageDesTextes";
 $locale["Older page:"] =
    "Ancienne page :";
 $locale["One page links to %s:"] =
@@ -1334,8 +1314,6 @@
    "AlbumPhotos";
 $locale["PhotoAlbumPlugin"] =
    "PluginAlbumPhotos";
-$locale["Photos"] =
-   "Photos";
 $locale["PhpHighlight"] =
    "ColorationPhp";
 $locale["PhpHighlightPlugin"] =
@@ -1660,8 +1638,6 @@
    "Dconnexion";
 $locale["Signed Users"] =
    "Utilisateurs signs";
-$locale["Signed as %s"] =
-   "Connect comme %s";
 $locale["Simple RSS Feed aggregator Plugin"] =
    "Importer des ressources RSS";
 $locale["Simple Sample Plugin"] =
@@ -1754,12 +1730,10 @@
    "A FAIRE: Google peut uniquement traduire l'anglais et le franais. Trouver un service pour traduire %s en %s";
 $locale["Table Of Contents"] =
    "Table des matires";
-$locale["TeX directory not writable."] =
-   "Rpertoire TeX non accessible en criture.";
 $locale["TeX2png"] =
    "TeX2png";
-$locale["TextFormattingRules"] =
-   "RglesDeFormatageDesTextes";
+$locale["Template"] =
+   "Thme";
 $locale["Thank you for editing %s."] =
    "Merci d'avoir dit %s.";
 $locale["Thanks for adding this translation!"] =
@@ -1864,6 +1838,8 @@
    "Trop de liens exterieurs.";
 $locale["Top & bottom toolbars"] =
    "Barres d'outils en haut et en bas";
+$locale["Topic"] =
+   "Sujet";
 $locale["Total %d plugins: "] =
    "%d plugins au total : ";
 $locale["Total of %d languages: "] =
@@ -1897,13 +1873,13 @@
 $locale["USER"] =
    "UTILISATEUR";
 $locale["Unable to bind LDAP server %s using %s %s"] =
-   "Impossible de se connecter au serveur LDAP %s, avec %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 au serveur LDAP %s";
-$locale["Unable to load: %s"] =
-   "Impossible de charger : %s";
+$locale["Unable to find src='%s'"] =
+   "Impossible de lire src=%s";
 $locale["Unable to open directory '%s' for reading"] =
    "Impossible d'ouvrir le rpertoire '%s' en lecture";
 $locale["Unable to read src='%s'"] =
@@ -1932,8 +1908,6 @@
    "Dverrouiller les pages";
 $locale["Unsupported ACL access type %s ignored."] =
    "Le type d'accs ACL %s n'est pas support. -- Ignor.";
-$locale["Unsupported argument: %s=%s"] =
-   "Argument %s=%s n'est pas support !";
 $locale["Up"] =
    "Haut";
 $locale["UpLoad"] =
@@ -2022,18 +1996,12 @@
    "WabiSabi";
 $locale["Wanted From"] =
    "Recherches par";
-$locale["Wanted Pages for %s (%d total):"] =
-   "Pages recherches pour %s  dans ce wiki (%d au total) :";
 $locale["Wanted Pages for %s:"] =
    "Pages recherches pour %s :";
-$locale["Wanted Pages in this wiki (%d total):"] =
-   "Pages recherches dans ce wiki (%d au total) :";
 $locale["Wanted Pages in this wiki:"] =
    "Pages recherches dans ce wiki :";
 $locale["WantedPages"] =
    "PagesRecherches";
-$locale["Warning!"] =
-   "Attention !";
 $locale["Warning:"] =
    "Attention:";
 $locale["Warning: The search string cannot be empty!"] =
@@ -2078,8 +2046,6 @@
    "WikiAdminSetAcl";
 $locale["WikiAdminUtils"] =
    "WikiAdminUtils";
-$locale["WikiAdminUtils says:"] =
-   "WikiAdminUtils dit :";
 $locale["WikiBlog"] =
    "WikiBlog";
 $locale["WikiBlogPlugin"] =
@@ -2164,6 +2130,8 @@
    "Cette page a t verrouille par l'administrateur et vos changements n'ont pas pu tre enregistre.";
 $locale["Your home page is locked so your preferences cannot not be saved."] =
    "Cette page a t verrouille par l'administrateur et vos changements n'ont pas pu tre enregistre.";
+$locale["Your rating "] =
+   "Votre note ";
 $locale["Your rating was %.1f"] =
    "Votre note est %.1f";
 $locale["Your signature"] =
@@ -2214,16 +2182,6 @@
    "vrifie le marqueur auto_increment pour page.id";
 $locale["check for mysql session.sess_id sanity"] =
    "recherche une nouvelle colonne session.sess_ip";
-$locale["check for necessary ActionPage updates"] =
-   "vrifie les mises  jour d'ActionPage ncessaire";
-$locale["check for necessary config updates"] =
-   "vrifie les mises  jour de configuration ncessaire";
-$locale["check for necessary database updates"] =
-   "rechercher des mises  jour ncessaire dans la base de donnes";
-$locale["check for necessary pgsrc updates"] =
-   "recherche les mises  jour ncessaire des pages sources";
-$locale["check for necessary plugin argument updates"] =
-   "recherche les mises  jour ncessaire des plugin argument";
 $locale["check for new session.sess_ip column"] =
    "recherche une nouvelle colonne session.sess_ip";
 $locale["check for table %s"] =
@@ -2252,6 +2210,8 @@
    "diff";
 $locale["diff this page"] =
    "diff de cette page";
+$locale["download a html zip dump from this wiki"] =
+   "tlcharger une sauvegarde HTML compresse de ce wiki";
 $locale["download a zip dump from this wiki"] =
    "tlcharger une sauvegarde compresse de ce wiki";
 $locale["dump html pages"] =
@@ -2281,7 +2241,7 @@
 $locale["invalid %s ignored"] =
    "%s non valable ignor";
 $locale["invalid argument %s"] =
-   "Argument non valable %s";
+   "Argument non valable : %s";
 $locale["invidual page permission"] =
    "Permission de page individuelle";
 $locale["latest comment by "] =
diff -ruN 1.3.12p3/locale/fr/pgsrc/AdministrationDePhpWiki 1.3.14/locale/fr/pgsrc/AdministrationDePhpWiki
--- 1.3.12p3/locale/fr/pgsrc/AdministrationDePhpWiki	2006-06-18 06:19:32.000000000 -0500
+++ 1.3.14/locale/fr/pgsrc/AdministrationDePhpWiki	2007-07-01 05:11:14.000000000 -0500
@@ -1,9 +1,9 @@
 Date: Sat, 5 Jun 2004 16:49:53 +0200
 Mime-Version: 1.0 (Produced by PhpWiki 1.3.10)
-X-Rcs-Id: $Id: AdministrationDePhpWiki,v 1.6 2004/06/08 19:54:15 rurban Exp $
+X-Rcs-Id: $Id: AdministrationDePhpWiki,v 1.7 2007/01/11 21:16:47 rurban Exp $
 Content-Type: application/x-phpwiki;
   pagename=AdministrationDePhpWiki;
-  pgsrc_version="3 $Revision: 1.6 $";
+  pgsrc_version="3 $Revision: 1.7 $";
   flags=PAGE_LOCKED;
   markup=2;
   charset=iso-8859-1
@@ -152,6 +152,16 @@
            label="Purge du cache"
    ?>
 
+!! Suppression des pages vides et non rfrences
+
+ *Attention!* en appuyant sur ce bouton toutes les pages vides et non rfrences seront supprimes sans aucune possiblit de les restaurer.
+ Ceci supprimera toute possibilit de retrouver les page ainsi supprimes.
+ 
+ <?plugin WikiAdminUtils
+           action=purge-empty-pages
+           label="Purge all empty unreferenced pages"
+   ?>
+
 !! Suppression des pages indsirables dans la base des donnes wiki
 
 Les pages dont le nom commence avec un sparateur de sous-page (habituellement un slash =/=) ne sont pas autorises. Elles sont parfois cres par un plugin mal crit...
diff -ruN 1.3.12p3/locale/fr/pgsrc/Cr%E9erUnePage 1.3.14/locale/fr/pgsrc/Cr%E9erUnePage
--- 1.3.12p3/locale/fr/pgsrc/Cr%E9erUnePage	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/locale/fr/pgsrc/Cr%E9erUnePage	2007-07-01 05:11:14.000000000 -0500
@@ -0,0 +1,11 @@
+Date: Sat, 21 Feb 2004 09:10:48 -0600
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.9)
+X-Rcs-Id: $Id: Cr%E9erUnePage,v 1.1 2007/01/11 21:21:56 rurban Exp $
+Content-Type: application/x-phpwiki;
+ pagename=Cr%E9erUnePage;
+ flags="";
+ markup=2;
+ charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+<?plugin CreatePage ?>
diff -ruN 1.3.12p3/locale/fr/pgsrc/D%E9poserUnFichier 1.3.14/locale/fr/pgsrc/D%E9poserUnFichier
--- 1.3.12p3/locale/fr/pgsrc/D%E9poserUnFichier	2006-06-18 06:19:33.000000000 -0500
+++ 1.3.14/locale/fr/pgsrc/D%E9poserUnFichier	2007-07-01 05:11:14.000000000 -0500
@@ -1,18 +1,19 @@
 Date: Sat, 5 Jun 2004 16:49:54 +0200
 Mime-Version: 1.0 (Produced by PhpWiki 1.3.10)
-X-Rcs-Id: $Id: D%E9poserUnFichier,v 1.1 2004/06/08 14:19:03 rurban Exp $
+X-Rcs-Id: $Id: D%E9poserUnFichier,v 1.2 2007/01/11 21:17:18 rurban Exp $
 Content-Type: application/x-phpwiki;
   pagename=D%E9poserUnFichier;
-  pgsrc_version="2 $Revision: 1.1 $";
+  pgsrc_version="2 $Revision: 1.2 $";
   flags="";
   markup=2;
   charset=iso-8859-1
 Content-Transfer-Encoding: binary
 
-__C'est une page exprimentale. Pour le moment, elle n'est fonctionnelle que 
-pour l'administrateur du Wiki.__
-
+__Tlcharger un fichier qui sera accessible avec la syntaxe:__
+<verbatim>
+Upload:num_rev/nom_fichier
+</verbatim>
 ----
 <?plugin UpLoad ?>
 ----
-PluginWiki GestionsDesPlugins
+PluginWiki GestionDesPlugins
diff -ruN 1.3.12p3/locale/fr/pgsrc/DocumentationDePhpWiki 1.3.14/locale/fr/pgsrc/DocumentationDePhpWiki
--- 1.3.12p3/locale/fr/pgsrc/DocumentationDePhpWiki	2006-06-18 06:19:33.000000000 -0500
+++ 1.3.14/locale/fr/pgsrc/DocumentationDePhpWiki	2007-07-01 05:11:15.000000000 -0500
@@ -1,13 +1,30 @@
-Date: Sat, 5 Jun 2004 16:49:54 +0200
-Mime-Version: 1.0 (Produced by PhpWiki 1.3.10)
-X-Rcs-Id: $Id: DocumentationDePhpWiki,v 1.8 2004/06/08 14:19:03 rurban Exp $
+Date: Thu, 11 Jan 2007 22:55:55 +0100
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: DocumentationDePhpWiki,v 1.9 2007/01/11 21:17:33 rurban Exp $
 Content-Type: application/x-phpwiki;
   pagename=DocumentationDePhpWiki;
-  pgsrc_version="2 $Revision: 1.8 $";
+  pgsrc_version="2 $Revision: 1.9 $";
   flags=PAGE_LOCKED;
   markup=2;
   charset=iso-8859-1
 Content-Transfer-Encoding: binary
 
-!! Pages dans cette catgorie :
-<?plugin BackLinks exclude||='' include_self||=1 noheader||=0 page||=[pagename] info=pagename,mtime ?>
+!! Sommaire
+
+<?plugin SiteMap
+         noheader=true
+         exclude=PageAccueil
+         reclimit=1
+         direction=forward
+         firstreversed=1
+?>
+
+! Pages dans cette catgorie :
+
+<?plugin BackLinks
+         exclude||=''
+         include_self||=1
+         noheader||=0
+         page||=[pagename]
+         info||=pagename,mtime
+?>
diff -ruN 1.3.12p3/locale/fr/pgsrc/TousLesUtilisateurs 1.3.14/locale/fr/pgsrc/TousLesUtilisateurs
--- 1.3.12p3/locale/fr/pgsrc/TousLesUtilisateurs	2006-06-18 06:19:35.000000000 -0500
+++ 1.3.14/locale/fr/pgsrc/TousLesUtilisateurs	2007-07-01 05:11:16.000000000 -0500
@@ -1,9 +1,9 @@
-Date: Sat, 5 Jun 2004 16:49:58 +0200
-Mime-Version: 1.0 (Produced by PhpWiki 1.3.10)
-X-Rcs-Id: $Id: TousLesUtilisateurs,v 1.1 2004/06/08 14:19:04 rurban Exp $
+Date: Thu, 11 Jan 2007 22:55:55 +0100
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: TousLesUtilisateurs,v 1.2 2007/01/11 21:17:53 rurban Exp $
 Content-Type: application/x-phpwiki;
   pagename=TousLesUtilisateurs;
-  pgsrc_version="2 $Revision: 1.1 $";
+  pgsrc_version="2 $Revision: 1.2 $";
   flags=PAGE_LOCKED;
   markup=2;
   charset=iso-8859-1
@@ -15,4 +15,4 @@
 ----
 <?plugin AllUsers?>
 ----
-PluginWiki GestionsDesPlugins
+PluginWiki GestionDesPlugins
Binary files 1.3.12p3/locale/it/LC_MESSAGES/phpwiki.mo and 1.3.14/locale/it/LC_MESSAGES/phpwiki.mo differ
diff -ruN 1.3.12p3/locale/it/LC_MESSAGES/phpwiki.php 1.3.14/locale/it/LC_MESSAGES/phpwiki.php
--- 1.3.12p3/locale/it/LC_MESSAGES/phpwiki.php	2006-06-18 06:19:35.000000000 -0500
+++ 1.3.14/locale/it/LC_MESSAGES/phpwiki.php	2007-07-01 05:11:16.000000000 -0500
@@ -1,5 +1,7 @@
 <?php
 
+$locale[" ... first %d bytes"] =
+   " ... i primi %d byte";
 $locale[" Sorry, cannot merge."] =
    " Spiacente, non pu fondersi.";
 $locale["%4d  %s\n"] =
@@ -18,8 +20,6 @@
    "%s byte";
 $locale["%s days"] =
    "%s giorni";
-$locale["%s is listed at %s"] =
-   "%s  elencato a %s";
 $locale["%s not defined"] =
    "%s: non definito";
 $locale["%s not found"] =
@@ -31,9 +31,11 @@
 $locale["%s: %s"] =
    "%s: %s";
 $locale["%s: file not found"] =
-   "%s: archivio non trovato";
+   "%s: file non trovato";
 $locale["%s: not defined"] =
    "%s: non definito";
+$locale["'%s': corrupt file"] =
+   "'%s': file corrotto";
 $locale["(Copy your changes to the clipboard. You can try editing a different page or save your text in a text editor.)"] =
    "(Copia le tue modifiche nella clipboard. Potete provare a modificare un'altra pagina o registra il vostro testo in un editor di testo.)";
 $locale["(diff)"] =
@@ -53,7 +55,7 @@
 $locale["1 day"] =
    "1 giorno";
 $locale["<no matches>"] =
-   "<nessun risultati>";
+   "<nessuna corrispondenza>";
 $locale["<none>"] =
    "<nessun>";
 $locale["<unknown>"] =
@@ -71,7 +73,7 @@
 $locale["Authenticated Users"] =
    "Utenti Autenticati";
 $locale["Authenticated as %s"] =
-   "Authenticata a %s";
+   "Utente corrente: %s";
 $locale["Author"] =
    "Autore";
 $locale["Author will be logged as %s."] =
@@ -90,6 +92,8 @@
    "Annulla";
 $locale["Cancel rating"] =
    "Annulla";
+$locale["Category"] =
+   "Categoria";
 $locale["CategoryGroup"] =
    "CategoriaGruppo";
 $locale["CategoryPage"] =
@@ -110,14 +114,20 @@
    "Non riesco a stabilire una connessione col database: %s";
 $locale["Create: %s"] =
    "Salvata: %s";
+$locale["Date Format"] =
+   "Formato della Data";
+$locale["DebugInfo"] =
+   "InfoDebug";
 $locale["Deleted"] =
    "Rimossa";
 $locale["Describe %s here."] =
-   "Descrivi %s qui.";
+   "Inserire qui il testo della pagina %s.";
 $locale["Diff"] =
-   "Diff";
+   "Differenze";
 $locale["Diff: %s"] =
    "Differenza di: %s";
+$locale["Differences between %s and %s of %s."] =
+   "Differenze tra %s e %s di %s.";
 $locale["Edit"] =
    "Modifica";
 $locale["Edit %s"] =
@@ -146,8 +156,6 @@
    "Vai";
 $locale["GoTo"] =
    "Vai";
-$locale["GoodStyle"] =
-   "BuonStile";
 $locale["H"] =
    "A";
 $locale["HasHomePage"] =
@@ -159,7 +167,7 @@
 $locale["HomePage"] =
    "PaginaPrincipale";
 $locale["HomePageAlias"] =
-   "PaginaPrincipaleAlias";
+   "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["Include of '%s' failed."] =
@@ -177,13 +185,17 @@
 $locale["Insert"] =
    "Inserto";
 $locale["Insert Categories (double-click)"] =
-   "Inserto Categorias (doppio-scatto)";
+   "Inserimento Categorie (doppio-click)";
 $locale["Insert PageLink (double-click)"] =
    "Inserto Pagina (doppio-scatto)";
 $locale["Insert Plugin (double-click)"] =
    "Inserto Plugin (doppio-scatto)";
 $locale["Insert Template (double-click)"] =
    "Inserto Mascherina (doppio-scatto)";
+$locale["Insufficient permissions."] =
+   "Permessi insufficienti.";
+$locale["Invalid password or userid."] =
+   "Password o nome utente errati.";
 $locale["JabberPresence"] =
    "JabberPresenca";
 $locale["Last"] =
@@ -197,9 +209,11 @@
 $locale["Last edited %s"] =
    "Ultima modifica %s";
 $locale["Last edited on %s"] =
-   "Ultima modifica su %s";
+   "Ultima modifica %s";
 $locale["LdapSearch"] =
    "LdapRicerca";
+$locale["LikePages"] =
+   "PagineSimili";
 $locale["LiveSearch"] =
    "RicercaLive";
 $locale["Lock"] =
@@ -238,10 +252,14 @@
    "Nota:";
 $locale["Optimizing database"] =
    "Base di dati d'ottimizzazione";
+$locale["Other diffs:"] =
+   "Altre differenze:";
 $locale["Other version"] =
-   "Mostra il versione corrente";
+   "Altra versione";
 $locale["Overwrite All"] =
    "Scriva sopra Tutti";
+$locale["Owner"] =
+   "Proprietario";
 $locale["Owner: %s"] =
    "Owner: %s";
 $locale["Page %s not found."] =
@@ -249,7 +267,7 @@
 $locale["Page Locked"] =
    "Pagina Bloccata";
 $locale["Page Name"] =
-   "Nome Della Pagina";
+   "Nome della Pagina";
 $locale["Page change"] =
    "Cambiamento della pagina";
 $locale["Page now locked."] =
@@ -264,22 +282,32 @@
    "Errore Di Notifica Del Cambiamento Della Pagina:  Non ha potuto trasmettere %s a %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["PhpWikiAdministration/Markup"] =
    "AmministrazioneDiPhpWiki/Disposizione";
 $locale["PhpWikiAdministration/Remove"] =
    "AmministrazioneDiPhpWiki/Rimuovi";
 $locale["Please check it through before saving."] =
-   "Controllilo prego attraverso prima del risparmio.";
+   "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["PreferenceApp"] =
+   "PreferenzeApp";
+$locale["Preferences"] =
+   "Preferenze";
 $locale["PreferencesInfo"] =
    "PreferenzeInfo";
 $locale["PrevNext"] =
    "Seguente";
+$locale["Preview"] =
+   "Anteprima";
 $locale["Previous"] =
    "Precedente";
 $locale["Previous Author"] =
@@ -288,14 +316,18 @@
    "Precedente";
 $locale["Printer"] =
    "Stampante";
+$locale["PurgeHtmlCache"] =
+   "RimuoviDallaCacheHtml";
 $locale["RecentChanges"] =
-   "CambiamentiRecenti";
+   "ModificheRecenti";
+$locale["Related Changes"] =
+   "Modifiche Correlate";
 $locale["Related Links"] =
    "Collegamenti Relativi";
 $locale["Remove"] =
-   "Rimuovi";
+   "Cancella";
 $locale["Remove Page"] =
-   "Rimuovi la Pagina";
+   "Cancella la Pagina";
 $locale["Remove this page"] =
    "Rimuovi la pagina";
 $locale["Removed by: %s"] =
@@ -320,10 +352,14 @@
    "Prescelto";
 $locale["Show minor edits for:"] =
    "Mostrare le modifiche secondarie per:";
+$locale["Sign In"] =
+   "Login";
+$locale["Sign Out"] =
+   "Logout";
+$locale["Sign in as:"] =
+   "Username di login:";
 $locale["Signed Users"] =
    "Utenti Firmati";
-$locale["Signed as %s"] =
-   "Salvata a %s";
 $locale["Size"] =
    "Dimensione";
 $locale["Size:"] =
@@ -335,17 +371,15 @@
 $locale["Sorry for the inconvenience."] =
    "Scusa per l'inconveniente.";
 $locale["Sort by %s"] =
-   "Sort di %s";
+   "Ordina per %s";
 $locale["String \"%s\" not found."] =
    "\"%s\" non trovato.";
 $locale["Summary"] =
    "Commenti";
 $locale["Synopsis"] =
-   "Sinossi";
-$locale["TextFormattingRules"] =
-   "RegoleDiFormattazioneDelTesto";
+   "Sommario";
 $locale["Thank you for editing %s."] =
-   "Grazie per le modifiche! %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:"] =
@@ -353,15 +387,15 @@
 $locale["This page has been locked by the administrator and cannot be edited."] =
    "Questa pagina  stata bloccata dall'amministratore e non pu essere modificata.";
 $locale["This page has been locked by the administrator so your changes can not be saved."] =
-   "Questa pagina  stata bloccata dall'amministratore in modo da i vostri cambiamenti non possono essere salvati.";
+   "Spiacente, ma questa pagina  stata bloccata dall'amministratore,quindi le tue modifiche non possono essere salvate.";
 $locale["Time Zone"] =
    "Fuso Orario";
 $locale["Title Search"] =
-   "La ricerca su tutto il testo";
+   "Ricerca per Titolo";
 $locale["Title search results for '%s'"] =
    "Risultati della ricerca su tutto il testo per '%s'";
 $locale["TitleSearch"] =
-   "RicercaSuTutto";
+   "RicercaPerTitolo";
 $locale["Today"] =
    "Oggi";
 $locale["Transcluded from %s"] =
@@ -386,12 +420,12 @@
    "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["W"] =
    "L";
-$locale["Warning!"] =
-   "Avvertimento!";
 $locale["Warning:"] =
    "Avvertimento:";
 $locale["Width"] =
@@ -402,14 +436,16 @@
    "WikiAmministrazioneDisposizione";
 $locale["Yes"] =
    "Si";
+$locale["You are signed in as %s"] =
+   "Utente corrente: %s";
 $locale["Your careful attention to detail is much appreciated."] =
-   "La tua cura verso il dettaglio  molto apprezzata.";
+   "Si prega di controllare che le modifiche siano quelle volute. Grazie.";
 $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."] =
    "I vostri cambiamenti non possono essere conservati mentre sono, dal fare in modo da scriverebbero sopra i cambiamenti dell'altro autore. Cos, i vostri cambiamenti e quelli dell'altro autore sono stati uniti. Il risultato  indicato sotto.";
 $locale["Your home page is locked so your preferences cannot not be saved."] =
    "Questa pagina  stata bloccata dall'amministratore in modo da i vostri cambiamenti non possono essere salvati.";
 $locale["Your version"] =
-   "versione corrente";
+   "La versione corrente";
 $locale["authenticated"] =
    "autenticato";
 $locale["by %s"] =
diff -ruN 1.3.12p3/locale/it/pgsrc/RegoleDiFormattazioneDelTesto 1.3.14/locale/it/pgsrc/RegoleDiFormattazioneDelTesto
--- 1.3.12p3/locale/it/pgsrc/RegoleDiFormattazioneDelTesto	2006-06-18 06:19:36.000000000 -0500
+++ 1.3.14/locale/it/pgsrc/RegoleDiFormattazioneDelTesto	1969-12-31 18:00:00.000000000 -0600
@@ -1,85 +0,0 @@
-Date: Thu, 28 Mar 2002 14:57:00 -0500
-Mime-Version: 1.0 (Produced by PhpWiki 1.3.2-jeffs-hacks)
-X-Rcs-Id: $Id: RegoleDiFormattazioneDelTesto,v 1.9 2002/03/28 20:32:21 carstenklapp Exp $
-Content-Type: application/x-phpwiki;
-  pagename=RegoleDiFormattazioneDelTesto;
-  flags=PAGE_LOCKED;
-  charset=iso-8859-1
-Content-Transfer-Encoding: binary
-
-! Sinossi
-RegoleDiFormattazioneDelTesto%%%
-__Enfasi:__ '____' per ''corsivo'', _''''_ per __grassetto__, '____'_''''_ per ''__entrambi__''.%%%
-__Liste:__ * per liste puntate, # per liste numerate, ''__;__ term __:__ definition'' per liste di definizioni.
-%%%__Collegamenti:__ !UnisciParoleConInizialiInMaiuscolo o usa le parentesi quadre per un [[collegamento ad una pagina] o un URL [[!http://cool.wiki.int/].
-%%%__Footnotes:__ Use [[1],[[2],[[3],...
-%%%__Preventing linking:__ Prefix with "!": !!DoNotHyperlink, name links like [[[[text | URL] (double up on the "[").
-%%%__Varie:__ "!", "!!", "!!!" definisce le intestazioni, "%''''%%" va a capo, "-''''---" crea una linea orizzontale.
-
-----
-! Paragrafi
-
-* Non identare i paragrafi
-* I word wrap vengono messi a seconda delle necessit
-* Usa le linee bianche come separatori
-* Quattro o pi trattini indicano una linea orizzontale
-* %%''''% produce un ritorno a capo (nelle intestazioni e nelle liste anche)
-
-
-! Liste
-
-* asterisco per il primo livello.
-** asterisco-asterisco per il secondo livello etc, etc
-* Usa * per le liste puntate o # per quelle numerate, mischiale come vuoi 
-* semicolon-term-colon-definition for definition lists:
-;term here:definition here, as in the <DL><DT><DD> list
-* Una linea per ogni elemento
-* Spazi all'inizio del testo cambiano la visualizzazione in monospace.
-
-! Intestazione
-
-* '!' all'inizio produce una picccola intestazione
-* '!!' all'inizio produce una media intestazione
-* '!!!' all'inizio produce una grossa intestazione
-
-
-! Fonts
-
-* Identa con uno o pi spazi per usare i font monospace:
-
- Questo  monospace
-Questo no
-
-!Paragrafi identati
-''(Quotature)''
-
-* il punto e virgola e i due punti funzionano come <BLOCKQUOTE>
-
-;: questo  un blocco di testo identato
-
-! Enfasi
-
-* Usa doppi apici singoli ('') per dare enfasi (solitamente ''italico'')
-* Usa doppio underscores (__) per dare molta enfasi (solitamente __grassetto__)
-* Mescolali a piacere: __''grassetto corsivo''__
-* ''Enfasi'' pu essere usata ''pi volte'' dentro una linea, ma ''non pu'' superare i limiti della linea:
-
-''questo
-non funzioner''
-
-! Links (o collegamenti)
-* I collegamenti alle altre pagine all'interno del Wiki sono fatti usando un nome circondato da parentesi quadre: [questo  un link] oppure UsandoLeWikiWords (metodo preferito)
-* I collegamento alle pagine esterne sono fatti in questo modo: [http://www.wcsb.org]
-* Puoi anche dare un nome al collegamento fornendo una barra o pipe (|) all'inizio del link, ad esempio: [La pagina di PhpWiki | http://phpwiki.sourceforge.net/] - [La pagina princiale | PaginaPrincipale] 
-* Puoi eliminare i link in vecchi stile facendo precedere un URI da un punto esclamativo, come ad esempio !NotEUnWikiName, oppure !http://non.e.linkato
-* [1], [2], [3], [4] refer to remote references. Click EditLinks on the edit form to enter URLs. These differ from the newer linking scheme; references are unique to a page.
-* In ogni caso il vecchio modo di fare collegamenti  ancora supportato, quindi si potranno usare "http:", "ftp:", o "mailto:" per creare automaticamente link, come in http://c2.com 
-* Gli URL che finiscono in .png, .gif o .jpg sono racchiuse da parentesi quadre e permettono di inserire un'immagine, as esempio: [http://phpwiki.sourceforge.net/demo/themes/default/images/png.png]
-
-
-! Linguaggio di marcatura HTML
-
-* Non preoccupartene
-* < e > sono loro stessi
-* I caratteri di & commerciale non funzioneranno
-* Se devi veramente usare l'html puoi provare a chiedere al tuo amministratore del Wiki se pu abilitare la funzionalit. Inizia ogni linea con una barra (|). Nota questa funzionalit  disabilitata di default
diff -ruN 1.3.12p3/locale/it/pgsrc/RegoleFormattazioneTesto 1.3.14/locale/it/pgsrc/RegoleFormattazioneTesto
--- 1.3.12p3/locale/it/pgsrc/RegoleFormattazioneTesto	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/locale/it/pgsrc/RegoleFormattazioneTesto	2007-07-01 05:11:17.000000000 -0500
@@ -0,0 +1,85 @@
+Date: Tue, 20 Mar 2006 06:44:37 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.12p3)
+X-Rcs-Id: $Id: RegoleFormattazioneTesto,v 1.1 2006/06/20 04:45:19 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=RegoleFormattazioneTesto;
+  flags=PAGE_LOCKED;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+! Sinossi
+RegoleFormattazioneTesto%%%
+__Enfasi:__ '____' per ''corsivo'', _''''_ per __grassetto__, '____'_''''_ per ''__entrambi__''.%%%
+__Liste:__ * per liste puntate, # per liste numerate, ''__;__ term __:__ definition'' per liste di definizioni.
+%%%__Collegamenti:__ !UnisciParoleConInizialiInMaiuscolo o usa le parentesi quadre per un [[collegamento ad una pagina] o un URL [[!http://cool.wiki.int/].
+%%%__Footnotes:__ Use [[1],[[2],[[3],...
+%%%__Preventing linking:__ Prefix with "!": !!DoNotHyperlink, name links like [[[[text | URL] (double up on the "[").
+%%%__Varie:__ "!", "!!", "!!!" definisce le intestazioni, "%''''%%" va a capo, "-''''---" crea una linea orizzontale.
+
+----
+! Paragrafi
+
+* Non identare i paragrafi
+* I word wrap vengono messi a seconda delle necessit
+* Usa le linee bianche come separatori
+* Quattro o pi trattini indicano una linea orizzontale
+* %%''''% produce un ritorno a capo (nelle intestazioni e nelle liste anche)
+
+
+! Liste
+
+* asterisco per il primo livello.
+** asterisco-asterisco per il secondo livello etc, etc
+* Usa * per le liste puntate o # per quelle numerate, mischiale come vuoi 
+* semicolon-term-colon-definition for definition lists:
+;term here:definition here, as in the <DL><DT><DD> list
+* Una linea per ogni elemento
+* Spazi all'inizio del testo cambiano la visualizzazione in monospace.
+
+! Intestazione
+
+* '!' all'inizio produce una picccola intestazione
+* '!!' all'inizio produce una media intestazione
+* '!!!' all'inizio produce una grossa intestazione
+
+
+! Fonts
+
+* Identa con uno o pi spazi per usare i font monospace:
+
+ Questo  monospace
+Questo no
+
+!Paragrafi identati
+''(Quotature)''
+
+* il punto e virgola e i due punti funzionano come <BLOCKQUOTE>
+
+;: questo  un blocco di testo identato
+
+! Enfasi
+
+* Usa doppi apici singoli ('') per dare enfasi (solitamente ''italico'')
+* Usa doppio underscores (__) per dare molta enfasi (solitamente __grassetto__)
+* Mescolali a piacere: __''grassetto corsivo''__
+* ''Enfasi'' pu essere usata ''pi volte'' dentro una linea, ma ''non pu'' superare i limiti della linea:
+
+''questo
+non funzioner''
+
+! Links (o collegamenti)
+* I collegamenti alle altre pagine all'interno del Wiki sono fatti usando un nome circondato da parentesi quadre: [questo  un link] oppure UsandoLeWikiWords (metodo preferito)
+* I collegamento alle pagine esterne sono fatti in questo modo: [http://www.wcsb.org]
+* Puoi anche dare un nome al collegamento fornendo una barra o pipe (|) all'inizio del link, ad esempio: [La pagina di PhpWiki | http://phpwiki.sourceforge.net/] - [La pagina princiale | PaginaPrincipale] 
+* Puoi eliminare i link in vecchi stile facendo precedere un URI da un punto esclamativo, come ad esempio !NotEUnWikiName, oppure !http://non.e.linkato
+* [1], [2], [3], [4] refer to remote references. Click EditLinks on the edit form to enter URLs. These differ from the newer linking scheme; references are unique to a page.
+* In ogni caso il vecchio modo di fare collegamenti  ancora supportato, quindi si potranno usare "http:", "ftp:", o "mailto:" per creare automaticamente link, come in http://c2.com 
+* Gli URL che finiscono in .png, .gif o .jpg sono racchiuse da parentesi quadre e permettono di inserire un'immagine, as esempio: [http://phpwiki.sourceforge.net/demo/themes/default/images/png.png]
+
+
+! Linguaggio di marcatura HTML
+
+* Non preoccupartene
+* < e > sono loro stessi
+* I caratteri di & commerciale non funzioneranno
+* Se devi veramente usare l'html puoi provare a chiedere al tuo amministratore del Wiki se pu abilitare la funzionalit. Inizia ogni linea con una barra (|). Nota questa funzionalit  disabilitata di default
Binary files 1.3.12p3/locale/ja/LC_MESSAGES/phpwiki.mo and 1.3.14/locale/ja/LC_MESSAGES/phpwiki.mo differ
diff -ruN 1.3.12p3/locale/ja/LC_MESSAGES/phpwiki.php 1.3.14/locale/ja/LC_MESSAGES/phpwiki.php
--- 1.3.12p3/locale/ja/LC_MESSAGES/phpwiki.php	2006-06-18 06:19:36.000000000 -0500
+++ 1.3.14/locale/ja/LC_MESSAGES/phpwiki.php	2007-07-01 05:11:17.000000000 -0500
@@ -20,8 +20,6 @@
    "'%s': ڡ̾ޤ";
 $locale["(diff)"] =
    "(ʬ)";
-$locale["(hist)"] =
-   "()";
 $locale["<no matches>"] =
    "<פޤ>";
 $locale["<none>"] =
@@ -80,8 +78,6 @@
    "λޤ";
 $locale["Contents"] =
    "ƥ";
-$locale["Count"] =
-   "";
 $locale["Create: %s"] =
    ": %s";
 $locale["Creating pages"] =
@@ -424,8 +420,6 @@
    "ߤΥСɽ";
 $locale["W"] =
    "";
-$locale["Warning!"] =
-   "ٹ!";
 $locale["Warning: You are editing an old revision."] =
    "ٹ: ʤϸŤӥԽƤޤ";
 $locale["Width"] =
diff -ruN 1.3.12p3/locale/Makefile 1.3.14/locale/Makefile
--- 1.3.12p3/locale/Makefile	2006-06-18 06:19:37.000000000 -0500
+++ 1.3.14/locale/Makefile	2007-07-01 05:11:17.000000000 -0500
@@ -1,4 +1,4 @@
- # $Id: Makefile,v 1.47 2005/09/12 06:12:06 rurban Exp $
+ # $Id: Makefile,v 1.51 2007/01/04 16:47:32 rurban Exp $
 #
 # locale/Makefile
 #
@@ -9,6 +9,7 @@
 POT_FILE = po/phpwiki.pot
 SYMLINK  = cp
 #SYMLINK  = ln -s
+GETTEXT_LINT_REPORTXSL = /usr/local/share/gettext-lint/report.xsl
 
 .PHONY: all po mo clean depend ${POT_FILE}
 
@@ -62,7 +63,7 @@
 
 # requires gettext-lint into /usr/local
 check: 
-	POFileChecker po/*.po | xsltproc /usr/local/share/gettext-lint/report.xsl - | \
+	POFileChecker po/*.po | xsltproc $(GETTEXT_LINT_REPORTXSL) - | \
 		perl -pe's/<table>/<table border="1">/; s/<tr><td rowspan=/<tr valign="top"><td rowspan=/g' \
 	        > POFileChecker.html
 
@@ -111,6 +112,7 @@
 ${POT_FILE}: ../lib/HttpClient.php
 ${POT_FILE}: ../lib/IniConfig.php
 ${POT_FILE}: ../lib/InlineParser.php
+${POT_FILE}: ../lib/MailNotify.php
 ${POT_FILE}: ../lib/PageList.php
 ${POT_FILE}: ../lib/PagePerm.php
 ${POT_FILE}: ../lib/PageType.php
@@ -124,6 +126,7 @@
 ${POT_FILE}: ../lib/Template.php
 ${POT_FILE}: ../lib/TextSearchQuery.php
 ${POT_FILE}: ../lib/Theme.php
+${POT_FILE}: ../lib/Units.php
 ${POT_FILE}: ../lib/WikiCallback.php
 ${POT_FILE}: ../lib/WikiDB.php
 ${POT_FILE}: ../lib/WikiDB/ADODB.php
@@ -138,6 +141,7 @@
 ${POT_FILE}: ../lib/WikiDB/backend/ADODB_sqlite.php
 ${POT_FILE}: ../lib/WikiDB/backend/PDO.php
 ${POT_FILE}: ../lib/WikiDB/backend/PDO_mysql.php
+${POT_FILE}: ../lib/WikiDB/backend/PDO_oci8.php
 ${POT_FILE}: ../lib/WikiDB/backend/PDO_pgsql.php
 ${POT_FILE}: ../lib/WikiDB/backend/PearDB.php
 ${POT_FILE}: ../lib/WikiDB/backend/PearDB_mysql.php
@@ -149,14 +153,17 @@
 ${POT_FILE}: ../lib/WikiDB/backend/dbaBase.php
 ${POT_FILE}: ../lib/WikiDB/backend/dumb/AllRevisionsIter.php
 ${POT_FILE}: ../lib/WikiDB/backend/dumb/BackLinkIter.php
+${POT_FILE}: ../lib/WikiDB/backend/dumb/LinkSearchIter.php
 ${POT_FILE}: ../lib/WikiDB/backend/dumb/MostPopularIter.php
 ${POT_FILE}: ../lib/WikiDB/backend/dumb/MostRecentIter.php
 ${POT_FILE}: ../lib/WikiDB/backend/dumb/TextSearchIter.php
 ${POT_FILE}: ../lib/WikiDB/backend/dumb/WantedPagesIter.php
 ${POT_FILE}: ../lib/WikiDB/backend/file.php
+${POT_FILE}: ../lib/WikiDB/backend/flatfile.php
 ${POT_FILE}: ../lib/WikiDB/cvs.php
 ${POT_FILE}: ../lib/WikiDB/dba.php
 ${POT_FILE}: ../lib/WikiDB/file.php
+${POT_FILE}: ../lib/WikiDB/flatfile.php
 ${POT_FILE}: ../lib/WikiGroup.php
 ${POT_FILE}: ../lib/WikiPlugin.php
 ${POT_FILE}: ../lib/WikiPluginCached.php
@@ -167,6 +174,7 @@
 ${POT_FILE}: ../lib/WikiUser/File.php
 ${POT_FILE}: ../lib/WikiUser/Forbidden.php
 ${POT_FILE}: ../lib/WikiUser/HttpAuth.php
+${POT_FILE}: ../lib/WikiUser/HttpAuthUpper.php
 ${POT_FILE}: ../lib/WikiUser/IMAP.php
 ${POT_FILE}: ../lib/WikiUser/LDAP.php
 ${POT_FILE}: ../lib/WikiUser/POP3.php
@@ -175,8 +183,16 @@
 ${POT_FILE}: ../lib/WikiUser/PersonalPage.php
 ${POT_FILE}: ../lib/WikiUser/Session.php
 ${POT_FILE}: ../lib/WikiUserNew.php
+${POT_FILE}: ../lib/WysiwygEdit.php
+${POT_FILE}: ../lib/WysiwygEdit/FCKeditor.php
+${POT_FILE}: ../lib/WysiwygEdit/Wikiwyg.php
+${POT_FILE}: ../lib/WysiwygEdit/htmlarea2.php
+${POT_FILE}: ../lib/WysiwygEdit/htmlarea3.php
+${POT_FILE}: ../lib/WysiwygEdit/spaw.php
+${POT_FILE}: ../lib/WysiwygEdit/tinymce.php
 ${POT_FILE}: ../lib/XmlElement.php
 ${POT_FILE}: ../lib/XmlParser.php
+${POT_FILE}: ../lib/XmlRpcClient.php
 ${POT_FILE}: ../lib/XmlRpcServer.php
 ${POT_FILE}: ../lib/config.php
 ${POT_FILE}: ../lib/diff.php
@@ -187,6 +203,7 @@
 ${POT_FILE}: ../lib/fortune.php
 ${POT_FILE}: ../lib/gif.php
 ${POT_FILE}: ../lib/imagecache.php
+${POT_FILE}: ../lib/imdb.php
 ${POT_FILE}: ../lib/install.php
 ${POT_FILE}: ../lib/loadsave.php
 ${POT_FILE}: ../lib/main.php
@@ -197,10 +214,12 @@
 ${POT_FILE}: ../lib/plugin/AnalyseAccessLogSql.php
 ${POT_FILE}: ../lib/plugin/AppendText.php
 ${POT_FILE}: ../lib/plugin/AsciiMath.php
+${POT_FILE}: ../lib/plugin/AsciiSVG.php
 ${POT_FILE}: ../lib/plugin/AuthorHistory.php
 ${POT_FILE}: ../lib/plugin/BackLinks.php
 ${POT_FILE}: ../lib/plugin/BlogArchives.php
 ${POT_FILE}: ../lib/plugin/BlogJournal.php
+${POT_FILE}: ../lib/plugin/BoxRight.php
 ${POT_FILE}: ../lib/plugin/CacheTest.php
 ${POT_FILE}: ../lib/plugin/Calendar.php
 ${POT_FILE}: ../lib/plugin/CalendarList.php
@@ -224,6 +243,7 @@
 ${POT_FILE}: ../lib/plugin/GraphViz.php
 ${POT_FILE}: ../lib/plugin/HelloWorld.php
 ${POT_FILE}: ../lib/plugin/HtmlConverter.php
+${POT_FILE}: ../lib/plugin/Imdb.php
 ${POT_FILE}: ../lib/plugin/IncludePage.php
 ${POT_FILE}: ../lib/plugin/IncludePages.php
 ${POT_FILE}: ../lib/plugin/IncludeSiteMap.php
@@ -232,10 +252,13 @@
 ${POT_FILE}: ../lib/plugin/LdapSearch.php
 ${POT_FILE}: ../lib/plugin/LikePages.php
 ${POT_FILE}: ../lib/plugin/LinkDatabase.php
+${POT_FILE}: ../lib/plugin/LinkSearch.php
 ${POT_FILE}: ../lib/plugin/ListPages.php
+${POT_FILE}: ../lib/plugin/ListRelations.php
 ${POT_FILE}: ../lib/plugin/ListSubpages.php
 ${POT_FILE}: ../lib/plugin/ModeratedPage.php
 ${POT_FILE}: ../lib/plugin/MostPopular.php
+${POT_FILE}: ../lib/plugin/NewPagesPerUser.php
 ${POT_FILE}: ../lib/plugin/NoCache.php
 ${POT_FILE}: ../lib/plugin/OldStyleTable.php
 ${POT_FILE}: ../lib/plugin/OrphanedPages.php
@@ -252,11 +275,12 @@
 ${POT_FILE}: ../lib/plugin/PluginManager.php
 ${POT_FILE}: ../lib/plugin/PopUp.php
 ${POT_FILE}: ../lib/plugin/PopularNearby.php
+${POT_FILE}: ../lib/plugin/PopularTags.php
+${POT_FILE}: ../lib/plugin/PreferenceApp.php
 ${POT_FILE}: ../lib/plugin/PrevNext.php
 ${POT_FILE}: ../lib/plugin/RandomPage.php
 ${POT_FILE}: ../lib/plugin/RateIt.php
 ${POT_FILE}: ../lib/plugin/RawHtml.php
-${POT_FILE}: ../lib/plugin/RdfDefinition.php
 ${POT_FILE}: ../lib/plugin/RecentChanges.php
 ${POT_FILE}: ../lib/plugin/RecentChangesCached.php
 ${POT_FILE}: ../lib/plugin/RecentComments.php
@@ -267,8 +291,12 @@
 ${POT_FILE}: ../lib/plugin/RichTable.php
 ${POT_FILE}: ../lib/plugin/RssFeed.php
 ${POT_FILE}: ../lib/plugin/SearchHighlight.php
+${POT_FILE}: ../lib/plugin/SemanticRelations.php
+${POT_FILE}: ../lib/plugin/SemanticSearch.php
 ${POT_FILE}: ../lib/plugin/SiteMap.php
+${POT_FILE}: ../lib/plugin/SpellCheck.php
 ${POT_FILE}: ../lib/plugin/SqlResult.php
+${POT_FILE}: ../lib/plugin/SyncWiki.php
 ${POT_FILE}: ../lib/plugin/SyntaxHighlighter.php
 ${POT_FILE}: ../lib/plugin/SystemInfo.php
 ${POT_FILE}: ../lib/plugin/TeX2png.php
@@ -283,7 +311,7 @@
 ${POT_FILE}: ../lib/plugin/UserRatings.php
 ${POT_FILE}: ../lib/plugin/VisualWiki.php
 ${POT_FILE}: ../lib/plugin/WantedPages.php
-${POT_FILE}: ../lib/plugin/WantedPagesOld.php
+${POT_FILE}: ../lib/plugin/WatchPage.php
 ${POT_FILE}: ../lib/plugin/WhoIsOnline.php
 ${POT_FILE}: ../lib/plugin/WikiAdminChmod.php
 ${POT_FILE}: ../lib/plugin/WikiAdminChown.php
@@ -299,10 +327,12 @@
 ${POT_FILE}: ../lib/plugin/WikiFormRich.php
 ${POT_FILE}: ../lib/plugin/WikiForum.php
 ${POT_FILE}: ../lib/plugin/WikiPoll.php
+${POT_FILE}: ../lib/plugin/YouTube.php
 ${POT_FILE}: ../lib/plugin/_AuthInfo.php
 ${POT_FILE}: ../lib/plugin/_BackendInfo.php
 ${POT_FILE}: ../lib/plugin/_GroupInfo.php
 ${POT_FILE}: ../lib/plugin/_PreferencesInfo.php
+${POT_FILE}: ../lib/plugin/_Retransform.php
 ${POT_FILE}: ../lib/plugin/_WikiTranslation.php
 ${POT_FILE}: ../lib/plugin/text2png.php
 ${POT_FILE}: ../lib/prepend.php
@@ -341,10 +371,13 @@
 ${POT_FILE}: ../themes/MonoBook/templates/actionbar.tmpl
 ${POT_FILE}: ../themes/MonoBook/templates/body.tmpl
 ${POT_FILE}: ../themes/MonoBook/templates/browse-footer.tmpl
+${POT_FILE}: ../themes/MonoBook/templates/browse.tmpl
+${POT_FILE}: ../themes/MonoBook/templates/editpage.tmpl
 ${POT_FILE}: ../themes/MonoBook/templates/info.tmpl
 ${POT_FILE}: ../themes/MonoBook/templates/logo.tmpl
 ${POT_FILE}: ../themes/MonoBook/templates/navbar.tmpl
 ${POT_FILE}: ../themes/MonoBook/templates/signin.tmpl
+${POT_FILE}: ../themes/MonoBook/templates/tags.tmpl
 ${POT_FILE}: ../themes/MonoBook/templates/top.tmpl
 ${POT_FILE}: ../themes/MonoBook/themeinfo.php
 ${POT_FILE}: ../themes/Portland/lib/RecentChanges.php
@@ -393,6 +426,7 @@
 ${POT_FILE}: ../themes/blog/templates/search.tmpl
 ${POT_FILE}: ../themes/blog/templates/sidebar.tmpl
 ${POT_FILE}: ../themes/blog/templates/top.tmpl
+${POT_FILE}: ../themes/blog/templates/viewsource.tmpl
 ${POT_FILE}: ../themes/blog/templates/wikiblog.tmpl
 ${POT_FILE}: ../themes/blog/themeinfo.php
 ${POT_FILE}: ../themes/default/hyperapplet.php
@@ -447,7 +481,8 @@
 ${POT_FILE}: ../themes/smaller/templates/navbar.tmpl
 ${POT_FILE}: ../themes/smaller/templates/signin.tmpl
 ${POT_FILE}: ../themes/smaller/themeinfo.php
-${POT_FILE}: ../themes/wikilens/templates/categorypage.tmpl
+${POT_FILE}: ../themes/wikilens/templates/body.tmpl
 ${POT_FILE}: ../themes/wikilens/templates/head.tmpl
 ${POT_FILE}: ../themes/wikilens/templates/navbar.tmpl
+${POT_FILE}: ../themes/wikilens/templates/top.tmpl
 ${POT_FILE}: ../themes/wikilens/themeinfo.php
Binary files 1.3.12p3/locale/nl/LC_MESSAGES/phpwiki.mo and 1.3.14/locale/nl/LC_MESSAGES/phpwiki.mo differ
diff -ruN 1.3.12p3/locale/nl/LC_MESSAGES/phpwiki.php 1.3.14/locale/nl/LC_MESSAGES/phpwiki.php
--- 1.3.12p3/locale/nl/LC_MESSAGES/phpwiki.php	2006-06-18 06:19:37.000000000 -0500
+++ 1.3.14/locale/nl/LC_MESSAGES/phpwiki.php	2007-07-01 05:11:17.000000000 -0500
@@ -44,8 +44,6 @@
    "Volledige tekst zoek resultaten naar '%s'";
 $locale["FullTextSearch"] =
    "VolledigeTekstZoek";
-$locale["GoodStyle"] =
-   "GoedeStijl";
 $locale["H"] =
    "H";
 $locale["Height"] =
@@ -92,8 +90,6 @@
    "Volgende";
 $locale["None"] =
    "Geen";
-$locale["OldTextFormattingRules"] =
-   "OudTekstFormatteringsRegels";
 $locale["Page Locked"] =
    "Sidan r Lst";
 $locale["Page Name"] =
@@ -152,8 +148,6 @@
    "Overgeslagen";
 $locale["Sorry for the inconvenience."] =
    "Excuses voor het ongemak.";
-$locale["TextFormattingRules"] =
-   "TekstFormatteringsRegels";
 $locale["Thank you for editing %s."] =
    "Bedankt voor het veranderen van %s.";
 $locale["The %d most popular pages of this wiki:"] =
diff -ruN 1.3.12p3/locale/po/de.po 1.3.14/locale/po/de.po
--- 1.3.12p3/locale/po/de.po	2006-06-18 06:19:37.000000000 -0500
+++ 1.3.14/locale/po/de.po	2007-07-01 05:11:18.000000000 -0500
@@ -4,9 +4,9 @@
 # ThePhpWikiProgrammingTeam.
 msgid ""
 msgstr ""
-"Project-Id-Version: PhpWiki-1.3.11\n"
+"Project-Id-Version: PhpWiki-1.3.13\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2006-06-18 10:46+0000\n"
+"POT-Creation-Date: 2007-07-01 10:07+0000\n"
 "PO-Revision-Date: 2000-10-31 02:23+0200\n"
 "Last-Translator: Reini Urban <rurban@x-ray.at>, Carsten Klapp "
 "<carstenklapp@users.sourceforge.net>, Helmer Pardun <pardunpress@t-online."
@@ -16,6 +16,29 @@
 "Content-Type: text/plain; charset=iso-8859-1\n"
 "Content-Transfer-Encoding: 8bit\n"
 
+#: ../lib/CachedMarkup.php:478
+msgid "BAD semantic relation link"
+msgstr ""
+
+#: ../lib/CachedMarkup.php:505
+#, php-format
+msgid "Attribute %s, base value: %s"
+msgstr "Attribut %s, Basis: %s"
+
+#: ../lib/CachedMarkup.php:506
+#, php-format
+msgid "Attribute %s, value: %s"
+msgstr "Attribut %s, Wert: %s"
+
+#: ../lib/CachedMarkup.php:514
+#, php-format
+msgid "Relation %s to page %s"
+msgstr "Beziehung %s auf Seite %s"
+
+#: ../lib/CachedMarkup.php:569
+msgid "Found by "
+msgstr "Gefunden von"
+
 #: ../lib/Captcha.php:32
 msgid "Typed in verification word mismatch ... are you a bot?"
 msgstr ""
@@ -44,221 +67,294 @@
 msgid "Supported handlers are: %s"
 msgstr "Untersttzte DBA Methoden sind: %s"
 
-#: ../lib/EditToolbar.php:42
+#: ../lib/EditToolbar.php:29
 msgid "Undo"
 msgstr "Rckgngig"
 
-#: ../lib/EditToolbar.php:48
+#: ../lib/EditToolbar.php:31
 msgid "Undo disabled"
 msgstr "Undo deaktiviert"
 
-#: ../lib/EditToolbar.php:57 ../lib/EditToolbar.php:253
-#: ../lib/EditToolbar.php:254 ../lib/plugin/WikiAdminSearchReplace.php:187
+#: ../lib/EditToolbar.php:32
+msgid "Operation undone"
+msgstr "Aktion rckgngig gemacht"
+
+#: ../lib/EditToolbar.php:33
+msgid "Substring \"\\1\" found \\2 times. Replace with \"\\3\"?"
+msgstr "Substring \"\\1\" \\2 mal gefunden. Ersetze mit \"\\3\"?"
+
+#: ../lib/EditToolbar.php:34
+#, php-format
+msgid "String \"%s\" not found."
+msgstr "Zeichenkette \"%s\" nicht gefunden."
+
+#: ../lib/EditToolbar.php:35 ../lib/EditToolbar.php:200
+#: ../lib/EditToolbar.php:201 ../lib/plugin/WikiAdminSearchReplace.php:187
 msgid "Search & Replace"
 msgstr "Suchen & Ersetzen"
 
-#: ../lib/EditToolbar.php:59 ../lib/plugin/InterWikiSearch.php:91
-#: ../lib/plugin/RecentChanges.php:591 ../themes/Crao/templates/navbar.tmpl:42
-#: ../themes/Crao/templates/navbar.tmpl:44
-#: ../themes/Crao/templates/navbar.tmpl:48
-#: ../themes/blog/templates/search.tmpl:6
-#: ../themes/blog/templates/search.tmpl:7
-#: ../themes/blog/templates/search.tmpl:9
-#: ../themes/blog/templates/search.tmpl:13
-#: ../themes/default/templates/search.tmpl:10
-#: ../themes/default/templates/search.tmpl:11
-#: ../themes/default/templates/search.tmpl:18
-msgid "Search"
-msgstr "Suche"
+#: ../lib/EditToolbar.php:36
+msgid "Search for"
+msgstr "Suche nach"
 
-#: ../lib/EditToolbar.php:61
+#: ../lib/EditToolbar.php:37
 msgid "Replace with"
 msgstr "Ersetze mit"
 
-#: ../lib/EditToolbar.php:63 ../lib/upgrade.php:375 ../lib/upgrade.php:384
-#: ../lib/upgrade.php:393 ../lib/upgrade.php:414 ../lib/upgrade.php:442
-#: ../lib/upgrade.php:492 ../lib/upgrade.php:495 ../lib/upgrade.php:526
-#: ../lib/upgrade.php:528 ../lib/upgrade.php:555 ../lib/upgrade.php:608
-#: ../lib/upgrade.php:727 ../lib/upgrade.php:730 ../lib/upgrade.php:782
-#: ../lib/upgrade.php:840 ../lib/upgrade.php:850
+#: ../lib/EditToolbar.php:38 ../lib/plugin/SyncWiki.php:302
+#: ../lib/plugin/SyncWiki.php:328 ../lib/plugin/SyncWiki.php:351
+#: ../lib/plugin/WikiPoll.php:224 ../lib/upgrade.php:212
+#: ../lib/upgrade.php:415 ../lib/upgrade.php:429 ../lib/upgrade.php:449
+#: ../lib/upgrade.php:458 ../lib/upgrade.php:482 ../lib/upgrade.php:510
+#: ../lib/upgrade.php:560 ../lib/upgrade.php:563 ../lib/upgrade.php:595
+#: ../lib/upgrade.php:597 ../lib/upgrade.php:624 ../lib/upgrade.php:684
+#: ../lib/upgrade.php:709 ../lib/upgrade.php:852 ../lib/upgrade.php:855
+#: ../lib/upgrade.php:906
 msgid "OK"
 msgstr "OK"
 
-#: ../lib/EditToolbar.php:65 ../lib/EditToolbar.php:308
-#: ../lib/EditToolbar.php:354 ../lib/EditToolbar.php:378
-#: ../lib/EditToolbar.php:411
+#: ../lib/EditToolbar.php:39 ../lib/EditToolbar.php:261
+#: ../lib/EditToolbar.php:308 ../lib/EditToolbar.php:338
+#: ../lib/EditToolbar.php:372
 msgid "Close"
 msgstr "Schlieen"
 
-#: ../lib/EditToolbar.php:80
-#, php-format
-msgid "Substring \"%s\" found %s times. Replace with \"%s\"?"
-msgstr "Substring \"%s\" %s mal gefunden. Ersetze mit \"%s\"?"
-
-#: ../lib/EditToolbar.php:82
-#, php-format
-msgid "String \"%s\" not found."
-msgstr "Zeichenkette \"%s\" nicht gefunden."
-
-#: ../lib/EditToolbar.php:105
-msgid "Operation undone"
-msgstr "Aktion rckgngig gemacht"
-
-#: ../lib/EditToolbar.php:167 ../lib/EditToolbar.php:168
+#: ../lib/EditToolbar.php:107
 msgid "Bold text"
 msgstr "Fetter Text"
 
-#: ../lib/EditToolbar.php:172 ../lib/EditToolbar.php:173
+#: ../lib/EditToolbar.php:108
+msgid "Bold text [alt-b]"
+msgstr "Fetter Text [alt-b]"
+
+#: ../lib/EditToolbar.php:112
 msgid "Italic text"
 msgstr "Kursiver Text"
 
-#: ../lib/EditToolbar.php:177
+#: ../lib/EditToolbar.php:113
+msgid "Italic text [alt-i]"
+msgstr "Kursiver Text [alt-i]"
+
+#: ../lib/EditToolbar.php:117
 msgid "optional label | PageName"
 msgstr "optionaler Name | SeitenName"
 
-#: ../lib/EditToolbar.php:178
+#: ../lib/EditToolbar.php:118
 msgid "Link to page"
 msgstr "Link auf Seite"
 
-#: ../lib/EditToolbar.php:182
+#: ../lib/EditToolbar.php:122
 msgid "optional label | http://www.example.com"
 msgstr "optionaler Name | http://www.example.com"
 
-#: ../lib/EditToolbar.php:183
+#: ../lib/EditToolbar.php:123
 msgid "External link (remember http:// prefix)"
 msgstr "Externer Link (http:// prefix)"
 
-#: ../lib/EditToolbar.php:187
+#: ../lib/EditToolbar.php:127
 msgid "Headline text"
 msgstr "berschrift"
 
-#: ../lib/EditToolbar.php:188
+#: ../lib/EditToolbar.php:128
 msgid "Level 1 headline"
 msgstr "H1 berschrift"
 
-#: ../lib/EditToolbar.php:192
+#: ../lib/EditToolbar.php:132
 msgid "Example.jpg"
 msgstr "Beispiel.jpg"
 
-#: ../lib/EditToolbar.php:193
+#: ../lib/EditToolbar.php:133
 msgid "Embedded image"
 msgstr "Bild einfgen"
 
-#: ../lib/EditToolbar.php:197
+#: ../lib/EditToolbar.php:137
 msgid "Insert non-formatted text here"
 msgstr "Fge unformatierten Text hier ein"
 
-#: ../lib/EditToolbar.php:198
+#: ../lib/EditToolbar.php:138
 msgid "Ignore wiki formatting"
 msgstr "Keine Wiki Formatierung"
 
-#: ../lib/EditToolbar.php:203
+#: ../lib/EditToolbar.php:143
 msgid "Your signature"
 msgstr "Deine Signatur"
 
-#: ../lib/EditToolbar.php:208
+#: ../lib/EditToolbar.php:148
 msgid "Horizontal line"
 msgstr "Horizontale Trennlinie"
 
-#: ../lib/EditToolbar.php:210 ../lib/EditToolbar.php:212
-#: ../lib/editpage.php:567
+#: ../lib/EditToolbar.php:150 ../lib/EditToolbar.php:152
+#: ../lib/WysiwygEdit/Wikiwyg.php:85 ../lib/editpage.php:664
 msgid "Save"
 msgstr "Speichern"
 
-#: ../lib/EditToolbar.php:214 ../lib/EditToolbar.php:216
-#: ../lib/editpage.php:563
+#: ../lib/EditToolbar.php:157 ../lib/EditToolbar.php:159
+#: ../lib/WysiwygEdit/Wikiwyg.php:84 ../lib/editpage.php:657
 msgid "Preview"
 msgstr "Vorschau"
 
-#: ../lib/EditToolbar.php:232
+#: ../lib/EditToolbar.php:179
 msgid "Click a button to get an example text"
 msgstr ""
 
-#: ../lib/EditToolbar.php:245 ../lib/EditToolbar.php:246
+#: ../lib/EditToolbar.php:192 ../lib/EditToolbar.php:193
 msgid "Undo Search & Replace"
 msgstr "Suchen & Ersetzen rckgngig machen"
 
-#: ../lib/EditToolbar.php:302 ../lib/EditToolbar.php:303
+#: ../lib/EditToolbar.php:255
 msgid "AddCategory"
 msgstr "NeueKategorie"
 
-#: ../lib/EditToolbar.php:305
+#: ../lib/EditToolbar.php:258
 msgid "Insert Categories (double-click)"
 msgstr "Kategorien einfgen (Doppelklick)"
 
-#: ../lib/EditToolbar.php:307 ../lib/EditToolbar.php:353
-#: ../lib/EditToolbar.php:377 ../lib/EditToolbar.php:410
+#: ../lib/EditToolbar.php:260 ../lib/EditToolbar.php:307
+#: ../lib/EditToolbar.php:337 ../lib/EditToolbar.php:371
 msgid "Insert"
 msgstr "Einfgen"
 
-#: ../lib/EditToolbar.php:348 ../lib/EditToolbar.php:349
+#: ../lib/EditToolbar.php:302 ../lib/EditToolbar.php:303
 msgid "AddPlugin"
 msgstr "Plugin einfgen"
 
-#: ../lib/EditToolbar.php:351
+#: ../lib/EditToolbar.php:305
 msgid "Insert Plugin (double-click)"
 msgstr "Plugin einfgen (Doppelklick)"
 
-#: ../lib/EditToolbar.php:372 ../lib/EditToolbar.php:373
+#: ../lib/EditToolbar.php:332 ../lib/EditToolbar.php:333
 msgid "AddPageLink"
 msgstr "SeitenLink einfgen"
 
-#: ../lib/EditToolbar.php:375
+#: ../lib/EditToolbar.php:335
 msgid "Insert PageLink (double-click)"
 msgstr "SeitenLink einfgen (Doppelklick)"
 
-#: ../lib/EditToolbar.php:405 ../lib/EditToolbar.php:406
+#: ../lib/EditToolbar.php:366 ../lib/EditToolbar.php:367
 msgid "AddTemplate"
 msgstr "NeueVorlage"
 
-#: ../lib/EditToolbar.php:408
+#: ../lib/EditToolbar.php:369
 msgid "Insert Template (double-click)"
 msgstr "Vorlage einfgen (Doppelklick)"
 
-#: ../lib/ErrorManager.php:210
+#: ../lib/ErrorManager.php:211
 #, php-format
 msgid "%s: error while handling error:"
 msgstr "%s: Fehler whrend der Fehlerbehandlung von:"
 
-#: ../lib/FileFinder.php:191 ../lib/loadsave.php:967
+#: ../lib/FileFinder.php:191 ../lib/loadsave.php:1026
 #, php-format
 msgid "%s: file not found"
 msgstr "%s: Datei nicht gefunden"
 
-#: ../lib/IniConfig.php:732
+#: ../lib/IniConfig.php:799
 msgid "CategoryGroup"
 msgstr "KategorieGruppen"
 
 # (namenlos=unbenannt; depends on interpretation)
-#: ../lib/IniConfig.php:734
+#: ../lib/IniConfig.php:801
 msgid "An unnamed PhpWiki"
 msgstr "Unbenanntes PhpWiki"
 
-#: ../lib/IniConfig.php:736 ../lib/upgrade.php:149
-#: ../themes/Wordpress/templates/actionbar.tmpl:18
-#: ../themes/default/templates/userprefs.tmpl:123
+#: ../lib/IniConfig.php:803 ../lib/upgrade.php:172
+#: ../themes/Wordpress/templates/actionbar.tmpl:19
+#: ../themes/blog/templates/browse-footer.tmpl:6
+#: ../themes/default/templates/userprefs.tmpl:124
 msgid "HomePage"
 msgstr "StartSeite"
 
-#: ../lib/InlineParser.php:336
+#: ../lib/InlineParser.php:335
 msgid "Invalid [] syntax ignored"
 msgstr "Ungltige [] syntax ignoriert"
 
-#: ../lib/InlineParser.php:652
+#: ../lib/InlineParser.php:736
 #, php-format
 msgid "unknown color %s ignored"
 msgstr "unbekannte Farbe %s ignoriert"
 
-#: ../lib/PageList.php:104
+#: ../lib/MailNotify.php:129
+#, php-format
+msgid "PageChange Notification of %s"
+msgstr "Seitennderung Benachrichtigung von %s"
+
+#: ../lib/MailNotify.php:156
+#, php-format
+msgid "sent to %s"
+msgstr "an %s gesendet"
+
+#: ../lib/MailNotify.php:162
+#, php-format
+msgid "Error: Couldn't send %s to %s"
+msgstr "Fehler: Kann nicht %s zu %s senden"
+
+#: ../lib/MailNotify.php:184
+msgid "Page change"
+msgstr "Seiten nderung"
+
+#: ../lib/MailNotify.php:211 ../lib/loadsave.php:841
+#: ../lib/plugin/RecentChanges.php:109
+msgid "New page"
+msgstr "Neue Seite"
+
+# (Wrong Translation; sorry, but the German term for edit is NOT
+# editieren, but  e d i e r e n).
+#: ../lib/MailNotify.php:213 ../lib/MailNotify.php:231 ../lib/loadsave.php:93
+#, php-format
+msgid "Edited by: %s"
+msgstr "Bearbeitet von: %s"
+
+#: ../lib/MailNotify.php:232
+#, php-format
+msgid "Page rename %s to %s"
+msgstr "Seite %s nach umbenennen %s"
+
+# (Wrong Translation; sorry, but the German term for edit is NOT
+# editieren, but  e d i e r e n).
+#: ../lib/MailNotify.php:269
+#, php-format
+msgid "Removed by: %s"
+msgstr "Gelscht von: %s"
+
+#: ../lib/MailNotify.php:271
+#, php-format
+msgid "Page removed %s"
+msgstr "Seite gelscht %s"
+
+#: ../lib/MailNotify.php:320
+msgid "e-mail address confirmation"
+msgstr "E-Mail Adress Besttigung"
+
+#: ../lib/MailNotify.php:323
+#, php-format
+msgid ""
+"Someone, probably you from IP address %s, has registered an\n"
+"account \"%s\" with this e-mail address on %s.\n"
+"\n"
+"To confirm that this account really does belong to you and activate\n"
+"e-mail features on %s, open this link in your browser:\n"
+"\n"
+"%s\n"
+"\n"
+"If this is *not* you, don't follow the link. This confirmation code\n"
+"will expire at %s."
+msgstr ""
+
+#: ../lib/PageList.php:109
 #, php-format
 msgid "Sort by %s"
 msgstr "Sortiere nach %s"
 
-#: ../lib/PageList.php:149
+#: ../lib/PageList.php:139
+#, fuzzy
+msgid "reverse"
+msgstr "Zurckspeichern"
+
+#: ../lib/PageList.php:153
 msgid "Click to reverse sort order"
 msgstr "Klicken Sie um die Reihenfolge umzudrehen"
 
-#: ../lib/PageList.php:157
+#: ../lib/PageList.php:160
 #, php-format
 msgid "Click to sort by %s"
 msgstr "Sortiere nach %s"
@@ -267,105 +363,100 @@
 msgid "Click to de-/select all pages"
 msgstr "Klicken Sie um alle/keine Seiten auszuwhlen"
 
-#: ../lib/PageList.php:366 ../lib/plugin/UnfoldSubpages.php:132
+#: ../lib/PageList.php:370 ../lib/plugin/UnfoldSubpages.php:132
 #, php-format
 msgid " ... first %d bytes"
 msgstr " ... erste %d Bytes"
 
-#: ../lib/PageList.php:372
+#: ../lib/PageList.php:376
 #, php-format
 msgid " ... around %s"
 msgstr "... cirka %s"
 
-#: ../lib/PageList.php:402 ../lib/plugin/AppendText.php:57
-#: ../lib/upgrade.php:810
+#: ../lib/PageList.php:406 ../lib/plugin/AppendText.php:57
 #, php-format
 msgid "%s not found"
 msgstr "%s nicht gefunden"
 
-#: ../lib/PageList.php:466 ../lib/plugin/AuthorHistory.php:174
-#: ../lib/plugin/WantedPagesOld.php:151
+#: ../lib/PageList.php:480 ../lib/plugin/AuthorHistory.php:174
 msgid "Page Name"
 msgstr "Seitenname"
 
-#: ../lib/PageList.php:555 ../lib/plugin/FullTextSearch.php:107
+#: ../lib/PageList.php:609 ../lib/plugin/FullTextSearch.php:112
 msgid "<no matches>"
 msgstr "<nichts gefunden>"
 
-#: ../lib/PageList.php:934 ../lib/plugin/WikiAdminSearchReplace.php:171
+#: ../lib/PageList.php:1036 ../lib/plugin/WikiAdminSearchReplace.php:171
 msgid "Content"
 msgstr "Inhalt"
 
-#: ../lib/PageList.php:950
+#: ../lib/PageList.php:1052
 msgid "Select"
 msgstr "Auswahl"
 
-#: ../lib/PageList.php:954 ../themes/MonoBook/templates/info.tmpl:71
-#: ../themes/default/templates/info.tmpl:64
-#: ../themes/shamino_com/templates/info.tmpl:70
+#: ../lib/PageList.php:1056 ../themes/MonoBook/templates/info.tmpl:71
+#: ../themes/default/templates/info.tmpl:63
 msgid "Last Modified"
 msgstr "Zuletzt gendert"
 
-#: ../lib/PageList.php:956
+#: ../lib/PageList.php:1058
 msgid "Hits"
 msgstr "Treffer"
 
-#: ../lib/PageList.php:958 ../themes/Crao/templates/editpage.tmpl:37
+#: ../lib/PageList.php:1060 ../themes/Crao/templates/editpage.tmpl:37
 #: ../themes/Wordpress/templates/editpage.tmpl:38
 #: ../themes/default/templates/editpage.tmpl:39
 msgid "Size"
 msgstr "Gre"
 
-#: ../lib/PageList.php:961 ../themes/MonoBook/templates/info.tmpl:73
-#: ../themes/default/templates/info.tmpl:66
-#: ../themes/shamino_com/templates/info.tmpl:72
+#: ../lib/PageList.php:1063 ../themes/MonoBook/templates/info.tmpl:73
+#: ../themes/default/templates/info.tmpl:65
 msgid "Last Summary"
 msgstr "Letzte Zusammenfassung"
 
-#: ../lib/PageList.php:963 ../lib/plugin/AuthorHistory.php:123
+#: ../lib/PageList.php:1065 ../lib/plugin/AuthorHistory.php:123
 #: ../lib/plugin/AuthorHistory.php:176 ../lib/plugin/PluginManager.php:90
 msgid "Version"
 msgstr "Version"
 
-#: ../lib/PageList.php:966 ../themes/MonoBook/templates/info.tmpl:72
-#: ../themes/default/templates/info.tmpl:65
-#: ../themes/shamino_com/templates/info.tmpl:71
+#: ../lib/PageList.php:1068 ../themes/MonoBook/templates/info.tmpl:72
+#: ../themes/default/templates/info.tmpl:64
 msgid "Last Author"
 msgstr "Letzter Autor"
 
-#: ../lib/PageList.php:968 ../lib/WikiGroup.php:36
+#: ../lib/PageList.php:1070 ../lib/WikiGroup.php:36
 msgid "Owner"
 msgstr "Besitzer"
 
-#: ../lib/PageList.php:970 ../lib/WikiGroup.php:37
+#: ../lib/PageList.php:1072 ../lib/WikiGroup.php:37
 msgid "Creator"
 msgstr "Erzeuger"
 
-#: ../lib/PageList.php:976 ../themes/Crao/templates/editpage.tmpl:61
+#: ../lib/PageList.php:1078 ../themes/Crao/templates/editpage.tmpl:61
 #: ../themes/MonoBook/templates/info.tmpl:132
-#: ../themes/default/templates/editpage.tmpl:73
-#: ../themes/default/templates/info.tmpl:127
-#: ../themes/shamino_com/templates/info.tmpl:132
+#: ../themes/Wordpress/templates/editpage.tmpl:61
+#: ../themes/default/templates/editpage.tmpl:74
+#: ../themes/default/templates/info.tmpl:126
 msgid "Locked"
 msgstr "Gesperrt"
 
-#: ../lib/PageList.php:977
+#: ../lib/PageList.php:1079
 msgid "locked"
 msgstr "gesperrt"
 
-#: ../lib/PageList.php:980
+#: ../lib/PageList.php:1082
 msgid "Minor Edit"
 msgstr "Kleinere nderung"
 
-#: ../lib/PageList.php:980
+#: ../lib/PageList.php:1082
 msgid "minor"
 msgstr "kleinere"
 
-#: ../lib/PageList.php:982
+#: ../lib/PageList.php:1084
 msgid "Markup"
 msgstr "Quelltext"
 
-#: ../lib/PageList.php:1239 ../lib/plugin/WantedPagesOld.php:178
+#: ../lib/PageList.php:1357
 #, php-format
 msgid "Columns: %s."
 msgstr "Spalten: %s."
@@ -404,56 +495,53 @@
 msgid "Unsupported ACL access type %s ignored."
 msgstr "Nicht untersttzter ACL Zugiffsmodus %s ignoriert."
 
-#: ../lib/PagePerm.php:558
+#: ../lib/PagePerm.php:561
 msgid "Access"
 msgstr "Zugriff"
 
-#: ../lib/PagePerm.php:560
+#: ../lib/PagePerm.php:563
 msgid "Group/User"
 msgstr "Gruppe/Benutzer"
 
-#: ../lib/PagePerm.php:561
+#: ../lib/PagePerm.php:564
 msgid "Grant"
 msgstr "Erlaube"
 
-#: ../lib/PagePerm.php:562
+#: ../lib/PagePerm.php:565
 msgid "Del/+"
 msgstr "L/+"
 
-#: ../lib/PagePerm.php:563 ../lib/plugin/PluginManager.php:90
-#: ../lib/plugin/WikiAdminSetAcl.php:230
+#: ../lib/PagePerm.php:566 ../lib/plugin/PluginManager.php:90
+#: ../lib/plugin/WikiAdminSetAcl.php:234
 msgid "Description"
 msgstr "Beschreibung"
 
-#: ../lib/PagePerm.php:584
+#: ../lib/PagePerm.php:587
 msgid "Add this ACL"
 msgstr "Fge diese ACL hinzu"
 
-#: ../lib/PagePerm.php:608
+#: ../lib/PagePerm.php:611
 msgid "Allow / Deny"
 msgstr "Erlaube / Sperre"
 
-#: ../lib/PagePerm.php:620
+#: ../lib/PagePerm.php:623
 msgid "Delete this ACL"
 msgstr "Lsche diese ACL"
 
-#: ../lib/PagePerm.php:646
+#: ../lib/PagePerm.php:649
 msgid "add "
 msgstr "hinzufgen "
 
-#: ../lib/PagePerm.php:650
+#: ../lib/PagePerm.php:653
 msgid "Check to add this ACL"
 msgstr "Anklicken um diese ACL hinzuzufgen"
 
-#: ../lib/PageType.php:134 ../lib/loadsave.php:733
-#: ../lib/plugin/InterWikiSearch.php:55 ../lib/plugin/WantedPages.php:54
-#: ../lib/plugin/WantedPagesOld.php:81
+#: ../lib/PageType.php:134 ../lib/loadsave.php:776 ../lib/loadsave.php:1424
+#: ../lib/plugin/InterWikiSearch.php:57 ../lib/plugin/WantedPages.php:55
 #: ../themes/MonoBook/templates/info.tmpl:149
 #: ../themes/MonoBook/templates/info.tmpl:150
+#: ../themes/default/templates/info.tmpl:143
 #: ../themes/default/templates/info.tmpl:144
-#: ../themes/default/templates/info.tmpl:145
-#: ../themes/shamino_com/templates/info.tmpl:149
-#: ../themes/shamino_com/templates/info.tmpl:150
 msgid "InterWikiMap"
 msgstr "InterWikiListe"
 
@@ -461,347 +549,358 @@
 msgid "WARNING: InterWikiMap page is unlocked, so not using those links."
 msgstr "ACHTUNG: Die InterWikiListe Seite ist ungesperrt. Ignoriert."
 
-#: ../lib/PageType.php:231 ../lib/PageType.php:234 ../lib/stdlib.php:670
-#: ../themes/MonoBook/templates/actionbar.tmpl:15
-#: ../themes/MonoBook/templates/actionbar.tmpl:19
-#: ../themes/MonoBook/templates/actionbar.tmpl:23
-#: ../themes/Sidebar/templates/navbar.tmpl:27
-#: ../themes/Sidebar/templates/navbar.tmpl:29
+#: ../lib/PageType.php:247 ../lib/PageType.php:250 ../lib/stdlib.php:673
+#: ../themes/MonoBook/templates/actionbar.tmpl:14
+#: ../themes/MonoBook/templates/actionbar.tmpl:21
+#: ../themes/MonoBook/templates/actionbar.tmpl:25
+#: ../themes/MonoBook/templates/actionbar.tmpl:31
+#: ../themes/Sidebar/templates/navbar.tmpl:17
+#: ../themes/Sidebar/templates/navbar.tmpl:19
 #: ../themes/default/templates/navbar.tmpl:11
 #: ../themes/default/templates/navbar.tmpl:13
+#: ../themes/wikilens/templates/navbar.tmpl:9
+#: ../themes/wikilens/templates/navbar.tmpl:11
 msgid "Discussion"
 msgstr "Diskussion"
 
-#: ../lib/PageType.php:274 ../lib/loadsave.php:979
+#: ../lib/PageType.php:286 ../lib/loadsave.php:1038
 #, php-format
 msgid "Loading InterWikiMap from external file %s."
 msgstr "Die InterWikiListe wird von der externen Datei %s geladen."
 
-#: ../lib/PageType.php:372
+#: ../lib/PageType.php:384
 msgid "Moniker"
 msgstr "Kurzname"
 
-#: ../lib/PageType.php:373
+#: ../lib/PageType.php:385
 msgid "InterWiki Address"
 msgstr "InterWiki-Adresse"
 
 # (Im Wortsinne heit das eigentlich: "jngste = eben gemachte
 # nderungen"; in terms of newspapers or journalism it's traditionally
 # "NeuesteNachrichten" or much more better "DasNeueste").
-#: ../lib/RSSWriter091.php:113 ../lib/loadsave.php:1353
-#: ../lib/plugin/RecentChanges.php:272 ../lib/plugin/RecentChanges.php:287
-#: ../lib/plugin/RecentChanges.php:390 ../lib/plugin/RecentChanges.php:467
-#: ../lib/plugin/RecentChanges.php:603 ../lib/plugin/RecentChanges.php:737
-#: ../themes/Crao/templates/head.tmpl:63
+#: ../lib/RSSWriter091.php:113 ../lib/display.php:120 ../lib/display.php:307
+#: ../lib/loadsave.php:1445 ../lib/plugin/RecentChanges.php:181
+#: ../lib/plugin/RecentChanges.php:188 ../lib/plugin/RecentChanges.php:328
+#: ../lib/plugin/RecentChanges.php:346 ../lib/plugin/RecentChanges.php:523
+#: ../lib/plugin/RecentChanges.php:600 ../lib/plugin/RecentChanges.php:736
+#: ../lib/plugin/RecentChanges.php:1002 ../themes/Crao/templates/head.tmpl:63
 #: ../themes/Crao/templates/navbar.tmpl:13
-#: ../themes/MonoBook/templates/navbar.tmpl:13
-#: ../themes/Portland/templates/navbar.tmpl:28
-#: ../themes/Wordpress/templates/actionbar.tmpl:21
-#: ../themes/blog/templates/actionbar.tmpl:20
+#: ../themes/MonoBook/templates/navbar.tmpl:15
+#: ../themes/Portland/templates/navbar.tmpl:25
+#: ../themes/Wordpress/templates/actionbar.tmpl:22
+#: ../themes/blog/templates/actionbar.tmpl:14
 #: ../themes/default/templates/head.tmpl:69
 #: ../themes/default/templates/navbar.tmpl:19
 #: ../themes/shamino_com/templates/top.tmpl:20
 #: ../themes/smaller/templates/navbar.tmpl:7
 #: ../themes/wikilens/templates/head.tmpl:60
-#: ../themes/wikilens/templates/navbar.tmpl:10
+#: ../themes/wikilens/templates/navbar.tmpl:17
 msgid "RecentChanges"
 msgstr "Neuestenderungen"
 
-#: ../lib/Request.php:696 ../lib/Request.php:699
+#: ../lib/Request.php:703 ../lib/Request.php:706
 msgid "Upload error: file too big"
 msgstr ""
 
-#: ../lib/Request.php:702
+#: ../lib/Request.php:709
 msgid "Upload error: file only partially recieved"
 msgstr ""
 
-#: ../lib/Request.php:705
+#: ../lib/Request.php:712
 msgid "Upload error: no file selected"
 msgstr ""
 
-#: ../lib/Request.php:708
+#: ../lib/Request.php:715
 msgid "Upload error: unknown error #"
 msgstr ""
 
-#: ../lib/Request.php:815 ../lib/main.php:1160 ../lib/main.php:1173
+#: ../lib/Request.php:824 ../lib/main.php:1221 ../lib/main.php:1234
 #, php-format
 msgid "%s is not writable."
 msgstr "%s is nicht nderbar."
 
-#: ../lib/Request.php:815
+#: ../lib/Request.php:824
 msgid "The PhpWiki access log file"
 msgstr "Die PhpWiki Zugriffslog Datei"
 
-#: ../lib/Request.php:817 ../lib/main.php:1163
+#: ../lib/Request.php:826 ../lib/main.php:1224
 #, php-format
 msgid "Please ensure that %s is writable, or redefine %s in config/config.ini."
 msgstr ""
 "Bitte berprfen Sie, dass %s nderbar ist, oder ndern Sie %s in config/"
 "config.ini."
 
-#: ../lib/Request.php:818
+#: ../lib/Request.php:827
 #, php-format
 msgid "the file '%s'"
 msgstr "die Datei %s"
 
-#: ../lib/Template.php:175
+#: ../lib/SemanticWeb.php:135
+msgid "URIResolver"
+msgstr ""
+
+#: ../lib/SemanticWeb.php:149 ../lib/plugin/SemanticSearch.php:302
+msgid "Relation"
+msgstr "Beziehung"
+
+#: ../lib/SemanticWeb.php:151 ../lib/plugin/SemanticSearch.php:375
+msgid "Attribute"
+msgstr "Attribut"
+
+#: ../lib/Template.php:178
 #, php-format
 msgid "%4d  %s\n"
 msgstr "%4d  %s\n"
 
-#: ../lib/TextSearchQuery.php:79 ../lib/plugin/FileInfo.php:100
+#: ../lib/TextSearchQuery.php:79 ../lib/plugin/FileInfo.php:116
 #, php-format
 msgid "Unsupported argument: %s=%s"
 msgstr "Nicht untersttztes Argument: %s=%s"
 
-#: ../lib/TextSearchQuery.php:89
+#: ../lib/TextSearchQuery.php:90
 msgid "(A|An|And|But|By|For|From|In|Is|It|Of|On|Or|The|To|With)"
 msgstr ""
+"(Ein|Eine|Einer|Und|Aber|Wenn|Fr|Von|In|Ist|Es|Oder|Der|Die|Das|Nach|Mit)"
 
-#: ../lib/Theme.php:388
+#: ../lib/Theme.php:398
 msgid "Never edited"
 msgstr "Noch nie bearbeitet."
 
-#: ../lib/Theme.php:395
+#: ../lib/Theme.php:405
 #, php-format
 msgid "%s at %s"
 msgstr "%s um %s"
 
-#: ../lib/Theme.php:399
+#: ../lib/Theme.php:409
 #, php-format
 msgid "Version %s, saved %s"
 msgstr "Version %s. %s gespeichert"
 
 # (Usually a verb, never a noun; siehe nchste Reihe:
 # saved=gespeichert nicht "Speicherung am.")
-#: ../lib/Theme.php:401
+#: ../lib/Theme.php:411
 #, php-format
 msgid "Last edited %s"
 msgstr "Zuletzt gendert %s"
 
-#: ../lib/Theme.php:410
+#: ../lib/Theme.php:420
 #, php-format
 msgid "Version %s, saved on %s"
 msgstr "Version %s. gespeichert am %s"
 
-#: ../lib/Theme.php:412
+#: ../lib/Theme.php:422
 #, php-format
 msgid "Last edited on %s"
 msgstr "Zuletzt bearbeitet am %s"
 
-#: ../lib/Theme.php:428
+#: ../lib/Theme.php:438
 msgid "today"
 msgstr "heute"
 
-#: ../lib/Theme.php:435
+#: ../lib/Theme.php:445
 msgid "yesterday"
 msgstr "gestern"
 
-#: ../lib/Theme.php:456 ../lib/Theme.php:458
+#: ../lib/Theme.php:466 ../lib/Theme.php:468
 #, php-format
 msgid "Owner: %s"
 msgstr "Besitzer: %s"
 
-#: ../lib/Theme.php:470 ../lib/Theme.php:472 ../lib/diff.php:262
-#: ../lib/plugin/Diff.php:75
+#: ../lib/Theme.php:481 ../lib/Theme.php:483 ../lib/diff.php:261
+#: ../lib/plugin/Diff.php:76
 #, php-format
 msgid "by %s"
 msgstr "von %s"
 
-#: ../lib/Theme.php:564
+#: ../lib/Theme.php:575
 #, php-format
 msgid "Empty link to: %s"
 msgstr "Leerer Link zu: %s"
 
-#: ../lib/Theme.php:579 ../themes/MacOSX/themeinfo.php:71
+#: ../lib/Theme.php:590 ../themes/MacOSX/themeinfo.php:71
 #, php-format
 msgid "Create: %s"
 msgstr "Erzeugen: %s"
 
-#: ../lib/Theme.php:598
+#: ../lib/Theme.php:609
 #, php-format
 msgid "Google:%s"
 msgstr ""
 
-#: ../lib/Theme.php:623
+#: ../lib/Theme.php:634
 #, php-format
 msgid "'%s': Bad page name"
 msgstr "%s: Ungltiger Seitenname"
 
-#: ../lib/Theme.php:933 ../themes/Crao/templates/actionbar.tmpl:5
-#: ../themes/MonoBook/templates/actionbar.tmpl:11
-#: ../themes/blog/themeinfo.php:53
-#: ../themes/default/templates/actionbar.tmpl:15
+#: ../lib/Theme.php:977 ../lib/plugin/WatchPage.php:89
+#: ../themes/Crao/templates/actionbar.tmpl:5
+#: ../themes/MonoBook/templates/actionbar.tmpl:34
+#: ../themes/blog/themeinfo.php:61
+#: ../themes/default/templates/actionbar.tmpl:16
 #: ../themes/shamino_com/templates/actionbar.tmpl:6
-#: ../themes/shamino_com/templates/info.tmpl:164
 #: ../themes/smaller/templates/actionbar.tmpl:18
 msgid "Edit"
 msgstr "Bearbeiten"
 
-#: ../lib/Theme.php:934 ../lib/plugin/Diff.php:36
-#: ../themes/blog/themeinfo.php:54
+#: ../lib/Theme.php:978 ../lib/plugin/Diff.php:37
+#: ../themes/blog/themeinfo.php:62
 msgid "Diff"
 msgstr "Diff"
 
-#: ../lib/Theme.php:935 ../themes/Crao/templates/signin.tmpl:15
-#: ../themes/Crao/templates/signin.tmpl:31
-#: ../themes/MonoBook/templates/signin.tmpl:16
-#: ../themes/MonoBook/templates/signin.tmpl:30
-#: ../themes/Sidebar/templates/signin.tmpl:16
-#: ../themes/Sidebar/templates/signin.tmpl:30
-#: ../themes/Wordpress/templates/signin.tmpl:18
-#: ../themes/Wordpress/templates/signin.tmpl:34
+#: ../lib/Theme.php:979 ../themes/Crao/templates/signin.tmpl:14
+#: ../themes/Crao/templates/signin.tmpl:30
+#: ../themes/Sidebar/templates/signin.tmpl:15
+#: ../themes/Sidebar/templates/signin.tmpl:29
+#: ../themes/Wordpress/templates/signin.tmpl:17
+#: ../themes/Wordpress/templates/signin.tmpl:33
 #: ../themes/default/templates/signin.tmpl:16
 #: ../themes/default/templates/signin.tmpl:27
-#: ../themes/shamino_com/templates/signin.tmpl:15
-#: ../themes/shamino_com/templates/signin.tmpl:28
+#: ../themes/shamino_com/templates/signin.tmpl:14
+#: ../themes/shamino_com/templates/signin.tmpl:27
 #: ../themes/smaller/templates/signin.tmpl:16
 #: ../themes/smaller/templates/signin.tmpl:27
 msgid "Sign Out"
 msgstr "Abmelden"
 
-#: ../lib/Theme.php:936 ../lib/WikiUser.php:221 ../lib/WikiUserNew.php:473
-#: ../themes/Crao/templates/signin.tmpl:54
-#: ../themes/Crao/templates/signin.tmpl:59
+#: ../lib/Theme.php:980 ../lib/WikiUser.php:221 ../lib/WikiUserNew.php:503
+#: ../themes/Crao/templates/signin.tmpl:53
 #: ../themes/default/templates/login.tmpl:76
 #: ../themes/smaller/templates/signin.tmpl:54
 msgid "Sign In"
 msgstr "Anmelden"
 
-#: ../lib/Theme.php:937 ../themes/MacOSX/themeinfo.php:135
+#: ../lib/Theme.php:981 ../themes/MacOSX/themeinfo.php:133
 msgid "Lock Page"
 msgstr "Seite Sperren"
 
-#: ../lib/Theme.php:938 ../themes/MacOSX/themeinfo.php:136
+#: ../lib/Theme.php:982 ../themes/MacOSX/themeinfo.php:134
 msgid "Unlock Page"
 msgstr "Seite Freigeben"
 
-#: ../lib/Theme.php:939 ../lib/removepage.php:23 ../lib/removepage.php:63
+#: ../lib/Theme.php:983 ../lib/removepage.php:23 ../lib/removepage.php:63
 msgid "Remove Page"
 msgstr "Seite Lschen"
 
-#: ../lib/Theme.php:1188 ../lib/main.php:1014
-#: ../lib/plugin/RecentChanges.php:594 ../lib/plugin/TitleSearch.php:43
+#: ../lib/Theme.php:1149
+msgid ""
+"Some action(page) wanted to add more headers, but they were already printed."
+msgstr ""
+
+#: ../lib/Theme.php:1225 ../themes/Hawaiian/themeinfo.php:28
+#: ../themes/MacOSX/themeinfo.php:102 ../themes/MonoBook/themeinfo.php:126
+#: ../themes/Portland/themeinfo.php:58 ../themes/Sidebar/themeinfo.php:40
+#: ../themes/SpaceWiki/themeinfo.php:42 ../themes/Wordpress/themeinfo.php:60
+#: ../themes/shamino_com/themeinfo.php:54 ../themes/wikilens/themeinfo.php:25
+msgid "Printer"
+msgstr "Drucker"
+
+#: ../lib/Theme.php:1226 ../themes/MacOSX/themeinfo.php:103
+#: ../themes/MonoBook/themeinfo.php:127 ../themes/shamino_com/themeinfo.php:55
+#: ../themes/wikilens/themeinfo.php:26
+msgid "Top & bottom toolbars"
+msgstr "Obere u. untere Werkzeugleisten"
+
+#: ../lib/Theme.php:1227 ../themes/Hawaiian/themeinfo.php:29
+#: ../themes/MonoBook/themeinfo.php:128 ../themes/Portland/themeinfo.php:59
+#: ../themes/Sidebar/themeinfo.php:41 ../themes/SpaceWiki/themeinfo.php:43
+#: ../themes/Wordpress/themeinfo.php:61 ../themes/shamino_com/themeinfo.php:56
+#: ../themes/wikilens/themeinfo.php:27
+msgid "Modern"
+msgstr "Modern"
+
+#: ../lib/Theme.php:1374 ../lib/main.php:1053
+#: ../lib/plugin/RecentChanges.php:727 ../lib/plugin/TitleSearch.php:43
 #: ../themes/Crao/templates/navbar.tmpl:4
 #: ../themes/Crao/templates/navbar.tmpl:8
 #: ../themes/Crao/templates/navbar.tmpl:51
-#: ../themes/MonoBook/templates/navbar.tmpl:23
-#: ../themes/Sidebar/templates/navbar.tmpl:7
-#: ../themes/Sidebar/templates/navbar.tmpl:13
-#: ../themes/Sidebar/templates/navbar.tmpl:20
+#: ../themes/MonoBook/templates/navbar.tmpl:33
 #: ../themes/blog/templates/search.tmpl:3
 #: ../themes/blog/templates/search.tmpl:18
 #: ../themes/default/templates/navbar.tmpl:6
 #: ../themes/default/templates/navbar.tmpl:24
 #: ../themes/default/templates/search.tmpl:3
-#: ../themes/default/templates/search.tmpl:6
-#: ../themes/default/templates/search.tmpl:25
-#: ../themes/default/templates/search.tmpl:29
+#: ../themes/default/templates/search.tmpl:9
+#: ../themes/default/templates/search.tmpl:33
 #: ../themes/shamino_com/templates/top.tmpl:18
 #: ../themes/smaller/templates/navbar.tmpl:4
-#: ../themes/wikilens/templates/navbar.tmpl:7
-#: ../themes/wikilens/templates/navbar.tmpl:15
 msgid "TitleSearch"
 msgstr "TitelSuche"
 
-#: ../lib/Theme.php:1347
+#: ../lib/Theme.php:1426 ../lib/plugin/Calendar.php:41
+#: ../lib/plugin/Calendar.php:45 ../themes/Crao/templates/head.tmpl:89
+#: ../themes/Crao/templates/navbar.tmpl:28
+#: ../themes/Sidebar/templates/body.tmpl:21
+#: ../themes/Sidebar/templates/body.tmpl:26
+#: ../themes/Wordpress/templates/actionbar.tmpl:32
+#: ../themes/blog/templates/sidebar.tmpl:16
+#: ../themes/default/templates/head.tmpl:96
+#: ../themes/default/templates/homepage.tmpl:15
+#: ../themes/default/templates/navbar.tmpl:45
+#: ../themes/wikilens/templates/head.tmpl:89
+#: ../themes/wikilens/templates/navbar.tmpl:25
+msgid "Calendar"
+msgstr "Kalender"
+
+#: ../lib/Theme.php:1690
 #, php-format
 msgid "Plugin %s: undefined"
 msgstr "Zusatzprogramm %s: undefiniert"
 
-#: ../lib/Theme.php:1370
+#: ../lib/Theme.php:1713
 msgid "Related Links"
 msgstr "Verwandte Links"
 
-#: ../lib/Theme.php:1390
+#: ../lib/Theme.php:1734
 msgid "External Links"
 msgstr "Externe Links"
 
-# (Wrong Translation; sorry, but the German term for edit is NOT
-# editieren, but  e d i e r e n).
-#: ../lib/WikiDB.php:233
-#, php-format
-msgid "Removed by: %s"
-msgstr "Gelscht von: %s"
-
-#: ../lib/WikiDB.php:235
-#, php-format
-msgid "Page removed %s"
-msgstr "Seite gelscht %s"
-
-#: ../lib/WikiDB.php:241 ../lib/WikiDB.php:1054 ../lib/WikiDB.php:1079
-#: ../lib/loadsave.php:99
-#, php-format
-msgid "PageChange Notification of %s sent to %s"
-msgstr "Seitennderung Benachrichtigung von %s an %s gesendet"
-
-#: ../lib/WikiDB.php:244 ../lib/WikiDB.php:1057 ../lib/WikiDB.php:1082
-#: ../lib/loadsave.php:102
-#, php-format
-msgid "PageChange Notification Error: Couldn't send %s to %s"
-msgstr "Seitennderung Benachrichtigung Fehler: Konnte %s nicht an %s senden"
-
-#: ../lib/WikiDB.php:474
+#: ../lib/WikiDB.php:539
 #, php-format
 msgid "renamed from %s"
 msgstr "umbenannt von %s"
 
-#: ../lib/WikiDB.php:482
+#: ../lib/WikiDB.php:548
 msgid "WikiDB::renamePage() not yet implemented for this backend"
 msgstr "WikiDB::renamePage() fr dieses Backend noch nicht implementiert"
 
-#: ../lib/WikiDB.php:847
+#: ../lib/WikiDB.php:921
 #, php-format
 msgid "%s: Date of new revision is %s"
 msgstr "%s: Datum dieser aktuellen Neubearbeitung ist %s"
 
-#: ../lib/WikiDB.php:911 ../lib/main.php:98
+#: ../lib/WikiDB.php:993 ../lib/main.php:98
 msgid "Optimizing database"
 msgstr "Datenbank wird optimiert"
 
-#: ../lib/WikiDB.php:1017
-msgid "Page change"
-msgstr "Seiten nderung"
-
-#: ../lib/WikiDB.php:1045 ../lib/loadsave.php:787
-#: ../lib/plugin/RecentChanges.php:107
-msgid "New page"
-msgstr "Neue Seite"
-
-# (Wrong Translation; sorry, but the German term for edit is NOT
-# editieren, but  e d i e r e n).
-#: ../lib/WikiDB.php:1048 ../lib/WikiDB.php:1071 ../lib/loadsave.php:93
-#, php-format
-msgid "Edited by: %s"
-msgstr "Bearbeitet von: %s"
-
-#: ../lib/WikiDB.php:1073
-#, php-format
-msgid "Page rename %s to %s"
-msgstr "Seite %s nach umbenennen %s"
+#: ../lib/WikiDB.php:1376 ../lib/WikiDB.php:1384 ../lib/WikiUserNew.php:429
+#: ../lib/loadsave.php:852 ../lib/loadsave.php:1380 ../lib/loadsave.php:1383
+msgid "The PhpWiki programming team"
+msgstr "Das PhpWiki Programmierer-Team"
 
-#: ../lib/WikiDB.php:1633 ../lib/WikiDB.php:1637
+#: ../lib/WikiDB.php:1627 ../lib/WikiDB.php:1631
 #: ../themes/default/templates/homepage.tmpl:7
 #, php-format
 msgid "Describe %s here."
 msgstr "Beschreiben Sie %s hier."
 
-#: ../lib/WikiDB.php:1672
+#: ../lib/WikiDB.php:1666
 #, php-format
 msgid "Oops! Revision %s of %s seems to have been deleted!"
 msgstr "Hoppla! Es scheint, die Version %s von %s wurde gelscht!"
 
-#: ../lib/WikiDB/backend/dba.php:22 ../lib/WikiDB/backend/dba.php:24
+#: ../lib/WikiDB/backend/dba.php:29 ../lib/WikiDB/backend/dba.php:31
 #, php-format
 msgid "%s: Can't open dba database"
 msgstr "%s: Konnte DBA Datenbank nicht ffnen"
 
-#: ../lib/WikiDB/backend/file.php:111
+#: ../lib/WikiDB/backend/file.php:111 ../lib/WikiDB/backend/flatfile.php:83
 #, php-format
 msgid "'%s': corrupt file"
 msgstr "%s: Datei korrumpiert"
 
 #: ../lib/WikiDB/dba.php:16 ../lib/WikiDB/file.php:47
+#: ../lib/WikiDB/flatfile.php:47
 #, php-format
 msgid ""
 "The %s files are in the %s directory. Please read the INSTALL file and move "
@@ -873,7 +972,7 @@
 msgid "No or not enough GROUP_DB SQL statements defined"
 msgstr "Keine oder zu wenige GROUP_DB SQL Statements definiert"
 
-#: ../lib/WikiGroup.php:838 ../lib/loadsave.php:962
+#: ../lib/WikiGroup.php:838 ../lib/loadsave.php:1021
 #, php-format
 msgid "%s: not defined"
 msgstr "%s: nicht definiert"
@@ -901,66 +1000,42 @@
 msgid "n/a"
 msgstr "k.A."
 
-# Any better translation? The locale/de/pgsrc/PhpWikiSystemverwalten
-# must also be renamed to match what is here.
-#: ../lib/WikiPlugin.php:121 ../lib/loadsave.php:82 ../lib/loadsave.php:408
-#: ../lib/loadsave.php:844 ../lib/loadsave.php:850 ../lib/loadsave.php:858
-#: ../lib/main.php:967 ../lib/main.php:1071
-#: ../lib/plugin/WikiAdminSelect.php:192 ../themes/Crao/templates/head.tmpl:79
-#: ../themes/Crao/templates/head.tmpl:80
-#: ../themes/Crao/templates/navbar.tmpl:37
-#: ../themes/MonoBook/templates/navbar.tmpl:46
-#: ../themes/Portland/templates/navbar.tmpl:30
-#: ../themes/Sidebar/templates/navbar.tmpl:38
-#: ../themes/Wordpress/templates/actionbar.tmpl:25
-#: ../themes/blog/templates/navbar.tmpl:14
-#: ../themes/default/templates/head.tmpl:86
-#: ../themes/default/templates/head.tmpl:87
-#: ../themes/default/templates/navbar.tmpl:55
-#: ../themes/shamino_com/templates/actionbar.tmpl:18
-#: ../themes/smaller/templates/navbar.tmpl:19
-#: ../themes/wikilens/templates/head.tmpl:78
-#: ../themes/wikilens/templates/head.tmpl:79
-#: ../themes/wikilens/templates/navbar.tmpl:43
-msgid "PhpWikiAdministration"
-msgstr "PhpWikiSystemverwalten"
+#: ../lib/WikiPlugin.php:225
+#, php-format
+msgid "trailing cruft in plugin args: '%s'"
+msgstr "berflssiger Mll in den Zusatzprogramm Argumenten: %s"
 
-#: ../lib/WikiPlugin.php:125
+#: ../lib/WikiPlugin.php:233
 #, php-format
 msgid "Argument '%s' not declared by plugin."
 msgstr "Argument %s nicht im Zusatzprogramm deklariert."
 
-#: ../lib/WikiPlugin.php:235
-#, php-format
-msgid "trailing cruft in plugin args: '%s'"
-msgstr "berflssiger Mll in den Zusatzprogramm Argumenten: %s"
-
-#: ../lib/WikiPlugin.php:378
+#: ../lib/WikiPlugin.php:376
 #, php-format
 msgid "Plugin %s failed."
 msgstr "Zusatzprogramm %s fehlgeschlagen."
 
-#: ../lib/WikiPlugin.php:384
+#: ../lib/WikiPlugin.php:382
 #, php-format
 msgid "Plugin %s disabled."
 msgstr "Zusatzprogramm %s deaktiviert."
 
-#: ../lib/WikiPlugin.php:520
+#: ../lib/WikiPlugin.php:518
 #, php-format
 msgid "Include of '%s' failed."
 msgstr "Das Einfgen von %s ist fehlgeschlagen."
 
-#: ../lib/WikiPlugin.php:522
+#: ../lib/WikiPlugin.php:520
 #, php-format
 msgid "%s: no such class"
 msgstr "Unbekannte Klasse: %s"
 
-#: ../lib/WikiPlugin.php:528
+#: ../lib/WikiPlugin.php:526
 #, php-format
 msgid "%s: not a subclass of WikiPlugin."
 msgstr "%s scheint kein WikiPlugin zu sein."
 
-#: ../lib/WikiPluginCached.php:691
+#: ../lib/WikiPluginCached.php:688
 #, php-format
 msgid ""
 "There is no image creation data available to id '%s'. Please reload "
@@ -968,26 +1043,26 @@
 msgstr ""
 "Es sind keine Bilddaten vorhanden fr '%'. Bitte laden Sie die Seite neu."
 
-#: ../lib/WikiPluginCached.php:845
+#: ../lib/WikiPluginCached.php:842
 msgid "Image map expired. Reload wiki page to recreate its html part."
 msgstr ""
 
 #: ../lib/WikiUser.php:188 ../lib/WikiUser.php:268
 #: ../lib/WikiUser/AdoDb.php:29 ../lib/WikiUser/AdoDb.php:186
 #: ../lib/WikiUser/Db.php:43 ../lib/WikiUser/File.php:58
-#: ../lib/WikiUser/IMAP.php:17 ../lib/WikiUser/LDAP.php:58
+#: ../lib/WikiUser/IMAP.php:18 ../lib/WikiUser/LDAP.php:58
 #: ../lib/WikiUser/POP3.php:17 ../lib/WikiUser/PdoDb.php:28
 #: ../lib/WikiUser/PdoDb.php:103 ../lib/WikiUser/PearDb.php:26
-#: ../lib/WikiUser/PearDb.php:116 ../lib/WikiUserNew.php:559
+#: ../lib/WikiUser/PearDb.php:116 ../lib/WikiUserNew.php:590
 msgid "Invalid username."
 msgstr "Ungltiger Benutzername."
 
-#: ../lib/WikiUser.php:192 ../lib/WikiUserNew.php:566
+#: ../lib/WikiUser.php:192 ../lib/WikiUserNew.php:597
 msgid "Invalid password or userid."
 msgstr "Ungltiges Passwort oder falscher Benutzername."
 
 # (wrtlich=unzureichende Erlaubnisse)
-#: ../lib/WikiUser.php:194 ../lib/WikiUserNew.php:582
+#: ../lib/WikiUser.php:194 ../lib/WikiUserNew.php:613
 msgid "Insufficient permissions."
 msgstr "Keine ausreichenden Zugangsrechte."
 
@@ -1027,8 +1102,10 @@
 
 #: ../lib/WikiUser.php:465 ../lib/WikiUser.php:475
 #: ../themes/Crao/templates/navbar.tmpl:23
+#: ../themes/MonoBook/templates/navbar.tmpl:61
 #: ../themes/default/templates/navbar.tmpl:40
 #: ../themes/shamino_com/templates/top.tmpl:28
+#: ../themes/wikilens/templates/navbar.tmpl:23
 msgid "Preferences"
 msgstr "Voreinstellungen"
 
@@ -1048,14 +1125,14 @@
 msgid "%s is missing"
 msgstr "%s Argument fehlt"
 
-#: ../lib/WikiUser/AdoDb.php:201 ../lib/WikiUser/AdoDb.php:255
+#: ../lib/WikiUser/AdoDb.php:201 ../lib/WikiUser/AdoDb.php:258
 #: ../lib/WikiUser/PdoDb.php:190 ../lib/WikiUser/PdoDb.php:255
 #: ../lib/WikiUser/PearDb.php:179 ../lib/WikiUser/PearDb.php:223
 #, php-format
 msgid "Either %s is missing or DATABASE_TYPE != '%s'"
 msgstr ""
 
-#: ../lib/WikiUser/IMAP.php:33
+#: ../lib/WikiUser/IMAP.php:36
 msgid "Unable to connect to IMAP server "
 msgstr "IMAP Server nicht gefunden "
 
@@ -1064,12 +1141,36 @@
 msgid "Unable to bind LDAP server %s using %s %s"
 msgstr "Konnte nicht mit LDAP Server %s verbinden mit %s %s"
 
-#: ../lib/WikiUser/LDAP.php:65 ../lib/WikiUser/LDAP.php:108
+#: ../lib/WikiUser/LDAP.php:68
+msgid "Empty password not allowed for LDAP"
+msgstr ""
+
+#: ../lib/WikiUser/LDAP.php:73 ../lib/WikiUser/LDAP.php:149
 #, php-format
 msgid "Invalid username '%s' for LDAP Auth"
 msgstr "Ungltiger Benutzername %s fr LDAP Auth"
 
-#: ../lib/WikiUser/POP3.php:59
+#: ../lib/WikiUser/LDAP.php:84
+#, fuzzy
+msgid "Could not search in LDAP"
+msgstr "Kann nicht zu %s verbinden"
+
+#: ../lib/WikiUser/LDAP.php:91
+#, fuzzy
+msgid "User not found in LDAP"
+msgstr "%s nicht gefunden"
+
+#: ../lib/WikiUser/LDAP.php:125
+#, fuzzy
+msgid "Wrong password: "
+msgstr "Falsches Password. Noch einmal eingeben."
+
+#: ../lib/WikiUser/LDAP.php:131
+#, fuzzy
+msgid "Could not connect to LDAP"
+msgstr "Kann nicht zu %s verbinden"
+
+#: ../lib/WikiUser/POP3.php:61
 #, php-format
 msgid "Couldn't connect to %s"
 msgstr "Kann nicht zu %s verbinden"
@@ -1099,24 +1200,29 @@
 msgid "Given password ignored."
 msgstr "Passwort ignoriert."
 
-#: ../lib/WikiUserNew.php:564
+#: ../lib/WikiUserNew.php:430
+msgid ""
+"Automatically created user homepage to be able to store UserPreferences."
+msgstr ""
+
+#: ../lib/WikiUserNew.php:595
 msgid "Invalid password."
 msgstr "Ungltiges Passwort."
 
-#: ../lib/WikiUserNew.php:628
+#: ../lib/WikiUserNew.php:659
 msgid "Empty Preferences or format of UserPreferences cookie not recognised."
 msgstr ""
 "Leere BenutzerEinstellungen oder BenutzerEinstellungs Cookie nicht erkannt."
 
-#: ../lib/WikiUserNew.php:632
+#: ../lib/WikiUserNew.php:663
 msgid "Default preferences will be used."
 msgstr "Die Vorgabe Benutzereinstellungen werden verwendent."
 
-#: ../lib/WikiUserNew.php:1190
+#: ../lib/WikiUserNew.php:1233
 msgid "The length of the password is shorter than the system policy allows."
 msgstr "Die Lnge des Passwortes ist krzer als vom System gefordert."
 
-#: ../lib/WikiUserNew.php:1216
+#: ../lib/WikiUserNew.php:1259
 msgid ""
 "The length of the stored password is shorter than the system policy allows. "
 "Sorry, you cannot login.\n"
@@ -1126,11 +1232,11 @@
 "Sie knnen sich leider nicht anmelden.\n"
 " Sie mssen den System Administrator bitten, Ihr Passwort neu zu setzen."
 
-#: ../lib/WikiUserNew.php:1231
+#: ../lib/WikiUserNew.php:1274
 msgid "The crypt function is not available in this version of PHP."
 msgstr ""
 
-#: ../lib/WikiUserNew.php:1232
+#: ../lib/WikiUserNew.php:1275
 msgid ""
 "Please set ENCRYPTED_PASSWD to false in config/config.ini and probably "
 "change ADMIN_PASSWD."
@@ -1138,16 +1244,16 @@
 "Sie haben vergessen ENCRYPTED_PASSWD auf true zu setzen. Bitte aktualisieren "
 "Sie config/config.ini und berprfen sie auch ADMIN_PASSWD."
 
-#: ../lib/WikiUserNew.php:1245
+#: ../lib/WikiUserNew.php:1288
 msgid "Please set ENCRYPTED_PASSWD to true in config/config.ini."
 msgstr ""
 "Sie haben vergessen ENCRYPTED_PASSWD auf true in config/config.ini zu setzen."
 
-#: ../lib/WikiUserNew.php:1657
+#: ../lib/WikiUserNew.php:1701 ../lib/plugin/WikiAdminUtils.php:114
 msgid "Email Verification"
 msgstr "E-Mail Besttigung"
 
-#: ../lib/WikiUserNew.php:1658
+#: ../lib/WikiUserNew.php:1702
 #, php-format
 msgid ""
 "Welcome to %s!\n"
@@ -1161,109 +1267,154 @@
 "versenden.\n"
 "Siehe %s"
 
-#: ../lib/WikiUserNew.php:1711
+#: ../lib/WikiUserNew.php:1762
 #, php-format
 msgid "E-Mail address '%s' is not properly formatted"
 msgstr ""
 
-#: ../lib/WikiUserNew.php:1715
+#: ../lib/WikiUserNew.php:1766
 #, php-format
 msgid "E-Mail address '%s' is properly formatted"
 msgstr ""
 
-#: ../lib/XmlElement.php:456 ../lib/stdlib.php:1344
+#: ../lib/WysiwygEdit/Wikiwyg.php:74
+msgid "Apply changes"
+msgstr "nderungen durchfhren"
+
+#: ../lib/WysiwygEdit/Wikiwyg.php:75
+msgid "Exit toolbar"
+msgstr "Werkzeugleiste beenden"
+
+#: ../lib/WysiwygEdit/Wikiwyg.php:76
+msgid "Title 1"
+msgstr "berschrift 1"
+
+#: ../lib/WysiwygEdit/Wikiwyg.php:77
+msgid "Title 2"
+msgstr "berschrift 2"
+
+#: ../lib/WysiwygEdit/Wikiwyg.php:78
+msgid "Title 3"
+msgstr "berschrift 3"
+
+#: ../lib/WysiwygEdit/Wikiwyg.php:79
+msgid "Verbatim"
+msgstr "Unformatiert"
+
+#: ../lib/WysiwygEdit/Wikiwyg.php:80
+msgid "Table of content"
+msgstr "Inhaltsverzeichnis"
+
+#: ../lib/WysiwygEdit/Wikiwyg.php:81
+msgid "Insert Wikitext section"
+msgstr ""
+
+#: ../lib/WysiwygEdit/Wikiwyg.php:82
+msgid "Sup"
+msgstr "ber"
+
+#: ../lib/WysiwygEdit/Wikiwyg.php:83
+msgid "Sub"
+msgstr "Unter"
+
+#: ../lib/WysiwygEdit/Wikiwyg.php:107
+msgid "Warning: This Wikiwyg editor has only Beta quality!"
+msgstr ""
+
+#: ../lib/XmlElement.php:467 ../lib/stdlib.php:1357
 #, php-format
 msgid "Can't mix '%s' with '%s' type format strings"
 msgstr "Kann %s Typ-Formatzeichenketten nicht mit %s vermischen."
 
-#: ../lib/XmlRpcServer.php:562
+#: ../lib/XmlRpcServer.php:511
 msgid "xml-rpc change"
 msgstr ""
 
-#: ../lib/diff.php:259 ../lib/plugin/Diff.php:72
+#: ../lib/diff.php:258 ../lib/plugin/Diff.php:73
 #, php-format
 msgid "version %s"
 msgstr "Version %s"
 
-#: ../lib/diff.php:266 ../lib/plugin/Diff.php:77
+#: ../lib/diff.php:265 ../lib/plugin/Diff.php:78
 #: ../lib/wikilens/PageListColumns.php:351
 msgid "None"
 msgstr "Keine"
 
-#: ../lib/diff.php:289 ../lib/plugin/Diff.php:94
-#: ../lib/plugin/PageHistory.php:312 ../lib/plugin/PageInfo.php:59
+#: ../lib/diff.php:288 ../lib/plugin/Diff.php:95
+#: ../lib/plugin/PageHistory.php:326 ../lib/plugin/PageInfo.php:59
 #, php-format
 msgid "I'm sorry, there is no such page as %s."
 msgstr "Leider gibt es keine solche Seite %s."
 
-#: ../lib/diff.php:292 ../lib/diff.php:394
+#: ../lib/diff.php:291 ../lib/diff.php:396
 #, php-format
 msgid "Diff: %s"
 msgstr "Vergleich von: %s"
 
-#: ../lib/diff.php:299 ../lib/diff.php:309 ../lib/plugin/Diff.php:102
-#: ../lib/plugin/Diff.php:112
+#: ../lib/diff.php:298 ../lib/diff.php:308 ../lib/plugin/Diff.php:103
+#: ../lib/plugin/Diff.php:113
 #, php-format
 msgid "version %d"
 msgstr "Version %d."
 
-#: ../lib/diff.php:303 ../lib/plugin/Diff.php:106
+#: ../lib/diff.php:302 ../lib/plugin/Diff.php:107
 msgid "current version"
 msgstr "aktuelle Version"
 
-#: ../lib/diff.php:320 ../lib/plugin/Diff.php:123
+#: ../lib/diff.php:319 ../lib/plugin/Diff.php:124
 msgid "revision by previous author"
 msgstr "Revidierte Ausgabe des vorigen Autors"
 
-#: ../lib/diff.php:326 ../lib/plugin/Diff.php:129
+#: ../lib/diff.php:325 ../lib/plugin/Diff.php:130
 msgid "previous revision"
 msgstr "vorige Neubearbeitung"
 
-#: ../lib/diff.php:336 ../lib/plugin/Diff.php:139
+#: ../lib/diff.php:335 ../lib/plugin/Diff.php:140
 msgid "predecessor to the previous major change"
 msgstr "Vorgnger zur vorherigen greren nderung"
 
 # word substitution order changes here
-#: ../lib/diff.php:347 ../lib/plugin/Diff.php:149
+#: ../lib/diff.php:346 ../lib/plugin/Diff.php:150
 #, php-format
 msgid "Differences between %s and %s of %s."
 msgstr "Zeilenweiser Vergleich von %3$s, von %1$s mit %2$s."
 
 # (Differences sind eigentlich= Unterschiede, Abweichungen)
 # (eigentlich=weitere Abweichungen, Vernderungen)
-#: ../lib/diff.php:350 ../lib/plugin/Diff.php:152
+#: ../lib/diff.php:349 ../lib/plugin/Diff.php:153
 msgid "Other diffs:"
 msgstr "Andere Vergleiche:"
 
-#: ../lib/diff.php:351 ../lib/plugin/Diff.php:153
+#: ../lib/diff.php:350 ../lib/plugin/Diff.php:154
 msgid "Previous Major Revision"
 msgstr "Vorige grere Neubearbeitung"
 
-#: ../lib/diff.php:352 ../lib/plugin/Diff.php:154
+#: ../lib/diff.php:351 ../lib/plugin/Diff.php:155
 msgid "Previous Revision"
 msgstr "Vorige Neubearbeitung"
 
-#: ../lib/diff.php:353 ../lib/plugin/Diff.php:155
+#: ../lib/diff.php:352 ../lib/plugin/Diff.php:156
 msgid "Previous Author"
 msgstr "Voriger Autor"
 
-#: ../lib/diff.php:370 ../lib/plugin/Diff.php:172
+#: ../lib/diff.php:368 ../lib/plugin/Diff.php:173
 msgid "Newer page:"
 msgstr "Neuere Seite:"
 
-#: ../lib/diff.php:372 ../lib/plugin/Diff.php:174
+#: ../lib/diff.php:370 ../lib/plugin/Diff.php:175
 msgid "Older page:"
 msgstr "ltere Seite:"
 
-#: ../lib/diff.php:380 ../lib/plugin/Diff.php:182
+#: ../lib/diff.php:378 ../lib/editpage.php:499 ../lib/plugin/Diff.php:183
 msgid "Versions are identical"
 msgstr "Versionen sind identisch"
 
-#: ../lib/display.php:53 ../lib/plugin/HelloWorld.php:70
-#: ../lib/plugin/PageGroup.php:102 ../lib/plugin/PageGroup.php:166
-#: ../lib/plugin/PageGroup.php:177 ../lib/plugin/PageGroup.php:193
-#: ../lib/plugin/PageGroup.php:200 ../lib/plugin/PageHistory.php:216
-#: ../lib/plugin/UnfoldSubpages.php:140 ../themes/Crao/templates/head.tmpl:47
+#: ../lib/display.php:54 ../lib/display.php:240
+#: ../lib/plugin/HelloWorld.php:70 ../lib/plugin/PageGroup.php:102
+#: ../lib/plugin/PageGroup.php:166 ../lib/plugin/PageGroup.php:177
+#: ../lib/plugin/PageGroup.php:193 ../lib/plugin/PageGroup.php:200
+#: ../lib/plugin/PageHistory.php:229 ../lib/plugin/UnfoldSubpages.php:140
+#: ../themes/Crao/templates/head.tmpl:47
 #: ../themes/MonoBook/templates/logo.tmpl:2
 #: ../themes/Portland/templates/body.tmpl:8
 #: ../themes/Sidebar/templates/frame-header.tmpl:16
@@ -1273,38 +1424,40 @@
 #: ../themes/default/templates/top.tmpl:11
 #: ../themes/shamino_com/templates/top.tmpl:8
 #: ../themes/wikilens/templates/head.tmpl:45
+#: ../themes/wikilens/templates/top.tmpl:11
 #, php-format
 msgid "%s: %s"
 msgstr "%s: %s"
 
-#: ../lib/display.php:119 ../lib/display.php:126
+#: ../lib/display.php:82 ../lib/display.php:324
+#: ../lib/plugin/LinkDatabase.php:42
+msgid "LinkDatabase"
+msgstr "LinkDatenbank"
+
+#: ../lib/display.php:177 ../lib/display.php:184
 #: ../lib/plugin/BackLinks.php:31 ../lib/plugin/_WikiTranslation.php:53
 #: ../themes/Crao/templates/navbar.tmpl:17
-#: ../themes/Sidebar/templates/navbar.tmpl:35
+#: ../themes/Sidebar/templates/navbar.tmpl:25
 #: ../themes/blog/templates/navbar.tmpl:11
 #: ../themes/default/templates/navbar.tmpl:34
 #: ../themes/smaller/templates/navbar.tmpl:16
-#: ../themes/wikilens/templates/navbar.tmpl:25
+#: ../themes/wikilens/templates/navbar.tmpl:22
 msgid "BackLinks"
 msgstr "BackLinks"
 
-#: ../lib/display.php:122 ../lib/display.php:129
+#: ../lib/display.php:180 ../lib/display.php:187
 #, php-format
 msgid "BackLinks for %s"
 msgstr "BackLinks fr %s"
 
 # versandet (=full of sand) ;)
 # weitergeleitet von
-#: ../lib/display.php:137
+#: ../lib/display.php:195
 #, php-format
 msgid "(Redirected from %s)"
 msgstr "(Weitergeleitet von %s)"
 
-#: ../lib/display.php:177
-msgid "You searched for: "
-msgstr "Sie suchten nach: "
-
-#: ../lib/display.php:218 ../themes/Crao/templates/head.tmpl:70
+#: ../lib/display.php:269 ../themes/Crao/templates/head.tmpl:70
 #: ../themes/Crao/templates/head.tmpl:71
 #: ../themes/default/templates/head.tmpl:76
 #: ../themes/default/templates/head.tmpl:77
@@ -1313,88 +1466,88 @@
 msgid "SandBox"
 msgstr "SandKasten"
 
-#: ../lib/editpage.php:134 ../lib/editpage.php:469
+#: ../lib/editpage.php:162 ../lib/editpage.php:559
 msgid "Your version"
 msgstr "Ihre Version"
 
-#: ../lib/editpage.php:134 ../lib/editpage.php:470
+#: ../lib/editpage.php:162 ../lib/editpage.php:560
 msgid "Other version"
 msgstr "Andere Version"
 
-#: ../lib/editpage.php:145
+#: ../lib/editpage.php:173
 msgid "Some internal editing error"
 msgstr ""
 
-#: ../lib/editpage.php:146
+#: ../lib/editpage.php:174
 msgid ""
 "Your are probably trying to edit/create an invalid version of this page."
 msgstr ""
 "Sie versuchen offenbar eine ungltige Version dieser Seite zu bearbeiten."
 
-#: ../lib/editpage.php:147
+#: ../lib/editpage.php:175
 msgid "&version=-1 might help."
 msgstr "&version=-1 wird empfohlen."
 
 # (Wrong Translation; sorry, but the German term for edit is NOT
 # editieren, but  e d i e r e n).
-#: ../lib/editpage.php:164
+#: ../lib/editpage.php:194
 #, php-format
 msgid "Edit: %s"
 msgstr "Bearbeite: %s"
 
-#: ../lib/editpage.php:198
+#: ../lib/editpage.php:232
 #, php-format
 msgid "View Source: %s"
 msgstr "Quelltext Ansicht: %s"
 
-#: ../lib/editpage.php:212
+#: ../lib/editpage.php:246
 msgid "Page now locked."
 msgstr "Seite jetzt gesperrt."
 
-#: ../lib/editpage.php:212
+#: ../lib/editpage.php:246
 msgid "Page now unlocked."
 msgstr "Seite jetzt freigegeben."
 
-#: ../lib/editpage.php:314
+#: ../lib/editpage.php:353
 #, php-format
 msgid "Saved: %s"
 msgstr "Gespeichert: %s"
 
-#: ../lib/editpage.php:366
+#: ../lib/editpage.php:406
 msgid "Too many external links."
 msgstr "Zu viele externe Links."
 
-#: ../lib/editpage.php:379
+#: ../lib/editpage.php:419
 msgid "SpamAssassin reports: "
 msgstr "SpamAssassin sagt: "
 
-#: ../lib/editpage.php:396
+#: ../lib/editpage.php:446
 msgid "External links contain blocked domains:"
 msgstr ""
 
-#: ../lib/editpage.php:397
-#, php-format
-msgid "%s is listed at %s"
+#: ../lib/editpage.php:447
+#, fuzzy, php-format
+msgid "%s is listed at %s with %s"
 msgstr "%s blockiert von %s"
 
-#: ../lib/editpage.php:418
+#: ../lib/editpage.php:471
 msgid "Spam Prevention"
 msgstr "AntiSpam"
 
-#: ../lib/editpage.php:419
+#: ../lib/editpage.php:472
 msgid "This page edit seems to contain spam and was therefore not saved."
 msgstr "Diese Bearbeitung scheint Spam beinzuhalten und wurde ignoriert."
 
-#: ../lib/editpage.php:421 ../lib/editpage.php:455
+#: ../lib/editpage.php:474 ../lib/editpage.php:535
 msgid "Sorry for the inconvenience."
 msgstr ""
 "Entschuldigen Sie bitte die hiermit fr Sie verbundenen Unannehmlichkeiten."
 
-#: ../lib/editpage.php:452 ../themes/MacOSX/themeinfo.php:137
+#: ../lib/editpage.php:532 ../themes/MacOSX/themeinfo.php:135
 msgid "Page Locked"
 msgstr "Seite Gesperrt"
 
-#: ../lib/editpage.php:453
+#: ../lib/editpage.php:533
 msgid ""
 "This page has been locked by the administrator so your changes can not be "
 "saved."
@@ -1402,7 +1555,7 @@
 "Diese Seite wurde vom Administrator fr die allgemeine Bearbeitung gesperrt. "
 "Ihre nderungen knnen deshalb nicht gespeichert werden."
 
-#: ../lib/editpage.php:454
+#: ../lib/editpage.php:534
 msgid ""
 "(Copy your changes to the clipboard. You can try editing a different page or "
 "save your text in a text editor.)"
@@ -1410,7 +1563,50 @@
 "(Kopieren Sie Ihre Vernderungen in die Zwischenablage. Sie knnen versuchen "
 "eine andere Seite zu edieren oder Ihr Text in einem Texteditor speichern.)"
 
-#: ../lib/editpage.php:468 ../lib/editpage.php:757
+#: ../lib/editpage.php:543 ../lib/editpage.php:544 ../lib/main.php:733
+#: ../lib/main.php:1090 ../lib/plugin/ModeratedPage.php:41
+#: ../lib/plugin/ModeratedPage.php:149 ../lib/plugin/ModeratedPage.php:219
+#: ../lib/plugin/ModeratedPage.php:258 ../lib/plugin/ModeratedPage.php:261
+#: ../lib/plugin/ModeratedPage.php:263 ../lib/plugin/ModeratedPage.php:265
+#: ../lib/plugin/ModeratedPage.php:349 ../lib/plugin/ModeratedPage.php:353
+#: ../lib/plugin/ModeratedPage.php:408 ../lib/plugin/ModeratedPage.php:433
+msgid "ModeratedPage"
+msgstr "ModerierteSeite"
+
+#: ../lib/editpage.php:544
+#, php-format
+msgid ""
+"You can edit away, but your changes will have to be approved by the defined "
+"moderators at the definition in %s"
+msgstr ""
+
+#: ../lib/editpage.php:546 ../lib/plugin/PasswordReset.php:155
+#: ../lib/plugin/UserPreferences.php:38 ../lib/plugin/WatchPage.php:115
+#: ../lib/plugin/WatchPage.php:133 ../themes/Crao/templates/head.tmpl:85
+#: ../themes/Crao/templates/head.tmpl:86
+#: ../themes/Crao/templates/navbar.tmpl:23
+#: ../themes/MonoBook/templates/navbar.tmpl:61
+#: ../themes/blog/templates/navbar.tmpl:17
+#: ../themes/default/templates/head.tmpl:92
+#: ../themes/default/templates/head.tmpl:93
+#: ../themes/default/templates/homepage.tmpl:11
+#: ../themes/default/templates/navbar.tmpl:40
+#: ../themes/shamino_com/templates/top.tmpl:28
+#: ../themes/smaller/templates/navbar.tmpl:22
+#: ../themes/wikilens/templates/head.tmpl:85
+#: ../themes/wikilens/templates/head.tmpl:86
+#: ../themes/wikilens/templates/navbar.tmpl:23
+msgid "UserPreferences"
+msgstr "BenutzerEinstellungen"
+
+#: ../lib/editpage.php:545
+#, php-format
+msgid ""
+"The approval has a grace period of 5 days. If you have your E-Mail defined "
+"in your %s, you will get a notification of approval or rejection."
+msgstr ""
+
+#: ../lib/editpage.php:558 ../lib/editpage.php:900
 #, php-format
 msgid ""
 "Some of the changes could not automatically be combined.  Please look for "
@@ -1422,15 +1618,15 @@
 "enden. Sie mssen diese Teile von Hand bearbeiten, bevor Sie auf Speichern "
 "klicken."
 
-#: ../lib/editpage.php:472 ../lib/editpage.php:760
+#: ../lib/editpage.php:562 ../lib/editpage.php:903
 msgid "Please check it through before saving."
 msgstr "Bitte berprfen Sie erst alles, bevor Sie es abspeichern."
 
-#: ../lib/editpage.php:483
+#: ../lib/editpage.php:573
 msgid "Conflicting Edits!"
 msgstr "Widersprechende nderungen!"
 
-#: ../lib/editpage.php:484
+#: ../lib/editpage.php:574
 msgid ""
 "In the time since you started editing this page, another user has saved a "
 "new version of it."
@@ -1438,7 +1634,7 @@
 "Whrend der Zeit, seit Sie mit der Bearbeitung dieser Seite begonnen haben, "
 "hat ein anderer Benutzer bereits eine neuere Version gespeichert."
 
-#: ../lib/editpage.php:485
+#: ../lib/editpage.php:575
 msgid ""
 "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 "
@@ -1449,19 +1645,42 @@
 "berschrieben. Deshalb sind Ihre und die nderungen des anderen Autors "
 "miteinander kombiniert worden. Das Ergebnis sehen Sie unten."
 
-#: ../lib/editpage.php:555
+#: ../lib/editpage.php:649
 msgid "Convert"
 msgstr "Konvertieren"
 
-#: ../lib/editpage.php:588 ../themes/Portland/templates/editpage.tmpl:45
-#: ../themes/Wordpress/templates/editpage.tmpl:54
+#: ../lib/editpage.php:668
+msgid "Changes"
+msgstr "nderungen"
+
+#: ../lib/editpage.php:672 ../lib/plugin/HtmlConverter.php:66
+#: ../lib/plugin/UpLoad.php:146 ../lib/plugin/UpLoad.php:151
+#: ../lib/plugin/WikiForm.php:103
+msgid "Upload"
+msgstr "Hochladen"
+
+#: ../lib/editpage.php:675
+#, fuzzy
+msgid "Spell Check"
+msgstr "Auswahl"
+
+#: ../lib/editpage.php:698 ../themes/Portland/templates/editpage.tmpl:41
+#: ../themes/Wordpress/templates/editpage.tmpl:52
 #, php-format
 msgid "Author will be logged as %s."
 msgstr "%s wird als Autor aufgenommen."
 
+#: ../lib/editpage.php:855
+msgid "Keep old"
+msgstr ""
+
+#: ../lib/editpage.php:858
+msgid "Overwrite with new"
+msgstr ""
+
 # (Wrong Translation; sorry, but the German term for edit is NOT
 # editieren, but  e d i e r e n).
-#: ../lib/editpage.php:731
+#: ../lib/editpage.php:868
 #, php-format
 msgid "Merge and Edit: %s"
 msgstr "Zusammenfgen und Bearbeiten: %s"
@@ -1490,10 +1709,43 @@
 msgid "Dump pages as XHTML"
 msgstr "Seiten als XHTML Dateien speichern"
 
+# Any better translation? The locale/de/pgsrc/PhpWikiSystemverwalten
+# must also be renamed to match what is here.
+#: ../lib/loadsave.php:82 ../lib/loadsave.php:428 ../lib/loadsave.php:902
+#: ../lib/loadsave.php:908 ../lib/loadsave.php:916 ../lib/main.php:1006
+#: ../lib/main.php:1110 ../lib/plugin/WikiAdminSelect.php:192
+#: ../themes/Crao/templates/head.tmpl:79 ../themes/Crao/templates/head.tmpl:80
+#: ../themes/Crao/templates/navbar.tmpl:37
+#: ../themes/MonoBook/templates/navbar.tmpl:57
+#: ../themes/Portland/templates/navbar.tmpl:27
+#: ../themes/Sidebar/templates/navbar.tmpl:28
+#: ../themes/Wordpress/templates/actionbar.tmpl:26
+#: ../themes/blog/templates/navbar.tmpl:14
+#: ../themes/default/templates/head.tmpl:86
+#: ../themes/default/templates/head.tmpl:87
+#: ../themes/default/templates/navbar.tmpl:55
+#: ../themes/shamino_com/templates/actionbar.tmpl:18
+#: ../themes/smaller/templates/navbar.tmpl:19
+#: ../themes/wikilens/templates/head.tmpl:78
+#: ../themes/wikilens/templates/head.tmpl:79
+#: ../themes/wikilens/templates/navbar.tmpl:32
+msgid "PhpWikiAdministration"
+msgstr "PhpWikiSystemverwalten"
+
 #: ../lib/loadsave.php:95 ../lib/loadsave.php:96
 msgid "LoadDump"
 msgstr "SeiteLaden"
 
+#: ../lib/loadsave.php:99
+#, php-format
+msgid "PageChange Notification of %s sent to %s"
+msgstr "Seitennderung Benachrichtigung von %s an %s gesendet"
+
+#: ../lib/loadsave.php:102
+#, php-format
+msgid "PageChange Notification Error: Couldn't send %s to %s"
+msgstr "Seitennderung Benachrichtigung Fehler: Konnte %s nicht an %s senden"
+
 #: ../lib/loadsave.php:110
 msgid "Complete."
 msgstr "Fertig."
@@ -1507,120 +1759,124 @@
 # all revisions of all pages (FullDump), or just the most recent
 # revision of each page (LatestSnapshot).
 # VollstndigerSpeicherauszug, VolligerSpeicherauszug oder...?
-#: ../lib/loadsave.php:197
+#: ../lib/loadsave.php:200
 msgid "FullDump"
 msgstr "VollSicherung"
 
-#: ../lib/loadsave.php:201
+#: ../lib/loadsave.php:204
 msgid "LatestSnapshot"
 msgstr "LetzeSicherung"
 
-#: ../lib/loadsave.php:273 ../lib/loadsave.php:381
+#: ../lib/loadsave.php:276 ../lib/loadsave.php:401
 msgid "You must specify a directory to dump to"
 msgstr "Sie mssen zum Sichern ein Verzeichnis angeben."
 
-#: ../lib/loadsave.php:278 ../lib/loadsave.php:386
+#: ../lib/loadsave.php:281 ../lib/loadsave.php:406
 #, php-format
 msgid "Cannot create directory '%s'"
 msgstr "Das Verzeichnis %s kann nicht erzeugt werden"
 
-#: ../lib/loadsave.php:280 ../lib/loadsave.php:388
+#: ../lib/loadsave.php:283 ../lib/loadsave.php:408
 #, php-format
 msgid "Created directory '%s' for the page dump..."
 msgstr "Ein Verzeichnis %s wurde erzeugt, um die Dateien abzulegen..."
 
-#: ../lib/loadsave.php:283 ../lib/loadsave.php:391
+#: ../lib/loadsave.php:286 ../lib/loadsave.php:411
 #, php-format
 msgid "Using directory '%s'"
 msgstr "Das Verzeichnis %s wird verwendet"
 
-#: ../lib/loadsave.php:286 ../lib/loadsave.php:394
+#: ../lib/loadsave.php:289 ../lib/loadsave.php:414
 msgid "Dumping Pages"
 msgstr "Die Seiten werden geschrieben"
 
-#: ../lib/loadsave.php:318 ../lib/loadsave.php:451 ../lib/stdlib.php:845
+#: ../lib/loadsave.php:321 ../lib/loadsave.php:471 ../lib/stdlib.php:857
 msgid "Skipped."
 msgstr "Ausgelassen."
 
-#: ../lib/loadsave.php:326
+#: ../lib/loadsave.php:329
 #, php-format
 msgid "saved as %s"
 msgstr "gespeichert als %s"
 
-#: ../lib/loadsave.php:336 ../lib/loadsave.php:469
-#: ../lib/plugin/text2png.php:183
+#: ../lib/loadsave.php:339 ../lib/loadsave.php:503
+#: ../lib/plugin/text2png.php:228
 #, php-format
 msgid "couldn't open file '%s' for writing"
 msgstr "Datei %s konnte nicht zum Schreiben geffnet werden"
 
-#: ../lib/loadsave.php:342 ../lib/loadsave.php:478
+#: ../lib/loadsave.php:345 ../lib/loadsave.php:513
 #, php-format
 msgid "%s bytes written"
 msgstr "%s Bytes geschrieben"
 
-#: ../lib/loadsave.php:476
+#: ../lib/loadsave.php:511
 msgid "saved as "
 msgstr "gespeichert als "
 
-#: ../lib/loadsave.php:514 ../lib/loadsave.php:533 ../lib/loadsave.php:550
+#: ../lib/loadsave.php:549 ../lib/loadsave.php:569 ../lib/loadsave.php:586
 #, php-format
 msgid "... copied to %s"
 msgstr "... kopiert nach %s"
 
-#: ../lib/loadsave.php:516 ../lib/loadsave.php:535 ../lib/loadsave.php:552
+#: ../lib/loadsave.php:551 ../lib/loadsave.php:571 ../lib/loadsave.php:588
 #, php-format
 msgid "... not copied to %s"
 msgstr "... nicht kopiert nach %s"
 
-#: ../lib/loadsave.php:519 ../lib/loadsave.php:538 ../lib/loadsave.php:555
+#: ../lib/loadsave.php:555 ../lib/loadsave.php:574 ../lib/loadsave.php:592
 msgid "... not found"
 msgstr "... nicht gefunden"
 
-#: ../lib/loadsave.php:723
+#: ../lib/loadsave.php:760
 msgid "Empty pagename!"
 msgstr "Leerer Seitenname!"
 
-#: ../lib/loadsave.php:779
+#: ../lib/loadsave.php:770
+msgid "Invalid pagename!"
+msgstr "Ungltiger Seitenname!"
+
+#: ../lib/loadsave.php:833
 #, php-format
 msgid "from %s"
 msgstr "von %s"
 
-#: ../lib/loadsave.php:795
+#: ../lib/loadsave.php:849
 msgid "has edit conflicts - overwriting anyway"
 msgstr ""
 "hat unauflsbare Konflikte beim Speichern - wird ungeprft berschrieben"
 
-#: ../lib/loadsave.php:798 ../lib/loadsave.php:1292 ../lib/loadsave.php:1295
-msgid "The PhpWiki programming team"
-msgstr "Das PhpWiki Programmierer-Team"
+#: ../lib/loadsave.php:858
+msgid "keep old"
+msgstr ""
 
-#: ../lib/loadsave.php:803
+#: ../lib/loadsave.php:860
 msgid "has edit conflicts - skipped"
 msgstr "hat unauflsbare Konflikte beim Speichern - bersprungen"
 
-#: ../lib/loadsave.php:814
+#: ../lib/loadsave.php:872
 #, php-format
 msgid "content is identical to current version %d - no new revision created"
 msgstr ""
 "Inhalt ist identisch mit der aktuellen Version %d - keine neue Version "
 "erzeugt"
 
-#: ../lib/loadsave.php:828
+#: ../lib/loadsave.php:886
 #, php-format
 msgid "- saved to database as version %d"
 msgstr "- in der Datenbank gespeichert als Version %d."
 
-#: ../lib/loadsave.php:834 ../lib/loadsave.php:1088
+#: ../lib/loadsave.php:892 ../lib/loadsave.php:1162
 #, php-format
 msgid "MIME file %s"
 msgstr "MIME-Datei %s"
 
-#: ../lib/loadsave.php:835 ../lib/loadsave.php:1093
+#: ../lib/loadsave.php:893 ../lib/loadsave.php:1173
 #, php-format
 msgid "Serialized file %s"
 msgstr "Serialisierte Datei %s"
 
-#: ../lib/loadsave.php:836 ../lib/loadsave.php:1107
+#: ../lib/loadsave.php:894 ../lib/loadsave.php:1195
 #, php-format
 msgid "plain file %s"
 msgstr "Nur-Text-Datei %s"
@@ -1628,416 +1884,411 @@
 # This translation gives the general idea of the action to be performed, 
 # but the text must be brief enough to fit inside a button:
 # "widersprechende nderungen Zusammenfgen und die ergebende Seite Bearbeiten"
-#: ../lib/loadsave.php:843
+#: ../lib/loadsave.php:901 ../lib/plugin/SyncWiki.php:271
 msgid "Merge Edit"
 msgstr "Zusammenfgen Bearbeiten"
 
-#: ../lib/loadsave.php:849
+#: ../lib/loadsave.php:907
 msgid "Restore Anyway"
 msgstr "Ungeprft berschreiben"
 
-#: ../lib/loadsave.php:857
+#: ../lib/loadsave.php:915
 msgid "Overwrite All"
 msgstr ""
 
-#: ../lib/loadsave.php:864
+#: ../lib/loadsave.php:922
 msgid " Sorry, cannot merge."
 msgstr " Konnte leider nicht automatisch einpflegen."
 
-#: ../lib/loadsave.php:884 ../lib/loadsave.php:894 ../lib/loadsave.php:901
-#: ../lib/loadsave.php:908 ../themes/MonoBook/templates/actionbar.tmpl:37
-#: ../themes/Wordpress/templates/actionbar.tmpl:57
-#: ../themes/default/templates/actionbar.tmpl:26
-#: ../themes/smaller/templates/actionbar.tmpl:29
+#: ../lib/loadsave.php:942 ../lib/loadsave.php:952 ../lib/loadsave.php:959
+#: ../lib/loadsave.php:966 ../themes/MonoBook/templates/actionbar.tmpl:60
+#: ../themes/Wordpress/templates/actionbar.tmpl:58
+#: ../themes/default/templates/actionbar.tmpl:28
+#: ../themes/smaller/templates/actionbar.tmpl:31
 msgid "Revert"
 msgstr "Zurckspeichern"
 
-#: ../lib/loadsave.php:885
+#: ../lib/loadsave.php:943
 msgid "missing required version argument"
 msgstr "Parameter version mu angegeben werden"
 
-#: ../lib/loadsave.php:893
+#: ../lib/loadsave.php:951
 msgid "no page content"
 msgstr "leerer Seiteninalt"
 
-#: ../lib/loadsave.php:900
+#: ../lib/loadsave.php:958
 msgid "same version page"
 msgstr "selbe Version der Seite"
 
-#: ../lib/loadsave.php:907
+#: ../lib/loadsave.php:965
 msgid "Cancelled"
 msgstr "Abgebrochen"
 
-#: ../lib/loadsave.php:915
+#: ../lib/loadsave.php:973
 msgid "Are you sure?"
 msgstr "Sind Sie sicher?"
 
-#: ../lib/loadsave.php:921 ../lib/plugin/PasswordReset.php:104
-#: ../lib/plugin/PasswordReset.php:142 ../lib/plugin/UserPreferences.php:114
-#: ../lib/plugin/WikiAdminChmod.php:146 ../lib/plugin/WikiAdminChown.php:153
-#: ../lib/plugin/WikiAdminMarkup.php:149 ../lib/plugin/WikiAdminRemove.php:188
-#: ../lib/plugin/WikiAdminRename.php:165
+#: ../lib/loadsave.php:979 ../lib/plugin/PasswordReset.php:103
+#: ../lib/plugin/PasswordReset.php:146 ../lib/plugin/UserPreferences.php:114
+#: ../lib/plugin/WatchPage.php:84 ../lib/plugin/WikiAdminChmod.php:146
+#: ../lib/plugin/WikiAdminChown.php:153 ../lib/plugin/WikiAdminMarkup.php:149
+#: ../lib/plugin/WikiAdminRemove.php:188 ../lib/plugin/WikiAdminRename.php:165
 #: ../lib/plugin/WikiAdminSearchReplace.php:180
-#: ../lib/plugin/WikiAdminSetAcl.php:176
+#: ../lib/plugin/WikiAdminSetAcl.php:180
 msgid "Yes"
 msgstr "Ja"
 
-#: ../lib/loadsave.php:923 ../lib/plugin/PasswordReset.php:107
-#: ../lib/plugin/PasswordReset.php:145 ../lib/plugin/TranslateText.php:118
-#: ../lib/plugin/UserPreferences.php:116 ../lib/plugin/WikiAdminChmod.php:159
+#: ../lib/loadsave.php:981 ../lib/plugin/PasswordReset.php:106
+#: ../lib/plugin/PasswordReset.php:149 ../lib/plugin/TranslateText.php:118
+#: ../lib/plugin/UserPreferences.php:116 ../lib/plugin/WatchPage.php:86
+#: ../lib/plugin/WatchPage.php:91 ../lib/plugin/WikiAdminChmod.php:159
 #: ../lib/plugin/WikiAdminChown.php:166 ../lib/plugin/WikiAdminMarkup.php:162
 #: ../lib/plugin/WikiAdminRemove.php:214 ../lib/plugin/WikiAdminRename.php:182
 #: ../lib/plugin/WikiAdminSearchReplace.php:194
 #: ../lib/plugin/WikiAdminSelect.php:218 ../lib/plugin/WikiAdminSelect.php:239
-#: ../lib/plugin/WikiAdminSetAcl.php:189 ../lib/plugin/WikiAdminUtils.php:266
-#: ../lib/plugin/WikiFormRich.php:317 ../lib/removepage.php:24
-#: ../lib/upgrade.php:682 ../themes/default/templates/login.tmpl:78
-#: ../themes/default/templates/userprefs.tmpl:243
+#: ../lib/plugin/WikiAdminSetAcl.php:193 ../lib/plugin/WikiAdminUtils.php:296
+#: ../lib/plugin/WikiFormRich.php:310 ../lib/removepage.php:24
+#: ../lib/upgrade.php:808 ../themes/default/templates/login.tmpl:78
+#: ../themes/default/templates/userprefs.tmpl:244
 msgid "Cancel"
 msgstr "Abbrechen"
 
-#: ../lib/loadsave.php:938
+#: ../lib/loadsave.php:997
 #, php-format
 msgid "revert to version %d"
 msgstr "Speichere Version %d zurck."
 
-#: ../lib/loadsave.php:943
+#: ../lib/loadsave.php:1002
 #, php-format
 msgid "Revert: %s"
 msgstr "Zurckspeichern: %s"
 
-#: ../lib/loadsave.php:944
+#: ../lib/loadsave.php:1003
 #, php-format
 msgid "- version %d saved to database as version %d"
 msgstr "- version %d in der Datenbank gespeichert als Version %d."
 
-#: ../lib/loadsave.php:972
+#: ../lib/loadsave.php:1031
 msgid "Default InterWiki map file not loaded."
 msgstr "Standard-Datei der InterWikiListe nicht geladen."
 
-#: ../lib/loadsave.php:1122 ../lib/loadsave.php:1135
+#: ../lib/loadsave.php:1210 ../lib/loadsave.php:1223
 msgid "Skipping"
 msgstr "bersprungen"
 
-#: ../lib/loadsave.php:1236
+#: ../lib/loadsave.php:1324
 #, php-format
-msgid "Unable to load: %s"
-msgstr "Konnte %s nicht laden"
+msgid "Empty or not existing source. Unable to load: %s"
+msgstr ""
 
-#: ../lib/loadsave.php:1243
+#: ../lib/loadsave.php:1331
 #, php-format
 msgid "Bad file type: %s"
 msgstr "Ungltiger Dateityp: %s"
 
-#: ../lib/loadsave.php:1260
+#: ../lib/loadsave.php:1348
 #, php-format
 msgid "Loading '%s'"
 msgstr "%s wird geladen"
 
-#: ../lib/loadsave.php:1298
+#: ../lib/loadsave.php:1386
 msgid "Loading up virgin wiki"
 msgstr "Lade neue Seiten in das frische Wiki"
 
-#: ../lib/loadsave.php:1344
+#: ../lib/loadsave.php:1436
 msgid "No uploaded file to upload?"
 msgstr "Keine Datei zum Hochladen?"
 
-#: ../lib/loadsave.php:1348
+#: ../lib/loadsave.php:1440
 #, php-format
 msgid "Uploading %s"
 msgstr "%s wird hochgeladen"
 
-#: ../lib/main.php:415
+#: ../lib/main.php:440
 msgid "FORBIDDEN"
 msgstr "VERBOTEN"
 
-#: ../lib/main.php:416 ../lib/main.php:426
+#: ../lib/main.php:441 ../lib/main.php:451
 msgid "ANON"
 msgstr "ANON"
 
-#: ../lib/main.php:417
+#: ../lib/main.php:442
 msgid "BOGO"
 msgstr "BOGO"
 
-#: ../lib/main.php:418
+#: ../lib/main.php:443
 msgid "USER"
 msgstr "BENUTZER"
 
-#: ../lib/main.php:419
+#: ../lib/main.php:444
 msgid "ADMIN"
 msgstr "ADMIN"
 
-#: ../lib/main.php:420
+#: ../lib/main.php:445
 msgid "UNOBTAINABLE"
 msgstr "UNERREICHBAR"
 
-#: ../lib/main.php:448 ../lib/main.php:467
+#: ../lib/main.php:473 ../lib/main.php:492
 #, php-format
 msgid "%s is disallowed on this wiki."
 msgstr "%s ist auf diesem Wiki nicht zugelassen."
 
-#: ../lib/main.php:456
+#: ../lib/main.php:481
 msgid "authenticated"
 msgstr "authentifizierten"
 
-#: ../lib/main.php:456
+#: ../lib/main.php:481
 msgid "not authenticated"
 msgstr "nicht authentifizierten"
 
+#: ../lib/main.php:483
+msgid "Missing PagePermission:"
+msgstr "Fehlende Zugriffsberechtigung:"
+
 # Missing PagePermission:| access | pagename
-#: ../lib/main.php:457
+#: ../lib/main.php:482
 #, php-format
 msgid "%s %s %s is disallowed on this wiki for %s user '%s' (level: %s)."
 msgstr ""
 "%s %s %s ist auf diesem Wiki fr %s Benutzer %s (Level: %s) nicht "
 "zugelassen."
 
-#: ../lib/main.php:458
-msgid "Missing PagePermission:"
-msgstr "Fehlende Zugriffsberechtigung:"
-
-#: ../lib/main.php:475
+#: ../lib/main.php:500
 #, php-format
 msgid "You must sign in to %s."
 msgstr "Sie mssen sich anmelden %s."
 
-#: ../lib/main.php:477
+#: ../lib/main.php:502
 #, php-format
 msgid "You must log in to %s."
 msgstr "Sie mssen sich anmelden %s."
 
-#: ../lib/main.php:479
+#: ../lib/main.php:504
+msgid "You must log in first"
+msgstr "Sie mssen sich zuerst anmelden"
+
+#: ../lib/main.php:506
 #, php-format
 msgid "Access for you is forbidden to %s."
 msgstr ""
 
-#: ../lib/main.php:481 ../lib/plugin/PluginManager.php:65
+#: ../lib/main.php:508 ../lib/plugin/PluginManager.php:65
 #, php-format
 msgid "You must be an administrator to %s."
 msgstr "Sie mssen Administratorrechte haben %s."
 
-#: ../lib/main.php:493
+#: ../lib/main.php:521
 msgid "view this page"
 msgstr "um diese Seite anzuzeigen"
 
-#: ../lib/main.php:494
+#: ../lib/main.php:522
 msgid "diff this page"
 msgstr "um von dieser Seite die nderungen anzuzeigen"
 
-#: ../lib/main.php:495
+#: ../lib/main.php:523
 msgid "dump html pages"
 msgstr "um von diesem Wiki HTML-Dateien lokal abzuspeichern"
 
-#: ../lib/main.php:496
+#: ../lib/main.php:524
 msgid "dump serial pages"
 msgstr "um von diesem Wiki die Seiten lokal abzuspeichern"
 
-#: ../lib/main.php:497
+#: ../lib/main.php:525
 msgid "edit this page"
 msgstr "um diese Seite zu bearbeiten"
 
-#: ../lib/main.php:498
+#: ../lib/main.php:526
 msgid "revert to a previous version of this page"
 msgstr "Zurckspeichern einer lteren Version dieser Seite."
 
 # Erzeugen??
-#: ../lib/main.php:499
+#: ../lib/main.php:527
 msgid "create this page"
 msgstr "um diese Seite zu erzeugen"
 
-#: ../lib/main.php:500
+#: ../lib/main.php:528
 msgid "load files into this wiki"
 msgstr "um Seiten in dieses Wiki zu laden"
 
-#: ../lib/main.php:501
+#: ../lib/main.php:529
 msgid "lock this page"
 msgstr "um diese Seite zu sperren"
 
-#: ../lib/main.php:502
+#: ../lib/main.php:530
 msgid "remove this page"
 msgstr "um diese Seite zu lschen"
 
-#: ../lib/main.php:503
+#: ../lib/main.php:531
 msgid "unlock this page"
 msgstr "um diese Seite zu entsperren"
 
-#: ../lib/main.php:504
+#: ../lib/main.php:532
 msgid "upload a zip dump"
 msgstr "um einen ZIP-Speicherauszug in dieses Wiki zu laden"
 
 # (verify=verwirklichen, in die Tat umsetzen, durch- oder ausfhren)
-#: ../lib/main.php:505
+#: ../lib/main.php:533
 msgid "verify the current action"
 msgstr "um die gegenwrtige Aktion durchzufhren"
 
-#: ../lib/main.php:506
+#: ../lib/main.php:534
 msgid "view the source of this page"
 msgstr "um den Quelltext dieser Seiten anzusehen"
 
-#: ../lib/main.php:507
+#: ../lib/main.php:535
 msgid "access this wiki via XML-RPC"
 msgstr "um via XML-RPC auf dieses Wiki zuzugreifen"
 
-#: ../lib/main.php:508
+#: ../lib/main.php:536
 msgid "access this wiki via SOAP"
 msgstr "um via SOAP auf dieses Wiki zuzugreifen"
 
-#: ../lib/main.php:509
+#: ../lib/main.php:537
 msgid "download a zip dump from this wiki"
 msgstr "um eine gezippte Sicherung von allen Wiki Seiten herunterzuladen"
 
-#: ../lib/main.php:510
+#: ../lib/main.php:538
 msgid "download a html zip dump from this wiki"
 msgstr "um alle HTML Seiten als Zipdatei von diesem Wiki herunterzuladen"
 
-#: ../lib/main.php:534
+#: ../lib/main.php:562
 msgid "Browsing pages"
 msgstr "Das Durchblttern der Seiten dieses Wikis"
 
-#: ../lib/main.php:535
+#: ../lib/main.php:563
 msgid "Diffing pages"
 msgstr "Die Inhalts-Differenz-Seiten dieses Wikis"
 
-#: ../lib/main.php:536
+#: ../lib/main.php:564
 msgid "Dumping html pages"
 msgstr "Die Speicherung von Wiki Seiten als HTML-Dateien"
 
-#: ../lib/main.php:537
+#: ../lib/main.php:565
 msgid "Dumping serial pages"
 msgstr "Die Speicherung von Wiki Seiten als Dateien"
 
-#: ../lib/main.php:538
+#: ../lib/main.php:566
 msgid "Editing pages"
 msgstr "ndern in diesem Wiki"
 
-#: ../lib/main.php:539
+#: ../lib/main.php:567
 msgid "Reverting to a previous version of pages"
 msgstr "Zurckspeichern einer lteren Version"
 
 # Erzeugen??
-#: ../lib/main.php:540
+#: ../lib/main.php:568
 msgid "Creating pages"
 msgstr "Das Seitenerzeugung in diesem Wiki"
 
-#: ../lib/main.php:541
+#: ../lib/main.php:569
 msgid "Loading files"
 msgstr "Das Dateienladen in diesem Wiki"
 
-#: ../lib/main.php:542
+#: ../lib/main.php:570
 msgid "Locking pages"
 msgstr "Das Seitensperrung in diesem Wiki"
 
-#: ../lib/main.php:543
+#: ../lib/main.php:571
 msgid "Removing pages"
 msgstr "Die Seitenlschung in diesem Wiki"
 
-#: ../lib/main.php:544
+#: ../lib/main.php:572
 msgid "Unlocking pages"
 msgstr "Die Seitenfreigabe in diesem Wiki"
 
-#: ../lib/main.php:545
+#: ../lib/main.php:573
 msgid "Uploading zip dumps"
 msgstr "Das Hochladen von ZIP-Dumps in diesem Wiki"
 
-#: ../lib/main.php:546
+#: ../lib/main.php:574
 msgid "Verify the current action"
 msgstr "Besttigen Sie die gegenwrtige Aktion"
 
-#: ../lib/main.php:547
+#: ../lib/main.php:575
 msgid "Viewing the source of pages"
 msgstr "Die Quelltextansicht der Seiten in diesem Wiki"
 
-#: ../lib/main.php:548
+#: ../lib/main.php:576
 msgid "XML-RPC access"
 msgstr "XML-RPC Zugriff"
 
-#: ../lib/main.php:549
+#: ../lib/main.php:577
 msgid "SOAP access"
 msgstr "SOAP-Zugriff"
 
-#: ../lib/main.php:550
+#: ../lib/main.php:578
 msgid "Downloading zip dumps"
 msgstr "Das Herunterladen aller Wiki-Seiten als gezippte Datei"
 
-#: ../lib/main.php:551
+#: ../lib/main.php:579
 msgid "Downloading html zip dumps"
 msgstr ""
 "Das Herunterladen aller Wiki-Seiten als HTML-Dateien in einer Zip-Datei"
 
-#: ../lib/main.php:685
+#: ../lib/main.php:720
 #, php-format
 msgid "%s: action forwarded to a moderator."
 msgstr ""
 
-#: ../lib/main.php:688
+#: ../lib/main.php:723
 msgid "This action requires moderator approval. Please be patient."
 msgstr ""
 
-#: ../lib/main.php:693
+#: ../lib/main.php:728
 msgid "You must wait for moderator approval."
 msgstr "Sie mssen auf die Zustimmung des Moderators warten."
 
-#: ../lib/main.php:698 ../lib/main.php:1051 ../lib/plugin/ModeratedPage.php:41
-#: ../lib/plugin/ModeratedPage.php:137 ../lib/plugin/ModeratedPage.php:205
-#: ../lib/plugin/ModeratedPage.php:238 ../lib/plugin/ModeratedPage.php:241
-#: ../lib/plugin/ModeratedPage.php:243 ../lib/plugin/ModeratedPage.php:245
-#: ../lib/plugin/ModeratedPage.php:324
-msgid "ModeratedPage"
-msgstr "ModerierteSeite"
-
-#: ../lib/main.php:714
+#: ../lib/main.php:749 ../lib/plugin/ModeratedPage.php:310
 #, php-format
 msgid "%s: Bad action"
 msgstr "%s: Ungltige Aktion"
 
-#: ../lib/main.php:731
+#: ../lib/main.php:766
 msgid "Fatal PhpWiki Error"
 msgstr "Fataler PhpWiki-Fehler"
 
-#: ../lib/main.php:980 ../lib/plugin/WikiAdminChown.php:183
+#: ../lib/main.php:1019 ../lib/plugin/WikiAdminChown.php:183
 msgid "Chown"
 msgstr "Chown"
 
-#: ../lib/main.php:984 ../lib/plugin/WikiAdminSetAcl.php:183
+#: ../lib/main.php:1023 ../lib/plugin/WikiAdminSetAcl.php:187
 msgid "SetAcl"
 msgstr "AclSetzen"
 
-#: ../lib/main.php:988 ../lib/plugin/WikiAdminRename.php:208
+#: ../lib/main.php:1027 ../lib/plugin/WikiAdminRename.php:208
 msgid "Rename"
 msgstr "Umbenennen"
 
-#: ../lib/main.php:992 ../lib/main.php:997 ../lib/plugin/PageDump.php:36
+#: ../lib/main.php:1031 ../lib/main.php:1036 ../lib/plugin/PageDump.php:36
 #: ../themes/Crao/templates/actionbar.tmpl:28
-#: ../themes/MonoBook/templates/actionbar.tmpl:48
-#: ../themes/Wordpress/templates/actionbar.tmpl:75
-#: ../themes/default/templates/actionbar.tmpl:35
+#: ../themes/MonoBook/templates/actionbar.tmpl:69
+#: ../themes/Wordpress/templates/actionbar.tmpl:76
+#: ../themes/default/templates/actionbar.tmpl:37
 #: ../themes/shamino_com/templates/actionbar.tmpl:22
-#: ../themes/shamino_com/templates/info.tmpl:168
-#: ../themes/smaller/templates/actionbar.tmpl:39
+#: ../themes/smaller/templates/actionbar.tmpl:41
 #: ../themes/smaller/templates/info.tmpl:11
 msgid "PageDump"
 msgstr "SeiteSpeichern"
 
-#: ../lib/main.php:1011 ../lib/plugin/FullTextSearch.php:39
-#: ../lib/plugin/WantedPagesOld.php:134
+#: ../lib/main.php:1050 ../lib/plugin/FullTextSearch.php:45
 msgid "FullTextSearch"
 msgstr "VolltextSuche"
 
-#: ../lib/main.php:1161
+#: ../lib/main.php:1222
 msgid "The session.save_path directory"
 msgstr "Das session.save_path Verzeichnis"
 
-#: ../lib/main.php:1164
+#: ../lib/main.php:1225
 #, php-format
 msgid "the session.save_path directory '%s'"
 msgstr "das session.save_path Verzeichnis %s"
 
-#: ../lib/main.php:1168
+#: ../lib/main.php:1229
 #, php-format
 msgid "Attempting to use the directory '%s' instead."
 msgstr "Versuche stattdessen das Verzeichnis %s zu verwenden."
 
-#: ../lib/main.php:1175
+#: ../lib/main.php:1236
 msgid "Users will not be able to sign in."
 msgstr "Benutzer werden sich nicht anmelden knnen."
 
@@ -2062,8 +2313,8 @@
 msgid "Click to display all comments"
 msgstr "Klicken um Kommentare anzuzeigen"
 
-#: ../lib/plugin/AddComment.php:111 ../lib/plugin/CreateToc.php:372
-#: ../lib/plugin/CreateToc.php:377
+#: ../lib/plugin/AddComment.php:111 ../lib/plugin/CreateToc.php:381
+#: ../lib/plugin/CreateToc.php:401
 msgid "Click to display"
 msgstr "Klicken um anzuzeigen"
 
@@ -2071,7 +2322,7 @@
 msgid "Comments"
 msgstr "Kommentare"
 
-#: ../lib/plugin/AllPages.php:34
+#: ../lib/plugin/AllPages.php:34 ../themes/MonoBook/templates/navbar.tmpl:78
 msgid "AllPages"
 msgstr "AlleSeiten"
 
@@ -2084,22 +2335,22 @@
 msgid "All pages in this wiki (%d total):"
 msgstr "Alle Seiten in diesem Wiki (%d insgesamt):"
 
-#: ../lib/plugin/AllPages.php:77 ../lib/plugin/LinkDatabase.php:83
+#: ../lib/plugin/AllPages.php:77 ../lib/plugin/LinkDatabase.php:84
 #, php-format
 msgid "List of pages owned by [%s] (%d total):"
 msgstr "Liste der Seiten owned by [%s] (%d insgesamt):"
 
-#: ../lib/plugin/AllPages.php:87 ../lib/plugin/LinkDatabase.php:90
+#: ../lib/plugin/AllPages.php:89 ../lib/plugin/LinkDatabase.php:91
 #, 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:97 ../lib/plugin/LinkDatabase.php:97
+#: ../lib/plugin/AllPages.php:101 ../lib/plugin/LinkDatabase.php:98
 #, php-format
 msgid "List of pages created by [%s] (%d total):"
 msgstr "Liste der Seiten erzeugt von [%s] (%d insgesamt):"
 
-#: ../lib/plugin/AllPages.php:126 ../lib/plugin/AllUsers.php:105
+#: ../lib/plugin/AllPages.php:133 ../lib/plugin/AllUsers.php:105
 #, php-format
 msgid "Elapsed time: %s s"
 msgstr "Dauer: %s s"
@@ -2120,120 +2371,121 @@
 msgid "Authenticated users on this wiki (%d total):"
 msgstr "Eingetragene Benutzer in diesem Wiki (Gesamt: %d):"
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:143
-#: ../lib/plugin/AnalyseAccessLogSql.php:168
+#: ../lib/plugin/AnalyseAccessLogSql.php:162
+#: ../lib/plugin/AnalyseAccessLogSql.php:197
 msgid "0 - last minute"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:144
-#: ../lib/plugin/AnalyseAccessLogSql.php:169
+#: ../lib/plugin/AnalyseAccessLogSql.php:163
+#: ../lib/plugin/AnalyseAccessLogSql.php:198
 msgid "1 - 1 minute to 1 hour"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:145
-#: ../lib/plugin/AnalyseAccessLogSql.php:170
+#: ../lib/plugin/AnalyseAccessLogSql.php:164
+#: ../lib/plugin/AnalyseAccessLogSql.php:199
 msgid "2 - 1 hour to 1 day"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:146
-#: ../lib/plugin/AnalyseAccessLogSql.php:171
+#: ../lib/plugin/AnalyseAccessLogSql.php:165
+#: ../lib/plugin/AnalyseAccessLogSql.php:200
 msgid "3 - 1 day to 1 week"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:147
-#: ../lib/plugin/AnalyseAccessLogSql.php:172
+#: ../lib/plugin/AnalyseAccessLogSql.php:166
+#: ../lib/plugin/AnalyseAccessLogSql.php:201
 msgid "4 - 1 week to 1 month"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:148
-#: ../lib/plugin/AnalyseAccessLogSql.php:173
+#: ../lib/plugin/AnalyseAccessLogSql.php:167
+#: ../lib/plugin/AnalyseAccessLogSql.php:202
 msgid "5 - 1 month to 1 year"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:149
-#: ../lib/plugin/AnalyseAccessLogSql.php:174
+#: ../lib/plugin/AnalyseAccessLogSql.php:168
+#: ../lib/plugin/AnalyseAccessLogSql.php:203
 msgid "6 - more than 1 year"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:193
+#: ../lib/plugin/AnalyseAccessLogSql.php:222
 msgid "referring_urls"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:194
+#: ../lib/plugin/AnalyseAccessLogSql.php:223
 msgid "external_referers"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:195
+#: ../lib/plugin/AnalyseAccessLogSql.php:224
 msgid "referring_domains"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:196
+#: ../lib/plugin/AnalyseAccessLogSql.php:225
 msgid "remote_hosts"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:197
+#: ../lib/plugin/AnalyseAccessLogSql.php:226
 msgid "users"
 msgstr "Benutzer"
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:198
+#: ../lib/plugin/AnalyseAccessLogSql.php:227
 msgid "host_users"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:199
+#: ../lib/plugin/AnalyseAccessLogSql.php:228
 msgid "search_bots"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:200
+#: ../lib/plugin/AnalyseAccessLogSql.php:229
 msgid "search_bots_hits"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:202
+#: ../lib/plugin/AnalyseAccessLogSql.php:231
 msgid "minutes"
 msgstr "Minuten"
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:203
+#: ../lib/plugin/AnalyseAccessLogSql.php:232
 msgid "hours"
 msgstr "Stunden"
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:204 ../lib/plugin/VisualWiki.php:499
+#: ../lib/plugin/AnalyseAccessLogSql.php:233 ../lib/plugin/VisualWiki.php:503
 msgid "days"
 msgstr "Tage"
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:205
+#: ../lib/plugin/AnalyseAccessLogSql.php:234
 msgid "weeks"
 msgstr "Wochen"
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:223
+#: ../lib/plugin/AnalyseAccessLogSql.php:252
 msgid "AnalyseAccessLogSql"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:227
+#: ../lib/plugin/AnalyseAccessLogSql.php:256
 msgid "Show summary information from the access log table."
 msgstr "Zeige berblick ber die Access LOG-Tabelle."
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:240
+#: ../lib/plugin/AnalyseAccessLogSql.php:269
 msgid "The requested information is available only to Administrators."
 msgstr "Diese Information ist nur fr Administratoren zugnglich."
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:243
+#: ../lib/plugin/AnalyseAccessLogSql.php:272
 msgid "The SQL_ACCESS_LOG is not enabled."
 msgstr "SQL_ACCESS_LOG ist nicht aktiviert."
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:254
+#: ../lib/plugin/AnalyseAccessLogSql.php:283
 #, php-format
 msgid "Unrecognised parameter 'mode=%s'"
 msgstr "Ungltiges Argument 'mode=%s'"
 
 # some empty DB field
-#: ../lib/plugin/AnalyseAccessLogSql.php:273 ../lib/plugin/_BackendInfo.php:97
+#: ../lib/plugin/AnalyseAccessLogSql.php:302
+#: ../lib/plugin/SemanticSearch.php:382 ../lib/plugin/_BackendInfo.php:124
 msgid "<empty>"
 msgstr "<leer>"
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:342
+#: ../lib/plugin/AnalyseAccessLogSql.php:382
 msgid "mode"
 msgstr "mode"
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:344
+#: ../lib/plugin/AnalyseAccessLogSql.php:384
 msgid "period"
 msgstr "Version %d."
 
@@ -2276,10 +2528,18 @@
 msgid "Render ASCII Math as MathML"
 msgstr ""
 
+#: ../lib/plugin/AsciiSVG.php:32
+msgid "AsciiSVG"
+msgstr ""
+
+#: ../lib/plugin/AsciiSVG.php:36
+msgid "Render inline ASCII SVG"
+msgstr ""
+
 #: ../lib/plugin/AuthorHistory.php:70
+#: ../themes/MonoBook/templates/actionbar.tmpl:67
 #: ../themes/MonoBook/templates/info.tmpl:168
 #: ../themes/blog/templates/info.tmpl:3
-#: ../themes/shamino_com/templates/info.tmpl:167
 #: ../themes/smaller/templates/info.tmpl:7
 msgid "AuthorHistory"
 msgstr "AutorenProtokoll"
@@ -2299,9 +2559,8 @@
 
 #: ../lib/plugin/AuthorHistory.php:125
 #: ../themes/MonoBook/templates/info.tmpl:77
-#: ../themes/default/templates/info.tmpl:70
+#: ../themes/default/templates/info.tmpl:69
 #: ../themes/default/templates/wikiforum.tmpl:22
-#: ../themes/shamino_com/templates/info.tmpl:76
 msgid "Author"
 msgstr "Autor"
 
@@ -2310,12 +2569,9 @@
 #: ../themes/Crao/templates/editpage.tmpl:48
 #: ../themes/MonoBook/templates/info.tmpl:78
 #: ../themes/Portland/templates/editpage.tmpl:39
-#: ../themes/Wordpress/templates/editpage.tmpl:48
-#: ../themes/blog/templates/blogform.tmpl:15
-#: ../themes/default/templates/blogform.tmpl:15
+#: ../themes/Wordpress/templates/editpage.tmpl:46
 #: ../themes/default/templates/editpage.tmpl:47
-#: ../themes/default/templates/info.tmpl:71
-#: ../themes/shamino_com/templates/info.tmpl:77
+#: ../themes/default/templates/info.tmpl:70
 msgid "Summary"
 msgstr "Zusammenfassung"
 
@@ -2329,11 +2585,6 @@
 msgstr ""
 "Verlaufsprotokoll aller groen und kleinen nderungen von %s der Seite %s."
 
-#: ../lib/plugin/AuthorHistory.php:156
-#, php-format
-msgid "History of all major edits by %s to page %s."
-msgstr "Verlaufsprotokoll aller groen nderungen von %s der Seite %s."
-
 #: ../lib/plugin/AuthorHistory.php:218
 #, php-format
 msgid "History of all major and minor modifications for any page edited by %s."
@@ -2341,55 +2592,61 @@
 "Verlaufsprotokoll aller groen und kleinen nderungen aller Seiten, die von %"
 "s bearbeitet wurden."
 
-#: ../lib/plugin/AuthorHistory.php:218
-#, php-format
-msgid "History of major modifications for any page edited by %s."
-msgstr ""
-"Verlaufsprotokoll aller groen nderungen aller Seiten, die von %s "
-"bearbeitet wurden."
-
 #: ../lib/plugin/BackLinks.php:35
 #, php-format
 msgid "List all pages which link to %s."
 msgstr "Alle Seiten, die mit %s verlinkt sind."
 
-#: ../lib/plugin/BackLinks.php:70 ../lib/plugin/ListPages.php:122
+#: ../lib/plugin/BackLinks.php:73 ../lib/plugin/ListPages.php:122
 #: ../lib/plugin/ListPages.php:125 ../lib/plugin/ListSubpages.php:89
 msgid "#"
 msgstr ""
 
-#: ../lib/plugin/BackLinks.php:96
+#: ../lib/plugin/BackLinks.php:126
 #, php-format
 msgid "No other page links to %s yet."
 msgstr "Noch keine Seiten sind mit %s verlinkt."
 
-#: ../lib/plugin/BackLinks.php:99
+#: ../lib/plugin/BackLinks.php:129
 #, php-format
 msgid "One page would link to %s:"
 msgstr "Eine Seite wrde mit %s verlinkt sein:"
 
-#: ../lib/plugin/BackLinks.php:108
+#: ../lib/plugin/BackLinks.php:138
 #, php-format
 msgid "%s pages would link to %s:"
 msgstr "%s Seiten wrden mit %s verlinkt sein:"
 
-#: ../lib/plugin/BackLinks.php:116
+#: ../lib/plugin/BackLinks.php:147 ../lib/plugin/SemanticSearch.php:129
+#: ../lib/plugin/SemanticSearch.php:205
+msgid "AND"
+msgstr ""
+
+#: ../lib/plugin/BackLinks.php:153
 #, php-format
 msgid "No page links to %s."
 msgstr "Keine Seiten sind mit %s verlinkt."
 
-#: ../lib/plugin/BackLinks.php:121
+#: ../lib/plugin/BackLinks.php:158
 #, php-format
 msgid "One page links to %s:"
 msgstr "Eine Seite ist mit %s verlinkt:"
 
-#: ../lib/plugin/BackLinks.php:130
+#: ../lib/plugin/BackLinks.php:168
+msgid "Those"
+msgstr "Diese"
+
+#: ../lib/plugin/BackLinks.php:167
 #, php-format
 msgid "%s pages link to %s:"
 msgstr "%s Seiten sind mit %s verlinkt:"
 
+#: ../lib/plugin/BackLinks.php:176
+msgid "More..."
+msgstr "Mehr..."
+
 #: ../lib/plugin/BlogArchives.php:24 ../lib/plugin/BlogArchives.php:134
-#: ../themes/blog/templates/actionbar.tmpl:17
+#: ../themes/blog/templates/actionbar.tmpl:11
 msgid "Archives"
 msgstr ""
 
@@ -2397,13 +2654,13 @@
 msgid "List blog months links for the current or ADMIN user"
 msgstr ""
 
-#: ../lib/plugin/BlogArchives.php:88 ../lib/plugin/BlogJournal.php:85
+#: ../lib/plugin/BlogArchives.php:88 ../lib/plugin/BlogJournal.php:88
 #, php-format
 msgid "Blog Entries for %s:"
 msgstr "Blog-Eintrge fr %s:"
 
 #: ../lib/plugin/BlogArchives.php:96
-#: ../themes/blog/templates/actionbar.tmpl:17
+#: ../themes/blog/templates/actionbar.tmpl:11
 msgid "BlogArchives"
 msgstr "BlogArchiv"
 
@@ -2419,38 +2676,31 @@
 msgid "Include latest blog entries for the current or ADMIN user"
 msgstr ""
 
-#: ../lib/plugin/BlogJournal.php:81 ../lib/plugin/WikiBlog.php:75
-msgid "WikiBlog"
-msgstr "WikiBlog"
+#: ../lib/plugin/BlogJournal.php:84
+msgid "New entry"
+msgstr "Neuer Eintrag"
 
-#: ../lib/plugin/BlogJournal.php:83
+#: ../lib/plugin/BlogJournal.php:86
 msgid "No Blog Entries"
 msgstr "Keine Blog-Eintrge"
 
-#: ../lib/plugin/Calendar.php:41 ../lib/plugin/Calendar.php:45
-#: ../themes/Crao/templates/head.tmpl:89
-#: ../themes/Crao/templates/navbar.tmpl:28
-#: ../themes/Sidebar/templates/body.tmpl:21
-#: ../themes/Sidebar/templates/body.tmpl:26 ../themes/Sidebar/themeinfo.php:44
-#: ../themes/Wordpress/templates/actionbar.tmpl:31
-#: ../themes/blog/templates/sidebar.tmpl:18
-#: ../themes/default/templates/head.tmpl:96
-#: ../themes/default/templates/homepage.tmpl:15
-#: ../themes/default/templates/navbar.tmpl:45
-#: ../themes/wikilens/templates/head.tmpl:89
-#: ../themes/wikilens/templates/navbar.tmpl:35
-msgid "Calendar"
-msgstr "Kalender"
+#: ../lib/plugin/BoxRight.php:34
+msgid "A simple plugin for <div class=boxright> with wikimarkup"
+msgstr ""
 
-#: ../lib/plugin/Calendar.php:95
+#: ../lib/plugin/Calendar.php:96
 msgid "Previous Month"
 msgstr "Voriger Monat"
 
-#: ../lib/plugin/Calendar.php:99
+#: ../lib/plugin/Calendar.php:100
 msgid "Next Month"
 msgstr "Nchster Monat"
 
-#: ../lib/plugin/Calendar.php:169 ../lib/plugin/CalendarList.php:135
+#: ../lib/plugin/Calendar.php:133
+msgid "Wk"
+msgstr "Wo"
+
+#: ../lib/plugin/Calendar.php:174 ../lib/plugin/CalendarList.php:135
 #, php-format
 msgid "Edit %s"
 msgstr "Bearbeite %s"
@@ -2468,8 +2718,6 @@
 msgstr "Erzeuge eine neue Wiki-Seite."
 
 #: ../lib/plugin/Comment.php:22 ../themes/Crao/templates/blogform.tmpl:15
-#: ../themes/blog/templates/blogform.tmpl:21
-#: ../themes/default/templates/blogform.tmpl:21
 msgid "Comment"
 msgstr "Kommentar"
 
@@ -2479,32 +2727,32 @@
 
 #: ../lib/plugin/CreateBib.php:36
 msgid "CreateBib"
-msgstr ""
+msgstr "ErzeugeBib"
 
 #: ../lib/plugin/CreateBib.php:40
 msgid "Automatically create a Bibtex file from linked pages"
 msgstr ""
 
-#: ../lib/plugin/CreateBib.php:121 ../lib/plugin/CreateToc.php:302
-#: ../lib/plugin/IncludePage.php:77 ../lib/plugin/RateIt.php:208
-#: ../lib/plugin/Template.php:102
+#: ../lib/plugin/CreateBib.php:121 ../lib/plugin/CreateToc.php:306
+#: ../lib/plugin/IncludePage.php:77 ../lib/plugin/RateIt.php:207
+#: ../lib/plugin/Template.php:110
 msgid "no page specified"
 msgstr "Keine Seite angegeben"
 
-#: ../lib/plugin/CreatePage.php:39
+#: ../lib/plugin/CreatePage.php:42
 msgid "CreatePage"
 msgstr "NeueSeite"
 
-#: ../lib/plugin/CreatePage.php:43
+#: ../lib/plugin/CreatePage.php:46
 msgid "Create a Wiki page by the provided name."
 msgstr "Erzeuge neue Wiki-Seite mit dem angegebenem Namen."
 
-#: ../lib/plugin/CreatePage.php:92
+#: ../lib/plugin/CreatePage.php:96
 #, php-format
 msgid "%s already exists"
 msgstr "%s existiert bereits"
 
-#: ../lib/plugin/CreatePage.php:103
+#: ../lib/plugin/CreatePage.php:112
 msgid "Created by CreatePage"
 msgstr "Erzeugt von NeueSeite"
 
@@ -2516,44 +2764,48 @@
 msgid "Automatically link headers at the top"
 msgstr "Verlinke berschriften mit Inhaltsverzeichnis"
 
-#: ../lib/plugin/CreateToc.php:313
+#: ../lib/plugin/CreateToc.php:317
 msgid "CreateToc disabled for old markup"
 msgstr "InhaltsVerzeichnis deaktiviert fr altes Markup"
 
-#: ../lib/plugin/CreateToc.php:369
+#: ../lib/plugin/CreateToc.php:377
 msgid "Click to hide the TOC"
 msgstr "Hier klicken um zu verstecken"
 
-#: ../lib/plugin/CreateToc.php:379 ../lib/plugin/CreateToc.php:382
+#: ../lib/plugin/CreateToc.php:386 ../lib/plugin/CreateToc.php:403
 msgid "Table Of Contents"
 msgstr "Inhaltsverzeichnis"
 
+#: ../lib/plugin/CreateToc.php:392
+msgid "Click to display to TOC"
+msgstr "Klicke um das TOC anzuzeigen"
+
 #: ../lib/plugin/DeadEndPages.php:24
 msgid "DeadEndPages"
 msgstr "VerwaisteSeiten"
 
 # word substitution order changes here
-#: ../lib/plugin/Diff.php:40
+#: ../lib/plugin/Diff.php:41
 msgid "Display differences between revisions"
 msgstr "Zeilenweiser Vergleich der Versionen"
 
-#: ../lib/plugin/Diff.php:52
+#: ../lib/plugin/Diff.php:53
 msgid "World"
 msgstr "Welt"
 
-#: ../lib/plugin/EditMetaData.php:45 ../lib/plugin/_WikiTranslation.php:61
+#: ../lib/plugin/EditMetaData.php:48 ../lib/plugin/_WikiTranslation.php:61
 msgid "EditMetaData"
 msgstr "MetaDatenBearbeiten"
 
-#: ../lib/plugin/EditMetaData.php:49
+#: ../lib/plugin/EditMetaData.php:52
 #, php-format
 msgid "Edit metadata for %s"
 msgstr "Meta-Daten fr %s bearbeiten"
 
-#: ../lib/plugin/EditMetaData.php:109
+#: ../lib/plugin/EditMetaData.php:132
 #, php-format
-msgid "Existing page-level metadata for %s:"
-msgstr "Zugewiesene Seiten Meta-Daten fr %s:"
+msgid "No metadata for %s"
+msgstr "Keine Meta-Daten fr %s"
 
 #: ../lib/plugin/EditMetaData.php:146
 msgid ""
@@ -2561,24 +2813,29 @@
 "remove a key by leaving the value-box empty."
 msgstr ""
 
-#: ../lib/plugin/EditMetaData.php:149 ../lib/upgrade.php:680
+#: ../lib/plugin/EditMetaData.php:149 ../lib/upgrade.php:806
 msgid "Submit"
 msgstr "Eingeben"
 
-#: ../lib/plugin/EditMetaData.php:161
+#: ../lib/plugin/EditMetaData.php:164
 msgid "Requires WikiAdmin privileges to edit."
 msgstr "Verlangt Administratorenrechte zur Bearbeitung."
 
-#: ../lib/plugin/ExternalSearch.php:38
+#: ../lib/plugin/ExternalSearch.php:40
 msgid "ExternalSearch"
 msgstr "FremdSuche"
 
-#: ../lib/plugin/ExternalSearch.php:42
+#: ../lib/plugin/ExternalSearch.php:44
 msgid "Redirects to an external web site based on form input"
 msgstr ""
 "Weiterleitung der Suche zu einer externen Webseite aufgrund einer "
 "Formulareingabe"
 
+#: ../lib/plugin/ExternalSearch.php:140 ../lib/plugin/PhotoAlbum.php:479
+#, php-format
+msgid "Invalid argument: %s=%s"
+msgstr "Ungltiger Parameter: %s=%s"
+
 #: ../lib/plugin/FileInfo.php:39
 msgid "FileInfo"
 msgstr "DateiInfo"
@@ -2587,13 +2844,22 @@
 msgid "Display file information like version,size,date,... of uploaded files."
 msgstr ""
 
-#: ../lib/plugin/FileInfo.php:63 ../lib/plugin/FileInfo.php:65
-#: ../lib/plugin/PageGroup.php:104 ../lib/plugin/WikiFormRich.php:163
-#: ../lib/plugin/WikiFormRich.php:179
+#: ../lib/plugin/FileInfo.php:64 ../lib/plugin/FileInfo.php:66
+#: ../lib/plugin/PageGroup.php:104 ../lib/plugin/SyncWiki.php:75
+#: ../lib/plugin/WikiFormRich.php:177 ../lib/plugin/WikiFormRich.php:193
 #, php-format
 msgid "A required argument '%s' is missing."
 msgstr "Erforderliches Argument %s fehlt."
 
+#: ../lib/plugin/FileInfo.php:85
+msgid ""
+"Output suppressed. FileInfoPlugin with local files require a locked page."
+msgstr ""
+
+#: ../lib/plugin/FileInfo.php:86
+msgid "page not locked"
+msgstr "Seite nicht gesperrt"
+
 #: ../lib/plugin/FoafViewer.php:52
 msgid "FoafViewer"
 msgstr "FoafBetrachter"
@@ -2644,7 +2910,7 @@
 "Seite. Nur ein Frame ist erlaubt."
 
 #: ../lib/plugin/FrameInclude.php:93 ../lib/plugin/IncludePage.php:84
-#: ../lib/plugin/Template.php:108
+#: ../lib/plugin/Template.php:116
 #, php-format
 msgid "recursive inclusion of page %s"
 msgstr "Fehler beim Einbetten der Seite %s: Rekursiver Selbstaufruf der Seite"
@@ -2655,32 +2921,33 @@
 msgid "%s or %s parameter missing"
 msgstr "%s oder %s Argument fehlt"
 
-#: ../lib/plugin/FrameInclude.php:105 ../lib/plugin/Transclude.php:81
+#: ../lib/plugin/FrameInclude.php:105 ../lib/plugin/Transclude.php:91
 #, php-format
 msgid "recursive inclusion of url %s"
 msgstr "Fehler beim Aufruf der Seite %s: Rekursion (sich selbst aufrufend)"
 
-#: ../lib/plugin/FrameInclude.php:112 ../lib/plugin/TeX2png.php:216
-#: ../lib/plugin/text2png.php:69 ../lib/plugin/text2png.php:122
+#: ../lib/plugin/FrameInclude.php:112 ../lib/plugin/SemanticSearch.php:263
+#: ../lib/plugin/TeX2png.php:216 ../lib/plugin/text2png.php:87
+#: ../lib/plugin/text2png.php:173
 #, php-format
 msgid "See %s"
 msgstr "Siehe %s"
 
-#: ../lib/plugin/FullTextSearch.php:43
+#: ../lib/plugin/FullTextSearch.php:49
 msgid "Search the content of all pages in this wiki."
 msgstr "Den Text aller Seiten dieses Wikis durchsuchen."
 
-#: ../lib/plugin/FullTextSearch.php:105
+#: ../lib/plugin/FullTextSearch.php:110
 #, php-format
 msgid "only %d pages displayed"
 msgstr "nur %d Seiten angezeigt"
 
-#: ../lib/plugin/FullTextSearch.php:110
+#: ../lib/plugin/FullTextSearch.php:115
 #, php-format
 msgid "Ignored stoplist words '%s'"
 msgstr ""
 
-#: ../lib/plugin/FullTextSearch.php:115
+#: ../lib/plugin/FullTextSearch.php:120
 #, php-format
 msgid "Full text search results for '%s'"
 msgstr "Volltext-Suchresultate nach %s"
@@ -2725,6 +2992,7 @@
 
 #: ../lib/plugin/GoTo.php:59 ../lib/plugin/WikiAdminSelect.php:135
 #: ../lib/plugin/WikiAdminSelect.php:146
+#: ../themes/MonoBook/templates/navbar.tmpl:32
 msgid "Go"
 msgstr "Los"
 
@@ -2772,16 +3040,22 @@
 msgid "GraphViz image or imagemap creation of directed graphs"
 msgstr ""
 
-#: ../lib/plugin/GraphViz.php:265 ../lib/plugin/GraphViz.php:335
+#: ../lib/plugin/GraphViz.php:210 ../lib/plugin/_WikiTranslation.php:319
+#, php-format
+msgid "%s is empty"
+msgstr "%s ist leer"
+
+#: ../lib/plugin/GraphViz.php:274
 msgid "No dot graph given"
 msgstr ""
 
-#: ../lib/plugin/GraphViz.php:276 ../lib/plugin/SyntaxHighlighter.php:173
+#: ../lib/plugin/GraphViz.php:282 ../lib/plugin/GraphViz.php:290
+#: ../lib/plugin/SpellCheck.php:143 ../lib/plugin/SyntaxHighlighter.php:173
 #, php-format
 msgid "Couldn't start commandline '%s'"
 msgstr "Konnte Programm %s nicht starten"
 
-#: ../lib/plugin/GraphViz.php:279 ../lib/plugin/Ploticus.php:239
+#: ../lib/plugin/GraphViz.php:294 ../lib/plugin/Ploticus.php:248
 #, php-format
 msgid "%s error: outputfile '%s' not created"
 msgstr ""
@@ -2798,11 +3072,6 @@
 msgid "Convert HTML markup into wiki markup. (Version 0.5)"
 msgstr ""
 
-#: ../lib/plugin/HtmlConverter.php:66 ../lib/plugin/UpLoad.php:115
-#: ../lib/plugin/WikiForm.php:103
-msgid "Upload"
-msgstr "Hochladen"
-
 #: ../lib/plugin/HtmlConverter.php:78
 msgid "Only files with extension HTML are allowed"
 msgstr "Nur Dateien mit der Endung HTML sind erlaubt"
@@ -2811,6 +3080,10 @@
 msgid "Copy the output below and paste it into your Wiki page."
 msgstr ""
 
+#: ../lib/plugin/Imdb.php:55
+msgid "Query a local imdb database"
+msgstr ""
+
 #: ../lib/plugin/IncludePage.php:34
 msgid "IncludePage"
 msgstr "SeiteEinfgen"
@@ -2820,7 +3093,7 @@
 msgstr "Text von einer andere Seite einfgen."
 
 #: ../lib/plugin/IncludePage.php:92 ../lib/plugin/PageGroup.php:131
-#: ../lib/plugin/Template.php:116
+#: ../lib/plugin/Template.php:124
 #, php-format
 msgid "%s(%d): no such revision"
 msgstr "%s(%d): keine solche Version"
@@ -2855,10 +3128,24 @@
 msgid "Perform searches on InterWiki sites listed in InterWikiMap."
 msgstr "Durchsuchen im InterWiki sites die im InterWikiMap verzeichnet sind."
 
-#: ../lib/plugin/InterWikiSearch.php:90
+#: ../lib/plugin/InterWikiSearch.php:92
 msgid "Wiki Name"
 msgstr "Name des Wikis"
 
+#: ../lib/plugin/InterWikiSearch.php:93 ../lib/plugin/RecentChanges.php:724
+#: ../themes/Crao/templates/navbar.tmpl:42
+#: ../themes/Crao/templates/navbar.tmpl:44
+#: ../themes/Crao/templates/navbar.tmpl:48
+#: ../themes/blog/templates/search.tmpl:6
+#: ../themes/blog/templates/search.tmpl:7
+#: ../themes/blog/templates/search.tmpl:9
+#: ../themes/blog/templates/search.tmpl:13
+#: ../themes/default/templates/search.tmpl:6
+#: ../themes/default/templates/search.tmpl:15
+#: ../themes/default/templates/search.tmpl:27
+msgid "Search"
+msgstr "Suche"
+
 #: ../lib/plugin/JabberPresence.php:23
 msgid "JabberPresence"
 msgstr "JabberAnwesend"
@@ -2867,27 +3154,35 @@
 msgid "Simple jabber presence plugin"
 msgstr "Einfaches Jabber-Anwesenheits Zusatzprogramm"
 
-#: ../lib/plugin/LdapSearch.php:57
+#: ../lib/plugin/LdapSearch.php:54
 msgid "LdapSearch"
 msgstr "LdapSuche"
 
-#: ../lib/plugin/LdapSearch.php:60
+#: ../lib/plugin/LdapSearch.php:57
 msgid "Search an LDAP directory"
 msgstr "Durchsuche ein LDAP Verzeichnis"
 
-#: ../lib/plugin/LdapSearch.php:83
-msgid "Failed to set LDAP protocol version to 3"
-msgstr "Fehler beim Setzen der LDAP Protokoll Version 3"
+#: ../lib/plugin/LdapSearch.php:81
+msgid "Missing ldap extension"
+msgstr "Fehlendes LDAP Modul"
+
+#: ../lib/plugin/LdapSearch.php:103
+msgid "Failed to connect to LDAP host"
+msgstr "Fehler beim Verbinden zum LDAP Server"
+
+#: ../lib/plugin/LdapSearch.php:136
+msgid "Failed to bind LDAP host"
+msgstr "Fehler beim Anbinden an den LDAP Server"
 
 # "hnlicheSeiten" (LikePages sind keine SamePages; die korrekte
 # deutsche bersetzung ist "hnlicheSeiten" which would be the best.
 # Or in case "" doesn't work as a WikiWord, then use "VergleichbareSeiten".
 #: ../lib/plugin/LikePages.php:32 ../themes/Crao/templates/navbar.tmpl:16
-#: ../themes/Portland/templates/navbar.tmpl:10
-#: ../themes/Wordpress/templates/actionbar.tmpl:90
+#: ../themes/Portland/templates/navbar.tmpl:7
+#: ../themes/Wordpress/templates/actionbar.tmpl:91
 #: ../themes/default/templates/navbar.tmpl:33
 #: ../themes/smaller/templates/navbar.tmpl:15
-#: ../themes/wikilens/templates/navbar.tmpl:24
+#: ../themes/wikilens/templates/navbar.tmpl:21
 msgid "LikePages"
 msgstr "hnlicheSeiten"
 
@@ -2913,30 +3208,63 @@
 msgid "These pages share an initial or final title word with '%s'"
 msgstr "Diese Seiten teilen sich einen Wordteil am Anfang oder Ende mit %s"
 
-#: ../lib/plugin/LinkDatabase.php:41
-msgid "LinkDatabase"
-msgstr "LinkDatenbank"
-
-#: ../lib/plugin/LinkDatabase.php:47
+#: ../lib/plugin/LinkDatabase.php:48
 msgid ""
 "List all pages with all links in various formats for some Java Visualization "
 "tools"
 msgstr ""
 
-#: ../lib/plugin/LinkDatabase.php:77
+#: ../lib/plugin/LinkDatabase.php:78
 #, php-format
 msgid "All pages with all links in this wiki (%d total):"
 msgstr "Alle Seiten mit allen Links in diesem Wiki (%d insgesamt):"
 
-#: ../lib/plugin/LinkDatabase.php:109
+#: ../lib/plugin/LinkDatabase.php:111 ../lib/plugin/WantedPages.php:87
 msgid "Links"
 msgstr "Links"
 
-#: ../lib/plugin/LinkDatabase.php:169
+#: ../lib/plugin/LinkDatabase.php:173
 #, php-format
 msgid "Unsupported format argument %s"
 msgstr "Nicht untersttzter format Parameter %s"
 
+#: ../lib/plugin/LinkSearch.php:35 ../lib/plugin/LinkSearch.php:113
+msgid "LinkSearch"
+msgstr "LinkSuche"
+
+#: ../lib/plugin/LinkSearch.php:38
+msgid "Search page and link names"
+msgstr ""
+
+#: ../lib/plugin/LinkSearch.php:65 ../lib/plugin/SemanticSearch.php:94
+msgid "Search only in these pages. With autocompletion."
+msgstr ""
+
+#: ../lib/plugin/LinkSearch.php:74 ../lib/plugin/SemanticSearch.php:117
+msgid "Filter by this link. These are pagenames. With autocompletion."
+msgstr ""
+
+#: ../lib/plugin/LinkSearch.php:98
+msgid "outgoing"
+msgstr "ausgehend"
+
+#: ../lib/plugin/LinkSearch.php:99
+msgid "incoming"
+msgstr "hereinkommend"
+
+#: ../lib/plugin/LinkSearch.php:114
+msgid "Search in pages for links with the matching name."
+msgstr ""
+
+#: ../lib/plugin/LinkSearch.php:148 ../lib/plugin/SemanticSearch.php:305
+msgid "Link"
+msgstr "Link"
+
+#: ../lib/plugin/LinkSearch.php:158
+#, php-format
+msgid "LinkSearch result for \"%s\" in pages \"%s\", direction %s"
+msgstr ""
+
 # "hnlicheSeiten" (LikePages sind keine SamePages; die korrekte
 # deutsche bersetzung ist "hnlicheSeiten" which would be the best.
 # Or in case "" doesn't work as a WikiWord, then use "VergleichbareSeiten".
@@ -2952,6 +3280,16 @@
 msgid "You must be logged in to view ratings."
 msgstr "Sie mssen sich anmelden um die Bewertungen zu sehen."
 
+#: ../lib/plugin/ListRelations.php:34
+msgid "ListRelations"
+msgstr "ListeBeziehungen"
+
+#: ../lib/plugin/ListRelations.php:37
+msgid ""
+"Display the list of all defined relations and optionnally attributes in this "
+"entrire wiki"
+msgstr ""
+
 #: ../lib/plugin/ListSubpages.php:34
 msgid "ListSubpages"
 msgstr "UnterseitenListe"
@@ -2979,12 +3317,12 @@
 msgid "Support moderated pages"
 msgstr "Untersttze moderierte Seiten"
 
-#: ../lib/plugin/ModeratedPage.php:141 ../lib/plugin/ModeratedPage.php:165
-#: ../lib/plugin/ModeratedPage.php:210
+#: ../lib/plugin/ModeratedPage.php:153 ../lib/plugin/ModeratedPage.php:178
+#: ../lib/plugin/ModeratedPage.php:224
 msgid "ModeratedPage: No emails for the moderators defined"
 msgstr "ModerierteSeite: Keine E-Mails fr Moderatoren definiert"
 
-#: ../lib/plugin/ModeratedPage.php:147
+#: ../lib/plugin/ModeratedPage.php:159
 #, php-format
 msgid ""
 "ModeratedPage status update:\n"
@@ -2992,12 +3330,12 @@
 "  require_access: '%s'"
 msgstr ""
 
-#: ../lib/plugin/ModeratedPage.php:152
+#: ../lib/plugin/ModeratedPage.php:164
 #, php-format
 msgid "'%s' is no ModeratedPage anymore."
 msgstr "'%s' ist keine ModeratierteSeite mehr."
 
-#: ../lib/plugin/ModeratedPage.php:171
+#: ../lib/plugin/ModeratedPage.php:184
 #, php-format
 msgid ""
 "ModeratedPage status update: '%s' is now a ModeratedPage.\n"
@@ -3005,33 +3343,42 @@
 "  require_access: '%s'"
 msgstr ""
 
-#: ../lib/plugin/ModeratedPage.php:232
+#: ../lib/plugin/ModeratedPage.php:250
 #, php-format
 msgid "%s: action forwarded to moderator %s"
 msgstr ""
 
-#: ../lib/plugin/ModeratedPage.php:252
+#: ../lib/plugin/ModeratedPage.php:276
 msgid "ModeratedPage Notification Error: Couldn't send email"
 msgstr "ModerierteSeite Benachrichtigungsfehler: Konnte kein E-Mail versenden"
 
-#: ../lib/plugin/ModeratedPage.php:287
+#: ../lib/plugin/ModeratedPage.php:355
+#, php-format
+msgid "%s approved your wiki action from %s"
+msgstr ""
+
+#: ../lib/plugin/ModeratedPage.php:367
 msgid "Please approve or reject this request:"
 msgstr ""
 
-#: ../lib/plugin/ModeratedPage.php:298
+#: ../lib/plugin/ModeratedPage.php:403
+msgid "Reason: "
+msgstr ""
+
+#: ../lib/plugin/ModeratedPage.php:404
 msgid "Approve"
 msgstr "Akzeptieren"
 
-#: ../lib/plugin/ModeratedPage.php:300
+#: ../lib/plugin/ModeratedPage.php:406
 msgid "Reject"
 msgstr "Ablehnen"
 
-#: ../lib/plugin/ModeratedPage.php:325 ../lib/plugin/ModeratedPage.php:332
+#: ../lib/plugin/ModeratedPage.php:434 ../lib/plugin/ModeratedPage.php:441
 #, php-format
 msgid "<?plugin ModeratedPage ... ?> not found in first line of %s"
 msgstr "<?plugin ModeratedPage ... ?> nicht in erster Zeile von %s gefunden"
 
-#: ../lib/plugin/ModeratedPage.php:328
+#: ../lib/plugin/ModeratedPage.php:437
 #, php-format
 msgid "%s is not locked!"
 msgstr "%s ist nicht gesperrt!"
@@ -3062,6 +3409,14 @@
 msgid "Visited pages on this wiki, ordered by popularity:"
 msgstr "Die besuchten Seiten dieses Wikis, nach Popularitt geordnet:"
 
+#: ../lib/plugin/NewPagesPerUser.php:19
+msgid "NewPagesPerUser"
+msgstr ""
+
+#: ../lib/plugin/NewPagesPerUser.php:23
+msgid "List all new pages per month per user"
+msgstr "Liste alle neue Seiten pro Monat pro Benutzer"
+
 #: ../lib/plugin/NoCache.php:39
 msgid "NoCache"
 msgstr "OhneCache"
@@ -3107,7 +3462,7 @@
 msgid "Page %s not found."
 msgstr "Seite %s nicht gefunden."
 
-#: ../lib/plugin/PageDump.php:127
+#: ../lib/plugin/PageDump.php:128
 msgid "Download for CVS"
 msgstr "Fr CVS herunterladen."
 
@@ -3122,7 +3477,7 @@
 # formatted for general backup purposes.
 # English text is poor here but it must be concise enough to fit
 # inside a button.
-#: ../lib/plugin/PageDump.php:132
+#: ../lib/plugin/PageDump.php:133
 msgid "Download for backup"
 msgstr "Fr Backup herunterladen"
 
@@ -3137,43 +3492,43 @@
 # formatted for general backup purposes.
 # English text is poor here but it must be concise enough to fit
 # inside a button.
-#: ../lib/plugin/PageDump.php:138
+#: ../lib/plugin/PageDump.php:139
 msgid "Download all revisions for backup"
 msgstr "Alle Versionen fr Backup herunterladen"
 
 # "Page dump" (Speicherauszug?) den WikiQuelltext von (Seitenname)
-#: ../lib/plugin/PageDump.php:141
+#: ../lib/plugin/PageDump.php:142
 #, php-format
 msgid "Preview: Page dump of %s"
 msgstr "Vorschau: Seitendump von %s"
 
-#: ../lib/plugin/PageDump.php:148
+#: ../lib/plugin/PageDump.php:149
 msgid ""
 "(formatted for PhpWiki developers as pgsrc template, not for backing up)"
 msgstr ""
 "(formatiert fr die PhpWiki Entwickler als pgsrc Vorlage, nicht zum Backup)"
 
-#: ../lib/plugin/PageDump.php:151 ../lib/plugin/PageDump.php:171
+#: ../lib/plugin/PageDump.php:152 ../lib/plugin/PageDump.php:172
 msgid "Preview as normal format"
 msgstr "Vorschau als normales Format"
 
-#: ../lib/plugin/PageDump.php:157 ../lib/plugin/PageDump.php:184
+#: ../lib/plugin/PageDump.php:158 ../lib/plugin/PageDump.php:185
 msgid "Preview as backup format"
 msgstr "Vorschau als Backupformat"
 
-#: ../lib/plugin/PageDump.php:161
+#: ../lib/plugin/PageDump.php:162
 msgid "(formatted for backing up: all revisions)"
 msgstr "(formatiert zum Backup: Alle Versionen)"
 
-#: ../lib/plugin/PageDump.php:165 ../lib/plugin/PageDump.php:178
+#: ../lib/plugin/PageDump.php:166 ../lib/plugin/PageDump.php:179
 msgid "Preview as developer format"
 msgstr "Vorschau im Entwickler Format"
 
-#: ../lib/plugin/PageDump.php:174
+#: ../lib/plugin/PageDump.php:175
 msgid "(normal formatting: latest revision only)"
 msgstr "(Normales Format: Nur aktuelle Version)"
 
-#: ../lib/plugin/PageDump.php:188
+#: ../lib/plugin/PageDump.php:189
 msgid ""
 "Please use one of the downloadable versions rather than copying and pasting "
 "from the above preview."
@@ -3181,19 +3536,20 @@
 "Verwenden Sie bitte eine der herunterladbaren Versionen als von der obigen "
 "Vorschau zu Kopieren und Einzufgen."
 
-#: ../lib/plugin/PageDump.php:190
+#: ../lib/plugin/PageDump.php:191
 msgid ""
 "The wordwrap of the preview doesn't take nested markup or list indentation "
 "into consideration!"
 msgstr ""
 
-#: ../lib/plugin/PageDump.php:193
+#: ../lib/plugin/PageDump.php:194
 msgid ""
 "PhpWiki developers should manually inspect the downloaded file for nested "
 "markup before rewrapping with emacs and checking into CVS."
 msgstr ""
 
-#: ../lib/plugin/PageDump.php:201 ../lib/plugin/PasswordReset.php:128
+#: ../lib/plugin/PageDump.php:202 ../lib/plugin/PasswordReset.php:131
+#: ../lib/plugin/SemanticSearch.php:260
 msgid "Warning:"
 msgstr "Achtung:"
 
@@ -3211,7 +3567,7 @@
 msgid "Contents"
 msgstr "Inhalt"
 
-#: ../lib/plugin/PageGroup.php:91 ../lib/stdlib.php:1985
+#: ../lib/plugin/PageGroup.php:91 ../lib/stdlib.php:1992
 #, php-format
 msgid "<%s: no such section>"
 msgstr "<%s: unbekannte Sektion>"
@@ -3254,12 +3610,12 @@
 msgid "Check any two boxes then %s."
 msgstr "Whlen Sie zwei Versionen aus, dann %s."
 
-#: ../lib/plugin/PageHistory.php:166 ../lib/plugin/PageHistory.php:229
+#: ../lib/plugin/PageHistory.php:166 ../lib/plugin/PageHistory.php:242
 #, php-format
 msgid "Version %d"
 msgstr "Version %d."
 
-#: ../lib/plugin/PageHistory.php:177 ../themes/MacOSX/lib/RecentChanges.php:34
+#: ../lib/plugin/PageHistory.php:178 ../themes/MacOSX/lib/RecentChanges.php:34
 #: ../themes/MonoBook/templates/info.tmpl:19
 #: ../themes/MonoBook/templates/info.tmpl:23
 #: ../themes/Portland/lib/RecentChanges.php:14
@@ -3267,40 +3623,39 @@
 #: ../themes/Wordpress/lib/RecentChanges.php:14
 #: ../themes/default/templates/info.tmpl:17
 #: ../themes/default/templates/info.tmpl:21
-#: ../themes/shamino_com/templates/info.tmpl:19
-#: ../themes/shamino_com/templates/info.tmpl:23
 msgid "minor edit"
 msgstr "geringfgige"
 
-#: ../lib/plugin/PageHistory.php:221
+#: ../lib/plugin/PageHistory.php:234
 msgid "History of changes."
 msgstr "nderungsprotokoll."
 
-#: ../lib/plugin/PageHistory.php:247 ../lib/plugin/RecentChanges.php:65
+#: ../lib/plugin/PageHistory.php:260 ../lib/plugin/RecentChanges.php:67
 #: ../themes/Crao/templates/actionbar.tmpl:22
-#: ../themes/MonoBook/templates/actionbar.tmpl:46
+#: ../themes/MonoBook/templates/actionbar.tmpl:39
+#: ../themes/MonoBook/templates/actionbar.tmpl:66
 #: ../themes/MonoBook/templates/info.tmpl:167
-#: ../themes/Portland/templates/actionbar.tmpl:18
+#: ../themes/Portland/templates/actionbar.tmpl:14
 #: ../themes/Portland/templates/viewsource.tmpl:26
-#: ../themes/Wordpress/templates/actionbar.tmpl:69
-#: ../themes/Wordpress/templates/viewsource.tmpl:28
-#: ../themes/default/templates/actionbar.tmpl:29
+#: ../themes/Wordpress/templates/actionbar.tmpl:70
+#: ../themes/Wordpress/templates/viewsource.tmpl:30
+#: ../themes/default/templates/actionbar.tmpl:31
 #: ../themes/shamino_com/templates/actionbar.tmpl:20
-#: ../themes/shamino_com/templates/info.tmpl:166
-#: ../themes/smaller/templates/actionbar.tmpl:37
+#: ../themes/smaller/templates/actionbar.tmpl:39
 #: ../themes/smaller/templates/info.tmpl:6
 msgid "PageHistory"
 msgstr "SeitenProtokoll"
 
-#: ../lib/plugin/PageHistory.php:251
+#: ../lib/plugin/PageHistory.php:264
 #, php-format
 msgid "List PageHistory for %s"
 msgstr "Das nderungsprotokoll fr %s auflisten"
 
 #: ../lib/plugin/PageInfo.php:32 ../themes/Crao/templates/actionbar.tmpl:24
-#: ../themes/Portland/templates/actionbar.tmpl:19
-#: ../themes/Wordpress/templates/actionbar.tmpl:71
-#: ../themes/default/templates/actionbar.tmpl:31
+#: ../themes/MonoBook/templates/actionbar.tmpl:64
+#: ../themes/Portland/templates/actionbar.tmpl:15
+#: ../themes/Wordpress/templates/actionbar.tmpl:72
+#: ../themes/default/templates/actionbar.tmpl:33
 #: ../themes/shamino_com/templates/actionbar.tmpl:5
 msgid "PageInfo"
 msgstr "SeitenInfo"
@@ -3320,10 +3675,10 @@
 
 #: ../lib/plugin/PasswordReset.php:42
 msgid "PasswordReset"
-msgstr "PasswortZurcksetzen:"
+msgstr "PasswortZurcksetzen"
 
 #: ../lib/plugin/PasswordReset.php:61 ../lib/plugin/PasswordReset.php:82
-#: ../lib/plugin/UserPreferences.php:104
+#: ../lib/plugin/UserPreferences.php:104 ../lib/plugin/WatchPage.php:150
 #: ../themes/default/templates/wikiforum.tmpl:22
 msgid "Message"
 msgstr "Nachricht"
@@ -3334,9 +3689,9 @@
 msgstr ""
 
 #: ../lib/plugin/PasswordReset.php:64 ../lib/plugin/PasswordReset.php:85
-#: ../lib/plugin/PasswordReset.php:159
+#: ../lib/plugin/PasswordReset.php:163
 msgid "Error"
-msgstr "Fehler"
+msgstr ""
 
 #: ../lib/plugin/PasswordReset.php:65
 #, php-format
@@ -3346,102 +3701,81 @@
 #: ../lib/plugin/PasswordReset.php:83
 #, php-format
 msgid "Email sent to the stored email address for user %s"
-msgstr "EMail mit dem neuen Passwort fr Benutzer %s erfolgreich gesendet"
+msgstr ""
 
 #: ../lib/plugin/PasswordReset.php:86
 #, php-format
 msgid "Error sending email with password for user %s."
 msgstr ""
-"Fehler beim Versenden der EMail mit dem neuen Passwort fr Benutzer %s."
+"Fehler beim Versenden der E-Mail mit dem neuen Passwort fr Benutzer %s."
 
-#: ../lib/plugin/PasswordReset.php:94
+#: ../lib/plugin/PasswordReset.php:93
 msgid "Reset password of user: "
-msgstr "Setze Passwort von Benutzer zurck: "
+msgstr "Setze Passwort fr Benutzer zurck: "
 
-#: ../lib/plugin/PasswordReset.php:104 ../lib/plugin/PasswordReset.php:142
+#: ../lib/plugin/PasswordReset.php:103 ../lib/plugin/PasswordReset.php:146
 msgid "Send email"
-msgstr "Sende EMail"
+msgstr "Versende E-Mail"
 
-#: ../lib/plugin/PasswordReset.php:129
+#: ../lib/plugin/PasswordReset.php:132
 msgid "You need to specify the userid!"
-msgstr ""
+msgstr "Sie mssen den Benutzernamen angeben!"
 
-#: ../lib/plugin/PasswordReset.php:150
+#: ../lib/plugin/PasswordReset.php:154
 msgid "Already logged in"
-msgstr ""
+msgstr "Bereits eingeloggt"
 
-#: ../lib/plugin/PasswordReset.php:151
+#: ../lib/plugin/PasswordReset.php:155
 msgid "Changing passwords is done at "
 msgstr ""
 
-#: ../lib/plugin/PasswordReset.php:151 ../lib/plugin/UserPreferences.php:38
-#: ../themes/Crao/templates/head.tmpl:85 ../themes/Crao/templates/head.tmpl:86
-#: ../themes/Crao/templates/navbar.tmpl:23
-#: ../themes/MonoBook/templates/navbar.tmpl:49
-#: ../themes/blog/templates/navbar.tmpl:17
-#: ../themes/default/templates/head.tmpl:92
-#: ../themes/default/templates/head.tmpl:93
-#: ../themes/default/templates/homepage.tmpl:11
-#: ../themes/default/templates/navbar.tmpl:40
-#: ../themes/shamino_com/templates/top.tmpl:28
-#: ../themes/smaller/templates/navbar.tmpl:22
-#: ../themes/wikilens/templates/head.tmpl:85
-#: ../themes/wikilens/templates/head.tmpl:86
-msgid "UserPreferences"
-msgstr "BenutzerEinstellungen"
-
-#: ../lib/plugin/PasswordReset.php:160
+#: ../lib/plugin/PasswordReset.php:164
 #, php-format
 msgid "No email stored for user %s."
 msgstr ""
 
-#: ../lib/plugin/PasswordReset.php:162
+#: ../lib/plugin/PasswordReset.php:166
+#, fuzzy
 msgid "You need to ask an Administrator to reset this password. See below: "
 msgstr ""
-"Sie mssen einen Administrator bitten, das Passwort zurckzusetzen. Siehe "
-"unten: "
+"Sie mssen Administratorrechte haben, um dieses Zusatzprogramm zu benutzen."
 
-#: ../lib/plugin/PasswordReset.php:174
+#: ../lib/plugin/PasswordReset.php:178
 #, php-format
 msgid "Do you really want to reset the password of user %s?"
-msgstr "Wollen Sie wirklich das Passwort von Benutzer %s zurcksetzen?"
+msgstr ""
 
-#: ../lib/plugin/PasswordReset.php:175
+#: ../lib/plugin/PasswordReset.php:179
 msgid "An email will be sent."
-msgstr "Ein EMail wird versendet."
+msgstr ""
 
-#: ../lib/plugin/PhotoAlbum.php:94
+#: ../lib/plugin/PhotoAlbum.php:97 ../themes/blog/templates/actionbar.tmpl:12
 msgid "PhotoAlbum"
 msgstr "BilderAlbum"
 
-#: ../lib/plugin/PhotoAlbum.php:98
+#: ../lib/plugin/PhotoAlbum.php:101
 msgid ""
 "Displays a set of photos listed in a text file with optional descriptions"
 msgstr ""
 "Zeigt die Liste der Bilder in einer Textdatei an, mit optionalen "
 "Beschreibungen"
 
-#: ../lib/plugin/PhotoAlbum.php:476
-#, php-format
-msgid "Invalid argument: %s=%s"
-msgstr "Ungltiger Parameter: %s=%s"
-
-#: ../lib/plugin/PhotoAlbum.php:536 ../lib/plugin/PhotoAlbum.php:557
-#: ../lib/plugin/Transclude.php:85
+#: ../lib/plugin/PhotoAlbum.php:540 ../lib/plugin/PhotoAlbum.php:565
+#: ../lib/plugin/Transclude.php:94
 msgid "Bad url in src: remove all of <, >, \""
 msgstr ""
 "URL Formfehler in Quellcode: alle der folgenden Zeichen entfernen <, >, \""
 
-#: ../lib/plugin/PhotoAlbum.php:554
+#: ../lib/plugin/PhotoAlbum.php:562
 msgid "File extension for csv file has to be '.csv'"
 msgstr ""
 
-#: ../lib/plugin/PhotoAlbum.php:605
+#: ../lib/plugin/PhotoAlbum.php:616
 #, php-format
 msgid "Unable to find src='%s'"
 msgstr "Konnte src='%s' nicht lesen"
 
-#: ../lib/plugin/PhotoAlbum.php:617
+#: ../lib/plugin/PhotoAlbum.php:628
 #, php-format
 msgid "Unable to read src='%s'"
 msgstr "Konnte src='%s' nicht lesen"
@@ -3506,7 +3840,8 @@
 msgid "shell commands not allowed in Ploticus"
 msgstr ""
 
-#: ../lib/plugin/Ploticus.php:249 ../lib/plugin/SyntaxHighlighter.php:180
+#: ../lib/plugin/Ploticus.php:270 ../lib/plugin/SpellCheck.php:123
+#: ../lib/plugin/SyntaxHighlighter.php:180
 msgid "empty source"
 msgstr "fehlender Quelltext"
 
@@ -3539,6 +3874,11 @@
 msgid "%s does not appear to be a WikiPlugin."
 msgstr "%s scheint kein Zusatzprogramm zu sein."
 
+#: ../lib/plugin/PluginManager.php:135 ../lib/upgrade.php:222
+#: ../themes/MonoBook/templates/navbar.tmpl:20
+msgid "Help"
+msgstr "Hilfe"
+
 #: ../lib/plugin/PopUp.php:49
 msgid "PopUp"
 msgstr ""
@@ -3570,6 +3910,39 @@
 msgid "%d most popular nearby: "
 msgstr "Die %d meistbesuchten Seiten in der Nhe: "
 
+#: ../lib/plugin/PopularTags.php:34
+msgid "PopularTags"
+msgstr "BeliebteTags"
+
+#: ../lib/plugin/PopularTags.php:38
+msgid "List the most popular tags."
+msgstr "Die hufigsten Tags werden aufgelistet."
+
+#: ../lib/plugin/PopularTags.php:59 ../lib/plugin/_WikiTranslation.php:56
+msgid "CategoryCategory"
+msgstr "KategorieKategorie"
+
+#: ../lib/plugin/PopularTags.php:64 ../lib/plugin/Template.php:60
+msgid "Template"
+msgstr "Benutzeroberflche"
+
+#: ../lib/plugin/PopularTags.php:78
+msgid "Category"
+msgstr "Kategorie"
+
+#: ../lib/plugin/PopularTags.php:79
+msgid "Topic"
+msgstr "Thema"
+
+#: ../lib/plugin/PreferenceApp.php:37
+#, fuzzy
+msgid "PreferenceApp"
+msgstr "Voreinstellungen"
+
+#: ../lib/plugin/PreferenceApp.php:41
+msgid "Analyzes preferences based on voting budget and ratings."
+msgstr "Analysiere Empfehlungen auf Grund von Bewertungen."
+
 #: ../lib/plugin/PrevNext.php:32
 msgid "PrevNext"
 msgstr "VorigeNchste"
@@ -3588,7 +3961,7 @@
 msgstr ""
 
 #: ../lib/plugin/RandomPage.php:33 ../lib/plugin/RandomPage.php:82
-#: ../themes/MonoBook/templates/navbar.tmpl:15
+#: ../themes/MonoBook/templates/navbar.tmpl:19
 msgid "RandomPage"
 msgstr "ZufallsSeite"
 
@@ -3598,49 +3971,49 @@
 "Eine liste der zuflliger ausgewhlter Seiten zeigen oder nach einer "
 "zuflliger ausgewhlter Seite weiterleiten."
 
-#: ../lib/plugin/RateIt.php:90 ../lib/plugin/RateIt.php:139
-#: ../lib/plugin/RateIt.php:146 ../lib/plugin/RateIt.php:291
-#: ../lib/upgrade.php:387
+#: ../lib/plugin/RateIt.php:89 ../lib/plugin/RateIt.php:138
+#: ../lib/plugin/RateIt.php:145 ../lib/plugin/RateIt.php:290
+#: ../lib/upgrade.php:452
 msgid "RateIt"
 msgstr "BewerteEs"
 
-#: ../lib/plugin/RateIt.php:93
+#: ../lib/plugin/RateIt.php:92
 msgid "Rating system. Store user ratings per page"
 msgstr "Bewertungssystem. Speichere Benutzerbewertungen pro Seite"
 
-#: ../lib/plugin/RateIt.php:117
+#: ../lib/plugin/RateIt.php:116
 msgid "Your rating "
 msgstr "Deine Bewertung "
 
-#: ../lib/plugin/RateIt.php:258
+#: ../lib/plugin/RateIt.php:257
 #, php-format
 msgid "Rated by %d users | Average rating %.1f stars"
 msgstr "Bewertet von %d Benutzern | Durchschnittswertung: %.1f Sterne"
 
-#: ../lib/plugin/RateIt.php:263
+#: ../lib/plugin/RateIt.php:262
 #, php-format
 msgid "Your rating was %.1f"
 msgstr "Deine Bewertung war %.1f"
 
-#: ../lib/plugin/RateIt.php:268
+#: ../lib/plugin/RateIt.php:267
 #, php-format
 msgid "%s prediction for you is %s stars"
 msgstr "Die %s Vorraussage fr dich sind %s Sterne"
 
-#: ../lib/plugin/RateIt.php:271
+#: ../lib/plugin/RateIt.php:270
 #, php-format
 msgid "%s prediction for you is %.1f stars"
 msgstr "Die %s Vorraussage fr dich sind %.lf Sterne"
 
-#: ../lib/plugin/RateIt.php:291
+#: ../lib/plugin/RateIt.php:290
 msgid "Rate It"
 msgstr "Bewerte es"
 
-#: ../lib/plugin/RateIt.php:358
+#: ../lib/plugin/RateIt.php:357
 msgid "Rate the topic of this page"
 msgstr "Bewerte den Seitentitel"
 
-#: ../lib/plugin/RateIt.php:370
+#: ../lib/plugin/RateIt.php:369
 msgid "Cancel rating"
 msgstr "Bewertung lschen"
 
@@ -3653,148 +4026,172 @@
 msgid "Raw HTML is disabled in this wiki."
 msgstr "HTML-Befehle sind in diesem Wiki auer Kraft gesetzt."
 
+#: ../lib/plugin/RawHtml.php:84
+msgid "Raw HTML"
+msgstr "Reine HTML-Befehle"
+
 #: ../lib/plugin/RawHtml.php:83 ../lib/plugin/RedirectTo.php:82
 #, php-format
 msgid "%s is only allowed in locked pages."
 msgstr "%s wird/werden nur in gesperrten Seiten erlaubt."
 
-#: ../lib/plugin/RawHtml.php:84
-msgid "Raw HTML"
-msgstr "Reine HTML-Befehle"
+#: ../lib/plugin/RecentChanges.php:107
+msgid "Deleted"
+msgstr "Gelscht"
 
-#: ../lib/plugin/RdfDefinition.php:42
-msgid "RdfDefinition"
-msgstr ""
+#: ../lib/plugin/RecentChanges.php:130
+#: ../themes/SpaceWiki/lib/RecentChanges.php:55
+msgid "diff"
+msgstr "diff"
 
-#: ../lib/plugin/RdfDefinition.php:45
-msgid "Define the RDF vocabulary for a wiki subset."
+#: ../lib/plugin/RecentChanges.php:143
+msgid "hist"
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:105
-msgid "Deleted"
-msgstr "Gelscht"
-
-#: ../lib/plugin/RecentChanges.php:128 ../themes/blog/themeinfo.php:119
-msgid "(diff)"
-msgstr "(diff)"
+#: ../lib/plugin/RecentChanges.php:185
+msgid "contribs"
+msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:135
-msgid "(hist)"
-msgstr "(protok.)"
+#: ../lib/plugin/RecentChanges.php:192
+msgid "new pages"
+msgstr "neue Seiten"
 
-#: ../lib/plugin/RecentChanges.php:198
+#: ../lib/plugin/RecentChanges.php:240
 msgid "edits"
 msgstr "nderungen"
 
-#: ../lib/plugin/RecentChanges.php:200
+#: ../lib/plugin/RecentChanges.php:242
 msgid "major edits"
 msgstr "Grere nderungen"
 
-#: ../lib/plugin/RecentChanges.php:202
+#: ../lib/plugin/RecentChanges.php:244
 msgid "minor edits"
 msgstr "Kleinere nderungen"
 
-#: ../lib/plugin/RecentChanges.php:203 ../lib/plugin/RecentChanges.php:279
+#: ../lib/plugin/RecentChanges.php:245 ../lib/plugin/RecentChanges.php:338
 #: ../lib/plugin/RecentComments.php:31
 msgid "Recent Comments"
 msgstr "Neueste Kommentare"
 
-#: ../lib/plugin/RecentChanges.php:204
+#: ../lib/plugin/RecentChanges.php:246
 msgid "comments"
 msgstr "Kommentare"
 
-#: ../lib/plugin/RecentChanges.php:229
+# Erzeugen??
+#: ../lib/plugin/RecentChanges.php:248
+msgid "created new pages"
+msgstr ""
+
+#: ../lib/plugin/RecentChanges.php:254
+#, php-format
+msgid " for pages changed by %s"
+msgstr ""
+
+#: ../lib/plugin/RecentChanges.php:260
+#, php-format
+msgid " for pages owned by %s"
+msgstr ""
+
+#: ../lib/plugin/RecentChanges.php:285
 #, php-format
 msgid "The %d most recent %s during the past day are listed below."
 msgstr "Die %d jngste %s innerhalb des letzten Tages sind unten aufgelistet."
 
-#: ../lib/plugin/RecentChanges.php:232
+#: ../lib/plugin/RecentChanges.php:288
 #, php-format
 msgid "The %d most recent %s during the past %s days are listed below."
 msgstr ""
 "Die %d jngste %s innerhalb der letzten %s Tage sind unten aufgelistet."
 
-#: ../lib/plugin/RecentChanges.php:235
+#: ../lib/plugin/RecentChanges.php:291
 #, php-format
 msgid "The %d most recent %s are listed below."
 msgstr "Die %d jngste %s sind unten aufgelistet."
 
-#: ../lib/plugin/RecentChanges.php:241
+#: ../lib/plugin/RecentChanges.php:297
 #, php-format
 msgid "The %d oldest %s during the past day are listed below."
 msgstr "Die %d lteste %s innerhalb des letzten Tages sind unten aufgelistet."
 
-#: ../lib/plugin/RecentChanges.php:244
+#: ../lib/plugin/RecentChanges.php:300
 #, php-format
 msgid "The %d oldest %s during the past %s days are listed below."
 msgstr ""
 "Die %d lteste %s innerhalb der letzten %s Tage sind unten aufgelistet."
 
-#: ../lib/plugin/RecentChanges.php:247
+#: ../lib/plugin/RecentChanges.php:303
 #, php-format
 msgid "The %d oldest %s are listed below."
 msgstr "Die %d lteste %s sind unten aufgelistet."
 
-#: ../lib/plugin/RecentChanges.php:254
+#: ../lib/plugin/RecentChanges.php:310
 #, php-format
 msgid "The most recent %s during the past day are listed below."
 msgstr "Die jngste %s innerhalb des letzten Tages sind unten aufgelistet."
 
-#: ../lib/plugin/RecentChanges.php:257
+#: ../lib/plugin/RecentChanges.php:313
 #, php-format
 msgid "The most recent %s during the past %s days are listed below."
 msgstr "Die jngste %s innerhalb der letzten %s Tage sind unten aufgelistet."
 
-#: ../lib/plugin/RecentChanges.php:260
+#: ../lib/plugin/RecentChanges.php:316
 #, php-format
 msgid "All %s are listed below."
 msgstr "Alle %s sind unten aufgelistet."
 
 # Kleinenderungen?
-#: ../lib/plugin/RecentChanges.php:272 ../lib/plugin/RecentChanges.php:287
-#: ../lib/plugin/RecentChanges.php:390 ../lib/plugin/RecentChanges.php:467
+#: ../lib/plugin/RecentChanges.php:328 ../lib/plugin/RecentChanges.php:346
+#: ../lib/plugin/RecentChanges.php:523 ../lib/plugin/RecentChanges.php:600
 #: ../lib/plugin/RecentEdits.php:10 ../lib/plugin/RecentEdits.php:36
 #: ../lib/plugin/RelatedChanges.php:27
-#: ../themes/Portland/templates/editpage.tmpl:49
-#: ../themes/Wordpress/templates/editpage.tmpl:58
+#: ../themes/Portland/templates/editpage.tmpl:45
+#: ../themes/Wordpress/templates/editpage.tmpl:57
 msgid "RecentEdits"
 msgstr "Geringfgigenderungen"
 
-#: ../lib/plugin/RecentChanges.php:280 ../lib/plugin/RecentComments.php:65
+#: ../lib/plugin/RecentChanges.php:339 ../lib/plugin/RecentComments.php:65
 msgid "No comments found"
 msgstr "Keine Kommentare gefunden."
 
-#: ../lib/plugin/RecentChanges.php:282
+#: ../lib/plugin/RecentChanges.php:341
 msgid "No changes found"
 msgstr "Keine nderungen gefunden."
 
-#: ../lib/plugin/RecentChanges.php:592
+#: ../lib/plugin/RecentChanges.php:457
+msgid "UserContribs"
+msgstr ""
+
+#: ../lib/plugin/RecentChanges.php:725
 msgid "Title Search"
 msgstr "TitelSuche"
 
-#: ../lib/plugin/RecentChanges.php:893
+#: ../lib/plugin/RecentChanges.php:1189
 msgid "Show minor edits for:"
 msgstr "Zeige kleinere nderungen innerhalb von:"
 
-#: ../lib/plugin/RecentChanges.php:895
+#: ../lib/plugin/RecentChanges.php:1191
 msgid "Show all changes for:"
 msgstr "Zeige alle nderungen innerhalb von:"
 
-#: ../lib/plugin/RecentChanges.php:897
+#: ../lib/plugin/RecentChanges.php:1193
 msgid "Show changes for:"
 msgstr "Zeige nderungen innerhalb von:"
 
-#: ../lib/plugin/RecentChanges.php:917
+#: ../lib/plugin/RecentChanges.php:1195
+msgid "All new pages since:"
+msgstr ""
+
+#: ../lib/plugin/RecentChanges.php:1215
 msgid "1 day"
 msgstr "1 Tag"
 
-#: ../lib/plugin/RecentChanges.php:921
+#: ../lib/plugin/RecentChanges.php:1219
 #, php-format
 msgid "%s days"
 msgstr "%s Tagen"
 
 #: ../lib/plugin/RecentComments.php:17
-#: ../themes/MonoBook/templates/navbar.tmpl:14
+#: ../themes/MonoBook/templates/navbar.tmpl:16
 msgid "RecentComments"
 msgstr "NeuesteKommentare"
 
@@ -3849,7 +4246,7 @@
 # nderungen"; in terms of newspapers or journalism it's traditionally
 # "NeuesteNachrichten" or much more better "DasNeueste").
 #: ../lib/plugin/RelatedChanges.php:73 ../themes/Crao/templates/navbar.tmpl:15
-#: ../themes/MonoBook/templates/navbar.tmpl:43
+#: ../themes/MonoBook/templates/navbar.tmpl:54
 msgid "RelatedChanges"
 msgstr "Verlinktenderungen"
 
@@ -3874,14 +4271,134 @@
 msgid "no RSS items"
 msgstr "keine RSS Eintrge"
 
-#: ../lib/plugin/SearchHighlight.php:37
+#: ../lib/plugin/SearchHighlight.php:39
 msgid "SearchHighlight"
 msgstr "SucheHervorheben"
 
-#: ../lib/plugin/SearchHighlight.php:41
+#: ../lib/plugin/SearchHighlight.php:43
 msgid "Hilight referred search terms."
 msgstr "Hebe externe Suchwrter hervor."
 
+#: ../lib/plugin/SearchHighlight.php:73
+#, php-format
+msgid "%s: Found %s through %s"
+msgstr ""
+
+#: ../lib/plugin/SemanticRelations.php:35
+msgid "SemanticRelations"
+msgstr "SemantischeBeziehungen"
+
+#: ../lib/plugin/SemanticRelations.php:38
+msgid "Display the list of relations and attributes on this page."
+msgstr ""
+
+#: ../lib/plugin/SemanticRelations.php:80
+#: ../lib/plugin/SemanticRelations.php:97 ../lib/plugin/SemanticSearch.php:57
+msgid "SemanticSearch"
+msgstr "SemantischeSuche"
+
+#: ../lib/plugin/SemanticRelations.php:86
+#, php-format
+msgid "Semantic relations for %s"
+msgstr "Semantische Beziehungen fr %s"
+
+#: ../lib/plugin/SemanticRelations.php:110
+#, php-format
+msgid "Attributes of %s"
+msgstr "Attribute fr %s"
+
+#: ../lib/plugin/SemanticRelations.php:119
+#: ../lib/plugin/SemanticRelations.php:120
+msgid "Help/SemanticRelations"
+msgstr "Hilfe/SemantischeBeziehungen"
+
+#: ../lib/plugin/SemanticRelations.php:122
+msgid "Find out how to add relations and attributes to pages."
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:60
+msgid "Search relations and attributes"
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:106
+msgid "Filter by this relation. With autocompletion."
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:124
+msgid "Relations"
+msgstr "Beziehungen"
+
+#: ../lib/plugin/SemanticSearch.php:132 ../lib/plugin/SemanticSearch.php:208
+msgid "Add an AND query"
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:133 ../lib/plugin/SemanticSearch.php:209
+msgid "OR"
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:136 ../lib/plugin/SemanticSearch.php:212
+msgid "Add an OR query"
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:139
+msgid "Search in pages for a relation with that value (a pagename)."
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:174
+msgid "Filter by this attribute name. With autocompletion."
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:186
+msgid "Comparison operator. With autocompletion."
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:197
+msgid "Filter by this numeric attribute value. With autocompletion."
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:215
+msgid "Attributes"
+msgstr "Attribute"
+
+#: ../lib/plugin/SemanticSearch.php:216
+msgid "Search in pages for an attribute with that numeric value."
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:219
+msgid "Advanced..."
+msgstr "Erweitert..."
+
+#: ../lib/plugin/SemanticSearch.php:219
+msgid "SemanticSearchAdvanced"
+msgstr "SemantischeSucheErweitert"
+
+#: ../lib/plugin/SemanticSearch.php:261
+msgid "No relations nor attributes in the whole wikidb defined!"
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:263
+msgid "Help:SemanticRelations"
+msgstr "Hilfe:SemantischeBeziehungen"
+
+#: ../lib/plugin/SemanticSearch.php:311
+#, php-format
+msgid "Illegal operator: %s"
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:358
+#, php-format
+msgid "Only text operators can be used with strings: %s"
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:378
+msgid "Value"
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:393
+#, php-format
+msgid "Semantic %s Search Result for \"%s\" in pages \"%s\""
+msgstr ""
+
 #: ../lib/plugin/SiteMap.php:51
 msgid "SiteMap"
 msgstr "Seitenbersicht"
@@ -3895,6 +4412,27 @@
 msgid "(max. recursion level: %d)"
 msgstr "(max. Rekursionstiefe: %d)"
 
+#: ../lib/plugin/SpellCheck.php:68
+msgid "Spell Checker"
+msgstr ""
+
+#: ../lib/plugin/SpellCheck.php:71
+msgid "Check the spelling of a page and make suggestions"
+msgstr ""
+
+#: ../lib/plugin/SpellCheck.php:124
+#, fuzzy
+msgid "SpellCheck"
+msgstr "Auswahl"
+
+#: ../lib/plugin/SpellCheck.php:125
+msgid "Cannot SpellCheck myself"
+msgstr ""
+
+#: ../lib/plugin/SpellCheck.php:171
+msgid "SpellCheck result"
+msgstr ""
+
 #: ../lib/plugin/SqlResult.php:67
 msgid "SqlResult"
 msgstr "SqlErgebnis"
@@ -3912,6 +4450,88 @@
 msgid "No DSN for alias %s in SqlResult.ini found"
 msgstr ""
 
+#: ../lib/plugin/SyncWiki.php:46
+msgid "SyncWiki"
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:50
+msgid "Synchronize pages with external PhpWiki"
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:113
+msgid "Syncing this PhpWiki"
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:114
+msgid "Download all externally changed sources."
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:116
+#, php-format
+msgid "Retrieving from external url %s wiki.getRecentChanges(%s)..."
+msgstr ""
+
+# ie. no pages found
+#: ../lib/plugin/SyncWiki.php:123 ../lib/plugin/WhoIsOnline.php:125
+msgid "<unknown>"
+msgstr "<unbekannt>"
+
+#: ../lib/plugin/SyncWiki.php:138 ../lib/plugin/SyncWiki.php:191
+#: ../lib/plugin/SyncWiki.php:226 ../lib/upgrade.php:92 ../lib/upgrade.php:96
+#: ../lib/upgrade.php:176 ../lib/upgrade.php:217 ../lib/upgrade.php:1120
+msgid " skipped"
+msgstr " ausgelassen"
+
+#: ../lib/plugin/SyncWiki.php:160
+msgid "same date"
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:183
+msgid "Now upload all locally newer pages."
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:185
+#, php-format
+msgid "Checking all local pages newer than %s..."
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:212
+#, fuzzy
+msgid "Now upload all locally newer uploads."
+msgstr "Keine Datei zum Hochladen?"
+
+#: ../lib/plugin/SyncWiki.php:214
+#, php-format
+msgid "Checking all local uploads newer than %s..."
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:277
+#, fuzzy, php-format
+msgid "%s force"
+msgstr "%s Wrter"
+
+#: ../lib/plugin/SyncWiki.php:281
+#, fuzzy, php-format
+msgid "Postponed %s for %s."
+msgstr "Fehlender %s fr %s"
+
+#: ../lib/plugin/SyncWiki.php:288 ../lib/plugin/SyncWiki.php:297
+#: ../lib/plugin/SyncWiki.php:312 ../lib/plugin/SyncWiki.php:321
+#: ../lib/plugin/SyncWiki.php:340
+msgid "skipped"
+msgstr "ausgelassen"
+
+#: ../lib/plugin/SyncWiki.php:297 ../lib/plugin/SyncWiki.php:321
+msgid "same content"
+msgstr "gleicher Inhalt"
+
+#: ../lib/plugin/SyncWiki.php:304 ../lib/plugin/SyncWiki.php:330
+#: ../lib/plugin/SyncWiki.php:332 ../lib/plugin/SyncWiki.php:353
+#: ../lib/plugin/SyncWiki.php:355 ../lib/upgrade.php:214
+#: ../lib/upgrade.php:555 ../lib/upgrade.php:593 ../lib/upgrade.php:1111
+msgid "FAILED"
+msgstr "FEHLER"
+
 #: ../lib/plugin/SyntaxHighlighter.php:68
 msgid "SyntaxHighlighter"
 msgstr "SyntaxHervorhebung"
@@ -4150,28 +4770,20 @@
 msgid "Convert Tex mathematicals expressions to cached png files."
 msgstr ""
 
-#: ../lib/plugin/TeX2png.php:34
-msgid " This is for small text"
-msgstr ""
-
 #: ../lib/plugin/TeX2png.php:134
 msgid " (syntax error for latex) "
 msgstr ""
 
 #: ../lib/plugin/TeX2png.php:173
-msgid "TeX directory not writable."
+msgid "TeX imagepath not writable."
 msgstr "Keine Schreibrechte fr das TeX Verzeichnis."
 
-#: ../lib/plugin/TeX2png.php:214 ../lib/plugin/text2png.php:67
+#: ../lib/plugin/TeX2png.php:214 ../lib/plugin/text2png.php:85
 msgid "Sorry, this version of PHP cannot create PNG image files."
 msgstr ""
 "Das geht leider nicht. Diese PHP Version kann keine PNG Bilder erzeugen."
 
-#: ../lib/plugin/Template.php:61
-msgid "Template"
-msgstr "Benutzeroberflche"
-
-#: ../lib/plugin/Template.php:65
+#: ../lib/plugin/Template.php:64
 msgid "Parametrized page inclusion."
 msgstr ""
 
@@ -4185,7 +4797,7 @@
 msgid "Search the titles of all pages in this wiki."
 msgstr "Die Titeln aller Seiten dieses Wikis durchsuchen."
 
-#: ../lib/plugin/TitleSearch.php:103
+#: ../lib/plugin/TitleSearch.php:104
 #, php-format
 msgid "Title search results for '%s'"
 msgstr "Titel-Suchresultate nach %s"
@@ -4198,17 +4810,17 @@
 msgid "Include an external web page within the body of a wiki page."
 msgstr "Einbetten einer externen Webseite im Body dieser Wiki Seite."
 
-#: ../lib/plugin/Transclude.php:88
+#: ../lib/plugin/Transclude.php:97
 msgid "Transcluded page"
 msgstr "Eingebettete Seite"
 
-#: ../lib/plugin/Transclude.php:97
+#: ../lib/plugin/Transclude.php:106
 #, php-format
 msgid "See: %s"
 msgstr "Siehe: %s"
 
 # Transclude is distinct from IncludePage
-#: ../lib/plugin/Transclude.php:109
+#: ../lib/plugin/Transclude.php:118
 #, php-format
 msgid "Transcluded from %s"
 msgstr "Eingebetteter Text von %s"
@@ -4307,56 +4919,62 @@
 msgid "Upload files to the local InterWiki Upload:<filename>"
 msgstr ""
 
-#: ../lib/plugin/UpLoad.php:124
+#: ../lib/plugin/UpLoad.php:161
 msgid "ACCESS DENIED: You must log in to upload files."
 msgstr ""
 "ZUGRIFF VERWEIGERT: Bitte melden Sie sich erst an, um Dateien hochzuladen."
 
-#: ../lib/plugin/UpLoad.php:138
+#: ../lib/plugin/UpLoad.php:185
 #, php-format
 msgid "ERROR uploading '%s': "
 msgstr "FEHLER beim Hochladen von %s: "
 
-#: ../lib/plugin/UpLoad.php:143
+#: ../lib/plugin/UpLoad.php:190
 #, php-format
 msgid "Files with extension %s are not allowed."
 msgstr "Dateien mit der Endung %s sind nicht erlaubt."
 
-#: ../lib/plugin/UpLoad.php:149
+#: ../lib/plugin/UpLoad.php:198
+#, php-format
+msgid "Only files with the extension %s are allowed."
+msgstr "Nur Dateien mit der Endung %s sind erlaubt"
+
+#: ../lib/plugin/UpLoad.php:204
+#, fuzzy
 msgid ""
-"File names may only contain alphanumeric characters and dot, underscore or "
-"dash."
+"Invalid filename. File names may only contain alphanumeric characters and "
+"dot, underscore, space or dash."
 msgstr ""
 "Dateinamen drfen nur folgende Zeichen enthalten: alphanumerische Zeichen, "
 "Punkt, Unterstrich und Bindestrich."
 
-#: ../lib/plugin/UpLoad.php:154
+#: ../lib/plugin/UpLoad.php:209
 #, php-format
 msgid "There is already a file with name %s uploaded."
 msgstr "Es existiert schon eine gleichnamige, hochgeladene Datei %s."
 
-#: ../lib/plugin/UpLoad.php:159
+#: ../lib/plugin/UpLoad.php:214
 msgid "Sorry but this file is too big."
 msgstr "Leider ist diese Datei zu gro."
 
-#: ../lib/plugin/UpLoad.php:167
+#: ../lib/plugin/UpLoad.php:222
 msgid "File successfully uploaded."
 msgstr "Datei erfolgreich hochgeladen."
 
-#: ../lib/plugin/UpLoad.php:184
+#: ../lib/plugin/UpLoad.php:239
 #, php-format
 msgid "uploaded %s"
 msgstr "%s wurde hochgeladen"
 
-#: ../lib/plugin/UpLoad.php:191
+#: ../lib/plugin/UpLoad.php:246
 msgid "Uploading failed."
 msgstr "Hochladen fehlgeschlagen."
 
-#: ../lib/plugin/UpLoad.php:209
+#: ../lib/plugin/UpLoad.php:264
 msgid "The upload logfile is not writable."
 msgstr "Die Upload Logdatei ist nicht schreibbar."
 
-#: ../lib/plugin/UpLoad.php:212
+#: ../lib/plugin/UpLoad.php:267
 msgid "Can't open the upload logfile."
 msgstr "Die Upload-Logdatei konnte nicht geffnet worden."
 
@@ -4429,71 +5047,91 @@
 msgid "Here are your %d page ratings:"
 msgstr ""
 
-#: ../lib/plugin/UserRatings.php:220
+#: ../lib/plugin/UserRatings.php:222
 msgid "Pred"
 msgstr ""
 
-#: ../lib/plugin/UserRatings.php:224 ../lib/wikilens/PageListColumns.php:367
+#: ../lib/plugin/UserRatings.php:226 ../lib/wikilens/PageListColumns.php:367
 msgid "Rate"
 msgstr "Bewerte"
 
-#: ../lib/plugin/VisualWiki.php:65
+#: ../lib/plugin/VisualWiki.php:66
 msgid ""
 "Visualizes the Wiki structure in a graph using the 'dot' commandline tool "
 "from graphviz."
 msgstr ""
 
-#: ../lib/plugin/VisualWiki.php:493
+#: ../lib/plugin/VisualWiki.php:497
 msgid "Legend"
 msgstr "Legende"
 
-#: ../lib/plugin/WantedPages.php:39 ../lib/plugin/WantedPages.php:69
-#: ../lib/plugin/WantedPagesOld.php:33 ../lib/plugin/WantedPagesOld.php:66
+#: ../lib/plugin/WantedPages.php:39 ../lib/plugin/WantedPages.php:70
 msgid "WantedPages"
 msgstr "WunschZettelSeiten"
 
-#: ../lib/plugin/WantedPages.php:42 ../lib/plugin/WantedPagesOld.php:37
+#: ../lib/plugin/WantedPages.php:42
 msgid "Lists referenced page names which do not exist yet."
 msgstr "Zeige verlinkte Seiten, die noch nicht bearbeitet bzw. erzeugt wurden."
 
-#: ../lib/plugin/WantedPages.php:54 ../lib/plugin/WantedPagesOld.php:47
-#: ../lib/plugin/_WikiTranslation.php:84 ../lib/plugin/_WikiTranslation.php:98
+#: ../lib/plugin/WantedPages.php:55 ../lib/plugin/_WikiTranslation.php:84
+#: ../lib/plugin/_WikiTranslation.php:98
 msgid "PgsrcTranslation"
 msgstr "PgsrcTranslation"
 
-#: ../lib/plugin/WantedPages.php:78
+#: ../lib/plugin/WantedPages.php:79
 msgid "Wanted From"
 msgstr "Bentigt von"
 
-#: ../lib/plugin/WantedPages.php:115
+#: ../lib/plugin/WantedPages.php:130
 #, php-format
 msgid "Wanted Pages for %s:"
 msgstr "WunschZettelSeiten fr %s:"
 
-#: ../lib/plugin/WantedPages.php:117
+#: ../lib/plugin/WantedPages.php:132
 #, php-format
 msgid "Wanted Pages in this wiki:"
 msgstr "WunschZettelSeiten in diesem Wiki:"
 
-# ie. no pages found
-#: ../lib/plugin/WantedPagesOld.php:100
-#: ../themes/default/templates/online.tmpl:38
-msgid "<none>"
-msgstr "<Keine>"
+#: ../lib/plugin/WantedPages.php:174
+#, php-format
+msgid "(%d Links)"
+msgstr "(%d Links)"
+
+#: ../lib/plugin/WatchPage.php:35
+msgid "WatchPage"
+msgstr "BeobachteSeite"
+
+#: ../lib/plugin/WatchPage.php:78
+msgid "Your current watchlist: "
+msgstr ""
+
+#: ../lib/plugin/WatchPage.php:79
+msgid "New watchlist: "
+msgstr ""
 
-#: ../lib/plugin/WantedPagesOld.php:115
+#: ../lib/plugin/WatchPage.php:82
 #, php-format
-msgid "Wanted Pages for %s (%d total):"
-msgstr "WunschZettelSeiten fr %s (%d gesamt):"
+msgid "Do you %s want to add this page \"%s\" to your WatchList?"
+msgstr ""
 
-#: ../lib/plugin/WantedPagesOld.php:149
+#: ../lib/plugin/WatchPage.php:83
+msgid "really"
+msgstr ""
+
+#: ../lib/plugin/WatchPage.php:88
 #, php-format
-msgid "Wanted Pages in this wiki (%d total):"
-msgstr "WunschZettelSeiten in diesem Wiki (%d gesamt):"
+msgid "The page %s is already watched!"
+msgstr "Die Seite %s wird bereits beobachtet!"
+
+#: ../lib/plugin/WatchPage.php:114
+msgid "ERROR: No email defined! You need to do this in your "
+msgstr ""
 
-#: ../lib/plugin/WantedPagesOld.php:151
-msgid "Count"
-msgstr "Anzahl"
+#: ../lib/plugin/WatchPage.php:151
+msgid ""
+"E-Mail Notification for the current page successfully stored in your "
+"preferences."
+msgstr ""
 
 #: ../lib/plugin/WhoIsOnline.php:38 ../lib/plugin/WhoIsOnline.php:84
 msgid "WhoIsOnline"
@@ -4516,11 +5154,6 @@
 msgid "Guest"
 msgstr "Gast"
 
-# ie. no pages found
-#: ../lib/plugin/WhoIsOnline.php:125
-msgid "<unknown>"
-msgstr "<unbekannt>"
-
 #: ../lib/plugin/WhoIsOnline.php:196
 #, php-format
 msgid "%d minutes"
@@ -4530,7 +5163,7 @@
 msgid "WikiAdminChmod"
 msgstr "WikiAdminChmod"
 
-#: ../lib/plugin/WikiAdminChmod.php:44 ../lib/plugin/WikiAdminSetAcl.php:43
+#: ../lib/plugin/WikiAdminChmod.php:44 ../lib/plugin/WikiAdminSetAcl.php:47
 msgid "Set individual page permissions."
 msgstr "Setze individuelle Zugangsrechte."
 
@@ -4548,7 +5181,7 @@
 msgid "Invalid chmod string"
 msgstr "Ungltiger CHMOD Befehl"
 
-#: ../lib/plugin/WikiAdminChmod.php:90 ../lib/plugin/WikiAdminSetAcl.php:109
+#: ../lib/plugin/WikiAdminChmod.php:90 ../lib/plugin/WikiAdminSetAcl.php:113
 #, php-format
 msgid "%s pages have been changed."
 msgstr "%s Seiten wurden gendert."
@@ -4556,11 +5189,11 @@
 #: ../lib/plugin/WikiAdminChmod.php:93 ../lib/plugin/WikiAdminChown.php:89
 #: ../lib/plugin/WikiAdminMarkup.php:97
 #: ../lib/plugin/WikiAdminSearchReplace.php:113
-#: ../lib/plugin/WikiAdminSetAcl.php:112
+#: ../lib/plugin/WikiAdminSetAcl.php:116
 msgid "No pages changed."
 msgstr "Keine nderungen."
 
-#: ../lib/plugin/WikiAdminChmod.php:140 ../lib/plugin/WikiAdminSetAcl.php:170
+#: ../lib/plugin/WikiAdminChmod.php:140 ../lib/plugin/WikiAdminSetAcl.php:174
 msgid "Permission"
 msgstr "Zugriffsrecht"
 
@@ -4573,7 +5206,7 @@
 msgid "Chmod"
 msgstr "Chmod"
 
-#: ../lib/plugin/WikiAdminChmod.php:155 ../lib/plugin/WikiAdminSetAcl.php:185
+#: ../lib/plugin/WikiAdminChmod.php:155 ../lib/plugin/WikiAdminSetAcl.php:189
 msgid "Select the pages to change:"
 msgstr "Whlen Sie die Seiten zum ndern:"
 
@@ -4589,11 +5222,11 @@
 msgid "(ugo : rwx)"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminChmod.php:189 ../lib/plugin/WikiAdminSetAcl.php:253
+#: ../lib/plugin/WikiAdminChmod.php:189 ../lib/plugin/WikiAdminSetAcl.php:257
 msgid "Propagate new permissions to all subpages?"
 msgstr "Aktiviere Vererbung dieser Zugriffsrechte auf alle Unterseiten?"
 
-#: ../lib/plugin/WikiAdminChmod.php:191 ../lib/plugin/WikiAdminSetAcl.php:255
+#: ../lib/plugin/WikiAdminChmod.php:191 ../lib/plugin/WikiAdminSetAcl.php:259
 msgid "(disable individual page permissions, enable inheritance)?"
 msgstr "(deaktiviere individuelle Zugriffsrechte, aktiviere Vererbung)"
 
@@ -4608,7 +5241,7 @@
 #: ../lib/plugin/WikiAdminChown.php:69 ../lib/plugin/WikiAdminMarkup.php:70
 #: ../lib/plugin/WikiAdminRename.php:84
 #: ../lib/plugin/WikiAdminSearchReplace.php:98
-#: ../lib/plugin/WikiAdminSetAcl.php:100
+#: ../lib/plugin/WikiAdminSetAcl.php:104
 #, php-format
 msgid "Access denied to change page '%s'."
 msgstr "Zugang verweigert um Seite '%s' zu ndern."
@@ -4728,7 +5361,7 @@
 msgstr "PhpWikiSystemverwalten/Lschen"
 
 #: ../lib/plugin/WikiAdminRemove.php:183 ../lib/plugin/WikiAdminRemove.php:232
-#: ../themes/blog/themeinfo.php:59
+#: ../themes/blog/themeinfo.php:67
 msgid "Remove"
 msgstr "Lschen"
 
@@ -4925,190 +5558,215 @@
 msgid "Select pages"
 msgstr "Seiten auswhlen"
 
-#: ../lib/plugin/WikiAdminSetAcl.php:39
+#: ../lib/plugin/WikiAdminSetAcl.php:43
 msgid "WikiAdminSetAcl"
 msgstr "WikiAdminAclSetzen"
 
-#: ../lib/plugin/WikiAdminSetAcl.php:94
+#: ../lib/plugin/WikiAdminSetAcl.php:98
 #, php-format
 msgid "ACL not changed for page '%s'."
 msgstr "ACL fr Seite '%s' nicht gendert."
 
-#: ../lib/plugin/WikiAdminSetAcl.php:97
+#: ../lib/plugin/WikiAdminSetAcl.php:101
 #, php-format
 msgid "ACL changed for page '%s'."
 msgstr "ACL fr Seite '%s' gendert."
 
-#: ../lib/plugin/WikiAdminSetAcl.php:104
+#: ../lib/plugin/WikiAdminSetAcl.php:108
 msgid "Invalid ACL"
 msgstr "Ungltige ACL"
 
 # Any better translation? The locale/de/pgsrc/PhpWikiSystemverwalten
 # must also be renamed to match what is here.
-#: ../lib/plugin/WikiAdminSetAcl.php:120 ../lib/plugin/_WikiTranslation.php:94
+#: ../lib/plugin/WikiAdminSetAcl.php:124 ../lib/plugin/_WikiTranslation.php:94
 msgid "PhpWikiAdministration/SetAcl"
 msgstr "PhpWikiSystemverwalten/AclSetzen"
 
-#: ../lib/plugin/WikiAdminSetAcl.php:172 ../lib/plugin/WikiAdminSetAcl.php:228
+#: ../lib/plugin/WikiAdminSetAcl.php:176 ../lib/plugin/WikiAdminSetAcl.php:232
 msgid "ACL"
 msgstr "ACL"
 
-#: ../lib/plugin/WikiAdminSetAcl.php:180
+#: ../lib/plugin/WikiAdminSetAcl.php:184
 msgid ""
 "Are you sure you want to permanently change access to the selected files?"
 msgstr ""
 "Sind Sie sicher, dass Sie die ausgewhlen Seiten wirklich ndern wollen?"
 
-#: ../lib/plugin/WikiAdminSetAcl.php:215
+#: ../lib/plugin/WikiAdminSetAcl.php:219
 msgid "Selected Pages: "
 msgstr "Ausgewhlte Seiten: "
 
-#: ../lib/plugin/WikiAdminSetAcl.php:221
+#: ../lib/plugin/WikiAdminSetAcl.php:225
 #, php-format
 msgid "page permission inherited from %s"
 msgstr "Zugriffsrecht geerbt von %s"
 
-#: ../lib/plugin/WikiAdminSetAcl.php:223
+#: ../lib/plugin/WikiAdminSetAcl.php:227
 msgid "invidual page permission"
 msgstr "individuelles Zugriffsrecht"
 
-#: ../lib/plugin/WikiAdminSetAcl.php:225
+#: ../lib/plugin/WikiAdminSetAcl.php:229
 msgid "default page permission"
 msgstr "Vorgabe Zugriffsrecht"
 
-#: ../lib/plugin/WikiAdminSetAcl.php:226
+#: ../lib/plugin/WikiAdminSetAcl.php:230
 msgid "Type"
 msgstr "Typ"
 
-#: ../lib/plugin/WikiAdminSetAcl.php:227
+#: ../lib/plugin/WikiAdminSetAcl.php:231
 msgid "getfacl"
 msgstr "getfacl"
 
-#: ../lib/plugin/WikiAdminSetAcl.php:231
+#: ../lib/plugin/WikiAdminSetAcl.php:235
 msgid ""
 "Selected Grant checkboxes allow access, unselected checkboxes deny access."
 msgstr ""
 "Gesetzte Erlaube Kstchen erlauben Zugriff, ungesetzte Kstchen sperren "
 "Zugriff."
 
-#: ../lib/plugin/WikiAdminSetAcl.php:232
+#: ../lib/plugin/WikiAdminSetAcl.php:236
 msgid "To ignore delete the line."
 msgstr "Lsche Zeile mit 'X' um ACL Eintrag zu ignorieren."
 
-#: ../lib/plugin/WikiAdminSetAcl.php:233
+#: ../lib/plugin/WikiAdminSetAcl.php:237
 msgid "To add check 'Add' near the dropdown list."
 msgstr "Setze '+' um ACL Zeile hinzufgen."
 
-#: ../lib/plugin/WikiAdminSetAcl.php:256
+#: ../lib/plugin/WikiAdminSetAcl.php:260
 msgid "(Currently not working)"
 msgstr "(Funktioniert momentan nicht)"
 
-#: ../lib/plugin/WikiAdminUtils.php:36
+#: ../lib/plugin/WikiAdminUtils.php:38
 msgid "WikiAdminUtils"
 msgstr "WikiAdminUtils"
 
-#: ../lib/plugin/WikiAdminUtils.php:40
+#: ../lib/plugin/WikiAdminUtils.php:42
 msgid "Miscellaneous utility functions for the Administrator."
 msgstr "Verschiedene Dienstfunktionen fr den Administrator."
 
-#: ../lib/plugin/WikiAdminUtils.php:72
+#: ../lib/plugin/WikiAdminUtils.php:74
 msgid "You must be an administrator to use this plugin."
 msgstr ""
 "Sie mssen Administratorrechte haben, um dieses Zusatzprogramm zu benutzen."
 
-#: ../lib/plugin/WikiAdminUtils.php:101
-msgid "WikiAdminUtils says:"
-msgstr "WikiAdminUtils sagt:"
+#: ../lib/plugin/WikiAdminUtils.php:103
+#, php-format
+msgid "WikiAdminUtils %s returned:"
+msgstr "WikiAdminUtils %s gibt zurck:"
 
-#: ../lib/plugin/WikiAdminUtils.php:103 ../lib/stdlib.php:1759
-msgid "Okay"
-msgstr "OK"
+#: ../lib/plugin/WikiAdminUtils.php:105
+msgid "Back"
+msgstr "Zurck"
 
-#: ../lib/plugin/WikiAdminUtils.php:108
+#: ../lib/plugin/WikiAdminUtils.php:110
 msgid "Purge Markup Cache"
 msgstr "HTML-Cachedatei Subern"
 
-#: ../lib/plugin/WikiAdminUtils.php:109
+#: ../lib/plugin/WikiAdminUtils.php:111
 msgid "Purge all Pages With Invalid Names"
 msgstr "Alle Seiten mit ungltigen Namen endgltig entfernen"
 
-#: ../lib/plugin/WikiAdminUtils.php:110
+#: ../lib/plugin/WikiAdminUtils.php:112
 msgid "Purge all empty, unreferenced Pages"
 msgstr "Alle leeren Seiten endgltig entfernen, die nicht verlinkt sind."
 
-#: ../lib/plugin/WikiAdminUtils.php:120
+#: ../lib/plugin/WikiAdminUtils.php:113
+msgid "Access Restrictions"
+msgstr ""
+
+#: ../lib/plugin/WikiAdminUtils.php:115
+msgid "Convert cached_html"
+msgstr ""
+
+#: ../lib/plugin/WikiAdminUtils.php:116
+msgid "DB Check"
+msgstr ""
+
+#: ../lib/plugin/WikiAdminUtils.php:117
+msgid "Db Rebuild"
+msgstr ""
+
+#: ../lib/plugin/WikiAdminUtils.php:128
 msgid "Markup cache purged!"
 msgstr "HTML-Cachedaten entfernt!"
 
-#: ../lib/plugin/WikiAdminUtils.php:140
+#: ../lib/plugin/WikiAdminUtils.php:148
 msgid "No pages with bad names had to be deleted."
 msgstr "Keine Seiten mit ungltigen Namen muten gelscht werden."
 
-#: ../lib/plugin/WikiAdminUtils.php:142
+#: ../lib/plugin/WikiAdminUtils.php:150
 #, php-format
 msgid "Deleted %s pages with invalid names:"
 msgstr "%s Seiten mit ungltigen Namen gelscht:"
 
-#: ../lib/plugin/WikiAdminUtils.php:160
+#: ../lib/plugin/WikiAdminUtils.php:171
 msgid "[purged]"
 msgstr "[entfernt]"
 
-#: ../lib/plugin/WikiAdminUtils.php:162
+#: ../lib/plugin/WikiAdminUtils.php:173
 msgid "[not purgable]"
 msgstr "[nicht entfernbar]"
 
-#: ../lib/plugin/WikiAdminUtils.php:170
+#: ../lib/plugin/WikiAdminUtils.php:181
 msgid "No empty, unreferenced pages were found."
 msgstr "Keine leeren, unverlinkten Seiten gefunden."
 
-#: ../lib/plugin/WikiAdminUtils.php:172
+#: ../lib/plugin/WikiAdminUtils.php:183
 #, php-format
 msgid "Deleted %s unreferenced pages:"
 msgstr "%s unverlinkte Seiten entfernt:"
 
-#: ../lib/plugin/WikiAdminUtils.php:175
+#: ../lib/plugin/WikiAdminUtils.php:186
 #, php-format
 msgid ""
 "The %d not-purgable pages/links are links in some page(s). You might want to "
 "edit them."
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:190
+#: ../lib/plugin/WikiAdminUtils.php:201
 msgid "No old _cached_html pagedata found."
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:192
+#: ../lib/plugin/WikiAdminUtils.php:203
 #, php-format
 msgid "Converted successfully %d pages"
 msgstr "%d Seiten erfolgreich konvertiert"
 
-#: ../lib/plugin/WikiAdminUtils.php:201
+#: ../lib/plugin/WikiAdminUtils.php:227
 msgid "Sorry. Access Restrictions not yet implemented"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:209
-#: ../themes/default/templates/userprefs.tmpl:124
+#: ../lib/plugin/WikiAdminUtils.php:235
+#: ../themes/default/templates/userprefs.tmpl:125
 msgid "E-Mail"
 msgstr "E-Mail"
 
-#: ../lib/plugin/WikiAdminUtils.php:211
+#: ../lib/plugin/WikiAdminUtils.php:237
 msgid "Verification Status"
 msgstr "Besttigungs-Status"
 
-#: ../lib/plugin/WikiAdminUtils.php:263
+#: ../lib/plugin/WikiAdminUtils.php:238
+msgid "Username"
+msgstr "Benutzername"
+
+#: ../lib/plugin/WikiAdminUtils.php:293
 msgid "Change Verification Status"
 msgstr "ndere Besttigungs-Status"
 
-#: ../lib/plugin/WikiBlog.php:79
+#: ../lib/plugin/WikiBlog.php:87
+msgid "WikiBlog"
+msgstr "WikiBlog"
+
+#: ../lib/plugin/WikiBlog.php:91
 #, php-format
 msgid "Show and add blogs for %s"
 msgstr "Blogs fr %s zeigen und hinzufgen"
 
-#: ../lib/plugin/WikiBlog.php:190
+#: ../lib/plugin/WikiBlog.php:219
 msgid "New comment."
 msgstr "Neuer Kommentar."
 
-#: ../lib/plugin/WikiBlog.php:294
+#: ../lib/plugin/WikiBlog.php:330
 #, php-format
 msgid "%s on %s:"
 msgstr "%s um %s:"
@@ -5117,7 +5775,7 @@
 msgid "WikiForm"
 msgstr "WikiFormular"
 
-#: ../lib/plugin/WikiForm.php:76
+#: ../lib/plugin/WikiForm.php:76 ../themes/MonoBook/templates/signin.tmpl:16
 msgid "Login"
 msgstr "Anmelden"
 
@@ -5134,11 +5792,11 @@
 msgid "WikiForm: %s: unknown action"
 msgstr "WikiForm: %s: unbekannte Aktion"
 
-#: ../lib/plugin/WikiFormRich.php:92
+#: ../lib/plugin/WikiFormRich.php:106
 msgid "Provide generic WikiForm input buttons"
 msgstr ""
 
-#: ../lib/plugin/WikiFormRich.php:181
+#: ../lib/plugin/WikiFormRich.php:195
 msgid "name"
 msgstr "Name"
 
@@ -5176,10 +5834,6 @@
 msgid "Missing %s for %s"
 msgstr "Fehlender %s fr %s"
 
-#: ../lib/plugin/WikiPoll.php:224
-msgid "Ok"
-msgstr "Ok"
-
 #: ../lib/plugin/WikiPoll.php:227
 msgid "Reset"
 msgstr "Zurcksetzen"
@@ -5197,6 +5851,26 @@
 msgid "Thanks for participating!"
 msgstr "Danke fr die Teilnahme!"
 
+#: ../lib/plugin/YouTube.php:24
+msgid "YouTube"
+msgstr ""
+
+#: ../lib/plugin/YouTube.php:28
+msgid "Embed YouTube videos"
+msgstr ""
+
+#: ../lib/plugin/YouTube.php:54
+#, php-format
+msgid "Required argument %s missing"
+msgstr "Erforderlicher Parameter %s fehlt."
+
+#: ../lib/plugin/YouTube.php:91 ../lib/plugin/YouTube.php:93
+#: ../lib/plugin/YouTube.php:95 ../lib/plugin/YouTube.php:97
+#: ../lib/plugin/YouTube.php:121 ../lib/plugin/YouTube.php:123
+#, php-format
+msgid "Invalid argument %s"
+msgstr "Ungltiger Parameter %s"
+
 #: ../lib/plugin/_AuthInfo.php:35
 msgid "AuthInfo"
 msgstr "AuthentifizierungsInfo"
@@ -5221,10 +5895,9 @@
 #: ../lib/plugin/_BackendInfo.php:30 ../lib/plugin/_WikiTranslation.php:60
 #: ../themes/Crao/templates/actionbar.tmpl:27
 #: ../themes/MonoBook/templates/info.tmpl:174
-#: ../themes/Portland/templates/actionbar.tmpl:21
-#: ../themes/Wordpress/templates/actionbar.tmpl:74
-#: ../themes/default/templates/actionbar.tmpl:34
-#: ../themes/shamino_com/templates/info.tmpl:174
+#: ../themes/Portland/templates/actionbar.tmpl:17
+#: ../themes/Wordpress/templates/actionbar.tmpl:75
+#: ../themes/default/templates/actionbar.tmpl:36
 #: ../themes/smaller/templates/info.tmpl:14
 msgid "DebugInfo"
 msgstr "DebugInfo"
@@ -5234,18 +5907,18 @@
 msgid "Get debugging information for %s."
 msgstr "Debug-Informationen von %s."
 
-#: ../lib/plugin/_BackendInfo.php:54
+#: ../lib/plugin/_BackendInfo.php:58
 #, php-format
 msgid "Querying backend directly for '%s'"
 msgstr "DB Debug Informationen von der Seite %s"
 
-#: ../lib/plugin/_BackendInfo.php:64
+#: ../lib/plugin/_BackendInfo.php:67
 #, php-format
 msgid "No pagedata for %s"
 msgstr "Keine Daten fr Seite %s"
 
 # Hidden password field
-#: ../lib/plugin/_BackendInfo.php:97
+#: ../lib/plugin/_BackendInfo.php:124
 msgid "<not displayed>"
 msgstr "<nicht angezeigt>"
 
@@ -5268,6 +5941,20 @@
 msgid "Get preferences information for current user %s."
 msgstr "Zeige Benutzereinstellungen fr den aktuellen Benutzer %s."
 
+#: ../lib/plugin/_Retransform.php:30
+msgid "Retransform CachedMarkup"
+msgstr ""
+
+#: ../lib/plugin/_Retransform.php:34
+#, php-format
+msgid "Show a markup retransformation of page %s."
+msgstr ""
+
+#: ../lib/plugin/_Retransform.php:53
+#, php-format
+msgid "Retransform page '%s'"
+msgstr "Retransform Seite '%s'"
+
 #: ../lib/plugin/_WikiTranslation.php:47
 msgid "AddCommentPlugin"
 msgstr "NeuerKommentarPlugin"
@@ -5300,10 +5987,6 @@
 msgid "CalendarPlugin"
 msgstr "KalenderPlugin"
 
-#: ../lib/plugin/_WikiTranslation.php:56
-msgid "CategoryCategory"
-msgstr "KategorieKategorie"
-
 #: ../lib/plugin/_WikiTranslation.php:57
 msgid "CategoryHomePages"
 msgstr "KategorieHomepage"
@@ -5327,9 +6010,10 @@
 #: ../lib/plugin/_WikiTranslation.php:64 ../themes/Crao/templates/head.tmpl:36
 #: ../themes/Crao/templates/head.tmpl:37
 #: ../themes/Crao/templates/navbar.tmpl:40
-#: ../themes/MonoBook/templates/navbar.tmpl:25
-#: ../themes/Portland/templates/navbar.tmpl:8
-#: ../themes/Sidebar/templates/navbar.tmpl:24
+#: ../themes/MonoBook/templates/navbar.tmpl:29
+#: ../themes/MonoBook/templates/navbar.tmpl:35
+#: ../themes/Portland/templates/navbar.tmpl:5
+#: ../themes/Sidebar/templates/navbar.tmpl:14
 #: ../themes/default/templates/head.tmpl:42
 #: ../themes/default/templates/head.tmpl:43
 #: ../themes/default/templates/navbar.tmpl:20
@@ -5337,7 +6021,7 @@
 #: ../themes/smaller/templates/navbar.tmpl:8
 #: ../themes/wikilens/templates/head.tmpl:34
 #: ../themes/wikilens/templates/head.tmpl:35
-#: ../themes/wikilens/templates/navbar.tmpl:11
+#: ../themes/wikilens/templates/navbar.tmpl:19
 msgid "FindPage"
 msgstr "SeiteFinden"
 
@@ -5449,6 +6133,7 @@
 # Any better translation? The locale/de/pgsrc/PhpWikiSystemverwalten
 # must also be renamed to match what is here.
 #: ../lib/plugin/_WikiTranslation.php:95
+#: ../themes/MonoBook/templates/navbar.tmpl:20
 msgid "PhpWikiDocumentation"
 msgstr "PhpWikiDokumentation"
 
@@ -5530,6 +6215,7 @@
 msgstr "UnterseitenEntfaltenPlugin"
 
 #: ../lib/plugin/_WikiTranslation.php:118
+#: ../themes/MonoBook/templates/navbar.tmpl:60
 msgid "UpLoad"
 msgstr "HochLaden"
 
@@ -5573,21 +6259,16 @@
 "service for %s to language %s"
 msgstr ""
 
-#: ../lib/plugin/_WikiTranslation.php:319
-#, php-format
-msgid "%s is empty"
-msgstr "%s ist leer"
-
 #: ../lib/plugin/_WikiTranslation.php:438
 #, php-format
 msgid "Define the translation for %s in %s"
 msgstr "Definiere die bersetzung fr %s nach %s"
 
-#: ../lib/plugin/text2png.php:46
+#: ../lib/plugin/text2png.php:57
 msgid "Convert text into a png image using GD."
 msgstr "Text mit der GD Bibliothek in ein PNG Bild konvertieren."
 
-#: ../lib/plugin/text2png.php:118
+#: ../lib/plugin/text2png.php:169
 msgid ""
 "PHP was unable to create a new GD image stream. Read 'lib/plugin/text2png."
 "php' for details."
@@ -5595,16 +6276,20 @@
 "PHP konnte keinen neues GD Bild erzeugen. Lesen Sie 'lib/plugin/text2png."
 "php' fr Details."
 
-#: ../lib/plugin/text2png.php:168
+#: ../lib/plugin/text2png.php:214
 #, php-format
 msgid "Image saved to cache file: %s"
 msgstr "Bild gespeichert als Cachedatei: %s"
 
-#: ../lib/plugin/text2png.php:172
+#: ../lib/plugin/text2png.php:218
 #, php-format
 msgid "Image loaded from cache file: %s"
 msgstr "Bild geladen von Cachedatei: %s"
 
+#: ../lib/plugin/text2png.php:226
+msgid " produced by "
+msgstr ""
+
 #: ../lib/removepage.php:18
 msgid "Already deleted"
 msgstr ""
@@ -5637,310 +6322,359 @@
 msgid "Back to the previous page."
 msgstr "Zurck zur vorigen Seite."
 
-#: ../lib/stdlib.php:364 ../lib/stdlib.php:393
+#: ../lib/stdlib.php:366 ../lib/stdlib.php:395
 msgid "BAD URL -- remove all of <, >, \""
 msgstr "URL Formfehler - Entfernen Sie alle Zeichen mit <, >, \""
 
-#: ../lib/stdlib.php:433 ../lib/stdlib.php:450
+#: ../lib/stdlib.php:435 ../lib/stdlib.php:452
 msgid "Invalid image size"
 msgstr "Ungltige Bildgre"
 
-#: ../lib/stdlib.php:560
+#: ../lib/stdlib.php:562
 msgid "BAD phpwiki: URL"
 msgstr "phpwiki: URL Formfehler"
 
-#: ../lib/stdlib.php:598
+#: ../lib/stdlib.php:600
 msgid "Lock page to enable link"
 msgstr "Seite sperren, um den Link zu aktivieren"
 
-#: ../lib/stdlib.php:725
+#: ../lib/stdlib.php:728
 #, php-format
 msgid "'%s': Bad page name: %s"
 msgstr "%s: Ungltiger Seitenname: %s"
 
 # z.B. fhrende Leerzeichen
-#: ../lib/stdlib.php:755 ../lib/stdlib.php:780
+#: ../lib/stdlib.php:758 ../lib/stdlib.php:789
 #, php-format
 msgid "Leading %s not allowed"
 msgstr "Fhrende %s nicht erlaubt"
 
-#: ../lib/stdlib.php:764
+#: ../lib/stdlib.php:773
 msgid "White space converted to single space"
 msgstr ""
 
-#: ../lib/stdlib.php:770
+#: ../lib/stdlib.php:779
 msgid "Control characters not allowed"
 msgstr "Steuerzeichen nicht erlaubt"
 
-#: ../lib/stdlib.php:791
+#: ../lib/stdlib.php:800
 msgid "too long"
 msgstr "zu lang"
 
-#: ../lib/stdlib.php:797
+#: ../lib/stdlib.php:809
 #, php-format
 msgid "Illegal chars %s removed"
 msgstr "Ungltiges Zeichen %s entfernt"
 
-#: ../lib/stdlib.php:843
+#: ../lib/stdlib.php:855
 msgid "The CreateTocPlugin is not yet old markup compatible! "
 msgstr ""
 
-#: ../lib/stdlib.php:844
+#: ../lib/stdlib.php:856
 msgid ""
 "Please remove the CreateToc line to be able to reformat this page to old "
 "markup. "
 msgstr ""
 
-#: ../lib/stdlib.php:1105
+#: ../lib/stdlib.php:1118
 msgid "Revision Not Found"
 msgstr "Version nicht gefunden"
 
-#: ../lib/stdlib.php:1106
+#: ../lib/stdlib.php:1119
 #, php-format
 msgid "I'm sorry.  Version %d of %s is not in the database."
 msgstr "Leider ist keine Version %d von %s in der Datenbank."
 
-#: ../lib/stdlib.php:1109
+#: ../lib/stdlib.php:1122
 msgid "Bad Version"
 msgstr "Ungltige Version"
 
-#: ../lib/stdlib.php:1245
+#: ../lib/stdlib.php:1258
 msgid "-???"
 msgstr ""
 
-#: ../lib/stdlib.php:1248
+#: ../lib/stdlib.php:1261
 #, php-format
 msgid "%s b"
 msgstr "%s B"
 
-#: ../lib/stdlib.php:1250 ../themes/MonoBook/templates/info.tmpl:29
-#: ../themes/shamino_com/templates/info.tmpl:29
+#: ../lib/stdlib.php:1263 ../themes/MonoBook/templates/info.tmpl:29
 #, php-format
 msgid "%s bytes"
 msgstr "%s Bytes"
 
-#: ../lib/stdlib.php:1255
+#: ../lib/stdlib.php:1268
 #, php-format
 msgid "%s k"
 msgstr "%s k"
 
-#: ../lib/stdlib.php:1257 ../themes/MonoBook/templates/info.tmpl:32
-#: ../themes/shamino_com/templates/info.tmpl:32
+#: ../lib/stdlib.php:1270 ../themes/MonoBook/templates/info.tmpl:32
 #, php-format
 msgid "%s Kb (%s bytes)"
 msgstr "%s KB (%s Bytes)"
 
-#: ../lib/stdlib.php:1353
+#: ../lib/stdlib.php:1366
 #, php-format
 msgid "%s: argument index out of range"
 msgstr "%s: Ungltiger Index in Array"
 
-#: ../lib/stdlib.php:1431 ../themes/Hawaiian/lib/random.php:20
+#: ../lib/stdlib.php:1444 ../themes/Hawaiian/lib/random.php:20
 #, php-format
 msgid "%s is empty."
 msgstr "%s ist leer."
 
-#: ../lib/stdlib.php:1438
+#: ../lib/stdlib.php:1451
 #, php-format
 msgid "Unable to open directory '%s' for reading"
 msgstr "Konnte Verzeichnis %s nicht zum Lesen ffnen"
 
-#: ../lib/stdlib.php:1942 ../lib/stdlib.php:1955
+#: ../lib/stdlib.php:1772
+msgid "Okay"
+msgstr "OK"
+
+#: ../lib/stdlib.php:1949 ../lib/stdlib.php:1962
 #, php-format
 msgid "... (first %s words)"
 msgstr "... (erste %s Wrter)"
 
-#: ../lib/upgrade.php:76
+#: ../lib/upgrade.php:86
 msgid "newer than the existing page."
 msgstr "neuer als die bestehende Seite."
 
-#: ../lib/upgrade.php:77
+#: ../lib/upgrade.php:87
 msgid " replace "
 msgstr " ersetze mit "
 
-#: ../lib/upgrade.php:81
+#: ../lib/upgrade.php:91
 msgid "older than the existing page."
 msgstr "lter als die bestehende Seite."
 
-#: ../lib/upgrade.php:82 ../lib/upgrade.php:86 ../lib/upgrade.php:153
-msgid " skipped"
-msgstr " ausgelassen"
-
-#: ../lib/upgrade.php:89
+#: ../lib/upgrade.php:99
 #, php-format
 msgid "%s does not exist"
 msgstr "%s existiert nicht"
 
-#: ../lib/upgrade.php:112
-msgid "check for necessary ActionPage updates"
+#: ../lib/upgrade.php:124 ../lib/upgrade.php:155 ../lib/upgrade.php:401
+#: ../lib/upgrade.php:913 ../lib/upgrade.php:1001
+#, php-format
+msgid "check for necessary %s updates"
 msgstr ""
 
-#: ../lib/upgrade.php:136
-msgid "check for necessary pgsrc updates"
-msgstr ""
+#: ../lib/upgrade.php:125 ../themes/MonoBook/templates/actionbar.tmpl:17
+#: ../themes/MonoBook/templates/actionbar.tmpl:30
+msgid "ActionPage"
+msgstr "AktionsSeite"
+
+#: ../lib/upgrade.php:127
+msgid "_AuthInfo"
+msgstr "_AuthentifizierungsInfo"
 
-#: ../lib/upgrade.php:152
+#: ../lib/upgrade.php:127
+msgid "DebugAuthInfo"
+msgstr "DebugAuthInfo"
+
+#: ../lib/upgrade.php:130
+msgid "_GroupInfo"
+msgstr "DebugGruppenInfo"
+
+#: ../lib/upgrade.php:130
+msgid "GroupAuthInfo"
+msgstr "GruppenAuthentifizierungsInfo"
+
+#: ../lib/upgrade.php:158
+msgid "rename to Help: pages"
+msgstr "In Help: Seiten umbenennen"
+
+#: ../lib/upgrade.php:175
 msgid "always skip the HomePage."
 msgstr ""
 
-#: ../lib/upgrade.php:172
+#: ../lib/upgrade.php:196
+#, fuzzy, php-format
+msgid "check for additional theme %s updates"
+msgstr "prfe Tabelle %s"
+
+#: ../lib/upgrade.php:209
+#, php-format
+msgid "rename %s to %s"
+msgstr "%s umbenennen nach %s"
+
+#: ../lib/upgrade.php:236
 msgid "MISSING"
 msgstr "FEHLEND"
 
-#: ../lib/upgrade.php:208 ../lib/upgrade.php:227 ../lib/upgrade.php:246
-#: ../lib/upgrade.php:267 ../lib/upgrade.php:295 ../lib/upgrade.php:341
+#: ../lib/upgrade.php:272 ../lib/upgrade.php:291 ../lib/upgrade.php:312
+#: ../lib/upgrade.php:340 ../lib/upgrade.php:386
 msgid "CREATED"
 msgstr "ERZEUGT"
 
-#: ../lib/upgrade.php:357
-msgid "check for necessary database updates"
-msgstr ""
+#: ../lib/upgrade.php:402
+msgid "database"
+msgstr "Datenbank"
 
-#: ../lib/upgrade.php:362
+#: ../lib/upgrade.php:408
 msgid "CANCEL"
 msgstr "ABBRUCH"
 
-#: ../lib/upgrade.php:368
+#: ../lib/upgrade.php:421
 msgid "Backend type: "
 msgstr "Backend Typ: "
 
-#: ../lib/upgrade.php:371 ../lib/upgrade.php:380 ../lib/upgrade.php:389
+#: ../lib/upgrade.php:425 ../lib/upgrade.php:445 ../lib/upgrade.php:454
 #, php-format
 msgid "check for table %s"
 msgstr "prfe Tabelle %s"
 
-#: ../lib/upgrade.php:401
+#: ../lib/upgrade.php:469
 msgid "check for new session.sess_ip column"
 msgstr "prfe auf neue Spalte session.sess_ip column"
 
-#: ../lib/upgrade.php:407 ../lib/upgrade.php:712
+#: ../lib/upgrade.php:475 ../lib/upgrade.php:692 ../lib/upgrade.php:837
 msgid "SKIP"
-msgstr ""
+msgstr "AUSLASSEN"
 
-#: ../lib/upgrade.php:410 ../lib/upgrade.php:517 ../lib/upgrade.php:717
+#: ../lib/upgrade.php:478 ../lib/upgrade.php:586 ../lib/upgrade.php:842
 msgid "ADDING"
 msgstr "HINZU"
 
-#: ../lib/upgrade.php:420
+#: ../lib/upgrade.php:488
 msgid "check for mysql session.sess_id sanity"
 msgstr "prfe auf mysql session.sess_id Korrektheit"
 
-#: ../lib/upgrade.php:434 ../lib/upgrade.php:439 ../lib/upgrade.php:476
-#: ../lib/upgrade.php:485
+#: ../lib/upgrade.php:502 ../lib/upgrade.php:507 ../lib/upgrade.php:544
+#: ../lib/upgrade.php:553
 msgid "fixed"
 msgstr "Gendert"
 
-#: ../lib/upgrade.php:453
+#: ../lib/upgrade.php:521
 msgid "check for mysql LOCK TABLE privilege"
 msgstr "prfe mysql LOCK TABLE Rechte"
 
-#: ../lib/upgrade.php:487 ../lib/upgrade.php:524 ../lib/upgrade.php:784
-#: ../lib/upgrade.php:809 ../lib/upgrade.php:818 ../lib/upgrade.php:825
-msgid "FAILED"
-msgstr "FEHLER"
-
-#: ../lib/upgrade.php:499
+#: ../lib/upgrade.php:567
 #, php-format
 msgid "version <em>%s</em> not affected"
 msgstr "version <em>%s</em> nicht betroffen"
 
-#: ../lib/upgrade.php:507
+#: ../lib/upgrade.php:576
 msgid "check for mysql page.id auto_increment flag"
 msgstr "prfe auf mysql page.id auto_increment Flag"
 
-#: ../lib/upgrade.php:544
+#: ../lib/upgrade.php:613
 msgid "check for mysql 4.1.x/5.0.0 binary search on windows problem"
 msgstr "prfe auf mysql 4.1.x/5.0.0 Binrsuch-Problem (nur Windows)"
 
-#: ../lib/upgrade.php:547 ../lib/upgrade.php:563 ../lib/upgrade.php:584
+#: ../lib/upgrade.php:616 ../lib/upgrade.php:632 ../lib/upgrade.php:653
 #, php-format
 msgid "version <em>%s</em>"
 msgstr "version <em>%s</em>"
 
-#: ../lib/upgrade.php:548
+#: ../lib/upgrade.php:617
 msgid "not affected"
 msgstr "nicht betroffen"
 
-#: ../lib/upgrade.php:564 ../lib/upgrade.php:585 ../lib/upgrade.php:606
-#: ../lib/upgrade.php:816
+#: ../lib/upgrade.php:633 ../lib/upgrade.php:654 ../lib/upgrade.php:682
+#: ../lib/upgrade.php:1103
 msgid "FIXED"
 msgstr "AUSGEBESSERT"
 
-#: ../lib/upgrade.php:595
+#: ../lib/upgrade.php:664
 msgid "check for ACCESS_LOG_SQL passwords in POST requests"
 msgstr "prfe auf ACCESS_LOG_SQL Passwrter in POST Requests"
 
-#: ../lib/upgrade.php:661
+#: ../lib/upgrade.php:687
+msgid "check for ACCESS_LOG_SQL remote_host varchar(50)"
+msgstr "prfe auf ACCESS_LOG_SQL remote_host varchar(50)"
+
+#: ../lib/upgrade.php:695
+msgid "FIXING"
+msgstr "AUSBESSERN"
+
+#: ../lib/upgrade.php:698
+msgid "FAIL"
+msgstr "FEHLGESCHLAGEN"
+
+#: ../lib/upgrade.php:787
 msgid ""
 "Upgrade requires database privileges to CREATE and ALTER the phpwiki "
 "database."
 msgstr ""
 
-#: ../lib/upgrade.php:663
+#: ../lib/upgrade.php:789
 msgid ""
 "And on windows at least the privilege to SELECT FROM mysql, and possibly "
 "UPDATE mysql"
 msgstr ""
 
-#: ../lib/upgrade.php:668
+#: ../lib/upgrade.php:794
 msgid "DB admin user:"
 msgstr "DB Admin Benutzername:"
 
-#: ../lib/upgrade.php:674
+#: ../lib/upgrade.php:800
 msgid "DB admin password:"
 msgstr "DB Admin passwort:"
 
-#: ../lib/upgrade.php:707
+#: ../lib/upgrade.php:832
 msgid "check for extra page.cached_html column"
 msgstr ""
 
-#: ../lib/upgrade.php:724
+#: ../lib/upgrade.php:849 ../lib/upgrade.php:897
 msgid "CONVERTING"
 msgstr "KONVERTIERE"
 
-#: ../lib/upgrade.php:766
-msgid "check for necessary plugin argument updates"
+#: ../lib/upgrade.php:895
+msgid "Rebuild entire database to upgrade relation links"
 msgstr ""
 
-#: ../lib/upgrade.php:767
-msgid "change RandomPage pages => numpages"
-msgstr ""
+#: ../lib/upgrade.php:914
+msgid "plugin argument"
+msgstr "Plugin Parameter"
+
+#: ../lib/upgrade.php:958
+#, php-format
+msgid "file %s not found"
+msgstr "Datei %s nicht gefunden"
+
+#: ../lib/upgrade.php:985
+#, php-format
+msgid "%s not found in %s"
+msgstr "%s nicht in %s gefunden"
 
-#: ../lib/upgrade.php:819
+#: ../lib/upgrade.php:992
 #, php-format
 msgid "couldn't move %s to %s"
 msgstr "Kann %s nicht nach %s verschieben"
 
-#: ../lib/upgrade.php:826
+#: ../lib/upgrade.php:996
 #, php-format
-msgid "%s is not writable"
-msgstr "%s ist nicht nderbar"
-
-#: ../lib/upgrade.php:832
-msgid "check for necessary config updates"
-msgstr ""
+msgid "file %s is not writable"
+msgstr "Datei %s ist nicht beschreibbar"
 
-#: ../lib/upgrade.php:833
-msgid "check for old CACHE_CONTROL = NONE"
-msgstr ""
+#: ../lib/upgrade.php:1006 ../lib/upgrade.php:1016 ../lib/upgrade.php:1026
+#, php-format
+msgid "check for %s"
+msgstr "prfe %s"
 
-#: ../lib/upgrade.php:836
+#: ../lib/upgrade.php:1008
 msgid "CACHE_CONTROL is set to 'NONE', and must be changed to 'NO_CACHE'"
 msgstr ""
 
-#: ../lib/upgrade.php:843
-msgid "check for GROUP_METHOD = NONE"
+#: ../lib/upgrade.php:1018
+msgid "GROUP_METHOD is set to NONE, and must be changed to \"NONE\""
 msgstr ""
 
-#: ../lib/upgrade.php:846
-msgid "GROUP_METHOD is set to NONE, and must be changed to \"NONE\""
+#: ../lib/upgrade.php:1028
+msgid "fix BLOG_EMPTY_DEFAULT_PREFIX into BLOG_DEFAULT_EMPTY_PREFIX"
 msgstr ""
 
-#: ../lib/upgrade.php:883
+#: ../lib/upgrade.php:1128
+msgid "fixed with"
+msgstr "Gendert mit"
+
+#: ../lib/upgrade.php:1254
 msgid "Upgrade disabled: user != isAdmin"
 msgstr ""
 
-#: ../lib/upgrade.php:887
+#: ../lib/upgrade.php:1259
 msgid "Upgrading this PhpWiki"
 msgstr ""
 
@@ -5973,50 +6707,48 @@
 msgid "Members:"
 msgstr "Mitglieder:"
 
-#: ../lib/ziplib.php:199
+#: ../lib/ziplib.php:206
 msgid "Can't inflate data: zlib support not enabled in this PHP"
 msgstr ""
 "Kann Daten nicht dekomprimieren: Die zlib-Bibliothek wurde in PHP nicht "
 "installiert/aktiviert."
 
-#: ../lib/ziplib.php:395
+#: ../lib/ziplib.php:402
 #, php-format
 msgid "Can't open zip file '%s' for reading"
 msgstr "Konnte ZIP-Datei %s nicht zum Lesen ffnen"
 
-#: ../lib/ziplib.php:405 ../lib/ziplib.php:409
+#: ../lib/ziplib.php:412 ../lib/ziplib.php:416
 msgid "Unexpected EOF in zip file"
 msgstr "Unerwartetes Dateiende (EOF-Fehler) in ZIP-Datei"
 
-#: ../lib/ziplib.php:730
+#: ../lib/ziplib.php:738
 #, php-format
 msgid "[%d] See [%s]"
 msgstr "[%d] Siehe [%s]"
 
-#: ../lib/ziplib.php:737
+#: ../lib/ziplib.php:745
 msgid "References"
 msgstr "Funoten"
 
 #: ../themes/Crao/templates/actionbar.tmpl:5
-#: ../themes/MonoBook/templates/actionbar.tmpl:11
-#: ../themes/Portland/templates/actionbar.tmpl:8
-#: ../themes/default/templates/actionbar.tmpl:15
+#: ../themes/MonoBook/templates/actionbar.tmpl:34
+#: ../themes/Portland/templates/actionbar.tmpl:6
+#: ../themes/default/templates/actionbar.tmpl:16
 #: ../themes/shamino_com/templates/actionbar.tmpl:6
-#: ../themes/shamino_com/templates/info.tmpl:164
 #: ../themes/smaller/templates/actionbar.tmpl:18
 msgid "Edit Old Revision"
 msgstr "Alte Version Bearbeiten"
 
 #: ../themes/Crao/templates/actionbar.tmpl:7
 #: ../themes/Crao/templates/head.tmpl:47
-#: ../themes/MonoBook/templates/actionbar.tmpl:13
+#: ../themes/MonoBook/templates/actionbar.tmpl:37
 #: ../themes/MonoBook/templates/info.tmpl:166
-#: ../themes/Portland/templates/actionbar.tmpl:10
+#: ../themes/Portland/templates/actionbar.tmpl:8
 #: ../themes/Wordpress/templates/actionbar.tmpl:10
-#: ../themes/blog/templates/actionbar.tmpl:7
-#: ../themes/default/templates/actionbar.tmpl:17
+#: ../themes/blog/templates/actionbar.tmpl:21
+#: ../themes/default/templates/actionbar.tmpl:18
 #: ../themes/default/templates/head.tmpl:53
-#: ../themes/shamino_com/templates/info.tmpl:165
 #: ../themes/smaller/templates/actionbar.tmpl:20
 #: ../themes/smaller/templates/info.tmpl:5
 #: ../themes/wikilens/templates/head.tmpl:45
@@ -6024,19 +6756,17 @@
 msgstr "QuellTextAnsicht"
 
 #: ../themes/Crao/templates/actionbar.tmpl:30
-#: ../themes/MonoBook/templates/actionbar.tmpl:52
+#: ../themes/MonoBook/templates/actionbar.tmpl:72
 #: ../themes/MonoBook/templates/info.tmpl:177
-#: ../themes/default/templates/actionbar.tmpl:39
-#: ../themes/shamino_com/templates/info.tmpl:177
+#: ../themes/default/templates/actionbar.tmpl:41
 #: ../themes/smaller/templates/info.tmpl:17
 msgid "PurgeHtmlCache"
 msgstr "HtmlCacheSubern"
 
 #: ../themes/Crao/templates/actionbar.tmpl:31
-#: ../themes/MonoBook/templates/actionbar.tmpl:53
+#: ../themes/MonoBook/templates/actionbar.tmpl:73
 #: ../themes/MonoBook/templates/info.tmpl:178
-#: ../themes/default/templates/actionbar.tmpl:40
-#: ../themes/shamino_com/templates/info.tmpl:178
+#: ../themes/default/templates/actionbar.tmpl:42
 #: ../themes/smaller/templates/info.tmpl:18
 msgid ""
 "Purge HTML cache for this page. Regenerate from WikiMarkup when next "
@@ -6046,59 +6776,66 @@
 "generieren."
 
 #: ../themes/Crao/templates/blogform.tmpl:10
-#: ../themes/blog/templates/blogform.tmpl:11
-#: ../themes/default/templates/blogform.tmpl:11
 msgid "Add a Comment"
 msgstr "Kommentar hinzufgen"
 
 #: ../themes/Crao/templates/blogform.tmpl:18
-#: ../themes/blog/templates/blogform.tmpl:28
 #: ../themes/default/templates/addcomment.tmpl:14
-#: ../themes/default/templates/blogform.tmpl:28
 msgid "Add Comment"
 msgstr "Neuer Kommentar"
 
 #: ../themes/Crao/templates/browse.tmpl:5
+#: ../themes/MonoBook/templates/browse.tmpl:6
 #: ../themes/Portland/templates/browse.tmpl:9
 #: ../themes/Portland/templates/viewsource.tmpl:5
 #: ../themes/Wordpress/templates/browse.tmpl:9
-#: ../themes/Wordpress/templates/viewsource.tmpl:7
+#: ../themes/Wordpress/templates/viewsource.tmpl:9
 #: ../themes/blog/templates/browse.tmpl:6
+#: ../themes/blog/templates/viewsource.tmpl:6
 #: ../themes/default/templates/browse.tmpl:6
 #: ../themes/default/templates/viewsource.tmpl:5
 msgid "Note:"
 msgstr "Hinweis:"
 
 #: ../themes/Crao/templates/browse.tmpl:6
+#: ../themes/MonoBook/templates/browse.tmpl:7
 #: ../themes/Portland/templates/browse.tmpl:10
 #: ../themes/Portland/templates/viewsource.tmpl:10
 #: ../themes/Wordpress/templates/browse.tmpl:10
-#: ../themes/Wordpress/templates/viewsource.tmpl:12
+#: ../themes/Wordpress/templates/viewsource.tmpl:14
 #: ../themes/blog/templates/browse.tmpl:7
+#: ../themes/blog/templates/viewsource.tmpl:11
 #: ../themes/default/templates/browse.tmpl:7
 #: ../themes/default/templates/viewsource.tmpl:10
 msgid "You are viewing an old revision of this page."
 msgstr "Sie sehen eine alte Version dieser Seite."
 
 #: ../themes/Crao/templates/browse.tmpl:7
+#: ../themes/MonoBook/templates/browse.tmpl:8
 #: ../themes/Portland/templates/browse.tmpl:11
 #: ../themes/Portland/templates/viewsource.tmpl:11
 #: ../themes/Wordpress/templates/browse.tmpl:11
-#: ../themes/Wordpress/templates/viewsource.tmpl:13
+#: ../themes/Wordpress/templates/viewsource.tmpl:15
 #: ../themes/blog/templates/browse.tmpl:8
+#: ../themes/blog/templates/viewsource.tmpl:12
 #: ../themes/default/templates/browse.tmpl:8
 #: ../themes/default/templates/viewsource.tmpl:11
 msgid "View the current version"
 msgstr "Die aktuelle Version ansehen"
 
 #: ../themes/Crao/templates/editpage.tmpl:4
-#: ../themes/Portland/templates/editpage.tmpl:61
-#: ../themes/Wordpress/templates/editpage.tmpl:63
+#: ../themes/Portland/templates/editpage.tmpl:57
+#: ../themes/Wordpress/templates/editpage.tmpl:67
 #: ../themes/default/templates/editpage.tmpl:4
 msgid "Preview only!  Changes not saved."
 msgstr ""
 "Dies ist nur eine Vorschau! Die nderungen sind noch nicht gespeichert."
 
+#: ../themes/Crao/templates/editpage.tmpl:9
+#: ../themes/default/templates/editpage.tmpl:9
+msgid "edit area"
+msgstr "Texteingabe Fenster"
+
 #: ../themes/Crao/templates/editpage.tmpl:8
 #: ../themes/default/templates/editpage.tmpl:8
 #, php-format
@@ -6106,11 +6843,6 @@
 "Please continue editing.  (You'll find your %s at the bottom of the page.)"
 msgstr ""
 
-#: ../themes/Crao/templates/editpage.tmpl:9
-#: ../themes/default/templates/editpage.tmpl:9
-msgid "edit area"
-msgstr "Texteingabe Fenster"
-
 #: ../themes/Crao/templates/editpage.tmpl:18
 #: ../themes/Portland/templates/editpage.tmpl:25
 #: ../themes/Wordpress/templates/editpage.tmpl:23
@@ -6128,21 +6860,21 @@
 "berschrieben."
 
 #: ../themes/Crao/templates/editpage.tmpl:38
-#: ../themes/Portland/templates/editpage.tmpl:52
+#: ../themes/Portland/templates/editpage.tmpl:48
 #: ../themes/Wordpress/templates/editpage.tmpl:39
 #: ../themes/default/templates/editpage.tmpl:40
 msgid "H"
 msgstr "H."
 
 #: ../themes/Crao/templates/editpage.tmpl:39
-#: ../themes/Portland/templates/editpage.tmpl:53
+#: ../themes/Portland/templates/editpage.tmpl:49
 #: ../themes/Wordpress/templates/editpage.tmpl:40
 #: ../themes/default/templates/editpage.tmpl:41
 msgid "W"
 msgstr "Br."
 
 #: ../themes/Crao/templates/editpage.tmpl:40
-#: ../themes/Portland/templates/editpage.tmpl:54
+#: ../themes/Portland/templates/editpage.tmpl:50
 #: ../themes/Wordpress/templates/editpage.tmpl:41
 #: ../themes/default/templates/editpage.tmpl:42
 msgid "Adjust"
@@ -6158,59 +6890,67 @@
 msgstr "Kleinere nderung."
 
 #: ../themes/Crao/templates/editpage.tmpl:59
-#: ../themes/Portland/templates/editpage.tmpl:56
-#: ../themes/Wordpress/templates/editpage.tmpl:44
+#: ../themes/Portland/templates/editpage.tmpl:52
+#: ../themes/Wordpress/templates/editpage.tmpl:59
 #: ../themes/default/templates/editpage.tmpl:60
 msgid "Use old markup"
 msgstr "Alte Formatierungssyntax verwenden"
 
 #: ../themes/Crao/templates/editpage.tmpl:92
 #: ../themes/Crao/templates/editpage.tmpl:97
-#: ../themes/Portland/templates/editpage.tmpl:84
-#: ../themes/Portland/templates/editpage.tmpl:89
-#: ../themes/Wordpress/templates/editpage.tmpl:86
-#: ../themes/Wordpress/templates/editpage.tmpl:91
+#: ../themes/Portland/templates/editpage.tmpl:80
+#: ../themes/Portland/templates/editpage.tmpl:85
+#: ../themes/Wordpress/templates/editpage.tmpl:90
+#: ../themes/Wordpress/templates/editpage.tmpl:95
+#: ../themes/blog/templates/blogform.tmpl:24
+#: ../themes/default/templates/blogform.tmpl:24
+#: ../themes/default/templates/editpage.tmpl:108
 #: ../themes/default/templates/editpage.tmpl:113
-#: ../themes/default/templates/editpage.tmpl:118
-#, php-format
-msgid "See %s tips for editing."
-msgstr "Siehe %s Tips frs Edieren."
+msgid "Help/GoodStyle"
+msgstr "Hilfe/GuterStil"
 
 #: ../themes/Crao/templates/editpage.tmpl:92
 #: ../themes/Crao/templates/editpage.tmpl:97
-#: ../themes/Portland/templates/editpage.tmpl:84
-#: ../themes/Portland/templates/editpage.tmpl:89
-#: ../themes/Wordpress/templates/editpage.tmpl:86
-#: ../themes/Wordpress/templates/editpage.tmpl:91
+#: ../themes/Portland/templates/editpage.tmpl:80
+#: ../themes/Portland/templates/editpage.tmpl:85
+#: ../themes/Wordpress/templates/editpage.tmpl:90
+#: ../themes/Wordpress/templates/editpage.tmpl:95
+#: ../themes/blog/templates/blogform.tmpl:24
+#: ../themes/default/templates/blogform.tmpl:24
+#: ../themes/default/templates/editpage.tmpl:108
 #: ../themes/default/templates/editpage.tmpl:113
-#: ../themes/default/templates/editpage.tmpl:118
-msgid "GoodStyle"
-msgstr "GuterStil"
+#, php-format
+msgid "See %s tips for editing."
+msgstr "Siehe %s Tips frs Edieren."
 
 #: ../themes/Crao/templates/editpage.tmpl:93
-#: ../themes/Portland/templates/editpage.tmpl:85
-#: ../themes/Wordpress/templates/editpage.tmpl:87
-#: ../themes/default/templates/editpage.tmpl:114
-msgid "OldTextFormattingRules"
-msgstr "AlteTextFormatierungsRegeln"
+#: ../themes/Portland/templates/editpage.tmpl:81
+#: ../themes/Wordpress/templates/editpage.tmpl:91
+#: ../themes/default/templates/editpage.tmpl:109
+msgid "Help/OldTextFormattingRules"
+msgstr "Hilfe/AlteTextFormatierungsRegeln"
 
 #: ../themes/Crao/templates/editpage.tmpl:93
 #: ../themes/Crao/templates/editpage.tmpl:98
-#: ../themes/Portland/templates/editpage.tmpl:85
-#: ../themes/Portland/templates/editpage.tmpl:90
-#: ../themes/Wordpress/templates/editpage.tmpl:87
-#: ../themes/Wordpress/templates/editpage.tmpl:92
+#: ../themes/Portland/templates/editpage.tmpl:81
+#: ../themes/Portland/templates/editpage.tmpl:86
+#: ../themes/Wordpress/templates/editpage.tmpl:91
+#: ../themes/Wordpress/templates/editpage.tmpl:96
+#: ../themes/blog/templates/blogform.tmpl:25
+#: ../themes/default/templates/blogform.tmpl:25
+#: ../themes/default/templates/editpage.tmpl:109
 #: ../themes/default/templates/editpage.tmpl:114
-#: ../themes/default/templates/editpage.tmpl:119
 msgid "Synopsis"
 msgstr "bersicht"
 
 #: ../themes/Crao/templates/editpage.tmpl:98
-#: ../themes/Portland/templates/editpage.tmpl:90
-#: ../themes/Wordpress/templates/editpage.tmpl:92
-#: ../themes/default/templates/editpage.tmpl:119
-msgid "TextFormattingRules"
-msgstr "TextFormatierungsRegeln"
+#: ../themes/Portland/templates/editpage.tmpl:86
+#: ../themes/Wordpress/templates/editpage.tmpl:96
+#: ../themes/blog/templates/blogform.tmpl:25
+#: ../themes/default/templates/blogform.tmpl:25
+#: ../themes/default/templates/editpage.tmpl:114
+msgid "Help/TextFormattingRules"
+msgstr "Hilfe/TextFormatierungsRegeln"
 
 #: ../themes/Crao/templates/head.tmpl:31 ../themes/Crao/templates/head.tmpl:32
 #: ../themes/Crao/templates/htmldump.tmpl:22
@@ -6223,36 +6963,35 @@
 msgstr "WieManWikiBenutzt"
 
 #: ../themes/Crao/templates/navbar.tmpl:34
-#: ../themes/Wordpress/templates/actionbar.tmpl:37
+#: ../themes/Wordpress/templates/actionbar.tmpl:38
 #: ../themes/default/templates/navbar.tmpl:51
-#: ../themes/wikilens/templates/navbar.tmpl:40
+#: ../themes/wikilens/templates/navbar.tmpl:30
 msgid "Today"
 msgstr "Heute"
 
 #: ../themes/Crao/templates/navbar.tmpl:37
-#: ../themes/Sidebar/templates/navbar.tmpl:38
+#: ../themes/Sidebar/templates/navbar.tmpl:28
 #: ../themes/blog/templates/navbar.tmpl:14
 #: ../themes/default/templates/navbar.tmpl:55
-#: ../themes/wikilens/templates/navbar.tmpl:43
+#: ../themes/wikilens/templates/navbar.tmpl:32
 msgid "Admin"
 msgstr "Admin"
 
 #: ../themes/Crao/templates/navbar.tmpl:46
 #: ../themes/blog/templates/search.tmpl:11
-#: ../themes/default/templates/search.tmpl:16
-#: ../themes/default/templates/search.tmpl:23
+#: ../themes/default/templates/search.tmpl:20
+#: ../themes/default/templates/search.tmpl:25
 msgid "LiveSearch"
 msgstr "LiveSuche"
 
-#: ../themes/Crao/templates/signin.tmpl:18
+#: ../themes/Crao/templates/signin.tmpl:17
 #, php-format
 msgid "You are signed in as %s"
 msgstr "Sie sind angemeldet als %s"
 
-#: ../themes/Crao/templates/signin.tmpl:39
-#: ../themes/MonoBook/templates/signin.tmpl:38
-#: ../themes/Sidebar/templates/signin.tmpl:38
-#: ../themes/Wordpress/templates/signin.tmpl:42
+#: ../themes/Crao/templates/signin.tmpl:38
+#: ../themes/Sidebar/templates/signin.tmpl:37
+#: ../themes/Wordpress/templates/signin.tmpl:41
 #: ../themes/default/templates/signin.tmpl:34
 #: ../themes/smaller/templates/signin.tmpl:37
 msgid "Enter your UserId to sign in"
@@ -6260,8 +6999,6 @@
 
 #: ../themes/Crao/templates/wikiblog.tmpl:19
 #: ../themes/blog/templates/wikiblog.tmpl:20
-#: ../themes/default/templates/comment.tmpl:18
-#: ../themes/default/templates/wikiblog.tmpl:19
 #, php-format
 msgid "Comment modified on %s by %s"
 msgstr "Kommentare am %s gendert von %s"
@@ -6269,43 +7006,33 @@
 #: ../themes/Crao/templates/wikiblog.tmpl:25
 #: ../themes/blog/templates/wikiblog.tmpl:25
 #: ../themes/default/templates/comment.tmpl:24
-#: ../themes/default/templates/wikiblog.tmpl:24
 #, php-format
 msgid "Comments on %s by %s."
 msgstr "Kommentar zu %s von %s."
 
-#: ../themes/Hawaiian/themeinfo.php:29 ../themes/MacOSX/themeinfo.php:104
-#: ../themes/MonoBook/themeinfo.php:72 ../themes/Portland/themeinfo.php:59
-#: ../themes/Sidebar/themeinfo.php:122 ../themes/SpaceWiki/themeinfo.php:43
-#: ../themes/Wordpress/themeinfo.php:61 ../themes/default/themeinfo.php:24
-#: ../themes/shamino_com/themeinfo.php:56 ../themes/smaller/themeinfo.php:51
-#: ../themes/wikilens/themeinfo.php:24
-msgid "Printer"
-msgstr "Drucker"
-
-#: ../themes/Hawaiian/themeinfo.php:30 ../themes/MonoBook/themeinfo.php:74
-#: ../themes/Portland/themeinfo.php:60 ../themes/Sidebar/themeinfo.php:123
-#: ../themes/SpaceWiki/themeinfo.php:44 ../themes/Wordpress/themeinfo.php:62
-#: ../themes/default/themeinfo.php:26 ../themes/shamino_com/themeinfo.php:58
-#: ../themes/smaller/themeinfo.php:53 ../themes/wikilens/themeinfo.php:26
-msgid "Modern"
-msgstr "Modern"
-
-#: ../themes/MacOSX/themeinfo.php:105 ../themes/MonoBook/themeinfo.php:73
-#: ../themes/default/themeinfo.php:25 ../themes/shamino_com/themeinfo.php:57
-#: ../themes/smaller/themeinfo.php:52 ../themes/wikilens/themeinfo.php:25
-msgid "Top & bottom toolbars"
-msgstr "Obere u. untere Werkzeugleisten"
-
-#: ../themes/MonoBook/templates/actionbar.tmpl:27
-#: ../themes/Sidebar/templates/navbar.tmpl:31
+#: ../themes/MonoBook/templates/actionbar.tmpl:17
+#: ../themes/MonoBook/templates/actionbar.tmpl:30
+#: ../themes/Sidebar/templates/navbar.tmpl:21
 #: ../themes/default/templates/navbar.tmpl:15
+#: ../themes/wikilens/templates/navbar.tmpl:13
 msgid "Article"
 msgstr ""
 
+#: ../themes/MonoBook/templates/actionbar.tmpl:24
+msgid "TemplateTalk"
+msgstr "VorlageDiskussion"
+
+#: ../themes/MonoBook/templates/actionbar.tmpl:39
+msgid "History"
+msgstr "Protokoll"
+
 #: ../themes/MonoBook/templates/actionbar.tmpl:42
-#: ../themes/blog/templates/actionbar.tmpl:21
-#: ../themes/smaller/templates/actionbar.tmpl:34
+msgid "Watch"
+msgstr "Beobachte"
+
+#: ../themes/MonoBook/templates/actionbar.tmpl:65
+#: ../themes/blog/templates/actionbar.tmpl:15
+#: ../themes/smaller/templates/actionbar.tmpl:36
 msgid "Info"
 msgstr "Info"
 
@@ -6316,7 +7043,7 @@
 
 #: ../themes/MonoBook/templates/browse-footer.tmpl:16
 #: ../themes/MonoBook/templates/browse-footer.tmpl:17
-#: ../themes/blog/templates/actionbar.tmpl:16
+#: ../themes/blog/templates/actionbar.tmpl:10
 msgid "About"
 msgstr "ber"
 
@@ -6327,183 +7054,174 @@
 
 #: ../themes/MonoBook/templates/info.tmpl:37
 #: ../themes/default/templates/info.tmpl:30
-#: ../themes/shamino_com/templates/info.tmpl:37
 msgid "1 word"
 msgstr "1 Wort"
 
 #: ../themes/MonoBook/templates/info.tmpl:39
 #: ../themes/default/templates/info.tmpl:32
-#: ../themes/shamino_com/templates/info.tmpl:39
 #, php-format
 msgid "%s words"
 msgstr "%s Wrter"
 
 #: ../themes/MonoBook/templates/info.tmpl:43
 #: ../themes/default/templates/info.tmpl:36
-#: ../themes/shamino_com/templates/info.tmpl:43
 #, php-format
 msgid "Version %s"
 msgstr "Version %s."
 
 #: ../themes/MonoBook/templates/info.tmpl:44
 #: ../themes/default/templates/info.tmpl:37
-#: ../themes/shamino_com/templates/info.tmpl:44
 msgid "Original (1.2 or 1.0)"
 msgstr "Original (1,2 oder 1,0)"
 
 #: ../themes/MonoBook/templates/info.tmpl:76
-#: ../themes/default/templates/info.tmpl:69
-#: ../themes/shamino_com/templates/info.tmpl:75
+#: ../themes/default/templates/info.tmpl:68
 msgid "Saved on:"
 msgstr "Gespeichert am:"
 
 #: ../themes/MonoBook/templates/info.tmpl:81
-#: ../themes/default/templates/info.tmpl:74
-#: ../themes/shamino_com/templates/info.tmpl:80
+#: ../themes/default/templates/info.tmpl:73
 #, php-format
 msgid "Statistics about %s."
 msgstr "Statistik ber %s."
 
 #: ../themes/MonoBook/templates/info.tmpl:91
-#: ../themes/default/templates/info.tmpl:85
-#: ../themes/shamino_com/templates/info.tmpl:91
+#: ../themes/default/templates/info.tmpl:84
 msgid "Supplanted on:"
 msgstr "Ersetzt am:"
 
 #: ../themes/MonoBook/templates/info.tmpl:108
-#: ../themes/default/templates/info.tmpl:103
-#: ../themes/shamino_com/templates/info.tmpl:108
+#: ../themes/default/templates/info.tmpl:102
 msgid "Page Version:"
 msgstr "Seiten Version:"
 
 #: ../themes/MonoBook/templates/info.tmpl:112
-#: ../themes/default/templates/info.tmpl:107
-#: ../themes/shamino_com/templates/info.tmpl:112
+#: ../themes/default/templates/info.tmpl:106
 msgid "Markup:"
 msgstr "Quelltextformat:"
 
 #: ../themes/MonoBook/templates/info.tmpl:116
-#: ../themes/default/templates/info.tmpl:111
-#: ../themes/shamino_com/templates/info.tmpl:116
+#: ../themes/default/templates/info.tmpl:110
 msgid "Size:"
 msgstr "Gre:"
 
 #: ../themes/MonoBook/templates/info.tmpl:121
-#: ../themes/default/templates/info.tmpl:116
-#: ../themes/shamino_com/templates/info.tmpl:121
+#: ../themes/default/templates/info.tmpl:115
 msgid "Hits:"
 msgstr "Treffer:"
 
 #: ../themes/MonoBook/templates/info.tmpl:138
-#: ../themes/default/templates/info.tmpl:133
-#: ../themes/shamino_com/templates/info.tmpl:138
+#: ../themes/default/templates/info.tmpl:132
 msgid "home page"
 msgstr "Start Seite"
 
 #: ../themes/MonoBook/templates/info.tmpl:141
-#: ../themes/default/templates/info.tmpl:136
-#: ../themes/shamino_com/templates/info.tmpl:141
+#: ../themes/default/templates/info.tmpl:135
 msgid "User page"
 msgstr "Benutzer Seite"
 
 #: ../themes/MonoBook/templates/info.tmpl:144
-#: ../themes/default/templates/info.tmpl:139
-#: ../themes/shamino_com/templates/info.tmpl:144
+#: ../themes/default/templates/info.tmpl:138
 msgid "Action page"
 msgstr "Aktion Seite"
 
 #: ../themes/MonoBook/templates/info.tmpl:147
-#: ../themes/default/templates/info.tmpl:142
-#: ../themes/shamino_com/templates/info.tmpl:147
+#: ../themes/default/templates/info.tmpl:141
 msgid "Blog page"
 msgstr "Blog Seite"
 
 #: ../themes/MonoBook/templates/info.tmpl:153
-#: ../themes/default/templates/info.tmpl:148
-#: ../themes/shamino_com/templates/info.tmpl:153
+#: ../themes/default/templates/info.tmpl:147
 msgid "Subpage"
 msgstr "Unterseite"
 
 #: ../themes/MonoBook/templates/info.tmpl:158
-#: ../themes/default/templates/info.tmpl:153
-#: ../themes/shamino_com/templates/info.tmpl:158
+#: ../themes/default/templates/info.tmpl:152
 msgid "Page Type:"
 msgstr "Seitentyp:"
 
 #: ../themes/MonoBook/templates/info.tmpl:170
 #: ../themes/blog/templates/info.tmpl:5
-#: ../themes/shamino_com/templates/info.tmpl:170
 #: ../themes/smaller/templates/info.tmpl:9
 msgid "Diff previous Revision"
 msgstr "Diff zu voriger Version"
 
 #: ../themes/MonoBook/templates/info.tmpl:171
 #: ../themes/blog/templates/info.tmpl:6
-#: ../themes/shamino_com/templates/info.tmpl:171
 #: ../themes/smaller/templates/info.tmpl:10
 msgid "Diff previous Author"
 msgstr "Diff zu vorigem Autor"
 
-#: ../themes/MonoBook/templates/navbar.tmpl:28
-#: ../themes/MonoBook/templates/navbar.tmpl:29
-#: ../themes/Sidebar/templates/navbar.tmpl:16
-#: ../themes/Sidebar/templates/navbar.tmpl:17
+#: ../themes/MonoBook/templates/navbar.tmpl:15
+#, fuzzy
+msgid "The list of recent changes in the wiki."
+msgstr "um den Quelltext der Seiten dieses Wikis anzusehen"
+
+# (Im Wortsinne heit das eigentlich: "jngste = eben gemachte
+# nderungen"; in terms of newspapers or journalism it's traditionally
+# "NeuesteNachrichten" or much more better "DasNeueste").
+#: ../themes/MonoBook/templates/navbar.tmpl:17
+#, fuzzy
+msgid "RecentNewPages"
+msgstr "Neuestenderungen"
+
+# "hnlicheSeiten" (LikePages sind keine SamePages; die korrekte
+# deutsche bersetzung ist "hnlicheSeiten" which would be the best.
+# Or in case "" doesn't work as a WikiWord, then use "VergleichbareSeiten".
+#: ../themes/MonoBook/templates/navbar.tmpl:18
+msgid "Like Pages"
+msgstr "hnliche Seiten"
+
+#: ../themes/MonoBook/templates/navbar.tmpl:35
+msgid "Search:"
+msgstr "Suche:"
+
+#: ../themes/MonoBook/templates/navbar.tmpl:38
+#: ../themes/MonoBook/templates/navbar.tmpl:39
 #: ../themes/default/templates/navbar.tmpl:28
 #: ../themes/default/templates/navbar.tmpl:30
-#: ../themes/default/templates/search.tmpl:13
+#: ../themes/default/templates/search.tmpl:17
 #: ../themes/shamino_com/templates/top.tmpl:24
 #: ../themes/shamino_com/templates/top.tmpl:25
 #: ../themes/smaller/templates/navbar.tmpl:11
 #: ../themes/smaller/templates/navbar.tmpl:12
-#: ../themes/wikilens/templates/navbar.tmpl:19
-#: ../themes/wikilens/templates/navbar.tmpl:21
 msgid "Quick Search"
 msgstr "SchnellSuche"
 
-# "hnlicheSeiten" (LikePages sind keine SamePages; die korrekte
-# deutsche bersetzung ist "hnlicheSeiten" which would be the best.
-# Or in case "" doesn't work as a WikiWord, then use "VergleichbareSeiten".
-#: ../themes/MonoBook/templates/navbar.tmpl:39
-msgid "Like Pages"
-msgstr "hnliche Seiten"
-
-#: ../themes/MonoBook/templates/navbar.tmpl:40
+#: ../themes/MonoBook/templates/navbar.tmpl:51
 msgid "What links here"
 msgstr "Was verlinkt hierher"
 
-#: ../themes/MonoBook/templates/signin.tmpl:18
-#: ../themes/Wordpress/templates/signin.tmpl:21
-#: ../themes/default/templates/signin.tmpl:25
-#: ../themes/shamino_com/templates/signin.tmpl:25
-#, php-format
-msgid "Authenticated as %s"
-msgstr "Authentifiziert als %s"
+#: ../themes/MonoBook/templates/navbar.tmpl:57
+msgid "Administration"
+msgstr "Administration"
 
-#: ../themes/MonoBook/templates/signin.tmpl:41
-#, php-format
-msgid "Signed as %s"
-msgstr "Angemeldet as %s"
+#: ../themes/MonoBook/templates/navbar.tmpl:60
+msgid "Upload file"
+msgstr "Datei Hochladen"
 
-#: ../themes/MonoBook/templates/signin.tmpl:44
-#: ../themes/Sidebar/templates/signin.tmpl:44
-#: ../themes/Wordpress/templates/signin.tmpl:48
-#: ../themes/default/templates/signin.tmpl:40
-#, php-format
-msgid "Click to authenticate as %s"
-msgstr "Hier klicken um sich anzumelden als %s"
+#: ../themes/MonoBook/templates/navbar.tmpl:60
+msgid "Upload images or media files"
+msgstr "Datei oder Bilder hochladen"
 
-#: ../themes/MonoBook/templates/signin.tmpl:65
-#: ../themes/Sidebar/templates/signin.tmpl:64
-#: ../themes/Wordpress/templates/signin.tmpl:68
-#: ../themes/default/templates/signin.tmpl:59
-msgid "Sign in as:"
-msgstr "Anmelden als:"
+#: ../themes/MonoBook/templates/navbar.tmpl:64
+#: ../themes/MonoBook/templates/navbar.tmpl:69
+msgid "Printable version"
+msgstr "Druckversion"
 
-#: ../themes/Portland/templates/actionbar.tmpl:8
+#: ../themes/MonoBook/templates/navbar.tmpl:74
+msgid "Display as Pdf"
+msgstr "Zeige als PDF"
+
+#: ../themes/MonoBook/templates/signin.tmpl:10
+msgid "Logout"
+msgstr ""
+
+#: ../themes/Portland/templates/actionbar.tmpl:6
 msgid "EditText"
 msgstr "TextBearbeiten"
 
-#: ../themes/Portland/templates/actionbar.tmpl:11
+#: ../themes/Portland/templates/actionbar.tmpl:9
 #, php-format
 msgid "%s of this page"
 msgstr "%s von dieser Seite"
@@ -6516,20 +7234,21 @@
 msgid "Page Execution took %s seconds"
 msgstr "Ausfhrung dieser Seite dauerte %s Sekunden"
 
-#: ../themes/Portland/templates/editpage.tmpl:48
-#: ../themes/Wordpress/templates/editpage.tmpl:57
+#: ../themes/Portland/templates/editpage.tmpl:44
+#: ../themes/Wordpress/templates/editpage.tmpl:56
 #, php-format
 msgid ""
 "I'm just doing minor edits. Please divert the usual logging to %s instead."
 msgstr "Ich mache nur kleinere nderungen. Protokolliere stattdessen in %s."
 
-#: ../themes/Portland/templates/editpage.tmpl:52
-#: ../themes/default/templates/userprefs.tmpl:195
+#: ../themes/Portland/templates/editpage.tmpl:48
+#: ../themes/default/templates/userprefs.tmpl:196
 msgid "Edit Area Size"
 msgstr "Texteingabe Fenstergre"
 
 #: ../themes/Portland/templates/viewsource.tmpl:6
-#: ../themes/Wordpress/templates/viewsource.tmpl:8
+#: ../themes/Wordpress/templates/viewsource.tmpl:10
+#: ../themes/blog/templates/viewsource.tmpl:7
 #: ../themes/default/templates/viewsource.tmpl:6
 msgid "This page has been locked by the administrator and cannot be edited."
 msgstr ""
@@ -6541,28 +7260,37 @@
 msgid "Navigation"
 msgstr ""
 
-#: ../themes/Sidebar/templates/navbar.tmpl:24
+#: ../themes/Sidebar/templates/navbar.tmpl:14
 msgid "Full Search"
 msgstr "VolltextSuche"
 
-#: ../themes/Sidebar/templates/signin.tmpl:18
+#: ../themes/Sidebar/templates/signin.tmpl:17
 #, php-format
 msgid "User: %s"
 msgstr "Benutzer: %s"
 
-#: ../themes/Sidebar/templates/signin.tmpl:41
+#: ../themes/Sidebar/templates/signin.tmpl:40
 #, php-format
 msgid "(User: %s)"
 msgstr "(Benutzer: %s)"
 
-#: ../themes/Sidebar/themeinfo.php:119
+#: ../themes/Sidebar/templates/signin.tmpl:43
+#: ../themes/Wordpress/templates/signin.tmpl:47
+#: ../themes/default/templates/signin.tmpl:40
+#, php-format
+msgid "Click to authenticate as %s"
+msgstr "Hier klicken um sich anzumelden als %s"
+
+#: ../themes/Sidebar/templates/signin.tmpl:63
+#: ../themes/Wordpress/templates/signin.tmpl:67
+#: ../themes/default/templates/signin.tmpl:59
+msgid "Sign in as:"
+msgstr "Anmelden als:"
+
+#: ../themes/Sidebar/themeinfo.php:37
 msgid "Sidebar"
 msgstr "Sidebar"
 
-#: ../themes/SpaceWiki/lib/RecentChanges.php:55
-msgid "diff"
-msgstr "diff"
-
 #: ../themes/Wordpress/templates/actionbar.tmpl:8
 msgid "Edit this page"
 msgstr "Diese Seite bearbeiten"
@@ -6571,60 +7299,83 @@
 msgid "Edit old revision"
 msgstr "Alte Version Bearbeiten"
 
-#: ../themes/Wordpress/templates/signin.tmpl:45
+#: ../themes/Wordpress/templates/signin.tmpl:20
+#: ../themes/default/templates/signin.tmpl:25
+#: ../themes/shamino_com/templates/signin.tmpl:24
+#, php-format
+msgid "Authenticated as %s"
+msgstr "Authentifiziert als %s"
+
+#: ../themes/Wordpress/templates/signin.tmpl:44
 #: ../themes/default/templates/signin.tmpl:37
 #, php-format
 msgid "You are signed but not authenticated as %s. "
 msgstr "Angemeldet aber nicht authentifiziert als %s."
 
-#: ../themes/blog/templates/actionbar.tmpl:15
+#: ../themes/blog/templates/actionbar.tmpl:9
 msgid "Home"
 msgstr "Start"
 
-#: ../themes/blog/templates/actionbar.tmpl:18
-msgid "Photos"
-msgstr "Album"
-
-#: ../themes/blog/templates/actionbar.tmpl:19
+#: ../themes/blog/templates/actionbar.tmpl:13
 msgid "HowTo"
 msgstr ""
 
-#: ../themes/blog/templates/actionbar.tmpl:32
-msgid "Page Trail"
-msgstr "Spur"
+#: ../themes/blog/templates/blogform.tmpl:10
+#: ../themes/default/templates/blogform.tmpl:10
+msgid "Headline"
+msgstr "berschrift"
+
+#: ../themes/blog/templates/blogform.tmpl:18
+#: ../themes/default/templates/blogform.tmpl:18
+msgid "Add Entry"
+msgstr "Neuer Eintrag"
 
-#: ../themes/blog/templates/sidebar.tmpl:7
+#: ../themes/blog/templates/sidebar.tmpl:8
 #: ../themes/blog/templates/sidebar.tmpl:12
-#: ../themes/blog/templates/sidebar.tmpl:14
-msgid "Blogs"
-msgstr "Blogs"
+msgid "Blog"
+msgstr "Blog"
+
+#: ../themes/blog/templates/top.tmpl:16
+msgid "Page Trail"
+msgstr "Spur"
 
-#: ../themes/blog/themeinfo.php:55
+#: ../themes/blog/themeinfo.php:63
 msgid "SignOut"
 msgstr "Abmelden"
 
-#: ../themes/blog/themeinfo.php:56
+#: ../themes/blog/themeinfo.php:64
 msgid "SignIn"
 msgstr "AnMelden"
 
-#: ../themes/blog/themeinfo.php:57
+#: ../themes/blog/themeinfo.php:65
 msgid "Lock"
 msgstr "Sperren"
 
-#: ../themes/blog/themeinfo.php:58
+#: ../themes/blog/themeinfo.php:66
 msgid "Unlock"
 msgstr "Entsperren"
 
-#: ../themes/blog/themeinfo.php:117
+#: ../themes/blog/themeinfo.php:122
 msgid "blog"
 msgstr "Blog"
 
+#: ../themes/blog/themeinfo.php:124
+msgid "(diff)"
+msgstr "(diff)"
+
+#: ../themes/default/templates/comment.tmpl:18
+#: ../themes/default/templates/wikiblog.tmpl:18
+#, fuzzy, php-format
+msgid "Modified on %s by %s"
+msgstr "Gendert am %s von %s"
+
 #: ../themes/default/templates/comment.tmpl:28
 #, php-format
 msgid "%s by %s"
 msgstr "%s von %s"
 
-#: ../themes/default/templates/debug.tmpl:21
+#: ../themes/default/templates/debug.tmpl:20
+#: ../themes/shamino_com/templates/debug.tmpl:11
 #, php-format
 msgid ", Memory: %s"
 msgstr ", RAM: %s"
@@ -6753,6 +7504,11 @@
 msgid "Registered Users Online: "
 msgstr "Registrierte Benutzer Online: "
 
+# ie. no pages found
+#: ../themes/default/templates/online.tmpl:38
+msgid "<none>"
+msgstr "<keine>"
+
 #: ../themes/default/templates/online.tmpl:43
 msgid "Admin is also online."
 msgstr "Administrator ist auch online."
@@ -6821,140 +7577,136 @@
 "gewidmet haben, wird von allen Benutzern dieses Wikis gern gesehen und hoch "
 "geschtzt."
 
-#: ../themes/default/templates/savepage.tmpl:10
-msgid "Warning!"
-msgstr "Achtung!"
-
 # Benutzeroberflche or Darstellung? We should be consistent.
-#: ../themes/default/templates/userprefs.tmpl:62
-#: ../themes/default/templates/userprefs.tmpl:64
+#: ../themes/default/templates/userprefs.tmpl:63
+#: ../themes/default/templates/userprefs.tmpl:65
 msgid "<system theme>"
 msgstr "<Darstellung des Systems>"
 
-#: ../themes/default/templates/userprefs.tmpl:73
-#: ../themes/default/templates/userprefs.tmpl:99
+#: ../themes/default/templates/userprefs.tmpl:74
+#: ../themes/default/templates/userprefs.tmpl:100
 msgid "Personal theme:"
 msgstr "Ihre Benutzeroberflche:"
 
-#: ../themes/default/templates/userprefs.tmpl:79
-#: ../themes/default/templates/userprefs.tmpl:81
+#: ../themes/default/templates/userprefs.tmpl:80
+#: ../themes/default/templates/userprefs.tmpl:82
 msgid "<system language>"
 msgstr "<Sprache des Servers>"
 
-#: ../themes/default/templates/userprefs.tmpl:90
-#: ../themes/default/templates/userprefs.tmpl:100
+#: ../themes/default/templates/userprefs.tmpl:91
+#: ../themes/default/templates/userprefs.tmpl:101
 msgid "Personal language:"
 msgstr "Ihre Sprache:"
 
-#: ../themes/default/templates/userprefs.tmpl:109
+#: ../themes/default/templates/userprefs.tmpl:110
 #, php-format
 msgid "User preferences for user '%s':"
 msgstr "Einstellungen fr Benutzer '%s':"
 
-#: ../themes/default/templates/userprefs.tmpl:118
+#: ../themes/default/templates/userprefs.tmpl:119
 msgid "UserId"
 msgstr "Benutzername"
 
-#: ../themes/default/templates/userprefs.tmpl:122
+#: ../themes/default/templates/userprefs.tmpl:123
 msgid "Auth Level"
 msgstr "Auth. Ebene"
 
-#: ../themes/default/templates/userprefs.tmpl:122
+#: ../themes/default/templates/userprefs.tmpl:123
 msgid "Auth Method"
 msgstr "Auth. Methode"
 
-#: ../themes/default/templates/userprefs.tmpl:126
+#: ../themes/default/templates/userprefs.tmpl:127
 msgid "Theme"
 msgstr "Benutzeroberflche"
 
-#: ../themes/default/templates/userprefs.tmpl:126
+#: ../themes/default/templates/userprefs.tmpl:127
 msgid "Current Theme"
 msgstr "Ausgewhlte Darstellung"
 
-#: ../themes/default/templates/userprefs.tmpl:127
+#: ../themes/default/templates/userprefs.tmpl:128
 msgid "Language"
 msgstr "Sprache"
 
-#: ../themes/default/templates/userprefs.tmpl:127
+#: ../themes/default/templates/userprefs.tmpl:128
 msgid "Current Language"
 msgstr "Ausgewhlte Sprache"
 
-#: ../themes/default/templates/userprefs.tmpl:133
+#: ../themes/default/templates/userprefs.tmpl:134
 msgid "Change Password"
 msgstr "ndere Passwort"
 
-#: ../themes/default/templates/userprefs.tmpl:133
+#: ../themes/default/templates/userprefs.tmpl:134
 msgid "Set Password"
 msgstr "Setze Passwort"
 
-#: ../themes/default/templates/userprefs.tmpl:135
+#: ../themes/default/templates/userprefs.tmpl:136
 msgid "New password"
 msgstr "Neues Passwort"
 
-#: ../themes/default/templates/userprefs.tmpl:138
+#: ../themes/default/templates/userprefs.tmpl:139
 msgid "Type it again"
 msgstr "Bitte hier wiederholen"
 
-#: ../themes/default/templates/userprefs.tmpl:144
+#: ../themes/default/templates/userprefs.tmpl:145
 msgid "E-mail"
 msgstr "E-Mail"
 
-#: ../themes/default/templates/userprefs.tmpl:146
+#: ../themes/default/templates/userprefs.tmpl:147
 msgid "Your E-Mail:"
 msgstr "Ihre E-Mail-Adresse:"
 
-#: ../themes/default/templates/userprefs.tmpl:154
+#: ../themes/default/templates/userprefs.tmpl:155
 msgid "Status:"
 msgstr "Gltigkeit:"
 
-#: ../themes/default/templates/userprefs.tmpl:156
+#: ../themes/default/templates/userprefs.tmpl:157
 msgid "Email verified."
 msgstr "E-Mail besttigt."
 
-#: ../themes/default/templates/userprefs.tmpl:158
+#: ../themes/default/templates/userprefs.tmpl:159
 msgid "Email not yet verified."
 msgstr "E-Mail noch nicht besttigt."
 
-#: ../themes/default/templates/userprefs.tmpl:160
+#: ../themes/default/templates/userprefs.tmpl:161
 msgid "Note, that user accounts with bouncing emails will be disabled."
 msgstr ""
 "Beachten Sie bitte, dass Benutzer mit ungltigen E-Mail-Addressen gelscht "
 "werden."
 
-#: ../themes/default/templates/userprefs.tmpl:163
+#: ../themes/default/templates/userprefs.tmpl:164
 msgid "Get an email notification at changes of the following pages:"
 msgstr "E-Mail Nachricht bei nderung folgender Seiten:"
 
-#: ../themes/default/templates/userprefs.tmpl:166
+#: ../themes/default/templates/userprefs.tmpl:167
 msgid ""
 "Enter pages seperated by space or comma. Wildcards (fileglobbing) allowed."
 msgstr ""
 "Liste aller Seiten durch Leerzeichen oder Komma getrennt. Regulre Ausdrcke "
 "(fileglobbing) erlaubt."
 
-#: ../themes/default/templates/userprefs.tmpl:173
+#: ../themes/default/templates/userprefs.tmpl:174
 msgid "Appearance"
 msgstr "Darstellung"
 
-#: ../themes/default/templates/userprefs.tmpl:175
+#: ../themes/default/templates/userprefs.tmpl:176
 msgid "Here you can override site-specific default values."
 msgstr "Hier knnen Sie einige Voreinstellungen ndern."
 
-#: ../themes/default/templates/userprefs.tmpl:176
+#: ../themes/default/templates/userprefs.tmpl:177
 msgid "Currently not recommended!"
 msgstr "Momentan nicht empfohlen!"
 
-#: ../themes/default/templates/userprefs.tmpl:180
-#: ../themes/default/templates/userprefs.tmpl:183
+#: ../themes/default/templates/userprefs.tmpl:181
+#: ../themes/default/templates/userprefs.tmpl:184
 msgid "System default:"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:184
+#: ../themes/default/templates/userprefs.tmpl:185
 #, php-format
 msgid "Hide %s:"
 msgstr "%s verstecken:"
 
-#: ../themes/default/templates/userprefs.tmpl:186
+#: ../themes/default/templates/userprefs.tmpl:187
 msgid ""
 "Hide or show LinkIcons (if supported by the current theme). Useful for text-"
 "only browsers or slow connections."
@@ -6963,38 +7715,38 @@
 "die ausgewhlte Darstellung untersttzt wird). Dies ist sinnvoll fr Text-"
 "Browser und langsame Verbindungen."
 
-#: ../themes/default/templates/userprefs.tmpl:187
+#: ../themes/default/templates/userprefs.tmpl:188
 #, php-format
 msgid "Add %s:"
 msgstr "%s Hinzufgen:"
 
-#: ../themes/default/templates/userprefs.tmpl:189
+#: ../themes/default/templates/userprefs.tmpl:190
 #, php-format
 msgid ""
 "Add Google links to unknown pages behind the '?', and the create action "
 "behind the pagename instead. See %s."
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:190
+#: ../themes/default/templates/userprefs.tmpl:191
 msgid "Enable DoubleClick Edit"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:192
+#: ../themes/default/templates/userprefs.tmpl:193
 #, php-format
 msgid ""
 "Enabled makes it hard to double-click words and sentences for cut and paste. "
 "See %s."
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:198
+#: ../themes/default/templates/userprefs.tmpl:199
 msgid "Height"
 msgstr "Hhe"
 
-#: ../themes/default/templates/userprefs.tmpl:205
+#: ../themes/default/templates/userprefs.tmpl:206
 msgid "Width"
 msgstr "Breite"
 
-#: ../themes/default/templates/userprefs.tmpl:214
+#: ../themes/default/templates/userprefs.tmpl:215
 msgid ""
 "Note that many browsers will automatically adjust the width of the editing "
 "area so that it fills the browser window.  In this case, the width "
@@ -7004,43 +7756,48 @@
 "ihre Fensterbreite anpassen. In diesem Fall wird die hier eingegebene Breite "
 "ignoriert."
 
-#: ../themes/default/templates/userprefs.tmpl:217
+#: ../themes/default/templates/userprefs.tmpl:218
 msgid "Time Zone"
 msgstr "Zeitzone"
 
-#: ../themes/default/templates/userprefs.tmpl:220
+#: ../themes/default/templates/userprefs.tmpl:221
 #, php-format
 msgid "Add %s hours to the server's local time when reporting times."
 msgstr ""
 "Addieren Sie %s Stunden zur lokalen Serverzeit, bei jeder Zeitanzeige (z.B. "
 "Neuestenderungen)."
 
-#: ../themes/default/templates/userprefs.tmpl:224
+#: ../themes/default/templates/userprefs.tmpl:225
 #, php-format
 msgid "The current time at the server is %s."
 msgstr "Die Uhrzeit am Server ist gerade %s."
 
-#: ../themes/default/templates/userprefs.tmpl:226
+#: ../themes/default/templates/userprefs.tmpl:227
 #, php-format
 msgid "With the current offset, this would be reported as %s."
 msgstr "Mit dem eingegebenen Zeit-Unterschied, wrde die Zeit %s angezeigt."
 
-#: ../themes/default/templates/userprefs.tmpl:231
+#: ../themes/default/templates/userprefs.tmpl:232
 msgid "Date Format"
 msgstr "Datumsformat"
 
-#: ../themes/default/templates/userprefs.tmpl:234
+#: ../themes/default/templates/userprefs.tmpl:235
 msgid "Show relative dates using 'Today' and 'Yesterday'"
 msgstr "Datum mit relativen Bezeichnungen, wie Heute und Gestern"
 
-#: ../themes/default/templates/userprefs.tmpl:241
+#: ../themes/default/templates/userprefs.tmpl:242
 msgid "Update Preferences"
 msgstr "Einstellungen Speichern"
 
-#: ../themes/default/templates/userprefs.tmpl:242
+#: ../themes/default/templates/userprefs.tmpl:243
 msgid "Remove Preferences"
 msgstr "Lsche Voreinstellungen"
 
+#: ../themes/default/templates/wikiblog.tmpl:23
+#, php-format
+msgid "Entry on %s by %s."
+msgstr "Eintrag am %s von %s."
+
 #: ../themes/default/templates/wikiforum.tmpl:20
 msgid "New Topic"
 msgstr "Neues Thema"
@@ -7054,6 +7811,155 @@
 msgid "TermsOfUse"
 msgstr "BenutzungsBedingungen"
 
+#~ msgid "Pagename(s): "
+#~ msgstr "Seitenname(n): "
+
+#~ msgid "Wanted Pages for %s (%d total):"
+#~ msgstr "Verwaiste Seiten fr %s (%d gesamt):"
+
+#~ msgid "Wanted Pages in this wiki (%d total):"
+#~ msgstr "Verwaiste Seiten in diesem Wiki (%d gesamt):"
+
+#~ msgid "Count"
+#~ msgstr "Anzahl"
+
+#~ msgid "WatchList"
+#~ msgstr "Beobachte"
+
+#~ msgid "Remove Comment"
+#~ msgstr "Lsche Kommentar"
+
+#, fuzzy
+#~ msgid "Invalid username"
+#~ msgstr "Ungltiger Benutzername."
+
+#, fuzzy
+#~ msgid "UserFileManagement"
+#~ msgstr "Umbenennen"
+
+#, fuzzy
+#~ msgid "Goto Home Directory"
+#~ msgstr "Wiki Seiten als Dateien in lokales Verzeichnis speichern"
+
+#, fuzzy
+#~ msgid "Current directory: "
+#~ msgstr "Wiki Seiten als Dateien in lokales Verzeichnis speichern"
+
+#, fuzzy
+#~ msgid "Delete"
+#~ msgstr "Gelscht"
+
+#, fuzzy
+#~ msgid "Create Directory"
+#~ msgstr "Das Verzeichnis %s kann nicht erzeugt werden"
+
+#, fuzzy
+#~ msgid "Upload files"
+#~ msgstr "Datei Hochladen"
+
+#, fuzzy
+#~ msgid "Upload zip file"
+#~ msgstr "Datei Hochladen"
+
+#~ msgid "Existing page-level metadata for %s:"
+#~ msgstr "Zugewiesene Seiten Meta-Daten fr %s:"
+
+#, fuzzy
+#~ msgid " from author %s"
+#~ msgstr "von %s"
+
+#, fuzzy
+#~ msgid " from owner %s"
+#~ msgstr "von %s"
+
+#~ msgid "Failed to set LDAP protocol version to 3"
+#~ msgstr "Fehler beim Setzen der LDAP Protokoll Version 3"
+
+#~ msgid "You searched for: "
+#~ msgstr "Sie suchten nach: "
+
+#~ msgid "History of all major edits by %s to page %s."
+#~ msgstr "Verlaufsprotokoll aller groen nderungen von %s der Seite %s."
+
+#~ msgid "History of major modifications for any page edited by %s."
+#~ msgstr ""
+#~ "Verlaufsprotokoll aller groen nderungen aller Seiten, die von %s "
+#~ "bearbeitet wurden."
+
+#~ msgid "Photos"
+#~ msgstr "Album"
+
+#~ msgid "GoodStyle"
+#~ msgstr "GuterStil"
+
+#~ msgid "OldTextFormattingRules"
+#~ msgstr "AlteTextFormatierungsRegeln"
+
+#~ msgid "TextFormattingRules"
+#~ msgstr "TextFormatierungsRegeln"
+
+#, fuzzy
+#~ msgid "PageChange Notification of %s Error: Couldn't send to %s"
+#~ msgstr "Seitennderung Benachrichtigung Fehler: Konnte nicht an %s senden"
+
+#~ msgid "GridTable"
+#~ msgstr "GitterTabelle"
+
+# OldTextFormattingRules AlteTextFormatierungsRegeln
+#~ msgid "Layout tables using grid-like \"ASCII art\"."
+#~ msgstr ""
+#~ "Formatiere Tabellen unter Verwendung gitter-hnlicher ASCII Formatierung."
+
+#, fuzzy
+#~ msgid "WikiAdminMassRevert"
+#~ msgstr "WikiAdminLschen"
+
+#, fuzzy
+#~ msgid "Reverted page '%s' to version '%s'."
+#~ msgstr "Seite '%s' auf '%s' umbenannt."
+
+#, fuzzy
+#~ msgid "Didn't revert page '%s'. Access denied."
+#~ msgstr "Seite %s wurde nicht gelscht. Zugriff verweigert."
+
+#, fuzzy
+#~ msgid "%d pages have been reverted."
+#~ msgstr "%s Seiten wurden gendert."
+
+#, fuzzy
+#~ msgid "PhpWikiAdministration/MassRevert"
+#~ msgstr "PhpWikiSystemverwalten/Lschen"
+
+#, fuzzy
+#~ msgid ""
+#~ "Are you sure you want to overwrite the selected files with the previous "
+#~ "version?"
+#~ msgstr ""
+#~ "Sind Sie sicher, dass Sie die ausgewhlen Seiten wirklich umbenennen "
+#~ "wollen?"
+
+#, fuzzy
+#~ msgid "Revert selected pages"
+#~ msgstr "Ausgewhlte Seiten lschen"
+
+#~ msgid "Ok"
+#~ msgstr "Ok"
+
+# Any better translation? The locale/de/pgsrc/PhpWikiSystemverwalten
+# must also be renamed to match what is here.
+#, fuzzy
+#~ msgid "WikiUserAdministration"
+#~ msgstr "PhpWikiSystemverwalten"
+
+#~ msgid "Warning!"
+#~ msgstr "Achtung!"
+
+#~ msgid "Signed as %s"
+#~ msgstr "Angemeldet as %s"
+
+#~ msgid "Unable to load: %s"
+#~ msgstr "Konnte %s nicht laden"
+
 #~ msgid "Sign in:"
 #~ msgstr "Anmelden:"
 
@@ -7069,12 +7975,6 @@
 #~ msgid "timeout:"
 #~ msgstr "Zeitberschreitung:"
 
-#~ msgid "Category"
-#~ msgstr "Kategorie"
-
-#~ msgid "Topic"
-#~ msgstr "Thema"
-
 #~ msgid "Replaced link in %s."
 #~ msgstr "Link in %s ersetzt."
 
@@ -7090,9 +7990,6 @@
 #~ msgid "version <em>%s</em> <b>FIXED</b>"
 #~ msgstr "version <em>%s</em> <b>FIXED</b>"
 
-#~ msgid "Analyzes preferences based on voting budget and ratings."
-#~ msgstr "Analysiere Empfehlungen auf Grund von Bewertungen."
-
 #~ msgid "Last Modified:"
 #~ msgstr "Zuletzt Gendert:"
 
@@ -7112,9 +8009,6 @@
 #~ msgid "Back Links"
 #~ msgstr "Back Links"
 
-#~ msgid "PageChange Notification Error: Couldn't send to %s"
-#~ msgstr "Seitennderung Benachrichtigung Fehler: Konnte nicht an %s senden"
-
 #, fuzzy
 #~ msgid "Are you sure you want to save these access restrictions?"
 #~ msgstr ""
@@ -7183,9 +8077,6 @@
 #~ msgid "No opinion"
 #~ msgstr "Keine Bewertung"
 
-#~ msgid "Unable to connect to LDAP server "
-#~ msgstr "LDAP Server nicht gefunden"
-
 #~ msgid "View source"
 #~ msgstr "QuellTextAnsicht"
 
@@ -7294,9 +8185,6 @@
 #~ msgid "upload a zip dump to this wiki"
 #~ msgstr "um ein Ziparchiv in dieses Wiki hochzuladen"
 
-#~ msgid "view the source of pages in this wiki"
-#~ msgstr "um den Quelltext der Seiten dieses Wikis anzusehen"
-
 #~ msgid ""
 #~ "(Automatically checking pages which have been deleted at least %s days.)"
 #~ msgstr ""
@@ -7344,9 +8232,6 @@
 #~ msgid "Included frame from %s"
 #~ msgstr "Eingebetteter Frame von %s"
 
-#~ msgid "Help"
-#~ msgstr "Hilfe"
-
 #~ msgid "You do not need to enter a password."
 #~ msgstr "Das Passwort ist optional."
 
@@ -7569,9 +8454,6 @@
 #~ msgid "These pages link to %s:"
 #~ msgstr "Diese Seiten sind verlinkt zu %s:"
 
-#~ msgid "Toolbar"
-#~ msgstr "Werkzeugleiste"
-
 #~ msgid "Toolbar for %s"
 #~ msgstr "Werkzeugleiste fr %s"
 
@@ -7645,9 +8527,6 @@
 #~ msgid "Insert/update failed: %s"
 #~ msgstr "Einfgen/Verndern fehlgeschlagen: %s"
 
-#~ msgid "Delete on %s failed: %s"
-#~ msgstr "Lschen in %s fehlgeschlagen: %s"
-
 #~ msgid "MySQL error: %s"
 #~ msgstr "MySQL Fehler: %s"
 
diff -ruN 1.3.12p3/locale/po/es.po 1.3.14/locale/po/es.po
--- 1.3.12p3/locale/po/es.po	2006-06-18 06:19:37.000000000 -0500
+++ 1.3.14/locale/po/es.po	2007-07-01 05:11:18.000000000 -0500
@@ -11,7 +11,7 @@
 msgstr ""
 "Project-Id-Version: PhpWiki-1.3.11\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2006-06-18 10:46+0000\n"
+"POT-Creation-Date: 2007-07-01 10:07+0000\n"
 "PO-Revision-Date: 2000-02-01 00:50-0500\n"
 "Last-Translator: Pablo Roca <proca@clavo.net>\n"
 "Language-Team: \n"
@@ -21,6 +21,30 @@
 "Date: 2001-01-12 16:10-0500\n"
 "From:  <proca@clavo.net>\n"
 
+#: ../lib/CachedMarkup.php:478
+msgid "BAD semantic relation link"
+msgstr ""
+
+#: ../lib/CachedMarkup.php:505
+#, php-format
+msgid "Attribute %s, base value: %s"
+msgstr ""
+
+#: ../lib/CachedMarkup.php:506
+#, php-format
+msgid "Attribute %s, value: %s"
+msgstr ""
+
+# lib/msql.php:221 lib/msql.php:296
+#: ../lib/CachedMarkup.php:514
+#, fuzzy, php-format
+msgid "Relation %s to page %s"
+msgstr "Eliminacin en %s fall: %s"
+
+#: ../lib/CachedMarkup.php:569
+msgid "Found by "
+msgstr ""
+
 #: ../lib/Captcha.php:32
 msgid "Typed in verification word mismatch ... are you a bot?"
 msgstr ""
@@ -51,225 +75,302 @@
 msgid "Supported handlers are: %s"
 msgstr "Los tratantes apoyados son: %s"
 
-#: ../lib/EditToolbar.php:42
+#: ../lib/EditToolbar.php:29
 msgid "Undo"
 msgstr "Deshaga"
 
 # lib/msql.php:237 lib/msql.php:312
-#: ../lib/EditToolbar.php:48
+#: ../lib/EditToolbar.php:31
 msgid "Undo disabled"
 msgstr "Deshaga lisiado"
 
-#: ../lib/EditToolbar.php:57 ../lib/EditToolbar.php:253
-#: ../lib/EditToolbar.php:254 ../lib/plugin/WikiAdminSearchReplace.php:187
+#: ../lib/EditToolbar.php:32
+msgid "Operation undone"
+msgstr "Operacin deshecha"
+
+#: ../lib/EditToolbar.php:33
+#, fuzzy
+msgid "Substring \"\\1\" found \\2 times. Replace with \"\\3\"?"
+msgstr "Subsecuencia \"%s\" tiempos encontrados de %s.  Substituya por \"%s\"?"
+
+#: ../lib/EditToolbar.php:34
+#, php-format
+msgid "String \"%s\" not found."
+msgstr "Secuencia \"%s\" no encontrado."
+
+#: ../lib/EditToolbar.php:35 ../lib/EditToolbar.php:200
+#: ../lib/EditToolbar.php:201 ../lib/plugin/WikiAdminSearchReplace.php:187
 msgid "Search & Replace"
 msgstr "Busque Y Substituya"
 
 # lib/stdlib.php:207 lib/stdlib.php:215
-#: ../lib/EditToolbar.php:59 ../lib/plugin/InterWikiSearch.php:91
-#: ../lib/plugin/RecentChanges.php:591 ../themes/Crao/templates/navbar.tmpl:42
-#: ../themes/Crao/templates/navbar.tmpl:44
-#: ../themes/Crao/templates/navbar.tmpl:48
-#: ../themes/blog/templates/search.tmpl:6
-#: ../themes/blog/templates/search.tmpl:7
-#: ../themes/blog/templates/search.tmpl:9
-#: ../themes/blog/templates/search.tmpl:13
-#: ../themes/default/templates/search.tmpl:10
-#: ../themes/default/templates/search.tmpl:11
-#: ../themes/default/templates/search.tmpl:18
-msgid "Search"
+#: ../lib/EditToolbar.php:36
+#, fuzzy
+msgid "Search for"
 msgstr "Buscar"
 
-#: ../lib/EditToolbar.php:61
+#: ../lib/EditToolbar.php:37
 msgid "Replace with"
 msgstr "Substituya por"
 
-#: ../lib/EditToolbar.php:63 ../lib/upgrade.php:375 ../lib/upgrade.php:384
-#: ../lib/upgrade.php:393 ../lib/upgrade.php:414 ../lib/upgrade.php:442
-#: ../lib/upgrade.php:492 ../lib/upgrade.php:495 ../lib/upgrade.php:526
-#: ../lib/upgrade.php:528 ../lib/upgrade.php:555 ../lib/upgrade.php:608
-#: ../lib/upgrade.php:727 ../lib/upgrade.php:730 ../lib/upgrade.php:782
-#: ../lib/upgrade.php:840 ../lib/upgrade.php:850
+#: ../lib/EditToolbar.php:38 ../lib/plugin/SyncWiki.php:302
+#: ../lib/plugin/SyncWiki.php:328 ../lib/plugin/SyncWiki.php:351
+#: ../lib/plugin/WikiPoll.php:224 ../lib/upgrade.php:212
+#: ../lib/upgrade.php:415 ../lib/upgrade.php:429 ../lib/upgrade.php:449
+#: ../lib/upgrade.php:458 ../lib/upgrade.php:482 ../lib/upgrade.php:510
+#: ../lib/upgrade.php:560 ../lib/upgrade.php:563 ../lib/upgrade.php:595
+#: ../lib/upgrade.php:597 ../lib/upgrade.php:624 ../lib/upgrade.php:684
+#: ../lib/upgrade.php:709 ../lib/upgrade.php:852 ../lib/upgrade.php:855
+#: ../lib/upgrade.php:906
 msgid "OK"
 msgstr ""
 
-#: ../lib/EditToolbar.php:65 ../lib/EditToolbar.php:308
-#: ../lib/EditToolbar.php:354 ../lib/EditToolbar.php:378
-#: ../lib/EditToolbar.php:411
+#: ../lib/EditToolbar.php:39 ../lib/EditToolbar.php:261
+#: ../lib/EditToolbar.php:308 ../lib/EditToolbar.php:338
+#: ../lib/EditToolbar.php:372
 msgid "Close"
 msgstr "Cierre"
 
-#: ../lib/EditToolbar.php:80
-#, php-format
-msgid "Substring \"%s\" found %s times. Replace with \"%s\"?"
-msgstr "Subsecuencia \"%s\" tiempos encontrados de %s.  Substituya por \"%s\"?"
-
-#: ../lib/EditToolbar.php:82
-#, php-format
-msgid "String \"%s\" not found."
-msgstr "Secuencia \"%s\" no encontrado."
-
-#: ../lib/EditToolbar.php:105
-msgid "Operation undone"
-msgstr "Operacin deshecha"
-
-#: ../lib/EditToolbar.php:167 ../lib/EditToolbar.php:168
+#: ../lib/EditToolbar.php:107
 msgid "Bold text"
 msgstr "Texto en negrilla"
 
-#: ../lib/EditToolbar.php:172 ../lib/EditToolbar.php:173
+#: ../lib/EditToolbar.php:108
+#, fuzzy
+msgid "Bold text [alt-b]"
+msgstr "Texto en negrilla"
+
+#: ../lib/EditToolbar.php:112
 msgid "Italic text"
 msgstr "Texto del itlico"
 
-#: ../lib/EditToolbar.php:177
+#: ../lib/EditToolbar.php:113
+#, fuzzy
+msgid "Italic text [alt-i]"
+msgstr "Texto del itlico"
+
+#: ../lib/EditToolbar.php:117
 msgid "optional label | PageName"
 msgstr "etiqueta opcional | NombreDePgina"
 
-#: ../lib/EditToolbar.php:178
+#: ../lib/EditToolbar.php:118
 msgid "Link to page"
 msgstr "Acoplamiento a la pgina"
 
-#: ../lib/EditToolbar.php:182
+#: ../lib/EditToolbar.php:122
 msgid "optional label | http://www.example.com"
 msgstr "etiqueta opcional | http://www.example.com"
 
-#: ../lib/EditToolbar.php:183
+#: ../lib/EditToolbar.php:123
 msgid "External link (remember http:// prefix)"
 msgstr "Acoplamiento externo (recuerde http://  prefijo)"
 
-#: ../lib/EditToolbar.php:187
+#: ../lib/EditToolbar.php:127
 msgid "Headline text"
 msgstr "Texto del ttulo"
 
-#: ../lib/EditToolbar.php:188
+#: ../lib/EditToolbar.php:128
 msgid "Level 1 headline"
 msgstr "Ttulo del nivel 1"
 
-#: ../lib/EditToolbar.php:192
+#: ../lib/EditToolbar.php:132
 msgid "Example.jpg"
 msgstr ""
 
-#: ../lib/EditToolbar.php:193
+#: ../lib/EditToolbar.php:133
 msgid "Embedded image"
 msgstr "Imagen encajada"
 
-#: ../lib/EditToolbar.php:197
+#: ../lib/EditToolbar.php:137
 msgid "Insert non-formatted text here"
 msgstr "Inserte el texto sin formatear aqu"
 
-#: ../lib/EditToolbar.php:198
+#: ../lib/EditToolbar.php:138
 msgid "Ignore wiki formatting"
 msgstr "No haga caso del formato del wiki"
 
 # lib/pageinfo.php:70
-#: ../lib/EditToolbar.php:203
+#: ../lib/EditToolbar.php:143
 msgid "Your signature"
 msgstr "Su firma"
 
-#: ../lib/EditToolbar.php:208
+#: ../lib/EditToolbar.php:148
 msgid "Horizontal line"
 msgstr "Linea horizontal"
 
-#: ../lib/EditToolbar.php:210 ../lib/EditToolbar.php:212
-#: ../lib/editpage.php:567
+#: ../lib/EditToolbar.php:150 ../lib/EditToolbar.php:152
+#: ../lib/WysiwygEdit/Wikiwyg.php:85 ../lib/editpage.php:664
 msgid "Save"
 msgstr "Guardar"
 
-#: ../lib/EditToolbar.php:214 ../lib/EditToolbar.php:216
-#: ../lib/editpage.php:563
+#: ../lib/EditToolbar.php:157 ../lib/EditToolbar.php:159
+#: ../lib/WysiwygEdit/Wikiwyg.php:84 ../lib/editpage.php:657
 msgid "Preview"
 msgstr "Previsualizar"
 
-#: ../lib/EditToolbar.php:232
+#: ../lib/EditToolbar.php:179
 msgid "Click a button to get an example text"
 msgstr "Chasque un botn para conseguir un texto del ejemplo"
 
-#: ../lib/EditToolbar.php:245 ../lib/EditToolbar.php:246
+#: ../lib/EditToolbar.php:192 ../lib/EditToolbar.php:193
 msgid "Undo Search & Replace"
 msgstr "Deshaga La Bsqueda Y Substityala"
 
 # lib/diff.php:997
-#: ../lib/EditToolbar.php:302 ../lib/EditToolbar.php:303
+#: ../lib/EditToolbar.php:255
 msgid "AddCategory"
 msgstr "AgregueCategora"
 
-#: ../lib/EditToolbar.php:305
+#: ../lib/EditToolbar.php:258
 msgid "Insert Categories (double-click)"
 msgstr "Relleno Categoras (doble-tecleo)"
 
-#: ../lib/EditToolbar.php:307 ../lib/EditToolbar.php:353
-#: ../lib/EditToolbar.php:377 ../lib/EditToolbar.php:410
+#: ../lib/EditToolbar.php:260 ../lib/EditToolbar.php:307
+#: ../lib/EditToolbar.php:337 ../lib/EditToolbar.php:371
 msgid "Insert"
 msgstr "Relleno"
 
-#: ../lib/EditToolbar.php:348 ../lib/EditToolbar.php:349
+#: ../lib/EditToolbar.php:302 ../lib/EditToolbar.php:303
 msgid "AddPlugin"
 msgstr "AgreguePlugin"
 
-#: ../lib/EditToolbar.php:351
+#: ../lib/EditToolbar.php:305
 msgid "Insert Plugin (double-click)"
 msgstr "Relleno Plugin (doble-tecleo)"
 
-#: ../lib/EditToolbar.php:372 ../lib/EditToolbar.php:373
+#: ../lib/EditToolbar.php:332 ../lib/EditToolbar.php:333
 msgid "AddPageLink"
 msgstr "AgregueElAcoplamientoDeLaPgina"
 
-#: ../lib/EditToolbar.php:375
+#: ../lib/EditToolbar.php:335
 msgid "Insert PageLink (double-click)"
 msgstr "Inserte el AcoplamientoDeLaPgina (doble-tecleo)"
 
-#: ../lib/EditToolbar.php:405 ../lib/EditToolbar.php:406
+#: ../lib/EditToolbar.php:366 ../lib/EditToolbar.php:367
 msgid "AddTemplate"
 msgstr "AgregueLaPlantilla"
 
-#: ../lib/EditToolbar.php:408
+#: ../lib/EditToolbar.php:369
 msgid "Insert Template (double-click)"
 msgstr "Inserte la plantilla (doble-tecleo)"
 
-#: ../lib/ErrorManager.php:210
+#: ../lib/ErrorManager.php:211
 #, php-format
 msgid "%s: error while handling error:"
 msgstr "%s: error mientras que maneja error:"
 
-#: ../lib/FileFinder.php:191 ../lib/loadsave.php:967
+#: ../lib/FileFinder.php:191 ../lib/loadsave.php:1026
 #, php-format
 msgid "%s: file not found"
 msgstr "%s: fichero no encontrado"
 
 # lib/diff.php:997
-#: ../lib/IniConfig.php:732
+#: ../lib/IniConfig.php:799
 msgid "CategoryGroup"
 msgstr "GrupoCategora"
 
-#: ../lib/IniConfig.php:734
+#: ../lib/IniConfig.php:801
 msgid "An unnamed PhpWiki"
 msgstr "Un PhpWiki sin un nombre"
 
-#: ../lib/IniConfig.php:736 ../lib/upgrade.php:149
-#: ../themes/Wordpress/templates/actionbar.tmpl:18
-#: ../themes/default/templates/userprefs.tmpl:123
+#: ../lib/IniConfig.php:803 ../lib/upgrade.php:172
+#: ../themes/Wordpress/templates/actionbar.tmpl:19
+#: ../themes/blog/templates/browse-footer.tmpl:6
+#: ../themes/default/templates/userprefs.tmpl:124
 msgid "HomePage"
 msgstr "PginaPrincipal"
 
-#: ../lib/InlineParser.php:336
+#: ../lib/InlineParser.php:335
 msgid "Invalid [] syntax ignored"
 msgstr "[] el sintaxis invlido no hizo caso"
 
-#: ../lib/InlineParser.php:652
+#: ../lib/InlineParser.php:736
 #, php-format
 msgid "unknown color %s ignored"
 msgstr "el color desconocido %s no hizo caso"
 
-#: ../lib/PageList.php:104
+#: ../lib/MailNotify.php:129
+#, fuzzy, php-format
+msgid "PageChange Notification of %s"
+msgstr "Pagine la notificacin del cambio de %s enviado a %s"
+
+#: ../lib/MailNotify.php:156
+#, fuzzy, php-format
+msgid "sent to %s"
+msgstr "Vuelva a %s"
+
+# lib/msql.php:29 lib/mysql.php:36
+#: ../lib/MailNotify.php:162
+#, fuzzy, php-format
+msgid "Error: Couldn't send %s to %s"
+msgstr "No poda conectar con %s"
+
+# lib/pageinfo.php:21
+#: ../lib/MailNotify.php:184
+msgid "Page change"
+msgstr "Cambio de la pgina"
+
+#: ../lib/MailNotify.php:211 ../lib/loadsave.php:841
+#: ../lib/plugin/RecentChanges.php:109
+msgid "New page"
+msgstr "Pgina nueva"
+
+#: ../lib/MailNotify.php:213 ../lib/MailNotify.php:231 ../lib/loadsave.php:93
+#, php-format
+msgid "Edited by: %s"
+msgstr "Editar: %s"
+
+#: ../lib/MailNotify.php:232
+#, php-format
+msgid "Page rename %s to %s"
+msgstr "La pgina retitula %s a %s"
+
+#: ../lib/MailNotify.php:269
+#, php-format
+msgid "Removed by: %s"
+msgstr "Borrar par: %s"
+
+#: ../lib/MailNotify.php:271
+#, php-format
+msgid "Page removed %s"
+msgstr "Pgina borrar %s"
+
+#: ../lib/MailNotify.php:320
+#, fuzzy
+msgid "e-mail address confirmation"
+msgstr "Verificacin Del Email"
+
+#: ../lib/MailNotify.php:323
+#, php-format
+msgid ""
+"Someone, probably you from IP address %s, has registered an\n"
+"account \"%s\" with this e-mail address on %s.\n"
+"\n"
+"To confirm that this account really does belong to you and activate\n"
+"e-mail features on %s, open this link in your browser:\n"
+"\n"
+"%s\n"
+"\n"
+"If this is *not* you, don't follow the link. This confirmation code\n"
+"will expire at %s."
+msgstr ""
+
+#: ../lib/PageList.php:109
 #, php-format
 msgid "Sort by %s"
 msgstr "Clase por %s"
 
-#: ../lib/PageList.php:149
+# lib/msql.php:237 lib/msql.php:312
+#: ../lib/PageList.php:139
+#, fuzzy
+msgid "reverse"
+msgstr "Invierta"
+
+#: ../lib/PageList.php:153
 msgid "Click to reverse sort order"
 msgstr "Tecleo para invertir orden de la clase"
 
-#: ../lib/PageList.php:157
+#: ../lib/PageList.php:160
 #, php-format
 msgid "Click to sort by %s"
 msgstr "Clase por %s"
@@ -278,105 +379,100 @@
 msgid "Click to de-/select all pages"
 msgstr "Tecleo para de-/seleccionar todas las pginas"
 
-#: ../lib/PageList.php:366 ../lib/plugin/UnfoldSubpages.php:132
+#: ../lib/PageList.php:370 ../lib/plugin/UnfoldSubpages.php:132
 #, php-format
 msgid " ... first %d bytes"
 msgstr " ... primeros octetos de %d"
 
-#: ../lib/PageList.php:372
+#: ../lib/PageList.php:376
 #, php-format
 msgid " ... around %s"
 msgstr " ... alrededor de %s"
 
-#: ../lib/PageList.php:402 ../lib/plugin/AppendText.php:57
-#: ../lib/upgrade.php:810
+#: ../lib/PageList.php:406 ../lib/plugin/AppendText.php:57
 #, php-format
 msgid "%s not found"
 msgstr "%s: fichero no encontrado"
 
-#: ../lib/PageList.php:466 ../lib/plugin/AuthorHistory.php:174
-#: ../lib/plugin/WantedPagesOld.php:151
+#: ../lib/PageList.php:480 ../lib/plugin/AuthorHistory.php:174
 msgid "Page Name"
 msgstr "Nombre de la Pgina"
 
-#: ../lib/PageList.php:555 ../lib/plugin/FullTextSearch.php:107
+#: ../lib/PageList.php:609 ../lib/plugin/FullTextSearch.php:112
 msgid "<no matches>"
 msgstr "<ningunos fsforos>"
 
-#: ../lib/PageList.php:934 ../lib/plugin/WikiAdminSearchReplace.php:171
+#: ../lib/PageList.php:1036 ../lib/plugin/WikiAdminSearchReplace.php:171
 msgid "Content"
 msgstr "Contenido"
 
-#: ../lib/PageList.php:950
+#: ../lib/PageList.php:1052
 msgid "Select"
 msgstr "Selecto"
 
-#: ../lib/PageList.php:954 ../themes/MonoBook/templates/info.tmpl:71
-#: ../themes/default/templates/info.tmpl:64
-#: ../themes/shamino_com/templates/info.tmpl:70
+#: ../lib/PageList.php:1056 ../themes/MonoBook/templates/info.tmpl:71
+#: ../themes/default/templates/info.tmpl:63
 msgid "Last Modified"
 msgstr "modificado por ltima vez"
 
-#: ../lib/PageList.php:956
+#: ../lib/PageList.php:1058
 msgid "Hits"
 msgstr "Nmero de hits"
 
-#: ../lib/PageList.php:958 ../themes/Crao/templates/editpage.tmpl:37
+#: ../lib/PageList.php:1060 ../themes/Crao/templates/editpage.tmpl:37
 #: ../themes/Wordpress/templates/editpage.tmpl:38
 #: ../themes/default/templates/editpage.tmpl:39
 msgid "Size"
 msgstr "Tamao"
 
-#: ../lib/PageList.php:961 ../themes/MonoBook/templates/info.tmpl:73
-#: ../themes/default/templates/info.tmpl:66
-#: ../themes/shamino_com/templates/info.tmpl:72
+#: ../lib/PageList.php:1063 ../themes/MonoBook/templates/info.tmpl:73
+#: ../themes/default/templates/info.tmpl:65
 msgid "Last Summary"
 msgstr "Comentarios"
 
-#: ../lib/PageList.php:963 ../lib/plugin/AuthorHistory.php:123
+#: ../lib/PageList.php:1065 ../lib/plugin/AuthorHistory.php:123
 #: ../lib/plugin/AuthorHistory.php:176 ../lib/plugin/PluginManager.php:90
 msgid "Version"
 msgstr "Versin"
 
-#: ../lib/PageList.php:966 ../themes/MonoBook/templates/info.tmpl:72
-#: ../themes/default/templates/info.tmpl:65
-#: ../themes/shamino_com/templates/info.tmpl:71
+#: ../lib/PageList.php:1068 ../themes/MonoBook/templates/info.tmpl:72
+#: ../themes/default/templates/info.tmpl:64
 msgid "Last Author"
 msgstr "Autor Pasado"
 
-#: ../lib/PageList.php:968 ../lib/WikiGroup.php:36
+#: ../lib/PageList.php:1070 ../lib/WikiGroup.php:36
 msgid "Owner"
 msgstr "Dueo"
 
-#: ../lib/PageList.php:970 ../lib/WikiGroup.php:37
+#: ../lib/PageList.php:1072 ../lib/WikiGroup.php:37
 msgid "Creator"
 msgstr "Creador"
 
-#: ../lib/PageList.php:976 ../themes/Crao/templates/editpage.tmpl:61
+#: ../lib/PageList.php:1078 ../themes/Crao/templates/editpage.tmpl:61
 #: ../themes/MonoBook/templates/info.tmpl:132
-#: ../themes/default/templates/editpage.tmpl:73
-#: ../themes/default/templates/info.tmpl:127
-#: ../themes/shamino_com/templates/info.tmpl:132
+#: ../themes/Wordpress/templates/editpage.tmpl:61
+#: ../themes/default/templates/editpage.tmpl:74
+#: ../themes/default/templates/info.tmpl:126
 msgid "Locked"
 msgstr "Bloqueada"
 
-#: ../lib/PageList.php:977
+#: ../lib/PageList.php:1079
 msgid "locked"
 msgstr "bloqueada"
 
-#: ../lib/PageList.php:980
+#: ../lib/PageList.php:1082
 msgid "Minor Edit"
 msgstr "El Menor de edad Corrige"
 
-#: ../lib/PageList.php:980
+#: ../lib/PageList.php:1082
 msgid "minor"
 msgstr "de menor importancia"
 
-#: ../lib/PageList.php:982
+#: ../lib/PageList.php:1084
 msgid "Markup"
 msgstr ""
 
-#: ../lib/PageList.php:1239 ../lib/plugin/WantedPagesOld.php:178
+#: ../lib/PageList.php:1357
 #, php-format
 msgid "Columns: %s."
 msgstr "Columnas: %s."
@@ -414,56 +510,53 @@
 msgid "Unsupported ACL access type %s ignored."
 msgstr "Tipo sin apoyo %s del acceso del ACL no hecho caso."
 
-#: ../lib/PagePerm.php:558
+#: ../lib/PagePerm.php:561
 msgid "Access"
 msgstr "Acceso"
 
-#: ../lib/PagePerm.php:560
+#: ../lib/PagePerm.php:563
 msgid "Group/User"
 msgstr "Grupo/Usuario"
 
-#: ../lib/PagePerm.php:561
+#: ../lib/PagePerm.php:564
 msgid "Grant"
 msgstr "Concesin"
 
-#: ../lib/PagePerm.php:562
+#: ../lib/PagePerm.php:565
 msgid "Del/+"
 msgstr "-/+"
 
-#: ../lib/PagePerm.php:563 ../lib/plugin/PluginManager.php:90
-#: ../lib/plugin/WikiAdminSetAcl.php:230
+#: ../lib/PagePerm.php:566 ../lib/plugin/PluginManager.php:90
+#: ../lib/plugin/WikiAdminSetAcl.php:234
 msgid "Description"
 msgstr "Descripcin"
 
-#: ../lib/PagePerm.php:584
+#: ../lib/PagePerm.php:587
 msgid "Add this ACL"
 msgstr "Agregue este ACL"
 
-#: ../lib/PagePerm.php:608
+#: ../lib/PagePerm.php:611
 msgid "Allow / Deny"
 msgstr "Permita/Niegue"
 
-#: ../lib/PagePerm.php:620
+#: ../lib/PagePerm.php:623
 msgid "Delete this ACL"
 msgstr "Suprima este ACL"
 
-#: ../lib/PagePerm.php:646
+#: ../lib/PagePerm.php:649
 msgid "add "
 msgstr "agregue "
 
-#: ../lib/PagePerm.php:650
+#: ../lib/PagePerm.php:653
 msgid "Check to add this ACL"
 msgstr "Compruebe para agregar este ACL"
 
-#: ../lib/PageType.php:134 ../lib/loadsave.php:733
-#: ../lib/plugin/InterWikiSearch.php:55 ../lib/plugin/WantedPages.php:54
-#: ../lib/plugin/WantedPagesOld.php:81
+#: ../lib/PageType.php:134 ../lib/loadsave.php:776 ../lib/loadsave.php:1424
+#: ../lib/plugin/InterWikiSearch.php:57 ../lib/plugin/WantedPages.php:55
 #: ../themes/MonoBook/templates/info.tmpl:149
 #: ../themes/MonoBook/templates/info.tmpl:150
+#: ../themes/default/templates/info.tmpl:143
 #: ../themes/default/templates/info.tmpl:144
-#: ../themes/default/templates/info.tmpl:145
-#: ../themes/shamino_com/templates/info.tmpl:149
-#: ../themes/shamino_com/templates/info.tmpl:150
 msgid "InterWikiMap"
 msgstr "InterMapaDeWiki"
 
@@ -473,344 +566,357 @@
 "ADVERTENCIA: Se abre la pgina de InterMapaDeWiki, tan no usando esos "
 "acoplamientos."
 
-#: ../lib/PageType.php:231 ../lib/PageType.php:234 ../lib/stdlib.php:670
-#: ../themes/MonoBook/templates/actionbar.tmpl:15
-#: ../themes/MonoBook/templates/actionbar.tmpl:19
-#: ../themes/MonoBook/templates/actionbar.tmpl:23
-#: ../themes/Sidebar/templates/navbar.tmpl:27
-#: ../themes/Sidebar/templates/navbar.tmpl:29
+#: ../lib/PageType.php:247 ../lib/PageType.php:250 ../lib/stdlib.php:673
+#: ../themes/MonoBook/templates/actionbar.tmpl:14
+#: ../themes/MonoBook/templates/actionbar.tmpl:21
+#: ../themes/MonoBook/templates/actionbar.tmpl:25
+#: ../themes/MonoBook/templates/actionbar.tmpl:31
+#: ../themes/Sidebar/templates/navbar.tmpl:17
+#: ../themes/Sidebar/templates/navbar.tmpl:19
 #: ../themes/default/templates/navbar.tmpl:11
 #: ../themes/default/templates/navbar.tmpl:13
+#: ../themes/wikilens/templates/navbar.tmpl:9
+#: ../themes/wikilens/templates/navbar.tmpl:11
 msgid "Discussion"
 msgstr "Discusin"
 
-#: ../lib/PageType.php:274 ../lib/loadsave.php:979
+#: ../lib/PageType.php:286 ../lib/loadsave.php:1038
 #, php-format
 msgid "Loading InterWikiMap from external file %s."
 msgstr "Cargamento InterMapaDeWiki del archivo externo %s."
 
-#: ../lib/PageType.php:372
+#: ../lib/PageType.php:384
 msgid "Moniker"
 msgstr ""
 
-#: ../lib/PageType.php:373
+#: ../lib/PageType.php:385
 msgid "InterWiki Address"
 msgstr ""
 
 # lib/stdlib.php:384 lib/stdlib.php:445
-#: ../lib/RSSWriter091.php:113 ../lib/loadsave.php:1353
-#: ../lib/plugin/RecentChanges.php:272 ../lib/plugin/RecentChanges.php:287
-#: ../lib/plugin/RecentChanges.php:390 ../lib/plugin/RecentChanges.php:467
-#: ../lib/plugin/RecentChanges.php:603 ../lib/plugin/RecentChanges.php:737
-#: ../themes/Crao/templates/head.tmpl:63
+#: ../lib/RSSWriter091.php:113 ../lib/display.php:120 ../lib/display.php:307
+#: ../lib/loadsave.php:1445 ../lib/plugin/RecentChanges.php:181
+#: ../lib/plugin/RecentChanges.php:188 ../lib/plugin/RecentChanges.php:328
+#: ../lib/plugin/RecentChanges.php:346 ../lib/plugin/RecentChanges.php:523
+#: ../lib/plugin/RecentChanges.php:600 ../lib/plugin/RecentChanges.php:736
+#: ../lib/plugin/RecentChanges.php:1002 ../themes/Crao/templates/head.tmpl:63
 #: ../themes/Crao/templates/navbar.tmpl:13
-#: ../themes/MonoBook/templates/navbar.tmpl:13
-#: ../themes/Portland/templates/navbar.tmpl:28
-#: ../themes/Wordpress/templates/actionbar.tmpl:21
-#: ../themes/blog/templates/actionbar.tmpl:20
+#: ../themes/MonoBook/templates/navbar.tmpl:15
+#: ../themes/Portland/templates/navbar.tmpl:25
+#: ../themes/Wordpress/templates/actionbar.tmpl:22
+#: ../themes/blog/templates/actionbar.tmpl:14
 #: ../themes/default/templates/head.tmpl:69
 #: ../themes/default/templates/navbar.tmpl:19
 #: ../themes/shamino_com/templates/top.tmpl:20
 #: ../themes/smaller/templates/navbar.tmpl:7
 #: ../themes/wikilens/templates/head.tmpl:60
-#: ../themes/wikilens/templates/navbar.tmpl:10
+#: ../themes/wikilens/templates/navbar.tmpl:17
 msgid "RecentChanges"
 msgstr "CambiosRecientes"
 
-#: ../lib/Request.php:696 ../lib/Request.php:699
+#: ../lib/Request.php:703 ../lib/Request.php:706
 msgid "Upload error: file too big"
 msgstr "Error del upload: archivo demasiado grande"
 
-#: ../lib/Request.php:702
+#: ../lib/Request.php:709
 msgid "Upload error: file only partially recieved"
 msgstr "Error del upload: el archivo recieved solamente parcialmente"
 
-#: ../lib/Request.php:705
+#: ../lib/Request.php:712
 msgid "Upload error: no file selected"
 msgstr "Error del upload: ningn archivo seleccionado"
 
-#: ../lib/Request.php:708
+#: ../lib/Request.php:715
 msgid "Upload error: unknown error #"
 msgstr "Error del upload: error desconocido #"
 
-#: ../lib/Request.php:815 ../lib/main.php:1160 ../lib/main.php:1173
+#: ../lib/Request.php:824 ../lib/main.php:1221 ../lib/main.php:1234
 #, php-format
 msgid "%s is not writable."
 msgstr "%s no es escribible."
 
-#: ../lib/Request.php:815
+#: ../lib/Request.php:824
 msgid "The PhpWiki access log file"
 msgstr "El fichero de diario del acceso de PhpWiki"
 
-#: ../lib/Request.php:817 ../lib/main.php:1163
+#: ../lib/Request.php:826 ../lib/main.php:1224
 #, php-format
 msgid "Please ensure that %s is writable, or redefine %s in config/config.ini."
 msgstr ""
 "Asegrese por favor de que %s sea escribible, o redefina %s en config/config."
 "ini."
 
-#: ../lib/Request.php:818
+#: ../lib/Request.php:827
 #, php-format
 msgid "the file '%s'"
 msgstr "el archivo %s"
 
-#: ../lib/Template.php:175
+#: ../lib/SemanticWeb.php:135
+msgid "URIResolver"
+msgstr ""
+
+#: ../lib/SemanticWeb.php:149 ../lib/plugin/SemanticSearch.php:302
+#, fuzzy
+msgid "Relation"
+msgstr "Acoplamientos Relacionados"
+
+#: ../lib/SemanticWeb.php:151 ../lib/plugin/SemanticSearch.php:375
+msgid "Attribute"
+msgstr ""
+
+#: ../lib/Template.php:178
 #, php-format
 msgid "%4d  %s\n"
 msgstr "%4d  %s\n"
 
-#: ../lib/TextSearchQuery.php:79 ../lib/plugin/FileInfo.php:100
+#: ../lib/TextSearchQuery.php:79 ../lib/plugin/FileInfo.php:116
 #, php-format
 msgid "Unsupported argument: %s=%s"
 msgstr "Discusin sin apoyo: %s=%s"
 
-#: ../lib/TextSearchQuery.php:89
+#: ../lib/TextSearchQuery.php:90
 msgid "(A|An|And|But|By|For|From|In|Is|It|Of|On|Or|The|To|With)"
 msgstr ""
 
-#: ../lib/Theme.php:388
+#: ../lib/Theme.php:398
 msgid "Never edited"
 msgstr "Nunca corregido"
 
-#: ../lib/Theme.php:395
+#: ../lib/Theme.php:405
 #, php-format
 msgid "%s at %s"
 msgstr "%s en %s"
 
-#: ../lib/Theme.php:399
+#: ../lib/Theme.php:409
 #, php-format
 msgid "Version %s, saved %s"
 msgstr "versin %s, %s ahorrado"
 
-#: ../lib/Theme.php:401
+#: ../lib/Theme.php:411
 #, php-format
 msgid "Last edited %s"
 msgstr "Editada por ltima vez %s."
 
-#: ../lib/Theme.php:410
+#: ../lib/Theme.php:420
 #, php-format
 msgid "Version %s, saved on %s"
 msgstr "versin %s de %s"
 
-#: ../lib/Theme.php:412
+#: ../lib/Theme.php:422
 #, php-format
 msgid "Last edited on %s"
 msgstr "Editada por ltima vez %s."
 
-#: ../lib/Theme.php:428
+#: ../lib/Theme.php:438
 msgid "today"
 msgstr "hoy"
 
-#: ../lib/Theme.php:435
+#: ../lib/Theme.php:445
 msgid "yesterday"
 msgstr "ayer"
 
-#: ../lib/Theme.php:456 ../lib/Theme.php:458
+#: ../lib/Theme.php:466 ../lib/Theme.php:468
 #, php-format
 msgid "Owner: %s"
 msgstr "Dueo: %s"
 
-#: ../lib/Theme.php:470 ../lib/Theme.php:472 ../lib/diff.php:262
-#: ../lib/plugin/Diff.php:75
+#: ../lib/Theme.php:481 ../lib/Theme.php:483 ../lib/diff.php:261
+#: ../lib/plugin/Diff.php:76
 #, php-format
 msgid "by %s"
 msgstr "por %s"
 
-#: ../lib/Theme.php:564
+#: ../lib/Theme.php:575
 #, php-format
 msgid "Empty link to: %s"
 msgstr "Acoplamiento vaco a: %s"
 
-#: ../lib/Theme.php:579 ../themes/MacOSX/themeinfo.php:71
+#: ../lib/Theme.php:590 ../themes/MacOSX/themeinfo.php:71
 #, php-format
 msgid "Create: %s"
 msgstr "Cree: %s"
 
-#: ../lib/Theme.php:598
+#: ../lib/Theme.php:609
 #, php-format
 msgid "Google:%s"
 msgstr ""
 
-#: ../lib/Theme.php:623
+#: ../lib/Theme.php:634
 #, php-format
 msgid "'%s': Bad page name"
 msgstr "'%s': Mal nombre de la pgina"
 
-#: ../lib/Theme.php:933 ../themes/Crao/templates/actionbar.tmpl:5
-#: ../themes/MonoBook/templates/actionbar.tmpl:11
-#: ../themes/blog/themeinfo.php:53
-#: ../themes/default/templates/actionbar.tmpl:15
+#: ../lib/Theme.php:977 ../lib/plugin/WatchPage.php:89
+#: ../themes/Crao/templates/actionbar.tmpl:5
+#: ../themes/MonoBook/templates/actionbar.tmpl:34
+#: ../themes/blog/themeinfo.php:61
+#: ../themes/default/templates/actionbar.tmpl:16
 #: ../themes/shamino_com/templates/actionbar.tmpl:6
-#: ../themes/shamino_com/templates/info.tmpl:164
 #: ../themes/smaller/templates/actionbar.tmpl:18
 msgid "Edit"
 msgstr "Editar"
 
-#: ../lib/Theme.php:934 ../lib/plugin/Diff.php:36
-#: ../themes/blog/themeinfo.php:54
+#: ../lib/Theme.php:978 ../lib/plugin/Diff.php:37
+#: ../themes/blog/themeinfo.php:62
 msgid "Diff"
 msgstr "Diferencia"
 
-#: ../lib/Theme.php:935 ../themes/Crao/templates/signin.tmpl:15
-#: ../themes/Crao/templates/signin.tmpl:31
-#: ../themes/MonoBook/templates/signin.tmpl:16
-#: ../themes/MonoBook/templates/signin.tmpl:30
-#: ../themes/Sidebar/templates/signin.tmpl:16
-#: ../themes/Sidebar/templates/signin.tmpl:30
-#: ../themes/Wordpress/templates/signin.tmpl:18
-#: ../themes/Wordpress/templates/signin.tmpl:34
+#: ../lib/Theme.php:979 ../themes/Crao/templates/signin.tmpl:14
+#: ../themes/Crao/templates/signin.tmpl:30
+#: ../themes/Sidebar/templates/signin.tmpl:15
+#: ../themes/Sidebar/templates/signin.tmpl:29
+#: ../themes/Wordpress/templates/signin.tmpl:17
+#: ../themes/Wordpress/templates/signin.tmpl:33
 #: ../themes/default/templates/signin.tmpl:16
 #: ../themes/default/templates/signin.tmpl:27
-#: ../themes/shamino_com/templates/signin.tmpl:15
-#: ../themes/shamino_com/templates/signin.tmpl:28
+#: ../themes/shamino_com/templates/signin.tmpl:14
+#: ../themes/shamino_com/templates/signin.tmpl:27
 #: ../themes/smaller/templates/signin.tmpl:16
 #: ../themes/smaller/templates/signin.tmpl:27
 msgid "Sign Out"
 msgstr "Registro Hacia fuera"
 
-#: ../lib/Theme.php:936 ../lib/WikiUser.php:221 ../lib/WikiUserNew.php:473
-#: ../themes/Crao/templates/signin.tmpl:54
-#: ../themes/Crao/templates/signin.tmpl:59
+#: ../lib/Theme.php:980 ../lib/WikiUser.php:221 ../lib/WikiUserNew.php:503
+#: ../themes/Crao/templates/signin.tmpl:53
 #: ../themes/default/templates/login.tmpl:76
 #: ../themes/smaller/templates/signin.tmpl:54
 msgid "Sign In"
 msgstr "Muestra Adentro"
 
-#: ../lib/Theme.php:937 ../themes/MacOSX/themeinfo.php:135
+#: ../lib/Theme.php:981 ../themes/MacOSX/themeinfo.php:133
 msgid "Lock Page"
 msgstr "Bloquear Pgina"
 
-#: ../lib/Theme.php:938 ../themes/MacOSX/themeinfo.php:136
+#: ../lib/Theme.php:982 ../themes/MacOSX/themeinfo.php:134
 msgid "Unlock Page"
 msgstr "Desbloquear Pgina"
 
-#: ../lib/Theme.php:939 ../lib/removepage.php:23 ../lib/removepage.php:63
+#: ../lib/Theme.php:983 ../lib/removepage.php:23 ../lib/removepage.php:63
 msgid "Remove Page"
 msgstr "Borrar Pgina"
 
+#: ../lib/Theme.php:1149
+msgid ""
+"Some action(page) wanted to add more headers, but they were already printed."
+msgstr ""
+
+#: ../lib/Theme.php:1225 ../themes/Hawaiian/themeinfo.php:28
+#: ../themes/MacOSX/themeinfo.php:102 ../themes/MonoBook/themeinfo.php:126
+#: ../themes/Portland/themeinfo.php:58 ../themes/Sidebar/themeinfo.php:40
+#: ../themes/SpaceWiki/themeinfo.php:42 ../themes/Wordpress/themeinfo.php:60
+#: ../themes/shamino_com/themeinfo.php:54 ../themes/wikilens/themeinfo.php:25
+msgid "Printer"
+msgstr "Impresora"
+
+#: ../lib/Theme.php:1226 ../themes/MacOSX/themeinfo.php:103
+#: ../themes/MonoBook/themeinfo.php:127 ../themes/shamino_com/themeinfo.php:55
+#: ../themes/wikilens/themeinfo.php:26
+msgid "Top & bottom toolbars"
+msgstr "Toolbars superiores y inferiores"
+
+#: ../lib/Theme.php:1227 ../themes/Hawaiian/themeinfo.php:29
+#: ../themes/MonoBook/themeinfo.php:128 ../themes/Portland/themeinfo.php:59
+#: ../themes/Sidebar/themeinfo.php:41 ../themes/SpaceWiki/themeinfo.php:43
+#: ../themes/Wordpress/themeinfo.php:61 ../themes/shamino_com/themeinfo.php:56
+#: ../themes/wikilens/themeinfo.php:27
+msgid "Modern"
+msgstr "Moderno"
+
 # lib/fullsearch.php:48
-#: ../lib/Theme.php:1188 ../lib/main.php:1014
-#: ../lib/plugin/RecentChanges.php:594 ../lib/plugin/TitleSearch.php:43
+#: ../lib/Theme.php:1374 ../lib/main.php:1053
+#: ../lib/plugin/RecentChanges.php:727 ../lib/plugin/TitleSearch.php:43
 #: ../themes/Crao/templates/navbar.tmpl:4
 #: ../themes/Crao/templates/navbar.tmpl:8
 #: ../themes/Crao/templates/navbar.tmpl:51
-#: ../themes/MonoBook/templates/navbar.tmpl:23
-#: ../themes/Sidebar/templates/navbar.tmpl:7
-#: ../themes/Sidebar/templates/navbar.tmpl:13
-#: ../themes/Sidebar/templates/navbar.tmpl:20
+#: ../themes/MonoBook/templates/navbar.tmpl:33
 #: ../themes/blog/templates/search.tmpl:3
 #: ../themes/blog/templates/search.tmpl:18
 #: ../themes/default/templates/navbar.tmpl:6
 #: ../themes/default/templates/navbar.tmpl:24
 #: ../themes/default/templates/search.tmpl:3
-#: ../themes/default/templates/search.tmpl:6
-#: ../themes/default/templates/search.tmpl:25
-#: ../themes/default/templates/search.tmpl:29
+#: ../themes/default/templates/search.tmpl:9
+#: ../themes/default/templates/search.tmpl:33
 #: ../themes/shamino_com/templates/top.tmpl:18
 #: ../themes/smaller/templates/navbar.tmpl:4
-#: ../themes/wikilens/templates/navbar.tmpl:7
-#: ../themes/wikilens/templates/navbar.tmpl:15
 msgid "TitleSearch"
 msgstr "BsquedaDeTtulos"
 
+#: ../lib/Theme.php:1426 ../lib/plugin/Calendar.php:41
+#: ../lib/plugin/Calendar.php:45 ../themes/Crao/templates/head.tmpl:89
+#: ../themes/Crao/templates/navbar.tmpl:28
+#: ../themes/Sidebar/templates/body.tmpl:21
+#: ../themes/Sidebar/templates/body.tmpl:26
+#: ../themes/Wordpress/templates/actionbar.tmpl:32
+#: ../themes/blog/templates/sidebar.tmpl:16
+#: ../themes/default/templates/head.tmpl:96
+#: ../themes/default/templates/homepage.tmpl:15
+#: ../themes/default/templates/navbar.tmpl:45
+#: ../themes/wikilens/templates/head.tmpl:89
+#: ../themes/wikilens/templates/navbar.tmpl:25
+msgid "Calendar"
+msgstr "Calendario"
+
 # lib/msql.php:237 lib/msql.php:312
-#: ../lib/Theme.php:1347
+#: ../lib/Theme.php:1690
 #, php-format
 msgid "Plugin %s: undefined"
 msgstr "Plugin %s: indefinido"
 
-#: ../lib/Theme.php:1370
+#: ../lib/Theme.php:1713
 msgid "Related Links"
 msgstr "Acoplamientos Relacionados"
 
-#: ../lib/Theme.php:1390
+#: ../lib/Theme.php:1734
 msgid "External Links"
 msgstr "Acoplamientos Externos"
 
-#: ../lib/WikiDB.php:233
-#, php-format
-msgid "Removed by: %s"
-msgstr "Borrar par: %s"
-
-#: ../lib/WikiDB.php:235
-#, php-format
-msgid "Page removed %s"
-msgstr "Pgina borrar %s"
-
-#: ../lib/WikiDB.php:241 ../lib/WikiDB.php:1054 ../lib/WikiDB.php:1079
-#: ../lib/loadsave.php:99
-#, php-format
-msgid "PageChange Notification of %s sent to %s"
-msgstr "Pagine la notificacin del cambio de %s enviado a %s"
-
-#: ../lib/WikiDB.php:244 ../lib/WikiDB.php:1057 ../lib/WikiDB.php:1082
-#: ../lib/loadsave.php:102
-#, php-format
-msgid "PageChange Notification Error: Couldn't send %s to %s"
-msgstr ""
-"Error De la Notificacin Del Cambio De la Pgina: No poda enviar %s a %s"
-
 # lib/msql.php:237 lib/msql.php:312
-#: ../lib/WikiDB.php:474
+#: ../lib/WikiDB.php:539
 #, php-format
 msgid "renamed from %s"
 msgstr "retitulado de %s"
 
-#: ../lib/WikiDB.php:482
+#: ../lib/WikiDB.php:548
 msgid "WikiDB::renamePage() not yet implemented for this backend"
 msgstr "WikiDB::renamePage() no todava puesto en ejecucio'n para este backend"
 
-#: ../lib/WikiDB.php:847
+#: ../lib/WikiDB.php:921
 #, php-format
 msgid "%s: Date of new revision is %s"
 msgstr "%s: La fecha de la nueva revisin es %s"
 
-#: ../lib/WikiDB.php:911 ../lib/main.php:98
+#: ../lib/WikiDB.php:993 ../lib/main.php:98
 msgid "Optimizing database"
 msgstr "Base de datos ptima"
 
-# lib/pageinfo.php:21
-#: ../lib/WikiDB.php:1017
-msgid "Page change"
-msgstr "Cambio de la pgina"
-
-#: ../lib/WikiDB.php:1045 ../lib/loadsave.php:787
-#: ../lib/plugin/RecentChanges.php:107
-msgid "New page"
-msgstr "Pgina nueva"
-
-#: ../lib/WikiDB.php:1048 ../lib/WikiDB.php:1071 ../lib/loadsave.php:93
-#, php-format
-msgid "Edited by: %s"
-msgstr "Editar: %s"
-
-#: ../lib/WikiDB.php:1073
-#, php-format
-msgid "Page rename %s to %s"
-msgstr "La pgina retitula %s a %s"
+#: ../lib/WikiDB.php:1376 ../lib/WikiDB.php:1384 ../lib/WikiUserNew.php:429
+#: ../lib/loadsave.php:852 ../lib/loadsave.php:1380 ../lib/loadsave.php:1383
+msgid "The PhpWiki programming team"
+msgstr "El equipo de programacin de PhpWiki"
 
-#: ../lib/WikiDB.php:1633 ../lib/WikiDB.php:1637
+#: ../lib/WikiDB.php:1627 ../lib/WikiDB.php:1631
 #: ../themes/default/templates/homepage.tmpl:7
 #, php-format
 msgid "Describe %s here."
 msgstr "Describe %s aqu."
 
-#: ../lib/WikiDB.php:1672
+#: ../lib/WikiDB.php:1666
 #, php-format
 msgid "Oops! Revision %s of %s seems to have been deleted!"
 msgstr "Oops! La revisin %s de %s se parece haber sido suprimida!"
 
-#: ../lib/WikiDB/backend/dba.php:22 ../lib/WikiDB/backend/dba.php:24
+#: ../lib/WikiDB/backend/dba.php:29 ../lib/WikiDB/backend/dba.php:31
 #, php-format
 msgid "%s: Can't open dba database"
 msgstr "%s: No puede abrir la base de datos del DBA"
 
-#: ../lib/WikiDB/backend/file.php:111
+#: ../lib/WikiDB/backend/file.php:111 ../lib/WikiDB/backend/flatfile.php:83
 #, php-format
 msgid "'%s': corrupt file"
 msgstr "'%s': archivo corrupto"
 
 #: ../lib/WikiDB/dba.php:16 ../lib/WikiDB/file.php:47
+#: ../lib/WikiDB/flatfile.php:47
 #, php-format
 msgid ""
 "The %s files are in the %s directory. Please read the INSTALL file and move "
@@ -882,7 +988,7 @@
 msgid "No or not enough GROUP_DB SQL statements defined"
 msgstr "No o no bastantes declaraciones de GROUP_DB SQL defini"
 
-#: ../lib/WikiGroup.php:838 ../lib/loadsave.php:962
+#: ../lib/WikiGroup.php:838 ../lib/loadsave.php:1021
 #, php-format
 msgid "%s: not defined"
 msgstr "%s: no definido"
@@ -910,67 +1016,45 @@
 msgid "n/a"
 msgstr "n/a"
 
-#: ../lib/WikiPlugin.php:121 ../lib/loadsave.php:82 ../lib/loadsave.php:408
-#: ../lib/loadsave.php:844 ../lib/loadsave.php:850 ../lib/loadsave.php:858
-#: ../lib/main.php:967 ../lib/main.php:1071
-#: ../lib/plugin/WikiAdminSelect.php:192 ../themes/Crao/templates/head.tmpl:79
-#: ../themes/Crao/templates/head.tmpl:80
-#: ../themes/Crao/templates/navbar.tmpl:37
-#: ../themes/MonoBook/templates/navbar.tmpl:46
-#: ../themes/Portland/templates/navbar.tmpl:30
-#: ../themes/Sidebar/templates/navbar.tmpl:38
-#: ../themes/Wordpress/templates/actionbar.tmpl:25
-#: ../themes/blog/templates/navbar.tmpl:14
-#: ../themes/default/templates/head.tmpl:86
-#: ../themes/default/templates/head.tmpl:87
-#: ../themes/default/templates/navbar.tmpl:55
-#: ../themes/shamino_com/templates/actionbar.tmpl:18
-#: ../themes/smaller/templates/navbar.tmpl:19
-#: ../themes/wikilens/templates/head.tmpl:78
-#: ../themes/wikilens/templates/head.tmpl:79
-#: ../themes/wikilens/templates/navbar.tmpl:43
-msgid "PhpWikiAdministration"
-msgstr "AdministracinDePhpWiki"
+#: ../lib/WikiPlugin.php:225
+#, php-format
+msgid "trailing cruft in plugin args: '%s'"
+msgstr "absurdo que se arrastra en parmetros plugin: '%s'"
 
-#: ../lib/WikiPlugin.php:125
+#: ../lib/WikiPlugin.php:233
 #, php-format
 msgid "Argument '%s' not declared by plugin."
 msgstr "Parmetro '%s' no declarada por plugin."
 
-#: ../lib/WikiPlugin.php:235
-#, php-format
-msgid "trailing cruft in plugin args: '%s'"
-msgstr "absurdo que se arrastra en parmetros plugin: '%s'"
-
 # lib/msql.php:237 lib/msql.php:312
-#: ../lib/WikiPlugin.php:378
+#: ../lib/WikiPlugin.php:376
 #, php-format
 msgid "Plugin %s failed."
 msgstr "Plugin '%s' fall."
 
 # lib/msql.php:237 lib/msql.php:312
-#: ../lib/WikiPlugin.php:384
+#: ../lib/WikiPlugin.php:382
 #, php-format
 msgid "Plugin %s disabled."
 msgstr "Plugin '%s' lisiado."
 
 # lib/msql.php:237 lib/msql.php:312
-#: ../lib/WikiPlugin.php:520
+#: ../lib/WikiPlugin.php:518
 #, php-format
 msgid "Include of '%s' failed."
 msgstr "Insercin de '%s' fall."
 
-#: ../lib/WikiPlugin.php:522
+#: ../lib/WikiPlugin.php:520
 #, php-format
 msgid "%s: no such class"
 msgstr "%s: ninguna tal clase"
 
-#: ../lib/WikiPlugin.php:528
+#: ../lib/WikiPlugin.php:526
 #, php-format
 msgid "%s: not a subclass of WikiPlugin."
 msgstr "%s: no una subclase de WikiPlugin."
 
-#: ../lib/WikiPluginCached.php:691
+#: ../lib/WikiPluginCached.php:688
 #, php-format
 msgid ""
 "There is no image creation data available to id '%s'. Please reload "
@@ -979,7 +1063,7 @@
 "No hay datos de la creacin de la imagen disponibles para la identificacin "
 "'%s '. Por favor recarga que refiere la pgina."
 
-#: ../lib/WikiPluginCached.php:845
+#: ../lib/WikiPluginCached.php:842
 msgid "Image map expired. Reload wiki page to recreate its html part."
 msgstr ""
 "El mapa de imagen expir.  Recargue la pgina del wiki para reconstruir su "
@@ -988,18 +1072,18 @@
 #: ../lib/WikiUser.php:188 ../lib/WikiUser.php:268
 #: ../lib/WikiUser/AdoDb.php:29 ../lib/WikiUser/AdoDb.php:186
 #: ../lib/WikiUser/Db.php:43 ../lib/WikiUser/File.php:58
-#: ../lib/WikiUser/IMAP.php:17 ../lib/WikiUser/LDAP.php:58
+#: ../lib/WikiUser/IMAP.php:18 ../lib/WikiUser/LDAP.php:58
 #: ../lib/WikiUser/POP3.php:17 ../lib/WikiUser/PdoDb.php:28
 #: ../lib/WikiUser/PdoDb.php:103 ../lib/WikiUser/PearDb.php:26
-#: ../lib/WikiUser/PearDb.php:116 ../lib/WikiUserNew.php:559
+#: ../lib/WikiUser/PearDb.php:116 ../lib/WikiUserNew.php:590
 msgid "Invalid username."
 msgstr "Username invlido."
 
-#: ../lib/WikiUser.php:192 ../lib/WikiUserNew.php:566
+#: ../lib/WikiUser.php:192 ../lib/WikiUserNew.php:597
 msgid "Invalid password or userid."
 msgstr "Contrasea o userid invlida."
 
-#: ../lib/WikiUser.php:194 ../lib/WikiUserNew.php:582
+#: ../lib/WikiUser.php:194 ../lib/WikiUserNew.php:613
 msgid "Insufficient permissions."
 msgstr "Permisos escasos."
 
@@ -1038,8 +1122,10 @@
 
 #: ../lib/WikiUser.php:465 ../lib/WikiUser.php:475
 #: ../themes/Crao/templates/navbar.tmpl:23
+#: ../themes/MonoBook/templates/navbar.tmpl:61
 #: ../themes/default/templates/navbar.tmpl:40
 #: ../themes/shamino_com/templates/top.tmpl:28
+#: ../themes/wikilens/templates/navbar.tmpl:23
 msgid "Preferences"
 msgstr "Preferencias"
 
@@ -1058,14 +1144,14 @@
 msgid "%s is missing"
 msgstr "%s falta"
 
-#: ../lib/WikiUser/AdoDb.php:201 ../lib/WikiUser/AdoDb.php:255
+#: ../lib/WikiUser/AdoDb.php:201 ../lib/WikiUser/AdoDb.php:258
 #: ../lib/WikiUser/PdoDb.php:190 ../lib/WikiUser/PdoDb.php:255
 #: ../lib/WikiUser/PearDb.php:179 ../lib/WikiUser/PearDb.php:223
 #, php-format
 msgid "Either %s is missing or DATABASE_TYPE != '%s'"
 msgstr "Cualquier %s es que falta o DATABASE_TYPE != '%s'"
 
-#: ../lib/WikiUser/IMAP.php:33
+#: ../lib/WikiUser/IMAP.php:36
 msgid "Unable to connect to IMAP server "
 msgstr "Incapaz conectar con el IMAP el servidor "
 
@@ -1074,13 +1160,39 @@
 msgid "Unable to bind LDAP server %s using %s %s"
 msgstr "Incapaz atar el servidor %s de LDAP usando %s %s"
 
-#: ../lib/WikiUser/LDAP.php:65 ../lib/WikiUser/LDAP.php:108
+#: ../lib/WikiUser/LDAP.php:68
+msgid "Empty password not allowed for LDAP"
+msgstr ""
+
+#: ../lib/WikiUser/LDAP.php:73 ../lib/WikiUser/LDAP.php:149
 #, php-format
 msgid "Invalid username '%s' for LDAP Auth"
 msgstr "Username invlido ' %s' para LDAP Auth"
 
 # lib/msql.php:29 lib/mysql.php:36
-#: ../lib/WikiUser/POP3.php:59
+#: ../lib/WikiUser/LDAP.php:84
+#, fuzzy
+msgid "Could not search in LDAP"
+msgstr "No poda conectar con %s"
+
+#: ../lib/WikiUser/LDAP.php:91
+#, fuzzy
+msgid "User not found in LDAP"
+msgstr "%s: fichero no encontrado"
+
+#: ../lib/WikiUser/LDAP.php:125
+#, fuzzy
+msgid "Wrong password: "
+msgstr "DB admin contrasea:"
+
+# lib/msql.php:29 lib/mysql.php:36
+#: ../lib/WikiUser/LDAP.php:131
+#, fuzzy
+msgid "Could not connect to LDAP"
+msgstr "No poda conectar con %s"
+
+# lib/msql.php:29 lib/mysql.php:36
+#: ../lib/WikiUser/POP3.php:61
 #, php-format
 msgid "Couldn't connect to %s"
 msgstr "No poda conectar con %s"
@@ -1110,27 +1222,32 @@
 msgid "Given password ignored."
 msgstr "Contrasea no hecho caso."
 
-#: ../lib/WikiUserNew.php:564
+#: ../lib/WikiUserNew.php:430
+msgid ""
+"Automatically created user homepage to be able to store UserPreferences."
+msgstr ""
+
+#: ../lib/WikiUserNew.php:595
 msgid "Invalid password."
 msgstr "Contrasea invlido."
 
-#: ../lib/WikiUserNew.php:628
+#: ../lib/WikiUserNew.php:659
 msgid "Empty Preferences or format of UserPreferences cookie not recognised."
 msgstr ""
 "Preferencias o formato vacas de la galleta de UsuarioPreferencias no "
 "reconocido."
 
-#: ../lib/WikiUserNew.php:632
+#: ../lib/WikiUserNew.php:663
 msgid "Default preferences will be used."
 msgstr "Las preferencias del defecto sern utilizadas."
 
-#: ../lib/WikiUserNew.php:1190
+#: ../lib/WikiUserNew.php:1233
 msgid "The length of the password is shorter than the system policy allows."
 msgstr ""
 "La longitud de la contrasea es ms corta que la poltica del sistema "
 "permite."
 
-#: ../lib/WikiUserNew.php:1216
+#: ../lib/WikiUserNew.php:1259
 msgid ""
 "The length of the stored password is shorter than the system policy allows. "
 "Sorry, you cannot login.\n"
@@ -1141,11 +1258,11 @@
 " Usted tiene que pedir que el administrador de sistema reajuste su "
 "contrasea."
 
-#: ../lib/WikiUserNew.php:1231
+#: ../lib/WikiUserNew.php:1274
 msgid "The crypt function is not available in this version of PHP."
 msgstr "La funcin de la cripta no est disponible en esta versin de PHP."
 
-#: ../lib/WikiUserNew.php:1232
+#: ../lib/WikiUserNew.php:1275
 msgid ""
 "Please set ENCRYPTED_PASSWD to false in config/config.ini and probably "
 "change ADMIN_PASSWD."
@@ -1153,15 +1270,15 @@
 "En ENCRYPTED_PASSWD por favor fijado a falso config/config.ini y "
 "probablemente cambio ADMIN_PASSWD."
 
-#: ../lib/WikiUserNew.php:1245
+#: ../lib/WikiUserNew.php:1288
 msgid "Please set ENCRYPTED_PASSWD to true in config/config.ini."
 msgstr "ENCRYPTED_PASSWD por favor fijado a verdad en config/config.ini."
 
-#: ../lib/WikiUserNew.php:1657
+#: ../lib/WikiUserNew.php:1701 ../lib/plugin/WikiAdminUtils.php:114
 msgid "Email Verification"
 msgstr "Verificacin Del Email"
 
-#: ../lib/WikiUserNew.php:1658
+#: ../lib/WikiUserNew.php:1702
 #, php-format
 msgid ""
 "Welcome to %s!\n"
@@ -1174,107 +1291,161 @@
 "para enviar notificaciones del cambio de la pgina.\n"
 "Vea %s"
 
-#: ../lib/WikiUserNew.php:1711
+#: ../lib/WikiUserNew.php:1762
 #, php-format
 msgid "E-Mail address '%s' is not properly formatted"
 msgstr "La direccin ' %s' del email no se ajusta a formato correctamente"
 
-#: ../lib/WikiUserNew.php:1715
+#: ../lib/WikiUserNew.php:1766
 #, php-format
 msgid "E-Mail address '%s' is properly formatted"
 msgstr "La direccin ' %s' del email se ajusta a formato correctamente"
 
-#: ../lib/XmlElement.php:456 ../lib/stdlib.php:1344
+# lib/pageinfo.php:21
+#: ../lib/WysiwygEdit/Wikiwyg.php:74
+#, fuzzy
+msgid "Apply changes"
+msgstr "Ningunos cambios."
+
+#: ../lib/WysiwygEdit/Wikiwyg.php:75
+msgid "Exit toolbar"
+msgstr ""
+
+# lib/fullsearch.php:48
+#: ../lib/WysiwygEdit/Wikiwyg.php:76
+#, fuzzy
+msgid "Title 1"
+msgstr "Una bsqueda de ttulos"
+
+# lib/fullsearch.php:48
+#: ../lib/WysiwygEdit/Wikiwyg.php:77
+#, fuzzy
+msgid "Title 2"
+msgstr "Una bsqueda de ttulos"
+
+# lib/fullsearch.php:48
+#: ../lib/WysiwygEdit/Wikiwyg.php:78
+#, fuzzy
+msgid "Title 3"
+msgstr "Una bsqueda de ttulos"
+
+#: ../lib/WysiwygEdit/Wikiwyg.php:79
+msgid "Verbatim"
+msgstr ""
+
+#: ../lib/WysiwygEdit/Wikiwyg.php:80
+#, fuzzy
+msgid "Table of content"
+msgstr "ningn contenido de la pgina"
+
+#: ../lib/WysiwygEdit/Wikiwyg.php:81
+msgid "Insert Wikitext section"
+msgstr ""
+
+#: ../lib/WysiwygEdit/Wikiwyg.php:82
+msgid "Sup"
+msgstr ""
+
+#: ../lib/WysiwygEdit/Wikiwyg.php:83
+msgid "Sub"
+msgstr ""
+
+#: ../lib/WysiwygEdit/Wikiwyg.php:107
+msgid "Warning: This Wikiwyg editor has only Beta quality!"
+msgstr ""
+
+#: ../lib/XmlElement.php:467 ../lib/stdlib.php:1357
 #, php-format
 msgid "Can't mix '%s' with '%s' type format strings"
 msgstr ""
 
-#: ../lib/XmlRpcServer.php:562
+#: ../lib/XmlRpcServer.php:511
 msgid "xml-rpc change"
 msgstr ""
 
-#: ../lib/diff.php:259 ../lib/plugin/Diff.php:72
+#: ../lib/diff.php:258 ../lib/plugin/Diff.php:73
 #, php-format
 msgid "version %s"
 msgstr "versin %s"
 
-#: ../lib/diff.php:266 ../lib/plugin/Diff.php:77
+#: ../lib/diff.php:265 ../lib/plugin/Diff.php:78
 #: ../lib/wikilens/PageListColumns.php:351
 msgid "None"
 msgstr "Ninguna"
 
-#: ../lib/diff.php:289 ../lib/plugin/Diff.php:94
-#: ../lib/plugin/PageHistory.php:312 ../lib/plugin/PageInfo.php:59
+#: ../lib/diff.php:288 ../lib/plugin/Diff.php:95
+#: ../lib/plugin/PageHistory.php:326 ../lib/plugin/PageInfo.php:59
 #, php-format
 msgid "I'm sorry, there is no such page as %s."
 msgstr "Estoy apesadumbrado, all no soy ninguna pgina tal como %s."
 
-#: ../lib/diff.php:292 ../lib/diff.php:394
+#: ../lib/diff.php:291 ../lib/diff.php:396
 #, php-format
 msgid "Diff: %s"
 msgstr "Diferencia de: %s"
 
-#: ../lib/diff.php:299 ../lib/diff.php:309 ../lib/plugin/Diff.php:102
-#: ../lib/plugin/Diff.php:112
+#: ../lib/diff.php:298 ../lib/diff.php:308 ../lib/plugin/Diff.php:103
+#: ../lib/plugin/Diff.php:113
 #, php-format
 msgid "version %d"
 msgstr "versin %d"
 
 # lib/pageinfo.php:70
-#: ../lib/diff.php:303 ../lib/plugin/Diff.php:106
+#: ../lib/diff.php:302 ../lib/plugin/Diff.php:107
 msgid "current version"
 msgstr "versin actual"
 
-#: ../lib/diff.php:320 ../lib/plugin/Diff.php:123
+#: ../lib/diff.php:319 ../lib/plugin/Diff.php:124
 msgid "revision by previous author"
 msgstr "revisin del autor anterior"
 
-#: ../lib/diff.php:326 ../lib/plugin/Diff.php:129
+#: ../lib/diff.php:325 ../lib/plugin/Diff.php:130
 msgid "previous revision"
 msgstr "versin archivada"
 
-#: ../lib/diff.php:336 ../lib/plugin/Diff.php:139
+#: ../lib/diff.php:335 ../lib/plugin/Diff.php:140
 msgid "predecessor to the previous major change"
 msgstr "precursor al cambio principal anterior"
 
-#: ../lib/diff.php:347 ../lib/plugin/Diff.php:149
+#: ../lib/diff.php:346 ../lib/plugin/Diff.php:150
 #, php-format
 msgid "Differences between %s and %s of %s."
 msgstr "Diferencias entre %s y %s de %s."
 
-#: ../lib/diff.php:350 ../lib/plugin/Diff.php:152
+#: ../lib/diff.php:349 ../lib/plugin/Diff.php:153
 msgid "Other diffs:"
 msgstr "Otros diffs:"
 
-#: ../lib/diff.php:351 ../lib/plugin/Diff.php:153
+#: ../lib/diff.php:350 ../lib/plugin/Diff.php:154
 msgid "Previous Major Revision"
 msgstr "Revisin Importante Anterior"
 
-#: ../lib/diff.php:352 ../lib/plugin/Diff.php:154
+#: ../lib/diff.php:351 ../lib/plugin/Diff.php:155
 msgid "Previous Revision"
 msgstr "Versin archivada"
 
-#: ../lib/diff.php:353 ../lib/plugin/Diff.php:155
+#: ../lib/diff.php:352 ../lib/plugin/Diff.php:156
 msgid "Previous Author"
 msgstr "Autor Anterior"
 
-#: ../lib/diff.php:370 ../lib/plugin/Diff.php:172
+#: ../lib/diff.php:368 ../lib/plugin/Diff.php:173
 msgid "Newer page:"
 msgstr "Pgina ms nueva:"
 
-#: ../lib/diff.php:372 ../lib/plugin/Diff.php:174
+#: ../lib/diff.php:370 ../lib/plugin/Diff.php:175
 msgid "Older page:"
 msgstr "Pgina ms viejo:"
 
-#: ../lib/diff.php:380 ../lib/plugin/Diff.php:182
+#: ../lib/diff.php:378 ../lib/editpage.php:499 ../lib/plugin/Diff.php:183
 msgid "Versions are identical"
 msgstr "Las versiones son idnticas"
 
-#: ../lib/display.php:53 ../lib/plugin/HelloWorld.php:70
-#: ../lib/plugin/PageGroup.php:102 ../lib/plugin/PageGroup.php:166
-#: ../lib/plugin/PageGroup.php:177 ../lib/plugin/PageGroup.php:193
-#: ../lib/plugin/PageGroup.php:200 ../lib/plugin/PageHistory.php:216
-#: ../lib/plugin/UnfoldSubpages.php:140 ../themes/Crao/templates/head.tmpl:47
+#: ../lib/display.php:54 ../lib/display.php:240
+#: ../lib/plugin/HelloWorld.php:70 ../lib/plugin/PageGroup.php:102
+#: ../lib/plugin/PageGroup.php:166 ../lib/plugin/PageGroup.php:177
+#: ../lib/plugin/PageGroup.php:193 ../lib/plugin/PageGroup.php:200
+#: ../lib/plugin/PageHistory.php:229 ../lib/plugin/UnfoldSubpages.php:140
+#: ../themes/Crao/templates/head.tmpl:47
 #: ../themes/MonoBook/templates/logo.tmpl:2
 #: ../themes/Portland/templates/body.tmpl:8
 #: ../themes/Sidebar/templates/frame-header.tmpl:16
@@ -1284,37 +1455,39 @@
 #: ../themes/default/templates/top.tmpl:11
 #: ../themes/shamino_com/templates/top.tmpl:8
 #: ../themes/wikilens/templates/head.tmpl:45
+#: ../themes/wikilens/templates/top.tmpl:11
 #, php-format
 msgid "%s: %s"
 msgstr "%s: %s"
 
-#: ../lib/display.php:119 ../lib/display.php:126
+#: ../lib/display.php:82 ../lib/display.php:324
+#: ../lib/plugin/LinkDatabase.php:42
+msgid "LinkDatabase"
+msgstr ""
+
+#: ../lib/display.php:177 ../lib/display.php:184
 #: ../lib/plugin/BackLinks.php:31 ../lib/plugin/_WikiTranslation.php:53
 #: ../themes/Crao/templates/navbar.tmpl:17
-#: ../themes/Sidebar/templates/navbar.tmpl:35
+#: ../themes/Sidebar/templates/navbar.tmpl:25
 #: ../themes/blog/templates/navbar.tmpl:11
 #: ../themes/default/templates/navbar.tmpl:34
 #: ../themes/smaller/templates/navbar.tmpl:16
-#: ../themes/wikilens/templates/navbar.tmpl:25
+#: ../themes/wikilens/templates/navbar.tmpl:22
 msgid "BackLinks"
 msgstr "AcoplamientosTraseros"
 
-#: ../lib/display.php:122 ../lib/display.php:129
+#: ../lib/display.php:180 ../lib/display.php:187
 #, php-format
 msgid "BackLinks for %s"
 msgstr "AcoplamientosTraseros por %s"
 
 # lib/msql.php:237 lib/msql.php:312
-#: ../lib/display.php:137
+#: ../lib/display.php:195
 #, php-format
 msgid "(Redirected from %s)"
 msgstr "(vuelto a dirigir de %s)"
 
-#: ../lib/display.php:177
-msgid "You searched for: "
-msgstr "Usted busc para: "
-
-#: ../lib/display.php:218 ../themes/Crao/templates/head.tmpl:70
+#: ../lib/display.php:269 ../themes/Crao/templates/head.tmpl:70
 #: ../themes/Crao/templates/head.tmpl:71
 #: ../themes/default/templates/head.tmpl:76
 #: ../themes/default/templates/head.tmpl:77
@@ -1324,95 +1497,95 @@
 msgstr "CajaDeArena"
 
 # lib/pageinfo.php:70
-#: ../lib/editpage.php:134 ../lib/editpage.php:469
+#: ../lib/editpage.php:162 ../lib/editpage.php:559
 msgid "Your version"
 msgstr "Versin actual:"
 
-#: ../lib/editpage.php:134 ../lib/editpage.php:470
+#: ../lib/editpage.php:162 ../lib/editpage.php:560
 msgid "Other version"
 msgstr "Altro versin"
 
-#: ../lib/editpage.php:145
+#: ../lib/editpage.php:173
 msgid "Some internal editing error"
 msgstr "Un cierto error interno el corregir"
 
-#: ../lib/editpage.php:146
+#: ../lib/editpage.php:174
 msgid ""
 "Your are probably trying to edit/create an invalid version of this page."
 msgstr ""
 "Su estn intentando corregir/crean probablemente una versin invlida de "
 "esta pgina."
 
-#: ../lib/editpage.php:147
+#: ../lib/editpage.php:175
 msgid "&version=-1 might help."
 msgstr "&version=-1 pudo ayudar."
 
-#: ../lib/editpage.php:164
+#: ../lib/editpage.php:194
 #, php-format
 msgid "Edit: %s"
 msgstr "Editar: %s"
 
-#: ../lib/editpage.php:198
+#: ../lib/editpage.php:232
 #, php-format
 msgid "View Source: %s"
 msgstr "Fuente De la Visin: %s"
 
-#: ../lib/editpage.php:212
+#: ../lib/editpage.php:246
 msgid "Page now locked."
 msgstr "Pgina bloqueada."
 
-#: ../lib/editpage.php:212
+#: ../lib/editpage.php:246
 msgid "Page now unlocked."
 msgstr "Pgina desbloquear."
 
-#: ../lib/editpage.php:314
+#: ../lib/editpage.php:353
 #, php-format
 msgid "Saved: %s"
 msgstr "Guardar: %s"
 
-#: ../lib/editpage.php:366
+#: ../lib/editpage.php:406
 msgid "Too many external links."
 msgstr "Tambin muchos acoplamientos externos."
 
-#: ../lib/editpage.php:379
+#: ../lib/editpage.php:419
 msgid "SpamAssassin reports: "
 msgstr "Informes de SpamAssassin: "
 
-#: ../lib/editpage.php:396
+#: ../lib/editpage.php:446
 msgid "External links contain blocked domains:"
 msgstr "Los acoplamientos externos contienen dominios bloqueados:"
 
-#: ../lib/editpage.php:397
-#, php-format
-msgid "%s is listed at %s"
+#: ../lib/editpage.php:447
+#, fuzzy, php-format
+msgid "%s is listed at %s with %s"
 msgstr "%s se enumera en %s"
 
-#: ../lib/editpage.php:418
+#: ../lib/editpage.php:471
 msgid "Spam Prevention"
 msgstr "Prevencin Del Spam"
 
-#: ../lib/editpage.php:419
+#: ../lib/editpage.php:472
 msgid "This page edit seems to contain spam and was therefore not saved."
 msgstr ""
 "Esta pgina corrige se parece contener el Spam y por lo tanto no fue "
 "ahorrada."
 
-#: ../lib/editpage.php:421 ../lib/editpage.php:455
+#: ../lib/editpage.php:474 ../lib/editpage.php:535
 msgid "Sorry for the inconvenience."
 msgstr "Disculpe la inconveniencia."
 
-#: ../lib/editpage.php:452 ../themes/MacOSX/themeinfo.php:137
+#: ../lib/editpage.php:532 ../themes/MacOSX/themeinfo.php:135
 msgid "Page Locked"
 msgstr "Pgina Bloqueada"
 
-#: ../lib/editpage.php:453
+#: ../lib/editpage.php:533
 msgid ""
 "This page has been locked by the administrator so your changes can not be "
 "saved."
 msgstr ""
 "Esta pgina ha sido bloqueada por el administrador y no puede ser editada."
 
-#: ../lib/editpage.php:454
+#: ../lib/editpage.php:534
 msgid ""
 "(Copy your changes to the clipboard. You can try editing a different page or "
 "save your text in a text editor.)"
@@ -1420,8 +1593,51 @@
 "Copie sus cambios al portapapeles o a otro sitio temporal (p.ej. editor de "
 "textos)."
 
-#: ../lib/editpage.php:468 ../lib/editpage.php:757
-#, php-format
+#: ../lib/editpage.php:543 ../lib/editpage.php:544 ../lib/main.php:733
+#: ../lib/main.php:1090 ../lib/plugin/ModeratedPage.php:41
+#: ../lib/plugin/ModeratedPage.php:149 ../lib/plugin/ModeratedPage.php:219
+#: ../lib/plugin/ModeratedPage.php:258 ../lib/plugin/ModeratedPage.php:261
+#: ../lib/plugin/ModeratedPage.php:263 ../lib/plugin/ModeratedPage.php:265
+#: ../lib/plugin/ModeratedPage.php:349 ../lib/plugin/ModeratedPage.php:353
+#: ../lib/plugin/ModeratedPage.php:408 ../lib/plugin/ModeratedPage.php:433
+msgid "ModeratedPage"
+msgstr "PginaModerada"
+
+#: ../lib/editpage.php:544
+#, php-format
+msgid ""
+"You can edit away, but your changes will have to be approved by the defined "
+"moderators at the definition in %s"
+msgstr ""
+
+#: ../lib/editpage.php:546 ../lib/plugin/PasswordReset.php:155
+#: ../lib/plugin/UserPreferences.php:38 ../lib/plugin/WatchPage.php:115
+#: ../lib/plugin/WatchPage.php:133 ../themes/Crao/templates/head.tmpl:85
+#: ../themes/Crao/templates/head.tmpl:86
+#: ../themes/Crao/templates/navbar.tmpl:23
+#: ../themes/MonoBook/templates/navbar.tmpl:61
+#: ../themes/blog/templates/navbar.tmpl:17
+#: ../themes/default/templates/head.tmpl:92
+#: ../themes/default/templates/head.tmpl:93
+#: ../themes/default/templates/homepage.tmpl:11
+#: ../themes/default/templates/navbar.tmpl:40
+#: ../themes/shamino_com/templates/top.tmpl:28
+#: ../themes/smaller/templates/navbar.tmpl:22
+#: ../themes/wikilens/templates/head.tmpl:85
+#: ../themes/wikilens/templates/head.tmpl:86
+#: ../themes/wikilens/templates/navbar.tmpl:23
+msgid "UserPreferences"
+msgstr "UsuarioPreferencias"
+
+#: ../lib/editpage.php:545
+#, php-format
+msgid ""
+"The approval has a grace period of 5 days. If you have your E-Mail defined "
+"in your %s, you will get a notification of approval or rejection."
+msgstr ""
+
+#: ../lib/editpage.php:558 ../lib/editpage.php:900
+#, php-format
 msgid ""
 "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 "
@@ -1431,15 +1647,15 @@
 "favor las secciones que comienzan con '%s', y terminando con '%s'. Usted "
 "necesitar corregir esas secciones a mano antes de que usted chasque excepto."
 
-#: ../lib/editpage.php:472 ../lib/editpage.php:760
+#: ../lib/editpage.php:562 ../lib/editpage.php:903
 msgid "Please check it through before saving."
 msgstr "Comprubelo por favor a travs antes de ahorrar."
 
-#: ../lib/editpage.php:483
+#: ../lib/editpage.php:573
 msgid "Conflicting Edits!"
 msgstr "El Estar en conflicto Corrige!"
 
-#: ../lib/editpage.php:484
+#: ../lib/editpage.php:574
 msgid ""
 "In the time since you started editing this page, another user has saved a "
 "new version of it."
@@ -1447,7 +1663,7 @@
 "En el tiempo desde que usted comenz a corregir esta pgina, otro usuario ha "
 "ahorrado una nueva versin de ella."
 
-#: ../lib/editpage.php:485
+#: ../lib/editpage.php:575
 msgid ""
 "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 "
@@ -1457,17 +1673,43 @@
 "sobreescribiran los cambios del otro autor. As pues, se han combinado sus "
 "cambios y los del otro autor. El resultado se demuestra abajo."
 
-#: ../lib/editpage.php:555
+#: ../lib/editpage.php:649
 msgid "Convert"
 msgstr "Convertido"
 
-#: ../lib/editpage.php:588 ../themes/Portland/templates/editpage.tmpl:45
-#: ../themes/Wordpress/templates/editpage.tmpl:54
+# lib/stdlib.php:384 lib/stdlib.php:445
+#: ../lib/editpage.php:668
+#, fuzzy
+msgid "Changes"
+msgstr "CambiosRecientes"
+
+#: ../lib/editpage.php:672 ../lib/plugin/HtmlConverter.php:66
+#: ../lib/plugin/UpLoad.php:146 ../lib/plugin/UpLoad.php:151
+#: ../lib/plugin/WikiForm.php:103
+msgid "Upload"
+msgstr ""
+
+#: ../lib/editpage.php:675
+#, fuzzy
+msgid "Spell Check"
+msgstr "Selecto"
+
+#: ../lib/editpage.php:698 ../themes/Portland/templates/editpage.tmpl:41
+#: ../themes/Wordpress/templates/editpage.tmpl:52
 #, php-format
 msgid "Author will be logged as %s."
 msgstr "Registrarn al autor como %s."
 
-#: ../lib/editpage.php:731
+#: ../lib/editpage.php:855
+msgid "Keep old"
+msgstr ""
+
+#: ../lib/editpage.php:858
+#, fuzzy
+msgid "Overwrite with new"
+msgstr "Sobreescriba Todos"
+
+#: ../lib/editpage.php:868
 #, php-format
 msgid "Merge and Edit: %s"
 msgstr "Fusin y Editar: %s"
@@ -1496,10 +1738,42 @@
 msgid "Dump pages as XHTML"
 msgstr "Pginas de la descarga como XHTML"
 
+#: ../lib/loadsave.php:82 ../lib/loadsave.php:428 ../lib/loadsave.php:902
+#: ../lib/loadsave.php:908 ../lib/loadsave.php:916 ../lib/main.php:1006
+#: ../lib/main.php:1110 ../lib/plugin/WikiAdminSelect.php:192
+#: ../themes/Crao/templates/head.tmpl:79 ../themes/Crao/templates/head.tmpl:80
+#: ../themes/Crao/templates/navbar.tmpl:37
+#: ../themes/MonoBook/templates/navbar.tmpl:57
+#: ../themes/Portland/templates/navbar.tmpl:27
+#: ../themes/Sidebar/templates/navbar.tmpl:28
+#: ../themes/Wordpress/templates/actionbar.tmpl:26
+#: ../themes/blog/templates/navbar.tmpl:14
+#: ../themes/default/templates/head.tmpl:86
+#: ../themes/default/templates/head.tmpl:87
+#: ../themes/default/templates/navbar.tmpl:55
+#: ../themes/shamino_com/templates/actionbar.tmpl:18
+#: ../themes/smaller/templates/navbar.tmpl:19
+#: ../themes/wikilens/templates/head.tmpl:78
+#: ../themes/wikilens/templates/head.tmpl:79
+#: ../themes/wikilens/templates/navbar.tmpl:32
+msgid "PhpWikiAdministration"
+msgstr "AdministracinDePhpWiki"
+
 #: ../lib/loadsave.php:95 ../lib/loadsave.php:96
 msgid "LoadDump"
 msgstr "CargaDescarga"
 
+#: ../lib/loadsave.php:99
+#, php-format
+msgid "PageChange Notification of %s sent to %s"
+msgstr "Pagine la notificacin del cambio de %s enviado a %s"
+
+#: ../lib/loadsave.php:102
+#, php-format
+msgid "PageChange Notification Error: Couldn't send %s to %s"
+msgstr ""
+"Error De la Notificacin Del Cambio De la Pgina: No poda enviar %s a %s"
+
 #: ../lib/loadsave.php:110
 msgid "Complete."
 msgstr "Acabado."
@@ -1509,537 +1783,538 @@
 msgid "Return to %s"
 msgstr "Vuelva a %s"
 
-#: ../lib/loadsave.php:197
+#: ../lib/loadsave.php:200
 msgid "FullDump"
 msgstr "DescargaCompleta"
 
-#: ../lib/loadsave.php:201
+#: ../lib/loadsave.php:204
 msgid "LatestSnapshot"
 msgstr "La Foto Ms ltima"
 
-#: ../lib/loadsave.php:273 ../lib/loadsave.php:381
+#: ../lib/loadsave.php:276 ../lib/loadsave.php:401
 msgid "You must specify a directory to dump to"
 msgstr "Usted debe especificar un directorio para descargar a"
 
-#: ../lib/loadsave.php:278 ../lib/loadsave.php:386
+#: ../lib/loadsave.php:281 ../lib/loadsave.php:406
 #, php-format
 msgid "Cannot create directory '%s'"
 msgstr "No puede crear el directorio '%s'"
 
-#: ../lib/loadsave.php:280 ../lib/loadsave.php:388
+#: ../lib/loadsave.php:283 ../lib/loadsave.php:408
 #, php-format
 msgid "Created directory '%s' for the page dump..."
 msgstr "Directorio creado '%s' para la descarga de la pgina..."
 
-#: ../lib/loadsave.php:283 ../lib/loadsave.php:391
+#: ../lib/loadsave.php:286 ../lib/loadsave.php:411
 #, php-format
 msgid "Using directory '%s'"
 msgstr "Usando el directorio '%s'"
 
-#: ../lib/loadsave.php:286 ../lib/loadsave.php:394
+#: ../lib/loadsave.php:289 ../lib/loadsave.php:414
 msgid "Dumping Pages"
 msgstr "Descargar Las Pginas"
 
-#: ../lib/loadsave.php:318 ../lib/loadsave.php:451 ../lib/stdlib.php:845
+#: ../lib/loadsave.php:321 ../lib/loadsave.php:471 ../lib/stdlib.php:857
 msgid "Skipped."
 msgstr "Saltado."
 
-#: ../lib/loadsave.php:326
+#: ../lib/loadsave.php:329
 #, php-format
 msgid "saved as %s"
 msgstr "ahorrado como %s"
 
-#: ../lib/loadsave.php:336 ../lib/loadsave.php:469
-#: ../lib/plugin/text2png.php:183
+#: ../lib/loadsave.php:339 ../lib/loadsave.php:503
+#: ../lib/plugin/text2png.php:228
 #, php-format
 msgid "couldn't open file '%s' for writing"
 msgstr "Error al escribir la pgina '%s'"
 
-#: ../lib/loadsave.php:342 ../lib/loadsave.php:478
+#: ../lib/loadsave.php:345 ../lib/loadsave.php:513
 #, php-format
 msgid "%s bytes written"
 msgstr "%s octetos"
 
-#: ../lib/loadsave.php:476
+#: ../lib/loadsave.php:511
 msgid "saved as "
 msgstr "ahorrado como "
 
 # lib/editpage.php:19
-#: ../lib/loadsave.php:514 ../lib/loadsave.php:533 ../lib/loadsave.php:550
+#: ../lib/loadsave.php:549 ../lib/loadsave.php:569 ../lib/loadsave.php:586
 #, php-format
 msgid "... copied to %s"
 msgstr "... copia de [%s]"
 
 # lib/editpage.php:19
-#: ../lib/loadsave.php:516 ../lib/loadsave.php:535 ../lib/loadsave.php:552
+#: ../lib/loadsave.php:551 ../lib/loadsave.php:571 ../lib/loadsave.php:588
 #, php-format
 msgid "... not copied to %s"
 msgstr "... non copia de [%s]"
 
-#: ../lib/loadsave.php:519 ../lib/loadsave.php:538 ../lib/loadsave.php:555
+#: ../lib/loadsave.php:555 ../lib/loadsave.php:574 ../lib/loadsave.php:592
 msgid "... not found"
 msgstr "... no encontrado"
 
 # lib/pageinfo.php:9
-#: ../lib/loadsave.php:723
+#: ../lib/loadsave.php:760
 msgid "Empty pagename!"
 msgstr "Escriba un nombre de pgina!"
 
-#: ../lib/loadsave.php:779
+#: ../lib/loadsave.php:770
+#, fuzzy
+msgid "Invalid pagename!"
+msgstr "Username invlido"
+
+#: ../lib/loadsave.php:833
 #, php-format
 msgid "from %s"
 msgstr "de %s"
 
-#: ../lib/loadsave.php:795
+#: ../lib/loadsave.php:849
 msgid "has edit conflicts - overwriting anyway"
 msgstr "tiene corregir conflictos - sobreescribiendo de todos modos"
 
-#: ../lib/loadsave.php:798 ../lib/loadsave.php:1292 ../lib/loadsave.php:1295
-msgid "The PhpWiki programming team"
-msgstr "El equipo de programacin de PhpWiki"
+#: ../lib/loadsave.php:858
+msgid "keep old"
+msgstr ""
 
-#: ../lib/loadsave.php:803
+#: ../lib/loadsave.php:860
 msgid "has edit conflicts - skipped"
 msgstr "tiene corregir los conflictos - saltados"
 
-#: ../lib/loadsave.php:814
+#: ../lib/loadsave.php:872
 #, php-format
 msgid "content is identical to current version %d - no new revision created"
 msgstr ""
 "el contenido es idntico a la versin actual %d - ninguna nueva revisin "
 "creada"
 
-#: ../lib/loadsave.php:828
+#: ../lib/loadsave.php:886
 #, php-format
 msgid "- saved to database as version %d"
 msgstr "- ahorrado a la base de datos como versin %d"
 
-#: ../lib/loadsave.php:834 ../lib/loadsave.php:1088
+#: ../lib/loadsave.php:892 ../lib/loadsave.php:1162
 #, php-format
 msgid "MIME file %s"
 msgstr "Archivo %s del MIME"
 
-#: ../lib/loadsave.php:835 ../lib/loadsave.php:1093
+#: ../lib/loadsave.php:893 ../lib/loadsave.php:1173
 #, php-format
 msgid "Serialized file %s"
 msgstr "Archivo serializado %s"
 
-#: ../lib/loadsave.php:836 ../lib/loadsave.php:1107
+#: ../lib/loadsave.php:894 ../lib/loadsave.php:1195
 #, php-format
 msgid "plain file %s"
 msgstr "archivo llano %s"
 
-#: ../lib/loadsave.php:843
+#: ../lib/loadsave.php:901 ../lib/plugin/SyncWiki.php:271
 msgid "Merge Edit"
 msgstr "Fusin Editar"
 
-#: ../lib/loadsave.php:849
+#: ../lib/loadsave.php:907
 msgid "Restore Anyway"
 msgstr "Restore de todos modos"
 
-#: ../lib/loadsave.php:857
+#: ../lib/loadsave.php:915
 msgid "Overwrite All"
 msgstr "Sobreescriba Todos"
 
-#: ../lib/loadsave.php:864
+#: ../lib/loadsave.php:922
 msgid " Sorry, cannot merge."
 msgstr " Apesadumbrado, no puede combinarse."
 
 # lib/msql.php:237 lib/msql.php:312
-#: ../lib/loadsave.php:884 ../lib/loadsave.php:894 ../lib/loadsave.php:901
-#: ../lib/loadsave.php:908 ../themes/MonoBook/templates/actionbar.tmpl:37
-#: ../themes/Wordpress/templates/actionbar.tmpl:57
-#: ../themes/default/templates/actionbar.tmpl:26
-#: ../themes/smaller/templates/actionbar.tmpl:29
+#: ../lib/loadsave.php:942 ../lib/loadsave.php:952 ../lib/loadsave.php:959
+#: ../lib/loadsave.php:966 ../themes/MonoBook/templates/actionbar.tmpl:60
+#: ../themes/Wordpress/templates/actionbar.tmpl:58
+#: ../themes/default/templates/actionbar.tmpl:28
+#: ../themes/smaller/templates/actionbar.tmpl:31
 msgid "Revert"
 msgstr "Invierta"
 
-#: ../lib/loadsave.php:885
+#: ../lib/loadsave.php:943
 msgid "missing required version argument"
 msgstr "parmetro requerido de la versin que falta"
 
-#: ../lib/loadsave.php:893
+#: ../lib/loadsave.php:951
 msgid "no page content"
 msgstr "ningn contenido de la pgina"
 
-#: ../lib/loadsave.php:900
+#: ../lib/loadsave.php:958
 msgid "same version page"
 msgstr "la misma pgina de la versin"
 
-#: ../lib/loadsave.php:907
+#: ../lib/loadsave.php:965
 #, fuzzy
 msgid "Cancelled"
 msgstr "Cancelar"
 
-#: ../lib/loadsave.php:915
+#: ../lib/loadsave.php:973
 msgid "Are you sure?"
 msgstr ""
 
-#: ../lib/loadsave.php:921 ../lib/plugin/PasswordReset.php:104
-#: ../lib/plugin/PasswordReset.php:142 ../lib/plugin/UserPreferences.php:114
-#: ../lib/plugin/WikiAdminChmod.php:146 ../lib/plugin/WikiAdminChown.php:153
-#: ../lib/plugin/WikiAdminMarkup.php:149 ../lib/plugin/WikiAdminRemove.php:188
-#: ../lib/plugin/WikiAdminRename.php:165
+#: ../lib/loadsave.php:979 ../lib/plugin/PasswordReset.php:103
+#: ../lib/plugin/PasswordReset.php:146 ../lib/plugin/UserPreferences.php:114
+#: ../lib/plugin/WatchPage.php:84 ../lib/plugin/WikiAdminChmod.php:146
+#: ../lib/plugin/WikiAdminChown.php:153 ../lib/plugin/WikiAdminMarkup.php:149
+#: ../lib/plugin/WikiAdminRemove.php:188 ../lib/plugin/WikiAdminRename.php:165
 #: ../lib/plugin/WikiAdminSearchReplace.php:180
-#: ../lib/plugin/WikiAdminSetAcl.php:176
+#: ../lib/plugin/WikiAdminSetAcl.php:180
 msgid "Yes"
 msgstr "Si"
 
-#: ../lib/loadsave.php:923 ../lib/plugin/PasswordReset.php:107
-#: ../lib/plugin/PasswordReset.php:145 ../lib/plugin/TranslateText.php:118
-#: ../lib/plugin/UserPreferences.php:116 ../lib/plugin/WikiAdminChmod.php:159
+#: ../lib/loadsave.php:981 ../lib/plugin/PasswordReset.php:106
+#: ../lib/plugin/PasswordReset.php:149 ../lib/plugin/TranslateText.php:118
+#: ../lib/plugin/UserPreferences.php:116 ../lib/plugin/WatchPage.php:86
+#: ../lib/plugin/WatchPage.php:91 ../lib/plugin/WikiAdminChmod.php:159
 #: ../lib/plugin/WikiAdminChown.php:166 ../lib/plugin/WikiAdminMarkup.php:162
 #: ../lib/plugin/WikiAdminRemove.php:214 ../lib/plugin/WikiAdminRename.php:182
 #: ../lib/plugin/WikiAdminSearchReplace.php:194
 #: ../lib/plugin/WikiAdminSelect.php:218 ../lib/plugin/WikiAdminSelect.php:239
-#: ../lib/plugin/WikiAdminSetAcl.php:189 ../lib/plugin/WikiAdminUtils.php:266
-#: ../lib/plugin/WikiFormRich.php:317 ../lib/removepage.php:24
-#: ../lib/upgrade.php:682 ../themes/default/templates/login.tmpl:78
-#: ../themes/default/templates/userprefs.tmpl:243
+#: ../lib/plugin/WikiAdminSetAcl.php:193 ../lib/plugin/WikiAdminUtils.php:296
+#: ../lib/plugin/WikiFormRich.php:310 ../lib/removepage.php:24
+#: ../lib/upgrade.php:808 ../themes/default/templates/login.tmpl:78
+#: ../themes/default/templates/userprefs.tmpl:244
 msgid "Cancel"
 msgstr "Cancelar"
 
-#: ../lib/loadsave.php:938
+#: ../lib/loadsave.php:997
 #, php-format
 msgid "revert to version %d"
 msgstr "invierta a la versin %d"
 
 # lib/msql.php:237 lib/msql.php:312
-#: ../lib/loadsave.php:943
+#: ../lib/loadsave.php:1002
 #, fuzzy, php-format
 msgid "Revert: %s"
 msgstr "Invierta"
 
-#: ../lib/loadsave.php:944
+#: ../lib/loadsave.php:1003
 #, php-format
 msgid "- version %d saved to database as version %d"
 msgstr "- versin %d ahorrada a la base de datos como versin %d"
 
-#: ../lib/loadsave.php:972
+#: ../lib/loadsave.php:1031
 msgid "Default InterWiki map file not loaded."
 msgstr "Archivo del InterMapa de Wiki del defecto no cargado."
 
-#: ../lib/loadsave.php:1122 ../lib/loadsave.php:1135
+#: ../lib/loadsave.php:1210 ../lib/loadsave.php:1223
 msgid "Skipping"
 msgstr "El saltar"
 
-#: ../lib/loadsave.php:1236
+#: ../lib/loadsave.php:1324
 #, php-format
-msgid "Unable to load: %s"
-msgstr "Incapaz cargar:  %s"
+msgid "Empty or not existing source. Unable to load: %s"
+msgstr ""
 
-#: ../lib/loadsave.php:1243
+#: ../lib/loadsave.php:1331
 #, php-format
 msgid "Bad file type: %s"
 msgstr "Mal tipo del archivo:  %s"
 
-#: ../lib/loadsave.php:1260
+#: ../lib/loadsave.php:1348
 #, php-format
 msgid "Loading '%s'"
 msgstr "'%s' que carga"
 
-#: ../lib/loadsave.php:1298
+#: ../lib/loadsave.php:1386
 msgid "Loading up virgin wiki"
 msgstr "El cargar encima de wiki virginal"
 
-#: ../lib/loadsave.php:1344
+#: ../lib/loadsave.php:1436
 msgid "No uploaded file to upload?"
 msgstr "Ningn archivo uploaded a upload?"
 
-#: ../lib/loadsave.php:1348
+#: ../lib/loadsave.php:1440
 #, php-format
 msgid "Uploading %s"
 msgstr "%s uploading"
 
-#: ../lib/main.php:415
+#: ../lib/main.php:440
 msgid "FORBIDDEN"
 msgstr "PROHIBIDO"
 
-#: ../lib/main.php:416 ../lib/main.php:426
+#: ../lib/main.php:441 ../lib/main.php:451
 msgid "ANON"
 msgstr "ANN"
 
-#: ../lib/main.php:417
+#: ../lib/main.php:442
 msgid "BOGO"
 msgstr "BOGO"
 
-#: ../lib/main.php:418
+#: ../lib/main.php:443
 msgid "USER"
 msgstr "USUARIO"
 
-#: ../lib/main.php:419
+#: ../lib/main.php:444
 msgid "ADMIN"
 msgstr "ADMIN"
 
-#: ../lib/main.php:420
+#: ../lib/main.php:445
 msgid "UNOBTAINABLE"
 msgstr "INALCANZABLE"
 
-#: ../lib/main.php:448 ../lib/main.php:467
+#: ../lib/main.php:473 ../lib/main.php:492
 #, php-format
 msgid "%s is disallowed on this wiki."
 msgstr "%s se rechaza en este wiki."
 
-#: ../lib/main.php:456
+#: ../lib/main.php:481
 msgid "authenticated"
 msgstr "authenticado"
 
-#: ../lib/main.php:456
+#: ../lib/main.php:481
 msgid "not authenticated"
 msgstr "non authenticado"
 
-#: ../lib/main.php:457
+#: ../lib/main.php:483
+msgid "Missing PagePermission:"
+msgstr "Permiso que falta de la pgina:"
+
+#: ../lib/main.php:482
 #, php-format
 msgid "%s %s %s is disallowed on this wiki for %s user '%s' (level: %s)."
 msgstr ""
 "%s %s %s se rechaza en este wiki para el usuario '%s' de %s (llano:  %s)."
 
-#: ../lib/main.php:458
-msgid "Missing PagePermission:"
-msgstr "Permiso que falta de la pgina:"
-
-#: ../lib/main.php:475
+#: ../lib/main.php:500
 #, php-format
 msgid "You must sign in to %s."
 msgstr "Usted debe firmar adentro %s."
 
-#: ../lib/main.php:477
+#: ../lib/main.php:502
 #, php-format
 msgid "You must log in to %s."
 msgstr "Usted debe abrirse una sesin %s."
 
-#: ../lib/main.php:479
+#: ../lib/main.php:504
+#, fuzzy
+msgid "You must log in first"
+msgstr "Usted debe abrirse una sesin %s."
+
+#: ../lib/main.php:506
 #, php-format
 msgid "Access for you is forbidden to %s."
 msgstr "Tenga acceso para usted se prohbe %s."
 
-#: ../lib/main.php:481 ../lib/plugin/PluginManager.php:65
+#: ../lib/main.php:508 ../lib/plugin/PluginManager.php:65
 #, php-format
 msgid "You must be an administrator to %s."
 msgstr "Usted debe ser administrador %s."
 
-#: ../lib/main.php:493
+#: ../lib/main.php:521
 msgid "view this page"
 msgstr "para visin esta pgina"
 
-#: ../lib/main.php:494
+#: ../lib/main.php:522
 msgid "diff this page"
 msgstr "para diff esta pgina"
 
-#: ../lib/main.php:495
+#: ../lib/main.php:523
 msgid "dump html pages"
 msgstr "para las pginas del HTML de la descarga"
 
-#: ../lib/main.php:496
+#: ../lib/main.php:524
 msgid "dump serial pages"
 msgstr "para las pginas del cuento por entregas de la descarga"
 
-#: ../lib/main.php:497
+#: ../lib/main.php:525
 msgid "edit this page"
 msgstr "para corregir esta pgina"
 
-#: ../lib/main.php:498
+#: ../lib/main.php:526
 msgid "revert to a previous version of this page"
 msgstr "para invertir a una versin anterior de esta pgina"
 
-#: ../lib/main.php:499
+#: ../lib/main.php:527
 msgid "create this page"
 msgstr "para crear esta pgina"
 
-#: ../lib/main.php:500
+#: ../lib/main.php:528
 msgid "load files into this wiki"
 msgstr "para cargue los archivos en este wiki"
 
-#: ../lib/main.php:501
+#: ../lib/main.php:529
 msgid "lock this page"
 msgstr "para trabar esta pgina"
 
-#: ../lib/main.php:502
+#: ../lib/main.php:530
 msgid "remove this page"
 msgstr "para quitar esta pgina"
 
-#: ../lib/main.php:503
+#: ../lib/main.php:531
 msgid "unlock this page"
 msgstr "para desbloquear pgina"
 
-#: ../lib/main.php:504
+#: ../lib/main.php:532
 msgid "upload a zip dump"
 msgstr "para upload una descarga del cierre relmpago"
 
 # lib/pageinfo.php:70
-#: ../lib/main.php:505
+#: ../lib/main.php:533
 msgid "verify the current action"
 msgstr "para verificar la accin actual"
 
-#: ../lib/main.php:506
+#: ../lib/main.php:534
 msgid "view the source of this page"
 msgstr "para visin la fuente de esta pgina"
 
-#: ../lib/main.php:507
+#: ../lib/main.php:535
 msgid "access this wiki via XML-RPC"
 msgstr "para tener acceso a este wiki va Xml-RPC"
 
-#: ../lib/main.php:508
+#: ../lib/main.php:536
 msgid "access this wiki via SOAP"
 msgstr "para tener acceso a este wiki va SOAP"
 
-#: ../lib/main.php:509
+#: ../lib/main.php:537
 msgid "download a zip dump from this wiki"
 msgstr "para descargar un cierre relmpago descargue de este wiki"
 
-#: ../lib/main.php:510
+#: ../lib/main.php:538
 msgid "download a html zip dump from this wiki"
 msgstr "para descargar un HTML relampague la descarga de este wiki"
 
-#: ../lib/main.php:534
+#: ../lib/main.php:562
 msgid "Browsing pages"
 msgstr "Pginas el hojear"
 
-#: ../lib/main.php:535
+#: ../lib/main.php:563
 msgid "Diffing pages"
 msgstr ""
 
-#: ../lib/main.php:536
+#: ../lib/main.php:564
 msgid "Dumping html pages"
 msgstr ""
 
-#: ../lib/main.php:537
+#: ../lib/main.php:565
 msgid "Dumping serial pages"
 msgstr ""
 
-#: ../lib/main.php:538
+#: ../lib/main.php:566
 msgid "Editing pages"
 msgstr ""
 
-#: ../lib/main.php:539
+#: ../lib/main.php:567
 msgid "Reverting to a previous version of pages"
 msgstr ""
 
-#: ../lib/main.php:540
+#: ../lib/main.php:568
 msgid "Creating pages"
 msgstr ""
 
-#: ../lib/main.php:541
+#: ../lib/main.php:569
 msgid "Loading files"
 msgstr ""
 
-#: ../lib/main.php:542
+#: ../lib/main.php:570
 msgid "Locking pages"
 msgstr "Bloquear pginas"
 
-#: ../lib/main.php:543
+#: ../lib/main.php:571
 msgid "Removing pages"
 msgstr "Borrar pginas"
 
-#: ../lib/main.php:544
+#: ../lib/main.php:572
 msgid "Unlocking pages"
 msgstr "Desbloquear pginas"
 
-#: ../lib/main.php:545
+#: ../lib/main.php:573
 msgid "Uploading zip dumps"
 msgstr ""
 
 # lib/pageinfo.php:70
-#: ../lib/main.php:546
+#: ../lib/main.php:574
 msgid "Verify the current action"
 msgstr ""
 
-#: ../lib/main.php:547
+#: ../lib/main.php:575
 msgid "Viewing the source of pages"
 msgstr ""
 
-#: ../lib/main.php:548
+#: ../lib/main.php:576
 msgid "XML-RPC access"
 msgstr ""
 
-#: ../lib/main.php:549
+#: ../lib/main.php:577
 msgid "SOAP access"
 msgstr ""
 
-#: ../lib/main.php:550
+#: ../lib/main.php:578
 msgid "Downloading zip dumps"
 msgstr ""
 
-#: ../lib/main.php:551
+#: ../lib/main.php:579
 msgid "Downloading html zip dumps"
 msgstr ""
 
-#: ../lib/main.php:685
+#: ../lib/main.php:720
 #, php-format
 msgid "%s: action forwarded to a moderator."
 msgstr "%s: accin remitida a un asesor."
 
-#: ../lib/main.php:688
+#: ../lib/main.php:723
 msgid "This action requires moderator approval. Please be patient."
 msgstr ""
 "Esta accin requiere la aprobacin del asesor.  Sea por favor paciente."
 
-#: ../lib/main.php:693
+#: ../lib/main.php:728
 msgid "You must wait for moderator approval."
 msgstr "Usted debe esperar la aprobacin del asesor."
 
-#: ../lib/main.php:698 ../lib/main.php:1051 ../lib/plugin/ModeratedPage.php:41
-#: ../lib/plugin/ModeratedPage.php:137 ../lib/plugin/ModeratedPage.php:205
-#: ../lib/plugin/ModeratedPage.php:238 ../lib/plugin/ModeratedPage.php:241
-#: ../lib/plugin/ModeratedPage.php:243 ../lib/plugin/ModeratedPage.php:245
-#: ../lib/plugin/ModeratedPage.php:324
-msgid "ModeratedPage"
-msgstr "PginaModerada"
-
-#: ../lib/main.php:714
+#: ../lib/main.php:749 ../lib/plugin/ModeratedPage.php:310
 #, php-format
 msgid "%s: Bad action"
 msgstr "%s: Mala accin"
 
-#: ../lib/main.php:731
+#: ../lib/main.php:766
 msgid "Fatal PhpWiki Error"
 msgstr "Error Fatal De PhpWiki"
 
-#: ../lib/main.php:980 ../lib/plugin/WikiAdminChown.php:183
+#: ../lib/main.php:1019 ../lib/plugin/WikiAdminChown.php:183
 msgid "Chown"
 msgstr "Cambie a dueo"
 
-#: ../lib/main.php:984 ../lib/plugin/WikiAdminSetAcl.php:183
+#: ../lib/main.php:1023 ../lib/plugin/WikiAdminSetAcl.php:187
 msgid "SetAcl"
 msgstr "Fije El Acl"
 
-#: ../lib/main.php:988 ../lib/plugin/WikiAdminRename.php:208
+#: ../lib/main.php:1027 ../lib/plugin/WikiAdminRename.php:208
 msgid "Rename"
 msgstr "Retitule"
 
-#: ../lib/main.php:992 ../lib/main.php:997 ../lib/plugin/PageDump.php:36
+#: ../lib/main.php:1031 ../lib/main.php:1036 ../lib/plugin/PageDump.php:36
 #: ../themes/Crao/templates/actionbar.tmpl:28
-#: ../themes/MonoBook/templates/actionbar.tmpl:48
-#: ../themes/Wordpress/templates/actionbar.tmpl:75
-#: ../themes/default/templates/actionbar.tmpl:35
+#: ../themes/MonoBook/templates/actionbar.tmpl:69
+#: ../themes/Wordpress/templates/actionbar.tmpl:76
+#: ../themes/default/templates/actionbar.tmpl:37
 #: ../themes/shamino_com/templates/actionbar.tmpl:22
-#: ../themes/shamino_com/templates/info.tmpl:168
-#: ../themes/smaller/templates/actionbar.tmpl:39
+#: ../themes/smaller/templates/actionbar.tmpl:41
 #: ../themes/smaller/templates/info.tmpl:11
 msgid "PageDump"
 msgstr "DescargeDeLaPgina"
 
 # lib/fullsearch.php:48
-#: ../lib/main.php:1011 ../lib/plugin/FullTextSearch.php:39
-#: ../lib/plugin/WantedPagesOld.php:134
+#: ../lib/main.php:1050 ../lib/plugin/FullTextSearch.php:45
 msgid "FullTextSearch"
 msgstr "BsquedaDelTexto"
 
-#: ../lib/main.php:1161
+#: ../lib/main.php:1222
 msgid "The session.save_path directory"
 msgstr "El directorio de session.save_path"
 
-#: ../lib/main.php:1164
+#: ../lib/main.php:1225
 #, php-format
 msgid "the session.save_path directory '%s'"
 msgstr "el directorio '%s' de session.save_path"
 
-#: ../lib/main.php:1168
+#: ../lib/main.php:1229
 #, php-format
 msgid "Attempting to use the directory '%s' instead."
 msgstr "El procurar utilizar el directorio '%s' en lugar de otro."
 
-#: ../lib/main.php:1175
+#: ../lib/main.php:1236
 msgid "Users will not be able to sign in."
 msgstr "Los usuarios no podrn firmar adentro."
 
@@ -2066,8 +2341,8 @@
 msgid "Click to display all comments"
 msgstr ""
 
-#: ../lib/plugin/AddComment.php:111 ../lib/plugin/CreateToc.php:372
-#: ../lib/plugin/CreateToc.php:377
+#: ../lib/plugin/AddComment.php:111 ../lib/plugin/CreateToc.php:381
+#: ../lib/plugin/CreateToc.php:401
 msgid "Click to display"
 msgstr ""
 
@@ -2075,7 +2350,7 @@
 msgid "Comments"
 msgstr ""
 
-#: ../lib/plugin/AllPages.php:34
+#: ../lib/plugin/AllPages.php:34 ../themes/MonoBook/templates/navbar.tmpl:78
 msgid "AllPages"
 msgstr "TodasLasPginas"
 
@@ -2088,22 +2363,22 @@
 msgid "All pages in this wiki (%d total):"
 msgstr ""
 
-#: ../lib/plugin/AllPages.php:77 ../lib/plugin/LinkDatabase.php:83
+#: ../lib/plugin/AllPages.php:77 ../lib/plugin/LinkDatabase.php:84
 #, php-format
 msgid "List of pages owned by [%s] (%d total):"
 msgstr ""
 
-#: ../lib/plugin/AllPages.php:87 ../lib/plugin/LinkDatabase.php:90
+#: ../lib/plugin/AllPages.php:89 ../lib/plugin/LinkDatabase.php:91
 #, php-format
 msgid "List of pages last edited by [%s] (%d total):"
 msgstr ""
 
-#: ../lib/plugin/AllPages.php:97 ../lib/plugin/LinkDatabase.php:97
+#: ../lib/plugin/AllPages.php:101 ../lib/plugin/LinkDatabase.php:98
 #, php-format
 msgid "List of pages created by [%s] (%d total):"
 msgstr ""
 
-#: ../lib/plugin/AllPages.php:126 ../lib/plugin/AllUsers.php:105
+#: ../lib/plugin/AllPages.php:133 ../lib/plugin/AllUsers.php:105
 #, php-format
 msgid "Elapsed time: %s s"
 msgstr ""
@@ -2121,119 +2396,120 @@
 msgid "Authenticated users on this wiki (%d total):"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:143
-#: ../lib/plugin/AnalyseAccessLogSql.php:168
+#: ../lib/plugin/AnalyseAccessLogSql.php:162
+#: ../lib/plugin/AnalyseAccessLogSql.php:197
 msgid "0 - last minute"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:144
-#: ../lib/plugin/AnalyseAccessLogSql.php:169
+#: ../lib/plugin/AnalyseAccessLogSql.php:163
+#: ../lib/plugin/AnalyseAccessLogSql.php:198
 msgid "1 - 1 minute to 1 hour"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:145
-#: ../lib/plugin/AnalyseAccessLogSql.php:170
+#: ../lib/plugin/AnalyseAccessLogSql.php:164
+#: ../lib/plugin/AnalyseAccessLogSql.php:199
 msgid "2 - 1 hour to 1 day"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:146
-#: ../lib/plugin/AnalyseAccessLogSql.php:171
+#: ../lib/plugin/AnalyseAccessLogSql.php:165
+#: ../lib/plugin/AnalyseAccessLogSql.php:200
 msgid "3 - 1 day to 1 week"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:147
-#: ../lib/plugin/AnalyseAccessLogSql.php:172
+#: ../lib/plugin/AnalyseAccessLogSql.php:166
+#: ../lib/plugin/AnalyseAccessLogSql.php:201
 msgid "4 - 1 week to 1 month"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:148
-#: ../lib/plugin/AnalyseAccessLogSql.php:173
+#: ../lib/plugin/AnalyseAccessLogSql.php:167
+#: ../lib/plugin/AnalyseAccessLogSql.php:202
 msgid "5 - 1 month to 1 year"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:149
-#: ../lib/plugin/AnalyseAccessLogSql.php:174
+#: ../lib/plugin/AnalyseAccessLogSql.php:168
+#: ../lib/plugin/AnalyseAccessLogSql.php:203
 msgid "6 - more than 1 year"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:193
+#: ../lib/plugin/AnalyseAccessLogSql.php:222
 msgid "referring_urls"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:194
+#: ../lib/plugin/AnalyseAccessLogSql.php:223
 msgid "external_referers"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:195
+#: ../lib/plugin/AnalyseAccessLogSql.php:224
 msgid "referring_domains"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:196
+#: ../lib/plugin/AnalyseAccessLogSql.php:225
 msgid "remote_hosts"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:197
+#: ../lib/plugin/AnalyseAccessLogSql.php:226
 msgid "users"
 msgstr "usuarios"
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:198
+#: ../lib/plugin/AnalyseAccessLogSql.php:227
 msgid "host_users"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:199
+#: ../lib/plugin/AnalyseAccessLogSql.php:228
 msgid "search_bots"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:200
+#: ../lib/plugin/AnalyseAccessLogSql.php:229
 msgid "search_bots_hits"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:202
+#: ../lib/plugin/AnalyseAccessLogSql.php:231
 msgid "minutes"
 msgstr "minutas"
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:203
+#: ../lib/plugin/AnalyseAccessLogSql.php:232
 msgid "hours"
 msgstr "horas"
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:204 ../lib/plugin/VisualWiki.php:499
+#: ../lib/plugin/AnalyseAccessLogSql.php:233 ../lib/plugin/VisualWiki.php:503
 msgid "days"
 msgstr "dias"
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:205
+#: ../lib/plugin/AnalyseAccessLogSql.php:234
 msgid "weeks"
 msgstr "semanas"
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:223
+#: ../lib/plugin/AnalyseAccessLogSql.php:252
 msgid "AnalyseAccessLogSql"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:227
+#: ../lib/plugin/AnalyseAccessLogSql.php:256
 msgid "Show summary information from the access log table."
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:240
+#: ../lib/plugin/AnalyseAccessLogSql.php:269
 msgid "The requested information is available only to Administrators."
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:243
+#: ../lib/plugin/AnalyseAccessLogSql.php:272
 msgid "The SQL_ACCESS_LOG is not enabled."
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:254
+#: ../lib/plugin/AnalyseAccessLogSql.php:283
 #, php-format
 msgid "Unrecognised parameter 'mode=%s'"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:273 ../lib/plugin/_BackendInfo.php:97
+#: ../lib/plugin/AnalyseAccessLogSql.php:302
+#: ../lib/plugin/SemanticSearch.php:382 ../lib/plugin/_BackendInfo.php:124
 msgid "<empty>"
 msgstr "<vaco>"
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:342
+#: ../lib/plugin/AnalyseAccessLogSql.php:382
 msgid "mode"
 msgstr "modo"
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:344
+#: ../lib/plugin/AnalyseAccessLogSql.php:384
 #, fuzzy
 msgid "period"
 msgstr "versin %d"
@@ -2277,10 +2553,18 @@
 msgid "Render ASCII Math as MathML"
 msgstr ""
 
+#: ../lib/plugin/AsciiSVG.php:32
+msgid "AsciiSVG"
+msgstr ""
+
+#: ../lib/plugin/AsciiSVG.php:36
+msgid "Render inline ASCII SVG"
+msgstr ""
+
 #: ../lib/plugin/AuthorHistory.php:70
+#: ../themes/MonoBook/templates/actionbar.tmpl:67
 #: ../themes/MonoBook/templates/info.tmpl:168
 #: ../themes/blog/templates/info.tmpl:3
-#: ../themes/shamino_com/templates/info.tmpl:167
 #: ../themes/smaller/templates/info.tmpl:7
 msgid "AuthorHistory"
 msgstr ""
@@ -2298,9 +2582,8 @@
 
 #: ../lib/plugin/AuthorHistory.php:125
 #: ../themes/MonoBook/templates/info.tmpl:77
-#: ../themes/default/templates/info.tmpl:70
+#: ../themes/default/templates/info.tmpl:69
 #: ../themes/default/templates/wikiforum.tmpl:22
-#: ../themes/shamino_com/templates/info.tmpl:76
 msgid "Author"
 msgstr ""
 
@@ -2309,12 +2592,9 @@
 #: ../themes/Crao/templates/editpage.tmpl:48
 #: ../themes/MonoBook/templates/info.tmpl:78
 #: ../themes/Portland/templates/editpage.tmpl:39
-#: ../themes/Wordpress/templates/editpage.tmpl:48
-#: ../themes/blog/templates/blogform.tmpl:15
-#: ../themes/default/templates/blogform.tmpl:15
+#: ../themes/Wordpress/templates/editpage.tmpl:46
 #: ../themes/default/templates/editpage.tmpl:47
-#: ../themes/default/templates/info.tmpl:71
-#: ../themes/shamino_com/templates/info.tmpl:77
+#: ../themes/default/templates/info.tmpl:70
 msgid "Summary"
 msgstr "Comentarios"
 
@@ -2327,63 +2607,67 @@
 msgid "History of all major and minor edits by %s to page %s."
 msgstr ""
 
-#: ../lib/plugin/AuthorHistory.php:156
-#, php-format
-msgid "History of all major edits by %s to page %s."
-msgstr ""
-
 #: ../lib/plugin/AuthorHistory.php:218
 #, php-format
 msgid "History of all major and minor modifications for any page edited by %s."
 msgstr ""
 
-#: ../lib/plugin/AuthorHistory.php:218
-#, php-format
-msgid "History of major modifications for any page edited by %s."
-msgstr ""
-
 #: ../lib/plugin/BackLinks.php:35
 #, php-format
 msgid "List all pages which link to %s."
 msgstr "Enumere todas las pginas que se liguen a %s."
 
-#: ../lib/plugin/BackLinks.php:70 ../lib/plugin/ListPages.php:122
+#: ../lib/plugin/BackLinks.php:73 ../lib/plugin/ListPages.php:122
 #: ../lib/plugin/ListPages.php:125 ../lib/plugin/ListSubpages.php:89
 msgid "#"
 msgstr "#"
 
-#: ../lib/plugin/BackLinks.php:96
+#: ../lib/plugin/BackLinks.php:126
 #, php-format
 msgid "No other page links to %s yet."
 msgstr ""
 
-#: ../lib/plugin/BackLinks.php:99
+#: ../lib/plugin/BackLinks.php:129
 #, php-format
 msgid "One page would link to %s:"
 msgstr ""
 
-#: ../lib/plugin/BackLinks.php:108
+#: ../lib/plugin/BackLinks.php:138
 #, php-format
 msgid "%s pages would link to %s:"
 msgstr ""
 
-#: ../lib/plugin/BackLinks.php:116
+#: ../lib/plugin/BackLinks.php:147 ../lib/plugin/SemanticSearch.php:129
+#: ../lib/plugin/SemanticSearch.php:205
+msgid "AND"
+msgstr ""
+
+#: ../lib/plugin/BackLinks.php:153
 #, php-format
 msgid "No page links to %s."
 msgstr ""
 
-#: ../lib/plugin/BackLinks.php:121
+#: ../lib/plugin/BackLinks.php:158
 #, php-format
 msgid "One page links to %s:"
 msgstr ""
 
-#: ../lib/plugin/BackLinks.php:130
+#: ../lib/plugin/BackLinks.php:168
+#, fuzzy
+msgid "Those"
+msgstr "Cierre"
+
+#: ../lib/plugin/BackLinks.php:167
 #, php-format
 msgid "%s pages link to %s:"
 msgstr ""
 
+#: ../lib/plugin/BackLinks.php:176
+msgid "More..."
+msgstr ""
+
 #: ../lib/plugin/BlogArchives.php:24 ../lib/plugin/BlogArchives.php:134
-#: ../themes/blog/templates/actionbar.tmpl:17
+#: ../themes/blog/templates/actionbar.tmpl:11
 msgid "Archives"
 msgstr ""
 
@@ -2391,13 +2675,13 @@
 msgid "List blog months links for the current or ADMIN user"
 msgstr ""
 
-#: ../lib/plugin/BlogArchives.php:88 ../lib/plugin/BlogJournal.php:85
+#: ../lib/plugin/BlogArchives.php:88 ../lib/plugin/BlogJournal.php:88
 #, php-format
 msgid "Blog Entries for %s:"
 msgstr ""
 
 #: ../lib/plugin/BlogArchives.php:96
-#: ../themes/blog/templates/actionbar.tmpl:17
+#: ../themes/blog/templates/actionbar.tmpl:11
 msgid "BlogArchives"
 msgstr ""
 
@@ -2413,38 +2697,32 @@
 msgid "Include latest blog entries for the current or ADMIN user"
 msgstr ""
 
-#: ../lib/plugin/BlogJournal.php:81 ../lib/plugin/WikiBlog.php:75
-msgid "WikiBlog"
+#: ../lib/plugin/BlogJournal.php:84
+msgid "New entry"
 msgstr ""
 
-#: ../lib/plugin/BlogJournal.php:83
+#: ../lib/plugin/BlogJournal.php:86
 msgid "No Blog Entries"
 msgstr ""
 
-#: ../lib/plugin/Calendar.php:41 ../lib/plugin/Calendar.php:45
-#: ../themes/Crao/templates/head.tmpl:89
-#: ../themes/Crao/templates/navbar.tmpl:28
-#: ../themes/Sidebar/templates/body.tmpl:21
-#: ../themes/Sidebar/templates/body.tmpl:26 ../themes/Sidebar/themeinfo.php:44
-#: ../themes/Wordpress/templates/actionbar.tmpl:31
-#: ../themes/blog/templates/sidebar.tmpl:18
-#: ../themes/default/templates/head.tmpl:96
-#: ../themes/default/templates/homepage.tmpl:15
-#: ../themes/default/templates/navbar.tmpl:45
-#: ../themes/wikilens/templates/head.tmpl:89
-#: ../themes/wikilens/templates/navbar.tmpl:35
-msgid "Calendar"
-msgstr "Calendario"
+#: ../lib/plugin/BoxRight.php:34
+msgid "A simple plugin for <div class=boxright> with wikimarkup"
+msgstr ""
 
-#: ../lib/plugin/Calendar.php:95
+#: ../lib/plugin/Calendar.php:96
 msgid "Previous Month"
 msgstr "Mes Anterior"
 
-#: ../lib/plugin/Calendar.php:99
+#: ../lib/plugin/Calendar.php:100
 msgid "Next Month"
 msgstr "El Mes Prximo"
 
-#: ../lib/plugin/Calendar.php:169 ../lib/plugin/CalendarList.php:135
+#: ../lib/plugin/Calendar.php:133
+#, fuzzy
+msgid "Wk"
+msgstr "An"
+
+#: ../lib/plugin/Calendar.php:174 ../lib/plugin/CalendarList.php:135
 #, php-format
 msgid "Edit %s"
 msgstr "Editar %s"
@@ -2463,8 +2741,6 @@
 msgstr "Cree una pgina de Wiki."
 
 #: ../lib/plugin/Comment.php:22 ../themes/Crao/templates/blogform.tmpl:15
-#: ../themes/blog/templates/blogform.tmpl:21
-#: ../themes/default/templates/blogform.tmpl:21
 msgid "Comment"
 msgstr "Commentario"
 
@@ -2481,26 +2757,26 @@
 msgid "Automatically create a Bibtex file from linked pages"
 msgstr ""
 
-#: ../lib/plugin/CreateBib.php:121 ../lib/plugin/CreateToc.php:302
-#: ../lib/plugin/IncludePage.php:77 ../lib/plugin/RateIt.php:208
-#: ../lib/plugin/Template.php:102
+#: ../lib/plugin/CreateBib.php:121 ../lib/plugin/CreateToc.php:306
+#: ../lib/plugin/IncludePage.php:77 ../lib/plugin/RateIt.php:207
+#: ../lib/plugin/Template.php:110
 msgid "no page specified"
 msgstr ""
 
-#: ../lib/plugin/CreatePage.php:39
+#: ../lib/plugin/CreatePage.php:42
 msgid "CreatePage"
 msgstr "CreeLaPgina"
 
-#: ../lib/plugin/CreatePage.php:43
+#: ../lib/plugin/CreatePage.php:46
 msgid "Create a Wiki page by the provided name."
 msgstr ""
 
-#: ../lib/plugin/CreatePage.php:92
+#: ../lib/plugin/CreatePage.php:96
 #, php-format
 msgid "%s already exists"
 msgstr ""
 
-#: ../lib/plugin/CreatePage.php:103
+#: ../lib/plugin/CreatePage.php:112
 msgid "Created by CreatePage"
 msgstr "Cree par CreeLaPgina"
 
@@ -2512,42 +2788,46 @@
 msgid "Automatically link headers at the top"
 msgstr ""
 
-#: ../lib/plugin/CreateToc.php:313
+#: ../lib/plugin/CreateToc.php:317
 msgid "CreateToc disabled for old markup"
 msgstr ""
 
-#: ../lib/plugin/CreateToc.php:369
+#: ../lib/plugin/CreateToc.php:377
 msgid "Click to hide the TOC"
 msgstr ""
 
-#: ../lib/plugin/CreateToc.php:379 ../lib/plugin/CreateToc.php:382
+#: ../lib/plugin/CreateToc.php:386 ../lib/plugin/CreateToc.php:403
 msgid "Table Of Contents"
 msgstr ""
 
+#: ../lib/plugin/CreateToc.php:392
+msgid "Click to display to TOC"
+msgstr ""
+
 #: ../lib/plugin/DeadEndPages.php:24
 msgid "DeadEndPages"
 msgstr ""
 
-#: ../lib/plugin/Diff.php:40
+#: ../lib/plugin/Diff.php:41
 msgid "Display differences between revisions"
 msgstr ""
 
-#: ../lib/plugin/Diff.php:52
+#: ../lib/plugin/Diff.php:53
 msgid "World"
 msgstr ""
 
-#: ../lib/plugin/EditMetaData.php:45 ../lib/plugin/_WikiTranslation.php:61
+#: ../lib/plugin/EditMetaData.php:48 ../lib/plugin/_WikiTranslation.php:61
 msgid "EditMetaData"
 msgstr ""
 
-#: ../lib/plugin/EditMetaData.php:49
+#: ../lib/plugin/EditMetaData.php:52
 #, php-format
 msgid "Edit metadata for %s"
 msgstr ""
 
-#: ../lib/plugin/EditMetaData.php:109
+#: ../lib/plugin/EditMetaData.php:132
 #, php-format
-msgid "Existing page-level metadata for %s:"
+msgid "No metadata for %s"
 msgstr ""
 
 #: ../lib/plugin/EditMetaData.php:146
@@ -2556,23 +2836,28 @@
 "remove a key by leaving the value-box empty."
 msgstr ""
 
-#: ../lib/plugin/EditMetaData.php:149 ../lib/upgrade.php:680
+#: ../lib/plugin/EditMetaData.php:149 ../lib/upgrade.php:806
 msgid "Submit"
 msgstr ""
 
-#: ../lib/plugin/EditMetaData.php:161
+#: ../lib/plugin/EditMetaData.php:164
 msgid "Requires WikiAdmin privileges to edit."
 msgstr ""
 
 # lib/fullsearch.php:48
-#: ../lib/plugin/ExternalSearch.php:38
+#: ../lib/plugin/ExternalSearch.php:40
 msgid "ExternalSearch"
 msgstr ""
 
-#: ../lib/plugin/ExternalSearch.php:42
+#: ../lib/plugin/ExternalSearch.php:44
 msgid "Redirects to an external web site based on form input"
 msgstr ""
 
+#: ../lib/plugin/ExternalSearch.php:140 ../lib/plugin/PhotoAlbum.php:479
+#, php-format
+msgid "Invalid argument: %s=%s"
+msgstr ""
+
 # lib/pageinfo.php:26 lib/pageinfo.php:75
 #: ../lib/plugin/FileInfo.php:39
 #, fuzzy
@@ -2583,13 +2868,23 @@
 msgid "Display file information like version,size,date,... of uploaded files."
 msgstr ""
 
-#: ../lib/plugin/FileInfo.php:63 ../lib/plugin/FileInfo.php:65
-#: ../lib/plugin/PageGroup.php:104 ../lib/plugin/WikiFormRich.php:163
-#: ../lib/plugin/WikiFormRich.php:179
+#: ../lib/plugin/FileInfo.php:64 ../lib/plugin/FileInfo.php:66
+#: ../lib/plugin/PageGroup.php:104 ../lib/plugin/SyncWiki.php:75
+#: ../lib/plugin/WikiFormRich.php:177 ../lib/plugin/WikiFormRich.php:193
 #, php-format
 msgid "A required argument '%s' is missing."
 msgstr ""
 
+#: ../lib/plugin/FileInfo.php:85
+msgid ""
+"Output suppressed. FileInfoPlugin with local files require a locked page."
+msgstr ""
+
+#: ../lib/plugin/FileInfo.php:86
+#, fuzzy
+msgid "page not locked"
+msgstr "Pgina bloqueada."
+
 #: ../lib/plugin/FoafViewer.php:52
 msgid "FoafViewer"
 msgstr ""
@@ -2637,7 +2932,7 @@
 msgstr ""
 
 #: ../lib/plugin/FrameInclude.php:93 ../lib/plugin/IncludePage.php:84
-#: ../lib/plugin/Template.php:108
+#: ../lib/plugin/Template.php:116
 #, php-format
 msgid "recursive inclusion of page %s"
 msgstr ""
@@ -2647,32 +2942,33 @@
 msgid "%s or %s parameter missing"
 msgstr ""
 
-#: ../lib/plugin/FrameInclude.php:105 ../lib/plugin/Transclude.php:81
+#: ../lib/plugin/FrameInclude.php:105 ../lib/plugin/Transclude.php:91
 #, php-format
 msgid "recursive inclusion of url %s"
 msgstr ""
 
-#: ../lib/plugin/FrameInclude.php:112 ../lib/plugin/TeX2png.php:216
-#: ../lib/plugin/text2png.php:69 ../lib/plugin/text2png.php:122
+#: ../lib/plugin/FrameInclude.php:112 ../lib/plugin/SemanticSearch.php:263
+#: ../lib/plugin/TeX2png.php:216 ../lib/plugin/text2png.php:87
+#: ../lib/plugin/text2png.php:173
 #, php-format
 msgid "See %s"
 msgstr ""
 
-#: ../lib/plugin/FullTextSearch.php:43
+#: ../lib/plugin/FullTextSearch.php:49
 msgid "Search the content of all pages in this wiki."
 msgstr ""
 
-#: ../lib/plugin/FullTextSearch.php:105
+#: ../lib/plugin/FullTextSearch.php:110
 #, php-format
 msgid "only %d pages displayed"
 msgstr ""
 
-#: ../lib/plugin/FullTextSearch.php:110
+#: ../lib/plugin/FullTextSearch.php:115
 #, php-format
 msgid "Ignored stoplist words '%s'"
 msgstr ""
 
-#: ../lib/plugin/FullTextSearch.php:115
+#: ../lib/plugin/FullTextSearch.php:120
 #, php-format
 msgid "Full text search results for '%s'"
 msgstr "Resultados de la bsqueda en el texto completo para '%s'"
@@ -2719,6 +3015,7 @@
 # lib/pageinfo.php:10 lib/stdlib.php:239
 #: ../lib/plugin/GoTo.php:59 ../lib/plugin/WikiAdminSelect.php:135
 #: ../lib/plugin/WikiAdminSelect.php:146
+#: ../themes/MonoBook/templates/navbar.tmpl:32
 msgid "Go"
 msgstr "Aceptar"
 
@@ -2767,17 +3064,23 @@
 msgid "GraphViz image or imagemap creation of directed graphs"
 msgstr ""
 
-#: ../lib/plugin/GraphViz.php:265 ../lib/plugin/GraphViz.php:335
+#: ../lib/plugin/GraphViz.php:210 ../lib/plugin/_WikiTranslation.php:319
+#, php-format
+msgid "%s is empty"
+msgstr "%s es vaco"
+
+#: ../lib/plugin/GraphViz.php:274
 msgid "No dot graph given"
 msgstr ""
 
 # lib/msql.php:29 lib/mysql.php:36
-#: ../lib/plugin/GraphViz.php:276 ../lib/plugin/SyntaxHighlighter.php:173
+#: ../lib/plugin/GraphViz.php:282 ../lib/plugin/GraphViz.php:290
+#: ../lib/plugin/SpellCheck.php:143 ../lib/plugin/SyntaxHighlighter.php:173
 #, php-format
 msgid "Couldn't start commandline '%s'"
 msgstr ""
 
-#: ../lib/plugin/GraphViz.php:279 ../lib/plugin/Ploticus.php:239
+#: ../lib/plugin/GraphViz.php:294 ../lib/plugin/Ploticus.php:248
 #, php-format
 msgid "%s error: outputfile '%s' not created"
 msgstr ""
@@ -2794,11 +3097,6 @@
 msgid "Convert HTML markup into wiki markup. (Version 0.5)"
 msgstr ""
 
-#: ../lib/plugin/HtmlConverter.php:66 ../lib/plugin/UpLoad.php:115
-#: ../lib/plugin/WikiForm.php:103
-msgid "Upload"
-msgstr ""
-
 #: ../lib/plugin/HtmlConverter.php:78
 msgid "Only files with extension HTML are allowed"
 msgstr ""
@@ -2807,6 +3105,10 @@
 msgid "Copy the output below and paste it into your Wiki page."
 msgstr ""
 
+#: ../lib/plugin/Imdb.php:55
+msgid "Query a local imdb database"
+msgstr ""
+
 #: ../lib/plugin/IncludePage.php:34
 msgid "IncludePage"
 msgstr ""
@@ -2816,7 +3118,7 @@
 msgstr ""
 
 #: ../lib/plugin/IncludePage.php:92 ../lib/plugin/PageGroup.php:131
-#: ../lib/plugin/Template.php:116
+#: ../lib/plugin/Template.php:124
 #, php-format
 msgid "%s(%d): no such revision"
 msgstr ""
@@ -2854,10 +3156,25 @@
 msgid "Perform searches on InterWiki sites listed in InterWikiMap."
 msgstr ""
 
-#: ../lib/plugin/InterWikiSearch.php:90
+#: ../lib/plugin/InterWikiSearch.php:92
 msgid "Wiki Name"
 msgstr "Nombre de la Wiki"
 
+# lib/stdlib.php:207 lib/stdlib.php:215
+#: ../lib/plugin/InterWikiSearch.php:93 ../lib/plugin/RecentChanges.php:724
+#: ../themes/Crao/templates/navbar.tmpl:42
+#: ../themes/Crao/templates/navbar.tmpl:44
+#: ../themes/Crao/templates/navbar.tmpl:48
+#: ../themes/blog/templates/search.tmpl:6
+#: ../themes/blog/templates/search.tmpl:7
+#: ../themes/blog/templates/search.tmpl:9
+#: ../themes/blog/templates/search.tmpl:13
+#: ../themes/default/templates/search.tmpl:6
+#: ../themes/default/templates/search.tmpl:15
+#: ../themes/default/templates/search.tmpl:27
+msgid "Search"
+msgstr "Buscar"
+
 #: ../lib/plugin/JabberPresence.php:23
 #, fuzzy
 msgid "JabberPresence"
@@ -2868,25 +3185,35 @@
 msgstr ""
 
 # lib/stdlib.php:207 lib/stdlib.php:215
-#: ../lib/plugin/LdapSearch.php:57
+#: ../lib/plugin/LdapSearch.php:54
 #, fuzzy
 msgid "LdapSearch"
 msgstr "Buscar"
 
-#: ../lib/plugin/LdapSearch.php:60
+#: ../lib/plugin/LdapSearch.php:57
 msgid "Search an LDAP directory"
 msgstr ""
 
-#: ../lib/plugin/LdapSearch.php:83
-msgid "Failed to set LDAP protocol version to 3"
+#: ../lib/plugin/LdapSearch.php:81
+#, fuzzy
+msgid "Missing ldap extension"
+msgstr "Permiso que falta de la pgina:"
+
+#: ../lib/plugin/LdapSearch.php:103
+#, fuzzy
+msgid "Failed to connect to LDAP host"
+msgstr "Incapaz conectar con el servidor %s de LDAP"
+
+#: ../lib/plugin/LdapSearch.php:136
+msgid "Failed to bind LDAP host"
 msgstr ""
 
 #: ../lib/plugin/LikePages.php:32 ../themes/Crao/templates/navbar.tmpl:16
-#: ../themes/Portland/templates/navbar.tmpl:10
-#: ../themes/Wordpress/templates/actionbar.tmpl:90
+#: ../themes/Portland/templates/navbar.tmpl:7
+#: ../themes/Wordpress/templates/actionbar.tmpl:91
 #: ../themes/default/templates/navbar.tmpl:33
 #: ../themes/smaller/templates/navbar.tmpl:15
-#: ../themes/wikilens/templates/navbar.tmpl:24
+#: ../themes/wikilens/templates/navbar.tmpl:21
 msgid "LikePages"
 msgstr ""
 
@@ -2910,30 +3237,68 @@
 msgid "These pages share an initial or final title word with '%s'"
 msgstr ""
 
-#: ../lib/plugin/LinkDatabase.php:41
-msgid "LinkDatabase"
-msgstr ""
-
-#: ../lib/plugin/LinkDatabase.php:47
+#: ../lib/plugin/LinkDatabase.php:48
 msgid ""
 "List all pages with all links in various formats for some Java Visualization "
 "tools"
 msgstr ""
 
-#: ../lib/plugin/LinkDatabase.php:77
+#: ../lib/plugin/LinkDatabase.php:78
 #, php-format
 msgid "All pages with all links in this wiki (%d total):"
 msgstr ""
 
-#: ../lib/plugin/LinkDatabase.php:109
+#: ../lib/plugin/LinkDatabase.php:111 ../lib/plugin/WantedPages.php:87
 msgid "Links"
 msgstr ""
 
-#: ../lib/plugin/LinkDatabase.php:169
+#: ../lib/plugin/LinkDatabase.php:173
 #, php-format
 msgid "Unsupported format argument %s"
 msgstr ""
 
+# lib/fullsearch.php:48
+#: ../lib/plugin/LinkSearch.php:35 ../lib/plugin/LinkSearch.php:113
+#, fuzzy
+msgid "LinkSearch"
+msgstr "BsquedaDeTtulos"
+
+#: ../lib/plugin/LinkSearch.php:38
+msgid "Search page and link names"
+msgstr ""
+
+#: ../lib/plugin/LinkSearch.php:65 ../lib/plugin/SemanticSearch.php:94
+msgid "Search only in these pages. With autocompletion."
+msgstr ""
+
+#: ../lib/plugin/LinkSearch.php:74 ../lib/plugin/SemanticSearch.php:117
+msgid "Filter by this link. These are pagenames. With autocompletion."
+msgstr ""
+
+# lib/pageinfo.php:70
+#: ../lib/plugin/LinkSearch.php:98
+#, fuzzy
+msgid "outgoing"
+msgstr "Versin actual:"
+
+#: ../lib/plugin/LinkSearch.php:99
+msgid "incoming"
+msgstr ""
+
+#: ../lib/plugin/LinkSearch.php:114
+msgid "Search in pages for links with the matching name."
+msgstr ""
+
+#: ../lib/plugin/LinkSearch.php:148 ../lib/plugin/SemanticSearch.php:305
+#, fuzzy
+msgid "Link"
+msgstr "AcoplamientosTraseros"
+
+#: ../lib/plugin/LinkSearch.php:158
+#, php-format
+msgid "LinkSearch result for \"%s\" in pages \"%s\", direction %s"
+msgstr ""
+
 #: ../lib/plugin/ListPages.php:38
 msgid "ListPages"
 msgstr "ListaPginas"
@@ -2946,6 +3311,17 @@
 msgid "You must be logged in to view ratings."
 msgstr ""
 
+#: ../lib/plugin/ListRelations.php:34
+#, fuzzy
+msgid "ListRelations"
+msgstr "Cancelar"
+
+#: ../lib/plugin/ListRelations.php:37
+msgid ""
+"Display the list of all defined relations and optionnally attributes in this "
+"entrire wiki"
+msgstr ""
+
 #: ../lib/plugin/ListSubpages.php:34
 msgid "ListSubpages"
 msgstr "ListaPginasSecundaria"
@@ -2973,12 +3349,12 @@
 msgid "Support moderated pages"
 msgstr ""
 
-#: ../lib/plugin/ModeratedPage.php:141 ../lib/plugin/ModeratedPage.php:165
-#: ../lib/plugin/ModeratedPage.php:210
+#: ../lib/plugin/ModeratedPage.php:153 ../lib/plugin/ModeratedPage.php:178
+#: ../lib/plugin/ModeratedPage.php:224
 msgid "ModeratedPage: No emails for the moderators defined"
 msgstr ""
 
-#: ../lib/plugin/ModeratedPage.php:147
+#: ../lib/plugin/ModeratedPage.php:159
 #, php-format
 msgid ""
 "ModeratedPage status update:\n"
@@ -2986,12 +3362,12 @@
 "  require_access: '%s'"
 msgstr ""
 
-#: ../lib/plugin/ModeratedPage.php:152
+#: ../lib/plugin/ModeratedPage.php:164
 #, php-format
 msgid "'%s' is no ModeratedPage anymore."
 msgstr ""
 
-#: ../lib/plugin/ModeratedPage.php:171
+#: ../lib/plugin/ModeratedPage.php:184
 #, php-format
 msgid ""
 "ModeratedPage status update: '%s' is now a ModeratedPage.\n"
@@ -2999,34 +3375,43 @@
 "  require_access: '%s'"
 msgstr ""
 
-#: ../lib/plugin/ModeratedPage.php:232
+#: ../lib/plugin/ModeratedPage.php:250
 #, php-format
 msgid "%s: action forwarded to moderator %s"
 msgstr ""
 
-#: ../lib/plugin/ModeratedPage.php:252
+#: ../lib/plugin/ModeratedPage.php:276
 msgid "ModeratedPage Notification Error: Couldn't send email"
 msgstr ""
 
-#: ../lib/plugin/ModeratedPage.php:287
+#: ../lib/plugin/ModeratedPage.php:355
+#, php-format
+msgid "%s approved your wiki action from %s"
+msgstr ""
+
+#: ../lib/plugin/ModeratedPage.php:367
 msgid "Please approve or reject this request:"
 msgstr ""
 
-#: ../lib/plugin/ModeratedPage.php:298
+#: ../lib/plugin/ModeratedPage.php:403
+msgid "Reason: "
+msgstr ""
+
+#: ../lib/plugin/ModeratedPage.php:404
 msgid "Approve"
 msgstr ""
 
-#: ../lib/plugin/ModeratedPage.php:300
+#: ../lib/plugin/ModeratedPage.php:406
 #, fuzzy
 msgid "Reject"
 msgstr "Selecto"
 
-#: ../lib/plugin/ModeratedPage.php:325 ../lib/plugin/ModeratedPage.php:332
+#: ../lib/plugin/ModeratedPage.php:434 ../lib/plugin/ModeratedPage.php:441
 #, php-format
 msgid "<?plugin ModeratedPage ... ?> not found in first line of %s"
 msgstr ""
 
-#: ../lib/plugin/ModeratedPage.php:328
+#: ../lib/plugin/ModeratedPage.php:437
 #, fuzzy, php-format
 msgid "%s is not locked!"
 msgstr "%s: fichero no encontrado"
@@ -3057,6 +3442,15 @@
 msgid "Visited pages on this wiki, ordered by popularity:"
 msgstr ""
 
+#: ../lib/plugin/NewPagesPerUser.php:19
+#, fuzzy
+msgid "NewPagesPerUser"
+msgstr "Pgina nueva"
+
+#: ../lib/plugin/NewPagesPerUser.php:23
+msgid "List all new pages per month per user"
+msgstr ""
+
 #: ../lib/plugin/NoCache.php:39
 msgid "NoCache"
 msgstr ""
@@ -3100,67 +3494,68 @@
 msgid "Page %s not found."
 msgstr "%s: Pgina no encontrado."
 
-#: ../lib/plugin/PageDump.php:127
+#: ../lib/plugin/PageDump.php:128
 msgid "Download for CVS"
 msgstr ""
 
-#: ../lib/plugin/PageDump.php:132
+#: ../lib/plugin/PageDump.php:133
 msgid "Download for backup"
 msgstr ""
 
-#: ../lib/plugin/PageDump.php:138
+#: ../lib/plugin/PageDump.php:139
 msgid "Download all revisions for backup"
 msgstr ""
 
-#: ../lib/plugin/PageDump.php:141
+#: ../lib/plugin/PageDump.php:142
 #, php-format
 msgid "Preview: Page dump of %s"
 msgstr ""
 
-#: ../lib/plugin/PageDump.php:148
+#: ../lib/plugin/PageDump.php:149
 msgid ""
 "(formatted for PhpWiki developers as pgsrc template, not for backing up)"
 msgstr ""
 
-#: ../lib/plugin/PageDump.php:151 ../lib/plugin/PageDump.php:171
+#: ../lib/plugin/PageDump.php:152 ../lib/plugin/PageDump.php:172
 msgid "Preview as normal format"
 msgstr ""
 
-#: ../lib/plugin/PageDump.php:157 ../lib/plugin/PageDump.php:184
+#: ../lib/plugin/PageDump.php:158 ../lib/plugin/PageDump.php:185
 msgid "Preview as backup format"
 msgstr ""
 
-#: ../lib/plugin/PageDump.php:161
+#: ../lib/plugin/PageDump.php:162
 msgid "(formatted for backing up: all revisions)"
 msgstr ""
 
-#: ../lib/plugin/PageDump.php:165 ../lib/plugin/PageDump.php:178
+#: ../lib/plugin/PageDump.php:166 ../lib/plugin/PageDump.php:179
 msgid "Preview as developer format"
 msgstr ""
 
-#: ../lib/plugin/PageDump.php:174
+#: ../lib/plugin/PageDump.php:175
 msgid "(normal formatting: latest revision only)"
 msgstr ""
 
-#: ../lib/plugin/PageDump.php:188
+#: ../lib/plugin/PageDump.php:189
 msgid ""
 "Please use one of the downloadable versions rather than copying and pasting "
 "from the above preview."
 msgstr ""
 
-#: ../lib/plugin/PageDump.php:190
+#: ../lib/plugin/PageDump.php:191
 msgid ""
 "The wordwrap of the preview doesn't take nested markup or list indentation "
 "into consideration!"
 msgstr ""
 
-#: ../lib/plugin/PageDump.php:193
+#: ../lib/plugin/PageDump.php:194
 msgid ""
 "PhpWiki developers should manually inspect the downloaded file for nested "
 "markup before rewrapping with emacs and checking into CVS."
 msgstr ""
 
-#: ../lib/plugin/PageDump.php:201 ../lib/plugin/PasswordReset.php:128
+#: ../lib/plugin/PageDump.php:202 ../lib/plugin/PasswordReset.php:131
+#: ../lib/plugin/SemanticSearch.php:260
 msgid "Warning:"
 msgstr ""
 
@@ -3178,7 +3573,7 @@
 msgid "Contents"
 msgstr ""
 
-#: ../lib/plugin/PageGroup.php:91 ../lib/stdlib.php:1985
+#: ../lib/plugin/PageGroup.php:91 ../lib/stdlib.php:1992
 #, php-format
 msgid "<%s: no such section>"
 msgstr ""
@@ -3221,12 +3616,12 @@
 msgid "Check any two boxes then %s."
 msgstr ""
 
-#: ../lib/plugin/PageHistory.php:166 ../lib/plugin/PageHistory.php:229
+#: ../lib/plugin/PageHistory.php:166 ../lib/plugin/PageHistory.php:242
 #, php-format
 msgid "Version %d"
 msgstr "Versin %d"
 
-#: ../lib/plugin/PageHistory.php:177 ../themes/MacOSX/lib/RecentChanges.php:34
+#: ../lib/plugin/PageHistory.php:178 ../themes/MacOSX/lib/RecentChanges.php:34
 #: ../themes/MonoBook/templates/info.tmpl:19
 #: ../themes/MonoBook/templates/info.tmpl:23
 #: ../themes/Portland/lib/RecentChanges.php:14
@@ -3234,42 +3629,41 @@
 #: ../themes/Wordpress/lib/RecentChanges.php:14
 #: ../themes/default/templates/info.tmpl:17
 #: ../themes/default/templates/info.tmpl:21
-#: ../themes/shamino_com/templates/info.tmpl:19
-#: ../themes/shamino_com/templates/info.tmpl:23
 msgid "minor edit"
 msgstr ""
 
 # lib/pageinfo.php:21
-#: ../lib/plugin/PageHistory.php:221
+#: ../lib/plugin/PageHistory.php:234
 msgid "History of changes."
 msgstr ""
 
-#: ../lib/plugin/PageHistory.php:247 ../lib/plugin/RecentChanges.php:65
+#: ../lib/plugin/PageHistory.php:260 ../lib/plugin/RecentChanges.php:67
 #: ../themes/Crao/templates/actionbar.tmpl:22
-#: ../themes/MonoBook/templates/actionbar.tmpl:46
+#: ../themes/MonoBook/templates/actionbar.tmpl:39
+#: ../themes/MonoBook/templates/actionbar.tmpl:66
 #: ../themes/MonoBook/templates/info.tmpl:167
-#: ../themes/Portland/templates/actionbar.tmpl:18
+#: ../themes/Portland/templates/actionbar.tmpl:14
 #: ../themes/Portland/templates/viewsource.tmpl:26
-#: ../themes/Wordpress/templates/actionbar.tmpl:69
-#: ../themes/Wordpress/templates/viewsource.tmpl:28
-#: ../themes/default/templates/actionbar.tmpl:29
+#: ../themes/Wordpress/templates/actionbar.tmpl:70
+#: ../themes/Wordpress/templates/viewsource.tmpl:30
+#: ../themes/default/templates/actionbar.tmpl:31
 #: ../themes/shamino_com/templates/actionbar.tmpl:20
-#: ../themes/shamino_com/templates/info.tmpl:166
-#: ../themes/smaller/templates/actionbar.tmpl:37
+#: ../themes/smaller/templates/actionbar.tmpl:39
 #: ../themes/smaller/templates/info.tmpl:6
 msgid "PageHistory"
 msgstr ""
 
-#: ../lib/plugin/PageHistory.php:251
+#: ../lib/plugin/PageHistory.php:264
 #, php-format
 msgid "List PageHistory for %s"
 msgstr ""
 
 # lib/pageinfo.php:26 lib/pageinfo.php:75
 #: ../lib/plugin/PageInfo.php:32 ../themes/Crao/templates/actionbar.tmpl:24
-#: ../themes/Portland/templates/actionbar.tmpl:19
-#: ../themes/Wordpress/templates/actionbar.tmpl:71
-#: ../themes/default/templates/actionbar.tmpl:31
+#: ../themes/MonoBook/templates/actionbar.tmpl:64
+#: ../themes/Portland/templates/actionbar.tmpl:15
+#: ../themes/Wordpress/templates/actionbar.tmpl:72
+#: ../themes/default/templates/actionbar.tmpl:33
 #: ../themes/shamino_com/templates/actionbar.tmpl:5
 msgid "PageInfo"
 msgstr "InformacionDeLaPagina"
@@ -3293,7 +3687,7 @@
 msgstr "Contrasea:"
 
 #: ../lib/plugin/PasswordReset.php:61 ../lib/plugin/PasswordReset.php:82
-#: ../lib/plugin/UserPreferences.php:104
+#: ../lib/plugin/UserPreferences.php:104 ../lib/plugin/WatchPage.php:150
 #: ../themes/default/templates/wikiforum.tmpl:22
 msgid "Message"
 msgstr "Mensaje"
@@ -3304,7 +3698,7 @@
 msgstr ""
 
 #: ../lib/plugin/PasswordReset.php:64 ../lib/plugin/PasswordReset.php:85
-#: ../lib/plugin/PasswordReset.php:159
+#: ../lib/plugin/PasswordReset.php:163
 msgid "Error"
 msgstr ""
 
@@ -3323,90 +3717,70 @@
 msgid "Error sending email with password for user %s."
 msgstr "Contrasea o userid invlida."
 
-#: ../lib/plugin/PasswordReset.php:94
+#: ../lib/plugin/PasswordReset.php:93
+#, fuzzy
 msgid "Reset password of user: "
-msgstr ""
+msgstr "Contrasea o userid invlida."
 
-#: ../lib/plugin/PasswordReset.php:104 ../lib/plugin/PasswordReset.php:142
+#: ../lib/plugin/PasswordReset.php:103 ../lib/plugin/PasswordReset.php:146
 msgid "Send email"
 msgstr ""
 
-#: ../lib/plugin/PasswordReset.php:129
+#: ../lib/plugin/PasswordReset.php:132
 msgid "You need to specify the userid!"
 msgstr ""
 
-#: ../lib/plugin/PasswordReset.php:150
+#: ../lib/plugin/PasswordReset.php:154
 #, fuzzy
 msgid "Already logged in"
 msgstr "Suprimido ya"
 
-#: ../lib/plugin/PasswordReset.php:151
+#: ../lib/plugin/PasswordReset.php:155
 msgid "Changing passwords is done at "
 msgstr ""
 
-#: ../lib/plugin/PasswordReset.php:151 ../lib/plugin/UserPreferences.php:38
-#: ../themes/Crao/templates/head.tmpl:85 ../themes/Crao/templates/head.tmpl:86
-#: ../themes/Crao/templates/navbar.tmpl:23
-#: ../themes/MonoBook/templates/navbar.tmpl:49
-#: ../themes/blog/templates/navbar.tmpl:17
-#: ../themes/default/templates/head.tmpl:92
-#: ../themes/default/templates/head.tmpl:93
-#: ../themes/default/templates/homepage.tmpl:11
-#: ../themes/default/templates/navbar.tmpl:40
-#: ../themes/shamino_com/templates/top.tmpl:28
-#: ../themes/smaller/templates/navbar.tmpl:22
-#: ../themes/wikilens/templates/head.tmpl:85
-#: ../themes/wikilens/templates/head.tmpl:86
-msgid "UserPreferences"
-msgstr "UsuarioPreferencias"
-
-#: ../lib/plugin/PasswordReset.php:160
+#: ../lib/plugin/PasswordReset.php:164
 #, php-format
 msgid "No email stored for user %s."
 msgstr ""
 
-#: ../lib/plugin/PasswordReset.php:162
+#: ../lib/plugin/PasswordReset.php:166
 msgid "You need to ask an Administrator to reset this password. See below: "
 msgstr ""
 
-#: ../lib/plugin/PasswordReset.php:174
+#: ../lib/plugin/PasswordReset.php:178
 #, php-format
 msgid "Do you really want to reset the password of user %s?"
 msgstr ""
 
-#: ../lib/plugin/PasswordReset.php:175
+#: ../lib/plugin/PasswordReset.php:179
 msgid "An email will be sent."
 msgstr ""
 
-#: ../lib/plugin/PhotoAlbum.php:94
+#: ../lib/plugin/PhotoAlbum.php:97 ../themes/blog/templates/actionbar.tmpl:12
 msgid "PhotoAlbum"
 msgstr ""
 
-#: ../lib/plugin/PhotoAlbum.php:98
+#: ../lib/plugin/PhotoAlbum.php:101
 msgid ""
 "Displays a set of photos listed in a text file with optional descriptions"
 msgstr ""
 
-#: ../lib/plugin/PhotoAlbum.php:476
-#, php-format
-msgid "Invalid argument: %s=%s"
-msgstr ""
-
-#: ../lib/plugin/PhotoAlbum.php:536 ../lib/plugin/PhotoAlbum.php:557
-#: ../lib/plugin/Transclude.php:85
+#: ../lib/plugin/PhotoAlbum.php:540 ../lib/plugin/PhotoAlbum.php:565
+#: ../lib/plugin/Transclude.php:94
 msgid "Bad url in src: remove all of <, >, \""
 msgstr ""
 
-#: ../lib/plugin/PhotoAlbum.php:554
+#: ../lib/plugin/PhotoAlbum.php:562
 msgid "File extension for csv file has to be '.csv'"
 msgstr ""
 
-#: ../lib/plugin/PhotoAlbum.php:605
+#: ../lib/plugin/PhotoAlbum.php:616
 #, php-format
 msgid "Unable to find src='%s'"
 msgstr ""
 
-#: ../lib/plugin/PhotoAlbum.php:617
+#: ../lib/plugin/PhotoAlbum.php:628
 #, php-format
 msgid "Unable to read src='%s'"
 msgstr ""
@@ -3470,7 +3844,8 @@
 msgid "shell commands not allowed in Ploticus"
 msgstr ""
 
-#: ../lib/plugin/Ploticus.php:249 ../lib/plugin/SyntaxHighlighter.php:180
+#: ../lib/plugin/Ploticus.php:270 ../lib/plugin/SpellCheck.php:123
+#: ../lib/plugin/SyntaxHighlighter.php:180
 msgid "empty source"
 msgstr ""
 
@@ -3503,6 +3878,11 @@
 msgid "%s does not appear to be a WikiPlugin."
 msgstr ""
 
+#: ../lib/plugin/PluginManager.php:135 ../lib/upgrade.php:222
+#: ../themes/MonoBook/templates/navbar.tmpl:20
+msgid "Help"
+msgstr ""
+
 #: ../lib/plugin/PopUp.php:49
 msgid "PopUp"
 msgstr ""
@@ -3534,6 +3914,43 @@
 msgid "%d most popular nearby: "
 msgstr "%d las ms populares: "
 
+#: ../lib/plugin/PopularTags.php:34
+#, fuzzy
+msgid "PopularTags"
+msgstr "MasPopulares"
+
+#: ../lib/plugin/PopularTags.php:38
+#, fuzzy
+msgid "List the most popular tags."
+msgstr "Las pginas ms populares."
+
+# lib/diff.php:997
+#: ../lib/plugin/PopularTags.php:59 ../lib/plugin/_WikiTranslation.php:56
+msgid "CategoryCategory"
+msgstr "CategoriaCategoria"
+
+#: ../lib/plugin/PopularTags.php:64 ../lib/plugin/Template.php:60
+msgid "Template"
+msgstr ""
+
+# lib/diff.php:997
+#: ../lib/plugin/PopularTags.php:78
+msgid "Category"
+msgstr "Categora"
+
+#: ../lib/plugin/PopularTags.php:79
+msgid "Topic"
+msgstr "Asunto"
+
+#: ../lib/plugin/PreferenceApp.php:37
+#, fuzzy
+msgid "PreferenceApp"
+msgstr "Preferencias"
+
+#: ../lib/plugin/PreferenceApp.php:41
+msgid "Analyzes preferences based on voting budget and ratings."
+msgstr ""
+
 #: ../lib/plugin/PrevNext.php:32
 msgid "PrevNext"
 msgstr ""
@@ -3552,7 +3969,7 @@
 msgstr ""
 
 #: ../lib/plugin/RandomPage.php:33 ../lib/plugin/RandomPage.php:82
-#: ../themes/MonoBook/templates/navbar.tmpl:15
+#: ../themes/MonoBook/templates/navbar.tmpl:19
 msgid "RandomPage"
 msgstr "PginaAlAzar"
 
@@ -3560,51 +3977,51 @@
 msgid "Displays a list of randomly chosen pages or redirects to a random page."
 msgstr ""
 
-#: ../lib/plugin/RateIt.php:90 ../lib/plugin/RateIt.php:139
-#: ../lib/plugin/RateIt.php:146 ../lib/plugin/RateIt.php:291
-#: ../lib/upgrade.php:387
+#: ../lib/plugin/RateIt.php:89 ../lib/plugin/RateIt.php:138
+#: ../lib/plugin/RateIt.php:145 ../lib/plugin/RateIt.php:290
+#: ../lib/upgrade.php:452
 msgid "RateIt"
 msgstr ""
 
-#: ../lib/plugin/RateIt.php:93
+#: ../lib/plugin/RateIt.php:92
 msgid "Rating system. Store user ratings per page"
 msgstr ""
 
 # lib/pageinfo.php:70
-#: ../lib/plugin/RateIt.php:117
+#: ../lib/plugin/RateIt.php:116
 #, fuzzy
 msgid "Your rating "
 msgstr "Versin actual:"
 
-#: ../lib/plugin/RateIt.php:258
+#: ../lib/plugin/RateIt.php:257
 #, php-format
 msgid "Rated by %d users | Average rating %.1f stars"
 msgstr ""
 
-#: ../lib/plugin/RateIt.php:263
+#: ../lib/plugin/RateIt.php:262
 #, php-format
 msgid "Your rating was %.1f"
 msgstr ""
 
-#: ../lib/plugin/RateIt.php:268
+#: ../lib/plugin/RateIt.php:267
 #, php-format
 msgid "%s prediction for you is %s stars"
 msgstr ""
 
-#: ../lib/plugin/RateIt.php:271
+#: ../lib/plugin/RateIt.php:270
 #, php-format
 msgid "%s prediction for you is %.1f stars"
 msgstr ""
 
-#: ../lib/plugin/RateIt.php:291
+#: ../lib/plugin/RateIt.php:290
 msgid "Rate It"
 msgstr ""
 
-#: ../lib/plugin/RateIt.php:358
+#: ../lib/plugin/RateIt.php:357
 msgid "Rate the topic of this page"
 msgstr ""
 
-#: ../lib/plugin/RateIt.php:370
+#: ../lib/plugin/RateIt.php:369
 msgid "Cancel rating"
 msgstr "Cancelar"
 
@@ -3616,157 +4033,183 @@
 msgid "Raw HTML is disabled in this wiki."
 msgstr ""
 
-#: ../lib/plugin/RawHtml.php:83 ../lib/plugin/RedirectTo.php:82
-#, php-format
-msgid "%s is only allowed in locked pages."
-msgstr ""
-
 #: ../lib/plugin/RawHtml.php:84
 msgid "Raw HTML"
 msgstr ""
 
-#: ../lib/plugin/RdfDefinition.php:42
-#, fuzzy
-msgid "RdfDefinition"
-msgstr "Definicin da %s: %s"
-
-#: ../lib/plugin/RdfDefinition.php:45
-msgid "Define the RDF vocabulary for a wiki subset."
+#: ../lib/plugin/RawHtml.php:83 ../lib/plugin/RedirectTo.php:82
+#, php-format
+msgid "%s is only allowed in locked pages."
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:105
+#: ../lib/plugin/RecentChanges.php:107
 #, fuzzy
 msgid "Deleted"
 msgstr "Borrada."
 
-#: ../lib/plugin/RecentChanges.php:128 ../themes/blog/themeinfo.php:119
-msgid "(diff)"
+#: ../lib/plugin/RecentChanges.php:130
+#: ../themes/SpaceWiki/lib/RecentChanges.php:55
+msgid "diff"
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:135
-msgid "(hist)"
+#: ../lib/plugin/RecentChanges.php:143
+#, fuzzy
+msgid "hist"
+msgstr "Primera"
+
+#: ../lib/plugin/RecentChanges.php:185
+msgid "contribs"
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:198
+#: ../lib/plugin/RecentChanges.php:192
+#, fuzzy
+msgid "new pages"
+msgstr "pgina nueva"
+
+#: ../lib/plugin/RecentChanges.php:240
 msgid "edits"
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:200
+#: ../lib/plugin/RecentChanges.php:242
 msgid "major edits"
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:202
+#: ../lib/plugin/RecentChanges.php:244
 msgid "minor edits"
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:203 ../lib/plugin/RecentChanges.php:279
+#: ../lib/plugin/RecentChanges.php:245 ../lib/plugin/RecentChanges.php:338
 #: ../lib/plugin/RecentComments.php:31
 msgid "Recent Comments"
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:204
+#: ../lib/plugin/RecentChanges.php:246
 msgid "comments"
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:229
+#: ../lib/plugin/RecentChanges.php:248
+#, fuzzy
+msgid "created new pages"
+msgstr "para crear esta pgina"
+
+#: ../lib/plugin/RecentChanges.php:254
+#, php-format
+msgid " for pages changed by %s"
+msgstr ""
+
+#: ../lib/plugin/RecentChanges.php:260
+#, fuzzy, php-format
+msgid " for pages owned by %s"
+msgstr "de %s"
+
+#: ../lib/plugin/RecentChanges.php:285
 #, php-format
 msgid "The %d most recent %s during the past day are listed below."
 msgstr ""
 "Los %d la mayora del %s reciente durante el ltimo da se enumeran abajo."
 
-#: ../lib/plugin/RecentChanges.php:232
+#: ../lib/plugin/RecentChanges.php:288
 #, php-format
 msgid "The %d most recent %s during the past %s days are listed below."
 msgstr ""
 "Los %d la mayora del %s reciente durante los ltimos das de %s se enumeran "
 "abajo."
 
-#: ../lib/plugin/RecentChanges.php:235
+#: ../lib/plugin/RecentChanges.php:291
 #, php-format
 msgid "The %d most recent %s are listed below."
 msgstr "Los %d la mayora del %s reciente se enumeran abajo."
 
-#: ../lib/plugin/RecentChanges.php:241
+#: ../lib/plugin/RecentChanges.php:297
 #, php-format
 msgid "The %d oldest %s during the past day are listed below."
 msgstr "Los %d el %s ms viejo durante el ltimo da se enumeran abajo."
 
-#: ../lib/plugin/RecentChanges.php:244
+#: ../lib/plugin/RecentChanges.php:300
 #, php-format
 msgid "The %d oldest %s during the past %s days are listed below."
 msgstr ""
 "Los %d el %s ms viejo durante los ltimos das de %s se enumeran abajo."
 
-#: ../lib/plugin/RecentChanges.php:247
+#: ../lib/plugin/RecentChanges.php:303
 #, php-format
 msgid "The %d oldest %s are listed below."
 msgstr "Los %d el %s ms viejo se enumeran abajo."
 
-#: ../lib/plugin/RecentChanges.php:254
+#: ../lib/plugin/RecentChanges.php:310
 #, php-format
 msgid "The most recent %s during the past day are listed below."
 msgstr "Los %s ms recientes durante el ltimo da se enumeran abajo."
 
-#: ../lib/plugin/RecentChanges.php:257
+#: ../lib/plugin/RecentChanges.php:313
 #, php-format
 msgid "The most recent %s during the past %s days are listed below."
 msgstr "Los %s ms recientes durante los ltimos das de %s se enumeran abajo."
 
-#: ../lib/plugin/RecentChanges.php:260
+#: ../lib/plugin/RecentChanges.php:316
 #, php-format
 msgid "All %s are listed below."
 msgstr "Todos los %s se enumeran abajo."
 
-#: ../lib/plugin/RecentChanges.php:272 ../lib/plugin/RecentChanges.php:287
-#: ../lib/plugin/RecentChanges.php:390 ../lib/plugin/RecentChanges.php:467
+#: ../lib/plugin/RecentChanges.php:328 ../lib/plugin/RecentChanges.php:346
+#: ../lib/plugin/RecentChanges.php:523 ../lib/plugin/RecentChanges.php:600
 #: ../lib/plugin/RecentEdits.php:10 ../lib/plugin/RecentEdits.php:36
 #: ../lib/plugin/RelatedChanges.php:27
-#: ../themes/Portland/templates/editpage.tmpl:49
-#: ../themes/Wordpress/templates/editpage.tmpl:58
+#: ../themes/Portland/templates/editpage.tmpl:45
+#: ../themes/Wordpress/templates/editpage.tmpl:57
 msgid "RecentEdits"
 msgstr "RecienteCorrige"
 
 # lib/pageinfo.php:21
-#: ../lib/plugin/RecentChanges.php:280 ../lib/plugin/RecentComments.php:65
+#: ../lib/plugin/RecentChanges.php:339 ../lib/plugin/RecentComments.php:65
 msgid "No comments found"
 msgstr "Ningunos comentarios encontrados"
 
 # lib/pageinfo.php:21
-#: ../lib/plugin/RecentChanges.php:282
+#: ../lib/plugin/RecentChanges.php:341
 msgid "No changes found"
 msgstr "Ningunos cambios encontrados"
 
+#: ../lib/plugin/RecentChanges.php:457
+#, fuzzy
+msgid "UserContribs"
+msgstr "GradosUsuario."
+
 # lib/fullsearch.php:48
-#: ../lib/plugin/RecentChanges.php:592
+#: ../lib/plugin/RecentChanges.php:725
 msgid "Title Search"
 msgstr "Una bsqueda de ttulos"
 
 # lib/pageinfo.php:21
-#: ../lib/plugin/RecentChanges.php:893
+#: ../lib/plugin/RecentChanges.php:1189
 msgid "Show minor edits for:"
 msgstr "El menor de edad de la demostracin corrige para:"
 
 # lib/pageinfo.php:21
-#: ../lib/plugin/RecentChanges.php:895
+#: ../lib/plugin/RecentChanges.php:1191
 msgid "Show all changes for:"
 msgstr "Demuestre todos los cambios para:"
 
 # lib/pageinfo.php:21
-#: ../lib/plugin/RecentChanges.php:897
+#: ../lib/plugin/RecentChanges.php:1193
 msgid "Show changes for:"
 msgstr "Demuestre los cambios para:"
 
-#: ../lib/plugin/RecentChanges.php:917
+#: ../lib/plugin/RecentChanges.php:1195
+msgid "All new pages since:"
+msgstr ""
+
+#: ../lib/plugin/RecentChanges.php:1215
 msgid "1 day"
 msgstr "1 da"
 
-#: ../lib/plugin/RecentChanges.php:921
+#: ../lib/plugin/RecentChanges.php:1219
 #, php-format
 msgid "%s days"
 msgstr "%s dias"
 
 #: ../lib/plugin/RecentComments.php:17
-#: ../themes/MonoBook/templates/navbar.tmpl:14
+#: ../themes/MonoBook/templates/navbar.tmpl:16
 msgid "RecentComments"
 msgstr "ComentariosRecientes"
 
@@ -3774,81 +4217,212 @@
 msgid "latest comment by "
 msgstr "el comentario ms ltimo cerca "
 
-#: ../lib/plugin/RecentEdits.php:36
-msgid "Recent Edits"
-msgstr "Reciente Corrige"
+#: ../lib/plugin/RecentEdits.php:36
+msgid "Recent Edits"
+msgstr "Reciente Corrige"
+
+#: ../lib/plugin/RecentReferrers.php:14
+msgid "RecentReferrers"
+msgstr ""
+
+#: ../lib/plugin/RedirectTo.php:47
+msgid "RedirectTo"
+msgstr ""
+
+#: ../lib/plugin/RedirectTo.php:51
+msgid "Redirects to another url or page."
+msgstr ""
+
+#: ../lib/plugin/RedirectTo.php:83
+msgid "Redirect to an external url"
+msgstr ""
+
+#: ../lib/plugin/RedirectTo.php:97
+#, php-format
+msgid "Recursive redirect to self: '%s'"
+msgstr ""
+
+#: ../lib/plugin/RedirectTo.php:106
+msgid "Double redirect not allowed."
+msgstr ""
+
+#: ../lib/plugin/RedirectTo.php:110
+msgid "Viewing redirecting page."
+msgstr ""
+
+#: ../lib/plugin/RelatedChanges.php:18
+#, php-format
+msgid " (to pages linked from \"%s\")"
+msgstr ""
+
+# lib/stdlib.php:384 lib/stdlib.php:445
+#: ../lib/plugin/RelatedChanges.php:44 ../lib/plugin/RelatedChanges.php:73
+msgid "Related Changes"
+msgstr "Cambios Relacionados"
+
+# lib/stdlib.php:384 lib/stdlib.php:445
+#: ../lib/plugin/RelatedChanges.php:73 ../themes/Crao/templates/navbar.tmpl:15
+#: ../themes/MonoBook/templates/navbar.tmpl:54
+msgid "RelatedChanges"
+msgstr "CambiosRelacionados"
+
+#: ../lib/plugin/RichTable.php:36
+msgid "RichTable"
+msgstr ""
+
+#: ../lib/plugin/RichTable.php:40
+msgid "Layout tables using a very rich markup style."
+msgstr ""
+
+#: ../lib/plugin/RssFeed.php:32 ../lib/plugin/RssFeed.php:113
+msgid "RssFeed"
+msgstr ""
+
+#: ../lib/plugin/RssFeed.php:36
+msgid "Simple RSS Feed aggregator Plugin"
+msgstr ""
+
+#: ../lib/plugin/RssFeed.php:103
+msgid "no RSS items"
+msgstr ""
+
+#: ../lib/plugin/SearchHighlight.php:39
+msgid "SearchHighlight"
+msgstr ""
+
+#: ../lib/plugin/SearchHighlight.php:43
+msgid "Hilight referred search terms."
+msgstr ""
+
+#: ../lib/plugin/SearchHighlight.php:73
+#, php-format
+msgid "%s: Found %s through %s"
+msgstr ""
+
+#: ../lib/plugin/SemanticRelations.php:35
+#, fuzzy
+msgid "SemanticRelations"
+msgstr "Cancelar"
+
+#: ../lib/plugin/SemanticRelations.php:38
+#, fuzzy
+msgid "Display the list of relations and attributes on this page."
+msgstr "Cambie las cualidades de la pgina"
+
+# lib/fullsearch.php:48
+#: ../lib/plugin/SemanticRelations.php:80
+#: ../lib/plugin/SemanticRelations.php:97 ../lib/plugin/SemanticSearch.php:57
+#, fuzzy
+msgid "SemanticSearch"
+msgstr "InterWikiBsqueda"
+
+#: ../lib/plugin/SemanticRelations.php:86
+#, fuzzy, php-format
+msgid "Semantic relations for %s"
+msgstr "Cancelar"
+
+#: ../lib/plugin/SemanticRelations.php:110
+#, php-format
+msgid "Attributes of %s"
+msgstr ""
+
+#: ../lib/plugin/SemanticRelations.php:119
+#: ../lib/plugin/SemanticRelations.php:120
+#, fuzzy
+msgid "Help/SemanticRelations"
+msgstr "Cancelar"
+
+#: ../lib/plugin/SemanticRelations.php:122
+#, fuzzy
+msgid "Find out how to add relations and attributes to pages."
+msgstr "Cambie las cualidades de la pgina"
+
+#: ../lib/plugin/SemanticSearch.php:60
+#, fuzzy
+msgid "Search relations and attributes"
+msgstr "Cambie las cualidades de la pgina"
 
-#: ../lib/plugin/RecentReferrers.php:14
-msgid "RecentReferrers"
+#: ../lib/plugin/SemanticSearch.php:106
+msgid "Filter by this relation. With autocompletion."
 msgstr ""
 
-#: ../lib/plugin/RedirectTo.php:47
-msgid "RedirectTo"
-msgstr ""
+#: ../lib/plugin/SemanticSearch.php:124
+#, fuzzy
+msgid "Relations"
+msgstr "Acoplamientos Relacionados"
 
-#: ../lib/plugin/RedirectTo.php:51
-msgid "Redirects to another url or page."
+#: ../lib/plugin/SemanticSearch.php:132 ../lib/plugin/SemanticSearch.php:208
+msgid "Add an AND query"
 msgstr ""
 
-#: ../lib/plugin/RedirectTo.php:83
-msgid "Redirect to an external url"
+#: ../lib/plugin/SemanticSearch.php:133 ../lib/plugin/SemanticSearch.php:209
+msgid "OR"
 msgstr ""
 
-#: ../lib/plugin/RedirectTo.php:97
-#, php-format
-msgid "Recursive redirect to self: '%s'"
+#: ../lib/plugin/SemanticSearch.php:136 ../lib/plugin/SemanticSearch.php:212
+msgid "Add an OR query"
 msgstr ""
 
-#: ../lib/plugin/RedirectTo.php:106
-msgid "Double redirect not allowed."
+#: ../lib/plugin/SemanticSearch.php:139
+msgid "Search in pages for a relation with that value (a pagename)."
 msgstr ""
 
-#: ../lib/plugin/RedirectTo.php:110
-msgid "Viewing redirecting page."
+#: ../lib/plugin/SemanticSearch.php:174
+msgid "Filter by this attribute name. With autocompletion."
 msgstr ""
 
-#: ../lib/plugin/RelatedChanges.php:18
-#, php-format
-msgid " (to pages linked from \"%s\")"
+#: ../lib/plugin/SemanticSearch.php:186
+msgid "Comparison operator. With autocompletion."
 msgstr ""
 
-# lib/stdlib.php:384 lib/stdlib.php:445
-#: ../lib/plugin/RelatedChanges.php:44 ../lib/plugin/RelatedChanges.php:73
-msgid "Related Changes"
-msgstr "Cambios Relacionados"
+#: ../lib/plugin/SemanticSearch.php:197
+msgid "Filter by this numeric attribute value. With autocompletion."
+msgstr ""
 
-# lib/stdlib.php:384 lib/stdlib.php:445
-#: ../lib/plugin/RelatedChanges.php:73 ../themes/Crao/templates/navbar.tmpl:15
-#: ../themes/MonoBook/templates/navbar.tmpl:43
-msgid "RelatedChanges"
-msgstr "CambiosRelacionados"
+#: ../lib/plugin/SemanticSearch.php:215
+msgid "Attributes"
+msgstr ""
 
-#: ../lib/plugin/RichTable.php:36
-msgid "RichTable"
+#: ../lib/plugin/SemanticSearch.php:216
+msgid "Search in pages for an attribute with that numeric value."
 msgstr ""
 
-#: ../lib/plugin/RichTable.php:40
-msgid "Layout tables using a very rich markup style."
+#: ../lib/plugin/SemanticSearch.php:219
+msgid "Advanced..."
 msgstr ""
 
-#: ../lib/plugin/RssFeed.php:32 ../lib/plugin/RssFeed.php:113
-msgid "RssFeed"
+# lib/fullsearch.php:48
+#: ../lib/plugin/SemanticSearch.php:219
+#, fuzzy
+msgid "SemanticSearchAdvanced"
+msgstr "InterWikiBsqueda"
+
+#: ../lib/plugin/SemanticSearch.php:261
+msgid "No relations nor attributes in the whole wikidb defined!"
 msgstr ""
 
-#: ../lib/plugin/RssFeed.php:36
-msgid "Simple RSS Feed aggregator Plugin"
+#: ../lib/plugin/SemanticSearch.php:263
+#, fuzzy
+msgid "Help:SemanticRelations"
+msgstr "Cancelar"
+
+#: ../lib/plugin/SemanticSearch.php:311
+#, php-format
+msgid "Illegal operator: %s"
 msgstr ""
 
-#: ../lib/plugin/RssFeed.php:103
-msgid "no RSS items"
+#: ../lib/plugin/SemanticSearch.php:358
+#, php-format
+msgid "Only text operators can be used with strings: %s"
 msgstr ""
 
-#: ../lib/plugin/SearchHighlight.php:37
-msgid "SearchHighlight"
+#: ../lib/plugin/SemanticSearch.php:378
+msgid "Value"
 msgstr ""
 
-#: ../lib/plugin/SearchHighlight.php:41
-msgid "Hilight referred search terms."
+#: ../lib/plugin/SemanticSearch.php:393
+#, php-format
+msgid "Semantic %s Search Result for \"%s\" in pages \"%s\""
 msgstr ""
 
 #: ../lib/plugin/SiteMap.php:51
@@ -3864,6 +4438,27 @@
 msgid "(max. recursion level: %d)"
 msgstr ""
 
+#: ../lib/plugin/SpellCheck.php:68
+msgid "Spell Checker"
+msgstr ""
+
+#: ../lib/plugin/SpellCheck.php:71
+msgid "Check the spelling of a page and make suggestions"
+msgstr ""
+
+#: ../lib/plugin/SpellCheck.php:124
+#, fuzzy
+msgid "SpellCheck"
+msgstr "Selecto"
+
+#: ../lib/plugin/SpellCheck.php:125
+msgid "Cannot SpellCheck myself"
+msgstr ""
+
+#: ../lib/plugin/SpellCheck.php:171
+msgid "SpellCheck result"
+msgstr ""
+
 #: ../lib/plugin/SqlResult.php:67
 msgid "SqlResult"
 msgstr ""
@@ -3881,6 +4476,89 @@
 msgid "No DSN for alias %s in SqlResult.ini found"
 msgstr ""
 
+#: ../lib/plugin/SyncWiki.php:46
+msgid "SyncWiki"
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:50
+msgid "Synchronize pages with external PhpWiki"
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:113
+msgid "Syncing this PhpWiki"
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:114
+msgid "Download all externally changed sources."
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:116
+#, php-format
+msgid "Retrieving from external url %s wiki.getRecentChanges(%s)..."
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:123 ../lib/plugin/WhoIsOnline.php:125
+msgid "<unknown>"
+msgstr "<desconocido>"
+
+#: ../lib/plugin/SyncWiki.php:138 ../lib/plugin/SyncWiki.php:191
+#: ../lib/plugin/SyncWiki.php:226 ../lib/upgrade.php:92 ../lib/upgrade.php:96
+#: ../lib/upgrade.php:176 ../lib/upgrade.php:217 ../lib/upgrade.php:1120
+msgid " skipped"
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:160
+msgid "same date"
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:183
+msgid "Now upload all locally newer pages."
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:185
+#, php-format
+msgid "Checking all local pages newer than %s..."
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:212
+#, fuzzy
+msgid "Now upload all locally newer uploads."
+msgstr "Ningn archivo uploaded a upload?"
+
+#: ../lib/plugin/SyncWiki.php:214
+#, php-format
+msgid "Checking all local uploads newer than %s..."
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:277
+#, php-format
+msgid "%s force"
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:281
+#, php-format
+msgid "Postponed %s for %s."
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:288 ../lib/plugin/SyncWiki.php:297
+#: ../lib/plugin/SyncWiki.php:312 ../lib/plugin/SyncWiki.php:321
+#: ../lib/plugin/SyncWiki.php:340
+#, fuzzy
+msgid "skipped"
+msgstr "Saltado."
+
+#: ../lib/plugin/SyncWiki.php:297 ../lib/plugin/SyncWiki.php:321
+#, fuzzy
+msgid "same content"
+msgstr "ningn contenido de la pgina"
+
+#: ../lib/plugin/SyncWiki.php:304 ../lib/plugin/SyncWiki.php:330
+#: ../lib/plugin/SyncWiki.php:332 ../lib/plugin/SyncWiki.php:353
+#: ../lib/plugin/SyncWiki.php:355 ../lib/upgrade.php:214
+#: ../lib/upgrade.php:555 ../lib/upgrade.php:593 ../lib/upgrade.php:1111
+msgid "FAILED"
+msgstr ""
+
 #: ../lib/plugin/SyntaxHighlighter.php:68
 msgid "SyntaxHighlighter"
 msgstr ""
@@ -4114,27 +4792,20 @@
 msgid "Convert Tex mathematicals expressions to cached png files."
 msgstr ""
 
-#: ../lib/plugin/TeX2png.php:34
-msgid " This is for small text"
-msgstr ""
-
 #: ../lib/plugin/TeX2png.php:134
 msgid " (syntax error for latex) "
 msgstr ""
 
 #: ../lib/plugin/TeX2png.php:173
-msgid "TeX directory not writable."
-msgstr ""
+#, fuzzy
+msgid "TeX imagepath not writable."
+msgstr "%s no es escribible."
 
-#: ../lib/plugin/TeX2png.php:214 ../lib/plugin/text2png.php:67
+#: ../lib/plugin/TeX2png.php:214 ../lib/plugin/text2png.php:85
 msgid "Sorry, this version of PHP cannot create PNG image files."
 msgstr ""
 
-#: ../lib/plugin/Template.php:61
-msgid "Template"
-msgstr ""
-
-#: ../lib/plugin/Template.php:65
+#: ../lib/plugin/Template.php:64
 msgid "Parametrized page inclusion."
 msgstr ""
 
@@ -4146,7 +4817,7 @@
 msgid "Search the titles of all pages in this wiki."
 msgstr ""
 
-#: ../lib/plugin/TitleSearch.php:103
+#: ../lib/plugin/TitleSearch.php:104
 #, php-format
 msgid "Title search results for '%s'"
 msgstr "Resultados de la bsqueda en el ttulos '%s'"
@@ -4160,17 +4831,17 @@
 msgstr ""
 
 # lib/msql.php:237 lib/msql.php:312
-#: ../lib/plugin/Transclude.php:88
+#: ../lib/plugin/Transclude.php:97
 msgid "Transcluded page"
 msgstr ""
 
-#: ../lib/plugin/Transclude.php:97
+#: ../lib/plugin/Transclude.php:106
 #, php-format
 msgid "See: %s"
 msgstr ""
 
 # lib/msql.php:237 lib/msql.php:312
-#: ../lib/plugin/Transclude.php:109
+#: ../lib/plugin/Transclude.php:118
 #, php-format
 msgid "Transcluded from %s"
 msgstr ""
@@ -4270,53 +4941,58 @@
 msgid "Upload files to the local InterWiki Upload:<filename>"
 msgstr ""
 
-#: ../lib/plugin/UpLoad.php:124
+#: ../lib/plugin/UpLoad.php:161
 msgid "ACCESS DENIED: You must log in to upload files."
 msgstr ""
 
-#: ../lib/plugin/UpLoad.php:138
+#: ../lib/plugin/UpLoad.php:185
 #, php-format
 msgid "ERROR uploading '%s': "
 msgstr ""
 
-#: ../lib/plugin/UpLoad.php:143
+#: ../lib/plugin/UpLoad.php:190
 #, php-format
 msgid "Files with extension %s are not allowed."
 msgstr ""
 
-#: ../lib/plugin/UpLoad.php:149
+#: ../lib/plugin/UpLoad.php:198
+#, php-format
+msgid "Only files with the extension %s are allowed."
+msgstr ""
+
+#: ../lib/plugin/UpLoad.php:204
 msgid ""
-"File names may only contain alphanumeric characters and dot, underscore or "
-"dash."
+"Invalid filename. File names may only contain alphanumeric characters and "
+"dot, underscore, space or dash."
 msgstr ""
 
-#: ../lib/plugin/UpLoad.php:154
+#: ../lib/plugin/UpLoad.php:209
 #, php-format
 msgid "There is already a file with name %s uploaded."
 msgstr ""
 
-#: ../lib/plugin/UpLoad.php:159
+#: ../lib/plugin/UpLoad.php:214
 msgid "Sorry but this file is too big."
 msgstr ""
 
-#: ../lib/plugin/UpLoad.php:167
+#: ../lib/plugin/UpLoad.php:222
 msgid "File successfully uploaded."
 msgstr ""
 
-#: ../lib/plugin/UpLoad.php:184
+#: ../lib/plugin/UpLoad.php:239
 #, php-format
 msgid "uploaded %s"
 msgstr ""
 
-#: ../lib/plugin/UpLoad.php:191
+#: ../lib/plugin/UpLoad.php:246
 msgid "Uploading failed."
 msgstr ""
 
-#: ../lib/plugin/UpLoad.php:209
+#: ../lib/plugin/UpLoad.php:264
 msgid "The upload logfile is not writable."
 msgstr ""
 
-#: ../lib/plugin/UpLoad.php:212
+#: ../lib/plugin/UpLoad.php:267
 msgid "Can't open the upload logfile."
 msgstr ""
 
@@ -4389,69 +5065,91 @@
 msgid "Here are your %d page ratings:"
 msgstr ""
 
-#: ../lib/plugin/UserRatings.php:220
+#: ../lib/plugin/UserRatings.php:222
 msgid "Pred"
 msgstr ""
 
-#: ../lib/plugin/UserRatings.php:224 ../lib/wikilens/PageListColumns.php:367
+#: ../lib/plugin/UserRatings.php:226 ../lib/wikilens/PageListColumns.php:367
 msgid "Rate"
 msgstr ""
 
-#: ../lib/plugin/VisualWiki.php:65
+#: ../lib/plugin/VisualWiki.php:66
 msgid ""
 "Visualizes the Wiki structure in a graph using the 'dot' commandline tool "
 "from graphviz."
 msgstr ""
 
-#: ../lib/plugin/VisualWiki.php:493
+#: ../lib/plugin/VisualWiki.php:497
 msgid "Legend"
 msgstr ""
 
-#: ../lib/plugin/WantedPages.php:39 ../lib/plugin/WantedPages.php:69
-#: ../lib/plugin/WantedPagesOld.php:33 ../lib/plugin/WantedPagesOld.php:66
+#: ../lib/plugin/WantedPages.php:39 ../lib/plugin/WantedPages.php:70
 msgid "WantedPages"
 msgstr ""
 
-#: ../lib/plugin/WantedPages.php:42 ../lib/plugin/WantedPagesOld.php:37
+#: ../lib/plugin/WantedPages.php:42
 msgid "Lists referenced page names which do not exist yet."
 msgstr ""
 
-#: ../lib/plugin/WantedPages.php:54 ../lib/plugin/WantedPagesOld.php:47
-#: ../lib/plugin/_WikiTranslation.php:84 ../lib/plugin/_WikiTranslation.php:98
+#: ../lib/plugin/WantedPages.php:55 ../lib/plugin/_WikiTranslation.php:84
+#: ../lib/plugin/_WikiTranslation.php:98
 msgid "PgsrcTranslation"
 msgstr ""
 
-#: ../lib/plugin/WantedPages.php:78
+#: ../lib/plugin/WantedPages.php:79
 msgid "Wanted From"
 msgstr ""
 
-#: ../lib/plugin/WantedPages.php:115
+#: ../lib/plugin/WantedPages.php:130
 #, php-format
 msgid "Wanted Pages for %s:"
 msgstr ""
 
-#: ../lib/plugin/WantedPages.php:117
+#: ../lib/plugin/WantedPages.php:132
 #, php-format
 msgid "Wanted Pages in this wiki:"
 msgstr ""
 
-#: ../lib/plugin/WantedPagesOld.php:100
-#: ../themes/default/templates/online.tmpl:38
-msgid "<none>"
-msgstr "<Ninguna>"
+#: ../lib/plugin/WantedPages.php:174
+#, fuzzy, php-format
+msgid "(%d Links)"
+msgstr "Acoplamientos Relacionados"
+
+#: ../lib/plugin/WatchPage.php:35
+#, fuzzy
+msgid "WatchPage"
+msgstr "Anchura"
+
+#: ../lib/plugin/WatchPage.php:78
+msgid "Your current watchlist: "
+msgstr ""
+
+#: ../lib/plugin/WatchPage.php:79
+msgid "New watchlist: "
+msgstr ""
 
-#: ../lib/plugin/WantedPagesOld.php:115
+#: ../lib/plugin/WatchPage.php:82
 #, php-format
-msgid "Wanted Pages for %s (%d total):"
+msgid "Do you %s want to add this page \"%s\" to your WatchList?"
+msgstr ""
+
+#: ../lib/plugin/WatchPage.php:83
+msgid "really"
 msgstr ""
 
-#: ../lib/plugin/WantedPagesOld.php:149
+#: ../lib/plugin/WatchPage.php:88
 #, php-format
-msgid "Wanted Pages in this wiki (%d total):"
+msgid "The page %s is already watched!"
+msgstr ""
+
+#: ../lib/plugin/WatchPage.php:114
+msgid "ERROR: No email defined! You need to do this in your "
 msgstr ""
 
-#: ../lib/plugin/WantedPagesOld.php:151
-msgid "Count"
+#: ../lib/plugin/WatchPage.php:151
+msgid ""
+"E-Mail Notification for the current page successfully stored in your "
+"preferences."
 msgstr ""
 
 #: ../lib/plugin/WhoIsOnline.php:38 ../lib/plugin/WhoIsOnline.php:84
@@ -4475,10 +5173,6 @@
 msgid "Guest"
 msgstr ""
 
-#: ../lib/plugin/WhoIsOnline.php:125
-msgid "<unknown>"
-msgstr "<desconocido>"
-
 #: ../lib/plugin/WhoIsOnline.php:196
 #, php-format
 msgid "%d minutes"
@@ -4488,7 +5182,7 @@
 msgid "WikiAdminChmod"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminChmod.php:44 ../lib/plugin/WikiAdminSetAcl.php:43
+#: ../lib/plugin/WikiAdminChmod.php:44 ../lib/plugin/WikiAdminSetAcl.php:47
 msgid "Set individual page permissions."
 msgstr ""
 
@@ -4506,7 +5200,7 @@
 msgid "Invalid chmod string"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminChmod.php:90 ../lib/plugin/WikiAdminSetAcl.php:109
+#: ../lib/plugin/WikiAdminChmod.php:90 ../lib/plugin/WikiAdminSetAcl.php:113
 #, php-format
 msgid "%s pages have been changed."
 msgstr ""
@@ -4515,11 +5209,11 @@
 #: ../lib/plugin/WikiAdminChmod.php:93 ../lib/plugin/WikiAdminChown.php:89
 #: ../lib/plugin/WikiAdminMarkup.php:97
 #: ../lib/plugin/WikiAdminSearchReplace.php:113
-#: ../lib/plugin/WikiAdminSetAcl.php:112
+#: ../lib/plugin/WikiAdminSetAcl.php:116
 msgid "No pages changed."
 msgstr ""
 
-#: ../lib/plugin/WikiAdminChmod.php:140 ../lib/plugin/WikiAdminSetAcl.php:170
+#: ../lib/plugin/WikiAdminChmod.php:140 ../lib/plugin/WikiAdminSetAcl.php:174
 msgid "Permission"
 msgstr ""
 
@@ -4531,7 +5225,7 @@
 msgid "Chmod"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminChmod.php:155 ../lib/plugin/WikiAdminSetAcl.php:185
+#: ../lib/plugin/WikiAdminChmod.php:155 ../lib/plugin/WikiAdminSetAcl.php:189
 msgid "Select the pages to change:"
 msgstr ""
 
@@ -4547,11 +5241,11 @@
 msgid "(ugo : rwx)"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminChmod.php:189 ../lib/plugin/WikiAdminSetAcl.php:253
+#: ../lib/plugin/WikiAdminChmod.php:189 ../lib/plugin/WikiAdminSetAcl.php:257
 msgid "Propagate new permissions to all subpages?"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminChmod.php:191 ../lib/plugin/WikiAdminSetAcl.php:255
+#: ../lib/plugin/WikiAdminChmod.php:191 ../lib/plugin/WikiAdminSetAcl.php:259
 msgid "(disable individual page permissions, enable inheritance)?"
 msgstr ""
 
@@ -4566,7 +5260,7 @@
 #: ../lib/plugin/WikiAdminChown.php:69 ../lib/plugin/WikiAdminMarkup.php:70
 #: ../lib/plugin/WikiAdminRename.php:84
 #: ../lib/plugin/WikiAdminSearchReplace.php:98
-#: ../lib/plugin/WikiAdminSetAcl.php:100
+#: ../lib/plugin/WikiAdminSetAcl.php:104
 #, php-format
 msgid "Access denied to change page '%s'."
 msgstr ""
@@ -4682,7 +5376,7 @@
 msgstr ""
 
 #: ../lib/plugin/WikiAdminRemove.php:183 ../lib/plugin/WikiAdminRemove.php:232
-#: ../themes/blog/themeinfo.php:59
+#: ../themes/blog/themeinfo.php:67
 msgid "Remove"
 msgstr "Quite"
 
@@ -4870,185 +5564,212 @@
 msgid "Select pages"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminSetAcl.php:39
+#: ../lib/plugin/WikiAdminSetAcl.php:43
 msgid "WikiAdminSetAcl"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminSetAcl.php:94
+#: ../lib/plugin/WikiAdminSetAcl.php:98
 #, php-format
 msgid "ACL not changed for page '%s'."
 msgstr ""
 
-#: ../lib/plugin/WikiAdminSetAcl.php:97
+#: ../lib/plugin/WikiAdminSetAcl.php:101
 #, php-format
 msgid "ACL changed for page '%s'."
 msgstr ""
 
-#: ../lib/plugin/WikiAdminSetAcl.php:104
+#: ../lib/plugin/WikiAdminSetAcl.php:108
 msgid "Invalid ACL"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminSetAcl.php:120 ../lib/plugin/_WikiTranslation.php:94
+#: ../lib/plugin/WikiAdminSetAcl.php:124 ../lib/plugin/_WikiTranslation.php:94
 msgid "PhpWikiAdministration/SetAcl"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminSetAcl.php:172 ../lib/plugin/WikiAdminSetAcl.php:228
+#: ../lib/plugin/WikiAdminSetAcl.php:176 ../lib/plugin/WikiAdminSetAcl.php:232
 msgid "ACL"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminSetAcl.php:180
+#: ../lib/plugin/WikiAdminSetAcl.php:184
 msgid ""
 "Are you sure you want to permanently change access to the selected files?"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminSetAcl.php:215
+#: ../lib/plugin/WikiAdminSetAcl.php:219
 msgid "Selected Pages: "
 msgstr ""
 
-#: ../lib/plugin/WikiAdminSetAcl.php:221
+#: ../lib/plugin/WikiAdminSetAcl.php:225
 #, php-format
 msgid "page permission inherited from %s"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminSetAcl.php:223
+#: ../lib/plugin/WikiAdminSetAcl.php:227
 msgid "invidual page permission"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminSetAcl.php:225
+#: ../lib/plugin/WikiAdminSetAcl.php:229
 msgid "default page permission"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminSetAcl.php:226
+#: ../lib/plugin/WikiAdminSetAcl.php:230
 msgid "Type"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminSetAcl.php:227
+#: ../lib/plugin/WikiAdminSetAcl.php:231
 msgid "getfacl"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminSetAcl.php:231
+#: ../lib/plugin/WikiAdminSetAcl.php:235
 msgid ""
 "Selected Grant checkboxes allow access, unselected checkboxes deny access."
 msgstr ""
 
-#: ../lib/plugin/WikiAdminSetAcl.php:232
+#: ../lib/plugin/WikiAdminSetAcl.php:236
 msgid "To ignore delete the line."
 msgstr ""
 
-#: ../lib/plugin/WikiAdminSetAcl.php:233
+#: ../lib/plugin/WikiAdminSetAcl.php:237
 msgid "To add check 'Add' near the dropdown list."
 msgstr ""
 
-#: ../lib/plugin/WikiAdminSetAcl.php:256
+#: ../lib/plugin/WikiAdminSetAcl.php:260
 msgid "(Currently not working)"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:36
+#: ../lib/plugin/WikiAdminUtils.php:38
 msgid "WikiAdminUtils"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:40
+#: ../lib/plugin/WikiAdminUtils.php:42
 msgid "Miscellaneous utility functions for the Administrator."
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:72
+#: ../lib/plugin/WikiAdminUtils.php:74
 msgid "You must be an administrator to use this plugin."
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:101
-msgid "WikiAdminUtils says:"
+#: ../lib/plugin/WikiAdminUtils.php:103
+#, php-format
+msgid "WikiAdminUtils %s returned:"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:103 ../lib/stdlib.php:1759
-msgid "Okay"
-msgstr ""
+#: ../lib/plugin/WikiAdminUtils.php:105
+#, fuzzy
+msgid "Back"
+msgstr "AcoplamientosTraseros"
 
-#: ../lib/plugin/WikiAdminUtils.php:108
+#: ../lib/plugin/WikiAdminUtils.php:110
 msgid "Purge Markup Cache"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:109
+#: ../lib/plugin/WikiAdminUtils.php:111
 msgid "Purge all Pages With Invalid Names"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:110
+#: ../lib/plugin/WikiAdminUtils.php:112
 msgid "Purge all empty, unreferenced Pages"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:120
+#: ../lib/plugin/WikiAdminUtils.php:113
+msgid "Access Restrictions"
+msgstr ""
+
+#: ../lib/plugin/WikiAdminUtils.php:115
+msgid "Convert cached_html"
+msgstr ""
+
+#: ../lib/plugin/WikiAdminUtils.php:116
+msgid "DB Check"
+msgstr ""
+
+#: ../lib/plugin/WikiAdminUtils.php:117
+msgid "Db Rebuild"
+msgstr ""
+
+#: ../lib/plugin/WikiAdminUtils.php:128
 msgid "Markup cache purged!"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:140
+#: ../lib/plugin/WikiAdminUtils.php:148
 msgid "No pages with bad names had to be deleted."
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:142
+#: ../lib/plugin/WikiAdminUtils.php:150
 #, php-format
 msgid "Deleted %s pages with invalid names:"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:160
+#: ../lib/plugin/WikiAdminUtils.php:171
 msgid "[purged]"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:162
+#: ../lib/plugin/WikiAdminUtils.php:173
 msgid "[not purgable]"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:170
+#: ../lib/plugin/WikiAdminUtils.php:181
 msgid "No empty, unreferenced pages were found."
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:172
+#: ../lib/plugin/WikiAdminUtils.php:183
 #, php-format
 msgid "Deleted %s unreferenced pages:"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:175
+#: ../lib/plugin/WikiAdminUtils.php:186
 #, php-format
 msgid ""
 "The %d not-purgable pages/links are links in some page(s). You might want to "
 "edit them."
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:190
+#: ../lib/plugin/WikiAdminUtils.php:201
 msgid "No old _cached_html pagedata found."
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:192
+#: ../lib/plugin/WikiAdminUtils.php:203
 #, php-format
 msgid "Converted successfully %d pages"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:201
+#: ../lib/plugin/WikiAdminUtils.php:227
 msgid "Sorry. Access Restrictions not yet implemented"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:209
-#: ../themes/default/templates/userprefs.tmpl:124
+#: ../lib/plugin/WikiAdminUtils.php:235
+#: ../themes/default/templates/userprefs.tmpl:125
 msgid "E-Mail"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:211
+#: ../lib/plugin/WikiAdminUtils.php:237
 msgid "Verification Status"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:263
+#: ../lib/plugin/WikiAdminUtils.php:238
+#, fuzzy
+msgid "Username"
+msgstr "Retitule"
+
+#: ../lib/plugin/WikiAdminUtils.php:293
 msgid "Change Verification Status"
 msgstr ""
 
+#: ../lib/plugin/WikiBlog.php:87
+msgid "WikiBlog"
+msgstr ""
+
 # lib/pageinfo.php:21
-#: ../lib/plugin/WikiBlog.php:79
+#: ../lib/plugin/WikiBlog.php:91
 #, php-format
 msgid "Show and add blogs for %s"
 msgstr ""
 
-#: ../lib/plugin/WikiBlog.php:190
+#: ../lib/plugin/WikiBlog.php:219
 msgid "New comment."
 msgstr ""
 
-#: ../lib/plugin/WikiBlog.php:294
+#: ../lib/plugin/WikiBlog.php:330
 #, php-format
 msgid "%s on %s:"
 msgstr ""
@@ -5057,7 +5778,7 @@
 msgid "WikiForm"
 msgstr ""
 
-#: ../lib/plugin/WikiForm.php:76
+#: ../lib/plugin/WikiForm.php:76 ../themes/MonoBook/templates/signin.tmpl:16
 msgid "Login"
 msgstr ""
 
@@ -5074,11 +5795,11 @@
 msgid "WikiForm: %s: unknown action"
 msgstr ""
 
-#: ../lib/plugin/WikiFormRich.php:92
+#: ../lib/plugin/WikiFormRich.php:106
 msgid "Provide generic WikiForm input buttons"
 msgstr ""
 
-#: ../lib/plugin/WikiFormRich.php:181
+#: ../lib/plugin/WikiFormRich.php:195
 msgid "name"
 msgstr "Nombre"
 
@@ -5116,10 +5837,6 @@
 msgid "Missing %s for %s"
 msgstr ""
 
-#: ../lib/plugin/WikiPoll.php:224
-msgid "Ok"
-msgstr ""
-
 # lib/msql.php:237 lib/msql.php:312
 #: ../lib/plugin/WikiPoll.php:227
 msgid "Reset"
@@ -5138,6 +5855,26 @@
 msgid "Thanks for participating!"
 msgstr "Gracias!"
 
+#: ../lib/plugin/YouTube.php:24
+msgid "YouTube"
+msgstr ""
+
+#: ../lib/plugin/YouTube.php:28
+msgid "Embed YouTube videos"
+msgstr ""
+
+#: ../lib/plugin/YouTube.php:54
+#, fuzzy, php-format
+msgid "Required argument %s missing"
+msgstr "Discusin sin apoyo: %s=%s"
+
+#: ../lib/plugin/YouTube.php:91 ../lib/plugin/YouTube.php:93
+#: ../lib/plugin/YouTube.php:95 ../lib/plugin/YouTube.php:97
+#: ../lib/plugin/YouTube.php:121 ../lib/plugin/YouTube.php:123
+#, fuzzy, php-format
+msgid "Invalid argument %s"
+msgstr "Username invlido"
+
 # lib/pageinfo.php:26 lib/pageinfo.php:75
 #: ../lib/plugin/_AuthInfo.php:35
 msgid "AuthInfo"
@@ -5163,10 +5900,9 @@
 #: ../lib/plugin/_BackendInfo.php:30 ../lib/plugin/_WikiTranslation.php:60
 #: ../themes/Crao/templates/actionbar.tmpl:27
 #: ../themes/MonoBook/templates/info.tmpl:174
-#: ../themes/Portland/templates/actionbar.tmpl:21
-#: ../themes/Wordpress/templates/actionbar.tmpl:74
-#: ../themes/default/templates/actionbar.tmpl:34
-#: ../themes/shamino_com/templates/info.tmpl:174
+#: ../themes/Portland/templates/actionbar.tmpl:17
+#: ../themes/Wordpress/templates/actionbar.tmpl:75
+#: ../themes/default/templates/actionbar.tmpl:36
 #: ../themes/smaller/templates/info.tmpl:14
 msgid "DebugInfo"
 msgstr ""
@@ -5176,17 +5912,17 @@
 msgid "Get debugging information for %s."
 msgstr ""
 
-#: ../lib/plugin/_BackendInfo.php:54
+#: ../lib/plugin/_BackendInfo.php:58
 #, php-format
 msgid "Querying backend directly for '%s'"
 msgstr ""
 
-#: ../lib/plugin/_BackendInfo.php:64
+#: ../lib/plugin/_BackendInfo.php:67
 #, php-format
 msgid "No pagedata for %s"
 msgstr ""
 
-#: ../lib/plugin/_BackendInfo.php:97
+#: ../lib/plugin/_BackendInfo.php:124
 msgid "<not displayed>"
 msgstr ""
 
@@ -5209,6 +5945,20 @@
 msgid "Get preferences information for current user %s."
 msgstr ""
 
+#: ../lib/plugin/_Retransform.php:30
+msgid "Retransform CachedMarkup"
+msgstr ""
+
+#: ../lib/plugin/_Retransform.php:34
+#, php-format
+msgid "Show a markup retransformation of page %s."
+msgstr ""
+
+#: ../lib/plugin/_Retransform.php:53
+#, php-format
+msgid "Retransform page '%s'"
+msgstr ""
+
 #: ../lib/plugin/_WikiTranslation.php:47
 msgid "AddCommentPlugin"
 msgstr ""
@@ -5242,11 +5992,6 @@
 msgstr "CalendarioPlugin"
 
 # lib/diff.php:997
-#: ../lib/plugin/_WikiTranslation.php:56
-msgid "CategoryCategory"
-msgstr "CategoriaCategoria"
-
-# lib/diff.php:997
 #: ../lib/plugin/_WikiTranslation.php:57
 msgid "CategoryHomePages"
 msgstr ""
@@ -5271,9 +6016,10 @@
 #: ../lib/plugin/_WikiTranslation.php:64 ../themes/Crao/templates/head.tmpl:36
 #: ../themes/Crao/templates/head.tmpl:37
 #: ../themes/Crao/templates/navbar.tmpl:40
-#: ../themes/MonoBook/templates/navbar.tmpl:25
-#: ../themes/Portland/templates/navbar.tmpl:8
-#: ../themes/Sidebar/templates/navbar.tmpl:24
+#: ../themes/MonoBook/templates/navbar.tmpl:29
+#: ../themes/MonoBook/templates/navbar.tmpl:35
+#: ../themes/Portland/templates/navbar.tmpl:5
+#: ../themes/Sidebar/templates/navbar.tmpl:14
 #: ../themes/default/templates/head.tmpl:42
 #: ../themes/default/templates/head.tmpl:43
 #: ../themes/default/templates/navbar.tmpl:20
@@ -5281,7 +6027,7 @@
 #: ../themes/smaller/templates/navbar.tmpl:8
 #: ../themes/wikilens/templates/head.tmpl:34
 #: ../themes/wikilens/templates/head.tmpl:35
-#: ../themes/wikilens/templates/navbar.tmpl:11
+#: ../themes/wikilens/templates/navbar.tmpl:19
 msgid "FindPage"
 msgstr "BuscarPgina"
 
@@ -5384,6 +6130,7 @@
 msgstr ""
 
 #: ../lib/plugin/_WikiTranslation.php:95
+#: ../themes/MonoBook/templates/navbar.tmpl:20
 msgid "PhpWikiDocumentation"
 msgstr ""
 
@@ -5466,6 +6213,7 @@
 msgstr "IncluyaPginasSecundariaPlugin"
 
 #: ../lib/plugin/_WikiTranslation.php:118
+#: ../themes/MonoBook/templates/navbar.tmpl:60
 msgid "UpLoad"
 msgstr "UpLoad"
 
@@ -5509,36 +6257,35 @@
 "service for %s to language %s"
 msgstr ""
 
-#: ../lib/plugin/_WikiTranslation.php:319
-#, php-format
-msgid "%s is empty"
-msgstr "%s es vaco"
-
 #: ../lib/plugin/_WikiTranslation.php:438
 #, php-format
 msgid "Define the translation for %s in %s"
 msgstr ""
 
-#: ../lib/plugin/text2png.php:46
+#: ../lib/plugin/text2png.php:57
 msgid "Convert text into a png image using GD."
 msgstr ""
 
-#: ../lib/plugin/text2png.php:118
+#: ../lib/plugin/text2png.php:169
 msgid ""
 "PHP was unable to create a new GD image stream. Read 'lib/plugin/text2png."
 "php' for details."
 msgstr ""
 
-#: ../lib/plugin/text2png.php:168
+#: ../lib/plugin/text2png.php:214
 #, php-format
 msgid "Image saved to cache file: %s"
 msgstr ""
 
-#: ../lib/plugin/text2png.php:172
+#: ../lib/plugin/text2png.php:218
 #, php-format
 msgid "Image loaded from cache file: %s"
 msgstr ""
 
+#: ../lib/plugin/text2png.php:226
+msgid " produced by "
+msgstr ""
+
 #: ../lib/removepage.php:18
 msgid "Already deleted"
 msgstr "Suprimido ya"
@@ -5569,311 +6316,364 @@
 msgid "Back to the previous page."
 msgstr "De nuevo a la pgina anterior."
 
-#: ../lib/stdlib.php:364 ../lib/stdlib.php:393
+#: ../lib/stdlib.php:366 ../lib/stdlib.php:395
 msgid "BAD URL -- remove all of <, >, \""
 msgstr ""
 
-#: ../lib/stdlib.php:433 ../lib/stdlib.php:450
+#: ../lib/stdlib.php:435 ../lib/stdlib.php:452
 msgid "Invalid image size"
 msgstr ""
 
-#: ../lib/stdlib.php:560
+#: ../lib/stdlib.php:562
 msgid "BAD phpwiki: URL"
 msgstr ""
 
-#: ../lib/stdlib.php:598
+#: ../lib/stdlib.php:600
 msgid "Lock page to enable link"
 msgstr ""
 
-#: ../lib/stdlib.php:725
+#: ../lib/stdlib.php:728
 #, php-format
 msgid "'%s': Bad page name: %s"
 msgstr ""
 
-#: ../lib/stdlib.php:755 ../lib/stdlib.php:780
+#: ../lib/stdlib.php:758 ../lib/stdlib.php:789
 #, php-format
 msgid "Leading %s not allowed"
 msgstr ""
 
-#: ../lib/stdlib.php:764
+#: ../lib/stdlib.php:773
 msgid "White space converted to single space"
 msgstr ""
 
-#: ../lib/stdlib.php:770
+#: ../lib/stdlib.php:779
 msgid "Control characters not allowed"
 msgstr ""
 
-#: ../lib/stdlib.php:791
+#: ../lib/stdlib.php:800
 msgid "too long"
 msgstr "demasiado de largo"
 
-#: ../lib/stdlib.php:797
+#: ../lib/stdlib.php:809
 #, php-format
 msgid "Illegal chars %s removed"
 msgstr "Los carbones ilegales %s quitaron"
 
-#: ../lib/stdlib.php:843
+#: ../lib/stdlib.php:855
 msgid "The CreateTocPlugin is not yet old markup compatible! "
 msgstr ""
 
-#: ../lib/stdlib.php:844
+#: ../lib/stdlib.php:856
 msgid ""
 "Please remove the CreateToc line to be able to reformat this page to old "
 "markup. "
 msgstr ""
 
-#: ../lib/stdlib.php:1105
+#: ../lib/stdlib.php:1118
 msgid "Revision Not Found"
 msgstr "Revisin No encontrada"
 
 # lib/pageinfo.php:36
-#: ../lib/stdlib.php:1106
+#: ../lib/stdlib.php:1119
 #, php-format
 msgid "I'm sorry.  Version %d of %s is not in the database."
 msgstr "Estoy apesadumbrado.  La versin %d de %s no est en la base de datos."
 
-#: ../lib/stdlib.php:1109
+#: ../lib/stdlib.php:1122
 msgid "Bad Version"
 msgstr ""
 
-#: ../lib/stdlib.php:1245
+#: ../lib/stdlib.php:1258
 msgid "-???"
 msgstr ""
 
-#: ../lib/stdlib.php:1248
+#: ../lib/stdlib.php:1261
 #, php-format
 msgid "%s b"
 msgstr "%s o"
 
-#: ../lib/stdlib.php:1250 ../themes/MonoBook/templates/info.tmpl:29
-#: ../themes/shamino_com/templates/info.tmpl:29
+#: ../lib/stdlib.php:1263 ../themes/MonoBook/templates/info.tmpl:29
 #, php-format
 msgid "%s bytes"
 msgstr "%s octetos"
 
-#: ../lib/stdlib.php:1255
+#: ../lib/stdlib.php:1268
 #, php-format
 msgid "%s k"
 msgstr ""
 
-#: ../lib/stdlib.php:1257 ../themes/MonoBook/templates/info.tmpl:32
-#: ../themes/shamino_com/templates/info.tmpl:32
+#: ../lib/stdlib.php:1270 ../themes/MonoBook/templates/info.tmpl:32
 #, php-format
 msgid "%s Kb (%s bytes)"
 msgstr "%s Kb (%s octetos)"
 
-#: ../lib/stdlib.php:1353
+#: ../lib/stdlib.php:1366
 #, php-format
 msgid "%s: argument index out of range"
 msgstr ""
 
-#: ../lib/stdlib.php:1431 ../themes/Hawaiian/lib/random.php:20
+#: ../lib/stdlib.php:1444 ../themes/Hawaiian/lib/random.php:20
 #, php-format
 msgid "%s is empty."
 msgstr ""
 
-#: ../lib/stdlib.php:1438
+#: ../lib/stdlib.php:1451
 #, php-format
 msgid "Unable to open directory '%s' for reading"
 msgstr ""
 
-#: ../lib/stdlib.php:1942 ../lib/stdlib.php:1955
+#: ../lib/stdlib.php:1772
+msgid "Okay"
+msgstr ""
+
+#: ../lib/stdlib.php:1949 ../lib/stdlib.php:1962
 #, php-format
 msgid "... (first %s words)"
 msgstr ""
 
-#: ../lib/upgrade.php:76
+#: ../lib/upgrade.php:86
 msgid "newer than the existing page."
 msgstr ""
 
-#: ../lib/upgrade.php:77
+#: ../lib/upgrade.php:87
 msgid " replace "
 msgstr ""
 
-#: ../lib/upgrade.php:81
+#: ../lib/upgrade.php:91
 msgid "older than the existing page."
 msgstr ""
 
-#: ../lib/upgrade.php:82 ../lib/upgrade.php:86 ../lib/upgrade.php:153
-msgid " skipped"
+#: ../lib/upgrade.php:99
+#, php-format
+msgid "%s does not exist"
 msgstr ""
 
-#: ../lib/upgrade.php:89
+#: ../lib/upgrade.php:124 ../lib/upgrade.php:155 ../lib/upgrade.php:401
+#: ../lib/upgrade.php:913 ../lib/upgrade.php:1001
 #, php-format
-msgid "%s does not exist"
+msgid "check for necessary %s updates"
+msgstr ""
+
+#: ../lib/upgrade.php:125 ../themes/MonoBook/templates/actionbar.tmpl:17
+#: ../themes/MonoBook/templates/actionbar.tmpl:30
+#, fuzzy
+msgid "ActionPage"
+msgstr "BuscarPgina"
+
+# lib/pageinfo.php:26 lib/pageinfo.php:75
+#: ../lib/upgrade.php:127
+#, fuzzy
+msgid "_AuthInfo"
+msgstr "Informacion"
+
+#: ../lib/upgrade.php:127
+msgid "DebugAuthInfo"
 msgstr ""
 
-#: ../lib/upgrade.php:112
-msgid "check for necessary ActionPage updates"
+#: ../lib/upgrade.php:130
+msgid "_GroupInfo"
 msgstr ""
 
-#: ../lib/upgrade.php:136
-msgid "check for necessary pgsrc updates"
+#: ../lib/upgrade.php:130
+msgid "GroupAuthInfo"
 msgstr ""
 
-#: ../lib/upgrade.php:152
+#: ../lib/upgrade.php:158
+msgid "rename to Help: pages"
+msgstr ""
+
+#: ../lib/upgrade.php:175
 msgid "always skip the HomePage."
 msgstr ""
 
-#: ../lib/upgrade.php:172
+#: ../lib/upgrade.php:196
+#, php-format
+msgid "check for additional theme %s updates"
+msgstr ""
+
+#: ../lib/upgrade.php:209
+#, fuzzy, php-format
+msgid "rename %s to %s"
+msgstr "La pgina retitula %s a %s"
+
+#: ../lib/upgrade.php:236
 msgid "MISSING"
 msgstr ""
 
-#: ../lib/upgrade.php:208 ../lib/upgrade.php:227 ../lib/upgrade.php:246
-#: ../lib/upgrade.php:267 ../lib/upgrade.php:295 ../lib/upgrade.php:341
+#: ../lib/upgrade.php:272 ../lib/upgrade.php:291 ../lib/upgrade.php:312
+#: ../lib/upgrade.php:340 ../lib/upgrade.php:386
 msgid "CREATED"
 msgstr ""
 
-#: ../lib/upgrade.php:357
-msgid "check for necessary database updates"
+#: ../lib/upgrade.php:402
+msgid "database"
 msgstr ""
 
-#: ../lib/upgrade.php:362
+#: ../lib/upgrade.php:408
 msgid "CANCEL"
 msgstr ""
 
-#: ../lib/upgrade.php:368
+#: ../lib/upgrade.php:421
 msgid "Backend type: "
 msgstr ""
 
-#: ../lib/upgrade.php:371 ../lib/upgrade.php:380 ../lib/upgrade.php:389
+#: ../lib/upgrade.php:425 ../lib/upgrade.php:445 ../lib/upgrade.php:454
 #, php-format
 msgid "check for table %s"
 msgstr ""
 
-#: ../lib/upgrade.php:401
+#: ../lib/upgrade.php:469
 msgid "check for new session.sess_ip column"
 msgstr ""
 
-#: ../lib/upgrade.php:407 ../lib/upgrade.php:712
+#: ../lib/upgrade.php:475 ../lib/upgrade.php:692 ../lib/upgrade.php:837
 msgid "SKIP"
 msgstr ""
 
-#: ../lib/upgrade.php:410 ../lib/upgrade.php:517 ../lib/upgrade.php:717
+#: ../lib/upgrade.php:478 ../lib/upgrade.php:586 ../lib/upgrade.php:842
 msgid "ADDING"
 msgstr ""
 
-#: ../lib/upgrade.php:420
+#: ../lib/upgrade.php:488
 msgid "check for mysql session.sess_id sanity"
 msgstr ""
 
-#: ../lib/upgrade.php:434 ../lib/upgrade.php:439 ../lib/upgrade.php:476
-#: ../lib/upgrade.php:485
+#: ../lib/upgrade.php:502 ../lib/upgrade.php:507 ../lib/upgrade.php:544
+#: ../lib/upgrade.php:553
 msgid "fixed"
 msgstr "fijo"
 
-#: ../lib/upgrade.php:453
+#: ../lib/upgrade.php:521
 msgid "check for mysql LOCK TABLE privilege"
 msgstr ""
 
-#: ../lib/upgrade.php:487 ../lib/upgrade.php:524 ../lib/upgrade.php:784
-#: ../lib/upgrade.php:809 ../lib/upgrade.php:818 ../lib/upgrade.php:825
-msgid "FAILED"
-msgstr ""
-
-#: ../lib/upgrade.php:499
+#: ../lib/upgrade.php:567
 #, fuzzy, php-format
 msgid "version <em>%s</em> not affected"
 msgstr "versin %s"
 
-#: ../lib/upgrade.php:507
+#: ../lib/upgrade.php:576
 msgid "check for mysql page.id auto_increment flag"
 msgstr ""
 
-#: ../lib/upgrade.php:544
+#: ../lib/upgrade.php:613
 msgid "check for mysql 4.1.x/5.0.0 binary search on windows problem"
 msgstr ""
 
-#: ../lib/upgrade.php:547 ../lib/upgrade.php:563 ../lib/upgrade.php:584
+#: ../lib/upgrade.php:616 ../lib/upgrade.php:632 ../lib/upgrade.php:653
 #, fuzzy, php-format
 msgid "version <em>%s</em>"
 msgstr "versin %s"
 
-#: ../lib/upgrade.php:548
+#: ../lib/upgrade.php:617
 msgid "not affected"
 msgstr ""
 
-#: ../lib/upgrade.php:564 ../lib/upgrade.php:585 ../lib/upgrade.php:606
-#: ../lib/upgrade.php:816
+#: ../lib/upgrade.php:633 ../lib/upgrade.php:654 ../lib/upgrade.php:682
+#: ../lib/upgrade.php:1103
 msgid "FIXED"
 msgstr ""
 
-#: ../lib/upgrade.php:595
+#: ../lib/upgrade.php:664
 msgid "check for ACCESS_LOG_SQL passwords in POST requests"
 msgstr ""
 
-#: ../lib/upgrade.php:661
+#: ../lib/upgrade.php:687
+msgid "check for ACCESS_LOG_SQL remote_host varchar(50)"
+msgstr ""
+
+#: ../lib/upgrade.php:695
+msgid "FIXING"
+msgstr ""
+
+#: ../lib/upgrade.php:698
+msgid "FAIL"
+msgstr ""
+
+#: ../lib/upgrade.php:787
 msgid ""
 "Upgrade requires database privileges to CREATE and ALTER the phpwiki "
 "database."
 msgstr ""
 
-#: ../lib/upgrade.php:663
+#: ../lib/upgrade.php:789
 msgid ""
 "And on windows at least the privilege to SELECT FROM mysql, and possibly "
 "UPDATE mysql"
 msgstr ""
 
-#: ../lib/upgrade.php:668
+#: ../lib/upgrade.php:794
 msgid "DB admin user:"
 msgstr "DB admin username:"
 
-#: ../lib/upgrade.php:674
+#: ../lib/upgrade.php:800
 msgid "DB admin password:"
 msgstr "DB admin contrasea:"
 
-#: ../lib/upgrade.php:707
+#: ../lib/upgrade.php:832
 msgid "check for extra page.cached_html column"
 msgstr ""
 
-#: ../lib/upgrade.php:724
+#: ../lib/upgrade.php:849 ../lib/upgrade.php:897
 msgid "CONVERTING"
 msgstr ""
 
-#: ../lib/upgrade.php:766
-msgid "check for necessary plugin argument updates"
+#: ../lib/upgrade.php:895
+msgid "Rebuild entire database to upgrade relation links"
 msgstr ""
 
-#: ../lib/upgrade.php:767
-msgid "change RandomPage pages => numpages"
+#: ../lib/upgrade.php:914
+msgid "plugin argument"
 msgstr ""
 
+#: ../lib/upgrade.php:958
+#, fuzzy, php-format
+msgid "file %s not found"
+msgstr "%s: fichero no encontrado"
+
+#: ../lib/upgrade.php:985
+#, fuzzy, php-format
+msgid "%s not found in %s"
+msgstr "%s: fichero no encontrado"
+
 # lib/msql.php:29 lib/mysql.php:36
-#: ../lib/upgrade.php:819
+#: ../lib/upgrade.php:992
 #, php-format
 msgid "couldn't move %s to %s"
 msgstr "no poda mover %s a %s"
 
-#: ../lib/upgrade.php:826
-#, php-format
-msgid "%s is not writable"
+#: ../lib/upgrade.php:996
+#, fuzzy, php-format
+msgid "file %s is not writable"
 msgstr "%s no es escribible"
 
-#: ../lib/upgrade.php:832
-msgid "check for necessary config updates"
-msgstr ""
-
-#: ../lib/upgrade.php:833
-msgid "check for old CACHE_CONTROL = NONE"
-msgstr ""
+#: ../lib/upgrade.php:1006 ../lib/upgrade.php:1016 ../lib/upgrade.php:1026
+#, fuzzy, php-format
+msgid "check for %s"
+msgstr "AcoplamientosTraseros por %s"
 
-#: ../lib/upgrade.php:836
+#: ../lib/upgrade.php:1008
 msgid "CACHE_CONTROL is set to 'NONE', and must be changed to 'NO_CACHE'"
 msgstr ""
 
-#: ../lib/upgrade.php:843
-msgid "check for GROUP_METHOD = NONE"
+#: ../lib/upgrade.php:1018
+msgid "GROUP_METHOD is set to NONE, and must be changed to \"NONE\""
 msgstr ""
 
-#: ../lib/upgrade.php:846
-msgid "GROUP_METHOD is set to NONE, and must be changed to \"NONE\""
+#: ../lib/upgrade.php:1028
+msgid "fix BLOG_EMPTY_DEFAULT_PREFIX into BLOG_DEFAULT_EMPTY_PREFIX"
 msgstr ""
 
-#: ../lib/upgrade.php:883
+#: ../lib/upgrade.php:1128
+#, fuzzy
+msgid "fixed with"
+msgstr "fijo"
+
+#: ../lib/upgrade.php:1254
 msgid "Upgrade disabled: user != isAdmin"
 msgstr ""
 
-#: ../lib/upgrade.php:887
+#: ../lib/upgrade.php:1259
 msgid "Upgrading this PhpWiki"
 msgstr ""
 
@@ -5908,48 +6708,46 @@
 msgid "Members:"
 msgstr "Miembros:"
 
-#: ../lib/ziplib.php:199
+#: ../lib/ziplib.php:206
 msgid "Can't inflate data: zlib support not enabled in this PHP"
 msgstr ""
 
-#: ../lib/ziplib.php:395
+#: ../lib/ziplib.php:402
 #, php-format
 msgid "Can't open zip file '%s' for reading"
 msgstr ""
 
-#: ../lib/ziplib.php:405 ../lib/ziplib.php:409
+#: ../lib/ziplib.php:412 ../lib/ziplib.php:416
 msgid "Unexpected EOF in zip file"
 msgstr "EOF inesperado en archivo del zip"
 
-#: ../lib/ziplib.php:730
+#: ../lib/ziplib.php:738
 #, php-format
 msgid "[%d] See [%s]"
 msgstr "[%d] Vea [%s]"
 
-#: ../lib/ziplib.php:737
+#: ../lib/ziplib.php:745
 msgid "References"
 msgstr "Referencias"
 
 #: ../themes/Crao/templates/actionbar.tmpl:5
-#: ../themes/MonoBook/templates/actionbar.tmpl:11
-#: ../themes/Portland/templates/actionbar.tmpl:8
-#: ../themes/default/templates/actionbar.tmpl:15
+#: ../themes/MonoBook/templates/actionbar.tmpl:34
+#: ../themes/Portland/templates/actionbar.tmpl:6
+#: ../themes/default/templates/actionbar.tmpl:16
 #: ../themes/shamino_com/templates/actionbar.tmpl:6
-#: ../themes/shamino_com/templates/info.tmpl:164
 #: ../themes/smaller/templates/actionbar.tmpl:18
 msgid "Edit Old Revision"
 msgstr ""
 
 #: ../themes/Crao/templates/actionbar.tmpl:7
 #: ../themes/Crao/templates/head.tmpl:47
-#: ../themes/MonoBook/templates/actionbar.tmpl:13
+#: ../themes/MonoBook/templates/actionbar.tmpl:37
 #: ../themes/MonoBook/templates/info.tmpl:166
-#: ../themes/Portland/templates/actionbar.tmpl:10
+#: ../themes/Portland/templates/actionbar.tmpl:8
 #: ../themes/Wordpress/templates/actionbar.tmpl:10
-#: ../themes/blog/templates/actionbar.tmpl:7
-#: ../themes/default/templates/actionbar.tmpl:17
+#: ../themes/blog/templates/actionbar.tmpl:21
+#: ../themes/default/templates/actionbar.tmpl:18
 #: ../themes/default/templates/head.tmpl:53
-#: ../themes/shamino_com/templates/info.tmpl:165
 #: ../themes/smaller/templates/actionbar.tmpl:20
 #: ../themes/smaller/templates/info.tmpl:5
 #: ../themes/wikilens/templates/head.tmpl:45
@@ -5957,19 +6755,17 @@
 msgstr "Vea la fuente"
 
 #: ../themes/Crao/templates/actionbar.tmpl:30
-#: ../themes/MonoBook/templates/actionbar.tmpl:52
+#: ../themes/MonoBook/templates/actionbar.tmpl:72
 #: ../themes/MonoBook/templates/info.tmpl:177
-#: ../themes/default/templates/actionbar.tmpl:39
-#: ../themes/shamino_com/templates/info.tmpl:177
+#: ../themes/default/templates/actionbar.tmpl:41
 #: ../themes/smaller/templates/info.tmpl:17
 msgid "PurgeHtmlCache"
 msgstr ""
 
 #: ../themes/Crao/templates/actionbar.tmpl:31
-#: ../themes/MonoBook/templates/actionbar.tmpl:53
+#: ../themes/MonoBook/templates/actionbar.tmpl:73
 #: ../themes/MonoBook/templates/info.tmpl:178
-#: ../themes/default/templates/actionbar.tmpl:40
-#: ../themes/shamino_com/templates/info.tmpl:178
+#: ../themes/default/templates/actionbar.tmpl:42
 #: ../themes/smaller/templates/info.tmpl:18
 msgid ""
 "Purge HTML cache for this page. Regenerate from WikiMarkup when next "
@@ -5977,35 +6773,35 @@
 msgstr ""
 
 #: ../themes/Crao/templates/blogform.tmpl:10
-#: ../themes/blog/templates/blogform.tmpl:11
-#: ../themes/default/templates/blogform.tmpl:11
 msgid "Add a Comment"
 msgstr "Agregue un comentario"
 
 #: ../themes/Crao/templates/blogform.tmpl:18
-#: ../themes/blog/templates/blogform.tmpl:28
 #: ../themes/default/templates/addcomment.tmpl:14
-#: ../themes/default/templates/blogform.tmpl:28
 msgid "Add Comment"
 msgstr "Agregue El Comentario"
 
 #: ../themes/Crao/templates/browse.tmpl:5
+#: ../themes/MonoBook/templates/browse.tmpl:6
 #: ../themes/Portland/templates/browse.tmpl:9
 #: ../themes/Portland/templates/viewsource.tmpl:5
 #: ../themes/Wordpress/templates/browse.tmpl:9
-#: ../themes/Wordpress/templates/viewsource.tmpl:7
+#: ../themes/Wordpress/templates/viewsource.tmpl:9
 #: ../themes/blog/templates/browse.tmpl:6
+#: ../themes/blog/templates/viewsource.tmpl:6
 #: ../themes/default/templates/browse.tmpl:6
 #: ../themes/default/templates/viewsource.tmpl:5
 msgid "Note:"
 msgstr "Nota:"
 
 #: ../themes/Crao/templates/browse.tmpl:6
+#: ../themes/MonoBook/templates/browse.tmpl:7
 #: ../themes/Portland/templates/browse.tmpl:10
 #: ../themes/Portland/templates/viewsource.tmpl:10
 #: ../themes/Wordpress/templates/browse.tmpl:10
-#: ../themes/Wordpress/templates/viewsource.tmpl:12
+#: ../themes/Wordpress/templates/viewsource.tmpl:14
 #: ../themes/blog/templates/browse.tmpl:7
+#: ../themes/blog/templates/viewsource.tmpl:11
 #: ../themes/default/templates/browse.tmpl:7
 #: ../themes/default/templates/viewsource.tmpl:10
 msgid "You are viewing an old revision of this page."
@@ -6013,23 +6809,30 @@
 
 # lib/pageinfo.php:70
 #: ../themes/Crao/templates/browse.tmpl:7
+#: ../themes/MonoBook/templates/browse.tmpl:8
 #: ../themes/Portland/templates/browse.tmpl:11
 #: ../themes/Portland/templates/viewsource.tmpl:11
 #: ../themes/Wordpress/templates/browse.tmpl:11
-#: ../themes/Wordpress/templates/viewsource.tmpl:13
+#: ../themes/Wordpress/templates/viewsource.tmpl:15
 #: ../themes/blog/templates/browse.tmpl:8
+#: ../themes/blog/templates/viewsource.tmpl:12
 #: ../themes/default/templates/browse.tmpl:8
 #: ../themes/default/templates/viewsource.tmpl:11
 msgid "View the current version"
 msgstr "Vea la versin actual"
 
 #: ../themes/Crao/templates/editpage.tmpl:4
-#: ../themes/Portland/templates/editpage.tmpl:61
-#: ../themes/Wordpress/templates/editpage.tmpl:63
+#: ../themes/Portland/templates/editpage.tmpl:57
+#: ../themes/Wordpress/templates/editpage.tmpl:67
 #: ../themes/default/templates/editpage.tmpl:4
 msgid "Preview only!  Changes not saved."
 msgstr ""
 
+#: ../themes/Crao/templates/editpage.tmpl:9
+#: ../themes/default/templates/editpage.tmpl:9
+msgid "edit area"
+msgstr ""
+
 #: ../themes/Crao/templates/editpage.tmpl:8
 #: ../themes/default/templates/editpage.tmpl:8
 #, php-format
@@ -6037,11 +6840,6 @@
 "Please continue editing.  (You'll find your %s at the bottom of the page.)"
 msgstr ""
 
-#: ../themes/Crao/templates/editpage.tmpl:9
-#: ../themes/default/templates/editpage.tmpl:9
-msgid "edit area"
-msgstr ""
-
 #: ../themes/Crao/templates/editpage.tmpl:18
 #: ../themes/Portland/templates/editpage.tmpl:25
 #: ../themes/Wordpress/templates/editpage.tmpl:23
@@ -6058,21 +6856,21 @@
 msgstr "Ahorrando esta pgina sobreescribir la versin actual."
 
 #: ../themes/Crao/templates/editpage.tmpl:38
-#: ../themes/Portland/templates/editpage.tmpl:52
+#: ../themes/Portland/templates/editpage.tmpl:48
 #: ../themes/Wordpress/templates/editpage.tmpl:39
 #: ../themes/default/templates/editpage.tmpl:40
 msgid "H"
 msgstr "Al"
 
 #: ../themes/Crao/templates/editpage.tmpl:39
-#: ../themes/Portland/templates/editpage.tmpl:53
+#: ../themes/Portland/templates/editpage.tmpl:49
 #: ../themes/Wordpress/templates/editpage.tmpl:40
 #: ../themes/default/templates/editpage.tmpl:41
 msgid "W"
 msgstr "An"
 
 #: ../themes/Crao/templates/editpage.tmpl:40
-#: ../themes/Portland/templates/editpage.tmpl:54
+#: ../themes/Portland/templates/editpage.tmpl:50
 #: ../themes/Wordpress/templates/editpage.tmpl:41
 #: ../themes/default/templates/editpage.tmpl:42
 msgid "Adjust"
@@ -6088,58 +6886,69 @@
 msgstr "Esto es un cambio pequeo."
 
 #: ../themes/Crao/templates/editpage.tmpl:59
-#: ../themes/Portland/templates/editpage.tmpl:56
-#: ../themes/Wordpress/templates/editpage.tmpl:44
+#: ../themes/Portland/templates/editpage.tmpl:52
+#: ../themes/Wordpress/templates/editpage.tmpl:59
 #: ../themes/default/templates/editpage.tmpl:60
 msgid "Use old markup"
 msgstr ""
 
 #: ../themes/Crao/templates/editpage.tmpl:92
 #: ../themes/Crao/templates/editpage.tmpl:97
-#: ../themes/Portland/templates/editpage.tmpl:84
-#: ../themes/Portland/templates/editpage.tmpl:89
-#: ../themes/Wordpress/templates/editpage.tmpl:86
-#: ../themes/Wordpress/templates/editpage.tmpl:91
+#: ../themes/Portland/templates/editpage.tmpl:80
+#: ../themes/Portland/templates/editpage.tmpl:85
+#: ../themes/Wordpress/templates/editpage.tmpl:90
+#: ../themes/Wordpress/templates/editpage.tmpl:95
+#: ../themes/blog/templates/blogform.tmpl:24
+#: ../themes/default/templates/blogform.tmpl:24
+#: ../themes/default/templates/editpage.tmpl:108
 #: ../themes/default/templates/editpage.tmpl:113
-#: ../themes/default/templates/editpage.tmpl:118
-#, php-format
-msgid "See %s tips for editing."
-msgstr "%s tips para editar."
+#, fuzzy
+msgid "Help/GoodStyle"
+msgstr "BuenEstilo"
 
 #: ../themes/Crao/templates/editpage.tmpl:92
 #: ../themes/Crao/templates/editpage.tmpl:97
-#: ../themes/Portland/templates/editpage.tmpl:84
-#: ../themes/Portland/templates/editpage.tmpl:89
-#: ../themes/Wordpress/templates/editpage.tmpl:86
-#: ../themes/Wordpress/templates/editpage.tmpl:91
+#: ../themes/Portland/templates/editpage.tmpl:80
+#: ../themes/Portland/templates/editpage.tmpl:85
+#: ../themes/Wordpress/templates/editpage.tmpl:90
+#: ../themes/Wordpress/templates/editpage.tmpl:95
+#: ../themes/blog/templates/blogform.tmpl:24
+#: ../themes/default/templates/blogform.tmpl:24
+#: ../themes/default/templates/editpage.tmpl:108
 #: ../themes/default/templates/editpage.tmpl:113
-#: ../themes/default/templates/editpage.tmpl:118
-msgid "GoodStyle"
-msgstr "BuenEstilo"
+#, php-format
+msgid "See %s tips for editing."
+msgstr "%s tips para editar."
 
 #: ../themes/Crao/templates/editpage.tmpl:93
-#: ../themes/Portland/templates/editpage.tmpl:85
-#: ../themes/Wordpress/templates/editpage.tmpl:87
-#: ../themes/default/templates/editpage.tmpl:114
-msgid "OldTextFormattingRules"
+#: ../themes/Portland/templates/editpage.tmpl:81
+#: ../themes/Wordpress/templates/editpage.tmpl:91
+#: ../themes/default/templates/editpage.tmpl:109
+#, fuzzy
+msgid "Help/OldTextFormattingRules"
 msgstr "ViejoReglasDeFormatoDeTexto"
 
 #: ../themes/Crao/templates/editpage.tmpl:93
 #: ../themes/Crao/templates/editpage.tmpl:98
-#: ../themes/Portland/templates/editpage.tmpl:85
-#: ../themes/Portland/templates/editpage.tmpl:90
-#: ../themes/Wordpress/templates/editpage.tmpl:87
-#: ../themes/Wordpress/templates/editpage.tmpl:92
+#: ../themes/Portland/templates/editpage.tmpl:81
+#: ../themes/Portland/templates/editpage.tmpl:86
+#: ../themes/Wordpress/templates/editpage.tmpl:91
+#: ../themes/Wordpress/templates/editpage.tmpl:96
+#: ../themes/blog/templates/blogform.tmpl:25
+#: ../themes/default/templates/blogform.tmpl:25
+#: ../themes/default/templates/editpage.tmpl:109
 #: ../themes/default/templates/editpage.tmpl:114
-#: ../themes/default/templates/editpage.tmpl:119
 msgid "Synopsis"
 msgstr "Sinopsis"
 
 #: ../themes/Crao/templates/editpage.tmpl:98
-#: ../themes/Portland/templates/editpage.tmpl:90
-#: ../themes/Wordpress/templates/editpage.tmpl:92
-#: ../themes/default/templates/editpage.tmpl:119
-msgid "TextFormattingRules"
+#: ../themes/Portland/templates/editpage.tmpl:86
+#: ../themes/Wordpress/templates/editpage.tmpl:96
+#: ../themes/blog/templates/blogform.tmpl:25
+#: ../themes/default/templates/blogform.tmpl:25
+#: ../themes/default/templates/editpage.tmpl:114
+#, fuzzy
+msgid "Help/TextFormattingRules"
 msgstr "ReglasDeFormatoDeTexto"
 
 #: ../themes/Crao/templates/head.tmpl:31 ../themes/Crao/templates/head.tmpl:32
@@ -6153,38 +6962,37 @@
 msgstr ""
 
 #: ../themes/Crao/templates/navbar.tmpl:34
-#: ../themes/Wordpress/templates/actionbar.tmpl:37
+#: ../themes/Wordpress/templates/actionbar.tmpl:38
 #: ../themes/default/templates/navbar.tmpl:51
-#: ../themes/wikilens/templates/navbar.tmpl:40
+#: ../themes/wikilens/templates/navbar.tmpl:30
 msgid "Today"
 msgstr "Hoy"
 
 #: ../themes/Crao/templates/navbar.tmpl:37
-#: ../themes/Sidebar/templates/navbar.tmpl:38
+#: ../themes/Sidebar/templates/navbar.tmpl:28
 #: ../themes/blog/templates/navbar.tmpl:14
 #: ../themes/default/templates/navbar.tmpl:55
-#: ../themes/wikilens/templates/navbar.tmpl:43
+#: ../themes/wikilens/templates/navbar.tmpl:32
 msgid "Admin"
 msgstr ""
 
 # lib/fullsearch.php:48
 #: ../themes/Crao/templates/navbar.tmpl:46
 #: ../themes/blog/templates/search.tmpl:11
-#: ../themes/default/templates/search.tmpl:16
-#: ../themes/default/templates/search.tmpl:23
+#: ../themes/default/templates/search.tmpl:20
+#: ../themes/default/templates/search.tmpl:25
 #, fuzzy
 msgid "LiveSearch"
 msgstr "BsquedaDeTtulos"
 
-#: ../themes/Crao/templates/signin.tmpl:18
+#: ../themes/Crao/templates/signin.tmpl:17
 #, php-format
 msgid "You are signed in as %s"
 msgstr ""
 
-#: ../themes/Crao/templates/signin.tmpl:39
-#: ../themes/MonoBook/templates/signin.tmpl:38
-#: ../themes/Sidebar/templates/signin.tmpl:38
-#: ../themes/Wordpress/templates/signin.tmpl:42
+#: ../themes/Crao/templates/signin.tmpl:38
+#: ../themes/Sidebar/templates/signin.tmpl:37
+#: ../themes/Wordpress/templates/signin.tmpl:41
 #: ../themes/default/templates/signin.tmpl:34
 #: ../themes/smaller/templates/signin.tmpl:37
 msgid "Enter your UserId to sign in"
@@ -6192,8 +7000,6 @@
 
 #: ../themes/Crao/templates/wikiblog.tmpl:19
 #: ../themes/blog/templates/wikiblog.tmpl:20
-#: ../themes/default/templates/comment.tmpl:18
-#: ../themes/default/templates/wikiblog.tmpl:19
 #, php-format
 msgid "Comment modified on %s by %s"
 msgstr "Comentario modificado en %s por %s"
@@ -6201,44 +7007,36 @@
 #: ../themes/Crao/templates/wikiblog.tmpl:25
 #: ../themes/blog/templates/wikiblog.tmpl:25
 #: ../themes/default/templates/comment.tmpl:24
-#: ../themes/default/templates/wikiblog.tmpl:24
 #, php-format
 msgid "Comments on %s by %s."
 msgstr "Comentarios sobre %s por %s."
 
-#: ../themes/Hawaiian/themeinfo.php:29 ../themes/MacOSX/themeinfo.php:104
-#: ../themes/MonoBook/themeinfo.php:72 ../themes/Portland/themeinfo.php:59
-#: ../themes/Sidebar/themeinfo.php:122 ../themes/SpaceWiki/themeinfo.php:43
-#: ../themes/Wordpress/themeinfo.php:61 ../themes/default/themeinfo.php:24
-#: ../themes/shamino_com/themeinfo.php:56 ../themes/smaller/themeinfo.php:51
-#: ../themes/wikilens/themeinfo.php:24
-msgid "Printer"
-msgstr "Impresora"
-
-#: ../themes/Hawaiian/themeinfo.php:30 ../themes/MonoBook/themeinfo.php:74
-#: ../themes/Portland/themeinfo.php:60 ../themes/Sidebar/themeinfo.php:123
-#: ../themes/SpaceWiki/themeinfo.php:44 ../themes/Wordpress/themeinfo.php:62
-#: ../themes/default/themeinfo.php:26 ../themes/shamino_com/themeinfo.php:58
-#: ../themes/smaller/themeinfo.php:53 ../themes/wikilens/themeinfo.php:26
-msgid "Modern"
-msgstr "Moderno"
-
-#: ../themes/MacOSX/themeinfo.php:105 ../themes/MonoBook/themeinfo.php:73
-#: ../themes/default/themeinfo.php:25 ../themes/shamino_com/themeinfo.php:57
-#: ../themes/smaller/themeinfo.php:52 ../themes/wikilens/themeinfo.php:25
-msgid "Top & bottom toolbars"
-msgstr "Toolbars superiores y inferiores"
-
-#: ../themes/MonoBook/templates/actionbar.tmpl:27
-#: ../themes/Sidebar/templates/navbar.tmpl:31
+#: ../themes/MonoBook/templates/actionbar.tmpl:17
+#: ../themes/MonoBook/templates/actionbar.tmpl:30
+#: ../themes/Sidebar/templates/navbar.tmpl:21
 #: ../themes/default/templates/navbar.tmpl:15
+#: ../themes/wikilens/templates/navbar.tmpl:13
 msgid "Article"
 msgstr "Artculo"
 
-# lib/pageinfo.php:26 lib/pageinfo.php:75
+#: ../themes/MonoBook/templates/actionbar.tmpl:24
+#, fuzzy
+msgid "TemplateTalk"
+msgstr "AgregueLaPlantilla"
+
+#: ../themes/MonoBook/templates/actionbar.tmpl:39
+msgid "History"
+msgstr ""
+
 #: ../themes/MonoBook/templates/actionbar.tmpl:42
-#: ../themes/blog/templates/actionbar.tmpl:21
-#: ../themes/smaller/templates/actionbar.tmpl:34
+#, fuzzy
+msgid "Watch"
+msgstr "Anchura"
+
+# lib/pageinfo.php:26 lib/pageinfo.php:75
+#: ../themes/MonoBook/templates/actionbar.tmpl:65
+#: ../themes/blog/templates/actionbar.tmpl:15
+#: ../themes/smaller/templates/actionbar.tmpl:36
 msgid "Info"
 msgstr "Informacion"
 
@@ -6249,7 +7047,7 @@
 
 #: ../themes/MonoBook/templates/browse-footer.tmpl:16
 #: ../themes/MonoBook/templates/browse-footer.tmpl:17
-#: ../themes/blog/templates/actionbar.tmpl:16
+#: ../themes/blog/templates/actionbar.tmpl:10
 msgid "About"
 msgstr ""
 
@@ -6260,181 +7058,176 @@
 
 #: ../themes/MonoBook/templates/info.tmpl:37
 #: ../themes/default/templates/info.tmpl:30
-#: ../themes/shamino_com/templates/info.tmpl:37
 msgid "1 word"
 msgstr ""
 
 #: ../themes/MonoBook/templates/info.tmpl:39
 #: ../themes/default/templates/info.tmpl:32
-#: ../themes/shamino_com/templates/info.tmpl:39
 #, php-format
 msgid "%s words"
 msgstr ""
 
 #: ../themes/MonoBook/templates/info.tmpl:43
 #: ../themes/default/templates/info.tmpl:36
-#: ../themes/shamino_com/templates/info.tmpl:43
 #, php-format
 msgid "Version %s"
 msgstr "Versin %s"
 
 #: ../themes/MonoBook/templates/info.tmpl:44
 #: ../themes/default/templates/info.tmpl:37
-#: ../themes/shamino_com/templates/info.tmpl:44
 msgid "Original (1.2 or 1.0)"
 msgstr ""
 
 #: ../themes/MonoBook/templates/info.tmpl:76
-#: ../themes/default/templates/info.tmpl:69
-#: ../themes/shamino_com/templates/info.tmpl:75
+#: ../themes/default/templates/info.tmpl:68
 #, fuzzy
 msgid "Saved on:"
 msgstr "Guardar:"
 
 #: ../themes/MonoBook/templates/info.tmpl:81
-#: ../themes/default/templates/info.tmpl:74
-#: ../themes/shamino_com/templates/info.tmpl:80
+#: ../themes/default/templates/info.tmpl:73
 #, php-format
 msgid "Statistics about %s."
 msgstr ""
 
 #: ../themes/MonoBook/templates/info.tmpl:91
-#: ../themes/default/templates/info.tmpl:85
-#: ../themes/shamino_com/templates/info.tmpl:91
+#: ../themes/default/templates/info.tmpl:84
 msgid "Supplanted on:"
 msgstr ""
 
 #: ../themes/MonoBook/templates/info.tmpl:108
-#: ../themes/default/templates/info.tmpl:103
-#: ../themes/shamino_com/templates/info.tmpl:108
+#: ../themes/default/templates/info.tmpl:102
 msgid "Page Version:"
 msgstr "Versin:"
 
 #: ../themes/MonoBook/templates/info.tmpl:112
-#: ../themes/default/templates/info.tmpl:107
-#: ../themes/shamino_com/templates/info.tmpl:112
+#: ../themes/default/templates/info.tmpl:106
 msgid "Markup:"
 msgstr ""
 
 #: ../themes/MonoBook/templates/info.tmpl:116
-#: ../themes/default/templates/info.tmpl:111
-#: ../themes/shamino_com/templates/info.tmpl:116
+#: ../themes/default/templates/info.tmpl:110
 msgid "Size:"
 msgstr "Tamao:"
 
 #: ../themes/MonoBook/templates/info.tmpl:121
-#: ../themes/default/templates/info.tmpl:116
-#: ../themes/shamino_com/templates/info.tmpl:121
+#: ../themes/default/templates/info.tmpl:115
 msgid "Hits:"
 msgstr "Nmero de hits:"
 
 #: ../themes/MonoBook/templates/info.tmpl:138
-#: ../themes/default/templates/info.tmpl:133
-#: ../themes/shamino_com/templates/info.tmpl:138
+#: ../themes/default/templates/info.tmpl:132
 msgid "home page"
 msgstr ""
 
 #: ../themes/MonoBook/templates/info.tmpl:141
-#: ../themes/default/templates/info.tmpl:136
-#: ../themes/shamino_com/templates/info.tmpl:141
+#: ../themes/default/templates/info.tmpl:135
 msgid "User page"
 msgstr ""
 
 #: ../themes/MonoBook/templates/info.tmpl:144
-#: ../themes/default/templates/info.tmpl:139
-#: ../themes/shamino_com/templates/info.tmpl:144
+#: ../themes/default/templates/info.tmpl:138
 msgid "Action page"
 msgstr ""
 
 #: ../themes/MonoBook/templates/info.tmpl:147
-#: ../themes/default/templates/info.tmpl:142
-#: ../themes/shamino_com/templates/info.tmpl:147
+#: ../themes/default/templates/info.tmpl:141
 msgid "Blog page"
 msgstr ""
 
 #: ../themes/MonoBook/templates/info.tmpl:153
-#: ../themes/default/templates/info.tmpl:148
-#: ../themes/shamino_com/templates/info.tmpl:153
+#: ../themes/default/templates/info.tmpl:147
 msgid "Subpage"
 msgstr ""
 
 #: ../themes/MonoBook/templates/info.tmpl:158
-#: ../themes/default/templates/info.tmpl:153
-#: ../themes/shamino_com/templates/info.tmpl:158
+#: ../themes/default/templates/info.tmpl:152
 msgid "Page Type:"
 msgstr ""
 
 #: ../themes/MonoBook/templates/info.tmpl:170
 #: ../themes/blog/templates/info.tmpl:5
-#: ../themes/shamino_com/templates/info.tmpl:170
 #: ../themes/smaller/templates/info.tmpl:9
 msgid "Diff previous Revision"
 msgstr ""
 
 #: ../themes/MonoBook/templates/info.tmpl:171
 #: ../themes/blog/templates/info.tmpl:6
-#: ../themes/shamino_com/templates/info.tmpl:171
 #: ../themes/smaller/templates/info.tmpl:10
 msgid "Diff previous Author"
 msgstr ""
 
-#: ../themes/MonoBook/templates/navbar.tmpl:28
-#: ../themes/MonoBook/templates/navbar.tmpl:29
-#: ../themes/Sidebar/templates/navbar.tmpl:16
-#: ../themes/Sidebar/templates/navbar.tmpl:17
+#: ../themes/MonoBook/templates/navbar.tmpl:15
+msgid "The list of recent changes in the wiki."
+msgstr ""
+
+# lib/stdlib.php:384 lib/stdlib.php:445
+#: ../themes/MonoBook/templates/navbar.tmpl:17
+#, fuzzy
+msgid "RecentNewPages"
+msgstr "CambiosRecientes"
+
+#: ../themes/MonoBook/templates/navbar.tmpl:18
+msgid "Like Pages"
+msgstr ""
+
+# lib/stdlib.php:207 lib/stdlib.php:215
+#: ../themes/MonoBook/templates/navbar.tmpl:35
+#, fuzzy
+msgid "Search:"
+msgstr "Buscar"
+
+#: ../themes/MonoBook/templates/navbar.tmpl:38
+#: ../themes/MonoBook/templates/navbar.tmpl:39
 #: ../themes/default/templates/navbar.tmpl:28
 #: ../themes/default/templates/navbar.tmpl:30
-#: ../themes/default/templates/search.tmpl:13
+#: ../themes/default/templates/search.tmpl:17
 #: ../themes/shamino_com/templates/top.tmpl:24
 #: ../themes/shamino_com/templates/top.tmpl:25
 #: ../themes/smaller/templates/navbar.tmpl:11
 #: ../themes/smaller/templates/navbar.tmpl:12
-#: ../themes/wikilens/templates/navbar.tmpl:19
-#: ../themes/wikilens/templates/navbar.tmpl:21
 msgid "Quick Search"
 msgstr "Busqueda rpida"
 
-#: ../themes/MonoBook/templates/navbar.tmpl:39
-msgid "Like Pages"
-msgstr ""
-
-#: ../themes/MonoBook/templates/navbar.tmpl:40
+#: ../themes/MonoBook/templates/navbar.tmpl:51
 msgid "What links here"
 msgstr ""
 
-#: ../themes/MonoBook/templates/signin.tmpl:18
-#: ../themes/Wordpress/templates/signin.tmpl:21
-#: ../themes/default/templates/signin.tmpl:25
-#: ../themes/shamino_com/templates/signin.tmpl:25
-#, php-format
-msgid "Authenticated as %s"
-msgstr ""
+#: ../themes/MonoBook/templates/navbar.tmpl:57
+#, fuzzy
+msgid "Administration"
+msgstr "Administradores"
 
-#: ../themes/MonoBook/templates/signin.tmpl:41
-#, php-format
-msgid "Signed as %s"
-msgstr ""
+#: ../themes/MonoBook/templates/navbar.tmpl:60
+#, fuzzy
+msgid "Upload file"
+msgstr "Archivo Del Upload"
 
-#: ../themes/MonoBook/templates/signin.tmpl:44
-#: ../themes/Sidebar/templates/signin.tmpl:44
-#: ../themes/Wordpress/templates/signin.tmpl:48
-#: ../themes/default/templates/signin.tmpl:40
-#, php-format
-msgid "Click to authenticate as %s"
+#: ../themes/MonoBook/templates/navbar.tmpl:60
+#, fuzzy
+msgid "Upload images or media files"
+msgstr "Archivo Del Upload"
+
+# lib/pageinfo.php:70
+#: ../themes/MonoBook/templates/navbar.tmpl:64
+#: ../themes/MonoBook/templates/navbar.tmpl:69
+#, fuzzy
+msgid "Printable version"
+msgstr "versin actual"
+
+#: ../themes/MonoBook/templates/navbar.tmpl:74
+msgid "Display as Pdf"
 msgstr ""
 
-#: ../themes/MonoBook/templates/signin.tmpl:65
-#: ../themes/Sidebar/templates/signin.tmpl:64
-#: ../themes/Wordpress/templates/signin.tmpl:68
-#: ../themes/default/templates/signin.tmpl:59
-msgid "Sign in as:"
+#: ../themes/MonoBook/templates/signin.tmpl:10
+msgid "Logout"
 msgstr ""
 
-#: ../themes/Portland/templates/actionbar.tmpl:8
+#: ../themes/Portland/templates/actionbar.tmpl:6
 msgid "EditText"
 msgstr "Editar"
 
-#: ../themes/Portland/templates/actionbar.tmpl:11
+#: ../themes/Portland/templates/actionbar.tmpl:9
 #, php-format
 msgid "%s of this page"
 msgstr ""
@@ -6447,20 +7240,21 @@
 msgid "Page Execution took %s seconds"
 msgstr ""
 
-#: ../themes/Portland/templates/editpage.tmpl:48
-#: ../themes/Wordpress/templates/editpage.tmpl:57
+#: ../themes/Portland/templates/editpage.tmpl:44
+#: ../themes/Wordpress/templates/editpage.tmpl:56
 #, php-format
 msgid ""
 "I'm just doing minor edits. Please divert the usual logging to %s instead."
 msgstr ""
 
-#: ../themes/Portland/templates/editpage.tmpl:52
-#: ../themes/default/templates/userprefs.tmpl:195
+#: ../themes/Portland/templates/editpage.tmpl:48
+#: ../themes/default/templates/userprefs.tmpl:196
 msgid "Edit Area Size"
 msgstr ""
 
 #: ../themes/Portland/templates/viewsource.tmpl:6
-#: ../themes/Wordpress/templates/viewsource.tmpl:8
+#: ../themes/Wordpress/templates/viewsource.tmpl:10
+#: ../themes/blog/templates/viewsource.tmpl:7
 #: ../themes/default/templates/viewsource.tmpl:6
 msgid "This page has been locked by the administrator and cannot be edited."
 msgstr ""
@@ -6472,27 +7266,36 @@
 msgstr ""
 
 # lib/fullsearch.php:48
-#: ../themes/Sidebar/templates/navbar.tmpl:24
+#: ../themes/Sidebar/templates/navbar.tmpl:14
 msgid "Full Search"
 msgstr ""
 
-#: ../themes/Sidebar/templates/signin.tmpl:18
+#: ../themes/Sidebar/templates/signin.tmpl:17
 #, php-format
 msgid "User: %s"
 msgstr "Usuario: %s"
 
-#: ../themes/Sidebar/templates/signin.tmpl:41
+#: ../themes/Sidebar/templates/signin.tmpl:40
 #, php-format
 msgid "(User: %s)"
 msgstr ""
 
-# lib/stdlib.php:207 lib/stdlib.php:215
-#: ../themes/Sidebar/themeinfo.php:119
-msgid "Sidebar"
+#: ../themes/Sidebar/templates/signin.tmpl:43
+#: ../themes/Wordpress/templates/signin.tmpl:47
+#: ../themes/default/templates/signin.tmpl:40
+#, php-format
+msgid "Click to authenticate as %s"
 msgstr ""
 
-#: ../themes/SpaceWiki/lib/RecentChanges.php:55
-msgid "diff"
+#: ../themes/Sidebar/templates/signin.tmpl:63
+#: ../themes/Wordpress/templates/signin.tmpl:67
+#: ../themes/default/templates/signin.tmpl:59
+msgid "Sign in as:"
+msgstr ""
+
+# lib/stdlib.php:207 lib/stdlib.php:215
+#: ../themes/Sidebar/themeinfo.php:37
+msgid "Sidebar"
 msgstr ""
 
 #: ../themes/Wordpress/templates/actionbar.tmpl:8
@@ -6503,62 +7306,88 @@
 msgid "Edit old revision"
 msgstr "Corrija versin archivada"
 
-#: ../themes/Wordpress/templates/signin.tmpl:45
+#: ../themes/Wordpress/templates/signin.tmpl:20
+#: ../themes/default/templates/signin.tmpl:25
+#: ../themes/shamino_com/templates/signin.tmpl:24
+#, php-format
+msgid "Authenticated as %s"
+msgstr ""
+
+#: ../themes/Wordpress/templates/signin.tmpl:44
 #: ../themes/default/templates/signin.tmpl:37
 #, php-format
 msgid "You are signed but not authenticated as %s. "
 msgstr ""
 
-#: ../themes/blog/templates/actionbar.tmpl:15
+#: ../themes/blog/templates/actionbar.tmpl:9
 #, fuzzy
 msgid "Home"
 msgstr "PginaPrincipal"
 
-#: ../themes/blog/templates/actionbar.tmpl:18
-msgid "Photos"
-msgstr ""
-
-#: ../themes/blog/templates/actionbar.tmpl:19
+#: ../themes/blog/templates/actionbar.tmpl:13
 msgid "HowTo"
 msgstr ""
 
-#: ../themes/blog/templates/actionbar.tmpl:32
+#: ../themes/blog/templates/blogform.tmpl:10
+#: ../themes/default/templates/blogform.tmpl:10
 #, fuzzy
-msgid "Page Trail"
-msgstr "Nombre de la Pgina"
+msgid "Headline"
+msgstr "Texto del ttulo"
+
+# lib/diff.php:997
+#: ../themes/blog/templates/blogform.tmpl:18
+#: ../themes/default/templates/blogform.tmpl:18
+#, fuzzy
+msgid "Add Entry"
+msgstr "AgregueCategora"
 
-#: ../themes/blog/templates/sidebar.tmpl:7
+#: ../themes/blog/templates/sidebar.tmpl:8
 #: ../themes/blog/templates/sidebar.tmpl:12
-#: ../themes/blog/templates/sidebar.tmpl:14
-msgid "Blogs"
+msgid "Blog"
 msgstr ""
 
-#: ../themes/blog/themeinfo.php:55
+#: ../themes/blog/templates/top.tmpl:16
+#, fuzzy
+msgid "Page Trail"
+msgstr "Nombre de la Pgina"
+
+#: ../themes/blog/themeinfo.php:63
 msgid "SignOut"
 msgstr ""
 
-#: ../themes/blog/themeinfo.php:56
+#: ../themes/blog/themeinfo.php:64
 msgid "SignIn"
 msgstr ""
 
-#: ../themes/blog/themeinfo.php:57
+#: ../themes/blog/themeinfo.php:65
 msgid "Lock"
 msgstr "Bloqueada"
 
-#: ../themes/blog/themeinfo.php:58
+#: ../themes/blog/themeinfo.php:66
 msgid "Unlock"
 msgstr "Desbloquear"
 
-#: ../themes/blog/themeinfo.php:117
+#: ../themes/blog/themeinfo.php:122
 msgid "blog"
 msgstr ""
 
+#: ../themes/blog/themeinfo.php:124
+msgid "(diff)"
+msgstr ""
+
+#: ../themes/default/templates/comment.tmpl:18
+#: ../themes/default/templates/wikiblog.tmpl:18
+#, fuzzy, php-format
+msgid "Modified on %s by %s"
+msgstr "Comentario modificado en %s por %s"
+
 #: ../themes/default/templates/comment.tmpl:28
 #, php-format
 msgid "%s by %s"
 msgstr "%s por %s"
 
-#: ../themes/default/templates/debug.tmpl:21
+#: ../themes/default/templates/debug.tmpl:20
+#: ../themes/shamino_com/templates/debug.tmpl:11
 #, php-format
 msgid ", Memory: %s"
 msgstr ""
@@ -6674,6 +7503,10 @@
 msgid "Registered Users Online: "
 msgstr ""
 
+#: ../themes/default/templates/online.tmpl:38
+msgid "<none>"
+msgstr "<Ninguna>"
+
 #: ../themes/default/templates/online.tmpl:43
 msgid "Admin is also online."
 msgstr ""
@@ -6740,213 +7573,214 @@
 msgid "Your careful attention to detail is much appreciated."
 msgstr "Se agradece una cuidadosa atencin a los detalles."
 
-#: ../themes/default/templates/savepage.tmpl:10
-msgid "Warning!"
-msgstr ""
-
-#: ../themes/default/templates/userprefs.tmpl:62
-#: ../themes/default/templates/userprefs.tmpl:64
+#: ../themes/default/templates/userprefs.tmpl:63
+#: ../themes/default/templates/userprefs.tmpl:65
 msgid "<system theme>"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:73
-#: ../themes/default/templates/userprefs.tmpl:99
+#: ../themes/default/templates/userprefs.tmpl:74
+#: ../themes/default/templates/userprefs.tmpl:100
 msgid "Personal theme:"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:79
-#: ../themes/default/templates/userprefs.tmpl:81
+#: ../themes/default/templates/userprefs.tmpl:80
+#: ../themes/default/templates/userprefs.tmpl:82
 msgid "<system language>"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:90
-#: ../themes/default/templates/userprefs.tmpl:100
+#: ../themes/default/templates/userprefs.tmpl:91
+#: ../themes/default/templates/userprefs.tmpl:101
 msgid "Personal language:"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:109
+#: ../themes/default/templates/userprefs.tmpl:110
 #, php-format
 msgid "User preferences for user '%s':"
 msgstr "Preferencias por usuario '%s':"
 
-#: ../themes/default/templates/userprefs.tmpl:118
+#: ../themes/default/templates/userprefs.tmpl:119
 msgid "UserId"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:122
+#: ../themes/default/templates/userprefs.tmpl:123
 msgid "Auth Level"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:122
+#: ../themes/default/templates/userprefs.tmpl:123
 msgid "Auth Method"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:126
+#: ../themes/default/templates/userprefs.tmpl:127
 msgid "Theme"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:126
+#: ../themes/default/templates/userprefs.tmpl:127
 msgid "Current Theme"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:127
+#: ../themes/default/templates/userprefs.tmpl:128
 msgid "Language"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:127
+#: ../themes/default/templates/userprefs.tmpl:128
 msgid "Current Language"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:133
+#: ../themes/default/templates/userprefs.tmpl:134
 msgid "Change Password"
 msgstr "Change Contrasea"
 
-#: ../themes/default/templates/userprefs.tmpl:133
+#: ../themes/default/templates/userprefs.tmpl:134
 msgid "Set Password"
 msgstr "Set Contrasea"
 
-#: ../themes/default/templates/userprefs.tmpl:135
+#: ../themes/default/templates/userprefs.tmpl:136
 msgid "New password"
 msgstr "Nueva Contrasea"
 
-#: ../themes/default/templates/userprefs.tmpl:138
+#: ../themes/default/templates/userprefs.tmpl:139
 msgid "Type it again"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:144
+#: ../themes/default/templates/userprefs.tmpl:145
 msgid "E-mail"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:146
+#: ../themes/default/templates/userprefs.tmpl:147
 msgid "Your E-Mail:"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:154
+#: ../themes/default/templates/userprefs.tmpl:155
 msgid "Status:"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:156
+#: ../themes/default/templates/userprefs.tmpl:157
 msgid "Email verified."
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:158
+#: ../themes/default/templates/userprefs.tmpl:159
 msgid "Email not yet verified."
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:160
+#: ../themes/default/templates/userprefs.tmpl:161
 msgid "Note, that user accounts with bouncing emails will be disabled."
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:163
+#: ../themes/default/templates/userprefs.tmpl:164
 msgid "Get an email notification at changes of the following pages:"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:166
+#: ../themes/default/templates/userprefs.tmpl:167
 msgid ""
 "Enter pages seperated by space or comma. Wildcards (fileglobbing) allowed."
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:173
+#: ../themes/default/templates/userprefs.tmpl:174
 msgid "Appearance"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:175
+#: ../themes/default/templates/userprefs.tmpl:176
 msgid "Here you can override site-specific default values."
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:176
+#: ../themes/default/templates/userprefs.tmpl:177
 msgid "Currently not recommended!"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:180
-#: ../themes/default/templates/userprefs.tmpl:183
+#: ../themes/default/templates/userprefs.tmpl:181
+#: ../themes/default/templates/userprefs.tmpl:184
 msgid "System default:"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:184
+#: ../themes/default/templates/userprefs.tmpl:185
 #, php-format
 msgid "Hide %s:"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:186
+#: ../themes/default/templates/userprefs.tmpl:187
 msgid ""
 "Hide or show LinkIcons (if supported by the current theme). Useful for text-"
 "only browsers or slow connections."
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:187
+#: ../themes/default/templates/userprefs.tmpl:188
 #, php-format
 msgid "Add %s:"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:189
+#: ../themes/default/templates/userprefs.tmpl:190
 #, php-format
 msgid ""
 "Add Google links to unknown pages behind the '?', and the create action "
 "behind the pagename instead. See %s."
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:190
+#: ../themes/default/templates/userprefs.tmpl:191
 msgid "Enable DoubleClick Edit"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:192
+#: ../themes/default/templates/userprefs.tmpl:193
 #, php-format
 msgid ""
 "Enabled makes it hard to double-click words and sentences for cut and paste. "
 "See %s."
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:198
+#: ../themes/default/templates/userprefs.tmpl:199
 msgid "Height"
 msgstr "Altura"
 
-#: ../themes/default/templates/userprefs.tmpl:205
+#: ../themes/default/templates/userprefs.tmpl:206
 msgid "Width"
 msgstr "Anchura"
 
-#: ../themes/default/templates/userprefs.tmpl:214
+#: ../themes/default/templates/userprefs.tmpl:215
 msgid ""
 "Note that many browsers will automatically adjust the width of the editing "
 "area so that it fills the browser window.  In this case, the width "
 "preference will be ignored."
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:217
+#: ../themes/default/templates/userprefs.tmpl:218
 msgid "Time Zone"
 msgstr "Zona Horaria"
 
-#: ../themes/default/templates/userprefs.tmpl:220
+#: ../themes/default/templates/userprefs.tmpl:221
 #, php-format
 msgid "Add %s hours to the server's local time when reporting times."
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:224
+#: ../themes/default/templates/userprefs.tmpl:225
 #, php-format
 msgid "The current time at the server is %s."
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:226
+#: ../themes/default/templates/userprefs.tmpl:227
 #, php-format
 msgid "With the current offset, this would be reported as %s."
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:231
+#: ../themes/default/templates/userprefs.tmpl:232
 msgid "Date Format"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:234
+#: ../themes/default/templates/userprefs.tmpl:235
 msgid "Show relative dates using 'Today' and 'Yesterday'"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:241
+#: ../themes/default/templates/userprefs.tmpl:242
 msgid "Update Preferences"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:242
+#: ../themes/default/templates/userprefs.tmpl:243
 msgid "Remove Preferences"
 msgstr ""
 
+#: ../themes/default/templates/wikiblog.tmpl:23
+#, fuzzy, php-format
+msgid "Entry on %s by %s."
+msgstr "Comentarios sobre %s por %s."
+
 #: ../themes/default/templates/wikiforum.tmpl:20
 msgid "New Topic"
 msgstr ""
@@ -6960,37 +7794,113 @@
 msgid "TermsOfUse"
 msgstr ""
 
-#~ msgid "Sign in"
-#~ msgstr "Muestra adentro"
+#, fuzzy
+#~ msgid "Pagename(s): "
+#~ msgstr "Nombre de la Pgina"
 
-# lib/diff.php:997
-#~ msgid "Category"
-#~ msgstr "Categora"
+# lib/fullsearch.php:48
+#, fuzzy
+#~ msgid "Help/SemanticSearchAdvancedPlugin"
+#~ msgstr "InterWikiBsqueda"
+
+#, fuzzy
+#~ msgid "Count"
+#~ msgstr "Commentario"
 
-#~ msgid "Topic"
-#~ msgstr "Asunto"
+#, fuzzy
+#~ msgid "WatchList"
+#~ msgstr "Anchura"
 
 #, fuzzy
-#~ msgid "PreferenceApp"
-#~ msgstr "Preferencias"
+#~ msgid "Remove Comment"
+#~ msgstr "ComentariosRecientes"
 
 #, fuzzy
-#~ msgid "Last Modified:"
-#~ msgstr "modificado por ltima vez el %s"
+#~ msgid "Invalid username"
+#~ msgstr "Username invlido."
 
 #, fuzzy
-#~ msgid "Last Author:"
-#~ msgstr "Comentarios"
+#~ msgid "UserFileManagement"
+#~ msgstr "Retitule"
 
-#~ msgid "new page"
-#~ msgstr "pgina nueva"
+#, fuzzy
+#~ msgid "Goto Home Directory"
+#~ msgstr "Descarga al directorio"
 
-#~ msgid "New Page"
-#~ msgstr "Pgina nueva"
+#, fuzzy
+#~ msgid "Current directory: "
+#~ msgstr "Descarga al directorio"
 
 #, fuzzy
-#~ msgid "Invalid username"
-#~ msgstr "Username invlido"
+#~ msgid "Delete"
+#~ msgstr "Borrada."
+
+#, fuzzy
+#~ msgid "Create Directory"
+#~ msgstr "No puede crear el directorio '%s'"
+
+#, fuzzy
+#~ msgid "Upload files"
+#~ msgstr "Archivo Del Upload"
+
+#, fuzzy
+#~ msgid "Upload zip file"
+#~ msgstr "Archivo Del Upload"
+
+#, fuzzy
+#~ msgid " from author %s"
+#~ msgstr "de %s"
+
+#~ msgid "You searched for: "
+#~ msgstr "Usted busc para: "
+
+#~ msgid "GoodStyle"
+#~ msgstr "BuenEstilo"
+
+#~ msgid "OldTextFormattingRules"
+#~ msgstr "ViejoReglasDeFormatoDeTexto"
+
+#~ msgid "TextFormattingRules"
+#~ msgstr "ReglasDeFormatoDeTexto"
+
+#, fuzzy
+#~ msgid "PageChange Notification of %s Error: Couldn't send to %s"
+#~ msgstr ""
+#~ "Error De la Notificacin Del Cambio De la Pgina: No poda enviar %s a %s"
+
+#, fuzzy
+#~ msgid "WikiAdminMassRevert"
+#~ msgstr "AdministracinDePhpWiki"
+
+#, fuzzy
+#~ msgid "Reverted page '%s' to version '%s'."
+#~ msgstr "invierta a la versin %d"
+
+#, fuzzy
+#~ msgid "PhpWikiAdministration/MassRevert"
+#~ msgstr "AdministracinDePhpWiki"
+
+#, fuzzy
+#~ msgid "Revert selected pages"
+#~ msgstr "Guardar"
+
+#, fuzzy
+#~ msgid "WikiUserAdministration"
+#~ msgstr "AdministracinDePhpWiki"
+
+#~ msgid "Unable to load: %s"
+#~ msgstr "Incapaz cargar:  %s"
+
+#~ msgid "Sign in"
+#~ msgstr "Muestra adentro"
+
+#, fuzzy
+#~ msgid "Last Modified:"
+#~ msgstr "modificado por ltima vez el %s"
+
+#, fuzzy
+#~ msgid "Last Author:"
+#~ msgstr "Comentarios"
 
 # lib/editpage.php:19
 #, fuzzy
@@ -6998,12 +7908,12 @@
 #~ msgstr "Copia de [%s]"
 
 #, fuzzy
-#~ msgid "Continue"
-#~ msgstr "Contenido"
+#~ msgid "RdfDefinition"
+#~ msgstr "Definicin da %s: %s"
 
 #, fuzzy
-#~ msgid "Selected Pages: %s"
-#~ msgstr "Guardar"
+#~ msgid "Continue"
+#~ msgstr "Contenido"
 
 #~ msgid "Remove page"
 #~ msgstr "Borrar pgina"
@@ -7251,10 +8161,6 @@
 #~ msgid "Insert/update failed: %s"
 #~ msgstr "Insercin/Actualizacin fall: %s"
 
-# lib/msql.php:221 lib/msql.php:296
-#~ msgid "Delete on %s failed: %s"
-#~ msgstr "Eliminacin en %s fall: %s"
-
 # lib/mysql.php:38 lib/mysql.php:44 lib/mysql.php:118 lib/mysql.php:158
 #~ msgid "MySQL error: %s"
 #~ msgstr "Error de MySQL: %s"
diff -ruN 1.3.12p3/locale/po/fr.po 1.3.14/locale/po/fr.po
--- 1.3.12p3/locale/po/fr.po	2006-06-18 06:19:37.000000000 -0500
+++ 1.3.14/locale/po/fr.po	2007-07-01 05:11:18.000000000 -0500
@@ -4,9 +4,9 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: PhpWiki-1.3.11\n"
+"Project-Id-Version: PhpWiki-1.3.13\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2006-06-18 10:46+0000\n"
+"POT-Creation-Date: 2007-07-01 10:07+0000\n"
 "PO-Revision-Date: 2004-06-22 21:10+0200\n"
 "Last-Translator: Pierrick Meignen <meignen.pierrick@wanadoo.fr>, Roland "
 "Trique <roland.trique@free.fr>, Stphane Gourichon <stephane.gourichon@lip6."
@@ -18,6 +18,29 @@
 "Date: 2001-09-22 00:00-0000\n"
 "From: Pierrick Meignen <meignen.pierrick@wanadoo.fr>\n"
 
+#: ../lib/CachedMarkup.php:478
+msgid "BAD semantic relation link"
+msgstr ""
+
+#: ../lib/CachedMarkup.php:505
+#, php-format
+msgid "Attribute %s, base value: %s"
+msgstr ""
+
+#: ../lib/CachedMarkup.php:506
+#, php-format
+msgid "Attribute %s, value: %s"
+msgstr ""
+
+#: ../lib/CachedMarkup.php:514
+#, fuzzy, php-format
+msgid "Relation %s to page %s"
+msgstr "Version %s, enregistre %s"
+
+#: ../lib/CachedMarkup.php:569
+msgid "Found by "
+msgstr ""
+
 #: ../lib/Captcha.php:32
 msgid "Typed in verification word mismatch ... are you a bot?"
 msgstr ""
@@ -46,226 +69,299 @@
 msgid "Supported handlers are: %s"
 msgstr "Les gestionnaires supports sont : %s"
 
-#: ../lib/EditToolbar.php:42
+#: ../lib/EditToolbar.php:29
 msgid "Undo"
 msgstr "Annuler l'action"
 
-#: ../lib/EditToolbar.php:48
+#: ../lib/EditToolbar.php:31
 msgid "Undo disabled"
 msgstr "Annuler dernire action dsactiv."
 
-#: ../lib/EditToolbar.php:57 ../lib/EditToolbar.php:253
-#: ../lib/EditToolbar.php:254 ../lib/plugin/WikiAdminSearchReplace.php:187
+#: ../lib/EditToolbar.php:32
+msgid "Operation undone"
+msgstr ""
+
+#: ../lib/EditToolbar.php:33
+msgid "Substring \"\\1\" found \\2 times. Replace with \"\\3\"?"
+msgstr ""
+
+#: ../lib/EditToolbar.php:34
+#, php-format
+msgid "String \"%s\" not found."
+msgstr "\"%s\" non trouve."
+
+#: ../lib/EditToolbar.php:35 ../lib/EditToolbar.php:200
+#: ../lib/EditToolbar.php:201 ../lib/plugin/WikiAdminSearchReplace.php:187
 msgid "Search & Replace"
 msgstr "Recherche & Remplace"
 
 # lib/stdlib.php:207 lib/stdlib.php:215
-#: ../lib/EditToolbar.php:59 ../lib/plugin/InterWikiSearch.php:91
-#: ../lib/plugin/RecentChanges.php:591 ../themes/Crao/templates/navbar.tmpl:42
-#: ../themes/Crao/templates/navbar.tmpl:44
-#: ../themes/Crao/templates/navbar.tmpl:48
-#: ../themes/blog/templates/search.tmpl:6
-#: ../themes/blog/templates/search.tmpl:7
-#: ../themes/blog/templates/search.tmpl:9
-#: ../themes/blog/templates/search.tmpl:13
-#: ../themes/default/templates/search.tmpl:10
-#: ../themes/default/templates/search.tmpl:11
-#: ../themes/default/templates/search.tmpl:18
-msgid "Search"
+#: ../lib/EditToolbar.php:36
+#, fuzzy
+msgid "Search for"
 msgstr "Chercher"
 
-#: ../lib/EditToolbar.php:61
+#: ../lib/EditToolbar.php:37
 msgid "Replace with"
 msgstr "Remplacer par"
 
-#: ../lib/EditToolbar.php:63 ../lib/upgrade.php:375 ../lib/upgrade.php:384
-#: ../lib/upgrade.php:393 ../lib/upgrade.php:414 ../lib/upgrade.php:442
-#: ../lib/upgrade.php:492 ../lib/upgrade.php:495 ../lib/upgrade.php:526
-#: ../lib/upgrade.php:528 ../lib/upgrade.php:555 ../lib/upgrade.php:608
-#: ../lib/upgrade.php:727 ../lib/upgrade.php:730 ../lib/upgrade.php:782
-#: ../lib/upgrade.php:840 ../lib/upgrade.php:850
+#: ../lib/EditToolbar.php:38 ../lib/plugin/SyncWiki.php:302
+#: ../lib/plugin/SyncWiki.php:328 ../lib/plugin/SyncWiki.php:351
+#: ../lib/plugin/WikiPoll.php:224 ../lib/upgrade.php:212
+#: ../lib/upgrade.php:415 ../lib/upgrade.php:429 ../lib/upgrade.php:449
+#: ../lib/upgrade.php:458 ../lib/upgrade.php:482 ../lib/upgrade.php:510
+#: ../lib/upgrade.php:560 ../lib/upgrade.php:563 ../lib/upgrade.php:595
+#: ../lib/upgrade.php:597 ../lib/upgrade.php:624 ../lib/upgrade.php:684
+#: ../lib/upgrade.php:709 ../lib/upgrade.php:852 ../lib/upgrade.php:855
+#: ../lib/upgrade.php:906
 msgid "OK"
 msgstr "OK"
 
-#: ../lib/EditToolbar.php:65 ../lib/EditToolbar.php:308
-#: ../lib/EditToolbar.php:354 ../lib/EditToolbar.php:378
-#: ../lib/EditToolbar.php:411
+#: ../lib/EditToolbar.php:39 ../lib/EditToolbar.php:261
+#: ../lib/EditToolbar.php:308 ../lib/EditToolbar.php:338
+#: ../lib/EditToolbar.php:372
 msgid "Close"
 msgstr "Fermer"
 
-#: ../lib/EditToolbar.php:80
-#, php-format
-msgid "Substring \"%s\" found %s times. Replace with \"%s\"?"
-msgstr ""
-
-#: ../lib/EditToolbar.php:82
-#, php-format
-msgid "String \"%s\" not found."
-msgstr "\"%s\" non trouve."
-
-#: ../lib/EditToolbar.php:105
-msgid "Operation undone"
-msgstr ""
-
-#: ../lib/EditToolbar.php:167 ../lib/EditToolbar.php:168
+#: ../lib/EditToolbar.php:107
 msgid "Bold text"
 msgstr "Texte en gras"
 
-#: ../lib/EditToolbar.php:172 ../lib/EditToolbar.php:173
+#: ../lib/EditToolbar.php:108
+#, fuzzy
+msgid "Bold text [alt-b]"
+msgstr "Texte en gras"
+
+#: ../lib/EditToolbar.php:112
 msgid "Italic text"
 msgstr "Texte en italique"
 
-#: ../lib/EditToolbar.php:177
+#: ../lib/EditToolbar.php:113
+#, fuzzy
+msgid "Italic text [alt-i]"
+msgstr "Texte en italique"
+
+#: ../lib/EditToolbar.php:117
 msgid "optional label | PageName"
 msgstr "en option | PageName"
 
-#: ../lib/EditToolbar.php:178
+#: ../lib/EditToolbar.php:118
 msgid "Link to page"
 msgstr "Lien vers la page"
 
-#: ../lib/EditToolbar.php:182
+#: ../lib/EditToolbar.php:122
 msgid "optional label | http://www.example.com"
 msgstr "en option | http://www.example.com"
 
-#: ../lib/EditToolbar.php:183
+#: ../lib/EditToolbar.php:123
 msgid "External link (remember http:// prefix)"
 msgstr "Lien externe (http:// prefix)"
 
-#: ../lib/EditToolbar.php:187
+#: ../lib/EditToolbar.php:127
 msgid "Headline text"
 msgstr "Texte de dbut de ligne"
 
-#: ../lib/EditToolbar.php:188
+#: ../lib/EditToolbar.php:128
 msgid "Level 1 headline"
 msgstr "Texte de dbut de ligne de niveau 1"
 
-#: ../lib/EditToolbar.php:192
+#: ../lib/EditToolbar.php:132
 msgid "Example.jpg"
 msgstr "Example.jpg"
 
-#: ../lib/EditToolbar.php:193
+#: ../lib/EditToolbar.php:133
 msgid "Embedded image"
 msgstr "Image embarque"
 
-#: ../lib/EditToolbar.php:197
+#: ../lib/EditToolbar.php:137
 msgid "Insert non-formatted text here"
 msgstr "Insrer du texte non-format ici"
 
-#: ../lib/EditToolbar.php:198
+#: ../lib/EditToolbar.php:138
 msgid "Ignore wiki formatting"
 msgstr "Ignorer le formatage wiki"
 
 # lib/pageinfo.php:64
-#: ../lib/EditToolbar.php:203
+#: ../lib/EditToolbar.php:143
 msgid "Your signature"
 msgstr "Votre signature"
 
-#: ../lib/EditToolbar.php:208
+#: ../lib/EditToolbar.php:148
 msgid "Horizontal line"
 msgstr "Ligne horizontale"
 
-#: ../lib/EditToolbar.php:210 ../lib/EditToolbar.php:212
-#: ../lib/editpage.php:567
+#: ../lib/EditToolbar.php:150 ../lib/EditToolbar.php:152
+#: ../lib/WysiwygEdit/Wikiwyg.php:85 ../lib/editpage.php:664
 msgid "Save"
 msgstr "Enregistrer"
 
-#: ../lib/EditToolbar.php:214 ../lib/EditToolbar.php:216
-#: ../lib/editpage.php:563
+#: ../lib/EditToolbar.php:157 ../lib/EditToolbar.php:159
+#: ../lib/WysiwygEdit/Wikiwyg.php:84 ../lib/editpage.php:657
 msgid "Preview"
 msgstr "Prvisualiser"
 
-#: ../lib/EditToolbar.php:232
+#: ../lib/EditToolbar.php:179
 msgid "Click a button to get an example text"
 msgstr "Cliquer sur un bouton pour obtenir une exemple de texte"
 
-#: ../lib/EditToolbar.php:245 ../lib/EditToolbar.php:246
+#: ../lib/EditToolbar.php:192 ../lib/EditToolbar.php:193
 msgid "Undo Search & Replace"
 msgstr "Undo Recherche & Remplace"
 
 # lib/diff.php:997
-#: ../lib/EditToolbar.php:302 ../lib/EditToolbar.php:303
+#: ../lib/EditToolbar.php:255
 msgid "AddCategory"
 msgstr "AjoutezCatgorie"
 
-#: ../lib/EditToolbar.php:305
+#: ../lib/EditToolbar.php:258
 msgid "Insert Categories (double-click)"
 msgstr ""
 
-#: ../lib/EditToolbar.php:307 ../lib/EditToolbar.php:353
-#: ../lib/EditToolbar.php:377 ../lib/EditToolbar.php:410
+#: ../lib/EditToolbar.php:260 ../lib/EditToolbar.php:307
+#: ../lib/EditToolbar.php:337 ../lib/EditToolbar.php:371
 msgid "Insert"
 msgstr ""
 
-#: ../lib/EditToolbar.php:348 ../lib/EditToolbar.php:349
+#: ../lib/EditToolbar.php:302 ../lib/EditToolbar.php:303
 msgid "AddPlugin"
 msgstr "AjoutezPlugin"
 
-#: ../lib/EditToolbar.php:351
+#: ../lib/EditToolbar.php:305
 msgid "Insert Plugin (double-click)"
 msgstr ""
 
-#: ../lib/EditToolbar.php:372 ../lib/EditToolbar.php:373
+#: ../lib/EditToolbar.php:332 ../lib/EditToolbar.php:333
 msgid "AddPageLink"
 msgstr "AjouterDesPagesLien"
 
-#: ../lib/EditToolbar.php:375
+#: ../lib/EditToolbar.php:335
 msgid "Insert PageLink (double-click)"
 msgstr ""
 
-#: ../lib/EditToolbar.php:405 ../lib/EditToolbar.php:406
+#: ../lib/EditToolbar.php:366 ../lib/EditToolbar.php:367
 msgid "AddTemplate"
 msgstr ""
 
-#: ../lib/EditToolbar.php:408
+#: ../lib/EditToolbar.php:369
 msgid "Insert Template (double-click)"
 msgstr ""
 
-#: ../lib/ErrorManager.php:210
+#: ../lib/ErrorManager.php:211
 #, php-format
 msgid "%s: error while handling error:"
 msgstr "%s : erreur pendant la gestion de l'erreur :"
 
-#: ../lib/FileFinder.php:191 ../lib/loadsave.php:967
+#: ../lib/FileFinder.php:191 ../lib/loadsave.php:1026
 #, php-format
 msgid "%s: file not found"
 msgstr "%s : fichier non trouv"
 
 # lib/diff.php:997
-#: ../lib/IniConfig.php:732
+#: ../lib/IniConfig.php:799
 msgid "CategoryGroup"
 msgstr "CatgorieGroupes"
 
-#: ../lib/IniConfig.php:734
+#: ../lib/IniConfig.php:801
 msgid "An unnamed PhpWiki"
 msgstr "Un PhpWiki sans titre"
 
-#: ../lib/IniConfig.php:736 ../lib/upgrade.php:149
-#: ../themes/Wordpress/templates/actionbar.tmpl:18
-#: ../themes/default/templates/userprefs.tmpl:123
+#: ../lib/IniConfig.php:803 ../lib/upgrade.php:172
+#: ../themes/Wordpress/templates/actionbar.tmpl:19
+#: ../themes/blog/templates/browse-footer.tmpl:6
+#: ../themes/default/templates/userprefs.tmpl:124
 msgid "HomePage"
 msgstr "PageAccueil"
 
-#: ../lib/InlineParser.php:336
+#: ../lib/InlineParser.php:335
 msgid "Invalid [] syntax ignored"
 msgstr "[] non valables, ignor"
 
-#: ../lib/InlineParser.php:652
+#: ../lib/InlineParser.php:736
 #, php-format
 msgid "unknown color %s ignored"
 msgstr "%s color non valable ignor"
 
+#: ../lib/MailNotify.php:129
+#, fuzzy, php-format
+msgid "PageChange Notification of %s"
+msgstr "Les notifications de changement de la page %s ont t envoys  %s"
+
+#: ../lib/MailNotify.php:156
+#, fuzzy, php-format
+msgid "sent to %s"
+msgstr "Retour  la %s"
+
+#: ../lib/MailNotify.php:162
+#, fuzzy, php-format
+msgid "Error: Couldn't send %s to %s"
+msgstr "Impossible d'tablir une connexion  la base de donnes : %s"
+
+#: ../lib/MailNotify.php:184
+msgid "Page change"
+msgstr ""
+
+#: ../lib/MailNotify.php:211 ../lib/loadsave.php:841
+#: ../lib/plugin/RecentChanges.php:109
+msgid "New page"
+msgstr "Nouvelle page"
+
+#: ../lib/MailNotify.php:213 ../lib/MailNotify.php:231 ../lib/loadsave.php:93
+#, php-format
+msgid "Edited by: %s"
+msgstr "dit par : %s"
+
+#: ../lib/MailNotify.php:232
+#, php-format
+msgid "Page rename %s to %s"
+msgstr "retitrez la page de '%s'  '%s'"
+
+#: ../lib/MailNotify.php:269
+#, php-format
+msgid "Removed by: %s"
+msgstr "Enlev prs : %s"
+
+#: ../lib/MailNotify.php:271
+#, php-format
+msgid "Page removed %s"
+msgstr "Page enleve %s"
+
+#: ../lib/MailNotify.php:320
+#, fuzzy
+msgid "e-mail address confirmation"
+msgstr "Verrification de l'email"
+
+#: ../lib/MailNotify.php:323
+#, php-format
+msgid ""
+"Someone, probably you from IP address %s, has registered an\n"
+"account \"%s\" with this e-mail address on %s.\n"
+"\n"
+"To confirm that this account really does belong to you and activate\n"
+"e-mail features on %s, open this link in your browser:\n"
+"\n"
+"%s\n"
+"\n"
+"If this is *not* you, don't follow the link. This confirmation code\n"
+"will expire at %s."
+msgstr ""
+
 # lib/diff.php:1006 lib/diff.php:1024
-#: ../lib/PageList.php:104
+#: ../lib/PageList.php:109
 #, php-format
 msgid "Sort by %s"
 msgstr "Tri par %s"
 
-#: ../lib/PageList.php:149
+#: ../lib/PageList.php:139
+#, fuzzy
+msgid "reverse"
+msgstr "Rinitialiser"
+
+#: ../lib/PageList.php:153
 msgid "Click to reverse sort order"
 msgstr "Cliquer pour inverser l'ordre de tri"
 
 # lib/diff.php:1006 lib/diff.php:1024
-#: ../lib/PageList.php:157
+#: ../lib/PageList.php:160
 #, php-format
 msgid "Click to sort by %s"
 msgstr "Cliquer pour trier par %s"
@@ -274,107 +370,102 @@
 msgid "Click to de-/select all pages"
 msgstr "Cliquez pour (de)slectionner toutes les pages"
 
-#: ../lib/PageList.php:366 ../lib/plugin/UnfoldSubpages.php:132
+#: ../lib/PageList.php:370 ../lib/plugin/UnfoldSubpages.php:132
 #, php-format
 msgid " ... first %d bytes"
 msgstr "... premiers %d octets"
 
-#: ../lib/PageList.php:372
+#: ../lib/PageList.php:376
 #, php-format
 msgid " ... around %s"
 msgstr "... autour de %s"
 
-#: ../lib/PageList.php:402 ../lib/plugin/AppendText.php:57
-#: ../lib/upgrade.php:810
+#: ../lib/PageList.php:406 ../lib/plugin/AppendText.php:57
 #, php-format
 msgid "%s not found"
 msgstr "%s non trouv"
 
-#: ../lib/PageList.php:466 ../lib/plugin/AuthorHistory.php:174
-#: ../lib/plugin/WantedPagesOld.php:151
+#: ../lib/PageList.php:480 ../lib/plugin/AuthorHistory.php:174
 msgid "Page Name"
 msgstr "Nom de la page"
 
-#: ../lib/PageList.php:555 ../lib/plugin/FullTextSearch.php:107
+#: ../lib/PageList.php:609 ../lib/plugin/FullTextSearch.php:112
 msgid "<no matches>"
 msgstr "<aucun rsultat>"
 
-#: ../lib/PageList.php:934 ../lib/plugin/WikiAdminSearchReplace.php:171
+#: ../lib/PageList.php:1036 ../lib/plugin/WikiAdminSearchReplace.php:171
 msgid "Content"
 msgstr "Contenu"
 
-#: ../lib/PageList.php:950
+#: ../lib/PageList.php:1052
 msgid "Select"
 msgstr "Slectionner"
 
 # lib/diff.php:1003 lib/diff.php:1021
-#: ../lib/PageList.php:954 ../themes/MonoBook/templates/info.tmpl:71
-#: ../themes/default/templates/info.tmpl:64
-#: ../themes/shamino_com/templates/info.tmpl:70
+#: ../lib/PageList.php:1056 ../themes/MonoBook/templates/info.tmpl:71
+#: ../themes/default/templates/info.tmpl:63
 msgid "Last Modified"
 msgstr "Dernire Modification"
 
-#: ../lib/PageList.php:956
+#: ../lib/PageList.php:1058
 msgid "Hits"
 msgstr "Visites"
 
-#: ../lib/PageList.php:958 ../themes/Crao/templates/editpage.tmpl:37
+#: ../lib/PageList.php:1060 ../themes/Crao/templates/editpage.tmpl:37
 #: ../themes/Wordpress/templates/editpage.tmpl:38
 #: ../themes/default/templates/editpage.tmpl:39
 msgid "Size"
 msgstr "Taille"
 
-#: ../lib/PageList.php:961 ../themes/MonoBook/templates/info.tmpl:73
-#: ../themes/default/templates/info.tmpl:66
-#: ../themes/shamino_com/templates/info.tmpl:72
+#: ../lib/PageList.php:1063 ../themes/MonoBook/templates/info.tmpl:73
+#: ../themes/default/templates/info.tmpl:65
 msgid "Last Summary"
 msgstr "Dernier rsum"
 
 # lib/diff.php:1001 lib/diff.php:1019
-#: ../lib/PageList.php:963 ../lib/plugin/AuthorHistory.php:123
+#: ../lib/PageList.php:1065 ../lib/plugin/AuthorHistory.php:123
 #: ../lib/plugin/AuthorHistory.php:176 ../lib/plugin/PluginManager.php:90
 msgid "Version"
 msgstr "Version"
 
-#: ../lib/PageList.php:966 ../themes/MonoBook/templates/info.tmpl:72
-#: ../themes/default/templates/info.tmpl:65
-#: ../themes/shamino_com/templates/info.tmpl:71
+#: ../lib/PageList.php:1068 ../themes/MonoBook/templates/info.tmpl:72
+#: ../themes/default/templates/info.tmpl:64
 msgid "Last Author"
 msgstr "Dernier auteur"
 
-#: ../lib/PageList.php:968 ../lib/WikiGroup.php:36
+#: ../lib/PageList.php:1070 ../lib/WikiGroup.php:36
 msgid "Owner"
 msgstr "Propritaire"
 
-#: ../lib/PageList.php:970 ../lib/WikiGroup.php:37
+#: ../lib/PageList.php:1072 ../lib/WikiGroup.php:37
 msgid "Creator"
 msgstr "Crateur"
 
-#: ../lib/PageList.php:976 ../themes/Crao/templates/editpage.tmpl:61
+#: ../lib/PageList.php:1078 ../themes/Crao/templates/editpage.tmpl:61
 #: ../themes/MonoBook/templates/info.tmpl:132
-#: ../themes/default/templates/editpage.tmpl:73
-#: ../themes/default/templates/info.tmpl:127
-#: ../themes/shamino_com/templates/info.tmpl:132
+#: ../themes/Wordpress/templates/editpage.tmpl:61
+#: ../themes/default/templates/editpage.tmpl:74
+#: ../themes/default/templates/info.tmpl:126
 msgid "Locked"
 msgstr "Verrouille"
 
-#: ../lib/PageList.php:977
+#: ../lib/PageList.php:1079
 msgid "locked"
 msgstr "verrouille"
 
-#: ../lib/PageList.php:980
+#: ../lib/PageList.php:1082
 msgid "Minor Edit"
 msgstr "dition Mineure"
 
-#: ../lib/PageList.php:980
+#: ../lib/PageList.php:1082
 msgid "minor"
 msgstr "mineure"
 
-#: ../lib/PageList.php:982
+#: ../lib/PageList.php:1084
 msgid "Markup"
 msgstr "Marquage"
 
-#: ../lib/PageList.php:1239 ../lib/plugin/WantedPagesOld.php:178
+#: ../lib/PageList.php:1357
 #, php-format
 msgid "Columns: %s."
 msgstr "Colonnes : %s."
@@ -412,56 +503,53 @@
 msgid "Unsupported ACL access type %s ignored."
 msgstr "Le type d'accs ACL %s n'est pas support. -- Ignor."
 
-#: ../lib/PagePerm.php:558
+#: ../lib/PagePerm.php:561
 msgid "Access"
 msgstr "Accs"
 
-#: ../lib/PagePerm.php:560
+#: ../lib/PagePerm.php:563
 msgid "Group/User"
 msgstr "Groupe/Utilisateur"
 
-#: ../lib/PagePerm.php:561
+#: ../lib/PagePerm.php:564
 msgid "Grant"
 msgstr "Accorder"
 
-#: ../lib/PagePerm.php:562
+#: ../lib/PagePerm.php:565
 msgid "Del/+"
 msgstr "Effacer/+"
 
-#: ../lib/PagePerm.php:563 ../lib/plugin/PluginManager.php:90
-#: ../lib/plugin/WikiAdminSetAcl.php:230
+#: ../lib/PagePerm.php:566 ../lib/plugin/PluginManager.php:90
+#: ../lib/plugin/WikiAdminSetAcl.php:234
 msgid "Description"
 msgstr "Description"
 
-#: ../lib/PagePerm.php:584
+#: ../lib/PagePerm.php:587
 msgid "Add this ACL"
 msgstr "Ajouer cette ACL"
 
-#: ../lib/PagePerm.php:608
+#: ../lib/PagePerm.php:611
 msgid "Allow / Deny"
 msgstr "Autoriser / Refuser"
 
-#: ../lib/PagePerm.php:620
+#: ../lib/PagePerm.php:623
 msgid "Delete this ACL"
 msgstr "Effacer cette ACL"
 
-#: ../lib/PagePerm.php:646
+#: ../lib/PagePerm.php:649
 msgid "add "
 msgstr "ajouter"
 
-#: ../lib/PagePerm.php:650
+#: ../lib/PagePerm.php:653
 msgid "Check to add this ACL"
 msgstr "Vrifier pour ajouter cette ACL"
 
-#: ../lib/PageType.php:134 ../lib/loadsave.php:733
-#: ../lib/plugin/InterWikiSearch.php:55 ../lib/plugin/WantedPages.php:54
-#: ../lib/plugin/WantedPagesOld.php:81
+#: ../lib/PageType.php:134 ../lib/loadsave.php:776 ../lib/loadsave.php:1424
+#: ../lib/plugin/InterWikiSearch.php:57 ../lib/plugin/WantedPages.php:55
 #: ../themes/MonoBook/templates/info.tmpl:149
 #: ../themes/MonoBook/templates/info.tmpl:150
+#: ../themes/default/templates/info.tmpl:143
 #: ../themes/default/templates/info.tmpl:144
-#: ../themes/default/templates/info.tmpl:145
-#: ../themes/shamino_com/templates/info.tmpl:149
-#: ../themes/shamino_com/templates/info.tmpl:150
 msgid "InterWikiMap"
 msgstr "CarteInterWiki"
 
@@ -470,346 +558,359 @@
 msgstr ""
 
 # lib/diff.php:1001 lib/diff.php:1019
-#: ../lib/PageType.php:231 ../lib/PageType.php:234 ../lib/stdlib.php:670
-#: ../themes/MonoBook/templates/actionbar.tmpl:15
-#: ../themes/MonoBook/templates/actionbar.tmpl:19
-#: ../themes/MonoBook/templates/actionbar.tmpl:23
-#: ../themes/Sidebar/templates/navbar.tmpl:27
-#: ../themes/Sidebar/templates/navbar.tmpl:29
+#: ../lib/PageType.php:247 ../lib/PageType.php:250 ../lib/stdlib.php:673
+#: ../themes/MonoBook/templates/actionbar.tmpl:14
+#: ../themes/MonoBook/templates/actionbar.tmpl:21
+#: ../themes/MonoBook/templates/actionbar.tmpl:25
+#: ../themes/MonoBook/templates/actionbar.tmpl:31
+#: ../themes/Sidebar/templates/navbar.tmpl:17
+#: ../themes/Sidebar/templates/navbar.tmpl:19
 #: ../themes/default/templates/navbar.tmpl:11
 #: ../themes/default/templates/navbar.tmpl:13
+#: ../themes/wikilens/templates/navbar.tmpl:9
+#: ../themes/wikilens/templates/navbar.tmpl:11
 msgid "Discussion"
 msgstr "Entretien"
 
-#: ../lib/PageType.php:274 ../lib/loadsave.php:979
+#: ../lib/PageType.php:286 ../lib/loadsave.php:1038
 #, php-format
 msgid "Loading InterWikiMap from external file %s."
 msgstr "Chargement de la CarteInterWiki depuis le fichiers %s."
 
-#: ../lib/PageType.php:372
+#: ../lib/PageType.php:384
 msgid "Moniker"
 msgstr "Nom"
 
-#: ../lib/PageType.php:373
+#: ../lib/PageType.php:385
 msgid "InterWiki Address"
 msgstr "Adresse InterWiki"
 
 # lib/stdlib.php:384 lib/stdlib.php:445
-#: ../lib/RSSWriter091.php:113 ../lib/loadsave.php:1353
-#: ../lib/plugin/RecentChanges.php:272 ../lib/plugin/RecentChanges.php:287
-#: ../lib/plugin/RecentChanges.php:390 ../lib/plugin/RecentChanges.php:467
-#: ../lib/plugin/RecentChanges.php:603 ../lib/plugin/RecentChanges.php:737
-#: ../themes/Crao/templates/head.tmpl:63
+#: ../lib/RSSWriter091.php:113 ../lib/display.php:120 ../lib/display.php:307
+#: ../lib/loadsave.php:1445 ../lib/plugin/RecentChanges.php:181
+#: ../lib/plugin/RecentChanges.php:188 ../lib/plugin/RecentChanges.php:328
+#: ../lib/plugin/RecentChanges.php:346 ../lib/plugin/RecentChanges.php:523
+#: ../lib/plugin/RecentChanges.php:600 ../lib/plugin/RecentChanges.php:736
+#: ../lib/plugin/RecentChanges.php:1002 ../themes/Crao/templates/head.tmpl:63
 #: ../themes/Crao/templates/navbar.tmpl:13
-#: ../themes/MonoBook/templates/navbar.tmpl:13
-#: ../themes/Portland/templates/navbar.tmpl:28
-#: ../themes/Wordpress/templates/actionbar.tmpl:21
-#: ../themes/blog/templates/actionbar.tmpl:20
+#: ../themes/MonoBook/templates/navbar.tmpl:15
+#: ../themes/Portland/templates/navbar.tmpl:25
+#: ../themes/Wordpress/templates/actionbar.tmpl:22
+#: ../themes/blog/templates/actionbar.tmpl:14
 #: ../themes/default/templates/head.tmpl:69
 #: ../themes/default/templates/navbar.tmpl:19
 #: ../themes/shamino_com/templates/top.tmpl:20
 #: ../themes/smaller/templates/navbar.tmpl:7
 #: ../themes/wikilens/templates/head.tmpl:60
-#: ../themes/wikilens/templates/navbar.tmpl:10
+#: ../themes/wikilens/templates/navbar.tmpl:17
 msgid "RecentChanges"
 msgstr "DerniresModifs"
 
-#: ../lib/Request.php:696 ../lib/Request.php:699
+#: ../lib/Request.php:703 ../lib/Request.php:706
 msgid "Upload error: file too big"
 msgstr ""
 
-#: ../lib/Request.php:702
+#: ../lib/Request.php:709
 msgid "Upload error: file only partially recieved"
 msgstr ""
 
-#: ../lib/Request.php:705
+#: ../lib/Request.php:712
 msgid "Upload error: no file selected"
 msgstr ""
 
-#: ../lib/Request.php:708
+#: ../lib/Request.php:715
 msgid "Upload error: unknown error #"
 msgstr ""
 
-#: ../lib/Request.php:815 ../lib/main.php:1160 ../lib/main.php:1173
+#: ../lib/Request.php:824 ../lib/main.php:1221 ../lib/main.php:1234
 #, php-format
 msgid "%s is not writable."
 msgstr "%s n'est pas accessible en criture."
 
-#: ../lib/Request.php:815
+#: ../lib/Request.php:824
 msgid "The PhpWiki access log file"
 msgstr "Le journal d'vnement de PhpWiki"
 
-#: ../lib/Request.php:817 ../lib/main.php:1163
+#: ../lib/Request.php:826 ../lib/main.php:1224
 #, php-format
 msgid "Please ensure that %s is writable, or redefine %s in config/config.ini."
 msgstr ""
 "Veuillez vous assurer que %s est disponible en criture, ou redfinissez-le "
 "dans config/config.ini."
 
-#: ../lib/Request.php:818
+#: ../lib/Request.php:827
 #, php-format
 msgid "the file '%s'"
 msgstr "le fichier %s"
 
-#: ../lib/Template.php:175
+#: ../lib/SemanticWeb.php:135
+msgid "URIResolver"
+msgstr ""
+
+#: ../lib/SemanticWeb.php:149 ../lib/plugin/SemanticSearch.php:302
+#, fuzzy
+msgid "Relation"
+msgstr "Liens correspondants"
+
+#: ../lib/SemanticWeb.php:151 ../lib/plugin/SemanticSearch.php:375
+msgid "Attribute"
+msgstr ""
+
+#: ../lib/Template.php:178
 #, php-format
 msgid "%4d  %s\n"
 msgstr "%4d  %s\n"
 
-#: ../lib/TextSearchQuery.php:79 ../lib/plugin/FileInfo.php:100
+#: ../lib/TextSearchQuery.php:79 ../lib/plugin/FileInfo.php:116
 #, php-format
 msgid "Unsupported argument: %s=%s"
-msgstr "Argument %s=%s n'est pas support !"
+msgstr ""
 
-#: ../lib/TextSearchQuery.php:89
+#: ../lib/TextSearchQuery.php:90
 msgid "(A|An|And|But|By|For|From|In|Is|It|Of|On|Or|The|To|With)"
 msgstr ""
 
-#: ../lib/Theme.php:388
+#: ../lib/Theme.php:398
 msgid "Never edited"
 msgstr "Jamais dite"
 
-#: ../lib/Theme.php:395
+#: ../lib/Theme.php:405
 #, php-format
 msgid "%s at %s"
 msgstr "%s  %s"
 
-#: ../lib/Theme.php:399
+#: ../lib/Theme.php:409
 #, php-format
 msgid "Version %s, saved %s"
 msgstr "Version %s, enregistre %s"
 
 # lib/diff.php:1003 lib/diff.php:1021
-#: ../lib/Theme.php:401
+#: ../lib/Theme.php:411
 #, php-format
 msgid "Last edited %s"
 msgstr "Dernire modification %s"
 
-#: ../lib/Theme.php:410
+#: ../lib/Theme.php:420
 #, php-format
 msgid "Version %s, saved on %s"
 msgstr "Version %s, enregistre sur %s"
 
 # lib/diff.php:1003 lib/diff.php:1021
-#: ../lib/Theme.php:412
+#: ../lib/Theme.php:422
 #, php-format
 msgid "Last edited on %s"
 msgstr "Dernire modification le %s"
 
-#: ../lib/Theme.php:428
+#: ../lib/Theme.php:438
 msgid "today"
 msgstr "aujourd'hui"
 
-#: ../lib/Theme.php:435
+#: ../lib/Theme.php:445
 msgid "yesterday"
 msgstr "hier"
 
-#: ../lib/Theme.php:456 ../lib/Theme.php:458
+#: ../lib/Theme.php:466 ../lib/Theme.php:468
 #, php-format
 msgid "Owner: %s"
 msgstr "Propritaire: %s"
 
 # lib/diff.php:1006 lib/diff.php:1024
-#: ../lib/Theme.php:470 ../lib/Theme.php:472 ../lib/diff.php:262
-#: ../lib/plugin/Diff.php:75
+#: ../lib/Theme.php:481 ../lib/Theme.php:483 ../lib/diff.php:261
+#: ../lib/plugin/Diff.php:76
 #, php-format
 msgid "by %s"
 msgstr "par %s"
 
-#: ../lib/Theme.php:564
+#: ../lib/Theme.php:575
 #, php-format
 msgid "Empty link to: %s"
 msgstr "Aucune correspondance de lien pour %s."
 
-#: ../lib/Theme.php:579 ../themes/MacOSX/themeinfo.php:71
+#: ../lib/Theme.php:590 ../themes/MacOSX/themeinfo.php:71
 #, php-format
 msgid "Create: %s"
 msgstr "Enregistre : %s"
 
-#: ../lib/Theme.php:598
+#: ../lib/Theme.php:609
 #, php-format
 msgid "Google:%s"
 msgstr "Google: %s"
 
-#: ../lib/Theme.php:623
+#: ../lib/Theme.php:634
 #, php-format
 msgid "'%s': Bad page name"
 msgstr "%s : Nom de page invalide"
 
-#: ../lib/Theme.php:933 ../themes/Crao/templates/actionbar.tmpl:5
-#: ../themes/MonoBook/templates/actionbar.tmpl:11
-#: ../themes/blog/themeinfo.php:53
-#: ../themes/default/templates/actionbar.tmpl:15
+#: ../lib/Theme.php:977 ../lib/plugin/WatchPage.php:89
+#: ../themes/Crao/templates/actionbar.tmpl:5
+#: ../themes/MonoBook/templates/actionbar.tmpl:34
+#: ../themes/blog/themeinfo.php:61
+#: ../themes/default/templates/actionbar.tmpl:16
 #: ../themes/shamino_com/templates/actionbar.tmpl:6
-#: ../themes/shamino_com/templates/info.tmpl:164
 #: ../themes/smaller/templates/actionbar.tmpl:18
 msgid "Edit"
 msgstr "diter"
 
-#: ../lib/Theme.php:934 ../lib/plugin/Diff.php:36
-#: ../themes/blog/themeinfo.php:54
+#: ../lib/Theme.php:978 ../lib/plugin/Diff.php:37
+#: ../themes/blog/themeinfo.php:62
 msgid "Diff"
 msgstr "Diff"
 
-#: ../lib/Theme.php:935 ../themes/Crao/templates/signin.tmpl:15
-#: ../themes/Crao/templates/signin.tmpl:31
-#: ../themes/MonoBook/templates/signin.tmpl:16
-#: ../themes/MonoBook/templates/signin.tmpl:30
-#: ../themes/Sidebar/templates/signin.tmpl:16
-#: ../themes/Sidebar/templates/signin.tmpl:30
-#: ../themes/Wordpress/templates/signin.tmpl:18
-#: ../themes/Wordpress/templates/signin.tmpl:34
+#: ../lib/Theme.php:979 ../themes/Crao/templates/signin.tmpl:14
+#: ../themes/Crao/templates/signin.tmpl:30
+#: ../themes/Sidebar/templates/signin.tmpl:15
+#: ../themes/Sidebar/templates/signin.tmpl:29
+#: ../themes/Wordpress/templates/signin.tmpl:17
+#: ../themes/Wordpress/templates/signin.tmpl:33
 #: ../themes/default/templates/signin.tmpl:16
 #: ../themes/default/templates/signin.tmpl:27
-#: ../themes/shamino_com/templates/signin.tmpl:15
-#: ../themes/shamino_com/templates/signin.tmpl:28
+#: ../themes/shamino_com/templates/signin.tmpl:14
+#: ../themes/shamino_com/templates/signin.tmpl:27
 #: ../themes/smaller/templates/signin.tmpl:16
 #: ../themes/smaller/templates/signin.tmpl:27
 msgid "Sign Out"
 msgstr "Dconnexion"
 
-#: ../lib/Theme.php:936 ../lib/WikiUser.php:221 ../lib/WikiUserNew.php:473
-#: ../themes/Crao/templates/signin.tmpl:54
-#: ../themes/Crao/templates/signin.tmpl:59
+#: ../lib/Theme.php:980 ../lib/WikiUser.php:221 ../lib/WikiUserNew.php:503
+#: ../themes/Crao/templates/signin.tmpl:53
 #: ../themes/default/templates/login.tmpl:76
 #: ../themes/smaller/templates/signin.tmpl:54
 msgid "Sign In"
 msgstr "Connexion"
 
-#: ../lib/Theme.php:937 ../themes/MacOSX/themeinfo.php:135
+#: ../lib/Theme.php:981 ../themes/MacOSX/themeinfo.php:133
 msgid "Lock Page"
 msgstr "Vrrouiller la page"
 
-#: ../lib/Theme.php:938 ../themes/MacOSX/themeinfo.php:136
+#: ../lib/Theme.php:982 ../themes/MacOSX/themeinfo.php:134
 msgid "Unlock Page"
 msgstr "Dverrouiller la page"
 
-#: ../lib/Theme.php:939 ../lib/removepage.php:23 ../lib/removepage.php:63
+#: ../lib/Theme.php:983 ../lib/removepage.php:23 ../lib/removepage.php:63
 msgid "Remove Page"
 msgstr "Supprimer la page"
 
+#: ../lib/Theme.php:1149
+msgid ""
+"Some action(page) wanted to add more headers, but they were already printed."
+msgstr ""
+
+#: ../lib/Theme.php:1225 ../themes/Hawaiian/themeinfo.php:28
+#: ../themes/MacOSX/themeinfo.php:102 ../themes/MonoBook/themeinfo.php:126
+#: ../themes/Portland/themeinfo.php:58 ../themes/Sidebar/themeinfo.php:40
+#: ../themes/SpaceWiki/themeinfo.php:42 ../themes/Wordpress/themeinfo.php:60
+#: ../themes/shamino_com/themeinfo.php:54 ../themes/wikilens/themeinfo.php:25
+msgid "Printer"
+msgstr "Imprimante"
+
+#: ../lib/Theme.php:1226 ../themes/MacOSX/themeinfo.php:103
+#: ../themes/MonoBook/themeinfo.php:127 ../themes/shamino_com/themeinfo.php:55
+#: ../themes/wikilens/themeinfo.php:26
+msgid "Top & bottom toolbars"
+msgstr "Barres d'outils en haut et en bas"
+
+#: ../lib/Theme.php:1227 ../themes/Hawaiian/themeinfo.php:29
+#: ../themes/MonoBook/themeinfo.php:128 ../themes/Portland/themeinfo.php:59
+#: ../themes/Sidebar/themeinfo.php:41 ../themes/SpaceWiki/themeinfo.php:43
+#: ../themes/Wordpress/themeinfo.php:61 ../themes/shamino_com/themeinfo.php:56
+#: ../themes/wikilens/themeinfo.php:27
+msgid "Modern"
+msgstr "Moderne"
+
 # lib/fullsearch.php:48
-#: ../lib/Theme.php:1188 ../lib/main.php:1014
-#: ../lib/plugin/RecentChanges.php:594 ../lib/plugin/TitleSearch.php:43
+#: ../lib/Theme.php:1374 ../lib/main.php:1053
+#: ../lib/plugin/RecentChanges.php:727 ../lib/plugin/TitleSearch.php:43
 #: ../themes/Crao/templates/navbar.tmpl:4
 #: ../themes/Crao/templates/navbar.tmpl:8
 #: ../themes/Crao/templates/navbar.tmpl:51
-#: ../themes/MonoBook/templates/navbar.tmpl:23
-#: ../themes/Sidebar/templates/navbar.tmpl:7
-#: ../themes/Sidebar/templates/navbar.tmpl:13
-#: ../themes/Sidebar/templates/navbar.tmpl:20
+#: ../themes/MonoBook/templates/navbar.tmpl:33
 #: ../themes/blog/templates/search.tmpl:3
 #: ../themes/blog/templates/search.tmpl:18
 #: ../themes/default/templates/navbar.tmpl:6
 #: ../themes/default/templates/navbar.tmpl:24
 #: ../themes/default/templates/search.tmpl:3
-#: ../themes/default/templates/search.tmpl:6
-#: ../themes/default/templates/search.tmpl:25
-#: ../themes/default/templates/search.tmpl:29
+#: ../themes/default/templates/search.tmpl:9
+#: ../themes/default/templates/search.tmpl:33
 #: ../themes/shamino_com/templates/top.tmpl:18
 #: ../themes/smaller/templates/navbar.tmpl:4
-#: ../themes/wikilens/templates/navbar.tmpl:7
-#: ../themes/wikilens/templates/navbar.tmpl:15
 msgid "TitleSearch"
 msgstr "RechercheParTitre"
 
-#: ../lib/Theme.php:1347
+#: ../lib/Theme.php:1426 ../lib/plugin/Calendar.php:41
+#: ../lib/plugin/Calendar.php:45 ../themes/Crao/templates/head.tmpl:89
+#: ../themes/Crao/templates/navbar.tmpl:28
+#: ../themes/Sidebar/templates/body.tmpl:21
+#: ../themes/Sidebar/templates/body.tmpl:26
+#: ../themes/Wordpress/templates/actionbar.tmpl:32
+#: ../themes/blog/templates/sidebar.tmpl:16
+#: ../themes/default/templates/head.tmpl:96
+#: ../themes/default/templates/homepage.tmpl:15
+#: ../themes/default/templates/navbar.tmpl:45
+#: ../themes/wikilens/templates/head.tmpl:89
+#: ../themes/wikilens/templates/navbar.tmpl:25
+msgid "Calendar"
+msgstr "Calendrier"
+
+#: ../lib/Theme.php:1690
 #, php-format
 msgid "Plugin %s: undefined"
 msgstr "Plugin %s: non dfini"
 
-#: ../lib/Theme.php:1370
+#: ../lib/Theme.php:1713
 msgid "Related Links"
 msgstr "Liens correspondants"
 
-#: ../lib/Theme.php:1390
+#: ../lib/Theme.php:1734
 msgid "External Links"
 msgstr "Liens exterieurs"
 
-#: ../lib/WikiDB.php:233
-#, php-format
-msgid "Removed by: %s"
-msgstr "Enlev prs : %s"
-
-#: ../lib/WikiDB.php:235
-#, php-format
-msgid "Page removed %s"
-msgstr "Page enleve %s"
-
-#: ../lib/WikiDB.php:241 ../lib/WikiDB.php:1054 ../lib/WikiDB.php:1079
-#: ../lib/loadsave.php:99
-#, php-format
-msgid "PageChange Notification of %s sent to %s"
-msgstr "Les notifications de changement de la page %s ont t envoys  %s"
-
-#: ../lib/WikiDB.php:244 ../lib/WikiDB.php:1057 ../lib/WikiDB.php:1082
-#: ../lib/loadsave.php:102
-#, php-format
-msgid "PageChange Notification Error: Couldn't send %s to %s"
-msgstr ""
-"Erreur lors des notifications de changements de page: Impossible d'envoyer %"
-"s  %s"
-
-#: ../lib/WikiDB.php:474
+#: ../lib/WikiDB.php:539
 #, php-format
 msgid "renamed from %s"
 msgstr "renomme  partir de %s"
 
-#: ../lib/WikiDB.php:482
+#: ../lib/WikiDB.php:548
 msgid "WikiDB::renamePage() not yet implemented for this backend"
 msgstr "WikiBD::renamePage() pas encore implmente pour le Principal"
 
-#: ../lib/WikiDB.php:847
+#: ../lib/WikiDB.php:921
 #, php-format
 msgid "%s: Date of new revision is %s"
 msgstr "%s : la date de la nouvelle rvision est %s"
 
-#: ../lib/WikiDB.php:911 ../lib/main.php:98
+#: ../lib/WikiDB.php:993 ../lib/main.php:98
 msgid "Optimizing database"
 msgstr "Optimisation de database"
 
-#: ../lib/WikiDB.php:1017
-msgid "Page change"
-msgstr ""
-
-#: ../lib/WikiDB.php:1045 ../lib/loadsave.php:787
-#: ../lib/plugin/RecentChanges.php:107
-msgid "New page"
-msgstr "Nouvelle page"
-
-#: ../lib/WikiDB.php:1048 ../lib/WikiDB.php:1071 ../lib/loadsave.php:93
-#, php-format
-msgid "Edited by: %s"
-msgstr "dit par : %s"
-
-#: ../lib/WikiDB.php:1073
-#, php-format
-msgid "Page rename %s to %s"
-msgstr "retitrez la page de '%s'  '%s'"
+#: ../lib/WikiDB.php:1376 ../lib/WikiDB.php:1384 ../lib/WikiUserNew.php:429
+#: ../lib/loadsave.php:852 ../lib/loadsave.php:1380 ../lib/loadsave.php:1383
+msgid "The PhpWiki programming team"
+msgstr "L'quipe de dveloppement de PhpWiki"
 
 # lib/display.php:31 lib/editpage.php:50
-#: ../lib/WikiDB.php:1633 ../lib/WikiDB.php:1637
+#: ../lib/WikiDB.php:1627 ../lib/WikiDB.php:1631
 #: ../themes/default/templates/homepage.tmpl:7
 #, php-format
 msgid "Describe %s here."
 msgstr "Dcrire %s ici."
 
-#: ../lib/WikiDB.php:1672
+#: ../lib/WikiDB.php:1666
 #, php-format
 msgid "Oops! Revision %s of %s seems to have been deleted!"
 msgstr "Ouille ! La rvision %s de %s semble avoir t efface !"
 
-#: ../lib/WikiDB/backend/dba.php:22 ../lib/WikiDB/backend/dba.php:24
+#: ../lib/WikiDB/backend/dba.php:29 ../lib/WikiDB/backend/dba.php:31
 #, php-format
 msgid "%s: Can't open dba database"
 msgstr "%s : impossible d'ouvrir la base de donnes dba"
 
-#: ../lib/WikiDB/backend/file.php:111
+#: ../lib/WikiDB/backend/file.php:111 ../lib/WikiDB/backend/flatfile.php:83
 #, php-format
 msgid "'%s': corrupt file"
 msgstr "'%s' : ce fichier est abm"
 
 #: ../lib/WikiDB/dba.php:16 ../lib/WikiDB/file.php:47
+#: ../lib/WikiDB/flatfile.php:47
 #, php-format
 msgid ""
 "The %s files are in the %s directory. Please read the INSTALL file and move "
@@ -881,7 +982,7 @@
 msgid "No or not enough GROUP_DB SQL statements defined"
 msgstr "Aucun ou pas assez de GROUP_DB dfinis pour SQL"
 
-#: ../lib/WikiGroup.php:838 ../lib/loadsave.php:962
+#: ../lib/WikiGroup.php:838 ../lib/loadsave.php:1021
 #, php-format
 msgid "%s: not defined"
 msgstr "%s : non dfini"
@@ -892,7 +993,7 @@
 msgstr "Impossible d'ouvrir AUTH_GROUP_FILE %s"
 
 #: ../lib/WikiGroup.php:951
-#, fuzzy, php-format
+#, php-format
 msgid "%s not defined"
 msgstr "%s : non dfini"
 
@@ -909,90 +1010,68 @@
 msgid "n/a"
 msgstr "n/c"
 
-#: ../lib/WikiPlugin.php:121 ../lib/loadsave.php:82 ../lib/loadsave.php:408
-#: ../lib/loadsave.php:844 ../lib/loadsave.php:850 ../lib/loadsave.php:858
-#: ../lib/main.php:967 ../lib/main.php:1071
-#: ../lib/plugin/WikiAdminSelect.php:192 ../themes/Crao/templates/head.tmpl:79
-#: ../themes/Crao/templates/head.tmpl:80
-#: ../themes/Crao/templates/navbar.tmpl:37
-#: ../themes/MonoBook/templates/navbar.tmpl:46
-#: ../themes/Portland/templates/navbar.tmpl:30
-#: ../themes/Sidebar/templates/navbar.tmpl:38
-#: ../themes/Wordpress/templates/actionbar.tmpl:25
-#: ../themes/blog/templates/navbar.tmpl:14
-#: ../themes/default/templates/head.tmpl:86
-#: ../themes/default/templates/head.tmpl:87
-#: ../themes/default/templates/navbar.tmpl:55
-#: ../themes/shamino_com/templates/actionbar.tmpl:18
-#: ../themes/smaller/templates/navbar.tmpl:19
-#: ../themes/wikilens/templates/head.tmpl:78
-#: ../themes/wikilens/templates/head.tmpl:79
-#: ../themes/wikilens/templates/navbar.tmpl:43
-msgid "PhpWikiAdministration"
-msgstr "AdministrationDePhpWiki"
+#: ../lib/WikiPlugin.php:225
+#, php-format
+msgid "trailing cruft in plugin args: '%s'"
+msgstr "cochonneries terminant les arguments du plugin : '%s'"
 
-#: ../lib/WikiPlugin.php:125
+#: ../lib/WikiPlugin.php:233
 #, php-format
 msgid "Argument '%s' not declared by plugin."
 msgstr "argument '%s' non dclar par le plugin."
 
-#: ../lib/WikiPlugin.php:235
-#, php-format
-msgid "trailing cruft in plugin args: '%s'"
-msgstr "cochonneries terminant les arguments du plugin : '%s'"
-
-#: ../lib/WikiPlugin.php:378
+#: ../lib/WikiPlugin.php:376
 #, php-format
 msgid "Plugin %s failed."
 msgstr "Plugin %s a chou."
 
-#: ../lib/WikiPlugin.php:384
+#: ../lib/WikiPlugin.php:382
 #, php-format
 msgid "Plugin %s disabled."
 msgstr "Plugin %s dsactiv."
 
 # lib/msql.php:237 lib/msql.php:312
-#: ../lib/WikiPlugin.php:520
+#: ../lib/WikiPlugin.php:518
 #, php-format
 msgid "Include of '%s' failed."
 msgstr "L'insertion de '%s' a chou."
 
-#: ../lib/WikiPlugin.php:522
+#: ../lib/WikiPlugin.php:520
 #, php-format
 msgid "%s: no such class"
 msgstr "<%s : pas de section de ce type>"
 
-#: ../lib/WikiPlugin.php:528
+#: ../lib/WikiPlugin.php:526
 #, php-format
 msgid "%s: not a subclass of WikiPlugin."
 msgstr "%s n'est pas une sous classe de WikiPlugin."
 
-#: ../lib/WikiPluginCached.php:691
+#: ../lib/WikiPluginCached.php:688
 #, php-format
 msgid ""
 "There is no image creation data available to id '%s'. Please reload "
 "referring page."
 msgstr "Aucune image ne correspond  l'id %s. Veuillez recharger cette page."
 
-#: ../lib/WikiPluginCached.php:845
+#: ../lib/WikiPluginCached.php:842
 msgid "Image map expired. Reload wiki page to recreate its html part."
 msgstr ""
 
 #: ../lib/WikiUser.php:188 ../lib/WikiUser.php:268
 #: ../lib/WikiUser/AdoDb.php:29 ../lib/WikiUser/AdoDb.php:186
 #: ../lib/WikiUser/Db.php:43 ../lib/WikiUser/File.php:58
-#: ../lib/WikiUser/IMAP.php:17 ../lib/WikiUser/LDAP.php:58
+#: ../lib/WikiUser/IMAP.php:18 ../lib/WikiUser/LDAP.php:58
 #: ../lib/WikiUser/POP3.php:17 ../lib/WikiUser/PdoDb.php:28
 #: ../lib/WikiUser/PdoDb.php:103 ../lib/WikiUser/PearDb.php:26
-#: ../lib/WikiUser/PearDb.php:116 ../lib/WikiUserNew.php:559
+#: ../lib/WikiUser/PearDb.php:116 ../lib/WikiUserNew.php:590
 msgid "Invalid username."
 msgstr "Mot de identifiant d'utilisateur invalide."
 
-#: ../lib/WikiUser.php:192 ../lib/WikiUserNew.php:566
+#: ../lib/WikiUser.php:192 ../lib/WikiUserNew.php:597
 msgid "Invalid password or userid."
 msgstr "Mot de passe ou identifiant d'utilisateur invalide."
 
-#: ../lib/WikiUser.php:194 ../lib/WikiUserNew.php:582
+#: ../lib/WikiUser.php:194 ../lib/WikiUserNew.php:613
 msgid "Insufficient permissions."
 msgstr "Permissions insuffisantes."
 
@@ -1031,8 +1110,10 @@
 
 #: ../lib/WikiUser.php:465 ../lib/WikiUser.php:475
 #: ../themes/Crao/templates/navbar.tmpl:23
+#: ../themes/MonoBook/templates/navbar.tmpl:61
 #: ../themes/default/templates/navbar.tmpl:40
 #: ../themes/shamino_com/templates/top.tmpl:28
+#: ../themes/wikilens/templates/navbar.tmpl:23
 msgid "Preferences"
 msgstr "Prfrences"
 
@@ -1051,28 +1132,52 @@
 msgid "%s is missing"
 msgstr "%s est manquant"
 
-#: ../lib/WikiUser/AdoDb.php:201 ../lib/WikiUser/AdoDb.php:255
+#: ../lib/WikiUser/AdoDb.php:201 ../lib/WikiUser/AdoDb.php:258
 #: ../lib/WikiUser/PdoDb.php:190 ../lib/WikiUser/PdoDb.php:255
 #: ../lib/WikiUser/PearDb.php:179 ../lib/WikiUser/PearDb.php:223
 #, php-format
 msgid "Either %s is missing or DATABASE_TYPE != '%s'"
 msgstr "%s est manquant ou DATABASE_TYPE != '%s'"
 
-#: ../lib/WikiUser/IMAP.php:33
+#: ../lib/WikiUser/IMAP.php:36
 msgid "Unable to connect to IMAP server "
 msgstr "Impossible de se connecter au serveur IMAP "
 
 #: ../lib/WikiUser/LDAP.php:35
 #, php-format
 msgid "Unable to bind LDAP server %s using %s %s"
-msgstr "Impossible de se connecter au serveur LDAP %s, avec %s %s"
+msgstr "Impossible de se connecter au serveur LDAP %s"
+
+#: ../lib/WikiUser/LDAP.php:68
+msgid "Empty password not allowed for LDAP"
+msgstr ""
 
-#: ../lib/WikiUser/LDAP.php:65 ../lib/WikiUser/LDAP.php:108
+#: ../lib/WikiUser/LDAP.php:73 ../lib/WikiUser/LDAP.php:149
 #, php-format
 msgid "Invalid username '%s' for LDAP Auth"
 msgstr "Mot de identifiant d'utilisateur '%s' pour LDAP Auth invalide."
 
-#: ../lib/WikiUser/POP3.php:59
+#: ../lib/WikiUser/LDAP.php:84
+#, fuzzy
+msgid "Could not search in LDAP"
+msgstr "Impossible d'tablir une connexion  la base de donnes : %s"
+
+#: ../lib/WikiUser/LDAP.php:91
+#, fuzzy
+msgid "User not found in LDAP"
+msgstr "%s non trouv"
+
+#: ../lib/WikiUser/LDAP.php:125
+#, fuzzy
+msgid "Wrong password: "
+msgstr "Mot de passe invalide, essayez encore."
+
+#: ../lib/WikiUser/LDAP.php:131
+#, fuzzy
+msgid "Could not connect to LDAP"
+msgstr "Impossible d'tablir une connexion  la base de donnes : %s"
+
+#: ../lib/WikiUser/POP3.php:61
 #, php-format
 msgid "Couldn't connect to %s"
 msgstr "Impossible d'tablir une connexion  la base de donnes : %s"
@@ -1102,23 +1207,28 @@
 msgid "Given password ignored."
 msgstr "Mot de passe ignor."
 
-#: ../lib/WikiUserNew.php:564
+#: ../lib/WikiUserNew.php:430
+msgid ""
+"Automatically created user homepage to be able to store UserPreferences."
+msgstr ""
+
+#: ../lib/WikiUserNew.php:595
 msgid "Invalid password."
 msgstr "Mauvais mot de passe."
 
-#: ../lib/WikiUserNew.php:628
+#: ../lib/WikiUserNew.php:659
 msgid "Empty Preferences or format of UserPreferences cookie not recognised."
 msgstr "PrfrencesUtilisateurs vides, le cookie peut etre mal reconnu."
 
-#: ../lib/WikiUserNew.php:632
+#: ../lib/WikiUserNew.php:663
 msgid "Default preferences will be used."
 msgstr "Les prfrences par dfaut seront utilises."
 
-#: ../lib/WikiUserNew.php:1190
+#: ../lib/WikiUserNew.php:1233
 msgid "The length of the password is shorter than the system policy allows."
 msgstr ""
 
-#: ../lib/WikiUserNew.php:1216
+#: ../lib/WikiUserNew.php:1259
 msgid ""
 "The length of the stored password is shorter than the system policy allows. "
 "Sorry, you cannot login.\n"
@@ -1127,12 +1237,12 @@
 "La taille de votre mot de passe est trop petite, vous ne pouvez pas vous "
 "connecter. Veuillez contacter l'administrateur pour le changer."
 
-#: ../lib/WikiUserNew.php:1231
+#: ../lib/WikiUserNew.php:1274
 msgid "The crypt function is not available in this version of PHP."
 msgstr ""
 "La fonction de cryptage n'est pas disponible dans cette version de PHP."
 
-#: ../lib/WikiUserNew.php:1232
+#: ../lib/WikiUserNew.php:1275
 msgid ""
 "Please set ENCRYPTED_PASSWD to false in config/config.ini and probably "
 "change ADMIN_PASSWD."
@@ -1140,15 +1250,15 @@
 "Veuillez dfinir ENCRYPTED_PASSWD  false dans config/config.ini et "
 "probablement l'ADMIN_PASSWD."
 
-#: ../lib/WikiUserNew.php:1245
+#: ../lib/WikiUserNew.php:1288
 msgid "Please set ENCRYPTED_PASSWD to true in config/config.ini."
 msgstr "Veuillez dfinir ENCRYPTED_PASSWD  true dans config/config.ini."
 
-#: ../lib/WikiUserNew.php:1657
+#: ../lib/WikiUserNew.php:1701 ../lib/plugin/WikiAdminUtils.php:114
 msgid "Email Verification"
 msgstr "Verrification de l'email"
 
-#: ../lib/WikiUserNew.php:1658
+#: ../lib/WikiUserNew.php:1702
 #, php-format
 msgid ""
 "Welcome to %s!\n"
@@ -1161,112 +1271,164 @@
 "sera utilis pour les notifications de changements de pages.\n"
 "Voir %s"
 
-#: ../lib/WikiUserNew.php:1711
+#: ../lib/WikiUserNew.php:1762
 #, php-format
 msgid "E-Mail address '%s' is not properly formatted"
 msgstr "L'adresse '%s' ne semble pas tre une adresse correcte."
 
-#: ../lib/WikiUserNew.php:1715
+#: ../lib/WikiUserNew.php:1766
 #, php-format
 msgid "E-Mail address '%s' is properly formatted"
 msgstr "L'adresse E-Mail '%s' semble tre une adresse correcte."
 
-#: ../lib/XmlElement.php:456 ../lib/stdlib.php:1344
+#: ../lib/WysiwygEdit/Wikiwyg.php:74
+#, fuzzy
+msgid "Apply changes"
+msgstr "Aucun changement."
+
+#: ../lib/WysiwygEdit/Wikiwyg.php:75
+msgid "Exit toolbar"
+msgstr ""
+
+#: ../lib/WysiwygEdit/Wikiwyg.php:76
+#, fuzzy
+msgid "Title 1"
+msgstr "Titre"
+
+#: ../lib/WysiwygEdit/Wikiwyg.php:77
+#, fuzzy
+msgid "Title 2"
+msgstr "Titre"
+
+#: ../lib/WysiwygEdit/Wikiwyg.php:78
+#, fuzzy
+msgid "Title 3"
+msgstr "Titre"
+
+#: ../lib/WysiwygEdit/Wikiwyg.php:79
+msgid "Verbatim"
+msgstr ""
+
+#: ../lib/WysiwygEdit/Wikiwyg.php:80
+#, fuzzy
+msgid "Table of content"
+msgstr "Table des matires"
+
+#: ../lib/WysiwygEdit/Wikiwyg.php:81
+msgid "Insert Wikitext section"
+msgstr ""
+
+#: ../lib/WysiwygEdit/Wikiwyg.php:82
+#, fuzzy
+msgid "Sup"
+msgstr "Sous-page"
+
+#: ../lib/WysiwygEdit/Wikiwyg.php:83
+#, fuzzy
+msgid "Sub"
+msgstr "Valider"
+
+#: ../lib/WysiwygEdit/Wikiwyg.php:107
+msgid "Warning: This Wikiwyg editor has only Beta quality!"
+msgstr ""
+
+#: ../lib/XmlElement.php:467 ../lib/stdlib.php:1357
 #, php-format
 msgid "Can't mix '%s' with '%s' type format strings"
 msgstr "Impossible de mlanger les chanes de type '%s' et '%s'"
 
-#: ../lib/XmlRpcServer.php:562
+#: ../lib/XmlRpcServer.php:511
 msgid "xml-rpc change"
 msgstr ""
 
 # lib/diff.php:1001 lib/diff.php:1019
-#: ../lib/diff.php:259 ../lib/plugin/Diff.php:72
+#: ../lib/diff.php:258 ../lib/plugin/Diff.php:73
 #, php-format
 msgid "version %s"
 msgstr "version %s"
 
 # lib/diff.php:1010 lib/diff.php:1028
-#: ../lib/diff.php:266 ../lib/plugin/Diff.php:77
+#: ../lib/diff.php:265 ../lib/plugin/Diff.php:78
 #: ../lib/wikilens/PageListColumns.php:351
 msgid "None"
 msgstr "Aucune"
 
-#: ../lib/diff.php:289 ../lib/plugin/Diff.php:94
-#: ../lib/plugin/PageHistory.php:312 ../lib/plugin/PageInfo.php:59
+#: ../lib/diff.php:288 ../lib/plugin/Diff.php:95
+#: ../lib/plugin/PageHistory.php:326 ../lib/plugin/PageInfo.php:59
 #, php-format
 msgid "I'm sorry, there is no such page as %s."
 msgstr "Dsol, %s ne correspond  aucune page."
 
 # lib/diff.php:1045
-#: ../lib/diff.php:292 ../lib/diff.php:394
+#: ../lib/diff.php:291 ../lib/diff.php:396
 #, php-format
 msgid "Diff: %s"
 msgstr "Diff : %s"
 
 # lib/diff.php:1001 lib/diff.php:1019
-#: ../lib/diff.php:299 ../lib/diff.php:309 ../lib/plugin/Diff.php:102
-#: ../lib/plugin/Diff.php:112
+#: ../lib/diff.php:298 ../lib/diff.php:308 ../lib/plugin/Diff.php:103
+#: ../lib/plugin/Diff.php:113
 #, php-format
 msgid "version %d"
 msgstr "version %d"
 
 # lib/pageinfo.php:64
-#: ../lib/diff.php:303 ../lib/plugin/Diff.php:106
+#: ../lib/diff.php:302 ../lib/plugin/Diff.php:107
 msgid "current version"
 msgstr "version actuelle"
 
-#: ../lib/diff.php:320 ../lib/plugin/Diff.php:123
+#: ../lib/diff.php:319 ../lib/plugin/Diff.php:124
 msgid "revision by previous author"
 msgstr "rvision par auteur prcdent"
 
-#: ../lib/diff.php:326 ../lib/plugin/Diff.php:129
+#: ../lib/diff.php:325 ../lib/plugin/Diff.php:130
 msgid "previous revision"
 msgstr "rvision prcdente"
 
-#: ../lib/diff.php:336 ../lib/plugin/Diff.php:139
+#: ../lib/diff.php:335 ../lib/plugin/Diff.php:140
 msgid "predecessor to the previous major change"
 msgstr "prdcesseur de la modification majeure prcdente"
 
-#: ../lib/diff.php:347 ../lib/plugin/Diff.php:149
+#: ../lib/diff.php:346 ../lib/plugin/Diff.php:150
 #, php-format
 msgid "Differences between %s and %s of %s."
 msgstr "Diffrences entre %s et %s de %s."
 
-#: ../lib/diff.php:350 ../lib/plugin/Diff.php:152
+#: ../lib/diff.php:349 ../lib/plugin/Diff.php:153
 msgid "Other diffs:"
 msgstr "Autres comparaisons :"
 
-#: ../lib/diff.php:351 ../lib/plugin/Diff.php:153
+#: ../lib/diff.php:350 ../lib/plugin/Diff.php:154
 msgid "Previous Major Revision"
 msgstr "Prcdente Rvision Principale"
 
-#: ../lib/diff.php:352 ../lib/plugin/Diff.php:154
+#: ../lib/diff.php:351 ../lib/plugin/Diff.php:155
 msgid "Previous Revision"
 msgstr "Rvision Prcdente"
 
-#: ../lib/diff.php:353 ../lib/plugin/Diff.php:155
+#: ../lib/diff.php:352 ../lib/plugin/Diff.php:156
 msgid "Previous Author"
 msgstr "Auteur Prcdent"
 
-#: ../lib/diff.php:370 ../lib/plugin/Diff.php:172
+#: ../lib/diff.php:368 ../lib/plugin/Diff.php:173
 msgid "Newer page:"
 msgstr "Page rcente :"
 
-#: ../lib/diff.php:372 ../lib/plugin/Diff.php:174
+#: ../lib/diff.php:370 ../lib/plugin/Diff.php:175
 msgid "Older page:"
 msgstr "Ancienne page :"
 
 # lib/diff.php:1037
-#: ../lib/diff.php:380 ../lib/plugin/Diff.php:182
+#: ../lib/diff.php:378 ../lib/editpage.php:499 ../lib/plugin/Diff.php:183
 msgid "Versions are identical"
 msgstr "Les versions sont identiques"
 
-#: ../lib/display.php:53 ../lib/plugin/HelloWorld.php:70
-#: ../lib/plugin/PageGroup.php:102 ../lib/plugin/PageGroup.php:166
-#: ../lib/plugin/PageGroup.php:177 ../lib/plugin/PageGroup.php:193
-#: ../lib/plugin/PageGroup.php:200 ../lib/plugin/PageHistory.php:216
-#: ../lib/plugin/UnfoldSubpages.php:140 ../themes/Crao/templates/head.tmpl:47
+#: ../lib/display.php:54 ../lib/display.php:240
+#: ../lib/plugin/HelloWorld.php:70 ../lib/plugin/PageGroup.php:102
+#: ../lib/plugin/PageGroup.php:166 ../lib/plugin/PageGroup.php:177
+#: ../lib/plugin/PageGroup.php:193 ../lib/plugin/PageGroup.php:200
+#: ../lib/plugin/PageHistory.php:229 ../lib/plugin/UnfoldSubpages.php:140
+#: ../themes/Crao/templates/head.tmpl:47
 #: ../themes/MonoBook/templates/logo.tmpl:2
 #: ../themes/Portland/templates/body.tmpl:8
 #: ../themes/Sidebar/templates/frame-header.tmpl:16
@@ -1276,36 +1438,38 @@
 #: ../themes/default/templates/top.tmpl:11
 #: ../themes/shamino_com/templates/top.tmpl:8
 #: ../themes/wikilens/templates/head.tmpl:45
+#: ../themes/wikilens/templates/top.tmpl:11
 #, php-format
 msgid "%s: %s"
 msgstr "%s : %s"
 
-#: ../lib/display.php:119 ../lib/display.php:126
+#: ../lib/display.php:82 ../lib/display.php:324
+#: ../lib/plugin/LinkDatabase.php:42
+msgid "LinkDatabase"
+msgstr "LiensDatabase"
+
+#: ../lib/display.php:177 ../lib/display.php:184
 #: ../lib/plugin/BackLinks.php:31 ../lib/plugin/_WikiTranslation.php:53
 #: ../themes/Crao/templates/navbar.tmpl:17
-#: ../themes/Sidebar/templates/navbar.tmpl:35
+#: ../themes/Sidebar/templates/navbar.tmpl:25
 #: ../themes/blog/templates/navbar.tmpl:11
 #: ../themes/default/templates/navbar.tmpl:34
 #: ../themes/smaller/templates/navbar.tmpl:16
-#: ../themes/wikilens/templates/navbar.tmpl:25
+#: ../themes/wikilens/templates/navbar.tmpl:22
 msgid "BackLinks"
 msgstr "RtroLiens"
 
-#: ../lib/display.php:122 ../lib/display.php:129
+#: ../lib/display.php:180 ../lib/display.php:187
 #, php-format
 msgid "BackLinks for %s"
 msgstr "RtroLiens pour %s"
 
-#: ../lib/display.php:137
+#: ../lib/display.php:195
 #, php-format
 msgid "(Redirected from %s)"
 msgstr "(Redirig de %s)"
 
-#: ../lib/display.php:177
-msgid "You searched for: "
-msgstr ""
-
-#: ../lib/display.php:218 ../themes/Crao/templates/head.tmpl:70
+#: ../lib/display.php:269 ../themes/Crao/templates/head.tmpl:70
 #: ../themes/Crao/templates/head.tmpl:71
 #: ../themes/default/templates/head.tmpl:76
 #: ../themes/default/templates/head.tmpl:77
@@ -1315,87 +1479,87 @@
 msgstr "BacSable"
 
 # lib/pageinfo.php:64
-#: ../lib/editpage.php:134 ../lib/editpage.php:469
+#: ../lib/editpage.php:162 ../lib/editpage.php:559
 msgid "Your version"
 msgstr "Votre version"
 
 # lib/pageinfo.php:70
-#: ../lib/editpage.php:134 ../lib/editpage.php:470
+#: ../lib/editpage.php:162 ../lib/editpage.php:560
 msgid "Other version"
 msgstr "L'autre version"
 
-#: ../lib/editpage.php:145
+#: ../lib/editpage.php:173
 msgid "Some internal editing error"
 msgstr ""
 
-#: ../lib/editpage.php:146
+#: ../lib/editpage.php:174
 msgid ""
 "Your are probably trying to edit/create an invalid version of this page."
 msgstr "Vous lisez une ancienne rvision de cette page."
 
-#: ../lib/editpage.php:147
+#: ../lib/editpage.php:175
 msgid "&version=-1 might help."
 msgstr ""
 
-#: ../lib/editpage.php:164
+#: ../lib/editpage.php:194
 #, php-format
 msgid "Edit: %s"
 msgstr "diter : %s"
 
-#: ../lib/editpage.php:198
+#: ../lib/editpage.php:232
 #, php-format
 msgid "View Source: %s"
 msgstr "Afficher la Source : %s"
 
-#: ../lib/editpage.php:212
+#: ../lib/editpage.php:246
 msgid "Page now locked."
 msgstr "La page est maintenant verrouille."
 
-#: ../lib/editpage.php:212
+#: ../lib/editpage.php:246
 msgid "Page now unlocked."
 msgstr "La page est maintenant dverrouille."
 
-#: ../lib/editpage.php:314
+#: ../lib/editpage.php:353
 #, php-format
 msgid "Saved: %s"
 msgstr "Enregistre : %s"
 
-#: ../lib/editpage.php:366
+#: ../lib/editpage.php:406
 msgid "Too many external links."
 msgstr "Trop de liens exterieurs."
 
-#: ../lib/editpage.php:379
+#: ../lib/editpage.php:419
 msgid "SpamAssassin reports: "
 msgstr ""
 
-#: ../lib/editpage.php:396
+#: ../lib/editpage.php:446
 msgid "External links contain blocked domains:"
 msgstr ""
 
-#: ../lib/editpage.php:397
+#: ../lib/editpage.php:447
 #, fuzzy, php-format
-msgid "%s is listed at %s"
+msgid "%s is listed at %s with %s"
 msgstr "%s pages pointent vers %s :"
 
-#: ../lib/editpage.php:418
+#: ../lib/editpage.php:471
 msgid "Spam Prevention"
 msgstr ""
 
-#: ../lib/editpage.php:419
+#: ../lib/editpage.php:472
 msgid "This page edit seems to contain spam and was therefore not saved."
 msgstr ""
 
 # lib/editpage.php:33 lib/savepage.php:32 lib/savepage.php:53
-#: ../lib/editpage.php:421 ../lib/editpage.php:455
+#: ../lib/editpage.php:474 ../lib/editpage.php:535
 msgid "Sorry for the inconvenience."
 msgstr "Dsol pour la gne occasionne."
 
-#: ../lib/editpage.php:452 ../themes/MacOSX/themeinfo.php:137
+#: ../lib/editpage.php:532 ../themes/MacOSX/themeinfo.php:135
 msgid "Page Locked"
 msgstr "Page Verrouille"
 
 # lib/editpage.php:31 lib/savepage.php:52
-#: ../lib/editpage.php:453
+#: ../lib/editpage.php:533
 msgid ""
 "This page has been locked by the administrator so your changes can not be "
 "saved."
@@ -1404,7 +1568,7 @@
 "pas pu tre enregistre."
 
 # lib/savepage.php:24
-#: ../lib/editpage.php:454
+#: ../lib/editpage.php:534
 msgid ""
 "(Copy your changes to the clipboard. You can try editing a different page or "
 "save your text in a text editor.)"
@@ -1412,26 +1576,70 @@
 "(Copiez vos modifications dans le presse-papier. Vous pouvez essayer "
 "d'diter une page diffrente ou sauver votre texte dans un diteur)."
 
-#: ../lib/editpage.php:468 ../lib/editpage.php:757
+# lib/display.php:14
+#: ../lib/editpage.php:543 ../lib/editpage.php:544 ../lib/main.php:733
+#: ../lib/main.php:1090 ../lib/plugin/ModeratedPage.php:41
+#: ../lib/plugin/ModeratedPage.php:149 ../lib/plugin/ModeratedPage.php:219
+#: ../lib/plugin/ModeratedPage.php:258 ../lib/plugin/ModeratedPage.php:261
+#: ../lib/plugin/ModeratedPage.php:263 ../lib/plugin/ModeratedPage.php:265
+#: ../lib/plugin/ModeratedPage.php:349 ../lib/plugin/ModeratedPage.php:353
+#: ../lib/plugin/ModeratedPage.php:408 ../lib/plugin/ModeratedPage.php:433
+msgid "ModeratedPage"
+msgstr "PageModre"
+
+#: ../lib/editpage.php:544
 #, php-format
 msgid ""
-"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 "
+"You can edit away, but your changes will have to be approved by the defined "
+"moderators at the definition in %s"
+msgstr ""
+
+#: ../lib/editpage.php:546 ../lib/plugin/PasswordReset.php:155
+#: ../lib/plugin/UserPreferences.php:38 ../lib/plugin/WatchPage.php:115
+#: ../lib/plugin/WatchPage.php:133 ../themes/Crao/templates/head.tmpl:85
+#: ../themes/Crao/templates/head.tmpl:86
+#: ../themes/Crao/templates/navbar.tmpl:23
+#: ../themes/MonoBook/templates/navbar.tmpl:61
+#: ../themes/blog/templates/navbar.tmpl:17
+#: ../themes/default/templates/head.tmpl:92
+#: ../themes/default/templates/head.tmpl:93
+#: ../themes/default/templates/homepage.tmpl:11
+#: ../themes/default/templates/navbar.tmpl:40
+#: ../themes/shamino_com/templates/top.tmpl:28
+#: ../themes/smaller/templates/navbar.tmpl:22
+#: ../themes/wikilens/templates/head.tmpl:85
+#: ../themes/wikilens/templates/head.tmpl:86
+#: ../themes/wikilens/templates/navbar.tmpl:23
+msgid "UserPreferences"
+msgstr "PrfrencesUtilisateurs"
+
+#: ../lib/editpage.php:545
+#, php-format
+msgid ""
+"The approval has a grace period of 5 days. If you have your E-Mail defined "
+"in your %s, you will get a notification of approval or rejection."
+msgstr ""
+
+#: ../lib/editpage.php:558 ../lib/editpage.php:900
+#, php-format
+msgid ""
+"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."
 msgstr ""
 "Certaines modifications n'ont pas pu tre combines automatiquement. "
 "Veuillez regarder les sections commenant par '%s', et se terminant par '%"
 "s'. Vous devrez diter ces sections  la main avant cliquer sur Enregistrer."
 
-#: ../lib/editpage.php:472 ../lib/editpage.php:760
+#: ../lib/editpage.php:562 ../lib/editpage.php:903
 msgid "Please check it through before saving."
 msgstr "Veuillez la vrifier avant de la sauver."
 
-#: ../lib/editpage.php:483
+#: ../lib/editpage.php:573
 msgid "Conflicting Edits!"
 msgstr "Conflit d'ditions !"
 
-#: ../lib/editpage.php:484
+#: ../lib/editpage.php:574
 msgid ""
 "In the time since you started editing this page, another user has saved a "
 "new version of it."
@@ -1439,7 +1647,7 @@
 "Depuis que vous avez commenc  diter cette page, un autre utilisateur en a "
 "enregistr une nouvelle version."
 
-#: ../lib/editpage.php:485
+#: ../lib/editpage.php:575
 msgid ""
 "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 "
@@ -1449,17 +1657,42 @@
 "celles de l'autre utilisateur. Ainsi donc, vos modifications et celles de "
 "l'autre auteur ont t combines. Le rsultat est affich ci-dessous."
 
-#: ../lib/editpage.php:555
+#: ../lib/editpage.php:649
 msgid "Convert"
 msgstr "Converti"
 
-#: ../lib/editpage.php:588 ../themes/Portland/templates/editpage.tmpl:45
-#: ../themes/Wordpress/templates/editpage.tmpl:54
+# lib/stdlib.php:384 lib/stdlib.php:445
+#: ../lib/editpage.php:668
+#, fuzzy
+msgid "Changes"
+msgstr "DerniresModifs"
+
+#: ../lib/editpage.php:672 ../lib/plugin/HtmlConverter.php:66
+#: ../lib/plugin/UpLoad.php:146 ../lib/plugin/UpLoad.php:151
+#: ../lib/plugin/WikiForm.php:103
+msgid "Upload"
+msgstr "Dposer"
+
+#: ../lib/editpage.php:675
+#, fuzzy
+msgid "Spell Check"
+msgstr "Slectionner"
+
+#: ../lib/editpage.php:698 ../themes/Portland/templates/editpage.tmpl:41
+#: ../themes/Wordpress/templates/editpage.tmpl:52
 #, php-format
 msgid "Author will be logged as %s."
 msgstr "L'auteur sera enregistr sous le nom %s."
 
-#: ../lib/editpage.php:731
+#: ../lib/editpage.php:855
+msgid "Keep old"
+msgstr ""
+
+#: ../lib/editpage.php:858
+msgid "Overwrite with new"
+msgstr ""
+
+#: ../lib/editpage.php:868
 #, php-format
 msgid "Merge and Edit: %s"
 msgstr "Fusioner et diter : %s"
@@ -1488,11 +1721,44 @@
 msgid "Dump pages as XHTML"
 msgstr "Sauvegarde des pages au format xhtml"
 
+#: ../lib/loadsave.php:82 ../lib/loadsave.php:428 ../lib/loadsave.php:902
+#: ../lib/loadsave.php:908 ../lib/loadsave.php:916 ../lib/main.php:1006
+#: ../lib/main.php:1110 ../lib/plugin/WikiAdminSelect.php:192
+#: ../themes/Crao/templates/head.tmpl:79 ../themes/Crao/templates/head.tmpl:80
+#: ../themes/Crao/templates/navbar.tmpl:37
+#: ../themes/MonoBook/templates/navbar.tmpl:57
+#: ../themes/Portland/templates/navbar.tmpl:27
+#: ../themes/Sidebar/templates/navbar.tmpl:28
+#: ../themes/Wordpress/templates/actionbar.tmpl:26
+#: ../themes/blog/templates/navbar.tmpl:14
+#: ../themes/default/templates/head.tmpl:86
+#: ../themes/default/templates/head.tmpl:87
+#: ../themes/default/templates/navbar.tmpl:55
+#: ../themes/shamino_com/templates/actionbar.tmpl:18
+#: ../themes/smaller/templates/navbar.tmpl:19
+#: ../themes/wikilens/templates/head.tmpl:78
+#: ../themes/wikilens/templates/head.tmpl:79
+#: ../themes/wikilens/templates/navbar.tmpl:32
+msgid "PhpWikiAdministration"
+msgstr "AdministrationDePhpWiki"
+
 #: ../lib/loadsave.php:95 ../lib/loadsave.php:96
 #, fuzzy
 msgid "LoadDump"
 msgstr "RcuprationDeLaPage"
 
+#: ../lib/loadsave.php:99
+#, php-format
+msgid "PageChange Notification of %s sent to %s"
+msgstr "Les notifications de changement de la page %s ont t envoys  %s"
+
+#: ../lib/loadsave.php:102
+#, php-format
+msgid "PageChange Notification Error: Couldn't send %s to %s"
+msgstr ""
+"Erreur lors des notifications de changements de page: Impossible d'envoyer %"
+"s  %s"
+
 #: ../lib/loadsave.php:110
 msgid "Complete."
 msgstr "Termin."
@@ -1502,536 +1768,535 @@
 msgid "Return to %s"
 msgstr "Retour  la %s"
 
-#: ../lib/loadsave.php:197
+#: ../lib/loadsave.php:200
 msgid "FullDump"
 msgstr "SauvegardeTotale"
 
-#: ../lib/loadsave.php:201
+#: ../lib/loadsave.php:204
 msgid "LatestSnapshot"
 msgstr "DernierInstantan"
 
-#: ../lib/loadsave.php:273 ../lib/loadsave.php:381
+#: ../lib/loadsave.php:276 ../lib/loadsave.php:401
 msgid "You must specify a directory to dump to"
 msgstr "Vous devez spcifier un rpertoire pour l'archivage de la sauvegarde"
 
-#: ../lib/loadsave.php:278 ../lib/loadsave.php:386
+#: ../lib/loadsave.php:281 ../lib/loadsave.php:406
 #, php-format
 msgid "Cannot create directory '%s'"
 msgstr "Impossible de crer le rpertoire '%s'"
 
-#: ../lib/loadsave.php:280 ../lib/loadsave.php:388
+#: ../lib/loadsave.php:283 ../lib/loadsave.php:408
 #, php-format
 msgid "Created directory '%s' for the page dump..."
 msgstr "Rpertoire '%s' cr pour la sauvegarde..."
 
-#: ../lib/loadsave.php:283 ../lib/loadsave.php:391
+#: ../lib/loadsave.php:286 ../lib/loadsave.php:411
 #, php-format
 msgid "Using directory '%s'"
 msgstr "Utilisation du rpertoire '%s'"
 
-#: ../lib/loadsave.php:286 ../lib/loadsave.php:394
+#: ../lib/loadsave.php:289 ../lib/loadsave.php:414
 msgid "Dumping Pages"
 msgstr "Rcupration des pages"
 
-#: ../lib/loadsave.php:318 ../lib/loadsave.php:451 ../lib/stdlib.php:845
+#: ../lib/loadsave.php:321 ../lib/loadsave.php:471 ../lib/stdlib.php:857
 msgid "Skipped."
 msgstr "Ignor."
 
-#: ../lib/loadsave.php:326
+#: ../lib/loadsave.php:329
 #, php-format
 msgid "saved as %s"
 msgstr "enregistre sous %s"
 
-#: ../lib/loadsave.php:336 ../lib/loadsave.php:469
-#: ../lib/plugin/text2png.php:183
+#: ../lib/loadsave.php:339 ../lib/loadsave.php:503
+#: ../lib/plugin/text2png.php:228
 #, php-format
 msgid "couldn't open file '%s' for writing"
 msgstr "Impossible d'ouvrir le fichier '%s' en criture"
 
-#: ../lib/loadsave.php:342 ../lib/loadsave.php:478
+#: ../lib/loadsave.php:345 ../lib/loadsave.php:513
 #, php-format
 msgid "%s bytes written"
 msgstr "%s octets enregistrs"
 
-#: ../lib/loadsave.php:476
+#: ../lib/loadsave.php:511
 msgid "saved as "
 msgstr "enregistre sous "
 
 # lib/editpage.php:19
-#: ../lib/loadsave.php:514 ../lib/loadsave.php:533 ../lib/loadsave.php:550
+#: ../lib/loadsave.php:549 ../lib/loadsave.php:569 ../lib/loadsave.php:586
 #, php-format
 msgid "... copied to %s"
 msgstr "... copi  %s"
 
 # lib/editpage.php:19
-#: ../lib/loadsave.php:516 ../lib/loadsave.php:535 ../lib/loadsave.php:552
+#: ../lib/loadsave.php:551 ../lib/loadsave.php:571 ../lib/loadsave.php:588
 #, php-format
 msgid "... not copied to %s"
 msgstr "... non copi  %s"
 
-#: ../lib/loadsave.php:519 ../lib/loadsave.php:538 ../lib/loadsave.php:555
+#: ../lib/loadsave.php:555 ../lib/loadsave.php:574 ../lib/loadsave.php:592
 msgid "... not found"
 msgstr "... non trouv"
 
 # lib/pageinfo.php:9
-#: ../lib/loadsave.php:723
+#: ../lib/loadsave.php:760
 msgid "Empty pagename!"
 msgstr "La page n'a aucun titre !"
 
-#: ../lib/loadsave.php:779
+#: ../lib/loadsave.php:770
+#, fuzzy
+msgid "Invalid pagename!"
+msgstr "Mot de identifiant d'utilisateur invalide."
+
+#: ../lib/loadsave.php:833
 #, php-format
 msgid "from %s"
 msgstr "du %s"
 
-#: ../lib/loadsave.php:795
+#: ../lib/loadsave.php:849
 msgid "has edit conflicts - overwriting anyway"
 msgstr "conflits d'dition - craser quand mme "
 
-#: ../lib/loadsave.php:798 ../lib/loadsave.php:1292 ../lib/loadsave.php:1295
-msgid "The PhpWiki programming team"
-msgstr "L'quipe de dveloppement de PhpWiki"
+#: ../lib/loadsave.php:858
+msgid "keep old"
+msgstr ""
 
-#: ../lib/loadsave.php:803
+#: ../lib/loadsave.php:860
 msgid "has edit conflicts - skipped"
 msgstr "a des conflits d'dition - ignor"
 
-#: ../lib/loadsave.php:814
+#: ../lib/loadsave.php:872
 #, php-format
 msgid "content is identical to current version %d - no new revision created"
 msgstr "contenu est identique  la version en cours %d - pas de rvision"
 
-#: ../lib/loadsave.php:828
+#: ../lib/loadsave.php:886
 #, php-format
 msgid "- saved to database as version %d"
 msgstr "- sauve dans la base de donnes sous la version %d"
 
-#: ../lib/loadsave.php:834 ../lib/loadsave.php:1088
+#: ../lib/loadsave.php:892 ../lib/loadsave.php:1162
 #, php-format
 msgid "MIME file %s"
 msgstr "fichier MIME %s"
 
-#: ../lib/loadsave.php:835 ../lib/loadsave.php:1093
+#: ../lib/loadsave.php:893 ../lib/loadsave.php:1173
 #, php-format
 msgid "Serialized file %s"
 msgstr "Fichier srialis %s"
 
-#: ../lib/loadsave.php:836 ../lib/loadsave.php:1107
+#: ../lib/loadsave.php:894 ../lib/loadsave.php:1195
 #, php-format
 msgid "plain file %s"
 msgstr "fichier simple %s"
 
-#: ../lib/loadsave.php:843
+#: ../lib/loadsave.php:901 ../lib/plugin/SyncWiki.php:271
 msgid "Merge Edit"
 msgstr "Fusionner l'dition"
 
-#: ../lib/loadsave.php:849
+#: ../lib/loadsave.php:907
 msgid "Restore Anyway"
 msgstr "Restaurer quand mme"
 
-#: ../lib/loadsave.php:857
+#: ../lib/loadsave.php:915
 msgid "Overwrite All"
 msgstr ""
 
-#: ../lib/loadsave.php:864
+#: ../lib/loadsave.php:922
 msgid " Sorry, cannot merge."
 msgstr " Dsol, impossible de fusionner."
 
-#: ../lib/loadsave.php:884 ../lib/loadsave.php:894 ../lib/loadsave.php:901
-#: ../lib/loadsave.php:908 ../themes/MonoBook/templates/actionbar.tmpl:37
-#: ../themes/Wordpress/templates/actionbar.tmpl:57
-#: ../themes/default/templates/actionbar.tmpl:26
-#: ../themes/smaller/templates/actionbar.tmpl:29
+#: ../lib/loadsave.php:942 ../lib/loadsave.php:952 ../lib/loadsave.php:959
+#: ../lib/loadsave.php:966 ../themes/MonoBook/templates/actionbar.tmpl:60
+#: ../themes/Wordpress/templates/actionbar.tmpl:58
+#: ../themes/default/templates/actionbar.tmpl:28
+#: ../themes/smaller/templates/actionbar.tmpl:31
 msgid "Revert"
 msgstr "Rinitialiser"
 
-#: ../lib/loadsave.php:885
+#: ../lib/loadsave.php:943
 msgid "missing required version argument"
 msgstr "argument de version requis manquant"
 
-#: ../lib/loadsave.php:893
+#: ../lib/loadsave.php:951
 msgid "no page content"
 msgstr "pas de sommaire de page"
 
-#: ../lib/loadsave.php:900
+#: ../lib/loadsave.php:958
 msgid "same version page"
 msgstr "mme version de page"
 
-#: ../lib/loadsave.php:907
+#: ../lib/loadsave.php:965
 #, fuzzy
 msgid "Cancelled"
 msgstr "Annuler"
 
-#: ../lib/loadsave.php:915
+#: ../lib/loadsave.php:973
 msgid "Are you sure?"
 msgstr ""
 
-#: ../lib/loadsave.php:921 ../lib/plugin/PasswordReset.php:104
-#: ../lib/plugin/PasswordReset.php:142 ../lib/plugin/UserPreferences.php:114
-#: ../lib/plugin/WikiAdminChmod.php:146 ../lib/plugin/WikiAdminChown.php:153
-#: ../lib/plugin/WikiAdminMarkup.php:149 ../lib/plugin/WikiAdminRemove.php:188
-#: ../lib/plugin/WikiAdminRename.php:165
+#: ../lib/loadsave.php:979 ../lib/plugin/PasswordReset.php:103
+#: ../lib/plugin/PasswordReset.php:146 ../lib/plugin/UserPreferences.php:114
+#: ../lib/plugin/WatchPage.php:84 ../lib/plugin/WikiAdminChmod.php:146
+#: ../lib/plugin/WikiAdminChown.php:153 ../lib/plugin/WikiAdminMarkup.php:149
+#: ../lib/plugin/WikiAdminRemove.php:188 ../lib/plugin/WikiAdminRename.php:165
 #: ../lib/plugin/WikiAdminSearchReplace.php:180
-#: ../lib/plugin/WikiAdminSetAcl.php:176
+#: ../lib/plugin/WikiAdminSetAcl.php:180
 msgid "Yes"
 msgstr "Oui"
 
-#: ../lib/loadsave.php:923 ../lib/plugin/PasswordReset.php:107
-#: ../lib/plugin/PasswordReset.php:145 ../lib/plugin/TranslateText.php:118
-#: ../lib/plugin/UserPreferences.php:116 ../lib/plugin/WikiAdminChmod.php:159
+#: ../lib/loadsave.php:981 ../lib/plugin/PasswordReset.php:106
+#: ../lib/plugin/PasswordReset.php:149 ../lib/plugin/TranslateText.php:118
+#: ../lib/plugin/UserPreferences.php:116 ../lib/plugin/WatchPage.php:86
+#: ../lib/plugin/WatchPage.php:91 ../lib/plugin/WikiAdminChmod.php:159
 #: ../lib/plugin/WikiAdminChown.php:166 ../lib/plugin/WikiAdminMarkup.php:162
 #: ../lib/plugin/WikiAdminRemove.php:214 ../lib/plugin/WikiAdminRename.php:182
 #: ../lib/plugin/WikiAdminSearchReplace.php:194
 #: ../lib/plugin/WikiAdminSelect.php:218 ../lib/plugin/WikiAdminSelect.php:239
-#: ../lib/plugin/WikiAdminSetAcl.php:189 ../lib/plugin/WikiAdminUtils.php:266
-#: ../lib/plugin/WikiFormRich.php:317 ../lib/removepage.php:24
-#: ../lib/upgrade.php:682 ../themes/default/templates/login.tmpl:78
-#: ../themes/default/templates/userprefs.tmpl:243
+#: ../lib/plugin/WikiAdminSetAcl.php:193 ../lib/plugin/WikiAdminUtils.php:296
+#: ../lib/plugin/WikiFormRich.php:310 ../lib/removepage.php:24
+#: ../lib/upgrade.php:808 ../themes/default/templates/login.tmpl:78
+#: ../themes/default/templates/userprefs.tmpl:244
 msgid "Cancel"
 msgstr "Annuler"
 
 # lib/diff.php:1001 lib/diff.php:1019
-#: ../lib/loadsave.php:938
+#: ../lib/loadsave.php:997
 #, php-format
 msgid "revert to version %d"
 msgstr "revenir  la version %d"
 
-#: ../lib/loadsave.php:943
+#: ../lib/loadsave.php:1002
 #, fuzzy, php-format
 msgid "Revert: %s"
 msgstr "Rinitialiser"
 
-#: ../lib/loadsave.php:944
+#: ../lib/loadsave.php:1003
 #, php-format
 msgid "- version %d saved to database as version %d"
 msgstr "- version %d sauve dans la base de donnes sous la version %d"
 
-#: ../lib/loadsave.php:972
+#: ../lib/loadsave.php:1031
 msgid "Default InterWiki map file not loaded."
 msgstr "Carte InterWiki par dfaut non charge."
 
-#: ../lib/loadsave.php:1122 ../lib/loadsave.php:1135
+#: ../lib/loadsave.php:1210 ../lib/loadsave.php:1223
 msgid "Skipping"
 msgstr "Ignor"
 
-#: ../lib/loadsave.php:1236
+#: ../lib/loadsave.php:1324
 #, php-format
-msgid "Unable to load: %s"
-msgstr "Impossible de charger : %s"
+msgid "Empty or not existing source. Unable to load: %s"
+msgstr ""
 
-#: ../lib/loadsave.php:1243
+#: ../lib/loadsave.php:1331
 #, php-format
 msgid "Bad file type: %s"
 msgstr "Mauvais type de fichier : %s"
 
-#: ../lib/loadsave.php:1260
+#: ../lib/loadsave.php:1348
 #, php-format
 msgid "Loading '%s'"
 msgstr "Chargement ' %s '"
 
-#: ../lib/loadsave.php:1298
+#: ../lib/loadsave.php:1386
 msgid "Loading up virgin wiki"
 msgstr "Chargement d'un wiki vierge"
 
-#: ../lib/loadsave.php:1344
+#: ../lib/loadsave.php:1436
 msgid "No uploaded file to upload?"
 msgstr "Pas de fichier  dposer ?"
 
-#: ../lib/loadsave.php:1348
+#: ../lib/loadsave.php:1440
 #, php-format
 msgid "Uploading %s"
 msgstr "Dpt de %s"
 
-#: ../lib/main.php:415
+#: ../lib/main.php:440
 msgid "FORBIDDEN"
 msgstr "INTERDIT"
 
-#: ../lib/main.php:416 ../lib/main.php:426
+#: ../lib/main.php:441 ../lib/main.php:451
 msgid "ANON"
 msgstr "ANONYME"
 
-#: ../lib/main.php:417
+#: ../lib/main.php:442
 msgid "BOGO"
 msgstr "BOGO"
 
-#: ../lib/main.php:418
+#: ../lib/main.php:443
 msgid "USER"
 msgstr "UTILISATEUR"
 
-#: ../lib/main.php:419
+#: ../lib/main.php:444
 msgid "ADMIN"
 msgstr "ADMIN"
 
-#: ../lib/main.php:420
+#: ../lib/main.php:445
 msgid "UNOBTAINABLE"
 msgstr "INACCESSIBLE"
 
-#: ../lib/main.php:448 ../lib/main.php:467
+#: ../lib/main.php:473 ../lib/main.php:492
 #, php-format
 msgid "%s is disallowed on this wiki."
 msgstr "L'action %s est interdite sur ce wiki."
 
-#: ../lib/main.php:456
+#: ../lib/main.php:481
 msgid "authenticated"
 msgstr "authentifi"
 
-#: ../lib/main.php:456
+#: ../lib/main.php:481
 msgid "not authenticated"
 msgstr "non authentifi"
 
-#: ../lib/main.php:457
+#: ../lib/main.php:483
+msgid "Missing PagePermission:"
+msgstr "Permission de page individuelle absente:"
+
+#: ../lib/main.php:482
 #, php-format
 msgid "%s %s %s is disallowed on this wiki for %s user '%s' (level: %s)."
 msgstr ""
 "%s %s %s est interdite sur ce wiki pour %s l'utilisateur '%s' (niveau : %s)."
 
-#: ../lib/main.php:458
-msgid "Missing PagePermission:"
-msgstr "Permission de page individuelle absente:"
-
-#: ../lib/main.php:475
+#: ../lib/main.php:500
 #, php-format
 msgid "You must sign in to %s."
 msgstr "Vous devez vous inscrire pour %s."
 
-#: ../lib/main.php:477
+#: ../lib/main.php:502
 #, php-format
 msgid "You must log in to %s."
 msgstr "Vous devez vous connecter pour %s."
 
-#: ../lib/main.php:479
+#: ../lib/main.php:504
+#, fuzzy
+msgid "You must log in first"
+msgstr "Vous devez vous connecter pour %s."
+
+#: ../lib/main.php:506
 #, php-format
 msgid "Access for you is forbidden to %s."
 msgstr "L'accs  %s vous est interdit."
 
-#: ../lib/main.php:481 ../lib/plugin/PluginManager.php:65
+#: ../lib/main.php:508 ../lib/plugin/PluginManager.php:65
 #, php-format
 msgid "You must be an administrator to %s."
 msgstr "Vous devez tre un administrateur pour %s."
 
-#: ../lib/main.php:493
+#: ../lib/main.php:521
 msgid "view this page"
 msgstr "voir cette page"
 
-#: ../lib/main.php:494
+#: ../lib/main.php:522
 msgid "diff this page"
 msgstr "diff de cette page"
 
-#: ../lib/main.php:495
+#: ../lib/main.php:523
 msgid "dump html pages"
 msgstr "rcupration des pages HTML"
 
-#: ../lib/main.php:496
+#: ../lib/main.php:524
 msgid "dump serial pages"
 msgstr "rcupration des pages srialises"
 
-#: ../lib/main.php:497
+#: ../lib/main.php:525
 msgid "edit this page"
 msgstr "diter cette page"
 
-#: ../lib/main.php:498
+#: ../lib/main.php:526
 msgid "revert to a previous version of this page"
 msgstr "revenir  une prcdente version de cette page."
 
-#: ../lib/main.php:499
+#: ../lib/main.php:527
 msgid "create this page"
 msgstr "crer cette page"
 
-#: ../lib/main.php:500
+#: ../lib/main.php:528
 msgid "load files into this wiki"
 msgstr "chargement des fichiers sur ce wiki"
 
-#: ../lib/main.php:501
+#: ../lib/main.php:529
 msgid "lock this page"
 msgstr "verrouiller cette page"
 
-#: ../lib/main.php:502
+#: ../lib/main.php:530
 msgid "remove this page"
 msgstr "supprimer cette page"
 
-#: ../lib/main.php:503
+#: ../lib/main.php:531
 msgid "unlock this page"
 msgstr "dverrouiller la Page"
 
-#: ../lib/main.php:504
+#: ../lib/main.php:532
 msgid "upload a zip dump"
 msgstr "dposer un fichier zip"
 
 # lib/pageinfo.php:64
-#: ../lib/main.php:505
+#: ../lib/main.php:533
 msgid "verify the current action"
 msgstr "vrifier l'action actuelle"
 
-#: ../lib/main.php:506
+#: ../lib/main.php:534
 msgid "view the source of this page"
 msgstr "voir la source de cette page"
 
-#: ../lib/main.php:507
+#: ../lib/main.php:535
 msgid "access this wiki via XML-RPC"
 msgstr "accder  ce wiki via XML-RPC"
 
-#: ../lib/main.php:508
+#: ../lib/main.php:536
 msgid "access this wiki via SOAP"
 msgstr "accder  ce wiki via SOAP"
 
-#: ../lib/main.php:509
+#: ../lib/main.php:537
 msgid "download a zip dump from this wiki"
 msgstr "tlcharger une sauvegarde compresse de ce wiki"
 
-#: ../lib/main.php:510
-#, fuzzy
+#: ../lib/main.php:538
 msgid "download a html zip dump from this wiki"
 msgstr "tlcharger une sauvegarde HTML compresse de ce wiki"
 
-#: ../lib/main.php:534
+#: ../lib/main.php:562
 msgid "Browsing pages"
 msgstr "Navigation en cours"
 
-#: ../lib/main.php:535
+#: ../lib/main.php:563
 msgid "Diffing pages"
 msgstr "Comparaison des pages"
 
-#: ../lib/main.php:536
+#: ../lib/main.php:564
 msgid "Dumping html pages"
 msgstr "Rcupration des pages HTML"
 
-#: ../lib/main.php:537
+#: ../lib/main.php:565
 msgid "Dumping serial pages"
 msgstr "Rcupration des pages srialises"
 
-#: ../lib/main.php:538
+#: ../lib/main.php:566
 msgid "Editing pages"
 msgstr "ditions des pages"
 
-#: ../lib/main.php:539
+#: ../lib/main.php:567
 msgid "Reverting to a previous version of pages"
 msgstr ""
 
-#: ../lib/main.php:540
+#: ../lib/main.php:568
 msgid "Creating pages"
 msgstr "Cration des pages"
 
-#: ../lib/main.php:541
+#: ../lib/main.php:569
 msgid "Loading files"
 msgstr "Chargement des fichiers"
 
-#: ../lib/main.php:542
+#: ../lib/main.php:570
 msgid "Locking pages"
 msgstr "Verrouillage des pages"
 
-#: ../lib/main.php:543
+#: ../lib/main.php:571
 msgid "Removing pages"
 msgstr "Suppression des pages"
 
-#: ../lib/main.php:544
+#: ../lib/main.php:572
 msgid "Unlocking pages"
 msgstr "Dverrouiller les pages"
 
-#: ../lib/main.php:545
+#: ../lib/main.php:573
 msgid "Uploading zip dumps"
 msgstr "Dposer la sauvegarde compresse"
 
 # lib/pageinfo.php:64
-#: ../lib/main.php:546
+#: ../lib/main.php:574
 msgid "Verify the current action"
 msgstr "Vrifier l'action actuelle"
 
-#: ../lib/main.php:547
+#: ../lib/main.php:575
 msgid "Viewing the source of pages"
 msgstr "Visualisation de la source des pages"
 
-#: ../lib/main.php:548
+#: ../lib/main.php:576
 msgid "XML-RPC access"
 msgstr "Accs XML-RPC"
 
-#: ../lib/main.php:549
+#: ../lib/main.php:577
 msgid "SOAP access"
 msgstr "Accs SOAP"
 
-#: ../lib/main.php:550
+#: ../lib/main.php:578
 msgid "Downloading zip dumps"
 msgstr "Tlchargement des sauvegardes compresses"
 
-#: ../lib/main.php:551
+#: ../lib/main.php:579
 msgid "Downloading html zip dumps"
 msgstr "Tlchargement des sauvegardes html compresses"
 
-#: ../lib/main.php:685
+#: ../lib/main.php:720
 #, php-format
 msgid "%s: action forwarded to a moderator."
 msgstr ""
 
-#: ../lib/main.php:688
+#: ../lib/main.php:723
 msgid "This action requires moderator approval. Please be patient."
 msgstr ""
 
-#: ../lib/main.php:693
+#: ../lib/main.php:728
 msgid "You must wait for moderator approval."
 msgstr ""
 
-# lib/display.php:14
-#: ../lib/main.php:698 ../lib/main.php:1051 ../lib/plugin/ModeratedPage.php:41
-#: ../lib/plugin/ModeratedPage.php:137 ../lib/plugin/ModeratedPage.php:205
-#: ../lib/plugin/ModeratedPage.php:238 ../lib/plugin/ModeratedPage.php:241
-#: ../lib/plugin/ModeratedPage.php:243 ../lib/plugin/ModeratedPage.php:245
-#: ../lib/plugin/ModeratedPage.php:324
-msgid "ModeratedPage"
-msgstr "PageModre"
-
-#: ../lib/main.php:714
+#: ../lib/main.php:749 ../lib/plugin/ModeratedPage.php:310
 #, php-format
 msgid "%s: Bad action"
 msgstr "%s : Mauvaise action"
 
 # lib/stdlib.php:36
-#: ../lib/main.php:731
+#: ../lib/main.php:766
 msgid "Fatal PhpWiki Error"
 msgstr "Erreur Fatale de PhpWiki"
 
-#: ../lib/main.php:980 ../lib/plugin/WikiAdminChown.php:183
+#: ../lib/main.php:1019 ../lib/plugin/WikiAdminChown.php:183
 msgid "Chown"
 msgstr "Chown"
 
-#: ../lib/main.php:984 ../lib/plugin/WikiAdminSetAcl.php:183
+#: ../lib/main.php:1023 ../lib/plugin/WikiAdminSetAcl.php:187
 msgid "SetAcl"
 msgstr "DfinirAcl"
 
-#: ../lib/main.php:988 ../lib/plugin/WikiAdminRename.php:208
+#: ../lib/main.php:1027 ../lib/plugin/WikiAdminRename.php:208
 msgid "Rename"
 msgstr "Renommer"
 
-#: ../lib/main.php:992 ../lib/main.php:997 ../lib/plugin/PageDump.php:36
+#: ../lib/main.php:1031 ../lib/main.php:1036 ../lib/plugin/PageDump.php:36
 #: ../themes/Crao/templates/actionbar.tmpl:28
-#: ../themes/MonoBook/templates/actionbar.tmpl:48
-#: ../themes/Wordpress/templates/actionbar.tmpl:75
-#: ../themes/default/templates/actionbar.tmpl:35
+#: ../themes/MonoBook/templates/actionbar.tmpl:69
+#: ../themes/Wordpress/templates/actionbar.tmpl:76
+#: ../themes/default/templates/actionbar.tmpl:37
 #: ../themes/shamino_com/templates/actionbar.tmpl:22
-#: ../themes/shamino_com/templates/info.tmpl:168
-#: ../themes/smaller/templates/actionbar.tmpl:39
+#: ../themes/smaller/templates/actionbar.tmpl:41
 #: ../themes/smaller/templates/info.tmpl:11
 msgid "PageDump"
 msgstr "RcuprationDeLaPage"
 
 # lib/fullsearch.php:48
-#: ../lib/main.php:1011 ../lib/plugin/FullTextSearch.php:39
-#: ../lib/plugin/WantedPagesOld.php:134
+#: ../lib/main.php:1050 ../lib/plugin/FullTextSearch.php:45
 msgid "FullTextSearch"
 msgstr "RechercheEnTexteIntgral"
 
-#: ../lib/main.php:1161
+#: ../lib/main.php:1222
 msgid "The session.save_path directory"
 msgstr "Le rpertoire 'session.save_path'"
 
-#: ../lib/main.php:1164
+#: ../lib/main.php:1225
 #, php-format
 msgid "the session.save_path directory '%s'"
 msgstr "le rpertoire 'session.save_path' '%s'"
 
-#: ../lib/main.php:1168
+#: ../lib/main.php:1229
 #, php-format
 msgid "Attempting to use the directory '%s' instead."
 msgstr "Tentative d'utilisation du rpertoire '%s'  la place."
 
-#: ../lib/main.php:1175
+#: ../lib/main.php:1236
 msgid "Users will not be able to sign in."
 msgstr "Les utilisateurs ne pourront pas s'inscrire."
 
@@ -2056,8 +2321,8 @@
 msgid "Click to display all comments"
 msgstr "Cliquez pour afficher tout commente"
 
-#: ../lib/plugin/AddComment.php:111 ../lib/plugin/CreateToc.php:372
-#: ../lib/plugin/CreateToc.php:377
+#: ../lib/plugin/AddComment.php:111 ../lib/plugin/CreateToc.php:381
+#: ../lib/plugin/CreateToc.php:401
 msgid "Click to display"
 msgstr "Cliquez pour afficher"
 
@@ -2065,7 +2330,7 @@
 msgid "Comments"
 msgstr "Commentaires"
 
-#: ../lib/plugin/AllPages.php:34
+#: ../lib/plugin/AllPages.php:34 ../themes/MonoBook/templates/navbar.tmpl:78
 msgid "AllPages"
 msgstr "ToutesLesPages"
 
@@ -2078,22 +2343,22 @@
 msgid "All pages in this wiki (%d total):"
 msgstr "Pages dans ce wiki (%d au total) :"
 
-#: ../lib/plugin/AllPages.php:77 ../lib/plugin/LinkDatabase.php:83
+#: ../lib/plugin/AllPages.php:77 ../lib/plugin/LinkDatabase.php:84
 #, php-format
 msgid "List of pages owned by [%s] (%d total):"
 msgstr "Liste des pages possd prs [%s] (%d au total) :"
 
-#: ../lib/plugin/AllPages.php:87 ../lib/plugin/LinkDatabase.php:90
+#: ../lib/plugin/AllPages.php:89 ../lib/plugin/LinkDatabase.php:91
 #, php-format
 msgid "List of pages last edited by [%s] (%d total):"
 msgstr "Liste des pages bout dit prs [%s] (%d au total) :"
 
-#: ../lib/plugin/AllPages.php:97 ../lib/plugin/LinkDatabase.php:97
+#: ../lib/plugin/AllPages.php:101 ../lib/plugin/LinkDatabase.php:98
 #, php-format
 msgid "List of pages created by [%s] (%d total):"
 msgstr "Liste des pages cr prs [%s] (%d au total) :"
 
-#: ../lib/plugin/AllPages.php:126 ../lib/plugin/AllUsers.php:105
+#: ../lib/plugin/AllPages.php:133 ../lib/plugin/AllUsers.php:105
 #, php-format
 msgid "Elapsed time: %s s"
 msgstr "Temps coul : %s s"
@@ -2111,120 +2376,121 @@
 msgid "Authenticated users on this wiki (%d total):"
 msgstr "Utilisateurs connects  ce wiki (%d au total) :"
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:143
-#: ../lib/plugin/AnalyseAccessLogSql.php:168
+#: ../lib/plugin/AnalyseAccessLogSql.php:162
+#: ../lib/plugin/AnalyseAccessLogSql.php:197
 msgid "0 - last minute"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:144
-#: ../lib/plugin/AnalyseAccessLogSql.php:169
+#: ../lib/plugin/AnalyseAccessLogSql.php:163
+#: ../lib/plugin/AnalyseAccessLogSql.php:198
 msgid "1 - 1 minute to 1 hour"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:145
-#: ../lib/plugin/AnalyseAccessLogSql.php:170
+#: ../lib/plugin/AnalyseAccessLogSql.php:164
+#: ../lib/plugin/AnalyseAccessLogSql.php:199
 msgid "2 - 1 hour to 1 day"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:146
-#: ../lib/plugin/AnalyseAccessLogSql.php:171
+#: ../lib/plugin/AnalyseAccessLogSql.php:165
+#: ../lib/plugin/AnalyseAccessLogSql.php:200
 msgid "3 - 1 day to 1 week"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:147
-#: ../lib/plugin/AnalyseAccessLogSql.php:172
+#: ../lib/plugin/AnalyseAccessLogSql.php:166
+#: ../lib/plugin/AnalyseAccessLogSql.php:201
 msgid "4 - 1 week to 1 month"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:148
-#: ../lib/plugin/AnalyseAccessLogSql.php:173
+#: ../lib/plugin/AnalyseAccessLogSql.php:167
+#: ../lib/plugin/AnalyseAccessLogSql.php:202
 msgid "5 - 1 month to 1 year"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:149
-#: ../lib/plugin/AnalyseAccessLogSql.php:174
+#: ../lib/plugin/AnalyseAccessLogSql.php:168
+#: ../lib/plugin/AnalyseAccessLogSql.php:203
 msgid "6 - more than 1 year"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:193
+#: ../lib/plugin/AnalyseAccessLogSql.php:222
 msgid "referring_urls"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:194
+#: ../lib/plugin/AnalyseAccessLogSql.php:223
 msgid "external_referers"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:195
+#: ../lib/plugin/AnalyseAccessLogSql.php:224
 msgid "referring_domains"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:196
+#: ../lib/plugin/AnalyseAccessLogSql.php:225
 msgid "remote_hosts"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:197
+#: ../lib/plugin/AnalyseAccessLogSql.php:226
 msgid "users"
 msgstr "utilisateurs"
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:198
+#: ../lib/plugin/AnalyseAccessLogSql.php:227
 msgid "host_users"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:199
+#: ../lib/plugin/AnalyseAccessLogSql.php:228
 msgid "search_bots"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:200
+#: ../lib/plugin/AnalyseAccessLogSql.php:229
 msgid "search_bots_hits"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:202
+#: ../lib/plugin/AnalyseAccessLogSql.php:231
 msgid "minutes"
 msgstr "minutes"
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:203
+#: ../lib/plugin/AnalyseAccessLogSql.php:232
 msgid "hours"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:204 ../lib/plugin/VisualWiki.php:499
+#: ../lib/plugin/AnalyseAccessLogSql.php:233 ../lib/plugin/VisualWiki.php:503
 msgid "days"
 msgstr "jours"
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:205
+#: ../lib/plugin/AnalyseAccessLogSql.php:234
 msgid "weeks"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:223
+#: ../lib/plugin/AnalyseAccessLogSql.php:252
 msgid "AnalyseAccessLogSql"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:227
+#: ../lib/plugin/AnalyseAccessLogSql.php:256
 msgid "Show summary information from the access log table."
 msgstr "Montre l'index de la table access log."
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:240
+#: ../lib/plugin/AnalyseAccessLogSql.php:269
 msgid "The requested information is available only to Administrators."
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:243
+#: ../lib/plugin/AnalyseAccessLogSql.php:272
 msgid "The SQL_ACCESS_LOG is not enabled."
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:254
+#: ../lib/plugin/AnalyseAccessLogSql.php:283
 #, php-format
 msgid "Unrecognised parameter 'mode=%s'"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:273 ../lib/plugin/_BackendInfo.php:97
+#: ../lib/plugin/AnalyseAccessLogSql.php:302
+#: ../lib/plugin/SemanticSearch.php:382 ../lib/plugin/_BackendInfo.php:124
 msgid "<empty>"
 msgstr "<vide>"
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:342
+#: ../lib/plugin/AnalyseAccessLogSql.php:382
 msgid "mode"
 msgstr "mode"
 
 # lib/diff.php:1001 lib/diff.php:1019
-#: ../lib/plugin/AnalyseAccessLogSql.php:344
+#: ../lib/plugin/AnalyseAccessLogSql.php:384
 msgid "period"
 msgstr "period"
 
@@ -2267,10 +2533,18 @@
 msgid "Render ASCII Math as MathML"
 msgstr ""
 
+#: ../lib/plugin/AsciiSVG.php:32
+msgid "AsciiSVG"
+msgstr ""
+
+#: ../lib/plugin/AsciiSVG.php:36
+msgid "Render inline ASCII SVG"
+msgstr ""
+
 #: ../lib/plugin/AuthorHistory.php:70
+#: ../themes/MonoBook/templates/actionbar.tmpl:67
 #: ../themes/MonoBook/templates/info.tmpl:168
 #: ../themes/blog/templates/info.tmpl:3
-#: ../themes/shamino_com/templates/info.tmpl:167
 #: ../themes/smaller/templates/info.tmpl:7
 msgid "AuthorHistory"
 msgstr "HistoriqueAuteur"
@@ -2290,9 +2564,8 @@
 
 #: ../lib/plugin/AuthorHistory.php:125
 #: ../themes/MonoBook/templates/info.tmpl:77
-#: ../themes/default/templates/info.tmpl:70
+#: ../themes/default/templates/info.tmpl:69
 #: ../themes/default/templates/wikiforum.tmpl:22
-#: ../themes/shamino_com/templates/info.tmpl:76
 msgid "Author"
 msgstr "Auteur"
 
@@ -2301,12 +2574,9 @@
 #: ../themes/Crao/templates/editpage.tmpl:48
 #: ../themes/MonoBook/templates/info.tmpl:78
 #: ../themes/Portland/templates/editpage.tmpl:39
-#: ../themes/Wordpress/templates/editpage.tmpl:48
-#: ../themes/blog/templates/blogform.tmpl:15
-#: ../themes/default/templates/blogform.tmpl:15
+#: ../themes/Wordpress/templates/editpage.tmpl:46
 #: ../themes/default/templates/editpage.tmpl:47
-#: ../themes/default/templates/info.tmpl:71
-#: ../themes/shamino_com/templates/info.tmpl:77
+#: ../themes/default/templates/info.tmpl:70
 msgid "Summary"
 msgstr "Rsum"
 
@@ -2321,11 +2591,6 @@
 msgstr ""
 "Historique de toutes les ditions majeures et mineures par %s sur la page %s."
 
-#: ../lib/plugin/AuthorHistory.php:156
-#, php-format
-msgid "History of all major edits by %s to page %s."
-msgstr "Historique de toutes les ditions majeures par %s sur la page %s."
-
 #: ../lib/plugin/AuthorHistory.php:218
 #, php-format
 msgid "History of all major and minor modifications for any page edited by %s."
@@ -2333,53 +2598,62 @@
 "Historique des ditions majeures ou mineures pour n'importe quelle page "
 "dite par %s."
 
-#: ../lib/plugin/AuthorHistory.php:218
-#, php-format
-msgid "History of major modifications for any page edited by %s."
-msgstr "Historique des ditions majeures de toutes les pages dites par %s."
-
 #: ../lib/plugin/BackLinks.php:35
 #, php-format
 msgid "List all pages which link to %s."
 msgstr "Affiche toutes les pages lie  %s."
 
-#: ../lib/plugin/BackLinks.php:70 ../lib/plugin/ListPages.php:122
+#: ../lib/plugin/BackLinks.php:73 ../lib/plugin/ListPages.php:122
 #: ../lib/plugin/ListPages.php:125 ../lib/plugin/ListSubpages.php:89
 msgid "#"
 msgstr ""
 
-#: ../lib/plugin/BackLinks.php:96
+#: ../lib/plugin/BackLinks.php:126
 #, php-format
 msgid "No other page links to %s yet."
 msgstr "Aucune page n'est ancore lie  %s."
 
-#: ../lib/plugin/BackLinks.php:99
+#: ../lib/plugin/BackLinks.php:129
 #, php-format
 msgid "One page would link to %s:"
 msgstr "Une page pointait vers %s :"
 
-#: ../lib/plugin/BackLinks.php:108
+#: ../lib/plugin/BackLinks.php:138
 #, php-format
 msgid "%s pages would link to %s:"
 msgstr "%s pages pointaient vers %s :"
 
-#: ../lib/plugin/BackLinks.php:116
+#: ../lib/plugin/BackLinks.php:147 ../lib/plugin/SemanticSearch.php:129
+#: ../lib/plugin/SemanticSearch.php:205
+msgid "AND"
+msgstr ""
+
+#: ../lib/plugin/BackLinks.php:153
 #, php-format
 msgid "No page links to %s."
 msgstr "Aucune page ne pointe vers %s."
 
-#: ../lib/plugin/BackLinks.php:121
+#: ../lib/plugin/BackLinks.php:158
 #, php-format
 msgid "One page links to %s:"
 msgstr "Une page pointe vers %s :"
 
-#: ../lib/plugin/BackLinks.php:130
+#: ../lib/plugin/BackLinks.php:168
+#, fuzzy
+msgid "Those"
+msgstr "Fermer"
+
+#: ../lib/plugin/BackLinks.php:167
 #, php-format
 msgid "%s pages link to %s:"
 msgstr "%s pages pointent vers %s :"
 
+#: ../lib/plugin/BackLinks.php:176
+msgid "More..."
+msgstr ""
+
 #: ../lib/plugin/BlogArchives.php:24 ../lib/plugin/BlogArchives.php:134
-#: ../themes/blog/templates/actionbar.tmpl:17
+#: ../themes/blog/templates/actionbar.tmpl:11
 msgid "Archives"
 msgstr ""
 
@@ -2387,13 +2661,13 @@
 msgid "List blog months links for the current or ADMIN user"
 msgstr ""
 
-#: ../lib/plugin/BlogArchives.php:88 ../lib/plugin/BlogJournal.php:85
+#: ../lib/plugin/BlogArchives.php:88 ../lib/plugin/BlogJournal.php:88
 #, php-format
 msgid "Blog Entries for %s:"
 msgstr ""
 
 #: ../lib/plugin/BlogArchives.php:96
-#: ../themes/blog/templates/actionbar.tmpl:17
+#: ../themes/blog/templates/actionbar.tmpl:11
 msgid "BlogArchives"
 msgstr ""
 
@@ -2409,38 +2683,33 @@
 msgid "Include latest blog entries for the current or ADMIN user"
 msgstr ""
 
-#: ../lib/plugin/BlogJournal.php:81 ../lib/plugin/WikiBlog.php:75
-msgid "WikiBlog"
-msgstr "WikiBlog"
+#: ../lib/plugin/BlogJournal.php:84
+#, fuzzy
+msgid "New entry"
+msgstr "Nouveau commentaire."
 
-#: ../lib/plugin/BlogJournal.php:83
+#: ../lib/plugin/BlogJournal.php:86
 msgid "No Blog Entries"
 msgstr ""
 
-#: ../lib/plugin/Calendar.php:41 ../lib/plugin/Calendar.php:45
-#: ../themes/Crao/templates/head.tmpl:89
-#: ../themes/Crao/templates/navbar.tmpl:28
-#: ../themes/Sidebar/templates/body.tmpl:21
-#: ../themes/Sidebar/templates/body.tmpl:26 ../themes/Sidebar/themeinfo.php:44
-#: ../themes/Wordpress/templates/actionbar.tmpl:31
-#: ../themes/blog/templates/sidebar.tmpl:18
-#: ../themes/default/templates/head.tmpl:96
-#: ../themes/default/templates/homepage.tmpl:15
-#: ../themes/default/templates/navbar.tmpl:45
-#: ../themes/wikilens/templates/head.tmpl:89
-#: ../themes/wikilens/templates/navbar.tmpl:35
-msgid "Calendar"
-msgstr "Calendrier"
+#: ../lib/plugin/BoxRight.php:34
+msgid "A simple plugin for <div class=boxright> with wikimarkup"
+msgstr ""
 
-#: ../lib/plugin/Calendar.php:95
+#: ../lib/plugin/Calendar.php:96
 msgid "Previous Month"
 msgstr "Mois prcdent"
 
-#: ../lib/plugin/Calendar.php:99
+#: ../lib/plugin/Calendar.php:100
 msgid "Next Month"
 msgstr "Mois suivant"
 
-#: ../lib/plugin/Calendar.php:169 ../lib/plugin/CalendarList.php:135
+#: ../lib/plugin/Calendar.php:133
+#, fuzzy
+msgid "Wk"
+msgstr "L"
+
+#: ../lib/plugin/Calendar.php:174 ../lib/plugin/CalendarList.php:135
 #, php-format
 msgid "Edit %s"
 msgstr "diter %s"
@@ -2459,8 +2728,6 @@
 msgstr "Crer cette page."
 
 #: ../lib/plugin/Comment.php:22 ../themes/Crao/templates/blogform.tmpl:15
-#: ../themes/blog/templates/blogform.tmpl:21
-#: ../themes/default/templates/blogform.tmpl:21
 msgid "Comment"
 msgstr "Commentaire"
 
@@ -2477,28 +2744,28 @@
 msgid "Automatically create a Bibtex file from linked pages"
 msgstr ""
 
-#: ../lib/plugin/CreateBib.php:121 ../lib/plugin/CreateToc.php:302
-#: ../lib/plugin/IncludePage.php:77 ../lib/plugin/RateIt.php:208
-#: ../lib/plugin/Template.php:102
+#: ../lib/plugin/CreateBib.php:121 ../lib/plugin/CreateToc.php:306
+#: ../lib/plugin/IncludePage.php:77 ../lib/plugin/RateIt.php:207
+#: ../lib/plugin/Template.php:110
 msgid "no page specified"
 msgstr "aucune page indique"
 
 # lib/display.php:14
-#: ../lib/plugin/CreatePage.php:39
+#: ../lib/plugin/CreatePage.php:42
 msgid "CreatePage"
 msgstr "CrerUnePage"
 
-#: ../lib/plugin/CreatePage.php:43
+#: ../lib/plugin/CreatePage.php:46
 msgid "Create a Wiki page by the provided name."
 msgstr "Crer une PageWiki avec le nom demand."
 
-#: ../lib/plugin/CreatePage.php:92
+#: ../lib/plugin/CreatePage.php:96
 #, php-format
 msgid "%s already exists"
 msgstr "%s existe dj"
 
 # lib/display.php:14
-#: ../lib/plugin/CreatePage.php:103
+#: ../lib/plugin/CreatePage.php:112
 msgid "Created by CreatePage"
 msgstr "Cre par CrerUnePage"
 
@@ -2510,44 +2777,49 @@
 msgid "Automatically link headers at the top"
 msgstr "Crer une table des matires des titres et sous-titres en haut"
 
-#: ../lib/plugin/CreateToc.php:313
+#: ../lib/plugin/CreateToc.php:317
 msgid "CreateToc disabled for old markup"
 msgstr ""
 
-#: ../lib/plugin/CreateToc.php:369
+#: ../lib/plugin/CreateToc.php:377
 msgid "Click to hide the TOC"
 msgstr ""
 
-#: ../lib/plugin/CreateToc.php:379 ../lib/plugin/CreateToc.php:382
+#: ../lib/plugin/CreateToc.php:386 ../lib/plugin/CreateToc.php:403
 msgid "Table Of Contents"
 msgstr "Table des matires"
 
+#: ../lib/plugin/CreateToc.php:392
+#, fuzzy
+msgid "Click to display to TOC"
+msgstr "Cliquez pour afficher"
+
 # lib/display.php:14
 #: ../lib/plugin/DeadEndPages.php:24
 msgid "DeadEndPages"
 msgstr "PagesSansLien"
 
-#: ../lib/plugin/Diff.php:40
+#: ../lib/plugin/Diff.php:41
 msgid "Display differences between revisions"
 msgstr "Affiche les diffrences entre rvisions"
 
-#: ../lib/plugin/Diff.php:52
+#: ../lib/plugin/Diff.php:53
 msgid "World"
 msgstr "Monde"
 
-#: ../lib/plugin/EditMetaData.php:45 ../lib/plugin/_WikiTranslation.php:61
+#: ../lib/plugin/EditMetaData.php:48 ../lib/plugin/_WikiTranslation.php:61
 msgid "EditMetaData"
 msgstr "EditerLesMetaDonnes"
 
-#: ../lib/plugin/EditMetaData.php:49
+#: ../lib/plugin/EditMetaData.php:52
 #, php-format
 msgid "Edit metadata for %s"
 msgstr "diter les mtadonnes pour %s"
 
-#: ../lib/plugin/EditMetaData.php:109
-#, php-format
-msgid "Existing page-level metadata for %s:"
-msgstr "Mtadonnes existantes pour niveau de pages pour %s :"
+#: ../lib/plugin/EditMetaData.php:132
+#, fuzzy, php-format
+msgid "No metadata for %s"
+msgstr "diter les mtadonnes pour %s"
 
 #: ../lib/plugin/EditMetaData.php:146
 msgid ""
@@ -2557,38 +2829,54 @@
 "Ajouter ou changer le niveau de page 'key=>value'. Notez que vous pouvez "
 "supprimer une cl en lui attribuant une valeur nulle."
 
-#: ../lib/plugin/EditMetaData.php:149 ../lib/upgrade.php:680
+#: ../lib/plugin/EditMetaData.php:149 ../lib/upgrade.php:806
 msgid "Submit"
 msgstr "Valider"
 
-#: ../lib/plugin/EditMetaData.php:161
+#: ../lib/plugin/EditMetaData.php:164
 msgid "Requires WikiAdmin privileges to edit."
 msgstr "Ncessite les privilges administrateur pour l'dition."
 
 # lib/fullsearch.php:48
-#: ../lib/plugin/ExternalSearch.php:38
+#: ../lib/plugin/ExternalSearch.php:40
 msgid "ExternalSearch"
 msgstr "RechercheExterne"
 
-#: ../lib/plugin/ExternalSearch.php:42
+#: ../lib/plugin/ExternalSearch.php:44
 msgid "Redirects to an external web site based on form input"
 msgstr "Redirige vers un site externe bas sur un formulaire"
 
+#: ../lib/plugin/ExternalSearch.php:140 ../lib/plugin/PhotoAlbum.php:479
+#, php-format
+msgid "Invalid argument: %s=%s"
+msgstr "Argument non valable : %s=%s"
+
 #: ../lib/plugin/FileInfo.php:39
+#, fuzzy
 msgid "FileInfo"
-msgstr "FichierInfo"
+msgstr "Info"
 
 #: ../lib/plugin/FileInfo.php:43
 msgid "Display file information like version,size,date,... of uploaded files."
 msgstr ""
 
-#: ../lib/plugin/FileInfo.php:63 ../lib/plugin/FileInfo.php:65
-#: ../lib/plugin/PageGroup.php:104 ../lib/plugin/WikiFormRich.php:163
-#: ../lib/plugin/WikiFormRich.php:179
+#: ../lib/plugin/FileInfo.php:64 ../lib/plugin/FileInfo.php:66
+#: ../lib/plugin/PageGroup.php:104 ../lib/plugin/SyncWiki.php:75
+#: ../lib/plugin/WikiFormRich.php:177 ../lib/plugin/WikiFormRich.php:193
 #, php-format
 msgid "A required argument '%s' is missing."
 msgstr "Un argument requis '%s' est manquant."
 
+#: ../lib/plugin/FileInfo.php:85
+msgid ""
+"Output suppressed. FileInfoPlugin with local files require a locked page."
+msgstr ""
+
+#: ../lib/plugin/FileInfo.php:86
+#, fuzzy
+msgid "page not locked"
+msgstr "La page est maintenant verrouille."
+
 #: ../lib/plugin/FoafViewer.php:52
 msgid "FoafViewer"
 msgstr ""
@@ -2636,7 +2924,7 @@
 "Affiche une url dans une cadre interne  la page. Un seul cadre autoris."
 
 #: ../lib/plugin/FrameInclude.php:93 ../lib/plugin/IncludePage.php:84
-#: ../lib/plugin/Template.php:108
+#: ../lib/plugin/Template.php:116
 #, php-format
 msgid "recursive inclusion of page %s"
 msgstr "insertion rcursive de la page %s"
@@ -2646,33 +2934,34 @@
 msgid "%s or %s parameter missing"
 msgstr "%s ou %s paramtre manquant"
 
-#: ../lib/plugin/FrameInclude.php:105 ../lib/plugin/Transclude.php:81
+#: ../lib/plugin/FrameInclude.php:105 ../lib/plugin/Transclude.php:91
 #, php-format
 msgid "recursive inclusion of url %s"
 msgstr "insertion rcursive de l'URL %s"
 
-#: ../lib/plugin/FrameInclude.php:112 ../lib/plugin/TeX2png.php:216
-#: ../lib/plugin/text2png.php:69 ../lib/plugin/text2png.php:122
+#: ../lib/plugin/FrameInclude.php:112 ../lib/plugin/SemanticSearch.php:263
+#: ../lib/plugin/TeX2png.php:216 ../lib/plugin/text2png.php:87
+#: ../lib/plugin/text2png.php:173
 #, php-format
 msgid "See %s"
 msgstr "Voir %s"
 
-#: ../lib/plugin/FullTextSearch.php:43
+#: ../lib/plugin/FullTextSearch.php:49
 msgid "Search the content of all pages in this wiki."
 msgstr "Rechercher le contenu de toutes les pages de ce wiki."
 
-#: ../lib/plugin/FullTextSearch.php:105
+#: ../lib/plugin/FullTextSearch.php:110
 #, php-format
 msgid "only %d pages displayed"
 msgstr "Seulement %d pages affiches"
 
-#: ../lib/plugin/FullTextSearch.php:110
+#: ../lib/plugin/FullTextSearch.php:115
 #, php-format
 msgid "Ignored stoplist words '%s'"
 msgstr ""
 
 # lib/fullsearch.php:48
-#: ../lib/plugin/FullTextSearch.php:115
+#: ../lib/plugin/FullTextSearch.php:120
 #, php-format
 msgid "Full text search results for '%s'"
 msgstr "Rsultats de la recherche en texte intgral de ' %s '"
@@ -2719,6 +3008,7 @@
 # lib/pageinfo.php:10 lib/stdlib.php:239
 #: ../lib/plugin/GoTo.php:59 ../lib/plugin/WikiAdminSelect.php:135
 #: ../lib/plugin/WikiAdminSelect.php:146
+#: ../themes/MonoBook/templates/navbar.tmpl:32
 msgid "Go"
 msgstr "OK"
 
@@ -2740,7 +3030,7 @@
 #: ../lib/plugin/GoogleMaps.php:108
 #, php-format
 msgid "invalid argument %s"
-msgstr "Argument non valable %s"
+msgstr "Argument non valable : %s"
 
 #: ../lib/plugin/GoogleMaps.php:128
 msgid "new&nbsp;window"
@@ -2766,16 +3056,22 @@
 msgid "GraphViz image or imagemap creation of directed graphs"
 msgstr ""
 
-#: ../lib/plugin/GraphViz.php:265 ../lib/plugin/GraphViz.php:335
+#: ../lib/plugin/GraphViz.php:210 ../lib/plugin/_WikiTranslation.php:319
+#, php-format
+msgid "%s is empty"
+msgstr "%s est vide."
+
+#: ../lib/plugin/GraphViz.php:274
 msgid "No dot graph given"
 msgstr ""
 
-#: ../lib/plugin/GraphViz.php:276 ../lib/plugin/SyntaxHighlighter.php:173
+#: ../lib/plugin/GraphViz.php:282 ../lib/plugin/GraphViz.php:290
+#: ../lib/plugin/SpellCheck.php:143 ../lib/plugin/SyntaxHighlighter.php:173
 #, php-format
 msgid "Couldn't start commandline '%s'"
 msgstr "Impossible de lancer la ligne de commande '%s'"
 
-#: ../lib/plugin/GraphViz.php:279 ../lib/plugin/Ploticus.php:239
+#: ../lib/plugin/GraphViz.php:294 ../lib/plugin/Ploticus.php:248
 #, php-format
 msgid "%s error: outputfile '%s' not created"
 msgstr ""
@@ -2792,11 +3088,6 @@
 msgid "Convert HTML markup into wiki markup. (Version 0.5)"
 msgstr ""
 
-#: ../lib/plugin/HtmlConverter.php:66 ../lib/plugin/UpLoad.php:115
-#: ../lib/plugin/WikiForm.php:103
-msgid "Upload"
-msgstr "Dposer"
-
 #: ../lib/plugin/HtmlConverter.php:78
 msgid "Only files with extension HTML are allowed"
 msgstr ""
@@ -2805,6 +3096,10 @@
 msgid "Copy the output below and paste it into your Wiki page."
 msgstr ""
 
+#: ../lib/plugin/Imdb.php:55
+msgid "Query a local imdb database"
+msgstr ""
+
 #: ../lib/plugin/IncludePage.php:34
 msgid "IncludePage"
 msgstr "InclureUnePage"
@@ -2814,7 +3109,7 @@
 msgstr "Inclure le texte d'une autre PageWiki."
 
 #: ../lib/plugin/IncludePage.php:92 ../lib/plugin/PageGroup.php:131
-#: ../lib/plugin/Template.php:116
+#: ../lib/plugin/Template.php:124
 #, php-format
 msgid "%s(%d): no such revision"
 msgstr "%s(%d) : rvision inexistante"
@@ -2851,10 +3146,25 @@
 "Effectuer une recherche sur les sites InterWiki contenu dans la carte "
 "InterWiki."
 
-#: ../lib/plugin/InterWikiSearch.php:90
+#: ../lib/plugin/InterWikiSearch.php:92
 msgid "Wiki Name"
 msgstr "Nom Wiki"
 
+# lib/stdlib.php:207 lib/stdlib.php:215
+#: ../lib/plugin/InterWikiSearch.php:93 ../lib/plugin/RecentChanges.php:724
+#: ../themes/Crao/templates/navbar.tmpl:42
+#: ../themes/Crao/templates/navbar.tmpl:44
+#: ../themes/Crao/templates/navbar.tmpl:48
+#: ../themes/blog/templates/search.tmpl:6
+#: ../themes/blog/templates/search.tmpl:7
+#: ../themes/blog/templates/search.tmpl:9
+#: ../themes/blog/templates/search.tmpl:13
+#: ../themes/default/templates/search.tmpl:6
+#: ../themes/default/templates/search.tmpl:15
+#: ../themes/default/templates/search.tmpl:27
+msgid "Search"
+msgstr "Chercher"
+
 #: ../lib/plugin/JabberPresence.php:23
 msgid "JabberPresence"
 msgstr "JabberPresence"
@@ -2864,24 +3174,34 @@
 msgstr ""
 
 # lib/stdlib.php:207 lib/stdlib.php:215
-#: ../lib/plugin/LdapSearch.php:57
+#: ../lib/plugin/LdapSearch.php:54
 msgid "LdapSearch"
 msgstr "LdapChercher"
 
-#: ../lib/plugin/LdapSearch.php:60
+#: ../lib/plugin/LdapSearch.php:57
 msgid "Search an LDAP directory"
 msgstr ""
 
-#: ../lib/plugin/LdapSearch.php:83
-msgid "Failed to set LDAP protocol version to 3"
+#: ../lib/plugin/LdapSearch.php:81
+#, fuzzy
+msgid "Missing ldap extension"
+msgstr "Permission de page individuelle absente:"
+
+#: ../lib/plugin/LdapSearch.php:103
+#, fuzzy
+msgid "Failed to connect to LDAP host"
+msgstr "Impossible de se connecter au serveur LDAP "
+
+#: ../lib/plugin/LdapSearch.php:136
+msgid "Failed to bind LDAP host"
 msgstr ""
 
 #: ../lib/plugin/LikePages.php:32 ../themes/Crao/templates/navbar.tmpl:16
-#: ../themes/Portland/templates/navbar.tmpl:10
-#: ../themes/Wordpress/templates/actionbar.tmpl:90
+#: ../themes/Portland/templates/navbar.tmpl:7
+#: ../themes/Wordpress/templates/actionbar.tmpl:91
 #: ../themes/default/templates/navbar.tmpl:33
 #: ../themes/smaller/templates/navbar.tmpl:15
-#: ../themes/wikilens/templates/navbar.tmpl:24
+#: ../themes/wikilens/templates/navbar.tmpl:21
 msgid "LikePages"
 msgstr "PagesSemblables"
 
@@ -2907,30 +3227,67 @@
 msgid "These pages share an initial or final title word with '%s'"
 msgstr "Ces pages partagent un mot initial ou final dans leur titre avec %s"
 
-#: ../lib/plugin/LinkDatabase.php:41
-msgid "LinkDatabase"
-msgstr "LiensDatabase"
-
-#: ../lib/plugin/LinkDatabase.php:47
+#: ../lib/plugin/LinkDatabase.php:48
 msgid ""
 "List all pages with all links in various formats for some Java Visualization "
 "tools"
 msgstr ""
 
-#: ../lib/plugin/LinkDatabase.php:77
+#: ../lib/plugin/LinkDatabase.php:78
 #, php-format
 msgid "All pages with all links in this wiki (%d total):"
 msgstr "Tout pages avec tous les liens dans ce wiki (%d au total) :"
 
-#: ../lib/plugin/LinkDatabase.php:109
+#: ../lib/plugin/LinkDatabase.php:111 ../lib/plugin/WantedPages.php:87
 msgid "Links"
 msgstr "Liens"
 
-#: ../lib/plugin/LinkDatabase.php:169
+#: ../lib/plugin/LinkDatabase.php:173
 #, fuzzy, php-format
 msgid "Unsupported format argument %s"
 msgstr "Les gestionnaires supports sont : %s"
 
+# lib/fullsearch.php:48
+#: ../lib/plugin/LinkSearch.php:35 ../lib/plugin/LinkSearch.php:113
+#, fuzzy
+msgid "LinkSearch"
+msgstr "RechercheLive"
+
+#: ../lib/plugin/LinkSearch.php:38
+msgid "Search page and link names"
+msgstr ""
+
+#: ../lib/plugin/LinkSearch.php:65 ../lib/plugin/SemanticSearch.php:94
+msgid "Search only in these pages. With autocompletion."
+msgstr ""
+
+#: ../lib/plugin/LinkSearch.php:74 ../lib/plugin/SemanticSearch.php:117
+msgid "Filter by this link. These are pagenames. With autocompletion."
+msgstr ""
+
+#: ../lib/plugin/LinkSearch.php:98
+#, fuzzy
+msgid "outgoing"
+msgstr "Identifiant"
+
+#: ../lib/plugin/LinkSearch.php:99
+msgid "incoming"
+msgstr ""
+
+#: ../lib/plugin/LinkSearch.php:114
+msgid "Search in pages for links with the matching name."
+msgstr ""
+
+#: ../lib/plugin/LinkSearch.php:148 ../lib/plugin/SemanticSearch.php:305
+#, fuzzy
+msgid "Link"
+msgstr "Liens"
+
+#: ../lib/plugin/LinkSearch.php:158
+#, php-format
+msgid "LinkSearch result for \"%s\" in pages \"%s\", direction %s"
+msgstr ""
+
 #: ../lib/plugin/ListPages.php:38
 msgid "ListPages"
 msgstr "ListeDePages"
@@ -2943,6 +3300,17 @@
 msgid "You must be logged in to view ratings."
 msgstr "Vous devez vous connecter pour voir les scores."
 
+#: ../lib/plugin/ListRelations.php:34
+#, fuzzy
+msgid "ListRelations"
+msgstr "Annuler la notation"
+
+#: ../lib/plugin/ListRelations.php:37
+msgid ""
+"Display the list of all defined relations and optionnally attributes in this "
+"entrire wiki"
+msgstr ""
+
 #: ../lib/plugin/ListSubpages.php:34
 msgid "ListSubpages"
 msgstr "ListeDesSousPages"
@@ -2971,12 +3339,12 @@
 msgid "Support moderated pages"
 msgstr "Supports pages modere"
 
-#: ../lib/plugin/ModeratedPage.php:141 ../lib/plugin/ModeratedPage.php:165
-#: ../lib/plugin/ModeratedPage.php:210
+#: ../lib/plugin/ModeratedPage.php:153 ../lib/plugin/ModeratedPage.php:178
+#: ../lib/plugin/ModeratedPage.php:224
 msgid "ModeratedPage: No emails for the moderators defined"
 msgstr "PageModere: No emails for the moderators defined"
 
-#: ../lib/plugin/ModeratedPage.php:147
+#: ../lib/plugin/ModeratedPage.php:159
 #, php-format
 msgid ""
 "ModeratedPage status update:\n"
@@ -2984,12 +3352,12 @@
 "  require_access: '%s'"
 msgstr ""
 
-#: ../lib/plugin/ModeratedPage.php:152
+#: ../lib/plugin/ModeratedPage.php:164
 #, php-format
 msgid "'%s' is no ModeratedPage anymore."
 msgstr ""
 
-#: ../lib/plugin/ModeratedPage.php:171
+#: ../lib/plugin/ModeratedPage.php:184
 #, php-format
 msgid ""
 "ModeratedPage status update: '%s' is now a ModeratedPage.\n"
@@ -2997,33 +3365,42 @@
 "  require_access: '%s'"
 msgstr ""
 
-#: ../lib/plugin/ModeratedPage.php:232
+#: ../lib/plugin/ModeratedPage.php:250
 #, php-format
 msgid "%s: action forwarded to moderator %s"
 msgstr ""
 
-#: ../lib/plugin/ModeratedPage.php:252
+#: ../lib/plugin/ModeratedPage.php:276
 msgid "ModeratedPage Notification Error: Couldn't send email"
 msgstr "Erreur lors des notifications de page: Impossible d'envoyer"
 
-#: ../lib/plugin/ModeratedPage.php:287
+#: ../lib/plugin/ModeratedPage.php:355
+#, php-format
+msgid "%s approved your wiki action from %s"
+msgstr ""
+
+#: ../lib/plugin/ModeratedPage.php:367
 msgid "Please approve or reject this request:"
 msgstr ""
 
-#: ../lib/plugin/ModeratedPage.php:298
+#: ../lib/plugin/ModeratedPage.php:403
+msgid "Reason: "
+msgstr ""
+
+#: ../lib/plugin/ModeratedPage.php:404
 msgid "Approve"
 msgstr ""
 
-#: ../lib/plugin/ModeratedPage.php:300
+#: ../lib/plugin/ModeratedPage.php:406
 msgid "Reject"
 msgstr ""
 
-#: ../lib/plugin/ModeratedPage.php:325 ../lib/plugin/ModeratedPage.php:332
+#: ../lib/plugin/ModeratedPage.php:434 ../lib/plugin/ModeratedPage.php:441
 #, php-format
 msgid "<?plugin ModeratedPage ... ?> not found in first line of %s"
 msgstr ""
 
-#: ../lib/plugin/ModeratedPage.php:328
+#: ../lib/plugin/ModeratedPage.php:437
 #, php-format
 msgid "%s is not locked!"
 msgstr "%s n'est pas verrouill!"
@@ -3054,6 +3431,16 @@
 msgid "Visited pages on this wiki, ordered by popularity:"
 msgstr "Pages visites sur ce wiki, classes par ordre de popularit :"
 
+#: ../lib/plugin/NewPagesPerUser.php:19
+#, fuzzy
+msgid "NewPagesPerUser"
+msgstr "Nouvelle page."
+
+#: ../lib/plugin/NewPagesPerUser.php:23
+#, fuzzy
+msgid "List all new pages per month per user"
+msgstr "numrez tous les utilisateurs une fois authentifis."
+
 #: ../lib/plugin/NoCache.php:39
 msgid "NoCache"
 msgstr "PasDeCache"
@@ -3098,53 +3485,53 @@
 msgid "Page %s not found."
 msgstr "Page %s non trouve."
 
-#: ../lib/plugin/PageDump.php:127
+#: ../lib/plugin/PageDump.php:128
 msgid "Download for CVS"
 msgstr "Tlcharger pour CVS"
 
-#: ../lib/plugin/PageDump.php:132
+#: ../lib/plugin/PageDump.php:133
 msgid "Download for backup"
 msgstr "Tlcharger pour sauvegarder"
 
-#: ../lib/plugin/PageDump.php:138
+#: ../lib/plugin/PageDump.php:139
 #, fuzzy
 msgid "Download all revisions for backup"
 msgstr "Tlcharger pour sauvegarder"
 
-#: ../lib/plugin/PageDump.php:141
+#: ../lib/plugin/PageDump.php:142
 #, php-format
 msgid "Preview: Page dump of %s"
 msgstr "Prvisualisation : rcupration de %s"
 
-#: ../lib/plugin/PageDump.php:148
+#: ../lib/plugin/PageDump.php:149
 #, fuzzy
 msgid ""
 "(formatted for PhpWiki developers as pgsrc template, not for backing up)"
 msgstr "(format pour les dveloppeurs, pas pour la sauvegarde)"
 
-#: ../lib/plugin/PageDump.php:151 ../lib/plugin/PageDump.php:171
+#: ../lib/plugin/PageDump.php:152 ../lib/plugin/PageDump.php:172
 #, fuzzy
 msgid "Preview as normal format"
 msgstr "Prvisualisation au format de sauvegarde"
 
-#: ../lib/plugin/PageDump.php:157 ../lib/plugin/PageDump.php:184
+#: ../lib/plugin/PageDump.php:158 ../lib/plugin/PageDump.php:185
 msgid "Preview as backup format"
 msgstr "Prvisualisation au format de sauvegarde"
 
-#: ../lib/plugin/PageDump.php:161
+#: ../lib/plugin/PageDump.php:162
 #, fuzzy
 msgid "(formatted for backing up: all revisions)"
 msgstr "(format de sauvegarde)"
 
-#: ../lib/plugin/PageDump.php:165 ../lib/plugin/PageDump.php:178
+#: ../lib/plugin/PageDump.php:166 ../lib/plugin/PageDump.php:179
 msgid "Preview as developer format"
 msgstr "Prvisualisation au format dveloppeurs"
 
-#: ../lib/plugin/PageDump.php:174
+#: ../lib/plugin/PageDump.php:175
 msgid "(normal formatting: latest revision only)"
 msgstr ""
 
-#: ../lib/plugin/PageDump.php:188
+#: ../lib/plugin/PageDump.php:189
 msgid ""
 "Please use one of the downloadable versions rather than copying and pasting "
 "from the above preview."
@@ -3152,7 +3539,7 @@
 "Veuillez utiliser une des versions tlchargeables au lieu de copier-coller "
 " partir de la prvisualisation."
 
-#: ../lib/plugin/PageDump.php:190
+#: ../lib/plugin/PageDump.php:191
 msgid ""
 "The wordwrap of the preview doesn't take nested markup or list indentation "
 "into consideration!"
@@ -3160,7 +3547,7 @@
 "Le retour chariot de la prvisualisation ne prend pas en compte les marques "
 "des listes indentes !"
 
-#: ../lib/plugin/PageDump.php:193
+#: ../lib/plugin/PageDump.php:194
 msgid ""
 "PhpWiki developers should manually inspect the downloaded file for nested "
 "markup before rewrapping with emacs and checking into CVS."
@@ -3168,7 +3555,8 @@
 "Les dveloppeurs de PhpWiki devraient inspecter manuellement les balises des "
 "fichiers tlchargs avant de les diter sous emacs, et vrifier les CVS."
 
-#: ../lib/plugin/PageDump.php:201 ../lib/plugin/PasswordReset.php:128
+#: ../lib/plugin/PageDump.php:202 ../lib/plugin/PasswordReset.php:131
+#: ../lib/plugin/SemanticSearch.php:260
 msgid "Warning:"
 msgstr "Attention:"
 
@@ -3186,7 +3574,7 @@
 msgid "Contents"
 msgstr "Contenu"
 
-#: ../lib/plugin/PageGroup.php:91 ../lib/stdlib.php:1985
+#: ../lib/plugin/PageGroup.php:91 ../lib/stdlib.php:1992
 #, php-format
 msgid "<%s: no such section>"
 msgstr "<%s : pas de section de ce type>"
@@ -3230,12 +3618,12 @@
 msgstr "Cochez une bote puis %s."
 
 # lib/diff.php:1001 lib/diff.php:1019
-#: ../lib/plugin/PageHistory.php:166 ../lib/plugin/PageHistory.php:229
+#: ../lib/plugin/PageHistory.php:166 ../lib/plugin/PageHistory.php:242
 #, php-format
 msgid "Version %d"
 msgstr "Version %d"
 
-#: ../lib/plugin/PageHistory.php:177 ../themes/MacOSX/lib/RecentChanges.php:34
+#: ../lib/plugin/PageHistory.php:178 ../themes/MacOSX/lib/RecentChanges.php:34
 #: ../themes/MonoBook/templates/info.tmpl:19
 #: ../themes/MonoBook/templates/info.tmpl:23
 #: ../themes/Portland/lib/RecentChanges.php:14
@@ -3243,41 +3631,40 @@
 #: ../themes/Wordpress/lib/RecentChanges.php:14
 #: ../themes/default/templates/info.tmpl:17
 #: ../themes/default/templates/info.tmpl:21
-#: ../themes/shamino_com/templates/info.tmpl:19
-#: ../themes/shamino_com/templates/info.tmpl:23
 msgid "minor edit"
 msgstr "dition mineure"
 
-#: ../lib/plugin/PageHistory.php:221
+#: ../lib/plugin/PageHistory.php:234
 msgid "History of changes."
 msgstr "Historique des changements."
 
-#: ../lib/plugin/PageHistory.php:247 ../lib/plugin/RecentChanges.php:65
+#: ../lib/plugin/PageHistory.php:260 ../lib/plugin/RecentChanges.php:67
 #: ../themes/Crao/templates/actionbar.tmpl:22
-#: ../themes/MonoBook/templates/actionbar.tmpl:46
+#: ../themes/MonoBook/templates/actionbar.tmpl:39
+#: ../themes/MonoBook/templates/actionbar.tmpl:66
 #: ../themes/MonoBook/templates/info.tmpl:167
-#: ../themes/Portland/templates/actionbar.tmpl:18
+#: ../themes/Portland/templates/actionbar.tmpl:14
 #: ../themes/Portland/templates/viewsource.tmpl:26
-#: ../themes/Wordpress/templates/actionbar.tmpl:69
-#: ../themes/Wordpress/templates/viewsource.tmpl:28
-#: ../themes/default/templates/actionbar.tmpl:29
+#: ../themes/Wordpress/templates/actionbar.tmpl:70
+#: ../themes/Wordpress/templates/viewsource.tmpl:30
+#: ../themes/default/templates/actionbar.tmpl:31
 #: ../themes/shamino_com/templates/actionbar.tmpl:20
-#: ../themes/shamino_com/templates/info.tmpl:166
-#: ../themes/smaller/templates/actionbar.tmpl:37
+#: ../themes/smaller/templates/actionbar.tmpl:39
 #: ../themes/smaller/templates/info.tmpl:6
 msgid "PageHistory"
 msgstr "HistoriqueDeLaPage"
 
-#: ../lib/plugin/PageHistory.php:251
+#: ../lib/plugin/PageHistory.php:264
 #, php-format
 msgid "List PageHistory for %s"
 msgstr "Historique de %s"
 
 # lib/pageinfo.php:26 lib/pageinfo.php:75
 #: ../lib/plugin/PageInfo.php:32 ../themes/Crao/templates/actionbar.tmpl:24
-#: ../themes/Portland/templates/actionbar.tmpl:19
-#: ../themes/Wordpress/templates/actionbar.tmpl:71
-#: ../themes/default/templates/actionbar.tmpl:31
+#: ../themes/MonoBook/templates/actionbar.tmpl:64
+#: ../themes/Portland/templates/actionbar.tmpl:15
+#: ../themes/Wordpress/templates/actionbar.tmpl:72
+#: ../themes/default/templates/actionbar.tmpl:33
 #: ../themes/shamino_com/templates/actionbar.tmpl:5
 msgid "PageInfo"
 msgstr "InfosSurLaPage"
@@ -3302,7 +3689,7 @@
 
 # lib/msql.php:31 lib/msql.php:37
 #: ../lib/plugin/PasswordReset.php:61 ../lib/plugin/PasswordReset.php:82
-#: ../lib/plugin/UserPreferences.php:104
+#: ../lib/plugin/UserPreferences.php:104 ../lib/plugin/WatchPage.php:150
 #: ../themes/default/templates/wikiforum.tmpl:22
 msgid "Message"
 msgstr "Message"
@@ -3313,7 +3700,7 @@
 msgstr ""
 
 #: ../lib/plugin/PasswordReset.php:64 ../lib/plugin/PasswordReset.php:85
-#: ../lib/plugin/PasswordReset.php:159
+#: ../lib/plugin/PasswordReset.php:163
 msgid "Error"
 msgstr ""
 
@@ -3332,93 +3719,72 @@
 msgid "Error sending email with password for user %s."
 msgstr "Mot de passe ou identifiant d'utilisateur invalide."
 
-#: ../lib/plugin/PasswordReset.php:94
+#: ../lib/plugin/PasswordReset.php:93
 #, fuzzy
 msgid "Reset password of user: "
 msgstr "Mot de passe ou identifiant d'utilisateur invalide."
 
-#: ../lib/plugin/PasswordReset.php:104 ../lib/plugin/PasswordReset.php:142
+#: ../lib/plugin/PasswordReset.php:103 ../lib/plugin/PasswordReset.php:146
 msgid "Send email"
 msgstr ""
 
-#: ../lib/plugin/PasswordReset.php:129
+#: ../lib/plugin/PasswordReset.php:132
 msgid "You need to specify the userid!"
 msgstr ""
 
-#: ../lib/plugin/PasswordReset.php:150
+#: ../lib/plugin/PasswordReset.php:154
 msgid "Already logged in"
 msgstr ""
 
-#: ../lib/plugin/PasswordReset.php:151
+#: ../lib/plugin/PasswordReset.php:155
 msgid "Changing passwords is done at "
 msgstr ""
 
-#: ../lib/plugin/PasswordReset.php:151 ../lib/plugin/UserPreferences.php:38
-#: ../themes/Crao/templates/head.tmpl:85 ../themes/Crao/templates/head.tmpl:86
-#: ../themes/Crao/templates/navbar.tmpl:23
-#: ../themes/MonoBook/templates/navbar.tmpl:49
-#: ../themes/blog/templates/navbar.tmpl:17
-#: ../themes/default/templates/head.tmpl:92
-#: ../themes/default/templates/head.tmpl:93
-#: ../themes/default/templates/homepage.tmpl:11
-#: ../themes/default/templates/navbar.tmpl:40
-#: ../themes/shamino_com/templates/top.tmpl:28
-#: ../themes/smaller/templates/navbar.tmpl:22
-#: ../themes/wikilens/templates/head.tmpl:85
-#: ../themes/wikilens/templates/head.tmpl:86
-msgid "UserPreferences"
-msgstr "PrfrencesUtilisateurs"
-
-#: ../lib/plugin/PasswordReset.php:160
+#: ../lib/plugin/PasswordReset.php:164
 #, php-format
 msgid "No email stored for user %s."
 msgstr ""
 
-#: ../lib/plugin/PasswordReset.php:162
+#: ../lib/plugin/PasswordReset.php:166
 #, fuzzy
 msgid "You need to ask an Administrator to reset this password. See below: "
 msgstr "Vous devez tre un administrateur pour utiliser ce plugin."
 
-#: ../lib/plugin/PasswordReset.php:174
+#: ../lib/plugin/PasswordReset.php:178
 #, fuzzy, php-format
 msgid "Do you really want to reset the password of user %s?"
 msgstr "Voulez-vous rellement effacer toutes vos PrfrencesUtilisateurs ?"
 
-#: ../lib/plugin/PasswordReset.php:175
+#: ../lib/plugin/PasswordReset.php:179
 msgid "An email will be sent."
 msgstr ""
 
-#: ../lib/plugin/PhotoAlbum.php:94
+#: ../lib/plugin/PhotoAlbum.php:97 ../themes/blog/templates/actionbar.tmpl:12
 msgid "PhotoAlbum"
 msgstr "AlbumPhotos"
 
-#: ../lib/plugin/PhotoAlbum.php:98
+#: ../lib/plugin/PhotoAlbum.php:101
 msgid ""
 "Displays a set of photos listed in a text file with optional descriptions"
 msgstr ""
 "Affiche un groupe de photos listes dans un fichier texte avec des "
 "descriptions facultatives."
 
-#: ../lib/plugin/PhotoAlbum.php:476
-#, php-format
-msgid "Invalid argument: %s=%s"
-msgstr "Argument non valable : %s=%s"
-
-#: ../lib/plugin/PhotoAlbum.php:536 ../lib/plugin/PhotoAlbum.php:557
-#: ../lib/plugin/Transclude.php:85
+#: ../lib/plugin/PhotoAlbum.php:540 ../lib/plugin/PhotoAlbum.php:565
+#: ../lib/plugin/Transclude.php:94
 msgid "Bad url in src: remove all of <, >, \""
 msgstr "Mauvaise url dans la source : retirez tous les <, >, \""
 
-#: ../lib/plugin/PhotoAlbum.php:554
+#: ../lib/plugin/PhotoAlbum.php:562
 msgid "File extension for csv file has to be '.csv'"
 msgstr ""
 
-#: ../lib/plugin/PhotoAlbum.php:605
-#, fuzzy, php-format
+#: ../lib/plugin/PhotoAlbum.php:616
+#, php-format
 msgid "Unable to find src='%s'"
 msgstr "Impossible de lire src=%s"
 
-#: ../lib/plugin/PhotoAlbum.php:617
+#: ../lib/plugin/PhotoAlbum.php:628
 #, php-format
 msgid "Unable to read src='%s'"
 msgstr "Impossible de lire src=%s"
@@ -3484,7 +3850,8 @@
 msgid "shell commands not allowed in Ploticus"
 msgstr ""
 
-#: ../lib/plugin/Ploticus.php:249 ../lib/plugin/SyntaxHighlighter.php:180
+#: ../lib/plugin/Ploticus.php:270 ../lib/plugin/SpellCheck.php:123
+#: ../lib/plugin/SyntaxHighlighter.php:180
 msgid "empty source"
 msgstr "source vide"
 
@@ -3517,6 +3884,11 @@
 msgid "%s does not appear to be a WikiPlugin."
 msgstr "%s ne semble pas tre un plugin."
 
+#: ../lib/plugin/PluginManager.php:135 ../lib/upgrade.php:222
+#: ../themes/MonoBook/templates/navbar.tmpl:20
+msgid "Help"
+msgstr ""
+
 #: ../lib/plugin/PopUp.php:49
 msgid "PopUp"
 msgstr ""
@@ -3552,6 +3924,44 @@
 msgid "%d most popular nearby: "
 msgstr "%d pages les plus visites aux alentours : "
 
+# lib/stdlib.php:74
+#: ../lib/plugin/PopularTags.php:34
+#, fuzzy
+msgid "PopularTags"
+msgstr "PopulairesAlentour"
+
+#: ../lib/plugin/PopularTags.php:38
+#, fuzzy
+msgid "List the most popular tags."
+msgstr "Affiche la listes des pages les plus populaires."
+
+# lib/diff.php:997
+#: ../lib/plugin/PopularTags.php:59 ../lib/plugin/_WikiTranslation.php:56
+msgid "CategoryCategory"
+msgstr "CatgorieCatgorie"
+
+#: ../lib/plugin/PopularTags.php:64 ../lib/plugin/Template.php:60
+msgid "Template"
+msgstr "Thme"
+
+# lib/diff.php:997
+#: ../lib/plugin/PopularTags.php:78
+msgid "Category"
+msgstr "Catgorie"
+
+#: ../lib/plugin/PopularTags.php:79
+msgid "Topic"
+msgstr "Sujet"
+
+#: ../lib/plugin/PreferenceApp.php:37
+#, fuzzy
+msgid "PreferenceApp"
+msgstr "Prfrences"
+
+#: ../lib/plugin/PreferenceApp.php:41
+msgid "Analyzes preferences based on voting budget and ratings."
+msgstr ""
+
 #: ../lib/plugin/PrevNext.php:32
 msgid "PrevNext"
 msgstr "PrcdentSuivant"
@@ -3571,7 +3981,7 @@
 
 # lib/display.php:14
 #: ../lib/plugin/RandomPage.php:33 ../lib/plugin/RandomPage.php:82
-#: ../themes/MonoBook/templates/navbar.tmpl:15
+#: ../themes/MonoBook/templates/navbar.tmpl:19
 msgid "RandomPage"
 msgstr "PageAlatoire"
 
@@ -3579,50 +3989,49 @@
 msgid "Displays a list of randomly chosen pages or redirects to a random page."
 msgstr "Affiche une liste de pages prises au hasard sur ce wiki."
 
-#: ../lib/plugin/RateIt.php:90 ../lib/plugin/RateIt.php:139
-#: ../lib/plugin/RateIt.php:146 ../lib/plugin/RateIt.php:291
-#: ../lib/upgrade.php:387
+#: ../lib/plugin/RateIt.php:89 ../lib/plugin/RateIt.php:138
+#: ../lib/plugin/RateIt.php:145 ../lib/plugin/RateIt.php:290
+#: ../lib/upgrade.php:452
 msgid "RateIt"
 msgstr "ClassezLa"
 
-#: ../lib/plugin/RateIt.php:93
+#: ../lib/plugin/RateIt.php:92
 msgid "Rating system. Store user ratings per page"
 msgstr "Systme de vote. Stocke les votes d'utilisateur par page."
 
-#: ../lib/plugin/RateIt.php:117
-#, fuzzy
+#: ../lib/plugin/RateIt.php:116
 msgid "Your rating "
 msgstr "Votre note "
 
-#: ../lib/plugin/RateIt.php:258
+#: ../lib/plugin/RateIt.php:257
 #, php-format
 msgid "Rated by %d users | Average rating %.1f stars"
 msgstr "Not par %d utilisateurs | Moyenne des notes %.1f toiles."
 
-#: ../lib/plugin/RateIt.php:263
+#: ../lib/plugin/RateIt.php:262
 #, php-format
 msgid "Your rating was %.1f"
 msgstr "Votre note est %.1f"
 
-#: ../lib/plugin/RateIt.php:268
+#: ../lib/plugin/RateIt.php:267
 #, php-format
 msgid "%s prediction for you is %s stars"
 msgstr "La prdiction %s pour vous est de %s toiles."
 
-#: ../lib/plugin/RateIt.php:271
+#: ../lib/plugin/RateIt.php:270
 #, php-format
 msgid "%s prediction for you is %.1f stars"
 msgstr "la prdiction %s pour vous est de %.1f toiles."
 
-#: ../lib/plugin/RateIt.php:291
+#: ../lib/plugin/RateIt.php:290
 msgid "Rate It"
 msgstr "Classez la"
 
-#: ../lib/plugin/RateIt.php:358
+#: ../lib/plugin/RateIt.php:357
 msgid "Rate the topic of this page"
 msgstr "Notez les sujets de cette page"
 
-#: ../lib/plugin/RateIt.php:370
+#: ../lib/plugin/RateIt.php:369
 msgid "Cancel rating"
 msgstr "Annuler la notation"
 
@@ -3634,155 +4043,183 @@
 msgid "Raw HTML is disabled in this wiki."
 msgstr "Le HTML est interdit sur ce wiki."
 
-#: ../lib/plugin/RawHtml.php:83 ../lib/plugin/RedirectTo.php:82
-#, php-format
-msgid "%s is only allowed in locked pages."
-msgstr "%s n'est autoris que dans les pages verrouilles."
-
 #: ../lib/plugin/RawHtml.php:84
 msgid "Raw HTML"
 msgstr "HTML Pur"
 
-#: ../lib/plugin/RdfDefinition.php:42
-msgid "RdfDefinition"
-msgstr ""
-
-#: ../lib/plugin/RdfDefinition.php:45
-msgid "Define the RDF vocabulary for a wiki subset."
-msgstr ""
+#: ../lib/plugin/RawHtml.php:83 ../lib/plugin/RedirectTo.php:82
+#, php-format
+msgid "%s is only allowed in locked pages."
+msgstr "%s n'est autoris que dans les pages verrouilles."
 
-#: ../lib/plugin/RecentChanges.php:105
+#: ../lib/plugin/RecentChanges.php:107
 msgid "Deleted"
 msgstr "Supprim"
 
-#: ../lib/plugin/RecentChanges.php:128 ../themes/blog/themeinfo.php:119
-msgid "(diff)"
-msgstr "(diff)"
+#: ../lib/plugin/RecentChanges.php:130
+#: ../themes/SpaceWiki/lib/RecentChanges.php:55
+msgid "diff"
+msgstr "diff"
 
-#: ../lib/plugin/RecentChanges.php:135
-msgid "(hist)"
+#: ../lib/plugin/RecentChanges.php:143
+#, fuzzy
+msgid "hist"
 msgstr "(hist)"
 
-#: ../lib/plugin/RecentChanges.php:198
+#: ../lib/plugin/RecentChanges.php:185
+#, fuzzy
+msgid "contribs"
+msgstr "commentaires"
+
+#: ../lib/plugin/RecentChanges.php:192
+#, fuzzy
+msgid "new pages"
+msgstr "nouvelle page"
+
+#: ../lib/plugin/RecentChanges.php:240
 msgid "edits"
 msgstr "ditions"
 
-#: ../lib/plugin/RecentChanges.php:200
+#: ../lib/plugin/RecentChanges.php:242
 msgid "major edits"
 msgstr "ditions majeures"
 
-#: ../lib/plugin/RecentChanges.php:202
+#: ../lib/plugin/RecentChanges.php:244
 msgid "minor edits"
 msgstr "ditions mineures"
 
-#: ../lib/plugin/RecentChanges.php:203 ../lib/plugin/RecentChanges.php:279
+#: ../lib/plugin/RecentChanges.php:245 ../lib/plugin/RecentChanges.php:338
 #: ../lib/plugin/RecentComments.php:31
 msgid "Recent Comments"
 msgstr "Commentaires rcents"
 
-#: ../lib/plugin/RecentChanges.php:204
+#: ../lib/plugin/RecentChanges.php:246
 msgid "comments"
 msgstr "commentaires"
 
-#: ../lib/plugin/RecentChanges.php:229
+#: ../lib/plugin/RecentChanges.php:248
+#, fuzzy
+msgid "created new pages"
+msgstr "crer cette page"
+
+#: ../lib/plugin/RecentChanges.php:254
+#, fuzzy, php-format
+msgid " for pages changed by %s"
+msgstr "Aucune page change."
+
+#: ../lib/plugin/RecentChanges.php:260
+#, fuzzy, php-format
+msgid " for pages owned by %s"
+msgstr "Liste des pages possd prs [%s] (%d au total) :"
+
+#: ../lib/plugin/RecentChanges.php:285
 #, php-format
 msgid "The %d most recent %s during the past day are listed below."
 msgstr ""
 "Les %d %s les plus rcentes pendant le dernier jour sont listes ci-dessous."
 
-#: ../lib/plugin/RecentChanges.php:232
+#: ../lib/plugin/RecentChanges.php:288
 #, php-format
 msgid "The %d most recent %s during the past %s days are listed below."
 msgstr ""
 "Les %d %s les plus rcentes pendant les derniers %s jours sont listes ci-"
 "dessous."
 
-#: ../lib/plugin/RecentChanges.php:235
+#: ../lib/plugin/RecentChanges.php:291
 #, php-format
 msgid "The %d most recent %s are listed below."
 msgstr "Les %d %s les plus rcentes sont listes ci-dessous."
 
-#: ../lib/plugin/RecentChanges.php:241
+#: ../lib/plugin/RecentChanges.php:297
 #, php-format
 msgid "The %d oldest %s during the past day are listed below."
 msgstr ""
 "Les %d %s les plus anciennes pendant le dernier jour sont listes ci-dessous."
 
-#: ../lib/plugin/RecentChanges.php:244
+#: ../lib/plugin/RecentChanges.php:300
 #, php-format
 msgid "The %d oldest %s during the past %s days are listed below."
 msgstr ""
 "Les %d %s les plus anciennes pendant les derniers %s jours sont listes ci-"
 "dessous."
 
-#: ../lib/plugin/RecentChanges.php:247
+#: ../lib/plugin/RecentChanges.php:303
 #, php-format
 msgid "The %d oldest %s are listed below."
 msgstr "Les %d %s les plus anciennes sont listes ci-dessous."
 
-#: ../lib/plugin/RecentChanges.php:254
+#: ../lib/plugin/RecentChanges.php:310
 #, php-format
 msgid "The most recent %s during the past day are listed below."
 msgstr ""
 "Les %s les plus rcentes pendant le dernier jour sont listes ci-dessous."
 
-#: ../lib/plugin/RecentChanges.php:257
+#: ../lib/plugin/RecentChanges.php:313
 #, php-format
 msgid "The most recent %s during the past %s days are listed below."
 msgstr ""
 "Les %s les plus rcentes pendant les derniers %s jours sont listes ci-"
 "dessous."
 
-#: ../lib/plugin/RecentChanges.php:260
+#: ../lib/plugin/RecentChanges.php:316
 #, php-format
 msgid "All %s are listed below."
 msgstr "Toutes les %s sont numres ci-dessous."
 
-#: ../lib/plugin/RecentChanges.php:272 ../lib/plugin/RecentChanges.php:287
-#: ../lib/plugin/RecentChanges.php:390 ../lib/plugin/RecentChanges.php:467
+#: ../lib/plugin/RecentChanges.php:328 ../lib/plugin/RecentChanges.php:346
+#: ../lib/plugin/RecentChanges.php:523 ../lib/plugin/RecentChanges.php:600
 #: ../lib/plugin/RecentEdits.php:10 ../lib/plugin/RecentEdits.php:36
 #: ../lib/plugin/RelatedChanges.php:27
-#: ../themes/Portland/templates/editpage.tmpl:49
-#: ../themes/Wordpress/templates/editpage.tmpl:58
+#: ../themes/Portland/templates/editpage.tmpl:45
+#: ../themes/Wordpress/templates/editpage.tmpl:57
 msgid "RecentEdits"
 msgstr "ditionsRcentes"
 
-#: ../lib/plugin/RecentChanges.php:280 ../lib/plugin/RecentComments.php:65
+#: ../lib/plugin/RecentChanges.php:339 ../lib/plugin/RecentComments.php:65
 msgid "No comments found"
 msgstr "Aucune diffrence trouve"
 
-#: ../lib/plugin/RecentChanges.php:282
+#: ../lib/plugin/RecentChanges.php:341
 msgid "No changes found"
 msgstr "Aucun commentaire trouv"
 
+#: ../lib/plugin/RecentChanges.php:457
+#, fuzzy
+msgid "UserContribs"
+msgstr "Statistiques d'utilisateur"
+
 # lib/fullsearch.php:48
-#: ../lib/plugin/RecentChanges.php:592
+#: ../lib/plugin/RecentChanges.php:725
 msgid "Title Search"
 msgstr "Recherche par titre"
 
-#: ../lib/plugin/RecentChanges.php:893
+#: ../lib/plugin/RecentChanges.php:1189
 msgid "Show minor edits for:"
 msgstr "Afficher les ditions mineures pour :"
 
-#: ../lib/plugin/RecentChanges.php:895
+#: ../lib/plugin/RecentChanges.php:1191
 msgid "Show all changes for:"
 msgstr "Indiquer toutes les modifications pour :"
 
-#: ../lib/plugin/RecentChanges.php:897
+#: ../lib/plugin/RecentChanges.php:1193
 msgid "Show changes for:"
 msgstr "Indiquer les modifications pour :"
 
-#: ../lib/plugin/RecentChanges.php:917
+#: ../lib/plugin/RecentChanges.php:1195
+msgid "All new pages since:"
+msgstr ""
+
+#: ../lib/plugin/RecentChanges.php:1215
 msgid "1 day"
 msgstr "1 jour"
 
-#: ../lib/plugin/RecentChanges.php:921
+#: ../lib/plugin/RecentChanges.php:1219
 #, php-format
 msgid "%s days"
 msgstr "%s jours"
 
 #: ../lib/plugin/RecentComments.php:17
-#: ../themes/MonoBook/templates/navbar.tmpl:14
+#: ../themes/MonoBook/templates/navbar.tmpl:16
 msgid "RecentComments"
 msgstr "CommentairesRcents"
 
@@ -3835,7 +4272,7 @@
 
 # lib/stdlib.php:384 lib/stdlib.php:445
 #: ../lib/plugin/RelatedChanges.php:73 ../themes/Crao/templates/navbar.tmpl:15
-#: ../themes/MonoBook/templates/navbar.tmpl:43
+#: ../themes/MonoBook/templates/navbar.tmpl:54
 msgid "RelatedChanges"
 msgstr "ChangementsLis"
 
@@ -3859,14 +4296,143 @@
 msgid "no RSS items"
 msgstr ""
 
-#: ../lib/plugin/SearchHighlight.php:37
+#: ../lib/plugin/SearchHighlight.php:39
 msgid "SearchHighlight"
 msgstr ""
 
-#: ../lib/plugin/SearchHighlight.php:41
+#: ../lib/plugin/SearchHighlight.php:43
 msgid "Hilight referred search terms."
 msgstr ""
 
+#: ../lib/plugin/SearchHighlight.php:73
+#, php-format
+msgid "%s: Found %s through %s"
+msgstr ""
+
+#: ../lib/plugin/SemanticRelations.php:35
+#, fuzzy
+msgid "SemanticRelations"
+msgstr "Annuler la notation"
+
+#: ../lib/plugin/SemanticRelations.php:38
+#, fuzzy
+msgid "Display the list of relations and attributes on this page."
+msgstr "Changer les attributs de cette page"
+
+#: ../lib/plugin/SemanticRelations.php:80
+#: ../lib/plugin/SemanticRelations.php:97 ../lib/plugin/SemanticSearch.php:57
+#, fuzzy
+msgid "SemanticSearch"
+msgstr "RechercheInterWiki"
+
+#: ../lib/plugin/SemanticRelations.php:86
+#, fuzzy, php-format
+msgid "Semantic relations for %s"
+msgstr "Il manque %s pour %s"
+
+#: ../lib/plugin/SemanticRelations.php:110
+#, php-format
+msgid "Attributes of %s"
+msgstr ""
+
+#: ../lib/plugin/SemanticRelations.php:119
+#: ../lib/plugin/SemanticRelations.php:120
+#, fuzzy
+msgid "Help/SemanticRelations"
+msgstr "Annuler la notation"
+
+#: ../lib/plugin/SemanticRelations.php:122
+#, fuzzy
+msgid "Find out how to add relations and attributes to pages."
+msgstr "Changer les attributs de cette page"
+
+#: ../lib/plugin/SemanticSearch.php:60
+#, fuzzy
+msgid "Search relations and attributes"
+msgstr "Changer les attributs de cette page"
+
+#: ../lib/plugin/SemanticSearch.php:106
+msgid "Filter by this relation. With autocompletion."
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:124
+#, fuzzy
+msgid "Relations"
+msgstr "Liens correspondants"
+
+#: ../lib/plugin/SemanticSearch.php:132 ../lib/plugin/SemanticSearch.php:208
+msgid "Add an AND query"
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:133 ../lib/plugin/SemanticSearch.php:209
+msgid "OR"
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:136 ../lib/plugin/SemanticSearch.php:212
+msgid "Add an OR query"
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:139
+msgid "Search in pages for a relation with that value (a pagename)."
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:174
+msgid "Filter by this attribute name. With autocompletion."
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:186
+msgid "Comparison operator. With autocompletion."
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:197
+msgid "Filter by this numeric attribute value. With autocompletion."
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:215
+msgid "Attributes"
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:216
+msgid "Search in pages for an attribute with that numeric value."
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:219
+msgid "Advanced..."
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:219
+#, fuzzy
+msgid "SemanticSearchAdvanced"
+msgstr "RechercheInterWiki"
+
+#: ../lib/plugin/SemanticSearch.php:261
+msgid "No relations nor attributes in the whole wikidb defined!"
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:263
+#, fuzzy
+msgid "Help:SemanticRelations"
+msgstr "Annuler la notation"
+
+#: ../lib/plugin/SemanticSearch.php:311
+#, php-format
+msgid "Illegal operator: %s"
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:358
+#, php-format
+msgid "Only text operators can be used with strings: %s"
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:378
+msgid "Value"
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:393
+#, php-format
+msgid "Semantic %s Search Result for \"%s\" in pages \"%s\""
+msgstr ""
+
 #: ../lib/plugin/SiteMap.php:51
 msgid "SiteMap"
 msgstr "CarteDuSite"
@@ -3880,6 +4446,27 @@
 msgid "(max. recursion level: %d)"
 msgstr "(niveau maximum de rcursivit: %d)"
 
+#: ../lib/plugin/SpellCheck.php:68
+msgid "Spell Checker"
+msgstr ""
+
+#: ../lib/plugin/SpellCheck.php:71
+msgid "Check the spelling of a page and make suggestions"
+msgstr ""
+
+#: ../lib/plugin/SpellCheck.php:124
+#, fuzzy
+msgid "SpellCheck"
+msgstr "Slectionner"
+
+#: ../lib/plugin/SpellCheck.php:125
+msgid "Cannot SpellCheck myself"
+msgstr ""
+
+#: ../lib/plugin/SpellCheck.php:171
+msgid "SpellCheck result"
+msgstr ""
+
 #: ../lib/plugin/SqlResult.php:67
 msgid "SqlResult"
 msgstr "RsultatSql"
@@ -3897,6 +4484,90 @@
 msgid "No DSN for alias %s in SqlResult.ini found"
 msgstr "Aucun alias DSN trouv pour %s dans SqlResult.ini"
 
+#: ../lib/plugin/SyncWiki.php:46
+msgid "SyncWiki"
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:50
+msgid "Synchronize pages with external PhpWiki"
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:113
+#, fuzzy
+msgid "Syncing this PhpWiki"
+msgstr "Mise  jour du PhpWiki"
+
+#: ../lib/plugin/SyncWiki.php:114
+msgid "Download all externally changed sources."
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:116
+#, php-format
+msgid "Retrieving from external url %s wiki.getRecentChanges(%s)..."
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:123 ../lib/plugin/WhoIsOnline.php:125
+msgid "<unknown>"
+msgstr "<inconnue>"
+
+#: ../lib/plugin/SyncWiki.php:138 ../lib/plugin/SyncWiki.php:191
+#: ../lib/plugin/SyncWiki.php:226 ../lib/upgrade.php:92 ../lib/upgrade.php:96
+#: ../lib/upgrade.php:176 ../lib/upgrade.php:217 ../lib/upgrade.php:1120
+msgid " skipped"
+msgstr " ignor"
+
+#: ../lib/plugin/SyncWiki.php:160
+msgid "same date"
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:183
+msgid "Now upload all locally newer pages."
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:185
+#, php-format
+msgid "Checking all local pages newer than %s..."
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:212
+#, fuzzy
+msgid "Now upload all locally newer uploads."
+msgstr "Pas de fichier  dposer ?"
+
+#: ../lib/plugin/SyncWiki.php:214
+#, php-format
+msgid "Checking all local uploads newer than %s..."
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:277
+#, fuzzy, php-format
+msgid "%s force"
+msgstr "%s mots"
+
+#: ../lib/plugin/SyncWiki.php:281
+#, fuzzy, php-format
+msgid "Postponed %s for %s."
+msgstr "Il manque %s pour %s"
+
+#: ../lib/plugin/SyncWiki.php:288 ../lib/plugin/SyncWiki.php:297
+#: ../lib/plugin/SyncWiki.php:312 ../lib/plugin/SyncWiki.php:321
+#: ../lib/plugin/SyncWiki.php:340
+#, fuzzy
+msgid "skipped"
+msgstr " ignor"
+
+#: ../lib/plugin/SyncWiki.php:297 ../lib/plugin/SyncWiki.php:321
+#, fuzzy
+msgid "same content"
+msgstr "pas de sommaire de page"
+
+#: ../lib/plugin/SyncWiki.php:304 ../lib/plugin/SyncWiki.php:330
+#: ../lib/plugin/SyncWiki.php:332 ../lib/plugin/SyncWiki.php:353
+#: ../lib/plugin/SyncWiki.php:355 ../lib/upgrade.php:214
+#: ../lib/upgrade.php:555 ../lib/upgrade.php:593 ../lib/upgrade.php:1111
+msgid "FAILED"
+msgstr "CHOU"
+
 #: ../lib/plugin/SyntaxHighlighter.php:68
 msgid "SyntaxHighlighter"
 msgstr "ColorationSyntaxique"
@@ -4138,29 +4809,21 @@
 "Convertit des expressions mathmatiques au format TeX en des fichiers png "
 "mis en cache."
 
-#: ../lib/plugin/TeX2png.php:34
-msgid " This is for small text"
-msgstr "C'est pour des petits textes"
-
 #: ../lib/plugin/TeX2png.php:134
 msgid " (syntax error for latex) "
 msgstr " (erreur de syntaxe pour latex) "
 
 #: ../lib/plugin/TeX2png.php:173
-msgid "TeX directory not writable."
+#, fuzzy
+msgid "TeX imagepath not writable."
 msgstr "Rpertoire TeX non accessible en criture."
 
-#: ../lib/plugin/TeX2png.php:214 ../lib/plugin/text2png.php:67
+#: ../lib/plugin/TeX2png.php:214 ../lib/plugin/text2png.php:85
 msgid "Sorry, this version of PHP cannot create PNG image files."
 msgstr ""
 "Dsol, cette version de PHP ne peut pas crer des fichiers d'image PNG."
 
-#: ../lib/plugin/Template.php:61
-#, fuzzy
-msgid "Template"
-msgstr "Thme"
-
-#: ../lib/plugin/Template.php:65
+#: ../lib/plugin/Template.php:64
 msgid "Parametrized page inclusion."
 msgstr ""
 
@@ -4173,7 +4836,7 @@
 msgstr "Rechercher les titres de toutes les pages de ce wiki."
 
 # lib/fullsearch.php:48
-#: ../lib/plugin/TitleSearch.php:103
+#: ../lib/plugin/TitleSearch.php:104
 #, php-format
 msgid "Title search results for '%s'"
 msgstr "Rsultat de recherche sur les titres de pages pour '%s'"
@@ -4186,16 +4849,16 @@
 msgid "Include an external web page within the body of a wiki page."
 msgstr "Inclure une page externe dans le corps de la WikiPage."
 
-#: ../lib/plugin/Transclude.php:88
+#: ../lib/plugin/Transclude.php:97
 msgid "Transcluded page"
 msgstr "Page insres"
 
-#: ../lib/plugin/Transclude.php:97
+#: ../lib/plugin/Transclude.php:106
 #, php-format
 msgid "See: %s"
 msgstr "Voir : %s"
 
-#: ../lib/plugin/Transclude.php:109
+#: ../lib/plugin/Transclude.php:118
 #, php-format
 msgid "Transcluded from %s"
 msgstr "Insr de %s"
@@ -4297,53 +4960,58 @@
 msgid "Upload files to the local InterWiki Upload:<filename>"
 msgstr "Transfrer les fichiers vers Upload:<filename>"
 
-#: ../lib/plugin/UpLoad.php:124
+#: ../lib/plugin/UpLoad.php:161
 msgid "ACCESS DENIED: You must log in to upload files."
 msgstr "ACCES REFUSE: Vous devez tre connect pour uploader."
 
-#: ../lib/plugin/UpLoad.php:138
+#: ../lib/plugin/UpLoad.php:185
 #, php-format
 msgid "ERROR uploading '%s': "
 msgstr "ERREUR en dposant '%s' : "
 
-#: ../lib/plugin/UpLoad.php:143
+#: ../lib/plugin/UpLoad.php:190
 #, php-format
 msgid "Files with extension %s are not allowed."
 msgstr "%s: extension interdit."
 
-#: ../lib/plugin/UpLoad.php:149
+#: ../lib/plugin/UpLoad.php:198
+#, fuzzy, php-format
+msgid "Only files with the extension %s are allowed."
+msgstr "%s: extension interdit."
+
+#: ../lib/plugin/UpLoad.php:204
 msgid ""
-"File names may only contain alphanumeric characters and dot, underscore or "
-"dash."
+"Invalid filename. File names may only contain alphanumeric characters and "
+"dot, underscore, space or dash."
 msgstr ""
 
-#: ../lib/plugin/UpLoad.php:154
+#: ../lib/plugin/UpLoad.php:209
 #, php-format
 msgid "There is already a file with name %s uploaded."
 msgstr "Un fichier portant le nom '%s' existe dj."
 
-#: ../lib/plugin/UpLoad.php:159
+#: ../lib/plugin/UpLoad.php:214
 msgid "Sorry but this file is too big."
 msgstr "Dsol, mais le fichier est trop gros."
 
-#: ../lib/plugin/UpLoad.php:167
+#: ../lib/plugin/UpLoad.php:222
 msgid "File successfully uploaded."
 msgstr "Fichier transfr avec succs."
 
-#: ../lib/plugin/UpLoad.php:184
+#: ../lib/plugin/UpLoad.php:239
 #, php-format
 msgid "uploaded %s"
 msgstr "dpt de %s"
 
-#: ../lib/plugin/UpLoad.php:191
+#: ../lib/plugin/UpLoad.php:246
 msgid "Uploading failed."
 msgstr "chec du dpt."
 
-#: ../lib/plugin/UpLoad.php:209
+#: ../lib/plugin/UpLoad.php:264
 msgid "The upload logfile is not writable."
 msgstr "Erreur : le journal des dpts n'est pas disponible en criture."
 
-#: ../lib/plugin/UpLoad.php:212
+#: ../lib/plugin/UpLoad.php:267
 msgid "Can't open the upload logfile."
 msgstr "Erreur: Impossible d'ouvrir le journal des fichiers dposs."
 
@@ -4417,15 +5085,15 @@
 msgid "Here are your %d page ratings:"
 msgstr ""
 
-#: ../lib/plugin/UserRatings.php:220
+#: ../lib/plugin/UserRatings.php:222
 msgid "Pred"
 msgstr ""
 
-#: ../lib/plugin/UserRatings.php:224 ../lib/wikilens/PageListColumns.php:367
+#: ../lib/plugin/UserRatings.php:226 ../lib/wikilens/PageListColumns.php:367
 msgid "Rate"
 msgstr "Note"
 
-#: ../lib/plugin/VisualWiki.php:65
+#: ../lib/plugin/VisualWiki.php:66
 msgid ""
 "Visualizes the Wiki structure in a graph using the 'dot' commandline tool "
 "from graphviz."
@@ -4433,57 +5101,79 @@
 "Reprsenter la structure du wiki par un graphe utilisant l'outil dot de "
 "graphviz."
 
-#: ../lib/plugin/VisualWiki.php:493
+#: ../lib/plugin/VisualWiki.php:497
 msgid "Legend"
 msgstr "Lgende"
 
 # lib/display.php:14
-#: ../lib/plugin/WantedPages.php:39 ../lib/plugin/WantedPages.php:69
-#: ../lib/plugin/WantedPagesOld.php:33 ../lib/plugin/WantedPagesOld.php:66
+#: ../lib/plugin/WantedPages.php:39 ../lib/plugin/WantedPages.php:70
 msgid "WantedPages"
 msgstr "PagesRecherches"
 
-#: ../lib/plugin/WantedPages.php:42 ../lib/plugin/WantedPagesOld.php:37
+#: ../lib/plugin/WantedPages.php:42
 msgid "Lists referenced page names which do not exist yet."
 msgstr "Afficher toutes les pages rfrences qui n'existent pas."
 
-#: ../lib/plugin/WantedPages.php:54 ../lib/plugin/WantedPagesOld.php:47
-#: ../lib/plugin/_WikiTranslation.php:84 ../lib/plugin/_WikiTranslation.php:98
+#: ../lib/plugin/WantedPages.php:55 ../lib/plugin/_WikiTranslation.php:84
+#: ../lib/plugin/_WikiTranslation.php:98
 msgid "PgsrcTranslation"
 msgstr "TraductionPgsrc"
 
-#: ../lib/plugin/WantedPages.php:78
+#: ../lib/plugin/WantedPages.php:79
 msgid "Wanted From"
 msgstr "Recherches par"
 
-#: ../lib/plugin/WantedPages.php:115
+#: ../lib/plugin/WantedPages.php:130
 #, php-format
 msgid "Wanted Pages for %s:"
 msgstr "Pages recherches pour %s :"
 
-#: ../lib/plugin/WantedPages.php:117
+#: ../lib/plugin/WantedPages.php:132
 #, php-format
 msgid "Wanted Pages in this wiki:"
 msgstr "Pages recherches dans ce wiki :"
 
-#: ../lib/plugin/WantedPagesOld.php:100
-#: ../themes/default/templates/online.tmpl:38
-msgid "<none>"
-msgstr "<aucune>"
+#: ../lib/plugin/WantedPages.php:174
+#, fuzzy, php-format
+msgid "(%d Links)"
+msgstr "Liens"
 
-#: ../lib/plugin/WantedPagesOld.php:115
-#, php-format
-msgid "Wanted Pages for %s (%d total):"
-msgstr "Pages recherches pour %s  dans ce wiki (%d au total) :"
+#: ../lib/plugin/WatchPage.php:35
+#, fuzzy
+msgid "WatchPage"
+msgstr "Largeur"
 
-#: ../lib/plugin/WantedPagesOld.php:149
-#, php-format
-msgid "Wanted Pages in this wiki (%d total):"
-msgstr "Pages recherches dans ce wiki (%d au total) :"
+#: ../lib/plugin/WatchPage.php:78
+msgid "Your current watchlist: "
+msgstr ""
 
-#: ../lib/plugin/WantedPagesOld.php:151
-msgid "Count"
-msgstr "Compte"
+#: ../lib/plugin/WatchPage.php:79
+msgid "New watchlist: "
+msgstr ""
+
+#: ../lib/plugin/WatchPage.php:82
+#, php-format
+msgid "Do you %s want to add this page \"%s\" to your WatchList?"
+msgstr ""
+
+#: ../lib/plugin/WatchPage.php:83
+msgid "really"
+msgstr ""
+
+#: ../lib/plugin/WatchPage.php:88
+#, fuzzy, php-format
+msgid "The page %s is already watched!"
+msgstr "Cette page existe dj"
+
+#: ../lib/plugin/WatchPage.php:114
+msgid "ERROR: No email defined! You need to do this in your "
+msgstr ""
+
+#: ../lib/plugin/WatchPage.php:151
+msgid ""
+"E-Mail Notification for the current page successfully stored in your "
+"preferences."
+msgstr ""
 
 #: ../lib/plugin/WhoIsOnline.php:38 ../lib/plugin/WhoIsOnline.php:84
 msgid "WhoIsOnline"
@@ -4506,10 +5196,6 @@
 msgid "Guest"
 msgstr "Invit"
 
-#: ../lib/plugin/WhoIsOnline.php:125
-msgid "<unknown>"
-msgstr "<inconnue>"
-
 #: ../lib/plugin/WhoIsOnline.php:196
 #, php-format
 msgid "%d minutes"
@@ -4519,7 +5205,7 @@
 msgid "WikiAdminChmod"
 msgstr "AdministrationDePhpWiki/Droits"
 
-#: ../lib/plugin/WikiAdminChmod.php:44 ../lib/plugin/WikiAdminSetAcl.php:43
+#: ../lib/plugin/WikiAdminChmod.php:44 ../lib/plugin/WikiAdminSetAcl.php:47
 msgid "Set individual page permissions."
 msgstr "Rgler les permissions de pages individuellement."
 
@@ -4537,7 +5223,7 @@
 msgid "Invalid chmod string"
 msgstr "Chane de caractre invalide pour le changement de mode"
 
-#: ../lib/plugin/WikiAdminChmod.php:90 ../lib/plugin/WikiAdminSetAcl.php:109
+#: ../lib/plugin/WikiAdminChmod.php:90 ../lib/plugin/WikiAdminSetAcl.php:113
 #, php-format
 msgid "%s pages have been changed."
 msgstr "Les pages %s ont t changes."
@@ -4545,12 +5231,12 @@
 #: ../lib/plugin/WikiAdminChmod.php:93 ../lib/plugin/WikiAdminChown.php:89
 #: ../lib/plugin/WikiAdminMarkup.php:97
 #: ../lib/plugin/WikiAdminSearchReplace.php:113
-#: ../lib/plugin/WikiAdminSetAcl.php:112
+#: ../lib/plugin/WikiAdminSetAcl.php:116
 msgid "No pages changed."
 msgstr "Aucune page change."
 
 # lib/diff.php:1001 lib/diff.php:1019
-#: ../lib/plugin/WikiAdminChmod.php:140 ../lib/plugin/WikiAdminSetAcl.php:170
+#: ../lib/plugin/WikiAdminChmod.php:140 ../lib/plugin/WikiAdminSetAcl.php:174
 msgid "Permission"
 msgstr "Permission"
 
@@ -4562,7 +5248,7 @@
 msgid "Chmod"
 msgstr "Chmod"
 
-#: ../lib/plugin/WikiAdminChmod.php:155 ../lib/plugin/WikiAdminSetAcl.php:185
+#: ../lib/plugin/WikiAdminChmod.php:155 ../lib/plugin/WikiAdminSetAcl.php:189
 msgid "Select the pages to change:"
 msgstr "Slectionnez les pages  modifier :"
 
@@ -4578,11 +5264,11 @@
 msgid "(ugo : rwx)"
 msgstr "(ugo : rwx)"
 
-#: ../lib/plugin/WikiAdminChmod.php:189 ../lib/plugin/WikiAdminSetAcl.php:253
+#: ../lib/plugin/WikiAdminChmod.php:189 ../lib/plugin/WikiAdminSetAcl.php:257
 msgid "Propagate new permissions to all subpages?"
 msgstr "Propager les nouvelles permissions aux sous-pages ?"
 
-#: ../lib/plugin/WikiAdminChmod.php:191 ../lib/plugin/WikiAdminSetAcl.php:255
+#: ../lib/plugin/WikiAdminChmod.php:191 ../lib/plugin/WikiAdminSetAcl.php:259
 msgid "(disable individual page permissions, enable inheritance)?"
 msgstr ""
 "(dsactive les permissions individuelles par page, activer l'hritage) ?"
@@ -4598,7 +5284,7 @@
 #: ../lib/plugin/WikiAdminChown.php:69 ../lib/plugin/WikiAdminMarkup.php:70
 #: ../lib/plugin/WikiAdminRename.php:84
 #: ../lib/plugin/WikiAdminSearchReplace.php:98
-#: ../lib/plugin/WikiAdminSetAcl.php:100
+#: ../lib/plugin/WikiAdminSetAcl.php:104
 #, php-format
 msgid "Access denied to change page '%s'."
 msgstr "Accs refus pour changer la page '%s'."
@@ -4642,9 +5328,8 @@
 msgstr ""
 
 #: ../lib/plugin/WikiAdminMarkup.php:37
-#, fuzzy
 msgid "WikiAdminMarkup"
-msgstr "WikiAdminRenommer"
+msgstr ""
 
 #: ../lib/plugin/WikiAdminMarkup.php:41
 #, fuzzy
@@ -4723,7 +5408,7 @@
 msgstr "AdministrationDePhpWiki/Supprimer"
 
 #: ../lib/plugin/WikiAdminRemove.php:183 ../lib/plugin/WikiAdminRemove.php:232
-#: ../themes/blog/themeinfo.php:59
+#: ../themes/blog/themeinfo.php:67
 msgid "Remove"
 msgstr "Supprimer"
 
@@ -4920,186 +5605,213 @@
 msgid "Select pages"
 msgstr "Slectionner les pages"
 
-#: ../lib/plugin/WikiAdminSetAcl.php:39
+#: ../lib/plugin/WikiAdminSetAcl.php:43
 msgid "WikiAdminSetAcl"
 msgstr "WikiAdminSetAcl"
 
-#: ../lib/plugin/WikiAdminSetAcl.php:94
+#: ../lib/plugin/WikiAdminSetAcl.php:98
 #, php-format
 msgid "ACL not changed for page '%s'."
 msgstr "ACL inchang pour la page %s."
 
-#: ../lib/plugin/WikiAdminSetAcl.php:97
+#: ../lib/plugin/WikiAdminSetAcl.php:101
 #, php-format
 msgid "ACL changed for page '%s'."
 msgstr "ACL modifi pour la page %s."
 
-#: ../lib/plugin/WikiAdminSetAcl.php:104
+#: ../lib/plugin/WikiAdminSetAcl.php:108
 msgid "Invalid ACL"
 msgstr "Acl invalide"
 
-#: ../lib/plugin/WikiAdminSetAcl.php:120 ../lib/plugin/_WikiTranslation.php:94
+#: ../lib/plugin/WikiAdminSetAcl.php:124 ../lib/plugin/_WikiTranslation.php:94
 msgid "PhpWikiAdministration/SetAcl"
 msgstr "AdministrationDePhpWiki/DfinirAcl"
 
-#: ../lib/plugin/WikiAdminSetAcl.php:172 ../lib/plugin/WikiAdminSetAcl.php:228
+#: ../lib/plugin/WikiAdminSetAcl.php:176 ../lib/plugin/WikiAdminSetAcl.php:232
 msgid "ACL"
 msgstr "ACL"
 
-#: ../lib/plugin/WikiAdminSetAcl.php:180
+#: ../lib/plugin/WikiAdminSetAcl.php:184
 msgid ""
 "Are you sure you want to permanently change access to the selected files?"
 msgstr ""
 "tes-vous sr de vouloir dfinitivement modifier l'accs aux fichiers "
 "slectionns ?"
 
-#: ../lib/plugin/WikiAdminSetAcl.php:215
+#: ../lib/plugin/WikiAdminSetAcl.php:219
 msgid "Selected Pages: "
 msgstr "Pages slectionnes : "
 
-#: ../lib/plugin/WikiAdminSetAcl.php:221
+#: ../lib/plugin/WikiAdminSetAcl.php:225
 #, php-format
 msgid "page permission inherited from %s"
 msgstr "permissions hrites de %s"
 
-#: ../lib/plugin/WikiAdminSetAcl.php:223
+#: ../lib/plugin/WikiAdminSetAcl.php:227
 msgid "invidual page permission"
 msgstr "Permission de page individuelle"
 
-#: ../lib/plugin/WikiAdminSetAcl.php:225
+#: ../lib/plugin/WikiAdminSetAcl.php:229
 msgid "default page permission"
 msgstr "Permission de page par dfaut"
 
-#: ../lib/plugin/WikiAdminSetAcl.php:226
+#: ../lib/plugin/WikiAdminSetAcl.php:230
 msgid "Type"
 msgstr "Type"
 
-#: ../lib/plugin/WikiAdminSetAcl.php:227
+#: ../lib/plugin/WikiAdminSetAcl.php:231
 msgid "getfacl"
 msgstr "getfacl"
 
-#: ../lib/plugin/WikiAdminSetAcl.php:231
+#: ../lib/plugin/WikiAdminSetAcl.php:235
 msgid ""
 "Selected Grant checkboxes allow access, unselected checkboxes deny access."
 msgstr "Les cases slectionnes autorisent l'accs, sinon elles l'interdisent."
 
-#: ../lib/plugin/WikiAdminSetAcl.php:232
+#: ../lib/plugin/WikiAdminSetAcl.php:236
 msgid "To ignore delete the line."
 msgstr "Pour ignorer effacez la ligne."
 
-#: ../lib/plugin/WikiAdminSetAcl.php:233
+#: ../lib/plugin/WikiAdminSetAcl.php:237
 msgid "To add check 'Add' near the dropdown list."
 msgstr "Pour ajouter cocher 'Add' prs de la liste droulante."
 
-#: ../lib/plugin/WikiAdminSetAcl.php:256
+#: ../lib/plugin/WikiAdminSetAcl.php:260
 msgid "(Currently not working)"
 msgstr "(Non recommand !)"
 
-#: ../lib/plugin/WikiAdminUtils.php:36
+#: ../lib/plugin/WikiAdminUtils.php:38
 msgid "WikiAdminUtils"
 msgstr "WikiAdminUtils"
 
-#: ../lib/plugin/WikiAdminUtils.php:40
+#: ../lib/plugin/WikiAdminUtils.php:42
 msgid "Miscellaneous utility functions for the Administrator."
 msgstr "Plusieurs fonctions pour l'administration d'un wiki."
 
-#: ../lib/plugin/WikiAdminUtils.php:72
+#: ../lib/plugin/WikiAdminUtils.php:74
 msgid "You must be an administrator to use this plugin."
 msgstr "Vous devez tre un administrateur pour utiliser ce plugin."
 
-#: ../lib/plugin/WikiAdminUtils.php:101
-msgid "WikiAdminUtils says:"
+#: ../lib/plugin/WikiAdminUtils.php:103
+#, fuzzy, php-format
+msgid "WikiAdminUtils %s returned:"
 msgstr "WikiAdminUtils dit :"
 
-#: ../lib/plugin/WikiAdminUtils.php:103 ../lib/stdlib.php:1759
-msgid "Okay"
-msgstr "OK"
+#: ../lib/plugin/WikiAdminUtils.php:105
+#, fuzzy
+msgid "Back"
+msgstr "RtroLiens"
 
-#: ../lib/plugin/WikiAdminUtils.php:108
+#: ../lib/plugin/WikiAdminUtils.php:110
 msgid "Purge Markup Cache"
 msgstr "Purger le cache"
 
-#: ../lib/plugin/WikiAdminUtils.php:109
+#: ../lib/plugin/WikiAdminUtils.php:111
 msgid "Purge all Pages With Invalid Names"
 msgstr "Supprimer les pages dont le nom n'est pas valide"
 
-#: ../lib/plugin/WikiAdminUtils.php:110
+#: ../lib/plugin/WikiAdminUtils.php:112
 msgid "Purge all empty, unreferenced Pages"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:120
+#: ../lib/plugin/WikiAdminUtils.php:113
+msgid "Access Restrictions"
+msgstr ""
+
+#: ../lib/plugin/WikiAdminUtils.php:115
+msgid "Convert cached_html"
+msgstr ""
+
+#: ../lib/plugin/WikiAdminUtils.php:116
+msgid "DB Check"
+msgstr ""
+
+#: ../lib/plugin/WikiAdminUtils.php:117
+msgid "Db Rebuild"
+msgstr ""
+
+#: ../lib/plugin/WikiAdminUtils.php:128
 msgid "Markup cache purged!"
 msgstr "Cache de marques purg !"
 
-#: ../lib/plugin/WikiAdminUtils.php:140
+#: ../lib/plugin/WikiAdminUtils.php:148
 msgid "No pages with bad names had to be deleted."
 msgstr "Aucune page supprimes avec un nom invalide."
 
-#: ../lib/plugin/WikiAdminUtils.php:142
+#: ../lib/plugin/WikiAdminUtils.php:150
 #, php-format
 msgid "Deleted %s pages with invalid names:"
 msgstr "%s pages ont t supprimes  cause de leur nom invalide:"
 
-#: ../lib/plugin/WikiAdminUtils.php:160
+#: ../lib/plugin/WikiAdminUtils.php:171
 msgid "[purged]"
 msgstr "[purg]"
 
-#: ../lib/plugin/WikiAdminUtils.php:162
+#: ../lib/plugin/WikiAdminUtils.php:173
 msgid "[not purgable]"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:170
+#: ../lib/plugin/WikiAdminUtils.php:181
 msgid "No empty, unreferenced pages were found."
 msgstr "Aucune page trouve avec un nom invalide."
 
-#: ../lib/plugin/WikiAdminUtils.php:172
+#: ../lib/plugin/WikiAdminUtils.php:183
 #, php-format
 msgid "Deleted %s unreferenced pages:"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:175
+#: ../lib/plugin/WikiAdminUtils.php:186
 #, php-format
 msgid ""
 "The %d not-purgable pages/links are links in some page(s). You might want to "
 "edit them."
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:190
+#: ../lib/plugin/WikiAdminUtils.php:201
 msgid "No old _cached_html pagedata found."
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:192
+#: ../lib/plugin/WikiAdminUtils.php:203
 #, php-format
 msgid "Converted successfully %d pages"
 msgstr "%d pages converties avec succs"
 
-#: ../lib/plugin/WikiAdminUtils.php:201
+#: ../lib/plugin/WikiAdminUtils.php:227
 msgid "Sorry. Access Restrictions not yet implemented"
 msgstr "Dsol. Restriction d'accs pas encore disponible"
 
-#: ../lib/plugin/WikiAdminUtils.php:209
-#: ../themes/default/templates/userprefs.tmpl:124
+#: ../lib/plugin/WikiAdminUtils.php:235
+#: ../themes/default/templates/userprefs.tmpl:125
 msgid "E-Mail"
 msgstr "E-mail"
 
-#: ../lib/plugin/WikiAdminUtils.php:211
+#: ../lib/plugin/WikiAdminUtils.php:237
 msgid "Verification Status"
 msgstr "Vrification du statut"
 
-#: ../lib/plugin/WikiAdminUtils.php:263
+#: ../lib/plugin/WikiAdminUtils.php:238
+#, fuzzy
+msgid "Username"
+msgstr "Renommer"
+
+#: ../lib/plugin/WikiAdminUtils.php:293
 msgid "Change Verification Status"
 msgstr "Changer la vrification du statut"
 
-#: ../lib/plugin/WikiBlog.php:79
+#: ../lib/plugin/WikiBlog.php:87
+msgid "WikiBlog"
+msgstr "WikiBlog"
+
+#: ../lib/plugin/WikiBlog.php:91
 #, php-format
 msgid "Show and add blogs for %s"
 msgstr "Montrer et ajouter un Blog  %s "
 
-#: ../lib/plugin/WikiBlog.php:190
+#: ../lib/plugin/WikiBlog.php:219
 msgid "New comment."
 msgstr "Nouveau commentaire."
 
-#: ../lib/plugin/WikiBlog.php:294
+#: ../lib/plugin/WikiBlog.php:330
 #, php-format
 msgid "%s on %s:"
 msgstr "%s on %s :"
@@ -5108,7 +5820,7 @@
 msgid "WikiForm"
 msgstr "WikiForm"
 
-#: ../lib/plugin/WikiForm.php:76
+#: ../lib/plugin/WikiForm.php:76 ../themes/MonoBook/templates/signin.tmpl:16
 msgid "Login"
 msgstr "Identifiant"
 
@@ -5125,11 +5837,11 @@
 msgid "WikiForm: %s: unknown action"
 msgstr "FormulaireWiki : %s : action inconnue"
 
-#: ../lib/plugin/WikiFormRich.php:92
+#: ../lib/plugin/WikiFormRich.php:106
 msgid "Provide generic WikiForm input buttons"
 msgstr ""
 
-#: ../lib/plugin/WikiFormRich.php:181
+#: ../lib/plugin/WikiFormRich.php:195
 msgid "name"
 msgstr "nom"
 
@@ -5170,10 +5882,6 @@
 msgid "Missing %s for %s"
 msgstr "Il manque %s pour %s"
 
-#: ../lib/plugin/WikiPoll.php:224
-msgid "Ok"
-msgstr "Ok"
-
 #: ../lib/plugin/WikiPoll.php:227
 msgid "Reset"
 msgstr "Rinitialiser"
@@ -5192,6 +5900,26 @@
 msgid "Thanks for participating!"
 msgstr "Merci d'avoir particip !"
 
+#: ../lib/plugin/YouTube.php:24
+msgid "YouTube"
+msgstr ""
+
+#: ../lib/plugin/YouTube.php:28
+msgid "Embed YouTube videos"
+msgstr ""
+
+#: ../lib/plugin/YouTube.php:54
+#, fuzzy, php-format
+msgid "Required argument %s missing"
+msgstr "Un argument requis '%s' est manquant."
+
+#: ../lib/plugin/YouTube.php:91 ../lib/plugin/YouTube.php:93
+#: ../lib/plugin/YouTube.php:95 ../lib/plugin/YouTube.php:97
+#: ../lib/plugin/YouTube.php:121 ../lib/plugin/YouTube.php:123
+#, fuzzy, php-format
+msgid "Invalid argument %s"
+msgstr "Argument non valable : %s"
+
 # InfosAuthentification
 #: ../lib/plugin/_AuthInfo.php:35
 msgid "AuthInfo"
@@ -5217,10 +5945,9 @@
 #: ../lib/plugin/_BackendInfo.php:30 ../lib/plugin/_WikiTranslation.php:60
 #: ../themes/Crao/templates/actionbar.tmpl:27
 #: ../themes/MonoBook/templates/info.tmpl:174
-#: ../themes/Portland/templates/actionbar.tmpl:21
-#: ../themes/Wordpress/templates/actionbar.tmpl:74
-#: ../themes/default/templates/actionbar.tmpl:34
-#: ../themes/shamino_com/templates/info.tmpl:174
+#: ../themes/Portland/templates/actionbar.tmpl:17
+#: ../themes/Wordpress/templates/actionbar.tmpl:75
+#: ../themes/default/templates/actionbar.tmpl:36
 #: ../themes/smaller/templates/info.tmpl:14
 msgid "DebugInfo"
 msgstr "InfosDeDboguage"
@@ -5230,17 +5957,17 @@
 msgid "Get debugging information for %s."
 msgstr "Obtenir des infos de dboguage pour %s."
 
-#: ../lib/plugin/_BackendInfo.php:54
+#: ../lib/plugin/_BackendInfo.php:58
 #, php-format
 msgid "Querying backend directly for '%s'"
 msgstr "Requte directe au backend pour '%s'"
 
-#: ../lib/plugin/_BackendInfo.php:64
+#: ../lib/plugin/_BackendInfo.php:67
 #, php-format
 msgid "No pagedata for %s"
 msgstr "Pas de donnes de page pour %s"
 
-#: ../lib/plugin/_BackendInfo.php:97
+#: ../lib/plugin/_BackendInfo.php:124
 msgid "<not displayed>"
 msgstr "<non affich>"
 
@@ -5263,6 +5990,20 @@
 msgid "Get preferences information for current user %s."
 msgstr "Obtenir des infos de prfrences pour l'utilisateur %s."
 
+#: ../lib/plugin/_Retransform.php:30
+msgid "Retransform CachedMarkup"
+msgstr ""
+
+#: ../lib/plugin/_Retransform.php:34
+#, php-format
+msgid "Show a markup retransformation of page %s."
+msgstr ""
+
+#: ../lib/plugin/_Retransform.php:53
+#, fuzzy, php-format
+msgid "Retransform page '%s'"
+msgstr "ACL modifi pour la page %s."
+
 #: ../lib/plugin/_WikiTranslation.php:47
 msgid "AddCommentPlugin"
 msgstr "AjoutDesCommentaires"
@@ -5296,11 +6037,6 @@
 msgstr "PluginCalendrier"
 
 # lib/diff.php:997
-#: ../lib/plugin/_WikiTranslation.php:56
-msgid "CategoryCategory"
-msgstr "CatgorieCatgorie"
-
-# lib/diff.php:997
 #: ../lib/plugin/_WikiTranslation.php:57
 msgid "CategoryHomePages"
 msgstr "CatgoriePagesAccueil"
@@ -5326,9 +6062,10 @@
 #: ../lib/plugin/_WikiTranslation.php:64 ../themes/Crao/templates/head.tmpl:36
 #: ../themes/Crao/templates/head.tmpl:37
 #: ../themes/Crao/templates/navbar.tmpl:40
-#: ../themes/MonoBook/templates/navbar.tmpl:25
-#: ../themes/Portland/templates/navbar.tmpl:8
-#: ../themes/Sidebar/templates/navbar.tmpl:24
+#: ../themes/MonoBook/templates/navbar.tmpl:29
+#: ../themes/MonoBook/templates/navbar.tmpl:35
+#: ../themes/Portland/templates/navbar.tmpl:5
+#: ../themes/Sidebar/templates/navbar.tmpl:14
 #: ../themes/default/templates/head.tmpl:42
 #: ../themes/default/templates/head.tmpl:43
 #: ../themes/default/templates/navbar.tmpl:20
@@ -5336,7 +6073,7 @@
 #: ../themes/smaller/templates/navbar.tmpl:8
 #: ../themes/wikilens/templates/head.tmpl:34
 #: ../themes/wikilens/templates/head.tmpl:35
-#: ../themes/wikilens/templates/navbar.tmpl:11
+#: ../themes/wikilens/templates/navbar.tmpl:19
 msgid "FindPage"
 msgstr "ChercherUnePage"
 
@@ -5438,6 +6175,7 @@
 msgstr "AdministrationDePhpWiki/Remplacer"
 
 #: ../lib/plugin/_WikiTranslation.php:95
+#: ../themes/MonoBook/templates/navbar.tmpl:20
 msgid "PhpWikiDocumentation"
 msgstr "DocumentationDePhpWiki"
 
@@ -5518,6 +6256,7 @@
 msgstr "PluginListeSousPages"
 
 #: ../lib/plugin/_WikiTranslation.php:118
+#: ../themes/MonoBook/templates/navbar.tmpl:60
 msgid "UpLoad"
 msgstr "DposerUnFichier"
 
@@ -5563,21 +6302,16 @@
 "A FAIRE: Google peut uniquement traduire l'anglais et le franais. Trouver "
 "un service pour traduire %s en %s"
 
-#: ../lib/plugin/_WikiTranslation.php:319
-#, php-format
-msgid "%s is empty"
-msgstr "%s est vide."
-
 #: ../lib/plugin/_WikiTranslation.php:438
 #, php-format
 msgid "Define the translation for %s in %s"
 msgstr "Dfinir la traduction pour %s en %s"
 
-#: ../lib/plugin/text2png.php:46
+#: ../lib/plugin/text2png.php:57
 msgid "Convert text into a png image using GD."
 msgstr "Converti le texte en une image png utilisant GD."
 
-#: ../lib/plugin/text2png.php:118
+#: ../lib/plugin/text2png.php:169
 msgid ""
 "PHP was unable to create a new GD image stream. Read 'lib/plugin/text2png."
 "php' for details."
@@ -5585,16 +6319,20 @@
 "PHP n'a pas pu crer un nouveau flux d'image GD. Lisez 'lib/plugin/text2png."
 "php' pour plus de dtails."
 
-#: ../lib/plugin/text2png.php:168
+#: ../lib/plugin/text2png.php:214
 #, php-format
 msgid "Image saved to cache file: %s"
 msgstr "Image sauve dans le fichier cache : %s"
 
-#: ../lib/plugin/text2png.php:172
+#: ../lib/plugin/text2png.php:218
 #, php-format
 msgid "Image loaded from cache file: %s"
 msgstr "Image charge depuis le fichier cache : %s"
 
+#: ../lib/plugin/text2png.php:226
+msgid " produced by "
+msgstr ""
+
 #: ../lib/removepage.php:18
 msgid "Already deleted"
 msgstr ""
@@ -5628,312 +6366,371 @@
 msgid "Back to the previous page."
 msgstr "Retournez  la page prcdente."
 
-#: ../lib/stdlib.php:364 ../lib/stdlib.php:393
+#: ../lib/stdlib.php:366 ../lib/stdlib.php:395
 msgid "BAD URL -- remove all of <, >, \""
 msgstr "MAUVAIS URL -- retirez tous les <, >, \""
 
-#: ../lib/stdlib.php:433 ../lib/stdlib.php:450
+#: ../lib/stdlib.php:435 ../lib/stdlib.php:452
 msgid "Invalid image size"
 msgstr "Taille d'image non valables"
 
-#: ../lib/stdlib.php:560
+#: ../lib/stdlib.php:562
 msgid "BAD phpwiki: URL"
 msgstr "MAUVAIS phpwiki: URL"
 
-#: ../lib/stdlib.php:598
+#: ../lib/stdlib.php:600
 msgid "Lock page to enable link"
 msgstr "Verrouillez la page pour permettre le lien"
 
-#: ../lib/stdlib.php:725
+#: ../lib/stdlib.php:728
 #, php-format
 msgid "'%s': Bad page name: %s"
 msgstr "'%s': Nom de page invalide : : %s"
 
-#: ../lib/stdlib.php:755 ../lib/stdlib.php:780
+#: ../lib/stdlib.php:758 ../lib/stdlib.php:789
 #, php-format
 msgid "Leading %s not allowed"
 msgstr "Mener %s n'est pas permis"
 
-#: ../lib/stdlib.php:764
+#: ../lib/stdlib.php:773
 msgid "White space converted to single space"
 msgstr "Espace blanc converti en espace simple"
 
-#: ../lib/stdlib.php:770
+#: ../lib/stdlib.php:779
 msgid "Control characters not allowed"
 msgstr "Caractres de contrle, non autoriss"
 
-#: ../lib/stdlib.php:791
+#: ../lib/stdlib.php:800
 msgid "too long"
 msgstr "trop long"
 
-#: ../lib/stdlib.php:797
+#: ../lib/stdlib.php:809
 #, php-format
 msgid "Illegal chars %s removed"
 msgstr "Illgal %s supprimes"
 
-#: ../lib/stdlib.php:843
+#: ../lib/stdlib.php:855
 msgid "The CreateTocPlugin is not yet old markup compatible! "
 msgstr ""
 
-#: ../lib/stdlib.php:844
+#: ../lib/stdlib.php:856
 msgid ""
 "Please remove the CreateToc line to be able to reformat this page to old "
 "markup. "
 msgstr ""
 
-#: ../lib/stdlib.php:1105
+#: ../lib/stdlib.php:1118
 msgid "Revision Not Found"
 msgstr "Rvision Non Trouve"
 
-#: ../lib/stdlib.php:1106
+#: ../lib/stdlib.php:1119
 #, php-format
 msgid "I'm sorry.  Version %d of %s is not in the database."
 msgstr "Je suis dsol. La version %d de %s n'est pas dans la base de donnes."
 
-#: ../lib/stdlib.php:1109
+#: ../lib/stdlib.php:1122
 msgid "Bad Version"
 msgstr "Mauvaise Version"
 
-#: ../lib/stdlib.php:1245
+#: ../lib/stdlib.php:1258
 msgid "-???"
 msgstr "-???"
 
-#: ../lib/stdlib.php:1248
+#: ../lib/stdlib.php:1261
 #, php-format
 msgid "%s b"
 msgstr "%s b"
 
-#: ../lib/stdlib.php:1250 ../themes/MonoBook/templates/info.tmpl:29
-#: ../themes/shamino_com/templates/info.tmpl:29
+#: ../lib/stdlib.php:1263 ../themes/MonoBook/templates/info.tmpl:29
 #, php-format
 msgid "%s bytes"
 msgstr "%s octets"
 
-#: ../lib/stdlib.php:1255
+#: ../lib/stdlib.php:1268
 #, php-format
 msgid "%s k"
 msgstr "%s k"
 
-#: ../lib/stdlib.php:1257 ../themes/MonoBook/templates/info.tmpl:32
-#: ../themes/shamino_com/templates/info.tmpl:32
+#: ../lib/stdlib.php:1270 ../themes/MonoBook/templates/info.tmpl:32
 #, php-format
 msgid "%s Kb (%s bytes)"
 msgstr "%s Ko (%s octets)"
 
-#: ../lib/stdlib.php:1353
+#: ../lib/stdlib.php:1366
 #, php-format
 msgid "%s: argument index out of range"
 msgstr "%s : index d'argument hors intervalle"
 
-#: ../lib/stdlib.php:1431 ../themes/Hawaiian/lib/random.php:20
+#: ../lib/stdlib.php:1444 ../themes/Hawaiian/lib/random.php:20
 #, php-format
 msgid "%s is empty."
 msgstr "%s est vide."
 
-#: ../lib/stdlib.php:1438
+#: ../lib/stdlib.php:1451
 #, php-format
 msgid "Unable to open directory '%s' for reading"
 msgstr "Impossible d'ouvrir le rpertoire '%s' en lecture"
 
-#: ../lib/stdlib.php:1942 ../lib/stdlib.php:1955
+#: ../lib/stdlib.php:1772
+msgid "Okay"
+msgstr "OK"
+
+#: ../lib/stdlib.php:1949 ../lib/stdlib.php:1962
 #, php-format
 msgid "... (first %s words)"
 msgstr "... (%s premiers mots)"
 
-#: ../lib/upgrade.php:76
+#: ../lib/upgrade.php:86
 msgid "newer than the existing page."
 msgstr "plus rcent que la page existante."
 
-#: ../lib/upgrade.php:77
+#: ../lib/upgrade.php:87
 msgid " replace "
 msgstr " remplace "
 
-#: ../lib/upgrade.php:81
+#: ../lib/upgrade.php:91
 msgid "older than the existing page."
 msgstr "plus vieux que la page existante."
 
-#: ../lib/upgrade.php:82 ../lib/upgrade.php:86 ../lib/upgrade.php:153
-msgid " skipped"
-msgstr " ignor"
-
-#: ../lib/upgrade.php:89
+#: ../lib/upgrade.php:99
 #, php-format
 msgid "%s does not exist"
 msgstr "%s n'existe pas"
 
-#: ../lib/upgrade.php:112
-msgid "check for necessary ActionPage updates"
-msgstr "vrifie les mises  jour d'ActionPage ncessaire"
-
-#: ../lib/upgrade.php:136
-msgid "check for necessary pgsrc updates"
+#: ../lib/upgrade.php:124 ../lib/upgrade.php:155 ../lib/upgrade.php:401
+#: ../lib/upgrade.php:913 ../lib/upgrade.php:1001
+#, fuzzy, php-format
+msgid "check for necessary %s updates"
 msgstr "recherche les mises  jour ncessaire des pages sources"
 
-#: ../lib/upgrade.php:152
+#: ../lib/upgrade.php:125 ../themes/MonoBook/templates/actionbar.tmpl:17
+#: ../themes/MonoBook/templates/actionbar.tmpl:30
+#, fuzzy
+msgid "ActionPage"
+msgstr "Page d'action"
+
+# InfosAuthentification
+#: ../lib/upgrade.php:127
+#, fuzzy
+msgid "_AuthInfo"
+msgstr "InfosAuth"
+
+#: ../lib/upgrade.php:127
+#, fuzzy
+msgid "DebugAuthInfo"
+msgstr "InfosDeDboguage"
+
+#: ../lib/upgrade.php:130
+#, fuzzy
+msgid "_GroupInfo"
+msgstr "InfosDeDboguageGroupe"
+
+# InfosAuthentification
+#: ../lib/upgrade.php:130
+#, fuzzy
+msgid "GroupAuthInfo"
+msgstr "InfosAuth"
+
+#: ../lib/upgrade.php:158
+#, fuzzy
+msgid "rename to Help: pages"
+msgstr "Renommer les pages slectionnes."
+
+#: ../lib/upgrade.php:175
 msgid "always skip the HomePage."
 msgstr "toujours ignorer la page d'accueil."
 
-#: ../lib/upgrade.php:172
+#: ../lib/upgrade.php:196
+#, fuzzy, php-format
+msgid "check for additional theme %s updates"
+msgstr "recherche les mises  jour ncessaire des pages sources"
+
+#: ../lib/upgrade.php:209
+#, fuzzy, php-format
+msgid "rename %s to %s"
+msgstr "retitrez la page de '%s'  '%s'"
+
+#: ../lib/upgrade.php:236
 msgid "MISSING"
 msgstr "MANQUANT"
 
-#: ../lib/upgrade.php:208 ../lib/upgrade.php:227 ../lib/upgrade.php:246
-#: ../lib/upgrade.php:267 ../lib/upgrade.php:295 ../lib/upgrade.php:341
+#: ../lib/upgrade.php:272 ../lib/upgrade.php:291 ../lib/upgrade.php:312
+#: ../lib/upgrade.php:340 ../lib/upgrade.php:386
 msgid "CREATED"
 msgstr "CR"
 
-#: ../lib/upgrade.php:357
-msgid "check for necessary database updates"
-msgstr "rechercher des mises  jour ncessaire dans la base de donnes"
+#: ../lib/upgrade.php:402
+#, fuzzy
+msgid "database"
+msgstr "Base de donnes"
 
-#: ../lib/upgrade.php:362
+#: ../lib/upgrade.php:408
 msgid "CANCEL"
 msgstr "ANNULE"
 
-#: ../lib/upgrade.php:368
+#: ../lib/upgrade.php:421
 msgid "Backend type: "
 msgstr ""
 
-#: ../lib/upgrade.php:371 ../lib/upgrade.php:380 ../lib/upgrade.php:389
+#: ../lib/upgrade.php:425 ../lib/upgrade.php:445 ../lib/upgrade.php:454
 #, php-format
 msgid "check for table %s"
 msgstr "vrifie la table %s"
 
-#: ../lib/upgrade.php:401
+#: ../lib/upgrade.php:469
 msgid "check for new session.sess_ip column"
 msgstr "recherche une nouvelle colonne session.sess_ip"
 
-#: ../lib/upgrade.php:407 ../lib/upgrade.php:712
+#: ../lib/upgrade.php:475 ../lib/upgrade.php:692 ../lib/upgrade.php:837
 msgid "SKIP"
 msgstr ""
 
-#: ../lib/upgrade.php:410 ../lib/upgrade.php:517 ../lib/upgrade.php:717
+#: ../lib/upgrade.php:478 ../lib/upgrade.php:586 ../lib/upgrade.php:842
 msgid "ADDING"
 msgstr "AJOUT"
 
-#: ../lib/upgrade.php:420
+#: ../lib/upgrade.php:488
 msgid "check for mysql session.sess_id sanity"
 msgstr "recherche une nouvelle colonne session.sess_ip"
 
 # lib/diff.php:1003 lib/diff.php:1021
-#: ../lib/upgrade.php:434 ../lib/upgrade.php:439 ../lib/upgrade.php:476
-#: ../lib/upgrade.php:485
-#, fuzzy
+#: ../lib/upgrade.php:502 ../lib/upgrade.php:507 ../lib/upgrade.php:544
+#: ../lib/upgrade.php:553
 msgid "fixed"
-msgstr "Dernire modification"
+msgstr ""
 
-#: ../lib/upgrade.php:453
+#: ../lib/upgrade.php:521
 msgid "check for mysql LOCK TABLE privilege"
 msgstr ""
 
-#: ../lib/upgrade.php:487 ../lib/upgrade.php:524 ../lib/upgrade.php:784
-#: ../lib/upgrade.php:809 ../lib/upgrade.php:818 ../lib/upgrade.php:825
-msgid "FAILED"
-msgstr "CHOU"
-
-#: ../lib/upgrade.php:499
+#: ../lib/upgrade.php:567
 #, php-format
 msgid "version <em>%s</em> not affected"
 msgstr "version <em>%s</em> non affecte"
 
-#: ../lib/upgrade.php:507
+#: ../lib/upgrade.php:576
 msgid "check for mysql page.id auto_increment flag"
 msgstr "vrifie le marqueur auto_increment pour page.id"
 
-#: ../lib/upgrade.php:544
+#: ../lib/upgrade.php:613
 msgid "check for mysql 4.1.x/5.0.0 binary search on windows problem"
 msgstr "vrifier la recherche binaire de bug pour mysql 4.1.x (Windows)"
 
-#: ../lib/upgrade.php:547 ../lib/upgrade.php:563 ../lib/upgrade.php:584
+#: ../lib/upgrade.php:616 ../lib/upgrade.php:632 ../lib/upgrade.php:653
 #, php-format
 msgid "version <em>%s</em>"
 msgstr "version <em>%s</em>"
 
-#: ../lib/upgrade.php:548
+#: ../lib/upgrade.php:617
 msgid "not affected"
 msgstr "non affecte"
 
-#: ../lib/upgrade.php:564 ../lib/upgrade.php:585 ../lib/upgrade.php:606
-#: ../lib/upgrade.php:816
+#: ../lib/upgrade.php:633 ../lib/upgrade.php:654 ../lib/upgrade.php:682
+#: ../lib/upgrade.php:1103
 msgid "FIXED"
 msgstr "CORRIG"
 
-#: ../lib/upgrade.php:595
+#: ../lib/upgrade.php:664
 msgid "check for ACCESS_LOG_SQL passwords in POST requests"
 msgstr ""
 
-#: ../lib/upgrade.php:661
+#: ../lib/upgrade.php:687
+msgid "check for ACCESS_LOG_SQL remote_host varchar(50)"
+msgstr ""
+
+#: ../lib/upgrade.php:695
+#, fuzzy
+msgid "FIXING"
+msgstr "MANQUANT"
+
+#: ../lib/upgrade.php:698
+#, fuzzy
+msgid "FAIL"
+msgstr "CHOU"
+
+#: ../lib/upgrade.php:787
 msgid ""
 "Upgrade requires database privileges to CREATE and ALTER the phpwiki "
 "database."
 msgstr ""
 
-#: ../lib/upgrade.php:663
+#: ../lib/upgrade.php:789
 msgid ""
 "And on windows at least the privilege to SELECT FROM mysql, and possibly "
 "UPDATE mysql"
 msgstr ""
 
-#: ../lib/upgrade.php:668
+#: ../lib/upgrade.php:794
 msgid "DB admin user:"
 msgstr "DB admin nom de user :"
 
-#: ../lib/upgrade.php:674
+#: ../lib/upgrade.php:800
 msgid "DB admin password:"
 msgstr "DB admin mot de passe :"
 
-#: ../lib/upgrade.php:707
+#: ../lib/upgrade.php:832
 msgid "check for extra page.cached_html column"
 msgstr "recherche une extra colonne page.cached_html"
 
-#: ../lib/upgrade.php:724
+#: ../lib/upgrade.php:849 ../lib/upgrade.php:897
 msgid "CONVERTING"
 msgstr ""
 
-# ??
-#: ../lib/upgrade.php:766
-msgid "check for necessary plugin argument updates"
-msgstr "recherche les mises  jour ncessaire des plugin argument"
-
-#: ../lib/upgrade.php:767
-msgid "change RandomPage pages => numpages"
+#: ../lib/upgrade.php:895
+msgid "Rebuild entire database to upgrade relation links"
 msgstr ""
 
-#: ../lib/upgrade.php:819
+#: ../lib/upgrade.php:914
+#, fuzzy
+msgid "plugin argument"
+msgstr "Argument non valable : %s"
+
+#: ../lib/upgrade.php:958
+#, fuzzy, php-format
+msgid "file %s not found"
+msgstr "%s non trouv"
+
+#: ../lib/upgrade.php:985
+#, fuzzy, php-format
+msgid "%s not found in %s"
+msgstr "%s non trouv"
+
+#: ../lib/upgrade.php:992
 #, php-format
 msgid "couldn't move %s to %s"
 msgstr "impossible de dplacer %s en %s"
 
-#: ../lib/upgrade.php:826
-#, php-format
-msgid "%s is not writable"
+#: ../lib/upgrade.php:996
+#, fuzzy, php-format
+msgid "file %s is not writable"
 msgstr "%s n'est pas accessible en criture"
 
-#: ../lib/upgrade.php:832
-msgid "check for necessary config updates"
-msgstr "vrifie les mises  jour de configuration ncessaire"
+#: ../lib/upgrade.php:1006 ../lib/upgrade.php:1016 ../lib/upgrade.php:1026
+#, fuzzy, php-format
+msgid "check for %s"
+msgstr "vrifie la table %s"
 
-#: ../lib/upgrade.php:833
-msgid "check for old CACHE_CONTROL = NONE"
+#: ../lib/upgrade.php:1008
+msgid "CACHE_CONTROL is set to 'NONE', and must be changed to 'NO_CACHE'"
 msgstr ""
 
-#: ../lib/upgrade.php:836
-msgid "CACHE_CONTROL is set to 'NONE', and must be changed to 'NO_CACHE'"
+#: ../lib/upgrade.php:1018
+msgid "GROUP_METHOD is set to NONE, and must be changed to \"NONE\""
 msgstr ""
 
-#: ../lib/upgrade.php:843
-msgid "check for GROUP_METHOD = NONE"
+#: ../lib/upgrade.php:1028
+msgid "fix BLOG_EMPTY_DEFAULT_PREFIX into BLOG_DEFAULT_EMPTY_PREFIX"
 msgstr ""
 
-#: ../lib/upgrade.php:846
-msgid "GROUP_METHOD is set to NONE, and must be changed to \"NONE\""
+#: ../lib/upgrade.php:1128
+msgid "fixed with"
 msgstr ""
 
-#: ../lib/upgrade.php:883
+#: ../lib/upgrade.php:1254
 msgid "Upgrade disabled: user != isAdmin"
 msgstr "Mise  jour dsactive, vous n'tes pas administrateur"
 
-#: ../lib/upgrade.php:887
+#: ../lib/upgrade.php:1259
 msgid "Upgrading this PhpWiki"
 msgstr "Mise  jour du PhpWiki"
 
@@ -5967,50 +6764,48 @@
 msgid "Members:"
 msgstr "Membres :"
 
-#: ../lib/ziplib.php:199
+#: ../lib/ziplib.php:206
 msgid "Can't inflate data: zlib support not enabled in this PHP"
 msgstr ""
 "Impossible de dcompresser les donnes : le support de zlib n'a pas t "
 "valid dans ce PHP"
 
-#: ../lib/ziplib.php:395
+#: ../lib/ziplib.php:402
 #, php-format
 msgid "Can't open zip file '%s' for reading"
 msgstr "Impossible d'ouvrir le fichier zip '%s' en lecture"
 
-#: ../lib/ziplib.php:405 ../lib/ziplib.php:409
+#: ../lib/ziplib.php:412 ../lib/ziplib.php:416
 msgid "Unexpected EOF in zip file"
 msgstr "Fin de fichier (EOF) inattendue dans le fichier Zip"
 
-#: ../lib/ziplib.php:730
+#: ../lib/ziplib.php:738
 #, php-format
 msgid "[%d] See [%s]"
 msgstr "[%d] Voir [%s]"
 
-#: ../lib/ziplib.php:737
+#: ../lib/ziplib.php:745
 msgid "References"
 msgstr "Rfrences"
 
 #: ../themes/Crao/templates/actionbar.tmpl:5
-#: ../themes/MonoBook/templates/actionbar.tmpl:11
-#: ../themes/Portland/templates/actionbar.tmpl:8
-#: ../themes/default/templates/actionbar.tmpl:15
+#: ../themes/MonoBook/templates/actionbar.tmpl:34
+#: ../themes/Portland/templates/actionbar.tmpl:6
+#: ../themes/default/templates/actionbar.tmpl:16
 #: ../themes/shamino_com/templates/actionbar.tmpl:6
-#: ../themes/shamino_com/templates/info.tmpl:164
 #: ../themes/smaller/templates/actionbar.tmpl:18
 msgid "Edit Old Revision"
 msgstr "diter l'ancienne rvision"
 
 #: ../themes/Crao/templates/actionbar.tmpl:7
 #: ../themes/Crao/templates/head.tmpl:47
-#: ../themes/MonoBook/templates/actionbar.tmpl:13
+#: ../themes/MonoBook/templates/actionbar.tmpl:37
 #: ../themes/MonoBook/templates/info.tmpl:166
-#: ../themes/Portland/templates/actionbar.tmpl:10
+#: ../themes/Portland/templates/actionbar.tmpl:8
 #: ../themes/Wordpress/templates/actionbar.tmpl:10
-#: ../themes/blog/templates/actionbar.tmpl:7
-#: ../themes/default/templates/actionbar.tmpl:17
+#: ../themes/blog/templates/actionbar.tmpl:21
+#: ../themes/default/templates/actionbar.tmpl:18
 #: ../themes/default/templates/head.tmpl:53
-#: ../themes/shamino_com/templates/info.tmpl:165
 #: ../themes/smaller/templates/actionbar.tmpl:20
 #: ../themes/smaller/templates/info.tmpl:5
 #: ../themes/wikilens/templates/head.tmpl:45
@@ -6018,19 +6813,17 @@
 msgstr "Afficher la Source"
 
 #: ../themes/Crao/templates/actionbar.tmpl:30
-#: ../themes/MonoBook/templates/actionbar.tmpl:52
+#: ../themes/MonoBook/templates/actionbar.tmpl:72
 #: ../themes/MonoBook/templates/info.tmpl:177
-#: ../themes/default/templates/actionbar.tmpl:39
-#: ../themes/shamino_com/templates/info.tmpl:177
+#: ../themes/default/templates/actionbar.tmpl:41
 #: ../themes/smaller/templates/info.tmpl:17
 msgid "PurgeHtmlCache"
 msgstr "PurgerLeCache"
 
 #: ../themes/Crao/templates/actionbar.tmpl:31
-#: ../themes/MonoBook/templates/actionbar.tmpl:53
+#: ../themes/MonoBook/templates/actionbar.tmpl:73
 #: ../themes/MonoBook/templates/info.tmpl:178
-#: ../themes/default/templates/actionbar.tmpl:40
-#: ../themes/shamino_com/templates/info.tmpl:178
+#: ../themes/default/templates/actionbar.tmpl:42
 #: ../themes/smaller/templates/info.tmpl:18
 msgid ""
 "Purge HTML cache for this page. Regenerate from WikiMarkup when next "
@@ -6040,36 +6833,36 @@
 "prochain accs."
 
 #: ../themes/Crao/templates/blogform.tmpl:10
-#: ../themes/blog/templates/blogform.tmpl:11
-#: ../themes/default/templates/blogform.tmpl:11
 msgid "Add a Comment"
 msgstr "Ajouter un commentaire"
 
 #: ../themes/Crao/templates/blogform.tmpl:18
-#: ../themes/blog/templates/blogform.tmpl:28
 #: ../themes/default/templates/addcomment.tmpl:14
-#: ../themes/default/templates/blogform.tmpl:28
 msgid "Add Comment"
 msgstr "Ajouter un commentaire"
 
 # lib/diff.php:1010 lib/diff.php:1028
 #: ../themes/Crao/templates/browse.tmpl:5
+#: ../themes/MonoBook/templates/browse.tmpl:6
 #: ../themes/Portland/templates/browse.tmpl:9
 #: ../themes/Portland/templates/viewsource.tmpl:5
 #: ../themes/Wordpress/templates/browse.tmpl:9
-#: ../themes/Wordpress/templates/viewsource.tmpl:7
+#: ../themes/Wordpress/templates/viewsource.tmpl:9
 #: ../themes/blog/templates/browse.tmpl:6
+#: ../themes/blog/templates/viewsource.tmpl:6
 #: ../themes/default/templates/browse.tmpl:6
 #: ../themes/default/templates/viewsource.tmpl:5
 msgid "Note:"
 msgstr "Note :"
 
 #: ../themes/Crao/templates/browse.tmpl:6
+#: ../themes/MonoBook/templates/browse.tmpl:7
 #: ../themes/Portland/templates/browse.tmpl:10
 #: ../themes/Portland/templates/viewsource.tmpl:10
 #: ../themes/Wordpress/templates/browse.tmpl:10
-#: ../themes/Wordpress/templates/viewsource.tmpl:12
+#: ../themes/Wordpress/templates/viewsource.tmpl:14
 #: ../themes/blog/templates/browse.tmpl:7
+#: ../themes/blog/templates/viewsource.tmpl:11
 #: ../themes/default/templates/browse.tmpl:7
 #: ../themes/default/templates/viewsource.tmpl:10
 msgid "You are viewing an old revision of this page."
@@ -6077,23 +6870,30 @@
 
 # lib/pageinfo.php:64
 #: ../themes/Crao/templates/browse.tmpl:7
+#: ../themes/MonoBook/templates/browse.tmpl:8
 #: ../themes/Portland/templates/browse.tmpl:11
 #: ../themes/Portland/templates/viewsource.tmpl:11
 #: ../themes/Wordpress/templates/browse.tmpl:11
-#: ../themes/Wordpress/templates/viewsource.tmpl:13
+#: ../themes/Wordpress/templates/viewsource.tmpl:15
 #: ../themes/blog/templates/browse.tmpl:8
+#: ../themes/blog/templates/viewsource.tmpl:12
 #: ../themes/default/templates/browse.tmpl:8
 #: ../themes/default/templates/viewsource.tmpl:11
 msgid "View the current version"
 msgstr "Visualiser la version actuelle"
 
 #: ../themes/Crao/templates/editpage.tmpl:4
-#: ../themes/Portland/templates/editpage.tmpl:61
-#: ../themes/Wordpress/templates/editpage.tmpl:63
+#: ../themes/Portland/templates/editpage.tmpl:57
+#: ../themes/Wordpress/templates/editpage.tmpl:67
 #: ../themes/default/templates/editpage.tmpl:4
 msgid "Preview only!  Changes not saved."
 msgstr "Prvisualisation uniquement ! Modifications non enregistres."
 
+#: ../themes/Crao/templates/editpage.tmpl:9
+#: ../themes/default/templates/editpage.tmpl:9
+msgid "edit area"
+msgstr "Zone d'dition"
+
 #: ../themes/Crao/templates/editpage.tmpl:8
 #: ../themes/default/templates/editpage.tmpl:8
 #, php-format
@@ -6102,11 +6902,6 @@
 msgstr ""
 "Veuillez continuer votre dition. (Vous trouverez votre %s en bas de page)."
 
-#: ../themes/Crao/templates/editpage.tmpl:9
-#: ../themes/default/templates/editpage.tmpl:9
-msgid "edit area"
-msgstr "Zone d'dition"
-
 #: ../themes/Crao/templates/editpage.tmpl:18
 #: ../themes/Portland/templates/editpage.tmpl:25
 #: ../themes/Wordpress/templates/editpage.tmpl:23
@@ -6122,21 +6917,21 @@
 msgstr "Enregistrer cette page crasera la version actuelle."
 
 #: ../themes/Crao/templates/editpage.tmpl:38
-#: ../themes/Portland/templates/editpage.tmpl:52
+#: ../themes/Portland/templates/editpage.tmpl:48
 #: ../themes/Wordpress/templates/editpage.tmpl:39
 #: ../themes/default/templates/editpage.tmpl:40
 msgid "H"
 msgstr "H"
 
 #: ../themes/Crao/templates/editpage.tmpl:39
-#: ../themes/Portland/templates/editpage.tmpl:53
+#: ../themes/Portland/templates/editpage.tmpl:49
 #: ../themes/Wordpress/templates/editpage.tmpl:40
 #: ../themes/default/templates/editpage.tmpl:41
 msgid "W"
 msgstr "L"
 
 #: ../themes/Crao/templates/editpage.tmpl:40
-#: ../themes/Portland/templates/editpage.tmpl:54
+#: ../themes/Portland/templates/editpage.tmpl:50
 #: ../themes/Wordpress/templates/editpage.tmpl:41
 #: ../themes/default/templates/editpage.tmpl:42
 msgid "Adjust"
@@ -6152,58 +6947,69 @@
 msgstr "Modification mineure."
 
 #: ../themes/Crao/templates/editpage.tmpl:59
-#: ../themes/Portland/templates/editpage.tmpl:56
-#: ../themes/Wordpress/templates/editpage.tmpl:44
+#: ../themes/Portland/templates/editpage.tmpl:52
+#: ../themes/Wordpress/templates/editpage.tmpl:59
 #: ../themes/default/templates/editpage.tmpl:60
 msgid "Use old markup"
 msgstr "Anciennes rgles"
 
 #: ../themes/Crao/templates/editpage.tmpl:92
 #: ../themes/Crao/templates/editpage.tmpl:97
-#: ../themes/Portland/templates/editpage.tmpl:84
-#: ../themes/Portland/templates/editpage.tmpl:89
-#: ../themes/Wordpress/templates/editpage.tmpl:86
-#: ../themes/Wordpress/templates/editpage.tmpl:91
+#: ../themes/Portland/templates/editpage.tmpl:80
+#: ../themes/Portland/templates/editpage.tmpl:85
+#: ../themes/Wordpress/templates/editpage.tmpl:90
+#: ../themes/Wordpress/templates/editpage.tmpl:95
+#: ../themes/blog/templates/blogform.tmpl:24
+#: ../themes/default/templates/blogform.tmpl:24
+#: ../themes/default/templates/editpage.tmpl:108
 #: ../themes/default/templates/editpage.tmpl:113
-#: ../themes/default/templates/editpage.tmpl:118
-#, php-format
-msgid "See %s tips for editing."
-msgstr "Voir les conseils pour diter les pages dans %s."
+#, fuzzy
+msgid "Help/GoodStyle"
+msgstr "StyleCorrect"
 
 #: ../themes/Crao/templates/editpage.tmpl:92
 #: ../themes/Crao/templates/editpage.tmpl:97
-#: ../themes/Portland/templates/editpage.tmpl:84
-#: ../themes/Portland/templates/editpage.tmpl:89
-#: ../themes/Wordpress/templates/editpage.tmpl:86
-#: ../themes/Wordpress/templates/editpage.tmpl:91
+#: ../themes/Portland/templates/editpage.tmpl:80
+#: ../themes/Portland/templates/editpage.tmpl:85
+#: ../themes/Wordpress/templates/editpage.tmpl:90
+#: ../themes/Wordpress/templates/editpage.tmpl:95
+#: ../themes/blog/templates/blogform.tmpl:24
+#: ../themes/default/templates/blogform.tmpl:24
+#: ../themes/default/templates/editpage.tmpl:108
 #: ../themes/default/templates/editpage.tmpl:113
-#: ../themes/default/templates/editpage.tmpl:118
-msgid "GoodStyle"
-msgstr "StyleCorrect"
+#, php-format
+msgid "See %s tips for editing."
+msgstr "Voir les conseils pour diter les pages dans %s."
 
 #: ../themes/Crao/templates/editpage.tmpl:93
-#: ../themes/Portland/templates/editpage.tmpl:85
-#: ../themes/Wordpress/templates/editpage.tmpl:87
-#: ../themes/default/templates/editpage.tmpl:114
-msgid "OldTextFormattingRules"
+#: ../themes/Portland/templates/editpage.tmpl:81
+#: ../themes/Wordpress/templates/editpage.tmpl:91
+#: ../themes/default/templates/editpage.tmpl:109
+#, fuzzy
+msgid "Help/OldTextFormattingRules"
 msgstr "RglesDeFormatageDesTextes"
 
 #: ../themes/Crao/templates/editpage.tmpl:93
 #: ../themes/Crao/templates/editpage.tmpl:98
-#: ../themes/Portland/templates/editpage.tmpl:85
-#: ../themes/Portland/templates/editpage.tmpl:90
-#: ../themes/Wordpress/templates/editpage.tmpl:87
-#: ../themes/Wordpress/templates/editpage.tmpl:92
+#: ../themes/Portland/templates/editpage.tmpl:81
+#: ../themes/Portland/templates/editpage.tmpl:86
+#: ../themes/Wordpress/templates/editpage.tmpl:91
+#: ../themes/Wordpress/templates/editpage.tmpl:96
+#: ../themes/blog/templates/blogform.tmpl:25
+#: ../themes/default/templates/blogform.tmpl:25
+#: ../themes/default/templates/editpage.tmpl:109
 #: ../themes/default/templates/editpage.tmpl:114
-#: ../themes/default/templates/editpage.tmpl:119
 msgid "Synopsis"
 msgstr "Vue d'ensemble"
 
 #: ../themes/Crao/templates/editpage.tmpl:98
-#: ../themes/Portland/templates/editpage.tmpl:90
-#: ../themes/Wordpress/templates/editpage.tmpl:92
-#: ../themes/default/templates/editpage.tmpl:119
-msgid "TextFormattingRules"
+#: ../themes/Portland/templates/editpage.tmpl:86
+#: ../themes/Wordpress/templates/editpage.tmpl:96
+#: ../themes/blog/templates/blogform.tmpl:25
+#: ../themes/default/templates/blogform.tmpl:25
+#: ../themes/default/templates/editpage.tmpl:114
+#, fuzzy
+msgid "Help/TextFormattingRules"
 msgstr "RglesDeFormatageDesTextes"
 
 #: ../themes/Crao/templates/head.tmpl:31 ../themes/Crao/templates/head.tmpl:32
@@ -6217,37 +7023,36 @@
 msgstr "CommentUtiliserWiki"
 
 #: ../themes/Crao/templates/navbar.tmpl:34
-#: ../themes/Wordpress/templates/actionbar.tmpl:37
+#: ../themes/Wordpress/templates/actionbar.tmpl:38
 #: ../themes/default/templates/navbar.tmpl:51
-#: ../themes/wikilens/templates/navbar.tmpl:40
+#: ../themes/wikilens/templates/navbar.tmpl:30
 msgid "Today"
 msgstr "Aujourd'hui"
 
 #: ../themes/Crao/templates/navbar.tmpl:37
-#: ../themes/Sidebar/templates/navbar.tmpl:38
+#: ../themes/Sidebar/templates/navbar.tmpl:28
 #: ../themes/blog/templates/navbar.tmpl:14
 #: ../themes/default/templates/navbar.tmpl:55
-#: ../themes/wikilens/templates/navbar.tmpl:43
+#: ../themes/wikilens/templates/navbar.tmpl:32
 msgid "Admin"
 msgstr "Administrateur"
 
 # lib/fullsearch.php:48
 #: ../themes/Crao/templates/navbar.tmpl:46
 #: ../themes/blog/templates/search.tmpl:11
-#: ../themes/default/templates/search.tmpl:16
-#: ../themes/default/templates/search.tmpl:23
+#: ../themes/default/templates/search.tmpl:20
+#: ../themes/default/templates/search.tmpl:25
 msgid "LiveSearch"
 msgstr "RechercheLive"
 
-#: ../themes/Crao/templates/signin.tmpl:18
+#: ../themes/Crao/templates/signin.tmpl:17
 #, php-format
 msgid "You are signed in as %s"
 msgstr "Vous tes connect comme %s"
 
-#: ../themes/Crao/templates/signin.tmpl:39
-#: ../themes/MonoBook/templates/signin.tmpl:38
-#: ../themes/Sidebar/templates/signin.tmpl:38
-#: ../themes/Wordpress/templates/signin.tmpl:42
+#: ../themes/Crao/templates/signin.tmpl:38
+#: ../themes/Sidebar/templates/signin.tmpl:37
+#: ../themes/Wordpress/templates/signin.tmpl:41
 #: ../themes/default/templates/signin.tmpl:34
 #: ../themes/smaller/templates/signin.tmpl:37
 msgid "Enter your UserId to sign in"
@@ -6256,8 +7061,6 @@
 # lib/diff.php:1003 lib/diff.php:1021
 #: ../themes/Crao/templates/wikiblog.tmpl:19
 #: ../themes/blog/templates/wikiblog.tmpl:20
-#: ../themes/default/templates/comment.tmpl:18
-#: ../themes/default/templates/wikiblog.tmpl:19
 #, php-format
 msgid "Comment modified on %s by %s"
 msgstr "Commentaire modifi le %s par %s"
@@ -6266,43 +7069,36 @@
 #: ../themes/Crao/templates/wikiblog.tmpl:25
 #: ../themes/blog/templates/wikiblog.tmpl:25
 #: ../themes/default/templates/comment.tmpl:24
-#: ../themes/default/templates/wikiblog.tmpl:24
 #, php-format
 msgid "Comments on %s by %s."
 msgstr "Commentaire le %s par %s."
 
-#: ../themes/Hawaiian/themeinfo.php:29 ../themes/MacOSX/themeinfo.php:104
-#: ../themes/MonoBook/themeinfo.php:72 ../themes/Portland/themeinfo.php:59
-#: ../themes/Sidebar/themeinfo.php:122 ../themes/SpaceWiki/themeinfo.php:43
-#: ../themes/Wordpress/themeinfo.php:61 ../themes/default/themeinfo.php:24
-#: ../themes/shamino_com/themeinfo.php:56 ../themes/smaller/themeinfo.php:51
-#: ../themes/wikilens/themeinfo.php:24
-msgid "Printer"
-msgstr "Imprimante"
-
-#: ../themes/Hawaiian/themeinfo.php:30 ../themes/MonoBook/themeinfo.php:74
-#: ../themes/Portland/themeinfo.php:60 ../themes/Sidebar/themeinfo.php:123
-#: ../themes/SpaceWiki/themeinfo.php:44 ../themes/Wordpress/themeinfo.php:62
-#: ../themes/default/themeinfo.php:26 ../themes/shamino_com/themeinfo.php:58
-#: ../themes/smaller/themeinfo.php:53 ../themes/wikilens/themeinfo.php:26
-msgid "Modern"
-msgstr "Moderne"
-
-#: ../themes/MacOSX/themeinfo.php:105 ../themes/MonoBook/themeinfo.php:73
-#: ../themes/default/themeinfo.php:25 ../themes/shamino_com/themeinfo.php:57
-#: ../themes/smaller/themeinfo.php:52 ../themes/wikilens/themeinfo.php:25
-msgid "Top & bottom toolbars"
-msgstr "Barres d'outils en haut et en bas"
-
-#: ../themes/MonoBook/templates/actionbar.tmpl:27
-#: ../themes/Sidebar/templates/navbar.tmpl:31
+#: ../themes/MonoBook/templates/actionbar.tmpl:17
+#: ../themes/MonoBook/templates/actionbar.tmpl:30
+#: ../themes/Sidebar/templates/navbar.tmpl:21
 #: ../themes/default/templates/navbar.tmpl:15
+#: ../themes/wikilens/templates/navbar.tmpl:13
 msgid "Article"
 msgstr ""
 
+#: ../themes/MonoBook/templates/actionbar.tmpl:24
+#, fuzzy
+msgid "TemplateTalk"
+msgstr "Thme"
+
+#: ../themes/MonoBook/templates/actionbar.tmpl:39
+#, fuzzy
+msgid "History"
+msgstr "HistoriqueDeLaPage"
+
 #: ../themes/MonoBook/templates/actionbar.tmpl:42
-#: ../themes/blog/templates/actionbar.tmpl:21
-#: ../themes/smaller/templates/actionbar.tmpl:34
+#, fuzzy
+msgid "Watch"
+msgstr "Largeur"
+
+#: ../themes/MonoBook/templates/actionbar.tmpl:65
+#: ../themes/blog/templates/actionbar.tmpl:15
+#: ../themes/smaller/templates/actionbar.tmpl:36
 msgid "Info"
 msgstr "Info"
 
@@ -6313,7 +7109,7 @@
 
 #: ../themes/MonoBook/templates/browse-footer.tmpl:16
 #: ../themes/MonoBook/templates/browse-footer.tmpl:17
-#: ../themes/blog/templates/actionbar.tmpl:16
+#: ../themes/blog/templates/actionbar.tmpl:10
 msgid "About"
 msgstr " propos de"
 
@@ -6324,13 +7120,11 @@
 
 #: ../themes/MonoBook/templates/info.tmpl:37
 #: ../themes/default/templates/info.tmpl:30
-#: ../themes/shamino_com/templates/info.tmpl:37
 msgid "1 word"
 msgstr "1 mot"
 
 #: ../themes/MonoBook/templates/info.tmpl:39
 #: ../themes/default/templates/info.tmpl:32
-#: ../themes/shamino_com/templates/info.tmpl:39
 #, php-format
 msgid "%s words"
 msgstr "%s mots"
@@ -6338,169 +7132,166 @@
 # lib/diff.php:1001 lib/diff.php:1019
 #: ../themes/MonoBook/templates/info.tmpl:43
 #: ../themes/default/templates/info.tmpl:36
-#: ../themes/shamino_com/templates/info.tmpl:43
 #, php-format
 msgid "Version %s"
 msgstr "Version %s"
 
 #: ../themes/MonoBook/templates/info.tmpl:44
 #: ../themes/default/templates/info.tmpl:37
-#: ../themes/shamino_com/templates/info.tmpl:44
 msgid "Original (1.2 or 1.0)"
 msgstr "Original (1.2 ou 1.0)"
 
 #: ../themes/MonoBook/templates/info.tmpl:76
-#: ../themes/default/templates/info.tmpl:69
-#: ../themes/shamino_com/templates/info.tmpl:75
+#: ../themes/default/templates/info.tmpl:68
 msgid "Saved on:"
 msgstr "Enregistre le :"
 
 #: ../themes/MonoBook/templates/info.tmpl:81
-#: ../themes/default/templates/info.tmpl:74
-#: ../themes/shamino_com/templates/info.tmpl:80
+#: ../themes/default/templates/info.tmpl:73
 #, php-format
 msgid "Statistics about %s."
 msgstr "Statistiques sur %s."
 
 #: ../themes/MonoBook/templates/info.tmpl:91
-#: ../themes/default/templates/info.tmpl:85
-#: ../themes/shamino_com/templates/info.tmpl:91
+#: ../themes/default/templates/info.tmpl:84
 msgid "Supplanted on:"
 msgstr "Remplace le :"
 
 #: ../themes/MonoBook/templates/info.tmpl:108
-#: ../themes/default/templates/info.tmpl:103
-#: ../themes/shamino_com/templates/info.tmpl:108
+#: ../themes/default/templates/info.tmpl:102
 msgid "Page Version:"
 msgstr "Version de la Page :"
 
 #: ../themes/MonoBook/templates/info.tmpl:112
-#: ../themes/default/templates/info.tmpl:107
-#: ../themes/shamino_com/templates/info.tmpl:112
+#: ../themes/default/templates/info.tmpl:106
 msgid "Markup:"
 msgstr "Balises :"
 
 #: ../themes/MonoBook/templates/info.tmpl:116
-#: ../themes/default/templates/info.tmpl:111
-#: ../themes/shamino_com/templates/info.tmpl:116
+#: ../themes/default/templates/info.tmpl:110
 msgid "Size:"
 msgstr "Taille :"
 
 #: ../themes/MonoBook/templates/info.tmpl:121
-#: ../themes/default/templates/info.tmpl:116
-#: ../themes/shamino_com/templates/info.tmpl:121
+#: ../themes/default/templates/info.tmpl:115
 msgid "Hits:"
 msgstr "Visites :"
 
 #: ../themes/MonoBook/templates/info.tmpl:138
-#: ../themes/default/templates/info.tmpl:133
-#: ../themes/shamino_com/templates/info.tmpl:138
+#: ../themes/default/templates/info.tmpl:132
 msgid "home page"
 msgstr "Page d'accueil"
 
 #: ../themes/MonoBook/templates/info.tmpl:141
-#: ../themes/default/templates/info.tmpl:136
-#: ../themes/shamino_com/templates/info.tmpl:141
+#: ../themes/default/templates/info.tmpl:135
 msgid "User page"
 msgstr "Page Utilisateur"
 
 #: ../themes/MonoBook/templates/info.tmpl:144
-#: ../themes/default/templates/info.tmpl:139
-#: ../themes/shamino_com/templates/info.tmpl:144
+#: ../themes/default/templates/info.tmpl:138
 msgid "Action page"
 msgstr "Page d'action"
 
 #: ../themes/MonoBook/templates/info.tmpl:147
-#: ../themes/default/templates/info.tmpl:142
-#: ../themes/shamino_com/templates/info.tmpl:147
+#: ../themes/default/templates/info.tmpl:141
 msgid "Blog page"
 msgstr "Page de Blog"
 
 #: ../themes/MonoBook/templates/info.tmpl:153
-#: ../themes/default/templates/info.tmpl:148
-#: ../themes/shamino_com/templates/info.tmpl:153
+#: ../themes/default/templates/info.tmpl:147
 msgid "Subpage"
 msgstr "Sous-page"
 
 #: ../themes/MonoBook/templates/info.tmpl:158
-#: ../themes/default/templates/info.tmpl:153
-#: ../themes/shamino_com/templates/info.tmpl:158
+#: ../themes/default/templates/info.tmpl:152
 msgid "Page Type:"
 msgstr "Type de Page :"
 
 #: ../themes/MonoBook/templates/info.tmpl:170
 #: ../themes/blog/templates/info.tmpl:5
-#: ../themes/shamino_com/templates/info.tmpl:170
 #: ../themes/smaller/templates/info.tmpl:9
 msgid "Diff previous Revision"
 msgstr "Diffrence avec la rvision prcdente"
 
 #: ../themes/MonoBook/templates/info.tmpl:171
 #: ../themes/blog/templates/info.tmpl:6
-#: ../themes/shamino_com/templates/info.tmpl:171
 #: ../themes/smaller/templates/info.tmpl:10
 msgid "Diff previous Author"
 msgstr "Auteur Prcdent"
 
+#: ../themes/MonoBook/templates/navbar.tmpl:15
+#, fuzzy
+msgid "The list of recent changes in the wiki."
+msgstr "Afficher la liste de toutes les pages de ce wiki."
+
+# lib/stdlib.php:384 lib/stdlib.php:445
+#: ../themes/MonoBook/templates/navbar.tmpl:17
+#, fuzzy
+msgid "RecentNewPages"
+msgstr "DerniresModifs"
+
+#: ../themes/MonoBook/templates/navbar.tmpl:18
+msgid "Like Pages"
+msgstr "PagesSemblables"
+
+# lib/stdlib.php:207 lib/stdlib.php:215
+#: ../themes/MonoBook/templates/navbar.tmpl:35
+#, fuzzy
+msgid "Search:"
+msgstr "Chercher"
+
 # lib/fullsearch.php:48
-#: ../themes/MonoBook/templates/navbar.tmpl:28
-#: ../themes/MonoBook/templates/navbar.tmpl:29
-#: ../themes/Sidebar/templates/navbar.tmpl:16
-#: ../themes/Sidebar/templates/navbar.tmpl:17
+#: ../themes/MonoBook/templates/navbar.tmpl:38
+#: ../themes/MonoBook/templates/navbar.tmpl:39
 #: ../themes/default/templates/navbar.tmpl:28
 #: ../themes/default/templates/navbar.tmpl:30
-#: ../themes/default/templates/search.tmpl:13
+#: ../themes/default/templates/search.tmpl:17
 #: ../themes/shamino_com/templates/top.tmpl:24
 #: ../themes/shamino_com/templates/top.tmpl:25
 #: ../themes/smaller/templates/navbar.tmpl:11
 #: ../themes/smaller/templates/navbar.tmpl:12
-#: ../themes/wikilens/templates/navbar.tmpl:19
-#: ../themes/wikilens/templates/navbar.tmpl:21
 msgid "Quick Search"
 msgstr "Recherche Rapide"
 
-#: ../themes/MonoBook/templates/navbar.tmpl:39
-msgid "Like Pages"
-msgstr "PagesSemblables"
-
-#: ../themes/MonoBook/templates/navbar.tmpl:40
+#: ../themes/MonoBook/templates/navbar.tmpl:51
 msgid "What links here"
 msgstr "Quels liens ici"
 
-#: ../themes/MonoBook/templates/signin.tmpl:18
-#: ../themes/Wordpress/templates/signin.tmpl:21
-#: ../themes/default/templates/signin.tmpl:25
-#: ../themes/shamino_com/templates/signin.tmpl:25
-#, php-format
-msgid "Authenticated as %s"
-msgstr "Vous tes connect en tant que %s"
+#: ../themes/MonoBook/templates/navbar.tmpl:57
+#, fuzzy
+msgid "Administration"
+msgstr "Administrateures"
 
-#: ../themes/MonoBook/templates/signin.tmpl:41
-#, php-format
-msgid "Signed as %s"
-msgstr "Connect comme %s"
+#: ../themes/MonoBook/templates/navbar.tmpl:60
+#, fuzzy
+msgid "Upload file"
+msgstr "Dposer le fichier"
 
-# lib/diff.php:1006 lib/diff.php:1024
-#: ../themes/MonoBook/templates/signin.tmpl:44
-#: ../themes/Sidebar/templates/signin.tmpl:44
-#: ../themes/Wordpress/templates/signin.tmpl:48
-#: ../themes/default/templates/signin.tmpl:40
-#, php-format
-msgid "Click to authenticate as %s"
-msgstr "Cliquez pour vous conneter en tant que %s"
+#: ../themes/MonoBook/templates/navbar.tmpl:60
+#, fuzzy
+msgid "Upload images or media files"
+msgstr "Dposer le fichier"
 
-#: ../themes/MonoBook/templates/signin.tmpl:65
-#: ../themes/Sidebar/templates/signin.tmpl:64
-#: ../themes/Wordpress/templates/signin.tmpl:68
-#: ../themes/default/templates/signin.tmpl:59
-msgid "Sign in as:"
-msgstr "Se connecter en tant que :"
+# lib/pageinfo.php:64
+#: ../themes/MonoBook/templates/navbar.tmpl:64
+#: ../themes/MonoBook/templates/navbar.tmpl:69
+#, fuzzy
+msgid "Printable version"
+msgstr "version actuelle"
 
-#: ../themes/Portland/templates/actionbar.tmpl:8
+#: ../themes/MonoBook/templates/navbar.tmpl:74
+msgid "Display as Pdf"
+msgstr ""
+
+#: ../themes/MonoBook/templates/signin.tmpl:10
+msgid "Logout"
+msgstr ""
+
+#: ../themes/Portland/templates/actionbar.tmpl:6
 msgid "EditText"
 msgstr "diterLeContenu"
 
-#: ../themes/Portland/templates/actionbar.tmpl:11
+#: ../themes/Portland/templates/actionbar.tmpl:9
 #, php-format
 msgid "%s of this page"
 msgstr "%s de cette page"
@@ -6513,8 +7304,8 @@
 msgid "Page Execution took %s seconds"
 msgstr "L'excution de la page a pris %s seconds"
 
-#: ../themes/Portland/templates/editpage.tmpl:48
-#: ../themes/Wordpress/templates/editpage.tmpl:57
+#: ../themes/Portland/templates/editpage.tmpl:44
+#: ../themes/Wordpress/templates/editpage.tmpl:56
 #, php-format
 msgid ""
 "I'm just doing minor edits. Please divert the usual logging to %s instead."
@@ -6522,14 +7313,15 @@
 "Je ne fais que des modifications mineures. Veuillez rediriger les logs "
 "habituels vers %s."
 
-#: ../themes/Portland/templates/editpage.tmpl:52
-#: ../themes/default/templates/userprefs.tmpl:195
+#: ../themes/Portland/templates/editpage.tmpl:48
+#: ../themes/default/templates/userprefs.tmpl:196
 msgid "Edit Area Size"
 msgstr "ditez la taille de la zone"
 
 # lib/editpage.php:31 lib/savepage.php:52
 #: ../themes/Portland/templates/viewsource.tmpl:6
-#: ../themes/Wordpress/templates/viewsource.tmpl:8
+#: ../themes/Wordpress/templates/viewsource.tmpl:10
+#: ../themes/blog/templates/viewsource.tmpl:7
 #: ../themes/default/templates/viewsource.tmpl:6
 msgid "This page has been locked by the administrator and cannot be edited."
 msgstr ""
@@ -6542,29 +7334,39 @@
 msgstr ""
 
 # lib/fullsearch.php:48
-#: ../themes/Sidebar/templates/navbar.tmpl:24
+#: ../themes/Sidebar/templates/navbar.tmpl:14
 msgid "Full Search"
 msgstr "Recherche en Texte Intgral"
 
-#: ../themes/Sidebar/templates/signin.tmpl:18
+#: ../themes/Sidebar/templates/signin.tmpl:17
 #, php-format
 msgid "User: %s"
 msgstr "Utilisateur : %s"
 
-#: ../themes/Sidebar/templates/signin.tmpl:41
+#: ../themes/Sidebar/templates/signin.tmpl:40
 #, php-format
 msgid "(User: %s)"
 msgstr "(Utilisateur : %s)"
 
+# lib/diff.php:1006 lib/diff.php:1024
+#: ../themes/Sidebar/templates/signin.tmpl:43
+#: ../themes/Wordpress/templates/signin.tmpl:47
+#: ../themes/default/templates/signin.tmpl:40
+#, php-format
+msgid "Click to authenticate as %s"
+msgstr "Cliquez pour vous conneter en tant que %s"
+
+#: ../themes/Sidebar/templates/signin.tmpl:63
+#: ../themes/Wordpress/templates/signin.tmpl:67
+#: ../themes/default/templates/signin.tmpl:59
+msgid "Sign in as:"
+msgstr "Se connecter en tant que :"
+
 # lib/stdlib.php:207 lib/stdlib.php:215
-#: ../themes/Sidebar/themeinfo.php:119
+#: ../themes/Sidebar/themeinfo.php:37
 msgid "Sidebar"
 msgstr "Barre verticale"
 
-#: ../themes/SpaceWiki/lib/RecentChanges.php:55
-msgid "diff"
-msgstr "diff"
-
 #: ../themes/Wordpress/templates/actionbar.tmpl:8
 msgid "Edit this page"
 msgstr "diter cette page"
@@ -6573,63 +7375,91 @@
 msgid "Edit old revision"
 msgstr "diter l'ancienne rvision"
 
-#: ../themes/Wordpress/templates/signin.tmpl:45
+#: ../themes/Wordpress/templates/signin.tmpl:20
+#: ../themes/default/templates/signin.tmpl:25
+#: ../themes/shamino_com/templates/signin.tmpl:24
+#, php-format
+msgid "Authenticated as %s"
+msgstr "Vous tes connect en tant que %s"
+
+#: ../themes/Wordpress/templates/signin.tmpl:44
 #: ../themes/default/templates/signin.tmpl:37
 #, php-format
 msgid "You are signed but not authenticated as %s. "
 msgstr "Vous tes enregistr mais pas connect en tant que %s. "
 
-#: ../themes/blog/templates/actionbar.tmpl:15
+#: ../themes/blog/templates/actionbar.tmpl:9
 msgid "Home"
 msgstr "Accueil"
 
-#: ../themes/blog/templates/actionbar.tmpl:18
-msgid "Photos"
-msgstr "Photos"
-
 # lib/pageinfo.php:10 lib/stdlib.php:239
-#: ../themes/blog/templates/actionbar.tmpl:19
+#: ../themes/blog/templates/actionbar.tmpl:13
 #, fuzzy
 msgid "HowTo"
 msgstr "AllerVers"
 
-#: ../themes/blog/templates/actionbar.tmpl:32
-msgid "Page Trail"
-msgstr "Trace Page"
+#: ../themes/blog/templates/blogform.tmpl:10
+#: ../themes/default/templates/blogform.tmpl:10
+#, fuzzy
+msgid "Headline"
+msgstr "Texte de dbut de ligne"
+
+# lib/diff.php:997
+#: ../themes/blog/templates/blogform.tmpl:18
+#: ../themes/default/templates/blogform.tmpl:18
+#, fuzzy
+msgid "Add Entry"
+msgstr "AjoutezCatgorie"
 
-#: ../themes/blog/templates/sidebar.tmpl:7
+#: ../themes/blog/templates/sidebar.tmpl:8
 #: ../themes/blog/templates/sidebar.tmpl:12
-#: ../themes/blog/templates/sidebar.tmpl:14
-msgid "Blogs"
+#, fuzzy
+msgid "Blog"
 msgstr "Blogs"
 
-#: ../themes/blog/themeinfo.php:55
+#: ../themes/blog/templates/top.tmpl:16
+msgid "Page Trail"
+msgstr "Trace Page"
+
+#: ../themes/blog/themeinfo.php:63
 msgid "SignOut"
 msgstr "Dconnexion"
 
-#: ../themes/blog/themeinfo.php:56
+#: ../themes/blog/themeinfo.php:64
 msgid "SignIn"
 msgstr "Connexion"
 
-#: ../themes/blog/themeinfo.php:57
+#: ../themes/blog/themeinfo.php:65
 msgid "Lock"
 msgstr "Verrouille"
 
-#: ../themes/blog/themeinfo.php:58
+#: ../themes/blog/themeinfo.php:66
 msgid "Unlock"
 msgstr "Dverrouiller"
 
-#: ../themes/blog/themeinfo.php:117
+#: ../themes/blog/themeinfo.php:122
 msgid "blog"
 msgstr "blog"
 
+#: ../themes/blog/themeinfo.php:124
+msgid "(diff)"
+msgstr "(diff)"
+
+# lib/diff.php:1003 lib/diff.php:1021
+#: ../themes/default/templates/comment.tmpl:18
+#: ../themes/default/templates/wikiblog.tmpl:18
+#, fuzzy, php-format
+msgid "Modified on %s by %s"
+msgstr "Commentaire modifi le %s par %s"
+
 # lib/diff.php:1006 lib/diff.php:1024
 #: ../themes/default/templates/comment.tmpl:28
 #, php-format
 msgid "%s by %s"
 msgstr "%s par %s"
 
-#: ../themes/default/templates/debug.tmpl:21
+#: ../themes/default/templates/debug.tmpl:20
+#: ../themes/shamino_com/templates/debug.tmpl:11
 #, php-format
 msgid ", Memory: %s"
 msgstr ", RAM: %s"
@@ -6754,6 +7584,10 @@
 msgid "Registered Users Online: "
 msgstr "Utilisateurs enregistrs en ligne : "
 
+#: ../themes/default/templates/online.tmpl:38
+msgid "<none>"
+msgstr "<aucune>"
+
 #: ../themes/default/templates/online.tmpl:43
 msgid "Admin is also online."
 msgstr "L'administrateur est aussi en ligne."
@@ -6821,138 +7655,134 @@
 msgid "Your careful attention to detail is much appreciated."
 msgstr "Votre souci particulier du dtail est trs apprci."
 
-#: ../themes/default/templates/savepage.tmpl:10
-msgid "Warning!"
-msgstr "Attention !"
-
-#: ../themes/default/templates/userprefs.tmpl:62
-#: ../themes/default/templates/userprefs.tmpl:64
+#: ../themes/default/templates/userprefs.tmpl:63
+#: ../themes/default/templates/userprefs.tmpl:65
 msgid "<system theme>"
 msgstr "<thme systme>"
 
-#: ../themes/default/templates/userprefs.tmpl:73
-#: ../themes/default/templates/userprefs.tmpl:99
+#: ../themes/default/templates/userprefs.tmpl:74
+#: ../themes/default/templates/userprefs.tmpl:100
 msgid "Personal theme:"
 msgstr "Thme personnel :"
 
-#: ../themes/default/templates/userprefs.tmpl:79
-#: ../themes/default/templates/userprefs.tmpl:81
+#: ../themes/default/templates/userprefs.tmpl:80
+#: ../themes/default/templates/userprefs.tmpl:82
 msgid "<system language>"
 msgstr "< langage du systme >"
 
-#: ../themes/default/templates/userprefs.tmpl:90
-#: ../themes/default/templates/userprefs.tmpl:100
+#: ../themes/default/templates/userprefs.tmpl:91
+#: ../themes/default/templates/userprefs.tmpl:101
 msgid "Personal language:"
 msgstr "Langage personnel :"
 
-#: ../themes/default/templates/userprefs.tmpl:109
+#: ../themes/default/templates/userprefs.tmpl:110
 #, php-format
 msgid "User preferences for user '%s':"
 msgstr "Prfrences utilisateurs pour l'utilisateur %s :"
 
-#: ../themes/default/templates/userprefs.tmpl:118
+#: ../themes/default/templates/userprefs.tmpl:119
 msgid "UserId"
 msgstr "IdentifiantUtilisateur"
 
-#: ../themes/default/templates/userprefs.tmpl:122
+#: ../themes/default/templates/userprefs.tmpl:123
 msgid "Auth Level"
 msgstr "Niveau de l'authentification"
 
-#: ../themes/default/templates/userprefs.tmpl:122
+#: ../themes/default/templates/userprefs.tmpl:123
 msgid "Auth Method"
 msgstr "Mthode d'authentification"
 
-#: ../themes/default/templates/userprefs.tmpl:126
+#: ../themes/default/templates/userprefs.tmpl:127
 msgid "Theme"
 msgstr "Thme"
 
-#: ../themes/default/templates/userprefs.tmpl:126
+#: ../themes/default/templates/userprefs.tmpl:127
 msgid "Current Theme"
 msgstr "Thme courant"
 
-#: ../themes/default/templates/userprefs.tmpl:127
+#: ../themes/default/templates/userprefs.tmpl:128
 msgid "Language"
 msgstr "Langage"
 
-#: ../themes/default/templates/userprefs.tmpl:127
+#: ../themes/default/templates/userprefs.tmpl:128
 msgid "Current Language"
 msgstr "Langage courant"
 
-#: ../themes/default/templates/userprefs.tmpl:133
+#: ../themes/default/templates/userprefs.tmpl:134
 msgid "Change Password"
 msgstr "Changer le Mot de passe"
 
-#: ../themes/default/templates/userprefs.tmpl:133
+#: ../themes/default/templates/userprefs.tmpl:134
 msgid "Set Password"
 msgstr "Mot de passe"
 
-#: ../themes/default/templates/userprefs.tmpl:135
+#: ../themes/default/templates/userprefs.tmpl:136
 msgid "New password"
 msgstr "Nouveau mot de passe"
 
-#: ../themes/default/templates/userprefs.tmpl:138
+#: ../themes/default/templates/userprefs.tmpl:139
 msgid "Type it again"
 msgstr "Verrification"
 
-#: ../themes/default/templates/userprefs.tmpl:144
+#: ../themes/default/templates/userprefs.tmpl:145
 msgid "E-mail"
 msgstr "E-mail"
 
-#: ../themes/default/templates/userprefs.tmpl:146
+#: ../themes/default/templates/userprefs.tmpl:147
 msgid "Your E-Mail:"
 msgstr "Votre E-Mail :"
 
-#: ../themes/default/templates/userprefs.tmpl:154
+#: ../themes/default/templates/userprefs.tmpl:155
 msgid "Status:"
 msgstr "Statut :"
 
-#: ../themes/default/templates/userprefs.tmpl:156
+#: ../themes/default/templates/userprefs.tmpl:157
 msgid "Email verified."
 msgstr "Email vrifi."
 
-#: ../themes/default/templates/userprefs.tmpl:158
+#: ../themes/default/templates/userprefs.tmpl:159
 msgid "Email not yet verified."
 msgstr "Email pas encore vrifi."
 
-#: ../themes/default/templates/userprefs.tmpl:160
+#: ../themes/default/templates/userprefs.tmpl:161
 msgid "Note, that user accounts with bouncing emails will be disabled."
 msgstr ""
 "Notez que les comptes utilisateurs dont l'adresse e-mail est inexistante "
 "seront dsactivs."
 
-#: ../themes/default/templates/userprefs.tmpl:163
+#: ../themes/default/templates/userprefs.tmpl:164
 msgid "Get an email notification at changes of the following pages:"
 msgstr ""
 "Recevoir un e-mail de notification lors des changements de cette page :"
 
-#: ../themes/default/templates/userprefs.tmpl:166
+#: ../themes/default/templates/userprefs.tmpl:167
 msgid ""
 "Enter pages seperated by space or comma. Wildcards (fileglobbing) allowed."
 msgstr "Entrer les pages spares par des virgules."
 
-#: ../themes/default/templates/userprefs.tmpl:173
+#: ../themes/default/templates/userprefs.tmpl:174
 msgid "Appearance"
 msgstr "Apparence"
 
-#: ../themes/default/templates/userprefs.tmpl:175
+#: ../themes/default/templates/userprefs.tmpl:176
 msgid "Here you can override site-specific default values."
 msgstr "Ici vous pouvez craser les valeurs par dfaut du site spcifi."
 
-#: ../themes/default/templates/userprefs.tmpl:176
+#: ../themes/default/templates/userprefs.tmpl:177
 msgid "Currently not recommended!"
 msgstr "Non recommand !"
 
-#: ../themes/default/templates/userprefs.tmpl:180
-#: ../themes/default/templates/userprefs.tmpl:183
+#: ../themes/default/templates/userprefs.tmpl:181
+#: ../themes/default/templates/userprefs.tmpl:184
 msgid "System default:"
 msgstr "Systme par dfaut :"
 
-#: ../themes/default/templates/userprefs.tmpl:184
+#: ../themes/default/templates/userprefs.tmpl:185
 #, php-format
 msgid "Hide %s:"
 msgstr "Cacher %s :"
 
-#: ../themes/default/templates/userprefs.tmpl:186
+#: ../themes/default/templates/userprefs.tmpl:187
 msgid ""
 "Hide or show LinkIcons (if supported by the current theme). Useful for text-"
 "only browsers or slow connections."
@@ -6961,12 +7791,12 @@
 "Trs utile pour les navigateurs ne supportant pas les images ou pour les "
 "connexion bas dbit."
 
-#: ../themes/default/templates/userprefs.tmpl:187
+#: ../themes/default/templates/userprefs.tmpl:188
 #, php-format
 msgid "Add %s:"
 msgstr "Ajouter %s :"
 
-#: ../themes/default/templates/userprefs.tmpl:189
+#: ../themes/default/templates/userprefs.tmpl:190
 #, php-format
 msgid ""
 "Add Google links to unknown pages behind the '?', and the create action "
@@ -6975,26 +7805,26 @@
 "Ajouter un liens vers Google pour les pages inconnues derrire le '?', et "
 "l'action de cration. voir %s."
 
-#: ../themes/default/templates/userprefs.tmpl:190
+#: ../themes/default/templates/userprefs.tmpl:191
 msgid "Enable DoubleClick Edit"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:192
+#: ../themes/default/templates/userprefs.tmpl:193
 #, php-format
 msgid ""
 "Enabled makes it hard to double-click words and sentences for cut and paste. "
 "See %s."
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:198
+#: ../themes/default/templates/userprefs.tmpl:199
 msgid "Height"
 msgstr "Hauteur"
 
-#: ../themes/default/templates/userprefs.tmpl:205
+#: ../themes/default/templates/userprefs.tmpl:206
 msgid "Width"
 msgstr "Largeur"
 
-#: ../themes/default/templates/userprefs.tmpl:214
+#: ../themes/default/templates/userprefs.tmpl:215
 msgid ""
 "Note that many browsers will automatically adjust the width of the editing "
 "area so that it fills the browser window.  In this case, the width "
@@ -7004,42 +7834,48 @@
 "la zone d'dition de faon qu'elle remplisse la fentre. Le paramtre "
 "concernant la largeur sera ignor dans ce cas."
 
-#: ../themes/default/templates/userprefs.tmpl:217
+#: ../themes/default/templates/userprefs.tmpl:218
 msgid "Time Zone"
 msgstr "Fuseau Horaire"
 
-#: ../themes/default/templates/userprefs.tmpl:220
+#: ../themes/default/templates/userprefs.tmpl:221
 #, php-format
 msgid "Add %s hours to the server's local time when reporting times."
 msgstr ""
 "Ajouter %s heures  l'heure locale du serveur pour afficher les horodatages."
 
-#: ../themes/default/templates/userprefs.tmpl:224
+#: ../themes/default/templates/userprefs.tmpl:225
 #, php-format
 msgid "The current time at the server is %s."
 msgstr "L'heure actuelle du serveur est %s."
 
-#: ../themes/default/templates/userprefs.tmpl:226
+#: ../themes/default/templates/userprefs.tmpl:227
 #, php-format
 msgid "With the current offset, this would be reported as %s."
 msgstr "Avec l'offset actuel, ceci serait affich comme %s."
 
-#: ../themes/default/templates/userprefs.tmpl:231
+#: ../themes/default/templates/userprefs.tmpl:232
 msgid "Date Format"
 msgstr "Format de Date"
 
-#: ../themes/default/templates/userprefs.tmpl:234
+#: ../themes/default/templates/userprefs.tmpl:235
 msgid "Show relative dates using 'Today' and 'Yesterday'"
 msgstr "Montre les dates relatives en utilisant 'Aujourd'hui' et 'Hier'."
 
-#: ../themes/default/templates/userprefs.tmpl:241
+#: ../themes/default/templates/userprefs.tmpl:242
 msgid "Update Preferences"
 msgstr "Mettre  jour les prfrences"
 
-#: ../themes/default/templates/userprefs.tmpl:242
+#: ../themes/default/templates/userprefs.tmpl:243
 msgid "Remove Preferences"
 msgstr "Effacer les prfrences"
 
+# lib/diff.php:1003 lib/diff.php:1021
+#: ../themes/default/templates/wikiblog.tmpl:23
+#, fuzzy, php-format
+msgid "Entry on %s by %s."
+msgstr "Commentaire le %s par %s."
+
 #: ../themes/default/templates/wikiforum.tmpl:20
 msgid "New Topic"
 msgstr "Nouveau sujet"
@@ -7054,24 +7890,185 @@
 msgstr ""
 
 #, fuzzy
-#~ msgid "Warning"
-#~ msgstr "Attention:"
+#~ msgid "Total Units"
+#~ msgstr "%d visites totales"
 
-#~ msgid "AUTH_GROUP_FILE not defined"
-#~ msgstr "AUTH_GROUP_FILE non dfini"
+#, fuzzy
+#~ msgid "Total Voters"
+#~ msgstr "%d thmes au total: "
 
-#~ msgid "LDAP_AUTH_HOST not defined"
-#~ msgstr "LDAP_AUTH_HOST non dfini"
+#, fuzzy
+#~ msgid "Pagename(s): "
+#~ msgstr "Nom de la page"
+
+#, fuzzy
+#~ msgid "Help/SemanticSearchAdvancedPlugin"
+#~ msgstr "RechercheInterWiki"
+
+#~ msgid "Wanted Pages for %s (%d total):"
+#~ msgstr "Pages recherches pour %s  dans ce wiki (%d au total) :"
+
+#~ msgid "Wanted Pages in this wiki (%d total):"
+#~ msgstr "Pages recherches dans ce wiki (%d au total) :"
+
+#~ msgid "Count"
+#~ msgstr "Compte"
+
+#, fuzzy
+#~ msgid "WatchList"
+#~ msgstr "Largeur"
+
+#, fuzzy
+#~ msgid "Remove Comment"
+#~ msgstr "Commentaires rcents"
+
+#, fuzzy
+#~ msgid "Invalid username"
+#~ msgstr "Mot de identifiant d'utilisateur invalide."
+
+#, fuzzy
+#~ msgid "UserFileManagement"
+#~ msgstr "Renommer"
+
+#, fuzzy
+#~ msgid "Goto Home Directory"
+#~ msgstr "Rcupration dans le rpertoire"
+
+#, fuzzy
+#~ msgid "Current directory: "
+#~ msgstr "Rcupration dans le rpertoire"
+
+#, fuzzy
+#~ msgid "Delete"
+#~ msgstr "Supprim"
+
+#, fuzzy
+#~ msgid "Create Directory"
+#~ msgstr "Impossible de crer le rpertoire '%s'"
+
+#, fuzzy
+#~ msgid "Upload files"
+#~ msgstr "Dposer le fichier"
+
+#, fuzzy
+#~ msgid "Upload zip file"
+#~ msgstr "Dposer le fichier"
+
+#~ msgid "Existing page-level metadata for %s:"
+#~ msgstr "Mtadonnes existantes pour niveau de pages pour %s :"
+
+#, fuzzy
+#~ msgid " from author %s"
+#~ msgstr "du %s"
+
+#, fuzzy
+#~ msgid " from owner %s"
+#~ msgstr "du %s"
+
+#~ msgid "History of all major edits by %s to page %s."
+#~ msgstr "Historique de toutes les ditions majeures par %s sur la page %s."
+
+#~ msgid "History of major modifications for any page edited by %s."
+#~ msgstr ""
+#~ "Historique des ditions majeures de toutes les pages dites par %s."
+
+#~ msgid " This is for small text"
+#~ msgstr "C'est pour des petits textes"
+
+#~ msgid "Photos"
+#~ msgstr "Photos"
+
+#~ msgid "GoodStyle"
+#~ msgstr "StyleCorrect"
+
+#~ msgid "OldTextFormattingRules"
+#~ msgstr "RglesDeFormatageDesTextes"
+
+#~ msgid "TextFormattingRules"
+#~ msgstr "RglesDeFormatageDesTextes"
+
+#, fuzzy
+#~ msgid "PageChange Notification of %s Error: Couldn't send to %s"
+#~ msgstr ""
+#~ "Erreur lors des notifications de changements de page: Impossible "
+#~ "d'envoyer %s  %s"
+
+#, fuzzy
+#~ msgid "GridTable"
+#~ msgstr "BeauTableau"
+
+#, fuzzy
+#~ msgid "Layout tables using grid-like \"ASCII art\"."
+#~ msgstr "Apparences de tableaux utilisant l'ancien modle de balisage."
+
+#, fuzzy
+#~ msgid "WikiAdminMassRevert"
+#~ msgstr "WikiAdminSupprimer"
+
+#, fuzzy
+#~ msgid "Reverted page '%s' to version '%s'."
+#~ msgstr "Page '%s' renommes en '%s' avec succs."
+
+#, fuzzy
+#~ msgid "Didn't revert page '%s'. Access denied."
+#~ msgstr "Page '%s' non supprime. Accs refus."
+
+#, fuzzy
+#~ msgid "%d pages have been reverted."
+#~ msgstr "Les pages %s ont t changes."
+
+#, fuzzy
+#~ msgid "PhpWikiAdministration/MassRevert"
+#~ msgstr "AdministrationDePhpWiki/Supprimer"
+
+#, fuzzy
+#~ msgid ""
+#~ "Are you sure you want to overwrite the selected files with the previous "
+#~ "version?"
+#~ msgstr ""
+#~ "tes-vous certain de renommer dfinitivement les pages slectionnes ?"
+
+#, fuzzy
+#~ msgid "Revert selected pages"
+#~ msgstr "Supprimer les pages slectionnes"
+
+#~ msgid "Ok"
+#~ msgstr "Ok"
+
+#, fuzzy
+#~ msgid "WikiUserAdministration"
+#~ msgstr "AdministrationDePhpWiki"
+
+#~ msgid "check for necessary ActionPage updates"
+#~ msgstr "vrifie les mises  jour d'ActionPage ncessaire"
+
+#~ msgid "check for necessary database updates"
+#~ msgstr "rechercher des mises  jour ncessaire dans la base de donnes"
+
+# ??
+#~ msgid "check for necessary plugin argument updates"
+#~ msgstr "recherche les mises  jour ncessaire des plugin argument"
+
+#~ msgid "check for necessary config updates"
+#~ msgstr "vrifie les mises  jour de configuration ncessaire"
+
+#~ msgid "Warning!"
+#~ msgstr "Attention !"
+
+#~ msgid "Signed as %s"
+#~ msgstr "Connect comme %s"
+
+#~ msgid "Unable to load: %s"
+#~ msgstr "Impossible de charger : %s"
 
 #~ msgid "Sign in:"
 #~ msgstr "S'enregistrer :"
 
-# lib/diff.php:997
-#~ msgid "Category"
-#~ msgstr "Catgorie"
+#~ msgid "AUTH_GROUP_FILE not defined"
+#~ msgstr "AUTH_GROUP_FILE non dfini"
 
-#~ msgid "Topic"
-#~ msgstr "Sujet"
+#~ msgid "LDAP_AUTH_HOST not defined"
+#~ msgstr "LDAP_AUTH_HOST non dfini"
 
 #~ msgid "db type:"
 #~ msgstr "type de bd :"
@@ -7112,10 +8109,6 @@
 #~ msgid "BlockQuote"
 #~ msgstr "verrouille"
 
-#, fuzzy
-#~ msgid "PreferenceApp"
-#~ msgstr "Prfrences"
-
 # lib/diff.php:1003 lib/diff.php:1021
 #~ msgid "Last Modified:"
 #~ msgstr "Dernire Modification :"
@@ -7137,26 +8130,6 @@
 #~ msgid "Back Links"
 #~ msgstr "Rtro Liens"
 
-#~ msgid "new page"
-#~ msgstr "nouvelle page"
-
-#~ msgid "New Page"
-#~ msgstr "Nouvelle page."
-
-#, fuzzy
-#~ msgid "Invalid username"
-#~ msgstr "Mot de identifiant d'utilisateur invalide."
-
-#, fuzzy
-#~ msgid "PageChange Notification sent to %s"
-#~ msgstr "Les notifications de changement de la page %s ont t envoys  %s"
-
-#, fuzzy
-#~ msgid "PageChange Notification Error: Couldn't send to %s"
-#~ msgstr ""
-#~ "Erreur lors des notifications de changements de page: Impossible "
-#~ "d'envoyer %s  %s"
-
 # lib/editpage.php:19
 #, fuzzy
 #~ msgid "Welcome to %s"
@@ -7192,10 +8165,6 @@
 #~ "Les cases slectionnes autorisent l'accs, sinon elles l'interdisent."
 
 #, fuzzy
-#~ msgid "Existing settings for %s:"
-#~ msgstr "Il manque %s pour %s"
-
-#, fuzzy
 #~ msgid "Update Settings"
 #~ msgstr "Prfrences gnrales d'auteur."
 
@@ -7253,9 +8222,6 @@
 #~ msgid "No opinion"
 #~ msgstr "Pas d'opinion"
 
-#~ msgid "Unable to connect to LDAP server "
-#~ msgstr "Impossible de se connecter au serveur LDAP "
-
 #~ msgid "_PreferencesInfo"
 #~ msgstr "_PreferencesInfo"
 
diff -ruN 1.3.12p3/locale/po/it.po 1.3.14/locale/po/it.po
--- 1.3.12p3/locale/po/it.po	2006-06-18 06:19:38.000000000 -0500
+++ 1.3.14/locale/po/it.po	2007-07-01 05:11:18.000000000 -0500
@@ -7,14 +7,37 @@
 msgstr ""
 "Project-Id-Version: PhpWiki-1.3.4pre\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2006-06-18 10:46+0000\n"
+"POT-Creation-Date: 2007-07-01 10:07+0000\n"
 "PO-Revision-Date: 2005-02-12 16:23+0100\n"
-"Last-Translator: Marco Milanesi <kpanic@ada2.unipv.it>\n"
+"Last-Translator: Antonio Bonifati ant[(at)]monitor.deis.unical.it\n"
 "Language-Team: \n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=iso-8859-1\n"
 "Content-Transfer-Encoding: 8bit\n"
 
+#: ../lib/CachedMarkup.php:478
+msgid "BAD semantic relation link"
+msgstr ""
+
+#: ../lib/CachedMarkup.php:505
+#, php-format
+msgid "Attribute %s, base value: %s"
+msgstr ""
+
+#: ../lib/CachedMarkup.php:506
+#, php-format
+msgid "Attribute %s, value: %s"
+msgstr ""
+
+#: ../lib/CachedMarkup.php:514
+#, fuzzy, php-format
+msgid "Relation %s to page %s"
+msgstr "Cancellazione su %s fallita: %s"
+
+#: ../lib/CachedMarkup.php:569
+msgid "Found by "
+msgstr ""
+
 #: ../lib/Captcha.php:32
 msgid "Typed in verification word mismatch ... are you a bot?"
 msgstr ""
@@ -43,220 +66,290 @@
 msgid "Supported handlers are: %s"
 msgstr ""
 
-#: ../lib/EditToolbar.php:42
+#: ../lib/EditToolbar.php:29
 msgid "Undo"
 msgstr ""
 
-#: ../lib/EditToolbar.php:48
+#: ../lib/EditToolbar.php:31
 msgid "Undo disabled"
 msgstr ""
 
-#: ../lib/EditToolbar.php:57 ../lib/EditToolbar.php:253
-#: ../lib/EditToolbar.php:254 ../lib/plugin/WikiAdminSearchReplace.php:187
+#: ../lib/EditToolbar.php:32
+msgid "Operation undone"
+msgstr ""
+
+#: ../lib/EditToolbar.php:33
+msgid "Substring \"\\1\" found \\2 times. Replace with \"\\3\"?"
+msgstr ""
+
+#: ../lib/EditToolbar.php:34
+#, php-format
+msgid "String \"%s\" not found."
+msgstr "\"%s\" non trovato."
+
+#: ../lib/EditToolbar.php:35 ../lib/EditToolbar.php:200
+#: ../lib/EditToolbar.php:201 ../lib/plugin/WikiAdminSearchReplace.php:187
 msgid "Search & Replace"
 msgstr ""
 
-#: ../lib/EditToolbar.php:59 ../lib/plugin/InterWikiSearch.php:91
-#: ../lib/plugin/RecentChanges.php:591 ../themes/Crao/templates/navbar.tmpl:42
-#: ../themes/Crao/templates/navbar.tmpl:44
-#: ../themes/Crao/templates/navbar.tmpl:48
-#: ../themes/blog/templates/search.tmpl:6
-#: ../themes/blog/templates/search.tmpl:7
-#: ../themes/blog/templates/search.tmpl:9
-#: ../themes/blog/templates/search.tmpl:13
-#: ../themes/default/templates/search.tmpl:10
-#: ../themes/default/templates/search.tmpl:11
-#: ../themes/default/templates/search.tmpl:18
-msgid "Search"
+#: ../lib/EditToolbar.php:36
+#, fuzzy
+msgid "Search for"
 msgstr "Ricerca"
 
-#: ../lib/EditToolbar.php:61
+#: ../lib/EditToolbar.php:37
 msgid "Replace with"
 msgstr ""
 
-#: ../lib/EditToolbar.php:63 ../lib/upgrade.php:375 ../lib/upgrade.php:384
-#: ../lib/upgrade.php:393 ../lib/upgrade.php:414 ../lib/upgrade.php:442
-#: ../lib/upgrade.php:492 ../lib/upgrade.php:495 ../lib/upgrade.php:526
-#: ../lib/upgrade.php:528 ../lib/upgrade.php:555 ../lib/upgrade.php:608
-#: ../lib/upgrade.php:727 ../lib/upgrade.php:730 ../lib/upgrade.php:782
-#: ../lib/upgrade.php:840 ../lib/upgrade.php:850
+#: ../lib/EditToolbar.php:38 ../lib/plugin/SyncWiki.php:302
+#: ../lib/plugin/SyncWiki.php:328 ../lib/plugin/SyncWiki.php:351
+#: ../lib/plugin/WikiPoll.php:224 ../lib/upgrade.php:212
+#: ../lib/upgrade.php:415 ../lib/upgrade.php:429 ../lib/upgrade.php:449
+#: ../lib/upgrade.php:458 ../lib/upgrade.php:482 ../lib/upgrade.php:510
+#: ../lib/upgrade.php:560 ../lib/upgrade.php:563 ../lib/upgrade.php:595
+#: ../lib/upgrade.php:597 ../lib/upgrade.php:624 ../lib/upgrade.php:684
+#: ../lib/upgrade.php:709 ../lib/upgrade.php:852 ../lib/upgrade.php:855
+#: ../lib/upgrade.php:906
 msgid "OK"
 msgstr ""
 
-#: ../lib/EditToolbar.php:65 ../lib/EditToolbar.php:308
-#: ../lib/EditToolbar.php:354 ../lib/EditToolbar.php:378
-#: ../lib/EditToolbar.php:411
+#: ../lib/EditToolbar.php:39 ../lib/EditToolbar.php:261
+#: ../lib/EditToolbar.php:308 ../lib/EditToolbar.php:338
+#: ../lib/EditToolbar.php:372
 msgid "Close"
 msgstr ""
 
-#: ../lib/EditToolbar.php:80
-#, php-format
-msgid "Substring \"%s\" found %s times. Replace with \"%s\"?"
+#: ../lib/EditToolbar.php:107
+msgid "Bold text"
 msgstr ""
 
-#: ../lib/EditToolbar.php:82
-#, php-format
-msgid "String \"%s\" not found."
-msgstr "\"%s\" non trovato."
-
-#: ../lib/EditToolbar.php:105
-msgid "Operation undone"
+#: ../lib/EditToolbar.php:108
+msgid "Bold text [alt-b]"
 msgstr ""
 
-#: ../lib/EditToolbar.php:167 ../lib/EditToolbar.php:168
-msgid "Bold text"
+#: ../lib/EditToolbar.php:112
+msgid "Italic text"
 msgstr ""
 
-#: ../lib/EditToolbar.php:172 ../lib/EditToolbar.php:173
-msgid "Italic text"
+#: ../lib/EditToolbar.php:113
+msgid "Italic text [alt-i]"
 msgstr ""
 
-#: ../lib/EditToolbar.php:177
+#: ../lib/EditToolbar.php:117
 msgid "optional label | PageName"
 msgstr ""
 
-#: ../lib/EditToolbar.php:178
+#: ../lib/EditToolbar.php:118
 msgid "Link to page"
 msgstr ""
 
-#: ../lib/EditToolbar.php:182
+#: ../lib/EditToolbar.php:122
 msgid "optional label | http://www.example.com"
 msgstr ""
 
-#: ../lib/EditToolbar.php:183
+#: ../lib/EditToolbar.php:123
 msgid "External link (remember http:// prefix)"
 msgstr ""
 
-#: ../lib/EditToolbar.php:187
+#: ../lib/EditToolbar.php:127
 msgid "Headline text"
 msgstr ""
 
-#: ../lib/EditToolbar.php:188
+#: ../lib/EditToolbar.php:128
 msgid "Level 1 headline"
 msgstr ""
 
-#: ../lib/EditToolbar.php:192
+#: ../lib/EditToolbar.php:132
 msgid "Example.jpg"
 msgstr ""
 
-#: ../lib/EditToolbar.php:193
+#: ../lib/EditToolbar.php:133
 msgid "Embedded image"
 msgstr ""
 
-#: ../lib/EditToolbar.php:197
+#: ../lib/EditToolbar.php:137
 msgid "Insert non-formatted text here"
 msgstr ""
 
-#: ../lib/EditToolbar.php:198
+#: ../lib/EditToolbar.php:138
 msgid "Ignore wiki formatting"
 msgstr ""
 
-#: ../lib/EditToolbar.php:203
+#: ../lib/EditToolbar.php:143
 msgid "Your signature"
 msgstr ""
 
-#: ../lib/EditToolbar.php:208
+#: ../lib/EditToolbar.php:148
 msgid "Horizontal line"
 msgstr ""
 
-#: ../lib/EditToolbar.php:210 ../lib/EditToolbar.php:212
-#: ../lib/editpage.php:567
+#: ../lib/EditToolbar.php:150 ../lib/EditToolbar.php:152
+#: ../lib/WysiwygEdit/Wikiwyg.php:85 ../lib/editpage.php:664
 msgid "Save"
 msgstr "Registra"
 
-#: ../lib/EditToolbar.php:214 ../lib/EditToolbar.php:216
-#: ../lib/editpage.php:563
+#: ../lib/EditToolbar.php:157 ../lib/EditToolbar.php:159
+#: ../lib/WysiwygEdit/Wikiwyg.php:84 ../lib/editpage.php:657
 msgid "Preview"
-msgstr ""
+msgstr "Anteprima"
 
-#: ../lib/EditToolbar.php:232
+#: ../lib/EditToolbar.php:179
 msgid "Click a button to get an example text"
 msgstr ""
 
-#: ../lib/EditToolbar.php:245 ../lib/EditToolbar.php:246
+#: ../lib/EditToolbar.php:192 ../lib/EditToolbar.php:193
 msgid "Undo Search & Replace"
 msgstr ""
 
-#: ../lib/EditToolbar.php:302 ../lib/EditToolbar.php:303
+#: ../lib/EditToolbar.php:255
 msgid "AddCategory"
 msgstr "InsertoCategoria"
 
-#: ../lib/EditToolbar.php:305
+#: ../lib/EditToolbar.php:258
 msgid "Insert Categories (double-click)"
-msgstr "Inserto Categorias (doppio-scatto)"
+msgstr "Inserimento Categorie (doppio-click)"
 
-#: ../lib/EditToolbar.php:307 ../lib/EditToolbar.php:353
-#: ../lib/EditToolbar.php:377 ../lib/EditToolbar.php:410
+#: ../lib/EditToolbar.php:260 ../lib/EditToolbar.php:307
+#: ../lib/EditToolbar.php:337 ../lib/EditToolbar.php:371
 msgid "Insert"
 msgstr "Inserto"
 
-#: ../lib/EditToolbar.php:348 ../lib/EditToolbar.php:349
+#: ../lib/EditToolbar.php:302 ../lib/EditToolbar.php:303
 msgid "AddPlugin"
 msgstr "InsertoPlugin"
 
-#: ../lib/EditToolbar.php:351
+#: ../lib/EditToolbar.php:305
 msgid "Insert Plugin (double-click)"
 msgstr "Inserto Plugin (doppio-scatto)"
 
-#: ../lib/EditToolbar.php:372 ../lib/EditToolbar.php:373
+#: ../lib/EditToolbar.php:332 ../lib/EditToolbar.php:333
 msgid "AddPageLink"
 msgstr ""
 
-#: ../lib/EditToolbar.php:375
+#: ../lib/EditToolbar.php:335
 msgid "Insert PageLink (double-click)"
 msgstr "Inserto Pagina (doppio-scatto)"
 
-#: ../lib/EditToolbar.php:405 ../lib/EditToolbar.php:406
+#: ../lib/EditToolbar.php:366 ../lib/EditToolbar.php:367
 msgid "AddTemplate"
 msgstr "AggiungaLaMascherina"
 
-#: ../lib/EditToolbar.php:408
+#: ../lib/EditToolbar.php:369
 msgid "Insert Template (double-click)"
 msgstr "Inserto Mascherina (doppio-scatto)"
 
-#: ../lib/ErrorManager.php:210
+#: ../lib/ErrorManager.php:211
 #, php-format
 msgid "%s: error while handling error:"
 msgstr ""
 
-#: ../lib/FileFinder.php:191 ../lib/loadsave.php:967
+#: ../lib/FileFinder.php:191 ../lib/loadsave.php:1026
 #, php-format
 msgid "%s: file not found"
-msgstr "%s: archivio non trovato"
+msgstr "%s: file non trovato"
 
-#: ../lib/IniConfig.php:732
+#: ../lib/IniConfig.php:799
 msgid "CategoryGroup"
 msgstr "CategoriaGruppo"
 
-#: ../lib/IniConfig.php:734
+#: ../lib/IniConfig.php:801
 msgid "An unnamed PhpWiki"
 msgstr ""
 
-#: ../lib/IniConfig.php:736 ../lib/upgrade.php:149
-#: ../themes/Wordpress/templates/actionbar.tmpl:18
-#: ../themes/default/templates/userprefs.tmpl:123
+#: ../lib/IniConfig.php:803 ../lib/upgrade.php:172
+#: ../themes/Wordpress/templates/actionbar.tmpl:19
+#: ../themes/blog/templates/browse-footer.tmpl:6
+#: ../themes/default/templates/userprefs.tmpl:124
 msgid "HomePage"
 msgstr "PaginaPrincipale"
 
-#: ../lib/InlineParser.php:336
+#: ../lib/InlineParser.php:335
 msgid "Invalid [] syntax ignored"
 msgstr ""
 
-#: ../lib/InlineParser.php:652
+#: ../lib/InlineParser.php:736
 #, php-format
 msgid "unknown color %s ignored"
 msgstr ""
 
-#: ../lib/PageList.php:104
+#: ../lib/MailNotify.php:129
+#, fuzzy, php-format
+msgid "PageChange Notification of %s"
+msgstr "Pagini la notifica del cambiamento di %s trasmesso a %s"
+
+#: ../lib/MailNotify.php:156
+#, fuzzy, php-format
+msgid "sent to %s"
+msgstr "%s a %s"
+
+#: ../lib/MailNotify.php:162
+#, fuzzy, php-format
+msgid "Error: Couldn't send %s to %s"
+msgstr "Non riesco a stabilire una connessione col database: %s"
+
+#: ../lib/MailNotify.php:184
+msgid "Page change"
+msgstr "Cambiamento della pagina"
+
+#: ../lib/MailNotify.php:211 ../lib/loadsave.php:841
+#: ../lib/plugin/RecentChanges.php:109
+msgid "New page"
+msgstr "Nuova pagina"
+
+#: ../lib/MailNotify.php:213 ../lib/MailNotify.php:231 ../lib/loadsave.php:93
+#, php-format
+msgid "Edited by: %s"
+msgstr "Modifica: %s"
+
+#: ../lib/MailNotify.php:232
+#, php-format
+msgid "Page rename %s to %s"
+msgstr "La pagina cambia titolo %s a %s"
+
+#: ../lib/MailNotify.php:269
+#, php-format
+msgid "Removed by: %s"
+msgstr "Rimosso vicino: %s"
+
+#: ../lib/MailNotify.php:271
+#, php-format
+msgid "Page removed %s"
+msgstr "Pagina rimosso %s"
+
+#: ../lib/MailNotify.php:320
+msgid "e-mail address confirmation"
+msgstr ""
+
+#: ../lib/MailNotify.php:323
+#, php-format
+msgid ""
+"Someone, probably you from IP address %s, has registered an\n"
+"account \"%s\" with this e-mail address on %s.\n"
+"\n"
+"To confirm that this account really does belong to you and activate\n"
+"e-mail features on %s, open this link in your browser:\n"
+"\n"
+"%s\n"
+"\n"
+"If this is *not* you, don't follow the link. This confirmation code\n"
+"will expire at %s."
+msgstr ""
+
+#: ../lib/PageList.php:109
 #, php-format
 msgid "Sort by %s"
-msgstr "Sort di %s"
+msgstr "Ordina per %s"
+
+#: ../lib/PageList.php:139
+#, fuzzy
+msgid "reverse"
+msgstr "Ritorni"
 
-#: ../lib/PageList.php:149
+#: ../lib/PageList.php:153
 msgid "Click to reverse sort order"
 msgstr ""
 
-#: ../lib/PageList.php:157
+#: ../lib/PageList.php:160
 #, php-format
 msgid "Click to sort by %s"
 msgstr ""
@@ -265,105 +358,100 @@
 msgid "Click to de-/select all pages"
 msgstr ""
 
-#: ../lib/PageList.php:366 ../lib/plugin/UnfoldSubpages.php:132
+#: ../lib/PageList.php:370 ../lib/plugin/UnfoldSubpages.php:132
 #, php-format
 msgid " ... first %d bytes"
-msgstr ""
+msgstr " ... i primi %d byte"
 
-#: ../lib/PageList.php:372
+#: ../lib/PageList.php:376
 #, php-format
 msgid " ... around %s"
 msgstr ""
 
-#: ../lib/PageList.php:402 ../lib/plugin/AppendText.php:57
-#: ../lib/upgrade.php:810
+#: ../lib/PageList.php:406 ../lib/plugin/AppendText.php:57
 #, php-format
 msgid "%s not found"
 msgstr "%s non trovato"
 
-#: ../lib/PageList.php:466 ../lib/plugin/AuthorHistory.php:174
-#: ../lib/plugin/WantedPagesOld.php:151
+#: ../lib/PageList.php:480 ../lib/plugin/AuthorHistory.php:174
 msgid "Page Name"
-msgstr "Nome Della Pagina"
+msgstr "Nome della Pagina"
 
-#: ../lib/PageList.php:555 ../lib/plugin/FullTextSearch.php:107
+#: ../lib/PageList.php:609 ../lib/plugin/FullTextSearch.php:112
 msgid "<no matches>"
-msgstr "<nessun risultati>"
+msgstr "<nessuna corrispondenza>"
 
-#: ../lib/PageList.php:934 ../lib/plugin/WikiAdminSearchReplace.php:171
+#: ../lib/PageList.php:1036 ../lib/plugin/WikiAdminSearchReplace.php:171
 msgid "Content"
 msgstr "Indice"
 
-#: ../lib/PageList.php:950
+#: ../lib/PageList.php:1052
 msgid "Select"
 msgstr "Prescelto"
 
-#: ../lib/PageList.php:954 ../themes/MonoBook/templates/info.tmpl:71
-#: ../themes/default/templates/info.tmpl:64
-#: ../themes/shamino_com/templates/info.tmpl:70
+#: ../lib/PageList.php:1056 ../themes/MonoBook/templates/info.tmpl:71
+#: ../themes/default/templates/info.tmpl:63
 msgid "Last Modified"
 msgstr "Ultima Modifica"
 
-#: ../lib/PageList.php:956
+#: ../lib/PageList.php:1058
 msgid "Hits"
 msgstr ""
 
-#: ../lib/PageList.php:958 ../themes/Crao/templates/editpage.tmpl:37
+#: ../lib/PageList.php:1060 ../themes/Crao/templates/editpage.tmpl:37
 #: ../themes/Wordpress/templates/editpage.tmpl:38
 #: ../themes/default/templates/editpage.tmpl:39
 msgid "Size"
 msgstr "Dimensione"
 
-#: ../lib/PageList.php:961 ../themes/MonoBook/templates/info.tmpl:73
-#: ../themes/default/templates/info.tmpl:66
-#: ../themes/shamino_com/templates/info.tmpl:72
+#: ../lib/PageList.php:1063 ../themes/MonoBook/templates/info.tmpl:73
+#: ../themes/default/templates/info.tmpl:65
 msgid "Last Summary"
 msgstr "Ultimo Commenti"
 
-#: ../lib/PageList.php:963 ../lib/plugin/AuthorHistory.php:123
+#: ../lib/PageList.php:1065 ../lib/plugin/AuthorHistory.php:123
 #: ../lib/plugin/AuthorHistory.php:176 ../lib/plugin/PluginManager.php:90
 msgid "Version"
 msgstr "Versione"
 
-#: ../lib/PageList.php:966 ../themes/MonoBook/templates/info.tmpl:72
-#: ../themes/default/templates/info.tmpl:65
-#: ../themes/shamino_com/templates/info.tmpl:71
+#: ../lib/PageList.php:1068 ../themes/MonoBook/templates/info.tmpl:72
+#: ../themes/default/templates/info.tmpl:64
 msgid "Last Author"
 msgstr "Ultimo Autore"
 
-#: ../lib/PageList.php:968 ../lib/WikiGroup.php:36
+#: ../lib/PageList.php:1070 ../lib/WikiGroup.php:36
 msgid "Owner"
-msgstr ""
+msgstr "Proprietario"
 
-#: ../lib/PageList.php:970 ../lib/WikiGroup.php:37
+#: ../lib/PageList.php:1072 ../lib/WikiGroup.php:37
 msgid "Creator"
 msgstr ""
 
-#: ../lib/PageList.php:976 ../themes/Crao/templates/editpage.tmpl:61
+#: ../lib/PageList.php:1078 ../themes/Crao/templates/editpage.tmpl:61
 #: ../themes/MonoBook/templates/info.tmpl:132
-#: ../themes/default/templates/editpage.tmpl:73
-#: ../themes/default/templates/info.tmpl:127
-#: ../themes/shamino_com/templates/info.tmpl:132
+#: ../themes/Wordpress/templates/editpage.tmpl:61
+#: ../themes/default/templates/editpage.tmpl:74
+#: ../themes/default/templates/info.tmpl:126
 msgid "Locked"
 msgstr "Bloccata"
 
-#: ../lib/PageList.php:977
+#: ../lib/PageList.php:1079
 msgid "locked"
 msgstr "bloccata"
 
-#: ../lib/PageList.php:980
+#: ../lib/PageList.php:1082
 msgid "Minor Edit"
 msgstr ""
 
-#: ../lib/PageList.php:980
+#: ../lib/PageList.php:1082
 msgid "minor"
 msgstr ""
 
-#: ../lib/PageList.php:982
+#: ../lib/PageList.php:1084
 msgid "Markup"
 msgstr ""
 
-#: ../lib/PageList.php:1239 ../lib/plugin/WantedPagesOld.php:178
+#: ../lib/PageList.php:1357
 #, php-format
 msgid "Columns: %s."
 msgstr "Caratteri: %s."
@@ -401,56 +489,53 @@
 msgid "Unsupported ACL access type %s ignored."
 msgstr ""
 
-#: ../lib/PagePerm.php:558
+#: ../lib/PagePerm.php:561
 msgid "Access"
 msgstr ""
 
-#: ../lib/PagePerm.php:560
+#: ../lib/PagePerm.php:563
 msgid "Group/User"
 msgstr ""
 
-#: ../lib/PagePerm.php:561
+#: ../lib/PagePerm.php:564
 msgid "Grant"
 msgstr ""
 
-#: ../lib/PagePerm.php:562
+#: ../lib/PagePerm.php:565
 msgid "Del/+"
 msgstr ""
 
-#: ../lib/PagePerm.php:563 ../lib/plugin/PluginManager.php:90
-#: ../lib/plugin/WikiAdminSetAcl.php:230
+#: ../lib/PagePerm.php:566 ../lib/plugin/PluginManager.php:90
+#: ../lib/plugin/WikiAdminSetAcl.php:234
 msgid "Description"
 msgstr ""
 
-#: ../lib/PagePerm.php:584
+#: ../lib/PagePerm.php:587
 msgid "Add this ACL"
 msgstr ""
 
-#: ../lib/PagePerm.php:608
+#: ../lib/PagePerm.php:611
 msgid "Allow / Deny"
 msgstr ""
 
-#: ../lib/PagePerm.php:620
+#: ../lib/PagePerm.php:623
 msgid "Delete this ACL"
 msgstr ""
 
-#: ../lib/PagePerm.php:646
+#: ../lib/PagePerm.php:649
 msgid "add "
 msgstr ""
 
-#: ../lib/PagePerm.php:650
+#: ../lib/PagePerm.php:653
 msgid "Check to add this ACL"
 msgstr ""
 
-#: ../lib/PageType.php:134 ../lib/loadsave.php:733
-#: ../lib/plugin/InterWikiSearch.php:55 ../lib/plugin/WantedPages.php:54
-#: ../lib/plugin/WantedPagesOld.php:81
+#: ../lib/PageType.php:134 ../lib/loadsave.php:776 ../lib/loadsave.php:1424
+#: ../lib/plugin/InterWikiSearch.php:57 ../lib/plugin/WantedPages.php:55
 #: ../themes/MonoBook/templates/info.tmpl:149
 #: ../themes/MonoBook/templates/info.tmpl:150
+#: ../themes/default/templates/info.tmpl:143
 #: ../themes/default/templates/info.tmpl:144
-#: ../themes/default/templates/info.tmpl:145
-#: ../themes/shamino_com/templates/info.tmpl:149
-#: ../themes/shamino_com/templates/info.tmpl:150
 msgid "InterWikiMap"
 msgstr ""
 
@@ -458,338 +543,351 @@
 msgid "WARNING: InterWikiMap page is unlocked, so not using those links."
 msgstr ""
 
-#: ../lib/PageType.php:231 ../lib/PageType.php:234 ../lib/stdlib.php:670
-#: ../themes/MonoBook/templates/actionbar.tmpl:15
-#: ../themes/MonoBook/templates/actionbar.tmpl:19
-#: ../themes/MonoBook/templates/actionbar.tmpl:23
-#: ../themes/Sidebar/templates/navbar.tmpl:27
-#: ../themes/Sidebar/templates/navbar.tmpl:29
+#: ../lib/PageType.php:247 ../lib/PageType.php:250 ../lib/stdlib.php:673
+#: ../themes/MonoBook/templates/actionbar.tmpl:14
+#: ../themes/MonoBook/templates/actionbar.tmpl:21
+#: ../themes/MonoBook/templates/actionbar.tmpl:25
+#: ../themes/MonoBook/templates/actionbar.tmpl:31
+#: ../themes/Sidebar/templates/navbar.tmpl:17
+#: ../themes/Sidebar/templates/navbar.tmpl:19
 #: ../themes/default/templates/navbar.tmpl:11
 #: ../themes/default/templates/navbar.tmpl:13
+#: ../themes/wikilens/templates/navbar.tmpl:9
+#: ../themes/wikilens/templates/navbar.tmpl:11
 msgid "Discussion"
 msgstr ""
 
-#: ../lib/PageType.php:274 ../lib/loadsave.php:979
+#: ../lib/PageType.php:286 ../lib/loadsave.php:1038
 #, php-format
 msgid "Loading InterWikiMap from external file %s."
 msgstr ""
 
-#: ../lib/PageType.php:372
+#: ../lib/PageType.php:384
 msgid "Moniker"
 msgstr ""
 
-#: ../lib/PageType.php:373
+#: ../lib/PageType.php:385
 msgid "InterWiki Address"
 msgstr ""
 
-#: ../lib/RSSWriter091.php:113 ../lib/loadsave.php:1353
-#: ../lib/plugin/RecentChanges.php:272 ../lib/plugin/RecentChanges.php:287
-#: ../lib/plugin/RecentChanges.php:390 ../lib/plugin/RecentChanges.php:467
-#: ../lib/plugin/RecentChanges.php:603 ../lib/plugin/RecentChanges.php:737
-#: ../themes/Crao/templates/head.tmpl:63
+#: ../lib/RSSWriter091.php:113 ../lib/display.php:120 ../lib/display.php:307
+#: ../lib/loadsave.php:1445 ../lib/plugin/RecentChanges.php:181
+#: ../lib/plugin/RecentChanges.php:188 ../lib/plugin/RecentChanges.php:328
+#: ../lib/plugin/RecentChanges.php:346 ../lib/plugin/RecentChanges.php:523
+#: ../lib/plugin/RecentChanges.php:600 ../lib/plugin/RecentChanges.php:736
+#: ../lib/plugin/RecentChanges.php:1002 ../themes/Crao/templates/head.tmpl:63
 #: ../themes/Crao/templates/navbar.tmpl:13
-#: ../themes/MonoBook/templates/navbar.tmpl:13
-#: ../themes/Portland/templates/navbar.tmpl:28
-#: ../themes/Wordpress/templates/actionbar.tmpl:21
-#: ../themes/blog/templates/actionbar.tmpl:20
+#: ../themes/MonoBook/templates/navbar.tmpl:15
+#: ../themes/Portland/templates/navbar.tmpl:25
+#: ../themes/Wordpress/templates/actionbar.tmpl:22
+#: ../themes/blog/templates/actionbar.tmpl:14
 #: ../themes/default/templates/head.tmpl:69
 #: ../themes/default/templates/navbar.tmpl:19
 #: ../themes/shamino_com/templates/top.tmpl:20
 #: ../themes/smaller/templates/navbar.tmpl:7
 #: ../themes/wikilens/templates/head.tmpl:60
-#: ../themes/wikilens/templates/navbar.tmpl:10
+#: ../themes/wikilens/templates/navbar.tmpl:17
 msgid "RecentChanges"
-msgstr "CambiamentiRecenti"
+msgstr "ModificheRecenti"
 
-#: ../lib/Request.php:696 ../lib/Request.php:699
+#: ../lib/Request.php:703 ../lib/Request.php:706
 msgid "Upload error: file too big"
 msgstr ""
 
-#: ../lib/Request.php:702
+#: ../lib/Request.php:709
 msgid "Upload error: file only partially recieved"
 msgstr ""
 
-#: ../lib/Request.php:705
+#: ../lib/Request.php:712
 msgid "Upload error: no file selected"
 msgstr ""
 
-#: ../lib/Request.php:708
+#: ../lib/Request.php:715
 msgid "Upload error: unknown error #"
 msgstr ""
 
-#: ../lib/Request.php:815 ../lib/main.php:1160 ../lib/main.php:1173
+#: ../lib/Request.php:824 ../lib/main.php:1221 ../lib/main.php:1234
 #, php-format
 msgid "%s is not writable."
 msgstr ""
 
-#: ../lib/Request.php:815
+#: ../lib/Request.php:824
 msgid "The PhpWiki access log file"
 msgstr ""
 
-#: ../lib/Request.php:817 ../lib/main.php:1163
+#: ../lib/Request.php:826 ../lib/main.php:1224
 #, php-format
 msgid "Please ensure that %s is writable, or redefine %s in config/config.ini."
 msgstr ""
 
-#: ../lib/Request.php:818
+#: ../lib/Request.php:827
 #, php-format
 msgid "the file '%s'"
 msgstr ""
 
-#: ../lib/Template.php:175
+#: ../lib/SemanticWeb.php:135
+msgid "URIResolver"
+msgstr ""
+
+#: ../lib/SemanticWeb.php:149 ../lib/plugin/SemanticSearch.php:302
+#, fuzzy
+msgid "Relation"
+msgstr "Collegamenti Relativi"
+
+#: ../lib/SemanticWeb.php:151 ../lib/plugin/SemanticSearch.php:375
+msgid "Attribute"
+msgstr ""
+
+#: ../lib/Template.php:178
 #, php-format
 msgid "%4d  %s\n"
 msgstr "%4d  %s\n"
 
-#: ../lib/TextSearchQuery.php:79 ../lib/plugin/FileInfo.php:100
+#: ../lib/TextSearchQuery.php:79 ../lib/plugin/FileInfo.php:116
 #, php-format
 msgid "Unsupported argument: %s=%s"
 msgstr ""
 
-#: ../lib/TextSearchQuery.php:89
+#: ../lib/TextSearchQuery.php:90
 msgid "(A|An|And|But|By|For|From|In|Is|It|Of|On|Or|The|To|With)"
 msgstr ""
 
-#: ../lib/Theme.php:388
+#: ../lib/Theme.php:398
 msgid "Never edited"
 msgstr ""
 
-#: ../lib/Theme.php:395
+#: ../lib/Theme.php:405
 #, php-format
 msgid "%s at %s"
 msgstr "%s a %s"
 
-#: ../lib/Theme.php:399
+#: ../lib/Theme.php:409
 #, php-format
 msgid "Version %s, saved %s"
 msgstr "Versione %s, salvata %s"
 
-#: ../lib/Theme.php:401
+#: ../lib/Theme.php:411
 #, php-format
 msgid "Last edited %s"
 msgstr "Ultima modifica %s"
 
-#: ../lib/Theme.php:410
+#: ../lib/Theme.php:420
 #, php-format
 msgid "Version %s, saved on %s"
 msgstr "Versione %s, salvata su %s"
 
-#: ../lib/Theme.php:412
+#: ../lib/Theme.php:422
 #, php-format
 msgid "Last edited on %s"
-msgstr "Ultima modifica su %s"
+msgstr "Ultima modifica %s"
 
-#: ../lib/Theme.php:428
+#: ../lib/Theme.php:438
 msgid "today"
 msgstr "oggi"
 
-#: ../lib/Theme.php:435
+#: ../lib/Theme.php:445
 msgid "yesterday"
 msgstr "ieri"
 
-#: ../lib/Theme.php:456 ../lib/Theme.php:458
+#: ../lib/Theme.php:466 ../lib/Theme.php:468
 #, php-format
 msgid "Owner: %s"
 msgstr "Owner: %s"
 
-#: ../lib/Theme.php:470 ../lib/Theme.php:472 ../lib/diff.php:262
-#: ../lib/plugin/Diff.php:75
+#: ../lib/Theme.php:481 ../lib/Theme.php:483 ../lib/diff.php:261
+#: ../lib/plugin/Diff.php:76
 #, php-format
 msgid "by %s"
 msgstr "di %s"
 
-#: ../lib/Theme.php:564
+#: ../lib/Theme.php:575
 #, php-format
 msgid "Empty link to: %s"
 msgstr ""
 
-#: ../lib/Theme.php:579 ../themes/MacOSX/themeinfo.php:71
+#: ../lib/Theme.php:590 ../themes/MacOSX/themeinfo.php:71
 #, php-format
 msgid "Create: %s"
 msgstr "Salvata: %s"
 
-#: ../lib/Theme.php:598
+#: ../lib/Theme.php:609
 #, php-format
 msgid "Google:%s"
 msgstr ""
 
-#: ../lib/Theme.php:623
+#: ../lib/Theme.php:634
 #, php-format
 msgid "'%s': Bad page name"
 msgstr ""
 
-#: ../lib/Theme.php:933 ../themes/Crao/templates/actionbar.tmpl:5
-#: ../themes/MonoBook/templates/actionbar.tmpl:11
-#: ../themes/blog/themeinfo.php:53
-#: ../themes/default/templates/actionbar.tmpl:15
+#: ../lib/Theme.php:977 ../lib/plugin/WatchPage.php:89
+#: ../themes/Crao/templates/actionbar.tmpl:5
+#: ../themes/MonoBook/templates/actionbar.tmpl:34
+#: ../themes/blog/themeinfo.php:61
+#: ../themes/default/templates/actionbar.tmpl:16
 #: ../themes/shamino_com/templates/actionbar.tmpl:6
-#: ../themes/shamino_com/templates/info.tmpl:164
 #: ../themes/smaller/templates/actionbar.tmpl:18
 msgid "Edit"
 msgstr "Modifica"
 
-#: ../lib/Theme.php:934 ../lib/plugin/Diff.php:36
-#: ../themes/blog/themeinfo.php:54
+#: ../lib/Theme.php:978 ../lib/plugin/Diff.php:37
+#: ../themes/blog/themeinfo.php:62
 msgid "Diff"
-msgstr "Diff"
+msgstr "Differenze"
 
-#: ../lib/Theme.php:935 ../themes/Crao/templates/signin.tmpl:15
-#: ../themes/Crao/templates/signin.tmpl:31
-#: ../themes/MonoBook/templates/signin.tmpl:16
-#: ../themes/MonoBook/templates/signin.tmpl:30
-#: ../themes/Sidebar/templates/signin.tmpl:16
-#: ../themes/Sidebar/templates/signin.tmpl:30
-#: ../themes/Wordpress/templates/signin.tmpl:18
-#: ../themes/Wordpress/templates/signin.tmpl:34
+#: ../lib/Theme.php:979 ../themes/Crao/templates/signin.tmpl:14
+#: ../themes/Crao/templates/signin.tmpl:30
+#: ../themes/Sidebar/templates/signin.tmpl:15
+#: ../themes/Sidebar/templates/signin.tmpl:29
+#: ../themes/Wordpress/templates/signin.tmpl:17
+#: ../themes/Wordpress/templates/signin.tmpl:33
 #: ../themes/default/templates/signin.tmpl:16
 #: ../themes/default/templates/signin.tmpl:27
-#: ../themes/shamino_com/templates/signin.tmpl:15
-#: ../themes/shamino_com/templates/signin.tmpl:28
+#: ../themes/shamino_com/templates/signin.tmpl:14
+#: ../themes/shamino_com/templates/signin.tmpl:27
 #: ../themes/smaller/templates/signin.tmpl:16
 #: ../themes/smaller/templates/signin.tmpl:27
 msgid "Sign Out"
-msgstr ""
+msgstr "Logout"
 
-#: ../lib/Theme.php:936 ../lib/WikiUser.php:221 ../lib/WikiUserNew.php:473
-#: ../themes/Crao/templates/signin.tmpl:54
-#: ../themes/Crao/templates/signin.tmpl:59
+#: ../lib/Theme.php:980 ../lib/WikiUser.php:221 ../lib/WikiUserNew.php:503
+#: ../themes/Crao/templates/signin.tmpl:53
 #: ../themes/default/templates/login.tmpl:76
 #: ../themes/smaller/templates/signin.tmpl:54
 msgid "Sign In"
-msgstr ""
+msgstr "Login"
 
-#: ../lib/Theme.php:937 ../themes/MacOSX/themeinfo.php:135
+#: ../lib/Theme.php:981 ../themes/MacOSX/themeinfo.php:133
 msgid "Lock Page"
 msgstr "Blocca la Pagina"
 
-#: ../lib/Theme.php:938 ../themes/MacOSX/themeinfo.php:136
+#: ../lib/Theme.php:982 ../themes/MacOSX/themeinfo.php:134
 msgid "Unlock Page"
 msgstr "Sblocca la Pagina"
 
-#: ../lib/Theme.php:939 ../lib/removepage.php:23 ../lib/removepage.php:63
+#: ../lib/Theme.php:983 ../lib/removepage.php:23 ../lib/removepage.php:63
 msgid "Remove Page"
-msgstr "Rimuovi la Pagina"
+msgstr "Cancella la Pagina"
+
+#: ../lib/Theme.php:1149
+msgid ""
+"Some action(page) wanted to add more headers, but they were already printed."
+msgstr ""
+
+#: ../lib/Theme.php:1225 ../themes/Hawaiian/themeinfo.php:28
+#: ../themes/MacOSX/themeinfo.php:102 ../themes/MonoBook/themeinfo.php:126
+#: ../themes/Portland/themeinfo.php:58 ../themes/Sidebar/themeinfo.php:40
+#: ../themes/SpaceWiki/themeinfo.php:42 ../themes/Wordpress/themeinfo.php:60
+#: ../themes/shamino_com/themeinfo.php:54 ../themes/wikilens/themeinfo.php:25
+msgid "Printer"
+msgstr "Stampante"
+
+#: ../lib/Theme.php:1226 ../themes/MacOSX/themeinfo.php:103
+#: ../themes/MonoBook/themeinfo.php:127 ../themes/shamino_com/themeinfo.php:55
+#: ../themes/wikilens/themeinfo.php:26
+msgid "Top & bottom toolbars"
+msgstr ""
+
+#: ../lib/Theme.php:1227 ../themes/Hawaiian/themeinfo.php:29
+#: ../themes/MonoBook/themeinfo.php:128 ../themes/Portland/themeinfo.php:59
+#: ../themes/Sidebar/themeinfo.php:41 ../themes/SpaceWiki/themeinfo.php:43
+#: ../themes/Wordpress/themeinfo.php:61 ../themes/shamino_com/themeinfo.php:56
+#: ../themes/wikilens/themeinfo.php:27
+msgid "Modern"
+msgstr "Moderno"
 
-#: ../lib/Theme.php:1188 ../lib/main.php:1014
-#: ../lib/plugin/RecentChanges.php:594 ../lib/plugin/TitleSearch.php:43
+#: ../lib/Theme.php:1374 ../lib/main.php:1053
+#: ../lib/plugin/RecentChanges.php:727 ../lib/plugin/TitleSearch.php:43
 #: ../themes/Crao/templates/navbar.tmpl:4
 #: ../themes/Crao/templates/navbar.tmpl:8
 #: ../themes/Crao/templates/navbar.tmpl:51
-#: ../themes/MonoBook/templates/navbar.tmpl:23
-#: ../themes/Sidebar/templates/navbar.tmpl:7
-#: ../themes/Sidebar/templates/navbar.tmpl:13
-#: ../themes/Sidebar/templates/navbar.tmpl:20
+#: ../themes/MonoBook/templates/navbar.tmpl:33
 #: ../themes/blog/templates/search.tmpl:3
 #: ../themes/blog/templates/search.tmpl:18
 #: ../themes/default/templates/navbar.tmpl:6
 #: ../themes/default/templates/navbar.tmpl:24
 #: ../themes/default/templates/search.tmpl:3
-#: ../themes/default/templates/search.tmpl:6
-#: ../themes/default/templates/search.tmpl:25
-#: ../themes/default/templates/search.tmpl:29
+#: ../themes/default/templates/search.tmpl:9
+#: ../themes/default/templates/search.tmpl:33
 #: ../themes/shamino_com/templates/top.tmpl:18
 #: ../themes/smaller/templates/navbar.tmpl:4
-#: ../themes/wikilens/templates/navbar.tmpl:7
-#: ../themes/wikilens/templates/navbar.tmpl:15
 msgid "TitleSearch"
-msgstr "RicercaSuTutto"
+msgstr "RicercaPerTitolo"
+
+#: ../lib/Theme.php:1426 ../lib/plugin/Calendar.php:41
+#: ../lib/plugin/Calendar.php:45 ../themes/Crao/templates/head.tmpl:89
+#: ../themes/Crao/templates/navbar.tmpl:28
+#: ../themes/Sidebar/templates/body.tmpl:21
+#: ../themes/Sidebar/templates/body.tmpl:26
+#: ../themes/Wordpress/templates/actionbar.tmpl:32
+#: ../themes/blog/templates/sidebar.tmpl:16
+#: ../themes/default/templates/head.tmpl:96
+#: ../themes/default/templates/homepage.tmpl:15
+#: ../themes/default/templates/navbar.tmpl:45
+#: ../themes/wikilens/templates/head.tmpl:89
+#: ../themes/wikilens/templates/navbar.tmpl:25
+msgid "Calendar"
+msgstr "Calendario"
 
-#: ../lib/Theme.php:1347
+#: ../lib/Theme.php:1690
 #, php-format
 msgid "Plugin %s: undefined"
 msgstr "Plugin '%s': non definito"
 
-#: ../lib/Theme.php:1370
+#: ../lib/Theme.php:1713
 msgid "Related Links"
 msgstr "Collegamenti Relativi"
 
-#: ../lib/Theme.php:1390
+#: ../lib/Theme.php:1734
 msgid "External Links"
 msgstr "Collegamenti Esterni"
 
-#: ../lib/WikiDB.php:233
-#, php-format
-msgid "Removed by: %s"
-msgstr "Rimosso vicino: %s"
-
-#: ../lib/WikiDB.php:235
-#, php-format
-msgid "Page removed %s"
-msgstr "Pagina rimosso %s"
-
-#: ../lib/WikiDB.php:241 ../lib/WikiDB.php:1054 ../lib/WikiDB.php:1079
-#: ../lib/loadsave.php:99
-#, php-format
-msgid "PageChange Notification of %s sent to %s"
-msgstr "Pagini la notifica del cambiamento di %s trasmesso a %s"
-
-#: ../lib/WikiDB.php:244 ../lib/WikiDB.php:1057 ../lib/WikiDB.php:1082
-#: ../lib/loadsave.php:102
-#, php-format
-msgid "PageChange Notification Error: Couldn't send %s to %s"
-msgstr ""
-"Errore Di Notifica Del Cambiamento Della Pagina:  Non ha potuto trasmettere %"
-"s a %s"
-
-#: ../lib/WikiDB.php:474
+#: ../lib/WikiDB.php:539
 #, php-format
 msgid "renamed from %s"
 msgstr ""
 
-#: ../lib/WikiDB.php:482
+#: ../lib/WikiDB.php:548
 msgid "WikiDB::renamePage() not yet implemented for this backend"
 msgstr ""
 
-#: ../lib/WikiDB.php:847
+#: ../lib/WikiDB.php:921
 #, php-format
 msgid "%s: Date of new revision is %s"
 msgstr ""
 
-#: ../lib/WikiDB.php:911 ../lib/main.php:98
+#: ../lib/WikiDB.php:993 ../lib/main.php:98
 msgid "Optimizing database"
 msgstr "Base di dati d'ottimizzazione"
 
-#: ../lib/WikiDB.php:1017
-msgid "Page change"
-msgstr "Cambiamento della pagina"
-
-#: ../lib/WikiDB.php:1045 ../lib/loadsave.php:787
-#: ../lib/plugin/RecentChanges.php:107
-msgid "New page"
-msgstr "Nuova pagina"
-
-#: ../lib/WikiDB.php:1048 ../lib/WikiDB.php:1071 ../lib/loadsave.php:93
-#, php-format
-msgid "Edited by: %s"
-msgstr "Modifica: %s"
-
-#: ../lib/WikiDB.php:1073
-#, php-format
-msgid "Page rename %s to %s"
-msgstr "La pagina cambia titolo %s a %s"
+#: ../lib/WikiDB.php:1376 ../lib/WikiDB.php:1384 ../lib/WikiUserNew.php:429
+#: ../lib/loadsave.php:852 ../lib/loadsave.php:1380 ../lib/loadsave.php:1383
+msgid "The PhpWiki programming team"
+msgstr ""
 
-#: ../lib/WikiDB.php:1633 ../lib/WikiDB.php:1637
+#: ../lib/WikiDB.php:1627 ../lib/WikiDB.php:1631
 #: ../themes/default/templates/homepage.tmpl:7
 #, php-format
 msgid "Describe %s here."
-msgstr "Descrivi %s qui."
+msgstr "Inserire qui il testo della pagina %s."
 
-#: ../lib/WikiDB.php:1672
+#: ../lib/WikiDB.php:1666
 #, php-format
 msgid "Oops! Revision %s of %s seems to have been deleted!"
 msgstr ""
 
-#: ../lib/WikiDB/backend/dba.php:22 ../lib/WikiDB/backend/dba.php:24
+#: ../lib/WikiDB/backend/dba.php:29 ../lib/WikiDB/backend/dba.php:31
 #, php-format
 msgid "%s: Can't open dba database"
 msgstr ""
 
-#: ../lib/WikiDB/backend/file.php:111
+#: ../lib/WikiDB/backend/file.php:111 ../lib/WikiDB/backend/flatfile.php:83
 #, php-format
 msgid "'%s': corrupt file"
-msgstr ""
+msgstr "'%s': file corrotto"
 
 #: ../lib/WikiDB/dba.php:16 ../lib/WikiDB/file.php:47
+#: ../lib/WikiDB/flatfile.php:47
 #, php-format
 msgid ""
 "The %s files are in the %s directory. Please read the INSTALL file and move "
@@ -858,7 +956,7 @@
 msgid "No or not enough GROUP_DB SQL statements defined"
 msgstr ""
 
-#: ../lib/WikiGroup.php:838 ../lib/loadsave.php:962
+#: ../lib/WikiGroup.php:838 ../lib/loadsave.php:1021
 #, php-format
 msgid "%s: not defined"
 msgstr "%s: non definito"
@@ -886,91 +984,69 @@
 msgid "n/a"
 msgstr ""
 
-#: ../lib/WikiPlugin.php:121 ../lib/loadsave.php:82 ../lib/loadsave.php:408
-#: ../lib/loadsave.php:844 ../lib/loadsave.php:850 ../lib/loadsave.php:858
-#: ../lib/main.php:967 ../lib/main.php:1071
-#: ../lib/plugin/WikiAdminSelect.php:192 ../themes/Crao/templates/head.tmpl:79
-#: ../themes/Crao/templates/head.tmpl:80
-#: ../themes/Crao/templates/navbar.tmpl:37
-#: ../themes/MonoBook/templates/navbar.tmpl:46
-#: ../themes/Portland/templates/navbar.tmpl:30
-#: ../themes/Sidebar/templates/navbar.tmpl:38
-#: ../themes/Wordpress/templates/actionbar.tmpl:25
-#: ../themes/blog/templates/navbar.tmpl:14
-#: ../themes/default/templates/head.tmpl:86
-#: ../themes/default/templates/head.tmpl:87
-#: ../themes/default/templates/navbar.tmpl:55
-#: ../themes/shamino_com/templates/actionbar.tmpl:18
-#: ../themes/smaller/templates/navbar.tmpl:19
-#: ../themes/wikilens/templates/head.tmpl:78
-#: ../themes/wikilens/templates/head.tmpl:79
-#: ../themes/wikilens/templates/navbar.tmpl:43
-msgid "PhpWikiAdministration"
-msgstr ""
-
-#: ../lib/WikiPlugin.php:125
+#: ../lib/WikiPlugin.php:225
 #, php-format
-msgid "Argument '%s' not declared by plugin."
+msgid "trailing cruft in plugin args: '%s'"
 msgstr ""
 
-#: ../lib/WikiPlugin.php:235
+#: ../lib/WikiPlugin.php:233
 #, php-format
-msgid "trailing cruft in plugin args: '%s'"
+msgid "Argument '%s' not declared by plugin."
 msgstr ""
 
-#: ../lib/WikiPlugin.php:378
+#: ../lib/WikiPlugin.php:376
 #, php-format
 msgid "Plugin %s failed."
 msgstr "Plugin '%s' fallito."
 
-#: ../lib/WikiPlugin.php:384
+#: ../lib/WikiPlugin.php:382
 #, php-format
 msgid "Plugin %s disabled."
 msgstr "Plugin '%s' inabiliti."
 
-#: ../lib/WikiPlugin.php:520
+#: ../lib/WikiPlugin.php:518
 #, php-format
 msgid "Include of '%s' failed."
 msgstr "Inserimento di '%s' fallito."
 
-#: ../lib/WikiPlugin.php:522
+#: ../lib/WikiPlugin.php:520
 #, php-format
 msgid "%s: no such class"
 msgstr ""
 
-#: ../lib/WikiPlugin.php:528
+#: ../lib/WikiPlugin.php:526
 #, php-format
 msgid "%s: not a subclass of WikiPlugin."
 msgstr ""
 
-#: ../lib/WikiPluginCached.php:691
+#: ../lib/WikiPluginCached.php:688
 #, php-format
 msgid ""
 "There is no image creation data available to id '%s'. Please reload "
 "referring page."
 msgstr ""
 
-#: ../lib/WikiPluginCached.php:845
+#: ../lib/WikiPluginCached.php:842
 msgid "Image map expired. Reload wiki page to recreate its html part."
 msgstr ""
 
 #: ../lib/WikiUser.php:188 ../lib/WikiUser.php:268
 #: ../lib/WikiUser/AdoDb.php:29 ../lib/WikiUser/AdoDb.php:186
 #: ../lib/WikiUser/Db.php:43 ../lib/WikiUser/File.php:58
-#: ../lib/WikiUser/IMAP.php:17 ../lib/WikiUser/LDAP.php:58
+#: ../lib/WikiUser/IMAP.php:18 ../lib/WikiUser/LDAP.php:58
 #: ../lib/WikiUser/POP3.php:17 ../lib/WikiUser/PdoDb.php:28
 #: ../lib/WikiUser/PdoDb.php:103 ../lib/WikiUser/PearDb.php:26
-#: ../lib/WikiUser/PearDb.php:116 ../lib/WikiUserNew.php:559
+#: ../lib/WikiUser/PearDb.php:116 ../lib/WikiUserNew.php:590
 msgid "Invalid username."
 msgstr ""
 
-#: ../lib/WikiUser.php:192 ../lib/WikiUserNew.php:566
+#: ../lib/WikiUser.php:192 ../lib/WikiUserNew.php:597
 msgid "Invalid password or userid."
-msgstr ""
+msgstr "Password o nome utente errati."
 
-#: ../lib/WikiUser.php:194 ../lib/WikiUserNew.php:582
+#: ../lib/WikiUser.php:194 ../lib/WikiUserNew.php:613
 msgid "Insufficient permissions."
-msgstr ""
+msgstr "Permessi insufficienti."
 
 #: ../lib/WikiUser.php:248
 msgid ""
@@ -1000,10 +1076,12 @@
 
 #: ../lib/WikiUser.php:465 ../lib/WikiUser.php:475
 #: ../themes/Crao/templates/navbar.tmpl:23
+#: ../themes/MonoBook/templates/navbar.tmpl:61
 #: ../themes/default/templates/navbar.tmpl:40
 #: ../themes/shamino_com/templates/top.tmpl:28
+#: ../themes/wikilens/templates/navbar.tmpl:23
 msgid "Preferences"
-msgstr ""
+msgstr "Preferenze"
 
 #: ../lib/WikiUser.php:499
 #, php-format
@@ -1018,14 +1096,14 @@
 msgid "%s is missing"
 msgstr ""
 
-#: ../lib/WikiUser/AdoDb.php:201 ../lib/WikiUser/AdoDb.php:255
+#: ../lib/WikiUser/AdoDb.php:201 ../lib/WikiUser/AdoDb.php:258
 #: ../lib/WikiUser/PdoDb.php:190 ../lib/WikiUser/PdoDb.php:255
 #: ../lib/WikiUser/PearDb.php:179 ../lib/WikiUser/PearDb.php:223
 #, php-format
 msgid "Either %s is missing or DATABASE_TYPE != '%s'"
 msgstr ""
 
-#: ../lib/WikiUser/IMAP.php:33
+#: ../lib/WikiUser/IMAP.php:36
 msgid "Unable to connect to IMAP server "
 msgstr ""
 
@@ -1034,12 +1112,35 @@
 msgid "Unable to bind LDAP server %s using %s %s"
 msgstr ""
 
-#: ../lib/WikiUser/LDAP.php:65 ../lib/WikiUser/LDAP.php:108
+#: ../lib/WikiUser/LDAP.php:68
+msgid "Empty password not allowed for LDAP"
+msgstr ""
+
+#: ../lib/WikiUser/LDAP.php:73 ../lib/WikiUser/LDAP.php:149
 #, php-format
 msgid "Invalid username '%s' for LDAP Auth"
 msgstr ""
 
-#: ../lib/WikiUser/POP3.php:59
+#: ../lib/WikiUser/LDAP.php:84
+#, fuzzy
+msgid "Could not search in LDAP"
+msgstr "Non riesco a stabilire una connessione col database: %s"
+
+#: ../lib/WikiUser/LDAP.php:91
+#, fuzzy
+msgid "User not found in LDAP"
+msgstr "%s non trovato"
+
+#: ../lib/WikiUser/LDAP.php:125
+msgid "Wrong password: "
+msgstr ""
+
+#: ../lib/WikiUser/LDAP.php:131
+#, fuzzy
+msgid "Could not connect to LDAP"
+msgstr "Non riesco a stabilire una connessione col database: %s"
+
+#: ../lib/WikiUser/POP3.php:61
 #, php-format
 msgid "Couldn't connect to %s"
 msgstr "Non riesco a stabilire una connessione col database: %s"
@@ -1069,48 +1170,53 @@
 msgid "Given password ignored."
 msgstr ""
 
-#: ../lib/WikiUserNew.php:564
+#: ../lib/WikiUserNew.php:430
+msgid ""
+"Automatically created user homepage to be able to store UserPreferences."
+msgstr ""
+
+#: ../lib/WikiUserNew.php:595
 msgid "Invalid password."
 msgstr ""
 
-#: ../lib/WikiUserNew.php:628
+#: ../lib/WikiUserNew.php:659
 msgid "Empty Preferences or format of UserPreferences cookie not recognised."
 msgstr ""
 
-#: ../lib/WikiUserNew.php:632
+#: ../lib/WikiUserNew.php:663
 msgid "Default preferences will be used."
 msgstr ""
 
-#: ../lib/WikiUserNew.php:1190
+#: ../lib/WikiUserNew.php:1233
 msgid "The length of the password is shorter than the system policy allows."
 msgstr ""
 
-#: ../lib/WikiUserNew.php:1216
+#: ../lib/WikiUserNew.php:1259
 msgid ""
 "The length of the stored password is shorter than the system policy allows. "
 "Sorry, you cannot login.\n"
 " You have to ask the System Administrator to reset your password."
 msgstr ""
 
-#: ../lib/WikiUserNew.php:1231
+#: ../lib/WikiUserNew.php:1274
 msgid "The crypt function is not available in this version of PHP."
 msgstr ""
 
-#: ../lib/WikiUserNew.php:1232
+#: ../lib/WikiUserNew.php:1275
 msgid ""
 "Please set ENCRYPTED_PASSWD to false in config/config.ini and probably "
 "change ADMIN_PASSWD."
 msgstr ""
 
-#: ../lib/WikiUserNew.php:1245
+#: ../lib/WikiUserNew.php:1288
 msgid "Please set ENCRYPTED_PASSWD to true in config/config.ini."
 msgstr ""
 
-#: ../lib/WikiUserNew.php:1657
+#: ../lib/WikiUserNew.php:1701 ../lib/plugin/WikiAdminUtils.php:114
 msgid "Email Verification"
 msgstr ""
 
-#: ../lib/WikiUserNew.php:1658
+#: ../lib/WikiUserNew.php:1702
 #, php-format
 msgid ""
 "Welcome to %s!\n"
@@ -1119,106 +1225,154 @@
 "See %s"
 msgstr ""
 
-#: ../lib/WikiUserNew.php:1711
+#: ../lib/WikiUserNew.php:1762
 #, php-format
 msgid "E-Mail address '%s' is not properly formatted"
 msgstr ""
 
-#: ../lib/WikiUserNew.php:1715
+#: ../lib/WikiUserNew.php:1766
 #, php-format
 msgid "E-Mail address '%s' is properly formatted"
 msgstr ""
 
-#: ../lib/XmlElement.php:456 ../lib/stdlib.php:1344
+#: ../lib/WysiwygEdit/Wikiwyg.php:74
+msgid "Apply changes"
+msgstr ""
+
+#: ../lib/WysiwygEdit/Wikiwyg.php:75
+msgid "Exit toolbar"
+msgstr ""
+
+#: ../lib/WysiwygEdit/Wikiwyg.php:76
+#, fuzzy
+msgid "Title 1"
+msgstr "Ricerca per Titolo"
+
+#: ../lib/WysiwygEdit/Wikiwyg.php:77
+#, fuzzy
+msgid "Title 2"
+msgstr "Ricerca per Titolo"
+
+#: ../lib/WysiwygEdit/Wikiwyg.php:78
+#, fuzzy
+msgid "Title 3"
+msgstr "Ricerca per Titolo"
+
+#: ../lib/WysiwygEdit/Wikiwyg.php:79
+msgid "Verbatim"
+msgstr ""
+
+#: ../lib/WysiwygEdit/Wikiwyg.php:80
+msgid "Table of content"
+msgstr ""
+
+#: ../lib/WysiwygEdit/Wikiwyg.php:81
+msgid "Insert Wikitext section"
+msgstr ""
+
+#: ../lib/WysiwygEdit/Wikiwyg.php:82
+msgid "Sup"
+msgstr ""
+
+#: ../lib/WysiwygEdit/Wikiwyg.php:83
+msgid "Sub"
+msgstr ""
+
+#: ../lib/WysiwygEdit/Wikiwyg.php:107
+msgid "Warning: This Wikiwyg editor has only Beta quality!"
+msgstr ""
+
+#: ../lib/XmlElement.php:467 ../lib/stdlib.php:1357
 #, php-format
 msgid "Can't mix '%s' with '%s' type format strings"
 msgstr ""
 
-#: ../lib/XmlRpcServer.php:562
+#: ../lib/XmlRpcServer.php:511
 msgid "xml-rpc change"
 msgstr ""
 
-#: ../lib/diff.php:259 ../lib/plugin/Diff.php:72
+#: ../lib/diff.php:258 ../lib/plugin/Diff.php:73
 #, php-format
 msgid "version %s"
 msgstr "versione %s"
 
-#: ../lib/diff.php:266 ../lib/plugin/Diff.php:77
+#: ../lib/diff.php:265 ../lib/plugin/Diff.php:78
 #: ../lib/wikilens/PageListColumns.php:351
 msgid "None"
 msgstr "Nessuno"
 
-#: ../lib/diff.php:289 ../lib/plugin/Diff.php:94
-#: ../lib/plugin/PageHistory.php:312 ../lib/plugin/PageInfo.php:59
+#: ../lib/diff.php:288 ../lib/plugin/Diff.php:95
+#: ../lib/plugin/PageHistory.php:326 ../lib/plugin/PageInfo.php:59
 #, php-format
 msgid "I'm sorry, there is no such page as %s."
 msgstr ""
 
-#: ../lib/diff.php:292 ../lib/diff.php:394
+#: ../lib/diff.php:291 ../lib/diff.php:396
 #, php-format
 msgid "Diff: %s"
 msgstr "Differenza di: %s"
 
-#: ../lib/diff.php:299 ../lib/diff.php:309 ../lib/plugin/Diff.php:102
-#: ../lib/plugin/Diff.php:112
+#: ../lib/diff.php:298 ../lib/diff.php:308 ../lib/plugin/Diff.php:103
+#: ../lib/plugin/Diff.php:113
 #, php-format
 msgid "version %d"
 msgstr "versione %d"
 
-#: ../lib/diff.php:303 ../lib/plugin/Diff.php:106
+#: ../lib/diff.php:302 ../lib/plugin/Diff.php:107
 msgid "current version"
 msgstr "versione corrente"
 
-#: ../lib/diff.php:320 ../lib/plugin/Diff.php:123
+#: ../lib/diff.php:319 ../lib/plugin/Diff.php:124
 msgid "revision by previous author"
 msgstr ""
 
-#: ../lib/diff.php:326 ../lib/plugin/Diff.php:129
+#: ../lib/diff.php:325 ../lib/plugin/Diff.php:130
 msgid "previous revision"
 msgstr ""
 
-#: ../lib/diff.php:336 ../lib/plugin/Diff.php:139
+#: ../lib/diff.php:335 ../lib/plugin/Diff.php:140
 msgid "predecessor to the previous major change"
 msgstr ""
 
-#: ../lib/diff.php:347 ../lib/plugin/Diff.php:149
+#: ../lib/diff.php:346 ../lib/plugin/Diff.php:150
 #, php-format
 msgid "Differences between %s and %s of %s."
-msgstr ""
+msgstr "Differenze tra %s e %s di %s."
 
-#: ../lib/diff.php:350 ../lib/plugin/Diff.php:152
+#: ../lib/diff.php:349 ../lib/plugin/Diff.php:153
 msgid "Other diffs:"
-msgstr ""
+msgstr "Altre differenze:"
 
-#: ../lib/diff.php:351 ../lib/plugin/Diff.php:153
+#: ../lib/diff.php:350 ../lib/plugin/Diff.php:154
 msgid "Previous Major Revision"
 msgstr ""
 
-#: ../lib/diff.php:352 ../lib/plugin/Diff.php:154
+#: ../lib/diff.php:351 ../lib/plugin/Diff.php:155
 msgid "Previous Revision"
 msgstr "Precedente"
 
-#: ../lib/diff.php:353 ../lib/plugin/Diff.php:155
+#: ../lib/diff.php:352 ../lib/plugin/Diff.php:156
 msgid "Previous Author"
 msgstr "Precedente Author"
 
-#: ../lib/diff.php:370 ../lib/plugin/Diff.php:172
+#: ../lib/diff.php:368 ../lib/plugin/Diff.php:173
 msgid "Newer page:"
 msgstr "Nuova pagina:"
 
-#: ../lib/diff.php:372 ../lib/plugin/Diff.php:174
+#: ../lib/diff.php:370 ../lib/plugin/Diff.php:175
 msgid "Older page:"
 msgstr ""
 
-#: ../lib/diff.php:380 ../lib/plugin/Diff.php:182
+#: ../lib/diff.php:378 ../lib/editpage.php:499 ../lib/plugin/Diff.php:183
 msgid "Versions are identical"
 msgstr "Le versioni sono identiche"
 
-#: ../lib/display.php:53 ../lib/plugin/HelloWorld.php:70
-#: ../lib/plugin/PageGroup.php:102 ../lib/plugin/PageGroup.php:166
-#: ../lib/plugin/PageGroup.php:177 ../lib/plugin/PageGroup.php:193
-#: ../lib/plugin/PageGroup.php:200 ../lib/plugin/PageHistory.php:216
-#: ../lib/plugin/UnfoldSubpages.php:140 ../themes/Crao/templates/head.tmpl:47
+#: ../lib/display.php:54 ../lib/display.php:240
+#: ../lib/plugin/HelloWorld.php:70 ../lib/plugin/PageGroup.php:102
+#: ../lib/plugin/PageGroup.php:166 ../lib/plugin/PageGroup.php:177
+#: ../lib/plugin/PageGroup.php:193 ../lib/plugin/PageGroup.php:200
+#: ../lib/plugin/PageHistory.php:229 ../lib/plugin/UnfoldSubpages.php:140
+#: ../themes/Crao/templates/head.tmpl:47
 #: ../themes/MonoBook/templates/logo.tmpl:2
 #: ../themes/Portland/templates/body.tmpl:8
 #: ../themes/Sidebar/templates/frame-header.tmpl:16
@@ -1228,36 +1382,38 @@
 #: ../themes/default/templates/top.tmpl:11
 #: ../themes/shamino_com/templates/top.tmpl:8
 #: ../themes/wikilens/templates/head.tmpl:45
+#: ../themes/wikilens/templates/top.tmpl:11
 #, php-format
 msgid "%s: %s"
 msgstr "%s: %s"
 
-#: ../lib/display.php:119 ../lib/display.php:126
+#: ../lib/display.php:82 ../lib/display.php:324
+#: ../lib/plugin/LinkDatabase.php:42
+msgid "LinkDatabase"
+msgstr ""
+
+#: ../lib/display.php:177 ../lib/display.php:184
 #: ../lib/plugin/BackLinks.php:31 ../lib/plugin/_WikiTranslation.php:53
 #: ../themes/Crao/templates/navbar.tmpl:17
-#: ../themes/Sidebar/templates/navbar.tmpl:35
+#: ../themes/Sidebar/templates/navbar.tmpl:25
 #: ../themes/blog/templates/navbar.tmpl:11
 #: ../themes/default/templates/navbar.tmpl:34
 #: ../themes/smaller/templates/navbar.tmpl:16
-#: ../themes/wikilens/templates/navbar.tmpl:25
+#: ../themes/wikilens/templates/navbar.tmpl:22
 msgid "BackLinks"
 msgstr ""
 
-#: ../lib/display.php:122 ../lib/display.php:129
+#: ../lib/display.php:180 ../lib/display.php:187
 #, php-format
 msgid "BackLinks for %s"
 msgstr ""
 
-#: ../lib/display.php:137
+#: ../lib/display.php:195
 #, php-format
 msgid "(Redirected from %s)"
 msgstr ""
 
-#: ../lib/display.php:177
-msgid "You searched for: "
-msgstr ""
-
-#: ../lib/display.php:218 ../themes/Crao/templates/head.tmpl:70
+#: ../lib/display.php:269 ../themes/Crao/templates/head.tmpl:70
 #: ../themes/Crao/templates/head.tmpl:71
 #: ../themes/default/templates/head.tmpl:76
 #: ../themes/default/templates/head.tmpl:77
@@ -1266,92 +1422,92 @@
 msgid "SandBox"
 msgstr ""
 
-#: ../lib/editpage.php:134 ../lib/editpage.php:469
+#: ../lib/editpage.php:162 ../lib/editpage.php:559
 msgid "Your version"
-msgstr "versione corrente"
+msgstr "La versione corrente"
 
-#: ../lib/editpage.php:134 ../lib/editpage.php:470
+#: ../lib/editpage.php:162 ../lib/editpage.php:560
 msgid "Other version"
-msgstr "Mostra il versione corrente"
+msgstr "Altra versione"
 
-#: ../lib/editpage.php:145
+#: ../lib/editpage.php:173
 msgid "Some internal editing error"
 msgstr ""
 
-#: ../lib/editpage.php:146
+#: ../lib/editpage.php:174
 msgid ""
 "Your are probably trying to edit/create an invalid version of this page."
 msgstr ""
 
-#: ../lib/editpage.php:147
+#: ../lib/editpage.php:175
 msgid "&version=-1 might help."
 msgstr ""
 
-#: ../lib/editpage.php:164
+#: ../lib/editpage.php:194
 #, php-format
 msgid "Edit: %s"
 msgstr "Modifica: %s"
 
-#: ../lib/editpage.php:198
+#: ../lib/editpage.php:232
 #, php-format
 msgid "View Source: %s"
-msgstr ""
+msgstr "Vedi il Sorgente: %s"
 
-#: ../lib/editpage.php:212
+#: ../lib/editpage.php:246
 msgid "Page now locked."
 msgstr "Pagina bloccata."
 
-#: ../lib/editpage.php:212
+#: ../lib/editpage.php:246
 msgid "Page now unlocked."
 msgstr "Pagina sbloccata."
 
-#: ../lib/editpage.php:314
+#: ../lib/editpage.php:353
 #, php-format
 msgid "Saved: %s"
 msgstr "Salvata: %s"
 
-#: ../lib/editpage.php:366
+#: ../lib/editpage.php:406
 msgid "Too many external links."
 msgstr ""
 
-#: ../lib/editpage.php:379
+#: ../lib/editpage.php:419
 msgid "SpamAssassin reports: "
 msgstr ""
 
-#: ../lib/editpage.php:396
+#: ../lib/editpage.php:446
 msgid "External links contain blocked domains:"
 msgstr ""
 
-#: ../lib/editpage.php:397
-#, php-format
-msgid "%s is listed at %s"
+#: ../lib/editpage.php:447
+#, fuzzy, php-format
+msgid "%s is listed at %s with %s"
 msgstr "%s  elencato a %s"
 
-#: ../lib/editpage.php:418
+#: ../lib/editpage.php:471
 msgid "Spam Prevention"
 msgstr ""
 
-#: ../lib/editpage.php:419
+#: ../lib/editpage.php:472
 msgid "This page edit seems to contain spam and was therefore not saved."
 msgstr ""
 
-#: ../lib/editpage.php:421 ../lib/editpage.php:455
+#: ../lib/editpage.php:474 ../lib/editpage.php:535
 msgid "Sorry for the inconvenience."
 msgstr "Scusa per l'inconveniente."
 
-#: ../lib/editpage.php:452 ../themes/MacOSX/themeinfo.php:137
+#: ../lib/editpage.php:532 ../themes/MacOSX/themeinfo.php:135
 msgid "Page Locked"
 msgstr "Pagina Bloccata"
 
-#: ../lib/editpage.php:453
+#: ../lib/editpage.php:533
 msgid ""
 "This page has been locked by the administrator so your changes can not be "
 "saved."
 msgstr ""
-"Questa pagina  stata bloccata dall'amministratore in modo da i vostri "
-"cambiamenti non possono essere salvati."
+"Spiacente, ma questa pagina  stata bloccata dall'amministratore,quindi le "
+"tue modifiche non possono essere salvate."
 
-#: ../lib/editpage.php:454
+#: ../lib/editpage.php:534
 msgid ""
 "(Copy your changes to the clipboard. You can try editing a different page or "
 "save your text in a text editor.)"
@@ -1359,7 +1515,50 @@
 "(Copia le tue modifiche nella clipboard. Potete provare a modificare "
 "un'altra pagina o registra il vostro testo in un editor di testo.)"
 
-#: ../lib/editpage.php:468 ../lib/editpage.php:757
+#: ../lib/editpage.php:543 ../lib/editpage.php:544 ../lib/main.php:733
+#: ../lib/main.php:1090 ../lib/plugin/ModeratedPage.php:41
+#: ../lib/plugin/ModeratedPage.php:149 ../lib/plugin/ModeratedPage.php:219
+#: ../lib/plugin/ModeratedPage.php:258 ../lib/plugin/ModeratedPage.php:261
+#: ../lib/plugin/ModeratedPage.php:263 ../lib/plugin/ModeratedPage.php:265
+#: ../lib/plugin/ModeratedPage.php:349 ../lib/plugin/ModeratedPage.php:353
+#: ../lib/plugin/ModeratedPage.php:408 ../lib/plugin/ModeratedPage.php:433
+msgid "ModeratedPage"
+msgstr "PaginaModerata"
+
+#: ../lib/editpage.php:544
+#, php-format
+msgid ""
+"You can edit away, but your changes will have to be approved by the defined "
+"moderators at the definition in %s"
+msgstr ""
+
+#: ../lib/editpage.php:546 ../lib/plugin/PasswordReset.php:155
+#: ../lib/plugin/UserPreferences.php:38 ../lib/plugin/WatchPage.php:115
+#: ../lib/plugin/WatchPage.php:133 ../themes/Crao/templates/head.tmpl:85
+#: ../themes/Crao/templates/head.tmpl:86
+#: ../themes/Crao/templates/navbar.tmpl:23
+#: ../themes/MonoBook/templates/navbar.tmpl:61
+#: ../themes/blog/templates/navbar.tmpl:17
+#: ../themes/default/templates/head.tmpl:92
+#: ../themes/default/templates/head.tmpl:93
+#: ../themes/default/templates/homepage.tmpl:11
+#: ../themes/default/templates/navbar.tmpl:40
+#: ../themes/shamino_com/templates/top.tmpl:28
+#: ../themes/smaller/templates/navbar.tmpl:22
+#: ../themes/wikilens/templates/head.tmpl:85
+#: ../themes/wikilens/templates/head.tmpl:86
+#: ../themes/wikilens/templates/navbar.tmpl:23
+msgid "UserPreferences"
+msgstr "Preferenze"
+
+#: ../lib/editpage.php:545
+#, php-format
+msgid ""
+"The approval has a grace period of 5 days. If you have your E-Mail defined "
+"in your %s, you will get a notification of approval or rejection."
+msgstr ""
+
+#: ../lib/editpage.php:558 ../lib/editpage.php:900
 #, php-format
 msgid ""
 "Some of the changes could not automatically be combined.  Please look for "
@@ -1370,15 +1569,15 @@
 "prego le sezioni che cominciano con '%s 'e concludentesi con '%s '. Dovrete "
 "pubblicare a mano quelle sezioni prima che vi scattiate risparmi."
 
-#: ../lib/editpage.php:472 ../lib/editpage.php:760
+#: ../lib/editpage.php:562 ../lib/editpage.php:903
 msgid "Please check it through before saving."
-msgstr "Controllilo prego attraverso prima del risparmio."
+msgstr "Si prega di controllarla nel dettaglio prima di salvare."
 
-#: ../lib/editpage.php:483
+#: ../lib/editpage.php:573
 msgid "Conflicting Edits!"
 msgstr "Il Conflitto Pubblica!"
 
-#: ../lib/editpage.php:484
+#: ../lib/editpage.php:574
 msgid ""
 "In the time since you started editing this page, another user has saved a "
 "new version of it."
@@ -1386,7 +1585,7 @@
 "Nel tempo da quando avete cominciato pubblicare questa pagina, un altro "
 "utente ha conservato una nuova versione di esso."
 
-#: ../lib/editpage.php:485
+#: ../lib/editpage.php:575
 msgid ""
 "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 "
@@ -1397,17 +1596,42 @@
 "cambiamenti e quelli dell'altro autore sono stati uniti. Il risultato  "
 "indicato sotto."
 
-#: ../lib/editpage.php:555
+#: ../lib/editpage.php:649
 msgid "Convert"
 msgstr "Convertito"
 
-#: ../lib/editpage.php:588 ../themes/Portland/templates/editpage.tmpl:45
-#: ../themes/Wordpress/templates/editpage.tmpl:54
+#: ../lib/editpage.php:668
+#, fuzzy
+msgid "Changes"
+msgstr "ModificheRecenti"
+
+#: ../lib/editpage.php:672 ../lib/plugin/HtmlConverter.php:66
+#: ../lib/plugin/UpLoad.php:146 ../lib/plugin/UpLoad.php:151
+#: ../lib/plugin/WikiForm.php:103
+msgid "Upload"
+msgstr ""
+
+#: ../lib/editpage.php:675
+#, fuzzy
+msgid "Spell Check"
+msgstr "Prescelto"
+
+#: ../lib/editpage.php:698 ../themes/Portland/templates/editpage.tmpl:41
+#: ../themes/Wordpress/templates/editpage.tmpl:52
 #, php-format
 msgid "Author will be logged as %s."
 msgstr "L'autore sar annotato come %s."
 
-#: ../lib/editpage.php:731
+#: ../lib/editpage.php:855
+msgid "Keep old"
+msgstr ""
+
+#: ../lib/editpage.php:858
+#, fuzzy
+msgid "Overwrite with new"
+msgstr "Scriva sopra Tutti"
+
+#: ../lib/editpage.php:868
 #, php-format
 msgid "Merge and Edit: %s"
 msgstr "Fondasi e pubblichi: %s"
@@ -1436,10 +1660,43 @@
 msgid "Dump pages as XHTML"
 msgstr ""
 
+#: ../lib/loadsave.php:82 ../lib/loadsave.php:428 ../lib/loadsave.php:902
+#: ../lib/loadsave.php:908 ../lib/loadsave.php:916 ../lib/main.php:1006
+#: ../lib/main.php:1110 ../lib/plugin/WikiAdminSelect.php:192
+#: ../themes/Crao/templates/head.tmpl:79 ../themes/Crao/templates/head.tmpl:80
+#: ../themes/Crao/templates/navbar.tmpl:37
+#: ../themes/MonoBook/templates/navbar.tmpl:57
+#: ../themes/Portland/templates/navbar.tmpl:27
+#: ../themes/Sidebar/templates/navbar.tmpl:28
+#: ../themes/Wordpress/templates/actionbar.tmpl:26
+#: ../themes/blog/templates/navbar.tmpl:14
+#: ../themes/default/templates/head.tmpl:86
+#: ../themes/default/templates/head.tmpl:87
+#: ../themes/default/templates/navbar.tmpl:55
+#: ../themes/shamino_com/templates/actionbar.tmpl:18
+#: ../themes/smaller/templates/navbar.tmpl:19
+#: ../themes/wikilens/templates/head.tmpl:78
+#: ../themes/wikilens/templates/head.tmpl:79
+#: ../themes/wikilens/templates/navbar.tmpl:32
+msgid "PhpWikiAdministration"
+msgstr ""
+
 #: ../lib/loadsave.php:95 ../lib/loadsave.php:96
 msgid "LoadDump"
 msgstr ""
 
+#: ../lib/loadsave.php:99
+#, php-format
+msgid "PageChange Notification of %s sent to %s"
+msgstr "Pagini la notifica del cambiamento di %s trasmesso a %s"
+
+#: ../lib/loadsave.php:102
+#, php-format
+msgid "PageChange Notification Error: Couldn't send %s to %s"
+msgstr ""
+"Errore Di Notifica Del Cambiamento Della Pagina:  Non ha potuto trasmettere %"
+"s a %s"
+
 #: ../lib/loadsave.php:110
 msgid "Complete."
 msgstr ""
@@ -1449,525 +1706,524 @@
 msgid "Return to %s"
 msgstr ""
 
-#: ../lib/loadsave.php:197
+#: ../lib/loadsave.php:200
 msgid "FullDump"
 msgstr ""
 
-#: ../lib/loadsave.php:201
+#: ../lib/loadsave.php:204
 msgid "LatestSnapshot"
 msgstr ""
 
-#: ../lib/loadsave.php:273 ../lib/loadsave.php:381
+#: ../lib/loadsave.php:276 ../lib/loadsave.php:401
 msgid "You must specify a directory to dump to"
 msgstr ""
 
-#: ../lib/loadsave.php:278 ../lib/loadsave.php:386
+#: ../lib/loadsave.php:281 ../lib/loadsave.php:406
 #, php-format
 msgid "Cannot create directory '%s'"
 msgstr ""
 
-#: ../lib/loadsave.php:280 ../lib/loadsave.php:388
+#: ../lib/loadsave.php:283 ../lib/loadsave.php:408
 #, php-format
 msgid "Created directory '%s' for the page dump..."
 msgstr ""
 
-#: ../lib/loadsave.php:283 ../lib/loadsave.php:391
+#: ../lib/loadsave.php:286 ../lib/loadsave.php:411
 #, php-format
 msgid "Using directory '%s'"
 msgstr ""
 
-#: ../lib/loadsave.php:286 ../lib/loadsave.php:394
+#: ../lib/loadsave.php:289 ../lib/loadsave.php:414
 msgid "Dumping Pages"
 msgstr ""
 
-#: ../lib/loadsave.php:318 ../lib/loadsave.php:451 ../lib/stdlib.php:845
+#: ../lib/loadsave.php:321 ../lib/loadsave.php:471 ../lib/stdlib.php:857
 msgid "Skipped."
 msgstr ""
 
-#: ../lib/loadsave.php:326
+#: ../lib/loadsave.php:329
 #, php-format
 msgid "saved as %s"
 msgstr "salvata a %s"
 
-#: ../lib/loadsave.php:336 ../lib/loadsave.php:469
-#: ../lib/plugin/text2png.php:183
+#: ../lib/loadsave.php:339 ../lib/loadsave.php:503
+#: ../lib/plugin/text2png.php:228
 #, php-format
 msgid "couldn't open file '%s' for writing"
 msgstr ""
 
-#: ../lib/loadsave.php:342 ../lib/loadsave.php:478
+#: ../lib/loadsave.php:345 ../lib/loadsave.php:513
 #, php-format
 msgid "%s bytes written"
 msgstr ""
 
-#: ../lib/loadsave.php:476
+#: ../lib/loadsave.php:511
 msgid "saved as "
 msgstr "salvata a "
 
-#: ../lib/loadsave.php:514 ../lib/loadsave.php:533 ../lib/loadsave.php:550
+#: ../lib/loadsave.php:549 ../lib/loadsave.php:569 ../lib/loadsave.php:586
 #, php-format
 msgid "... copied to %s"
 msgstr "... copia di %s"
 
-#: ../lib/loadsave.php:516 ../lib/loadsave.php:535 ../lib/loadsave.php:552
+#: ../lib/loadsave.php:551 ../lib/loadsave.php:571 ../lib/loadsave.php:588
 #, php-format
 msgid "... not copied to %s"
 msgstr "... nonc opia di %s"
 
-#: ../lib/loadsave.php:519 ../lib/loadsave.php:538 ../lib/loadsave.php:555
+#: ../lib/loadsave.php:555 ../lib/loadsave.php:574 ../lib/loadsave.php:592
 msgid "... not found"
 msgstr "... non trovato"
 
-#: ../lib/loadsave.php:723
+#: ../lib/loadsave.php:760
 msgid "Empty pagename!"
 msgstr ""
 
-#: ../lib/loadsave.php:779
+#: ../lib/loadsave.php:770
+msgid "Invalid pagename!"
+msgstr ""
+
+#: ../lib/loadsave.php:833
 #, php-format
 msgid "from %s"
 msgstr "dalla %s"
 
-#: ../lib/loadsave.php:795
+#: ../lib/loadsave.php:849
 msgid "has edit conflicts - overwriting anyway"
 msgstr ""
 
-#: ../lib/loadsave.php:798 ../lib/loadsave.php:1292 ../lib/loadsave.php:1295
-msgid "The PhpWiki programming team"
+#: ../lib/loadsave.php:858
+msgid "keep old"
 msgstr ""
 
-#: ../lib/loadsave.php:803
+#: ../lib/loadsave.php:860
 msgid "has edit conflicts - skipped"
 msgstr ""
 
-#: ../lib/loadsave.php:814
+#: ../lib/loadsave.php:872
 #, php-format
 msgid "content is identical to current version %d - no new revision created"
 msgstr ""
 
-#: ../lib/loadsave.php:828
+#: ../lib/loadsave.php:886
 #, php-format
 msgid "- saved to database as version %d"
 msgstr "- salvata a base di dati a versione %d"
 
-#: ../lib/loadsave.php:834 ../lib/loadsave.php:1088
+#: ../lib/loadsave.php:892 ../lib/loadsave.php:1162
 #, php-format
 msgid "MIME file %s"
 msgstr "MIME archivio %s"
 
-#: ../lib/loadsave.php:835 ../lib/loadsave.php:1093
+#: ../lib/loadsave.php:893 ../lib/loadsave.php:1173
 #, php-format
 msgid "Serialized file %s"
 msgstr ""
 
-#: ../lib/loadsave.php:836 ../lib/loadsave.php:1107
+#: ../lib/loadsave.php:894 ../lib/loadsave.php:1195
 #, php-format
 msgid "plain file %s"
 msgstr "archivio del testo %s"
 
-#: ../lib/loadsave.php:843
+#: ../lib/loadsave.php:901 ../lib/plugin/SyncWiki.php:271
 msgid "Merge Edit"
 msgstr "La Fusione Pubblica"
 
-#: ../lib/loadsave.php:849
+#: ../lib/loadsave.php:907
 msgid "Restore Anyway"
 msgstr "Restore Comunque"
 
-#: ../lib/loadsave.php:857
+#: ../lib/loadsave.php:915
 msgid "Overwrite All"
 msgstr "Scriva sopra Tutti"
 
-#: ../lib/loadsave.php:864
+#: ../lib/loadsave.php:922
 msgid " Sorry, cannot merge."
 msgstr " Spiacente, non pu fondersi."
 
-#: ../lib/loadsave.php:884 ../lib/loadsave.php:894 ../lib/loadsave.php:901
-#: ../lib/loadsave.php:908 ../themes/MonoBook/templates/actionbar.tmpl:37
-#: ../themes/Wordpress/templates/actionbar.tmpl:57
-#: ../themes/default/templates/actionbar.tmpl:26
-#: ../themes/smaller/templates/actionbar.tmpl:29
+#: ../lib/loadsave.php:942 ../lib/loadsave.php:952 ../lib/loadsave.php:959
+#: ../lib/loadsave.php:966 ../themes/MonoBook/templates/actionbar.tmpl:60
+#: ../themes/Wordpress/templates/actionbar.tmpl:58
+#: ../themes/default/templates/actionbar.tmpl:28
+#: ../themes/smaller/templates/actionbar.tmpl:31
 msgid "Revert"
 msgstr "Ritorni"
 
-#: ../lib/loadsave.php:885
+#: ../lib/loadsave.php:943
 msgid "missing required version argument"
 msgstr ""
 
-#: ../lib/loadsave.php:893
+#: ../lib/loadsave.php:951
 msgid "no page content"
 msgstr ""
 
-#: ../lib/loadsave.php:900
+#: ../lib/loadsave.php:958
 msgid "same version page"
 msgstr ""
 
-#: ../lib/loadsave.php:907
+#: ../lib/loadsave.php:965
 #, fuzzy
 msgid "Cancelled"
 msgstr "Annulla"
 
-#: ../lib/loadsave.php:915
+#: ../lib/loadsave.php:973
 msgid "Are you sure?"
 msgstr ""
 
-#: ../lib/loadsave.php:921 ../lib/plugin/PasswordReset.php:104
-#: ../lib/plugin/PasswordReset.php:142 ../lib/plugin/UserPreferences.php:114
-#: ../lib/plugin/WikiAdminChmod.php:146 ../lib/plugin/WikiAdminChown.php:153
-#: ../lib/plugin/WikiAdminMarkup.php:149 ../lib/plugin/WikiAdminRemove.php:188
-#: ../lib/plugin/WikiAdminRename.php:165
+#: ../lib/loadsave.php:979 ../lib/plugin/PasswordReset.php:103
+#: ../lib/plugin/PasswordReset.php:146 ../lib/plugin/UserPreferences.php:114
+#: ../lib/plugin/WatchPage.php:84 ../lib/plugin/WikiAdminChmod.php:146
+#: ../lib/plugin/WikiAdminChown.php:153 ../lib/plugin/WikiAdminMarkup.php:149
+#: ../lib/plugin/WikiAdminRemove.php:188 ../lib/plugin/WikiAdminRename.php:165
 #: ../lib/plugin/WikiAdminSearchReplace.php:180
-#: ../lib/plugin/WikiAdminSetAcl.php:176
+#: ../lib/plugin/WikiAdminSetAcl.php:180
 msgid "Yes"
 msgstr "Si"
 
-#: ../lib/loadsave.php:923 ../lib/plugin/PasswordReset.php:107
-#: ../lib/plugin/PasswordReset.php:145 ../lib/plugin/TranslateText.php:118
-#: ../lib/plugin/UserPreferences.php:116 ../lib/plugin/WikiAdminChmod.php:159
+#: ../lib/loadsave.php:981 ../lib/plugin/PasswordReset.php:106
+#: ../lib/plugin/PasswordReset.php:149 ../lib/plugin/TranslateText.php:118
+#: ../lib/plugin/UserPreferences.php:116 ../lib/plugin/WatchPage.php:86
+#: ../lib/plugin/WatchPage.php:91 ../lib/plugin/WikiAdminChmod.php:159
 #: ../lib/plugin/WikiAdminChown.php:166 ../lib/plugin/WikiAdminMarkup.php:162
 #: ../lib/plugin/WikiAdminRemove.php:214 ../lib/plugin/WikiAdminRename.php:182
 #: ../lib/plugin/WikiAdminSearchReplace.php:194
 #: ../lib/plugin/WikiAdminSelect.php:218 ../lib/plugin/WikiAdminSelect.php:239
-#: ../lib/plugin/WikiAdminSetAcl.php:189 ../lib/plugin/WikiAdminUtils.php:266
-#: ../lib/plugin/WikiFormRich.php:317 ../lib/removepage.php:24
-#: ../lib/upgrade.php:682 ../themes/default/templates/login.tmpl:78
-#: ../themes/default/templates/userprefs.tmpl:243
+#: ../lib/plugin/WikiAdminSetAcl.php:193 ../lib/plugin/WikiAdminUtils.php:296
+#: ../lib/plugin/WikiFormRich.php:310 ../lib/removepage.php:24
+#: ../lib/upgrade.php:808 ../themes/default/templates/login.tmpl:78
+#: ../themes/default/templates/userprefs.tmpl:244
 msgid "Cancel"
 msgstr "Annulla"
 
-#: ../lib/loadsave.php:938
+#: ../lib/loadsave.php:997
 #, php-format
 msgid "revert to version %d"
 msgstr ""
 
-#: ../lib/loadsave.php:943
+#: ../lib/loadsave.php:1002
 #, fuzzy, php-format
 msgid "Revert: %s"
 msgstr "Ritorni"
 
-#: ../lib/loadsave.php:944
+#: ../lib/loadsave.php:1003
 #, php-format
 msgid "- version %d saved to database as version %d"
 msgstr "- versione %d salvata a base di dati a versione %d"
 
-#: ../lib/loadsave.php:972
+#: ../lib/loadsave.php:1031
 msgid "Default InterWiki map file not loaded."
 msgstr ""
 
-#: ../lib/loadsave.php:1122 ../lib/loadsave.php:1135
+#: ../lib/loadsave.php:1210 ../lib/loadsave.php:1223
 msgid "Skipping"
 msgstr ""
 
-#: ../lib/loadsave.php:1236
+#: ../lib/loadsave.php:1324
 #, php-format
-msgid "Unable to load: %s"
+msgid "Empty or not existing source. Unable to load: %s"
 msgstr ""
 
-#: ../lib/loadsave.php:1243
+#: ../lib/loadsave.php:1331
 #, php-format
 msgid "Bad file type: %s"
 msgstr ""
 
-#: ../lib/loadsave.php:1260
+#: ../lib/loadsave.php:1348
 #, php-format
 msgid "Loading '%s'"
 msgstr ""
 
-#: ../lib/loadsave.php:1298
+#: ../lib/loadsave.php:1386
 msgid "Loading up virgin wiki"
 msgstr ""
 
-#: ../lib/loadsave.php:1344
+#: ../lib/loadsave.php:1436
 msgid "No uploaded file to upload?"
 msgstr ""
 
-#: ../lib/loadsave.php:1348
+#: ../lib/loadsave.php:1440
 #, php-format
 msgid "Uploading %s"
 msgstr ""
 
-#: ../lib/main.php:415
+#: ../lib/main.php:440
 msgid "FORBIDDEN"
 msgstr ""
 
-#: ../lib/main.php:416 ../lib/main.php:426
+#: ../lib/main.php:441 ../lib/main.php:451
 msgid "ANON"
 msgstr ""
 
-#: ../lib/main.php:417
+#: ../lib/main.php:442
 msgid "BOGO"
 msgstr ""
 
-#: ../lib/main.php:418
+#: ../lib/main.php:443
 msgid "USER"
 msgstr ""
 
-#: ../lib/main.php:419
+#: ../lib/main.php:444
 msgid "ADMIN"
 msgstr ""
 
-#: ../lib/main.php:420
+#: ../lib/main.php:445
 msgid "UNOBTAINABLE"
 msgstr ""
 
-#: ../lib/main.php:448 ../lib/main.php:467
+#: ../lib/main.php:473 ../lib/main.php:492
 #, php-format
 msgid "%s is disallowed on this wiki."
 msgstr ""
 
-#: ../lib/main.php:456
+#: ../lib/main.php:481
 msgid "authenticated"
 msgstr "autenticato"
 
-#: ../lib/main.php:456
+#: ../lib/main.php:481
 msgid "not authenticated"
 msgstr "non autenticato"
 
-#: ../lib/main.php:457
-#, php-format
-msgid "%s %s %s is disallowed on this wiki for %s user '%s' (level: %s)."
+#: ../lib/main.php:483
+msgid "Missing PagePermission:"
 msgstr ""
 
-#: ../lib/main.php:458
-msgid "Missing PagePermission:"
+#: ../lib/main.php:482
+#, php-format
+msgid "%s %s %s is disallowed on this wiki for %s user '%s' (level: %s)."
 msgstr ""
 
-#: ../lib/main.php:475
+#: ../lib/main.php:500
 #, php-format
 msgid "You must sign in to %s."
 msgstr ""
 
-#: ../lib/main.php:477
+#: ../lib/main.php:502
 #, php-format
 msgid "You must log in to %s."
 msgstr ""
 
-#: ../lib/main.php:479
+#: ../lib/main.php:504
+msgid "You must log in first"
+msgstr ""
+
+#: ../lib/main.php:506
 #, php-format
 msgid "Access for you is forbidden to %s."
 msgstr ""
 
-#: ../lib/main.php:481 ../lib/plugin/PluginManager.php:65
+#: ../lib/main.php:508 ../lib/plugin/PluginManager.php:65
 #, php-format
 msgid "You must be an administrator to %s."
 msgstr ""
 
-#: ../lib/main.php:493
+#: ../lib/main.php:521
 msgid "view this page"
 msgstr ""
 
-#: ../lib/main.php:494
+#: ../lib/main.php:522
 msgid "diff this page"
 msgstr ""
 
-#: ../lib/main.php:495
+#: ../lib/main.php:523
 msgid "dump html pages"
 msgstr ""
 
-#: ../lib/main.php:496
+#: ../lib/main.php:524
 msgid "dump serial pages"
 msgstr ""
 
-#: ../lib/main.php:497
+#: ../lib/main.php:525
 msgid "edit this page"
 msgstr ""
 
-#: ../lib/main.php:498
+#: ../lib/main.php:526
 msgid "revert to a previous version of this page"
 msgstr ""
 
-#: ../lib/main.php:499
+#: ../lib/main.php:527
 msgid "create this page"
 msgstr ""
 
-#: ../lib/main.php:500
+#: ../lib/main.php:528
 msgid "load files into this wiki"
 msgstr ""
 
-#: ../lib/main.php:501
+#: ../lib/main.php:529
 msgid "lock this page"
 msgstr ""
 
-#: ../lib/main.php:502
+#: ../lib/main.php:530
 msgid "remove this page"
 msgstr ""
 
-#: ../lib/main.php:503
+#: ../lib/main.php:531
 msgid "unlock this page"
 msgstr ""
 
-#: ../lib/main.php:504
+#: ../lib/main.php:532
 msgid "upload a zip dump"
 msgstr ""
 
-#: ../lib/main.php:505
+#: ../lib/main.php:533
 msgid "verify the current action"
 msgstr ""
 
-#: ../lib/main.php:506
+#: ../lib/main.php:534
 msgid "view the source of this page"
 msgstr ""
 
-#: ../lib/main.php:507
+#: ../lib/main.php:535
 msgid "access this wiki via XML-RPC"
 msgstr ""
 
-#: ../lib/main.php:508
+#: ../lib/main.php:536
 msgid "access this wiki via SOAP"
 msgstr ""
 
-#: ../lib/main.php:509
+#: ../lib/main.php:537
 msgid "download a zip dump from this wiki"
 msgstr ""
 
-#: ../lib/main.php:510
+#: ../lib/main.php:538
 msgid "download a html zip dump from this wiki"
 msgstr ""
 
-#: ../lib/main.php:534
+#: ../lib/main.php:562
 msgid "Browsing pages"
 msgstr ""
 
-#: ../lib/main.php:535
+#: ../lib/main.php:563
 msgid "Diffing pages"
 msgstr ""
 
-#: ../lib/main.php:536
+#: ../lib/main.php:564
 msgid "Dumping html pages"
 msgstr ""
 
-#: ../lib/main.php:537
+#: ../lib/main.php:565
 msgid "Dumping serial pages"
 msgstr ""
 
-#: ../lib/main.php:538
+#: ../lib/main.php:566
 msgid "Editing pages"
 msgstr ""
 
-#: ../lib/main.php:539
+#: ../lib/main.php:567
 msgid "Reverting to a previous version of pages"
 msgstr ""
 
-#: ../lib/main.php:540
+#: ../lib/main.php:568
 msgid "Creating pages"
 msgstr ""
 
-#: ../lib/main.php:541
+#: ../lib/main.php:569
 msgid "Loading files"
 msgstr ""
 
-#: ../lib/main.php:542
+#: ../lib/main.php:570
 msgid "Locking pages"
 msgstr "Blocca la Pagina"
 
-#: ../lib/main.php:543
+#: ../lib/main.php:571
 msgid "Removing pages"
 msgstr "Rimuovi la pagina"
 
-#: ../lib/main.php:544
+#: ../lib/main.php:572
 msgid "Unlocking pages"
 msgstr "Sblocca la Pagina"
 
-#: ../lib/main.php:545
+#: ../lib/main.php:573
 msgid "Uploading zip dumps"
 msgstr ""
 
-#: ../lib/main.php:546
+#: ../lib/main.php:574
 msgid "Verify the current action"
 msgstr ""
 
-#: ../lib/main.php:547
+#: ../lib/main.php:575
 msgid "Viewing the source of pages"
 msgstr ""
 
-#: ../lib/main.php:548
+#: ../lib/main.php:576
 msgid "XML-RPC access"
 msgstr ""
 
-#: ../lib/main.php:549
+#: ../lib/main.php:577
 msgid "SOAP access"
 msgstr ""
 
-#: ../lib/main.php:550
+#: ../lib/main.php:578
 msgid "Downloading zip dumps"
 msgstr ""
 
-#: ../lib/main.php:551
+#: ../lib/main.php:579
 msgid "Downloading html zip dumps"
 msgstr ""
 
-#: ../lib/main.php:685
+#: ../lib/main.php:720
 #, php-format
 msgid "%s: action forwarded to a moderator."
 msgstr ""
 
-#: ../lib/main.php:688
+#: ../lib/main.php:723
 msgid "This action requires moderator approval. Please be patient."
 msgstr ""
 
-#: ../lib/main.php:693
+#: ../lib/main.php:728
 msgid "You must wait for moderator approval."
 msgstr ""
 
-#: ../lib/main.php:698 ../lib/main.php:1051 ../lib/plugin/ModeratedPage.php:41
-#: ../lib/plugin/ModeratedPage.php:137 ../lib/plugin/ModeratedPage.php:205
-#: ../lib/plugin/ModeratedPage.php:238 ../lib/plugin/ModeratedPage.php:241
-#: ../lib/plugin/ModeratedPage.php:243 ../lib/plugin/ModeratedPage.php:245
-#: ../lib/plugin/ModeratedPage.php:324
-msgid "ModeratedPage"
-msgstr "PaginaModerata"
-
-#: ../lib/main.php:714
+#: ../lib/main.php:749 ../lib/plugin/ModeratedPage.php:310
 #, php-format
 msgid "%s: Bad action"
 msgstr ""
 
-#: ../lib/main.php:731
+#: ../lib/main.php:766
 msgid "Fatal PhpWiki Error"
 msgstr "Errore Fatale Di PhpWiki"
 
-#: ../lib/main.php:980 ../lib/plugin/WikiAdminChown.php:183
+#: ../lib/main.php:1019 ../lib/plugin/WikiAdminChown.php:183
 msgid "Chown"
 msgstr ""
 
-#: ../lib/main.php:984 ../lib/plugin/WikiAdminSetAcl.php:183
+#: ../lib/main.php:1023 ../lib/plugin/WikiAdminSetAcl.php:187
 msgid "SetAcl"
 msgstr ""
 
-#: ../lib/main.php:988 ../lib/plugin/WikiAdminRename.php:208
+#: ../lib/main.php:1027 ../lib/plugin/WikiAdminRename.php:208
 msgid "Rename"
 msgstr ""
 
-#: ../lib/main.php:992 ../lib/main.php:997 ../lib/plugin/PageDump.php:36
+#: ../lib/main.php:1031 ../lib/main.php:1036 ../lib/plugin/PageDump.php:36
 #: ../themes/Crao/templates/actionbar.tmpl:28
-#: ../themes/MonoBook/templates/actionbar.tmpl:48
-#: ../themes/Wordpress/templates/actionbar.tmpl:75
-#: ../themes/default/templates/actionbar.tmpl:35
+#: ../themes/MonoBook/templates/actionbar.tmpl:69
+#: ../themes/Wordpress/templates/actionbar.tmpl:76
+#: ../themes/default/templates/actionbar.tmpl:37
 #: ../themes/shamino_com/templates/actionbar.tmpl:22
-#: ../themes/shamino_com/templates/info.tmpl:168
-#: ../themes/smaller/templates/actionbar.tmpl:39
+#: ../themes/smaller/templates/actionbar.tmpl:41
 #: ../themes/smaller/templates/info.tmpl:11
 msgid "PageDump"
 msgstr ""
 
-#: ../lib/main.php:1011 ../lib/plugin/FullTextSearch.php:39
-#: ../lib/plugin/WantedPagesOld.php:134
+#: ../lib/main.php:1050 ../lib/plugin/FullTextSearch.php:45
 msgid "FullTextSearch"
 msgstr "RicercaDelTesto"
 
-#: ../lib/main.php:1161
+#: ../lib/main.php:1222
 msgid "The session.save_path directory"
 msgstr ""
 
-#: ../lib/main.php:1164
+#: ../lib/main.php:1225
 #, php-format
 msgid "the session.save_path directory '%s'"
 msgstr ""
 
-#: ../lib/main.php:1168
+#: ../lib/main.php:1229
 #, php-format
 msgid "Attempting to use the directory '%s' instead."
 msgstr ""
 
-#: ../lib/main.php:1175
+#: ../lib/main.php:1236
 msgid "Users will not be able to sign in."
 msgstr ""
 
@@ -1992,8 +2248,8 @@
 msgid "Click to display all comments"
 msgstr ""
 
-#: ../lib/plugin/AddComment.php:111 ../lib/plugin/CreateToc.php:372
-#: ../lib/plugin/CreateToc.php:377
+#: ../lib/plugin/AddComment.php:111 ../lib/plugin/CreateToc.php:381
+#: ../lib/plugin/CreateToc.php:401
 msgid "Click to display"
 msgstr ""
 
@@ -2001,7 +2257,7 @@
 msgid "Comments"
 msgstr ""
 
-#: ../lib/plugin/AllPages.php:34
+#: ../lib/plugin/AllPages.php:34 ../themes/MonoBook/templates/navbar.tmpl:78
 msgid "AllPages"
 msgstr ""
 
@@ -2014,22 +2270,22 @@
 msgid "All pages in this wiki (%d total):"
 msgstr ""
 
-#: ../lib/plugin/AllPages.php:77 ../lib/plugin/LinkDatabase.php:83
+#: ../lib/plugin/AllPages.php:77 ../lib/plugin/LinkDatabase.php:84
 #, php-format
 msgid "List of pages owned by [%s] (%d total):"
 msgstr ""
 
-#: ../lib/plugin/AllPages.php:87 ../lib/plugin/LinkDatabase.php:90
+#: ../lib/plugin/AllPages.php:89 ../lib/plugin/LinkDatabase.php:91
 #, php-format
 msgid "List of pages last edited by [%s] (%d total):"
 msgstr ""
 
-#: ../lib/plugin/AllPages.php:97 ../lib/plugin/LinkDatabase.php:97
+#: ../lib/plugin/AllPages.php:101 ../lib/plugin/LinkDatabase.php:98
 #, php-format
 msgid "List of pages created by [%s] (%d total):"
 msgstr ""
 
-#: ../lib/plugin/AllPages.php:126 ../lib/plugin/AllUsers.php:105
+#: ../lib/plugin/AllPages.php:133 ../lib/plugin/AllUsers.php:105
 #, php-format
 msgid "Elapsed time: %s s"
 msgstr ""
@@ -2047,119 +2303,120 @@
 msgid "Authenticated users on this wiki (%d total):"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:143
-#: ../lib/plugin/AnalyseAccessLogSql.php:168
+#: ../lib/plugin/AnalyseAccessLogSql.php:162
+#: ../lib/plugin/AnalyseAccessLogSql.php:197
 msgid "0 - last minute"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:144
-#: ../lib/plugin/AnalyseAccessLogSql.php:169
+#: ../lib/plugin/AnalyseAccessLogSql.php:163
+#: ../lib/plugin/AnalyseAccessLogSql.php:198
 msgid "1 - 1 minute to 1 hour"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:145
-#: ../lib/plugin/AnalyseAccessLogSql.php:170
+#: ../lib/plugin/AnalyseAccessLogSql.php:164
+#: ../lib/plugin/AnalyseAccessLogSql.php:199
 msgid "2 - 1 hour to 1 day"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:146
-#: ../lib/plugin/AnalyseAccessLogSql.php:171
+#: ../lib/plugin/AnalyseAccessLogSql.php:165
+#: ../lib/plugin/AnalyseAccessLogSql.php:200
 msgid "3 - 1 day to 1 week"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:147
-#: ../lib/plugin/AnalyseAccessLogSql.php:172
+#: ../lib/plugin/AnalyseAccessLogSql.php:166
+#: ../lib/plugin/AnalyseAccessLogSql.php:201
 msgid "4 - 1 week to 1 month"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:148
-#: ../lib/plugin/AnalyseAccessLogSql.php:173
+#: ../lib/plugin/AnalyseAccessLogSql.php:167
+#: ../lib/plugin/AnalyseAccessLogSql.php:202
 msgid "5 - 1 month to 1 year"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:149
-#: ../lib/plugin/AnalyseAccessLogSql.php:174
+#: ../lib/plugin/AnalyseAccessLogSql.php:168
+#: ../lib/plugin/AnalyseAccessLogSql.php:203
 msgid "6 - more than 1 year"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:193
+#: ../lib/plugin/AnalyseAccessLogSql.php:222
 msgid "referring_urls"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:194
+#: ../lib/plugin/AnalyseAccessLogSql.php:223
 msgid "external_referers"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:195
+#: ../lib/plugin/AnalyseAccessLogSql.php:224
 msgid "referring_domains"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:196
+#: ../lib/plugin/AnalyseAccessLogSql.php:225
 msgid "remote_hosts"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:197
+#: ../lib/plugin/AnalyseAccessLogSql.php:226
 msgid "users"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:198
+#: ../lib/plugin/AnalyseAccessLogSql.php:227
 msgid "host_users"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:199
+#: ../lib/plugin/AnalyseAccessLogSql.php:228
 msgid "search_bots"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:200
+#: ../lib/plugin/AnalyseAccessLogSql.php:229
 msgid "search_bots_hits"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:202
+#: ../lib/plugin/AnalyseAccessLogSql.php:231
 msgid "minutes"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:203
+#: ../lib/plugin/AnalyseAccessLogSql.php:232
 msgid "hours"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:204 ../lib/plugin/VisualWiki.php:499
+#: ../lib/plugin/AnalyseAccessLogSql.php:233 ../lib/plugin/VisualWiki.php:503
 msgid "days"
 msgstr "giorni"
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:205
+#: ../lib/plugin/AnalyseAccessLogSql.php:234
 msgid "weeks"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:223
+#: ../lib/plugin/AnalyseAccessLogSql.php:252
 msgid "AnalyseAccessLogSql"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:227
+#: ../lib/plugin/AnalyseAccessLogSql.php:256
 msgid "Show summary information from the access log table."
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:240
+#: ../lib/plugin/AnalyseAccessLogSql.php:269
 msgid "The requested information is available only to Administrators."
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:243
+#: ../lib/plugin/AnalyseAccessLogSql.php:272
 msgid "The SQL_ACCESS_LOG is not enabled."
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:254
+#: ../lib/plugin/AnalyseAccessLogSql.php:283
 #, php-format
 msgid "Unrecognised parameter 'mode=%s'"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:273 ../lib/plugin/_BackendInfo.php:97
+#: ../lib/plugin/AnalyseAccessLogSql.php:302
+#: ../lib/plugin/SemanticSearch.php:382 ../lib/plugin/_BackendInfo.php:124
 msgid "<empty>"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:342
+#: ../lib/plugin/AnalyseAccessLogSql.php:382
 msgid "mode"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:344
+#: ../lib/plugin/AnalyseAccessLogSql.php:384
 msgid "period"
 msgstr ""
 
@@ -2202,10 +2459,18 @@
 msgid "Render ASCII Math as MathML"
 msgstr ""
 
+#: ../lib/plugin/AsciiSVG.php:32
+msgid "AsciiSVG"
+msgstr ""
+
+#: ../lib/plugin/AsciiSVG.php:36
+msgid "Render inline ASCII SVG"
+msgstr ""
+
 #: ../lib/plugin/AuthorHistory.php:70
+#: ../themes/MonoBook/templates/actionbar.tmpl:67
 #: ../themes/MonoBook/templates/info.tmpl:168
 #: ../themes/blog/templates/info.tmpl:3
-#: ../themes/shamino_com/templates/info.tmpl:167
 #: ../themes/smaller/templates/info.tmpl:7
 msgid "AuthorHistory"
 msgstr ""
@@ -2223,9 +2488,8 @@
 
 #: ../lib/plugin/AuthorHistory.php:125
 #: ../themes/MonoBook/templates/info.tmpl:77
-#: ../themes/default/templates/info.tmpl:70
+#: ../themes/default/templates/info.tmpl:69
 #: ../themes/default/templates/wikiforum.tmpl:22
-#: ../themes/shamino_com/templates/info.tmpl:76
 msgid "Author"
 msgstr "Autore"
 
@@ -2234,12 +2498,9 @@
 #: ../themes/Crao/templates/editpage.tmpl:48
 #: ../themes/MonoBook/templates/info.tmpl:78
 #: ../themes/Portland/templates/editpage.tmpl:39
-#: ../themes/Wordpress/templates/editpage.tmpl:48
-#: ../themes/blog/templates/blogform.tmpl:15
-#: ../themes/default/templates/blogform.tmpl:15
+#: ../themes/Wordpress/templates/editpage.tmpl:46
 #: ../themes/default/templates/editpage.tmpl:47
-#: ../themes/default/templates/info.tmpl:71
-#: ../themes/shamino_com/templates/info.tmpl:77
+#: ../themes/default/templates/info.tmpl:70
 msgid "Summary"
 msgstr "Commenti"
 
@@ -2252,63 +2513,66 @@
 msgid "History of all major and minor edits by %s to page %s."
 msgstr ""
 
-#: ../lib/plugin/AuthorHistory.php:156
-#, php-format
-msgid "History of all major edits by %s to page %s."
-msgstr ""
-
 #: ../lib/plugin/AuthorHistory.php:218
 #, php-format
 msgid "History of all major and minor modifications for any page edited by %s."
 msgstr ""
 
-#: ../lib/plugin/AuthorHistory.php:218
-#, php-format
-msgid "History of major modifications for any page edited by %s."
-msgstr ""
-
 #: ../lib/plugin/BackLinks.php:35
 #, php-format
 msgid "List all pages which link to %s."
 msgstr ""
 
-#: ../lib/plugin/BackLinks.php:70 ../lib/plugin/ListPages.php:122
+#: ../lib/plugin/BackLinks.php:73 ../lib/plugin/ListPages.php:122
 #: ../lib/plugin/ListPages.php:125 ../lib/plugin/ListSubpages.php:89
 msgid "#"
 msgstr ""
 
-#: ../lib/plugin/BackLinks.php:96
+#: ../lib/plugin/BackLinks.php:126
 #, php-format
 msgid "No other page links to %s yet."
 msgstr ""
 
-#: ../lib/plugin/BackLinks.php:99
+#: ../lib/plugin/BackLinks.php:129
 #, php-format
 msgid "One page would link to %s:"
 msgstr ""
 
-#: ../lib/plugin/BackLinks.php:108
+#: ../lib/plugin/BackLinks.php:138
 #, php-format
 msgid "%s pages would link to %s:"
 msgstr ""
 
-#: ../lib/plugin/BackLinks.php:116
+#: ../lib/plugin/BackLinks.php:147 ../lib/plugin/SemanticSearch.php:129
+#: ../lib/plugin/SemanticSearch.php:205
+msgid "AND"
+msgstr ""
+
+#: ../lib/plugin/BackLinks.php:153
 #, php-format
 msgid "No page links to %s."
 msgstr ""
 
-#: ../lib/plugin/BackLinks.php:121
+#: ../lib/plugin/BackLinks.php:158
 #, php-format
 msgid "One page links to %s:"
 msgstr ""
 
-#: ../lib/plugin/BackLinks.php:130
+#: ../lib/plugin/BackLinks.php:168
+msgid "Those"
+msgstr ""
+
+#: ../lib/plugin/BackLinks.php:167
 #, php-format
 msgid "%s pages link to %s:"
 msgstr ""
 
+#: ../lib/plugin/BackLinks.php:176
+msgid "More..."
+msgstr ""
+
 #: ../lib/plugin/BlogArchives.php:24 ../lib/plugin/BlogArchives.php:134
-#: ../themes/blog/templates/actionbar.tmpl:17
+#: ../themes/blog/templates/actionbar.tmpl:11
 msgid "Archives"
 msgstr ""
 
@@ -2316,13 +2580,13 @@
 msgid "List blog months links for the current or ADMIN user"
 msgstr ""
 
-#: ../lib/plugin/BlogArchives.php:88 ../lib/plugin/BlogJournal.php:85
+#: ../lib/plugin/BlogArchives.php:88 ../lib/plugin/BlogJournal.php:88
 #, php-format
 msgid "Blog Entries for %s:"
 msgstr ""
 
 #: ../lib/plugin/BlogArchives.php:96
-#: ../themes/blog/templates/actionbar.tmpl:17
+#: ../themes/blog/templates/actionbar.tmpl:11
 msgid "BlogArchives"
 msgstr ""
 
@@ -2338,38 +2602,32 @@
 msgid "Include latest blog entries for the current or ADMIN user"
 msgstr ""
 
-#: ../lib/plugin/BlogJournal.php:81 ../lib/plugin/WikiBlog.php:75
-msgid "WikiBlog"
+#: ../lib/plugin/BlogJournal.php:84
+msgid "New entry"
 msgstr ""
 
-#: ../lib/plugin/BlogJournal.php:83
+#: ../lib/plugin/BlogJournal.php:86
 msgid "No Blog Entries"
 msgstr ""
 
-#: ../lib/plugin/Calendar.php:41 ../lib/plugin/Calendar.php:45
-#: ../themes/Crao/templates/head.tmpl:89
-#: ../themes/Crao/templates/navbar.tmpl:28
-#: ../themes/Sidebar/templates/body.tmpl:21
-#: ../themes/Sidebar/templates/body.tmpl:26 ../themes/Sidebar/themeinfo.php:44
-#: ../themes/Wordpress/templates/actionbar.tmpl:31
-#: ../themes/blog/templates/sidebar.tmpl:18
-#: ../themes/default/templates/head.tmpl:96
-#: ../themes/default/templates/homepage.tmpl:15
-#: ../themes/default/templates/navbar.tmpl:45
-#: ../themes/wikilens/templates/head.tmpl:89
-#: ../themes/wikilens/templates/navbar.tmpl:35
-msgid "Calendar"
-msgstr "Calendario"
+#: ../lib/plugin/BoxRight.php:34
+msgid "A simple plugin for <div class=boxright> with wikimarkup"
+msgstr ""
 
-#: ../lib/plugin/Calendar.php:95
+#: ../lib/plugin/Calendar.php:96
 msgid "Previous Month"
 msgstr ""
 
-#: ../lib/plugin/Calendar.php:99
+#: ../lib/plugin/Calendar.php:100
 msgid "Next Month"
 msgstr ""
 
-#: ../lib/plugin/Calendar.php:169 ../lib/plugin/CalendarList.php:135
+#: ../lib/plugin/Calendar.php:133
+#, fuzzy
+msgid "Wk"
+msgstr "L"
+
+#: ../lib/plugin/Calendar.php:174 ../lib/plugin/CalendarList.php:135
 #, php-format
 msgid "Edit %s"
 msgstr "Modifica %s"
@@ -2387,8 +2645,6 @@
 msgstr ""
 
 #: ../lib/plugin/Comment.php:22 ../themes/Crao/templates/blogform.tmpl:15
-#: ../themes/blog/templates/blogform.tmpl:21
-#: ../themes/default/templates/blogform.tmpl:21
 msgid "Comment"
 msgstr "Commentario"
 
@@ -2405,26 +2661,26 @@
 msgid "Automatically create a Bibtex file from linked pages"
 msgstr ""
 
-#: ../lib/plugin/CreateBib.php:121 ../lib/plugin/CreateToc.php:302
-#: ../lib/plugin/IncludePage.php:77 ../lib/plugin/RateIt.php:208
-#: ../lib/plugin/Template.php:102
+#: ../lib/plugin/CreateBib.php:121 ../lib/plugin/CreateToc.php:306
+#: ../lib/plugin/IncludePage.php:77 ../lib/plugin/RateIt.php:207
+#: ../lib/plugin/Template.php:110
 msgid "no page specified"
 msgstr ""
 
-#: ../lib/plugin/CreatePage.php:39
+#: ../lib/plugin/CreatePage.php:42
 msgid "CreatePage"
 msgstr ""
 
-#: ../lib/plugin/CreatePage.php:43
+#: ../lib/plugin/CreatePage.php:46
 msgid "Create a Wiki page by the provided name."
 msgstr ""
 
-#: ../lib/plugin/CreatePage.php:92
+#: ../lib/plugin/CreatePage.php:96
 #, php-format
 msgid "%s already exists"
 msgstr ""
 
-#: ../lib/plugin/CreatePage.php:103
+#: ../lib/plugin/CreatePage.php:112
 msgid "Created by CreatePage"
 msgstr ""
 
@@ -2436,42 +2692,46 @@
 msgid "Automatically link headers at the top"
 msgstr ""
 
-#: ../lib/plugin/CreateToc.php:313
+#: ../lib/plugin/CreateToc.php:317
 msgid "CreateToc disabled for old markup"
 msgstr ""
 
-#: ../lib/plugin/CreateToc.php:369
+#: ../lib/plugin/CreateToc.php:377
 msgid "Click to hide the TOC"
 msgstr ""
 
-#: ../lib/plugin/CreateToc.php:379 ../lib/plugin/CreateToc.php:382
+#: ../lib/plugin/CreateToc.php:386 ../lib/plugin/CreateToc.php:403
 msgid "Table Of Contents"
 msgstr ""
 
+#: ../lib/plugin/CreateToc.php:392
+msgid "Click to display to TOC"
+msgstr ""
+
 #: ../lib/plugin/DeadEndPages.php:24
 msgid "DeadEndPages"
 msgstr ""
 
-#: ../lib/plugin/Diff.php:40
+#: ../lib/plugin/Diff.php:41
 msgid "Display differences between revisions"
 msgstr ""
 
-#: ../lib/plugin/Diff.php:52
+#: ../lib/plugin/Diff.php:53
 msgid "World"
 msgstr ""
 
-#: ../lib/plugin/EditMetaData.php:45 ../lib/plugin/_WikiTranslation.php:61
+#: ../lib/plugin/EditMetaData.php:48 ../lib/plugin/_WikiTranslation.php:61
 msgid "EditMetaData"
 msgstr ""
 
-#: ../lib/plugin/EditMetaData.php:49
+#: ../lib/plugin/EditMetaData.php:52
 #, php-format
 msgid "Edit metadata for %s"
 msgstr ""
 
-#: ../lib/plugin/EditMetaData.php:109
+#: ../lib/plugin/EditMetaData.php:132
 #, php-format
-msgid "Existing page-level metadata for %s:"
+msgid "No metadata for %s"
 msgstr ""
 
 #: ../lib/plugin/EditMetaData.php:146
@@ -2480,22 +2740,27 @@
 "remove a key by leaving the value-box empty."
 msgstr ""
 
-#: ../lib/plugin/EditMetaData.php:149 ../lib/upgrade.php:680
+#: ../lib/plugin/EditMetaData.php:149 ../lib/upgrade.php:806
 msgid "Submit"
 msgstr ""
 
-#: ../lib/plugin/EditMetaData.php:161
+#: ../lib/plugin/EditMetaData.php:164
 msgid "Requires WikiAdmin privileges to edit."
 msgstr ""
 
-#: ../lib/plugin/ExternalSearch.php:38
+#: ../lib/plugin/ExternalSearch.php:40
 msgid "ExternalSearch"
 msgstr ""
 
-#: ../lib/plugin/ExternalSearch.php:42
+#: ../lib/plugin/ExternalSearch.php:44
 msgid "Redirects to an external web site based on form input"
 msgstr ""
 
+#: ../lib/plugin/ExternalSearch.php:140 ../lib/plugin/PhotoAlbum.php:479
+#, php-format
+msgid "Invalid argument: %s=%s"
+msgstr ""
+
 #: ../lib/plugin/FileInfo.php:39
 msgid "FileInfo"
 msgstr ""
@@ -2504,13 +2769,23 @@
 msgid "Display file information like version,size,date,... of uploaded files."
 msgstr ""
 
-#: ../lib/plugin/FileInfo.php:63 ../lib/plugin/FileInfo.php:65
-#: ../lib/plugin/PageGroup.php:104 ../lib/plugin/WikiFormRich.php:163
-#: ../lib/plugin/WikiFormRich.php:179
+#: ../lib/plugin/FileInfo.php:64 ../lib/plugin/FileInfo.php:66
+#: ../lib/plugin/PageGroup.php:104 ../lib/plugin/SyncWiki.php:75
+#: ../lib/plugin/WikiFormRich.php:177 ../lib/plugin/WikiFormRich.php:193
 #, php-format
 msgid "A required argument '%s' is missing."
 msgstr ""
 
+#: ../lib/plugin/FileInfo.php:85
+msgid ""
+"Output suppressed. FileInfoPlugin with local files require a locked page."
+msgstr ""
+
+#: ../lib/plugin/FileInfo.php:86
+#, fuzzy
+msgid "page not locked"
+msgstr "Pagina bloccata."
+
 #: ../lib/plugin/FoafViewer.php:52
 msgid "FoafViewer"
 msgstr ""
@@ -2557,7 +2832,7 @@
 msgstr ""
 
 #: ../lib/plugin/FrameInclude.php:93 ../lib/plugin/IncludePage.php:84
-#: ../lib/plugin/Template.php:108
+#: ../lib/plugin/Template.php:116
 #, php-format
 msgid "recursive inclusion of page %s"
 msgstr ""
@@ -2567,32 +2842,33 @@
 msgid "%s or %s parameter missing"
 msgstr ""
 
-#: ../lib/plugin/FrameInclude.php:105 ../lib/plugin/Transclude.php:81
+#: ../lib/plugin/FrameInclude.php:105 ../lib/plugin/Transclude.php:91
 #, php-format
 msgid "recursive inclusion of url %s"
 msgstr ""
 
-#: ../lib/plugin/FrameInclude.php:112 ../lib/plugin/TeX2png.php:216
-#: ../lib/plugin/text2png.php:69 ../lib/plugin/text2png.php:122
+#: ../lib/plugin/FrameInclude.php:112 ../lib/plugin/SemanticSearch.php:263
+#: ../lib/plugin/TeX2png.php:216 ../lib/plugin/text2png.php:87
+#: ../lib/plugin/text2png.php:173
 #, php-format
 msgid "See %s"
 msgstr ""
 
-#: ../lib/plugin/FullTextSearch.php:43
+#: ../lib/plugin/FullTextSearch.php:49
 msgid "Search the content of all pages in this wiki."
 msgstr ""
 
-#: ../lib/plugin/FullTextSearch.php:105
+#: ../lib/plugin/FullTextSearch.php:110
 #, php-format
 msgid "only %d pages displayed"
 msgstr ""
 
-#: ../lib/plugin/FullTextSearch.php:110
+#: ../lib/plugin/FullTextSearch.php:115
 #, php-format
 msgid "Ignored stoplist words '%s'"
 msgstr ""
 
-#: ../lib/plugin/FullTextSearch.php:115
+#: ../lib/plugin/FullTextSearch.php:120
 #, php-format
 msgid "Full text search results for '%s'"
 msgstr "Risultati della ricerca su tutto il testo per '%s'"
@@ -2637,6 +2913,7 @@
 
 #: ../lib/plugin/GoTo.php:59 ../lib/plugin/WikiAdminSelect.php:135
 #: ../lib/plugin/WikiAdminSelect.php:146
+#: ../themes/MonoBook/templates/navbar.tmpl:32
 msgid "Go"
 msgstr "Vai"
 
@@ -2684,16 +2961,22 @@
 msgid "GraphViz image or imagemap creation of directed graphs"
 msgstr ""
 
-#: ../lib/plugin/GraphViz.php:265 ../lib/plugin/GraphViz.php:335
+#: ../lib/plugin/GraphViz.php:210 ../lib/plugin/_WikiTranslation.php:319
+#, php-format
+msgid "%s is empty"
+msgstr ""
+
+#: ../lib/plugin/GraphViz.php:274
 msgid "No dot graph given"
 msgstr ""
 
-#: ../lib/plugin/GraphViz.php:276 ../lib/plugin/SyntaxHighlighter.php:173
+#: ../lib/plugin/GraphViz.php:282 ../lib/plugin/GraphViz.php:290
+#: ../lib/plugin/SpellCheck.php:143 ../lib/plugin/SyntaxHighlighter.php:173
 #, php-format
 msgid "Couldn't start commandline '%s'"
 msgstr ""
 
-#: ../lib/plugin/GraphViz.php:279 ../lib/plugin/Ploticus.php:239
+#: ../lib/plugin/GraphViz.php:294 ../lib/plugin/Ploticus.php:248
 #, php-format
 msgid "%s error: outputfile '%s' not created"
 msgstr ""
@@ -2710,11 +2993,6 @@
 msgid "Convert HTML markup into wiki markup. (Version 0.5)"
 msgstr ""
 
-#: ../lib/plugin/HtmlConverter.php:66 ../lib/plugin/UpLoad.php:115
-#: ../lib/plugin/WikiForm.php:103
-msgid "Upload"
-msgstr ""
-
 #: ../lib/plugin/HtmlConverter.php:78
 msgid "Only files with extension HTML are allowed"
 msgstr ""
@@ -2723,6 +3001,10 @@
 msgid "Copy the output below and paste it into your Wiki page."
 msgstr ""
 
+#: ../lib/plugin/Imdb.php:55
+msgid "Query a local imdb database"
+msgstr ""
+
 #: ../lib/plugin/IncludePage.php:34
 msgid "IncludePage"
 msgstr "InserireLaPagina"
@@ -2732,7 +3014,7 @@
 msgstr ""
 
 #: ../lib/plugin/IncludePage.php:92 ../lib/plugin/PageGroup.php:131
-#: ../lib/plugin/Template.php:116
+#: ../lib/plugin/Template.php:124
 #, php-format
 msgid "%s(%d): no such revision"
 msgstr ""
@@ -2767,10 +3049,24 @@
 msgid "Perform searches on InterWiki sites listed in InterWikiMap."
 msgstr ""
 
-#: ../lib/plugin/InterWikiSearch.php:90
+#: ../lib/plugin/InterWikiSearch.php:92
 msgid "Wiki Name"
 msgstr "Wiki Nome"
 
+#: ../lib/plugin/InterWikiSearch.php:93 ../lib/plugin/RecentChanges.php:724
+#: ../themes/Crao/templates/navbar.tmpl:42
+#: ../themes/Crao/templates/navbar.tmpl:44
+#: ../themes/Crao/templates/navbar.tmpl:48
+#: ../themes/blog/templates/search.tmpl:6
+#: ../themes/blog/templates/search.tmpl:7
+#: ../themes/blog/templates/search.tmpl:9
+#: ../themes/blog/templates/search.tmpl:13
+#: ../themes/default/templates/search.tmpl:6
+#: ../themes/default/templates/search.tmpl:15
+#: ../themes/default/templates/search.tmpl:27
+msgid "Search"
+msgstr "Ricerca"
+
 #: ../lib/plugin/JabberPresence.php:23
 msgid "JabberPresence"
 msgstr "JabberPresenca"
@@ -2779,26 +3075,35 @@
 msgid "Simple jabber presence plugin"
 msgstr ""
 
-#: ../lib/plugin/LdapSearch.php:57
+#: ../lib/plugin/LdapSearch.php:54
 msgid "LdapSearch"
 msgstr "LdapRicerca"
 
-#: ../lib/plugin/LdapSearch.php:60
+#: ../lib/plugin/LdapSearch.php:57
 msgid "Search an LDAP directory"
 msgstr ""
 
-#: ../lib/plugin/LdapSearch.php:83
-msgid "Failed to set LDAP protocol version to 3"
+#: ../lib/plugin/LdapSearch.php:81
+msgid "Missing ldap extension"
+msgstr ""
+
+#: ../lib/plugin/LdapSearch.php:103
+#, fuzzy
+msgid "Failed to connect to LDAP host"
+msgstr "Non riesco a stabilire una connessione col database: %s"
+
+#: ../lib/plugin/LdapSearch.php:136
+msgid "Failed to bind LDAP host"
 msgstr ""
 
 #: ../lib/plugin/LikePages.php:32 ../themes/Crao/templates/navbar.tmpl:16
-#: ../themes/Portland/templates/navbar.tmpl:10
-#: ../themes/Wordpress/templates/actionbar.tmpl:90
+#: ../themes/Portland/templates/navbar.tmpl:7
+#: ../themes/Wordpress/templates/actionbar.tmpl:91
 #: ../themes/default/templates/navbar.tmpl:33
 #: ../themes/smaller/templates/navbar.tmpl:15
-#: ../themes/wikilens/templates/navbar.tmpl:24
+#: ../themes/wikilens/templates/navbar.tmpl:21
 msgid "LikePages"
-msgstr ""
+msgstr "PagineSimili"
 
 #: ../lib/plugin/LikePages.php:36
 #, php-format
@@ -2820,30 +3125,64 @@
 msgid "These pages share an initial or final title word with '%s'"
 msgstr ""
 
-#: ../lib/plugin/LinkDatabase.php:41
-msgid "LinkDatabase"
-msgstr ""
-
-#: ../lib/plugin/LinkDatabase.php:47
+#: ../lib/plugin/LinkDatabase.php:48
 msgid ""
 "List all pages with all links in various formats for some Java Visualization "
 "tools"
 msgstr ""
 
-#: ../lib/plugin/LinkDatabase.php:77
+#: ../lib/plugin/LinkDatabase.php:78
 #, php-format
 msgid "All pages with all links in this wiki (%d total):"
 msgstr ""
 
-#: ../lib/plugin/LinkDatabase.php:109
+#: ../lib/plugin/LinkDatabase.php:111 ../lib/plugin/WantedPages.php:87
 msgid "Links"
 msgstr ""
 
-#: ../lib/plugin/LinkDatabase.php:169
+#: ../lib/plugin/LinkDatabase.php:173
 #, php-format
 msgid "Unsupported format argument %s"
 msgstr ""
 
+#: ../lib/plugin/LinkSearch.php:35 ../lib/plugin/LinkSearch.php:113
+#, fuzzy
+msgid "LinkSearch"
+msgstr "RicercaLive"
+
+#: ../lib/plugin/LinkSearch.php:38
+msgid "Search page and link names"
+msgstr ""
+
+#: ../lib/plugin/LinkSearch.php:65 ../lib/plugin/SemanticSearch.php:94
+msgid "Search only in these pages. With autocompletion."
+msgstr ""
+
+#: ../lib/plugin/LinkSearch.php:74 ../lib/plugin/SemanticSearch.php:117
+msgid "Filter by this link. These are pagenames. With autocompletion."
+msgstr ""
+
+#: ../lib/plugin/LinkSearch.php:98
+msgid "outgoing"
+msgstr ""
+
+#: ../lib/plugin/LinkSearch.php:99
+msgid "incoming"
+msgstr ""
+
+#: ../lib/plugin/LinkSearch.php:114
+msgid "Search in pages for links with the matching name."
+msgstr ""
+
+#: ../lib/plugin/LinkSearch.php:148 ../lib/plugin/SemanticSearch.php:305
+msgid "Link"
+msgstr ""
+
+#: ../lib/plugin/LinkSearch.php:158
+#, php-format
+msgid "LinkSearch result for \"%s\" in pages \"%s\", direction %s"
+msgstr ""
+
 #: ../lib/plugin/ListPages.php:38
 msgid "ListPages"
 msgstr ""
@@ -2856,6 +3195,17 @@
 msgid "You must be logged in to view ratings."
 msgstr ""
 
+#: ../lib/plugin/ListRelations.php:34
+#, fuzzy
+msgid "ListRelations"
+msgstr "Annulla"
+
+#: ../lib/plugin/ListRelations.php:37
+msgid ""
+"Display the list of all defined relations and optionnally attributes in this "
+"entrire wiki"
+msgstr ""
+
 #: ../lib/plugin/ListSubpages.php:34
 msgid "ListSubpages"
 msgstr ""
@@ -2883,12 +3233,12 @@
 msgid "Support moderated pages"
 msgstr ""
 
-#: ../lib/plugin/ModeratedPage.php:141 ../lib/plugin/ModeratedPage.php:165
-#: ../lib/plugin/ModeratedPage.php:210
+#: ../lib/plugin/ModeratedPage.php:153 ../lib/plugin/ModeratedPage.php:178
+#: ../lib/plugin/ModeratedPage.php:224
 msgid "ModeratedPage: No emails for the moderators defined"
 msgstr ""
 
-#: ../lib/plugin/ModeratedPage.php:147
+#: ../lib/plugin/ModeratedPage.php:159
 #, php-format
 msgid ""
 "ModeratedPage status update:\n"
@@ -2896,12 +3246,12 @@
 "  require_access: '%s'"
 msgstr ""
 
-#: ../lib/plugin/ModeratedPage.php:152
+#: ../lib/plugin/ModeratedPage.php:164
 #, php-format
 msgid "'%s' is no ModeratedPage anymore."
 msgstr ""
 
-#: ../lib/plugin/ModeratedPage.php:171
+#: ../lib/plugin/ModeratedPage.php:184
 #, php-format
 msgid ""
 "ModeratedPage status update: '%s' is now a ModeratedPage.\n"
@@ -2909,33 +3259,42 @@
 "  require_access: '%s'"
 msgstr ""
 
-#: ../lib/plugin/ModeratedPage.php:232
+#: ../lib/plugin/ModeratedPage.php:250
 #, php-format
 msgid "%s: action forwarded to moderator %s"
 msgstr ""
 
-#: ../lib/plugin/ModeratedPage.php:252
+#: ../lib/plugin/ModeratedPage.php:276
 msgid "ModeratedPage Notification Error: Couldn't send email"
 msgstr ""
 
-#: ../lib/plugin/ModeratedPage.php:287
+#: ../lib/plugin/ModeratedPage.php:355
+#, php-format
+msgid "%s approved your wiki action from %s"
+msgstr ""
+
+#: ../lib/plugin/ModeratedPage.php:367
 msgid "Please approve or reject this request:"
 msgstr ""
 
-#: ../lib/plugin/ModeratedPage.php:298
+#: ../lib/plugin/ModeratedPage.php:403
+msgid "Reason: "
+msgstr ""
+
+#: ../lib/plugin/ModeratedPage.php:404
 msgid "Approve"
 msgstr ""
 
-#: ../lib/plugin/ModeratedPage.php:300
+#: ../lib/plugin/ModeratedPage.php:406
 msgid "Reject"
 msgstr ""
 
-#: ../lib/plugin/ModeratedPage.php:325 ../lib/plugin/ModeratedPage.php:332
+#: ../lib/plugin/ModeratedPage.php:434 ../lib/plugin/ModeratedPage.php:441
 #, php-format
 msgid "<?plugin ModeratedPage ... ?> not found in first line of %s"
 msgstr ""
 
-#: ../lib/plugin/ModeratedPage.php:328
+#: ../lib/plugin/ModeratedPage.php:437
 #, php-format
 msgid "%s is not locked!"
 msgstr ""
@@ -2966,6 +3325,15 @@
 msgid "Visited pages on this wiki, ordered by popularity:"
 msgstr ""
 
+#: ../lib/plugin/NewPagesPerUser.php:19
+#, fuzzy
+msgid "NewPagesPerUser"
+msgstr "Nuova pagina"
+
+#: ../lib/plugin/NewPagesPerUser.php:23
+msgid "List all new pages per month per user"
+msgstr ""
+
 #: ../lib/plugin/NoCache.php:39
 msgid "NoCache"
 msgstr ""
@@ -3009,67 +3377,68 @@
 msgid "Page %s not found."
 msgstr "%s: pagina non trovato."
 
-#: ../lib/plugin/PageDump.php:127
+#: ../lib/plugin/PageDump.php:128
 msgid "Download for CVS"
 msgstr ""
 
-#: ../lib/plugin/PageDump.php:132
+#: ../lib/plugin/PageDump.php:133
 msgid "Download for backup"
 msgstr ""
 
-#: ../lib/plugin/PageDump.php:138
+#: ../lib/plugin/PageDump.php:139
 msgid "Download all revisions for backup"
 msgstr ""
 
-#: ../lib/plugin/PageDump.php:141
+#: ../lib/plugin/PageDump.php:142
 #, php-format
 msgid "Preview: Page dump of %s"
 msgstr ""
 
-#: ../lib/plugin/PageDump.php:148
+#: ../lib/plugin/PageDump.php:149
 msgid ""
 "(formatted for PhpWiki developers as pgsrc template, not for backing up)"
 msgstr ""
 
-#: ../lib/plugin/PageDump.php:151 ../lib/plugin/PageDump.php:171
+#: ../lib/plugin/PageDump.php:152 ../lib/plugin/PageDump.php:172
 msgid "Preview as normal format"
 msgstr ""
 
-#: ../lib/plugin/PageDump.php:157 ../lib/plugin/PageDump.php:184
+#: ../lib/plugin/PageDump.php:158 ../lib/plugin/PageDump.php:185
 msgid "Preview as backup format"
 msgstr ""
 
-#: ../lib/plugin/PageDump.php:161
+#: ../lib/plugin/PageDump.php:162
 msgid "(formatted for backing up: all revisions)"
 msgstr ""
 
-#: ../lib/plugin/PageDump.php:165 ../lib/plugin/PageDump.php:178
+#: ../lib/plugin/PageDump.php:166 ../lib/plugin/PageDump.php:179
 msgid "Preview as developer format"
 msgstr ""
 
-#: ../lib/plugin/PageDump.php:174
+#: ../lib/plugin/PageDump.php:175
 msgid "(normal formatting: latest revision only)"
 msgstr ""
 
-#: ../lib/plugin/PageDump.php:188
+#: ../lib/plugin/PageDump.php:189
 msgid ""
 "Please use one of the downloadable versions rather than copying and pasting "
 "from the above preview."
 msgstr ""
 
-#: ../lib/plugin/PageDump.php:190
+#: ../lib/plugin/PageDump.php:191
 msgid ""
 "The wordwrap of the preview doesn't take nested markup or list indentation "
 "into consideration!"
 msgstr ""
 
-#: ../lib/plugin/PageDump.php:193
+#: ../lib/plugin/PageDump.php:194
 msgid ""
 "PhpWiki developers should manually inspect the downloaded file for nested "
 "markup before rewrapping with emacs and checking into CVS."
 msgstr ""
 
-#: ../lib/plugin/PageDump.php:201 ../lib/plugin/PasswordReset.php:128
+#: ../lib/plugin/PageDump.php:202 ../lib/plugin/PasswordReset.php:131
+#: ../lib/plugin/SemanticSearch.php:260
 msgid "Warning:"
 msgstr "Avvertimento:"
 
@@ -3087,7 +3456,7 @@
 msgid "Contents"
 msgstr "Indice"
 
-#: ../lib/plugin/PageGroup.php:91 ../lib/stdlib.php:1985
+#: ../lib/plugin/PageGroup.php:91 ../lib/stdlib.php:1992
 #, php-format
 msgid "<%s: no such section>"
 msgstr ""
@@ -3130,12 +3499,12 @@
 msgid "Check any two boxes then %s."
 msgstr ""
 
-#: ../lib/plugin/PageHistory.php:166 ../lib/plugin/PageHistory.php:229
+#: ../lib/plugin/PageHistory.php:166 ../lib/plugin/PageHistory.php:242
 #, php-format
 msgid "Version %d"
 msgstr "Versione %d"
 
-#: ../lib/plugin/PageHistory.php:177 ../themes/MacOSX/lib/RecentChanges.php:34
+#: ../lib/plugin/PageHistory.php:178 ../themes/MacOSX/lib/RecentChanges.php:34
 #: ../themes/MonoBook/templates/info.tmpl:19
 #: ../themes/MonoBook/templates/info.tmpl:23
 #: ../themes/Portland/lib/RecentChanges.php:14
@@ -3143,43 +3512,42 @@
 #: ../themes/Wordpress/lib/RecentChanges.php:14
 #: ../themes/default/templates/info.tmpl:17
 #: ../themes/default/templates/info.tmpl:21
-#: ../themes/shamino_com/templates/info.tmpl:19
-#: ../themes/shamino_com/templates/info.tmpl:23
 msgid "minor edit"
 msgstr ""
 
-#: ../lib/plugin/PageHistory.php:221
+#: ../lib/plugin/PageHistory.php:234
 msgid "History of changes."
 msgstr ""
 
-#: ../lib/plugin/PageHistory.php:247 ../lib/plugin/RecentChanges.php:65
+#: ../lib/plugin/PageHistory.php:260 ../lib/plugin/RecentChanges.php:67
 #: ../themes/Crao/templates/actionbar.tmpl:22
-#: ../themes/MonoBook/templates/actionbar.tmpl:46
+#: ../themes/MonoBook/templates/actionbar.tmpl:39
+#: ../themes/MonoBook/templates/actionbar.tmpl:66
 #: ../themes/MonoBook/templates/info.tmpl:167
-#: ../themes/Portland/templates/actionbar.tmpl:18
+#: ../themes/Portland/templates/actionbar.tmpl:14
 #: ../themes/Portland/templates/viewsource.tmpl:26
-#: ../themes/Wordpress/templates/actionbar.tmpl:69
-#: ../themes/Wordpress/templates/viewsource.tmpl:28
-#: ../themes/default/templates/actionbar.tmpl:29
+#: ../themes/Wordpress/templates/actionbar.tmpl:70
+#: ../themes/Wordpress/templates/viewsource.tmpl:30
+#: ../themes/default/templates/actionbar.tmpl:31
 #: ../themes/shamino_com/templates/actionbar.tmpl:20
-#: ../themes/shamino_com/templates/info.tmpl:166
-#: ../themes/smaller/templates/actionbar.tmpl:37
+#: ../themes/smaller/templates/actionbar.tmpl:39
 #: ../themes/smaller/templates/info.tmpl:6
 msgid "PageHistory"
-msgstr ""
+msgstr "StoricoPagina"
 
-#: ../lib/plugin/PageHistory.php:251
+#: ../lib/plugin/PageHistory.php:264
 #, php-format
 msgid "List PageHistory for %s"
 msgstr ""
 
 #: ../lib/plugin/PageInfo.php:32 ../themes/Crao/templates/actionbar.tmpl:24
-#: ../themes/Portland/templates/actionbar.tmpl:19
-#: ../themes/Wordpress/templates/actionbar.tmpl:71
-#: ../themes/default/templates/actionbar.tmpl:31
+#: ../themes/MonoBook/templates/actionbar.tmpl:64
+#: ../themes/Portland/templates/actionbar.tmpl:15
+#: ../themes/Wordpress/templates/actionbar.tmpl:72
+#: ../themes/default/templates/actionbar.tmpl:33
 #: ../themes/shamino_com/templates/actionbar.tmpl:5
 msgid "PageInfo"
-msgstr ""
+msgstr "InfoPagina"
 
 #: ../lib/plugin/PageInfo.php:36
 #, php-format
@@ -3199,7 +3567,7 @@
 msgstr ""
 
 #: ../lib/plugin/PasswordReset.php:61 ../lib/plugin/PasswordReset.php:82
-#: ../lib/plugin/UserPreferences.php:104
+#: ../lib/plugin/UserPreferences.php:104 ../lib/plugin/WatchPage.php:150
 #: ../themes/default/templates/wikiforum.tmpl:22
 msgid "Message"
 msgstr ""
@@ -3210,7 +3578,7 @@
 msgstr ""
 
 #: ../lib/plugin/PasswordReset.php:64 ../lib/plugin/PasswordReset.php:85
-#: ../lib/plugin/PasswordReset.php:159
+#: ../lib/plugin/PasswordReset.php:163
 msgid "Error"
 msgstr ""
 
@@ -3225,93 +3593,73 @@
 msgstr ""
 
 #: ../lib/plugin/PasswordReset.php:86
-#, php-format
+#, fuzzy, php-format
 msgid "Error sending email with password for user %s."
-msgstr ""
+msgstr "Password o nome utente errati."
 
-#: ../lib/plugin/PasswordReset.php:94
+#: ../lib/plugin/PasswordReset.php:93
+#, fuzzy
 msgid "Reset password of user: "
-msgstr ""
+msgstr "Password o nome utente errati."
 
-#: ../lib/plugin/PasswordReset.php:104 ../lib/plugin/PasswordReset.php:142
+#: ../lib/plugin/PasswordReset.php:103 ../lib/plugin/PasswordReset.php:146
 msgid "Send email"
 msgstr ""
 
-#: ../lib/plugin/PasswordReset.php:129
+#: ../lib/plugin/PasswordReset.php:132
 msgid "You need to specify the userid!"
 msgstr ""
 
-#: ../lib/plugin/PasswordReset.php:150
+#: ../lib/plugin/PasswordReset.php:154
 msgid "Already logged in"
 msgstr ""
 
-#: ../lib/plugin/PasswordReset.php:151
+#: ../lib/plugin/PasswordReset.php:155
 msgid "Changing passwords is done at "
 msgstr ""
 
-#: ../lib/plugin/PasswordReset.php:151 ../lib/plugin/UserPreferences.php:38
-#: ../themes/Crao/templates/head.tmpl:85 ../themes/Crao/templates/head.tmpl:86
-#: ../themes/Crao/templates/navbar.tmpl:23
-#: ../themes/MonoBook/templates/navbar.tmpl:49
-#: ../themes/blog/templates/navbar.tmpl:17
-#: ../themes/default/templates/head.tmpl:92
-#: ../themes/default/templates/head.tmpl:93
-#: ../themes/default/templates/homepage.tmpl:11
-#: ../themes/default/templates/navbar.tmpl:40
-#: ../themes/shamino_com/templates/top.tmpl:28
-#: ../themes/smaller/templates/navbar.tmpl:22
-#: ../themes/wikilens/templates/head.tmpl:85
-#: ../themes/wikilens/templates/head.tmpl:86
-msgid "UserPreferences"
-msgstr "Preferenze"
-
-#: ../lib/plugin/PasswordReset.php:160
+#: ../lib/plugin/PasswordReset.php:164
 #, php-format
 msgid "No email stored for user %s."
 msgstr ""
 
-#: ../lib/plugin/PasswordReset.php:162
+#: ../lib/plugin/PasswordReset.php:166
 msgid "You need to ask an Administrator to reset this password. See below: "
 msgstr ""
 
-#: ../lib/plugin/PasswordReset.php:174
+#: ../lib/plugin/PasswordReset.php:178
 #, php-format
 msgid "Do you really want to reset the password of user %s?"
 msgstr ""
 
-#: ../lib/plugin/PasswordReset.php:175
+#: ../lib/plugin/PasswordReset.php:179
 msgid "An email will be sent."
 msgstr ""
 
-#: ../lib/plugin/PhotoAlbum.php:94
+#: ../lib/plugin/PhotoAlbum.php:97 ../themes/blog/templates/actionbar.tmpl:12
 msgid "PhotoAlbum"
 msgstr ""
 
-#: ../lib/plugin/PhotoAlbum.php:98
+#: ../lib/plugin/PhotoAlbum.php:101
 msgid ""
 "Displays a set of photos listed in a text file with optional descriptions"
 msgstr ""
 
-#: ../lib/plugin/PhotoAlbum.php:476
-#, php-format
-msgid "Invalid argument: %s=%s"
-msgstr ""
-
-#: ../lib/plugin/PhotoAlbum.php:536 ../lib/plugin/PhotoAlbum.php:557
-#: ../lib/plugin/Transclude.php:85
+#: ../lib/plugin/PhotoAlbum.php:540 ../lib/plugin/PhotoAlbum.php:565
+#: ../lib/plugin/Transclude.php:94
 msgid "Bad url in src: remove all of <, >, \""
 msgstr ""
 
-#: ../lib/plugin/PhotoAlbum.php:554
+#: ../lib/plugin/PhotoAlbum.php:562
 msgid "File extension for csv file has to be '.csv'"
 msgstr ""
 
-#: ../lib/plugin/PhotoAlbum.php:605
+#: ../lib/plugin/PhotoAlbum.php:616
 #, php-format
 msgid "Unable to find src='%s'"
 msgstr ""
 
-#: ../lib/plugin/PhotoAlbum.php:617
+#: ../lib/plugin/PhotoAlbum.php:628
 #, php-format
 msgid "Unable to read src='%s'"
 msgstr ""
@@ -3375,7 +3723,8 @@
 msgid "shell commands not allowed in Ploticus"
 msgstr ""
 
-#: ../lib/plugin/Ploticus.php:249 ../lib/plugin/SyntaxHighlighter.php:180
+#: ../lib/plugin/Ploticus.php:270 ../lib/plugin/SpellCheck.php:123
+#: ../lib/plugin/SyntaxHighlighter.php:180
 msgid "empty source"
 msgstr ""
 
@@ -3408,6 +3757,11 @@
 msgid "%s does not appear to be a WikiPlugin."
 msgstr ""
 
+#: ../lib/plugin/PluginManager.php:135 ../lib/upgrade.php:222
+#: ../themes/MonoBook/templates/navbar.tmpl:20
+msgid "Help"
+msgstr ""
+
 #: ../lib/plugin/PopUp.php:49
 msgid "PopUp"
 msgstr ""
@@ -3439,6 +3793,39 @@
 msgid "%d most popular nearby: "
 msgstr "%d pi popolari: "
 
+#: ../lib/plugin/PopularTags.php:34
+#, fuzzy
+msgid "PopularTags"
+msgstr "PiPopolari"
+
+#: ../lib/plugin/PopularTags.php:38
+msgid "List the most popular tags."
+msgstr ""
+
+#: ../lib/plugin/PopularTags.php:59 ../lib/plugin/_WikiTranslation.php:56
+msgid "CategoryCategory"
+msgstr ""
+
+#: ../lib/plugin/PopularTags.php:64 ../lib/plugin/Template.php:60
+msgid "Template"
+msgstr ""
+
+#: ../lib/plugin/PopularTags.php:78
+msgid "Category"
+msgstr "Categoria"
+
+#: ../lib/plugin/PopularTags.php:79
+msgid "Topic"
+msgstr ""
+
+#: ../lib/plugin/PreferenceApp.php:37
+msgid "PreferenceApp"
+msgstr "PreferenzeApp"
+
+#: ../lib/plugin/PreferenceApp.php:41
+msgid "Analyzes preferences based on voting budget and ratings."
+msgstr ""
+
 #: ../lib/plugin/PrevNext.php:32
 msgid "PrevNext"
 msgstr "Seguente"
@@ -3457,7 +3844,7 @@
 msgstr ""
 
 #: ../lib/plugin/RandomPage.php:33 ../lib/plugin/RandomPage.php:82
-#: ../themes/MonoBook/templates/navbar.tmpl:15
+#: ../themes/MonoBook/templates/navbar.tmpl:19
 msgid "RandomPage"
 msgstr ""
 
@@ -3465,49 +3852,49 @@
 msgid "Displays a list of randomly chosen pages or redirects to a random page."
 msgstr ""
 
-#: ../lib/plugin/RateIt.php:90 ../lib/plugin/RateIt.php:139
-#: ../lib/plugin/RateIt.php:146 ../lib/plugin/RateIt.php:291
-#: ../lib/upgrade.php:387
+#: ../lib/plugin/RateIt.php:89 ../lib/plugin/RateIt.php:138
+#: ../lib/plugin/RateIt.php:145 ../lib/plugin/RateIt.php:290
+#: ../lib/upgrade.php:452
 msgid "RateIt"
 msgstr ""
 
-#: ../lib/plugin/RateIt.php:93
+#: ../lib/plugin/RateIt.php:92
 msgid "Rating system. Store user ratings per page"
 msgstr ""
 
-#: ../lib/plugin/RateIt.php:117
+#: ../lib/plugin/RateIt.php:116
 msgid "Your rating "
 msgstr ""
 
-#: ../lib/plugin/RateIt.php:258
+#: ../lib/plugin/RateIt.php:257
 #, php-format
 msgid "Rated by %d users | Average rating %.1f stars"
 msgstr ""
 
-#: ../lib/plugin/RateIt.php:263
+#: ../lib/plugin/RateIt.php:262
 #, php-format
 msgid "Your rating was %.1f"
 msgstr ""
 
-#: ../lib/plugin/RateIt.php:268
+#: ../lib/plugin/RateIt.php:267
 #, php-format
 msgid "%s prediction for you is %s stars"
 msgstr ""
 
-#: ../lib/plugin/RateIt.php:271
+#: ../lib/plugin/RateIt.php:270
 #, php-format
 msgid "%s prediction for you is %.1f stars"
 msgstr ""
 
-#: ../lib/plugin/RateIt.php:291
+#: ../lib/plugin/RateIt.php:290
 msgid "Rate It"
 msgstr ""
 
-#: ../lib/plugin/RateIt.php:358
+#: ../lib/plugin/RateIt.php:357
 msgid "Rate the topic of this page"
 msgstr ""
 
-#: ../lib/plugin/RateIt.php:370
+#: ../lib/plugin/RateIt.php:369
 msgid "Cancel rating"
 msgstr "Annulla"
 
@@ -3519,145 +3906,171 @@
 msgid "Raw HTML is disabled in this wiki."
 msgstr ""
 
-#: ../lib/plugin/RawHtml.php:83 ../lib/plugin/RedirectTo.php:82
-#, php-format
-msgid "%s is only allowed in locked pages."
-msgstr ""
-
 #: ../lib/plugin/RawHtml.php:84
 msgid "Raw HTML"
 msgstr ""
 
-#: ../lib/plugin/RdfDefinition.php:42
-msgid "RdfDefinition"
-msgstr ""
-
-#: ../lib/plugin/RdfDefinition.php:45
-msgid "Define the RDF vocabulary for a wiki subset."
+#: ../lib/plugin/RawHtml.php:83 ../lib/plugin/RedirectTo.php:82
+#, php-format
+msgid "%s is only allowed in locked pages."
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:105
+#: ../lib/plugin/RecentChanges.php:107
 msgid "Deleted"
 msgstr "Rimossa"
 
-#: ../lib/plugin/RecentChanges.php:128 ../themes/blog/themeinfo.php:119
-msgid "(diff)"
-msgstr "(diff)"
+#: ../lib/plugin/RecentChanges.php:130
+#: ../themes/SpaceWiki/lib/RecentChanges.php:55
+msgid "diff"
+msgstr "diff"
+
+#: ../lib/plugin/RecentChanges.php:143
+#, fuzzy
+msgid "hist"
+msgstr "Prima"
 
-#: ../lib/plugin/RecentChanges.php:135
-msgid "(hist)"
+#: ../lib/plugin/RecentChanges.php:185
+msgid "contribs"
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:198
+#: ../lib/plugin/RecentChanges.php:192
+#, fuzzy
+msgid "new pages"
+msgstr "Nuova pagina"
+
+#: ../lib/plugin/RecentChanges.php:240
 msgid "edits"
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:200
+#: ../lib/plugin/RecentChanges.php:242
 msgid "major edits"
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:202
+#: ../lib/plugin/RecentChanges.php:244
 msgid "minor edits"
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:203 ../lib/plugin/RecentChanges.php:279
+#: ../lib/plugin/RecentChanges.php:245 ../lib/plugin/RecentChanges.php:338
 #: ../lib/plugin/RecentComments.php:31
 msgid "Recent Comments"
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:204
+#: ../lib/plugin/RecentChanges.php:246
 msgid "comments"
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:229
+#: ../lib/plugin/RecentChanges.php:248
+#, fuzzy
+msgid "created new pages"
+msgstr "nuova pagina"
+
+#: ../lib/plugin/RecentChanges.php:254
+#, php-format
+msgid " for pages changed by %s"
+msgstr ""
+
+#: ../lib/plugin/RecentChanges.php:260
+#, fuzzy, php-format
+msgid " for pages owned by %s"
+msgstr "dalla %s"
+
+#: ../lib/plugin/RecentChanges.php:285
 #, php-format
 msgid "The %d most recent %s during the past day are listed below."
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:232
+#: ../lib/plugin/RecentChanges.php:288
 #, php-format
 msgid "The %d most recent %s during the past %s days are listed below."
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:235
+#: ../lib/plugin/RecentChanges.php:291
 #, php-format
 msgid "The %d most recent %s are listed below."
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:241
+#: ../lib/plugin/RecentChanges.php:297
 #, php-format
 msgid "The %d oldest %s during the past day are listed below."
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:244
+#: ../lib/plugin/RecentChanges.php:300
 #, php-format
 msgid "The %d oldest %s during the past %s days are listed below."
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:247
+#: ../lib/plugin/RecentChanges.php:303
 #, php-format
 msgid "The %d oldest %s are listed below."
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:254
+#: ../lib/plugin/RecentChanges.php:310
 #, php-format
 msgid "The most recent %s during the past day are listed below."
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:257
+#: ../lib/plugin/RecentChanges.php:313
 #, php-format
 msgid "The most recent %s during the past %s days are listed below."
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:260
+#: ../lib/plugin/RecentChanges.php:316
 #, php-format
 msgid "All %s are listed below."
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:272 ../lib/plugin/RecentChanges.php:287
-#: ../lib/plugin/RecentChanges.php:390 ../lib/plugin/RecentChanges.php:467
+#: ../lib/plugin/RecentChanges.php:328 ../lib/plugin/RecentChanges.php:346
+#: ../lib/plugin/RecentChanges.php:523 ../lib/plugin/RecentChanges.php:600
 #: ../lib/plugin/RecentEdits.php:10 ../lib/plugin/RecentEdits.php:36
 #: ../lib/plugin/RelatedChanges.php:27
-#: ../themes/Portland/templates/editpage.tmpl:49
-#: ../themes/Wordpress/templates/editpage.tmpl:58
+#: ../themes/Portland/templates/editpage.tmpl:45
+#: ../themes/Wordpress/templates/editpage.tmpl:57
 msgid "RecentEdits"
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:280 ../lib/plugin/RecentComments.php:65
+#: ../lib/plugin/RecentChanges.php:339 ../lib/plugin/RecentComments.php:65
 msgid "No comments found"
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:282
+#: ../lib/plugin/RecentChanges.php:341
 msgid "No changes found"
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:592
+#: ../lib/plugin/RecentChanges.php:457
+msgid "UserContribs"
+msgstr ""
+
+#: ../lib/plugin/RecentChanges.php:725
 msgid "Title Search"
-msgstr "La ricerca su tutto il testo"
+msgstr "Ricerca per Titolo"
 
-#: ../lib/plugin/RecentChanges.php:893
+#: ../lib/plugin/RecentChanges.php:1189
 msgid "Show minor edits for:"
 msgstr "Mostrare le modifiche secondarie per:"
 
-#: ../lib/plugin/RecentChanges.php:895
+#: ../lib/plugin/RecentChanges.php:1191
 msgid "Show all changes for:"
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:897
+#: ../lib/plugin/RecentChanges.php:1193
 msgid "Show changes for:"
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:917
+#: ../lib/plugin/RecentChanges.php:1195
+msgid "All new pages since:"
+msgstr ""
+
+#: ../lib/plugin/RecentChanges.php:1215
 msgid "1 day"
 msgstr "1 giorno"
 
-#: ../lib/plugin/RecentChanges.php:921
+#: ../lib/plugin/RecentChanges.php:1219
 #, php-format
 msgid "%s days"
 msgstr "%s giorni"
 
 #: ../lib/plugin/RecentComments.php:17
-#: ../themes/MonoBook/templates/navbar.tmpl:14
+#: ../themes/MonoBook/templates/navbar.tmpl:16
 msgid "RecentComments"
 msgstr ""
 
@@ -3705,10 +4118,10 @@
 
 #: ../lib/plugin/RelatedChanges.php:44 ../lib/plugin/RelatedChanges.php:73
 msgid "Related Changes"
-msgstr ""
+msgstr "Modifiche Correlate"
 
 #: ../lib/plugin/RelatedChanges.php:73 ../themes/Crao/templates/navbar.tmpl:15
-#: ../themes/MonoBook/templates/navbar.tmpl:43
+#: ../themes/MonoBook/templates/navbar.tmpl:54
 msgid "RelatedChanges"
 msgstr ""
 
@@ -3732,14 +4145,140 @@
 msgid "no RSS items"
 msgstr ""
 
-#: ../lib/plugin/SearchHighlight.php:37
+#: ../lib/plugin/SearchHighlight.php:39
 msgid "SearchHighlight"
 msgstr ""
 
-#: ../lib/plugin/SearchHighlight.php:41
+#: ../lib/plugin/SearchHighlight.php:43
 msgid "Hilight referred search terms."
 msgstr ""
 
+#: ../lib/plugin/SearchHighlight.php:73
+#, php-format
+msgid "%s: Found %s through %s"
+msgstr ""
+
+#: ../lib/plugin/SemanticRelations.php:35
+#, fuzzy
+msgid "SemanticRelations"
+msgstr "Annulla"
+
+#: ../lib/plugin/SemanticRelations.php:38
+msgid "Display the list of relations and attributes on this page."
+msgstr ""
+
+#: ../lib/plugin/SemanticRelations.php:80
+#: ../lib/plugin/SemanticRelations.php:97 ../lib/plugin/SemanticSearch.php:57
+#, fuzzy
+msgid "SemanticSearch"
+msgstr "Ricerca"
+
+#: ../lib/plugin/SemanticRelations.php:86
+#, fuzzy, php-format
+msgid "Semantic relations for %s"
+msgstr "Annulla"
+
+#: ../lib/plugin/SemanticRelations.php:110
+#, php-format
+msgid "Attributes of %s"
+msgstr ""
+
+#: ../lib/plugin/SemanticRelations.php:119
+#: ../lib/plugin/SemanticRelations.php:120
+#, fuzzy
+msgid "Help/SemanticRelations"
+msgstr "Annulla"
+
+#: ../lib/plugin/SemanticRelations.php:122
+msgid "Find out how to add relations and attributes to pages."
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:60
+msgid "Search relations and attributes"
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:106
+msgid "Filter by this relation. With autocompletion."
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:124
+#, fuzzy
+msgid "Relations"
+msgstr "Collegamenti Relativi"
+
+#: ../lib/plugin/SemanticSearch.php:132 ../lib/plugin/SemanticSearch.php:208
+msgid "Add an AND query"
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:133 ../lib/plugin/SemanticSearch.php:209
+msgid "OR"
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:136 ../lib/plugin/SemanticSearch.php:212
+msgid "Add an OR query"
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:139
+msgid "Search in pages for a relation with that value (a pagename)."
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:174
+msgid "Filter by this attribute name. With autocompletion."
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:186
+msgid "Comparison operator. With autocompletion."
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:197
+msgid "Filter by this numeric attribute value. With autocompletion."
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:215
+msgid "Attributes"
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:216
+msgid "Search in pages for an attribute with that numeric value."
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:219
+msgid "Advanced..."
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:219
+#, fuzzy
+msgid "SemanticSearchAdvanced"
+msgstr "Ricerca"
+
+#: ../lib/plugin/SemanticSearch.php:261
+msgid "No relations nor attributes in the whole wikidb defined!"
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:263
+#, fuzzy
+msgid "Help:SemanticRelations"
+msgstr "Annulla"
+
+#: ../lib/plugin/SemanticSearch.php:311
+#, php-format
+msgid "Illegal operator: %s"
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:358
+#, php-format
+msgid "Only text operators can be used with strings: %s"
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:378
+msgid "Value"
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:393
+#, php-format
+msgid "Semantic %s Search Result for \"%s\" in pages \"%s\""
+msgstr ""
+
 #: ../lib/plugin/SiteMap.php:51
 msgid "SiteMap"
 msgstr ""
@@ -3753,6 +4292,27 @@
 msgid "(max. recursion level: %d)"
 msgstr ""
 
+#: ../lib/plugin/SpellCheck.php:68
+msgid "Spell Checker"
+msgstr ""
+
+#: ../lib/plugin/SpellCheck.php:71
+msgid "Check the spelling of a page and make suggestions"
+msgstr ""
+
+#: ../lib/plugin/SpellCheck.php:124
+#, fuzzy
+msgid "SpellCheck"
+msgstr "Prescelto"
+
+#: ../lib/plugin/SpellCheck.php:125
+msgid "Cannot SpellCheck myself"
+msgstr ""
+
+#: ../lib/plugin/SpellCheck.php:171
+msgid "SpellCheck result"
+msgstr ""
+
 #: ../lib/plugin/SqlResult.php:67
 msgid "SqlResult"
 msgstr ""
@@ -3770,6 +4330,87 @@
 msgid "No DSN for alias %s in SqlResult.ini found"
 msgstr ""
 
+#: ../lib/plugin/SyncWiki.php:46
+msgid "SyncWiki"
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:50
+msgid "Synchronize pages with external PhpWiki"
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:113
+msgid "Syncing this PhpWiki"
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:114
+msgid "Download all externally changed sources."
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:116
+#, php-format
+msgid "Retrieving from external url %s wiki.getRecentChanges(%s)..."
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:123 ../lib/plugin/WhoIsOnline.php:125
+msgid "<unknown>"
+msgstr "<sconosciuto>"
+
+#: ../lib/plugin/SyncWiki.php:138 ../lib/plugin/SyncWiki.php:191
+#: ../lib/plugin/SyncWiki.php:226 ../lib/upgrade.php:92 ../lib/upgrade.php:96
+#: ../lib/upgrade.php:176 ../lib/upgrade.php:217 ../lib/upgrade.php:1120
+msgid " skipped"
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:160
+msgid "same date"
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:183
+msgid "Now upload all locally newer pages."
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:185
+#, php-format
+msgid "Checking all local pages newer than %s..."
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:212
+msgid "Now upload all locally newer uploads."
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:214
+#, php-format
+msgid "Checking all local uploads newer than %s..."
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:277
+#, php-format
+msgid "%s force"
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:281
+#, php-format
+msgid "Postponed %s for %s."
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:288 ../lib/plugin/SyncWiki.php:297
+#: ../lib/plugin/SyncWiki.php:312 ../lib/plugin/SyncWiki.php:321
+#: ../lib/plugin/SyncWiki.php:340
+msgid "skipped"
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:297 ../lib/plugin/SyncWiki.php:321
+#, fuzzy
+msgid "same content"
+msgstr "Indice"
+
+#: ../lib/plugin/SyncWiki.php:304 ../lib/plugin/SyncWiki.php:330
+#: ../lib/plugin/SyncWiki.php:332 ../lib/plugin/SyncWiki.php:353
+#: ../lib/plugin/SyncWiki.php:355 ../lib/upgrade.php:214
+#: ../lib/upgrade.php:555 ../lib/upgrade.php:593 ../lib/upgrade.php:1111
+msgid "FAILED"
+msgstr ""
+
 #: ../lib/plugin/SyntaxHighlighter.php:68
 msgid "SyntaxHighlighter"
 msgstr ""
@@ -4002,27 +4643,19 @@
 msgid "Convert Tex mathematicals expressions to cached png files."
 msgstr ""
 
-#: ../lib/plugin/TeX2png.php:34
-msgid " This is for small text"
-msgstr ""
-
 #: ../lib/plugin/TeX2png.php:134
 msgid " (syntax error for latex) "
 msgstr ""
 
 #: ../lib/plugin/TeX2png.php:173
-msgid "TeX directory not writable."
+msgid "TeX imagepath not writable."
 msgstr ""
 
-#: ../lib/plugin/TeX2png.php:214 ../lib/plugin/text2png.php:67
+#: ../lib/plugin/TeX2png.php:214 ../lib/plugin/text2png.php:85
 msgid "Sorry, this version of PHP cannot create PNG image files."
 msgstr ""
 
-#: ../lib/plugin/Template.php:61
-msgid "Template"
-msgstr ""
-
-#: ../lib/plugin/Template.php:65
+#: ../lib/plugin/Template.php:64
 msgid "Parametrized page inclusion."
 msgstr ""
 
@@ -4034,7 +4667,7 @@
 msgid "Search the titles of all pages in this wiki."
 msgstr ""
 
-#: ../lib/plugin/TitleSearch.php:103
+#: ../lib/plugin/TitleSearch.php:104
 #, php-format
 msgid "Title search results for '%s'"
 msgstr "Risultati della ricerca su tutto il testo per '%s'"
@@ -4047,16 +4680,16 @@
 msgid "Include an external web page within the body of a wiki page."
 msgstr ""
 
-#: ../lib/plugin/Transclude.php:88
+#: ../lib/plugin/Transclude.php:97
 msgid "Transcluded page"
 msgstr ""
 
-#: ../lib/plugin/Transclude.php:97
+#: ../lib/plugin/Transclude.php:106
 #, php-format
 msgid "See: %s"
 msgstr ""
 
-#: ../lib/plugin/Transclude.php:109
+#: ../lib/plugin/Transclude.php:118
 #, php-format
 msgid "Transcluded from %s"
 msgstr "Inserire dalla %s"
@@ -4153,53 +4786,58 @@
 msgid "Upload files to the local InterWiki Upload:<filename>"
 msgstr ""
 
-#: ../lib/plugin/UpLoad.php:124
+#: ../lib/plugin/UpLoad.php:161
 msgid "ACCESS DENIED: You must log in to upload files."
 msgstr ""
 
-#: ../lib/plugin/UpLoad.php:138
+#: ../lib/plugin/UpLoad.php:185
 #, php-format
 msgid "ERROR uploading '%s': "
 msgstr ""
 
-#: ../lib/plugin/UpLoad.php:143
+#: ../lib/plugin/UpLoad.php:190
 #, php-format
 msgid "Files with extension %s are not allowed."
 msgstr ""
 
-#: ../lib/plugin/UpLoad.php:149
+#: ../lib/plugin/UpLoad.php:198
+#, php-format
+msgid "Only files with the extension %s are allowed."
+msgstr ""
+
+#: ../lib/plugin/UpLoad.php:204
 msgid ""
-"File names may only contain alphanumeric characters and dot, underscore or "
-"dash."
+"Invalid filename. File names may only contain alphanumeric characters and "
+"dot, underscore, space or dash."
 msgstr ""
 
-#: ../lib/plugin/UpLoad.php:154
+#: ../lib/plugin/UpLoad.php:209
 #, php-format
 msgid "There is already a file with name %s uploaded."
 msgstr ""
 
-#: ../lib/plugin/UpLoad.php:159
+#: ../lib/plugin/UpLoad.php:214
 msgid "Sorry but this file is too big."
 msgstr ""
 
-#: ../lib/plugin/UpLoad.php:167
+#: ../lib/plugin/UpLoad.php:222
 msgid "File successfully uploaded."
 msgstr ""
 
-#: ../lib/plugin/UpLoad.php:184
+#: ../lib/plugin/UpLoad.php:239
 #, php-format
 msgid "uploaded %s"
 msgstr ""
 
-#: ../lib/plugin/UpLoad.php:191
+#: ../lib/plugin/UpLoad.php:246
 msgid "Uploading failed."
 msgstr ""
 
-#: ../lib/plugin/UpLoad.php:209
+#: ../lib/plugin/UpLoad.php:264
 msgid "The upload logfile is not writable."
 msgstr ""
 
-#: ../lib/plugin/UpLoad.php:212
+#: ../lib/plugin/UpLoad.php:267
 msgid "Can't open the upload logfile."
 msgstr ""
 
@@ -4270,69 +4908,91 @@
 msgid "Here are your %d page ratings:"
 msgstr ""
 
-#: ../lib/plugin/UserRatings.php:220
+#: ../lib/plugin/UserRatings.php:222
 msgid "Pred"
 msgstr ""
 
-#: ../lib/plugin/UserRatings.php:224 ../lib/wikilens/PageListColumns.php:367
+#: ../lib/plugin/UserRatings.php:226 ../lib/wikilens/PageListColumns.php:367
 msgid "Rate"
 msgstr ""
 
-#: ../lib/plugin/VisualWiki.php:65
+#: ../lib/plugin/VisualWiki.php:66
 msgid ""
 "Visualizes the Wiki structure in a graph using the 'dot' commandline tool "
 "from graphviz."
 msgstr ""
 
-#: ../lib/plugin/VisualWiki.php:493
+#: ../lib/plugin/VisualWiki.php:497
 msgid "Legend"
 msgstr ""
 
-#: ../lib/plugin/WantedPages.php:39 ../lib/plugin/WantedPages.php:69
-#: ../lib/plugin/WantedPagesOld.php:33 ../lib/plugin/WantedPagesOld.php:66
+#: ../lib/plugin/WantedPages.php:39 ../lib/plugin/WantedPages.php:70
 msgid "WantedPages"
 msgstr ""
 
-#: ../lib/plugin/WantedPages.php:42 ../lib/plugin/WantedPagesOld.php:37
+#: ../lib/plugin/WantedPages.php:42
 msgid "Lists referenced page names which do not exist yet."
 msgstr ""
 
-#: ../lib/plugin/WantedPages.php:54 ../lib/plugin/WantedPagesOld.php:47
-#: ../lib/plugin/_WikiTranslation.php:84 ../lib/plugin/_WikiTranslation.php:98
+#: ../lib/plugin/WantedPages.php:55 ../lib/plugin/_WikiTranslation.php:84
+#: ../lib/plugin/_WikiTranslation.php:98
 msgid "PgsrcTranslation"
 msgstr ""
 
-#: ../lib/plugin/WantedPages.php:78
+#: ../lib/plugin/WantedPages.php:79
 msgid "Wanted From"
 msgstr ""
 
-#: ../lib/plugin/WantedPages.php:115
+#: ../lib/plugin/WantedPages.php:130
 #, php-format
 msgid "Wanted Pages for %s:"
 msgstr ""
 
-#: ../lib/plugin/WantedPages.php:117
+#: ../lib/plugin/WantedPages.php:132
 #, php-format
 msgid "Wanted Pages in this wiki:"
 msgstr ""
 
-#: ../lib/plugin/WantedPagesOld.php:100
-#: ../themes/default/templates/online.tmpl:38
-msgid "<none>"
-msgstr "<nessun>"
+#: ../lib/plugin/WantedPages.php:174
+#, fuzzy, php-format
+msgid "(%d Links)"
+msgstr "Collegamenti Relativi"
+
+#: ../lib/plugin/WatchPage.php:35
+#, fuzzy
+msgid "WatchPage"
+msgstr "Larghezza"
 
-#: ../lib/plugin/WantedPagesOld.php:115
+#: ../lib/plugin/WatchPage.php:78
+msgid "Your current watchlist: "
+msgstr ""
+
+#: ../lib/plugin/WatchPage.php:79
+msgid "New watchlist: "
+msgstr ""
+
+#: ../lib/plugin/WatchPage.php:82
 #, php-format
-msgid "Wanted Pages for %s (%d total):"
+msgid "Do you %s want to add this page \"%s\" to your WatchList?"
 msgstr ""
 
-#: ../lib/plugin/WantedPagesOld.php:149
+#: ../lib/plugin/WatchPage.php:83
+msgid "really"
+msgstr ""
+
+#: ../lib/plugin/WatchPage.php:88
 #, php-format
-msgid "Wanted Pages in this wiki (%d total):"
+msgid "The page %s is already watched!"
+msgstr ""
+
+#: ../lib/plugin/WatchPage.php:114
+msgid "ERROR: No email defined! You need to do this in your "
 msgstr ""
 
-#: ../lib/plugin/WantedPagesOld.php:151
-msgid "Count"
+#: ../lib/plugin/WatchPage.php:151
+msgid ""
+"E-Mail Notification for the current page successfully stored in your "
+"preferences."
 msgstr ""
 
 #: ../lib/plugin/WhoIsOnline.php:38 ../lib/plugin/WhoIsOnline.php:84
@@ -4356,10 +5016,6 @@
 msgid "Guest"
 msgstr ""
 
-#: ../lib/plugin/WhoIsOnline.php:125
-msgid "<unknown>"
-msgstr "<sconosciuto>"
-
 #: ../lib/plugin/WhoIsOnline.php:196
 #, php-format
 msgid "%d minutes"
@@ -4369,7 +5025,7 @@
 msgid "WikiAdminChmod"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminChmod.php:44 ../lib/plugin/WikiAdminSetAcl.php:43
+#: ../lib/plugin/WikiAdminChmod.php:44 ../lib/plugin/WikiAdminSetAcl.php:47
 msgid "Set individual page permissions."
 msgstr ""
 
@@ -4387,7 +5043,7 @@
 msgid "Invalid chmod string"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminChmod.php:90 ../lib/plugin/WikiAdminSetAcl.php:109
+#: ../lib/plugin/WikiAdminChmod.php:90 ../lib/plugin/WikiAdminSetAcl.php:113
 #, php-format
 msgid "%s pages have been changed."
 msgstr ""
@@ -4395,11 +5051,11 @@
 #: ../lib/plugin/WikiAdminChmod.php:93 ../lib/plugin/WikiAdminChown.php:89
 #: ../lib/plugin/WikiAdminMarkup.php:97
 #: ../lib/plugin/WikiAdminSearchReplace.php:113
-#: ../lib/plugin/WikiAdminSetAcl.php:112
+#: ../lib/plugin/WikiAdminSetAcl.php:116
 msgid "No pages changed."
 msgstr ""
 
-#: ../lib/plugin/WikiAdminChmod.php:140 ../lib/plugin/WikiAdminSetAcl.php:170
+#: ../lib/plugin/WikiAdminChmod.php:140 ../lib/plugin/WikiAdminSetAcl.php:174
 msgid "Permission"
 msgstr ""
 
@@ -4411,7 +5067,7 @@
 msgid "Chmod"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminChmod.php:155 ../lib/plugin/WikiAdminSetAcl.php:185
+#: ../lib/plugin/WikiAdminChmod.php:155 ../lib/plugin/WikiAdminSetAcl.php:189
 msgid "Select the pages to change:"
 msgstr ""
 
@@ -4427,11 +5083,11 @@
 msgid "(ugo : rwx)"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminChmod.php:189 ../lib/plugin/WikiAdminSetAcl.php:253
+#: ../lib/plugin/WikiAdminChmod.php:189 ../lib/plugin/WikiAdminSetAcl.php:257
 msgid "Propagate new permissions to all subpages?"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminChmod.php:191 ../lib/plugin/WikiAdminSetAcl.php:255
+#: ../lib/plugin/WikiAdminChmod.php:191 ../lib/plugin/WikiAdminSetAcl.php:259
 msgid "(disable individual page permissions, enable inheritance)?"
 msgstr ""
 
@@ -4446,7 +5102,7 @@
 #: ../lib/plugin/WikiAdminChown.php:69 ../lib/plugin/WikiAdminMarkup.php:70
 #: ../lib/plugin/WikiAdminRename.php:84
 #: ../lib/plugin/WikiAdminSearchReplace.php:98
-#: ../lib/plugin/WikiAdminSetAcl.php:100
+#: ../lib/plugin/WikiAdminSetAcl.php:104
 #, php-format
 msgid "Access denied to change page '%s'."
 msgstr ""
@@ -4560,9 +5216,9 @@
 msgstr "AmministrazioneDiPhpWiki/Rimuovi"
 
 #: ../lib/plugin/WikiAdminRemove.php:183 ../lib/plugin/WikiAdminRemove.php:232
-#: ../themes/blog/themeinfo.php:59
+#: ../themes/blog/themeinfo.php:67
 msgid "Remove"
-msgstr "Rimuovi"
+msgstr "Cancella"
 
 #: ../lib/plugin/WikiAdminRemove.php:190
 msgid "Are you sure you want to permanently remove the selected files?"
@@ -4747,184 +5403,210 @@
 msgid "Select pages"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminSetAcl.php:39
+#: ../lib/plugin/WikiAdminSetAcl.php:43
 msgid "WikiAdminSetAcl"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminSetAcl.php:94
+#: ../lib/plugin/WikiAdminSetAcl.php:98
 #, php-format
 msgid "ACL not changed for page '%s'."
 msgstr ""
 
-#: ../lib/plugin/WikiAdminSetAcl.php:97
+#: ../lib/plugin/WikiAdminSetAcl.php:101
 #, php-format
 msgid "ACL changed for page '%s'."
 msgstr ""
 
-#: ../lib/plugin/WikiAdminSetAcl.php:104
+#: ../lib/plugin/WikiAdminSetAcl.php:108
 msgid "Invalid ACL"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminSetAcl.php:120 ../lib/plugin/_WikiTranslation.php:94
+#: ../lib/plugin/WikiAdminSetAcl.php:124 ../lib/plugin/_WikiTranslation.php:94
 msgid "PhpWikiAdministration/SetAcl"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminSetAcl.php:172 ../lib/plugin/WikiAdminSetAcl.php:228
+#: ../lib/plugin/WikiAdminSetAcl.php:176 ../lib/plugin/WikiAdminSetAcl.php:232
 msgid "ACL"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminSetAcl.php:180
+#: ../lib/plugin/WikiAdminSetAcl.php:184
 msgid ""
 "Are you sure you want to permanently change access to the selected files?"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminSetAcl.php:215
+#: ../lib/plugin/WikiAdminSetAcl.php:219
 msgid "Selected Pages: "
 msgstr ""
 
-#: ../lib/plugin/WikiAdminSetAcl.php:221
+#: ../lib/plugin/WikiAdminSetAcl.php:225
 #, php-format
 msgid "page permission inherited from %s"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminSetAcl.php:223
+#: ../lib/plugin/WikiAdminSetAcl.php:227
 msgid "invidual page permission"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminSetAcl.php:225
+#: ../lib/plugin/WikiAdminSetAcl.php:229
 msgid "default page permission"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminSetAcl.php:226
+#: ../lib/plugin/WikiAdminSetAcl.php:230
 msgid "Type"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminSetAcl.php:227
+#: ../lib/plugin/WikiAdminSetAcl.php:231
 msgid "getfacl"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminSetAcl.php:231
+#: ../lib/plugin/WikiAdminSetAcl.php:235
 msgid ""
 "Selected Grant checkboxes allow access, unselected checkboxes deny access."
 msgstr ""
 
-#: ../lib/plugin/WikiAdminSetAcl.php:232
+#: ../lib/plugin/WikiAdminSetAcl.php:236
 msgid "To ignore delete the line."
 msgstr ""
 
-#: ../lib/plugin/WikiAdminSetAcl.php:233
+#: ../lib/plugin/WikiAdminSetAcl.php:237
 msgid "To add check 'Add' near the dropdown list."
 msgstr ""
 
-#: ../lib/plugin/WikiAdminSetAcl.php:256
+#: ../lib/plugin/WikiAdminSetAcl.php:260
 msgid "(Currently not working)"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:36
+#: ../lib/plugin/WikiAdminUtils.php:38
 msgid "WikiAdminUtils"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:40
+#: ../lib/plugin/WikiAdminUtils.php:42
 msgid "Miscellaneous utility functions for the Administrator."
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:72
+#: ../lib/plugin/WikiAdminUtils.php:74
 msgid "You must be an administrator to use this plugin."
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:101
-msgid "WikiAdminUtils says:"
+#: ../lib/plugin/WikiAdminUtils.php:103
+#, php-format
+msgid "WikiAdminUtils %s returned:"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:103 ../lib/stdlib.php:1759
-msgid "Okay"
+#: ../lib/plugin/WikiAdminUtils.php:105
+msgid "Back"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:108
+#: ../lib/plugin/WikiAdminUtils.php:110
 msgid "Purge Markup Cache"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:109
+#: ../lib/plugin/WikiAdminUtils.php:111
 msgid "Purge all Pages With Invalid Names"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:110
+#: ../lib/plugin/WikiAdminUtils.php:112
 msgid "Purge all empty, unreferenced Pages"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:120
+#: ../lib/plugin/WikiAdminUtils.php:113
+msgid "Access Restrictions"
+msgstr ""
+
+#: ../lib/plugin/WikiAdminUtils.php:115
+msgid "Convert cached_html"
+msgstr ""
+
+#: ../lib/plugin/WikiAdminUtils.php:116
+msgid "DB Check"
+msgstr ""
+
+#: ../lib/plugin/WikiAdminUtils.php:117
+msgid "Db Rebuild"
+msgstr ""
+
+#: ../lib/plugin/WikiAdminUtils.php:128
 msgid "Markup cache purged!"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:140
+#: ../lib/plugin/WikiAdminUtils.php:148
 msgid "No pages with bad names had to be deleted."
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:142
+#: ../lib/plugin/WikiAdminUtils.php:150
 #, php-format
 msgid "Deleted %s pages with invalid names:"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:160
+#: ../lib/plugin/WikiAdminUtils.php:171
 msgid "[purged]"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:162
+#: ../lib/plugin/WikiAdminUtils.php:173
 msgid "[not purgable]"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:170
+#: ../lib/plugin/WikiAdminUtils.php:181
 msgid "No empty, unreferenced pages were found."
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:172
+#: ../lib/plugin/WikiAdminUtils.php:183
 #, php-format
 msgid "Deleted %s unreferenced pages:"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:175
+#: ../lib/plugin/WikiAdminUtils.php:186
 #, php-format
 msgid ""
 "The %d not-purgable pages/links are links in some page(s). You might want to "
 "edit them."
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:190
+#: ../lib/plugin/WikiAdminUtils.php:201
 msgid "No old _cached_html pagedata found."
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:192
+#: ../lib/plugin/WikiAdminUtils.php:203
 #, php-format
 msgid "Converted successfully %d pages"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:201
+#: ../lib/plugin/WikiAdminUtils.php:227
 msgid "Sorry. Access Restrictions not yet implemented"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:209
-#: ../themes/default/templates/userprefs.tmpl:124
+#: ../lib/plugin/WikiAdminUtils.php:235
+#: ../themes/default/templates/userprefs.tmpl:125
 msgid "E-Mail"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:211
+#: ../lib/plugin/WikiAdminUtils.php:237
 msgid "Verification Status"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:263
+#: ../lib/plugin/WikiAdminUtils.php:238
+#, fuzzy
+msgid "Username"
+msgstr "Nome"
+
+#: ../lib/plugin/WikiAdminUtils.php:293
 msgid "Change Verification Status"
 msgstr ""
 
-#: ../lib/plugin/WikiBlog.php:79
+#: ../lib/plugin/WikiBlog.php:87
+msgid "WikiBlog"
+msgstr ""
+
+#: ../lib/plugin/WikiBlog.php:91
 #, php-format
 msgid "Show and add blogs for %s"
 msgstr ""
 
-#: ../lib/plugin/WikiBlog.php:190
+#: ../lib/plugin/WikiBlog.php:219
 msgid "New comment."
 msgstr ""
 
-#: ../lib/plugin/WikiBlog.php:294
+#: ../lib/plugin/WikiBlog.php:330
 #, php-format
 msgid "%s on %s:"
 msgstr "%s a %s:"
@@ -4933,7 +5615,7 @@
 msgid "WikiForm"
 msgstr ""
 
-#: ../lib/plugin/WikiForm.php:76
+#: ../lib/plugin/WikiForm.php:76 ../themes/MonoBook/templates/signin.tmpl:16
 msgid "Login"
 msgstr ""
 
@@ -4950,11 +5632,11 @@
 msgid "WikiForm: %s: unknown action"
 msgstr ""
 
-#: ../lib/plugin/WikiFormRich.php:92
+#: ../lib/plugin/WikiFormRich.php:106
 msgid "Provide generic WikiForm input buttons"
 msgstr ""
 
-#: ../lib/plugin/WikiFormRich.php:181
+#: ../lib/plugin/WikiFormRich.php:195
 msgid "name"
 msgstr "Nome"
 
@@ -4992,10 +5674,6 @@
 msgid "Missing %s for %s"
 msgstr ""
 
-#: ../lib/plugin/WikiPoll.php:224
-msgid "Ok"
-msgstr ""
-
 #: ../lib/plugin/WikiPoll.php:227
 msgid "Reset"
 msgstr ""
@@ -5013,6 +5691,26 @@
 msgid "Thanks for participating!"
 msgstr ""
 
+#: ../lib/plugin/YouTube.php:24
+msgid "YouTube"
+msgstr ""
+
+#: ../lib/plugin/YouTube.php:28
+msgid "Embed YouTube videos"
+msgstr ""
+
+#: ../lib/plugin/YouTube.php:54
+#, php-format
+msgid "Required argument %s missing"
+msgstr ""
+
+#: ../lib/plugin/YouTube.php:91 ../lib/plugin/YouTube.php:93
+#: ../lib/plugin/YouTube.php:95 ../lib/plugin/YouTube.php:97
+#: ../lib/plugin/YouTube.php:121 ../lib/plugin/YouTube.php:123
+#, php-format
+msgid "Invalid argument %s"
+msgstr ""
+
 #: ../lib/plugin/_AuthInfo.php:35
 msgid "AuthInfo"
 msgstr ""
@@ -5037,30 +5735,29 @@
 #: ../lib/plugin/_BackendInfo.php:30 ../lib/plugin/_WikiTranslation.php:60
 #: ../themes/Crao/templates/actionbar.tmpl:27
 #: ../themes/MonoBook/templates/info.tmpl:174
-#: ../themes/Portland/templates/actionbar.tmpl:21
-#: ../themes/Wordpress/templates/actionbar.tmpl:74
-#: ../themes/default/templates/actionbar.tmpl:34
-#: ../themes/shamino_com/templates/info.tmpl:174
+#: ../themes/Portland/templates/actionbar.tmpl:17
+#: ../themes/Wordpress/templates/actionbar.tmpl:75
+#: ../themes/default/templates/actionbar.tmpl:36
 #: ../themes/smaller/templates/info.tmpl:14
 msgid "DebugInfo"
-msgstr ""
+msgstr "InfoDebug"
 
 #: ../lib/plugin/_BackendInfo.php:34
 #, php-format
 msgid "Get debugging information for %s."
 msgstr ""
 
-#: ../lib/plugin/_BackendInfo.php:54
+#: ../lib/plugin/_BackendInfo.php:58
 #, php-format
 msgid "Querying backend directly for '%s'"
 msgstr ""
 
-#: ../lib/plugin/_BackendInfo.php:64
+#: ../lib/plugin/_BackendInfo.php:67
 #, php-format
 msgid "No pagedata for %s"
 msgstr ""
 
-#: ../lib/plugin/_BackendInfo.php:97
+#: ../lib/plugin/_BackendInfo.php:124
 msgid "<not displayed>"
 msgstr ""
 
@@ -5083,6 +5780,20 @@
 msgid "Get preferences information for current user %s."
 msgstr ""
 
+#: ../lib/plugin/_Retransform.php:30
+msgid "Retransform CachedMarkup"
+msgstr ""
+
+#: ../lib/plugin/_Retransform.php:34
+#, php-format
+msgid "Show a markup retransformation of page %s."
+msgstr ""
+
+#: ../lib/plugin/_Retransform.php:53
+#, php-format
+msgid "Retransform page '%s'"
+msgstr ""
+
 #: ../lib/plugin/_WikiTranslation.php:47
 msgid "AddCommentPlugin"
 msgstr ""
@@ -5115,10 +5826,6 @@
 msgid "CalendarPlugin"
 msgstr "CalendarioPlugin"
 
-#: ../lib/plugin/_WikiTranslation.php:56
-msgid "CategoryCategory"
-msgstr ""
-
 #: ../lib/plugin/_WikiTranslation.php:57
 msgid "CategoryHomePages"
 msgstr ""
@@ -5142,9 +5849,10 @@
 #: ../lib/plugin/_WikiTranslation.php:64 ../themes/Crao/templates/head.tmpl:36
 #: ../themes/Crao/templates/head.tmpl:37
 #: ../themes/Crao/templates/navbar.tmpl:40
-#: ../themes/MonoBook/templates/navbar.tmpl:25
-#: ../themes/Portland/templates/navbar.tmpl:8
-#: ../themes/Sidebar/templates/navbar.tmpl:24
+#: ../themes/MonoBook/templates/navbar.tmpl:29
+#: ../themes/MonoBook/templates/navbar.tmpl:35
+#: ../themes/Portland/templates/navbar.tmpl:5
+#: ../themes/Sidebar/templates/navbar.tmpl:14
 #: ../themes/default/templates/head.tmpl:42
 #: ../themes/default/templates/head.tmpl:43
 #: ../themes/default/templates/navbar.tmpl:20
@@ -5152,7 +5860,7 @@
 #: ../themes/smaller/templates/navbar.tmpl:8
 #: ../themes/wikilens/templates/head.tmpl:34
 #: ../themes/wikilens/templates/head.tmpl:35
-#: ../themes/wikilens/templates/navbar.tmpl:11
+#: ../themes/wikilens/templates/navbar.tmpl:19
 msgid "FindPage"
 msgstr "TrovaPagina"
 
@@ -5174,7 +5882,7 @@
 
 #: ../lib/plugin/_WikiTranslation.php:69
 msgid "HomePageAlias"
-msgstr "PaginaPrincipaleAlias"
+msgstr "AliasPaginaPrincipale"
 
 #: ../lib/plugin/_WikiTranslation.php:70
 msgid "IncludePagePlugin"
@@ -5253,6 +5961,7 @@
 msgstr ""
 
 #: ../lib/plugin/_WikiTranslation.php:95
+#: ../themes/MonoBook/templates/navbar.tmpl:20
 msgid "PhpWikiDocumentation"
 msgstr ""
 
@@ -5333,6 +6042,7 @@
 msgstr ""
 
 #: ../lib/plugin/_WikiTranslation.php:118
+#: ../themes/MonoBook/templates/navbar.tmpl:60
 msgid "UpLoad"
 msgstr ""
 
@@ -5376,36 +6086,35 @@
 "service for %s to language %s"
 msgstr ""
 
-#: ../lib/plugin/_WikiTranslation.php:319
-#, php-format
-msgid "%s is empty"
-msgstr ""
-
 #: ../lib/plugin/_WikiTranslation.php:438
 #, php-format
 msgid "Define the translation for %s in %s"
 msgstr ""
 
-#: ../lib/plugin/text2png.php:46
+#: ../lib/plugin/text2png.php:57
 msgid "Convert text into a png image using GD."
 msgstr ""
 
-#: ../lib/plugin/text2png.php:118
+#: ../lib/plugin/text2png.php:169
 msgid ""
 "PHP was unable to create a new GD image stream. Read 'lib/plugin/text2png."
 "php' for details."
 msgstr ""
 
-#: ../lib/plugin/text2png.php:168
+#: ../lib/plugin/text2png.php:214
 #, php-format
 msgid "Image saved to cache file: %s"
 msgstr ""
 
-#: ../lib/plugin/text2png.php:172
+#: ../lib/plugin/text2png.php:218
 #, php-format
 msgid "Image loaded from cache file: %s"
 msgstr ""
 
+#: ../lib/plugin/text2png.php:226
+msgid " produced by "
+msgstr ""
+
 #: ../lib/removepage.php:18
 msgid "Already deleted"
 msgstr ""
@@ -5435,311 +6144,364 @@
 msgid "Back to the previous page."
 msgstr ""
 
-#: ../lib/stdlib.php:364 ../lib/stdlib.php:393
+#: ../lib/stdlib.php:366 ../lib/stdlib.php:395
 msgid "BAD URL -- remove all of <, >, \""
 msgstr ""
 
-#: ../lib/stdlib.php:433 ../lib/stdlib.php:450
+#: ../lib/stdlib.php:435 ../lib/stdlib.php:452
 msgid "Invalid image size"
 msgstr ""
 
-#: ../lib/stdlib.php:560
+#: ../lib/stdlib.php:562
 msgid "BAD phpwiki: URL"
 msgstr ""
 
-#: ../lib/stdlib.php:598
+#: ../lib/stdlib.php:600
 msgid "Lock page to enable link"
 msgstr ""
 
-#: ../lib/stdlib.php:725
+#: ../lib/stdlib.php:728
 #, php-format
 msgid "'%s': Bad page name: %s"
 msgstr ""
 
-#: ../lib/stdlib.php:755 ../lib/stdlib.php:780
+#: ../lib/stdlib.php:758 ../lib/stdlib.php:789
 #, php-format
 msgid "Leading %s not allowed"
 msgstr ""
 
-#: ../lib/stdlib.php:764
+#: ../lib/stdlib.php:773
 msgid "White space converted to single space"
 msgstr ""
 
-#: ../lib/stdlib.php:770
+#: ../lib/stdlib.php:779
 msgid "Control characters not allowed"
 msgstr ""
 
-#: ../lib/stdlib.php:791
+#: ../lib/stdlib.php:800
 msgid "too long"
 msgstr ""
 
-#: ../lib/stdlib.php:797
+#: ../lib/stdlib.php:809
 #, php-format
 msgid "Illegal chars %s removed"
 msgstr ""
 
-#: ../lib/stdlib.php:843
+#: ../lib/stdlib.php:855
 msgid "The CreateTocPlugin is not yet old markup compatible! "
 msgstr ""
 
-#: ../lib/stdlib.php:844
+#: ../lib/stdlib.php:856
 msgid ""
 "Please remove the CreateToc line to be able to reformat this page to old "
 "markup. "
 msgstr ""
 
-#: ../lib/stdlib.php:1105
+#: ../lib/stdlib.php:1118
 msgid "Revision Not Found"
 msgstr ""
 
-#: ../lib/stdlib.php:1106
+#: ../lib/stdlib.php:1119
 #, php-format
 msgid "I'm sorry.  Version %d of %s is not in the database."
 msgstr ""
 
-#: ../lib/stdlib.php:1109
+#: ../lib/stdlib.php:1122
 msgid "Bad Version"
 msgstr ""
 
-#: ../lib/stdlib.php:1245
+#: ../lib/stdlib.php:1258
 msgid "-???"
 msgstr ""
 
-#: ../lib/stdlib.php:1248
+#: ../lib/stdlib.php:1261
 #, php-format
 msgid "%s b"
 msgstr ""
 
-#: ../lib/stdlib.php:1250 ../themes/MonoBook/templates/info.tmpl:29
-#: ../themes/shamino_com/templates/info.tmpl:29
+#: ../lib/stdlib.php:1263 ../themes/MonoBook/templates/info.tmpl:29
 #, php-format
 msgid "%s bytes"
 msgstr "%s byte"
 
-#: ../lib/stdlib.php:1255
+#: ../lib/stdlib.php:1268
 #, php-format
 msgid "%s k"
 msgstr ""
 
-#: ../lib/stdlib.php:1257 ../themes/MonoBook/templates/info.tmpl:32
-#: ../themes/shamino_com/templates/info.tmpl:32
+#: ../lib/stdlib.php:1270 ../themes/MonoBook/templates/info.tmpl:32
 #, php-format
 msgid "%s Kb (%s bytes)"
 msgstr "%s Kb (%s byte)"
 
-#: ../lib/stdlib.php:1353
+#: ../lib/stdlib.php:1366
 #, php-format
 msgid "%s: argument index out of range"
 msgstr ""
 
-#: ../lib/stdlib.php:1431 ../themes/Hawaiian/lib/random.php:20
+#: ../lib/stdlib.php:1444 ../themes/Hawaiian/lib/random.php:20
 #, php-format
 msgid "%s is empty."
 msgstr ""
 
-#: ../lib/stdlib.php:1438
+#: ../lib/stdlib.php:1451
 #, php-format
 msgid "Unable to open directory '%s' for reading"
 msgstr ""
 
-#: ../lib/stdlib.php:1942 ../lib/stdlib.php:1955
+#: ../lib/stdlib.php:1772
+msgid "Okay"
+msgstr ""
+
+#: ../lib/stdlib.php:1949 ../lib/stdlib.php:1962
 #, php-format
 msgid "... (first %s words)"
 msgstr ""
 
-#: ../lib/upgrade.php:76
+#: ../lib/upgrade.php:86
 msgid "newer than the existing page."
 msgstr ""
 
-#: ../lib/upgrade.php:77
+#: ../lib/upgrade.php:87
 msgid " replace "
 msgstr ""
 
-#: ../lib/upgrade.php:81
+#: ../lib/upgrade.php:91
 msgid "older than the existing page."
 msgstr ""
 
-#: ../lib/upgrade.php:82 ../lib/upgrade.php:86 ../lib/upgrade.php:153
-msgid " skipped"
+#: ../lib/upgrade.php:99
+#, php-format
+msgid "%s does not exist"
 msgstr ""
 
-#: ../lib/upgrade.php:89
+#: ../lib/upgrade.php:124 ../lib/upgrade.php:155 ../lib/upgrade.php:401
+#: ../lib/upgrade.php:913 ../lib/upgrade.php:1001
 #, php-format
-msgid "%s does not exist"
+msgid "check for necessary %s updates"
+msgstr ""
+
+#: ../lib/upgrade.php:125 ../themes/MonoBook/templates/actionbar.tmpl:17
+#: ../themes/MonoBook/templates/actionbar.tmpl:30
+#, fuzzy
+msgid "ActionPage"
+msgstr "TrovaPagina"
+
+#: ../lib/upgrade.php:127
+#, fuzzy
+msgid "_AuthInfo"
+msgstr "Autore"
+
+#: ../lib/upgrade.php:127
+#, fuzzy
+msgid "DebugAuthInfo"
+msgstr "InfoDebug"
+
+#: ../lib/upgrade.php:130
+msgid "_GroupInfo"
 msgstr ""
 
-#: ../lib/upgrade.php:112
-msgid "check for necessary ActionPage updates"
+#: ../lib/upgrade.php:130
+msgid "GroupAuthInfo"
 msgstr ""
 
-#: ../lib/upgrade.php:136
-msgid "check for necessary pgsrc updates"
+#: ../lib/upgrade.php:158
+msgid "rename to Help: pages"
 msgstr ""
 
-#: ../lib/upgrade.php:152
+#: ../lib/upgrade.php:175
 msgid "always skip the HomePage."
 msgstr ""
 
-#: ../lib/upgrade.php:172
+#: ../lib/upgrade.php:196
+#, php-format
+msgid "check for additional theme %s updates"
+msgstr ""
+
+#: ../lib/upgrade.php:209
+#, fuzzy, php-format
+msgid "rename %s to %s"
+msgstr "La pagina cambia titolo %s a %s"
+
+#: ../lib/upgrade.php:236
 msgid "MISSING"
 msgstr ""
 
-#: ../lib/upgrade.php:208 ../lib/upgrade.php:227 ../lib/upgrade.php:246
-#: ../lib/upgrade.php:267 ../lib/upgrade.php:295 ../lib/upgrade.php:341
+#: ../lib/upgrade.php:272 ../lib/upgrade.php:291 ../lib/upgrade.php:312
+#: ../lib/upgrade.php:340 ../lib/upgrade.php:386
 msgid "CREATED"
 msgstr ""
 
-#: ../lib/upgrade.php:357
-msgid "check for necessary database updates"
+#: ../lib/upgrade.php:402
+msgid "database"
 msgstr ""
 
-#: ../lib/upgrade.php:362
+#: ../lib/upgrade.php:408
 msgid "CANCEL"
 msgstr ""
 
-#: ../lib/upgrade.php:368
+#: ../lib/upgrade.php:421
 msgid "Backend type: "
 msgstr ""
 
-#: ../lib/upgrade.php:371 ../lib/upgrade.php:380 ../lib/upgrade.php:389
+#: ../lib/upgrade.php:425 ../lib/upgrade.php:445 ../lib/upgrade.php:454
 #, php-format
 msgid "check for table %s"
 msgstr ""
 
-#: ../lib/upgrade.php:401
+#: ../lib/upgrade.php:469
 msgid "check for new session.sess_ip column"
 msgstr ""
 
-#: ../lib/upgrade.php:407 ../lib/upgrade.php:712
+#: ../lib/upgrade.php:475 ../lib/upgrade.php:692 ../lib/upgrade.php:837
 msgid "SKIP"
 msgstr ""
 
-#: ../lib/upgrade.php:410 ../lib/upgrade.php:517 ../lib/upgrade.php:717
+#: ../lib/upgrade.php:478 ../lib/upgrade.php:586 ../lib/upgrade.php:842
 msgid "ADDING"
 msgstr ""
 
-#: ../lib/upgrade.php:420
+#: ../lib/upgrade.php:488
 msgid "check for mysql session.sess_id sanity"
 msgstr ""
 
-#: ../lib/upgrade.php:434 ../lib/upgrade.php:439 ../lib/upgrade.php:476
-#: ../lib/upgrade.php:485
+#: ../lib/upgrade.php:502 ../lib/upgrade.php:507 ../lib/upgrade.php:544
+#: ../lib/upgrade.php:553
 #, fuzzy
 msgid "fixed"
 msgstr "Modifica"
 
-#: ../lib/upgrade.php:453
-msgid "check for mysql LOCK TABLE privilege"
-msgstr ""
-
-#: ../lib/upgrade.php:487 ../lib/upgrade.php:524 ../lib/upgrade.php:784
-#: ../lib/upgrade.php:809 ../lib/upgrade.php:818 ../lib/upgrade.php:825
-msgid "FAILED"
+#: ../lib/upgrade.php:521
+msgid "check for mysql LOCK TABLE privilege"
 msgstr ""
 
-#: ../lib/upgrade.php:499
+#: ../lib/upgrade.php:567
 #, fuzzy, php-format
 msgid "version <em>%s</em> not affected"
 msgstr "versione <em>%s</em>"
 
-#: ../lib/upgrade.php:507
+#: ../lib/upgrade.php:576
 msgid "check for mysql page.id auto_increment flag"
 msgstr ""
 
-#: ../lib/upgrade.php:544
+#: ../lib/upgrade.php:613
 msgid "check for mysql 4.1.x/5.0.0 binary search on windows problem"
 msgstr ""
 
-#: ../lib/upgrade.php:547 ../lib/upgrade.php:563 ../lib/upgrade.php:584
+#: ../lib/upgrade.php:616 ../lib/upgrade.php:632 ../lib/upgrade.php:653
 #, php-format
 msgid "version <em>%s</em>"
 msgstr "versione <em>%s</em>"
 
-#: ../lib/upgrade.php:548
+#: ../lib/upgrade.php:617
 #, fuzzy
 msgid "not affected"
 msgstr "non salvata"
 
-#: ../lib/upgrade.php:564 ../lib/upgrade.php:585 ../lib/upgrade.php:606
-#: ../lib/upgrade.php:816
+#: ../lib/upgrade.php:633 ../lib/upgrade.php:654 ../lib/upgrade.php:682
+#: ../lib/upgrade.php:1103
 msgid "FIXED"
 msgstr ""
 
-#: ../lib/upgrade.php:595
+#: ../lib/upgrade.php:664
 msgid "check for ACCESS_LOG_SQL passwords in POST requests"
 msgstr ""
 
-#: ../lib/upgrade.php:661
+#: ../lib/upgrade.php:687
+msgid "check for ACCESS_LOG_SQL remote_host varchar(50)"
+msgstr ""
+
+#: ../lib/upgrade.php:695
+msgid "FIXING"
+msgstr ""
+
+#: ../lib/upgrade.php:698
+msgid "FAIL"
+msgstr ""
+
+#: ../lib/upgrade.php:787
 msgid ""
 "Upgrade requires database privileges to CREATE and ALTER the phpwiki "
 "database."
 msgstr ""
 
-#: ../lib/upgrade.php:663
+#: ../lib/upgrade.php:789
 msgid ""
 "And on windows at least the privilege to SELECT FROM mysql, and possibly "
 "UPDATE mysql"
 msgstr ""
 
-#: ../lib/upgrade.php:668
+#: ../lib/upgrade.php:794
 msgid "DB admin user:"
 msgstr ""
 
-#: ../lib/upgrade.php:674
+#: ../lib/upgrade.php:800
 msgid "DB admin password:"
 msgstr ""
 
-#: ../lib/upgrade.php:707
+#: ../lib/upgrade.php:832
 msgid "check for extra page.cached_html column"
 msgstr ""
 
-#: ../lib/upgrade.php:724
+#: ../lib/upgrade.php:849 ../lib/upgrade.php:897
 msgid "CONVERTING"
 msgstr ""
 
-#: ../lib/upgrade.php:766
-msgid "check for necessary plugin argument updates"
+#: ../lib/upgrade.php:895
+msgid "Rebuild entire database to upgrade relation links"
 msgstr ""
 
-#: ../lib/upgrade.php:767
-msgid "change RandomPage pages => numpages"
+#: ../lib/upgrade.php:914
+msgid "plugin argument"
 msgstr ""
 
-#: ../lib/upgrade.php:819
+#: ../lib/upgrade.php:958
+#, fuzzy, php-format
+msgid "file %s not found"
+msgstr "%s non trovato"
+
+#: ../lib/upgrade.php:985
+#, fuzzy, php-format
+msgid "%s not found in %s"
+msgstr "%s non trovato"
+
+#: ../lib/upgrade.php:992
 #, php-format
 msgid "couldn't move %s to %s"
 msgstr ""
 
-#: ../lib/upgrade.php:826
+#: ../lib/upgrade.php:996
 #, php-format
-msgid "%s is not writable"
-msgstr ""
-
-#: ../lib/upgrade.php:832
-msgid "check for necessary config updates"
+msgid "file %s is not writable"
 msgstr ""
 
-#: ../lib/upgrade.php:833
-msgid "check for old CACHE_CONTROL = NONE"
+#: ../lib/upgrade.php:1006 ../lib/upgrade.php:1016 ../lib/upgrade.php:1026
+#, php-format
+msgid "check for %s"
 msgstr ""
 
-#: ../lib/upgrade.php:836
+#: ../lib/upgrade.php:1008
 msgid "CACHE_CONTROL is set to 'NONE', and must be changed to 'NO_CACHE'"
 msgstr ""
 
-#: ../lib/upgrade.php:843
-msgid "check for GROUP_METHOD = NONE"
+#: ../lib/upgrade.php:1018
+msgid "GROUP_METHOD is set to NONE, and must be changed to \"NONE\""
 msgstr ""
 
-#: ../lib/upgrade.php:846
-msgid "GROUP_METHOD is set to NONE, and must be changed to \"NONE\""
+#: ../lib/upgrade.php:1028
+msgid "fix BLOG_EMPTY_DEFAULT_PREFIX into BLOG_DEFAULT_EMPTY_PREFIX"
 msgstr ""
 
-#: ../lib/upgrade.php:883
+#: ../lib/upgrade.php:1128
+#, fuzzy
+msgid "fixed with"
+msgstr "Modifica"
+
+#: ../lib/upgrade.php:1254
 msgid "Upgrade disabled: user != isAdmin"
 msgstr ""
 
-#: ../lib/upgrade.php:887
+#: ../lib/upgrade.php:1259
 msgid "Upgrading this PhpWiki"
 msgstr ""
 
@@ -5772,48 +6534,46 @@
 msgid "Members:"
 msgstr ""
 
-#: ../lib/ziplib.php:199
+#: ../lib/ziplib.php:206
 msgid "Can't inflate data: zlib support not enabled in this PHP"
 msgstr ""
 
-#: ../lib/ziplib.php:395
+#: ../lib/ziplib.php:402
 #, php-format
 msgid "Can't open zip file '%s' for reading"
 msgstr ""
 
-#: ../lib/ziplib.php:405 ../lib/ziplib.php:409
+#: ../lib/ziplib.php:412 ../lib/ziplib.php:416
 msgid "Unexpected EOF in zip file"
 msgstr ""
 
-#: ../lib/ziplib.php:730
+#: ../lib/ziplib.php:738
 #, php-format
 msgid "[%d] See [%s]"
 msgstr ""
 
-#: ../lib/ziplib.php:737
+#: ../lib/ziplib.php:745
 msgid "References"
 msgstr ""
 
 #: ../themes/Crao/templates/actionbar.tmpl:5
-#: ../themes/MonoBook/templates/actionbar.tmpl:11
-#: ../themes/Portland/templates/actionbar.tmpl:8
-#: ../themes/default/templates/actionbar.tmpl:15
+#: ../themes/MonoBook/templates/actionbar.tmpl:34
+#: ../themes/Portland/templates/actionbar.tmpl:6
+#: ../themes/default/templates/actionbar.tmpl:16
 #: ../themes/shamino_com/templates/actionbar.tmpl:6
-#: ../themes/shamino_com/templates/info.tmpl:164
 #: ../themes/smaller/templates/actionbar.tmpl:18
 msgid "Edit Old Revision"
 msgstr ""
 
 #: ../themes/Crao/templates/actionbar.tmpl:7
 #: ../themes/Crao/templates/head.tmpl:47
-#: ../themes/MonoBook/templates/actionbar.tmpl:13
+#: ../themes/MonoBook/templates/actionbar.tmpl:37
 #: ../themes/MonoBook/templates/info.tmpl:166
-#: ../themes/Portland/templates/actionbar.tmpl:10
+#: ../themes/Portland/templates/actionbar.tmpl:8
 #: ../themes/Wordpress/templates/actionbar.tmpl:10
-#: ../themes/blog/templates/actionbar.tmpl:7
-#: ../themes/default/templates/actionbar.tmpl:17
+#: ../themes/blog/templates/actionbar.tmpl:21
+#: ../themes/default/templates/actionbar.tmpl:18
 #: ../themes/default/templates/head.tmpl:53
-#: ../themes/shamino_com/templates/info.tmpl:165
 #: ../themes/smaller/templates/actionbar.tmpl:20
 #: ../themes/smaller/templates/info.tmpl:5
 #: ../themes/wikilens/templates/head.tmpl:45
@@ -5821,19 +6581,17 @@
 msgstr ""
 
 #: ../themes/Crao/templates/actionbar.tmpl:30
-#: ../themes/MonoBook/templates/actionbar.tmpl:52
+#: ../themes/MonoBook/templates/actionbar.tmpl:72
 #: ../themes/MonoBook/templates/info.tmpl:177
-#: ../themes/default/templates/actionbar.tmpl:39
-#: ../themes/shamino_com/templates/info.tmpl:177
+#: ../themes/default/templates/actionbar.tmpl:41
 #: ../themes/smaller/templates/info.tmpl:17
 msgid "PurgeHtmlCache"
-msgstr ""
+msgstr "RimuoviDallaCacheHtml"
 
 #: ../themes/Crao/templates/actionbar.tmpl:31
-#: ../themes/MonoBook/templates/actionbar.tmpl:53
+#: ../themes/MonoBook/templates/actionbar.tmpl:73
 #: ../themes/MonoBook/templates/info.tmpl:178
-#: ../themes/default/templates/actionbar.tmpl:40
-#: ../themes/shamino_com/templates/info.tmpl:178
+#: ../themes/default/templates/actionbar.tmpl:42
 #: ../themes/smaller/templates/info.tmpl:18
 msgid ""
 "Purge HTML cache for this page. Regenerate from WikiMarkup when next "
@@ -5841,58 +6599,66 @@
 msgstr ""
 
 #: ../themes/Crao/templates/blogform.tmpl:10
-#: ../themes/blog/templates/blogform.tmpl:11
-#: ../themes/default/templates/blogform.tmpl:11
+#, fuzzy
 msgid "Add a Comment"
-msgstr ""
+msgstr "Commentario"
 
 #: ../themes/Crao/templates/blogform.tmpl:18
-#: ../themes/blog/templates/blogform.tmpl:28
 #: ../themes/default/templates/addcomment.tmpl:14
-#: ../themes/default/templates/blogform.tmpl:28
 msgid "Add Comment"
 msgstr ""
 
 #: ../themes/Crao/templates/browse.tmpl:5
+#: ../themes/MonoBook/templates/browse.tmpl:6
 #: ../themes/Portland/templates/browse.tmpl:9
 #: ../themes/Portland/templates/viewsource.tmpl:5
 #: ../themes/Wordpress/templates/browse.tmpl:9
-#: ../themes/Wordpress/templates/viewsource.tmpl:7
+#: ../themes/Wordpress/templates/viewsource.tmpl:9
 #: ../themes/blog/templates/browse.tmpl:6
+#: ../themes/blog/templates/viewsource.tmpl:6
 #: ../themes/default/templates/browse.tmpl:6
 #: ../themes/default/templates/viewsource.tmpl:5
 msgid "Note:"
 msgstr "Nota:"
 
 #: ../themes/Crao/templates/browse.tmpl:6
+#: ../themes/MonoBook/templates/browse.tmpl:7
 #: ../themes/Portland/templates/browse.tmpl:10
 #: ../themes/Portland/templates/viewsource.tmpl:10
 #: ../themes/Wordpress/templates/browse.tmpl:10
-#: ../themes/Wordpress/templates/viewsource.tmpl:12
+#: ../themes/Wordpress/templates/viewsource.tmpl:14
 #: ../themes/blog/templates/browse.tmpl:7
+#: ../themes/blog/templates/viewsource.tmpl:11
 #: ../themes/default/templates/browse.tmpl:7
 #: ../themes/default/templates/viewsource.tmpl:10
 msgid "You are viewing an old revision of this page."
 msgstr ""
 
 #: ../themes/Crao/templates/browse.tmpl:7
+#: ../themes/MonoBook/templates/browse.tmpl:8
 #: ../themes/Portland/templates/browse.tmpl:11
 #: ../themes/Portland/templates/viewsource.tmpl:11
 #: ../themes/Wordpress/templates/browse.tmpl:11
-#: ../themes/Wordpress/templates/viewsource.tmpl:13
+#: ../themes/Wordpress/templates/viewsource.tmpl:15
 #: ../themes/blog/templates/browse.tmpl:8
+#: ../themes/blog/templates/viewsource.tmpl:12
 #: ../themes/default/templates/browse.tmpl:8
 #: ../themes/default/templates/viewsource.tmpl:11
 msgid "View the current version"
 msgstr "Mostra il versione corrente"
 
 #: ../themes/Crao/templates/editpage.tmpl:4
-#: ../themes/Portland/templates/editpage.tmpl:61
-#: ../themes/Wordpress/templates/editpage.tmpl:63
+#: ../themes/Portland/templates/editpage.tmpl:57
+#: ../themes/Wordpress/templates/editpage.tmpl:67
 #: ../themes/default/templates/editpage.tmpl:4
 msgid "Preview only!  Changes not saved."
 msgstr ""
 
+#: ../themes/Crao/templates/editpage.tmpl:9
+#: ../themes/default/templates/editpage.tmpl:9
+msgid "edit area"
+msgstr ""
+
 #: ../themes/Crao/templates/editpage.tmpl:8
 #: ../themes/default/templates/editpage.tmpl:8
 #, php-format
@@ -5900,11 +6666,6 @@
 "Please continue editing.  (You'll find your %s at the bottom of the page.)"
 msgstr ""
 
-#: ../themes/Crao/templates/editpage.tmpl:9
-#: ../themes/default/templates/editpage.tmpl:9
-msgid "edit area"
-msgstr ""
-
 #: ../themes/Crao/templates/editpage.tmpl:18
 #: ../themes/Portland/templates/editpage.tmpl:25
 #: ../themes/Wordpress/templates/editpage.tmpl:23
@@ -5920,21 +6681,21 @@
 msgstr ""
 
 #: ../themes/Crao/templates/editpage.tmpl:38
-#: ../themes/Portland/templates/editpage.tmpl:52
+#: ../themes/Portland/templates/editpage.tmpl:48
 #: ../themes/Wordpress/templates/editpage.tmpl:39
 #: ../themes/default/templates/editpage.tmpl:40
 msgid "H"
 msgstr "A"
 
 #: ../themes/Crao/templates/editpage.tmpl:39
-#: ../themes/Portland/templates/editpage.tmpl:53
+#: ../themes/Portland/templates/editpage.tmpl:49
 #: ../themes/Wordpress/templates/editpage.tmpl:40
 #: ../themes/default/templates/editpage.tmpl:41
 msgid "W"
 msgstr "L"
 
 #: ../themes/Crao/templates/editpage.tmpl:40
-#: ../themes/Portland/templates/editpage.tmpl:54
+#: ../themes/Portland/templates/editpage.tmpl:50
 #: ../themes/Wordpress/templates/editpage.tmpl:41
 #: ../themes/default/templates/editpage.tmpl:42
 msgid "Adjust"
@@ -5950,59 +6711,70 @@
 msgstr ""
 
 #: ../themes/Crao/templates/editpage.tmpl:59
-#: ../themes/Portland/templates/editpage.tmpl:56
-#: ../themes/Wordpress/templates/editpage.tmpl:44
+#: ../themes/Portland/templates/editpage.tmpl:52
+#: ../themes/Wordpress/templates/editpage.tmpl:59
 #: ../themes/default/templates/editpage.tmpl:60
 msgid "Use old markup"
 msgstr ""
 
 #: ../themes/Crao/templates/editpage.tmpl:92
 #: ../themes/Crao/templates/editpage.tmpl:97
-#: ../themes/Portland/templates/editpage.tmpl:84
-#: ../themes/Portland/templates/editpage.tmpl:89
-#: ../themes/Wordpress/templates/editpage.tmpl:86
-#: ../themes/Wordpress/templates/editpage.tmpl:91
+#: ../themes/Portland/templates/editpage.tmpl:80
+#: ../themes/Portland/templates/editpage.tmpl:85
+#: ../themes/Wordpress/templates/editpage.tmpl:90
+#: ../themes/Wordpress/templates/editpage.tmpl:95
+#: ../themes/blog/templates/blogform.tmpl:24
+#: ../themes/default/templates/blogform.tmpl:24
+#: ../themes/default/templates/editpage.tmpl:108
 #: ../themes/default/templates/editpage.tmpl:113
-#: ../themes/default/templates/editpage.tmpl:118
-#, php-format
-msgid "See %s tips for editing."
-msgstr "Vedere %s consigli per le modifiche."
+#, fuzzy
+msgid "Help/GoodStyle"
+msgstr "BuonStile"
 
 #: ../themes/Crao/templates/editpage.tmpl:92
 #: ../themes/Crao/templates/editpage.tmpl:97
-#: ../themes/Portland/templates/editpage.tmpl:84
-#: ../themes/Portland/templates/editpage.tmpl:89
-#: ../themes/Wordpress/templates/editpage.tmpl:86
-#: ../themes/Wordpress/templates/editpage.tmpl:91
+#: ../themes/Portland/templates/editpage.tmpl:80
+#: ../themes/Portland/templates/editpage.tmpl:85
+#: ../themes/Wordpress/templates/editpage.tmpl:90
+#: ../themes/Wordpress/templates/editpage.tmpl:95
+#: ../themes/blog/templates/blogform.tmpl:24
+#: ../themes/default/templates/blogform.tmpl:24
+#: ../themes/default/templates/editpage.tmpl:108
 #: ../themes/default/templates/editpage.tmpl:113
-#: ../themes/default/templates/editpage.tmpl:118
-msgid "GoodStyle"
-msgstr "BuonStile"
+#, php-format
+msgid "See %s tips for editing."
+msgstr "Vedere %s consigli per le modifiche."
 
 #: ../themes/Crao/templates/editpage.tmpl:93
-#: ../themes/Portland/templates/editpage.tmpl:85
-#: ../themes/Wordpress/templates/editpage.tmpl:87
-#: ../themes/default/templates/editpage.tmpl:114
-msgid "OldTextFormattingRules"
-msgstr ""
+#: ../themes/Portland/templates/editpage.tmpl:81
+#: ../themes/Wordpress/templates/editpage.tmpl:91
+#: ../themes/default/templates/editpage.tmpl:109
+#, fuzzy
+msgid "Help/OldTextFormattingRules"
+msgstr "RegoleFormattazioneTesto"
 
 #: ../themes/Crao/templates/editpage.tmpl:93
 #: ../themes/Crao/templates/editpage.tmpl:98
-#: ../themes/Portland/templates/editpage.tmpl:85
-#: ../themes/Portland/templates/editpage.tmpl:90
-#: ../themes/Wordpress/templates/editpage.tmpl:87
-#: ../themes/Wordpress/templates/editpage.tmpl:92
+#: ../themes/Portland/templates/editpage.tmpl:81
+#: ../themes/Portland/templates/editpage.tmpl:86
+#: ../themes/Wordpress/templates/editpage.tmpl:91
+#: ../themes/Wordpress/templates/editpage.tmpl:96
+#: ../themes/blog/templates/blogform.tmpl:25
+#: ../themes/default/templates/blogform.tmpl:25
+#: ../themes/default/templates/editpage.tmpl:109
 #: ../themes/default/templates/editpage.tmpl:114
-#: ../themes/default/templates/editpage.tmpl:119
 msgid "Synopsis"
-msgstr "Sinossi"
+msgstr "Sommario"
 
 #: ../themes/Crao/templates/editpage.tmpl:98
-#: ../themes/Portland/templates/editpage.tmpl:90
-#: ../themes/Wordpress/templates/editpage.tmpl:92
-#: ../themes/default/templates/editpage.tmpl:119
-msgid "TextFormattingRules"
-msgstr "RegoleDiFormattazioneDelTesto"
+#: ../themes/Portland/templates/editpage.tmpl:86
+#: ../themes/Wordpress/templates/editpage.tmpl:96
+#: ../themes/blog/templates/blogform.tmpl:25
+#: ../themes/default/templates/blogform.tmpl:25
+#: ../themes/default/templates/editpage.tmpl:114
+#, fuzzy
+msgid "Help/TextFormattingRules"
+msgstr "RegoleFormattazioneTesto"
 
 #: ../themes/Crao/templates/head.tmpl:31 ../themes/Crao/templates/head.tmpl:32
 #: ../themes/Crao/templates/htmldump.tmpl:22
@@ -6015,36 +6787,35 @@
 msgstr ""
 
 #: ../themes/Crao/templates/navbar.tmpl:34
-#: ../themes/Wordpress/templates/actionbar.tmpl:37
+#: ../themes/Wordpress/templates/actionbar.tmpl:38
 #: ../themes/default/templates/navbar.tmpl:51
-#: ../themes/wikilens/templates/navbar.tmpl:40
+#: ../themes/wikilens/templates/navbar.tmpl:30
 msgid "Today"
 msgstr "Oggi"
 
 #: ../themes/Crao/templates/navbar.tmpl:37
-#: ../themes/Sidebar/templates/navbar.tmpl:38
+#: ../themes/Sidebar/templates/navbar.tmpl:28
 #: ../themes/blog/templates/navbar.tmpl:14
 #: ../themes/default/templates/navbar.tmpl:55
-#: ../themes/wikilens/templates/navbar.tmpl:43
+#: ../themes/wikilens/templates/navbar.tmpl:32
 msgid "Admin"
 msgstr ""
 
 #: ../themes/Crao/templates/navbar.tmpl:46
 #: ../themes/blog/templates/search.tmpl:11
-#: ../themes/default/templates/search.tmpl:16
-#: ../themes/default/templates/search.tmpl:23
+#: ../themes/default/templates/search.tmpl:20
+#: ../themes/default/templates/search.tmpl:25
 msgid "LiveSearch"
 msgstr "RicercaLive"
 
-#: ../themes/Crao/templates/signin.tmpl:18
+#: ../themes/Crao/templates/signin.tmpl:17
 #, php-format
 msgid "You are signed in as %s"
-msgstr ""
+msgstr "Utente corrente: %s"
 
-#: ../themes/Crao/templates/signin.tmpl:39
-#: ../themes/MonoBook/templates/signin.tmpl:38
-#: ../themes/Sidebar/templates/signin.tmpl:38
-#: ../themes/Wordpress/templates/signin.tmpl:42
+#: ../themes/Crao/templates/signin.tmpl:38
+#: ../themes/Sidebar/templates/signin.tmpl:37
+#: ../themes/Wordpress/templates/signin.tmpl:41
 #: ../themes/default/templates/signin.tmpl:34
 #: ../themes/smaller/templates/signin.tmpl:37
 msgid "Enter your UserId to sign in"
@@ -6052,8 +6823,6 @@
 
 #: ../themes/Crao/templates/wikiblog.tmpl:19
 #: ../themes/blog/templates/wikiblog.tmpl:20
-#: ../themes/default/templates/comment.tmpl:18
-#: ../themes/default/templates/wikiblog.tmpl:19
 #, php-format
 msgid "Comment modified on %s by %s"
 msgstr ""
@@ -6061,43 +6830,36 @@
 #: ../themes/Crao/templates/wikiblog.tmpl:25
 #: ../themes/blog/templates/wikiblog.tmpl:25
 #: ../themes/default/templates/comment.tmpl:24
-#: ../themes/default/templates/wikiblog.tmpl:24
 #, php-format
 msgid "Comments on %s by %s."
 msgstr ""
 
-#: ../themes/Hawaiian/themeinfo.php:29 ../themes/MacOSX/themeinfo.php:104
-#: ../themes/MonoBook/themeinfo.php:72 ../themes/Portland/themeinfo.php:59
-#: ../themes/Sidebar/themeinfo.php:122 ../themes/SpaceWiki/themeinfo.php:43
-#: ../themes/Wordpress/themeinfo.php:61 ../themes/default/themeinfo.php:24
-#: ../themes/shamino_com/themeinfo.php:56 ../themes/smaller/themeinfo.php:51
-#: ../themes/wikilens/themeinfo.php:24
-msgid "Printer"
-msgstr "Stampante"
-
-#: ../themes/Hawaiian/themeinfo.php:30 ../themes/MonoBook/themeinfo.php:74
-#: ../themes/Portland/themeinfo.php:60 ../themes/Sidebar/themeinfo.php:123
-#: ../themes/SpaceWiki/themeinfo.php:44 ../themes/Wordpress/themeinfo.php:62
-#: ../themes/default/themeinfo.php:26 ../themes/shamino_com/themeinfo.php:58
-#: ../themes/smaller/themeinfo.php:53 ../themes/wikilens/themeinfo.php:26
-msgid "Modern"
-msgstr "Moderno"
-
-#: ../themes/MacOSX/themeinfo.php:105 ../themes/MonoBook/themeinfo.php:73
-#: ../themes/default/themeinfo.php:25 ../themes/shamino_com/themeinfo.php:57
-#: ../themes/smaller/themeinfo.php:52 ../themes/wikilens/themeinfo.php:25
-msgid "Top & bottom toolbars"
-msgstr ""
-
-#: ../themes/MonoBook/templates/actionbar.tmpl:27
-#: ../themes/Sidebar/templates/navbar.tmpl:31
+#: ../themes/MonoBook/templates/actionbar.tmpl:17
+#: ../themes/MonoBook/templates/actionbar.tmpl:30
+#: ../themes/Sidebar/templates/navbar.tmpl:21
 #: ../themes/default/templates/navbar.tmpl:15
+#: ../themes/wikilens/templates/navbar.tmpl:13
 msgid "Article"
 msgstr ""
 
+#: ../themes/MonoBook/templates/actionbar.tmpl:24
+#, fuzzy
+msgid "TemplateTalk"
+msgstr "AggiungaLaMascherina"
+
+#: ../themes/MonoBook/templates/actionbar.tmpl:39
+#, fuzzy
+msgid "History"
+msgstr "StoricoPagina"
+
 #: ../themes/MonoBook/templates/actionbar.tmpl:42
-#: ../themes/blog/templates/actionbar.tmpl:21
-#: ../themes/smaller/templates/actionbar.tmpl:34
+#, fuzzy
+msgid "Watch"
+msgstr "Larghezza"
+
+#: ../themes/MonoBook/templates/actionbar.tmpl:65
+#: ../themes/blog/templates/actionbar.tmpl:15
+#: ../themes/smaller/templates/actionbar.tmpl:36
 msgid "Info"
 msgstr ""
 
@@ -6108,7 +6870,7 @@
 
 #: ../themes/MonoBook/templates/browse-footer.tmpl:16
 #: ../themes/MonoBook/templates/browse-footer.tmpl:17
-#: ../themes/blog/templates/actionbar.tmpl:16
+#: ../themes/blog/templates/actionbar.tmpl:10
 msgid "About"
 msgstr ""
 
@@ -6119,180 +6881,173 @@
 
 #: ../themes/MonoBook/templates/info.tmpl:37
 #: ../themes/default/templates/info.tmpl:30
-#: ../themes/shamino_com/templates/info.tmpl:37
 msgid "1 word"
 msgstr ""
 
 #: ../themes/MonoBook/templates/info.tmpl:39
 #: ../themes/default/templates/info.tmpl:32
-#: ../themes/shamino_com/templates/info.tmpl:39
 #, php-format
 msgid "%s words"
 msgstr ""
 
 #: ../themes/MonoBook/templates/info.tmpl:43
 #: ../themes/default/templates/info.tmpl:36
-#: ../themes/shamino_com/templates/info.tmpl:43
 #, php-format
 msgid "Version %s"
 msgstr "Versione %s"
 
 #: ../themes/MonoBook/templates/info.tmpl:44
 #: ../themes/default/templates/info.tmpl:37
-#: ../themes/shamino_com/templates/info.tmpl:44
 msgid "Original (1.2 or 1.0)"
 msgstr ""
 
 #: ../themes/MonoBook/templates/info.tmpl:76
-#: ../themes/default/templates/info.tmpl:69
-#: ../themes/shamino_com/templates/info.tmpl:75
+#: ../themes/default/templates/info.tmpl:68
 msgid "Saved on:"
 msgstr ""
 
 #: ../themes/MonoBook/templates/info.tmpl:81
-#: ../themes/default/templates/info.tmpl:74
-#: ../themes/shamino_com/templates/info.tmpl:80
+#: ../themes/default/templates/info.tmpl:73
 #, php-format
 msgid "Statistics about %s."
 msgstr ""
 
 #: ../themes/MonoBook/templates/info.tmpl:91
-#: ../themes/default/templates/info.tmpl:85
-#: ../themes/shamino_com/templates/info.tmpl:91
+#: ../themes/default/templates/info.tmpl:84
 msgid "Supplanted on:"
 msgstr ""
 
 #: ../themes/MonoBook/templates/info.tmpl:108
-#: ../themes/default/templates/info.tmpl:103
-#: ../themes/shamino_com/templates/info.tmpl:108
+#: ../themes/default/templates/info.tmpl:102
 msgid "Page Version:"
 msgstr ""
 
 #: ../themes/MonoBook/templates/info.tmpl:112
-#: ../themes/default/templates/info.tmpl:107
-#: ../themes/shamino_com/templates/info.tmpl:112
+#: ../themes/default/templates/info.tmpl:106
 msgid "Markup:"
 msgstr ""
 
 #: ../themes/MonoBook/templates/info.tmpl:116
-#: ../themes/default/templates/info.tmpl:111
-#: ../themes/shamino_com/templates/info.tmpl:116
+#: ../themes/default/templates/info.tmpl:110
 msgid "Size:"
 msgstr "Dimensione:"
 
 #: ../themes/MonoBook/templates/info.tmpl:121
-#: ../themes/default/templates/info.tmpl:116
-#: ../themes/shamino_com/templates/info.tmpl:121
+#: ../themes/default/templates/info.tmpl:115
 msgid "Hits:"
 msgstr ""
 
 #: ../themes/MonoBook/templates/info.tmpl:138
-#: ../themes/default/templates/info.tmpl:133
-#: ../themes/shamino_com/templates/info.tmpl:138
+#: ../themes/default/templates/info.tmpl:132
 msgid "home page"
 msgstr ""
 
 #: ../themes/MonoBook/templates/info.tmpl:141
-#: ../themes/default/templates/info.tmpl:136
-#: ../themes/shamino_com/templates/info.tmpl:141
+#: ../themes/default/templates/info.tmpl:135
 msgid "User page"
 msgstr ""
 
 #: ../themes/MonoBook/templates/info.tmpl:144
-#: ../themes/default/templates/info.tmpl:139
-#: ../themes/shamino_com/templates/info.tmpl:144
+#: ../themes/default/templates/info.tmpl:138
 msgid "Action page"
 msgstr ""
 
 #: ../themes/MonoBook/templates/info.tmpl:147
-#: ../themes/default/templates/info.tmpl:142
-#: ../themes/shamino_com/templates/info.tmpl:147
+#: ../themes/default/templates/info.tmpl:141
 msgid "Blog page"
 msgstr ""
 
 #: ../themes/MonoBook/templates/info.tmpl:153
-#: ../themes/default/templates/info.tmpl:148
-#: ../themes/shamino_com/templates/info.tmpl:153
+#: ../themes/default/templates/info.tmpl:147
 msgid "Subpage"
 msgstr ""
 
 #: ../themes/MonoBook/templates/info.tmpl:158
-#: ../themes/default/templates/info.tmpl:153
-#: ../themes/shamino_com/templates/info.tmpl:158
+#: ../themes/default/templates/info.tmpl:152
 msgid "Page Type:"
 msgstr ""
 
 #: ../themes/MonoBook/templates/info.tmpl:170
 #: ../themes/blog/templates/info.tmpl:5
-#: ../themes/shamino_com/templates/info.tmpl:170
 #: ../themes/smaller/templates/info.tmpl:9
 msgid "Diff previous Revision"
 msgstr ""
 
 #: ../themes/MonoBook/templates/info.tmpl:171
 #: ../themes/blog/templates/info.tmpl:6
-#: ../themes/shamino_com/templates/info.tmpl:171
 #: ../themes/smaller/templates/info.tmpl:10
 msgid "Diff previous Author"
 msgstr ""
 
-#: ../themes/MonoBook/templates/navbar.tmpl:28
-#: ../themes/MonoBook/templates/navbar.tmpl:29
-#: ../themes/Sidebar/templates/navbar.tmpl:16
-#: ../themes/Sidebar/templates/navbar.tmpl:17
+#: ../themes/MonoBook/templates/navbar.tmpl:15
+#, fuzzy
+msgid "The list of recent changes in the wiki."
+msgstr "Le %d pagine pi popolari di questo wiki sono:"
+
+#: ../themes/MonoBook/templates/navbar.tmpl:17
+#, fuzzy
+msgid "RecentNewPages"
+msgstr "ModificheRecenti"
+
+#: ../themes/MonoBook/templates/navbar.tmpl:18
+msgid "Like Pages"
+msgstr ""
+
+#: ../themes/MonoBook/templates/navbar.tmpl:35
+#, fuzzy
+msgid "Search:"
+msgstr "Ricerca"
+
+#: ../themes/MonoBook/templates/navbar.tmpl:38
+#: ../themes/MonoBook/templates/navbar.tmpl:39
 #: ../themes/default/templates/navbar.tmpl:28
 #: ../themes/default/templates/navbar.tmpl:30
-#: ../themes/default/templates/search.tmpl:13
+#: ../themes/default/templates/search.tmpl:17
 #: ../themes/shamino_com/templates/top.tmpl:24
 #: ../themes/shamino_com/templates/top.tmpl:25
 #: ../themes/smaller/templates/navbar.tmpl:11
 #: ../themes/smaller/templates/navbar.tmpl:12
-#: ../themes/wikilens/templates/navbar.tmpl:19
-#: ../themes/wikilens/templates/navbar.tmpl:21
 msgid "Quick Search"
 msgstr ""
 
-#: ../themes/MonoBook/templates/navbar.tmpl:39
-msgid "Like Pages"
-msgstr ""
-
-#: ../themes/MonoBook/templates/navbar.tmpl:40
+#: ../themes/MonoBook/templates/navbar.tmpl:51
 msgid "What links here"
 msgstr ""
 
-#: ../themes/MonoBook/templates/signin.tmpl:18
-#: ../themes/Wordpress/templates/signin.tmpl:21
-#: ../themes/default/templates/signin.tmpl:25
-#: ../themes/shamino_com/templates/signin.tmpl:25
-#, php-format
-msgid "Authenticated as %s"
-msgstr "Authenticata a %s"
+#: ../themes/MonoBook/templates/navbar.tmpl:57
+#, fuzzy
+msgid "Administration"
+msgstr "Coordinatori"
 
-#: ../themes/MonoBook/templates/signin.tmpl:41
-#, php-format
-msgid "Signed as %s"
-msgstr "Salvata a %s"
+#: ../themes/MonoBook/templates/navbar.tmpl:60
+#, fuzzy
+msgid "Upload file"
+msgstr "archivio del testo %s"
 
-#: ../themes/MonoBook/templates/signin.tmpl:44
-#: ../themes/Sidebar/templates/signin.tmpl:44
-#: ../themes/Wordpress/templates/signin.tmpl:48
-#: ../themes/default/templates/signin.tmpl:40
-#, php-format
-msgid "Click to authenticate as %s"
+#: ../themes/MonoBook/templates/navbar.tmpl:60
+#, fuzzy
+msgid "Upload images or media files"
+msgstr "archivio del testo %s"
+
+#: ../themes/MonoBook/templates/navbar.tmpl:64
+#: ../themes/MonoBook/templates/navbar.tmpl:69
+#, fuzzy
+msgid "Printable version"
+msgstr "versione corrente"
+
+#: ../themes/MonoBook/templates/navbar.tmpl:74
+msgid "Display as Pdf"
 msgstr ""
 
-#: ../themes/MonoBook/templates/signin.tmpl:65
-#: ../themes/Sidebar/templates/signin.tmpl:64
-#: ../themes/Wordpress/templates/signin.tmpl:68
-#: ../themes/default/templates/signin.tmpl:59
-msgid "Sign in as:"
+#: ../themes/MonoBook/templates/signin.tmpl:10
+msgid "Logout"
 msgstr ""
 
-#: ../themes/Portland/templates/actionbar.tmpl:8
+#: ../themes/Portland/templates/actionbar.tmpl:6
 msgid "EditText"
 msgstr "ModificaIlTesto"
 
-#: ../themes/Portland/templates/actionbar.tmpl:11
+#: ../themes/Portland/templates/actionbar.tmpl:9
 #, php-format
 msgid "%s of this page"
 msgstr "%s di questa pagina"
@@ -6305,20 +7060,21 @@
 msgid "Page Execution took %s seconds"
 msgstr ""
 
-#: ../themes/Portland/templates/editpage.tmpl:48
-#: ../themes/Wordpress/templates/editpage.tmpl:57
+#: ../themes/Portland/templates/editpage.tmpl:44
+#: ../themes/Wordpress/templates/editpage.tmpl:56
 #, php-format
 msgid ""
 "I'm just doing minor edits. Please divert the usual logging to %s instead."
 msgstr ""
 
-#: ../themes/Portland/templates/editpage.tmpl:52
-#: ../themes/default/templates/userprefs.tmpl:195
+#: ../themes/Portland/templates/editpage.tmpl:48
+#: ../themes/default/templates/userprefs.tmpl:196
 msgid "Edit Area Size"
 msgstr ""
 
 #: ../themes/Portland/templates/viewsource.tmpl:6
-#: ../themes/Wordpress/templates/viewsource.tmpl:8
+#: ../themes/Wordpress/templates/viewsource.tmpl:10
+#: ../themes/blog/templates/viewsource.tmpl:7
 #: ../themes/default/templates/viewsource.tmpl:6
 msgid "This page has been locked by the administrator and cannot be edited."
 msgstr ""
@@ -6330,27 +7086,36 @@
 msgid "Navigation"
 msgstr ""
 
-#: ../themes/Sidebar/templates/navbar.tmpl:24
+#: ../themes/Sidebar/templates/navbar.tmpl:14
 msgid "Full Search"
 msgstr ""
 
-#: ../themes/Sidebar/templates/signin.tmpl:18
+#: ../themes/Sidebar/templates/signin.tmpl:17
 #, php-format
 msgid "User: %s"
 msgstr ""
 
-#: ../themes/Sidebar/templates/signin.tmpl:41
+#: ../themes/Sidebar/templates/signin.tmpl:40
 #, php-format
 msgid "(User: %s)"
 msgstr ""
 
-#: ../themes/Sidebar/themeinfo.php:119
-msgid "Sidebar"
+#: ../themes/Sidebar/templates/signin.tmpl:43
+#: ../themes/Wordpress/templates/signin.tmpl:47
+#: ../themes/default/templates/signin.tmpl:40
+#, php-format
+msgid "Click to authenticate as %s"
 msgstr ""
 
-#: ../themes/SpaceWiki/lib/RecentChanges.php:55
-msgid "diff"
-msgstr "diff"
+#: ../themes/Sidebar/templates/signin.tmpl:63
+#: ../themes/Wordpress/templates/signin.tmpl:67
+#: ../themes/default/templates/signin.tmpl:59
+msgid "Sign in as:"
+msgstr "Username di login:"
+
+#: ../themes/Sidebar/themeinfo.php:37
+msgid "Sidebar"
+msgstr ""
 
 #: ../themes/Wordpress/templates/actionbar.tmpl:8
 msgid "Edit this page"
@@ -6360,60 +7125,84 @@
 msgid "Edit old revision"
 msgstr ""
 
-#: ../themes/Wordpress/templates/signin.tmpl:45
+#: ../themes/Wordpress/templates/signin.tmpl:20
+#: ../themes/default/templates/signin.tmpl:25
+#: ../themes/shamino_com/templates/signin.tmpl:24
+#, php-format
+msgid "Authenticated as %s"
+msgstr "Utente corrente: %s"
+
+#: ../themes/Wordpress/templates/signin.tmpl:44
 #: ../themes/default/templates/signin.tmpl:37
 #, php-format
 msgid "You are signed but not authenticated as %s. "
 msgstr ""
 
-#: ../themes/blog/templates/actionbar.tmpl:15
+#: ../themes/blog/templates/actionbar.tmpl:9
 msgid "Home"
 msgstr "Principale"
 
-#: ../themes/blog/templates/actionbar.tmpl:18
-msgid "Photos"
-msgstr ""
-
-#: ../themes/blog/templates/actionbar.tmpl:19
+#: ../themes/blog/templates/actionbar.tmpl:13
 msgid "HowTo"
 msgstr ""
 
-#: ../themes/blog/templates/actionbar.tmpl:32
-msgid "Page Trail"
+#: ../themes/blog/templates/blogform.tmpl:10
+#: ../themes/default/templates/blogform.tmpl:10
+msgid "Headline"
 msgstr ""
 
-#: ../themes/blog/templates/sidebar.tmpl:7
+#: ../themes/blog/templates/blogform.tmpl:18
+#: ../themes/default/templates/blogform.tmpl:18
+#, fuzzy
+msgid "Add Entry"
+msgstr "InsertoCategoria"
+
+#: ../themes/blog/templates/sidebar.tmpl:8
 #: ../themes/blog/templates/sidebar.tmpl:12
-#: ../themes/blog/templates/sidebar.tmpl:14
-msgid "Blogs"
+msgid "Blog"
+msgstr ""
+
+#: ../themes/blog/templates/top.tmpl:16
+msgid "Page Trail"
 msgstr ""
 
-#: ../themes/blog/themeinfo.php:55
+#: ../themes/blog/themeinfo.php:63
 msgid "SignOut"
 msgstr ""
 
-#: ../themes/blog/themeinfo.php:56
+#: ../themes/blog/themeinfo.php:64
 msgid "SignIn"
 msgstr ""
 
-#: ../themes/blog/themeinfo.php:57
+#: ../themes/blog/themeinfo.php:65
 msgid "Lock"
 msgstr "Bloccata"
 
-#: ../themes/blog/themeinfo.php:58
+#: ../themes/blog/themeinfo.php:66
 msgid "Unlock"
 msgstr "Sblocca"
 
-#: ../themes/blog/themeinfo.php:117
+#: ../themes/blog/themeinfo.php:122
 msgid "blog"
 msgstr ""
 
+#: ../themes/blog/themeinfo.php:124
+msgid "(diff)"
+msgstr "(diff)"
+
+#: ../themes/default/templates/comment.tmpl:18
+#: ../themes/default/templates/wikiblog.tmpl:18
+#, fuzzy, php-format
+msgid "Modified on %s by %s"
+msgstr "Modifica: %s"
+
 #: ../themes/default/templates/comment.tmpl:28
 #, php-format
 msgid "%s by %s"
 msgstr ""
 
-#: ../themes/default/templates/debug.tmpl:21
+#: ../themes/default/templates/debug.tmpl:20
+#: ../themes/shamino_com/templates/debug.tmpl:11
 #, php-format
 msgid ", Memory: %s"
 msgstr ", RAM: %s"
@@ -6529,6 +7318,10 @@
 msgid "Registered Users Online: "
 msgstr ""
 
+#: ../themes/default/templates/online.tmpl:38
+msgid "<none>"
+msgstr "<nessun>"
+
 #: ../themes/default/templates/online.tmpl:43
 msgid "Admin is also online."
 msgstr ""
@@ -6588,219 +7381,220 @@
 #: ../themes/default/templates/savepage.tmpl:6
 #, php-format
 msgid "Thank you for editing %s."
-msgstr "Grazie per le modifiche! %s."
+msgstr "La pagina %s <E8> stata modificata."
 
 #: ../themes/default/templates/savepage.tmpl:7
 msgid "Your careful attention to detail is much appreciated."
-msgstr "La tua cura verso il dettaglio  molto apprezzata."
-
-#: ../themes/default/templates/savepage.tmpl:10
-msgid "Warning!"
-msgstr "Avvertimento!"
+msgstr "Si prega di controllare che le modifiche siano quelle volute. Grazie."
 
-#: ../themes/default/templates/userprefs.tmpl:62
-#: ../themes/default/templates/userprefs.tmpl:64
+#: ../themes/default/templates/userprefs.tmpl:63
+#: ../themes/default/templates/userprefs.tmpl:65
 msgid "<system theme>"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:73
-#: ../themes/default/templates/userprefs.tmpl:99
+#: ../themes/default/templates/userprefs.tmpl:74
+#: ../themes/default/templates/userprefs.tmpl:100
 msgid "Personal theme:"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:79
-#: ../themes/default/templates/userprefs.tmpl:81
+#: ../themes/default/templates/userprefs.tmpl:80
+#: ../themes/default/templates/userprefs.tmpl:82
 msgid "<system language>"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:90
-#: ../themes/default/templates/userprefs.tmpl:100
+#: ../themes/default/templates/userprefs.tmpl:91
+#: ../themes/default/templates/userprefs.tmpl:101
 msgid "Personal language:"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:109
+#: ../themes/default/templates/userprefs.tmpl:110
 #, php-format
 msgid "User preferences for user '%s':"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:118
+#: ../themes/default/templates/userprefs.tmpl:119
 msgid "UserId"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:122
+#: ../themes/default/templates/userprefs.tmpl:123
 msgid "Auth Level"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:122
+#: ../themes/default/templates/userprefs.tmpl:123
 msgid "Auth Method"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:126
+#: ../themes/default/templates/userprefs.tmpl:127
 msgid "Theme"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:126
+#: ../themes/default/templates/userprefs.tmpl:127
 msgid "Current Theme"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:127
+#: ../themes/default/templates/userprefs.tmpl:128
 msgid "Language"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:127
+#: ../themes/default/templates/userprefs.tmpl:128
 msgid "Current Language"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:133
+#: ../themes/default/templates/userprefs.tmpl:134
 msgid "Change Password"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:133
+#: ../themes/default/templates/userprefs.tmpl:134
 msgid "Set Password"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:135
+#: ../themes/default/templates/userprefs.tmpl:136
 msgid "New password"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:138
+#: ../themes/default/templates/userprefs.tmpl:139
 msgid "Type it again"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:144
+#: ../themes/default/templates/userprefs.tmpl:145
 msgid "E-mail"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:146
+#: ../themes/default/templates/userprefs.tmpl:147
 msgid "Your E-Mail:"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:154
+#: ../themes/default/templates/userprefs.tmpl:155
 msgid "Status:"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:156
+#: ../themes/default/templates/userprefs.tmpl:157
 msgid "Email verified."
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:158
+#: ../themes/default/templates/userprefs.tmpl:159
 msgid "Email not yet verified."
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:160
+#: ../themes/default/templates/userprefs.tmpl:161
 msgid "Note, that user accounts with bouncing emails will be disabled."
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:163
+#: ../themes/default/templates/userprefs.tmpl:164
 msgid "Get an email notification at changes of the following pages:"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:166
+#: ../themes/default/templates/userprefs.tmpl:167
 msgid ""
 "Enter pages seperated by space or comma. Wildcards (fileglobbing) allowed."
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:173
+#: ../themes/default/templates/userprefs.tmpl:174
 msgid "Appearance"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:175
+#: ../themes/default/templates/userprefs.tmpl:176
 msgid "Here you can override site-specific default values."
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:176
+#: ../themes/default/templates/userprefs.tmpl:177
 msgid "Currently not recommended!"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:180
-#: ../themes/default/templates/userprefs.tmpl:183
+#: ../themes/default/templates/userprefs.tmpl:181
+#: ../themes/default/templates/userprefs.tmpl:184
 msgid "System default:"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:184
+#: ../themes/default/templates/userprefs.tmpl:185
 #, php-format
 msgid "Hide %s:"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:186
+#: ../themes/default/templates/userprefs.tmpl:187
 msgid ""
 "Hide or show LinkIcons (if supported by the current theme). Useful for text-"
 "only browsers or slow connections."
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:187
+#: ../themes/default/templates/userprefs.tmpl:188
 #, php-format
 msgid "Add %s:"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:189
+#: ../themes/default/templates/userprefs.tmpl:190
 #, php-format
 msgid ""
 "Add Google links to unknown pages behind the '?', and the create action "
 "behind the pagename instead. See %s."
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:190
+#: ../themes/default/templates/userprefs.tmpl:191
 msgid "Enable DoubleClick Edit"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:192
+#: ../themes/default/templates/userprefs.tmpl:193
 #, php-format
 msgid ""
 "Enabled makes it hard to double-click words and sentences for cut and paste. "
 "See %s."
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:198
+#: ../themes/default/templates/userprefs.tmpl:199
 msgid "Height"
 msgstr "Altezza"
 
-#: ../themes/default/templates/userprefs.tmpl:205
+#: ../themes/default/templates/userprefs.tmpl:206
 msgid "Width"
 msgstr "Larghezza"
 
-#: ../themes/default/templates/userprefs.tmpl:214
+#: ../themes/default/templates/userprefs.tmpl:215
 msgid ""
 "Note that many browsers will automatically adjust the width of the editing "
 "area so that it fills the browser window.  In this case, the width "
 "preference will be ignored."
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:217
+#: ../themes/default/templates/userprefs.tmpl:218
 msgid "Time Zone"
 msgstr "Fuso Orario"
 
-#: ../themes/default/templates/userprefs.tmpl:220
+#: ../themes/default/templates/userprefs.tmpl:221
 #, php-format
 msgid "Add %s hours to the server's local time when reporting times."
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:224
+#: ../themes/default/templates/userprefs.tmpl:225
 #, php-format
 msgid "The current time at the server is %s."
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:226
+#: ../themes/default/templates/userprefs.tmpl:227
 #, php-format
 msgid "With the current offset, this would be reported as %s."
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:231
+#: ../themes/default/templates/userprefs.tmpl:232
 msgid "Date Format"
-msgstr ""
+msgstr "Formato della Data"
 
-#: ../themes/default/templates/userprefs.tmpl:234
+#: ../themes/default/templates/userprefs.tmpl:235
 msgid "Show relative dates using 'Today' and 'Yesterday'"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:241
+#: ../themes/default/templates/userprefs.tmpl:242
 msgid "Update Preferences"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:242
+#: ../themes/default/templates/userprefs.tmpl:243
 msgid "Remove Preferences"
 msgstr ""
 
+#: ../themes/default/templates/wikiblog.tmpl:23
+#, php-format
+msgid "Entry on %s by %s."
+msgstr ""
+
 #: ../themes/default/templates/wikiforum.tmpl:20
 msgid "New Topic"
 msgstr ""
@@ -6815,19 +7609,95 @@
 msgstr ""
 
 #, fuzzy
-#~ msgid "Warning"
-#~ msgstr "Avvertimento:"
+#~ msgid "Pagename(s): "
+#~ msgstr "Nome della Pagina"
+
+#, fuzzy
+#~ msgid "Help/SemanticSearchAdvancedPlugin"
+#~ msgstr "Ricerca"
+
+#, fuzzy
+#~ msgid "Wanted Pages for %s (%d total):"
+#~ msgstr "Le %d pagine pi popolari di questo wiki sono:"
+
+#, fuzzy
+#~ msgid "Wanted Pages in this wiki (%d total):"
+#~ msgstr "Le %d pagine pi popolari di questo wiki sono:"
+
+#, fuzzy
+#~ msgid "Count"
+#~ msgstr "Commentario"
+
+#, fuzzy
+#~ msgid "WatchList"
+#~ msgstr "Larghezza"
+
+#, fuzzy
+#~ msgid "Remove Comment"
+#~ msgstr "Commentario"
+
+#, fuzzy
+#~ msgid "UserFileManagement"
+#~ msgstr "Nome"
+
+#, fuzzy
+#~ msgid "Delete"
+#~ msgstr "Rimossa"
+
+#, fuzzy
+#~ msgid "Upload files"
+#~ msgstr "archivio del testo %s"
+
+#, fuzzy
+#~ msgid "Upload zip file"
+#~ msgstr "archivio del testo %s"
+
+#, fuzzy
+#~ msgid " from author %s"
+#~ msgstr "dalla %s"
+
+#~ msgid "GoodStyle"
+#~ msgstr "BuonStile"
+
+#~ msgid "TextFormattingRules"
+#~ msgstr "RegoleFormattazioneTesto"
+
+#, fuzzy
+#~ msgid "PageChange Notification of %s Error: Couldn't send to %s"
+#~ msgstr ""
+#~ "Errore Di Notifica Del Cambiamento Della Pagina:  Non ha potuto "
+#~ "trasmettere %s a %s"
+
+#, fuzzy
+#~ msgid "WikiAdminMassRevert"
+#~ msgstr "WikiAmministrazioneDisposizione"
+
+#, fuzzy
+#~ msgid "Reverted page '%s' to version '%s'."
+#~ msgstr "Sto inserendo la pagina %s, versione %s da %s"
+
+#, fuzzy
+#~ msgid "PhpWikiAdministration/MassRevert"
+#~ msgstr "AmministrazioneDiPhpWiki/Rimuovi"
+
+#, fuzzy
+#~ msgid "Revert selected pages"
+#~ msgstr "Il sorgente della %s"
+
+#, fuzzy
+#~ msgid "WikiUserAdministration"
+#~ msgstr "AmministrazioneDiPhpWiki/Rimuovi"
+
+#~ msgid "Warning!"
+#~ msgstr "Avvertimento!"
 
-#~ msgid "Category"
-#~ msgstr "Categoria"
+#~ msgid "Signed as %s"
+#~ msgstr "Salvata a %s"
 
 #, fuzzy
 #~ msgid "BlockQuote"
 #~ msgstr "bloccata"
 
-#~ msgid "PreferenceApp"
-#~ msgstr "PreferenzeApp"
-
 #~ msgid "Last Modified:"
 #~ msgstr "Ultima Modifica:"
 
@@ -6839,13 +7709,6 @@
 #~ msgid "Author:"
 #~ msgstr "Autore:"
 
-#~ msgid "new page"
-#~ msgstr "nuova pagina"
-
-#, fuzzy
-#~ msgid "New Page"
-#~ msgstr "Nuova pagina"
-
 #, fuzzy
 #~ msgid "Welcome to %s"
 #~ msgstr "Copia di %s"
@@ -6858,10 +7721,6 @@
 #~ msgid "PhpWikiAdministration/SetAclSimple"
 #~ msgstr "AmministrazioneDiPhpWiki/Rimuovi"
 
-#, fuzzy
-#~ msgid "Selected Pages: %s"
-#~ msgstr "Il sorgente della %s"
-
 #~ msgid "Remove page"
 #~ msgstr "Rimuovi la pagina"
 
@@ -6946,10 +7805,6 @@
 #~ msgstr "Le %d pagine pi popolari di questo wiki sono:"
 
 #, fuzzy
-#~ msgid "diff pages in this wiki"
-#~ msgstr "Le %d pagine pi popolari di questo wiki sono:"
-
-#, fuzzy
 #~ msgid "dump serial pages from this wiki"
 #~ msgstr "Le %d pagine pi popolari di questo wiki sono:"
 
@@ -6966,10 +7821,6 @@
 #~ msgstr "Le %d pagine pi popolari di questo wiki sono:"
 
 #, fuzzy
-#~ msgid "view the source of pages in this wiki"
-#~ msgstr "Le %d pagine pi popolari di questo wiki sono:"
-
-#, fuzzy
 #~ msgid "Selected"
 #~ msgstr "Rimossa."
 
@@ -7098,14 +7949,8 @@
 #~ msgid "Insert/update failed: %s"
 #~ msgstr "Inserimento/aggiornamento fallito: %s"
 
-#~ msgid "Delete on %s failed: %s"
-#~ msgstr "Cancellazione su %s fallita: %s"
-
 #~ msgid "MySQL error: %s"
 #~ msgstr "Errore di MySQL: %s"
 
 #~ msgid "Cannot delete '%s' from table '%s'"
 #~ msgstr "Non posso cancellare '%s' dalla tabella '%s'"
-
-#~ msgid "Inserting page %s, version %s from %s"
-#~ msgstr "Sto inserendo la pagina %s, versione %s da %s"
diff -ruN 1.3.12p3/locale/po/ja.po 1.3.14/locale/po/ja.po
--- 1.3.12p3/locale/po/ja.po	2006-06-18 06:19:38.000000000 -0500
+++ 1.3.14/locale/po/ja.po	2007-07-01 05:11:18.000000000 -0500
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: PhpWiki-1.3.11\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2006-06-18 10:46+0000\n"
+"POT-Creation-Date: 2007-07-01 10:07+0000\n"
 "PO-Revision-Date: 2003-06-07 09:01+0900\n"
 "Last-Translator: Tadashi Jokagi <webmaster@elf.no-ip.org>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -14,6 +14,29 @@
 "Content-Type: text/plain; charset=euc-jp\n"
 "Content-Transfer-Encoding: 8bit\n"
 
+#: ../lib/CachedMarkup.php:478
+msgid "BAD semantic relation link"
+msgstr ""
+
+#: ../lib/CachedMarkup.php:505
+#, php-format
+msgid "Attribute %s, base value: %s"
+msgstr ""
+
+#: ../lib/CachedMarkup.php:506
+#, php-format
+msgid "Attribute %s, value: %s"
+msgstr ""
+
+#: ../lib/CachedMarkup.php:514
+#, fuzzy, php-format
+msgid "Relation %s to page %s"
+msgstr "С %s"
+
+#: ../lib/CachedMarkup.php:569
+msgid "Found by "
+msgstr ""
+
 #: ../lib/Captcha.php:32
 msgid "Typed in verification word mismatch ... are you a bot?"
 msgstr ""
@@ -42,226 +65,299 @@
 msgid "Supported handlers are: %s"
 msgstr "ݡȥơް"
 
-#: ../lib/EditToolbar.php:42
+#: ../lib/EditToolbar.php:29
 msgid "Undo"
 msgstr ""
 
-#: ../lib/EditToolbar.php:48
+#: ../lib/EditToolbar.php:31
 #, fuzzy
 msgid "Undo disabled"
 msgstr "ץ饰 %s ̵ˤʤäƤޤ"
 
-#: ../lib/EditToolbar.php:57 ../lib/EditToolbar.php:253
-#: ../lib/EditToolbar.php:254 ../lib/plugin/WikiAdminSearchReplace.php:187
+#: ../lib/EditToolbar.php:32
+msgid "Operation undone"
+msgstr ""
+
+#: ../lib/EditToolbar.php:33
+msgid "Substring \"\\1\" found \\2 times. Replace with \"\\3\"?"
+msgstr ""
+
+#: ../lib/EditToolbar.php:34
+#, fuzzy, php-format
+msgid "String \"%s\" not found."
+msgstr "ڡϥåǤ"
+
+#: ../lib/EditToolbar.php:35 ../lib/EditToolbar.php:200
+#: ../lib/EditToolbar.php:201 ../lib/plugin/WikiAdminSearchReplace.php:187
 msgid "Search & Replace"
 msgstr ""
 
-#: ../lib/EditToolbar.php:59 ../lib/plugin/InterWikiSearch.php:91
-#: ../lib/plugin/RecentChanges.php:591 ../themes/Crao/templates/navbar.tmpl:42
-#: ../themes/Crao/templates/navbar.tmpl:44
-#: ../themes/Crao/templates/navbar.tmpl:48
-#: ../themes/blog/templates/search.tmpl:6
-#: ../themes/blog/templates/search.tmpl:7
-#: ../themes/blog/templates/search.tmpl:9
-#: ../themes/blog/templates/search.tmpl:13
-#: ../themes/default/templates/search.tmpl:10
-#: ../themes/default/templates/search.tmpl:11
-#: ../themes/default/templates/search.tmpl:18
-msgid "Search"
+#: ../lib/EditToolbar.php:36
+#, fuzzy
+msgid "Search for"
 msgstr ""
 
-#: ../lib/EditToolbar.php:61
+#: ../lib/EditToolbar.php:37
 msgid "Replace with"
 msgstr ""
 
-#: ../lib/EditToolbar.php:63 ../lib/upgrade.php:375 ../lib/upgrade.php:384
-#: ../lib/upgrade.php:393 ../lib/upgrade.php:414 ../lib/upgrade.php:442
-#: ../lib/upgrade.php:492 ../lib/upgrade.php:495 ../lib/upgrade.php:526
-#: ../lib/upgrade.php:528 ../lib/upgrade.php:555 ../lib/upgrade.php:608
-#: ../lib/upgrade.php:727 ../lib/upgrade.php:730 ../lib/upgrade.php:782
-#: ../lib/upgrade.php:840 ../lib/upgrade.php:850
+#: ../lib/EditToolbar.php:38 ../lib/plugin/SyncWiki.php:302
+#: ../lib/plugin/SyncWiki.php:328 ../lib/plugin/SyncWiki.php:351
+#: ../lib/plugin/WikiPoll.php:224 ../lib/upgrade.php:212
+#: ../lib/upgrade.php:415 ../lib/upgrade.php:429 ../lib/upgrade.php:449
+#: ../lib/upgrade.php:458 ../lib/upgrade.php:482 ../lib/upgrade.php:510
+#: ../lib/upgrade.php:560 ../lib/upgrade.php:563 ../lib/upgrade.php:595
+#: ../lib/upgrade.php:597 ../lib/upgrade.php:624 ../lib/upgrade.php:684
+#: ../lib/upgrade.php:709 ../lib/upgrade.php:852 ../lib/upgrade.php:855
+#: ../lib/upgrade.php:906
 msgid "OK"
 msgstr ""
 
-#: ../lib/EditToolbar.php:65 ../lib/EditToolbar.php:308
-#: ../lib/EditToolbar.php:354 ../lib/EditToolbar.php:378
-#: ../lib/EditToolbar.php:411
+#: ../lib/EditToolbar.php:39 ../lib/EditToolbar.php:261
+#: ../lib/EditToolbar.php:308 ../lib/EditToolbar.php:338
+#: ../lib/EditToolbar.php:372
 msgid "Close"
 msgstr ""
 
-#: ../lib/EditToolbar.php:80
-#, php-format
-msgid "Substring \"%s\" found %s times. Replace with \"%s\"?"
+#: ../lib/EditToolbar.php:107
+msgid "Bold text"
 msgstr ""
 
-#: ../lib/EditToolbar.php:82
-#, fuzzy, php-format
-msgid "String \"%s\" not found."
-msgstr "ڡϥåǤ"
-
-#: ../lib/EditToolbar.php:105
-msgid "Operation undone"
+#: ../lib/EditToolbar.php:108
+msgid "Bold text [alt-b]"
 msgstr ""
 
-#: ../lib/EditToolbar.php:167 ../lib/EditToolbar.php:168
-msgid "Bold text"
+#: ../lib/EditToolbar.php:112
+msgid "Italic text"
 msgstr ""
 
-#: ../lib/EditToolbar.php:172 ../lib/EditToolbar.php:173
-msgid "Italic text"
+#: ../lib/EditToolbar.php:113
+msgid "Italic text [alt-i]"
 msgstr ""
 
-#: ../lib/EditToolbar.php:177
+#: ../lib/EditToolbar.php:117
 msgid "optional label | PageName"
 msgstr ""
 
-#: ../lib/EditToolbar.php:178
+#: ../lib/EditToolbar.php:118
 #, fuzzy
 msgid "Link to page"
 msgstr "ڡΥåǤ"
 
-#: ../lib/EditToolbar.php:182
+#: ../lib/EditToolbar.php:122
 msgid "optional label | http://www.example.com"
 msgstr ""
 
-#: ../lib/EditToolbar.php:183
+#: ../lib/EditToolbar.php:123
 msgid "External link (remember http:// prefix)"
 msgstr ""
 
-#: ../lib/EditToolbar.php:187
+#: ../lib/EditToolbar.php:127
 msgid "Headline text"
 msgstr ""
 
-#: ../lib/EditToolbar.php:188
+#: ../lib/EditToolbar.php:128
 msgid "Level 1 headline"
 msgstr ""
 
-#: ../lib/EditToolbar.php:192
+#: ../lib/EditToolbar.php:132
 msgid "Example.jpg"
 msgstr ""
 
-#: ../lib/EditToolbar.php:193
+#: ../lib/EditToolbar.php:133
 msgid "Embedded image"
 msgstr ""
 
-#: ../lib/EditToolbar.php:197
+#: ../lib/EditToolbar.php:137
 msgid "Insert non-formatted text here"
 msgstr ""
 
-#: ../lib/EditToolbar.php:198
+#: ../lib/EditToolbar.php:138
 msgid "Ignore wiki formatting"
 msgstr ""
 
-#: ../lib/EditToolbar.php:203
+#: ../lib/EditToolbar.php:143
 msgid "Your signature"
 msgstr ""
 
-#: ../lib/EditToolbar.php:208
+#: ../lib/EditToolbar.php:148
 msgid "Horizontal line"
 msgstr ""
 
-#: ../lib/EditToolbar.php:210 ../lib/EditToolbar.php:212
-#: ../lib/editpage.php:567
+#: ../lib/EditToolbar.php:150 ../lib/EditToolbar.php:152
+#: ../lib/WysiwygEdit/Wikiwyg.php:85 ../lib/editpage.php:664
 msgid "Save"
 msgstr "¸"
 
-#: ../lib/EditToolbar.php:214 ../lib/EditToolbar.php:216
-#: ../lib/editpage.php:563
+#: ../lib/EditToolbar.php:157 ../lib/EditToolbar.php:159
+#: ../lib/WysiwygEdit/Wikiwyg.php:84 ../lib/editpage.php:657
 msgid "Preview"
 msgstr "ץӥ塼"
 
-#: ../lib/EditToolbar.php:232
+#: ../lib/EditToolbar.php:179
 msgid "Click a button to get an example text"
 msgstr ""
 
-#: ../lib/EditToolbar.php:245 ../lib/EditToolbar.php:246
+#: ../lib/EditToolbar.php:192 ../lib/EditToolbar.php:193
 msgid "Undo Search & Replace"
 msgstr ""
 
-#: ../lib/EditToolbar.php:302 ../lib/EditToolbar.php:303
+#: ../lib/EditToolbar.php:255
 #, fuzzy
 msgid "AddCategory"
 msgstr "ۡڡ:"
 
-#: ../lib/EditToolbar.php:305
+#: ../lib/EditToolbar.php:258
 msgid "Insert Categories (double-click)"
 msgstr ""
 
-#: ../lib/EditToolbar.php:307 ../lib/EditToolbar.php:353
-#: ../lib/EditToolbar.php:377 ../lib/EditToolbar.php:410
+#: ../lib/EditToolbar.php:260 ../lib/EditToolbar.php:307
+#: ../lib/EditToolbar.php:337 ../lib/EditToolbar.php:371
 msgid "Insert"
 msgstr ""
 
-#: ../lib/EditToolbar.php:348 ../lib/EditToolbar.php:349
+#: ../lib/EditToolbar.php:302 ../lib/EditToolbar.php:303
 #, fuzzy
 msgid "AddPlugin"
 msgstr "ץ饰"
 
-#: ../lib/EditToolbar.php:351
+#: ../lib/EditToolbar.php:305
 msgid "Insert Plugin (double-click)"
 msgstr ""
 
-#: ../lib/EditToolbar.php:372 ../lib/EditToolbar.php:373
+#: ../lib/EditToolbar.php:332 ../lib/EditToolbar.php:333
 #, fuzzy
 msgid "AddPageLink"
 msgstr "ڡԽƤޤ"
 
-#: ../lib/EditToolbar.php:375
+#: ../lib/EditToolbar.php:335
 msgid "Insert PageLink (double-click)"
 msgstr ""
 
-#: ../lib/EditToolbar.php:405 ../lib/EditToolbar.php:406
+#: ../lib/EditToolbar.php:366 ../lib/EditToolbar.php:367
 msgid "AddTemplate"
 msgstr ""
 
-#: ../lib/EditToolbar.php:408
+#: ../lib/EditToolbar.php:369
 msgid "Insert Template (double-click)"
 msgstr ""
 
-#: ../lib/ErrorManager.php:210
+#: ../lib/ErrorManager.php:211
 #, php-format
 msgid "%s: error while handling error:"
 msgstr ""
 
-#: ../lib/FileFinder.php:191 ../lib/loadsave.php:967
+#: ../lib/FileFinder.php:191 ../lib/loadsave.php:1026
 #, php-format
 msgid "%s: file not found"
 msgstr "%s: ե뤬Ĥޤ"
 
-#: ../lib/IniConfig.php:732
+#: ../lib/IniConfig.php:799
 #, fuzzy
 msgid "CategoryGroup"
 msgstr "ۡڡ:"
 
-#: ../lib/IniConfig.php:734
+#: ../lib/IniConfig.php:801
 msgid "An unnamed PhpWiki"
 msgstr ""
 
-#: ../lib/IniConfig.php:736 ../lib/upgrade.php:149
-#: ../themes/Wordpress/templates/actionbar.tmpl:18
-#: ../themes/default/templates/userprefs.tmpl:123
+#: ../lib/IniConfig.php:803 ../lib/upgrade.php:172
+#: ../themes/Wordpress/templates/actionbar.tmpl:19
+#: ../themes/blog/templates/browse-footer.tmpl:6
+#: ../themes/default/templates/userprefs.tmpl:124
 msgid "HomePage"
 msgstr "ۡڡ"
 
-#: ../lib/InlineParser.php:336
+#: ../lib/InlineParser.php:335
 msgid "Invalid [] syntax ignored"
 msgstr ""
 
-#: ../lib/InlineParser.php:652
+#: ../lib/InlineParser.php:736
 #, php-format
 msgid "unknown color %s ignored"
 msgstr ""
 
-#: ../lib/PageList.php:104
+#: ../lib/MailNotify.php:129
+#, fuzzy, php-format
+msgid "PageChange Notification of %s"
+msgstr "᡼"
+
+#: ../lib/MailNotify.php:156
+#, fuzzy, php-format
+msgid "sent to %s"
+msgstr "%s "
+
+#: ../lib/MailNotify.php:162
+#, fuzzy, php-format
+msgid "Error: Couldn't send %s to %s"
+msgstr "᡼"
+
+#: ../lib/MailNotify.php:184
+#, fuzzy
+msgid "Page change"
+msgstr "ѹޤǤ"
+
+#: ../lib/MailNotify.php:211 ../lib/loadsave.php:841
+#: ../lib/plugin/RecentChanges.php:109
+#, fuzzy
+msgid "New page"
+msgstr "ڡ"
+
+#: ../lib/MailNotify.php:213 ../lib/MailNotify.php:231 ../lib/loadsave.php:93
+#, fuzzy, php-format
+msgid "Edited by: %s"
+msgstr "Խ: %s"
+
+#: ../lib/MailNotify.php:232
+#, fuzzy, php-format
+msgid "Page rename %s to %s"
+msgstr "%s ɹޤޤ"
+
+#: ../lib/MailNotify.php:269
+#, fuzzy, php-format
+msgid "Removed by: %s"
+msgstr "Խ: %s"
+
+#: ../lib/MailNotify.php:271
+#, fuzzy, php-format
+msgid "Page removed %s"
+msgstr "ڡåޤ"
+
+#: ../lib/MailNotify.php:320
+#, fuzzy
+msgid "e-mail address confirmation"
+msgstr "᡼륢ɥ쥹ǧޤ"
+
+#: ../lib/MailNotify.php:323
+#, php-format
+msgid ""
+"Someone, probably you from IP address %s, has registered an\n"
+"account \"%s\" with this e-mail address on %s.\n"
+"\n"
+"To confirm that this account really does belong to you and activate\n"
+"e-mail features on %s, open this link in your browser:\n"
+"\n"
+"%s\n"
+"\n"
+"If this is *not* you, don't follow the link. This confirmation code\n"
+"will expire at %s."
+msgstr ""
+
+#: ../lib/PageList.php:109
 #, php-format
 msgid "Sort by %s"
 msgstr "%sǥȤޤ"
 
-#: ../lib/PageList.php:149
+#: ../lib/PageList.php:139
+#, fuzzy
+msgid "reverse"
+msgstr "ž"
+
+#: ../lib/PageList.php:153
 msgid "Click to reverse sort order"
 msgstr ""
 
-#: ../lib/PageList.php:157
+#: ../lib/PageList.php:160
 #, fuzzy, php-format
 msgid "Click to sort by %s"
 msgstr "%sǥȤޤ"
@@ -270,108 +366,103 @@
 msgid "Click to de-/select all pages"
 msgstr ""
 
-#: ../lib/PageList.php:366 ../lib/plugin/UnfoldSubpages.php:132
+#: ../lib/PageList.php:370 ../lib/plugin/UnfoldSubpages.php:132
 #, php-format
 msgid " ... first %d bytes"
 msgstr ""
 
-#: ../lib/PageList.php:372
+#: ../lib/PageList.php:376
 #, php-format
 msgid " ... around %s"
 msgstr ""
 
-#: ../lib/PageList.php:402 ../lib/plugin/AppendText.php:57
-#: ../lib/upgrade.php:810
+#: ../lib/PageList.php:406 ../lib/plugin/AppendText.php:57
 #, fuzzy, php-format
 msgid "%s not found"
 msgstr "%s: ե뤬Ĥޤ"
 
-#: ../lib/PageList.php:466 ../lib/plugin/AuthorHistory.php:174
-#: ../lib/plugin/WantedPagesOld.php:151
+#: ../lib/PageList.php:480 ../lib/plugin/AuthorHistory.php:174
 msgid "Page Name"
 msgstr "ڡ̾"
 
-#: ../lib/PageList.php:555 ../lib/plugin/FullTextSearch.php:107
+#: ../lib/PageList.php:609 ../lib/plugin/FullTextSearch.php:112
 msgid "<no matches>"
 msgstr "<פޤ>"
 
-#: ../lib/PageList.php:934 ../lib/plugin/WikiAdminSearchReplace.php:171
+#: ../lib/PageList.php:1036 ../lib/plugin/WikiAdminSearchReplace.php:171
 #, fuzzy
 msgid "Content"
 msgstr "ƥ"
 
-#: ../lib/PageList.php:950
+#: ../lib/PageList.php:1052
 #, fuzzy
 msgid "Select"
 msgstr ":"
 
-#: ../lib/PageList.php:954 ../themes/MonoBook/templates/info.tmpl:71
-#: ../themes/default/templates/info.tmpl:64
-#: ../themes/shamino_com/templates/info.tmpl:70
+#: ../lib/PageList.php:1056 ../themes/MonoBook/templates/info.tmpl:71
+#: ../themes/default/templates/info.tmpl:63
 msgid "Last Modified"
 msgstr "ǽ"
 
-#: ../lib/PageList.php:956
+#: ../lib/PageList.php:1058
 msgid "Hits"
 msgstr "ҥå"
 
-#: ../lib/PageList.php:958 ../themes/Crao/templates/editpage.tmpl:37
+#: ../lib/PageList.php:1060 ../themes/Crao/templates/editpage.tmpl:37
 #: ../themes/Wordpress/templates/editpage.tmpl:38
 #: ../themes/default/templates/editpage.tmpl:39
 #, fuzzy
 msgid "Size"
 msgstr ":"
 
-#: ../lib/PageList.php:961 ../themes/MonoBook/templates/info.tmpl:73
-#: ../themes/default/templates/info.tmpl:66
-#: ../themes/shamino_com/templates/info.tmpl:72
+#: ../lib/PageList.php:1063 ../themes/MonoBook/templates/info.tmpl:73
+#: ../themes/default/templates/info.tmpl:65
 msgid "Last Summary"
 msgstr "ǽ"
 
-#: ../lib/PageList.php:963 ../lib/plugin/AuthorHistory.php:123
+#: ../lib/PageList.php:1065 ../lib/plugin/AuthorHistory.php:123
 #: ../lib/plugin/AuthorHistory.php:176 ../lib/plugin/PluginManager.php:90
 msgid "Version"
 msgstr "С"
 
-#: ../lib/PageList.php:966 ../themes/MonoBook/templates/info.tmpl:72
-#: ../themes/default/templates/info.tmpl:65
-#: ../themes/shamino_com/templates/info.tmpl:71
+#: ../lib/PageList.php:1068 ../themes/MonoBook/templates/info.tmpl:72
+#: ../themes/default/templates/info.tmpl:64
 msgid "Last Author"
 msgstr "ǽԽ"
 
-#: ../lib/PageList.php:968 ../lib/WikiGroup.php:36
+#: ../lib/PageList.php:1070 ../lib/WikiGroup.php:36
 msgid "Owner"
 msgstr ""
 
-#: ../lib/PageList.php:970 ../lib/WikiGroup.php:37
+#: ../lib/PageList.php:1072 ../lib/WikiGroup.php:37
 msgid "Creator"
 msgstr ""
 
-#: ../lib/PageList.php:976 ../themes/Crao/templates/editpage.tmpl:61
+#: ../lib/PageList.php:1078 ../themes/Crao/templates/editpage.tmpl:61
 #: ../themes/MonoBook/templates/info.tmpl:132
-#: ../themes/default/templates/editpage.tmpl:73
-#: ../themes/default/templates/info.tmpl:127
-#: ../themes/shamino_com/templates/info.tmpl:132
+#: ../themes/Wordpress/templates/editpage.tmpl:61
+#: ../themes/default/templates/editpage.tmpl:74
+#: ../themes/default/templates/info.tmpl:126
 msgid "Locked"
 msgstr "åޤ"
 
-#: ../lib/PageList.php:977
+#: ../lib/PageList.php:1079
 msgid "locked"
 msgstr "åޤ"
 
-#: ../lib/PageList.php:980
+#: ../lib/PageList.php:1082
 msgid "Minor Edit"
 msgstr ""
 
-#: ../lib/PageList.php:980
+#: ../lib/PageList.php:1082
 msgid "minor"
 msgstr ""
 
-#: ../lib/PageList.php:982
+#: ../lib/PageList.php:1084
 msgid "Markup"
 msgstr "ޡå"
 
-#: ../lib/PageList.php:1239 ../lib/plugin/WantedPagesOld.php:178
+#: ../lib/PageList.php:1357
 #, php-format
 msgid "Columns: %s."
 msgstr ""
@@ -412,57 +503,54 @@
 msgid "Unsupported ACL access type %s ignored."
 msgstr ""
 
-#: ../lib/PagePerm.php:558
+#: ../lib/PagePerm.php:561
 msgid "Access"
 msgstr ""
 
-#: ../lib/PagePerm.php:560
+#: ../lib/PagePerm.php:563
 #, fuzzy
 msgid "Group/User"
 msgstr "ڡ롼"
 
-#: ../lib/PagePerm.php:561
+#: ../lib/PagePerm.php:564
 msgid "Grant"
 msgstr ""
 
-#: ../lib/PagePerm.php:562
+#: ../lib/PagePerm.php:565
 msgid "Del/+"
 msgstr ""
 
-#: ../lib/PagePerm.php:563 ../lib/plugin/PluginManager.php:90
-#: ../lib/plugin/WikiAdminSetAcl.php:230
+#: ../lib/PagePerm.php:566 ../lib/plugin/PluginManager.php:90
+#: ../lib/plugin/WikiAdminSetAcl.php:234
 msgid "Description"
 msgstr ""
 
-#: ../lib/PagePerm.php:584
+#: ../lib/PagePerm.php:587
 msgid "Add this ACL"
 msgstr ""
 
-#: ../lib/PagePerm.php:608
+#: ../lib/PagePerm.php:611
 msgid "Allow / Deny"
 msgstr ""
 
-#: ../lib/PagePerm.php:620
+#: ../lib/PagePerm.php:623
 msgid "Delete this ACL"
 msgstr ""
 
-#: ../lib/PagePerm.php:646
+#: ../lib/PagePerm.php:649
 msgid "add "
 msgstr ""
 
-#: ../lib/PagePerm.php:650
+#: ../lib/PagePerm.php:653
 msgid "Check to add this ACL"
 msgstr ""
 
-#: ../lib/PageType.php:134 ../lib/loadsave.php:733
-#: ../lib/plugin/InterWikiSearch.php:55 ../lib/plugin/WantedPages.php:54
-#: ../lib/plugin/WantedPagesOld.php:81
+#: ../lib/PageType.php:134 ../lib/loadsave.php:776 ../lib/loadsave.php:1424
+#: ../lib/plugin/InterWikiSearch.php:57 ../lib/plugin/WantedPages.php:55
 #: ../themes/MonoBook/templates/info.tmpl:149
 #: ../themes/MonoBook/templates/info.tmpl:150
+#: ../themes/default/templates/info.tmpl:143
 #: ../themes/default/templates/info.tmpl:144
-#: ../themes/default/templates/info.tmpl:145
-#: ../themes/shamino_com/templates/info.tmpl:149
-#: ../themes/shamino_com/templates/info.tmpl:150
 msgid "InterWikiMap"
 msgstr ""
 
@@ -470,340 +558,352 @@
 msgid "WARNING: InterWikiMap page is unlocked, so not using those links."
 msgstr ""
 
-#: ../lib/PageType.php:231 ../lib/PageType.php:234 ../lib/stdlib.php:670
-#: ../themes/MonoBook/templates/actionbar.tmpl:15
-#: ../themes/MonoBook/templates/actionbar.tmpl:19
-#: ../themes/MonoBook/templates/actionbar.tmpl:23
-#: ../themes/Sidebar/templates/navbar.tmpl:27
-#: ../themes/Sidebar/templates/navbar.tmpl:29
+#: ../lib/PageType.php:247 ../lib/PageType.php:250 ../lib/stdlib.php:673
+#: ../themes/MonoBook/templates/actionbar.tmpl:14
+#: ../themes/MonoBook/templates/actionbar.tmpl:21
+#: ../themes/MonoBook/templates/actionbar.tmpl:25
+#: ../themes/MonoBook/templates/actionbar.tmpl:31
+#: ../themes/Sidebar/templates/navbar.tmpl:17
+#: ../themes/Sidebar/templates/navbar.tmpl:19
 #: ../themes/default/templates/navbar.tmpl:11
 #: ../themes/default/templates/navbar.tmpl:13
+#: ../themes/wikilens/templates/navbar.tmpl:9
+#: ../themes/wikilens/templates/navbar.tmpl:11
 #, fuzzy
 msgid "Discussion"
 msgstr "С"
 
-#: ../lib/PageType.php:274 ../lib/loadsave.php:979
+#: ../lib/PageType.php:286 ../lib/loadsave.php:1038
 #, php-format
 msgid "Loading InterWikiMap from external file %s."
 msgstr ""
 
-#: ../lib/PageType.php:372
+#: ../lib/PageType.php:384
 msgid "Moniker"
 msgstr ""
 
-#: ../lib/PageType.php:373
+#: ../lib/PageType.php:385
 msgid "InterWiki Address"
 msgstr "InterWikiɥ쥹"
 
-#: ../lib/RSSWriter091.php:113 ../lib/loadsave.php:1353
-#: ../lib/plugin/RecentChanges.php:272 ../lib/plugin/RecentChanges.php:287
-#: ../lib/plugin/RecentChanges.php:390 ../lib/plugin/RecentChanges.php:467
-#: ../lib/plugin/RecentChanges.php:603 ../lib/plugin/RecentChanges.php:737
-#: ../themes/Crao/templates/head.tmpl:63
+#: ../lib/RSSWriter091.php:113 ../lib/display.php:120 ../lib/display.php:307
+#: ../lib/loadsave.php:1445 ../lib/plugin/RecentChanges.php:181
+#: ../lib/plugin/RecentChanges.php:188 ../lib/plugin/RecentChanges.php:328
+#: ../lib/plugin/RecentChanges.php:346 ../lib/plugin/RecentChanges.php:523
+#: ../lib/plugin/RecentChanges.php:600 ../lib/plugin/RecentChanges.php:736
+#: ../lib/plugin/RecentChanges.php:1002 ../themes/Crao/templates/head.tmpl:63
 #: ../themes/Crao/templates/navbar.tmpl:13
-#: ../themes/MonoBook/templates/navbar.tmpl:13
-#: ../themes/Portland/templates/navbar.tmpl:28
-#: ../themes/Wordpress/templates/actionbar.tmpl:21
-#: ../themes/blog/templates/actionbar.tmpl:20
+#: ../themes/MonoBook/templates/navbar.tmpl:15
+#: ../themes/Portland/templates/navbar.tmpl:25
+#: ../themes/Wordpress/templates/actionbar.tmpl:22
+#: ../themes/blog/templates/actionbar.tmpl:14
 #: ../themes/default/templates/head.tmpl:69
 #: ../themes/default/templates/navbar.tmpl:19
 #: ../themes/shamino_com/templates/top.tmpl:20
 #: ../themes/smaller/templates/navbar.tmpl:7
 #: ../themes/wikilens/templates/head.tmpl:60
-#: ../themes/wikilens/templates/navbar.tmpl:10
+#: ../themes/wikilens/templates/navbar.tmpl:17
 msgid "RecentChanges"
 msgstr "ѹ"
 
-#: ../lib/Request.php:696 ../lib/Request.php:699
+#: ../lib/Request.php:703 ../lib/Request.php:706
 msgid "Upload error: file too big"
 msgstr ""
 
-#: ../lib/Request.php:702
+#: ../lib/Request.php:709
 msgid "Upload error: file only partially recieved"
 msgstr ""
 
-#: ../lib/Request.php:705
+#: ../lib/Request.php:712
 msgid "Upload error: no file selected"
 msgstr ""
 
-#: ../lib/Request.php:708
+#: ../lib/Request.php:715
 msgid "Upload error: unknown error #"
 msgstr ""
 
-#: ../lib/Request.php:815 ../lib/main.php:1160 ../lib/main.php:1173
+#: ../lib/Request.php:824 ../lib/main.php:1221 ../lib/main.php:1234
 #, php-format
 msgid "%s is not writable."
 msgstr ""
 
-#: ../lib/Request.php:815
+#: ../lib/Request.php:824
 msgid "The PhpWiki access log file"
 msgstr ""
 
-#: ../lib/Request.php:817 ../lib/main.php:1163
+#: ../lib/Request.php:826 ../lib/main.php:1224
 #, php-format
 msgid "Please ensure that %s is writable, or redefine %s in config/config.ini."
 msgstr ""
 
-#: ../lib/Request.php:818
+#: ../lib/Request.php:827
 #, fuzzy, php-format
 msgid "the file '%s'"
 msgstr "MIMEե %s"
 
-#: ../lib/Template.php:175
+#: ../lib/SemanticWeb.php:135
+msgid "URIResolver"
+msgstr ""
+
+#: ../lib/SemanticWeb.php:149 ../lib/plugin/SemanticSearch.php:302
+msgid "Relation"
+msgstr ""
+
+#: ../lib/SemanticWeb.php:151 ../lib/plugin/SemanticSearch.php:375
+msgid "Attribute"
+msgstr ""
+
+#: ../lib/Template.php:178
 #, php-format
 msgid "%4d  %s\n"
 msgstr ""
 
-#: ../lib/TextSearchQuery.php:79 ../lib/plugin/FileInfo.php:100
+#: ../lib/TextSearchQuery.php:79 ../lib/plugin/FileInfo.php:116
 #, fuzzy, php-format
 msgid "Unsupported argument: %s=%s"
 msgstr "ݡȸ"
 
-#: ../lib/TextSearchQuery.php:89
+#: ../lib/TextSearchQuery.php:90
 msgid "(A|An|And|But|By|For|From|In|Is|It|Of|On|Or|The|To|With)"
 msgstr ""
 
-#: ../lib/Theme.php:388
+#: ../lib/Theme.php:398
 msgid "Never edited"
 msgstr ""
 
-#: ../lib/Theme.php:395
+#: ../lib/Theme.php:405
 #, php-format
 msgid "%s at %s"
 msgstr ""
 
-#: ../lib/Theme.php:399
+#: ../lib/Theme.php:409
 #, fuzzy, php-format
 msgid "Version %s, saved %s"
 msgstr "С %s"
 
-#: ../lib/Theme.php:401
+#: ../lib/Theme.php:411
 #, fuzzy, php-format
 msgid "Last edited %s"
 msgstr "ǽԽ"
 
-#: ../lib/Theme.php:410
+#: ../lib/Theme.php:420
 #, fuzzy, php-format
 msgid "Version %s, saved on %s"
 msgstr "С %d"
 
-#: ../lib/Theme.php:412
+#: ../lib/Theme.php:422
 #, fuzzy, php-format
 msgid "Last edited on %s"
 msgstr "ǽԽ: %s"
 
-#: ../lib/Theme.php:428
+#: ../lib/Theme.php:438
 msgid "today"
 msgstr ""
 
-#: ../lib/Theme.php:435
+#: ../lib/Theme.php:445
 msgid "yesterday"
 msgstr ""
 
-#: ../lib/Theme.php:456 ../lib/Theme.php:458
+#: ../lib/Theme.php:466 ../lib/Theme.php:468
 #, fuzzy, php-format
 msgid "Owner: %s"
 msgstr "桼ID:"
 
-#: ../lib/Theme.php:470 ../lib/Theme.php:472 ../lib/diff.php:262
-#: ../lib/plugin/Diff.php:75
+#: ../lib/Theme.php:481 ../lib/Theme.php:483 ../lib/diff.php:261
+#: ../lib/plugin/Diff.php:76
 #, php-format
 msgid "by %s"
 msgstr ""
 
-#: ../lib/Theme.php:564
+#: ../lib/Theme.php:575
 #, php-format
 msgid "Empty link to: %s"
 msgstr ""
 
-#: ../lib/Theme.php:579 ../themes/MacOSX/themeinfo.php:71
+#: ../lib/Theme.php:590 ../themes/MacOSX/themeinfo.php:71
 #, php-format
 msgid "Create: %s"
 msgstr ": %s"
 
-#: ../lib/Theme.php:598
+#: ../lib/Theme.php:609
 #, php-format
 msgid "Google:%s"
 msgstr ""
 
-#: ../lib/Theme.php:623
+#: ../lib/Theme.php:634
 #, php-format
 msgid "'%s': Bad page name"
 msgstr "'%s': ڡ̾ޤ"
 
-#: ../lib/Theme.php:933 ../themes/Crao/templates/actionbar.tmpl:5
-#: ../themes/MonoBook/templates/actionbar.tmpl:11
-#: ../themes/blog/themeinfo.php:53
-#: ../themes/default/templates/actionbar.tmpl:15
+#: ../lib/Theme.php:977 ../lib/plugin/WatchPage.php:89
+#: ../themes/Crao/templates/actionbar.tmpl:5
+#: ../themes/MonoBook/templates/actionbar.tmpl:34
+#: ../themes/blog/themeinfo.php:61
+#: ../themes/default/templates/actionbar.tmpl:16
 #: ../themes/shamino_com/templates/actionbar.tmpl:6
-#: ../themes/shamino_com/templates/info.tmpl:164
 #: ../themes/smaller/templates/actionbar.tmpl:18
 msgid "Edit"
 msgstr "Խ"
 
-#: ../lib/Theme.php:934 ../lib/plugin/Diff.php:36
-#: ../themes/blog/themeinfo.php:54
+#: ../lib/Theme.php:978 ../lib/plugin/Diff.php:37
+#: ../themes/blog/themeinfo.php:62
 msgid "Diff"
 msgstr "ʬ"
 
-#: ../lib/Theme.php:935 ../themes/Crao/templates/signin.tmpl:15
-#: ../themes/Crao/templates/signin.tmpl:31
-#: ../themes/MonoBook/templates/signin.tmpl:16
-#: ../themes/MonoBook/templates/signin.tmpl:30
-#: ../themes/Sidebar/templates/signin.tmpl:16
-#: ../themes/Sidebar/templates/signin.tmpl:30
-#: ../themes/Wordpress/templates/signin.tmpl:18
-#: ../themes/Wordpress/templates/signin.tmpl:34
+#: ../lib/Theme.php:979 ../themes/Crao/templates/signin.tmpl:14
+#: ../themes/Crao/templates/signin.tmpl:30
+#: ../themes/Sidebar/templates/signin.tmpl:15
+#: ../themes/Sidebar/templates/signin.tmpl:29
+#: ../themes/Wordpress/templates/signin.tmpl:17
+#: ../themes/Wordpress/templates/signin.tmpl:33
 #: ../themes/default/templates/signin.tmpl:16
 #: ../themes/default/templates/signin.tmpl:27
-#: ../themes/shamino_com/templates/signin.tmpl:15
-#: ../themes/shamino_com/templates/signin.tmpl:28
+#: ../themes/shamino_com/templates/signin.tmpl:14
+#: ../themes/shamino_com/templates/signin.tmpl:27
 #: ../themes/smaller/templates/signin.tmpl:16
 #: ../themes/smaller/templates/signin.tmpl:27
 msgid "Sign Out"
 msgstr "󥵥"
 
-#: ../lib/Theme.php:936 ../lib/WikiUser.php:221 ../lib/WikiUserNew.php:473
-#: ../themes/Crao/templates/signin.tmpl:54
-#: ../themes/Crao/templates/signin.tmpl:59
+#: ../lib/Theme.php:980 ../lib/WikiUser.php:221 ../lib/WikiUserNew.php:503
+#: ../themes/Crao/templates/signin.tmpl:53
 #: ../themes/default/templates/login.tmpl:76
 #: ../themes/smaller/templates/signin.tmpl:54
 msgid "Sign In"
 msgstr "󥤥"
 
-#: ../lib/Theme.php:937 ../themes/MacOSX/themeinfo.php:135
+#: ../lib/Theme.php:981 ../themes/MacOSX/themeinfo.php:133
 msgid "Lock Page"
 msgstr "ڡå"
 
-#: ../lib/Theme.php:938 ../themes/MacOSX/themeinfo.php:136
+#: ../lib/Theme.php:982 ../themes/MacOSX/themeinfo.php:134
 msgid "Unlock Page"
 msgstr "ڡå"
 
-#: ../lib/Theme.php:939 ../lib/removepage.php:23 ../lib/removepage.php:63
+#: ../lib/Theme.php:983 ../lib/removepage.php:23 ../lib/removepage.php:63
 msgid "Remove Page"
 msgstr "ڡ"
 
-#: ../lib/Theme.php:1188 ../lib/main.php:1014
-#: ../lib/plugin/RecentChanges.php:594 ../lib/plugin/TitleSearch.php:43
+#: ../lib/Theme.php:1149
+msgid ""
+"Some action(page) wanted to add more headers, but they were already printed."
+msgstr ""
+
+#: ../lib/Theme.php:1225 ../themes/Hawaiian/themeinfo.php:28
+#: ../themes/MacOSX/themeinfo.php:102 ../themes/MonoBook/themeinfo.php:126
+#: ../themes/Portland/themeinfo.php:58 ../themes/Sidebar/themeinfo.php:40
+#: ../themes/SpaceWiki/themeinfo.php:42 ../themes/Wordpress/themeinfo.php:60
+#: ../themes/shamino_com/themeinfo.php:54 ../themes/wikilens/themeinfo.php:25
+msgid "Printer"
+msgstr "ץ󥿡"
+
+#: ../lib/Theme.php:1226 ../themes/MacOSX/themeinfo.php:103
+#: ../themes/MonoBook/themeinfo.php:127 ../themes/shamino_com/themeinfo.php:55
+#: ../themes/wikilens/themeinfo.php:26
+msgid "Top & bottom toolbars"
+msgstr "ȲΥġС"
+
+#: ../lib/Theme.php:1227 ../themes/Hawaiian/themeinfo.php:29
+#: ../themes/MonoBook/themeinfo.php:128 ../themes/Portland/themeinfo.php:59
+#: ../themes/Sidebar/themeinfo.php:41 ../themes/SpaceWiki/themeinfo.php:43
+#: ../themes/Wordpress/themeinfo.php:61 ../themes/shamino_com/themeinfo.php:56
+#: ../themes/wikilens/themeinfo.php:27
+msgid "Modern"
+msgstr ""
+
+#: ../lib/Theme.php:1374 ../lib/main.php:1053
+#: ../lib/plugin/RecentChanges.php:727 ../lib/plugin/TitleSearch.php:43
 #: ../themes/Crao/templates/navbar.tmpl:4
 #: ../themes/Crao/templates/navbar.tmpl:8
 #: ../themes/Crao/templates/navbar.tmpl:51
-#: ../themes/MonoBook/templates/navbar.tmpl:23
-#: ../themes/Sidebar/templates/navbar.tmpl:7
-#: ../themes/Sidebar/templates/navbar.tmpl:13
-#: ../themes/Sidebar/templates/navbar.tmpl:20
+#: ../themes/MonoBook/templates/navbar.tmpl:33
 #: ../themes/blog/templates/search.tmpl:3
 #: ../themes/blog/templates/search.tmpl:18
 #: ../themes/default/templates/navbar.tmpl:6
 #: ../themes/default/templates/navbar.tmpl:24
 #: ../themes/default/templates/search.tmpl:3
-#: ../themes/default/templates/search.tmpl:6
-#: ../themes/default/templates/search.tmpl:25
-#: ../themes/default/templates/search.tmpl:29
+#: ../themes/default/templates/search.tmpl:9
+#: ../themes/default/templates/search.tmpl:33
 #: ../themes/shamino_com/templates/top.tmpl:18
 #: ../themes/smaller/templates/navbar.tmpl:4
-#: ../themes/wikilens/templates/navbar.tmpl:7
-#: ../themes/wikilens/templates/navbar.tmpl:15
 msgid "TitleSearch"
 msgstr "ȥ븡"
 
-#: ../lib/Theme.php:1347
+#: ../lib/Theme.php:1426 ../lib/plugin/Calendar.php:41
+#: ../lib/plugin/Calendar.php:45 ../themes/Crao/templates/head.tmpl:89
+#: ../themes/Crao/templates/navbar.tmpl:28
+#: ../themes/Sidebar/templates/body.tmpl:21
+#: ../themes/Sidebar/templates/body.tmpl:26
+#: ../themes/Wordpress/templates/actionbar.tmpl:32
+#: ../themes/blog/templates/sidebar.tmpl:16
+#: ../themes/default/templates/head.tmpl:96
+#: ../themes/default/templates/homepage.tmpl:15
+#: ../themes/default/templates/navbar.tmpl:45
+#: ../themes/wikilens/templates/head.tmpl:89
+#: ../themes/wikilens/templates/navbar.tmpl:25
+msgid "Calendar"
+msgstr ""
+
+#: ../lib/Theme.php:1690
 #, fuzzy, php-format
 msgid "Plugin %s: undefined"
 msgstr "ץ饰 %s Ԥޤ"
 
-#: ../lib/Theme.php:1370
+#: ../lib/Theme.php:1713
 msgid "Related Links"
 msgstr ""
 
-#: ../lib/Theme.php:1390
+#: ../lib/Theme.php:1734
 msgid "External Links"
 msgstr ""
 
-#: ../lib/WikiDB.php:233
-#, fuzzy, php-format
-msgid "Removed by: %s"
-msgstr "Խ: %s"
-
-#: ../lib/WikiDB.php:235
-#, fuzzy, php-format
-msgid "Page removed %s"
-msgstr "ڡåޤ"
-
-#: ../lib/WikiDB.php:241 ../lib/WikiDB.php:1054 ../lib/WikiDB.php:1079
-#: ../lib/loadsave.php:99
-#, php-format
-msgid "PageChange Notification of %s sent to %s"
-msgstr ""
-
-#: ../lib/WikiDB.php:244 ../lib/WikiDB.php:1057 ../lib/WikiDB.php:1082
-#: ../lib/loadsave.php:102
-#, php-format
-msgid "PageChange Notification Error: Couldn't send %s to %s"
-msgstr ""
-
-#: ../lib/WikiDB.php:474
+#: ../lib/WikiDB.php:539
 #, fuzzy, php-format
 msgid "renamed from %s"
 msgstr "%s ɹޤޤ"
 
-#: ../lib/WikiDB.php:482
+#: ../lib/WikiDB.php:548
 msgid "WikiDB::renamePage() not yet implemented for this backend"
 msgstr ""
 
-#: ../lib/WikiDB.php:847
+#: ../lib/WikiDB.php:921
 #, php-format
 msgid "%s: Date of new revision is %s"
 msgstr ""
 
-#: ../lib/WikiDB.php:911 ../lib/main.php:98
+#: ../lib/WikiDB.php:993 ../lib/main.php:98
 #, fuzzy
 msgid "Optimizing database"
 msgstr "%s ŬǤ"
 
-#: ../lib/WikiDB.php:1017
-#, fuzzy
-msgid "Page change"
-msgstr "ѹޤǤ"
-
-#: ../lib/WikiDB.php:1045 ../lib/loadsave.php:787
-#: ../lib/plugin/RecentChanges.php:107
-#, fuzzy
-msgid "New page"
-msgstr "ڡ"
-
-#: ../lib/WikiDB.php:1048 ../lib/WikiDB.php:1071 ../lib/loadsave.php:93
-#, fuzzy, php-format
-msgid "Edited by: %s"
-msgstr "Խ: %s"
-
-#: ../lib/WikiDB.php:1073
-#, fuzzy, php-format
-msgid "Page rename %s to %s"
-msgstr "%s ɹޤޤ"
+#: ../lib/WikiDB.php:1376 ../lib/WikiDB.php:1384 ../lib/WikiUserNew.php:429
+#: ../lib/loadsave.php:852 ../lib/loadsave.php:1380 ../lib/loadsave.php:1383
+msgid "The PhpWiki programming team"
+msgstr ""
 
-#: ../lib/WikiDB.php:1633 ../lib/WikiDB.php:1637
+#: ../lib/WikiDB.php:1627 ../lib/WikiDB.php:1631
 #: ../themes/default/templates/homepage.tmpl:7
 #, php-format
 msgid "Describe %s here."
 msgstr "%s򵭽Ҥޤ"
 
-#: ../lib/WikiDB.php:1672
+#: ../lib/WikiDB.php:1666
 #, php-format
 msgid "Oops! Revision %s of %s seems to have been deleted!"
 msgstr ""
 
-#: ../lib/WikiDB/backend/dba.php:22 ../lib/WikiDB/backend/dba.php:24
+#: ../lib/WikiDB/backend/dba.php:29 ../lib/WikiDB/backend/dba.php:31
 #, php-format
 msgid "%s: Can't open dba database"
 msgstr "%s: dba ǡ١򥪡ץޤ"
 
-#: ../lib/WikiDB/backend/file.php:111
+#: ../lib/WikiDB/backend/file.php:111 ../lib/WikiDB/backend/flatfile.php:83
 #, php-format
 msgid "'%s': corrupt file"
 msgstr ""
 
 #: ../lib/WikiDB/dba.php:16 ../lib/WikiDB/file.php:47
+#: ../lib/WikiDB/flatfile.php:47
 #, php-format
 msgid ""
 "The %s files are in the %s directory. Please read the INSTALL file and move "
@@ -873,7 +973,7 @@
 msgid "No or not enough GROUP_DB SQL statements defined"
 msgstr ""
 
-#: ../lib/WikiGroup.php:838 ../lib/loadsave.php:962
+#: ../lib/WikiGroup.php:838 ../lib/loadsave.php:1021
 #, php-format
 msgid "%s: not defined"
 msgstr "%s: ̤Ǥ"
@@ -901,90 +1001,68 @@
 msgid "n/a"
 msgstr ""
 
-#: ../lib/WikiPlugin.php:121 ../lib/loadsave.php:82 ../lib/loadsave.php:408
-#: ../lib/loadsave.php:844 ../lib/loadsave.php:850 ../lib/loadsave.php:858
-#: ../lib/main.php:967 ../lib/main.php:1071
-#: ../lib/plugin/WikiAdminSelect.php:192 ../themes/Crao/templates/head.tmpl:79
-#: ../themes/Crao/templates/head.tmpl:80
-#: ../themes/Crao/templates/navbar.tmpl:37
-#: ../themes/MonoBook/templates/navbar.tmpl:46
-#: ../themes/Portland/templates/navbar.tmpl:30
-#: ../themes/Sidebar/templates/navbar.tmpl:38
-#: ../themes/Wordpress/templates/actionbar.tmpl:25
-#: ../themes/blog/templates/navbar.tmpl:14
-#: ../themes/default/templates/head.tmpl:86
-#: ../themes/default/templates/head.tmpl:87
-#: ../themes/default/templates/navbar.tmpl:55
-#: ../themes/shamino_com/templates/actionbar.tmpl:18
-#: ../themes/smaller/templates/navbar.tmpl:19
-#: ../themes/wikilens/templates/head.tmpl:78
-#: ../themes/wikilens/templates/head.tmpl:79
-#: ../themes/wikilens/templates/navbar.tmpl:43
-msgid "PhpWikiAdministration"
-msgstr ""
-
-#: ../lib/WikiPlugin.php:125
+#: ../lib/WikiPlugin.php:225
 #, php-format
-msgid "Argument '%s' not declared by plugin."
+msgid "trailing cruft in plugin args: '%s'"
 msgstr ""
 
-#: ../lib/WikiPlugin.php:235
+#: ../lib/WikiPlugin.php:233
 #, php-format
-msgid "trailing cruft in plugin args: '%s'"
+msgid "Argument '%s' not declared by plugin."
 msgstr ""
 
-#: ../lib/WikiPlugin.php:378
+#: ../lib/WikiPlugin.php:376
 #, php-format
 msgid "Plugin %s failed."
 msgstr "ץ饰 %s Ԥޤ"
 
-#: ../lib/WikiPlugin.php:384
+#: ../lib/WikiPlugin.php:382
 #, php-format
 msgid "Plugin %s disabled."
 msgstr "ץ饰 %s ̵ˤʤäƤޤ"
 
-#: ../lib/WikiPlugin.php:520
+#: ../lib/WikiPlugin.php:518
 #, fuzzy, php-format
 msgid "Include of '%s' failed."
 msgstr "%s Υ󥯥롼ɤ˼Ԥޤ"
 
-#: ../lib/WikiPlugin.php:522
+#: ../lib/WikiPlugin.php:520
 #, php-format
 msgid "%s: no such class"
 msgstr ""
 
-#: ../lib/WikiPlugin.php:528
+#: ../lib/WikiPlugin.php:526
 #, php-format
 msgid "%s: not a subclass of WikiPlugin."
 msgstr ""
 
-#: ../lib/WikiPluginCached.php:691
+#: ../lib/WikiPluginCached.php:688
 #, php-format
 msgid ""
 "There is no image creation data available to id '%s'. Please reload "
 "referring page."
 msgstr ""
 
-#: ../lib/WikiPluginCached.php:845
+#: ../lib/WikiPluginCached.php:842
 msgid "Image map expired. Reload wiki page to recreate its html part."
 msgstr ""
 
 #: ../lib/WikiUser.php:188 ../lib/WikiUser.php:268
 #: ../lib/WikiUser/AdoDb.php:29 ../lib/WikiUser/AdoDb.php:186
 #: ../lib/WikiUser/Db.php:43 ../lib/WikiUser/File.php:58
-#: ../lib/WikiUser/IMAP.php:17 ../lib/WikiUser/LDAP.php:58
+#: ../lib/WikiUser/IMAP.php:18 ../lib/WikiUser/LDAP.php:58
 #: ../lib/WikiUser/POP3.php:17 ../lib/WikiUser/PdoDb.php:28
 #: ../lib/WikiUser/PdoDb.php:103 ../lib/WikiUser/PearDb.php:26
-#: ../lib/WikiUser/PearDb.php:116 ../lib/WikiUserNew.php:559
+#: ../lib/WikiUser/PearDb.php:116 ../lib/WikiUserNew.php:590
 #, fuzzy
 msgid "Invalid username."
 msgstr "桼IDѥɤ̵Ǥ"
 
-#: ../lib/WikiUser.php:192 ../lib/WikiUserNew.php:566
+#: ../lib/WikiUser.php:192 ../lib/WikiUserNew.php:597
 msgid "Invalid password or userid."
 msgstr "桼IDѥɤ̵Ǥ"
 
-#: ../lib/WikiUser.php:194 ../lib/WikiUserNew.php:582
+#: ../lib/WikiUser.php:194 ../lib/WikiUserNew.php:613
 msgid "Insufficient permissions."
 msgstr ""
 
@@ -1015,8 +1093,10 @@
 
 #: ../lib/WikiUser.php:465 ../lib/WikiUser.php:475
 #: ../themes/Crao/templates/navbar.tmpl:23
+#: ../themes/MonoBook/templates/navbar.tmpl:61
 #: ../themes/default/templates/navbar.tmpl:40
 #: ../themes/shamino_com/templates/top.tmpl:28
+#: ../themes/wikilens/templates/navbar.tmpl:23
 #, fuzzy
 msgid "Preferences"
 msgstr "Ȱ"
@@ -1034,14 +1114,14 @@
 msgid "%s is missing"
 msgstr ""
 
-#: ../lib/WikiUser/AdoDb.php:201 ../lib/WikiUser/AdoDb.php:255
+#: ../lib/WikiUser/AdoDb.php:201 ../lib/WikiUser/AdoDb.php:258
 #: ../lib/WikiUser/PdoDb.php:190 ../lib/WikiUser/PdoDb.php:255
 #: ../lib/WikiUser/PearDb.php:179 ../lib/WikiUser/PearDb.php:223
 #, php-format
 msgid "Either %s is missing or DATABASE_TYPE != '%s'"
 msgstr ""
 
-#: ../lib/WikiUser/IMAP.php:33
+#: ../lib/WikiUser/IMAP.php:36
 msgid "Unable to connect to IMAP server "
 msgstr ""
 
@@ -1050,12 +1130,34 @@
 msgid "Unable to bind LDAP server %s using %s %s"
 msgstr ""
 
-#: ../lib/WikiUser/LDAP.php:65 ../lib/WikiUser/LDAP.php:108
+#: ../lib/WikiUser/LDAP.php:68
+msgid "Empty password not allowed for LDAP"
+msgstr ""
+
+#: ../lib/WikiUser/LDAP.php:73 ../lib/WikiUser/LDAP.php:149
 #, php-format
 msgid "Invalid username '%s' for LDAP Auth"
 msgstr ""
 
-#: ../lib/WikiUser/POP3.php:59
+#: ../lib/WikiUser/LDAP.php:84
+msgid "Could not search in LDAP"
+msgstr ""
+
+#: ../lib/WikiUser/LDAP.php:91
+#, fuzzy
+msgid "User not found in LDAP"
+msgstr "%s: ե뤬Ĥޤ"
+
+#: ../lib/WikiUser/LDAP.php:125
+#, fuzzy
+msgid "Wrong password: "
+msgstr "桼IDѥɤ̵Ǥ"
+
+#: ../lib/WikiUser/LDAP.php:131
+msgid "Could not connect to LDAP"
+msgstr ""
+
+#: ../lib/WikiUser/POP3.php:61
 #, php-format
 msgid "Couldn't connect to %s"
 msgstr ""
@@ -1085,50 +1187,55 @@
 msgid "Given password ignored."
 msgstr "桼IDѥɤ̵Ǥ"
 
-#: ../lib/WikiUserNew.php:564
+#: ../lib/WikiUserNew.php:430
+msgid ""
+"Automatically created user homepage to be able to store UserPreferences."
+msgstr ""
+
+#: ../lib/WikiUserNew.php:595
 #, fuzzy
 msgid "Invalid password."
 msgstr "桼IDѥɤ̵Ǥ"
 
-#: ../lib/WikiUserNew.php:628
+#: ../lib/WikiUserNew.php:659
 msgid "Empty Preferences or format of UserPreferences cookie not recognised."
 msgstr ""
 
-#: ../lib/WikiUserNew.php:632
+#: ../lib/WikiUserNew.php:663
 msgid "Default preferences will be used."
 msgstr ""
 
-#: ../lib/WikiUserNew.php:1190
+#: ../lib/WikiUserNew.php:1233
 msgid "The length of the password is shorter than the system policy allows."
 msgstr ""
 
-#: ../lib/WikiUserNew.php:1216
+#: ../lib/WikiUserNew.php:1259
 msgid ""
 "The length of the stored password is shorter than the system policy allows. "
 "Sorry, you cannot login.\n"
 " You have to ask the System Administrator to reset your password."
 msgstr ""
 
-#: ../lib/WikiUserNew.php:1231
+#: ../lib/WikiUserNew.php:1274
 msgid "The crypt function is not available in this version of PHP."
 msgstr ""
 
-#: ../lib/WikiUserNew.php:1232
+#: ../lib/WikiUserNew.php:1275
 msgid ""
 "Please set ENCRYPTED_PASSWD to false in config/config.ini and probably "
 "change ADMIN_PASSWD."
 msgstr ""
 
-#: ../lib/WikiUserNew.php:1245
+#: ../lib/WikiUserNew.php:1288
 msgid "Please set ENCRYPTED_PASSWD to true in config/config.ini."
 msgstr ""
 
-#: ../lib/WikiUserNew.php:1657
+#: ../lib/WikiUserNew.php:1701 ../lib/plugin/WikiAdminUtils.php:114
 #, fuzzy
 msgid "Email Verification"
 msgstr "᡼륢ɥ쥹ǧޤ"
 
-#: ../lib/WikiUserNew.php:1658
+#: ../lib/WikiUserNew.php:1702
 #, php-format
 msgid ""
 "Welcome to %s!\n"
@@ -1137,108 +1244,160 @@
 "See %s"
 msgstr ""
 
-#: ../lib/WikiUserNew.php:1711
+#: ../lib/WikiUserNew.php:1762
 #, php-format
 msgid "E-Mail address '%s' is not properly formatted"
 msgstr ""
 
-#: ../lib/WikiUserNew.php:1715
+#: ../lib/WikiUserNew.php:1766
 #, php-format
 msgid "E-Mail address '%s' is properly formatted"
 msgstr ""
 
-#: ../lib/XmlElement.php:456 ../lib/stdlib.php:1344
+#: ../lib/WysiwygEdit/Wikiwyg.php:74
+#, fuzzy
+msgid "Apply changes"
+msgstr "ѹޤǤ"
+
+#: ../lib/WysiwygEdit/Wikiwyg.php:75
+msgid "Exit toolbar"
+msgstr ""
+
+#: ../lib/WysiwygEdit/Wikiwyg.php:76
+#, fuzzy
+msgid "Title 1"
+msgstr "ȥ븡"
+
+#: ../lib/WysiwygEdit/Wikiwyg.php:77
+#, fuzzy
+msgid "Title 2"
+msgstr "ȥ븡"
+
+#: ../lib/WysiwygEdit/Wikiwyg.php:78
+#, fuzzy
+msgid "Title 3"
+msgstr "ȥ븡"
+
+#: ../lib/WysiwygEdit/Wikiwyg.php:79
+msgid "Verbatim"
+msgstr ""
+
+#: ../lib/WysiwygEdit/Wikiwyg.php:80
+#, fuzzy
+msgid "Table of content"
+msgstr "ƥ"
+
+#: ../lib/WysiwygEdit/Wikiwyg.php:81
+msgid "Insert Wikitext section"
+msgstr ""
+
+#: ../lib/WysiwygEdit/Wikiwyg.php:82
+#, fuzzy
+msgid "Sup"
+msgstr "֥ڡ"
+
+#: ../lib/WysiwygEdit/Wikiwyg.php:83
+#, fuzzy
+msgid "Sub"
+msgstr ""
+
+#: ../lib/WysiwygEdit/Wikiwyg.php:107
+msgid "Warning: This Wikiwyg editor has only Beta quality!"
+msgstr ""
+
+#: ../lib/XmlElement.php:467 ../lib/stdlib.php:1357
 #, php-format
 msgid "Can't mix '%s' with '%s' type format strings"
 msgstr ""
 
-#: ../lib/XmlRpcServer.php:562
+#: ../lib/XmlRpcServer.php:511
 msgid "xml-rpc change"
 msgstr ""
 
-#: ../lib/diff.php:259 ../lib/plugin/Diff.php:72
+#: ../lib/diff.php:258 ../lib/plugin/Diff.php:73
 #, php-format
 msgid "version %s"
 msgstr "С %s"
 
-#: ../lib/diff.php:266 ../lib/plugin/Diff.php:77
+#: ../lib/diff.php:265 ../lib/plugin/Diff.php:78
 #: ../lib/wikilens/PageListColumns.php:351
 msgid "None"
 msgstr "ʤ"
 
-#: ../lib/diff.php:289 ../lib/plugin/Diff.php:94
-#: ../lib/plugin/PageHistory.php:312 ../lib/plugin/PageInfo.php:59
+#: ../lib/diff.php:288 ../lib/plugin/Diff.php:95
+#: ../lib/plugin/PageHistory.php:326 ../lib/plugin/PageInfo.php:59
 #, php-format
 msgid "I'm sorry, there is no such page as %s."
 msgstr ""
 
-#: ../lib/diff.php:292 ../lib/diff.php:394
+#: ../lib/diff.php:291 ../lib/diff.php:396
 #, php-format
 msgid "Diff: %s"
 msgstr "ʬ: %s"
 
-#: ../lib/diff.php:299 ../lib/diff.php:309 ../lib/plugin/Diff.php:102
-#: ../lib/plugin/Diff.php:112
+#: ../lib/diff.php:298 ../lib/diff.php:308 ../lib/plugin/Diff.php:103
+#: ../lib/plugin/Diff.php:113
 #, php-format
 msgid "version %d"
 msgstr "С %d"
 
-#: ../lib/diff.php:303 ../lib/plugin/Diff.php:106
+#: ../lib/diff.php:302 ../lib/plugin/Diff.php:107
 msgid "current version"
 msgstr "ߤΥС"
 
-#: ../lib/diff.php:320 ../lib/plugin/Diff.php:123
+#: ../lib/diff.php:319 ../lib/plugin/Diff.php:124
 msgid "revision by previous author"
 msgstr ""
 
-#: ../lib/diff.php:326 ../lib/plugin/Diff.php:129
+#: ../lib/diff.php:325 ../lib/plugin/Diff.php:130
 msgid "previous revision"
 msgstr "Υӥ"
 
-#: ../lib/diff.php:336 ../lib/plugin/Diff.php:139
+#: ../lib/diff.php:335 ../lib/plugin/Diff.php:140
 msgid "predecessor to the previous major change"
 msgstr ""
 
-#: ../lib/diff.php:347 ../lib/plugin/Diff.php:149
+#: ../lib/diff.php:346 ../lib/plugin/Diff.php:150
 #, php-format
 msgid "Differences between %s and %s of %s."
 msgstr ""
 
-#: ../lib/diff.php:350 ../lib/plugin/Diff.php:152
+#: ../lib/diff.php:349 ../lib/plugin/Diff.php:153
 msgid "Other diffs:"
 msgstr ""
 
-#: ../lib/diff.php:351 ../lib/plugin/Diff.php:153
+#: ../lib/diff.php:350 ../lib/plugin/Diff.php:154
 msgid "Previous Major Revision"
 msgstr ""
 
-#: ../lib/diff.php:352 ../lib/plugin/Diff.php:154
+#: ../lib/diff.php:351 ../lib/plugin/Diff.php:155
 msgid "Previous Revision"
 msgstr "Υӥ"
 
-#: ../lib/diff.php:353 ../lib/plugin/Diff.php:155
+#: ../lib/diff.php:352 ../lib/plugin/Diff.php:156
 msgid "Previous Author"
 msgstr "Խ"
 
-#: ../lib/diff.php:370 ../lib/plugin/Diff.php:172
+#: ../lib/diff.php:368 ../lib/plugin/Diff.php:173
 msgid "Newer page:"
 msgstr ""
 
-#: ../lib/diff.php:372 ../lib/plugin/Diff.php:174
+#: ../lib/diff.php:370 ../lib/plugin/Diff.php:175
 msgid "Older page:"
 msgstr ""
 
-#: ../lib/diff.php:380 ../lib/plugin/Diff.php:182
+#: ../lib/diff.php:378 ../lib/editpage.php:499 ../lib/plugin/Diff.php:183
 msgid "Versions are identical"
 msgstr ""
 
 # This entry is important for French punctuation rules which stipulate
 # a space before each colon.
-#: ../lib/display.php:53 ../lib/plugin/HelloWorld.php:70
-#: ../lib/plugin/PageGroup.php:102 ../lib/plugin/PageGroup.php:166
-#: ../lib/plugin/PageGroup.php:177 ../lib/plugin/PageGroup.php:193
-#: ../lib/plugin/PageGroup.php:200 ../lib/plugin/PageHistory.php:216
-#: ../lib/plugin/UnfoldSubpages.php:140 ../themes/Crao/templates/head.tmpl:47
+#: ../lib/display.php:54 ../lib/display.php:240
+#: ../lib/plugin/HelloWorld.php:70 ../lib/plugin/PageGroup.php:102
+#: ../lib/plugin/PageGroup.php:166 ../lib/plugin/PageGroup.php:177
+#: ../lib/plugin/PageGroup.php:193 ../lib/plugin/PageGroup.php:200
+#: ../lib/plugin/PageHistory.php:229 ../lib/plugin/UnfoldSubpages.php:140
+#: ../themes/Crao/templates/head.tmpl:47
 #: ../themes/MonoBook/templates/logo.tmpl:2
 #: ../themes/Portland/templates/body.tmpl:8
 #: ../themes/Sidebar/templates/frame-header.tmpl:16
@@ -1248,36 +1407,38 @@
 #: ../themes/default/templates/top.tmpl:11
 #: ../themes/shamino_com/templates/top.tmpl:8
 #: ../themes/wikilens/templates/head.tmpl:45
+#: ../themes/wikilens/templates/top.tmpl:11
 #, php-format
 msgid "%s: %s"
 msgstr ""
 
-#: ../lib/display.php:119 ../lib/display.php:126
+#: ../lib/display.php:82 ../lib/display.php:324
+#: ../lib/plugin/LinkDatabase.php:42
+msgid "LinkDatabase"
+msgstr ""
+
+#: ../lib/display.php:177 ../lib/display.php:184
 #: ../lib/plugin/BackLinks.php:31 ../lib/plugin/_WikiTranslation.php:53
 #: ../themes/Crao/templates/navbar.tmpl:17
-#: ../themes/Sidebar/templates/navbar.tmpl:35
+#: ../themes/Sidebar/templates/navbar.tmpl:25
 #: ../themes/blog/templates/navbar.tmpl:11
 #: ../themes/default/templates/navbar.tmpl:34
 #: ../themes/smaller/templates/navbar.tmpl:16
-#: ../themes/wikilens/templates/navbar.tmpl:25
+#: ../themes/wikilens/templates/navbar.tmpl:22
 msgid "BackLinks"
 msgstr ""
 
-#: ../lib/display.php:122 ../lib/display.php:129
+#: ../lib/display.php:180 ../lib/display.php:187
 #, php-format
 msgid "BackLinks for %s"
 msgstr ""
 
-#: ../lib/display.php:137
+#: ../lib/display.php:195
 #, php-format
 msgid "(Redirected from %s)"
 msgstr ""
 
-#: ../lib/display.php:177
-msgid "You searched for: "
-msgstr ""
-
-#: ../lib/display.php:218 ../themes/Crao/templates/head.tmpl:70
+#: ../lib/display.php:269 ../themes/Crao/templates/head.tmpl:70
 #: ../themes/Crao/templates/head.tmpl:71
 #: ../themes/default/templates/head.tmpl:76
 #: ../themes/default/templates/head.tmpl:77
@@ -1286,136 +1447,204 @@
 msgid "SandBox"
 msgstr ""
 
-#: ../lib/editpage.php:134 ../lib/editpage.php:469
+#: ../lib/editpage.php:162 ../lib/editpage.php:559
 msgid "Your version"
 msgstr ""
 
-#: ../lib/editpage.php:134 ../lib/editpage.php:470
+#: ../lib/editpage.php:162 ../lib/editpage.php:560
 msgid "Other version"
 msgstr ""
 
-#: ../lib/editpage.php:145
+#: ../lib/editpage.php:173
 msgid "Some internal editing error"
 msgstr ""
 
-#: ../lib/editpage.php:146
+#: ../lib/editpage.php:174
 msgid ""
 "Your are probably trying to edit/create an invalid version of this page."
 msgstr ""
 
-#: ../lib/editpage.php:147
+#: ../lib/editpage.php:175
 msgid "&version=-1 might help."
 msgstr ""
 
-#: ../lib/editpage.php:164
+#: ../lib/editpage.php:194
 #, php-format
 msgid "Edit: %s"
 msgstr "Խ: %s"
 
-#: ../lib/editpage.php:198
+#: ../lib/editpage.php:232
 #, php-format
 msgid "View Source: %s"
 msgstr "򸫤: %s"
 
-#: ../lib/editpage.php:212
+#: ../lib/editpage.php:246
 msgid "Page now locked."
 msgstr "ڡϥåǤ"
 
-#: ../lib/editpage.php:212
+#: ../lib/editpage.php:246
 msgid "Page now unlocked."
 msgstr "ڡϥåǤ"
 
-#: ../lib/editpage.php:314
+#: ../lib/editpage.php:353
 #, fuzzy, php-format
 msgid "Saved: %s"
 msgstr "¸ޤ: 5s"
 
-#: ../lib/editpage.php:366
+#: ../lib/editpage.php:406
 msgid "Too many external links."
 msgstr ""
 
-#: ../lib/editpage.php:379
+#: ../lib/editpage.php:419
 msgid "SpamAssassin reports: "
 msgstr ""
 
-#: ../lib/editpage.php:396
+#: ../lib/editpage.php:446
 msgid "External links contain blocked domains:"
 msgstr ""
 
-#: ../lib/editpage.php:397
+#: ../lib/editpage.php:447
 #, php-format
-msgid "%s is listed at %s"
+msgid "%s is listed at %s with %s"
 msgstr ""
 
-#: ../lib/editpage.php:418
+#: ../lib/editpage.php:471
 msgid "Spam Prevention"
 msgstr ""
 
-#: ../lib/editpage.php:419
+#: ../lib/editpage.php:472
 msgid "This page edit seems to contain spam and was therefore not saved."
 msgstr ""
 
-#: ../lib/editpage.php:421 ../lib/editpage.php:455
+#: ../lib/editpage.php:474 ../lib/editpage.php:535
 msgid "Sorry for the inconvenience."
 msgstr ""
 
-#: ../lib/editpage.php:452 ../themes/MacOSX/themeinfo.php:137
+#: ../lib/editpage.php:532 ../themes/MacOSX/themeinfo.php:135
 msgid "Page Locked"
 msgstr "ڡåޤ"
 
-#: ../lib/editpage.php:453
+#: ../lib/editpage.php:533
 msgid ""
 "This page has been locked by the administrator so your changes can not be "
 "saved."
 msgstr ""
 
-#: ../lib/editpage.php:454
+#: ../lib/editpage.php:534
 msgid ""
 "(Copy your changes to the clipboard. You can try editing a different page or "
 "save your text in a text editor.)"
 msgstr ""
 
-#: ../lib/editpage.php:468 ../lib/editpage.php:757
+#: ../lib/editpage.php:543 ../lib/editpage.php:544 ../lib/main.php:733
+#: ../lib/main.php:1090 ../lib/plugin/ModeratedPage.php:41
+#: ../lib/plugin/ModeratedPage.php:149 ../lib/plugin/ModeratedPage.php:219
+#: ../lib/plugin/ModeratedPage.php:258 ../lib/plugin/ModeratedPage.php:261
+#: ../lib/plugin/ModeratedPage.php:263 ../lib/plugin/ModeratedPage.php:265
+#: ../lib/plugin/ModeratedPage.php:349 ../lib/plugin/ModeratedPage.php:353
+#: ../lib/plugin/ModeratedPage.php:408 ../lib/plugin/ModeratedPage.php:433
+#, fuzzy
+msgid "ModeratedPage"
+msgstr "ڡƤޤ"
+
+#: ../lib/editpage.php:544
 #, php-format
 msgid ""
-"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."
+"You can edit away, but your changes will have to be approved by the defined "
+"moderators at the definition in %s"
 msgstr ""
 
-#: ../lib/editpage.php:472 ../lib/editpage.php:760
-msgid "Please check it through before saving."
-msgstr ""
+#: ../lib/editpage.php:546 ../lib/plugin/PasswordReset.php:155
+#: ../lib/plugin/UserPreferences.php:38 ../lib/plugin/WatchPage.php:115
+#: ../lib/plugin/WatchPage.php:133 ../themes/Crao/templates/head.tmpl:85
+#: ../themes/Crao/templates/head.tmpl:86
+#: ../themes/Crao/templates/navbar.tmpl:23
+#: ../themes/MonoBook/templates/navbar.tmpl:61
+#: ../themes/blog/templates/navbar.tmpl:17
+#: ../themes/default/templates/head.tmpl:92
+#: ../themes/default/templates/head.tmpl:93
+#: ../themes/default/templates/homepage.tmpl:11
+#: ../themes/default/templates/navbar.tmpl:40
+#: ../themes/shamino_com/templates/top.tmpl:28
+#: ../themes/smaller/templates/navbar.tmpl:22
+#: ../themes/wikilens/templates/head.tmpl:85
+#: ../themes/wikilens/templates/head.tmpl:86
+#: ../themes/wikilens/templates/navbar.tmpl:23
+msgid "UserPreferences"
+msgstr "桼"
 
-#: ../lib/editpage.php:483
+#: ../lib/editpage.php:545
+#, php-format
+msgid ""
+"The approval has a grace period of 5 days. If you have your E-Mail defined "
+"in your %s, you will get a notification of approval or rejection."
+msgstr ""
+
+#: ../lib/editpage.php:558 ../lib/editpage.php:900
+#, php-format
+msgid ""
+"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."
+msgstr ""
+
+#: ../lib/editpage.php:562 ../lib/editpage.php:903
+msgid "Please check it through before saving."
+msgstr ""
+
+#: ../lib/editpage.php:573
 msgid "Conflicting Edits!"
 msgstr ""
 
-#: ../lib/editpage.php:484
+#: ../lib/editpage.php:574
 msgid ""
 "In the time since you started editing this page, another user has saved a "
 "new version of it."
 msgstr ""
 
-#: ../lib/editpage.php:485
+#: ../lib/editpage.php:575
 msgid ""
 "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."
 msgstr ""
 
-#: ../lib/editpage.php:555
+#: ../lib/editpage.php:649
 #, fuzzy
 msgid "Convert"
 msgstr "ƥ"
 
-#: ../lib/editpage.php:588 ../themes/Portland/templates/editpage.tmpl:45
-#: ../themes/Wordpress/templates/editpage.tmpl:54
+#: ../lib/editpage.php:668
+#, fuzzy
+msgid "Changes"
+msgstr "ѹ"
+
+#: ../lib/editpage.php:672 ../lib/plugin/HtmlConverter.php:66
+#: ../lib/plugin/UpLoad.php:146 ../lib/plugin/UpLoad.php:151
+#: ../lib/plugin/WikiForm.php:103
+msgid "Upload"
+msgstr "åץ"
+
+#: ../lib/editpage.php:675
+#, fuzzy
+msgid "Spell Check"
+msgstr ":"
+
+#: ../lib/editpage.php:698 ../themes/Portland/templates/editpage.tmpl:41
+#: ../themes/Wordpress/templates/editpage.tmpl:52
 #, php-format
 msgid "Author will be logged as %s."
 msgstr ""
 
-#: ../lib/editpage.php:731
+#: ../lib/editpage.php:855
+msgid "Keep old"
+msgstr ""
+
+#: ../lib/editpage.php:858
+msgid "Overwrite with new"
+msgstr ""
+
+#: ../lib/editpage.php:868
 #, php-format
 msgid "Merge and Edit: %s"
 msgstr ""
@@ -1448,11 +1677,42 @@
 msgid "Dump pages as XHTML"
 msgstr "XHTMLǽ"
 
+#: ../lib/loadsave.php:82 ../lib/loadsave.php:428 ../lib/loadsave.php:902
+#: ../lib/loadsave.php:908 ../lib/loadsave.php:916 ../lib/main.php:1006
+#: ../lib/main.php:1110 ../lib/plugin/WikiAdminSelect.php:192
+#: ../themes/Crao/templates/head.tmpl:79 ../themes/Crao/templates/head.tmpl:80
+#: ../themes/Crao/templates/navbar.tmpl:37
+#: ../themes/MonoBook/templates/navbar.tmpl:57
+#: ../themes/Portland/templates/navbar.tmpl:27
+#: ../themes/Sidebar/templates/navbar.tmpl:28
+#: ../themes/Wordpress/templates/actionbar.tmpl:26
+#: ../themes/blog/templates/navbar.tmpl:14
+#: ../themes/default/templates/head.tmpl:86
+#: ../themes/default/templates/head.tmpl:87
+#: ../themes/default/templates/navbar.tmpl:55
+#: ../themes/shamino_com/templates/actionbar.tmpl:18
+#: ../themes/smaller/templates/navbar.tmpl:19
+#: ../themes/wikilens/templates/head.tmpl:78
+#: ../themes/wikilens/templates/head.tmpl:79
+#: ../themes/wikilens/templates/navbar.tmpl:32
+msgid "PhpWikiAdministration"
+msgstr ""
+
 #: ../lib/loadsave.php:95 ../lib/loadsave.php:96
 #, fuzzy
 msgid "LoadDump"
 msgstr "ڡ롼"
 
+#: ../lib/loadsave.php:99
+#, php-format
+msgid "PageChange Notification of %s sent to %s"
+msgstr ""
+
+#: ../lib/loadsave.php:102
+#, php-format
+msgid "PageChange Notification Error: Couldn't send %s to %s"
+msgstr ""
+
 #: ../lib/loadsave.php:110
 msgid "Complete."
 msgstr "λޤ"
@@ -1462,545 +1722,545 @@
 msgid "Return to %s"
 msgstr "%s "
 
-#: ../lib/loadsave.php:197
+#: ../lib/loadsave.php:200
 msgid "FullDump"
 msgstr ""
 
-#: ../lib/loadsave.php:201
+#: ../lib/loadsave.php:204
 msgid "LatestSnapshot"
 msgstr ""
 
-#: ../lib/loadsave.php:273 ../lib/loadsave.php:381
+#: ../lib/loadsave.php:276 ../lib/loadsave.php:401
 msgid "You must specify a directory to dump to"
 msgstr ""
 
-#: ../lib/loadsave.php:278 ../lib/loadsave.php:386
+#: ../lib/loadsave.php:281 ../lib/loadsave.php:406
 #, php-format
 msgid "Cannot create directory '%s'"
 msgstr "ǥ쥯ȥ '%s' ޤ"
 
-#: ../lib/loadsave.php:280 ../lib/loadsave.php:388
+#: ../lib/loadsave.php:283 ../lib/loadsave.php:408
 #, php-format
 msgid "Created directory '%s' for the page dump..."
 msgstr ""
 
-#: ../lib/loadsave.php:283 ../lib/loadsave.php:391
+#: ../lib/loadsave.php:286 ../lib/loadsave.php:411
 #, php-format
 msgid "Using directory '%s'"
 msgstr "ǥ쥯ȥ '%s' ѤƤޤ"
 
-#: ../lib/loadsave.php:286 ../lib/loadsave.php:394
+#: ../lib/loadsave.php:289 ../lib/loadsave.php:414
 msgid "Dumping Pages"
 msgstr ""
 
-#: ../lib/loadsave.php:318 ../lib/loadsave.php:451 ../lib/stdlib.php:845
+#: ../lib/loadsave.php:321 ../lib/loadsave.php:471 ../lib/stdlib.php:857
 msgid "Skipped."
 msgstr ""
 
-#: ../lib/loadsave.php:326
+#: ../lib/loadsave.php:329
 #, php-format
 msgid "saved as %s"
 msgstr "%s ¸ޤ"
 
-#: ../lib/loadsave.php:336 ../lib/loadsave.php:469
-#: ../lib/plugin/text2png.php:183
+#: ../lib/loadsave.php:339 ../lib/loadsave.php:503
+#: ../lib/plugin/text2png.php:228
 #, php-format
 msgid "couldn't open file '%s' for writing"
 msgstr ""
 
-#: ../lib/loadsave.php:342 ../lib/loadsave.php:478
+#: ../lib/loadsave.php:345 ../lib/loadsave.php:513
 #, php-format
 msgid "%s bytes written"
 msgstr "%s  ХȽ񤭹ߤޤ"
 
-#: ../lib/loadsave.php:476
+#: ../lib/loadsave.php:511
 #, fuzzy
 msgid "saved as "
 msgstr "%s ¸ޤ"
 
-#: ../lib/loadsave.php:514 ../lib/loadsave.php:533 ../lib/loadsave.php:550
+#: ../lib/loadsave.php:549 ../lib/loadsave.php:569 ../lib/loadsave.php:586
 #, php-format
 msgid "... copied to %s"
 msgstr ""
 
-#: ../lib/loadsave.php:516 ../lib/loadsave.php:535 ../lib/loadsave.php:552
+#: ../lib/loadsave.php:551 ../lib/loadsave.php:571 ../lib/loadsave.php:588
 #, fuzzy, php-format
 msgid "... not copied to %s"
 msgstr "%s: ե뤬Ĥޤ"
 
-#: ../lib/loadsave.php:519 ../lib/loadsave.php:538 ../lib/loadsave.php:555
+#: ../lib/loadsave.php:555 ../lib/loadsave.php:574 ../lib/loadsave.php:592
 #, fuzzy
 msgid "... not found"
 msgstr "%s: ե뤬Ĥޤ"
 
-#: ../lib/loadsave.php:723
+#: ../lib/loadsave.php:760
 msgid "Empty pagename!"
 msgstr "ڡ̤̾Ǥ!"
 
-#: ../lib/loadsave.php:779
+#: ../lib/loadsave.php:770
+#, fuzzy
+msgid "Invalid pagename!"
+msgstr "桼IDѥɤ̵Ǥ"
+
+#: ../lib/loadsave.php:833
 #, php-format
 msgid "from %s"
 msgstr "%s "
 
-#: ../lib/loadsave.php:795
+#: ../lib/loadsave.php:849
 msgid "has edit conflicts - overwriting anyway"
 msgstr ""
 
-#: ../lib/loadsave.php:798 ../lib/loadsave.php:1292 ../lib/loadsave.php:1295
-msgid "The PhpWiki programming team"
+#: ../lib/loadsave.php:858
+msgid "keep old"
 msgstr ""
 
-#: ../lib/loadsave.php:803
+#: ../lib/loadsave.php:860
 msgid "has edit conflicts - skipped"
 msgstr ""
 
-#: ../lib/loadsave.php:814
+#: ../lib/loadsave.php:872
 #, php-format
 msgid "content is identical to current version %d - no new revision created"
 msgstr ""
 
-#: ../lib/loadsave.php:828
+#: ../lib/loadsave.php:886
 #, php-format
 msgid "- saved to database as version %d"
 msgstr ""
 
-#: ../lib/loadsave.php:834 ../lib/loadsave.php:1088
+#: ../lib/loadsave.php:892 ../lib/loadsave.php:1162
 #, php-format
 msgid "MIME file %s"
 msgstr "MIMEե %s"
 
-#: ../lib/loadsave.php:835 ../lib/loadsave.php:1093
+#: ../lib/loadsave.php:893 ../lib/loadsave.php:1173
 #, php-format
 msgid "Serialized file %s"
 msgstr "ꥢ饤ե %s"
 
-#: ../lib/loadsave.php:836 ../lib/loadsave.php:1107
+#: ../lib/loadsave.php:894 ../lib/loadsave.php:1195
 #, php-format
 msgid "plain file %s"
 msgstr "ץ쥤ե %s"
 
-#: ../lib/loadsave.php:843
+#: ../lib/loadsave.php:901 ../lib/plugin/SyncWiki.php:271
 msgid "Merge Edit"
 msgstr ""
 
-#: ../lib/loadsave.php:849
+#: ../lib/loadsave.php:907
 msgid "Restore Anyway"
 msgstr ""
 
-#: ../lib/loadsave.php:857
+#: ../lib/loadsave.php:915
 msgid "Overwrite All"
 msgstr ""
 
-#: ../lib/loadsave.php:864
+#: ../lib/loadsave.php:922
 msgid " Sorry, cannot merge."
 msgstr ""
 
-#: ../lib/loadsave.php:884 ../lib/loadsave.php:894 ../lib/loadsave.php:901
-#: ../lib/loadsave.php:908 ../themes/MonoBook/templates/actionbar.tmpl:37
-#: ../themes/Wordpress/templates/actionbar.tmpl:57
-#: ../themes/default/templates/actionbar.tmpl:26
-#: ../themes/smaller/templates/actionbar.tmpl:29
+#: ../lib/loadsave.php:942 ../lib/loadsave.php:952 ../lib/loadsave.php:959
+#: ../lib/loadsave.php:966 ../themes/MonoBook/templates/actionbar.tmpl:60
+#: ../themes/Wordpress/templates/actionbar.tmpl:58
+#: ../themes/default/templates/actionbar.tmpl:28
+#: ../themes/smaller/templates/actionbar.tmpl:31
 #, fuzzy
 msgid "Revert"
 msgstr "ž"
 
-#: ../lib/loadsave.php:885
+#: ../lib/loadsave.php:943
 msgid "missing required version argument"
 msgstr ""
 
-#: ../lib/loadsave.php:893
+#: ../lib/loadsave.php:951
 #, fuzzy
 msgid "no page content"
 msgstr "ƥ"
 
-#: ../lib/loadsave.php:900
+#: ../lib/loadsave.php:958
 #, fuzzy
 msgid "same version page"
 msgstr "桼ڡ"
 
-#: ../lib/loadsave.php:907
+#: ../lib/loadsave.php:965
 msgid "Cancelled"
 msgstr ""
 
-#: ../lib/loadsave.php:915
+#: ../lib/loadsave.php:973
 msgid "Are you sure?"
 msgstr ""
 
-#: ../lib/loadsave.php:921 ../lib/plugin/PasswordReset.php:104
-#: ../lib/plugin/PasswordReset.php:142 ../lib/plugin/UserPreferences.php:114
-#: ../lib/plugin/WikiAdminChmod.php:146 ../lib/plugin/WikiAdminChown.php:153
-#: ../lib/plugin/WikiAdminMarkup.php:149 ../lib/plugin/WikiAdminRemove.php:188
-#: ../lib/plugin/WikiAdminRename.php:165
+#: ../lib/loadsave.php:979 ../lib/plugin/PasswordReset.php:103
+#: ../lib/plugin/PasswordReset.php:146 ../lib/plugin/UserPreferences.php:114
+#: ../lib/plugin/WatchPage.php:84 ../lib/plugin/WikiAdminChmod.php:146
+#: ../lib/plugin/WikiAdminChown.php:153 ../lib/plugin/WikiAdminMarkup.php:149
+#: ../lib/plugin/WikiAdminRemove.php:188 ../lib/plugin/WikiAdminRename.php:165
 #: ../lib/plugin/WikiAdminSearchReplace.php:180
-#: ../lib/plugin/WikiAdminSetAcl.php:176
+#: ../lib/plugin/WikiAdminSetAcl.php:180
 msgid "Yes"
 msgstr ""
 
-#: ../lib/loadsave.php:923 ../lib/plugin/PasswordReset.php:107
-#: ../lib/plugin/PasswordReset.php:145 ../lib/plugin/TranslateText.php:118
-#: ../lib/plugin/UserPreferences.php:116 ../lib/plugin/WikiAdminChmod.php:159
+#: ../lib/loadsave.php:981 ../lib/plugin/PasswordReset.php:106
+#: ../lib/plugin/PasswordReset.php:149 ../lib/plugin/TranslateText.php:118
+#: ../lib/plugin/UserPreferences.php:116 ../lib/plugin/WatchPage.php:86
+#: ../lib/plugin/WatchPage.php:91 ../lib/plugin/WikiAdminChmod.php:159
 #: ../lib/plugin/WikiAdminChown.php:166 ../lib/plugin/WikiAdminMarkup.php:162
 #: ../lib/plugin/WikiAdminRemove.php:214 ../lib/plugin/WikiAdminRename.php:182
 #: ../lib/plugin/WikiAdminSearchReplace.php:194
 #: ../lib/plugin/WikiAdminSelect.php:218 ../lib/plugin/WikiAdminSelect.php:239
-#: ../lib/plugin/WikiAdminSetAcl.php:189 ../lib/plugin/WikiAdminUtils.php:266
-#: ../lib/plugin/WikiFormRich.php:317 ../lib/removepage.php:24
-#: ../lib/upgrade.php:682 ../themes/default/templates/login.tmpl:78
-#: ../themes/default/templates/userprefs.tmpl:243
+#: ../lib/plugin/WikiAdminSetAcl.php:193 ../lib/plugin/WikiAdminUtils.php:296
+#: ../lib/plugin/WikiFormRich.php:310 ../lib/removepage.php:24
+#: ../lib/upgrade.php:808 ../themes/default/templates/login.tmpl:78
+#: ../themes/default/templates/userprefs.tmpl:244
 msgid "Cancel"
 msgstr ""
 
-#: ../lib/loadsave.php:938
+#: ../lib/loadsave.php:997
 #, fuzzy, php-format
 msgid "revert to version %d"
 msgstr "С %d"
 
-#: ../lib/loadsave.php:943
+#: ../lib/loadsave.php:1002
 #, fuzzy, php-format
 msgid "Revert: %s"
 msgstr "ž"
 
-#: ../lib/loadsave.php:944
+#: ../lib/loadsave.php:1003
 #, php-format
 msgid "- version %d saved to database as version %d"
 msgstr ""
 
-#: ../lib/loadsave.php:972
+#: ../lib/loadsave.php:1031
 msgid "Default InterWiki map file not loaded."
 msgstr ""
 
-#: ../lib/loadsave.php:1122 ../lib/loadsave.php:1135
+#: ../lib/loadsave.php:1210 ../lib/loadsave.php:1223
 msgid "Skipping"
 msgstr ""
 
-#: ../lib/loadsave.php:1236
+#: ../lib/loadsave.php:1324
 #, php-format
-msgid "Unable to load: %s"
+msgid "Empty or not existing source. Unable to load: %s"
 msgstr ""
 
-#: ../lib/loadsave.php:1243
+#: ../lib/loadsave.php:1331
 #, php-format
 msgid "Bad file type: %s"
 msgstr ""
 
-#: ../lib/loadsave.php:1260
+#: ../lib/loadsave.php:1348
 #, php-format
 msgid "Loading '%s'"
 msgstr "'%s' ɹǤ"
 
-#: ../lib/loadsave.php:1298
+#: ../lib/loadsave.php:1386
 msgid "Loading up virgin wiki"
 msgstr ""
 
-#: ../lib/loadsave.php:1344
+#: ../lib/loadsave.php:1436
 msgid "No uploaded file to upload?"
 msgstr ""
 
-#: ../lib/loadsave.php:1348
+#: ../lib/loadsave.php:1440
 #, php-format
 msgid "Uploading %s"
 msgstr "%s 򥢥åץǤ"
 
-#: ../lib/main.php:415
+#: ../lib/main.php:440
 msgid "FORBIDDEN"
 msgstr ""
 
-#: ../lib/main.php:416 ../lib/main.php:426
+#: ../lib/main.php:441 ../lib/main.php:451
 msgid "ANON"
 msgstr ""
 
-#: ../lib/main.php:417
+#: ../lib/main.php:442
 msgid "BOGO"
 msgstr ""
 
-#: ../lib/main.php:418
+#: ../lib/main.php:443
 msgid "USER"
 msgstr ""
 
-#: ../lib/main.php:419
+#: ../lib/main.php:444
 msgid "ADMIN"
 msgstr ""
 
-#: ../lib/main.php:420
+#: ../lib/main.php:445
 msgid "UNOBTAINABLE"
 msgstr ""
 
-#: ../lib/main.php:448 ../lib/main.php:467
+#: ../lib/main.php:473 ../lib/main.php:492
 #, php-format
 msgid "%s is disallowed on this wiki."
 msgstr ""
 
-#: ../lib/main.php:456
+#: ../lib/main.php:481
 #, fuzzy
 msgid "authenticated"
 msgstr "%s ¸ޤ"
 
-#: ../lib/main.php:456
+#: ../lib/main.php:481
 #, fuzzy
 msgid "not authenticated"
 msgstr "%s ¸ޤ"
 
-#: ../lib/main.php:457
-#, php-format
-msgid "%s %s %s is disallowed on this wiki for %s user '%s' (level: %s)."
-msgstr ""
-
-#: ../lib/main.php:458
+#: ../lib/main.php:483
 #, fuzzy
 msgid "Missing PagePermission:"
 msgstr "ڡС:"
 
-#: ../lib/main.php:475
+#: ../lib/main.php:482
+#, php-format
+msgid "%s %s %s is disallowed on this wiki for %s user '%s' (level: %s)."
+msgstr ""
+
+#: ../lib/main.php:500
 #, php-format
 msgid "You must sign in to %s."
 msgstr ""
 
-#: ../lib/main.php:477
+#: ../lib/main.php:502
 #, php-format
 msgid "You must log in to %s."
 msgstr ""
 
-#: ../lib/main.php:479
+#: ../lib/main.php:504
+#, fuzzy
+msgid "You must log in first"
+msgstr "%s Ȥƥ󥤥󤷤ޤ"
+
+#: ../lib/main.php:506
 #, php-format
 msgid "Access for you is forbidden to %s."
 msgstr ""
 
-#: ../lib/main.php:481 ../lib/plugin/PluginManager.php:65
+#: ../lib/main.php:508 ../lib/plugin/PluginManager.php:65
 #, php-format
 msgid "You must be an administrator to %s."
 msgstr ""
 
-#: ../lib/main.php:493
+#: ../lib/main.php:521
 #, fuzzy
 msgid "view this page"
 msgstr "ڡ"
 
-#: ../lib/main.php:494
+#: ../lib/main.php:522
 #, fuzzy
 msgid "diff this page"
 msgstr "ڡԽƤޤ"
 
-#: ../lib/main.php:495
+#: ../lib/main.php:523
 #, fuzzy
 msgid "dump html pages"
 msgstr "HTMLڡϤƤޤ"
 
-#: ../lib/main.php:496
+#: ../lib/main.php:524
 #, fuzzy
 msgid "dump serial pages"
 msgstr "ꥢ饤ڡϤƤޤ"
 
-#: ../lib/main.php:497
+#: ../lib/main.php:525
 #, fuzzy
 msgid "edit this page"
 msgstr "ڡԽƤޤ"
 
-#: ../lib/main.php:498
+#: ../lib/main.php:526
 msgid "revert to a previous version of this page"
 msgstr ""
 
-#: ../lib/main.php:499
+#: ../lib/main.php:527
 #, fuzzy
 msgid "create this page"
 msgstr "ڡƤޤ"
 
-#: ../lib/main.php:500
+#: ../lib/main.php:528
 msgid "load files into this wiki"
 msgstr ""
 
-#: ../lib/main.php:501
+#: ../lib/main.php:529
 #, fuzzy
 msgid "lock this page"
 msgstr "ڡΥåǤ"
 
-#: ../lib/main.php:502
+#: ../lib/main.php:530
 #, fuzzy
 msgid "remove this page"
 msgstr "ڡ"
 
-#: ../lib/main.php:503
+#: ../lib/main.php:531
 #, fuzzy
 msgid "unlock this page"
 msgstr "ڡΥåǤ"
 
-#: ../lib/main.php:504
+#: ../lib/main.php:532
 msgid "upload a zip dump"
 msgstr ""
 
-#: ../lib/main.php:505
+#: ../lib/main.php:533
 msgid "verify the current action"
 msgstr ""
 
-#: ../lib/main.php:506
+#: ../lib/main.php:534
 msgid "view the source of this page"
 msgstr ""
 
-#: ../lib/main.php:507
+#: ../lib/main.php:535
 msgid "access this wiki via XML-RPC"
 msgstr ""
 
-#: ../lib/main.php:508
+#: ../lib/main.php:536
 msgid "access this wiki via SOAP"
 msgstr ""
 
-#: ../lib/main.php:509
+#: ../lib/main.php:537
 msgid "download a zip dump from this wiki"
 msgstr ""
 
-#: ../lib/main.php:510
+#: ../lib/main.php:538
 msgid "download a html zip dump from this wiki"
 msgstr ""
 
-#: ../lib/main.php:534
+#: ../lib/main.php:562
 msgid "Browsing pages"
 msgstr "ڡǤ"
 
-#: ../lib/main.php:535
+#: ../lib/main.php:563
 msgid "Diffing pages"
 msgstr "ڡκʬϤƤޤ"
 
-#: ../lib/main.php:536
+#: ../lib/main.php:564
 msgid "Dumping html pages"
 msgstr "HTMLڡϤƤޤ"
 
-#: ../lib/main.php:537
+#: ../lib/main.php:565
 msgid "Dumping serial pages"
 msgstr "ꥢ饤ڡϤƤޤ"
 
-#: ../lib/main.php:538
+#: ../lib/main.php:566
 msgid "Editing pages"
 msgstr "ڡԽƤޤ"
 
-#: ../lib/main.php:539
+#: ../lib/main.php:567
 msgid "Reverting to a previous version of pages"
 msgstr ""
 
-#: ../lib/main.php:540
+#: ../lib/main.php:568
 msgid "Creating pages"
 msgstr "ڡƤޤ"
 
-#: ../lib/main.php:541
+#: ../lib/main.php:569
 msgid "Loading files"
 msgstr "եɹǤ"
 
-#: ../lib/main.php:542
+#: ../lib/main.php:570
 msgid "Locking pages"
 msgstr "ڡåǤ"
 
-#: ../lib/main.php:543
+#: ../lib/main.php:571
 msgid "Removing pages"
 msgstr "ڡǤ"
 
-#: ../lib/main.php:544
+#: ../lib/main.php:572
 msgid "Unlocking pages"
 msgstr "ڡΥåǤ"
 
-#: ../lib/main.php:545
+#: ../lib/main.php:573
 msgid "Uploading zip dumps"
 msgstr ""
 
-#: ../lib/main.php:546
+#: ../lib/main.php:574
 msgid "Verify the current action"
 msgstr ""
 
-#: ../lib/main.php:547
+#: ../lib/main.php:575
 msgid "Viewing the source of pages"
 msgstr ""
 
-#: ../lib/main.php:548
+#: ../lib/main.php:576
 msgid "XML-RPC access"
 msgstr ""
 
-#: ../lib/main.php:549
+#: ../lib/main.php:577
 msgid "SOAP access"
 msgstr ""
 
-#: ../lib/main.php:550
+#: ../lib/main.php:578
 msgid "Downloading zip dumps"
 msgstr ""
 
-#: ../lib/main.php:551
+#: ../lib/main.php:579
 msgid "Downloading html zip dumps"
 msgstr ""
 
-#: ../lib/main.php:685
+#: ../lib/main.php:720
 #, php-format
 msgid "%s: action forwarded to a moderator."
 msgstr ""
 
-#: ../lib/main.php:688
+#: ../lib/main.php:723
 msgid "This action requires moderator approval. Please be patient."
 msgstr ""
 
-#: ../lib/main.php:693
+#: ../lib/main.php:728
 msgid "You must wait for moderator approval."
 msgstr ""
 
-#: ../lib/main.php:698 ../lib/main.php:1051 ../lib/plugin/ModeratedPage.php:41
-#: ../lib/plugin/ModeratedPage.php:137 ../lib/plugin/ModeratedPage.php:205
-#: ../lib/plugin/ModeratedPage.php:238 ../lib/plugin/ModeratedPage.php:241
-#: ../lib/plugin/ModeratedPage.php:243 ../lib/plugin/ModeratedPage.php:245
-#: ../lib/plugin/ModeratedPage.php:324
-#, fuzzy
-msgid "ModeratedPage"
-msgstr "ڡƤޤ"
-
-#: ../lib/main.php:714
+#: ../lib/main.php:749 ../lib/plugin/ModeratedPage.php:310
 #, php-format
 msgid "%s: Bad action"
 msgstr "%s: ʤǤ"
 
-#: ../lib/main.php:731
+#: ../lib/main.php:766
 msgid "Fatal PhpWiki Error"
 msgstr "̿ŪPhpWikiΥ顼Ǥ"
 
-#: ../lib/main.php:980 ../lib/plugin/WikiAdminChown.php:183
+#: ../lib/main.php:1019 ../lib/plugin/WikiAdminChown.php:183
 #, fuzzy
 msgid "Chown"
 msgstr ""
 
-#: ../lib/main.php:984 ../lib/plugin/WikiAdminSetAcl.php:183
+#: ../lib/main.php:1023 ../lib/plugin/WikiAdminSetAcl.php:187
 msgid "SetAcl"
 msgstr ""
 
-#: ../lib/main.php:988 ../lib/plugin/WikiAdminRename.php:208
+#: ../lib/main.php:1027 ../lib/plugin/WikiAdminRename.php:208
 #, fuzzy
 msgid "Rename"
 msgstr "̾"
 
-#: ../lib/main.php:992 ../lib/main.php:997 ../lib/plugin/PageDump.php:36
+#: ../lib/main.php:1031 ../lib/main.php:1036 ../lib/plugin/PageDump.php:36
 #: ../themes/Crao/templates/actionbar.tmpl:28
-#: ../themes/MonoBook/templates/actionbar.tmpl:48
-#: ../themes/Wordpress/templates/actionbar.tmpl:75
-#: ../themes/default/templates/actionbar.tmpl:35
+#: ../themes/MonoBook/templates/actionbar.tmpl:69
+#: ../themes/Wordpress/templates/actionbar.tmpl:76
+#: ../themes/default/templates/actionbar.tmpl:37
 #: ../themes/shamino_com/templates/actionbar.tmpl:22
-#: ../themes/shamino_com/templates/info.tmpl:168
-#: ../themes/smaller/templates/actionbar.tmpl:39
+#: ../themes/smaller/templates/actionbar.tmpl:41
 #: ../themes/smaller/templates/info.tmpl:11
 #, fuzzy
 msgid "PageDump"
 msgstr "ڡ롼"
 
-#: ../lib/main.php:1011 ../lib/plugin/FullTextSearch.php:39
-#: ../lib/plugin/WantedPagesOld.php:134
+#: ../lib/main.php:1050 ../lib/plugin/FullTextSearch.php:45
 msgid "FullTextSearch"
 msgstr "ʸ"
 
-#: ../lib/main.php:1161
+#: ../lib/main.php:1222
 msgid "The session.save_path directory"
 msgstr ""
 
-#: ../lib/main.php:1164
+#: ../lib/main.php:1225
 #, fuzzy, php-format
 msgid "the session.save_path directory '%s'"
 msgstr "ǥ쥯ȥ '%s' ѤƤޤ"
 
-#: ../lib/main.php:1168
+#: ../lib/main.php:1229
 #, php-format
 msgid "Attempting to use the directory '%s' instead."
 msgstr ""
 
-#: ../lib/main.php:1175
+#: ../lib/main.php:1236
 msgid "Users will not be able to sign in."
 msgstr ""
 
@@ -2028,8 +2288,8 @@
 msgid "Click to display all comments"
 msgstr "ڡΥåǤ"
 
-#: ../lib/plugin/AddComment.php:111 ../lib/plugin/CreateToc.php:372
-#: ../lib/plugin/CreateToc.php:377
+#: ../lib/plugin/AddComment.php:111 ../lib/plugin/CreateToc.php:381
+#: ../lib/plugin/CreateToc.php:401
 #, fuzzy
 msgid "Click to display"
 msgstr "ڡΥåǤ"
@@ -2039,7 +2299,7 @@
 msgid "Comments"
 msgstr ""
 
-#: ../lib/plugin/AllPages.php:34
+#: ../lib/plugin/AllPages.php:34 ../themes/MonoBook/templates/navbar.tmpl:78
 msgid "AllPages"
 msgstr "ڡ"
 
@@ -2052,22 +2312,22 @@
 msgid "All pages in this wiki (%d total):"
 msgstr ""
 
-#: ../lib/plugin/AllPages.php:77 ../lib/plugin/LinkDatabase.php:83
+#: ../lib/plugin/AllPages.php:77 ../lib/plugin/LinkDatabase.php:84
 #, php-format
 msgid "List of pages owned by [%s] (%d total):"
 msgstr ""
 
-#: ../lib/plugin/AllPages.php:87 ../lib/plugin/LinkDatabase.php:90
+#: ../lib/plugin/AllPages.php:89 ../lib/plugin/LinkDatabase.php:91
 #, php-format
 msgid "List of pages last edited by [%s] (%d total):"
 msgstr ""
 
-#: ../lib/plugin/AllPages.php:97 ../lib/plugin/LinkDatabase.php:97
+#: ../lib/plugin/AllPages.php:101 ../lib/plugin/LinkDatabase.php:98
 #, php-format
 msgid "List of pages created by [%s] (%d total):"
 msgstr ""
 
-#: ../lib/plugin/AllPages.php:126 ../lib/plugin/AllUsers.php:105
+#: ../lib/plugin/AllPages.php:133 ../lib/plugin/AllUsers.php:105
 #, php-format
 msgid "Elapsed time: %s s"
 msgstr ""
@@ -2086,121 +2346,122 @@
 msgid "Authenticated users on this wiki (%d total):"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:143
-#: ../lib/plugin/AnalyseAccessLogSql.php:168
+#: ../lib/plugin/AnalyseAccessLogSql.php:162
+#: ../lib/plugin/AnalyseAccessLogSql.php:197
 msgid "0 - last minute"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:144
-#: ../lib/plugin/AnalyseAccessLogSql.php:169
+#: ../lib/plugin/AnalyseAccessLogSql.php:163
+#: ../lib/plugin/AnalyseAccessLogSql.php:198
 msgid "1 - 1 minute to 1 hour"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:145
-#: ../lib/plugin/AnalyseAccessLogSql.php:170
+#: ../lib/plugin/AnalyseAccessLogSql.php:164
+#: ../lib/plugin/AnalyseAccessLogSql.php:199
 msgid "2 - 1 hour to 1 day"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:146
-#: ../lib/plugin/AnalyseAccessLogSql.php:171
+#: ../lib/plugin/AnalyseAccessLogSql.php:165
+#: ../lib/plugin/AnalyseAccessLogSql.php:200
 msgid "3 - 1 day to 1 week"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:147
-#: ../lib/plugin/AnalyseAccessLogSql.php:172
+#: ../lib/plugin/AnalyseAccessLogSql.php:166
+#: ../lib/plugin/AnalyseAccessLogSql.php:201
 msgid "4 - 1 week to 1 month"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:148
-#: ../lib/plugin/AnalyseAccessLogSql.php:173
+#: ../lib/plugin/AnalyseAccessLogSql.php:167
+#: ../lib/plugin/AnalyseAccessLogSql.php:202
 msgid "5 - 1 month to 1 year"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:149
-#: ../lib/plugin/AnalyseAccessLogSql.php:174
+#: ../lib/plugin/AnalyseAccessLogSql.php:168
+#: ../lib/plugin/AnalyseAccessLogSql.php:203
 msgid "6 - more than 1 year"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:193
+#: ../lib/plugin/AnalyseAccessLogSql.php:222
 msgid "referring_urls"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:194
+#: ../lib/plugin/AnalyseAccessLogSql.php:223
 msgid "external_referers"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:195
+#: ../lib/plugin/AnalyseAccessLogSql.php:224
 msgid "referring_domains"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:196
+#: ../lib/plugin/AnalyseAccessLogSql.php:225
 msgid "remote_hosts"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:197
+#: ../lib/plugin/AnalyseAccessLogSql.php:226
 #, fuzzy
 msgid "users"
 msgstr "桼"
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:198
+#: ../lib/plugin/AnalyseAccessLogSql.php:227
 msgid "host_users"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:199
+#: ../lib/plugin/AnalyseAccessLogSql.php:228
 msgid "search_bots"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:200
+#: ../lib/plugin/AnalyseAccessLogSql.php:229
 msgid "search_bots_hits"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:202
+#: ../lib/plugin/AnalyseAccessLogSql.php:231
 msgid "minutes"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:203
+#: ../lib/plugin/AnalyseAccessLogSql.php:232
 msgid "hours"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:204 ../lib/plugin/VisualWiki.php:499
+#: ../lib/plugin/AnalyseAccessLogSql.php:233 ../lib/plugin/VisualWiki.php:503
 msgid "days"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:205
+#: ../lib/plugin/AnalyseAccessLogSql.php:234
 msgid "weeks"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:223
+#: ../lib/plugin/AnalyseAccessLogSql.php:252
 msgid "AnalyseAccessLogSql"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:227
+#: ../lib/plugin/AnalyseAccessLogSql.php:256
 msgid "Show summary information from the access log table."
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:240
+#: ../lib/plugin/AnalyseAccessLogSql.php:269
 msgid "The requested information is available only to Administrators."
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:243
+#: ../lib/plugin/AnalyseAccessLogSql.php:272
 msgid "The SQL_ACCESS_LOG is not enabled."
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:254
+#: ../lib/plugin/AnalyseAccessLogSql.php:283
 #, php-format
 msgid "Unrecognised parameter 'mode=%s'"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:273 ../lib/plugin/_BackendInfo.php:97
+#: ../lib/plugin/AnalyseAccessLogSql.php:302
+#: ../lib/plugin/SemanticSearch.php:382 ../lib/plugin/_BackendInfo.php:124
 msgid "<empty>"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:342
+#: ../lib/plugin/AnalyseAccessLogSql.php:382
 #, fuzzy
 msgid "mode"
 msgstr "ڡ"
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:344
+#: ../lib/plugin/AnalyseAccessLogSql.php:384
 #, fuzzy
 msgid "period"
 msgstr "С %d"
@@ -2246,10 +2507,18 @@
 msgid "Render ASCII Math as MathML"
 msgstr ""
 
+#: ../lib/plugin/AsciiSVG.php:32
+msgid "AsciiSVG"
+msgstr ""
+
+#: ../lib/plugin/AsciiSVG.php:36
+msgid "Render inline ASCII SVG"
+msgstr ""
+
 #: ../lib/plugin/AuthorHistory.php:70
+#: ../themes/MonoBook/templates/actionbar.tmpl:67
 #: ../themes/MonoBook/templates/info.tmpl:168
 #: ../themes/blog/templates/info.tmpl:3
-#: ../themes/shamino_com/templates/info.tmpl:167
 #: ../themes/smaller/templates/info.tmpl:7
 #, fuzzy
 msgid "AuthorHistory"
@@ -2268,9 +2537,8 @@
 
 #: ../lib/plugin/AuthorHistory.php:125
 #: ../themes/MonoBook/templates/info.tmpl:77
-#: ../themes/default/templates/info.tmpl:70
+#: ../themes/default/templates/info.tmpl:69
 #: ../themes/default/templates/wikiforum.tmpl:22
-#: ../themes/shamino_com/templates/info.tmpl:76
 #, fuzzy
 msgid "Author"
 msgstr "Խ:"
@@ -2280,12 +2548,9 @@
 #: ../themes/Crao/templates/editpage.tmpl:48
 #: ../themes/MonoBook/templates/info.tmpl:78
 #: ../themes/Portland/templates/editpage.tmpl:39
-#: ../themes/Wordpress/templates/editpage.tmpl:48
-#: ../themes/blog/templates/blogform.tmpl:15
-#: ../themes/default/templates/blogform.tmpl:15
+#: ../themes/Wordpress/templates/editpage.tmpl:46
 #: ../themes/default/templates/editpage.tmpl:47
-#: ../themes/default/templates/info.tmpl:71
-#: ../themes/shamino_com/templates/info.tmpl:77
+#: ../themes/default/templates/info.tmpl:70
 msgid "Summary"
 msgstr ""
 
@@ -2299,63 +2564,67 @@
 msgid "History of all major and minor edits by %s to page %s."
 msgstr ""
 
-#: ../lib/plugin/AuthorHistory.php:156
-#, php-format
-msgid "History of all major edits by %s to page %s."
-msgstr ""
-
 #: ../lib/plugin/AuthorHistory.php:218
 #, php-format
 msgid "History of all major and minor modifications for any page edited by %s."
 msgstr ""
 
-#: ../lib/plugin/AuthorHistory.php:218
-#, php-format
-msgid "History of major modifications for any page edited by %s."
-msgstr ""
-
 #: ../lib/plugin/BackLinks.php:35
 #, php-format
 msgid "List all pages which link to %s."
 msgstr ""
 
-#: ../lib/plugin/BackLinks.php:70 ../lib/plugin/ListPages.php:122
+#: ../lib/plugin/BackLinks.php:73 ../lib/plugin/ListPages.php:122
 #: ../lib/plugin/ListPages.php:125 ../lib/plugin/ListSubpages.php:89
 msgid "#"
 msgstr ""
 
-#: ../lib/plugin/BackLinks.php:96
+#: ../lib/plugin/BackLinks.php:126
 #, php-format
 msgid "No other page links to %s yet."
 msgstr ""
 
-#: ../lib/plugin/BackLinks.php:99
+#: ../lib/plugin/BackLinks.php:129
 #, php-format
 msgid "One page would link to %s:"
 msgstr ""
 
-#: ../lib/plugin/BackLinks.php:108
+#: ../lib/plugin/BackLinks.php:138
 #, php-format
 msgid "%s pages would link to %s:"
 msgstr ""
 
-#: ../lib/plugin/BackLinks.php:116
+#: ../lib/plugin/BackLinks.php:147 ../lib/plugin/SemanticSearch.php:129
+#: ../lib/plugin/SemanticSearch.php:205
+msgid "AND"
+msgstr ""
+
+#: ../lib/plugin/BackLinks.php:153
 #, php-format
 msgid "No page links to %s."
 msgstr ""
 
-#: ../lib/plugin/BackLinks.php:121
+#: ../lib/plugin/BackLinks.php:158
 #, php-format
 msgid "One page links to %s:"
 msgstr ""
 
-#: ../lib/plugin/BackLinks.php:130
+#: ../lib/plugin/BackLinks.php:168
+#, fuzzy
+msgid "Those"
+msgstr "ơ"
+
+#: ../lib/plugin/BackLinks.php:167
 #, php-format
 msgid "%s pages link to %s:"
 msgstr ""
 
+#: ../lib/plugin/BackLinks.php:176
+msgid "More..."
+msgstr ""
+
 #: ../lib/plugin/BlogArchives.php:24 ../lib/plugin/BlogArchives.php:134
-#: ../themes/blog/templates/actionbar.tmpl:17
+#: ../themes/blog/templates/actionbar.tmpl:11
 msgid "Archives"
 msgstr ""
 
@@ -2363,13 +2632,13 @@
 msgid "List blog months links for the current or ADMIN user"
 msgstr ""
 
-#: ../lib/plugin/BlogArchives.php:88 ../lib/plugin/BlogJournal.php:85
+#: ../lib/plugin/BlogArchives.php:88 ../lib/plugin/BlogJournal.php:88
 #, php-format
 msgid "Blog Entries for %s:"
 msgstr ""
 
 #: ../lib/plugin/BlogArchives.php:96
-#: ../themes/blog/templates/actionbar.tmpl:17
+#: ../themes/blog/templates/actionbar.tmpl:11
 msgid "BlogArchives"
 msgstr ""
 
@@ -2385,38 +2654,33 @@
 msgid "Include latest blog entries for the current or ADMIN user"
 msgstr ""
 
-#: ../lib/plugin/BlogJournal.php:81 ../lib/plugin/WikiBlog.php:75
-msgid "WikiBlog"
-msgstr ""
+#: ../lib/plugin/BlogJournal.php:84
+#, fuzzy
+msgid "New entry"
+msgstr ""
 
-#: ../lib/plugin/BlogJournal.php:83
+#: ../lib/plugin/BlogJournal.php:86
 msgid "No Blog Entries"
 msgstr ""
 
-#: ../lib/plugin/Calendar.php:41 ../lib/plugin/Calendar.php:45
-#: ../themes/Crao/templates/head.tmpl:89
-#: ../themes/Crao/templates/navbar.tmpl:28
-#: ../themes/Sidebar/templates/body.tmpl:21
-#: ../themes/Sidebar/templates/body.tmpl:26 ../themes/Sidebar/themeinfo.php:44
-#: ../themes/Wordpress/templates/actionbar.tmpl:31
-#: ../themes/blog/templates/sidebar.tmpl:18
-#: ../themes/default/templates/head.tmpl:96
-#: ../themes/default/templates/homepage.tmpl:15
-#: ../themes/default/templates/navbar.tmpl:45
-#: ../themes/wikilens/templates/head.tmpl:89
-#: ../themes/wikilens/templates/navbar.tmpl:35
-msgid "Calendar"
-msgstr ""
+#: ../lib/plugin/BoxRight.php:34
+msgid "A simple plugin for <div class=boxright> with wikimarkup"
+msgstr ""
 
-#: ../lib/plugin/Calendar.php:95
+#: ../lib/plugin/Calendar.php:96
 msgid "Previous Month"
 msgstr "η"
 
-#: ../lib/plugin/Calendar.php:99
+#: ../lib/plugin/Calendar.php:100
 msgid "Next Month"
 msgstr "η"
 
-#: ../lib/plugin/Calendar.php:169 ../lib/plugin/CalendarList.php:135
+#: ../lib/plugin/Calendar.php:133
+#, fuzzy
+msgid "Wk"
+msgstr ""
+
+#: ../lib/plugin/Calendar.php:174 ../lib/plugin/CalendarList.php:135
 #, php-format
 msgid "Edit %s"
 msgstr "%s Խ"
@@ -2437,8 +2701,6 @@
 msgstr "ڡƤޤ"
 
 #: ../lib/plugin/Comment.php:22 ../themes/Crao/templates/blogform.tmpl:15
-#: ../themes/blog/templates/blogform.tmpl:21
-#: ../themes/default/templates/blogform.tmpl:21
 msgid "Comment"
 msgstr ""
 
@@ -2455,28 +2717,28 @@
 msgid "Automatically create a Bibtex file from linked pages"
 msgstr ""
 
-#: ../lib/plugin/CreateBib.php:121 ../lib/plugin/CreateToc.php:302
-#: ../lib/plugin/IncludePage.php:77 ../lib/plugin/RateIt.php:208
-#: ../lib/plugin/Template.php:102
+#: ../lib/plugin/CreateBib.php:121 ../lib/plugin/CreateToc.php:306
+#: ../lib/plugin/IncludePage.php:77 ../lib/plugin/RateIt.php:207
+#: ../lib/plugin/Template.php:110
 msgid "no page specified"
 msgstr ""
 
-#: ../lib/plugin/CreatePage.php:39
+#: ../lib/plugin/CreatePage.php:42
 #, fuzzy
 msgid "CreatePage"
 msgstr "ڡƤޤ"
 
-#: ../lib/plugin/CreatePage.php:43
+#: ../lib/plugin/CreatePage.php:46
 #, fuzzy
 msgid "Create a Wiki page by the provided name."
 msgstr "ڡƤޤ"
 
-#: ../lib/plugin/CreatePage.php:92
+#: ../lib/plugin/CreatePage.php:96
 #, php-format
 msgid "%s already exists"
 msgstr ""
 
-#: ../lib/plugin/CreatePage.php:103
+#: ../lib/plugin/CreatePage.php:112
 #, fuzzy
 msgid "Created by CreatePage"
 msgstr "ڡƤޤ"
@@ -2490,45 +2752,50 @@
 msgid "Automatically link headers at the top"
 msgstr ""
 
-#: ../lib/plugin/CreateToc.php:313
+#: ../lib/plugin/CreateToc.php:317
 msgid "CreateToc disabled for old markup"
 msgstr ""
 
-#: ../lib/plugin/CreateToc.php:369
+#: ../lib/plugin/CreateToc.php:377
 msgid "Click to hide the TOC"
 msgstr ""
 
-#: ../lib/plugin/CreateToc.php:379 ../lib/plugin/CreateToc.php:382
+#: ../lib/plugin/CreateToc.php:386 ../lib/plugin/CreateToc.php:403
 #, fuzzy
 msgid "Table Of Contents"
 msgstr "ƥ"
 
+#: ../lib/plugin/CreateToc.php:392
+#, fuzzy
+msgid "Click to display to TOC"
+msgstr "ڡΥåǤ"
+
 #: ../lib/plugin/DeadEndPages.php:24
 #, fuzzy
 msgid "DeadEndPages"
 msgstr "ڡ"
 
-#: ../lib/plugin/Diff.php:40
+#: ../lib/plugin/Diff.php:41
 msgid "Display differences between revisions"
 msgstr ""
 
-#: ../lib/plugin/Diff.php:52
+#: ../lib/plugin/Diff.php:53
 msgid "World"
 msgstr ""
 
-#: ../lib/plugin/EditMetaData.php:45 ../lib/plugin/_WikiTranslation.php:61
+#: ../lib/plugin/EditMetaData.php:48 ../lib/plugin/_WikiTranslation.php:61
 msgid "EditMetaData"
 msgstr "METAǡԽ"
 
-#: ../lib/plugin/EditMetaData.php:49
+#: ../lib/plugin/EditMetaData.php:52
 #, php-format
 msgid "Edit metadata for %s"
 msgstr "%s METAǡԽ"
 
-#: ../lib/plugin/EditMetaData.php:109
-#, php-format
-msgid "Existing page-level metadata for %s:"
-msgstr ""
+#: ../lib/plugin/EditMetaData.php:132
+#, fuzzy, php-format
+msgid "No metadata for %s"
+msgstr "%s METAǡԽ"
 
 #: ../lib/plugin/EditMetaData.php:146
 msgid ""
@@ -2536,22 +2803,27 @@
 "remove a key by leaving the value-box empty."
 msgstr ""
 
-#: ../lib/plugin/EditMetaData.php:149 ../lib/upgrade.php:680
+#: ../lib/plugin/EditMetaData.php:149 ../lib/upgrade.php:806
 msgid "Submit"
 msgstr ""
 
-#: ../lib/plugin/EditMetaData.php:161
+#: ../lib/plugin/EditMetaData.php:164
 msgid "Requires WikiAdmin privileges to edit."
 msgstr ""
 
-#: ../lib/plugin/ExternalSearch.php:38
+#: ../lib/plugin/ExternalSearch.php:40
 msgid "ExternalSearch"
 msgstr ""
 
-#: ../lib/plugin/ExternalSearch.php:42
+#: ../lib/plugin/ExternalSearch.php:44
 msgid "Redirects to an external web site based on form input"
 msgstr ""
 
+#: ../lib/plugin/ExternalSearch.php:140 ../lib/plugin/PhotoAlbum.php:479
+#, fuzzy, php-format
+msgid "Invalid argument: %s=%s"
+msgstr "饤"
+
 #: ../lib/plugin/FileInfo.php:39
 #, fuzzy
 msgid "FileInfo"
@@ -2561,13 +2833,23 @@
 msgid "Display file information like version,size,date,... of uploaded files."
 msgstr ""
 
-#: ../lib/plugin/FileInfo.php:63 ../lib/plugin/FileInfo.php:65
-#: ../lib/plugin/PageGroup.php:104 ../lib/plugin/WikiFormRich.php:163
-#: ../lib/plugin/WikiFormRich.php:179
+#: ../lib/plugin/FileInfo.php:64 ../lib/plugin/FileInfo.php:66
+#: ../lib/plugin/PageGroup.php:104 ../lib/plugin/SyncWiki.php:75
+#: ../lib/plugin/WikiFormRich.php:177 ../lib/plugin/WikiFormRich.php:193
 #, php-format
 msgid "A required argument '%s' is missing."
 msgstr ""
 
+#: ../lib/plugin/FileInfo.php:85
+msgid ""
+"Output suppressed. FileInfoPlugin with local files require a locked page."
+msgstr ""
+
+#: ../lib/plugin/FileInfo.php:86
+#, fuzzy
+msgid "page not locked"
+msgstr "ڡϥåǤ"
+
 #: ../lib/plugin/FoafViewer.php:52
 msgid "FoafViewer"
 msgstr ""
@@ -2615,7 +2897,7 @@
 msgstr ""
 
 #: ../lib/plugin/FrameInclude.php:93 ../lib/plugin/IncludePage.php:84
-#: ../lib/plugin/Template.php:108
+#: ../lib/plugin/Template.php:116
 #, php-format
 msgid "recursive inclusion of page %s"
 msgstr ""
@@ -2625,32 +2907,33 @@
 msgid "%s or %s parameter missing"
 msgstr ""
 
-#: ../lib/plugin/FrameInclude.php:105 ../lib/plugin/Transclude.php:81
+#: ../lib/plugin/FrameInclude.php:105 ../lib/plugin/Transclude.php:91
 #, php-format
 msgid "recursive inclusion of url %s"
 msgstr ""
 
-#: ../lib/plugin/FrameInclude.php:112 ../lib/plugin/TeX2png.php:216
-#: ../lib/plugin/text2png.php:69 ../lib/plugin/text2png.php:122
+#: ../lib/plugin/FrameInclude.php:112 ../lib/plugin/SemanticSearch.php:263
+#: ../lib/plugin/TeX2png.php:216 ../lib/plugin/text2png.php:87
+#: ../lib/plugin/text2png.php:173
 #, php-format
 msgid "See %s"
 msgstr "%s 򻲾"
 
-#: ../lib/plugin/FullTextSearch.php:43
+#: ../lib/plugin/FullTextSearch.php:49
 msgid "Search the content of all pages in this wiki."
 msgstr ""
 
-#: ../lib/plugin/FullTextSearch.php:105
+#: ../lib/plugin/FullTextSearch.php:110
 #, php-format
 msgid "only %d pages displayed"
 msgstr ""
 
-#: ../lib/plugin/FullTextSearch.php:110
+#: ../lib/plugin/FullTextSearch.php:115
 #, php-format
 msgid "Ignored stoplist words '%s'"
 msgstr ""
 
-#: ../lib/plugin/FullTextSearch.php:115
+#: ../lib/plugin/FullTextSearch.php:120
 #, php-format
 msgid "Full text search results for '%s'"
 msgstr ""
@@ -2695,6 +2978,7 @@
 
 #: ../lib/plugin/GoTo.php:59 ../lib/plugin/WikiAdminSelect.php:135
 #: ../lib/plugin/WikiAdminSelect.php:146
+#: ../themes/MonoBook/templates/navbar.tmpl:32
 msgid "Go"
 msgstr ""
 
@@ -2744,16 +3028,22 @@
 msgid "GraphViz image or imagemap creation of directed graphs"
 msgstr ""
 
-#: ../lib/plugin/GraphViz.php:265 ../lib/plugin/GraphViz.php:335
+#: ../lib/plugin/GraphViz.php:210 ../lib/plugin/_WikiTranslation.php:319
+#, fuzzy, php-format
+msgid "%s is empty"
+msgstr "%s Ǥ"
+
+#: ../lib/plugin/GraphViz.php:274
 msgid "No dot graph given"
 msgstr ""
 
-#: ../lib/plugin/GraphViz.php:276 ../lib/plugin/SyntaxHighlighter.php:173
+#: ../lib/plugin/GraphViz.php:282 ../lib/plugin/GraphViz.php:290
+#: ../lib/plugin/SpellCheck.php:143 ../lib/plugin/SyntaxHighlighter.php:173
 #, php-format
 msgid "Couldn't start commandline '%s'"
 msgstr ""
 
-#: ../lib/plugin/GraphViz.php:279 ../lib/plugin/Ploticus.php:239
+#: ../lib/plugin/GraphViz.php:294 ../lib/plugin/Ploticus.php:248
 #, php-format
 msgid "%s error: outputfile '%s' not created"
 msgstr ""
@@ -2770,11 +3060,6 @@
 msgid "Convert HTML markup into wiki markup. (Version 0.5)"
 msgstr ""
 
-#: ../lib/plugin/HtmlConverter.php:66 ../lib/plugin/UpLoad.php:115
-#: ../lib/plugin/WikiForm.php:103
-msgid "Upload"
-msgstr "åץ"
-
 #: ../lib/plugin/HtmlConverter.php:78
 msgid "Only files with extension HTML are allowed"
 msgstr ""
@@ -2783,6 +3068,10 @@
 msgid "Copy the output below and paste it into your Wiki page."
 msgstr ""
 
+#: ../lib/plugin/Imdb.php:55
+msgid "Query a local imdb database"
+msgstr ""
+
 #: ../lib/plugin/IncludePage.php:34
 msgid "IncludePage"
 msgstr ""
@@ -2792,7 +3081,7 @@
 msgstr ""
 
 #: ../lib/plugin/IncludePage.php:92 ../lib/plugin/PageGroup.php:131
-#: ../lib/plugin/Template.php:116
+#: ../lib/plugin/Template.php:124
 #, php-format
 msgid "%s(%d): no such revision"
 msgstr ""
@@ -2829,10 +3118,24 @@
 msgid "Perform searches on InterWiki sites listed in InterWikiMap."
 msgstr ""
 
-#: ../lib/plugin/InterWikiSearch.php:90
+#: ../lib/plugin/InterWikiSearch.php:92
 msgid "Wiki Name"
 msgstr "Wiki̾"
 
+#: ../lib/plugin/InterWikiSearch.php:93 ../lib/plugin/RecentChanges.php:724
+#: ../themes/Crao/templates/navbar.tmpl:42
+#: ../themes/Crao/templates/navbar.tmpl:44
+#: ../themes/Crao/templates/navbar.tmpl:48
+#: ../themes/blog/templates/search.tmpl:6
+#: ../themes/blog/templates/search.tmpl:7
+#: ../themes/blog/templates/search.tmpl:9
+#: ../themes/blog/templates/search.tmpl:13
+#: ../themes/default/templates/search.tmpl:6
+#: ../themes/default/templates/search.tmpl:15
+#: ../themes/default/templates/search.tmpl:27
+msgid "Search"
+msgstr ""
+
 #: ../lib/plugin/JabberPresence.php:23
 #, fuzzy
 msgid "JabberPresence"
@@ -2842,25 +3145,34 @@
 msgid "Simple jabber presence plugin"
 msgstr ""
 
-#: ../lib/plugin/LdapSearch.php:57
+#: ../lib/plugin/LdapSearch.php:54
 #, fuzzy
 msgid "LdapSearch"
 msgstr ""
 
-#: ../lib/plugin/LdapSearch.php:60
+#: ../lib/plugin/LdapSearch.php:57
 msgid "Search an LDAP directory"
 msgstr ""
 
-#: ../lib/plugin/LdapSearch.php:83
-msgid "Failed to set LDAP protocol version to 3"
+#: ../lib/plugin/LdapSearch.php:81
+#, fuzzy
+msgid "Missing ldap extension"
+msgstr "ڡС:"
+
+#: ../lib/plugin/LdapSearch.php:103
+msgid "Failed to connect to LDAP host"
+msgstr ""
+
+#: ../lib/plugin/LdapSearch.php:136
+msgid "Failed to bind LDAP host"
 msgstr ""
 
 #: ../lib/plugin/LikePages.php:32 ../themes/Crao/templates/navbar.tmpl:16
-#: ../themes/Portland/templates/navbar.tmpl:10
-#: ../themes/Wordpress/templates/actionbar.tmpl:90
+#: ../themes/Portland/templates/navbar.tmpl:7
+#: ../themes/Wordpress/templates/actionbar.tmpl:91
 #: ../themes/default/templates/navbar.tmpl:33
 #: ../themes/smaller/templates/navbar.tmpl:15
-#: ../themes/wikilens/templates/navbar.tmpl:24
+#: ../themes/wikilens/templates/navbar.tmpl:21
 msgid "LikePages"
 msgstr ""
 
@@ -2884,31 +3196,67 @@
 msgid "These pages share an initial or final title word with '%s'"
 msgstr ""
 
-#: ../lib/plugin/LinkDatabase.php:41
-msgid "LinkDatabase"
-msgstr ""
-
-#: ../lib/plugin/LinkDatabase.php:47
+#: ../lib/plugin/LinkDatabase.php:48
 msgid ""
 "List all pages with all links in various formats for some Java Visualization "
 "tools"
 msgstr ""
 
-#: ../lib/plugin/LinkDatabase.php:77
+#: ../lib/plugin/LinkDatabase.php:78
 #, php-format
 msgid "All pages with all links in this wiki (%d total):"
 msgstr ""
 
-#: ../lib/plugin/LinkDatabase.php:109
+#: ../lib/plugin/LinkDatabase.php:111 ../lib/plugin/WantedPages.php:87
 #, fuzzy
 msgid "Links"
 msgstr ""
 
-#: ../lib/plugin/LinkDatabase.php:169
+#: ../lib/plugin/LinkDatabase.php:173
 #, fuzzy, php-format
 msgid "Unsupported format argument %s"
 msgstr "ݡȥơް"
 
+#: ../lib/plugin/LinkSearch.php:35 ../lib/plugin/LinkSearch.php:113
+#, fuzzy
+msgid "LinkSearch"
+msgstr "ȥ븡"
+
+#: ../lib/plugin/LinkSearch.php:38
+msgid "Search page and link names"
+msgstr ""
+
+#: ../lib/plugin/LinkSearch.php:65 ../lib/plugin/SemanticSearch.php:94
+msgid "Search only in these pages. With autocompletion."
+msgstr ""
+
+#: ../lib/plugin/LinkSearch.php:74 ../lib/plugin/SemanticSearch.php:117
+msgid "Filter by this link. These are pagenames. With autocompletion."
+msgstr ""
+
+#: ../lib/plugin/LinkSearch.php:98
+#, fuzzy
+msgid "outgoing"
+msgstr ""
+
+#: ../lib/plugin/LinkSearch.php:99
+msgid "incoming"
+msgstr ""
+
+#: ../lib/plugin/LinkSearch.php:114
+msgid "Search in pages for links with the matching name."
+msgstr ""
+
+#: ../lib/plugin/LinkSearch.php:148 ../lib/plugin/SemanticSearch.php:305
+#, fuzzy
+msgid "Link"
+msgstr ""
+
+#: ../lib/plugin/LinkSearch.php:158
+#, php-format
+msgid "LinkSearch result for \"%s\" in pages \"%s\", direction %s"
+msgstr ""
+
 #: ../lib/plugin/ListPages.php:38
 #, fuzzy
 msgid "ListPages"
@@ -2922,6 +3270,16 @@
 msgid "You must be logged in to view ratings."
 msgstr ""
 
+#: ../lib/plugin/ListRelations.php:34
+msgid "ListRelations"
+msgstr ""
+
+#: ../lib/plugin/ListRelations.php:37
+msgid ""
+"Display the list of all defined relations and optionnally attributes in this "
+"entrire wiki"
+msgstr ""
+
 #: ../lib/plugin/ListSubpages.php:34
 #, fuzzy
 msgid "ListSubpages"
@@ -2951,12 +3309,12 @@
 msgid "Support moderated pages"
 msgstr "ݡȸ"
 
-#: ../lib/plugin/ModeratedPage.php:141 ../lib/plugin/ModeratedPage.php:165
-#: ../lib/plugin/ModeratedPage.php:210
+#: ../lib/plugin/ModeratedPage.php:153 ../lib/plugin/ModeratedPage.php:178
+#: ../lib/plugin/ModeratedPage.php:224
 msgid "ModeratedPage: No emails for the moderators defined"
 msgstr ""
 
-#: ../lib/plugin/ModeratedPage.php:147
+#: ../lib/plugin/ModeratedPage.php:159
 #, php-format
 msgid ""
 "ModeratedPage status update:\n"
@@ -2964,12 +3322,12 @@
 "  require_access: '%s'"
 msgstr ""
 
-#: ../lib/plugin/ModeratedPage.php:152
+#: ../lib/plugin/ModeratedPage.php:164
 #, php-format
 msgid "'%s' is no ModeratedPage anymore."
 msgstr ""
 
-#: ../lib/plugin/ModeratedPage.php:171
+#: ../lib/plugin/ModeratedPage.php:184
 #, php-format
 msgid ""
 "ModeratedPage status update: '%s' is now a ModeratedPage.\n"
@@ -2977,34 +3335,43 @@
 "  require_access: '%s'"
 msgstr ""
 
-#: ../lib/plugin/ModeratedPage.php:232
+#: ../lib/plugin/ModeratedPage.php:250
 #, php-format
 msgid "%s: action forwarded to moderator %s"
 msgstr ""
 
-#: ../lib/plugin/ModeratedPage.php:252
+#: ../lib/plugin/ModeratedPage.php:276
 msgid "ModeratedPage Notification Error: Couldn't send email"
 msgstr ""
 
-#: ../lib/plugin/ModeratedPage.php:287
+#: ../lib/plugin/ModeratedPage.php:355
+#, php-format
+msgid "%s approved your wiki action from %s"
+msgstr ""
+
+#: ../lib/plugin/ModeratedPage.php:367
 msgid "Please approve or reject this request:"
 msgstr ""
 
-#: ../lib/plugin/ModeratedPage.php:298
+#: ../lib/plugin/ModeratedPage.php:403
+msgid "Reason: "
+msgstr ""
+
+#: ../lib/plugin/ModeratedPage.php:404
 msgid "Approve"
 msgstr ""
 
-#: ../lib/plugin/ModeratedPage.php:300
+#: ../lib/plugin/ModeratedPage.php:406
 #, fuzzy
 msgid "Reject"
 msgstr "ž"
 
-#: ../lib/plugin/ModeratedPage.php:325 ../lib/plugin/ModeratedPage.php:332
+#: ../lib/plugin/ModeratedPage.php:434 ../lib/plugin/ModeratedPage.php:441
 #, php-format
 msgid "<?plugin ModeratedPage ... ?> not found in first line of %s"
 msgstr ""
 
-#: ../lib/plugin/ModeratedPage.php:328
+#: ../lib/plugin/ModeratedPage.php:437
 #, fuzzy, php-format
 msgid "%s is not locked!"
 msgstr "%s: ե뤬Ĥޤ"
@@ -3035,6 +3402,16 @@
 msgid "Visited pages on this wiki, ordered by popularity:"
 msgstr ""
 
+#: ../lib/plugin/NewPagesPerUser.php:19
+#, fuzzy
+msgid "NewPagesPerUser"
+msgstr "ڡ"
+
+#: ../lib/plugin/NewPagesPerUser.php:23
+#, fuzzy
+msgid "List all new pages per month per user"
+msgstr "%sǥȤޤ"
+
 #: ../lib/plugin/NoCache.php:39
 msgid "NoCache"
 msgstr ""
@@ -3078,67 +3455,68 @@
 msgid "Page %s not found."
 msgstr "ڡϥåǤ"
 
-#: ../lib/plugin/PageDump.php:127
+#: ../lib/plugin/PageDump.php:128
 msgid "Download for CVS"
 msgstr ""
 
-#: ../lib/plugin/PageDump.php:132
+#: ../lib/plugin/PageDump.php:133
 msgid "Download for backup"
 msgstr ""
 
-#: ../lib/plugin/PageDump.php:138
+#: ../lib/plugin/PageDump.php:139
 msgid "Download all revisions for backup"
 msgstr ""
 
-#: ../lib/plugin/PageDump.php:141
+#: ../lib/plugin/PageDump.php:142
 #, php-format
 msgid "Preview: Page dump of %s"
 msgstr ""
 
-#: ../lib/plugin/PageDump.php:148
+#: ../lib/plugin/PageDump.php:149
 msgid ""
 "(formatted for PhpWiki developers as pgsrc template, not for backing up)"
 msgstr ""
 
-#: ../lib/plugin/PageDump.php:151 ../lib/plugin/PageDump.php:171
+#: ../lib/plugin/PageDump.php:152 ../lib/plugin/PageDump.php:172
 msgid "Preview as normal format"
 msgstr ""
 
-#: ../lib/plugin/PageDump.php:157 ../lib/plugin/PageDump.php:184
+#: ../lib/plugin/PageDump.php:158 ../lib/plugin/PageDump.php:185
 msgid "Preview as backup format"
 msgstr ""
 
-#: ../lib/plugin/PageDump.php:161
+#: ../lib/plugin/PageDump.php:162
 msgid "(formatted for backing up: all revisions)"
 msgstr ""
 
-#: ../lib/plugin/PageDump.php:165 ../lib/plugin/PageDump.php:178
+#: ../lib/plugin/PageDump.php:166 ../lib/plugin/PageDump.php:179
 msgid "Preview as developer format"
 msgstr ""
 
-#: ../lib/plugin/PageDump.php:174
+#: ../lib/plugin/PageDump.php:175
 msgid "(normal formatting: latest revision only)"
 msgstr ""
 
-#: ../lib/plugin/PageDump.php:188
+#: ../lib/plugin/PageDump.php:189
 msgid ""
 "Please use one of the downloadable versions rather than copying and pasting "
 "from the above preview."
 msgstr ""
 
-#: ../lib/plugin/PageDump.php:190
+#: ../lib/plugin/PageDump.php:191
 msgid ""
 "The wordwrap of the preview doesn't take nested markup or list indentation "
 "into consideration!"
 msgstr ""
 
-#: ../lib/plugin/PageDump.php:193
+#: ../lib/plugin/PageDump.php:194
 msgid ""
 "PhpWiki developers should manually inspect the downloaded file for nested "
 "markup before rewrapping with emacs and checking into CVS."
 msgstr ""
 
-#: ../lib/plugin/PageDump.php:201 ../lib/plugin/PasswordReset.php:128
+#: ../lib/plugin/PageDump.php:202 ../lib/plugin/PasswordReset.php:131
+#: ../lib/plugin/SemanticSearch.php:260
 #, fuzzy
 msgid "Warning:"
 msgstr "ٹ!"
@@ -3157,7 +3535,7 @@
 msgid "Contents"
 msgstr "ƥ"
 
-#: ../lib/plugin/PageGroup.php:91 ../lib/stdlib.php:1985
+#: ../lib/plugin/PageGroup.php:91 ../lib/stdlib.php:1992
 #, php-format
 msgid "<%s: no such section>"
 msgstr ""
@@ -3200,12 +3578,12 @@
 msgid "Check any two boxes then %s."
 msgstr ""
 
-#: ../lib/plugin/PageHistory.php:166 ../lib/plugin/PageHistory.php:229
+#: ../lib/plugin/PageHistory.php:166 ../lib/plugin/PageHistory.php:242
 #, php-format
 msgid "Version %d"
 msgstr "С %d"
 
-#: ../lib/plugin/PageHistory.php:177 ../themes/MacOSX/lib/RecentChanges.php:34
+#: ../lib/plugin/PageHistory.php:178 ../themes/MacOSX/lib/RecentChanges.php:34
 #: ../themes/MonoBook/templates/info.tmpl:19
 #: ../themes/MonoBook/templates/info.tmpl:23
 #: ../themes/Portland/lib/RecentChanges.php:14
@@ -3213,40 +3591,39 @@
 #: ../themes/Wordpress/lib/RecentChanges.php:14
 #: ../themes/default/templates/info.tmpl:17
 #: ../themes/default/templates/info.tmpl:21
-#: ../themes/shamino_com/templates/info.tmpl:19
-#: ../themes/shamino_com/templates/info.tmpl:23
 msgid "minor edit"
 msgstr ""
 
-#: ../lib/plugin/PageHistory.php:221
+#: ../lib/plugin/PageHistory.php:234
 msgid "History of changes."
 msgstr "ѹ"
 
-#: ../lib/plugin/PageHistory.php:247 ../lib/plugin/RecentChanges.php:65
+#: ../lib/plugin/PageHistory.php:260 ../lib/plugin/RecentChanges.php:67
 #: ../themes/Crao/templates/actionbar.tmpl:22
-#: ../themes/MonoBook/templates/actionbar.tmpl:46
+#: ../themes/MonoBook/templates/actionbar.tmpl:39
+#: ../themes/MonoBook/templates/actionbar.tmpl:66
 #: ../themes/MonoBook/templates/info.tmpl:167
-#: ../themes/Portland/templates/actionbar.tmpl:18
+#: ../themes/Portland/templates/actionbar.tmpl:14
 #: ../themes/Portland/templates/viewsource.tmpl:26
-#: ../themes/Wordpress/templates/actionbar.tmpl:69
-#: ../themes/Wordpress/templates/viewsource.tmpl:28
-#: ../themes/default/templates/actionbar.tmpl:29
+#: ../themes/Wordpress/templates/actionbar.tmpl:70
+#: ../themes/Wordpress/templates/viewsource.tmpl:30
+#: ../themes/default/templates/actionbar.tmpl:31
 #: ../themes/shamino_com/templates/actionbar.tmpl:20
-#: ../themes/shamino_com/templates/info.tmpl:166
-#: ../themes/smaller/templates/actionbar.tmpl:37
+#: ../themes/smaller/templates/actionbar.tmpl:39
 #: ../themes/smaller/templates/info.tmpl:6
 msgid "PageHistory"
 msgstr "ڡ"
 
-#: ../lib/plugin/PageHistory.php:251
+#: ../lib/plugin/PageHistory.php:264
 #, php-format
 msgid "List PageHistory for %s"
 msgstr "%s Υڡ"
 
 #: ../lib/plugin/PageInfo.php:32 ../themes/Crao/templates/actionbar.tmpl:24
-#: ../themes/Portland/templates/actionbar.tmpl:19
-#: ../themes/Wordpress/templates/actionbar.tmpl:71
-#: ../themes/default/templates/actionbar.tmpl:31
+#: ../themes/MonoBook/templates/actionbar.tmpl:64
+#: ../themes/Portland/templates/actionbar.tmpl:15
+#: ../themes/Wordpress/templates/actionbar.tmpl:72
+#: ../themes/default/templates/actionbar.tmpl:33
 #: ../themes/shamino_com/templates/actionbar.tmpl:5
 msgid "PageInfo"
 msgstr "ڡ"
@@ -3270,7 +3647,7 @@
 msgstr "ѥ:"
 
 #: ../lib/plugin/PasswordReset.php:61 ../lib/plugin/PasswordReset.php:82
-#: ../lib/plugin/UserPreferences.php:104
+#: ../lib/plugin/UserPreferences.php:104 ../lib/plugin/WatchPage.php:150
 #: ../themes/default/templates/wikiforum.tmpl:22
 msgid "Message"
 msgstr ""
@@ -3281,7 +3658,7 @@
 msgstr ""
 
 #: ../lib/plugin/PasswordReset.php:64 ../lib/plugin/PasswordReset.php:85
-#: ../lib/plugin/PasswordReset.php:159
+#: ../lib/plugin/PasswordReset.php:163
 msgid "Error"
 msgstr ""
 
@@ -3300,90 +3677,69 @@
 msgid "Error sending email with password for user %s."
 msgstr "桼IDѥɤ̵Ǥ"
 
-#: ../lib/plugin/PasswordReset.php:94
+#: ../lib/plugin/PasswordReset.php:93
 #, fuzzy
 msgid "Reset password of user: "
 msgstr "桼IDѥɤ̵Ǥ"
 
-#: ../lib/plugin/PasswordReset.php:104 ../lib/plugin/PasswordReset.php:142
+#: ../lib/plugin/PasswordReset.php:103 ../lib/plugin/PasswordReset.php:146
 msgid "Send email"
 msgstr ""
 
-#: ../lib/plugin/PasswordReset.php:129
+#: ../lib/plugin/PasswordReset.php:132
 msgid "You need to specify the userid!"
 msgstr ""
 
-#: ../lib/plugin/PasswordReset.php:150
+#: ../lib/plugin/PasswordReset.php:154
 msgid "Already logged in"
 msgstr ""
 
-#: ../lib/plugin/PasswordReset.php:151
+#: ../lib/plugin/PasswordReset.php:155
 msgid "Changing passwords is done at "
 msgstr ""
 
-#: ../lib/plugin/PasswordReset.php:151 ../lib/plugin/UserPreferences.php:38
-#: ../themes/Crao/templates/head.tmpl:85 ../themes/Crao/templates/head.tmpl:86
-#: ../themes/Crao/templates/navbar.tmpl:23
-#: ../themes/MonoBook/templates/navbar.tmpl:49
-#: ../themes/blog/templates/navbar.tmpl:17
-#: ../themes/default/templates/head.tmpl:92
-#: ../themes/default/templates/head.tmpl:93
-#: ../themes/default/templates/homepage.tmpl:11
-#: ../themes/default/templates/navbar.tmpl:40
-#: ../themes/shamino_com/templates/top.tmpl:28
-#: ../themes/smaller/templates/navbar.tmpl:22
-#: ../themes/wikilens/templates/head.tmpl:85
-#: ../themes/wikilens/templates/head.tmpl:86
-msgid "UserPreferences"
-msgstr "桼"
-
-#: ../lib/plugin/PasswordReset.php:160
+#: ../lib/plugin/PasswordReset.php:164
 #, php-format
 msgid "No email stored for user %s."
 msgstr ""
 
-#: ../lib/plugin/PasswordReset.php:162
+#: ../lib/plugin/PasswordReset.php:166
 msgid "You need to ask an Administrator to reset this password. See below: "
 msgstr ""
 
-#: ../lib/plugin/PasswordReset.php:174
+#: ../lib/plugin/PasswordReset.php:178
 #, php-format
 msgid "Do you really want to reset the password of user %s?"
 msgstr ""
 
-#: ../lib/plugin/PasswordReset.php:175
+#: ../lib/plugin/PasswordReset.php:179
 msgid "An email will be sent."
 msgstr ""
 
-#: ../lib/plugin/PhotoAlbum.php:94
+#: ../lib/plugin/PhotoAlbum.php:97 ../themes/blog/templates/actionbar.tmpl:12
 msgid "PhotoAlbum"
 msgstr "եȥХ"
 
-#: ../lib/plugin/PhotoAlbum.php:98
+#: ../lib/plugin/PhotoAlbum.php:101
 msgid ""
 "Displays a set of photos listed in a text file with optional descriptions"
 msgstr ""
 
-#: ../lib/plugin/PhotoAlbum.php:476
-#, fuzzy, php-format
-msgid "Invalid argument: %s=%s"
-msgstr "饤"
-
-#: ../lib/plugin/PhotoAlbum.php:536 ../lib/plugin/PhotoAlbum.php:557
-#: ../lib/plugin/Transclude.php:85
+#: ../lib/plugin/PhotoAlbum.php:540 ../lib/plugin/PhotoAlbum.php:565
+#: ../lib/plugin/Transclude.php:94
 msgid "Bad url in src: remove all of <, >, \""
 msgstr ""
 
-#: ../lib/plugin/PhotoAlbum.php:554
+#: ../lib/plugin/PhotoAlbum.php:562
 msgid "File extension for csv file has to be '.csv'"
 msgstr ""
 
-#: ../lib/plugin/PhotoAlbum.php:605
+#: ../lib/plugin/PhotoAlbum.php:616
 #, php-format
 msgid "Unable to find src='%s'"
 msgstr ""
 
-#: ../lib/plugin/PhotoAlbum.php:617
+#: ../lib/plugin/PhotoAlbum.php:628
 #, php-format
 msgid "Unable to read src='%s'"
 msgstr ""
@@ -3447,7 +3803,8 @@
 msgid "shell commands not allowed in Ploticus"
 msgstr ""
 
-#: ../lib/plugin/Ploticus.php:249 ../lib/plugin/SyntaxHighlighter.php:180
+#: ../lib/plugin/Ploticus.php:270 ../lib/plugin/SpellCheck.php:123
+#: ../lib/plugin/SyntaxHighlighter.php:180
 #, fuzzy
 msgid "empty source"
 msgstr "򸫤"
@@ -3481,6 +3838,11 @@
 msgid "%s does not appear to be a WikiPlugin."
 msgstr ""
 
+#: ../lib/plugin/PluginManager.php:135 ../lib/upgrade.php:222
+#: ../themes/MonoBook/templates/navbar.tmpl:20
+msgid "Help"
+msgstr ""
+
 #: ../lib/plugin/PopUp.php:49
 msgid "PopUp"
 msgstr ""
@@ -3512,6 +3874,42 @@
 msgid "%d most popular nearby: "
 msgstr ""
 
+#: ../lib/plugin/PopularTags.php:34
+msgid "PopularTags"
+msgstr ""
+
+#: ../lib/plugin/PopularTags.php:38
+msgid "List the most popular tags."
+msgstr ""
+
+#: ../lib/plugin/PopularTags.php:59 ../lib/plugin/_WikiTranslation.php:56
+#, fuzzy
+msgid "CategoryCategory"
+msgstr "ۡڡ:"
+
+#: ../lib/plugin/PopularTags.php:64 ../lib/plugin/Template.php:60
+#, fuzzy
+msgid "Template"
+msgstr "ơ"
+
+#: ../lib/plugin/PopularTags.php:78
+#, fuzzy
+msgid "Category"
+msgstr "ۡڡ:"
+
+#: ../lib/plugin/PopularTags.php:79
+msgid "Topic"
+msgstr ""
+
+#: ../lib/plugin/PreferenceApp.php:37
+#, fuzzy
+msgid "PreferenceApp"
+msgstr "Ȱ"
+
+#: ../lib/plugin/PreferenceApp.php:41
+msgid "Analyzes preferences based on voting budget and ratings."
+msgstr ""
+
 #: ../lib/plugin/PrevNext.php:32
 msgid "PrevNext"
 msgstr ""
@@ -3530,7 +3928,7 @@
 msgstr "ǥå"
 
 #: ../lib/plugin/RandomPage.php:33 ../lib/plugin/RandomPage.php:82
-#: ../themes/MonoBook/templates/navbar.tmpl:15
+#: ../themes/MonoBook/templates/navbar.tmpl:19
 msgid "RandomPage"
 msgstr "ڡ"
 
@@ -3538,50 +3936,50 @@
 msgid "Displays a list of randomly chosen pages or redirects to a random page."
 msgstr ""
 
-#: ../lib/plugin/RateIt.php:90 ../lib/plugin/RateIt.php:139
-#: ../lib/plugin/RateIt.php:146 ../lib/plugin/RateIt.php:291
-#: ../lib/upgrade.php:387
+#: ../lib/plugin/RateIt.php:89 ../lib/plugin/RateIt.php:138
+#: ../lib/plugin/RateIt.php:145 ../lib/plugin/RateIt.php:290
+#: ../lib/upgrade.php:452
 msgid "RateIt"
 msgstr ""
 
-#: ../lib/plugin/RateIt.php:93
+#: ../lib/plugin/RateIt.php:92
 msgid "Rating system. Store user ratings per page"
 msgstr ""
 
-#: ../lib/plugin/RateIt.php:117
+#: ../lib/plugin/RateIt.php:116
 msgid "Your rating "
 msgstr ""
 
-#: ../lib/plugin/RateIt.php:258
+#: ../lib/plugin/RateIt.php:257
 #, php-format
 msgid "Rated by %d users | Average rating %.1f stars"
 msgstr ""
 
-#: ../lib/plugin/RateIt.php:263
+#: ../lib/plugin/RateIt.php:262
 #, php-format
 msgid "Your rating was %.1f"
 msgstr ""
 
-#: ../lib/plugin/RateIt.php:268
+#: ../lib/plugin/RateIt.php:267
 #, php-format
 msgid "%s prediction for you is %s stars"
 msgstr ""
 
-#: ../lib/plugin/RateIt.php:271
+#: ../lib/plugin/RateIt.php:270
 #, php-format
 msgid "%s prediction for you is %.1f stars"
 msgstr ""
 
-#: ../lib/plugin/RateIt.php:291
+#: ../lib/plugin/RateIt.php:290
 msgid "Rate It"
 msgstr ""
 
-#: ../lib/plugin/RateIt.php:358
+#: ../lib/plugin/RateIt.php:357
 #, fuzzy
 msgid "Rate the topic of this page"
 msgstr "ڡƤޤ"
 
-#: ../lib/plugin/RateIt.php:370
+#: ../lib/plugin/RateIt.php:369
 msgid "Cancel rating"
 msgstr ""
 
@@ -3593,150 +3991,178 @@
 msgid "Raw HTML is disabled in this wiki."
 msgstr ""
 
-#: ../lib/plugin/RawHtml.php:83 ../lib/plugin/RedirectTo.php:82
-#, php-format
-msgid "%s is only allowed in locked pages."
-msgstr ""
-
 #: ../lib/plugin/RawHtml.php:84
 msgid "Raw HTML"
 msgstr "HTML"
 
-#: ../lib/plugin/RdfDefinition.php:42
-msgid "RdfDefinition"
-msgstr ""
-
-#: ../lib/plugin/RdfDefinition.php:45
-msgid "Define the RDF vocabulary for a wiki subset."
+#: ../lib/plugin/RawHtml.php:83 ../lib/plugin/RedirectTo.php:82
+#, php-format
+msgid "%s is only allowed in locked pages."
 msgstr ""
 
 # ޤ
-#: ../lib/plugin/RecentChanges.php:105
+#: ../lib/plugin/RecentChanges.php:107
 #, fuzzy
 msgid "Deleted"
 msgstr "ޤ"
 
-#: ../lib/plugin/RecentChanges.php:128 ../themes/blog/themeinfo.php:119
-msgid "(diff)"
-msgstr "(ʬ)"
+#: ../lib/plugin/RecentChanges.php:130
+#: ../themes/SpaceWiki/lib/RecentChanges.php:55
+msgid "diff"
+msgstr "ʬ"
 
-#: ../lib/plugin/RecentChanges.php:135
-msgid "(hist)"
+#: ../lib/plugin/RecentChanges.php:143
+#, fuzzy
+msgid "hist"
 msgstr "()"
 
-#: ../lib/plugin/RecentChanges.php:198
+#: ../lib/plugin/RecentChanges.php:185
+#, fuzzy
+msgid "contribs"
+msgstr ""
+
+#: ../lib/plugin/RecentChanges.php:192
+#, fuzzy
+msgid "new pages"
+msgstr "ڡ"
+
+#: ../lib/plugin/RecentChanges.php:240
 msgid "edits"
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:200
+#: ../lib/plugin/RecentChanges.php:242
 msgid "major edits"
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:202
+#: ../lib/plugin/RecentChanges.php:244
 msgid "minor edits"
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:203 ../lib/plugin/RecentChanges.php:279
+#: ../lib/plugin/RecentChanges.php:245 ../lib/plugin/RecentChanges.php:338
 #: ../lib/plugin/RecentComments.php:31
 #, fuzzy
 msgid "Recent Comments"
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:204
+#: ../lib/plugin/RecentChanges.php:246
 #, fuzzy
 msgid "comments"
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:229
+#: ../lib/plugin/RecentChanges.php:248
+#, fuzzy
+msgid "created new pages"
+msgstr "ڡƤޤ"
+
+#: ../lib/plugin/RecentChanges.php:254
+#, fuzzy, php-format
+msgid " for pages changed by %s"
+msgstr "ѹޤǤ"
+
+#: ../lib/plugin/RecentChanges.php:260
+#, fuzzy, php-format
+msgid " for pages owned by %s"
+msgstr "%s "
+
+#: ../lib/plugin/RecentChanges.php:285
 #, php-format
 msgid "The %d most recent %s during the past day are listed below."
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:232
+#: ../lib/plugin/RecentChanges.php:288
 #, php-format
 msgid "The %d most recent %s during the past %s days are listed below."
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:235
+#: ../lib/plugin/RecentChanges.php:291
 #, php-format
 msgid "The %d most recent %s are listed below."
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:241
+#: ../lib/plugin/RecentChanges.php:297
 #, php-format
 msgid "The %d oldest %s during the past day are listed below."
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:244
+#: ../lib/plugin/RecentChanges.php:300
 #, php-format
 msgid "The %d oldest %s during the past %s days are listed below."
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:247
+#: ../lib/plugin/RecentChanges.php:303
 #, php-format
 msgid "The %d oldest %s are listed below."
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:254
+#: ../lib/plugin/RecentChanges.php:310
 #, php-format
 msgid "The most recent %s during the past day are listed below."
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:257
+#: ../lib/plugin/RecentChanges.php:313
 #, php-format
 msgid "The most recent %s during the past %s days are listed below."
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:260
+#: ../lib/plugin/RecentChanges.php:316
 #, php-format
 msgid "All %s are listed below."
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:272 ../lib/plugin/RecentChanges.php:287
-#: ../lib/plugin/RecentChanges.php:390 ../lib/plugin/RecentChanges.php:467
+#: ../lib/plugin/RecentChanges.php:328 ../lib/plugin/RecentChanges.php:346
+#: ../lib/plugin/RecentChanges.php:523 ../lib/plugin/RecentChanges.php:600
 #: ../lib/plugin/RecentEdits.php:10 ../lib/plugin/RecentEdits.php:36
 #: ../lib/plugin/RelatedChanges.php:27
-#: ../themes/Portland/templates/editpage.tmpl:49
-#: ../themes/Wordpress/templates/editpage.tmpl:58
+#: ../themes/Portland/templates/editpage.tmpl:45
+#: ../themes/Wordpress/templates/editpage.tmpl:57
 msgid "RecentEdits"
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:280 ../lib/plugin/RecentComments.php:65
+#: ../lib/plugin/RecentChanges.php:339 ../lib/plugin/RecentComments.php:65
 #, fuzzy
 msgid "No comments found"
 msgstr "ѹĤޤǤ"
 
-#: ../lib/plugin/RecentChanges.php:282
+#: ../lib/plugin/RecentChanges.php:341
 msgid "No changes found"
 msgstr "ѹĤޤǤ"
 
-#: ../lib/plugin/RecentChanges.php:592
+#: ../lib/plugin/RecentChanges.php:457
+#, fuzzy
+msgid "UserContribs"
+msgstr "桼"
+
+#: ../lib/plugin/RecentChanges.php:725
 msgid "Title Search"
 msgstr "ȥ븡"
 
-#: ../lib/plugin/RecentChanges.php:893
+#: ../lib/plugin/RecentChanges.php:1189
 msgid "Show minor edits for:"
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:895
+#: ../lib/plugin/RecentChanges.php:1191
 msgid "Show all changes for:"
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:897
+#: ../lib/plugin/RecentChanges.php:1193
 msgid "Show changes for:"
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:917
+#: ../lib/plugin/RecentChanges.php:1195
+msgid "All new pages since:"
+msgstr ""
+
+#: ../lib/plugin/RecentChanges.php:1215
 msgid "1 day"
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:921
+#: ../lib/plugin/RecentChanges.php:1219
 #, php-format
 msgid "%s days"
 msgstr ""
 
 #: ../lib/plugin/RecentComments.php:17
-#: ../themes/MonoBook/templates/navbar.tmpl:14
+#: ../themes/MonoBook/templates/navbar.tmpl:16
 #, fuzzy
 msgid "RecentComments"
 msgstr ""
@@ -3791,7 +4217,7 @@
 msgstr "ѹ"
 
 #: ../lib/plugin/RelatedChanges.php:73 ../themes/Crao/templates/navbar.tmpl:15
-#: ../themes/MonoBook/templates/navbar.tmpl:43
+#: ../themes/MonoBook/templates/navbar.tmpl:54
 #, fuzzy
 msgid "RelatedChanges"
 msgstr "ѹ"
@@ -3816,15 +4242,141 @@
 msgid "no RSS items"
 msgstr ""
 
-#: ../lib/plugin/SearchHighlight.php:37
+#: ../lib/plugin/SearchHighlight.php:39
 #, fuzzy
 msgid "SearchHighlight"
 msgstr "PHPϥ饤"
 
-#: ../lib/plugin/SearchHighlight.php:41
+#: ../lib/plugin/SearchHighlight.php:43
 msgid "Hilight referred search terms."
 msgstr ""
 
+#: ../lib/plugin/SearchHighlight.php:73
+#, php-format
+msgid "%s: Found %s through %s"
+msgstr ""
+
+#: ../lib/plugin/SemanticRelations.php:35
+#, fuzzy
+msgid "SemanticRelations"
+msgstr "%s METAǡԽ"
+
+#: ../lib/plugin/SemanticRelations.php:38
+msgid "Display the list of relations and attributes on this page."
+msgstr ""
+
+#: ../lib/plugin/SemanticRelations.php:80
+#: ../lib/plugin/SemanticRelations.php:97 ../lib/plugin/SemanticSearch.php:57
+#, fuzzy
+msgid "SemanticSearch"
+msgstr "InterWiki"
+
+#: ../lib/plugin/SemanticRelations.php:86
+#, fuzzy, php-format
+msgid "Semantic relations for %s"
+msgstr "%s METAǡԽ"
+
+#: ../lib/plugin/SemanticRelations.php:110
+#, php-format
+msgid "Attributes of %s"
+msgstr ""
+
+#: ../lib/plugin/SemanticRelations.php:119
+#: ../lib/plugin/SemanticRelations.php:120
+#, fuzzy
+msgid "Help/SemanticRelations"
+msgstr "%s METAǡԽ"
+
+#: ../lib/plugin/SemanticRelations.php:122
+msgid "Find out how to add relations and attributes to pages."
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:60
+msgid "Search relations and attributes"
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:106
+msgid "Filter by this relation. With autocompletion."
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:124
+#, fuzzy
+msgid "Relations"
+msgstr "ѹ"
+
+#: ../lib/plugin/SemanticSearch.php:132 ../lib/plugin/SemanticSearch.php:208
+msgid "Add an AND query"
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:133 ../lib/plugin/SemanticSearch.php:209
+msgid "OR"
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:136 ../lib/plugin/SemanticSearch.php:212
+msgid "Add an OR query"
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:139
+msgid "Search in pages for a relation with that value (a pagename)."
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:174
+msgid "Filter by this attribute name. With autocompletion."
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:186
+msgid "Comparison operator. With autocompletion."
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:197
+msgid "Filter by this numeric attribute value. With autocompletion."
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:215
+msgid "Attributes"
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:216
+msgid "Search in pages for an attribute with that numeric value."
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:219
+msgid "Advanced..."
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:219
+#, fuzzy
+msgid "SemanticSearchAdvanced"
+msgstr "InterWiki"
+
+#: ../lib/plugin/SemanticSearch.php:261
+msgid "No relations nor attributes in the whole wikidb defined!"
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:263
+#, fuzzy
+msgid "Help:SemanticRelations"
+msgstr "%s METAǡԽ"
+
+#: ../lib/plugin/SemanticSearch.php:311
+#, php-format
+msgid "Illegal operator: %s"
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:358
+#, php-format
+msgid "Only text operators can be used with strings: %s"
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:378
+msgid "Value"
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:393
+#, php-format
+msgid "Semantic %s Search Result for \"%s\" in pages \"%s\""
+msgstr ""
+
 #: ../lib/plugin/SiteMap.php:51
 msgid "SiteMap"
 msgstr "ȥޥå"
@@ -3838,6 +4390,27 @@
 msgid "(max. recursion level: %d)"
 msgstr ""
 
+#: ../lib/plugin/SpellCheck.php:68
+msgid "Spell Checker"
+msgstr ""
+
+#: ../lib/plugin/SpellCheck.php:71
+msgid "Check the spelling of a page and make suggestions"
+msgstr ""
+
+#: ../lib/plugin/SpellCheck.php:124
+#, fuzzy
+msgid "SpellCheck"
+msgstr ":"
+
+#: ../lib/plugin/SpellCheck.php:125
+msgid "Cannot SpellCheck myself"
+msgstr ""
+
+#: ../lib/plugin/SpellCheck.php:171
+msgid "SpellCheck result"
+msgstr ""
+
 #: ../lib/plugin/SqlResult.php:67
 msgid "SqlResult"
 msgstr ""
@@ -3855,6 +4428,88 @@
 msgid "No DSN for alias %s in SqlResult.ini found"
 msgstr ""
 
+#: ../lib/plugin/SyncWiki.php:46
+msgid "SyncWiki"
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:50
+msgid "Synchronize pages with external PhpWiki"
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:113
+msgid "Syncing this PhpWiki"
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:114
+msgid "Download all externally changed sources."
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:116
+#, php-format
+msgid "Retrieving from external url %s wiki.getRecentChanges(%s)..."
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:123 ../lib/plugin/WhoIsOnline.php:125
+#, fuzzy
+msgid "<unknown>"
+msgstr "<ʤ>"
+
+#: ../lib/plugin/SyncWiki.php:138 ../lib/plugin/SyncWiki.php:191
+#: ../lib/plugin/SyncWiki.php:226 ../lib/upgrade.php:92 ../lib/upgrade.php:96
+#: ../lib/upgrade.php:176 ../lib/upgrade.php:217 ../lib/upgrade.php:1120
+msgid " skipped"
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:160
+msgid "same date"
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:183
+msgid "Now upload all locally newer pages."
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:185
+#, php-format
+msgid "Checking all local pages newer than %s..."
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:212
+msgid "Now upload all locally newer uploads."
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:214
+#, php-format
+msgid "Checking all local uploads newer than %s..."
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:277
+#, php-format
+msgid "%s force"
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:281
+#, fuzzy, php-format
+msgid "Postponed %s for %s."
+msgstr "%s Υڡ"
+
+#: ../lib/plugin/SyncWiki.php:288 ../lib/plugin/SyncWiki.php:297
+#: ../lib/plugin/SyncWiki.php:312 ../lib/plugin/SyncWiki.php:321
+#: ../lib/plugin/SyncWiki.php:340
+msgid "skipped"
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:297 ../lib/plugin/SyncWiki.php:321
+#, fuzzy
+msgid "same content"
+msgstr "ƥ"
+
+#: ../lib/plugin/SyncWiki.php:304 ../lib/plugin/SyncWiki.php:330
+#: ../lib/plugin/SyncWiki.php:332 ../lib/plugin/SyncWiki.php:353
+#: ../lib/plugin/SyncWiki.php:355 ../lib/upgrade.php:214
+#: ../lib/upgrade.php:555 ../lib/upgrade.php:593 ../lib/upgrade.php:1111
+msgid "FAILED"
+msgstr ""
+
 #: ../lib/plugin/SyntaxHighlighter.php:68
 #, fuzzy
 msgid "SyntaxHighlighter"
@@ -4088,28 +4743,19 @@
 msgid "Convert Tex mathematicals expressions to cached png files."
 msgstr ""
 
-#: ../lib/plugin/TeX2png.php:34
-msgid " This is for small text"
-msgstr ""
-
 #: ../lib/plugin/TeX2png.php:134
 msgid " (syntax error for latex) "
 msgstr ""
 
 #: ../lib/plugin/TeX2png.php:173
-msgid "TeX directory not writable."
+msgid "TeX imagepath not writable."
 msgstr ""
 
-#: ../lib/plugin/TeX2png.php:214 ../lib/plugin/text2png.php:67
+#: ../lib/plugin/TeX2png.php:214 ../lib/plugin/text2png.php:85
 msgid "Sorry, this version of PHP cannot create PNG image files."
 msgstr ""
 
-#: ../lib/plugin/Template.php:61
-#, fuzzy
-msgid "Template"
-msgstr "ơ"
-
-#: ../lib/plugin/Template.php:65
+#: ../lib/plugin/Template.php:64
 msgid "Parametrized page inclusion."
 msgstr ""
 
@@ -4121,7 +4767,7 @@
 msgid "Search the titles of all pages in this wiki."
 msgstr ""
 
-#: ../lib/plugin/TitleSearch.php:103
+#: ../lib/plugin/TitleSearch.php:104
 #, php-format
 msgid "Title search results for '%s'"
 msgstr ""
@@ -4134,16 +4780,16 @@
 msgid "Include an external web page within the body of a wiki page."
 msgstr ""
 
-#: ../lib/plugin/Transclude.php:88
+#: ../lib/plugin/Transclude.php:97
 msgid "Transcluded page"
 msgstr ""
 
-#: ../lib/plugin/Transclude.php:97
+#: ../lib/plugin/Transclude.php:106
 #, php-format
 msgid "See: %s"
 msgstr ": %s"
 
-#: ../lib/plugin/Transclude.php:109
+#: ../lib/plugin/Transclude.php:118
 #, php-format
 msgid "Transcluded from %s"
 msgstr ""
@@ -4240,54 +4886,59 @@
 msgid "Upload files to the local InterWiki Upload:<filename>"
 msgstr ""
 
-#: ../lib/plugin/UpLoad.php:124
+#: ../lib/plugin/UpLoad.php:161
 msgid "ACCESS DENIED: You must log in to upload files."
 msgstr ""
 
-#: ../lib/plugin/UpLoad.php:138
+#: ../lib/plugin/UpLoad.php:185
 #, fuzzy, php-format
 msgid "ERROR uploading '%s': "
 msgstr "'%s' ɹǤ"
 
-#: ../lib/plugin/UpLoad.php:143
+#: ../lib/plugin/UpLoad.php:190
 #, php-format
 msgid "Files with extension %s are not allowed."
 msgstr ""
 
-#: ../lib/plugin/UpLoad.php:149
+#: ../lib/plugin/UpLoad.php:198
+#, php-format
+msgid "Only files with the extension %s are allowed."
+msgstr ""
+
+#: ../lib/plugin/UpLoad.php:204
 msgid ""
-"File names may only contain alphanumeric characters and dot, underscore or "
-"dash."
+"Invalid filename. File names may only contain alphanumeric characters and "
+"dot, underscore, space or dash."
 msgstr ""
 
-#: ../lib/plugin/UpLoad.php:154
+#: ../lib/plugin/UpLoad.php:209
 #, php-format
 msgid "There is already a file with name %s uploaded."
 msgstr ""
 
-#: ../lib/plugin/UpLoad.php:159
+#: ../lib/plugin/UpLoad.php:214
 msgid "Sorry but this file is too big."
 msgstr ""
 
-#: ../lib/plugin/UpLoad.php:167
+#: ../lib/plugin/UpLoad.php:222
 msgid "File successfully uploaded."
 msgstr ""
 
-#: ../lib/plugin/UpLoad.php:184
+#: ../lib/plugin/UpLoad.php:239
 #, fuzzy, php-format
 msgid "uploaded %s"
 msgstr "%s 򥢥åץǤ"
 
-#: ../lib/plugin/UpLoad.php:191
+#: ../lib/plugin/UpLoad.php:246
 #, fuzzy
 msgid "Uploading failed."
 msgstr "եɹǤ"
 
-#: ../lib/plugin/UpLoad.php:209
+#: ../lib/plugin/UpLoad.php:264
 msgid "The upload logfile is not writable."
 msgstr ""
 
-#: ../lib/plugin/UpLoad.php:212
+#: ../lib/plugin/UpLoad.php:267
 msgid "Can't open the upload logfile."
 msgstr ""
 
@@ -4361,72 +5012,94 @@
 msgid "Here are your %d page ratings:"
 msgstr ""
 
-#: ../lib/plugin/UserRatings.php:220
+#: ../lib/plugin/UserRatings.php:222
 msgid "Pred"
 msgstr ""
 
-#: ../lib/plugin/UserRatings.php:224 ../lib/wikilens/PageListColumns.php:367
+#: ../lib/plugin/UserRatings.php:226 ../lib/wikilens/PageListColumns.php:367
 #, fuzzy
 msgid "Rate"
 msgstr "̾"
 
-#: ../lib/plugin/VisualWiki.php:65
+#: ../lib/plugin/VisualWiki.php:66
 msgid ""
 "Visualizes the Wiki structure in a graph using the 'dot' commandline tool "
 "from graphviz."
 msgstr ""
 
-#: ../lib/plugin/VisualWiki.php:493
+#: ../lib/plugin/VisualWiki.php:497
 msgid "Legend"
 msgstr ""
 
-#: ../lib/plugin/WantedPages.php:39 ../lib/plugin/WantedPages.php:69
-#: ../lib/plugin/WantedPagesOld.php:33 ../lib/plugin/WantedPagesOld.php:66
+#: ../lib/plugin/WantedPages.php:39 ../lib/plugin/WantedPages.php:70
 msgid "WantedPages"
 msgstr ""
 
-#: ../lib/plugin/WantedPages.php:42 ../lib/plugin/WantedPagesOld.php:37
+#: ../lib/plugin/WantedPages.php:42
 msgid "Lists referenced page names which do not exist yet."
 msgstr ""
 
-#: ../lib/plugin/WantedPages.php:54 ../lib/plugin/WantedPagesOld.php:47
-#: ../lib/plugin/_WikiTranslation.php:84 ../lib/plugin/_WikiTranslation.php:98
+#: ../lib/plugin/WantedPages.php:55 ../lib/plugin/_WikiTranslation.php:84
+#: ../lib/plugin/_WikiTranslation.php:98
 msgid "PgsrcTranslation"
 msgstr ""
 
-#: ../lib/plugin/WantedPages.php:78
+#: ../lib/plugin/WantedPages.php:79
 #, fuzzy
 msgid "Wanted From"
 msgstr "ǡեޥå"
 
-#: ../lib/plugin/WantedPages.php:115
+#: ../lib/plugin/WantedPages.php:130
 #, fuzzy, php-format
 msgid "Wanted Pages for %s:"
 msgstr "%s Υڡ"
 
-#: ../lib/plugin/WantedPages.php:117
+#: ../lib/plugin/WantedPages.php:132
 #, php-format
 msgid "Wanted Pages in this wiki:"
 msgstr ""
 
-#: ../lib/plugin/WantedPagesOld.php:100
-#: ../themes/default/templates/online.tmpl:38
-msgid "<none>"
-msgstr "<ʤ>"
+#: ../lib/plugin/WantedPages.php:174
+#, fuzzy, php-format
+msgid "(%d Links)"
+msgstr ""
+
+#: ../lib/plugin/WatchPage.php:35
+#, fuzzy
+msgid "WatchPage"
+msgstr ""
+
+#: ../lib/plugin/WatchPage.php:78
+msgid "Your current watchlist: "
+msgstr ""
+
+#: ../lib/plugin/WatchPage.php:79
+msgid "New watchlist: "
+msgstr ""
 
-#: ../lib/plugin/WantedPagesOld.php:115
+#: ../lib/plugin/WatchPage.php:82
 #, php-format
-msgid "Wanted Pages for %s (%d total):"
+msgid "Do you %s want to add this page \"%s\" to your WatchList?"
+msgstr ""
+
+#: ../lib/plugin/WatchPage.php:83
+msgid "really"
 msgstr ""
 
-#: ../lib/plugin/WantedPagesOld.php:149
+#: ../lib/plugin/WatchPage.php:88
 #, php-format
-msgid "Wanted Pages in this wiki (%d total):"
+msgid "The page %s is already watched!"
 msgstr ""
 
-#: ../lib/plugin/WantedPagesOld.php:151
-msgid "Count"
-msgstr ""
+#: ../lib/plugin/WatchPage.php:114
+msgid "ERROR: No email defined! You need to do this in your "
+msgstr ""
+
+#: ../lib/plugin/WatchPage.php:151
+msgid ""
+"E-Mail Notification for the current page successfully stored in your "
+"preferences."
+msgstr ""
 
 #: ../lib/plugin/WhoIsOnline.php:38 ../lib/plugin/WhoIsOnline.php:84
 msgid "WhoIsOnline"
@@ -4449,11 +5122,6 @@
 msgid "Guest"
 msgstr ""
 
-#: ../lib/plugin/WhoIsOnline.php:125
-#, fuzzy
-msgid "<unknown>"
-msgstr "<ʤ>"
-
 #: ../lib/plugin/WhoIsOnline.php:196
 #, php-format
 msgid "%d minutes"
@@ -4463,7 +5131,7 @@
 msgid "WikiAdminChmod"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminChmod.php:44 ../lib/plugin/WikiAdminSetAcl.php:43
+#: ../lib/plugin/WikiAdminChmod.php:44 ../lib/plugin/WikiAdminSetAcl.php:47
 msgid "Set individual page permissions."
 msgstr ""
 
@@ -4481,7 +5149,7 @@
 msgid "Invalid chmod string"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminChmod.php:90 ../lib/plugin/WikiAdminSetAcl.php:109
+#: ../lib/plugin/WikiAdminChmod.php:90 ../lib/plugin/WikiAdminSetAcl.php:113
 #, php-format
 msgid "%s pages have been changed."
 msgstr ""
@@ -4489,12 +5157,12 @@
 #: ../lib/plugin/WikiAdminChmod.php:93 ../lib/plugin/WikiAdminChown.php:89
 #: ../lib/plugin/WikiAdminMarkup.php:97
 #: ../lib/plugin/WikiAdminSearchReplace.php:113
-#: ../lib/plugin/WikiAdminSetAcl.php:112
+#: ../lib/plugin/WikiAdminSetAcl.php:116
 #, fuzzy
 msgid "No pages changed."
 msgstr "ѹޤǤ"
 
-#: ../lib/plugin/WikiAdminChmod.php:140 ../lib/plugin/WikiAdminSetAcl.php:170
+#: ../lib/plugin/WikiAdminChmod.php:140 ../lib/plugin/WikiAdminSetAcl.php:174
 #, fuzzy
 msgid "Permission"
 msgstr "С"
@@ -4507,7 +5175,7 @@
 msgid "Chmod"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminChmod.php:155 ../lib/plugin/WikiAdminSetAcl.php:185
+#: ../lib/plugin/WikiAdminChmod.php:155 ../lib/plugin/WikiAdminSetAcl.php:189
 #, fuzzy
 msgid "Select the pages to change:"
 msgstr "Ŀͤθ"
@@ -4524,11 +5192,11 @@
 msgid "(ugo : rwx)"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminChmod.php:189 ../lib/plugin/WikiAdminSetAcl.php:253
+#: ../lib/plugin/WikiAdminChmod.php:189 ../lib/plugin/WikiAdminSetAcl.php:257
 msgid "Propagate new permissions to all subpages?"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminChmod.php:191 ../lib/plugin/WikiAdminSetAcl.php:255
+#: ../lib/plugin/WikiAdminChmod.php:191 ../lib/plugin/WikiAdminSetAcl.php:259
 msgid "(disable individual page permissions, enable inheritance)?"
 msgstr ""
 
@@ -4544,7 +5212,7 @@
 #: ../lib/plugin/WikiAdminChown.php:69 ../lib/plugin/WikiAdminMarkup.php:70
 #: ../lib/plugin/WikiAdminRename.php:84
 #: ../lib/plugin/WikiAdminSearchReplace.php:98
-#: ../lib/plugin/WikiAdminSetAcl.php:100
+#: ../lib/plugin/WikiAdminSetAcl.php:104
 #, php-format
 msgid "Access denied to change page '%s'."
 msgstr ""
@@ -4664,7 +5332,7 @@
 msgstr ""
 
 #: ../lib/plugin/WikiAdminRemove.php:183 ../lib/plugin/WikiAdminRemove.php:232
-#: ../themes/blog/themeinfo.php:59
+#: ../themes/blog/themeinfo.php:67
 #, fuzzy
 msgid "Remove"
 msgstr "ڡ"
@@ -4859,186 +5527,212 @@
 msgid "Select pages"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminSetAcl.php:39
+#: ../lib/plugin/WikiAdminSetAcl.php:43
 msgid "WikiAdminSetAcl"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminSetAcl.php:94
+#: ../lib/plugin/WikiAdminSetAcl.php:98
 #, fuzzy, php-format
 msgid "ACL not changed for page '%s'."
 msgstr "ڡ"
 
-#: ../lib/plugin/WikiAdminSetAcl.php:97
+#: ../lib/plugin/WikiAdminSetAcl.php:101
 #, fuzzy, php-format
 msgid "ACL changed for page '%s'."
 msgstr "ڡ"
 
-#: ../lib/plugin/WikiAdminSetAcl.php:104
+#: ../lib/plugin/WikiAdminSetAcl.php:108
 msgid "Invalid ACL"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminSetAcl.php:120 ../lib/plugin/_WikiTranslation.php:94
+#: ../lib/plugin/WikiAdminSetAcl.php:124 ../lib/plugin/_WikiTranslation.php:94
 msgid "PhpWikiAdministration/SetAcl"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminSetAcl.php:172 ../lib/plugin/WikiAdminSetAcl.php:228
+#: ../lib/plugin/WikiAdminSetAcl.php:176 ../lib/plugin/WikiAdminSetAcl.php:232
 msgid "ACL"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminSetAcl.php:180
+#: ../lib/plugin/WikiAdminSetAcl.php:184
 msgid ""
 "Are you sure you want to permanently change access to the selected files?"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminSetAcl.php:215
+#: ../lib/plugin/WikiAdminSetAcl.php:219
 #, fuzzy
 msgid "Selected Pages: "
 msgstr "¸ޤ: 5s"
 
-#: ../lib/plugin/WikiAdminSetAcl.php:221
+#: ../lib/plugin/WikiAdminSetAcl.php:225
 #, php-format
 msgid "page permission inherited from %s"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminSetAcl.php:223
+#: ../lib/plugin/WikiAdminSetAcl.php:227
 msgid "invidual page permission"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminSetAcl.php:225
+#: ../lib/plugin/WikiAdminSetAcl.php:229
 msgid "default page permission"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminSetAcl.php:226
+#: ../lib/plugin/WikiAdminSetAcl.php:230
 #, fuzzy
 msgid "Type"
 msgstr "ڡμ<:"
 
-#: ../lib/plugin/WikiAdminSetAcl.php:227
+#: ../lib/plugin/WikiAdminSetAcl.php:231
 msgid "getfacl"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminSetAcl.php:231
+#: ../lib/plugin/WikiAdminSetAcl.php:235
 msgid ""
 "Selected Grant checkboxes allow access, unselected checkboxes deny access."
 msgstr ""
 
-#: ../lib/plugin/WikiAdminSetAcl.php:232
+#: ../lib/plugin/WikiAdminSetAcl.php:236
 msgid "To ignore delete the line."
 msgstr ""
 
-#: ../lib/plugin/WikiAdminSetAcl.php:233
+#: ../lib/plugin/WikiAdminSetAcl.php:237
 msgid "To add check 'Add' near the dropdown list."
 msgstr ""
 
-#: ../lib/plugin/WikiAdminSetAcl.php:256
+#: ../lib/plugin/WikiAdminSetAcl.php:260
 msgid "(Currently not working)"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:36
+#: ../lib/plugin/WikiAdminUtils.php:38
 msgid "WikiAdminUtils"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:40
+#: ../lib/plugin/WikiAdminUtils.php:42
 msgid "Miscellaneous utility functions for the Administrator."
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:72
+#: ../lib/plugin/WikiAdminUtils.php:74
 msgid "You must be an administrator to use this plugin."
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:101
-msgid "WikiAdminUtils says:"
+#: ../lib/plugin/WikiAdminUtils.php:103
+#, php-format
+msgid "WikiAdminUtils %s returned:"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:103 ../lib/stdlib.php:1759
-msgid "Okay"
-msgstr "ä"
+#: ../lib/plugin/WikiAdminUtils.php:105
+msgid "Back"
+msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:108
+#: ../lib/plugin/WikiAdminUtils.php:110
 msgid "Purge Markup Cache"
 msgstr "ޡåץå˴"
 
-#: ../lib/plugin/WikiAdminUtils.php:109
+#: ../lib/plugin/WikiAdminUtils.php:111
 msgid "Purge all Pages With Invalid Names"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:110
+#: ../lib/plugin/WikiAdminUtils.php:112
 msgid "Purge all empty, unreferenced Pages"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:120
+#: ../lib/plugin/WikiAdminUtils.php:113
+msgid "Access Restrictions"
+msgstr ""
+
+#: ../lib/plugin/WikiAdminUtils.php:115
+msgid "Convert cached_html"
+msgstr ""
+
+#: ../lib/plugin/WikiAdminUtils.php:116
+msgid "DB Check"
+msgstr ""
+
+#: ../lib/plugin/WikiAdminUtils.php:117
+msgid "Db Rebuild"
+msgstr ""
+
+#: ../lib/plugin/WikiAdminUtils.php:128
 msgid "Markup cache purged!"
 msgstr "ޡåץå˴ޤ!"
 
-#: ../lib/plugin/WikiAdminUtils.php:140
+#: ../lib/plugin/WikiAdminUtils.php:148
 msgid "No pages with bad names had to be deleted."
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:142
+#: ../lib/plugin/WikiAdminUtils.php:150
 #, php-format
 msgid "Deleted %s pages with invalid names:"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:160
+#: ../lib/plugin/WikiAdminUtils.php:171
 msgid "[purged]"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:162
+#: ../lib/plugin/WikiAdminUtils.php:173
 msgid "[not purgable]"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:170
+#: ../lib/plugin/WikiAdminUtils.php:181
 msgid "No empty, unreferenced pages were found."
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:172
+#: ../lib/plugin/WikiAdminUtils.php:183
 #, php-format
 msgid "Deleted %s unreferenced pages:"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:175
+#: ../lib/plugin/WikiAdminUtils.php:186
 #, php-format
 msgid ""
 "The %d not-purgable pages/links are links in some page(s). You might want to "
 "edit them."
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:190
+#: ../lib/plugin/WikiAdminUtils.php:201
 msgid "No old _cached_html pagedata found."
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:192
+#: ../lib/plugin/WikiAdminUtils.php:203
 #, php-format
 msgid "Converted successfully %d pages"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:201
+#: ../lib/plugin/WikiAdminUtils.php:227
 msgid "Sorry. Access Restrictions not yet implemented"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:209
-#: ../themes/default/templates/userprefs.tmpl:124
+#: ../lib/plugin/WikiAdminUtils.php:235
+#: ../themes/default/templates/userprefs.tmpl:125
 msgid "E-Mail"
 msgstr "᡼"
 
-#: ../lib/plugin/WikiAdminUtils.php:211
+#: ../lib/plugin/WikiAdminUtils.php:237
 msgid "Verification Status"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:263
+#: ../lib/plugin/WikiAdminUtils.php:238
+#, fuzzy
+msgid "Username"
+msgstr "̾"
+
+#: ../lib/plugin/WikiAdminUtils.php:293
 msgid "Change Verification Status"
 msgstr ""
 
-#: ../lib/plugin/WikiBlog.php:79
+#: ../lib/plugin/WikiBlog.php:87
+msgid "WikiBlog"
+msgstr ""
+
+#: ../lib/plugin/WikiBlog.php:91
 #, php-format
 msgid "Show and add blogs for %s"
 msgstr ""
 
-#: ../lib/plugin/WikiBlog.php:190
+#: ../lib/plugin/WikiBlog.php:219
 msgid "New comment."
 msgstr ""
 
-#: ../lib/plugin/WikiBlog.php:294
+#: ../lib/plugin/WikiBlog.php:330
 #, fuzzy, php-format
 msgid "%s on %s:"
 msgstr "%s Х"
@@ -5047,7 +5741,7 @@
 msgid "WikiForm"
 msgstr ""
 
-#: ../lib/plugin/WikiForm.php:76
+#: ../lib/plugin/WikiForm.php:76 ../themes/MonoBook/templates/signin.tmpl:16
 msgid "Login"
 msgstr ""
 
@@ -5064,11 +5758,11 @@
 msgid "WikiForm: %s: unknown action"
 msgstr "WikiForm: '%s' ̤ΤǤ"
 
-#: ../lib/plugin/WikiFormRich.php:92
+#: ../lib/plugin/WikiFormRich.php:106
 msgid "Provide generic WikiForm input buttons"
 msgstr ""
 
-#: ../lib/plugin/WikiFormRich.php:181
+#: ../lib/plugin/WikiFormRich.php:195
 #, fuzzy
 msgid "name"
 msgstr "̾"
@@ -5107,11 +5801,6 @@
 msgid "Missing %s for %s"
 msgstr ""
 
-#: ../lib/plugin/WikiPoll.php:224
-#, fuzzy
-msgid "Ok"
-msgstr "ä"
-
 #: ../lib/plugin/WikiPoll.php:227
 #, fuzzy
 msgid "Reset"
@@ -5130,6 +5819,26 @@
 msgid "Thanks for participating!"
 msgstr ""
 
+#: ../lib/plugin/YouTube.php:24
+msgid "YouTube"
+msgstr ""
+
+#: ../lib/plugin/YouTube.php:28
+msgid "Embed YouTube videos"
+msgstr ""
+
+#: ../lib/plugin/YouTube.php:54
+#, fuzzy, php-format
+msgid "Required argument %s missing"
+msgstr "ݡȸ"
+
+#: ../lib/plugin/YouTube.php:91 ../lib/plugin/YouTube.php:93
+#: ../lib/plugin/YouTube.php:95 ../lib/plugin/YouTube.php:97
+#: ../lib/plugin/YouTube.php:121 ../lib/plugin/YouTube.php:123
+#, fuzzy, php-format
+msgid "Invalid argument %s"
+msgstr "饤"
+
 #: ../lib/plugin/_AuthInfo.php:35
 #, fuzzy
 msgid "AuthInfo"
@@ -5155,10 +5864,9 @@
 #: ../lib/plugin/_BackendInfo.php:30 ../lib/plugin/_WikiTranslation.php:60
 #: ../themes/Crao/templates/actionbar.tmpl:27
 #: ../themes/MonoBook/templates/info.tmpl:174
-#: ../themes/Portland/templates/actionbar.tmpl:21
-#: ../themes/Wordpress/templates/actionbar.tmpl:74
-#: ../themes/default/templates/actionbar.tmpl:34
-#: ../themes/shamino_com/templates/info.tmpl:174
+#: ../themes/Portland/templates/actionbar.tmpl:17
+#: ../themes/Wordpress/templates/actionbar.tmpl:75
+#: ../themes/default/templates/actionbar.tmpl:36
 #: ../themes/smaller/templates/info.tmpl:14
 msgid "DebugInfo"
 msgstr "ǥХ"
@@ -5168,17 +5876,17 @@
 msgid "Get debugging information for %s."
 msgstr ""
 
-#: ../lib/plugin/_BackendInfo.php:54
+#: ../lib/plugin/_BackendInfo.php:58
 #, php-format
 msgid "Querying backend directly for '%s'"
 msgstr ""
 
-#: ../lib/plugin/_BackendInfo.php:64
+#: ../lib/plugin/_BackendInfo.php:67
 #, php-format
 msgid "No pagedata for %s"
 msgstr ""
 
-#: ../lib/plugin/_BackendInfo.php:97
+#: ../lib/plugin/_BackendInfo.php:124
 msgid "<not displayed>"
 msgstr ""
 
@@ -5202,6 +5910,20 @@
 msgid "Get preferences information for current user %s."
 msgstr ""
 
+#: ../lib/plugin/_Retransform.php:30
+msgid "Retransform CachedMarkup"
+msgstr ""
+
+#: ../lib/plugin/_Retransform.php:34
+#, php-format
+msgid "Show a markup retransformation of page %s."
+msgstr ""
+
+#: ../lib/plugin/_Retransform.php:53
+#, fuzzy, php-format
+msgid "Retransform page '%s'"
+msgstr "ڡ"
+
 #: ../lib/plugin/_WikiTranslation.php:47
 #, fuzzy
 msgid "AddCommentPlugin"
@@ -5240,11 +5962,6 @@
 msgid "CalendarPlugin"
 msgstr ""
 
-#: ../lib/plugin/_WikiTranslation.php:56
-#, fuzzy
-msgid "CategoryCategory"
-msgstr "ۡڡ:"
-
 #: ../lib/plugin/_WikiTranslation.php:57
 #, fuzzy
 msgid "CategoryHomePages"
@@ -5272,9 +5989,10 @@
 #: ../lib/plugin/_WikiTranslation.php:64 ../themes/Crao/templates/head.tmpl:36
 #: ../themes/Crao/templates/head.tmpl:37
 #: ../themes/Crao/templates/navbar.tmpl:40
-#: ../themes/MonoBook/templates/navbar.tmpl:25
-#: ../themes/Portland/templates/navbar.tmpl:8
-#: ../themes/Sidebar/templates/navbar.tmpl:24
+#: ../themes/MonoBook/templates/navbar.tmpl:29
+#: ../themes/MonoBook/templates/navbar.tmpl:35
+#: ../themes/Portland/templates/navbar.tmpl:5
+#: ../themes/Sidebar/templates/navbar.tmpl:14
 #: ../themes/default/templates/head.tmpl:42
 #: ../themes/default/templates/head.tmpl:43
 #: ../themes/default/templates/navbar.tmpl:20
@@ -5282,7 +6000,7 @@
 #: ../themes/smaller/templates/navbar.tmpl:8
 #: ../themes/wikilens/templates/head.tmpl:34
 #: ../themes/wikilens/templates/head.tmpl:35
-#: ../themes/wikilens/templates/navbar.tmpl:11
+#: ../themes/wikilens/templates/navbar.tmpl:19
 msgid "FindPage"
 msgstr "ڡ"
 
@@ -5396,6 +6114,7 @@
 msgstr ""
 
 #: ../lib/plugin/_WikiTranslation.php:95
+#: ../themes/MonoBook/templates/navbar.tmpl:20
 msgid "PhpWikiDocumentation"
 msgstr ""
 
@@ -5481,6 +6200,7 @@
 msgstr ""
 
 #: ../lib/plugin/_WikiTranslation.php:118
+#: ../themes/MonoBook/templates/navbar.tmpl:60
 #, fuzzy
 msgid "UpLoad"
 msgstr "åץ"
@@ -5528,36 +6248,35 @@
 "service for %s to language %s"
 msgstr ""
 
-#: ../lib/plugin/_WikiTranslation.php:319
-#, fuzzy, php-format
-msgid "%s is empty"
-msgstr "%s Ǥ"
-
 #: ../lib/plugin/_WikiTranslation.php:438
 #, php-format
 msgid "Define the translation for %s in %s"
 msgstr ""
 
-#: ../lib/plugin/text2png.php:46
+#: ../lib/plugin/text2png.php:57
 msgid "Convert text into a png image using GD."
 msgstr ""
 
-#: ../lib/plugin/text2png.php:118
+#: ../lib/plugin/text2png.php:169
 msgid ""
 "PHP was unable to create a new GD image stream. Read 'lib/plugin/text2png."
 "php' for details."
 msgstr ""
 
-#: ../lib/plugin/text2png.php:168
+#: ../lib/plugin/text2png.php:214
 #, php-format
 msgid "Image saved to cache file: %s"
 msgstr ""
 
-#: ../lib/plugin/text2png.php:172
+#: ../lib/plugin/text2png.php:218
 #, php-format
 msgid "Image loaded from cache file: %s"
 msgstr ""
 
+#: ../lib/plugin/text2png.php:226
+msgid " produced by "
+msgstr ""
+
 #: ../lib/removepage.php:18
 msgid "Already deleted"
 msgstr ""
@@ -5588,314 +6307,371 @@
 msgid "Back to the previous page."
 msgstr "ڡƤޤ"
 
-#: ../lib/stdlib.php:364 ../lib/stdlib.php:393
+#: ../lib/stdlib.php:366 ../lib/stdlib.php:395
 msgid "BAD URL -- remove all of <, >, \""
 msgstr ""
 
-#: ../lib/stdlib.php:433 ../lib/stdlib.php:450
+#: ../lib/stdlib.php:435 ../lib/stdlib.php:452
 #, fuzzy
 msgid "Invalid image size"
 msgstr "饤"
 
-#: ../lib/stdlib.php:560
+#: ../lib/stdlib.php:562
 msgid "BAD phpwiki: URL"
 msgstr ""
 
-#: ../lib/stdlib.php:598
+#: ../lib/stdlib.php:600
 msgid "Lock page to enable link"
 msgstr ""
 
-#: ../lib/stdlib.php:725
+#: ../lib/stdlib.php:728
 #, php-format
 msgid "'%s': Bad page name: %s"
 msgstr ""
 
-#: ../lib/stdlib.php:755 ../lib/stdlib.php:780
+#: ../lib/stdlib.php:758 ../lib/stdlib.php:789
 #, php-format
 msgid "Leading %s not allowed"
 msgstr ""
 
-#: ../lib/stdlib.php:764
+#: ../lib/stdlib.php:773
 msgid "White space converted to single space"
 msgstr ""
 
-#: ../lib/stdlib.php:770
+#: ../lib/stdlib.php:779
 msgid "Control characters not allowed"
 msgstr ""
 
-#: ../lib/stdlib.php:791
+#: ../lib/stdlib.php:800
 msgid "too long"
 msgstr "Ĺޤ"
 
-#: ../lib/stdlib.php:797
+#: ../lib/stdlib.php:809
 #, fuzzy, php-format
 msgid "Illegal chars %s removed"
 msgstr "ڡ̾ޤ"
 
-#: ../lib/stdlib.php:843
+#: ../lib/stdlib.php:855
 msgid "The CreateTocPlugin is not yet old markup compatible! "
 msgstr ""
 
-#: ../lib/stdlib.php:844
+#: ../lib/stdlib.php:856
 msgid ""
 "Please remove the CreateToc line to be able to reformat this page to old "
 "markup. "
 msgstr ""
 
-#: ../lib/stdlib.php:1105
+#: ../lib/stdlib.php:1118
 msgid "Revision Not Found"
 msgstr "ӥ󤬸Ĥޤ"
 
-#: ../lib/stdlib.php:1106
+#: ../lib/stdlib.php:1119
 #, php-format
 msgid "I'm sorry.  Version %d of %s is not in the database."
 msgstr ""
 
-#: ../lib/stdlib.php:1109
+#: ../lib/stdlib.php:1122
 msgid "Bad Version"
 msgstr "Сޤ"
 
-#: ../lib/stdlib.php:1245
+#: ../lib/stdlib.php:1258
 msgid "-???"
 msgstr ""
 
-#: ../lib/stdlib.php:1248
+#: ../lib/stdlib.php:1261
 #, fuzzy, php-format
 msgid "%s b"
 msgstr "%s Х"
 
-#: ../lib/stdlib.php:1250 ../themes/MonoBook/templates/info.tmpl:29
-#: ../themes/shamino_com/templates/info.tmpl:29
+#: ../lib/stdlib.php:1263 ../themes/MonoBook/templates/info.tmpl:29
 #, php-format
 msgid "%s bytes"
 msgstr "%s Х"
 
-#: ../lib/stdlib.php:1255
+#: ../lib/stdlib.php:1268
 #, php-format
 msgid "%s k"
 msgstr ""
 
-#: ../lib/stdlib.php:1257 ../themes/MonoBook/templates/info.tmpl:32
-#: ../themes/shamino_com/templates/info.tmpl:32
+#: ../lib/stdlib.php:1270 ../themes/MonoBook/templates/info.tmpl:32
 #, php-format
 msgid "%s Kb (%s bytes)"
 msgstr "%s Х(%s Х)"
 
-#: ../lib/stdlib.php:1353
+#: ../lib/stdlib.php:1366
 #, php-format
 msgid "%s: argument index out of range"
 msgstr ""
 
-#: ../lib/stdlib.php:1431 ../themes/Hawaiian/lib/random.php:20
+#: ../lib/stdlib.php:1444 ../themes/Hawaiian/lib/random.php:20
 #, php-format
 msgid "%s is empty."
 msgstr "%s Ǥ"
 
-#: ../lib/stdlib.php:1438
+#: ../lib/stdlib.php:1451
 #, php-format
 msgid "Unable to open directory '%s' for reading"
 msgstr ""
 
-#: ../lib/stdlib.php:1942 ../lib/stdlib.php:1955
+#: ../lib/stdlib.php:1772
+msgid "Okay"
+msgstr "ä"
+
+#: ../lib/stdlib.php:1949 ../lib/stdlib.php:1962
 #, php-format
 msgid "... (first %s words)"
 msgstr ""
 
-#: ../lib/upgrade.php:76
+#: ../lib/upgrade.php:86
 msgid "newer than the existing page."
 msgstr ""
 
-#: ../lib/upgrade.php:77
+#: ../lib/upgrade.php:87
 msgid " replace "
 msgstr ""
 
-#: ../lib/upgrade.php:81
+#: ../lib/upgrade.php:91
 msgid "older than the existing page."
 msgstr ""
 
-#: ../lib/upgrade.php:82 ../lib/upgrade.php:86 ../lib/upgrade.php:153
-msgid " skipped"
-msgstr ""
-
-#: ../lib/upgrade.php:89
+#: ../lib/upgrade.php:99
 #, php-format
 msgid "%s does not exist"
 msgstr ""
 
-#: ../lib/upgrade.php:112
-msgid "check for necessary ActionPage updates"
+#: ../lib/upgrade.php:124 ../lib/upgrade.php:155 ../lib/upgrade.php:401
+#: ../lib/upgrade.php:913 ../lib/upgrade.php:1001
+#, php-format
+msgid "check for necessary %s updates"
 msgstr ""
 
-#: ../lib/upgrade.php:136
-msgid "check for necessary pgsrc updates"
-msgstr ""
+#: ../lib/upgrade.php:125 ../themes/MonoBook/templates/actionbar.tmpl:17
+#: ../themes/MonoBook/templates/actionbar.tmpl:30
+#, fuzzy
+msgid "ActionPage"
+msgstr "ڡ"
+
+#: ../lib/upgrade.php:127
+#, fuzzy
+msgid "_AuthInfo"
+msgstr "Խ:"
 
-#: ../lib/upgrade.php:152
+#: ../lib/upgrade.php:127
+#, fuzzy
+msgid "DebugAuthInfo"
+msgstr "ǥХ"
+
+#: ../lib/upgrade.php:130
+#, fuzzy
+msgid "_GroupInfo"
+msgstr "ǥХ"
+
+#: ../lib/upgrade.php:130
+#, fuzzy
+msgid "GroupAuthInfo"
+msgstr "Խ:"
+
+#: ../lib/upgrade.php:158
+#, fuzzy
+msgid "rename to Help: pages"
+msgstr "ڡƺ"
+
+#: ../lib/upgrade.php:175
 msgid "always skip the HomePage."
 msgstr ""
 
-#: ../lib/upgrade.php:172
+#: ../lib/upgrade.php:196
+#, php-format
+msgid "check for additional theme %s updates"
+msgstr ""
+
+#: ../lib/upgrade.php:209
+#, fuzzy, php-format
+msgid "rename %s to %s"
+msgstr "%s ɹޤޤ"
+
+#: ../lib/upgrade.php:236
 msgid "MISSING"
 msgstr ""
 
-#: ../lib/upgrade.php:208 ../lib/upgrade.php:227 ../lib/upgrade.php:246
-#: ../lib/upgrade.php:267 ../lib/upgrade.php:295 ../lib/upgrade.php:341
+#: ../lib/upgrade.php:272 ../lib/upgrade.php:291 ../lib/upgrade.php:312
+#: ../lib/upgrade.php:340 ../lib/upgrade.php:386
 msgid "CREATED"
 msgstr ""
 
-#: ../lib/upgrade.php:357
-msgid "check for necessary database updates"
+#: ../lib/upgrade.php:402
+msgid "database"
 msgstr ""
 
-#: ../lib/upgrade.php:362
+#: ../lib/upgrade.php:408
 msgid "CANCEL"
 msgstr ""
 
-#: ../lib/upgrade.php:368
+#: ../lib/upgrade.php:421
 #, fuzzy
 msgid "Backend type: "
 msgstr "ǡ١"
 
-#: ../lib/upgrade.php:371 ../lib/upgrade.php:380 ../lib/upgrade.php:389
+#: ../lib/upgrade.php:425 ../lib/upgrade.php:445 ../lib/upgrade.php:454
 #, php-format
 msgid "check for table %s"
 msgstr ""
 
-#: ../lib/upgrade.php:401
+#: ../lib/upgrade.php:469
 msgid "check for new session.sess_ip column"
 msgstr ""
 
-#: ../lib/upgrade.php:407 ../lib/upgrade.php:712
+#: ../lib/upgrade.php:475 ../lib/upgrade.php:692 ../lib/upgrade.php:837
 msgid "SKIP"
 msgstr ""
 
-#: ../lib/upgrade.php:410 ../lib/upgrade.php:517 ../lib/upgrade.php:717
+#: ../lib/upgrade.php:478 ../lib/upgrade.php:586 ../lib/upgrade.php:842
 msgid "ADDING"
 msgstr ""
 
-#: ../lib/upgrade.php:420
+#: ../lib/upgrade.php:488
 msgid "check for mysql session.sess_id sanity"
 msgstr ""
 
-#: ../lib/upgrade.php:434 ../lib/upgrade.php:439 ../lib/upgrade.php:476
-#: ../lib/upgrade.php:485
+#: ../lib/upgrade.php:502 ../lib/upgrade.php:507 ../lib/upgrade.php:544
+#: ../lib/upgrade.php:553
 #, fuzzy
 msgid "fixed"
 msgstr "ǽ"
 
-#: ../lib/upgrade.php:453
+#: ../lib/upgrade.php:521
 msgid "check for mysql LOCK TABLE privilege"
 msgstr ""
 
-#: ../lib/upgrade.php:487 ../lib/upgrade.php:524 ../lib/upgrade.php:784
-#: ../lib/upgrade.php:809 ../lib/upgrade.php:818 ../lib/upgrade.php:825
-msgid "FAILED"
-msgstr ""
-
-#: ../lib/upgrade.php:499
+#: ../lib/upgrade.php:567
 #, fuzzy, php-format
 msgid "version <em>%s</em> not affected"
 msgstr "С %s"
 
-#: ../lib/upgrade.php:507
+#: ../lib/upgrade.php:576
 msgid "check for mysql page.id auto_increment flag"
 msgstr ""
 
-#: ../lib/upgrade.php:544
+#: ../lib/upgrade.php:613
 msgid "check for mysql 4.1.x/5.0.0 binary search on windows problem"
 msgstr ""
 
-#: ../lib/upgrade.php:547 ../lib/upgrade.php:563 ../lib/upgrade.php:584
+#: ../lib/upgrade.php:616 ../lib/upgrade.php:632 ../lib/upgrade.php:653
 #, fuzzy, php-format
 msgid "version <em>%s</em>"
 msgstr "С %s"
 
-#: ../lib/upgrade.php:548
+#: ../lib/upgrade.php:617
 #, fuzzy
 msgid "not affected"
 msgstr "%s ¸ޤ"
 
-#: ../lib/upgrade.php:564 ../lib/upgrade.php:585 ../lib/upgrade.php:606
-#: ../lib/upgrade.php:816
+#: ../lib/upgrade.php:633 ../lib/upgrade.php:654 ../lib/upgrade.php:682
+#: ../lib/upgrade.php:1103
 msgid "FIXED"
 msgstr ""
 
-#: ../lib/upgrade.php:595
+#: ../lib/upgrade.php:664
 msgid "check for ACCESS_LOG_SQL passwords in POST requests"
 msgstr ""
 
-#: ../lib/upgrade.php:661
+#: ../lib/upgrade.php:687
+msgid "check for ACCESS_LOG_SQL remote_host varchar(50)"
+msgstr ""
+
+#: ../lib/upgrade.php:695
+msgid "FIXING"
+msgstr ""
+
+#: ../lib/upgrade.php:698
+msgid "FAIL"
+msgstr ""
+
+#: ../lib/upgrade.php:787
 msgid ""
 "Upgrade requires database privileges to CREATE and ALTER the phpwiki "
 "database."
 msgstr ""
 
-#: ../lib/upgrade.php:663
+#: ../lib/upgrade.php:789
 msgid ""
 "And on windows at least the privilege to SELECT FROM mysql, and possibly "
 "UPDATE mysql"
 msgstr ""
 
-#: ../lib/upgrade.php:668
+#: ../lib/upgrade.php:794
 msgid "DB admin user:"
 msgstr ""
 
-#: ../lib/upgrade.php:674
+#: ../lib/upgrade.php:800
 #, fuzzy
 msgid "DB admin password:"
 msgstr "桼IDѥɤ̵Ǥ"
 
-#: ../lib/upgrade.php:707
+#: ../lib/upgrade.php:832
 msgid "check for extra page.cached_html column"
 msgstr ""
 
-#: ../lib/upgrade.php:724
+#: ../lib/upgrade.php:849 ../lib/upgrade.php:897
 msgid "CONVERTING"
 msgstr ""
 
-#: ../lib/upgrade.php:766
-msgid "check for necessary plugin argument updates"
+#: ../lib/upgrade.php:895
+msgid "Rebuild entire database to upgrade relation links"
 msgstr ""
 
-#: ../lib/upgrade.php:767
-msgid "change RandomPage pages => numpages"
-msgstr ""
+#: ../lib/upgrade.php:914
+#, fuzzy
+msgid "plugin argument"
+msgstr "饤"
 
-#: ../lib/upgrade.php:819
-#, php-format
-msgid "couldn't move %s to %s"
-msgstr ""
+#: ../lib/upgrade.php:958
+#, fuzzy, php-format
+msgid "file %s not found"
+msgstr "%s: ե뤬Ĥޤ"
+
+#: ../lib/upgrade.php:985
+#, fuzzy, php-format
+msgid "%s not found in %s"
+msgstr "%s: ե뤬Ĥޤ"
 
-#: ../lib/upgrade.php:826
+#: ../lib/upgrade.php:992
 #, php-format
-msgid "%s is not writable"
+msgid "couldn't move %s to %s"
 msgstr ""
 
-#: ../lib/upgrade.php:832
-msgid "check for necessary config updates"
-msgstr ""
+#: ../lib/upgrade.php:996
+#, fuzzy, php-format
+msgid "file %s is not writable"
+msgstr "%s: ե뤬Ĥޤ"
 
-#: ../lib/upgrade.php:833
-msgid "check for old CACHE_CONTROL = NONE"
+#: ../lib/upgrade.php:1006 ../lib/upgrade.php:1016 ../lib/upgrade.php:1026
+#, php-format
+msgid "check for %s"
 msgstr ""
 
-#: ../lib/upgrade.php:836
+#: ../lib/upgrade.php:1008
 msgid "CACHE_CONTROL is set to 'NONE', and must be changed to 'NO_CACHE'"
 msgstr ""
 
-#: ../lib/upgrade.php:843
-msgid "check for GROUP_METHOD = NONE"
+#: ../lib/upgrade.php:1018
+msgid "GROUP_METHOD is set to NONE, and must be changed to \"NONE\""
 msgstr ""
 
-#: ../lib/upgrade.php:846
-msgid "GROUP_METHOD is set to NONE, and must be changed to \"NONE\""
+#: ../lib/upgrade.php:1028
+msgid "fix BLOG_EMPTY_DEFAULT_PREFIX into BLOG_DEFAULT_EMPTY_PREFIX"
 msgstr ""
 
-#: ../lib/upgrade.php:883
+#: ../lib/upgrade.php:1128
+#, fuzzy
+msgid "fixed with"
+msgstr "ǽ"
+
+#: ../lib/upgrade.php:1254
 msgid "Upgrade disabled: user != isAdmin"
 msgstr ""
 
-#: ../lib/upgrade.php:887
+#: ../lib/upgrade.php:1259
 msgid "Upgrading this PhpWiki"
 msgstr ""
 
@@ -5929,48 +6705,46 @@
 msgid "Members:"
 msgstr ""
 
-#: ../lib/ziplib.php:199
+#: ../lib/ziplib.php:206
 msgid "Can't inflate data: zlib support not enabled in this PHP"
 msgstr ""
 
-#: ../lib/ziplib.php:395
+#: ../lib/ziplib.php:402
 #, php-format
 msgid "Can't open zip file '%s' for reading"
 msgstr ""
 
-#: ../lib/ziplib.php:405 ../lib/ziplib.php:409
+#: ../lib/ziplib.php:412 ../lib/ziplib.php:416
 msgid "Unexpected EOF in zip file"
 msgstr ""
 
-#: ../lib/ziplib.php:730
+#: ../lib/ziplib.php:738
 #, php-format
 msgid "[%d] See [%s]"
 msgstr ""
 
-#: ../lib/ziplib.php:737
+#: ../lib/ziplib.php:745
 msgid "References"
 msgstr "Ȱ"
 
 #: ../themes/Crao/templates/actionbar.tmpl:5
-#: ../themes/MonoBook/templates/actionbar.tmpl:11
-#: ../themes/Portland/templates/actionbar.tmpl:8
-#: ../themes/default/templates/actionbar.tmpl:15
+#: ../themes/MonoBook/templates/actionbar.tmpl:34
+#: ../themes/Portland/templates/actionbar.tmpl:6
+#: ../themes/default/templates/actionbar.tmpl:16
 #: ../themes/shamino_com/templates/actionbar.tmpl:6
-#: ../themes/shamino_com/templates/info.tmpl:164
 #: ../themes/smaller/templates/actionbar.tmpl:18
 msgid "Edit Old Revision"
 msgstr "ŤӥԽ"
 
 #: ../themes/Crao/templates/actionbar.tmpl:7
 #: ../themes/Crao/templates/head.tmpl:47
-#: ../themes/MonoBook/templates/actionbar.tmpl:13
+#: ../themes/MonoBook/templates/actionbar.tmpl:37
 #: ../themes/MonoBook/templates/info.tmpl:166
-#: ../themes/Portland/templates/actionbar.tmpl:10
+#: ../themes/Portland/templates/actionbar.tmpl:8
 #: ../themes/Wordpress/templates/actionbar.tmpl:10
-#: ../themes/blog/templates/actionbar.tmpl:7
-#: ../themes/default/templates/actionbar.tmpl:17
+#: ../themes/blog/templates/actionbar.tmpl:21
+#: ../themes/default/templates/actionbar.tmpl:18
 #: ../themes/default/templates/head.tmpl:53
-#: ../themes/shamino_com/templates/info.tmpl:165
 #: ../themes/smaller/templates/actionbar.tmpl:20
 #: ../themes/smaller/templates/info.tmpl:5
 #: ../themes/wikilens/templates/head.tmpl:45
@@ -5978,20 +6752,18 @@
 msgstr "򸫤"
 
 #: ../themes/Crao/templates/actionbar.tmpl:30
-#: ../themes/MonoBook/templates/actionbar.tmpl:52
+#: ../themes/MonoBook/templates/actionbar.tmpl:72
 #: ../themes/MonoBook/templates/info.tmpl:177
-#: ../themes/default/templates/actionbar.tmpl:39
-#: ../themes/shamino_com/templates/info.tmpl:177
+#: ../themes/default/templates/actionbar.tmpl:41
 #: ../themes/smaller/templates/info.tmpl:17
 #, fuzzy
 msgid "PurgeHtmlCache"
 msgstr "ޡåץå˴"
 
 #: ../themes/Crao/templates/actionbar.tmpl:31
-#: ../themes/MonoBook/templates/actionbar.tmpl:53
+#: ../themes/MonoBook/templates/actionbar.tmpl:73
 #: ../themes/MonoBook/templates/info.tmpl:178
-#: ../themes/default/templates/actionbar.tmpl:40
-#: ../themes/shamino_com/templates/info.tmpl:178
+#: ../themes/default/templates/actionbar.tmpl:42
 #: ../themes/smaller/templates/info.tmpl:18
 msgid ""
 "Purge HTML cache for this page. Regenerate from WikiMarkup when next "
@@ -5999,59 +6771,66 @@
 msgstr ""
 
 #: ../themes/Crao/templates/blogform.tmpl:10
-#: ../themes/blog/templates/blogform.tmpl:11
-#: ../themes/default/templates/blogform.tmpl:11
 msgid "Add a Comment"
 msgstr "ɲ"
 
 #: ../themes/Crao/templates/blogform.tmpl:18
-#: ../themes/blog/templates/blogform.tmpl:28
 #: ../themes/default/templates/addcomment.tmpl:14
-#: ../themes/default/templates/blogform.tmpl:28
 #, fuzzy
 msgid "Add Comment"
 msgstr "ɲ"
 
 #: ../themes/Crao/templates/browse.tmpl:5
+#: ../themes/MonoBook/templates/browse.tmpl:6
 #: ../themes/Portland/templates/browse.tmpl:9
 #: ../themes/Portland/templates/viewsource.tmpl:5
 #: ../themes/Wordpress/templates/browse.tmpl:9
-#: ../themes/Wordpress/templates/viewsource.tmpl:7
+#: ../themes/Wordpress/templates/viewsource.tmpl:9
 #: ../themes/blog/templates/browse.tmpl:6
+#: ../themes/blog/templates/viewsource.tmpl:6
 #: ../themes/default/templates/browse.tmpl:6
 #: ../themes/default/templates/viewsource.tmpl:5
 msgid "Note:"
 msgstr "Ρ:"
 
 #: ../themes/Crao/templates/browse.tmpl:6
+#: ../themes/MonoBook/templates/browse.tmpl:7
 #: ../themes/Portland/templates/browse.tmpl:10
 #: ../themes/Portland/templates/viewsource.tmpl:10
 #: ../themes/Wordpress/templates/browse.tmpl:10
-#: ../themes/Wordpress/templates/viewsource.tmpl:12
+#: ../themes/Wordpress/templates/viewsource.tmpl:14
 #: ../themes/blog/templates/browse.tmpl:7
+#: ../themes/blog/templates/viewsource.tmpl:11
 #: ../themes/default/templates/browse.tmpl:7
 #: ../themes/default/templates/viewsource.tmpl:10
 msgid "You are viewing an old revision of this page."
 msgstr ""
 
 #: ../themes/Crao/templates/browse.tmpl:7
+#: ../themes/MonoBook/templates/browse.tmpl:8
 #: ../themes/Portland/templates/browse.tmpl:11
 #: ../themes/Portland/templates/viewsource.tmpl:11
 #: ../themes/Wordpress/templates/browse.tmpl:11
-#: ../themes/Wordpress/templates/viewsource.tmpl:13
+#: ../themes/Wordpress/templates/viewsource.tmpl:15
 #: ../themes/blog/templates/browse.tmpl:8
+#: ../themes/blog/templates/viewsource.tmpl:12
 #: ../themes/default/templates/browse.tmpl:8
 #: ../themes/default/templates/viewsource.tmpl:11
 msgid "View the current version"
 msgstr "ߤΥСɽ"
 
 #: ../themes/Crao/templates/editpage.tmpl:4
-#: ../themes/Portland/templates/editpage.tmpl:61
-#: ../themes/Wordpress/templates/editpage.tmpl:63
+#: ../themes/Portland/templates/editpage.tmpl:57
+#: ../themes/Wordpress/templates/editpage.tmpl:67
 #: ../themes/default/templates/editpage.tmpl:4
 msgid "Preview only!  Changes not saved."
 msgstr "ץӥ塼ƤǤ! ޤ¸ϤƤޤ"
 
+#: ../themes/Crao/templates/editpage.tmpl:9
+#: ../themes/default/templates/editpage.tmpl:9
+msgid "edit area"
+msgstr "Խꥢ"
+
 #: ../themes/Crao/templates/editpage.tmpl:8
 #: ../themes/default/templates/editpage.tmpl:8
 #, php-format
@@ -6059,11 +6838,6 @@
 "Please continue editing.  (You'll find your %s at the bottom of the page.)"
 msgstr "Խ³Ʋ (%s Υڡβ⸫Ƥ)"
 
-#: ../themes/Crao/templates/editpage.tmpl:9
-#: ../themes/default/templates/editpage.tmpl:9
-msgid "edit area"
-msgstr "Խꥢ"
-
 #: ../themes/Crao/templates/editpage.tmpl:18
 #: ../themes/Portland/templates/editpage.tmpl:25
 #: ../themes/Wordpress/templates/editpage.tmpl:23
@@ -6079,21 +6853,21 @@
 msgstr ""
 
 #: ../themes/Crao/templates/editpage.tmpl:38
-#: ../themes/Portland/templates/editpage.tmpl:52
+#: ../themes/Portland/templates/editpage.tmpl:48
 #: ../themes/Wordpress/templates/editpage.tmpl:39
 #: ../themes/default/templates/editpage.tmpl:40
 msgid "H"
 msgstr "⤵"
 
 #: ../themes/Crao/templates/editpage.tmpl:39
-#: ../themes/Portland/templates/editpage.tmpl:53
+#: ../themes/Portland/templates/editpage.tmpl:49
 #: ../themes/Wordpress/templates/editpage.tmpl:40
 #: ../themes/default/templates/editpage.tmpl:41
 msgid "W"
 msgstr ""
 
 #: ../themes/Crao/templates/editpage.tmpl:40
-#: ../themes/Portland/templates/editpage.tmpl:54
+#: ../themes/Portland/templates/editpage.tmpl:50
 #: ../themes/Wordpress/templates/editpage.tmpl:41
 #: ../themes/default/templates/editpage.tmpl:42
 msgid "Adjust"
@@ -6110,58 +6884,66 @@
 msgstr ""
 
 #: ../themes/Crao/templates/editpage.tmpl:59
-#: ../themes/Portland/templates/editpage.tmpl:56
-#: ../themes/Wordpress/templates/editpage.tmpl:44
+#: ../themes/Portland/templates/editpage.tmpl:52
+#: ../themes/Wordpress/templates/editpage.tmpl:59
 #: ../themes/default/templates/editpage.tmpl:60
 msgid "Use old markup"
 msgstr "Ťޡåפ"
 
 #: ../themes/Crao/templates/editpage.tmpl:92
 #: ../themes/Crao/templates/editpage.tmpl:97
-#: ../themes/Portland/templates/editpage.tmpl:84
-#: ../themes/Portland/templates/editpage.tmpl:89
-#: ../themes/Wordpress/templates/editpage.tmpl:86
-#: ../themes/Wordpress/templates/editpage.tmpl:91
+#: ../themes/Portland/templates/editpage.tmpl:80
+#: ../themes/Portland/templates/editpage.tmpl:85
+#: ../themes/Wordpress/templates/editpage.tmpl:90
+#: ../themes/Wordpress/templates/editpage.tmpl:95
+#: ../themes/blog/templates/blogform.tmpl:24
+#: ../themes/default/templates/blogform.tmpl:24
+#: ../themes/default/templates/editpage.tmpl:108
 #: ../themes/default/templates/editpage.tmpl:113
-#: ../themes/default/templates/editpage.tmpl:118
-#, php-format
-msgid "See %s tips for editing."
+msgid "Help/GoodStyle"
 msgstr ""
 
 #: ../themes/Crao/templates/editpage.tmpl:92
 #: ../themes/Crao/templates/editpage.tmpl:97
-#: ../themes/Portland/templates/editpage.tmpl:84
-#: ../themes/Portland/templates/editpage.tmpl:89
-#: ../themes/Wordpress/templates/editpage.tmpl:86
-#: ../themes/Wordpress/templates/editpage.tmpl:91
+#: ../themes/Portland/templates/editpage.tmpl:80
+#: ../themes/Portland/templates/editpage.tmpl:85
+#: ../themes/Wordpress/templates/editpage.tmpl:90
+#: ../themes/Wordpress/templates/editpage.tmpl:95
+#: ../themes/blog/templates/blogform.tmpl:24
+#: ../themes/default/templates/blogform.tmpl:24
+#: ../themes/default/templates/editpage.tmpl:108
 #: ../themes/default/templates/editpage.tmpl:113
-#: ../themes/default/templates/editpage.tmpl:118
-msgid "GoodStyle"
+#, php-format
+msgid "See %s tips for editing."
 msgstr ""
 
 #: ../themes/Crao/templates/editpage.tmpl:93
-#: ../themes/Portland/templates/editpage.tmpl:85
-#: ../themes/Wordpress/templates/editpage.tmpl:87
-#: ../themes/default/templates/editpage.tmpl:114
-msgid "OldTextFormattingRules"
+#: ../themes/Portland/templates/editpage.tmpl:81
+#: ../themes/Wordpress/templates/editpage.tmpl:91
+#: ../themes/default/templates/editpage.tmpl:109
+msgid "Help/OldTextFormattingRules"
 msgstr ""
 
 #: ../themes/Crao/templates/editpage.tmpl:93
 #: ../themes/Crao/templates/editpage.tmpl:98
-#: ../themes/Portland/templates/editpage.tmpl:85
-#: ../themes/Portland/templates/editpage.tmpl:90
-#: ../themes/Wordpress/templates/editpage.tmpl:87
-#: ../themes/Wordpress/templates/editpage.tmpl:92
+#: ../themes/Portland/templates/editpage.tmpl:81
+#: ../themes/Portland/templates/editpage.tmpl:86
+#: ../themes/Wordpress/templates/editpage.tmpl:91
+#: ../themes/Wordpress/templates/editpage.tmpl:96
+#: ../themes/blog/templates/blogform.tmpl:25
+#: ../themes/default/templates/blogform.tmpl:25
+#: ../themes/default/templates/editpage.tmpl:109
 #: ../themes/default/templates/editpage.tmpl:114
-#: ../themes/default/templates/editpage.tmpl:119
 msgid "Synopsis"
 msgstr ""
 
 #: ../themes/Crao/templates/editpage.tmpl:98
-#: ../themes/Portland/templates/editpage.tmpl:90
-#: ../themes/Wordpress/templates/editpage.tmpl:92
-#: ../themes/default/templates/editpage.tmpl:119
-msgid "TextFormattingRules"
+#: ../themes/Portland/templates/editpage.tmpl:86
+#: ../themes/Wordpress/templates/editpage.tmpl:96
+#: ../themes/blog/templates/blogform.tmpl:25
+#: ../themes/default/templates/blogform.tmpl:25
+#: ../themes/default/templates/editpage.tmpl:114
+msgid "Help/TextFormattingRules"
 msgstr ""
 
 #: ../themes/Crao/templates/head.tmpl:31 ../themes/Crao/templates/head.tmpl:32
@@ -6175,37 +6957,36 @@
 msgstr ""
 
 #: ../themes/Crao/templates/navbar.tmpl:34
-#: ../themes/Wordpress/templates/actionbar.tmpl:37
+#: ../themes/Wordpress/templates/actionbar.tmpl:38
 #: ../themes/default/templates/navbar.tmpl:51
-#: ../themes/wikilens/templates/navbar.tmpl:40
+#: ../themes/wikilens/templates/navbar.tmpl:30
 msgid "Today"
 msgstr ""
 
 #: ../themes/Crao/templates/navbar.tmpl:37
-#: ../themes/Sidebar/templates/navbar.tmpl:38
+#: ../themes/Sidebar/templates/navbar.tmpl:28
 #: ../themes/blog/templates/navbar.tmpl:14
 #: ../themes/default/templates/navbar.tmpl:55
-#: ../themes/wikilens/templates/navbar.tmpl:43
+#: ../themes/wikilens/templates/navbar.tmpl:32
 msgid "Admin"
 msgstr ""
 
 #: ../themes/Crao/templates/navbar.tmpl:46
 #: ../themes/blog/templates/search.tmpl:11
-#: ../themes/default/templates/search.tmpl:16
-#: ../themes/default/templates/search.tmpl:23
+#: ../themes/default/templates/search.tmpl:20
+#: ../themes/default/templates/search.tmpl:25
 #, fuzzy
 msgid "LiveSearch"
 msgstr "ȥ븡"
 
-#: ../themes/Crao/templates/signin.tmpl:18
+#: ../themes/Crao/templates/signin.tmpl:17
 #, fuzzy, php-format
 msgid "You are signed in as %s"
 msgstr "%s Ȥƥ󥤥󤷤ޤ"
 
-#: ../themes/Crao/templates/signin.tmpl:39
-#: ../themes/MonoBook/templates/signin.tmpl:38
-#: ../themes/Sidebar/templates/signin.tmpl:38
-#: ../themes/Wordpress/templates/signin.tmpl:42
+#: ../themes/Crao/templates/signin.tmpl:38
+#: ../themes/Sidebar/templates/signin.tmpl:37
+#: ../themes/Wordpress/templates/signin.tmpl:41
 #: ../themes/default/templates/signin.tmpl:34
 #: ../themes/smaller/templates/signin.tmpl:37
 msgid "Enter your UserId to sign in"
@@ -6213,8 +6994,6 @@
 
 #: ../themes/Crao/templates/wikiblog.tmpl:19
 #: ../themes/blog/templates/wikiblog.tmpl:20
-#: ../themes/default/templates/comment.tmpl:18
-#: ../themes/default/templates/wikiblog.tmpl:19
 #, php-format
 msgid "Comment modified on %s by %s"
 msgstr ""
@@ -6222,43 +7001,36 @@
 #: ../themes/Crao/templates/wikiblog.tmpl:25
 #: ../themes/blog/templates/wikiblog.tmpl:25
 #: ../themes/default/templates/comment.tmpl:24
-#: ../themes/default/templates/wikiblog.tmpl:24
 #, php-format
 msgid "Comments on %s by %s."
 msgstr ""
 
-#: ../themes/Hawaiian/themeinfo.php:29 ../themes/MacOSX/themeinfo.php:104
-#: ../themes/MonoBook/themeinfo.php:72 ../themes/Portland/themeinfo.php:59
-#: ../themes/Sidebar/themeinfo.php:122 ../themes/SpaceWiki/themeinfo.php:43
-#: ../themes/Wordpress/themeinfo.php:61 ../themes/default/themeinfo.php:24
-#: ../themes/shamino_com/themeinfo.php:56 ../themes/smaller/themeinfo.php:51
-#: ../themes/wikilens/themeinfo.php:24
-msgid "Printer"
-msgstr "ץ󥿡"
-
-#: ../themes/Hawaiian/themeinfo.php:30 ../themes/MonoBook/themeinfo.php:74
-#: ../themes/Portland/themeinfo.php:60 ../themes/Sidebar/themeinfo.php:123
-#: ../themes/SpaceWiki/themeinfo.php:44 ../themes/Wordpress/themeinfo.php:62
-#: ../themes/default/themeinfo.php:26 ../themes/shamino_com/themeinfo.php:58
-#: ../themes/smaller/themeinfo.php:53 ../themes/wikilens/themeinfo.php:26
-msgid "Modern"
-msgstr ""
-
-#: ../themes/MacOSX/themeinfo.php:105 ../themes/MonoBook/themeinfo.php:73
-#: ../themes/default/themeinfo.php:25 ../themes/shamino_com/themeinfo.php:57
-#: ../themes/smaller/themeinfo.php:52 ../themes/wikilens/themeinfo.php:25
-msgid "Top & bottom toolbars"
-msgstr "ȲΥġС"
-
-#: ../themes/MonoBook/templates/actionbar.tmpl:27
-#: ../themes/Sidebar/templates/navbar.tmpl:31
+#: ../themes/MonoBook/templates/actionbar.tmpl:17
+#: ../themes/MonoBook/templates/actionbar.tmpl:30
+#: ../themes/Sidebar/templates/navbar.tmpl:21
 #: ../themes/default/templates/navbar.tmpl:15
+#: ../themes/wikilens/templates/navbar.tmpl:13
 msgid "Article"
 msgstr ""
 
+#: ../themes/MonoBook/templates/actionbar.tmpl:24
+#, fuzzy
+msgid "TemplateTalk"
+msgstr "ơ"
+
+#: ../themes/MonoBook/templates/actionbar.tmpl:39
+#, fuzzy
+msgid "History"
+msgstr "ڡ"
+
 #: ../themes/MonoBook/templates/actionbar.tmpl:42
-#: ../themes/blog/templates/actionbar.tmpl:21
-#: ../themes/smaller/templates/actionbar.tmpl:34
+#, fuzzy
+msgid "Watch"
+msgstr ""
+
+#: ../themes/MonoBook/templates/actionbar.tmpl:65
+#: ../themes/blog/templates/actionbar.tmpl:15
+#: ../themes/smaller/templates/actionbar.tmpl:36
 #, fuzzy
 msgid "Info"
 msgstr "Խ:"
@@ -6270,7 +7042,7 @@
 
 #: ../themes/MonoBook/templates/browse-footer.tmpl:16
 #: ../themes/MonoBook/templates/browse-footer.tmpl:17
-#: ../themes/blog/templates/actionbar.tmpl:16
+#: ../themes/blog/templates/actionbar.tmpl:10
 #, fuzzy
 msgid "About"
 msgstr ""
@@ -6282,112 +7054,94 @@
 
 #: ../themes/MonoBook/templates/info.tmpl:37
 #: ../themes/default/templates/info.tmpl:30
-#: ../themes/shamino_com/templates/info.tmpl:37
 msgid "1 word"
 msgstr ""
 
 #: ../themes/MonoBook/templates/info.tmpl:39
 #: ../themes/default/templates/info.tmpl:32
-#: ../themes/shamino_com/templates/info.tmpl:39
 #, php-format
 msgid "%s words"
 msgstr ""
 
 #: ../themes/MonoBook/templates/info.tmpl:43
 #: ../themes/default/templates/info.tmpl:36
-#: ../themes/shamino_com/templates/info.tmpl:43
 #, php-format
 msgid "Version %s"
 msgstr "С %s"
 
 #: ../themes/MonoBook/templates/info.tmpl:44
 #: ../themes/default/templates/info.tmpl:37
-#: ../themes/shamino_com/templates/info.tmpl:44
 msgid "Original (1.2 or 1.0)"
 msgstr ""
 
 #: ../themes/MonoBook/templates/info.tmpl:76
-#: ../themes/default/templates/info.tmpl:69
-#: ../themes/shamino_com/templates/info.tmpl:75
+#: ../themes/default/templates/info.tmpl:68
 msgid "Saved on:"
 msgstr ""
 
 #: ../themes/MonoBook/templates/info.tmpl:81
-#: ../themes/default/templates/info.tmpl:74
-#: ../themes/shamino_com/templates/info.tmpl:80
+#: ../themes/default/templates/info.tmpl:73
 #, php-format
 msgid "Statistics about %s."
 msgstr ""
 
 #: ../themes/MonoBook/templates/info.tmpl:91
-#: ../themes/default/templates/info.tmpl:85
-#: ../themes/shamino_com/templates/info.tmpl:91
+#: ../themes/default/templates/info.tmpl:84
 msgid "Supplanted on:"
 msgstr ""
 
 #: ../themes/MonoBook/templates/info.tmpl:108
-#: ../themes/default/templates/info.tmpl:103
-#: ../themes/shamino_com/templates/info.tmpl:108
+#: ../themes/default/templates/info.tmpl:102
 msgid "Page Version:"
 msgstr "ڡС:"
 
 #: ../themes/MonoBook/templates/info.tmpl:112
-#: ../themes/default/templates/info.tmpl:107
-#: ../themes/shamino_com/templates/info.tmpl:112
+#: ../themes/default/templates/info.tmpl:106
 msgid "Markup:"
 msgstr "ޡå:"
 
 #: ../themes/MonoBook/templates/info.tmpl:116
-#: ../themes/default/templates/info.tmpl:111
-#: ../themes/shamino_com/templates/info.tmpl:116
+#: ../themes/default/templates/info.tmpl:110
 msgid "Size:"
 msgstr ":"
 
 #: ../themes/MonoBook/templates/info.tmpl:121
-#: ../themes/default/templates/info.tmpl:116
-#: ../themes/shamino_com/templates/info.tmpl:121
+#: ../themes/default/templates/info.tmpl:115
 msgid "Hits:"
 msgstr "ҥåȿ:"
 
 #: ../themes/MonoBook/templates/info.tmpl:138
-#: ../themes/default/templates/info.tmpl:133
-#: ../themes/shamino_com/templates/info.tmpl:138
+#: ../themes/default/templates/info.tmpl:132
 msgid "home page"
 msgstr "ۡڡ"
 
 #: ../themes/MonoBook/templates/info.tmpl:141
-#: ../themes/default/templates/info.tmpl:136
-#: ../themes/shamino_com/templates/info.tmpl:141
+#: ../themes/default/templates/info.tmpl:135
 msgid "User page"
 msgstr "桼ڡ"
 
 #: ../themes/MonoBook/templates/info.tmpl:144
-#: ../themes/default/templates/info.tmpl:139
-#: ../themes/shamino_com/templates/info.tmpl:144
+#: ../themes/default/templates/info.tmpl:138
 msgid "Action page"
 msgstr "ڡ"
 
 #: ../themes/MonoBook/templates/info.tmpl:147
-#: ../themes/default/templates/info.tmpl:142
-#: ../themes/shamino_com/templates/info.tmpl:147
+#: ../themes/default/templates/info.tmpl:141
 msgid "Blog page"
 msgstr "Blogڡ"
 
 #: ../themes/MonoBook/templates/info.tmpl:153
-#: ../themes/default/templates/info.tmpl:148
-#: ../themes/shamino_com/templates/info.tmpl:153
+#: ../themes/default/templates/info.tmpl:147
 msgid "Subpage"
 msgstr "֥ڡ"
 
 #: ../themes/MonoBook/templates/info.tmpl:158
-#: ../themes/default/templates/info.tmpl:153
-#: ../themes/shamino_com/templates/info.tmpl:158
+#: ../themes/default/templates/info.tmpl:152
 msgid "Page Type:"
 msgstr "ڡμ<:"
 
 #: ../themes/MonoBook/templates/info.tmpl:170
 #: ../themes/blog/templates/info.tmpl:5
-#: ../themes/shamino_com/templates/info.tmpl:170
 #: ../themes/smaller/templates/info.tmpl:9
 #, fuzzy
 msgid "Diff previous Revision"
@@ -6395,72 +7149,80 @@
 
 #: ../themes/MonoBook/templates/info.tmpl:171
 #: ../themes/blog/templates/info.tmpl:6
-#: ../themes/shamino_com/templates/info.tmpl:171
 #: ../themes/smaller/templates/info.tmpl:10
 #, fuzzy
 msgid "Diff previous Author"
 msgstr "Խ"
 
-#: ../themes/MonoBook/templates/navbar.tmpl:28
-#: ../themes/MonoBook/templates/navbar.tmpl:29
-#: ../themes/Sidebar/templates/navbar.tmpl:16
-#: ../themes/Sidebar/templates/navbar.tmpl:17
+#: ../themes/MonoBook/templates/navbar.tmpl:15
+msgid "The list of recent changes in the wiki."
+msgstr ""
+
+#: ../themes/MonoBook/templates/navbar.tmpl:17
+#, fuzzy
+msgid "RecentNewPages"
+msgstr "ѹ"
+
+#: ../themes/MonoBook/templates/navbar.tmpl:18
+#, fuzzy
+msgid "Like Pages"
+msgstr "ڡå"
+
+#: ../themes/MonoBook/templates/navbar.tmpl:35
+#, fuzzy
+msgid "Search:"
+msgstr ""
+
+#: ../themes/MonoBook/templates/navbar.tmpl:38
+#: ../themes/MonoBook/templates/navbar.tmpl:39
 #: ../themes/default/templates/navbar.tmpl:28
 #: ../themes/default/templates/navbar.tmpl:30
-#: ../themes/default/templates/search.tmpl:13
+#: ../themes/default/templates/search.tmpl:17
 #: ../themes/shamino_com/templates/top.tmpl:24
 #: ../themes/shamino_com/templates/top.tmpl:25
 #: ../themes/smaller/templates/navbar.tmpl:11
 #: ../themes/smaller/templates/navbar.tmpl:12
-#: ../themes/wikilens/templates/navbar.tmpl:19
-#: ../themes/wikilens/templates/navbar.tmpl:21
 #, fuzzy
 msgid "Quick Search"
 msgstr "ʸ"
 
-#: ../themes/MonoBook/templates/navbar.tmpl:39
-#, fuzzy
-msgid "Like Pages"
-msgstr "ڡå"
-
-#: ../themes/MonoBook/templates/navbar.tmpl:40
+#: ../themes/MonoBook/templates/navbar.tmpl:51
 msgid "What links here"
 msgstr ""
 
-#: ../themes/MonoBook/templates/signin.tmpl:18
-#: ../themes/Wordpress/templates/signin.tmpl:21
-#: ../themes/default/templates/signin.tmpl:25
-#: ../themes/shamino_com/templates/signin.tmpl:25
-#, fuzzy, php-format
-msgid "Authenticated as %s"
-msgstr "%s ¸ޤ"
+#: ../themes/MonoBook/templates/navbar.tmpl:57
+msgid "Administration"
+msgstr ""
 
-#: ../themes/MonoBook/templates/signin.tmpl:41
-#, fuzzy, php-format
-msgid "Signed as %s"
-msgstr "%s ¸ޤ"
+#: ../themes/MonoBook/templates/navbar.tmpl:60
+#, fuzzy
+msgid "Upload file"
+msgstr "եɹ"
 
-#: ../themes/MonoBook/templates/signin.tmpl:44
-#: ../themes/Sidebar/templates/signin.tmpl:44
-#: ../themes/Wordpress/templates/signin.tmpl:48
-#: ../themes/default/templates/signin.tmpl:40
-#, fuzzy, php-format
-msgid "Click to authenticate as %s"
-msgstr "%sǥȤޤ"
+#: ../themes/MonoBook/templates/navbar.tmpl:60
+#, fuzzy
+msgid "Upload images or media files"
+msgstr "եɹ"
 
-#: ../themes/MonoBook/templates/signin.tmpl:65
-#: ../themes/Sidebar/templates/signin.tmpl:64
-#: ../themes/Wordpress/templates/signin.tmpl:68
-#: ../themes/default/templates/signin.tmpl:59
+#: ../themes/MonoBook/templates/navbar.tmpl:64
+#: ../themes/MonoBook/templates/navbar.tmpl:69
 #, fuzzy
-msgid "Sign in as:"
-msgstr "󥤥"
+msgid "Printable version"
+msgstr "ߤΥС"
 
-#: ../themes/Portland/templates/actionbar.tmpl:8
+#: ../themes/MonoBook/templates/navbar.tmpl:74
+msgid "Display as Pdf"
+msgstr ""
+
+#: ../themes/MonoBook/templates/signin.tmpl:10
+msgid "Logout"
+msgstr ""
+
+#: ../themes/Portland/templates/actionbar.tmpl:6
 msgid "EditText"
 msgstr ""
 
-#: ../themes/Portland/templates/actionbar.tmpl:11
+#: ../themes/Portland/templates/actionbar.tmpl:9
 #, php-format
 msgid "%s of this page"
 msgstr ""
@@ -6473,20 +7235,21 @@
 msgid "Page Execution took %s seconds"
 msgstr ""
 
-#: ../themes/Portland/templates/editpage.tmpl:48
-#: ../themes/Wordpress/templates/editpage.tmpl:57
+#: ../themes/Portland/templates/editpage.tmpl:44
+#: ../themes/Wordpress/templates/editpage.tmpl:56
 #, php-format
 msgid ""
 "I'm just doing minor edits. Please divert the usual logging to %s instead."
 msgstr ""
 
-#: ../themes/Portland/templates/editpage.tmpl:52
-#: ../themes/default/templates/userprefs.tmpl:195
+#: ../themes/Portland/templates/editpage.tmpl:48
+#: ../themes/default/templates/userprefs.tmpl:196
 msgid "Edit Area Size"
 msgstr "ԽꥢΥ"
 
 #: ../themes/Portland/templates/viewsource.tmpl:6
-#: ../themes/Wordpress/templates/viewsource.tmpl:8
+#: ../themes/Wordpress/templates/viewsource.tmpl:10
+#: ../themes/blog/templates/viewsource.tmpl:7
 #: ../themes/default/templates/viewsource.tmpl:6
 msgid "This page has been locked by the administrator and cannot be edited."
 msgstr ""
@@ -6496,29 +7259,39 @@
 msgid "Navigation"
 msgstr ""
 
-#: ../themes/Sidebar/templates/navbar.tmpl:24
+#: ../themes/Sidebar/templates/navbar.tmpl:14
 #, fuzzy
 msgid "Full Search"
 msgstr "ʸ"
 
-#: ../themes/Sidebar/templates/signin.tmpl:18
+#: ../themes/Sidebar/templates/signin.tmpl:17
 #, fuzzy, php-format
 msgid "User: %s"
 msgstr "桼ID:"
 
-#: ../themes/Sidebar/templates/signin.tmpl:41
+#: ../themes/Sidebar/templates/signin.tmpl:40
 #, fuzzy, php-format
 msgid "(User: %s)"
 msgstr "¸ޤ: 5s"
 
-#: ../themes/Sidebar/themeinfo.php:119
+#: ../themes/Sidebar/templates/signin.tmpl:43
+#: ../themes/Wordpress/templates/signin.tmpl:47
+#: ../themes/default/templates/signin.tmpl:40
+#, fuzzy, php-format
+msgid "Click to authenticate as %s"
+msgstr "%sǥȤޤ"
+
+#: ../themes/Sidebar/templates/signin.tmpl:63
+#: ../themes/Wordpress/templates/signin.tmpl:67
+#: ../themes/default/templates/signin.tmpl:59
+#, fuzzy
+msgid "Sign in as:"
+msgstr "󥤥"
+
+#: ../themes/Sidebar/themeinfo.php:37
 msgid "Sidebar"
 msgstr "饤ɥС"
 
-#: ../themes/SpaceWiki/lib/RecentChanges.php:55
-msgid "diff"
-msgstr "ʬ"
-
 #: ../themes/Wordpress/templates/actionbar.tmpl:8
 #, fuzzy
 msgid "Edit this page"
@@ -6529,68 +7302,92 @@
 msgid "Edit old revision"
 msgstr "ŤӥԽ"
 
-#: ../themes/Wordpress/templates/signin.tmpl:45
+#: ../themes/Wordpress/templates/signin.tmpl:20
+#: ../themes/default/templates/signin.tmpl:25
+#: ../themes/shamino_com/templates/signin.tmpl:24
+#, fuzzy, php-format
+msgid "Authenticated as %s"
+msgstr "%s ¸ޤ"
+
+#: ../themes/Wordpress/templates/signin.tmpl:44
 #: ../themes/default/templates/signin.tmpl:37
 #, fuzzy, php-format
 msgid "You are signed but not authenticated as %s. "
 msgstr "%s Ȥƥ󥤥󤷤ޤ"
 
-#: ../themes/blog/templates/actionbar.tmpl:15
+#: ../themes/blog/templates/actionbar.tmpl:9
 #, fuzzy
 msgid "Home"
 msgstr "ۡڡ"
 
-#: ../themes/blog/templates/actionbar.tmpl:18
-#, fuzzy
-msgid "Photos"
-msgstr "եȥХ"
-
-#: ../themes/blog/templates/actionbar.tmpl:19
+#: ../themes/blog/templates/actionbar.tmpl:13
 msgid "HowTo"
 msgstr ""
 
-#: ../themes/blog/templates/actionbar.tmpl:32
+#: ../themes/blog/templates/blogform.tmpl:10
+#: ../themes/default/templates/blogform.tmpl:10
+msgid "Headline"
+msgstr ""
+
+#: ../themes/blog/templates/blogform.tmpl:18
+#: ../themes/default/templates/blogform.tmpl:18
 #, fuzzy
-msgid "Page Trail"
-msgstr "ڡ̾"
+msgid "Add Entry"
+msgstr "ۡڡ:"
 
-#: ../themes/blog/templates/sidebar.tmpl:7
+#: ../themes/blog/templates/sidebar.tmpl:8
 #: ../themes/blog/templates/sidebar.tmpl:12
-#: ../themes/blog/templates/sidebar.tmpl:14
-msgid "Blogs"
-msgstr ""
+#, fuzzy
+msgid "Blog"
+msgstr ""
 
-#: ../themes/blog/themeinfo.php:55
+#: ../themes/blog/templates/top.tmpl:16
+#, fuzzy
+msgid "Page Trail"
+msgstr "ڡ̾"
+
+#: ../themes/blog/themeinfo.php:63
 #, fuzzy
 msgid "SignOut"
 msgstr "󥵥"
 
-#: ../themes/blog/themeinfo.php:56
+#: ../themes/blog/themeinfo.php:64
 #, fuzzy
 msgid "SignIn"
 msgstr "󥤥"
 
-#: ../themes/blog/themeinfo.php:57
+#: ../themes/blog/themeinfo.php:65
 #, fuzzy
 msgid "Lock"
 msgstr "åޤ"
 
-#: ../themes/blog/themeinfo.php:58
+#: ../themes/blog/themeinfo.php:66
 #, fuzzy
 msgid "Unlock"
 msgstr "ڡå"
 
-#: ../themes/blog/themeinfo.php:117
+#: ../themes/blog/themeinfo.php:122
 #, fuzzy
 msgid "blog"
 msgstr ""
 
+#: ../themes/blog/themeinfo.php:124
+msgid "(diff)"
+msgstr "(ʬ)"
+
+#: ../themes/default/templates/comment.tmpl:18
+#: ../themes/default/templates/wikiblog.tmpl:18
+#, fuzzy, php-format
+msgid "Modified on %s by %s"
+msgstr "Խ: %s"
+
 #: ../themes/default/templates/comment.tmpl:28
 #, fuzzy, php-format
 msgid "%s by %s"
 msgstr "%s Х"
 
-#: ../themes/default/templates/debug.tmpl:21
+#: ../themes/default/templates/debug.tmpl:20
+#: ../themes/shamino_com/templates/debug.tmpl:11
 #, fuzzy, php-format
 msgid ", Memory: %s"
 msgstr "Խ: %s"
@@ -6706,6 +7503,10 @@
 msgid "Registered Users Online: "
 msgstr ""
 
+#: ../themes/default/templates/online.tmpl:38
+msgid "<none>"
+msgstr "<ʤ>"
+
 #: ../themes/default/templates/online.tmpl:43
 msgid "Admin is also online."
 msgstr ""
@@ -6771,216 +7572,217 @@
 msgid "Your careful attention to detail is much appreciated."
 msgstr ""
 
-#: ../themes/default/templates/savepage.tmpl:10
-msgid "Warning!"
-msgstr "ٹ!"
-
-#: ../themes/default/templates/userprefs.tmpl:62
-#: ../themes/default/templates/userprefs.tmpl:64
+#: ../themes/default/templates/userprefs.tmpl:63
+#: ../themes/default/templates/userprefs.tmpl:65
 msgid "<system theme>"
 msgstr "<ƥơ>"
 
-#: ../themes/default/templates/userprefs.tmpl:73
-#: ../themes/default/templates/userprefs.tmpl:99
+#: ../themes/default/templates/userprefs.tmpl:74
+#: ../themes/default/templates/userprefs.tmpl:100
 msgid "Personal theme:"
 msgstr "Ŀͥơ"
 
-#: ../themes/default/templates/userprefs.tmpl:79
-#: ../themes/default/templates/userprefs.tmpl:81
+#: ../themes/default/templates/userprefs.tmpl:80
+#: ../themes/default/templates/userprefs.tmpl:82
 msgid "<system language>"
 msgstr "<ƥ>"
 
-#: ../themes/default/templates/userprefs.tmpl:90
-#: ../themes/default/templates/userprefs.tmpl:100
+#: ../themes/default/templates/userprefs.tmpl:91
+#: ../themes/default/templates/userprefs.tmpl:101
 msgid "Personal language:"
 msgstr "Ŀ͸"
 
-#: ../themes/default/templates/userprefs.tmpl:109
+#: ../themes/default/templates/userprefs.tmpl:110
 #, fuzzy, php-format
 msgid "User preferences for user '%s':"
 msgstr "桼"
 
-#: ../themes/default/templates/userprefs.tmpl:118
+#: ../themes/default/templates/userprefs.tmpl:119
 msgid "UserId"
 msgstr "桼ID"
 
-#: ../themes/default/templates/userprefs.tmpl:122
+#: ../themes/default/templates/userprefs.tmpl:123
 msgid "Auth Level"
 msgstr "ǧڥ٥"
 
-#: ../themes/default/templates/userprefs.tmpl:122
+#: ../themes/default/templates/userprefs.tmpl:123
 msgid "Auth Method"
 msgstr "ǧˡ"
 
-#: ../themes/default/templates/userprefs.tmpl:126
+#: ../themes/default/templates/userprefs.tmpl:127
 msgid "Theme"
 msgstr "ơ"
 
-#: ../themes/default/templates/userprefs.tmpl:126
+#: ../themes/default/templates/userprefs.tmpl:127
 msgid "Current Theme"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:127
+#: ../themes/default/templates/userprefs.tmpl:128
 msgid "Language"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:127
+#: ../themes/default/templates/userprefs.tmpl:128
 msgid "Current Language"
 msgstr "ߤθ"
 
-#: ../themes/default/templates/userprefs.tmpl:133
+#: ../themes/default/templates/userprefs.tmpl:134
 msgid "Change Password"
 msgstr "ѥѹ"
 
-#: ../themes/default/templates/userprefs.tmpl:133
+#: ../themes/default/templates/userprefs.tmpl:134
 #, fuzzy
 msgid "Set Password"
 msgstr "ѥ:"
 
-#: ../themes/default/templates/userprefs.tmpl:135
+#: ../themes/default/templates/userprefs.tmpl:136
 msgid "New password"
 msgstr "ѥ"
 
-#: ../themes/default/templates/userprefs.tmpl:138
+#: ../themes/default/templates/userprefs.tmpl:139
 msgid "Type it again"
 msgstr "⤦"
 
-#: ../themes/default/templates/userprefs.tmpl:144
+#: ../themes/default/templates/userprefs.tmpl:145
 #, fuzzy
 msgid "E-mail"
 msgstr "᡼"
 
-#: ../themes/default/templates/userprefs.tmpl:146
+#: ../themes/default/templates/userprefs.tmpl:147
 msgid "Your E-Mail:"
 msgstr "ʤΥ᡼륢ɥ쥹:"
 
-#: ../themes/default/templates/userprefs.tmpl:154
+#: ../themes/default/templates/userprefs.tmpl:155
 msgid "Status:"
 msgstr ":"
 
-#: ../themes/default/templates/userprefs.tmpl:156
+#: ../themes/default/templates/userprefs.tmpl:157
 msgid "Email verified."
 msgstr "᡼륢ɥ쥹ǧޤ"
 
-#: ../themes/default/templates/userprefs.tmpl:158
+#: ../themes/default/templates/userprefs.tmpl:159
 msgid "Email not yet verified."
 msgstr "᡼륢ɥ쥹ǧޤǤ"
 
-#: ../themes/default/templates/userprefs.tmpl:160
+#: ../themes/default/templates/userprefs.tmpl:161
 msgid "Note, that user accounts with bouncing emails will be disabled."
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:163
+#: ../themes/default/templates/userprefs.tmpl:164
 msgid "Get an email notification at changes of the following pages:"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:166
+#: ../themes/default/templates/userprefs.tmpl:167
 msgid ""
 "Enter pages seperated by space or comma. Wildcards (fileglobbing) allowed."
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:173
+#: ../themes/default/templates/userprefs.tmpl:174
 msgid "Appearance"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:175
+#: ../themes/default/templates/userprefs.tmpl:176
 msgid "Here you can override site-specific default values."
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:176
+#: ../themes/default/templates/userprefs.tmpl:177
 msgid "Currently not recommended!"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:180
-#: ../themes/default/templates/userprefs.tmpl:183
+#: ../themes/default/templates/userprefs.tmpl:181
+#: ../themes/default/templates/userprefs.tmpl:184
 msgid "System default:"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:184
+#: ../themes/default/templates/userprefs.tmpl:185
 #, fuzzy, php-format
 msgid "Hide %s:"
 msgstr "ҥåȿ:"
 
-#: ../themes/default/templates/userprefs.tmpl:186
+#: ../themes/default/templates/userprefs.tmpl:187
 msgid ""
 "Hide or show LinkIcons (if supported by the current theme). Useful for text-"
 "only browsers or slow connections."
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:187
+#: ../themes/default/templates/userprefs.tmpl:188
 #, fuzzy, php-format
 msgid "Add %s:"
 msgstr "ҥåȿ:"
 
-#: ../themes/default/templates/userprefs.tmpl:189
+#: ../themes/default/templates/userprefs.tmpl:190
 #, php-format
 msgid ""
 "Add Google links to unknown pages behind the '?', and the create action "
 "behind the pagename instead. See %s."
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:190
+#: ../themes/default/templates/userprefs.tmpl:191
 msgid "Enable DoubleClick Edit"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:192
+#: ../themes/default/templates/userprefs.tmpl:193
 #, php-format
 msgid ""
 "Enabled makes it hard to double-click words and sentences for cut and paste. "
 "See %s."
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:198
+#: ../themes/default/templates/userprefs.tmpl:199
 msgid "Height"
 msgstr "⤵"
 
-#: ../themes/default/templates/userprefs.tmpl:205
+#: ../themes/default/templates/userprefs.tmpl:206
 msgid "Width"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:214
+#: ../themes/default/templates/userprefs.tmpl:215
 msgid ""
 "Note that many browsers will automatically adjust the width of the editing "
 "area so that it fills the browser window.  In this case, the width "
 "preference will be ignored."
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:217
+#: ../themes/default/templates/userprefs.tmpl:218
 msgid "Time Zone"
 msgstr "ॾ"
 
-#: ../themes/default/templates/userprefs.tmpl:220
+#: ../themes/default/templates/userprefs.tmpl:221
 #, php-format
 msgid "Add %s hours to the server's local time when reporting times."
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:224
+#: ../themes/default/templates/userprefs.tmpl:225
 #, php-format
 msgid "The current time at the server is %s."
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:226
+#: ../themes/default/templates/userprefs.tmpl:227
 #, php-format
 msgid "With the current offset, this would be reported as %s."
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:231
+#: ../themes/default/templates/userprefs.tmpl:232
 msgid "Date Format"
 msgstr "ǡեޥå"
 
-#: ../themes/default/templates/userprefs.tmpl:234
+#: ../themes/default/templates/userprefs.tmpl:235
 msgid "Show relative dates using 'Today' and 'Yesterday'"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:241
+#: ../themes/default/templates/userprefs.tmpl:242
 msgid "Update Preferences"
 msgstr "򹹿ޤ"
 
-#: ../themes/default/templates/userprefs.tmpl:242
+#: ../themes/default/templates/userprefs.tmpl:243
 #, fuzzy
 msgid "Remove Preferences"
 msgstr "Ȱ"
 
+#: ../themes/default/templates/wikiblog.tmpl:23
+#, fuzzy, php-format
+msgid "Entry on %s by %s."
+msgstr "%s Х"
+
 #: ../themes/default/templates/wikiforum.tmpl:20
 msgid "New Topic"
 msgstr ""
@@ -6995,16 +7797,107 @@
 msgstr ""
 
 #, fuzzy
-#~ msgid "Warning"
+#~ msgid "Total Units"
+#~ msgstr "ҥåȿ: %s"
+
+#, fuzzy
+#~ msgid "Total Voters"
+#~ msgstr "ơ޿: %d"
+
+#, fuzzy
+#~ msgid "Pagename(s): "
+#~ msgstr "ڡ̾"
+
+#, fuzzy
+#~ msgid "Help/SemanticSearchAdvancedPlugin"
+#~ msgstr "InterWiki"
+
+#, fuzzy
+#~ msgid "Wanted Pages for %s (%d total):"
+#~ msgstr "%s Υڡ"
+
+#, fuzzy
+#~ msgid "Wanted Pages in this wiki (%d total):"
+#~ msgstr "%s Υڡ"
+
+#~ msgid "Count"
+#~ msgstr ""
+
+#, fuzzy
+#~ msgid "WatchList"
+#~ msgstr ""
+
+#, fuzzy
+#~ msgid "Remove Comment"
+#~ msgstr ""
+
+#, fuzzy
+#~ msgid "Invalid username"
+#~ msgstr "桼IDѥɤ̵Ǥ"
+
+#, fuzzy
+#~ msgid "UserFileManagement"
+#~ msgstr "̾"
+
+#, fuzzy
+#~ msgid "Goto Home Directory"
+#~ msgstr "ǥ쥯ȥ '%s' ޤ"
+
+#, fuzzy
+#~ msgid "Current directory: "
+#~ msgstr "ǥ쥯ȥ '%s' ޤ"
+
+# ޤ
+#, fuzzy
+#~ msgid "Delete"
+#~ msgstr "ޤ"
+
+#, fuzzy
+#~ msgid "Create Directory"
+#~ msgstr "ǥ쥯ȥ '%s' ޤ"
+
+#, fuzzy
+#~ msgid "Upload files"
+#~ msgstr "եɹ"
+
+#, fuzzy
+#~ msgid "Upload zip file"
+#~ msgstr "եɹ"
+
+#, fuzzy
+#~ msgid " from author %s"
+#~ msgstr "%s "
+
+#, fuzzy
+#~ msgid "Photos"
+#~ msgstr "եȥХ"
+
+#, fuzzy
+#~ msgid "Reverted page '%s' to version '%s'."
+#~ msgstr "'%s' κޤ"
+
+#, fuzzy
+#~ msgid "Didn't revert page '%s'. Access denied."
+#~ msgstr "'%s' κޤ"
+
+#, fuzzy
+#~ msgid "Revert selected pages"
+#~ msgstr "ڡƺ"
+
+#, fuzzy
+#~ msgid "Ok"
+#~ msgstr "ä"
+
+#~ msgid "Warning!"
 #~ msgstr "ٹ!"
 
 #, fuzzy
-#~ msgid "Sign in:"
-#~ msgstr "󥤥"
+#~ msgid "Signed as %s"
+#~ msgstr "%s ¸ޤ"
 
 #, fuzzy
-#~ msgid "Category"
-#~ msgstr "ۡڡ:"
+#~ msgid "Sign in:"
+#~ msgstr "󥤥"
 
 #~ msgid "db type:"
 #~ msgstr "ǡ١"
@@ -7034,10 +7927,6 @@
 #~ msgid "BlockQuote"
 #~ msgstr "åޤ"
 
-#, fuzzy
-#~ msgid "PreferenceApp"
-#~ msgstr "Ȱ"
-
 #~ msgid "Last Modified:"
 #~ msgstr "ǽ"
 
@@ -7051,25 +7940,6 @@
 #~ msgstr "PukiWikiץߥ󥰥"
 
 #, fuzzy
-#~ msgid "New Page"
-#~ msgstr "ڡ"
-
-#~ msgid "new page"
-#~ msgstr "ڡ"
-
-#, fuzzy
-#~ msgid "Invalid username"
-#~ msgstr "桼IDѥɤ̵Ǥ"
-
-#, fuzzy
-#~ msgid "PageChange Notification sent to %s"
-#~ msgstr "᡼"
-
-#, fuzzy
-#~ msgid "PageChange Notification Error: Couldn't send to %s"
-#~ msgstr "᡼"
-
-#, fuzzy
 #~ msgid "Continue"
 #~ msgstr "ƥ"
 
@@ -7078,17 +7948,9 @@
 #~ msgstr "¸ޤ: 5s"
 
 #, fuzzy
-#~ msgid "Existing settings for %s:"
-#~ msgstr "%s METAǡԽ"
-
-#, fuzzy
 #~ msgid "Update Settings"
 #~ msgstr "򹹿ޤ"
 
-#, fuzzy
-#~ msgid "You must sign in"
-#~ msgstr "%s Ȥƥ󥤥󤷤ޤ"
-
 #~ msgid "Remove page"
 #~ msgstr "ڡ"
 
diff -ruN 1.3.12p3/locale/po/nl.po 1.3.14/locale/po/nl.po
--- 1.3.12p3/locale/po/nl.po	2006-06-18 06:19:38.000000000 -0500
+++ 1.3.14/locale/po/nl.po	2007-07-01 05:11:18.000000000 -0500
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: PhpWiki-1.3.4pre\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2006-06-18 10:46+0000\n"
+"POT-Creation-Date: 2007-07-01 10:07+0000\n"
 "PO-Revision-Date: 2000-09-30 02:23+0200\n"
 "Last-Translator: Jan Nieuwenhuizen <janneke@gnu.org>\n"
 "Language-Team: Dutch <nl@li.org>\n"
@@ -18,6 +18,29 @@
 "Date: 1998-05-26 11:26:28+0200\n"
 "From:  <janneke@gnu.org>\n"
 
+#: ../lib/CachedMarkup.php:478
+msgid "BAD semantic relation link"
+msgstr ""
+
+#: ../lib/CachedMarkup.php:505
+#, php-format
+msgid "Attribute %s, base value: %s"
+msgstr ""
+
+#: ../lib/CachedMarkup.php:506
+#, php-format
+msgid "Attribute %s, value: %s"
+msgstr ""
+
+#: ../lib/CachedMarkup.php:514
+#, fuzzy, php-format
+msgid "Relation %s to page %s"
+msgstr "Delete op %s gefaald: %s"
+
+#: ../lib/CachedMarkup.php:569
+msgid "Found by "
+msgstr ""
+
 #: ../lib/Captcha.php:32
 msgid "Typed in verification word mismatch ... are you a bot?"
 msgstr ""
@@ -46,220 +69,289 @@
 msgid "Supported handlers are: %s"
 msgstr ""
 
-#: ../lib/EditToolbar.php:42
+#: ../lib/EditToolbar.php:29
 msgid "Undo"
 msgstr ""
 
-#: ../lib/EditToolbar.php:48
+#: ../lib/EditToolbar.php:31
 msgid "Undo disabled"
 msgstr ""
 
-#: ../lib/EditToolbar.php:57 ../lib/EditToolbar.php:253
-#: ../lib/EditToolbar.php:254 ../lib/plugin/WikiAdminSearchReplace.php:187
+#: ../lib/EditToolbar.php:32
+msgid "Operation undone"
+msgstr ""
+
+#: ../lib/EditToolbar.php:33
+msgid "Substring \"\\1\" found \\2 times. Replace with \"\\3\"?"
+msgstr ""
+
+#: ../lib/EditToolbar.php:34
+#, php-format
+msgid "String \"%s\" not found."
+msgstr ""
+
+#: ../lib/EditToolbar.php:35 ../lib/EditToolbar.php:200
+#: ../lib/EditToolbar.php:201 ../lib/plugin/WikiAdminSearchReplace.php:187
 msgid "Search & Replace"
 msgstr "Zoek & Vervangt"
 
-#: ../lib/EditToolbar.php:59 ../lib/plugin/InterWikiSearch.php:91
-#: ../lib/plugin/RecentChanges.php:591 ../themes/Crao/templates/navbar.tmpl:42
-#: ../themes/Crao/templates/navbar.tmpl:44
-#: ../themes/Crao/templates/navbar.tmpl:48
-#: ../themes/blog/templates/search.tmpl:6
-#: ../themes/blog/templates/search.tmpl:7
-#: ../themes/blog/templates/search.tmpl:9
-#: ../themes/blog/templates/search.tmpl:13
-#: ../themes/default/templates/search.tmpl:10
-#: ../themes/default/templates/search.tmpl:11
-#: ../themes/default/templates/search.tmpl:18
-msgid "Search"
+#: ../lib/EditToolbar.php:36
+#, fuzzy
+msgid "Search for"
 msgstr "Zoek"
 
-#: ../lib/EditToolbar.php:61
+#: ../lib/EditToolbar.php:37
 msgid "Replace with"
 msgstr ""
 
-#: ../lib/EditToolbar.php:63 ../lib/upgrade.php:375 ../lib/upgrade.php:384
-#: ../lib/upgrade.php:393 ../lib/upgrade.php:414 ../lib/upgrade.php:442
-#: ../lib/upgrade.php:492 ../lib/upgrade.php:495 ../lib/upgrade.php:526
-#: ../lib/upgrade.php:528 ../lib/upgrade.php:555 ../lib/upgrade.php:608
-#: ../lib/upgrade.php:727 ../lib/upgrade.php:730 ../lib/upgrade.php:782
-#: ../lib/upgrade.php:840 ../lib/upgrade.php:850
+#: ../lib/EditToolbar.php:38 ../lib/plugin/SyncWiki.php:302
+#: ../lib/plugin/SyncWiki.php:328 ../lib/plugin/SyncWiki.php:351
+#: ../lib/plugin/WikiPoll.php:224 ../lib/upgrade.php:212
+#: ../lib/upgrade.php:415 ../lib/upgrade.php:429 ../lib/upgrade.php:449
+#: ../lib/upgrade.php:458 ../lib/upgrade.php:482 ../lib/upgrade.php:510
+#: ../lib/upgrade.php:560 ../lib/upgrade.php:563 ../lib/upgrade.php:595
+#: ../lib/upgrade.php:597 ../lib/upgrade.php:624 ../lib/upgrade.php:684
+#: ../lib/upgrade.php:709 ../lib/upgrade.php:852 ../lib/upgrade.php:855
+#: ../lib/upgrade.php:906
 msgid "OK"
 msgstr ""
 
-#: ../lib/EditToolbar.php:65 ../lib/EditToolbar.php:308
-#: ../lib/EditToolbar.php:354 ../lib/EditToolbar.php:378
-#: ../lib/EditToolbar.php:411
+#: ../lib/EditToolbar.php:39 ../lib/EditToolbar.php:261
+#: ../lib/EditToolbar.php:308 ../lib/EditToolbar.php:338
+#: ../lib/EditToolbar.php:372
 msgid "Close"
 msgstr ""
 
-#: ../lib/EditToolbar.php:80
-#, php-format
-msgid "Substring \"%s\" found %s times. Replace with \"%s\"?"
-msgstr ""
-
-#: ../lib/EditToolbar.php:82
-#, php-format
-msgid "String \"%s\" not found."
+#: ../lib/EditToolbar.php:107
+msgid "Bold text"
 msgstr ""
 
-#: ../lib/EditToolbar.php:105
-msgid "Operation undone"
+#: ../lib/EditToolbar.php:108
+msgid "Bold text [alt-b]"
 msgstr ""
 
-#: ../lib/EditToolbar.php:167 ../lib/EditToolbar.php:168
-msgid "Bold text"
+#: ../lib/EditToolbar.php:112
+msgid "Italic text"
 msgstr ""
 
-#: ../lib/EditToolbar.php:172 ../lib/EditToolbar.php:173
-msgid "Italic text"
+#: ../lib/EditToolbar.php:113
+msgid "Italic text [alt-i]"
 msgstr ""
 
-#: ../lib/EditToolbar.php:177
+#: ../lib/EditToolbar.php:117
 msgid "optional label | PageName"
 msgstr ""
 
-#: ../lib/EditToolbar.php:178
+#: ../lib/EditToolbar.php:118
 msgid "Link to page"
 msgstr ""
 
-#: ../lib/EditToolbar.php:182
+#: ../lib/EditToolbar.php:122
 msgid "optional label | http://www.example.com"
 msgstr ""
 
-#: ../lib/EditToolbar.php:183
+#: ../lib/EditToolbar.php:123
 msgid "External link (remember http:// prefix)"
 msgstr ""
 
-#: ../lib/EditToolbar.php:187
+#: ../lib/EditToolbar.php:127
 msgid "Headline text"
 msgstr ""
 
-#: ../lib/EditToolbar.php:188
+#: ../lib/EditToolbar.php:128
 msgid "Level 1 headline"
 msgstr ""
 
-#: ../lib/EditToolbar.php:192
+#: ../lib/EditToolbar.php:132
 msgid "Example.jpg"
 msgstr ""
 
-#: ../lib/EditToolbar.php:193
+#: ../lib/EditToolbar.php:133
 msgid "Embedded image"
 msgstr ""
 
-#: ../lib/EditToolbar.php:197
+#: ../lib/EditToolbar.php:137
 msgid "Insert non-formatted text here"
 msgstr ""
 
-#: ../lib/EditToolbar.php:198
+#: ../lib/EditToolbar.php:138
 msgid "Ignore wiki formatting"
 msgstr ""
 
-#: ../lib/EditToolbar.php:203
+#: ../lib/EditToolbar.php:143
 msgid "Your signature"
 msgstr ""
 
-#: ../lib/EditToolbar.php:208
+#: ../lib/EditToolbar.php:148
 msgid "Horizontal line"
 msgstr ""
 
-#: ../lib/EditToolbar.php:210 ../lib/EditToolbar.php:212
-#: ../lib/editpage.php:567
+#: ../lib/EditToolbar.php:150 ../lib/EditToolbar.php:152
+#: ../lib/WysiwygEdit/Wikiwyg.php:85 ../lib/editpage.php:664
 msgid "Save"
 msgstr "Bewaar"
 
-#: ../lib/EditToolbar.php:214 ../lib/EditToolbar.php:216
-#: ../lib/editpage.php:563
+#: ../lib/EditToolbar.php:157 ../lib/EditToolbar.php:159
+#: ../lib/WysiwygEdit/Wikiwyg.php:84 ../lib/editpage.php:657
 msgid "Preview"
 msgstr "Voorvertonig"
 
-#: ../lib/EditToolbar.php:232
+#: ../lib/EditToolbar.php:179
 msgid "Click a button to get an example text"
 msgstr ""
 
-#: ../lib/EditToolbar.php:245 ../lib/EditToolbar.php:246
+#: ../lib/EditToolbar.php:192 ../lib/EditToolbar.php:193
 msgid "Undo Search & Replace"
 msgstr ""
 
-#: ../lib/EditToolbar.php:302 ../lib/EditToolbar.php:303
+#: ../lib/EditToolbar.php:255
 msgid "AddCategory"
 msgstr ""
 
-#: ../lib/EditToolbar.php:305
+#: ../lib/EditToolbar.php:258
 msgid "Insert Categories (double-click)"
 msgstr ""
 
-#: ../lib/EditToolbar.php:307 ../lib/EditToolbar.php:353
-#: ../lib/EditToolbar.php:377 ../lib/EditToolbar.php:410
+#: ../lib/EditToolbar.php:260 ../lib/EditToolbar.php:307
+#: ../lib/EditToolbar.php:337 ../lib/EditToolbar.php:371
 msgid "Insert"
 msgstr ""
 
-#: ../lib/EditToolbar.php:348 ../lib/EditToolbar.php:349
+#: ../lib/EditToolbar.php:302 ../lib/EditToolbar.php:303
 msgid "AddPlugin"
 msgstr ""
 
-#: ../lib/EditToolbar.php:351
+#: ../lib/EditToolbar.php:305
 msgid "Insert Plugin (double-click)"
 msgstr ""
 
-#: ../lib/EditToolbar.php:372 ../lib/EditToolbar.php:373
+#: ../lib/EditToolbar.php:332 ../lib/EditToolbar.php:333
 msgid "AddPageLink"
 msgstr ""
 
-#: ../lib/EditToolbar.php:375
+#: ../lib/EditToolbar.php:335
 msgid "Insert PageLink (double-click)"
 msgstr ""
 
-#: ../lib/EditToolbar.php:405 ../lib/EditToolbar.php:406
+#: ../lib/EditToolbar.php:366 ../lib/EditToolbar.php:367
 msgid "AddTemplate"
 msgstr ""
 
-#: ../lib/EditToolbar.php:408
+#: ../lib/EditToolbar.php:369
 msgid "Insert Template (double-click)"
 msgstr ""
 
-#: ../lib/ErrorManager.php:210
+#: ../lib/ErrorManager.php:211
 #, php-format
 msgid "%s: error while handling error:"
 msgstr ""
 
-#: ../lib/FileFinder.php:191 ../lib/loadsave.php:967
+#: ../lib/FileFinder.php:191 ../lib/loadsave.php:1026
 #, php-format
 msgid "%s: file not found"
 msgstr ""
 
-#: ../lib/IniConfig.php:732
+#: ../lib/IniConfig.php:799
 msgid "CategoryGroup"
 msgstr ""
 
-#: ../lib/IniConfig.php:734
+#: ../lib/IniConfig.php:801
 msgid "An unnamed PhpWiki"
 msgstr "Naamloos PhpWiki"
 
-#: ../lib/IniConfig.php:736 ../lib/upgrade.php:149
-#: ../themes/Wordpress/templates/actionbar.tmpl:18
-#: ../themes/default/templates/userprefs.tmpl:123
+#: ../lib/IniConfig.php:803 ../lib/upgrade.php:172
+#: ../themes/Wordpress/templates/actionbar.tmpl:19
+#: ../themes/blog/templates/browse-footer.tmpl:6
+#: ../themes/default/templates/userprefs.tmpl:124
 msgid "HomePage"
 msgstr "ThuisPagina"
 
-#: ../lib/InlineParser.php:336
+#: ../lib/InlineParser.php:335
 msgid "Invalid [] syntax ignored"
 msgstr ""
 
-#: ../lib/InlineParser.php:652
+#: ../lib/InlineParser.php:736
 #, php-format
 msgid "unknown color %s ignored"
 msgstr ""
 
-#: ../lib/PageList.php:104
+#: ../lib/MailNotify.php:129
+#, php-format
+msgid "PageChange Notification of %s"
+msgstr ""
+
+#: ../lib/MailNotify.php:156
+#, fuzzy, php-format
+msgid "sent to %s"
+msgstr "Terug naar %s"
+
+#: ../lib/MailNotify.php:162
+#, fuzzy, php-format
+msgid "Error: Couldn't send %s to %s"
+msgstr "Kan verbinding naar data base %s niet tot stand brengen, geef op."
+
+#: ../lib/MailNotify.php:184
+msgid "Page change"
+msgstr ""
+
+#: ../lib/MailNotify.php:211 ../lib/loadsave.php:841
+#: ../lib/plugin/RecentChanges.php:109
+msgid "New page"
+msgstr "Nieuw pagina"
+
+#: ../lib/MailNotify.php:213 ../lib/MailNotify.php:231 ../lib/loadsave.php:93
+#, php-format
+msgid "Edited by: %s"
+msgstr "Verander von: %s"
+
+#: ../lib/MailNotify.php:232
+#, php-format
+msgid "Page rename %s to %s"
+msgstr ""
+
+#: ../lib/MailNotify.php:269
+#, php-format
+msgid "Removed by: %s"
+msgstr "Verwijder von: %s"
+
+#: ../lib/MailNotify.php:271
+#, php-format
+msgid "Page removed %s"
+msgstr "Verwijder %s"
+
+#: ../lib/MailNotify.php:320
+msgid "e-mail address confirmation"
+msgstr ""
+
+#: ../lib/MailNotify.php:323
+#, php-format
+msgid ""
+"Someone, probably you from IP address %s, has registered an\n"
+"account \"%s\" with this e-mail address on %s.\n"
+"\n"
+"To confirm that this account really does belong to you and activate\n"
+"e-mail features on %s, open this link in your browser:\n"
+"\n"
+"%s\n"
+"\n"
+"If this is *not* you, don't follow the link. This confirmation code\n"
+"will expire at %s."
+msgstr ""
+
+#: ../lib/PageList.php:109
 #, php-format
 msgid "Sort by %s"
 msgstr ""
 
-#: ../lib/PageList.php:149
+#: ../lib/PageList.php:139
+msgid "reverse"
+msgstr ""
+
+#: ../lib/PageList.php:153
 msgid "Click to reverse sort order"
 msgstr ""
 
-#: ../lib/PageList.php:157
+#: ../lib/PageList.php:160
 #, php-format
 msgid "Click to sort by %s"
 msgstr ""
@@ -268,105 +360,100 @@
 msgid "Click to de-/select all pages"
 msgstr ""
 
-#: ../lib/PageList.php:366 ../lib/plugin/UnfoldSubpages.php:132
+#: ../lib/PageList.php:370 ../lib/plugin/UnfoldSubpages.php:132
 #, php-format
 msgid " ... first %d bytes"
 msgstr ""
 
-#: ../lib/PageList.php:372
+#: ../lib/PageList.php:376
 #, php-format
 msgid " ... around %s"
 msgstr ""
 
-#: ../lib/PageList.php:402 ../lib/plugin/AppendText.php:57
-#: ../lib/upgrade.php:810
+#: ../lib/PageList.php:406 ../lib/plugin/AppendText.php:57
 #, php-format
 msgid "%s not found"
 msgstr ""
 
-#: ../lib/PageList.php:466 ../lib/plugin/AuthorHistory.php:174
-#: ../lib/plugin/WantedPagesOld.php:151
+#: ../lib/PageList.php:480 ../lib/plugin/AuthorHistory.php:174
 msgid "Page Name"
 msgstr "Pagina Naam"
 
-#: ../lib/PageList.php:555 ../lib/plugin/FullTextSearch.php:107
+#: ../lib/PageList.php:609 ../lib/plugin/FullTextSearch.php:112
 msgid "<no matches>"
 msgstr ""
 
-#: ../lib/PageList.php:934 ../lib/plugin/WikiAdminSearchReplace.php:171
+#: ../lib/PageList.php:1036 ../lib/plugin/WikiAdminSearchReplace.php:171
 msgid "Content"
 msgstr ""
 
-#: ../lib/PageList.php:950
+#: ../lib/PageList.php:1052
 msgid "Select"
 msgstr ""
 
-#: ../lib/PageList.php:954 ../themes/MonoBook/templates/info.tmpl:71
-#: ../themes/default/templates/info.tmpl:64
-#: ../themes/shamino_com/templates/info.tmpl:70
+#: ../lib/PageList.php:1056 ../themes/MonoBook/templates/info.tmpl:71
+#: ../themes/default/templates/info.tmpl:63
 msgid "Last Modified"
 msgstr "meest recente verandering"
 
-#: ../lib/PageList.php:956
+#: ../lib/PageList.php:1058
 msgid "Hits"
 msgstr "Teller"
 
-#: ../lib/PageList.php:958 ../themes/Crao/templates/editpage.tmpl:37
+#: ../lib/PageList.php:1060 ../themes/Crao/templates/editpage.tmpl:37
 #: ../themes/Wordpress/templates/editpage.tmpl:38
 #: ../themes/default/templates/editpage.tmpl:39
 msgid "Size"
 msgstr ""
 
-#: ../lib/PageList.php:961 ../themes/MonoBook/templates/info.tmpl:73
-#: ../themes/default/templates/info.tmpl:66
-#: ../themes/shamino_com/templates/info.tmpl:72
+#: ../lib/PageList.php:1063 ../themes/MonoBook/templates/info.tmpl:73
+#: ../themes/default/templates/info.tmpl:65
 msgid "Last Summary"
 msgstr ""
 
-#: ../lib/PageList.php:963 ../lib/plugin/AuthorHistory.php:123
+#: ../lib/PageList.php:1065 ../lib/plugin/AuthorHistory.php:123
 #: ../lib/plugin/AuthorHistory.php:176 ../lib/plugin/PluginManager.php:90
 msgid "Version"
 msgstr "Versie"
 
-#: ../lib/PageList.php:966 ../themes/MonoBook/templates/info.tmpl:72
-#: ../themes/default/templates/info.tmpl:65
-#: ../themes/shamino_com/templates/info.tmpl:71
+#: ../lib/PageList.php:1068 ../themes/MonoBook/templates/info.tmpl:72
+#: ../themes/default/templates/info.tmpl:64
 msgid "Last Author"
 msgstr "Vorige Auteur"
 
-#: ../lib/PageList.php:968 ../lib/WikiGroup.php:36
+#: ../lib/PageList.php:1070 ../lib/WikiGroup.php:36
 msgid "Owner"
 msgstr ""
 
-#: ../lib/PageList.php:970 ../lib/WikiGroup.php:37
+#: ../lib/PageList.php:1072 ../lib/WikiGroup.php:37
 msgid "Creator"
 msgstr ""
 
-#: ../lib/PageList.php:976 ../themes/Crao/templates/editpage.tmpl:61
+#: ../lib/PageList.php:1078 ../themes/Crao/templates/editpage.tmpl:61
 #: ../themes/MonoBook/templates/info.tmpl:132
-#: ../themes/default/templates/editpage.tmpl:73
-#: ../themes/default/templates/info.tmpl:127
-#: ../themes/shamino_com/templates/info.tmpl:132
+#: ../themes/Wordpress/templates/editpage.tmpl:61
+#: ../themes/default/templates/editpage.tmpl:74
+#: ../themes/default/templates/info.tmpl:126
 msgid "Locked"
 msgstr "Lst"
 
-#: ../lib/PageList.php:977
+#: ../lib/PageList.php:1079
 msgid "locked"
 msgstr "lst"
 
-#: ../lib/PageList.php:980
+#: ../lib/PageList.php:1082
 msgid "Minor Edit"
 msgstr ""
 
-#: ../lib/PageList.php:980
+#: ../lib/PageList.php:1082
 msgid "minor"
 msgstr ""
 
-#: ../lib/PageList.php:982
+#: ../lib/PageList.php:1084
 msgid "Markup"
 msgstr ""
 
-#: ../lib/PageList.php:1239 ../lib/plugin/WantedPagesOld.php:178
+#: ../lib/PageList.php:1357
 #, php-format
 msgid "Columns: %s."
 msgstr ""
@@ -404,56 +491,53 @@
 msgid "Unsupported ACL access type %s ignored."
 msgstr ""
 
-#: ../lib/PagePerm.php:558
+#: ../lib/PagePerm.php:561
 msgid "Access"
 msgstr ""
 
-#: ../lib/PagePerm.php:560
+#: ../lib/PagePerm.php:563
 msgid "Group/User"
 msgstr ""
 
-#: ../lib/PagePerm.php:561
+#: ../lib/PagePerm.php:564
 msgid "Grant"
 msgstr ""
 
-#: ../lib/PagePerm.php:562
+#: ../lib/PagePerm.php:565
 msgid "Del/+"
 msgstr ""
 
-#: ../lib/PagePerm.php:563 ../lib/plugin/PluginManager.php:90
-#: ../lib/plugin/WikiAdminSetAcl.php:230
+#: ../lib/PagePerm.php:566 ../lib/plugin/PluginManager.php:90
+#: ../lib/plugin/WikiAdminSetAcl.php:234
 msgid "Description"
 msgstr ""
 
-#: ../lib/PagePerm.php:584
+#: ../lib/PagePerm.php:587
 msgid "Add this ACL"
 msgstr ""
 
-#: ../lib/PagePerm.php:608
+#: ../lib/PagePerm.php:611
 msgid "Allow / Deny"
 msgstr ""
 
-#: ../lib/PagePerm.php:620
+#: ../lib/PagePerm.php:623
 msgid "Delete this ACL"
 msgstr ""
 
-#: ../lib/PagePerm.php:646
+#: ../lib/PagePerm.php:649
 msgid "add "
 msgstr ""
 
-#: ../lib/PagePerm.php:650
+#: ../lib/PagePerm.php:653
 msgid "Check to add this ACL"
 msgstr ""
 
-#: ../lib/PageType.php:134 ../lib/loadsave.php:733
-#: ../lib/plugin/InterWikiSearch.php:55 ../lib/plugin/WantedPages.php:54
-#: ../lib/plugin/WantedPagesOld.php:81
+#: ../lib/PageType.php:134 ../lib/loadsave.php:776 ../lib/loadsave.php:1424
+#: ../lib/plugin/InterWikiSearch.php:57 ../lib/plugin/WantedPages.php:55
 #: ../themes/MonoBook/templates/info.tmpl:149
 #: ../themes/MonoBook/templates/info.tmpl:150
+#: ../themes/default/templates/info.tmpl:143
 #: ../themes/default/templates/info.tmpl:144
-#: ../themes/default/templates/info.tmpl:145
-#: ../themes/shamino_com/templates/info.tmpl:149
-#: ../themes/shamino_com/templates/info.tmpl:150
 msgid "InterWikiMap"
 msgstr ""
 
@@ -461,336 +545,350 @@
 msgid "WARNING: InterWikiMap page is unlocked, so not using those links."
 msgstr ""
 
-#: ../lib/PageType.php:231 ../lib/PageType.php:234 ../lib/stdlib.php:670
-#: ../themes/MonoBook/templates/actionbar.tmpl:15
-#: ../themes/MonoBook/templates/actionbar.tmpl:19
-#: ../themes/MonoBook/templates/actionbar.tmpl:23
-#: ../themes/Sidebar/templates/navbar.tmpl:27
-#: ../themes/Sidebar/templates/navbar.tmpl:29
+#: ../lib/PageType.php:247 ../lib/PageType.php:250 ../lib/stdlib.php:673
+#: ../themes/MonoBook/templates/actionbar.tmpl:14
+#: ../themes/MonoBook/templates/actionbar.tmpl:21
+#: ../themes/MonoBook/templates/actionbar.tmpl:25
+#: ../themes/MonoBook/templates/actionbar.tmpl:31
+#: ../themes/Sidebar/templates/navbar.tmpl:17
+#: ../themes/Sidebar/templates/navbar.tmpl:19
 #: ../themes/default/templates/navbar.tmpl:11
 #: ../themes/default/templates/navbar.tmpl:13
+#: ../themes/wikilens/templates/navbar.tmpl:9
+#: ../themes/wikilens/templates/navbar.tmpl:11
 msgid "Discussion"
 msgstr ""
 
-#: ../lib/PageType.php:274 ../lib/loadsave.php:979
+#: ../lib/PageType.php:286 ../lib/loadsave.php:1038
 #, php-format
 msgid "Loading InterWikiMap from external file %s."
 msgstr ""
 
-#: ../lib/PageType.php:372
+#: ../lib/PageType.php:384
 msgid "Moniker"
 msgstr ""
 
-#: ../lib/PageType.php:373
+#: ../lib/PageType.php:385
 msgid "InterWiki Address"
 msgstr ""
 
-#: ../lib/RSSWriter091.php:113 ../lib/loadsave.php:1353
-#: ../lib/plugin/RecentChanges.php:272 ../lib/plugin/RecentChanges.php:287
-#: ../lib/plugin/RecentChanges.php:390 ../lib/plugin/RecentChanges.php:467
-#: ../lib/plugin/RecentChanges.php:603 ../lib/plugin/RecentChanges.php:737
-#: ../themes/Crao/templates/head.tmpl:63
+#: ../lib/RSSWriter091.php:113 ../lib/display.php:120 ../lib/display.php:307
+#: ../lib/loadsave.php:1445 ../lib/plugin/RecentChanges.php:181
+#: ../lib/plugin/RecentChanges.php:188 ../lib/plugin/RecentChanges.php:328
+#: ../lib/plugin/RecentChanges.php:346 ../lib/plugin/RecentChanges.php:523
+#: ../lib/plugin/RecentChanges.php:600 ../lib/plugin/RecentChanges.php:736
+#: ../lib/plugin/RecentChanges.php:1002 ../themes/Crao/templates/head.tmpl:63
 #: ../themes/Crao/templates/navbar.tmpl:13
-#: ../themes/MonoBook/templates/navbar.tmpl:13
-#: ../themes/Portland/templates/navbar.tmpl:28
-#: ../themes/Wordpress/templates/actionbar.tmpl:21
-#: ../themes/blog/templates/actionbar.tmpl:20
+#: ../themes/MonoBook/templates/navbar.tmpl:15
+#: ../themes/Portland/templates/navbar.tmpl:25
+#: ../themes/Wordpress/templates/actionbar.tmpl:22
+#: ../themes/blog/templates/actionbar.tmpl:14
 #: ../themes/default/templates/head.tmpl:69
 #: ../themes/default/templates/navbar.tmpl:19
 #: ../themes/shamino_com/templates/top.tmpl:20
 #: ../themes/smaller/templates/navbar.tmpl:7
 #: ../themes/wikilens/templates/head.tmpl:60
-#: ../themes/wikilens/templates/navbar.tmpl:10
+#: ../themes/wikilens/templates/navbar.tmpl:17
 msgid "RecentChanges"
 msgstr "RecenteVeranderingen"
 
-#: ../lib/Request.php:696 ../lib/Request.php:699
+#: ../lib/Request.php:703 ../lib/Request.php:706
 msgid "Upload error: file too big"
 msgstr ""
 
-#: ../lib/Request.php:702
+#: ../lib/Request.php:709
 msgid "Upload error: file only partially recieved"
 msgstr ""
 
-#: ../lib/Request.php:705
+#: ../lib/Request.php:712
 msgid "Upload error: no file selected"
 msgstr ""
 
-#: ../lib/Request.php:708
+#: ../lib/Request.php:715
 msgid "Upload error: unknown error #"
 msgstr ""
 
-#: ../lib/Request.php:815 ../lib/main.php:1160 ../lib/main.php:1173
+#: ../lib/Request.php:824 ../lib/main.php:1221 ../lib/main.php:1234
 #, php-format
 msgid "%s is not writable."
 msgstr ""
 
-#: ../lib/Request.php:815
+#: ../lib/Request.php:824
 msgid "The PhpWiki access log file"
 msgstr ""
 
-#: ../lib/Request.php:817 ../lib/main.php:1163
+#: ../lib/Request.php:826 ../lib/main.php:1224
 #, php-format
 msgid "Please ensure that %s is writable, or redefine %s in config/config.ini."
 msgstr ""
 
-#: ../lib/Request.php:818
+#: ../lib/Request.php:827
 #, php-format
 msgid "the file '%s'"
 msgstr ""
 
-#: ../lib/Template.php:175
+#: ../lib/SemanticWeb.php:135
+msgid "URIResolver"
+msgstr ""
+
+#: ../lib/SemanticWeb.php:149 ../lib/plugin/SemanticSearch.php:302
+msgid "Relation"
+msgstr ""
+
+#: ../lib/SemanticWeb.php:151 ../lib/plugin/SemanticSearch.php:375
+msgid "Attribute"
+msgstr ""
+
+#: ../lib/Template.php:178
 #, php-format
 msgid "%4d  %s\n"
 msgstr "%4d  %s\n"
 
-#: ../lib/TextSearchQuery.php:79 ../lib/plugin/FileInfo.php:100
+#: ../lib/TextSearchQuery.php:79 ../lib/plugin/FileInfo.php:116
 #, php-format
 msgid "Unsupported argument: %s=%s"
 msgstr ""
 
-#: ../lib/TextSearchQuery.php:89
+#: ../lib/TextSearchQuery.php:90
 msgid "(A|An|And|But|By|For|From|In|Is|It|Of|On|Or|The|To|With)"
 msgstr ""
 
-#: ../lib/Theme.php:388
+#: ../lib/Theme.php:398
 msgid "Never edited"
 msgstr ""
 
-#: ../lib/Theme.php:395
+#: ../lib/Theme.php:405
 #, php-format
 msgid "%s at %s"
 msgstr ""
 
-#: ../lib/Theme.php:399
+#: ../lib/Theme.php:409
 #, php-format
 msgid "Version %s, saved %s"
 msgstr "Versie %s, bewarrd %s"
 
-#: ../lib/Theme.php:401
+#: ../lib/Theme.php:411
 #, php-format
 msgid "Last edited %s"
 msgstr "Meest recente verandering %s"
 
-#: ../lib/Theme.php:410
+#: ../lib/Theme.php:420
 #, php-format
 msgid "Version %s, saved on %s"
 msgstr "Versie %s, bewarrd op %s"
 
-#: ../lib/Theme.php:412
+#: ../lib/Theme.php:422
 #, php-format
 msgid "Last edited on %s"
 msgstr "Meest recente verandering op %s"
 
-#: ../lib/Theme.php:428
+#: ../lib/Theme.php:438
 msgid "today"
 msgstr ""
 
-#: ../lib/Theme.php:435
+#: ../lib/Theme.php:445
 msgid "yesterday"
 msgstr ""
 
-#: ../lib/Theme.php:456 ../lib/Theme.php:458
+#: ../lib/Theme.php:466 ../lib/Theme.php:468
 #, php-format
 msgid "Owner: %s"
 msgstr ""
 
-#: ../lib/Theme.php:470 ../lib/Theme.php:472 ../lib/diff.php:262
-#: ../lib/plugin/Diff.php:75
+#: ../lib/Theme.php:481 ../lib/Theme.php:483 ../lib/diff.php:261
+#: ../lib/plugin/Diff.php:76
 #, php-format
 msgid "by %s"
 msgstr "door %s"
 
-#: ../lib/Theme.php:564
+#: ../lib/Theme.php:575
 #, php-format
 msgid "Empty link to: %s"
 msgstr ""
 
-#: ../lib/Theme.php:579 ../themes/MacOSX/themeinfo.php:71
+#: ../lib/Theme.php:590 ../themes/MacOSX/themeinfo.php:71
 #, fuzzy, php-format
 msgid "Create: %s"
 msgstr "Bewaard: %s"
 
-#: ../lib/Theme.php:598
+#: ../lib/Theme.php:609
 #, php-format
 msgid "Google:%s"
 msgstr ""
 
-#: ../lib/Theme.php:623
+#: ../lib/Theme.php:634
 #, php-format
 msgid "'%s': Bad page name"
 msgstr ""
 
-#: ../lib/Theme.php:933 ../themes/Crao/templates/actionbar.tmpl:5
-#: ../themes/MonoBook/templates/actionbar.tmpl:11
-#: ../themes/blog/themeinfo.php:53
-#: ../themes/default/templates/actionbar.tmpl:15
+#: ../lib/Theme.php:977 ../lib/plugin/WatchPage.php:89
+#: ../themes/Crao/templates/actionbar.tmpl:5
+#: ../themes/MonoBook/templates/actionbar.tmpl:34
+#: ../themes/blog/themeinfo.php:61
+#: ../themes/default/templates/actionbar.tmpl:16
 #: ../themes/shamino_com/templates/actionbar.tmpl:6
-#: ../themes/shamino_com/templates/info.tmpl:164
 #: ../themes/smaller/templates/actionbar.tmpl:18
 msgid "Edit"
 msgstr "Verander"
 
-#: ../lib/Theme.php:934 ../lib/plugin/Diff.php:36
-#: ../themes/blog/themeinfo.php:54
+#: ../lib/Theme.php:978 ../lib/plugin/Diff.php:37
+#: ../themes/blog/themeinfo.php:62
 msgid "Diff"
 msgstr "Diff"
 
-#: ../lib/Theme.php:935 ../themes/Crao/templates/signin.tmpl:15
-#: ../themes/Crao/templates/signin.tmpl:31
-#: ../themes/MonoBook/templates/signin.tmpl:16
-#: ../themes/MonoBook/templates/signin.tmpl:30
-#: ../themes/Sidebar/templates/signin.tmpl:16
-#: ../themes/Sidebar/templates/signin.tmpl:30
-#: ../themes/Wordpress/templates/signin.tmpl:18
-#: ../themes/Wordpress/templates/signin.tmpl:34
+#: ../lib/Theme.php:979 ../themes/Crao/templates/signin.tmpl:14
+#: ../themes/Crao/templates/signin.tmpl:30
+#: ../themes/Sidebar/templates/signin.tmpl:15
+#: ../themes/Sidebar/templates/signin.tmpl:29
+#: ../themes/Wordpress/templates/signin.tmpl:17
+#: ../themes/Wordpress/templates/signin.tmpl:33
 #: ../themes/default/templates/signin.tmpl:16
 #: ../themes/default/templates/signin.tmpl:27
-#: ../themes/shamino_com/templates/signin.tmpl:15
-#: ../themes/shamino_com/templates/signin.tmpl:28
+#: ../themes/shamino_com/templates/signin.tmpl:14
+#: ../themes/shamino_com/templates/signin.tmpl:27
 #: ../themes/smaller/templates/signin.tmpl:16
 #: ../themes/smaller/templates/signin.tmpl:27
 msgid "Sign Out"
 msgstr ""
 
-#: ../lib/Theme.php:936 ../lib/WikiUser.php:221 ../lib/WikiUserNew.php:473
-#: ../themes/Crao/templates/signin.tmpl:54
-#: ../themes/Crao/templates/signin.tmpl:59
+#: ../lib/Theme.php:980 ../lib/WikiUser.php:221 ../lib/WikiUserNew.php:503
+#: ../themes/Crao/templates/signin.tmpl:53
 #: ../themes/default/templates/login.tmpl:76
 #: ../themes/smaller/templates/signin.tmpl:54
 msgid "Sign In"
 msgstr ""
 
-#: ../lib/Theme.php:937 ../themes/MacOSX/themeinfo.php:135
+#: ../lib/Theme.php:981 ../themes/MacOSX/themeinfo.php:133
 msgid "Lock Page"
 msgstr "Open Pagina"
 
-#: ../lib/Theme.php:938 ../themes/MacOSX/themeinfo.php:136
+#: ../lib/Theme.php:982 ../themes/MacOSX/themeinfo.php:134
 msgid "Unlock Page"
 msgstr "Sluit Pagina Af"
 
-#: ../lib/Theme.php:939 ../lib/removepage.php:23 ../lib/removepage.php:63
+#: ../lib/Theme.php:983 ../lib/removepage.php:23 ../lib/removepage.php:63
 msgid "Remove Page"
 msgstr "Verwijder Pagina"
 
-#: ../lib/Theme.php:1188 ../lib/main.php:1014
-#: ../lib/plugin/RecentChanges.php:594 ../lib/plugin/TitleSearch.php:43
+#: ../lib/Theme.php:1149
+msgid ""
+"Some action(page) wanted to add more headers, but they were already printed."
+msgstr ""
+
+#: ../lib/Theme.php:1225 ../themes/Hawaiian/themeinfo.php:28
+#: ../themes/MacOSX/themeinfo.php:102 ../themes/MonoBook/themeinfo.php:126
+#: ../themes/Portland/themeinfo.php:58 ../themes/Sidebar/themeinfo.php:40
+#: ../themes/SpaceWiki/themeinfo.php:42 ../themes/Wordpress/themeinfo.php:60
+#: ../themes/shamino_com/themeinfo.php:54 ../themes/wikilens/themeinfo.php:25
+msgid "Printer"
+msgstr "Drukker"
+
+#: ../lib/Theme.php:1226 ../themes/MacOSX/themeinfo.php:103
+#: ../themes/MonoBook/themeinfo.php:127 ../themes/shamino_com/themeinfo.php:55
+#: ../themes/wikilens/themeinfo.php:26
+msgid "Top & bottom toolbars"
+msgstr ""
+
+#: ../lib/Theme.php:1227 ../themes/Hawaiian/themeinfo.php:29
+#: ../themes/MonoBook/themeinfo.php:128 ../themes/Portland/themeinfo.php:59
+#: ../themes/Sidebar/themeinfo.php:41 ../themes/SpaceWiki/themeinfo.php:43
+#: ../themes/Wordpress/themeinfo.php:61 ../themes/shamino_com/themeinfo.php:56
+#: ../themes/wikilens/themeinfo.php:27
+msgid "Modern"
+msgstr ""
+
+#: ../lib/Theme.php:1374 ../lib/main.php:1053
+#: ../lib/plugin/RecentChanges.php:727 ../lib/plugin/TitleSearch.php:43
 #: ../themes/Crao/templates/navbar.tmpl:4
 #: ../themes/Crao/templates/navbar.tmpl:8
 #: ../themes/Crao/templates/navbar.tmpl:51
-#: ../themes/MonoBook/templates/navbar.tmpl:23
-#: ../themes/Sidebar/templates/navbar.tmpl:7
-#: ../themes/Sidebar/templates/navbar.tmpl:13
-#: ../themes/Sidebar/templates/navbar.tmpl:20
+#: ../themes/MonoBook/templates/navbar.tmpl:33
 #: ../themes/blog/templates/search.tmpl:3
 #: ../themes/blog/templates/search.tmpl:18
 #: ../themes/default/templates/navbar.tmpl:6
 #: ../themes/default/templates/navbar.tmpl:24
 #: ../themes/default/templates/search.tmpl:3
-#: ../themes/default/templates/search.tmpl:6
-#: ../themes/default/templates/search.tmpl:25
-#: ../themes/default/templates/search.tmpl:29
+#: ../themes/default/templates/search.tmpl:9
+#: ../themes/default/templates/search.tmpl:33
 #: ../themes/shamino_com/templates/top.tmpl:18
 #: ../themes/smaller/templates/navbar.tmpl:4
-#: ../themes/wikilens/templates/navbar.tmpl:7
-#: ../themes/wikilens/templates/navbar.tmpl:15
 msgid "TitleSearch"
 msgstr "TitelZoek"
 
-#: ../lib/Theme.php:1347
+#: ../lib/Theme.php:1426 ../lib/plugin/Calendar.php:41
+#: ../lib/plugin/Calendar.php:45 ../themes/Crao/templates/head.tmpl:89
+#: ../themes/Crao/templates/navbar.tmpl:28
+#: ../themes/Sidebar/templates/body.tmpl:21
+#: ../themes/Sidebar/templates/body.tmpl:26
+#: ../themes/Wordpress/templates/actionbar.tmpl:32
+#: ../themes/blog/templates/sidebar.tmpl:16
+#: ../themes/default/templates/head.tmpl:96
+#: ../themes/default/templates/homepage.tmpl:15
+#: ../themes/default/templates/navbar.tmpl:45
+#: ../themes/wikilens/templates/head.tmpl:89
+#: ../themes/wikilens/templates/navbar.tmpl:25
+msgid "Calendar"
+msgstr ""
+
+#: ../lib/Theme.php:1690
 #, php-format
 msgid "Plugin %s: undefined"
 msgstr ""
 
-#: ../lib/Theme.php:1370
+#: ../lib/Theme.php:1713
 msgid "Related Links"
 msgstr ""
 
-#: ../lib/Theme.php:1390
+#: ../lib/Theme.php:1734
 msgid "External Links"
 msgstr ""
 
-#: ../lib/WikiDB.php:233
-#, php-format
-msgid "Removed by: %s"
-msgstr "Verwijder von: %s"
-
-#: ../lib/WikiDB.php:235
-#, php-format
-msgid "Page removed %s"
-msgstr "Verwijder %s"
-
-#: ../lib/WikiDB.php:241 ../lib/WikiDB.php:1054 ../lib/WikiDB.php:1079
-#: ../lib/loadsave.php:99
-#, php-format
-msgid "PageChange Notification of %s sent to %s"
-msgstr ""
-
-#: ../lib/WikiDB.php:244 ../lib/WikiDB.php:1057 ../lib/WikiDB.php:1082
-#: ../lib/loadsave.php:102
-#, php-format
-msgid "PageChange Notification Error: Couldn't send %s to %s"
-msgstr ""
-
-#: ../lib/WikiDB.php:474
+#: ../lib/WikiDB.php:539
 #, php-format
 msgid "renamed from %s"
 msgstr ""
 
-#: ../lib/WikiDB.php:482
+#: ../lib/WikiDB.php:548
 msgid "WikiDB::renamePage() not yet implemented for this backend"
 msgstr ""
 
-#: ../lib/WikiDB.php:847
+#: ../lib/WikiDB.php:921
 #, php-format
 msgid "%s: Date of new revision is %s"
 msgstr ""
 
-#: ../lib/WikiDB.php:911 ../lib/main.php:98
+#: ../lib/WikiDB.php:993 ../lib/main.php:98
 msgid "Optimizing database"
 msgstr ""
 
-#: ../lib/WikiDB.php:1017
-msgid "Page change"
-msgstr ""
-
-#: ../lib/WikiDB.php:1045 ../lib/loadsave.php:787
-#: ../lib/plugin/RecentChanges.php:107
-msgid "New page"
-msgstr "Nieuw pagina"
-
-#: ../lib/WikiDB.php:1048 ../lib/WikiDB.php:1071 ../lib/loadsave.php:93
-#, php-format
-msgid "Edited by: %s"
-msgstr "Verander von: %s"
-
-#: ../lib/WikiDB.php:1073
-#, php-format
-msgid "Page rename %s to %s"
-msgstr ""
+#: ../lib/WikiDB.php:1376 ../lib/WikiDB.php:1384 ../lib/WikiUserNew.php:429
+#: ../lib/loadsave.php:852 ../lib/loadsave.php:1380 ../lib/loadsave.php:1383
+msgid "The PhpWiki programming team"
+msgstr "Het PhpWiki programmeerteam"
 
-#: ../lib/WikiDB.php:1633 ../lib/WikiDB.php:1637
+#: ../lib/WikiDB.php:1627 ../lib/WikiDB.php:1631
 #: ../themes/default/templates/homepage.tmpl:7
 #, php-format
 msgid "Describe %s here."
 msgstr "Beschrijf %s hier."
 
-#: ../lib/WikiDB.php:1672
+#: ../lib/WikiDB.php:1666
 #, php-format
 msgid "Oops! Revision %s of %s seems to have been deleted!"
 msgstr ""
 
-#: ../lib/WikiDB/backend/dba.php:22 ../lib/WikiDB/backend/dba.php:24
+#: ../lib/WikiDB/backend/dba.php:29 ../lib/WikiDB/backend/dba.php:31
 #, php-format
 msgid "%s: Can't open dba database"
 msgstr ""
 
-#: ../lib/WikiDB/backend/file.php:111
+#: ../lib/WikiDB/backend/file.php:111 ../lib/WikiDB/backend/flatfile.php:83
 #, php-format
 msgid "'%s': corrupt file"
 msgstr ""
 
 #: ../lib/WikiDB/dba.php:16 ../lib/WikiDB/file.php:47
+#: ../lib/WikiDB/flatfile.php:47
 #, php-format
 msgid ""
 "The %s files are in the %s directory. Please read the INSTALL file and move "
@@ -859,7 +957,7 @@
 msgid "No or not enough GROUP_DB SQL statements defined"
 msgstr ""
 
-#: ../lib/WikiGroup.php:838 ../lib/loadsave.php:962
+#: ../lib/WikiGroup.php:838 ../lib/loadsave.php:1021
 #, php-format
 msgid "%s: not defined"
 msgstr ""
@@ -887,89 +985,67 @@
 msgid "n/a"
 msgstr ""
 
-#: ../lib/WikiPlugin.php:121 ../lib/loadsave.php:82 ../lib/loadsave.php:408
-#: ../lib/loadsave.php:844 ../lib/loadsave.php:850 ../lib/loadsave.php:858
-#: ../lib/main.php:967 ../lib/main.php:1071
-#: ../lib/plugin/WikiAdminSelect.php:192 ../themes/Crao/templates/head.tmpl:79
-#: ../themes/Crao/templates/head.tmpl:80
-#: ../themes/Crao/templates/navbar.tmpl:37
-#: ../themes/MonoBook/templates/navbar.tmpl:46
-#: ../themes/Portland/templates/navbar.tmpl:30
-#: ../themes/Sidebar/templates/navbar.tmpl:38
-#: ../themes/Wordpress/templates/actionbar.tmpl:25
-#: ../themes/blog/templates/navbar.tmpl:14
-#: ../themes/default/templates/head.tmpl:86
-#: ../themes/default/templates/head.tmpl:87
-#: ../themes/default/templates/navbar.tmpl:55
-#: ../themes/shamino_com/templates/actionbar.tmpl:18
-#: ../themes/smaller/templates/navbar.tmpl:19
-#: ../themes/wikilens/templates/head.tmpl:78
-#: ../themes/wikilens/templates/head.tmpl:79
-#: ../themes/wikilens/templates/navbar.tmpl:43
-msgid "PhpWikiAdministration"
-msgstr "PhpWikiBeheer"
-
-#: ../lib/WikiPlugin.php:125
+#: ../lib/WikiPlugin.php:225
 #, php-format
-msgid "Argument '%s' not declared by plugin."
+msgid "trailing cruft in plugin args: '%s'"
 msgstr ""
 
-#: ../lib/WikiPlugin.php:235
+#: ../lib/WikiPlugin.php:233
 #, php-format
-msgid "trailing cruft in plugin args: '%s'"
+msgid "Argument '%s' not declared by plugin."
 msgstr ""
 
-#: ../lib/WikiPlugin.php:378
+#: ../lib/WikiPlugin.php:376
 #, php-format
 msgid "Plugin %s failed."
 msgstr ""
 
-#: ../lib/WikiPlugin.php:384
+#: ../lib/WikiPlugin.php:382
 #, php-format
 msgid "Plugin %s disabled."
 msgstr ""
 
-#: ../lib/WikiPlugin.php:520
+#: ../lib/WikiPlugin.php:518
 #, php-format
 msgid "Include of '%s' failed."
 msgstr "Insert van '%s' gefaald."
 
-#: ../lib/WikiPlugin.php:522
+#: ../lib/WikiPlugin.php:520
 #, php-format
 msgid "%s: no such class"
 msgstr ""
 
-#: ../lib/WikiPlugin.php:528
+#: ../lib/WikiPlugin.php:526
 #, php-format
 msgid "%s: not a subclass of WikiPlugin."
 msgstr ""
 
-#: ../lib/WikiPluginCached.php:691
+#: ../lib/WikiPluginCached.php:688
 #, php-format
 msgid ""
 "There is no image creation data available to id '%s'. Please reload "
 "referring page."
 msgstr ""
 
-#: ../lib/WikiPluginCached.php:845
+#: ../lib/WikiPluginCached.php:842
 msgid "Image map expired. Reload wiki page to recreate its html part."
 msgstr ""
 
 #: ../lib/WikiUser.php:188 ../lib/WikiUser.php:268
 #: ../lib/WikiUser/AdoDb.php:29 ../lib/WikiUser/AdoDb.php:186
 #: ../lib/WikiUser/Db.php:43 ../lib/WikiUser/File.php:58
-#: ../lib/WikiUser/IMAP.php:17 ../lib/WikiUser/LDAP.php:58
+#: ../lib/WikiUser/IMAP.php:18 ../lib/WikiUser/LDAP.php:58
 #: ../lib/WikiUser/POP3.php:17 ../lib/WikiUser/PdoDb.php:28
 #: ../lib/WikiUser/PdoDb.php:103 ../lib/WikiUser/PearDb.php:26
-#: ../lib/WikiUser/PearDb.php:116 ../lib/WikiUserNew.php:559
+#: ../lib/WikiUser/PearDb.php:116 ../lib/WikiUserNew.php:590
 msgid "Invalid username."
 msgstr ""
 
-#: ../lib/WikiUser.php:192 ../lib/WikiUserNew.php:566
+#: ../lib/WikiUser.php:192 ../lib/WikiUserNew.php:597
 msgid "Invalid password or userid."
 msgstr ""
 
-#: ../lib/WikiUser.php:194 ../lib/WikiUserNew.php:582
+#: ../lib/WikiUser.php:194 ../lib/WikiUserNew.php:613
 msgid "Insufficient permissions."
 msgstr ""
 
@@ -1004,8 +1080,10 @@
 
 #: ../lib/WikiUser.php:465 ../lib/WikiUser.php:475
 #: ../themes/Crao/templates/navbar.tmpl:23
+#: ../themes/MonoBook/templates/navbar.tmpl:61
 #: ../themes/default/templates/navbar.tmpl:40
 #: ../themes/shamino_com/templates/top.tmpl:28
+#: ../themes/wikilens/templates/navbar.tmpl:23
 msgid "Preferences"
 msgstr ""
 
@@ -1022,14 +1100,14 @@
 msgid "%s is missing"
 msgstr ""
 
-#: ../lib/WikiUser/AdoDb.php:201 ../lib/WikiUser/AdoDb.php:255
+#: ../lib/WikiUser/AdoDb.php:201 ../lib/WikiUser/AdoDb.php:258
 #: ../lib/WikiUser/PdoDb.php:190 ../lib/WikiUser/PdoDb.php:255
 #: ../lib/WikiUser/PearDb.php:179 ../lib/WikiUser/PearDb.php:223
 #, php-format
 msgid "Either %s is missing or DATABASE_TYPE != '%s'"
 msgstr ""
 
-#: ../lib/WikiUser/IMAP.php:33
+#: ../lib/WikiUser/IMAP.php:36
 msgid "Unable to connect to IMAP server "
 msgstr ""
 
@@ -1038,12 +1116,35 @@
 msgid "Unable to bind LDAP server %s using %s %s"
 msgstr ""
 
-#: ../lib/WikiUser/LDAP.php:65 ../lib/WikiUser/LDAP.php:108
+#: ../lib/WikiUser/LDAP.php:68
+msgid "Empty password not allowed for LDAP"
+msgstr ""
+
+#: ../lib/WikiUser/LDAP.php:73 ../lib/WikiUser/LDAP.php:149
 #, php-format
 msgid "Invalid username '%s' for LDAP Auth"
 msgstr ""
 
-#: ../lib/WikiUser/POP3.php:59
+#: ../lib/WikiUser/LDAP.php:84
+#, fuzzy
+msgid "Could not search in LDAP"
+msgstr "Kan verbinding naar data base %s niet tot stand brengen, geef op."
+
+#: ../lib/WikiUser/LDAP.php:91
+#, fuzzy
+msgid "User not found in LDAP"
+msgstr "%d keer gevonden in %d pagina's."
+
+#: ../lib/WikiUser/LDAP.php:125
+msgid "Wrong password: "
+msgstr ""
+
+#: ../lib/WikiUser/LDAP.php:131
+#, fuzzy
+msgid "Could not connect to LDAP"
+msgstr "Kan verbinding naar data base %s niet tot stand brengen, geef op."
+
+#: ../lib/WikiUser/POP3.php:61
 #, php-format
 msgid "Couldn't connect to %s"
 msgstr "Kan verbinding naar data base %s niet tot stand brengen, geef op."
@@ -1073,48 +1174,53 @@
 msgid "Given password ignored."
 msgstr ""
 
-#: ../lib/WikiUserNew.php:564
+#: ../lib/WikiUserNew.php:430
+msgid ""
+"Automatically created user homepage to be able to store UserPreferences."
+msgstr ""
+
+#: ../lib/WikiUserNew.php:595
 msgid "Invalid password."
 msgstr ""
 
-#: ../lib/WikiUserNew.php:628
+#: ../lib/WikiUserNew.php:659
 msgid "Empty Preferences or format of UserPreferences cookie not recognised."
 msgstr ""
 
-#: ../lib/WikiUserNew.php:632
+#: ../lib/WikiUserNew.php:663
 msgid "Default preferences will be used."
 msgstr ""
 
-#: ../lib/WikiUserNew.php:1190
+#: ../lib/WikiUserNew.php:1233
 msgid "The length of the password is shorter than the system policy allows."
 msgstr ""
 
-#: ../lib/WikiUserNew.php:1216
+#: ../lib/WikiUserNew.php:1259
 msgid ""
 "The length of the stored password is shorter than the system policy allows. "
 "Sorry, you cannot login.\n"
 " You have to ask the System Administrator to reset your password."
 msgstr ""
 
-#: ../lib/WikiUserNew.php:1231
+#: ../lib/WikiUserNew.php:1274
 msgid "The crypt function is not available in this version of PHP."
 msgstr ""
 
-#: ../lib/WikiUserNew.php:1232
+#: ../lib/WikiUserNew.php:1275
 msgid ""
 "Please set ENCRYPTED_PASSWD to false in config/config.ini and probably "
 "change ADMIN_PASSWD."
 msgstr ""
 
-#: ../lib/WikiUserNew.php:1245
+#: ../lib/WikiUserNew.php:1288
 msgid "Please set ENCRYPTED_PASSWD to true in config/config.ini."
 msgstr ""
 
-#: ../lib/WikiUserNew.php:1657
+#: ../lib/WikiUserNew.php:1701 ../lib/plugin/WikiAdminUtils.php:114
 msgid "Email Verification"
 msgstr ""
 
-#: ../lib/WikiUserNew.php:1658
+#: ../lib/WikiUserNew.php:1702
 #, php-format
 msgid ""
 "Welcome to %s!\n"
@@ -1123,106 +1229,154 @@
 "See %s"
 msgstr ""
 
-#: ../lib/WikiUserNew.php:1711
+#: ../lib/WikiUserNew.php:1762
 #, php-format
 msgid "E-Mail address '%s' is not properly formatted"
 msgstr ""
 
-#: ../lib/WikiUserNew.php:1715
+#: ../lib/WikiUserNew.php:1766
 #, php-format
 msgid "E-Mail address '%s' is properly formatted"
 msgstr ""
 
-#: ../lib/XmlElement.php:456 ../lib/stdlib.php:1344
+#: ../lib/WysiwygEdit/Wikiwyg.php:74
+msgid "Apply changes"
+msgstr ""
+
+#: ../lib/WysiwygEdit/Wikiwyg.php:75
+msgid "Exit toolbar"
+msgstr ""
+
+#: ../lib/WysiwygEdit/Wikiwyg.php:76
+#, fuzzy
+msgid "Title 1"
+msgstr "Titel Zoek"
+
+#: ../lib/WysiwygEdit/Wikiwyg.php:77
+#, fuzzy
+msgid "Title 2"
+msgstr "Titel Zoek"
+
+#: ../lib/WysiwygEdit/Wikiwyg.php:78
+#, fuzzy
+msgid "Title 3"
+msgstr "Titel Zoek"
+
+#: ../lib/WysiwygEdit/Wikiwyg.php:79
+msgid "Verbatim"
+msgstr ""
+
+#: ../lib/WysiwygEdit/Wikiwyg.php:80
+msgid "Table of content"
+msgstr ""
+
+#: ../lib/WysiwygEdit/Wikiwyg.php:81
+msgid "Insert Wikitext section"
+msgstr ""
+
+#: ../lib/WysiwygEdit/Wikiwyg.php:82
+msgid "Sup"
+msgstr ""
+
+#: ../lib/WysiwygEdit/Wikiwyg.php:83
+msgid "Sub"
+msgstr ""
+
+#: ../lib/WysiwygEdit/Wikiwyg.php:107
+msgid "Warning: This Wikiwyg editor has only Beta quality!"
+msgstr ""
+
+#: ../lib/XmlElement.php:467 ../lib/stdlib.php:1357
 #, php-format
 msgid "Can't mix '%s' with '%s' type format strings"
 msgstr ""
 
-#: ../lib/XmlRpcServer.php:562
+#: ../lib/XmlRpcServer.php:511
 msgid "xml-rpc change"
 msgstr ""
 
-#: ../lib/diff.php:259 ../lib/plugin/Diff.php:72
+#: ../lib/diff.php:258 ../lib/plugin/Diff.php:73
 #, php-format
 msgid "version %s"
 msgstr "versie %s"
 
-#: ../lib/diff.php:266 ../lib/plugin/Diff.php:77
+#: ../lib/diff.php:265 ../lib/plugin/Diff.php:78
 #: ../lib/wikilens/PageListColumns.php:351
 msgid "None"
 msgstr "Geen"
 
-#: ../lib/diff.php:289 ../lib/plugin/Diff.php:94
-#: ../lib/plugin/PageHistory.php:312 ../lib/plugin/PageInfo.php:59
+#: ../lib/diff.php:288 ../lib/plugin/Diff.php:95
+#: ../lib/plugin/PageHistory.php:326 ../lib/plugin/PageInfo.php:59
 #, php-format
 msgid "I'm sorry, there is no such page as %s."
 msgstr ""
 
-#: ../lib/diff.php:292 ../lib/diff.php:394
+#: ../lib/diff.php:291 ../lib/diff.php:396
 #, php-format
 msgid "Diff: %s"
 msgstr "Diff van: %s"
 
-#: ../lib/diff.php:299 ../lib/diff.php:309 ../lib/plugin/Diff.php:102
-#: ../lib/plugin/Diff.php:112
+#: ../lib/diff.php:298 ../lib/diff.php:308 ../lib/plugin/Diff.php:103
+#: ../lib/plugin/Diff.php:113
 #, php-format
 msgid "version %d"
 msgstr "versie %d"
 
-#: ../lib/diff.php:303 ../lib/plugin/Diff.php:106
+#: ../lib/diff.php:302 ../lib/plugin/Diff.php:107
 msgid "current version"
 msgstr "huidige versie"
 
-#: ../lib/diff.php:320 ../lib/plugin/Diff.php:123
+#: ../lib/diff.php:319 ../lib/plugin/Diff.php:124
 msgid "revision by previous author"
 msgstr ""
 
-#: ../lib/diff.php:326 ../lib/plugin/Diff.php:129
+#: ../lib/diff.php:325 ../lib/plugin/Diff.php:130
 msgid "previous revision"
 msgstr ""
 
-#: ../lib/diff.php:336 ../lib/plugin/Diff.php:139
+#: ../lib/diff.php:335 ../lib/plugin/Diff.php:140
 msgid "predecessor to the previous major change"
 msgstr ""
 
-#: ../lib/diff.php:347 ../lib/plugin/Diff.php:149
+#: ../lib/diff.php:346 ../lib/plugin/Diff.php:150
 #, php-format
 msgid "Differences between %s and %s of %s."
 msgstr ""
 
-#: ../lib/diff.php:350 ../lib/plugin/Diff.php:152
+#: ../lib/diff.php:349 ../lib/plugin/Diff.php:153
 msgid "Other diffs:"
 msgstr ""
 
-#: ../lib/diff.php:351 ../lib/plugin/Diff.php:153
+#: ../lib/diff.php:350 ../lib/plugin/Diff.php:154
 msgid "Previous Major Revision"
 msgstr ""
 
-#: ../lib/diff.php:352 ../lib/plugin/Diff.php:154
+#: ../lib/diff.php:351 ../lib/plugin/Diff.php:155
 msgid "Previous Revision"
 msgstr ""
 
-#: ../lib/diff.php:353 ../lib/plugin/Diff.php:155
+#: ../lib/diff.php:352 ../lib/plugin/Diff.php:156
 msgid "Previous Author"
 msgstr "Vorige Auteur"
 
-#: ../lib/diff.php:370 ../lib/plugin/Diff.php:172
+#: ../lib/diff.php:368 ../lib/plugin/Diff.php:173
 msgid "Newer page:"
 msgstr "Nieuw pagina:"
 
-#: ../lib/diff.php:372 ../lib/plugin/Diff.php:174
+#: ../lib/diff.php:370 ../lib/plugin/Diff.php:175
 msgid "Older page:"
 msgstr ""
 
-#: ../lib/diff.php:380 ../lib/plugin/Diff.php:182
+#: ../lib/diff.php:378 ../lib/editpage.php:499 ../lib/plugin/Diff.php:183
 msgid "Versions are identical"
 msgstr "Versies zijn identiek"
 
-#: ../lib/display.php:53 ../lib/plugin/HelloWorld.php:70
-#: ../lib/plugin/PageGroup.php:102 ../lib/plugin/PageGroup.php:166
-#: ../lib/plugin/PageGroup.php:177 ../lib/plugin/PageGroup.php:193
-#: ../lib/plugin/PageGroup.php:200 ../lib/plugin/PageHistory.php:216
-#: ../lib/plugin/UnfoldSubpages.php:140 ../themes/Crao/templates/head.tmpl:47
+#: ../lib/display.php:54 ../lib/display.php:240
+#: ../lib/plugin/HelloWorld.php:70 ../lib/plugin/PageGroup.php:102
+#: ../lib/plugin/PageGroup.php:166 ../lib/plugin/PageGroup.php:177
+#: ../lib/plugin/PageGroup.php:193 ../lib/plugin/PageGroup.php:200
+#: ../lib/plugin/PageHistory.php:229 ../lib/plugin/UnfoldSubpages.php:140
+#: ../themes/Crao/templates/head.tmpl:47
 #: ../themes/MonoBook/templates/logo.tmpl:2
 #: ../themes/Portland/templates/body.tmpl:8
 #: ../themes/Sidebar/templates/frame-header.tmpl:16
@@ -1232,36 +1386,38 @@
 #: ../themes/default/templates/top.tmpl:11
 #: ../themes/shamino_com/templates/top.tmpl:8
 #: ../themes/wikilens/templates/head.tmpl:45
+#: ../themes/wikilens/templates/top.tmpl:11
 #, php-format
 msgid "%s: %s"
 msgstr "%s: %s"
 
-#: ../lib/display.php:119 ../lib/display.php:126
+#: ../lib/display.php:82 ../lib/display.php:324
+#: ../lib/plugin/LinkDatabase.php:42
+msgid "LinkDatabase"
+msgstr ""
+
+#: ../lib/display.php:177 ../lib/display.php:184
 #: ../lib/plugin/BackLinks.php:31 ../lib/plugin/_WikiTranslation.php:53
 #: ../themes/Crao/templates/navbar.tmpl:17
-#: ../themes/Sidebar/templates/navbar.tmpl:35
+#: ../themes/Sidebar/templates/navbar.tmpl:25
 #: ../themes/blog/templates/navbar.tmpl:11
 #: ../themes/default/templates/navbar.tmpl:34
 #: ../themes/smaller/templates/navbar.tmpl:16
-#: ../themes/wikilens/templates/navbar.tmpl:25
+#: ../themes/wikilens/templates/navbar.tmpl:22
 msgid "BackLinks"
 msgstr "TerugLinks"
 
-#: ../lib/display.php:122 ../lib/display.php:129
+#: ../lib/display.php:180 ../lib/display.php:187
 #, php-format
 msgid "BackLinks for %s"
 msgstr ""
 
-#: ../lib/display.php:137
+#: ../lib/display.php:195
 #, php-format
 msgid "(Redirected from %s)"
 msgstr ""
 
-#: ../lib/display.php:177
-msgid "You searched for: "
-msgstr ""
-
-#: ../lib/display.php:218 ../themes/Crao/templates/head.tmpl:70
+#: ../lib/display.php:269 ../themes/Crao/templates/head.tmpl:70
 #: ../themes/Crao/templates/head.tmpl:71
 #: ../themes/default/templates/head.tmpl:76
 #: ../themes/default/templates/head.tmpl:77
@@ -1270,84 +1426,84 @@
 msgid "SandBox"
 msgstr ""
 
-#: ../lib/editpage.php:134 ../lib/editpage.php:469
+#: ../lib/editpage.php:162 ../lib/editpage.php:559
 msgid "Your version"
 msgstr ""
 
-#: ../lib/editpage.php:134 ../lib/editpage.php:470
+#: ../lib/editpage.php:162 ../lib/editpage.php:560
 msgid "Other version"
 msgstr ""
 
-#: ../lib/editpage.php:145
+#: ../lib/editpage.php:173
 msgid "Some internal editing error"
 msgstr ""
 
-#: ../lib/editpage.php:146
+#: ../lib/editpage.php:174
 msgid ""
 "Your are probably trying to edit/create an invalid version of this page."
 msgstr ""
 
-#: ../lib/editpage.php:147
+#: ../lib/editpage.php:175
 msgid "&version=-1 might help."
 msgstr ""
 
-#: ../lib/editpage.php:164
+#: ../lib/editpage.php:194
 #, php-format
 msgid "Edit: %s"
 msgstr "Verander: %s"
 
-#: ../lib/editpage.php:198
+#: ../lib/editpage.php:232
 #, php-format
 msgid "View Source: %s"
 msgstr "Bron tekst: %s"
 
-#: ../lib/editpage.php:212
+#: ../lib/editpage.php:246
 msgid "Page now locked."
 msgstr ""
 
-#: ../lib/editpage.php:212
+#: ../lib/editpage.php:246
 msgid "Page now unlocked."
 msgstr ""
 
-#: ../lib/editpage.php:314
+#: ../lib/editpage.php:353
 #, php-format
 msgid "Saved: %s"
 msgstr "Bewaard: %s"
 
-#: ../lib/editpage.php:366
+#: ../lib/editpage.php:406
 msgid "Too many external links."
 msgstr ""
 
-#: ../lib/editpage.php:379
+#: ../lib/editpage.php:419
 msgid "SpamAssassin reports: "
 msgstr ""
 
-#: ../lib/editpage.php:396
+#: ../lib/editpage.php:446
 msgid "External links contain blocked domains:"
 msgstr ""
 
-#: ../lib/editpage.php:397
+#: ../lib/editpage.php:447
 #, php-format
-msgid "%s is listed at %s"
+msgid "%s is listed at %s with %s"
 msgstr ""
 
-#: ../lib/editpage.php:418
+#: ../lib/editpage.php:471
 msgid "Spam Prevention"
 msgstr ""
 
-#: ../lib/editpage.php:419
+#: ../lib/editpage.php:472
 msgid "This page edit seems to contain spam and was therefore not saved."
 msgstr ""
 
-#: ../lib/editpage.php:421 ../lib/editpage.php:455
+#: ../lib/editpage.php:474 ../lib/editpage.php:535
 msgid "Sorry for the inconvenience."
 msgstr "Excuses voor het ongemak."
 
-#: ../lib/editpage.php:452 ../themes/MacOSX/themeinfo.php:137
+#: ../lib/editpage.php:532 ../themes/MacOSX/themeinfo.php:135
 msgid "Page Locked"
 msgstr "Sidan r Lst"
 
-#: ../lib/editpage.php:453
+#: ../lib/editpage.php:533
 msgid ""
 "This page has been locked by the administrator so your changes can not be "
 "saved."
@@ -1355,7 +1511,7 @@
 "Deze pagina is afgesloten door de beheerder en je veranderingen kan niet "
 "bewaar worden."
 
-#: ../lib/editpage.php:454
+#: ../lib/editpage.php:534
 msgid ""
 "(Copy your changes to the clipboard. You can try editing a different page or "
 "save your text in a text editor.)"
@@ -1363,7 +1519,50 @@
 "Kopier je veranderingen naar het klipbord of een andere tijdelijke plaats "
 "(bijv. een tekst editor)."
 
-#: ../lib/editpage.php:468 ../lib/editpage.php:757
+#: ../lib/editpage.php:543 ../lib/editpage.php:544 ../lib/main.php:733
+#: ../lib/main.php:1090 ../lib/plugin/ModeratedPage.php:41
+#: ../lib/plugin/ModeratedPage.php:149 ../lib/plugin/ModeratedPage.php:219
+#: ../lib/plugin/ModeratedPage.php:258 ../lib/plugin/ModeratedPage.php:261
+#: ../lib/plugin/ModeratedPage.php:263 ../lib/plugin/ModeratedPage.php:265
+#: ../lib/plugin/ModeratedPage.php:349 ../lib/plugin/ModeratedPage.php:353
+#: ../lib/plugin/ModeratedPage.php:408 ../lib/plugin/ModeratedPage.php:433
+msgid "ModeratedPage"
+msgstr ""
+
+#: ../lib/editpage.php:544
+#, php-format
+msgid ""
+"You can edit away, but your changes will have to be approved by the defined "
+"moderators at the definition in %s"
+msgstr ""
+
+#: ../lib/editpage.php:546 ../lib/plugin/PasswordReset.php:155
+#: ../lib/plugin/UserPreferences.php:38 ../lib/plugin/WatchPage.php:115
+#: ../lib/plugin/WatchPage.php:133 ../themes/Crao/templates/head.tmpl:85
+#: ../themes/Crao/templates/head.tmpl:86
+#: ../themes/Crao/templates/navbar.tmpl:23
+#: ../themes/MonoBook/templates/navbar.tmpl:61
+#: ../themes/blog/templates/navbar.tmpl:17
+#: ../themes/default/templates/head.tmpl:92
+#: ../themes/default/templates/head.tmpl:93
+#: ../themes/default/templates/homepage.tmpl:11
+#: ../themes/default/templates/navbar.tmpl:40
+#: ../themes/shamino_com/templates/top.tmpl:28
+#: ../themes/smaller/templates/navbar.tmpl:22
+#: ../themes/wikilens/templates/head.tmpl:85
+#: ../themes/wikilens/templates/head.tmpl:86
+#: ../themes/wikilens/templates/navbar.tmpl:23
+msgid "UserPreferences"
+msgstr "GebruikersVoorkeuren"
+
+#: ../lib/editpage.php:545
+#, php-format
+msgid ""
+"The approval has a grace period of 5 days. If you have your E-Mail defined "
+"in your %s, you will get a notification of approval or rejection."
+msgstr ""
+
+#: ../lib/editpage.php:558 ../lib/editpage.php:900
 #, php-format
 msgid ""
 "Some of the changes could not automatically be combined.  Please look for "
@@ -1371,38 +1570,61 @@
 "those sections by hand before you click Save."
 msgstr ""
 
-#: ../lib/editpage.php:472 ../lib/editpage.php:760
+#: ../lib/editpage.php:562 ../lib/editpage.php:903
 msgid "Please check it through before saving."
 msgstr ""
 
-#: ../lib/editpage.php:483
+#: ../lib/editpage.php:573
 msgid "Conflicting Edits!"
 msgstr ""
 
-#: ../lib/editpage.php:484
+#: ../lib/editpage.php:574
 msgid ""
 "In the time since you started editing this page, another user has saved a "
 "new version of it."
 msgstr ""
 
-#: ../lib/editpage.php:485
+#: ../lib/editpage.php:575
 msgid ""
 "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."
 msgstr ""
 
-#: ../lib/editpage.php:555
+#: ../lib/editpage.php:649
 msgid "Convert"
 msgstr ""
 
-#: ../lib/editpage.php:588 ../themes/Portland/templates/editpage.tmpl:45
-#: ../themes/Wordpress/templates/editpage.tmpl:54
+#: ../lib/editpage.php:668
+#, fuzzy
+msgid "Changes"
+msgstr "RecenteVeranderingen"
+
+#: ../lib/editpage.php:672 ../lib/plugin/HtmlConverter.php:66
+#: ../lib/plugin/UpLoad.php:146 ../lib/plugin/UpLoad.php:151
+#: ../lib/plugin/WikiForm.php:103
+msgid "Upload"
+msgstr ""
+
+#: ../lib/editpage.php:675
+msgid "Spell Check"
+msgstr ""
+
+#: ../lib/editpage.php:698 ../themes/Portland/templates/editpage.tmpl:41
+#: ../themes/Wordpress/templates/editpage.tmpl:52
 #, php-format
 msgid "Author will be logged as %s."
 msgstr ""
 
-#: ../lib/editpage.php:731
+#: ../lib/editpage.php:855
+msgid "Keep old"
+msgstr ""
+
+#: ../lib/editpage.php:858
+msgid "Overwrite with new"
+msgstr ""
+
+#: ../lib/editpage.php:868
 #, php-format
 msgid "Merge and Edit: %s"
 msgstr ""
@@ -1431,8 +1653,39 @@
 msgid "Dump pages as XHTML"
 msgstr ""
 
-#: ../lib/loadsave.php:95 ../lib/loadsave.php:96
-msgid "LoadDump"
+#: ../lib/loadsave.php:82 ../lib/loadsave.php:428 ../lib/loadsave.php:902
+#: ../lib/loadsave.php:908 ../lib/loadsave.php:916 ../lib/main.php:1006
+#: ../lib/main.php:1110 ../lib/plugin/WikiAdminSelect.php:192
+#: ../themes/Crao/templates/head.tmpl:79 ../themes/Crao/templates/head.tmpl:80
+#: ../themes/Crao/templates/navbar.tmpl:37
+#: ../themes/MonoBook/templates/navbar.tmpl:57
+#: ../themes/Portland/templates/navbar.tmpl:27
+#: ../themes/Sidebar/templates/navbar.tmpl:28
+#: ../themes/Wordpress/templates/actionbar.tmpl:26
+#: ../themes/blog/templates/navbar.tmpl:14
+#: ../themes/default/templates/head.tmpl:86
+#: ../themes/default/templates/head.tmpl:87
+#: ../themes/default/templates/navbar.tmpl:55
+#: ../themes/shamino_com/templates/actionbar.tmpl:18
+#: ../themes/smaller/templates/navbar.tmpl:19
+#: ../themes/wikilens/templates/head.tmpl:78
+#: ../themes/wikilens/templates/head.tmpl:79
+#: ../themes/wikilens/templates/navbar.tmpl:32
+msgid "PhpWikiAdministration"
+msgstr "PhpWikiBeheer"
+
+#: ../lib/loadsave.php:95 ../lib/loadsave.php:96
+msgid "LoadDump"
+msgstr ""
+
+#: ../lib/loadsave.php:99
+#, php-format
+msgid "PageChange Notification of %s sent to %s"
+msgstr ""
+
+#: ../lib/loadsave.php:102
+#, php-format
+msgid "PageChange Notification Error: Couldn't send %s to %s"
 msgstr ""
 
 #: ../lib/loadsave.php:110
@@ -1444,526 +1697,525 @@
 msgid "Return to %s"
 msgstr "Terug naar %s"
 
-#: ../lib/loadsave.php:197
+#: ../lib/loadsave.php:200
 msgid "FullDump"
 msgstr ""
 
-#: ../lib/loadsave.php:201
+#: ../lib/loadsave.php:204
 msgid "LatestSnapshot"
 msgstr ""
 
-#: ../lib/loadsave.php:273 ../lib/loadsave.php:381
+#: ../lib/loadsave.php:276 ../lib/loadsave.php:401
 msgid "You must specify a directory to dump to"
 msgstr "Je moet een directory specificeren om in te storten"
 
-#: ../lib/loadsave.php:278 ../lib/loadsave.php:386
+#: ../lib/loadsave.php:281 ../lib/loadsave.php:406
 #, php-format
 msgid "Cannot create directory '%s'"
 msgstr ""
 
-#: ../lib/loadsave.php:280 ../lib/loadsave.php:388
+#: ../lib/loadsave.php:283 ../lib/loadsave.php:408
 #, php-format
 msgid "Created directory '%s' for the page dump..."
 msgstr ""
 
-#: ../lib/loadsave.php:283 ../lib/loadsave.php:391
+#: ../lib/loadsave.php:286 ../lib/loadsave.php:411
 #, php-format
 msgid "Using directory '%s'"
 msgstr ""
 
-#: ../lib/loadsave.php:286 ../lib/loadsave.php:394
+#: ../lib/loadsave.php:289 ../lib/loadsave.php:414
 msgid "Dumping Pages"
 msgstr ""
 
-#: ../lib/loadsave.php:318 ../lib/loadsave.php:451 ../lib/stdlib.php:845
+#: ../lib/loadsave.php:321 ../lib/loadsave.php:471 ../lib/stdlib.php:857
 msgid "Skipped."
 msgstr ""
 
-#: ../lib/loadsave.php:326
+#: ../lib/loadsave.php:329
 #, php-format
 msgid "saved as %s"
 msgstr "bewaard als %s"
 
-#: ../lib/loadsave.php:336 ../lib/loadsave.php:469
-#: ../lib/plugin/text2png.php:183
+#: ../lib/loadsave.php:339 ../lib/loadsave.php:503
+#: ../lib/plugin/text2png.php:228
 #, php-format
 msgid "couldn't open file '%s' for writing"
 msgstr ""
 
-#: ../lib/loadsave.php:342 ../lib/loadsave.php:478
+#: ../lib/loadsave.php:345 ../lib/loadsave.php:513
 #, php-format
 msgid "%s bytes written"
 msgstr ""
 
-#: ../lib/loadsave.php:476
+#: ../lib/loadsave.php:511
 msgid "saved as "
 msgstr ""
 
-#: ../lib/loadsave.php:514 ../lib/loadsave.php:533 ../lib/loadsave.php:550
+#: ../lib/loadsave.php:549 ../lib/loadsave.php:569 ../lib/loadsave.php:586
 #, php-format
 msgid "... copied to %s"
 msgstr ""
 
-#: ../lib/loadsave.php:516 ../lib/loadsave.php:535 ../lib/loadsave.php:552
+#: ../lib/loadsave.php:551 ../lib/loadsave.php:571 ../lib/loadsave.php:588
 #, php-format
 msgid "... not copied to %s"
 msgstr ""
 
-#: ../lib/loadsave.php:519 ../lib/loadsave.php:538 ../lib/loadsave.php:555
+#: ../lib/loadsave.php:555 ../lib/loadsave.php:574 ../lib/loadsave.php:592
 msgid "... not found"
 msgstr ""
 
-#: ../lib/loadsave.php:723
+#: ../lib/loadsave.php:760
 msgid "Empty pagename!"
 msgstr ""
 
-#: ../lib/loadsave.php:779
+#: ../lib/loadsave.php:770
+msgid "Invalid pagename!"
+msgstr ""
+
+#: ../lib/loadsave.php:833
 #, php-format
 msgid "from %s"
 msgstr "van %s"
 
-#: ../lib/loadsave.php:795
+#: ../lib/loadsave.php:849
 msgid "has edit conflicts - overwriting anyway"
 msgstr ""
 
-#: ../lib/loadsave.php:798 ../lib/loadsave.php:1292 ../lib/loadsave.php:1295
-msgid "The PhpWiki programming team"
-msgstr "Het PhpWiki programmeerteam"
+#: ../lib/loadsave.php:858
+msgid "keep old"
+msgstr ""
 
-#: ../lib/loadsave.php:803
+#: ../lib/loadsave.php:860
 msgid "has edit conflicts - skipped"
 msgstr ""
 
-#: ../lib/loadsave.php:814
+#: ../lib/loadsave.php:872
 #, php-format
 msgid "content is identical to current version %d - no new revision created"
 msgstr ""
 
-#: ../lib/loadsave.php:828
+#: ../lib/loadsave.php:886
 #, php-format
 msgid "- saved to database as version %d"
 msgstr "- bewaard in de data base als versie %d"
 
-#: ../lib/loadsave.php:834 ../lib/loadsave.php:1088
+#: ../lib/loadsave.php:892 ../lib/loadsave.php:1162
 #, php-format
 msgid "MIME file %s"
 msgstr "MIME bestand %s"
 
-#: ../lib/loadsave.php:835 ../lib/loadsave.php:1093
+#: ../lib/loadsave.php:893 ../lib/loadsave.php:1173
 #, php-format
 msgid "Serialized file %s"
 msgstr "Geserialiseerd bestand %s"
 
-#: ../lib/loadsave.php:836 ../lib/loadsave.php:1107
+#: ../lib/loadsave.php:894 ../lib/loadsave.php:1195
 #, php-format
 msgid "plain file %s"
 msgstr "plat bestand %s"
 
-#: ../lib/loadsave.php:843
+#: ../lib/loadsave.php:901 ../lib/plugin/SyncWiki.php:271
 msgid "Merge Edit"
 msgstr ""
 
-#: ../lib/loadsave.php:849
+#: ../lib/loadsave.php:907
 msgid "Restore Anyway"
 msgstr ""
 
-#: ../lib/loadsave.php:857
+#: ../lib/loadsave.php:915
 msgid "Overwrite All"
 msgstr ""
 
-#: ../lib/loadsave.php:864
+#: ../lib/loadsave.php:922
 msgid " Sorry, cannot merge."
 msgstr ""
 
-#: ../lib/loadsave.php:884 ../lib/loadsave.php:894 ../lib/loadsave.php:901
-#: ../lib/loadsave.php:908 ../themes/MonoBook/templates/actionbar.tmpl:37
-#: ../themes/Wordpress/templates/actionbar.tmpl:57
-#: ../themes/default/templates/actionbar.tmpl:26
-#: ../themes/smaller/templates/actionbar.tmpl:29
+#: ../lib/loadsave.php:942 ../lib/loadsave.php:952 ../lib/loadsave.php:959
+#: ../lib/loadsave.php:966 ../themes/MonoBook/templates/actionbar.tmpl:60
+#: ../themes/Wordpress/templates/actionbar.tmpl:58
+#: ../themes/default/templates/actionbar.tmpl:28
+#: ../themes/smaller/templates/actionbar.tmpl:31
 msgid "Revert"
 msgstr ""
 
-#: ../lib/loadsave.php:885
+#: ../lib/loadsave.php:943
 msgid "missing required version argument"
 msgstr ""
 
-#: ../lib/loadsave.php:893
+#: ../lib/loadsave.php:951
 msgid "no page content"
 msgstr ""
 
-#: ../lib/loadsave.php:900
+#: ../lib/loadsave.php:958
 msgid "same version page"
 msgstr ""
 
-#: ../lib/loadsave.php:907
+#: ../lib/loadsave.php:965
 #, fuzzy
 msgid "Cancelled"
 msgstr "Annuleer"
 
-#: ../lib/loadsave.php:915
+#: ../lib/loadsave.php:973
 msgid "Are you sure?"
 msgstr ""
 
-#: ../lib/loadsave.php:921 ../lib/plugin/PasswordReset.php:104
-#: ../lib/plugin/PasswordReset.php:142 ../lib/plugin/UserPreferences.php:114
-#: ../lib/plugin/WikiAdminChmod.php:146 ../lib/plugin/WikiAdminChown.php:153
-#: ../lib/plugin/WikiAdminMarkup.php:149 ../lib/plugin/WikiAdminRemove.php:188
-#: ../lib/plugin/WikiAdminRename.php:165
+#: ../lib/loadsave.php:979 ../lib/plugin/PasswordReset.php:103
+#: ../lib/plugin/PasswordReset.php:146 ../lib/plugin/UserPreferences.php:114
+#: ../lib/plugin/WatchPage.php:84 ../lib/plugin/WikiAdminChmod.php:146
+#: ../lib/plugin/WikiAdminChown.php:153 ../lib/plugin/WikiAdminMarkup.php:149
+#: ../lib/plugin/WikiAdminRemove.php:188 ../lib/plugin/WikiAdminRename.php:165
 #: ../lib/plugin/WikiAdminSearchReplace.php:180
-#: ../lib/plugin/WikiAdminSetAcl.php:176
+#: ../lib/plugin/WikiAdminSetAcl.php:180
 msgid "Yes"
 msgstr ""
 
-#: ../lib/loadsave.php:923 ../lib/plugin/PasswordReset.php:107
-#: ../lib/plugin/PasswordReset.php:145 ../lib/plugin/TranslateText.php:118
-#: ../lib/plugin/UserPreferences.php:116 ../lib/plugin/WikiAdminChmod.php:159
+#: ../lib/loadsave.php:981 ../lib/plugin/PasswordReset.php:106
+#: ../lib/plugin/PasswordReset.php:149 ../lib/plugin/TranslateText.php:118
+#: ../lib/plugin/UserPreferences.php:116 ../lib/plugin/WatchPage.php:86
+#: ../lib/plugin/WatchPage.php:91 ../lib/plugin/WikiAdminChmod.php:159
 #: ../lib/plugin/WikiAdminChown.php:166 ../lib/plugin/WikiAdminMarkup.php:162
 #: ../lib/plugin/WikiAdminRemove.php:214 ../lib/plugin/WikiAdminRename.php:182
 #: ../lib/plugin/WikiAdminSearchReplace.php:194
 #: ../lib/plugin/WikiAdminSelect.php:218 ../lib/plugin/WikiAdminSelect.php:239
-#: ../lib/plugin/WikiAdminSetAcl.php:189 ../lib/plugin/WikiAdminUtils.php:266
-#: ../lib/plugin/WikiFormRich.php:317 ../lib/removepage.php:24
-#: ../lib/upgrade.php:682 ../themes/default/templates/login.tmpl:78
-#: ../themes/default/templates/userprefs.tmpl:243
+#: ../lib/plugin/WikiAdminSetAcl.php:193 ../lib/plugin/WikiAdminUtils.php:296
+#: ../lib/plugin/WikiFormRich.php:310 ../lib/removepage.php:24
+#: ../lib/upgrade.php:808 ../themes/default/templates/login.tmpl:78
+#: ../themes/default/templates/userprefs.tmpl:244
 msgid "Cancel"
 msgstr "Annuleer"
 
-#: ../lib/loadsave.php:938
+#: ../lib/loadsave.php:997
 #, php-format
 msgid "revert to version %d"
 msgstr ""
 
-#: ../lib/loadsave.php:943
+#: ../lib/loadsave.php:1002
 #, fuzzy, php-format
 msgid "Revert: %s"
 msgstr "Verwijder von: %s"
 
-#: ../lib/loadsave.php:944
+#: ../lib/loadsave.php:1003
 #, php-format
 msgid "- version %d saved to database as version %d"
 msgstr ""
 
-#: ../lib/loadsave.php:972
+#: ../lib/loadsave.php:1031
 msgid "Default InterWiki map file not loaded."
 msgstr ""
 
-#: ../lib/loadsave.php:1122 ../lib/loadsave.php:1135
+#: ../lib/loadsave.php:1210 ../lib/loadsave.php:1223
 msgid "Skipping"
 msgstr "Overgeslagen"
 
-#: ../lib/loadsave.php:1236
+#: ../lib/loadsave.php:1324
 #, php-format
-msgid "Unable to load: %s"
+msgid "Empty or not existing source. Unable to load: %s"
 msgstr ""
 
-#: ../lib/loadsave.php:1243
+#: ../lib/loadsave.php:1331
 #, php-format
 msgid "Bad file type: %s"
 msgstr ""
 
-#: ../lib/loadsave.php:1260
+#: ../lib/loadsave.php:1348
 #, php-format
 msgid "Loading '%s'"
 msgstr ""
 
-#: ../lib/loadsave.php:1298
+#: ../lib/loadsave.php:1386
 msgid "Loading up virgin wiki"
 msgstr "Laden van maagdelijke wiki"
 
-#: ../lib/loadsave.php:1344
+#: ../lib/loadsave.php:1436
 msgid "No uploaded file to upload?"
 msgstr ""
 
-#: ../lib/loadsave.php:1348
+#: ../lib/loadsave.php:1440
 #, php-format
 msgid "Uploading %s"
 msgstr ""
 
-#: ../lib/main.php:415
+#: ../lib/main.php:440
 msgid "FORBIDDEN"
 msgstr ""
 
-#: ../lib/main.php:416 ../lib/main.php:426
+#: ../lib/main.php:441 ../lib/main.php:451
 msgid "ANON"
 msgstr ""
 
-#: ../lib/main.php:417
+#: ../lib/main.php:442
 msgid "BOGO"
 msgstr ""
 
-#: ../lib/main.php:418
+#: ../lib/main.php:443
 msgid "USER"
 msgstr ""
 
-#: ../lib/main.php:419
+#: ../lib/main.php:444
 msgid "ADMIN"
 msgstr ""
 
-#: ../lib/main.php:420
+#: ../lib/main.php:445
 msgid "UNOBTAINABLE"
 msgstr ""
 
-#: ../lib/main.php:448 ../lib/main.php:467
+#: ../lib/main.php:473 ../lib/main.php:492
 #, php-format
 msgid "%s is disallowed on this wiki."
 msgstr ""
 
-#: ../lib/main.php:456
+#: ../lib/main.php:481
 msgid "authenticated"
 msgstr ""
 
-#: ../lib/main.php:456
+#: ../lib/main.php:481
 msgid "not authenticated"
 msgstr ""
 
-#: ../lib/main.php:457
-#, php-format
-msgid "%s %s %s is disallowed on this wiki for %s user '%s' (level: %s)."
+#: ../lib/main.php:483
+msgid "Missing PagePermission:"
 msgstr ""
 
-#: ../lib/main.php:458
-msgid "Missing PagePermission:"
+#: ../lib/main.php:482
+#, php-format
+msgid "%s %s %s is disallowed on this wiki for %s user '%s' (level: %s)."
 msgstr ""
 
-#: ../lib/main.php:475
+#: ../lib/main.php:500
 #, php-format
 msgid "You must sign in to %s."
 msgstr ""
 
-#: ../lib/main.php:477
+#: ../lib/main.php:502
 #, php-format
 msgid "You must log in to %s."
 msgstr ""
 
-#: ../lib/main.php:479
+#: ../lib/main.php:504
+msgid "You must log in first"
+msgstr ""
+
+#: ../lib/main.php:506
 #, php-format
 msgid "Access for you is forbidden to %s."
 msgstr ""
 
-#: ../lib/main.php:481 ../lib/plugin/PluginManager.php:65
+#: ../lib/main.php:508 ../lib/plugin/PluginManager.php:65
 #, php-format
 msgid "You must be an administrator to %s."
 msgstr ""
 
-#: ../lib/main.php:493
+#: ../lib/main.php:521
 msgid "view this page"
 msgstr ""
 
-#: ../lib/main.php:494
+#: ../lib/main.php:522
 msgid "diff this page"
 msgstr ""
 
-#: ../lib/main.php:495
+#: ../lib/main.php:523
 msgid "dump html pages"
 msgstr ""
 
-#: ../lib/main.php:496
+#: ../lib/main.php:524
 msgid "dump serial pages"
 msgstr ""
 
-#: ../lib/main.php:497
+#: ../lib/main.php:525
 msgid "edit this page"
 msgstr ""
 
-#: ../lib/main.php:498
+#: ../lib/main.php:526
 msgid "revert to a previous version of this page"
 msgstr ""
 
-#: ../lib/main.php:499
+#: ../lib/main.php:527
 msgid "create this page"
 msgstr ""
 
-#: ../lib/main.php:500
+#: ../lib/main.php:528
 msgid "load files into this wiki"
 msgstr ""
 
-#: ../lib/main.php:501
+#: ../lib/main.php:529
 msgid "lock this page"
 msgstr ""
 
-#: ../lib/main.php:502
+#: ../lib/main.php:530
 msgid "remove this page"
 msgstr ""
 
-#: ../lib/main.php:503
+#: ../lib/main.php:531
 msgid "unlock this page"
 msgstr ""
 
-#: ../lib/main.php:504
+#: ../lib/main.php:532
 msgid "upload a zip dump"
 msgstr ""
 
-#: ../lib/main.php:505
+#: ../lib/main.php:533
 msgid "verify the current action"
 msgstr ""
 
-#: ../lib/main.php:506
+#: ../lib/main.php:534
 msgid "view the source of this page"
 msgstr ""
 
-#: ../lib/main.php:507
+#: ../lib/main.php:535
 msgid "access this wiki via XML-RPC"
 msgstr ""
 
-#: ../lib/main.php:508
+#: ../lib/main.php:536
 msgid "access this wiki via SOAP"
 msgstr ""
 
-#: ../lib/main.php:509
+#: ../lib/main.php:537
 msgid "download a zip dump from this wiki"
 msgstr ""
 
-#: ../lib/main.php:510
+#: ../lib/main.php:538
 #, fuzzy
 msgid "download a html zip dump from this wiki"
 msgstr "De %d meestbezochte pagina's van deze Wiki:"
 
-#: ../lib/main.php:534
+#: ../lib/main.php:562
 msgid "Browsing pages"
 msgstr ""
 
-#: ../lib/main.php:535
+#: ../lib/main.php:563
 msgid "Diffing pages"
 msgstr ""
 
-#: ../lib/main.php:536
+#: ../lib/main.php:564
 msgid "Dumping html pages"
 msgstr ""
 
-#: ../lib/main.php:537
+#: ../lib/main.php:565
 msgid "Dumping serial pages"
 msgstr ""
 
-#: ../lib/main.php:538
+#: ../lib/main.php:566
 msgid "Editing pages"
 msgstr ""
 
-#: ../lib/main.php:539
+#: ../lib/main.php:567
 msgid "Reverting to a previous version of pages"
 msgstr ""
 
-#: ../lib/main.php:540
+#: ../lib/main.php:568
 msgid "Creating pages"
 msgstr ""
 
-#: ../lib/main.php:541
+#: ../lib/main.php:569
 msgid "Loading files"
 msgstr ""
 
-#: ../lib/main.php:542
+#: ../lib/main.php:570
 msgid "Locking pages"
 msgstr ""
 
-#: ../lib/main.php:543
+#: ../lib/main.php:571
 msgid "Removing pages"
 msgstr ""
 
-#: ../lib/main.php:544
+#: ../lib/main.php:572
 msgid "Unlocking pages"
 msgstr ""
 
-#: ../lib/main.php:545
+#: ../lib/main.php:573
 msgid "Uploading zip dumps"
 msgstr ""
 
-#: ../lib/main.php:546
+#: ../lib/main.php:574
 msgid "Verify the current action"
 msgstr ""
 
-#: ../lib/main.php:547
+#: ../lib/main.php:575
 msgid "Viewing the source of pages"
 msgstr ""
 
-#: ../lib/main.php:548
+#: ../lib/main.php:576
 msgid "XML-RPC access"
 msgstr ""
 
-#: ../lib/main.php:549
+#: ../lib/main.php:577
 msgid "SOAP access"
 msgstr ""
 
-#: ../lib/main.php:550
+#: ../lib/main.php:578
 msgid "Downloading zip dumps"
 msgstr ""
 
-#: ../lib/main.php:551
+#: ../lib/main.php:579
 msgid "Downloading html zip dumps"
 msgstr ""
 
-#: ../lib/main.php:685
+#: ../lib/main.php:720
 #, php-format
 msgid "%s: action forwarded to a moderator."
 msgstr ""
 
-#: ../lib/main.php:688
+#: ../lib/main.php:723
 msgid "This action requires moderator approval. Please be patient."
 msgstr ""
 
-#: ../lib/main.php:693
+#: ../lib/main.php:728
 msgid "You must wait for moderator approval."
 msgstr ""
 
-#: ../lib/main.php:698 ../lib/main.php:1051 ../lib/plugin/ModeratedPage.php:41
-#: ../lib/plugin/ModeratedPage.php:137 ../lib/plugin/ModeratedPage.php:205
-#: ../lib/plugin/ModeratedPage.php:238 ../lib/plugin/ModeratedPage.php:241
-#: ../lib/plugin/ModeratedPage.php:243 ../lib/plugin/ModeratedPage.php:245
-#: ../lib/plugin/ModeratedPage.php:324
-msgid "ModeratedPage"
-msgstr ""
-
-#: ../lib/main.php:714
+#: ../lib/main.php:749 ../lib/plugin/ModeratedPage.php:310
 #, php-format
 msgid "%s: Bad action"
 msgstr ""
 
-#: ../lib/main.php:731
+#: ../lib/main.php:766
 msgid "Fatal PhpWiki Error"
 msgstr "PhpWiki Fatale Fout"
 
-#: ../lib/main.php:980 ../lib/plugin/WikiAdminChown.php:183
+#: ../lib/main.php:1019 ../lib/plugin/WikiAdminChown.php:183
 msgid "Chown"
 msgstr ""
 
-#: ../lib/main.php:984 ../lib/plugin/WikiAdminSetAcl.php:183
+#: ../lib/main.php:1023 ../lib/plugin/WikiAdminSetAcl.php:187
 msgid "SetAcl"
 msgstr ""
 
-#: ../lib/main.php:988 ../lib/plugin/WikiAdminRename.php:208
+#: ../lib/main.php:1027 ../lib/plugin/WikiAdminRename.php:208
 msgid "Rename"
 msgstr ""
 
-#: ../lib/main.php:992 ../lib/main.php:997 ../lib/plugin/PageDump.php:36
+#: ../lib/main.php:1031 ../lib/main.php:1036 ../lib/plugin/PageDump.php:36
 #: ../themes/Crao/templates/actionbar.tmpl:28
-#: ../themes/MonoBook/templates/actionbar.tmpl:48
-#: ../themes/Wordpress/templates/actionbar.tmpl:75
-#: ../themes/default/templates/actionbar.tmpl:35
+#: ../themes/MonoBook/templates/actionbar.tmpl:69
+#: ../themes/Wordpress/templates/actionbar.tmpl:76
+#: ../themes/default/templates/actionbar.tmpl:37
 #: ../themes/shamino_com/templates/actionbar.tmpl:22
-#: ../themes/shamino_com/templates/info.tmpl:168
-#: ../themes/smaller/templates/actionbar.tmpl:39
+#: ../themes/smaller/templates/actionbar.tmpl:41
 #: ../themes/smaller/templates/info.tmpl:11
 msgid "PageDump"
 msgstr ""
 
-#: ../lib/main.php:1011 ../lib/plugin/FullTextSearch.php:39
-#: ../lib/plugin/WantedPagesOld.php:134
+#: ../lib/main.php:1050 ../lib/plugin/FullTextSearch.php:45
 msgid "FullTextSearch"
 msgstr "VolledigeTekstZoek"
 
-#: ../lib/main.php:1161
+#: ../lib/main.php:1222
 msgid "The session.save_path directory"
 msgstr ""
 
-#: ../lib/main.php:1164
+#: ../lib/main.php:1225
 #, php-format
 msgid "the session.save_path directory '%s'"
 msgstr ""
 
-#: ../lib/main.php:1168
+#: ../lib/main.php:1229
 #, php-format
 msgid "Attempting to use the directory '%s' instead."
 msgstr ""
 
-#: ../lib/main.php:1175
+#: ../lib/main.php:1236
 msgid "Users will not be able to sign in."
 msgstr ""
 
@@ -1988,8 +2240,8 @@
 msgid "Click to display all comments"
 msgstr ""
 
-#: ../lib/plugin/AddComment.php:111 ../lib/plugin/CreateToc.php:372
-#: ../lib/plugin/CreateToc.php:377
+#: ../lib/plugin/AddComment.php:111 ../lib/plugin/CreateToc.php:381
+#: ../lib/plugin/CreateToc.php:401
 msgid "Click to display"
 msgstr ""
 
@@ -1997,7 +2249,7 @@
 msgid "Comments"
 msgstr ""
 
-#: ../lib/plugin/AllPages.php:34
+#: ../lib/plugin/AllPages.php:34 ../themes/MonoBook/templates/navbar.tmpl:78
 msgid "AllPages"
 msgstr ""
 
@@ -2010,22 +2262,22 @@
 msgid "All pages in this wiki (%d total):"
 msgstr ""
 
-#: ../lib/plugin/AllPages.php:77 ../lib/plugin/LinkDatabase.php:83
+#: ../lib/plugin/AllPages.php:77 ../lib/plugin/LinkDatabase.php:84
 #, php-format
 msgid "List of pages owned by [%s] (%d total):"
 msgstr ""
 
-#: ../lib/plugin/AllPages.php:87 ../lib/plugin/LinkDatabase.php:90
+#: ../lib/plugin/AllPages.php:89 ../lib/plugin/LinkDatabase.php:91
 #, php-format
 msgid "List of pages last edited by [%s] (%d total):"
 msgstr ""
 
-#: ../lib/plugin/AllPages.php:97 ../lib/plugin/LinkDatabase.php:97
+#: ../lib/plugin/AllPages.php:101 ../lib/plugin/LinkDatabase.php:98
 #, php-format
 msgid "List of pages created by [%s] (%d total):"
 msgstr ""
 
-#: ../lib/plugin/AllPages.php:126 ../lib/plugin/AllUsers.php:105
+#: ../lib/plugin/AllPages.php:133 ../lib/plugin/AllUsers.php:105
 #, php-format
 msgid "Elapsed time: %s s"
 msgstr ""
@@ -2043,119 +2295,120 @@
 msgid "Authenticated users on this wiki (%d total):"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:143
-#: ../lib/plugin/AnalyseAccessLogSql.php:168
+#: ../lib/plugin/AnalyseAccessLogSql.php:162
+#: ../lib/plugin/AnalyseAccessLogSql.php:197
 msgid "0 - last minute"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:144
-#: ../lib/plugin/AnalyseAccessLogSql.php:169
+#: ../lib/plugin/AnalyseAccessLogSql.php:163
+#: ../lib/plugin/AnalyseAccessLogSql.php:198
 msgid "1 - 1 minute to 1 hour"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:145
-#: ../lib/plugin/AnalyseAccessLogSql.php:170
+#: ../lib/plugin/AnalyseAccessLogSql.php:164
+#: ../lib/plugin/AnalyseAccessLogSql.php:199
 msgid "2 - 1 hour to 1 day"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:146
-#: ../lib/plugin/AnalyseAccessLogSql.php:171
+#: ../lib/plugin/AnalyseAccessLogSql.php:165
+#: ../lib/plugin/AnalyseAccessLogSql.php:200
 msgid "3 - 1 day to 1 week"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:147
-#: ../lib/plugin/AnalyseAccessLogSql.php:172
+#: ../lib/plugin/AnalyseAccessLogSql.php:166
+#: ../lib/plugin/AnalyseAccessLogSql.php:201
 msgid "4 - 1 week to 1 month"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:148
-#: ../lib/plugin/AnalyseAccessLogSql.php:173
+#: ../lib/plugin/AnalyseAccessLogSql.php:167
+#: ../lib/plugin/AnalyseAccessLogSql.php:202
 msgid "5 - 1 month to 1 year"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:149
-#: ../lib/plugin/AnalyseAccessLogSql.php:174
+#: ../lib/plugin/AnalyseAccessLogSql.php:168
+#: ../lib/plugin/AnalyseAccessLogSql.php:203
 msgid "6 - more than 1 year"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:193
+#: ../lib/plugin/AnalyseAccessLogSql.php:222
 msgid "referring_urls"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:194
+#: ../lib/plugin/AnalyseAccessLogSql.php:223
 msgid "external_referers"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:195
+#: ../lib/plugin/AnalyseAccessLogSql.php:224
 msgid "referring_domains"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:196
+#: ../lib/plugin/AnalyseAccessLogSql.php:225
 msgid "remote_hosts"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:197
+#: ../lib/plugin/AnalyseAccessLogSql.php:226
 msgid "users"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:198
+#: ../lib/plugin/AnalyseAccessLogSql.php:227
 msgid "host_users"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:199
+#: ../lib/plugin/AnalyseAccessLogSql.php:228
 msgid "search_bots"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:200
+#: ../lib/plugin/AnalyseAccessLogSql.php:229
 msgid "search_bots_hits"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:202
+#: ../lib/plugin/AnalyseAccessLogSql.php:231
 msgid "minutes"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:203
+#: ../lib/plugin/AnalyseAccessLogSql.php:232
 msgid "hours"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:204 ../lib/plugin/VisualWiki.php:499
+#: ../lib/plugin/AnalyseAccessLogSql.php:233 ../lib/plugin/VisualWiki.php:503
 msgid "days"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:205
+#: ../lib/plugin/AnalyseAccessLogSql.php:234
 msgid "weeks"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:223
+#: ../lib/plugin/AnalyseAccessLogSql.php:252
 msgid "AnalyseAccessLogSql"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:227
+#: ../lib/plugin/AnalyseAccessLogSql.php:256
 msgid "Show summary information from the access log table."
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:240
+#: ../lib/plugin/AnalyseAccessLogSql.php:269
 msgid "The requested information is available only to Administrators."
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:243
+#: ../lib/plugin/AnalyseAccessLogSql.php:272
 msgid "The SQL_ACCESS_LOG is not enabled."
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:254
+#: ../lib/plugin/AnalyseAccessLogSql.php:283
 #, php-format
 msgid "Unrecognised parameter 'mode=%s'"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:273 ../lib/plugin/_BackendInfo.php:97
+#: ../lib/plugin/AnalyseAccessLogSql.php:302
+#: ../lib/plugin/SemanticSearch.php:382 ../lib/plugin/_BackendInfo.php:124
 msgid "<empty>"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:342
+#: ../lib/plugin/AnalyseAccessLogSql.php:382
 msgid "mode"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:344
+#: ../lib/plugin/AnalyseAccessLogSql.php:384
 msgid "period"
 msgstr ""
 
@@ -2198,10 +2451,18 @@
 msgid "Render ASCII Math as MathML"
 msgstr ""
 
+#: ../lib/plugin/AsciiSVG.php:32
+msgid "AsciiSVG"
+msgstr ""
+
+#: ../lib/plugin/AsciiSVG.php:36
+msgid "Render inline ASCII SVG"
+msgstr ""
+
 #: ../lib/plugin/AuthorHistory.php:70
+#: ../themes/MonoBook/templates/actionbar.tmpl:67
 #: ../themes/MonoBook/templates/info.tmpl:168
 #: ../themes/blog/templates/info.tmpl:3
-#: ../themes/shamino_com/templates/info.tmpl:167
 #: ../themes/smaller/templates/info.tmpl:7
 msgid "AuthorHistory"
 msgstr ""
@@ -2219,9 +2480,8 @@
 
 #: ../lib/plugin/AuthorHistory.php:125
 #: ../themes/MonoBook/templates/info.tmpl:77
-#: ../themes/default/templates/info.tmpl:70
+#: ../themes/default/templates/info.tmpl:69
 #: ../themes/default/templates/wikiforum.tmpl:22
-#: ../themes/shamino_com/templates/info.tmpl:76
 msgid "Author"
 msgstr ""
 
@@ -2230,12 +2490,9 @@
 #: ../themes/Crao/templates/editpage.tmpl:48
 #: ../themes/MonoBook/templates/info.tmpl:78
 #: ../themes/Portland/templates/editpage.tmpl:39
-#: ../themes/Wordpress/templates/editpage.tmpl:48
-#: ../themes/blog/templates/blogform.tmpl:15
-#: ../themes/default/templates/blogform.tmpl:15
+#: ../themes/Wordpress/templates/editpage.tmpl:46
 #: ../themes/default/templates/editpage.tmpl:47
-#: ../themes/default/templates/info.tmpl:71
-#: ../themes/shamino_com/templates/info.tmpl:77
+#: ../themes/default/templates/info.tmpl:70
 msgid "Summary"
 msgstr ""
 
@@ -2248,63 +2505,66 @@
 msgid "History of all major and minor edits by %s to page %s."
 msgstr ""
 
-#: ../lib/plugin/AuthorHistory.php:156
-#, php-format
-msgid "History of all major edits by %s to page %s."
-msgstr ""
-
 #: ../lib/plugin/AuthorHistory.php:218
 #, php-format
 msgid "History of all major and minor modifications for any page edited by %s."
 msgstr ""
 
-#: ../lib/plugin/AuthorHistory.php:218
-#, php-format
-msgid "History of major modifications for any page edited by %s."
-msgstr ""
-
 #: ../lib/plugin/BackLinks.php:35
 #, php-format
 msgid "List all pages which link to %s."
 msgstr ""
 
-#: ../lib/plugin/BackLinks.php:70 ../lib/plugin/ListPages.php:122
+#: ../lib/plugin/BackLinks.php:73 ../lib/plugin/ListPages.php:122
 #: ../lib/plugin/ListPages.php:125 ../lib/plugin/ListSubpages.php:89
 msgid "#"
 msgstr ""
 
-#: ../lib/plugin/BackLinks.php:96
+#: ../lib/plugin/BackLinks.php:126
 #, php-format
 msgid "No other page links to %s yet."
 msgstr ""
 
-#: ../lib/plugin/BackLinks.php:99
+#: ../lib/plugin/BackLinks.php:129
 #, php-format
 msgid "One page would link to %s:"
 msgstr ""
 
-#: ../lib/plugin/BackLinks.php:108
+#: ../lib/plugin/BackLinks.php:138
 #, php-format
 msgid "%s pages would link to %s:"
 msgstr ""
 
-#: ../lib/plugin/BackLinks.php:116
+#: ../lib/plugin/BackLinks.php:147 ../lib/plugin/SemanticSearch.php:129
+#: ../lib/plugin/SemanticSearch.php:205
+msgid "AND"
+msgstr ""
+
+#: ../lib/plugin/BackLinks.php:153
 #, php-format
 msgid "No page links to %s."
 msgstr ""
 
-#: ../lib/plugin/BackLinks.php:121
+#: ../lib/plugin/BackLinks.php:158
 #, php-format
 msgid "One page links to %s:"
 msgstr ""
 
-#: ../lib/plugin/BackLinks.php:130
+#: ../lib/plugin/BackLinks.php:168
+msgid "Those"
+msgstr ""
+
+#: ../lib/plugin/BackLinks.php:167
 #, php-format
 msgid "%s pages link to %s:"
 msgstr ""
 
+#: ../lib/plugin/BackLinks.php:176
+msgid "More..."
+msgstr ""
+
 #: ../lib/plugin/BlogArchives.php:24 ../lib/plugin/BlogArchives.php:134
-#: ../themes/blog/templates/actionbar.tmpl:17
+#: ../themes/blog/templates/actionbar.tmpl:11
 msgid "Archives"
 msgstr ""
 
@@ -2312,13 +2572,13 @@
 msgid "List blog months links for the current or ADMIN user"
 msgstr ""
 
-#: ../lib/plugin/BlogArchives.php:88 ../lib/plugin/BlogJournal.php:85
+#: ../lib/plugin/BlogArchives.php:88 ../lib/plugin/BlogJournal.php:88
 #, php-format
 msgid "Blog Entries for %s:"
 msgstr ""
 
 #: ../lib/plugin/BlogArchives.php:96
-#: ../themes/blog/templates/actionbar.tmpl:17
+#: ../themes/blog/templates/actionbar.tmpl:11
 msgid "BlogArchives"
 msgstr ""
 
@@ -2334,38 +2594,32 @@
 msgid "Include latest blog entries for the current or ADMIN user"
 msgstr ""
 
-#: ../lib/plugin/BlogJournal.php:81 ../lib/plugin/WikiBlog.php:75
-msgid "WikiBlog"
+#: ../lib/plugin/BlogJournal.php:84
+msgid "New entry"
 msgstr ""
 
-#: ../lib/plugin/BlogJournal.php:83
+#: ../lib/plugin/BlogJournal.php:86
 msgid "No Blog Entries"
 msgstr ""
 
-#: ../lib/plugin/Calendar.php:41 ../lib/plugin/Calendar.php:45
-#: ../themes/Crao/templates/head.tmpl:89
-#: ../themes/Crao/templates/navbar.tmpl:28
-#: ../themes/Sidebar/templates/body.tmpl:21
-#: ../themes/Sidebar/templates/body.tmpl:26 ../themes/Sidebar/themeinfo.php:44
-#: ../themes/Wordpress/templates/actionbar.tmpl:31
-#: ../themes/blog/templates/sidebar.tmpl:18
-#: ../themes/default/templates/head.tmpl:96
-#: ../themes/default/templates/homepage.tmpl:15
-#: ../themes/default/templates/navbar.tmpl:45
-#: ../themes/wikilens/templates/head.tmpl:89
-#: ../themes/wikilens/templates/navbar.tmpl:35
-msgid "Calendar"
+#: ../lib/plugin/BoxRight.php:34
+msgid "A simple plugin for <div class=boxright> with wikimarkup"
 msgstr ""
 
-#: ../lib/plugin/Calendar.php:95
+#: ../lib/plugin/Calendar.php:96
 msgid "Previous Month"
 msgstr ""
 
-#: ../lib/plugin/Calendar.php:99
+#: ../lib/plugin/Calendar.php:100
 msgid "Next Month"
 msgstr ""
 
-#: ../lib/plugin/Calendar.php:169 ../lib/plugin/CalendarList.php:135
+#: ../lib/plugin/Calendar.php:133
+#, fuzzy
+msgid "Wk"
+msgstr "B"
+
+#: ../lib/plugin/Calendar.php:174 ../lib/plugin/CalendarList.php:135
 #, php-format
 msgid "Edit %s"
 msgstr "Verander %s"
@@ -2383,8 +2637,6 @@
 msgstr ""
 
 #: ../lib/plugin/Comment.php:22 ../themes/Crao/templates/blogform.tmpl:15
-#: ../themes/blog/templates/blogform.tmpl:21
-#: ../themes/default/templates/blogform.tmpl:21
 msgid "Comment"
 msgstr ""
 
@@ -2401,26 +2653,26 @@
 msgid "Automatically create a Bibtex file from linked pages"
 msgstr ""
 
-#: ../lib/plugin/CreateBib.php:121 ../lib/plugin/CreateToc.php:302
-#: ../lib/plugin/IncludePage.php:77 ../lib/plugin/RateIt.php:208
-#: ../lib/plugin/Template.php:102
+#: ../lib/plugin/CreateBib.php:121 ../lib/plugin/CreateToc.php:306
+#: ../lib/plugin/IncludePage.php:77 ../lib/plugin/RateIt.php:207
+#: ../lib/plugin/Template.php:110
 msgid "no page specified"
 msgstr ""
 
-#: ../lib/plugin/CreatePage.php:39
+#: ../lib/plugin/CreatePage.php:42
 msgid "CreatePage"
 msgstr ""
 
-#: ../lib/plugin/CreatePage.php:43
+#: ../lib/plugin/CreatePage.php:46
 msgid "Create a Wiki page by the provided name."
 msgstr ""
 
-#: ../lib/plugin/CreatePage.php:92
+#: ../lib/plugin/CreatePage.php:96
 #, php-format
 msgid "%s already exists"
 msgstr ""
 
-#: ../lib/plugin/CreatePage.php:103
+#: ../lib/plugin/CreatePage.php:112
 msgid "Created by CreatePage"
 msgstr ""
 
@@ -2432,42 +2684,46 @@
 msgid "Automatically link headers at the top"
 msgstr ""
 
-#: ../lib/plugin/CreateToc.php:313
+#: ../lib/plugin/CreateToc.php:317
 msgid "CreateToc disabled for old markup"
 msgstr ""
 
-#: ../lib/plugin/CreateToc.php:369
+#: ../lib/plugin/CreateToc.php:377
 msgid "Click to hide the TOC"
 msgstr ""
 
-#: ../lib/plugin/CreateToc.php:379 ../lib/plugin/CreateToc.php:382
+#: ../lib/plugin/CreateToc.php:386 ../lib/plugin/CreateToc.php:403
 msgid "Table Of Contents"
 msgstr ""
 
+#: ../lib/plugin/CreateToc.php:392
+msgid "Click to display to TOC"
+msgstr ""
+
 #: ../lib/plugin/DeadEndPages.php:24
 msgid "DeadEndPages"
 msgstr ""
 
-#: ../lib/plugin/Diff.php:40
+#: ../lib/plugin/Diff.php:41
 msgid "Display differences between revisions"
 msgstr ""
 
-#: ../lib/plugin/Diff.php:52
+#: ../lib/plugin/Diff.php:53
 msgid "World"
 msgstr ""
 
-#: ../lib/plugin/EditMetaData.php:45 ../lib/plugin/_WikiTranslation.php:61
+#: ../lib/plugin/EditMetaData.php:48 ../lib/plugin/_WikiTranslation.php:61
 msgid "EditMetaData"
 msgstr ""
 
-#: ../lib/plugin/EditMetaData.php:49
+#: ../lib/plugin/EditMetaData.php:52
 #, php-format
 msgid "Edit metadata for %s"
 msgstr ""
 
-#: ../lib/plugin/EditMetaData.php:109
+#: ../lib/plugin/EditMetaData.php:132
 #, php-format
-msgid "Existing page-level metadata for %s:"
+msgid "No metadata for %s"
 msgstr ""
 
 #: ../lib/plugin/EditMetaData.php:146
@@ -2476,22 +2732,27 @@
 "remove a key by leaving the value-box empty."
 msgstr ""
 
-#: ../lib/plugin/EditMetaData.php:149 ../lib/upgrade.php:680
+#: ../lib/plugin/EditMetaData.php:149 ../lib/upgrade.php:806
 msgid "Submit"
 msgstr ""
 
-#: ../lib/plugin/EditMetaData.php:161
+#: ../lib/plugin/EditMetaData.php:164
 msgid "Requires WikiAdmin privileges to edit."
 msgstr ""
 
-#: ../lib/plugin/ExternalSearch.php:38
+#: ../lib/plugin/ExternalSearch.php:40
 msgid "ExternalSearch"
 msgstr ""
 
-#: ../lib/plugin/ExternalSearch.php:42
+#: ../lib/plugin/ExternalSearch.php:44
 msgid "Redirects to an external web site based on form input"
 msgstr ""
 
+#: ../lib/plugin/ExternalSearch.php:140 ../lib/plugin/PhotoAlbum.php:479
+#, php-format
+msgid "Invalid argument: %s=%s"
+msgstr ""
+
 #: ../lib/plugin/FileInfo.php:39
 msgid "FileInfo"
 msgstr ""
@@ -2500,13 +2761,23 @@
 msgid "Display file information like version,size,date,... of uploaded files."
 msgstr ""
 
-#: ../lib/plugin/FileInfo.php:63 ../lib/plugin/FileInfo.php:65
-#: ../lib/plugin/PageGroup.php:104 ../lib/plugin/WikiFormRich.php:163
-#: ../lib/plugin/WikiFormRich.php:179
+#: ../lib/plugin/FileInfo.php:64 ../lib/plugin/FileInfo.php:66
+#: ../lib/plugin/PageGroup.php:104 ../lib/plugin/SyncWiki.php:75
+#: ../lib/plugin/WikiFormRich.php:177 ../lib/plugin/WikiFormRich.php:193
 #, php-format
 msgid "A required argument '%s' is missing."
 msgstr ""
 
+#: ../lib/plugin/FileInfo.php:85
+msgid ""
+"Output suppressed. FileInfoPlugin with local files require a locked page."
+msgstr ""
+
+#: ../lib/plugin/FileInfo.php:86
+#, fuzzy
+msgid "page not locked"
+msgstr "Sidan r Lst"
+
 #: ../lib/plugin/FoafViewer.php:52
 msgid "FoafViewer"
 msgstr ""
@@ -2553,7 +2824,7 @@
 msgstr ""
 
 #: ../lib/plugin/FrameInclude.php:93 ../lib/plugin/IncludePage.php:84
-#: ../lib/plugin/Template.php:108
+#: ../lib/plugin/Template.php:116
 #, php-format
 msgid "recursive inclusion of page %s"
 msgstr ""
@@ -2563,32 +2834,33 @@
 msgid "%s or %s parameter missing"
 msgstr ""
 
-#: ../lib/plugin/FrameInclude.php:105 ../lib/plugin/Transclude.php:81
+#: ../lib/plugin/FrameInclude.php:105 ../lib/plugin/Transclude.php:91
 #, php-format
 msgid "recursive inclusion of url %s"
 msgstr ""
 
-#: ../lib/plugin/FrameInclude.php:112 ../lib/plugin/TeX2png.php:216
-#: ../lib/plugin/text2png.php:69 ../lib/plugin/text2png.php:122
+#: ../lib/plugin/FrameInclude.php:112 ../lib/plugin/SemanticSearch.php:263
+#: ../lib/plugin/TeX2png.php:216 ../lib/plugin/text2png.php:87
+#: ../lib/plugin/text2png.php:173
 #, php-format
 msgid "See %s"
 msgstr "Zie %s"
 
-#: ../lib/plugin/FullTextSearch.php:43
+#: ../lib/plugin/FullTextSearch.php:49
 msgid "Search the content of all pages in this wiki."
 msgstr ""
 
-#: ../lib/plugin/FullTextSearch.php:105
+#: ../lib/plugin/FullTextSearch.php:110
 #, php-format
 msgid "only %d pages displayed"
 msgstr ""
 
-#: ../lib/plugin/FullTextSearch.php:110
+#: ../lib/plugin/FullTextSearch.php:115
 #, php-format
 msgid "Ignored stoplist words '%s'"
 msgstr ""
 
-#: ../lib/plugin/FullTextSearch.php:115
+#: ../lib/plugin/FullTextSearch.php:120
 #, php-format
 msgid "Full text search results for '%s'"
 msgstr "Volledige tekst zoek resultaten naar '%s'"
@@ -2633,6 +2905,7 @@
 
 #: ../lib/plugin/GoTo.php:59 ../lib/plugin/WikiAdminSelect.php:135
 #: ../lib/plugin/WikiAdminSelect.php:146
+#: ../themes/MonoBook/templates/navbar.tmpl:32
 msgid "Go"
 msgstr ""
 
@@ -2680,16 +2953,22 @@
 msgid "GraphViz image or imagemap creation of directed graphs"
 msgstr ""
 
-#: ../lib/plugin/GraphViz.php:265 ../lib/plugin/GraphViz.php:335
+#: ../lib/plugin/GraphViz.php:210 ../lib/plugin/_WikiTranslation.php:319
+#, php-format
+msgid "%s is empty"
+msgstr ""
+
+#: ../lib/plugin/GraphViz.php:274
 msgid "No dot graph given"
 msgstr ""
 
-#: ../lib/plugin/GraphViz.php:276 ../lib/plugin/SyntaxHighlighter.php:173
+#: ../lib/plugin/GraphViz.php:282 ../lib/plugin/GraphViz.php:290
+#: ../lib/plugin/SpellCheck.php:143 ../lib/plugin/SyntaxHighlighter.php:173
 #, php-format
 msgid "Couldn't start commandline '%s'"
 msgstr ""
 
-#: ../lib/plugin/GraphViz.php:279 ../lib/plugin/Ploticus.php:239
+#: ../lib/plugin/GraphViz.php:294 ../lib/plugin/Ploticus.php:248
 #, php-format
 msgid "%s error: outputfile '%s' not created"
 msgstr ""
@@ -2706,11 +2985,6 @@
 msgid "Convert HTML markup into wiki markup. (Version 0.5)"
 msgstr ""
 
-#: ../lib/plugin/HtmlConverter.php:66 ../lib/plugin/UpLoad.php:115
-#: ../lib/plugin/WikiForm.php:103
-msgid "Upload"
-msgstr ""
-
 #: ../lib/plugin/HtmlConverter.php:78
 msgid "Only files with extension HTML are allowed"
 msgstr ""
@@ -2719,6 +2993,10 @@
 msgid "Copy the output below and paste it into your Wiki page."
 msgstr ""
 
+#: ../lib/plugin/Imdb.php:55
+msgid "Query a local imdb database"
+msgstr ""
+
 #: ../lib/plugin/IncludePage.php:34
 msgid "IncludePage"
 msgstr ""
@@ -2728,7 +3006,7 @@
 msgstr ""
 
 #: ../lib/plugin/IncludePage.php:92 ../lib/plugin/PageGroup.php:131
-#: ../lib/plugin/Template.php:116
+#: ../lib/plugin/Template.php:124
 #, php-format
 msgid "%s(%d): no such revision"
 msgstr ""
@@ -2763,10 +3041,24 @@
 msgid "Perform searches on InterWiki sites listed in InterWikiMap."
 msgstr ""
 
-#: ../lib/plugin/InterWikiSearch.php:90
+#: ../lib/plugin/InterWikiSearch.php:92
 msgid "Wiki Name"
 msgstr ""
 
+#: ../lib/plugin/InterWikiSearch.php:93 ../lib/plugin/RecentChanges.php:724
+#: ../themes/Crao/templates/navbar.tmpl:42
+#: ../themes/Crao/templates/navbar.tmpl:44
+#: ../themes/Crao/templates/navbar.tmpl:48
+#: ../themes/blog/templates/search.tmpl:6
+#: ../themes/blog/templates/search.tmpl:7
+#: ../themes/blog/templates/search.tmpl:9
+#: ../themes/blog/templates/search.tmpl:13
+#: ../themes/default/templates/search.tmpl:6
+#: ../themes/default/templates/search.tmpl:15
+#: ../themes/default/templates/search.tmpl:27
+msgid "Search"
+msgstr "Zoek"
+
 #: ../lib/plugin/JabberPresence.php:23
 msgid "JabberPresence"
 msgstr ""
@@ -2775,24 +3067,33 @@
 msgid "Simple jabber presence plugin"
 msgstr ""
 
-#: ../lib/plugin/LdapSearch.php:57
+#: ../lib/plugin/LdapSearch.php:54
 msgid "LdapSearch"
 msgstr "LdapZoek"
 
-#: ../lib/plugin/LdapSearch.php:60
+#: ../lib/plugin/LdapSearch.php:57
 msgid "Search an LDAP directory"
 msgstr ""
 
-#: ../lib/plugin/LdapSearch.php:83
-msgid "Failed to set LDAP protocol version to 3"
+#: ../lib/plugin/LdapSearch.php:81
+msgid "Missing ldap extension"
+msgstr ""
+
+#: ../lib/plugin/LdapSearch.php:103
+#, fuzzy
+msgid "Failed to connect to LDAP host"
+msgstr "Kan verbinding naar data base %s niet tot stand brengen, geef op."
+
+#: ../lib/plugin/LdapSearch.php:136
+msgid "Failed to bind LDAP host"
 msgstr ""
 
 #: ../lib/plugin/LikePages.php:32 ../themes/Crao/templates/navbar.tmpl:16
-#: ../themes/Portland/templates/navbar.tmpl:10
-#: ../themes/Wordpress/templates/actionbar.tmpl:90
+#: ../themes/Portland/templates/navbar.tmpl:7
+#: ../themes/Wordpress/templates/actionbar.tmpl:91
 #: ../themes/default/templates/navbar.tmpl:33
 #: ../themes/smaller/templates/navbar.tmpl:15
-#: ../themes/wikilens/templates/navbar.tmpl:24
+#: ../themes/wikilens/templates/navbar.tmpl:21
 msgid "LikePages"
 msgstr ""
 
@@ -2816,30 +3117,65 @@
 msgid "These pages share an initial or final title word with '%s'"
 msgstr ""
 
-#: ../lib/plugin/LinkDatabase.php:41
-msgid "LinkDatabase"
-msgstr ""
-
-#: ../lib/plugin/LinkDatabase.php:47
+#: ../lib/plugin/LinkDatabase.php:48
 msgid ""
 "List all pages with all links in various formats for some Java Visualization "
 "tools"
 msgstr ""
 
-#: ../lib/plugin/LinkDatabase.php:77
+#: ../lib/plugin/LinkDatabase.php:78
 #, php-format
 msgid "All pages with all links in this wiki (%d total):"
 msgstr ""
 
-#: ../lib/plugin/LinkDatabase.php:109
+#: ../lib/plugin/LinkDatabase.php:111 ../lib/plugin/WantedPages.php:87
 msgid "Links"
 msgstr "Links"
 
-#: ../lib/plugin/LinkDatabase.php:169
+#: ../lib/plugin/LinkDatabase.php:173
 #, php-format
 msgid "Unsupported format argument %s"
 msgstr ""
 
+#: ../lib/plugin/LinkSearch.php:35 ../lib/plugin/LinkSearch.php:113
+#, fuzzy
+msgid "LinkSearch"
+msgstr "LiveZoek"
+
+#: ../lib/plugin/LinkSearch.php:38
+msgid "Search page and link names"
+msgstr ""
+
+#: ../lib/plugin/LinkSearch.php:65 ../lib/plugin/SemanticSearch.php:94
+msgid "Search only in these pages. With autocompletion."
+msgstr ""
+
+#: ../lib/plugin/LinkSearch.php:74 ../lib/plugin/SemanticSearch.php:117
+msgid "Filter by this link. These are pagenames. With autocompletion."
+msgstr ""
+
+#: ../lib/plugin/LinkSearch.php:98
+msgid "outgoing"
+msgstr ""
+
+#: ../lib/plugin/LinkSearch.php:99
+msgid "incoming"
+msgstr ""
+
+#: ../lib/plugin/LinkSearch.php:114
+msgid "Search in pages for links with the matching name."
+msgstr ""
+
+#: ../lib/plugin/LinkSearch.php:148 ../lib/plugin/SemanticSearch.php:305
+#, fuzzy
+msgid "Link"
+msgstr "Links"
+
+#: ../lib/plugin/LinkSearch.php:158
+#, php-format
+msgid "LinkSearch result for \"%s\" in pages \"%s\", direction %s"
+msgstr ""
+
 #: ../lib/plugin/ListPages.php:38
 msgid "ListPages"
 msgstr ""
@@ -2852,6 +3188,16 @@
 msgid "You must be logged in to view ratings."
 msgstr ""
 
+#: ../lib/plugin/ListRelations.php:34
+msgid "ListRelations"
+msgstr ""
+
+#: ../lib/plugin/ListRelations.php:37
+msgid ""
+"Display the list of all defined relations and optionnally attributes in this "
+"entrire wiki"
+msgstr ""
+
 #: ../lib/plugin/ListSubpages.php:34
 msgid "ListSubpages"
 msgstr ""
@@ -2879,12 +3225,12 @@
 msgid "Support moderated pages"
 msgstr ""
 
-#: ../lib/plugin/ModeratedPage.php:141 ../lib/plugin/ModeratedPage.php:165
-#: ../lib/plugin/ModeratedPage.php:210
+#: ../lib/plugin/ModeratedPage.php:153 ../lib/plugin/ModeratedPage.php:178
+#: ../lib/plugin/ModeratedPage.php:224
 msgid "ModeratedPage: No emails for the moderators defined"
 msgstr ""
 
-#: ../lib/plugin/ModeratedPage.php:147
+#: ../lib/plugin/ModeratedPage.php:159
 #, php-format
 msgid ""
 "ModeratedPage status update:\n"
@@ -2892,12 +3238,12 @@
 "  require_access: '%s'"
 msgstr ""
 
-#: ../lib/plugin/ModeratedPage.php:152
+#: ../lib/plugin/ModeratedPage.php:164
 #, php-format
 msgid "'%s' is no ModeratedPage anymore."
 msgstr ""
 
-#: ../lib/plugin/ModeratedPage.php:171
+#: ../lib/plugin/ModeratedPage.php:184
 #, php-format
 msgid ""
 "ModeratedPage status update: '%s' is now a ModeratedPage.\n"
@@ -2905,33 +3251,42 @@
 "  require_access: '%s'"
 msgstr ""
 
-#: ../lib/plugin/ModeratedPage.php:232
+#: ../lib/plugin/ModeratedPage.php:250
 #, php-format
 msgid "%s: action forwarded to moderator %s"
 msgstr ""
 
-#: ../lib/plugin/ModeratedPage.php:252
+#: ../lib/plugin/ModeratedPage.php:276
 msgid "ModeratedPage Notification Error: Couldn't send email"
 msgstr ""
 
-#: ../lib/plugin/ModeratedPage.php:287
+#: ../lib/plugin/ModeratedPage.php:355
+#, php-format
+msgid "%s approved your wiki action from %s"
+msgstr ""
+
+#: ../lib/plugin/ModeratedPage.php:367
 msgid "Please approve or reject this request:"
 msgstr ""
 
-#: ../lib/plugin/ModeratedPage.php:298
+#: ../lib/plugin/ModeratedPage.php:403
+msgid "Reason: "
+msgstr ""
+
+#: ../lib/plugin/ModeratedPage.php:404
 msgid "Approve"
 msgstr ""
 
-#: ../lib/plugin/ModeratedPage.php:300
+#: ../lib/plugin/ModeratedPage.php:406
 msgid "Reject"
 msgstr ""
 
-#: ../lib/plugin/ModeratedPage.php:325 ../lib/plugin/ModeratedPage.php:332
+#: ../lib/plugin/ModeratedPage.php:434 ../lib/plugin/ModeratedPage.php:441
 #, php-format
 msgid "<?plugin ModeratedPage ... ?> not found in first line of %s"
 msgstr ""
 
-#: ../lib/plugin/ModeratedPage.php:328
+#: ../lib/plugin/ModeratedPage.php:437
 #, php-format
 msgid "%s is not locked!"
 msgstr ""
@@ -2962,6 +3317,15 @@
 msgid "Visited pages on this wiki, ordered by popularity:"
 msgstr ""
 
+#: ../lib/plugin/NewPagesPerUser.php:19
+#, fuzzy
+msgid "NewPagesPerUser"
+msgstr "Nieuw pagina."
+
+#: ../lib/plugin/NewPagesPerUser.php:23
+msgid "List all new pages per month per user"
+msgstr ""
+
 #: ../lib/plugin/NoCache.php:39
 msgid "NoCache"
 msgstr ""
@@ -3005,67 +3369,68 @@
 msgid "Page %s not found."
 msgstr ""
 
-#: ../lib/plugin/PageDump.php:127
+#: ../lib/plugin/PageDump.php:128
 msgid "Download for CVS"
 msgstr ""
 
-#: ../lib/plugin/PageDump.php:132
+#: ../lib/plugin/PageDump.php:133
 msgid "Download for backup"
 msgstr ""
 
-#: ../lib/plugin/PageDump.php:138
+#: ../lib/plugin/PageDump.php:139
 msgid "Download all revisions for backup"
 msgstr ""
 
-#: ../lib/plugin/PageDump.php:141
+#: ../lib/plugin/PageDump.php:142
 #, php-format
 msgid "Preview: Page dump of %s"
 msgstr ""
 
-#: ../lib/plugin/PageDump.php:148
+#: ../lib/plugin/PageDump.php:149
 msgid ""
 "(formatted for PhpWiki developers as pgsrc template, not for backing up)"
 msgstr ""
 
-#: ../lib/plugin/PageDump.php:151 ../lib/plugin/PageDump.php:171
+#: ../lib/plugin/PageDump.php:152 ../lib/plugin/PageDump.php:172
 msgid "Preview as normal format"
 msgstr ""
 
-#: ../lib/plugin/PageDump.php:157 ../lib/plugin/PageDump.php:184
+#: ../lib/plugin/PageDump.php:158 ../lib/plugin/PageDump.php:185
 msgid "Preview as backup format"
 msgstr ""
 
-#: ../lib/plugin/PageDump.php:161
+#: ../lib/plugin/PageDump.php:162
 msgid "(formatted for backing up: all revisions)"
 msgstr ""
 
-#: ../lib/plugin/PageDump.php:165 ../lib/plugin/PageDump.php:178
+#: ../lib/plugin/PageDump.php:166 ../lib/plugin/PageDump.php:179
 msgid "Preview as developer format"
 msgstr ""
 
-#: ../lib/plugin/PageDump.php:174
+#: ../lib/plugin/PageDump.php:175
 msgid "(normal formatting: latest revision only)"
 msgstr ""
 
-#: ../lib/plugin/PageDump.php:188
+#: ../lib/plugin/PageDump.php:189
 msgid ""
 "Please use one of the downloadable versions rather than copying and pasting "
 "from the above preview."
 msgstr ""
 
-#: ../lib/plugin/PageDump.php:190
+#: ../lib/plugin/PageDump.php:191
 msgid ""
 "The wordwrap of the preview doesn't take nested markup or list indentation "
 "into consideration!"
 msgstr ""
 
-#: ../lib/plugin/PageDump.php:193
+#: ../lib/plugin/PageDump.php:194
 msgid ""
 "PhpWiki developers should manually inspect the downloaded file for nested "
 "markup before rewrapping with emacs and checking into CVS."
 msgstr ""
 
-#: ../lib/plugin/PageDump.php:201 ../lib/plugin/PasswordReset.php:128
+#: ../lib/plugin/PageDump.php:202 ../lib/plugin/PasswordReset.php:131
+#: ../lib/plugin/SemanticSearch.php:260
 msgid "Warning:"
 msgstr ""
 
@@ -3083,7 +3448,7 @@
 msgid "Contents"
 msgstr ""
 
-#: ../lib/plugin/PageGroup.php:91 ../lib/stdlib.php:1985
+#: ../lib/plugin/PageGroup.php:91 ../lib/stdlib.php:1992
 #, php-format
 msgid "<%s: no such section>"
 msgstr ""
@@ -3126,12 +3491,12 @@
 msgid "Check any two boxes then %s."
 msgstr ""
 
-#: ../lib/plugin/PageHistory.php:166 ../lib/plugin/PageHistory.php:229
+#: ../lib/plugin/PageHistory.php:166 ../lib/plugin/PageHistory.php:242
 #, php-format
 msgid "Version %d"
 msgstr "Versie %d"
 
-#: ../lib/plugin/PageHistory.php:177 ../themes/MacOSX/lib/RecentChanges.php:34
+#: ../lib/plugin/PageHistory.php:178 ../themes/MacOSX/lib/RecentChanges.php:34
 #: ../themes/MonoBook/templates/info.tmpl:19
 #: ../themes/MonoBook/templates/info.tmpl:23
 #: ../themes/Portland/lib/RecentChanges.php:14
@@ -3139,40 +3504,39 @@
 #: ../themes/Wordpress/lib/RecentChanges.php:14
 #: ../themes/default/templates/info.tmpl:17
 #: ../themes/default/templates/info.tmpl:21
-#: ../themes/shamino_com/templates/info.tmpl:19
-#: ../themes/shamino_com/templates/info.tmpl:23
 msgid "minor edit"
 msgstr ""
 
-#: ../lib/plugin/PageHistory.php:221
+#: ../lib/plugin/PageHistory.php:234
 msgid "History of changes."
 msgstr ""
 
-#: ../lib/plugin/PageHistory.php:247 ../lib/plugin/RecentChanges.php:65
+#: ../lib/plugin/PageHistory.php:260 ../lib/plugin/RecentChanges.php:67
 #: ../themes/Crao/templates/actionbar.tmpl:22
-#: ../themes/MonoBook/templates/actionbar.tmpl:46
+#: ../themes/MonoBook/templates/actionbar.tmpl:39
+#: ../themes/MonoBook/templates/actionbar.tmpl:66
 #: ../themes/MonoBook/templates/info.tmpl:167
-#: ../themes/Portland/templates/actionbar.tmpl:18
+#: ../themes/Portland/templates/actionbar.tmpl:14
 #: ../themes/Portland/templates/viewsource.tmpl:26
-#: ../themes/Wordpress/templates/actionbar.tmpl:69
-#: ../themes/Wordpress/templates/viewsource.tmpl:28
-#: ../themes/default/templates/actionbar.tmpl:29
+#: ../themes/Wordpress/templates/actionbar.tmpl:70
+#: ../themes/Wordpress/templates/viewsource.tmpl:30
+#: ../themes/default/templates/actionbar.tmpl:31
 #: ../themes/shamino_com/templates/actionbar.tmpl:20
-#: ../themes/shamino_com/templates/info.tmpl:166
-#: ../themes/smaller/templates/actionbar.tmpl:37
+#: ../themes/smaller/templates/actionbar.tmpl:39
 #: ../themes/smaller/templates/info.tmpl:6
 msgid "PageHistory"
 msgstr "PaginaGeschiedenis"
 
-#: ../lib/plugin/PageHistory.php:251
+#: ../lib/plugin/PageHistory.php:264
 #, php-format
 msgid "List PageHistory for %s"
 msgstr ""
 
 #: ../lib/plugin/PageInfo.php:32 ../themes/Crao/templates/actionbar.tmpl:24
-#: ../themes/Portland/templates/actionbar.tmpl:19
-#: ../themes/Wordpress/templates/actionbar.tmpl:71
-#: ../themes/default/templates/actionbar.tmpl:31
+#: ../themes/MonoBook/templates/actionbar.tmpl:64
+#: ../themes/Portland/templates/actionbar.tmpl:15
+#: ../themes/Wordpress/templates/actionbar.tmpl:72
+#: ../themes/default/templates/actionbar.tmpl:33
 #: ../themes/shamino_com/templates/actionbar.tmpl:5
 msgid "PageInfo"
 msgstr ""
@@ -3195,7 +3559,7 @@
 msgstr ""
 
 #: ../lib/plugin/PasswordReset.php:61 ../lib/plugin/PasswordReset.php:82
-#: ../lib/plugin/UserPreferences.php:104
+#: ../lib/plugin/UserPreferences.php:104 ../lib/plugin/WatchPage.php:150
 #: ../themes/default/templates/wikiforum.tmpl:22
 msgid "Message"
 msgstr ""
@@ -3206,7 +3570,7 @@
 msgstr ""
 
 #: ../lib/plugin/PasswordReset.php:64 ../lib/plugin/PasswordReset.php:85
-#: ../lib/plugin/PasswordReset.php:159
+#: ../lib/plugin/PasswordReset.php:163
 msgid "Error"
 msgstr ""
 
@@ -3225,89 +3589,68 @@
 msgid "Error sending email with password for user %s."
 msgstr ""
 
-#: ../lib/plugin/PasswordReset.php:94
+#: ../lib/plugin/PasswordReset.php:93
 msgid "Reset password of user: "
 msgstr ""
 
-#: ../lib/plugin/PasswordReset.php:104 ../lib/plugin/PasswordReset.php:142
+#: ../lib/plugin/PasswordReset.php:103 ../lib/plugin/PasswordReset.php:146
 msgid "Send email"
 msgstr ""
 
-#: ../lib/plugin/PasswordReset.php:129
+#: ../lib/plugin/PasswordReset.php:132
 msgid "You need to specify the userid!"
 msgstr ""
 
-#: ../lib/plugin/PasswordReset.php:150
+#: ../lib/plugin/PasswordReset.php:154
 msgid "Already logged in"
 msgstr ""
 
-#: ../lib/plugin/PasswordReset.php:151
+#: ../lib/plugin/PasswordReset.php:155
 msgid "Changing passwords is done at "
 msgstr ""
 
-#: ../lib/plugin/PasswordReset.php:151 ../lib/plugin/UserPreferences.php:38
-#: ../themes/Crao/templates/head.tmpl:85 ../themes/Crao/templates/head.tmpl:86
-#: ../themes/Crao/templates/navbar.tmpl:23
-#: ../themes/MonoBook/templates/navbar.tmpl:49
-#: ../themes/blog/templates/navbar.tmpl:17
-#: ../themes/default/templates/head.tmpl:92
-#: ../themes/default/templates/head.tmpl:93
-#: ../themes/default/templates/homepage.tmpl:11
-#: ../themes/default/templates/navbar.tmpl:40
-#: ../themes/shamino_com/templates/top.tmpl:28
-#: ../themes/smaller/templates/navbar.tmpl:22
-#: ../themes/wikilens/templates/head.tmpl:85
-#: ../themes/wikilens/templates/head.tmpl:86
-msgid "UserPreferences"
-msgstr "GebruikersVoorkeuren"
-
-#: ../lib/plugin/PasswordReset.php:160
+#: ../lib/plugin/PasswordReset.php:164
 #, php-format
 msgid "No email stored for user %s."
 msgstr ""
 
-#: ../lib/plugin/PasswordReset.php:162
+#: ../lib/plugin/PasswordReset.php:166
 msgid "You need to ask an Administrator to reset this password. See below: "
 msgstr ""
 
-#: ../lib/plugin/PasswordReset.php:174
+#: ../lib/plugin/PasswordReset.php:178
 #, php-format
 msgid "Do you really want to reset the password of user %s?"
 msgstr ""
 
-#: ../lib/plugin/PasswordReset.php:175
+#: ../lib/plugin/PasswordReset.php:179
 msgid "An email will be sent."
 msgstr ""
 
-#: ../lib/plugin/PhotoAlbum.php:94
+#: ../lib/plugin/PhotoAlbum.php:97 ../themes/blog/templates/actionbar.tmpl:12
 msgid "PhotoAlbum"
 msgstr ""
 
-#: ../lib/plugin/PhotoAlbum.php:98
+#: ../lib/plugin/PhotoAlbum.php:101
 msgid ""
 "Displays a set of photos listed in a text file with optional descriptions"
 msgstr ""
 
-#: ../lib/plugin/PhotoAlbum.php:476
-#, php-format
-msgid "Invalid argument: %s=%s"
-msgstr ""
-
-#: ../lib/plugin/PhotoAlbum.php:536 ../lib/plugin/PhotoAlbum.php:557
-#: ../lib/plugin/Transclude.php:85
+#: ../lib/plugin/PhotoAlbum.php:540 ../lib/plugin/PhotoAlbum.php:565
+#: ../lib/plugin/Transclude.php:94
 msgid "Bad url in src: remove all of <, >, \""
 msgstr ""
 
-#: ../lib/plugin/PhotoAlbum.php:554
+#: ../lib/plugin/PhotoAlbum.php:562
 msgid "File extension for csv file has to be '.csv'"
 msgstr ""
 
-#: ../lib/plugin/PhotoAlbum.php:605
+#: ../lib/plugin/PhotoAlbum.php:616
 #, php-format
 msgid "Unable to find src='%s'"
 msgstr ""
 
-#: ../lib/plugin/PhotoAlbum.php:617
+#: ../lib/plugin/PhotoAlbum.php:628
 #, php-format
 msgid "Unable to read src='%s'"
 msgstr ""
@@ -3371,7 +3714,8 @@
 msgid "shell commands not allowed in Ploticus"
 msgstr ""
 
-#: ../lib/plugin/Ploticus.php:249 ../lib/plugin/SyntaxHighlighter.php:180
+#: ../lib/plugin/Ploticus.php:270 ../lib/plugin/SpellCheck.php:123
+#: ../lib/plugin/SyntaxHighlighter.php:180
 msgid "empty source"
 msgstr ""
 
@@ -3404,6 +3748,11 @@
 msgid "%s does not appear to be a WikiPlugin."
 msgstr ""
 
+#: ../lib/plugin/PluginManager.php:135 ../lib/upgrade.php:222
+#: ../themes/MonoBook/templates/navbar.tmpl:20
+msgid "Help"
+msgstr ""
+
 #: ../lib/plugin/PopUp.php:49
 msgid "PopUp"
 msgstr ""
@@ -3435,6 +3784,40 @@
 msgid "%d most popular nearby: "
 msgstr ""
 
+#: ../lib/plugin/PopularTags.php:34
+#, fuzzy
+msgid "PopularTags"
+msgstr "Meestbezochte"
+
+#: ../lib/plugin/PopularTags.php:38
+msgid "List the most popular tags."
+msgstr ""
+
+#: ../lib/plugin/PopularTags.php:59 ../lib/plugin/_WikiTranslation.php:56
+msgid "CategoryCategory"
+msgstr ""
+
+#: ../lib/plugin/PopularTags.php:64 ../lib/plugin/Template.php:60
+msgid "Template"
+msgstr ""
+
+#: ../lib/plugin/PopularTags.php:78
+msgid "Category"
+msgstr ""
+
+#: ../lib/plugin/PopularTags.php:79
+msgid "Topic"
+msgstr ""
+
+#: ../lib/plugin/PreferenceApp.php:37
+#, fuzzy
+msgid "PreferenceApp"
+msgstr "GebruikersVoorkeuren"
+
+#: ../lib/plugin/PreferenceApp.php:41
+msgid "Analyzes preferences based on voting budget and ratings."
+msgstr ""
+
 #: ../lib/plugin/PrevNext.php:32
 msgid "PrevNext"
 msgstr ""
@@ -3453,7 +3836,7 @@
 msgstr ""
 
 #: ../lib/plugin/RandomPage.php:33 ../lib/plugin/RandomPage.php:82
-#: ../themes/MonoBook/templates/navbar.tmpl:15
+#: ../themes/MonoBook/templates/navbar.tmpl:19
 msgid "RandomPage"
 msgstr ""
 
@@ -3461,49 +3844,49 @@
 msgid "Displays a list of randomly chosen pages or redirects to a random page."
 msgstr ""
 
-#: ../lib/plugin/RateIt.php:90 ../lib/plugin/RateIt.php:139
-#: ../lib/plugin/RateIt.php:146 ../lib/plugin/RateIt.php:291
-#: ../lib/upgrade.php:387
+#: ../lib/plugin/RateIt.php:89 ../lib/plugin/RateIt.php:138
+#: ../lib/plugin/RateIt.php:145 ../lib/plugin/RateIt.php:290
+#: ../lib/upgrade.php:452
 msgid "RateIt"
 msgstr ""
 
-#: ../lib/plugin/RateIt.php:93
+#: ../lib/plugin/RateIt.php:92
 msgid "Rating system. Store user ratings per page"
 msgstr ""
 
-#: ../lib/plugin/RateIt.php:117
+#: ../lib/plugin/RateIt.php:116
 msgid "Your rating "
 msgstr ""
 
-#: ../lib/plugin/RateIt.php:258
+#: ../lib/plugin/RateIt.php:257
 #, php-format
 msgid "Rated by %d users | Average rating %.1f stars"
 msgstr ""
 
-#: ../lib/plugin/RateIt.php:263
+#: ../lib/plugin/RateIt.php:262
 #, php-format
 msgid "Your rating was %.1f"
 msgstr ""
 
-#: ../lib/plugin/RateIt.php:268
+#: ../lib/plugin/RateIt.php:267
 #, php-format
 msgid "%s prediction for you is %s stars"
 msgstr ""
 
-#: ../lib/plugin/RateIt.php:271
+#: ../lib/plugin/RateIt.php:270
 #, php-format
 msgid "%s prediction for you is %.1f stars"
 msgstr ""
 
-#: ../lib/plugin/RateIt.php:291
+#: ../lib/plugin/RateIt.php:290
 msgid "Rate It"
 msgstr ""
 
-#: ../lib/plugin/RateIt.php:358
+#: ../lib/plugin/RateIt.php:357
 msgid "Rate the topic of this page"
 msgstr ""
 
-#: ../lib/plugin/RateIt.php:370
+#: ../lib/plugin/RateIt.php:369
 msgid "Cancel rating"
 msgstr ""
 
@@ -3515,146 +3898,172 @@
 msgid "Raw HTML is disabled in this wiki."
 msgstr ""
 
-#: ../lib/plugin/RawHtml.php:83 ../lib/plugin/RedirectTo.php:82
-#, php-format
-msgid "%s is only allowed in locked pages."
-msgstr ""
-
 #: ../lib/plugin/RawHtml.php:84
 msgid "Raw HTML"
 msgstr ""
 
-#: ../lib/plugin/RdfDefinition.php:42
-msgid "RdfDefinition"
-msgstr ""
-
-#: ../lib/plugin/RdfDefinition.php:45
-msgid "Define the RDF vocabulary for a wiki subset."
+#: ../lib/plugin/RawHtml.php:83 ../lib/plugin/RedirectTo.php:82
+#, php-format
+msgid "%s is only allowed in locked pages."
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:105
+#: ../lib/plugin/RecentChanges.php:107
 #, fuzzy
 msgid "Deleted"
 msgstr "Verwijder pagina"
 
-#: ../lib/plugin/RecentChanges.php:128 ../themes/blog/themeinfo.php:119
-msgid "(diff)"
-msgstr "(diff)"
+#: ../lib/plugin/RecentChanges.php:130
+#: ../themes/SpaceWiki/lib/RecentChanges.php:55
+msgid "diff"
+msgstr "diff"
 
-#: ../lib/plugin/RecentChanges.php:135
-msgid "(hist)"
+#: ../lib/plugin/RecentChanges.php:143
+#, fuzzy
+msgid "hist"
+msgstr "Breedte"
+
+#: ../lib/plugin/RecentChanges.php:185
+msgid "contribs"
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:198
+#: ../lib/plugin/RecentChanges.php:192
+#, fuzzy
+msgid "new pages"
+msgstr "Nieuw pagina"
+
+#: ../lib/plugin/RecentChanges.php:240
 msgid "edits"
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:200
+#: ../lib/plugin/RecentChanges.php:242
 msgid "major edits"
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:202
+#: ../lib/plugin/RecentChanges.php:244
 msgid "minor edits"
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:203 ../lib/plugin/RecentChanges.php:279
+#: ../lib/plugin/RecentChanges.php:245 ../lib/plugin/RecentChanges.php:338
 #: ../lib/plugin/RecentComments.php:31
 msgid "Recent Comments"
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:204
+#: ../lib/plugin/RecentChanges.php:246
 msgid "comments"
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:229
+#: ../lib/plugin/RecentChanges.php:248
+#, fuzzy
+msgid "created new pages"
+msgstr "nieuw pagina"
+
+#: ../lib/plugin/RecentChanges.php:254
+#, php-format
+msgid " for pages changed by %s"
+msgstr ""
+
+#: ../lib/plugin/RecentChanges.php:260
+#, fuzzy, php-format
+msgid " for pages owned by %s"
+msgstr "van %s"
+
+#: ../lib/plugin/RecentChanges.php:285
 #, php-format
 msgid "The %d most recent %s during the past day are listed below."
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:232
+#: ../lib/plugin/RecentChanges.php:288
 #, php-format
 msgid "The %d most recent %s during the past %s days are listed below."
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:235
+#: ../lib/plugin/RecentChanges.php:291
 #, php-format
 msgid "The %d most recent %s are listed below."
 msgstr "De %d meest recent %s staan hieronder."
 
-#: ../lib/plugin/RecentChanges.php:241
+#: ../lib/plugin/RecentChanges.php:297
 #, php-format
 msgid "The %d oldest %s during the past day are listed below."
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:244
+#: ../lib/plugin/RecentChanges.php:300
 #, php-format
 msgid "The %d oldest %s during the past %s days are listed below."
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:247
+#: ../lib/plugin/RecentChanges.php:303
 #, php-format
 msgid "The %d oldest %s are listed below."
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:254
+#: ../lib/plugin/RecentChanges.php:310
 #, php-format
 msgid "The most recent %s during the past day are listed below."
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:257
+#: ../lib/plugin/RecentChanges.php:313
 #, php-format
 msgid "The most recent %s during the past %s days are listed below."
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:260
+#: ../lib/plugin/RecentChanges.php:316
 #, php-format
 msgid "All %s are listed below."
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:272 ../lib/plugin/RecentChanges.php:287
-#: ../lib/plugin/RecentChanges.php:390 ../lib/plugin/RecentChanges.php:467
+#: ../lib/plugin/RecentChanges.php:328 ../lib/plugin/RecentChanges.php:346
+#: ../lib/plugin/RecentChanges.php:523 ../lib/plugin/RecentChanges.php:600
 #: ../lib/plugin/RecentEdits.php:10 ../lib/plugin/RecentEdits.php:36
 #: ../lib/plugin/RelatedChanges.php:27
-#: ../themes/Portland/templates/editpage.tmpl:49
-#: ../themes/Wordpress/templates/editpage.tmpl:58
+#: ../themes/Portland/templates/editpage.tmpl:45
+#: ../themes/Wordpress/templates/editpage.tmpl:57
 msgid "RecentEdits"
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:280 ../lib/plugin/RecentComments.php:65
+#: ../lib/plugin/RecentChanges.php:339 ../lib/plugin/RecentComments.php:65
 msgid "No comments found"
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:282
+#: ../lib/plugin/RecentChanges.php:341
 msgid "No changes found"
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:592
+#: ../lib/plugin/RecentChanges.php:457
+msgid "UserContribs"
+msgstr ""
+
+#: ../lib/plugin/RecentChanges.php:725
 msgid "Title Search"
 msgstr "Titel Zoek"
 
-#: ../lib/plugin/RecentChanges.php:893
+#: ../lib/plugin/RecentChanges.php:1189
 msgid "Show minor edits for:"
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:895
+#: ../lib/plugin/RecentChanges.php:1191
 msgid "Show all changes for:"
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:897
+#: ../lib/plugin/RecentChanges.php:1193
 msgid "Show changes for:"
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:917
+#: ../lib/plugin/RecentChanges.php:1195
+msgid "All new pages since:"
+msgstr ""
+
+#: ../lib/plugin/RecentChanges.php:1215
 msgid "1 day"
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:921
+#: ../lib/plugin/RecentChanges.php:1219
 #, php-format
 msgid "%s days"
 msgstr ""
 
 #: ../lib/plugin/RecentComments.php:17
-#: ../themes/MonoBook/templates/navbar.tmpl:14
+#: ../themes/MonoBook/templates/navbar.tmpl:16
 msgid "RecentComments"
 msgstr ""
 
@@ -3705,7 +4114,7 @@
 msgstr ""
 
 #: ../lib/plugin/RelatedChanges.php:73 ../themes/Crao/templates/navbar.tmpl:15
-#: ../themes/MonoBook/templates/navbar.tmpl:43
+#: ../themes/MonoBook/templates/navbar.tmpl:54
 msgid "RelatedChanges"
 msgstr ""
 
@@ -3729,14 +4138,137 @@
 msgid "no RSS items"
 msgstr ""
 
-#: ../lib/plugin/SearchHighlight.php:37
+#: ../lib/plugin/SearchHighlight.php:39
 msgid "SearchHighlight"
 msgstr ""
 
-#: ../lib/plugin/SearchHighlight.php:41
+#: ../lib/plugin/SearchHighlight.php:43
 msgid "Hilight referred search terms."
 msgstr ""
 
+#: ../lib/plugin/SearchHighlight.php:73
+#, php-format
+msgid "%s: Found %s through %s"
+msgstr ""
+
+#: ../lib/plugin/SemanticRelations.php:35
+#, fuzzy
+msgid "SemanticRelations"
+msgstr "Zoek"
+
+#: ../lib/plugin/SemanticRelations.php:38
+msgid "Display the list of relations and attributes on this page."
+msgstr ""
+
+#: ../lib/plugin/SemanticRelations.php:80
+#: ../lib/plugin/SemanticRelations.php:97 ../lib/plugin/SemanticSearch.php:57
+#, fuzzy
+msgid "SemanticSearch"
+msgstr "Zoek"
+
+#: ../lib/plugin/SemanticRelations.php:86
+#, php-format
+msgid "Semantic relations for %s"
+msgstr ""
+
+#: ../lib/plugin/SemanticRelations.php:110
+#, php-format
+msgid "Attributes of %s"
+msgstr ""
+
+#: ../lib/plugin/SemanticRelations.php:119
+#: ../lib/plugin/SemanticRelations.php:120
+msgid "Help/SemanticRelations"
+msgstr ""
+
+#: ../lib/plugin/SemanticRelations.php:122
+msgid "Find out how to add relations and attributes to pages."
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:60
+msgid "Search relations and attributes"
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:106
+msgid "Filter by this relation. With autocompletion."
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:124
+msgid "Relations"
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:132 ../lib/plugin/SemanticSearch.php:208
+msgid "Add an AND query"
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:133 ../lib/plugin/SemanticSearch.php:209
+msgid "OR"
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:136 ../lib/plugin/SemanticSearch.php:212
+msgid "Add an OR query"
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:139
+msgid "Search in pages for a relation with that value (a pagename)."
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:174
+msgid "Filter by this attribute name. With autocompletion."
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:186
+msgid "Comparison operator. With autocompletion."
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:197
+msgid "Filter by this numeric attribute value. With autocompletion."
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:215
+msgid "Attributes"
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:216
+msgid "Search in pages for an attribute with that numeric value."
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:219
+msgid "Advanced..."
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:219
+#, fuzzy
+msgid "SemanticSearchAdvanced"
+msgstr "Zoek"
+
+#: ../lib/plugin/SemanticSearch.php:261
+msgid "No relations nor attributes in the whole wikidb defined!"
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:263
+msgid "Help:SemanticRelations"
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:311
+#, php-format
+msgid "Illegal operator: %s"
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:358
+#, php-format
+msgid "Only text operators can be used with strings: %s"
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:378
+msgid "Value"
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:393
+#, php-format
+msgid "Semantic %s Search Result for \"%s\" in pages \"%s\""
+msgstr ""
+
 #: ../lib/plugin/SiteMap.php:51
 msgid "SiteMap"
 msgstr ""
@@ -3750,6 +4282,26 @@
 msgid "(max. recursion level: %d)"
 msgstr ""
 
+#: ../lib/plugin/SpellCheck.php:68
+msgid "Spell Checker"
+msgstr ""
+
+#: ../lib/plugin/SpellCheck.php:71
+msgid "Check the spelling of a page and make suggestions"
+msgstr ""
+
+#: ../lib/plugin/SpellCheck.php:124
+msgid "SpellCheck"
+msgstr ""
+
+#: ../lib/plugin/SpellCheck.php:125
+msgid "Cannot SpellCheck myself"
+msgstr ""
+
+#: ../lib/plugin/SpellCheck.php:171
+msgid "SpellCheck result"
+msgstr ""
+
 #: ../lib/plugin/SqlResult.php:67
 msgid "SqlResult"
 msgstr ""
@@ -3767,6 +4319,86 @@
 msgid "No DSN for alias %s in SqlResult.ini found"
 msgstr ""
 
+#: ../lib/plugin/SyncWiki.php:46
+msgid "SyncWiki"
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:50
+msgid "Synchronize pages with external PhpWiki"
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:113
+msgid "Syncing this PhpWiki"
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:114
+msgid "Download all externally changed sources."
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:116
+#, php-format
+msgid "Retrieving from external url %s wiki.getRecentChanges(%s)..."
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:123 ../lib/plugin/WhoIsOnline.php:125
+msgid "<unknown>"
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:138 ../lib/plugin/SyncWiki.php:191
+#: ../lib/plugin/SyncWiki.php:226 ../lib/upgrade.php:92 ../lib/upgrade.php:96
+#: ../lib/upgrade.php:176 ../lib/upgrade.php:217 ../lib/upgrade.php:1120
+msgid " skipped"
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:160
+msgid "same date"
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:183
+msgid "Now upload all locally newer pages."
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:185
+#, php-format
+msgid "Checking all local pages newer than %s..."
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:212
+msgid "Now upload all locally newer uploads."
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:214
+#, php-format
+msgid "Checking all local uploads newer than %s..."
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:277
+#, php-format
+msgid "%s force"
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:281
+#, php-format
+msgid "Postponed %s for %s."
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:288 ../lib/plugin/SyncWiki.php:297
+#: ../lib/plugin/SyncWiki.php:312 ../lib/plugin/SyncWiki.php:321
+#: ../lib/plugin/SyncWiki.php:340
+msgid "skipped"
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:297 ../lib/plugin/SyncWiki.php:321
+msgid "same content"
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:304 ../lib/plugin/SyncWiki.php:330
+#: ../lib/plugin/SyncWiki.php:332 ../lib/plugin/SyncWiki.php:353
+#: ../lib/plugin/SyncWiki.php:355 ../lib/upgrade.php:214
+#: ../lib/upgrade.php:555 ../lib/upgrade.php:593 ../lib/upgrade.php:1111
+msgid "FAILED"
+msgstr ""
+
 #: ../lib/plugin/SyntaxHighlighter.php:68
 msgid "SyntaxHighlighter"
 msgstr ""
@@ -3999,27 +4631,19 @@
 msgid "Convert Tex mathematicals expressions to cached png files."
 msgstr ""
 
-#: ../lib/plugin/TeX2png.php:34
-msgid " This is for small text"
-msgstr ""
-
 #: ../lib/plugin/TeX2png.php:134
 msgid " (syntax error for latex) "
 msgstr ""
 
 #: ../lib/plugin/TeX2png.php:173
-msgid "TeX directory not writable."
+msgid "TeX imagepath not writable."
 msgstr ""
 
-#: ../lib/plugin/TeX2png.php:214 ../lib/plugin/text2png.php:67
+#: ../lib/plugin/TeX2png.php:214 ../lib/plugin/text2png.php:85
 msgid "Sorry, this version of PHP cannot create PNG image files."
 msgstr ""
 
-#: ../lib/plugin/Template.php:61
-msgid "Template"
-msgstr ""
-
-#: ../lib/plugin/Template.php:65
+#: ../lib/plugin/Template.php:64
 msgid "Parametrized page inclusion."
 msgstr ""
 
@@ -4031,7 +4655,7 @@
 msgid "Search the titles of all pages in this wiki."
 msgstr ""
 
-#: ../lib/plugin/TitleSearch.php:103
+#: ../lib/plugin/TitleSearch.php:104
 #, php-format
 msgid "Title search results for '%s'"
 msgstr "Titel zoek resultaten naar '%s'"
@@ -4044,16 +4668,16 @@
 msgid "Include an external web page within the body of a wiki page."
 msgstr ""
 
-#: ../lib/plugin/Transclude.php:88
+#: ../lib/plugin/Transclude.php:97
 msgid "Transcluded page"
 msgstr ""
 
-#: ../lib/plugin/Transclude.php:97
+#: ../lib/plugin/Transclude.php:106
 #, php-format
 msgid "See: %s"
 msgstr ""
 
-#: ../lib/plugin/Transclude.php:109
+#: ../lib/plugin/Transclude.php:118
 #, php-format
 msgid "Transcluded from %s"
 msgstr ""
@@ -4150,53 +4774,58 @@
 msgid "Upload files to the local InterWiki Upload:<filename>"
 msgstr ""
 
-#: ../lib/plugin/UpLoad.php:124
+#: ../lib/plugin/UpLoad.php:161
 msgid "ACCESS DENIED: You must log in to upload files."
 msgstr ""
 
-#: ../lib/plugin/UpLoad.php:138
+#: ../lib/plugin/UpLoad.php:185
 #, php-format
 msgid "ERROR uploading '%s': "
 msgstr ""
 
-#: ../lib/plugin/UpLoad.php:143
+#: ../lib/plugin/UpLoad.php:190
 #, php-format
 msgid "Files with extension %s are not allowed."
 msgstr ""
 
-#: ../lib/plugin/UpLoad.php:149
+#: ../lib/plugin/UpLoad.php:198
+#, php-format
+msgid "Only files with the extension %s are allowed."
+msgstr ""
+
+#: ../lib/plugin/UpLoad.php:204
 msgid ""
-"File names may only contain alphanumeric characters and dot, underscore or "
-"dash."
+"Invalid filename. File names may only contain alphanumeric characters and "
+"dot, underscore, space or dash."
 msgstr ""
 
-#: ../lib/plugin/UpLoad.php:154
+#: ../lib/plugin/UpLoad.php:209
 #, php-format
 msgid "There is already a file with name %s uploaded."
 msgstr ""
 
-#: ../lib/plugin/UpLoad.php:159
+#: ../lib/plugin/UpLoad.php:214
 msgid "Sorry but this file is too big."
 msgstr ""
 
-#: ../lib/plugin/UpLoad.php:167
+#: ../lib/plugin/UpLoad.php:222
 msgid "File successfully uploaded."
 msgstr ""
 
-#: ../lib/plugin/UpLoad.php:184
+#: ../lib/plugin/UpLoad.php:239
 #, php-format
 msgid "uploaded %s"
 msgstr ""
 
-#: ../lib/plugin/UpLoad.php:191
+#: ../lib/plugin/UpLoad.php:246
 msgid "Uploading failed."
 msgstr ""
 
-#: ../lib/plugin/UpLoad.php:209
+#: ../lib/plugin/UpLoad.php:264
 msgid "The upload logfile is not writable."
 msgstr ""
 
-#: ../lib/plugin/UpLoad.php:212
+#: ../lib/plugin/UpLoad.php:267
 msgid "Can't open the upload logfile."
 msgstr ""
 
@@ -4267,69 +4896,91 @@
 msgid "Here are your %d page ratings:"
 msgstr ""
 
-#: ../lib/plugin/UserRatings.php:220
+#: ../lib/plugin/UserRatings.php:222
 msgid "Pred"
 msgstr ""
 
-#: ../lib/plugin/UserRatings.php:224 ../lib/wikilens/PageListColumns.php:367
+#: ../lib/plugin/UserRatings.php:226 ../lib/wikilens/PageListColumns.php:367
 msgid "Rate"
 msgstr ""
 
-#: ../lib/plugin/VisualWiki.php:65
+#: ../lib/plugin/VisualWiki.php:66
 msgid ""
 "Visualizes the Wiki structure in a graph using the 'dot' commandline tool "
 "from graphviz."
 msgstr ""
 
-#: ../lib/plugin/VisualWiki.php:493
+#: ../lib/plugin/VisualWiki.php:497
 msgid "Legend"
 msgstr ""
 
-#: ../lib/plugin/WantedPages.php:39 ../lib/plugin/WantedPages.php:69
-#: ../lib/plugin/WantedPagesOld.php:33 ../lib/plugin/WantedPagesOld.php:66
+#: ../lib/plugin/WantedPages.php:39 ../lib/plugin/WantedPages.php:70
 msgid "WantedPages"
 msgstr ""
 
-#: ../lib/plugin/WantedPages.php:42 ../lib/plugin/WantedPagesOld.php:37
+#: ../lib/plugin/WantedPages.php:42
 msgid "Lists referenced page names which do not exist yet."
 msgstr ""
 
-#: ../lib/plugin/WantedPages.php:54 ../lib/plugin/WantedPagesOld.php:47
-#: ../lib/plugin/_WikiTranslation.php:84 ../lib/plugin/_WikiTranslation.php:98
+#: ../lib/plugin/WantedPages.php:55 ../lib/plugin/_WikiTranslation.php:84
+#: ../lib/plugin/_WikiTranslation.php:98
 msgid "PgsrcTranslation"
 msgstr ""
 
-#: ../lib/plugin/WantedPages.php:78
+#: ../lib/plugin/WantedPages.php:79
 msgid "Wanted From"
 msgstr ""
 
-#: ../lib/plugin/WantedPages.php:115
+#: ../lib/plugin/WantedPages.php:130
 #, php-format
 msgid "Wanted Pages for %s:"
 msgstr ""
 
-#: ../lib/plugin/WantedPages.php:117
+#: ../lib/plugin/WantedPages.php:132
 #, php-format
 msgid "Wanted Pages in this wiki:"
 msgstr ""
 
-#: ../lib/plugin/WantedPagesOld.php:100
-#: ../themes/default/templates/online.tmpl:38
-msgid "<none>"
+#: ../lib/plugin/WantedPages.php:174
+#, fuzzy, php-format
+msgid "(%d Links)"
+msgstr "Links"
+
+#: ../lib/plugin/WatchPage.php:35
+#, fuzzy
+msgid "WatchPage"
+msgstr "Breedte"
+
+#: ../lib/plugin/WatchPage.php:78
+msgid "Your current watchlist: "
+msgstr ""
+
+#: ../lib/plugin/WatchPage.php:79
+msgid "New watchlist: "
 msgstr ""
 
-#: ../lib/plugin/WantedPagesOld.php:115
+#: ../lib/plugin/WatchPage.php:82
 #, php-format
-msgid "Wanted Pages for %s (%d total):"
+msgid "Do you %s want to add this page \"%s\" to your WatchList?"
+msgstr ""
+
+#: ../lib/plugin/WatchPage.php:83
+msgid "really"
 msgstr ""
 
-#: ../lib/plugin/WantedPagesOld.php:149
+#: ../lib/plugin/WatchPage.php:88
 #, php-format
-msgid "Wanted Pages in this wiki (%d total):"
+msgid "The page %s is already watched!"
+msgstr ""
+
+#: ../lib/plugin/WatchPage.php:114
+msgid "ERROR: No email defined! You need to do this in your "
 msgstr ""
 
-#: ../lib/plugin/WantedPagesOld.php:151
-msgid "Count"
+#: ../lib/plugin/WatchPage.php:151
+msgid ""
+"E-Mail Notification for the current page successfully stored in your "
+"preferences."
 msgstr ""
 
 #: ../lib/plugin/WhoIsOnline.php:38 ../lib/plugin/WhoIsOnline.php:84
@@ -4353,10 +5004,6 @@
 msgid "Guest"
 msgstr ""
 
-#: ../lib/plugin/WhoIsOnline.php:125
-msgid "<unknown>"
-msgstr ""
-
 #: ../lib/plugin/WhoIsOnline.php:196
 #, php-format
 msgid "%d minutes"
@@ -4366,7 +5013,7 @@
 msgid "WikiAdminChmod"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminChmod.php:44 ../lib/plugin/WikiAdminSetAcl.php:43
+#: ../lib/plugin/WikiAdminChmod.php:44 ../lib/plugin/WikiAdminSetAcl.php:47
 msgid "Set individual page permissions."
 msgstr ""
 
@@ -4384,7 +5031,7 @@
 msgid "Invalid chmod string"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminChmod.php:90 ../lib/plugin/WikiAdminSetAcl.php:109
+#: ../lib/plugin/WikiAdminChmod.php:90 ../lib/plugin/WikiAdminSetAcl.php:113
 #, php-format
 msgid "%s pages have been changed."
 msgstr ""
@@ -4392,11 +5039,11 @@
 #: ../lib/plugin/WikiAdminChmod.php:93 ../lib/plugin/WikiAdminChown.php:89
 #: ../lib/plugin/WikiAdminMarkup.php:97
 #: ../lib/plugin/WikiAdminSearchReplace.php:113
-#: ../lib/plugin/WikiAdminSetAcl.php:112
+#: ../lib/plugin/WikiAdminSetAcl.php:116
 msgid "No pages changed."
 msgstr ""
 
-#: ../lib/plugin/WikiAdminChmod.php:140 ../lib/plugin/WikiAdminSetAcl.php:170
+#: ../lib/plugin/WikiAdminChmod.php:140 ../lib/plugin/WikiAdminSetAcl.php:174
 msgid "Permission"
 msgstr ""
 
@@ -4408,7 +5055,7 @@
 msgid "Chmod"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminChmod.php:155 ../lib/plugin/WikiAdminSetAcl.php:185
+#: ../lib/plugin/WikiAdminChmod.php:155 ../lib/plugin/WikiAdminSetAcl.php:189
 msgid "Select the pages to change:"
 msgstr ""
 
@@ -4424,11 +5071,11 @@
 msgid "(ugo : rwx)"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminChmod.php:189 ../lib/plugin/WikiAdminSetAcl.php:253
+#: ../lib/plugin/WikiAdminChmod.php:189 ../lib/plugin/WikiAdminSetAcl.php:257
 msgid "Propagate new permissions to all subpages?"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminChmod.php:191 ../lib/plugin/WikiAdminSetAcl.php:255
+#: ../lib/plugin/WikiAdminChmod.php:191 ../lib/plugin/WikiAdminSetAcl.php:259
 msgid "(disable individual page permissions, enable inheritance)?"
 msgstr ""
 
@@ -4443,7 +5090,7 @@
 #: ../lib/plugin/WikiAdminChown.php:69 ../lib/plugin/WikiAdminMarkup.php:70
 #: ../lib/plugin/WikiAdminRename.php:84
 #: ../lib/plugin/WikiAdminSearchReplace.php:98
-#: ../lib/plugin/WikiAdminSetAcl.php:100
+#: ../lib/plugin/WikiAdminSetAcl.php:104
 #, php-format
 msgid "Access denied to change page '%s'."
 msgstr ""
@@ -4559,7 +5206,7 @@
 msgstr ""
 
 #: ../lib/plugin/WikiAdminRemove.php:183 ../lib/plugin/WikiAdminRemove.php:232
-#: ../themes/blog/themeinfo.php:59
+#: ../themes/blog/themeinfo.php:67
 msgid "Remove"
 msgstr ""
 
@@ -4746,185 +5393,211 @@
 msgid "Select pages"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminSetAcl.php:39
+#: ../lib/plugin/WikiAdminSetAcl.php:43
 msgid "WikiAdminSetAcl"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminSetAcl.php:94
+#: ../lib/plugin/WikiAdminSetAcl.php:98
 #, php-format
 msgid "ACL not changed for page '%s'."
 msgstr ""
 
-#: ../lib/plugin/WikiAdminSetAcl.php:97
+#: ../lib/plugin/WikiAdminSetAcl.php:101
 #, php-format
 msgid "ACL changed for page '%s'."
 msgstr ""
 
-#: ../lib/plugin/WikiAdminSetAcl.php:104
+#: ../lib/plugin/WikiAdminSetAcl.php:108
 msgid "Invalid ACL"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminSetAcl.php:120 ../lib/plugin/_WikiTranslation.php:94
+#: ../lib/plugin/WikiAdminSetAcl.php:124 ../lib/plugin/_WikiTranslation.php:94
 msgid "PhpWikiAdministration/SetAcl"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminSetAcl.php:172 ../lib/plugin/WikiAdminSetAcl.php:228
+#: ../lib/plugin/WikiAdminSetAcl.php:176 ../lib/plugin/WikiAdminSetAcl.php:232
 msgid "ACL"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminSetAcl.php:180
+#: ../lib/plugin/WikiAdminSetAcl.php:184
 #, fuzzy
 msgid ""
 "Are you sure you want to permanently change access to the selected files?"
 msgstr "Verwijder pagina"
 
-#: ../lib/plugin/WikiAdminSetAcl.php:215
+#: ../lib/plugin/WikiAdminSetAcl.php:219
 msgid "Selected Pages: "
 msgstr ""
 
-#: ../lib/plugin/WikiAdminSetAcl.php:221
+#: ../lib/plugin/WikiAdminSetAcl.php:225
 #, php-format
 msgid "page permission inherited from %s"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminSetAcl.php:223
+#: ../lib/plugin/WikiAdminSetAcl.php:227
 msgid "invidual page permission"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminSetAcl.php:225
+#: ../lib/plugin/WikiAdminSetAcl.php:229
 msgid "default page permission"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminSetAcl.php:226
+#: ../lib/plugin/WikiAdminSetAcl.php:230
 msgid "Type"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminSetAcl.php:227
+#: ../lib/plugin/WikiAdminSetAcl.php:231
 msgid "getfacl"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminSetAcl.php:231
+#: ../lib/plugin/WikiAdminSetAcl.php:235
 msgid ""
 "Selected Grant checkboxes allow access, unselected checkboxes deny access."
 msgstr ""
 
-#: ../lib/plugin/WikiAdminSetAcl.php:232
+#: ../lib/plugin/WikiAdminSetAcl.php:236
 msgid "To ignore delete the line."
 msgstr ""
 
-#: ../lib/plugin/WikiAdminSetAcl.php:233
+#: ../lib/plugin/WikiAdminSetAcl.php:237
 msgid "To add check 'Add' near the dropdown list."
 msgstr ""
 
-#: ../lib/plugin/WikiAdminSetAcl.php:256
+#: ../lib/plugin/WikiAdminSetAcl.php:260
 msgid "(Currently not working)"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:36
+#: ../lib/plugin/WikiAdminUtils.php:38
 msgid "WikiAdminUtils"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:40
+#: ../lib/plugin/WikiAdminUtils.php:42
 msgid "Miscellaneous utility functions for the Administrator."
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:72
+#: ../lib/plugin/WikiAdminUtils.php:74
 msgid "You must be an administrator to use this plugin."
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:101
-msgid "WikiAdminUtils says:"
+#: ../lib/plugin/WikiAdminUtils.php:103
+#, php-format
+msgid "WikiAdminUtils %s returned:"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:103 ../lib/stdlib.php:1759
-msgid "Okay"
-msgstr ""
+#: ../lib/plugin/WikiAdminUtils.php:105
+#, fuzzy
+msgid "Back"
+msgstr "TerugLinks"
 
-#: ../lib/plugin/WikiAdminUtils.php:108
+#: ../lib/plugin/WikiAdminUtils.php:110
 msgid "Purge Markup Cache"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:109
+#: ../lib/plugin/WikiAdminUtils.php:111
 msgid "Purge all Pages With Invalid Names"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:110
+#: ../lib/plugin/WikiAdminUtils.php:112
 msgid "Purge all empty, unreferenced Pages"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:120
+#: ../lib/plugin/WikiAdminUtils.php:113
+msgid "Access Restrictions"
+msgstr ""
+
+#: ../lib/plugin/WikiAdminUtils.php:115
+msgid "Convert cached_html"
+msgstr ""
+
+#: ../lib/plugin/WikiAdminUtils.php:116
+msgid "DB Check"
+msgstr ""
+
+#: ../lib/plugin/WikiAdminUtils.php:117
+msgid "Db Rebuild"
+msgstr ""
+
+#: ../lib/plugin/WikiAdminUtils.php:128
 msgid "Markup cache purged!"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:140
+#: ../lib/plugin/WikiAdminUtils.php:148
 msgid "No pages with bad names had to be deleted."
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:142
+#: ../lib/plugin/WikiAdminUtils.php:150
 #, php-format
 msgid "Deleted %s pages with invalid names:"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:160
+#: ../lib/plugin/WikiAdminUtils.php:171
 msgid "[purged]"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:162
+#: ../lib/plugin/WikiAdminUtils.php:173
 msgid "[not purgable]"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:170
+#: ../lib/plugin/WikiAdminUtils.php:181
 msgid "No empty, unreferenced pages were found."
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:172
+#: ../lib/plugin/WikiAdminUtils.php:183
 #, php-format
 msgid "Deleted %s unreferenced pages:"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:175
+#: ../lib/plugin/WikiAdminUtils.php:186
 #, php-format
 msgid ""
 "The %d not-purgable pages/links are links in some page(s). You might want to "
 "edit them."
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:190
+#: ../lib/plugin/WikiAdminUtils.php:201
 msgid "No old _cached_html pagedata found."
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:192
+#: ../lib/plugin/WikiAdminUtils.php:203
 #, php-format
 msgid "Converted successfully %d pages"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:201
+#: ../lib/plugin/WikiAdminUtils.php:227
 msgid "Sorry. Access Restrictions not yet implemented"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:209
-#: ../themes/default/templates/userprefs.tmpl:124
+#: ../lib/plugin/WikiAdminUtils.php:235
+#: ../themes/default/templates/userprefs.tmpl:125
 msgid "E-Mail"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:211
+#: ../lib/plugin/WikiAdminUtils.php:237
 msgid "Verification Status"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:263
+#: ../lib/plugin/WikiAdminUtils.php:238
+msgid "Username"
+msgstr ""
+
+#: ../lib/plugin/WikiAdminUtils.php:293
 msgid "Change Verification Status"
 msgstr ""
 
-#: ../lib/plugin/WikiBlog.php:79
+#: ../lib/plugin/WikiBlog.php:87
+msgid "WikiBlog"
+msgstr ""
+
+#: ../lib/plugin/WikiBlog.php:91
 #, php-format
 msgid "Show and add blogs for %s"
 msgstr ""
 
-#: ../lib/plugin/WikiBlog.php:190
+#: ../lib/plugin/WikiBlog.php:219
 msgid "New comment."
 msgstr ""
 
-#: ../lib/plugin/WikiBlog.php:294
+#: ../lib/plugin/WikiBlog.php:330
 #, php-format
 msgid "%s on %s:"
 msgstr ""
@@ -4933,7 +5606,7 @@
 msgid "WikiForm"
 msgstr ""
 
-#: ../lib/plugin/WikiForm.php:76
+#: ../lib/plugin/WikiForm.php:76 ../themes/MonoBook/templates/signin.tmpl:16
 msgid "Login"
 msgstr ""
 
@@ -4950,11 +5623,11 @@
 msgid "WikiForm: %s: unknown action"
 msgstr ""
 
-#: ../lib/plugin/WikiFormRich.php:92
+#: ../lib/plugin/WikiFormRich.php:106
 msgid "Provide generic WikiForm input buttons"
 msgstr ""
 
-#: ../lib/plugin/WikiFormRich.php:181
+#: ../lib/plugin/WikiFormRich.php:195
 msgid "name"
 msgstr ""
 
@@ -4992,10 +5665,6 @@
 msgid "Missing %s for %s"
 msgstr ""
 
-#: ../lib/plugin/WikiPoll.php:224
-msgid "Ok"
-msgstr ""
-
 #: ../lib/plugin/WikiPoll.php:227
 msgid "Reset"
 msgstr ""
@@ -5013,6 +5682,26 @@
 msgid "Thanks for participating!"
 msgstr ""
 
+#: ../lib/plugin/YouTube.php:24
+msgid "YouTube"
+msgstr ""
+
+#: ../lib/plugin/YouTube.php:28
+msgid "Embed YouTube videos"
+msgstr ""
+
+#: ../lib/plugin/YouTube.php:54
+#, php-format
+msgid "Required argument %s missing"
+msgstr ""
+
+#: ../lib/plugin/YouTube.php:91 ../lib/plugin/YouTube.php:93
+#: ../lib/plugin/YouTube.php:95 ../lib/plugin/YouTube.php:97
+#: ../lib/plugin/YouTube.php:121 ../lib/plugin/YouTube.php:123
+#, php-format
+msgid "Invalid argument %s"
+msgstr ""
+
 #: ../lib/plugin/_AuthInfo.php:35
 msgid "AuthInfo"
 msgstr ""
@@ -5037,10 +5726,9 @@
 #: ../lib/plugin/_BackendInfo.php:30 ../lib/plugin/_WikiTranslation.php:60
 #: ../themes/Crao/templates/actionbar.tmpl:27
 #: ../themes/MonoBook/templates/info.tmpl:174
-#: ../themes/Portland/templates/actionbar.tmpl:21
-#: ../themes/Wordpress/templates/actionbar.tmpl:74
-#: ../themes/default/templates/actionbar.tmpl:34
-#: ../themes/shamino_com/templates/info.tmpl:174
+#: ../themes/Portland/templates/actionbar.tmpl:17
+#: ../themes/Wordpress/templates/actionbar.tmpl:75
+#: ../themes/default/templates/actionbar.tmpl:36
 #: ../themes/smaller/templates/info.tmpl:14
 msgid "DebugInfo"
 msgstr ""
@@ -5050,17 +5738,17 @@
 msgid "Get debugging information for %s."
 msgstr ""
 
-#: ../lib/plugin/_BackendInfo.php:54
+#: ../lib/plugin/_BackendInfo.php:58
 #, php-format
 msgid "Querying backend directly for '%s'"
 msgstr ""
 
-#: ../lib/plugin/_BackendInfo.php:64
+#: ../lib/plugin/_BackendInfo.php:67
 #, php-format
 msgid "No pagedata for %s"
 msgstr ""
 
-#: ../lib/plugin/_BackendInfo.php:97
+#: ../lib/plugin/_BackendInfo.php:124
 msgid "<not displayed>"
 msgstr ""
 
@@ -5083,6 +5771,20 @@
 msgid "Get preferences information for current user %s."
 msgstr ""
 
+#: ../lib/plugin/_Retransform.php:30
+msgid "Retransform CachedMarkup"
+msgstr ""
+
+#: ../lib/plugin/_Retransform.php:34
+#, php-format
+msgid "Show a markup retransformation of page %s."
+msgstr ""
+
+#: ../lib/plugin/_Retransform.php:53
+#, php-format
+msgid "Retransform page '%s'"
+msgstr ""
+
 #: ../lib/plugin/_WikiTranslation.php:47
 msgid "AddCommentPlugin"
 msgstr ""
@@ -5115,10 +5817,6 @@
 msgid "CalendarPlugin"
 msgstr ""
 
-#: ../lib/plugin/_WikiTranslation.php:56
-msgid "CategoryCategory"
-msgstr ""
-
 #: ../lib/plugin/_WikiTranslation.php:57
 msgid "CategoryHomePages"
 msgstr ""
@@ -5142,9 +5840,10 @@
 #: ../lib/plugin/_WikiTranslation.php:64 ../themes/Crao/templates/head.tmpl:36
 #: ../themes/Crao/templates/head.tmpl:37
 #: ../themes/Crao/templates/navbar.tmpl:40
-#: ../themes/MonoBook/templates/navbar.tmpl:25
-#: ../themes/Portland/templates/navbar.tmpl:8
-#: ../themes/Sidebar/templates/navbar.tmpl:24
+#: ../themes/MonoBook/templates/navbar.tmpl:29
+#: ../themes/MonoBook/templates/navbar.tmpl:35
+#: ../themes/Portland/templates/navbar.tmpl:5
+#: ../themes/Sidebar/templates/navbar.tmpl:14
 #: ../themes/default/templates/head.tmpl:42
 #: ../themes/default/templates/head.tmpl:43
 #: ../themes/default/templates/navbar.tmpl:20
@@ -5152,7 +5851,7 @@
 #: ../themes/smaller/templates/navbar.tmpl:8
 #: ../themes/wikilens/templates/head.tmpl:34
 #: ../themes/wikilens/templates/head.tmpl:35
-#: ../themes/wikilens/templates/navbar.tmpl:11
+#: ../themes/wikilens/templates/navbar.tmpl:19
 msgid "FindPage"
 msgstr "ZoekPagina"
 
@@ -5253,6 +5952,7 @@
 msgstr "PhpWikiBeheer/Vervangt"
 
 #: ../lib/plugin/_WikiTranslation.php:95
+#: ../themes/MonoBook/templates/navbar.tmpl:20
 msgid "PhpWikiDocumentation"
 msgstr "PhpWikiDocumentatie"
 
@@ -5333,6 +6033,7 @@
 msgstr ""
 
 #: ../lib/plugin/_WikiTranslation.php:118
+#: ../themes/MonoBook/templates/navbar.tmpl:60
 msgid "UpLoad"
 msgstr ""
 
@@ -5376,36 +6077,35 @@
 "service for %s to language %s"
 msgstr ""
 
-#: ../lib/plugin/_WikiTranslation.php:319
-#, php-format
-msgid "%s is empty"
-msgstr ""
-
 #: ../lib/plugin/_WikiTranslation.php:438
 #, php-format
 msgid "Define the translation for %s in %s"
 msgstr ""
 
-#: ../lib/plugin/text2png.php:46
+#: ../lib/plugin/text2png.php:57
 msgid "Convert text into a png image using GD."
 msgstr ""
 
-#: ../lib/plugin/text2png.php:118
+#: ../lib/plugin/text2png.php:169
 msgid ""
 "PHP was unable to create a new GD image stream. Read 'lib/plugin/text2png."
 "php' for details."
 msgstr ""
 
-#: ../lib/plugin/text2png.php:168
+#: ../lib/plugin/text2png.php:214
 #, php-format
 msgid "Image saved to cache file: %s"
 msgstr ""
 
-#: ../lib/plugin/text2png.php:172
+#: ../lib/plugin/text2png.php:218
 #, php-format
 msgid "Image loaded from cache file: %s"
 msgstr ""
 
+#: ../lib/plugin/text2png.php:226
+msgid " produced by "
+msgstr ""
+
 #: ../lib/removepage.php:18
 msgid "Already deleted"
 msgstr ""
@@ -5435,309 +6135,360 @@
 msgid "Back to the previous page."
 msgstr ""
 
-#: ../lib/stdlib.php:364 ../lib/stdlib.php:393
+#: ../lib/stdlib.php:366 ../lib/stdlib.php:395
 msgid "BAD URL -- remove all of <, >, \""
 msgstr ""
 
-#: ../lib/stdlib.php:433 ../lib/stdlib.php:450
+#: ../lib/stdlib.php:435 ../lib/stdlib.php:452
 msgid "Invalid image size"
 msgstr ""
 
-#: ../lib/stdlib.php:560
+#: ../lib/stdlib.php:562
 msgid "BAD phpwiki: URL"
 msgstr ""
 
-#: ../lib/stdlib.php:598
+#: ../lib/stdlib.php:600
 msgid "Lock page to enable link"
 msgstr ""
 
-#: ../lib/stdlib.php:725
+#: ../lib/stdlib.php:728
 #, php-format
 msgid "'%s': Bad page name: %s"
 msgstr ""
 
-#: ../lib/stdlib.php:755 ../lib/stdlib.php:780
+#: ../lib/stdlib.php:758 ../lib/stdlib.php:789
 #, php-format
 msgid "Leading %s not allowed"
 msgstr ""
 
-#: ../lib/stdlib.php:764
+#: ../lib/stdlib.php:773
 msgid "White space converted to single space"
 msgstr ""
 
-#: ../lib/stdlib.php:770
+#: ../lib/stdlib.php:779
 msgid "Control characters not allowed"
 msgstr ""
 
-#: ../lib/stdlib.php:791
+#: ../lib/stdlib.php:800
 msgid "too long"
 msgstr ""
 
-#: ../lib/stdlib.php:797
+#: ../lib/stdlib.php:809
 #, php-format
 msgid "Illegal chars %s removed"
 msgstr ""
 
-#: ../lib/stdlib.php:843
+#: ../lib/stdlib.php:855
 msgid "The CreateTocPlugin is not yet old markup compatible! "
 msgstr ""
 
-#: ../lib/stdlib.php:844
+#: ../lib/stdlib.php:856
 msgid ""
 "Please remove the CreateToc line to be able to reformat this page to old "
 "markup. "
 msgstr ""
 
-#: ../lib/stdlib.php:1105
+#: ../lib/stdlib.php:1118
 msgid "Revision Not Found"
 msgstr ""
 
-#: ../lib/stdlib.php:1106
+#: ../lib/stdlib.php:1119
 #, php-format
 msgid "I'm sorry.  Version %d of %s is not in the database."
 msgstr ""
 
-#: ../lib/stdlib.php:1109
+#: ../lib/stdlib.php:1122
 msgid "Bad Version"
 msgstr ""
 
-#: ../lib/stdlib.php:1245
+#: ../lib/stdlib.php:1258
 msgid "-???"
 msgstr ""
 
-#: ../lib/stdlib.php:1248
+#: ../lib/stdlib.php:1261
 #, php-format
 msgid "%s b"
 msgstr ""
 
-#: ../lib/stdlib.php:1250 ../themes/MonoBook/templates/info.tmpl:29
-#: ../themes/shamino_com/templates/info.tmpl:29
+#: ../lib/stdlib.php:1263 ../themes/MonoBook/templates/info.tmpl:29
 #, php-format
 msgid "%s bytes"
 msgstr ""
 
-#: ../lib/stdlib.php:1255
+#: ../lib/stdlib.php:1268
 #, php-format
 msgid "%s k"
 msgstr ""
 
-#: ../lib/stdlib.php:1257 ../themes/MonoBook/templates/info.tmpl:32
-#: ../themes/shamino_com/templates/info.tmpl:32
+#: ../lib/stdlib.php:1270 ../themes/MonoBook/templates/info.tmpl:32
 #, php-format
 msgid "%s Kb (%s bytes)"
 msgstr ""
 
-#: ../lib/stdlib.php:1353
+#: ../lib/stdlib.php:1366
 #, php-format
 msgid "%s: argument index out of range"
 msgstr ""
 
-#: ../lib/stdlib.php:1431 ../themes/Hawaiian/lib/random.php:20
+#: ../lib/stdlib.php:1444 ../themes/Hawaiian/lib/random.php:20
 #, php-format
 msgid "%s is empty."
 msgstr ""
 
-#: ../lib/stdlib.php:1438
+#: ../lib/stdlib.php:1451
 #, php-format
 msgid "Unable to open directory '%s' for reading"
 msgstr ""
 
-#: ../lib/stdlib.php:1942 ../lib/stdlib.php:1955
+#: ../lib/stdlib.php:1772
+msgid "Okay"
+msgstr ""
+
+#: ../lib/stdlib.php:1949 ../lib/stdlib.php:1962
 #, php-format
 msgid "... (first %s words)"
 msgstr ""
 
-#: ../lib/upgrade.php:76
-msgid "newer than the existing page."
-msgstr ""
+#: ../lib/upgrade.php:86
+msgid "newer than the existing page."
+msgstr ""
+
+#: ../lib/upgrade.php:87
+msgid " replace "
+msgstr ""
+
+#: ../lib/upgrade.php:91
+msgid "older than the existing page."
+msgstr ""
+
+#: ../lib/upgrade.php:99
+#, php-format
+msgid "%s does not exist"
+msgstr ""
+
+#: ../lib/upgrade.php:124 ../lib/upgrade.php:155 ../lib/upgrade.php:401
+#: ../lib/upgrade.php:913 ../lib/upgrade.php:1001
+#, php-format
+msgid "check for necessary %s updates"
+msgstr ""
+
+#: ../lib/upgrade.php:125 ../themes/MonoBook/templates/actionbar.tmpl:17
+#: ../themes/MonoBook/templates/actionbar.tmpl:30
+#, fuzzy
+msgid "ActionPage"
+msgstr "ZoekPagina"
+
+#: ../lib/upgrade.php:127
+#, fuzzy
+msgid "_AuthInfo"
+msgstr "Vorige Auteur"
 
-#: ../lib/upgrade.php:77
-msgid " replace "
+#: ../lib/upgrade.php:127
+msgid "DebugAuthInfo"
 msgstr ""
 
-#: ../lib/upgrade.php:81
-msgid "older than the existing page."
+#: ../lib/upgrade.php:130
+msgid "_GroupInfo"
 msgstr ""
 
-#: ../lib/upgrade.php:82 ../lib/upgrade.php:86 ../lib/upgrade.php:153
-msgid " skipped"
+#: ../lib/upgrade.php:130
+msgid "GroupAuthInfo"
 msgstr ""
 
-#: ../lib/upgrade.php:89
-#, php-format
-msgid "%s does not exist"
+#: ../lib/upgrade.php:158
+msgid "rename to Help: pages"
 msgstr ""
 
-#: ../lib/upgrade.php:112
-msgid "check for necessary ActionPage updates"
+#: ../lib/upgrade.php:175
+msgid "always skip the HomePage."
 msgstr ""
 
-#: ../lib/upgrade.php:136
-msgid "check for necessary pgsrc updates"
+#: ../lib/upgrade.php:196
+#, php-format
+msgid "check for additional theme %s updates"
 msgstr ""
 
-#: ../lib/upgrade.php:152
-msgid "always skip the HomePage."
+#: ../lib/upgrade.php:209
+#, php-format
+msgid "rename %s to %s"
 msgstr ""
 
-#: ../lib/upgrade.php:172
+#: ../lib/upgrade.php:236
 msgid "MISSING"
 msgstr ""
 
-#: ../lib/upgrade.php:208 ../lib/upgrade.php:227 ../lib/upgrade.php:246
-#: ../lib/upgrade.php:267 ../lib/upgrade.php:295 ../lib/upgrade.php:341
+#: ../lib/upgrade.php:272 ../lib/upgrade.php:291 ../lib/upgrade.php:312
+#: ../lib/upgrade.php:340 ../lib/upgrade.php:386
 msgid "CREATED"
 msgstr ""
 
-#: ../lib/upgrade.php:357
-msgid "check for necessary database updates"
+#: ../lib/upgrade.php:402
+msgid "database"
 msgstr ""
 
-#: ../lib/upgrade.php:362
+#: ../lib/upgrade.php:408
 msgid "CANCEL"
 msgstr ""
 
-#: ../lib/upgrade.php:368
+#: ../lib/upgrade.php:421
 msgid "Backend type: "
 msgstr ""
 
-#: ../lib/upgrade.php:371 ../lib/upgrade.php:380 ../lib/upgrade.php:389
+#: ../lib/upgrade.php:425 ../lib/upgrade.php:445 ../lib/upgrade.php:454
 #, php-format
 msgid "check for table %s"
 msgstr ""
 
-#: ../lib/upgrade.php:401
+#: ../lib/upgrade.php:469
 msgid "check for new session.sess_ip column"
 msgstr ""
 
-#: ../lib/upgrade.php:407 ../lib/upgrade.php:712
+#: ../lib/upgrade.php:475 ../lib/upgrade.php:692 ../lib/upgrade.php:837
 msgid "SKIP"
 msgstr ""
 
-#: ../lib/upgrade.php:410 ../lib/upgrade.php:517 ../lib/upgrade.php:717
+#: ../lib/upgrade.php:478 ../lib/upgrade.php:586 ../lib/upgrade.php:842
 msgid "ADDING"
 msgstr ""
 
-#: ../lib/upgrade.php:420
+#: ../lib/upgrade.php:488
 msgid "check for mysql session.sess_id sanity"
 msgstr ""
 
-#: ../lib/upgrade.php:434 ../lib/upgrade.php:439 ../lib/upgrade.php:476
-#: ../lib/upgrade.php:485
+#: ../lib/upgrade.php:502 ../lib/upgrade.php:507 ../lib/upgrade.php:544
+#: ../lib/upgrade.php:553
 msgid "fixed"
 msgstr ""
 
-#: ../lib/upgrade.php:453
+#: ../lib/upgrade.php:521
 msgid "check for mysql LOCK TABLE privilege"
 msgstr ""
 
-#: ../lib/upgrade.php:487 ../lib/upgrade.php:524 ../lib/upgrade.php:784
-#: ../lib/upgrade.php:809 ../lib/upgrade.php:818 ../lib/upgrade.php:825
-msgid "FAILED"
-msgstr ""
-
-#: ../lib/upgrade.php:499
+#: ../lib/upgrade.php:567
 #, fuzzy, php-format
 msgid "version <em>%s</em> not affected"
 msgstr "versie <em>%s</em>"
 
-#: ../lib/upgrade.php:507
+#: ../lib/upgrade.php:576
 msgid "check for mysql page.id auto_increment flag"
 msgstr ""
 
-#: ../lib/upgrade.php:544
+#: ../lib/upgrade.php:613
 msgid "check for mysql 4.1.x/5.0.0 binary search on windows problem"
 msgstr ""
 
-#: ../lib/upgrade.php:547 ../lib/upgrade.php:563 ../lib/upgrade.php:584
+#: ../lib/upgrade.php:616 ../lib/upgrade.php:632 ../lib/upgrade.php:653
 #, php-format
 msgid "version <em>%s</em>"
 msgstr "versie <em>%s</em>"
 
-#: ../lib/upgrade.php:548
+#: ../lib/upgrade.php:617
 msgid "not affected"
 msgstr ""
 
-#: ../lib/upgrade.php:564 ../lib/upgrade.php:585 ../lib/upgrade.php:606
-#: ../lib/upgrade.php:816
+#: ../lib/upgrade.php:633 ../lib/upgrade.php:654 ../lib/upgrade.php:682
+#: ../lib/upgrade.php:1103
 msgid "FIXED"
 msgstr ""
 
-#: ../lib/upgrade.php:595
+#: ../lib/upgrade.php:664
 msgid "check for ACCESS_LOG_SQL passwords in POST requests"
 msgstr ""
 
-#: ../lib/upgrade.php:661
+#: ../lib/upgrade.php:687
+msgid "check for ACCESS_LOG_SQL remote_host varchar(50)"
+msgstr ""
+
+#: ../lib/upgrade.php:695
+msgid "FIXING"
+msgstr ""
+
+#: ../lib/upgrade.php:698
+msgid "FAIL"
+msgstr ""
+
+#: ../lib/upgrade.php:787
 msgid ""
 "Upgrade requires database privileges to CREATE and ALTER the phpwiki "
 "database."
 msgstr ""
 
-#: ../lib/upgrade.php:663
+#: ../lib/upgrade.php:789
 msgid ""
 "And on windows at least the privilege to SELECT FROM mysql, and possibly "
 "UPDATE mysql"
 msgstr ""
 
-#: ../lib/upgrade.php:668
+#: ../lib/upgrade.php:794
 msgid "DB admin user:"
 msgstr ""
 
-#: ../lib/upgrade.php:674
+#: ../lib/upgrade.php:800
 msgid "DB admin password:"
 msgstr ""
 
-#: ../lib/upgrade.php:707
+#: ../lib/upgrade.php:832
 msgid "check for extra page.cached_html column"
 msgstr ""
 
-#: ../lib/upgrade.php:724
+#: ../lib/upgrade.php:849 ../lib/upgrade.php:897
 msgid "CONVERTING"
 msgstr ""
 
-#: ../lib/upgrade.php:766
-msgid "check for necessary plugin argument updates"
+#: ../lib/upgrade.php:895
+msgid "Rebuild entire database to upgrade relation links"
 msgstr ""
 
-#: ../lib/upgrade.php:767
-msgid "change RandomPage pages => numpages"
+#: ../lib/upgrade.php:914
+msgid "plugin argument"
 msgstr ""
 
-#: ../lib/upgrade.php:819
+#: ../lib/upgrade.php:958
 #, php-format
-msgid "couldn't move %s to %s"
+msgid "file %s not found"
 msgstr ""
 
-#: ../lib/upgrade.php:826
+#: ../lib/upgrade.php:985
+#, fuzzy, php-format
+msgid "%s not found in %s"
+msgstr "%d keer gevonden in %d pagina's."
+
+#: ../lib/upgrade.php:992
 #, php-format
-msgid "%s is not writable"
+msgid "couldn't move %s to %s"
 msgstr ""
 
-#: ../lib/upgrade.php:832
-msgid "check for necessary config updates"
+#: ../lib/upgrade.php:996
+#, php-format
+msgid "file %s is not writable"
 msgstr ""
 
-#: ../lib/upgrade.php:833
-msgid "check for old CACHE_CONTROL = NONE"
+#: ../lib/upgrade.php:1006 ../lib/upgrade.php:1016 ../lib/upgrade.php:1026
+#, php-format
+msgid "check for %s"
 msgstr ""
 
-#: ../lib/upgrade.php:836
+#: ../lib/upgrade.php:1008
 msgid "CACHE_CONTROL is set to 'NONE', and must be changed to 'NO_CACHE'"
 msgstr ""
 
-#: ../lib/upgrade.php:843
-msgid "check for GROUP_METHOD = NONE"
+#: ../lib/upgrade.php:1018
+msgid "GROUP_METHOD is set to NONE, and must be changed to \"NONE\""
+msgstr ""
+
+#: ../lib/upgrade.php:1028
+msgid "fix BLOG_EMPTY_DEFAULT_PREFIX into BLOG_DEFAULT_EMPTY_PREFIX"
 msgstr ""
 
-#: ../lib/upgrade.php:846
-msgid "GROUP_METHOD is set to NONE, and must be changed to \"NONE\""
+#: ../lib/upgrade.php:1128
+msgid "fixed with"
 msgstr ""
 
-#: ../lib/upgrade.php:883
+#: ../lib/upgrade.php:1254
 msgid "Upgrade disabled: user != isAdmin"
 msgstr ""
 
-#: ../lib/upgrade.php:887
+#: ../lib/upgrade.php:1259
 msgid "Upgrading this PhpWiki"
 msgstr ""
 
@@ -5770,48 +6521,46 @@
 msgid "Members:"
 msgstr ""
 
-#: ../lib/ziplib.php:199
+#: ../lib/ziplib.php:206
 msgid "Can't inflate data: zlib support not enabled in this PHP"
 msgstr ""
 
-#: ../lib/ziplib.php:395
+#: ../lib/ziplib.php:402
 #, php-format
 msgid "Can't open zip file '%s' for reading"
 msgstr ""
 
-#: ../lib/ziplib.php:405 ../lib/ziplib.php:409
+#: ../lib/ziplib.php:412 ../lib/ziplib.php:416
 msgid "Unexpected EOF in zip file"
 msgstr ""
 
-#: ../lib/ziplib.php:730
+#: ../lib/ziplib.php:738
 #, php-format
 msgid "[%d] See [%s]"
 msgstr "[%d] Zie [%s]"
 
-#: ../lib/ziplib.php:737
+#: ../lib/ziplib.php:745
 msgid "References"
 msgstr "Referenties"
 
 #: ../themes/Crao/templates/actionbar.tmpl:5
-#: ../themes/MonoBook/templates/actionbar.tmpl:11
-#: ../themes/Portland/templates/actionbar.tmpl:8
-#: ../themes/default/templates/actionbar.tmpl:15
+#: ../themes/MonoBook/templates/actionbar.tmpl:34
+#: ../themes/Portland/templates/actionbar.tmpl:6
+#: ../themes/default/templates/actionbar.tmpl:16
 #: ../themes/shamino_com/templates/actionbar.tmpl:6
-#: ../themes/shamino_com/templates/info.tmpl:164
 #: ../themes/smaller/templates/actionbar.tmpl:18
 msgid "Edit Old Revision"
 msgstr ""
 
 #: ../themes/Crao/templates/actionbar.tmpl:7
 #: ../themes/Crao/templates/head.tmpl:47
-#: ../themes/MonoBook/templates/actionbar.tmpl:13
+#: ../themes/MonoBook/templates/actionbar.tmpl:37
 #: ../themes/MonoBook/templates/info.tmpl:166
-#: ../themes/Portland/templates/actionbar.tmpl:10
+#: ../themes/Portland/templates/actionbar.tmpl:8
 #: ../themes/Wordpress/templates/actionbar.tmpl:10
-#: ../themes/blog/templates/actionbar.tmpl:7
-#: ../themes/default/templates/actionbar.tmpl:17
+#: ../themes/blog/templates/actionbar.tmpl:21
+#: ../themes/default/templates/actionbar.tmpl:18
 #: ../themes/default/templates/head.tmpl:53
-#: ../themes/shamino_com/templates/info.tmpl:165
 #: ../themes/smaller/templates/actionbar.tmpl:20
 #: ../themes/smaller/templates/info.tmpl:5
 #: ../themes/wikilens/templates/head.tmpl:45
@@ -5819,19 +6568,17 @@
 msgstr "Bron Tekst"
 
 #: ../themes/Crao/templates/actionbar.tmpl:30
-#: ../themes/MonoBook/templates/actionbar.tmpl:52
+#: ../themes/MonoBook/templates/actionbar.tmpl:72
 #: ../themes/MonoBook/templates/info.tmpl:177
-#: ../themes/default/templates/actionbar.tmpl:39
-#: ../themes/shamino_com/templates/info.tmpl:177
+#: ../themes/default/templates/actionbar.tmpl:41
 #: ../themes/smaller/templates/info.tmpl:17
 msgid "PurgeHtmlCache"
 msgstr ""
 
 #: ../themes/Crao/templates/actionbar.tmpl:31
-#: ../themes/MonoBook/templates/actionbar.tmpl:53
+#: ../themes/MonoBook/templates/actionbar.tmpl:73
 #: ../themes/MonoBook/templates/info.tmpl:178
-#: ../themes/default/templates/actionbar.tmpl:40
-#: ../themes/shamino_com/templates/info.tmpl:178
+#: ../themes/default/templates/actionbar.tmpl:42
 #: ../themes/smaller/templates/info.tmpl:18
 msgid ""
 "Purge HTML cache for this page. Regenerate from WikiMarkup when next "
@@ -5839,58 +6586,65 @@
 msgstr ""
 
 #: ../themes/Crao/templates/blogform.tmpl:10
-#: ../themes/blog/templates/blogform.tmpl:11
-#: ../themes/default/templates/blogform.tmpl:11
 msgid "Add a Comment"
 msgstr ""
 
 #: ../themes/Crao/templates/blogform.tmpl:18
-#: ../themes/blog/templates/blogform.tmpl:28
 #: ../themes/default/templates/addcomment.tmpl:14
-#: ../themes/default/templates/blogform.tmpl:28
 msgid "Add Comment"
 msgstr ""
 
 #: ../themes/Crao/templates/browse.tmpl:5
+#: ../themes/MonoBook/templates/browse.tmpl:6
 #: ../themes/Portland/templates/browse.tmpl:9
 #: ../themes/Portland/templates/viewsource.tmpl:5
 #: ../themes/Wordpress/templates/browse.tmpl:9
-#: ../themes/Wordpress/templates/viewsource.tmpl:7
+#: ../themes/Wordpress/templates/viewsource.tmpl:9
 #: ../themes/blog/templates/browse.tmpl:6
+#: ../themes/blog/templates/viewsource.tmpl:6
 #: ../themes/default/templates/browse.tmpl:6
 #: ../themes/default/templates/viewsource.tmpl:5
 msgid "Note:"
 msgstr ""
 
 #: ../themes/Crao/templates/browse.tmpl:6
+#: ../themes/MonoBook/templates/browse.tmpl:7
 #: ../themes/Portland/templates/browse.tmpl:10
 #: ../themes/Portland/templates/viewsource.tmpl:10
 #: ../themes/Wordpress/templates/browse.tmpl:10
-#: ../themes/Wordpress/templates/viewsource.tmpl:12
+#: ../themes/Wordpress/templates/viewsource.tmpl:14
 #: ../themes/blog/templates/browse.tmpl:7
+#: ../themes/blog/templates/viewsource.tmpl:11
 #: ../themes/default/templates/browse.tmpl:7
 #: ../themes/default/templates/viewsource.tmpl:10
 msgid "You are viewing an old revision of this page."
 msgstr ""
 
 #: ../themes/Crao/templates/browse.tmpl:7
+#: ../themes/MonoBook/templates/browse.tmpl:8
 #: ../themes/Portland/templates/browse.tmpl:11
 #: ../themes/Portland/templates/viewsource.tmpl:11
 #: ../themes/Wordpress/templates/browse.tmpl:11
-#: ../themes/Wordpress/templates/viewsource.tmpl:13
+#: ../themes/Wordpress/templates/viewsource.tmpl:15
 #: ../themes/blog/templates/browse.tmpl:8
+#: ../themes/blog/templates/viewsource.tmpl:12
 #: ../themes/default/templates/browse.tmpl:8
 #: ../themes/default/templates/viewsource.tmpl:11
 msgid "View the current version"
 msgstr ""
 
 #: ../themes/Crao/templates/editpage.tmpl:4
-#: ../themes/Portland/templates/editpage.tmpl:61
-#: ../themes/Wordpress/templates/editpage.tmpl:63
+#: ../themes/Portland/templates/editpage.tmpl:57
+#: ../themes/Wordpress/templates/editpage.tmpl:67
 #: ../themes/default/templates/editpage.tmpl:4
 msgid "Preview only!  Changes not saved."
 msgstr ""
 
+#: ../themes/Crao/templates/editpage.tmpl:9
+#: ../themes/default/templates/editpage.tmpl:9
+msgid "edit area"
+msgstr ""
+
 #: ../themes/Crao/templates/editpage.tmpl:8
 #: ../themes/default/templates/editpage.tmpl:8
 #, php-format
@@ -5898,11 +6652,6 @@
 "Please continue editing.  (You'll find your %s at the bottom of the page.)"
 msgstr ""
 
-#: ../themes/Crao/templates/editpage.tmpl:9
-#: ../themes/default/templates/editpage.tmpl:9
-msgid "edit area"
-msgstr ""
-
 #: ../themes/Crao/templates/editpage.tmpl:18
 #: ../themes/Portland/templates/editpage.tmpl:25
 #: ../themes/Wordpress/templates/editpage.tmpl:23
@@ -5918,21 +6667,21 @@
 msgstr ""
 
 #: ../themes/Crao/templates/editpage.tmpl:38
-#: ../themes/Portland/templates/editpage.tmpl:52
+#: ../themes/Portland/templates/editpage.tmpl:48
 #: ../themes/Wordpress/templates/editpage.tmpl:39
 #: ../themes/default/templates/editpage.tmpl:40
 msgid "H"
 msgstr "H"
 
 #: ../themes/Crao/templates/editpage.tmpl:39
-#: ../themes/Portland/templates/editpage.tmpl:53
+#: ../themes/Portland/templates/editpage.tmpl:49
 #: ../themes/Wordpress/templates/editpage.tmpl:40
 #: ../themes/default/templates/editpage.tmpl:41
 msgid "W"
 msgstr "B"
 
 #: ../themes/Crao/templates/editpage.tmpl:40
-#: ../themes/Portland/templates/editpage.tmpl:54
+#: ../themes/Portland/templates/editpage.tmpl:50
 #: ../themes/Wordpress/templates/editpage.tmpl:41
 #: ../themes/default/templates/editpage.tmpl:42
 msgid "Adjust"
@@ -5948,58 +6697,69 @@
 msgstr ""
 
 #: ../themes/Crao/templates/editpage.tmpl:59
-#: ../themes/Portland/templates/editpage.tmpl:56
-#: ../themes/Wordpress/templates/editpage.tmpl:44
+#: ../themes/Portland/templates/editpage.tmpl:52
+#: ../themes/Wordpress/templates/editpage.tmpl:59
 #: ../themes/default/templates/editpage.tmpl:60
 msgid "Use old markup"
 msgstr ""
 
 #: ../themes/Crao/templates/editpage.tmpl:92
 #: ../themes/Crao/templates/editpage.tmpl:97
-#: ../themes/Portland/templates/editpage.tmpl:84
-#: ../themes/Portland/templates/editpage.tmpl:89
-#: ../themes/Wordpress/templates/editpage.tmpl:86
-#: ../themes/Wordpress/templates/editpage.tmpl:91
+#: ../themes/Portland/templates/editpage.tmpl:80
+#: ../themes/Portland/templates/editpage.tmpl:85
+#: ../themes/Wordpress/templates/editpage.tmpl:90
+#: ../themes/Wordpress/templates/editpage.tmpl:95
+#: ../themes/blog/templates/blogform.tmpl:24
+#: ../themes/default/templates/blogform.tmpl:24
+#: ../themes/default/templates/editpage.tmpl:108
 #: ../themes/default/templates/editpage.tmpl:113
-#: ../themes/default/templates/editpage.tmpl:118
-#, php-format
-msgid "See %s tips for editing."
-msgstr "%s tips for veranderen."
+#, fuzzy
+msgid "Help/GoodStyle"
+msgstr "GoedeStijl"
 
 #: ../themes/Crao/templates/editpage.tmpl:92
 #: ../themes/Crao/templates/editpage.tmpl:97
-#: ../themes/Portland/templates/editpage.tmpl:84
-#: ../themes/Portland/templates/editpage.tmpl:89
-#: ../themes/Wordpress/templates/editpage.tmpl:86
-#: ../themes/Wordpress/templates/editpage.tmpl:91
+#: ../themes/Portland/templates/editpage.tmpl:80
+#: ../themes/Portland/templates/editpage.tmpl:85
+#: ../themes/Wordpress/templates/editpage.tmpl:90
+#: ../themes/Wordpress/templates/editpage.tmpl:95
+#: ../themes/blog/templates/blogform.tmpl:24
+#: ../themes/default/templates/blogform.tmpl:24
+#: ../themes/default/templates/editpage.tmpl:108
 #: ../themes/default/templates/editpage.tmpl:113
-#: ../themes/default/templates/editpage.tmpl:118
-msgid "GoodStyle"
-msgstr "GoedeStijl"
+#, php-format
+msgid "See %s tips for editing."
+msgstr "%s tips for veranderen."
 
 #: ../themes/Crao/templates/editpage.tmpl:93
-#: ../themes/Portland/templates/editpage.tmpl:85
-#: ../themes/Wordpress/templates/editpage.tmpl:87
-#: ../themes/default/templates/editpage.tmpl:114
-msgid "OldTextFormattingRules"
+#: ../themes/Portland/templates/editpage.tmpl:81
+#: ../themes/Wordpress/templates/editpage.tmpl:91
+#: ../themes/default/templates/editpage.tmpl:109
+#, fuzzy
+msgid "Help/OldTextFormattingRules"
 msgstr "OudTekstFormatteringsRegels"
 
 #: ../themes/Crao/templates/editpage.tmpl:93
 #: ../themes/Crao/templates/editpage.tmpl:98
-#: ../themes/Portland/templates/editpage.tmpl:85
-#: ../themes/Portland/templates/editpage.tmpl:90
-#: ../themes/Wordpress/templates/editpage.tmpl:87
-#: ../themes/Wordpress/templates/editpage.tmpl:92
+#: ../themes/Portland/templates/editpage.tmpl:81
+#: ../themes/Portland/templates/editpage.tmpl:86
+#: ../themes/Wordpress/templates/editpage.tmpl:91
+#: ../themes/Wordpress/templates/editpage.tmpl:96
+#: ../themes/blog/templates/blogform.tmpl:25
+#: ../themes/default/templates/blogform.tmpl:25
+#: ../themes/default/templates/editpage.tmpl:109
 #: ../themes/default/templates/editpage.tmpl:114
-#: ../themes/default/templates/editpage.tmpl:119
 msgid "Synopsis"
 msgstr ""
 
 #: ../themes/Crao/templates/editpage.tmpl:98
-#: ../themes/Portland/templates/editpage.tmpl:90
-#: ../themes/Wordpress/templates/editpage.tmpl:92
-#: ../themes/default/templates/editpage.tmpl:119
-msgid "TextFormattingRules"
+#: ../themes/Portland/templates/editpage.tmpl:86
+#: ../themes/Wordpress/templates/editpage.tmpl:96
+#: ../themes/blog/templates/blogform.tmpl:25
+#: ../themes/default/templates/blogform.tmpl:25
+#: ../themes/default/templates/editpage.tmpl:114
+#, fuzzy
+msgid "Help/TextFormattingRules"
 msgstr "TekstFormatteringsRegels"
 
 #: ../themes/Crao/templates/head.tmpl:31 ../themes/Crao/templates/head.tmpl:32
@@ -6013,36 +6773,35 @@
 msgstr ""
 
 #: ../themes/Crao/templates/navbar.tmpl:34
-#: ../themes/Wordpress/templates/actionbar.tmpl:37
+#: ../themes/Wordpress/templates/actionbar.tmpl:38
 #: ../themes/default/templates/navbar.tmpl:51
-#: ../themes/wikilens/templates/navbar.tmpl:40
+#: ../themes/wikilens/templates/navbar.tmpl:30
 msgid "Today"
 msgstr ""
 
 #: ../themes/Crao/templates/navbar.tmpl:37
-#: ../themes/Sidebar/templates/navbar.tmpl:38
+#: ../themes/Sidebar/templates/navbar.tmpl:28
 #: ../themes/blog/templates/navbar.tmpl:14
 #: ../themes/default/templates/navbar.tmpl:55
-#: ../themes/wikilens/templates/navbar.tmpl:43
+#: ../themes/wikilens/templates/navbar.tmpl:32
 msgid "Admin"
 msgstr ""
 
 #: ../themes/Crao/templates/navbar.tmpl:46
 #: ../themes/blog/templates/search.tmpl:11
-#: ../themes/default/templates/search.tmpl:16
-#: ../themes/default/templates/search.tmpl:23
+#: ../themes/default/templates/search.tmpl:20
+#: ../themes/default/templates/search.tmpl:25
 msgid "LiveSearch"
 msgstr "LiveZoek"
 
-#: ../themes/Crao/templates/signin.tmpl:18
+#: ../themes/Crao/templates/signin.tmpl:17
 #, php-format
 msgid "You are signed in as %s"
 msgstr ""
 
-#: ../themes/Crao/templates/signin.tmpl:39
-#: ../themes/MonoBook/templates/signin.tmpl:38
-#: ../themes/Sidebar/templates/signin.tmpl:38
-#: ../themes/Wordpress/templates/signin.tmpl:42
+#: ../themes/Crao/templates/signin.tmpl:38
+#: ../themes/Sidebar/templates/signin.tmpl:37
+#: ../themes/Wordpress/templates/signin.tmpl:41
 #: ../themes/default/templates/signin.tmpl:34
 #: ../themes/smaller/templates/signin.tmpl:37
 msgid "Enter your UserId to sign in"
@@ -6050,8 +6809,6 @@
 
 #: ../themes/Crao/templates/wikiblog.tmpl:19
 #: ../themes/blog/templates/wikiblog.tmpl:20
-#: ../themes/default/templates/comment.tmpl:18
-#: ../themes/default/templates/wikiblog.tmpl:19
 #, php-format
 msgid "Comment modified on %s by %s"
 msgstr ""
@@ -6059,43 +6816,35 @@
 #: ../themes/Crao/templates/wikiblog.tmpl:25
 #: ../themes/blog/templates/wikiblog.tmpl:25
 #: ../themes/default/templates/comment.tmpl:24
-#: ../themes/default/templates/wikiblog.tmpl:24
 #, php-format
 msgid "Comments on %s by %s."
 msgstr ""
 
-#: ../themes/Hawaiian/themeinfo.php:29 ../themes/MacOSX/themeinfo.php:104
-#: ../themes/MonoBook/themeinfo.php:72 ../themes/Portland/themeinfo.php:59
-#: ../themes/Sidebar/themeinfo.php:122 ../themes/SpaceWiki/themeinfo.php:43
-#: ../themes/Wordpress/themeinfo.php:61 ../themes/default/themeinfo.php:24
-#: ../themes/shamino_com/themeinfo.php:56 ../themes/smaller/themeinfo.php:51
-#: ../themes/wikilens/themeinfo.php:24
-msgid "Printer"
-msgstr "Drukker"
-
-#: ../themes/Hawaiian/themeinfo.php:30 ../themes/MonoBook/themeinfo.php:74
-#: ../themes/Portland/themeinfo.php:60 ../themes/Sidebar/themeinfo.php:123
-#: ../themes/SpaceWiki/themeinfo.php:44 ../themes/Wordpress/themeinfo.php:62
-#: ../themes/default/themeinfo.php:26 ../themes/shamino_com/themeinfo.php:58
-#: ../themes/smaller/themeinfo.php:53 ../themes/wikilens/themeinfo.php:26
-msgid "Modern"
+#: ../themes/MonoBook/templates/actionbar.tmpl:17
+#: ../themes/MonoBook/templates/actionbar.tmpl:30
+#: ../themes/Sidebar/templates/navbar.tmpl:21
+#: ../themes/default/templates/navbar.tmpl:15
+#: ../themes/wikilens/templates/navbar.tmpl:13
+msgid "Article"
 msgstr ""
 
-#: ../themes/MacOSX/themeinfo.php:105 ../themes/MonoBook/themeinfo.php:73
-#: ../themes/default/themeinfo.php:25 ../themes/shamino_com/themeinfo.php:57
-#: ../themes/smaller/themeinfo.php:52 ../themes/wikilens/themeinfo.php:25
-msgid "Top & bottom toolbars"
+#: ../themes/MonoBook/templates/actionbar.tmpl:24
+msgid "TemplateTalk"
 msgstr ""
 
-#: ../themes/MonoBook/templates/actionbar.tmpl:27
-#: ../themes/Sidebar/templates/navbar.tmpl:31
-#: ../themes/default/templates/navbar.tmpl:15
-msgid "Article"
-msgstr ""
+#: ../themes/MonoBook/templates/actionbar.tmpl:39
+#, fuzzy
+msgid "History"
+msgstr "PaginaGeschiedenis"
 
 #: ../themes/MonoBook/templates/actionbar.tmpl:42
-#: ../themes/blog/templates/actionbar.tmpl:21
-#: ../themes/smaller/templates/actionbar.tmpl:34
+#, fuzzy
+msgid "Watch"
+msgstr "Breedte"
+
+#: ../themes/MonoBook/templates/actionbar.tmpl:65
+#: ../themes/blog/templates/actionbar.tmpl:15
+#: ../themes/smaller/templates/actionbar.tmpl:36
 msgid "Info"
 msgstr ""
 
@@ -6106,7 +6855,7 @@
 
 #: ../themes/MonoBook/templates/browse-footer.tmpl:16
 #: ../themes/MonoBook/templates/browse-footer.tmpl:17
-#: ../themes/blog/templates/actionbar.tmpl:16
+#: ../themes/blog/templates/actionbar.tmpl:10
 msgid "About"
 msgstr ""
 
@@ -6117,180 +6866,173 @@
 
 #: ../themes/MonoBook/templates/info.tmpl:37
 #: ../themes/default/templates/info.tmpl:30
-#: ../themes/shamino_com/templates/info.tmpl:37
 msgid "1 word"
 msgstr ""
 
 #: ../themes/MonoBook/templates/info.tmpl:39
 #: ../themes/default/templates/info.tmpl:32
-#: ../themes/shamino_com/templates/info.tmpl:39
 #, php-format
 msgid "%s words"
 msgstr ""
 
 #: ../themes/MonoBook/templates/info.tmpl:43
 #: ../themes/default/templates/info.tmpl:36
-#: ../themes/shamino_com/templates/info.tmpl:43
 #, php-format
 msgid "Version %s"
 msgstr ""
 
 #: ../themes/MonoBook/templates/info.tmpl:44
 #: ../themes/default/templates/info.tmpl:37
-#: ../themes/shamino_com/templates/info.tmpl:44
 msgid "Original (1.2 or 1.0)"
 msgstr ""
 
 #: ../themes/MonoBook/templates/info.tmpl:76
-#: ../themes/default/templates/info.tmpl:69
-#: ../themes/shamino_com/templates/info.tmpl:75
+#: ../themes/default/templates/info.tmpl:68
 msgid "Saved on:"
 msgstr ""
 
 #: ../themes/MonoBook/templates/info.tmpl:81
-#: ../themes/default/templates/info.tmpl:74
-#: ../themes/shamino_com/templates/info.tmpl:80
+#: ../themes/default/templates/info.tmpl:73
 #, php-format
 msgid "Statistics about %s."
 msgstr ""
 
 #: ../themes/MonoBook/templates/info.tmpl:91
-#: ../themes/default/templates/info.tmpl:85
-#: ../themes/shamino_com/templates/info.tmpl:91
+#: ../themes/default/templates/info.tmpl:84
 msgid "Supplanted on:"
 msgstr ""
 
 #: ../themes/MonoBook/templates/info.tmpl:108
-#: ../themes/default/templates/info.tmpl:103
-#: ../themes/shamino_com/templates/info.tmpl:108
+#: ../themes/default/templates/info.tmpl:102
 msgid "Page Version:"
 msgstr ""
 
 #: ../themes/MonoBook/templates/info.tmpl:112
-#: ../themes/default/templates/info.tmpl:107
-#: ../themes/shamino_com/templates/info.tmpl:112
+#: ../themes/default/templates/info.tmpl:106
 msgid "Markup:"
 msgstr ""
 
 #: ../themes/MonoBook/templates/info.tmpl:116
-#: ../themes/default/templates/info.tmpl:111
-#: ../themes/shamino_com/templates/info.tmpl:116
+#: ../themes/default/templates/info.tmpl:110
 msgid "Size:"
 msgstr ""
 
 #: ../themes/MonoBook/templates/info.tmpl:121
-#: ../themes/default/templates/info.tmpl:116
-#: ../themes/shamino_com/templates/info.tmpl:121
+#: ../themes/default/templates/info.tmpl:115
 msgid "Hits:"
 msgstr "Teller:"
 
 #: ../themes/MonoBook/templates/info.tmpl:138
-#: ../themes/default/templates/info.tmpl:133
-#: ../themes/shamino_com/templates/info.tmpl:138
+#: ../themes/default/templates/info.tmpl:132
 msgid "home page"
 msgstr ""
 
 #: ../themes/MonoBook/templates/info.tmpl:141
-#: ../themes/default/templates/info.tmpl:136
-#: ../themes/shamino_com/templates/info.tmpl:141
+#: ../themes/default/templates/info.tmpl:135
 msgid "User page"
 msgstr ""
 
 #: ../themes/MonoBook/templates/info.tmpl:144
-#: ../themes/default/templates/info.tmpl:139
-#: ../themes/shamino_com/templates/info.tmpl:144
+#: ../themes/default/templates/info.tmpl:138
 msgid "Action page"
 msgstr ""
 
 #: ../themes/MonoBook/templates/info.tmpl:147
-#: ../themes/default/templates/info.tmpl:142
-#: ../themes/shamino_com/templates/info.tmpl:147
+#: ../themes/default/templates/info.tmpl:141
 msgid "Blog page"
 msgstr ""
 
 #: ../themes/MonoBook/templates/info.tmpl:153
-#: ../themes/default/templates/info.tmpl:148
-#: ../themes/shamino_com/templates/info.tmpl:153
+#: ../themes/default/templates/info.tmpl:147
 msgid "Subpage"
 msgstr ""
 
 #: ../themes/MonoBook/templates/info.tmpl:158
-#: ../themes/default/templates/info.tmpl:153
-#: ../themes/shamino_com/templates/info.tmpl:158
+#: ../themes/default/templates/info.tmpl:152
 msgid "Page Type:"
 msgstr ""
 
 #: ../themes/MonoBook/templates/info.tmpl:170
 #: ../themes/blog/templates/info.tmpl:5
-#: ../themes/shamino_com/templates/info.tmpl:170
 #: ../themes/smaller/templates/info.tmpl:9
 msgid "Diff previous Revision"
 msgstr ""
 
 #: ../themes/MonoBook/templates/info.tmpl:171
 #: ../themes/blog/templates/info.tmpl:6
-#: ../themes/shamino_com/templates/info.tmpl:171
 #: ../themes/smaller/templates/info.tmpl:10
 msgid "Diff previous Author"
 msgstr ""
 
-#: ../themes/MonoBook/templates/navbar.tmpl:28
-#: ../themes/MonoBook/templates/navbar.tmpl:29
-#: ../themes/Sidebar/templates/navbar.tmpl:16
-#: ../themes/Sidebar/templates/navbar.tmpl:17
+#: ../themes/MonoBook/templates/navbar.tmpl:15
+#, fuzzy
+msgid "The list of recent changes in the wiki."
+msgstr "De %d meestbezochte pagina's van deze Wiki:"
+
+#: ../themes/MonoBook/templates/navbar.tmpl:17
+#, fuzzy
+msgid "RecentNewPages"
+msgstr "RecenteVeranderingen"
+
+#: ../themes/MonoBook/templates/navbar.tmpl:18
+msgid "Like Pages"
+msgstr ""
+
+#: ../themes/MonoBook/templates/navbar.tmpl:35
+#, fuzzy
+msgid "Search:"
+msgstr "Zoek"
+
+#: ../themes/MonoBook/templates/navbar.tmpl:38
+#: ../themes/MonoBook/templates/navbar.tmpl:39
 #: ../themes/default/templates/navbar.tmpl:28
 #: ../themes/default/templates/navbar.tmpl:30
-#: ../themes/default/templates/search.tmpl:13
+#: ../themes/default/templates/search.tmpl:17
 #: ../themes/shamino_com/templates/top.tmpl:24
 #: ../themes/shamino_com/templates/top.tmpl:25
 #: ../themes/smaller/templates/navbar.tmpl:11
 #: ../themes/smaller/templates/navbar.tmpl:12
-#: ../themes/wikilens/templates/navbar.tmpl:19
-#: ../themes/wikilens/templates/navbar.tmpl:21
 msgid "Quick Search"
 msgstr ""
 
-#: ../themes/MonoBook/templates/navbar.tmpl:39
-msgid "Like Pages"
-msgstr ""
-
-#: ../themes/MonoBook/templates/navbar.tmpl:40
+#: ../themes/MonoBook/templates/navbar.tmpl:51
 msgid "What links here"
 msgstr ""
 
-#: ../themes/MonoBook/templates/signin.tmpl:18
-#: ../themes/Wordpress/templates/signin.tmpl:21
-#: ../themes/default/templates/signin.tmpl:25
-#: ../themes/shamino_com/templates/signin.tmpl:25
-#, php-format
-msgid "Authenticated as %s"
-msgstr ""
+#: ../themes/MonoBook/templates/navbar.tmpl:57
+#, fuzzy
+msgid "Administration"
+msgstr "PhpWikiBeheer"
 
-#: ../themes/MonoBook/templates/signin.tmpl:41
-#, php-format
-msgid "Signed as %s"
-msgstr ""
+#: ../themes/MonoBook/templates/navbar.tmpl:60
+#, fuzzy
+msgid "Upload file"
+msgstr "plat bestand %s"
 
-#: ../themes/MonoBook/templates/signin.tmpl:44
-#: ../themes/Sidebar/templates/signin.tmpl:44
-#: ../themes/Wordpress/templates/signin.tmpl:48
-#: ../themes/default/templates/signin.tmpl:40
-#, php-format
-msgid "Click to authenticate as %s"
+#: ../themes/MonoBook/templates/navbar.tmpl:60
+#, fuzzy
+msgid "Upload images or media files"
+msgstr "plat bestand %s"
+
+#: ../themes/MonoBook/templates/navbar.tmpl:64
+#: ../themes/MonoBook/templates/navbar.tmpl:69
+#, fuzzy
+msgid "Printable version"
+msgstr "huidige versie"
+
+#: ../themes/MonoBook/templates/navbar.tmpl:74
+msgid "Display as Pdf"
 msgstr ""
 
-#: ../themes/MonoBook/templates/signin.tmpl:65
-#: ../themes/Sidebar/templates/signin.tmpl:64
-#: ../themes/Wordpress/templates/signin.tmpl:68
-#: ../themes/default/templates/signin.tmpl:59
-msgid "Sign in as:"
+#: ../themes/MonoBook/templates/signin.tmpl:10
+msgid "Logout"
 msgstr ""
 
-#: ../themes/Portland/templates/actionbar.tmpl:8
+#: ../themes/Portland/templates/actionbar.tmpl:6
 msgid "EditText"
 msgstr "VeranderTekst"
 
-#: ../themes/Portland/templates/actionbar.tmpl:11
+#: ../themes/Portland/templates/actionbar.tmpl:9
 #, php-format
 msgid "%s of this page"
 msgstr ""
@@ -6303,20 +7045,21 @@
 msgid "Page Execution took %s seconds"
 msgstr ""
 
-#: ../themes/Portland/templates/editpage.tmpl:48
-#: ../themes/Wordpress/templates/editpage.tmpl:57
+#: ../themes/Portland/templates/editpage.tmpl:44
+#: ../themes/Wordpress/templates/editpage.tmpl:56
 #, php-format
 msgid ""
 "I'm just doing minor edits. Please divert the usual logging to %s instead."
 msgstr ""
 
-#: ../themes/Portland/templates/editpage.tmpl:52
-#: ../themes/default/templates/userprefs.tmpl:195
+#: ../themes/Portland/templates/editpage.tmpl:48
+#: ../themes/default/templates/userprefs.tmpl:196
 msgid "Edit Area Size"
 msgstr ""
 
 #: ../themes/Portland/templates/viewsource.tmpl:6
-#: ../themes/Wordpress/templates/viewsource.tmpl:8
+#: ../themes/Wordpress/templates/viewsource.tmpl:10
+#: ../themes/blog/templates/viewsource.tmpl:7
 #: ../themes/default/templates/viewsource.tmpl:6
 msgid "This page has been locked by the administrator and cannot be edited."
 msgstr ""
@@ -6327,27 +7070,36 @@
 msgid "Navigation"
 msgstr ""
 
-#: ../themes/Sidebar/templates/navbar.tmpl:24
+#: ../themes/Sidebar/templates/navbar.tmpl:14
 msgid "Full Search"
 msgstr ""
 
-#: ../themes/Sidebar/templates/signin.tmpl:18
+#: ../themes/Sidebar/templates/signin.tmpl:17
 #, php-format
 msgid "User: %s"
 msgstr ""
 
-#: ../themes/Sidebar/templates/signin.tmpl:41
+#: ../themes/Sidebar/templates/signin.tmpl:40
 #, php-format
 msgid "(User: %s)"
 msgstr ""
 
-#: ../themes/Sidebar/themeinfo.php:119
-msgid "Sidebar"
+#: ../themes/Sidebar/templates/signin.tmpl:43
+#: ../themes/Wordpress/templates/signin.tmpl:47
+#: ../themes/default/templates/signin.tmpl:40
+#, php-format
+msgid "Click to authenticate as %s"
 msgstr ""
 
-#: ../themes/SpaceWiki/lib/RecentChanges.php:55
-msgid "diff"
-msgstr "diff"
+#: ../themes/Sidebar/templates/signin.tmpl:63
+#: ../themes/Wordpress/templates/signin.tmpl:67
+#: ../themes/default/templates/signin.tmpl:59
+msgid "Sign in as:"
+msgstr ""
+
+#: ../themes/Sidebar/themeinfo.php:37
+msgid "Sidebar"
+msgstr ""
 
 #: ../themes/Wordpress/templates/actionbar.tmpl:8
 msgid "Edit this page"
@@ -6357,62 +7109,85 @@
 msgid "Edit old revision"
 msgstr ""
 
-#: ../themes/Wordpress/templates/signin.tmpl:45
+#: ../themes/Wordpress/templates/signin.tmpl:20
+#: ../themes/default/templates/signin.tmpl:25
+#: ../themes/shamino_com/templates/signin.tmpl:24
+#, php-format
+msgid "Authenticated as %s"
+msgstr ""
+
+#: ../themes/Wordpress/templates/signin.tmpl:44
 #: ../themes/default/templates/signin.tmpl:37
 #, php-format
 msgid "You are signed but not authenticated as %s. "
 msgstr ""
 
-#: ../themes/blog/templates/actionbar.tmpl:15
+#: ../themes/blog/templates/actionbar.tmpl:9
 msgid "Home"
 msgstr "Thuis"
 
-#: ../themes/blog/templates/actionbar.tmpl:18
-msgid "Photos"
+#: ../themes/blog/templates/actionbar.tmpl:13
+msgid "HowTo"
 msgstr ""
 
-#: ../themes/blog/templates/actionbar.tmpl:19
-msgid "HowTo"
+#: ../themes/blog/templates/blogform.tmpl:10
+#: ../themes/default/templates/blogform.tmpl:10
+msgid "Headline"
 msgstr ""
 
-#: ../themes/blog/templates/actionbar.tmpl:32
-msgid "Page Trail"
+#: ../themes/blog/templates/blogform.tmpl:18
+#: ../themes/default/templates/blogform.tmpl:18
+msgid "Add Entry"
 msgstr ""
 
-#: ../themes/blog/templates/sidebar.tmpl:7
+#: ../themes/blog/templates/sidebar.tmpl:8
 #: ../themes/blog/templates/sidebar.tmpl:12
-#: ../themes/blog/templates/sidebar.tmpl:14
-msgid "Blogs"
+msgid "Blog"
+msgstr ""
+
+#: ../themes/blog/templates/top.tmpl:16
+msgid "Page Trail"
 msgstr ""
 
-#: ../themes/blog/themeinfo.php:55
+#: ../themes/blog/themeinfo.php:63
 msgid "SignOut"
 msgstr ""
 
-#: ../themes/blog/themeinfo.php:56
+#: ../themes/blog/themeinfo.php:64
 msgid "SignIn"
 msgstr ""
 
-#: ../themes/blog/themeinfo.php:57
+#: ../themes/blog/themeinfo.php:65
 #, fuzzy
 msgid "Lock"
 msgstr "Lst"
 
-#: ../themes/blog/themeinfo.php:58
+#: ../themes/blog/themeinfo.php:66
 #, fuzzy
 msgid "Unlock"
 msgstr "Sluit Pagina Af"
 
-#: ../themes/blog/themeinfo.php:117
+#: ../themes/blog/themeinfo.php:122
 msgid "blog"
 msgstr ""
 
+#: ../themes/blog/themeinfo.php:124
+msgid "(diff)"
+msgstr "(diff)"
+
+#: ../themes/default/templates/comment.tmpl:18
+#: ../themes/default/templates/wikiblog.tmpl:18
+#, fuzzy, php-format
+msgid "Modified on %s by %s"
+msgstr "Verander von: %s"
+
 #: ../themes/default/templates/comment.tmpl:28
 #, php-format
 msgid "%s by %s"
 msgstr ""
 
-#: ../themes/default/templates/debug.tmpl:21
+#: ../themes/default/templates/debug.tmpl:20
+#: ../themes/shamino_com/templates/debug.tmpl:11
 #, php-format
 msgid ", Memory: %s"
 msgstr ""
@@ -6528,6 +7303,10 @@
 msgid "Registered Users Online: "
 msgstr ""
 
+#: ../themes/default/templates/online.tmpl:38
+msgid "<none>"
+msgstr ""
+
 #: ../themes/default/templates/online.tmpl:43
 msgid "Admin is also online."
 msgstr ""
@@ -6593,213 +7372,214 @@
 msgid "Your careful attention to detail is much appreciated."
 msgstr "Je zorgvuldige aandacht voor detail wordt erg gewaardeerd."
 
-#: ../themes/default/templates/savepage.tmpl:10
-msgid "Warning!"
-msgstr ""
-
-#: ../themes/default/templates/userprefs.tmpl:62
-#: ../themes/default/templates/userprefs.tmpl:64
+#: ../themes/default/templates/userprefs.tmpl:63
+#: ../themes/default/templates/userprefs.tmpl:65
 msgid "<system theme>"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:73
-#: ../themes/default/templates/userprefs.tmpl:99
+#: ../themes/default/templates/userprefs.tmpl:74
+#: ../themes/default/templates/userprefs.tmpl:100
 msgid "Personal theme:"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:79
-#: ../themes/default/templates/userprefs.tmpl:81
+#: ../themes/default/templates/userprefs.tmpl:80
+#: ../themes/default/templates/userprefs.tmpl:82
 msgid "<system language>"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:90
-#: ../themes/default/templates/userprefs.tmpl:100
+#: ../themes/default/templates/userprefs.tmpl:91
+#: ../themes/default/templates/userprefs.tmpl:101
 msgid "Personal language:"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:109
+#: ../themes/default/templates/userprefs.tmpl:110
 #, php-format
 msgid "User preferences for user '%s':"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:118
+#: ../themes/default/templates/userprefs.tmpl:119
 msgid "UserId"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:122
+#: ../themes/default/templates/userprefs.tmpl:123
 msgid "Auth Level"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:122
+#: ../themes/default/templates/userprefs.tmpl:123
 msgid "Auth Method"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:126
+#: ../themes/default/templates/userprefs.tmpl:127
 msgid "Theme"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:126
+#: ../themes/default/templates/userprefs.tmpl:127
 msgid "Current Theme"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:127
+#: ../themes/default/templates/userprefs.tmpl:128
 msgid "Language"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:127
+#: ../themes/default/templates/userprefs.tmpl:128
 msgid "Current Language"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:133
+#: ../themes/default/templates/userprefs.tmpl:134
 msgid "Change Password"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:133
+#: ../themes/default/templates/userprefs.tmpl:134
 msgid "Set Password"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:135
+#: ../themes/default/templates/userprefs.tmpl:136
 msgid "New password"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:138
+#: ../themes/default/templates/userprefs.tmpl:139
 msgid "Type it again"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:144
+#: ../themes/default/templates/userprefs.tmpl:145
 msgid "E-mail"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:146
+#: ../themes/default/templates/userprefs.tmpl:147
 msgid "Your E-Mail:"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:154
+#: ../themes/default/templates/userprefs.tmpl:155
 msgid "Status:"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:156
+#: ../themes/default/templates/userprefs.tmpl:157
 msgid "Email verified."
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:158
+#: ../themes/default/templates/userprefs.tmpl:159
 msgid "Email not yet verified."
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:160
+#: ../themes/default/templates/userprefs.tmpl:161
 msgid "Note, that user accounts with bouncing emails will be disabled."
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:163
+#: ../themes/default/templates/userprefs.tmpl:164
 msgid "Get an email notification at changes of the following pages:"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:166
+#: ../themes/default/templates/userprefs.tmpl:167
 msgid ""
 "Enter pages seperated by space or comma. Wildcards (fileglobbing) allowed."
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:173
+#: ../themes/default/templates/userprefs.tmpl:174
 msgid "Appearance"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:175
+#: ../themes/default/templates/userprefs.tmpl:176
 msgid "Here you can override site-specific default values."
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:176
+#: ../themes/default/templates/userprefs.tmpl:177
 msgid "Currently not recommended!"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:180
-#: ../themes/default/templates/userprefs.tmpl:183
+#: ../themes/default/templates/userprefs.tmpl:181
+#: ../themes/default/templates/userprefs.tmpl:184
 msgid "System default:"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:184
+#: ../themes/default/templates/userprefs.tmpl:185
 #, php-format
 msgid "Hide %s:"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:186
+#: ../themes/default/templates/userprefs.tmpl:187
 msgid ""
 "Hide or show LinkIcons (if supported by the current theme). Useful for text-"
 "only browsers or slow connections."
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:187
+#: ../themes/default/templates/userprefs.tmpl:188
 #, php-format
 msgid "Add %s:"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:189
+#: ../themes/default/templates/userprefs.tmpl:190
 #, php-format
 msgid ""
 "Add Google links to unknown pages behind the '?', and the create action "
 "behind the pagename instead. See %s."
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:190
+#: ../themes/default/templates/userprefs.tmpl:191
 msgid "Enable DoubleClick Edit"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:192
+#: ../themes/default/templates/userprefs.tmpl:193
 #, php-format
 msgid ""
 "Enabled makes it hard to double-click words and sentences for cut and paste. "
 "See %s."
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:198
+#: ../themes/default/templates/userprefs.tmpl:199
 msgid "Height"
 msgstr "Hoogte"
 
-#: ../themes/default/templates/userprefs.tmpl:205
+#: ../themes/default/templates/userprefs.tmpl:206
 msgid "Width"
 msgstr "Breedte"
 
-#: ../themes/default/templates/userprefs.tmpl:214
+#: ../themes/default/templates/userprefs.tmpl:215
 msgid ""
 "Note that many browsers will automatically adjust the width of the editing "
 "area so that it fills the browser window.  In this case, the width "
 "preference will be ignored."
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:217
+#: ../themes/default/templates/userprefs.tmpl:218
 msgid "Time Zone"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:220
+#: ../themes/default/templates/userprefs.tmpl:221
 #, php-format
 msgid "Add %s hours to the server's local time when reporting times."
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:224
+#: ../themes/default/templates/userprefs.tmpl:225
 #, php-format
 msgid "The current time at the server is %s."
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:226
+#: ../themes/default/templates/userprefs.tmpl:227
 #, php-format
 msgid "With the current offset, this would be reported as %s."
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:231
+#: ../themes/default/templates/userprefs.tmpl:232
 msgid "Date Format"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:234
+#: ../themes/default/templates/userprefs.tmpl:235
 msgid "Show relative dates using 'Today' and 'Yesterday'"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:241
+#: ../themes/default/templates/userprefs.tmpl:242
 msgid "Update Preferences"
 msgstr "Zet Voorkeuren"
 
-#: ../themes/default/templates/userprefs.tmpl:242
+#: ../themes/default/templates/userprefs.tmpl:243
 msgid "Remove Preferences"
 msgstr ""
 
+#: ../themes/default/templates/wikiblog.tmpl:23
+#, php-format
+msgid "Entry on %s by %s."
+msgstr ""
+
 #: ../themes/default/templates/wikiforum.tmpl:20
 msgid "New Topic"
 msgstr ""
@@ -6814,44 +7594,96 @@
 msgstr ""
 
 #, fuzzy
-#~ msgid "BlockQuote"
-#~ msgstr "lst"
+#~ msgid "Pagename(s): "
+#~ msgstr "Pagina Naam"
 
 #, fuzzy
-#~ msgid "PreferenceApp"
-#~ msgstr "GebruikersVoorkeuren"
+#~ msgid "Help/SemanticSearchAdvancedPlugin"
+#~ msgstr "Zoek"
 
 #, fuzzy
-#~ msgid "Last Modified:"
-#~ msgstr "meest recente verandering"
+#~ msgid "Wanted Pages for %s (%d total):"
+#~ msgstr "De %d meestbezochte pagina's van deze Wiki:"
 
 #, fuzzy
-#~ msgid "Last Author:"
-#~ msgstr "Vorige Auteur"
+#~ msgid "Wanted Pages in this wiki (%d total):"
+#~ msgstr "De %d meestbezochte pagina's van deze Wiki:"
 
 #, fuzzy
-#~ msgid "Author:"
-#~ msgstr "Vorige Auteur"
+#~ msgid "WatchList"
+#~ msgstr "Breedte"
 
-#~ msgid "The PhpWiki Programming Team"
-#~ msgstr "Het PhpWiki programmeerteam"
+#, fuzzy
+#~ msgid "Remove Comment"
+#~ msgstr "Verwijder Pagina"
+
+#, fuzzy
+#~ msgid "Delete"
+#~ msgstr "Verwijder pagina"
+
+#, fuzzy
+#~ msgid "Upload files"
+#~ msgstr "plat bestand %s"
+
+#, fuzzy
+#~ msgid "Upload zip file"
+#~ msgstr "plat bestand %s"
+
+#, fuzzy
+#~ msgid " from author %s"
+#~ msgstr "van %s"
 
-#~ msgid "new page"
-#~ msgstr "nieuw pagina"
+#~ msgid "GoodStyle"
+#~ msgstr "GoedeStijl"
+
+#~ msgid "OldTextFormattingRules"
+#~ msgstr "OudTekstFormatteringsRegels"
+
+#~ msgid "TextFormattingRules"
+#~ msgstr "TekstFormatteringsRegels"
+
+#, fuzzy
+#~ msgid "WikiAdminMassRevert"
+#~ msgstr "PhpWikiBeheer"
 
 #, fuzzy
-#~ msgid "New Page"
-#~ msgstr "Nieuw pagina."
+#~ msgid "Reverted page '%s' to version '%s'."
+#~ msgstr "Pagina '%s' verwijderd."
 
 #, fuzzy
-#~ msgid "Are you sure you want to save these access restrictions?"
+#~ msgid "PhpWikiAdministration/MassRevert"
+#~ msgstr "PhpWikiBeheer"
+
+#, fuzzy
+#~ msgid ""
+#~ "Are you sure you want to overwrite the selected files with the previous "
+#~ "version?"
 #~ msgstr "Verwijder pagina"
 
 #, fuzzy
-#~ msgid "Selected Pages: %s"
+#~ msgid "Revert selected pages"
 #~ msgstr "PaginaGeschiedenis"
 
 #, fuzzy
+#~ msgid "WikiUserAdministration"
+#~ msgstr "PhpWikiBeheer"
+
+#, fuzzy
+#~ msgid "BlockQuote"
+#~ msgstr "lst"
+
+#, fuzzy
+#~ msgid "Last Modified:"
+#~ msgstr "meest recente verandering"
+
+#, fuzzy
+#~ msgid "Last Author:"
+#~ msgstr "Vorige Auteur"
+
+#~ msgid "The PhpWiki Programming Team"
+#~ msgstr "Het PhpWiki programmeerteam"
+
+#, fuzzy
 #~ msgid "Update Settings"
 #~ msgstr "Zet Voorkeuren"
 
@@ -6955,10 +7787,6 @@
 #~ msgstr "HTML is niet beschikbaar in deze wiki"
 
 #, fuzzy
-#~ msgid "diff pages in this wiki"
-#~ msgstr "De %d meestbezochte pagina's van deze Wiki:"
-
-#, fuzzy
 #~ msgid "dump serial pages from this wiki"
 #~ msgstr "De %d meestbezochte pagina's van deze Wiki:"
 
@@ -6974,10 +7802,6 @@
 #~ msgid "unlock pages in this wiki"
 #~ msgstr "De %d meestbezochte pagina's van deze Wiki:"
 
-#, fuzzy
-#~ msgid "view the source of pages in this wiki"
-#~ msgstr "De %d meestbezochte pagina's van deze Wiki:"
-
 #~ msgid "Lists nested too deep in SetHTMLOutputMode"
 #~ msgstr "Lijsten nesten te diep in SetHTMLOutputMode"
 
@@ -7088,9 +7912,6 @@
 #~ msgid "Searching for \"%s\" ....."
 #~ msgstr "Zoeken naar \"%s\" ..."
 
-#~ msgid "%d matches found in %d pages."
-#~ msgstr "%d keer gevonden in %d pagina's."
-
 #~ msgid "Error message: %s"
 #~ msgstr "Foutboodschap: %s"
 
@@ -7100,9 +7921,6 @@
 #~ msgid "Insert/update failed: %s"
 #~ msgstr "Insert/update gefaald: %s"
 
-#~ msgid "Delete on %s failed: %s"
-#~ msgstr "Delete op %s gefaald: %s"
-
 #~ msgid "MySQL error: %s"
 #~ msgstr "MySQL fout: %s"
 
diff -ruN 1.3.12p3/locale/po/phpwiki.pot 1.3.14/locale/po/phpwiki.pot
--- 1.3.12p3/locale/po/phpwiki.pot	2006-06-18 06:19:38.000000000 -0500
+++ 1.3.14/locale/po/phpwiki.pot	2007-07-01 05:11:18.000000000 -0500
@@ -4,9 +4,9 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: PhpWiki-1.3.11\n"
+"Project-Id-Version: PhpWiki-1.3.13\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2006-06-18 10:46+0000\n"
+"POT-Creation-Date: 2007-07-01 10:07+0000\n"
 "PO-Revision-Date: 2002-12-14 17:51-0500\n"
 "Last-Translator: Reini Urban <rurban@users.sf.net>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -14,6 +14,29 @@
 "Content-Type: text/plain; charset=iso-8859-1\n"
 "Content-Transfer-Encoding: 8bit\n"
 
+#: ../lib/CachedMarkup.php:478
+msgid "BAD semantic relation link"
+msgstr ""
+
+#: ../lib/CachedMarkup.php:505
+#, php-format
+msgid "Attribute %s, base value: %s"
+msgstr ""
+
+#: ../lib/CachedMarkup.php:506
+#, php-format
+msgid "Attribute %s, value: %s"
+msgstr ""
+
+#: ../lib/CachedMarkup.php:514
+#, php-format
+msgid "Relation %s to page %s"
+msgstr ""
+
+#: ../lib/CachedMarkup.php:569
+msgid "Found by "
+msgstr ""
+
 #: ../lib/Captcha.php:32
 msgid "Typed in verification word mismatch ... are you a bot?"
 msgstr ""
@@ -42,220 +65,288 @@
 msgid "Supported handlers are: %s"
 msgstr ""
 
-#: ../lib/EditToolbar.php:42
+#: ../lib/EditToolbar.php:29
 msgid "Undo"
 msgstr ""
 
-#: ../lib/EditToolbar.php:48
+#: ../lib/EditToolbar.php:31
 msgid "Undo disabled"
 msgstr ""
 
-#: ../lib/EditToolbar.php:57 ../lib/EditToolbar.php:253
-#: ../lib/EditToolbar.php:254 ../lib/plugin/WikiAdminSearchReplace.php:187
-msgid "Search & Replace"
+#: ../lib/EditToolbar.php:32
+msgid "Operation undone"
 msgstr ""
 
-#: ../lib/EditToolbar.php:59 ../lib/plugin/InterWikiSearch.php:91
-#: ../lib/plugin/RecentChanges.php:591 ../themes/Crao/templates/navbar.tmpl:42
-#: ../themes/Crao/templates/navbar.tmpl:44
-#: ../themes/Crao/templates/navbar.tmpl:48
-#: ../themes/blog/templates/search.tmpl:6
-#: ../themes/blog/templates/search.tmpl:7
-#: ../themes/blog/templates/search.tmpl:9
-#: ../themes/blog/templates/search.tmpl:13
-#: ../themes/default/templates/search.tmpl:10
-#: ../themes/default/templates/search.tmpl:11
-#: ../themes/default/templates/search.tmpl:18
-msgid "Search"
+#: ../lib/EditToolbar.php:33
+msgid "Substring \"\\1\" found \\2 times. Replace with \"\\3\"?"
 msgstr ""
 
-#: ../lib/EditToolbar.php:61
-msgid "Replace with"
+#: ../lib/EditToolbar.php:34
+#, php-format
+msgid "String \"%s\" not found."
 msgstr ""
 
-#: ../lib/EditToolbar.php:63 ../lib/upgrade.php:375 ../lib/upgrade.php:384
-#: ../lib/upgrade.php:393 ../lib/upgrade.php:414 ../lib/upgrade.php:442
-#: ../lib/upgrade.php:492 ../lib/upgrade.php:495 ../lib/upgrade.php:526
-#: ../lib/upgrade.php:528 ../lib/upgrade.php:555 ../lib/upgrade.php:608
-#: ../lib/upgrade.php:727 ../lib/upgrade.php:730 ../lib/upgrade.php:782
-#: ../lib/upgrade.php:840 ../lib/upgrade.php:850
-msgid "OK"
+#: ../lib/EditToolbar.php:35 ../lib/EditToolbar.php:200
+#: ../lib/EditToolbar.php:201 ../lib/plugin/WikiAdminSearchReplace.php:187
+msgid "Search & Replace"
 msgstr ""
 
-#: ../lib/EditToolbar.php:65 ../lib/EditToolbar.php:308
-#: ../lib/EditToolbar.php:354 ../lib/EditToolbar.php:378
-#: ../lib/EditToolbar.php:411
-msgid "Close"
+#: ../lib/EditToolbar.php:36
+msgid "Search for"
 msgstr ""
 
-#: ../lib/EditToolbar.php:80
-#, php-format
-msgid "Substring \"%s\" found %s times. Replace with \"%s\"?"
+#: ../lib/EditToolbar.php:37
+msgid "Replace with"
 msgstr ""
 
-#: ../lib/EditToolbar.php:82
-#, php-format
-msgid "String \"%s\" not found."
+#: ../lib/EditToolbar.php:38 ../lib/plugin/SyncWiki.php:302
+#: ../lib/plugin/SyncWiki.php:328 ../lib/plugin/SyncWiki.php:351
+#: ../lib/plugin/WikiPoll.php:224 ../lib/upgrade.php:212
+#: ../lib/upgrade.php:415 ../lib/upgrade.php:429 ../lib/upgrade.php:449
+#: ../lib/upgrade.php:458 ../lib/upgrade.php:482 ../lib/upgrade.php:510
+#: ../lib/upgrade.php:560 ../lib/upgrade.php:563 ../lib/upgrade.php:595
+#: ../lib/upgrade.php:597 ../lib/upgrade.php:624 ../lib/upgrade.php:684
+#: ../lib/upgrade.php:709 ../lib/upgrade.php:852 ../lib/upgrade.php:855
+#: ../lib/upgrade.php:906
+msgid "OK"
 msgstr ""
 
-#: ../lib/EditToolbar.php:105
-msgid "Operation undone"
+#: ../lib/EditToolbar.php:39 ../lib/EditToolbar.php:261
+#: ../lib/EditToolbar.php:308 ../lib/EditToolbar.php:338
+#: ../lib/EditToolbar.php:372
+msgid "Close"
 msgstr ""
 
-#: ../lib/EditToolbar.php:167 ../lib/EditToolbar.php:168
+#: ../lib/EditToolbar.php:107
 msgid "Bold text"
 msgstr ""
 
-#: ../lib/EditToolbar.php:172 ../lib/EditToolbar.php:173
+#: ../lib/EditToolbar.php:108
+msgid "Bold text [alt-b]"
+msgstr ""
+
+#: ../lib/EditToolbar.php:112
 msgid "Italic text"
 msgstr ""
 
-#: ../lib/EditToolbar.php:177
+#: ../lib/EditToolbar.php:113
+msgid "Italic text [alt-i]"
+msgstr ""
+
+#: ../lib/EditToolbar.php:117
 msgid "optional label | PageName"
 msgstr ""
 
-#: ../lib/EditToolbar.php:178
+#: ../lib/EditToolbar.php:118
 msgid "Link to page"
 msgstr ""
 
-#: ../lib/EditToolbar.php:182
+#: ../lib/EditToolbar.php:122
 msgid "optional label | http://www.example.com"
 msgstr ""
 
-#: ../lib/EditToolbar.php:183
+#: ../lib/EditToolbar.php:123
 msgid "External link (remember http:// prefix)"
 msgstr ""
 
-#: ../lib/EditToolbar.php:187
+#: ../lib/EditToolbar.php:127
 msgid "Headline text"
 msgstr ""
 
-#: ../lib/EditToolbar.php:188
+#: ../lib/EditToolbar.php:128
 msgid "Level 1 headline"
 msgstr ""
 
-#: ../lib/EditToolbar.php:192
+#: ../lib/EditToolbar.php:132
 msgid "Example.jpg"
 msgstr ""
 
-#: ../lib/EditToolbar.php:193
+#: ../lib/EditToolbar.php:133
 msgid "Embedded image"
 msgstr ""
 
-#: ../lib/EditToolbar.php:197
+#: ../lib/EditToolbar.php:137
 msgid "Insert non-formatted text here"
 msgstr ""
 
-#: ../lib/EditToolbar.php:198
+#: ../lib/EditToolbar.php:138
 msgid "Ignore wiki formatting"
 msgstr ""
 
-#: ../lib/EditToolbar.php:203
+#: ../lib/EditToolbar.php:143
 msgid "Your signature"
 msgstr ""
 
-#: ../lib/EditToolbar.php:208
+#: ../lib/EditToolbar.php:148
 msgid "Horizontal line"
 msgstr ""
 
-#: ../lib/EditToolbar.php:210 ../lib/EditToolbar.php:212
-#: ../lib/editpage.php:567
+#: ../lib/EditToolbar.php:150 ../lib/EditToolbar.php:152
+#: ../lib/WysiwygEdit/Wikiwyg.php:85 ../lib/editpage.php:664
 msgid "Save"
 msgstr ""
 
-#: ../lib/EditToolbar.php:214 ../lib/EditToolbar.php:216
-#: ../lib/editpage.php:563
+#: ../lib/EditToolbar.php:157 ../lib/EditToolbar.php:159
+#: ../lib/WysiwygEdit/Wikiwyg.php:84 ../lib/editpage.php:657
 msgid "Preview"
 msgstr ""
 
-#: ../lib/EditToolbar.php:232
+#: ../lib/EditToolbar.php:179
 msgid "Click a button to get an example text"
 msgstr ""
 
-#: ../lib/EditToolbar.php:245 ../lib/EditToolbar.php:246
+#: ../lib/EditToolbar.php:192 ../lib/EditToolbar.php:193
 msgid "Undo Search & Replace"
 msgstr ""
 
-#: ../lib/EditToolbar.php:302 ../lib/EditToolbar.php:303
+#: ../lib/EditToolbar.php:255
 msgid "AddCategory"
 msgstr ""
 
-#: ../lib/EditToolbar.php:305
+#: ../lib/EditToolbar.php:258
 msgid "Insert Categories (double-click)"
 msgstr ""
 
-#: ../lib/EditToolbar.php:307 ../lib/EditToolbar.php:353
-#: ../lib/EditToolbar.php:377 ../lib/EditToolbar.php:410
+#: ../lib/EditToolbar.php:260 ../lib/EditToolbar.php:307
+#: ../lib/EditToolbar.php:337 ../lib/EditToolbar.php:371
 msgid "Insert"
 msgstr ""
 
-#: ../lib/EditToolbar.php:348 ../lib/EditToolbar.php:349
+#: ../lib/EditToolbar.php:302 ../lib/EditToolbar.php:303
 msgid "AddPlugin"
 msgstr ""
 
-#: ../lib/EditToolbar.php:351
+#: ../lib/EditToolbar.php:305
 msgid "Insert Plugin (double-click)"
 msgstr ""
 
-#: ../lib/EditToolbar.php:372 ../lib/EditToolbar.php:373
+#: ../lib/EditToolbar.php:332 ../lib/EditToolbar.php:333
 msgid "AddPageLink"
 msgstr ""
 
-#: ../lib/EditToolbar.php:375
+#: ../lib/EditToolbar.php:335
 msgid "Insert PageLink (double-click)"
 msgstr ""
 
-#: ../lib/EditToolbar.php:405 ../lib/EditToolbar.php:406
+#: ../lib/EditToolbar.php:366 ../lib/EditToolbar.php:367
 msgid "AddTemplate"
 msgstr ""
 
-#: ../lib/EditToolbar.php:408
+#: ../lib/EditToolbar.php:369
 msgid "Insert Template (double-click)"
 msgstr ""
 
-#: ../lib/ErrorManager.php:210
+#: ../lib/ErrorManager.php:211
 #, php-format
 msgid "%s: error while handling error:"
 msgstr ""
 
-#: ../lib/FileFinder.php:191 ../lib/loadsave.php:967
+#: ../lib/FileFinder.php:191 ../lib/loadsave.php:1026
 #, php-format
 msgid "%s: file not found"
 msgstr ""
 
-#: ../lib/IniConfig.php:732
+#: ../lib/IniConfig.php:799
 msgid "CategoryGroup"
 msgstr ""
 
-#: ../lib/IniConfig.php:734
+#: ../lib/IniConfig.php:801
 msgid "An unnamed PhpWiki"
 msgstr ""
 
-#: ../lib/IniConfig.php:736 ../lib/upgrade.php:149
-#: ../themes/Wordpress/templates/actionbar.tmpl:18
-#: ../themes/default/templates/userprefs.tmpl:123
+#: ../lib/IniConfig.php:803 ../lib/upgrade.php:172
+#: ../themes/Wordpress/templates/actionbar.tmpl:19
+#: ../themes/blog/templates/browse-footer.tmpl:6
+#: ../themes/default/templates/userprefs.tmpl:124
 msgid "HomePage"
 msgstr ""
 
-#: ../lib/InlineParser.php:336
+#: ../lib/InlineParser.php:335
 msgid "Invalid [] syntax ignored"
 msgstr ""
 
-#: ../lib/InlineParser.php:652
+#: ../lib/InlineParser.php:736
 #, php-format
 msgid "unknown color %s ignored"
 msgstr ""
 
-#: ../lib/PageList.php:104
+#: ../lib/MailNotify.php:129
+#, php-format
+msgid "PageChange Notification of %s"
+msgstr ""
+
+#: ../lib/MailNotify.php:156
+#, php-format
+msgid "sent to %s"
+msgstr ""
+
+#: ../lib/MailNotify.php:162
+#, php-format
+msgid "Error: Couldn't send %s to %s"
+msgstr ""
+
+#: ../lib/MailNotify.php:184
+msgid "Page change"
+msgstr ""
+
+#: ../lib/MailNotify.php:211 ../lib/loadsave.php:841
+#: ../lib/plugin/RecentChanges.php:109
+msgid "New page"
+msgstr ""
+
+#: ../lib/MailNotify.php:213 ../lib/MailNotify.php:231 ../lib/loadsave.php:93
+#, php-format
+msgid "Edited by: %s"
+msgstr ""
+
+#: ../lib/MailNotify.php:232
+#, php-format
+msgid "Page rename %s to %s"
+msgstr ""
+
+#: ../lib/MailNotify.php:269
+#, php-format
+msgid "Removed by: %s"
+msgstr ""
+
+#: ../lib/MailNotify.php:271
+#, php-format
+msgid "Page removed %s"
+msgstr ""
+
+#: ../lib/MailNotify.php:320
+msgid "e-mail address confirmation"
+msgstr ""
+
+#: ../lib/MailNotify.php:323
+#, php-format
+msgid ""
+"Someone, probably you from IP address %s, has registered an\n"
+"account \"%s\" with this e-mail address on %s.\n"
+"\n"
+"To confirm that this account really does belong to you and activate\n"
+"e-mail features on %s, open this link in your browser:\n"
+"\n"
+"%s\n"
+"\n"
+"If this is *not* you, don't follow the link. This confirmation code\n"
+"will expire at %s."
+msgstr ""
+
+#: ../lib/PageList.php:109
 #, php-format
 msgid "Sort by %s"
 msgstr ""
 
-#: ../lib/PageList.php:149
+#: ../lib/PageList.php:139
+msgid "reverse"
+msgstr ""
+
+#: ../lib/PageList.php:153
 msgid "Click to reverse sort order"
 msgstr ""
 
-#: ../lib/PageList.php:157
+#: ../lib/PageList.php:160
 #, php-format
 msgid "Click to sort by %s"
 msgstr ""
@@ -264,105 +355,100 @@
 msgid "Click to de-/select all pages"
 msgstr ""
 
-#: ../lib/PageList.php:366 ../lib/plugin/UnfoldSubpages.php:132
+#: ../lib/PageList.php:370 ../lib/plugin/UnfoldSubpages.php:132
 #, php-format
 msgid " ... first %d bytes"
 msgstr ""
 
-#: ../lib/PageList.php:372
+#: ../lib/PageList.php:376
 #, php-format
 msgid " ... around %s"
 msgstr ""
 
-#: ../lib/PageList.php:402 ../lib/plugin/AppendText.php:57
-#: ../lib/upgrade.php:810
+#: ../lib/PageList.php:406 ../lib/plugin/AppendText.php:57
 #, php-format
 msgid "%s not found"
 msgstr ""
 
-#: ../lib/PageList.php:466 ../lib/plugin/AuthorHistory.php:174
-#: ../lib/plugin/WantedPagesOld.php:151
+#: ../lib/PageList.php:480 ../lib/plugin/AuthorHistory.php:174
 msgid "Page Name"
 msgstr ""
 
-#: ../lib/PageList.php:555 ../lib/plugin/FullTextSearch.php:107
+#: ../lib/PageList.php:609 ../lib/plugin/FullTextSearch.php:112
 msgid "<no matches>"
 msgstr ""
 
-#: ../lib/PageList.php:934 ../lib/plugin/WikiAdminSearchReplace.php:171
+#: ../lib/PageList.php:1036 ../lib/plugin/WikiAdminSearchReplace.php:171
 msgid "Content"
 msgstr ""
 
-#: ../lib/PageList.php:950
+#: ../lib/PageList.php:1052
 msgid "Select"
 msgstr ""
 
-#: ../lib/PageList.php:954 ../themes/MonoBook/templates/info.tmpl:71
-#: ../themes/default/templates/info.tmpl:64
-#: ../themes/shamino_com/templates/info.tmpl:70
+#: ../lib/PageList.php:1056 ../themes/MonoBook/templates/info.tmpl:71
+#: ../themes/default/templates/info.tmpl:63
 msgid "Last Modified"
 msgstr ""
 
-#: ../lib/PageList.php:956
+#: ../lib/PageList.php:1058
 msgid "Hits"
 msgstr ""
 
-#: ../lib/PageList.php:958 ../themes/Crao/templates/editpage.tmpl:37
+#: ../lib/PageList.php:1060 ../themes/Crao/templates/editpage.tmpl:37
 #: ../themes/Wordpress/templates/editpage.tmpl:38
 #: ../themes/default/templates/editpage.tmpl:39
 msgid "Size"
 msgstr ""
 
-#: ../lib/PageList.php:961 ../themes/MonoBook/templates/info.tmpl:73
-#: ../themes/default/templates/info.tmpl:66
-#: ../themes/shamino_com/templates/info.tmpl:72
+#: ../lib/PageList.php:1063 ../themes/MonoBook/templates/info.tmpl:73
+#: ../themes/default/templates/info.tmpl:65
 msgid "Last Summary"
 msgstr ""
 
-#: ../lib/PageList.php:963 ../lib/plugin/AuthorHistory.php:123
+#: ../lib/PageList.php:1065 ../lib/plugin/AuthorHistory.php:123
 #: ../lib/plugin/AuthorHistory.php:176 ../lib/plugin/PluginManager.php:90
 msgid "Version"
 msgstr ""
 
-#: ../lib/PageList.php:966 ../themes/MonoBook/templates/info.tmpl:72
-#: ../themes/default/templates/info.tmpl:65
-#: ../themes/shamino_com/templates/info.tmpl:71
+#: ../lib/PageList.php:1068 ../themes/MonoBook/templates/info.tmpl:72
+#: ../themes/default/templates/info.tmpl:64
 msgid "Last Author"
 msgstr ""
 
-#: ../lib/PageList.php:968 ../lib/WikiGroup.php:36
+#: ../lib/PageList.php:1070 ../lib/WikiGroup.php:36
 msgid "Owner"
 msgstr ""
 
-#: ../lib/PageList.php:970 ../lib/WikiGroup.php:37
+#: ../lib/PageList.php:1072 ../lib/WikiGroup.php:37
 msgid "Creator"
 msgstr ""
 
-#: ../lib/PageList.php:976 ../themes/Crao/templates/editpage.tmpl:61
+#: ../lib/PageList.php:1078 ../themes/Crao/templates/editpage.tmpl:61
 #: ../themes/MonoBook/templates/info.tmpl:132
-#: ../themes/default/templates/editpage.tmpl:73
-#: ../themes/default/templates/info.tmpl:127
-#: ../themes/shamino_com/templates/info.tmpl:132
+#: ../themes/Wordpress/templates/editpage.tmpl:61
+#: ../themes/default/templates/editpage.tmpl:74
+#: ../themes/default/templates/info.tmpl:126
 msgid "Locked"
 msgstr ""
 
-#: ../lib/PageList.php:977
+#: ../lib/PageList.php:1079
 msgid "locked"
 msgstr ""
 
-#: ../lib/PageList.php:980
+#: ../lib/PageList.php:1082
 msgid "Minor Edit"
 msgstr ""
 
-#: ../lib/PageList.php:980
+#: ../lib/PageList.php:1082
 msgid "minor"
 msgstr ""
 
-#: ../lib/PageList.php:982
+#: ../lib/PageList.php:1084
 msgid "Markup"
 msgstr ""
 
-#: ../lib/PageList.php:1239 ../lib/plugin/WantedPagesOld.php:178
+#: ../lib/PageList.php:1357
 #, php-format
 msgid "Columns: %s."
 msgstr ""
@@ -400,56 +486,53 @@
 msgid "Unsupported ACL access type %s ignored."
 msgstr ""
 
-#: ../lib/PagePerm.php:558
+#: ../lib/PagePerm.php:561
 msgid "Access"
 msgstr ""
 
-#: ../lib/PagePerm.php:560
+#: ../lib/PagePerm.php:563
 msgid "Group/User"
 msgstr ""
 
-#: ../lib/PagePerm.php:561
+#: ../lib/PagePerm.php:564
 msgid "Grant"
 msgstr ""
 
-#: ../lib/PagePerm.php:562
+#: ../lib/PagePerm.php:565
 msgid "Del/+"
 msgstr ""
 
-#: ../lib/PagePerm.php:563 ../lib/plugin/PluginManager.php:90
-#: ../lib/plugin/WikiAdminSetAcl.php:230
+#: ../lib/PagePerm.php:566 ../lib/plugin/PluginManager.php:90
+#: ../lib/plugin/WikiAdminSetAcl.php:234
 msgid "Description"
 msgstr ""
 
-#: ../lib/PagePerm.php:584
+#: ../lib/PagePerm.php:587
 msgid "Add this ACL"
 msgstr ""
 
-#: ../lib/PagePerm.php:608
+#: ../lib/PagePerm.php:611
 msgid "Allow / Deny"
 msgstr ""
 
-#: ../lib/PagePerm.php:620
+#: ../lib/PagePerm.php:623
 msgid "Delete this ACL"
 msgstr ""
 
-#: ../lib/PagePerm.php:646
+#: ../lib/PagePerm.php:649
 msgid "add "
 msgstr ""
 
-#: ../lib/PagePerm.php:650
+#: ../lib/PagePerm.php:653
 msgid "Check to add this ACL"
 msgstr ""
 
-#: ../lib/PageType.php:134 ../lib/loadsave.php:733
-#: ../lib/plugin/InterWikiSearch.php:55 ../lib/plugin/WantedPages.php:54
-#: ../lib/plugin/WantedPagesOld.php:81
+#: ../lib/PageType.php:134 ../lib/loadsave.php:776 ../lib/loadsave.php:1424
+#: ../lib/plugin/InterWikiSearch.php:57 ../lib/plugin/WantedPages.php:55
 #: ../themes/MonoBook/templates/info.tmpl:149
 #: ../themes/MonoBook/templates/info.tmpl:150
+#: ../themes/default/templates/info.tmpl:143
 #: ../themes/default/templates/info.tmpl:144
-#: ../themes/default/templates/info.tmpl:145
-#: ../themes/shamino_com/templates/info.tmpl:149
-#: ../themes/shamino_com/templates/info.tmpl:150
 msgid "InterWikiMap"
 msgstr ""
 
@@ -457,336 +540,350 @@
 msgid "WARNING: InterWikiMap page is unlocked, so not using those links."
 msgstr ""
 
-#: ../lib/PageType.php:231 ../lib/PageType.php:234 ../lib/stdlib.php:670
-#: ../themes/MonoBook/templates/actionbar.tmpl:15
-#: ../themes/MonoBook/templates/actionbar.tmpl:19
-#: ../themes/MonoBook/templates/actionbar.tmpl:23
-#: ../themes/Sidebar/templates/navbar.tmpl:27
-#: ../themes/Sidebar/templates/navbar.tmpl:29
+#: ../lib/PageType.php:247 ../lib/PageType.php:250 ../lib/stdlib.php:673
+#: ../themes/MonoBook/templates/actionbar.tmpl:14
+#: ../themes/MonoBook/templates/actionbar.tmpl:21
+#: ../themes/MonoBook/templates/actionbar.tmpl:25
+#: ../themes/MonoBook/templates/actionbar.tmpl:31
+#: ../themes/Sidebar/templates/navbar.tmpl:17
+#: ../themes/Sidebar/templates/navbar.tmpl:19
 #: ../themes/default/templates/navbar.tmpl:11
 #: ../themes/default/templates/navbar.tmpl:13
+#: ../themes/wikilens/templates/navbar.tmpl:9
+#: ../themes/wikilens/templates/navbar.tmpl:11
 msgid "Discussion"
 msgstr ""
 
-#: ../lib/PageType.php:274 ../lib/loadsave.php:979
+#: ../lib/PageType.php:286 ../lib/loadsave.php:1038
 #, php-format
 msgid "Loading InterWikiMap from external file %s."
 msgstr ""
 
-#: ../lib/PageType.php:372
+#: ../lib/PageType.php:384
 msgid "Moniker"
 msgstr ""
 
-#: ../lib/PageType.php:373
+#: ../lib/PageType.php:385
 msgid "InterWiki Address"
 msgstr ""
 
-#: ../lib/RSSWriter091.php:113 ../lib/loadsave.php:1353
-#: ../lib/plugin/RecentChanges.php:272 ../lib/plugin/RecentChanges.php:287
-#: ../lib/plugin/RecentChanges.php:390 ../lib/plugin/RecentChanges.php:467
-#: ../lib/plugin/RecentChanges.php:603 ../lib/plugin/RecentChanges.php:737
-#: ../themes/Crao/templates/head.tmpl:63
+#: ../lib/RSSWriter091.php:113 ../lib/display.php:120 ../lib/display.php:307
+#: ../lib/loadsave.php:1445 ../lib/plugin/RecentChanges.php:181
+#: ../lib/plugin/RecentChanges.php:188 ../lib/plugin/RecentChanges.php:328
+#: ../lib/plugin/RecentChanges.php:346 ../lib/plugin/RecentChanges.php:523
+#: ../lib/plugin/RecentChanges.php:600 ../lib/plugin/RecentChanges.php:736
+#: ../lib/plugin/RecentChanges.php:1002 ../themes/Crao/templates/head.tmpl:63
 #: ../themes/Crao/templates/navbar.tmpl:13
-#: ../themes/MonoBook/templates/navbar.tmpl:13
-#: ../themes/Portland/templates/navbar.tmpl:28
-#: ../themes/Wordpress/templates/actionbar.tmpl:21
-#: ../themes/blog/templates/actionbar.tmpl:20
+#: ../themes/MonoBook/templates/navbar.tmpl:15
+#: ../themes/Portland/templates/navbar.tmpl:25
+#: ../themes/Wordpress/templates/actionbar.tmpl:22
+#: ../themes/blog/templates/actionbar.tmpl:14
 #: ../themes/default/templates/head.tmpl:69
 #: ../themes/default/templates/navbar.tmpl:19
 #: ../themes/shamino_com/templates/top.tmpl:20
 #: ../themes/smaller/templates/navbar.tmpl:7
 #: ../themes/wikilens/templates/head.tmpl:60
-#: ../themes/wikilens/templates/navbar.tmpl:10
+#: ../themes/wikilens/templates/navbar.tmpl:17
 msgid "RecentChanges"
 msgstr ""
 
-#: ../lib/Request.php:696 ../lib/Request.php:699
+#: ../lib/Request.php:703 ../lib/Request.php:706
 msgid "Upload error: file too big"
 msgstr ""
 
-#: ../lib/Request.php:702
+#: ../lib/Request.php:709
 msgid "Upload error: file only partially recieved"
 msgstr ""
 
-#: ../lib/Request.php:705
+#: ../lib/Request.php:712
 msgid "Upload error: no file selected"
 msgstr ""
 
-#: ../lib/Request.php:708
+#: ../lib/Request.php:715
 msgid "Upload error: unknown error #"
 msgstr ""
 
-#: ../lib/Request.php:815 ../lib/main.php:1160 ../lib/main.php:1173
+#: ../lib/Request.php:824 ../lib/main.php:1221 ../lib/main.php:1234
 #, php-format
 msgid "%s is not writable."
 msgstr ""
 
-#: ../lib/Request.php:815
+#: ../lib/Request.php:824
 msgid "The PhpWiki access log file"
 msgstr ""
 
-#: ../lib/Request.php:817 ../lib/main.php:1163
+#: ../lib/Request.php:826 ../lib/main.php:1224
 #, php-format
 msgid "Please ensure that %s is writable, or redefine %s in config/config.ini."
 msgstr ""
 
-#: ../lib/Request.php:818
+#: ../lib/Request.php:827
 #, php-format
 msgid "the file '%s'"
 msgstr ""
 
-#: ../lib/Template.php:175
+#: ../lib/SemanticWeb.php:135
+msgid "URIResolver"
+msgstr ""
+
+#: ../lib/SemanticWeb.php:149 ../lib/plugin/SemanticSearch.php:302
+msgid "Relation"
+msgstr ""
+
+#: ../lib/SemanticWeb.php:151 ../lib/plugin/SemanticSearch.php:375
+msgid "Attribute"
+msgstr ""
+
+#: ../lib/Template.php:178
 #, php-format
 msgid "%4d  %s\n"
 msgstr ""
 
-#: ../lib/TextSearchQuery.php:79 ../lib/plugin/FileInfo.php:100
+#: ../lib/TextSearchQuery.php:79 ../lib/plugin/FileInfo.php:116
 #, php-format
 msgid "Unsupported argument: %s=%s"
 msgstr ""
 
-#: ../lib/TextSearchQuery.php:89
+#: ../lib/TextSearchQuery.php:90
 msgid "(A|An|And|But|By|For|From|In|Is|It|Of|On|Or|The|To|With)"
 msgstr ""
 
-#: ../lib/Theme.php:388
+#: ../lib/Theme.php:398
 msgid "Never edited"
 msgstr ""
 
-#: ../lib/Theme.php:395
+#: ../lib/Theme.php:405
 #, php-format
 msgid "%s at %s"
 msgstr ""
 
-#: ../lib/Theme.php:399
+#: ../lib/Theme.php:409
 #, php-format
 msgid "Version %s, saved %s"
 msgstr ""
 
-#: ../lib/Theme.php:401
+#: ../lib/Theme.php:411
 #, php-format
 msgid "Last edited %s"
 msgstr ""
 
-#: ../lib/Theme.php:410
+#: ../lib/Theme.php:420
 #, php-format
 msgid "Version %s, saved on %s"
 msgstr ""
 
-#: ../lib/Theme.php:412
+#: ../lib/Theme.php:422
 #, php-format
 msgid "Last edited on %s"
 msgstr ""
 
-#: ../lib/Theme.php:428
+#: ../lib/Theme.php:438
 msgid "today"
 msgstr ""
 
-#: ../lib/Theme.php:435
+#: ../lib/Theme.php:445
 msgid "yesterday"
 msgstr ""
 
-#: ../lib/Theme.php:456 ../lib/Theme.php:458
+#: ../lib/Theme.php:466 ../lib/Theme.php:468
 #, php-format
 msgid "Owner: %s"
 msgstr ""
 
-#: ../lib/Theme.php:470 ../lib/Theme.php:472 ../lib/diff.php:262
-#: ../lib/plugin/Diff.php:75
+#: ../lib/Theme.php:481 ../lib/Theme.php:483 ../lib/diff.php:261
+#: ../lib/plugin/Diff.php:76
 #, php-format
 msgid "by %s"
 msgstr ""
 
-#: ../lib/Theme.php:564
+#: ../lib/Theme.php:575
 #, php-format
 msgid "Empty link to: %s"
 msgstr ""
 
-#: ../lib/Theme.php:579 ../themes/MacOSX/themeinfo.php:71
+#: ../lib/Theme.php:590 ../themes/MacOSX/themeinfo.php:71
 #, php-format
 msgid "Create: %s"
 msgstr ""
 
-#: ../lib/Theme.php:598
+#: ../lib/Theme.php:609
 #, php-format
 msgid "Google:%s"
 msgstr ""
 
-#: ../lib/Theme.php:623
+#: ../lib/Theme.php:634
 #, php-format
 msgid "'%s': Bad page name"
 msgstr ""
 
-#: ../lib/Theme.php:933 ../themes/Crao/templates/actionbar.tmpl:5
-#: ../themes/MonoBook/templates/actionbar.tmpl:11
-#: ../themes/blog/themeinfo.php:53
-#: ../themes/default/templates/actionbar.tmpl:15
+#: ../lib/Theme.php:977 ../lib/plugin/WatchPage.php:89
+#: ../themes/Crao/templates/actionbar.tmpl:5
+#: ../themes/MonoBook/templates/actionbar.tmpl:34
+#: ../themes/blog/themeinfo.php:61
+#: ../themes/default/templates/actionbar.tmpl:16
 #: ../themes/shamino_com/templates/actionbar.tmpl:6
-#: ../themes/shamino_com/templates/info.tmpl:164
 #: ../themes/smaller/templates/actionbar.tmpl:18
 msgid "Edit"
 msgstr ""
 
-#: ../lib/Theme.php:934 ../lib/plugin/Diff.php:36
-#: ../themes/blog/themeinfo.php:54
+#: ../lib/Theme.php:978 ../lib/plugin/Diff.php:37
+#: ../themes/blog/themeinfo.php:62
 msgid "Diff"
 msgstr ""
 
-#: ../lib/Theme.php:935 ../themes/Crao/templates/signin.tmpl:15
-#: ../themes/Crao/templates/signin.tmpl:31
-#: ../themes/MonoBook/templates/signin.tmpl:16
-#: ../themes/MonoBook/templates/signin.tmpl:30
-#: ../themes/Sidebar/templates/signin.tmpl:16
-#: ../themes/Sidebar/templates/signin.tmpl:30
-#: ../themes/Wordpress/templates/signin.tmpl:18
-#: ../themes/Wordpress/templates/signin.tmpl:34
+#: ../lib/Theme.php:979 ../themes/Crao/templates/signin.tmpl:14
+#: ../themes/Crao/templates/signin.tmpl:30
+#: ../themes/Sidebar/templates/signin.tmpl:15
+#: ../themes/Sidebar/templates/signin.tmpl:29
+#: ../themes/Wordpress/templates/signin.tmpl:17
+#: ../themes/Wordpress/templates/signin.tmpl:33
 #: ../themes/default/templates/signin.tmpl:16
 #: ../themes/default/templates/signin.tmpl:27
-#: ../themes/shamino_com/templates/signin.tmpl:15
-#: ../themes/shamino_com/templates/signin.tmpl:28
+#: ../themes/shamino_com/templates/signin.tmpl:14
+#: ../themes/shamino_com/templates/signin.tmpl:27
 #: ../themes/smaller/templates/signin.tmpl:16
 #: ../themes/smaller/templates/signin.tmpl:27
 msgid "Sign Out"
 msgstr ""
 
-#: ../lib/Theme.php:936 ../lib/WikiUser.php:221 ../lib/WikiUserNew.php:473
-#: ../themes/Crao/templates/signin.tmpl:54
-#: ../themes/Crao/templates/signin.tmpl:59
+#: ../lib/Theme.php:980 ../lib/WikiUser.php:221 ../lib/WikiUserNew.php:503
+#: ../themes/Crao/templates/signin.tmpl:53
 #: ../themes/default/templates/login.tmpl:76
 #: ../themes/smaller/templates/signin.tmpl:54
 msgid "Sign In"
 msgstr ""
 
-#: ../lib/Theme.php:937 ../themes/MacOSX/themeinfo.php:135
+#: ../lib/Theme.php:981 ../themes/MacOSX/themeinfo.php:133
 msgid "Lock Page"
 msgstr ""
 
-#: ../lib/Theme.php:938 ../themes/MacOSX/themeinfo.php:136
+#: ../lib/Theme.php:982 ../themes/MacOSX/themeinfo.php:134
 msgid "Unlock Page"
 msgstr ""
 
-#: ../lib/Theme.php:939 ../lib/removepage.php:23 ../lib/removepage.php:63
+#: ../lib/Theme.php:983 ../lib/removepage.php:23 ../lib/removepage.php:63
 msgid "Remove Page"
 msgstr ""
 
-#: ../lib/Theme.php:1188 ../lib/main.php:1014
-#: ../lib/plugin/RecentChanges.php:594 ../lib/plugin/TitleSearch.php:43
+#: ../lib/Theme.php:1149
+msgid ""
+"Some action(page) wanted to add more headers, but they were already printed."
+msgstr ""
+
+#: ../lib/Theme.php:1225 ../themes/Hawaiian/themeinfo.php:28
+#: ../themes/MacOSX/themeinfo.php:102 ../themes/MonoBook/themeinfo.php:126
+#: ../themes/Portland/themeinfo.php:58 ../themes/Sidebar/themeinfo.php:40
+#: ../themes/SpaceWiki/themeinfo.php:42 ../themes/Wordpress/themeinfo.php:60
+#: ../themes/shamino_com/themeinfo.php:54 ../themes/wikilens/themeinfo.php:25
+msgid "Printer"
+msgstr ""
+
+#: ../lib/Theme.php:1226 ../themes/MacOSX/themeinfo.php:103
+#: ../themes/MonoBook/themeinfo.php:127 ../themes/shamino_com/themeinfo.php:55
+#: ../themes/wikilens/themeinfo.php:26
+msgid "Top & bottom toolbars"
+msgstr ""
+
+#: ../lib/Theme.php:1227 ../themes/Hawaiian/themeinfo.php:29
+#: ../themes/MonoBook/themeinfo.php:128 ../themes/Portland/themeinfo.php:59
+#: ../themes/Sidebar/themeinfo.php:41 ../themes/SpaceWiki/themeinfo.php:43
+#: ../themes/Wordpress/themeinfo.php:61 ../themes/shamino_com/themeinfo.php:56
+#: ../themes/wikilens/themeinfo.php:27
+msgid "Modern"
+msgstr ""
+
+#: ../lib/Theme.php:1374 ../lib/main.php:1053
+#: ../lib/plugin/RecentChanges.php:727 ../lib/plugin/TitleSearch.php:43
 #: ../themes/Crao/templates/navbar.tmpl:4
 #: ../themes/Crao/templates/navbar.tmpl:8
 #: ../themes/Crao/templates/navbar.tmpl:51
-#: ../themes/MonoBook/templates/navbar.tmpl:23
-#: ../themes/Sidebar/templates/navbar.tmpl:7
-#: ../themes/Sidebar/templates/navbar.tmpl:13
-#: ../themes/Sidebar/templates/navbar.tmpl:20
+#: ../themes/MonoBook/templates/navbar.tmpl:33
 #: ../themes/blog/templates/search.tmpl:3
 #: ../themes/blog/templates/search.tmpl:18
 #: ../themes/default/templates/navbar.tmpl:6
 #: ../themes/default/templates/navbar.tmpl:24
 #: ../themes/default/templates/search.tmpl:3
-#: ../themes/default/templates/search.tmpl:6
-#: ../themes/default/templates/search.tmpl:25
-#: ../themes/default/templates/search.tmpl:29
+#: ../themes/default/templates/search.tmpl:9
+#: ../themes/default/templates/search.tmpl:33
 #: ../themes/shamino_com/templates/top.tmpl:18
 #: ../themes/smaller/templates/navbar.tmpl:4
-#: ../themes/wikilens/templates/navbar.tmpl:7
-#: ../themes/wikilens/templates/navbar.tmpl:15
 msgid "TitleSearch"
 msgstr ""
 
-#: ../lib/Theme.php:1347
+#: ../lib/Theme.php:1426 ../lib/plugin/Calendar.php:41
+#: ../lib/plugin/Calendar.php:45 ../themes/Crao/templates/head.tmpl:89
+#: ../themes/Crao/templates/navbar.tmpl:28
+#: ../themes/Sidebar/templates/body.tmpl:21
+#: ../themes/Sidebar/templates/body.tmpl:26
+#: ../themes/Wordpress/templates/actionbar.tmpl:32
+#: ../themes/blog/templates/sidebar.tmpl:16
+#: ../themes/default/templates/head.tmpl:96
+#: ../themes/default/templates/homepage.tmpl:15
+#: ../themes/default/templates/navbar.tmpl:45
+#: ../themes/wikilens/templates/head.tmpl:89
+#: ../themes/wikilens/templates/navbar.tmpl:25
+msgid "Calendar"
+msgstr ""
+
+#: ../lib/Theme.php:1690
 #, php-format
 msgid "Plugin %s: undefined"
 msgstr ""
 
-#: ../lib/Theme.php:1370
+#: ../lib/Theme.php:1713
 msgid "Related Links"
 msgstr ""
 
-#: ../lib/Theme.php:1390
+#: ../lib/Theme.php:1734
 msgid "External Links"
 msgstr ""
 
-#: ../lib/WikiDB.php:233
-#, php-format
-msgid "Removed by: %s"
-msgstr ""
-
-#: ../lib/WikiDB.php:235
-#, php-format
-msgid "Page removed %s"
-msgstr ""
-
-#: ../lib/WikiDB.php:241 ../lib/WikiDB.php:1054 ../lib/WikiDB.php:1079
-#: ../lib/loadsave.php:99
-#, php-format
-msgid "PageChange Notification of %s sent to %s"
-msgstr ""
-
-#: ../lib/WikiDB.php:244 ../lib/WikiDB.php:1057 ../lib/WikiDB.php:1082
-#: ../lib/loadsave.php:102
-#, php-format
-msgid "PageChange Notification Error: Couldn't send %s to %s"
-msgstr ""
-
-#: ../lib/WikiDB.php:474
+#: ../lib/WikiDB.php:539
 #, php-format
 msgid "renamed from %s"
 msgstr ""
 
-#: ../lib/WikiDB.php:482
+#: ../lib/WikiDB.php:548
 msgid "WikiDB::renamePage() not yet implemented for this backend"
 msgstr ""
 
-#: ../lib/WikiDB.php:847
+#: ../lib/WikiDB.php:921
 #, php-format
 msgid "%s: Date of new revision is %s"
 msgstr ""
 
-#: ../lib/WikiDB.php:911 ../lib/main.php:98
+#: ../lib/WikiDB.php:993 ../lib/main.php:98
 msgid "Optimizing database"
 msgstr ""
 
-#: ../lib/WikiDB.php:1017
-msgid "Page change"
-msgstr ""
-
-#: ../lib/WikiDB.php:1045 ../lib/loadsave.php:787
-#: ../lib/plugin/RecentChanges.php:107
-msgid "New page"
-msgstr ""
-
-#: ../lib/WikiDB.php:1048 ../lib/WikiDB.php:1071 ../lib/loadsave.php:93
-#, php-format
-msgid "Edited by: %s"
-msgstr ""
-
-#: ../lib/WikiDB.php:1073
-#, php-format
-msgid "Page rename %s to %s"
+#: ../lib/WikiDB.php:1376 ../lib/WikiDB.php:1384 ../lib/WikiUserNew.php:429
+#: ../lib/loadsave.php:852 ../lib/loadsave.php:1380 ../lib/loadsave.php:1383
+msgid "The PhpWiki programming team"
 msgstr ""
 
-#: ../lib/WikiDB.php:1633 ../lib/WikiDB.php:1637
+#: ../lib/WikiDB.php:1627 ../lib/WikiDB.php:1631
 #: ../themes/default/templates/homepage.tmpl:7
 #, php-format
 msgid "Describe %s here."
 msgstr ""
 
-#: ../lib/WikiDB.php:1672
+#: ../lib/WikiDB.php:1666
 #, php-format
 msgid "Oops! Revision %s of %s seems to have been deleted!"
 msgstr ""
 
-#: ../lib/WikiDB/backend/dba.php:22 ../lib/WikiDB/backend/dba.php:24
+#: ../lib/WikiDB/backend/dba.php:29 ../lib/WikiDB/backend/dba.php:31
 #, php-format
 msgid "%s: Can't open dba database"
 msgstr ""
 
-#: ../lib/WikiDB/backend/file.php:111
+#: ../lib/WikiDB/backend/file.php:111 ../lib/WikiDB/backend/flatfile.php:83
 #, php-format
 msgid "'%s': corrupt file"
 msgstr ""
 
 #: ../lib/WikiDB/dba.php:16 ../lib/WikiDB/file.php:47
+#: ../lib/WikiDB/flatfile.php:47
 #, php-format
 msgid ""
 "The %s files are in the %s directory. Please read the INSTALL file and move "
@@ -855,7 +952,7 @@
 msgid "No or not enough GROUP_DB SQL statements defined"
 msgstr ""
 
-#: ../lib/WikiGroup.php:838 ../lib/loadsave.php:962
+#: ../lib/WikiGroup.php:838 ../lib/loadsave.php:1021
 #, php-format
 msgid "%s: not defined"
 msgstr ""
@@ -883,89 +980,67 @@
 msgid "n/a"
 msgstr ""
 
-#: ../lib/WikiPlugin.php:121 ../lib/loadsave.php:82 ../lib/loadsave.php:408
-#: ../lib/loadsave.php:844 ../lib/loadsave.php:850 ../lib/loadsave.php:858
-#: ../lib/main.php:967 ../lib/main.php:1071
-#: ../lib/plugin/WikiAdminSelect.php:192 ../themes/Crao/templates/head.tmpl:79
-#: ../themes/Crao/templates/head.tmpl:80
-#: ../themes/Crao/templates/navbar.tmpl:37
-#: ../themes/MonoBook/templates/navbar.tmpl:46
-#: ../themes/Portland/templates/navbar.tmpl:30
-#: ../themes/Sidebar/templates/navbar.tmpl:38
-#: ../themes/Wordpress/templates/actionbar.tmpl:25
-#: ../themes/blog/templates/navbar.tmpl:14
-#: ../themes/default/templates/head.tmpl:86
-#: ../themes/default/templates/head.tmpl:87
-#: ../themes/default/templates/navbar.tmpl:55
-#: ../themes/shamino_com/templates/actionbar.tmpl:18
-#: ../themes/smaller/templates/navbar.tmpl:19
-#: ../themes/wikilens/templates/head.tmpl:78
-#: ../themes/wikilens/templates/head.tmpl:79
-#: ../themes/wikilens/templates/navbar.tmpl:43
-msgid "PhpWikiAdministration"
-msgstr ""
-
-#: ../lib/WikiPlugin.php:125
+#: ../lib/WikiPlugin.php:225
 #, php-format
-msgid "Argument '%s' not declared by plugin."
+msgid "trailing cruft in plugin args: '%s'"
 msgstr ""
 
-#: ../lib/WikiPlugin.php:235
+#: ../lib/WikiPlugin.php:233
 #, php-format
-msgid "trailing cruft in plugin args: '%s'"
+msgid "Argument '%s' not declared by plugin."
 msgstr ""
 
-#: ../lib/WikiPlugin.php:378
+#: ../lib/WikiPlugin.php:376
 #, php-format
 msgid "Plugin %s failed."
 msgstr ""
 
-#: ../lib/WikiPlugin.php:384
+#: ../lib/WikiPlugin.php:382
 #, php-format
 msgid "Plugin %s disabled."
 msgstr ""
 
-#: ../lib/WikiPlugin.php:520
+#: ../lib/WikiPlugin.php:518
 #, php-format
 msgid "Include of '%s' failed."
 msgstr ""
 
-#: ../lib/WikiPlugin.php:522
+#: ../lib/WikiPlugin.php:520
 #, php-format
 msgid "%s: no such class"
 msgstr ""
 
-#: ../lib/WikiPlugin.php:528
+#: ../lib/WikiPlugin.php:526
 #, php-format
 msgid "%s: not a subclass of WikiPlugin."
 msgstr ""
 
-#: ../lib/WikiPluginCached.php:691
+#: ../lib/WikiPluginCached.php:688
 #, php-format
 msgid ""
 "There is no image creation data available to id '%s'. Please reload "
 "referring page."
 msgstr ""
 
-#: ../lib/WikiPluginCached.php:845
+#: ../lib/WikiPluginCached.php:842
 msgid "Image map expired. Reload wiki page to recreate its html part."
 msgstr ""
 
 #: ../lib/WikiUser.php:188 ../lib/WikiUser.php:268
 #: ../lib/WikiUser/AdoDb.php:29 ../lib/WikiUser/AdoDb.php:186
 #: ../lib/WikiUser/Db.php:43 ../lib/WikiUser/File.php:58
-#: ../lib/WikiUser/IMAP.php:17 ../lib/WikiUser/LDAP.php:58
+#: ../lib/WikiUser/IMAP.php:18 ../lib/WikiUser/LDAP.php:58
 #: ../lib/WikiUser/POP3.php:17 ../lib/WikiUser/PdoDb.php:28
 #: ../lib/WikiUser/PdoDb.php:103 ../lib/WikiUser/PearDb.php:26
-#: ../lib/WikiUser/PearDb.php:116 ../lib/WikiUserNew.php:559
+#: ../lib/WikiUser/PearDb.php:116 ../lib/WikiUserNew.php:590
 msgid "Invalid username."
 msgstr ""
 
-#: ../lib/WikiUser.php:192 ../lib/WikiUserNew.php:566
+#: ../lib/WikiUser.php:192 ../lib/WikiUserNew.php:597
 msgid "Invalid password or userid."
 msgstr ""
 
-#: ../lib/WikiUser.php:194 ../lib/WikiUserNew.php:582
+#: ../lib/WikiUser.php:194 ../lib/WikiUserNew.php:613
 msgid "Insufficient permissions."
 msgstr ""
 
@@ -995,8 +1070,10 @@
 
 #: ../lib/WikiUser.php:465 ../lib/WikiUser.php:475
 #: ../themes/Crao/templates/navbar.tmpl:23
+#: ../themes/MonoBook/templates/navbar.tmpl:61
 #: ../themes/default/templates/navbar.tmpl:40
 #: ../themes/shamino_com/templates/top.tmpl:28
+#: ../themes/wikilens/templates/navbar.tmpl:23
 msgid "Preferences"
 msgstr ""
 
@@ -1013,14 +1090,14 @@
 msgid "%s is missing"
 msgstr ""
 
-#: ../lib/WikiUser/AdoDb.php:201 ../lib/WikiUser/AdoDb.php:255
+#: ../lib/WikiUser/AdoDb.php:201 ../lib/WikiUser/AdoDb.php:258
 #: ../lib/WikiUser/PdoDb.php:190 ../lib/WikiUser/PdoDb.php:255
 #: ../lib/WikiUser/PearDb.php:179 ../lib/WikiUser/PearDb.php:223
 #, php-format
 msgid "Either %s is missing or DATABASE_TYPE != '%s'"
 msgstr ""
 
-#: ../lib/WikiUser/IMAP.php:33
+#: ../lib/WikiUser/IMAP.php:36
 msgid "Unable to connect to IMAP server "
 msgstr ""
 
@@ -1029,12 +1106,32 @@
 msgid "Unable to bind LDAP server %s using %s %s"
 msgstr ""
 
-#: ../lib/WikiUser/LDAP.php:65 ../lib/WikiUser/LDAP.php:108
+#: ../lib/WikiUser/LDAP.php:68
+msgid "Empty password not allowed for LDAP"
+msgstr ""
+
+#: ../lib/WikiUser/LDAP.php:73 ../lib/WikiUser/LDAP.php:149
 #, php-format
 msgid "Invalid username '%s' for LDAP Auth"
 msgstr ""
 
-#: ../lib/WikiUser/POP3.php:59
+#: ../lib/WikiUser/LDAP.php:84
+msgid "Could not search in LDAP"
+msgstr ""
+
+#: ../lib/WikiUser/LDAP.php:91
+msgid "User not found in LDAP"
+msgstr ""
+
+#: ../lib/WikiUser/LDAP.php:125
+msgid "Wrong password: "
+msgstr ""
+
+#: ../lib/WikiUser/LDAP.php:131
+msgid "Could not connect to LDAP"
+msgstr ""
+
+#: ../lib/WikiUser/POP3.php:61
 #, php-format
 msgid "Couldn't connect to %s"
 msgstr ""
@@ -1064,48 +1161,53 @@
 msgid "Given password ignored."
 msgstr ""
 
-#: ../lib/WikiUserNew.php:564
+#: ../lib/WikiUserNew.php:430
+msgid ""
+"Automatically created user homepage to be able to store UserPreferences."
+msgstr ""
+
+#: ../lib/WikiUserNew.php:595
 msgid "Invalid password."
 msgstr ""
 
-#: ../lib/WikiUserNew.php:628
+#: ../lib/WikiUserNew.php:659
 msgid "Empty Preferences or format of UserPreferences cookie not recognised."
 msgstr ""
 
-#: ../lib/WikiUserNew.php:632
+#: ../lib/WikiUserNew.php:663
 msgid "Default preferences will be used."
 msgstr ""
 
-#: ../lib/WikiUserNew.php:1190
+#: ../lib/WikiUserNew.php:1233
 msgid "The length of the password is shorter than the system policy allows."
 msgstr ""
 
-#: ../lib/WikiUserNew.php:1216
+#: ../lib/WikiUserNew.php:1259
 msgid ""
 "The length of the stored password is shorter than the system policy allows. "
 "Sorry, you cannot login.\n"
 " You have to ask the System Administrator to reset your password."
 msgstr ""
 
-#: ../lib/WikiUserNew.php:1231
+#: ../lib/WikiUserNew.php:1274
 msgid "The crypt function is not available in this version of PHP."
 msgstr ""
 
-#: ../lib/WikiUserNew.php:1232
+#: ../lib/WikiUserNew.php:1275
 msgid ""
 "Please set ENCRYPTED_PASSWD to false in config/config.ini and probably "
 "change ADMIN_PASSWD."
 msgstr ""
 
-#: ../lib/WikiUserNew.php:1245
+#: ../lib/WikiUserNew.php:1288
 msgid "Please set ENCRYPTED_PASSWD to true in config/config.ini."
 msgstr ""
 
-#: ../lib/WikiUserNew.php:1657
+#: ../lib/WikiUserNew.php:1701 ../lib/plugin/WikiAdminUtils.php:114
 msgid "Email Verification"
 msgstr ""
 
-#: ../lib/WikiUserNew.php:1658
+#: ../lib/WikiUserNew.php:1702
 #, php-format
 msgid ""
 "Welcome to %s!\n"
@@ -1114,108 +1216,153 @@
 "See %s"
 msgstr ""
 
-#: ../lib/WikiUserNew.php:1711
+#: ../lib/WikiUserNew.php:1762
 #, php-format
 msgid "E-Mail address '%s' is not properly formatted"
 msgstr ""
 
-#: ../lib/WikiUserNew.php:1715
+#: ../lib/WikiUserNew.php:1766
 #, php-format
 msgid "E-Mail address '%s' is properly formatted"
 msgstr ""
 
-#: ../lib/XmlElement.php:456 ../lib/stdlib.php:1344
+#: ../lib/WysiwygEdit/Wikiwyg.php:74
+msgid "Apply changes"
+msgstr ""
+
+#: ../lib/WysiwygEdit/Wikiwyg.php:75
+msgid "Exit toolbar"
+msgstr ""
+
+#: ../lib/WysiwygEdit/Wikiwyg.php:76
+msgid "Title 1"
+msgstr ""
+
+#: ../lib/WysiwygEdit/Wikiwyg.php:77
+msgid "Title 2"
+msgstr ""
+
+#: ../lib/WysiwygEdit/Wikiwyg.php:78
+msgid "Title 3"
+msgstr ""
+
+#: ../lib/WysiwygEdit/Wikiwyg.php:79
+msgid "Verbatim"
+msgstr ""
+
+#: ../lib/WysiwygEdit/Wikiwyg.php:80
+msgid "Table of content"
+msgstr ""
+
+#: ../lib/WysiwygEdit/Wikiwyg.php:81
+msgid "Insert Wikitext section"
+msgstr ""
+
+#: ../lib/WysiwygEdit/Wikiwyg.php:82
+msgid "Sup"
+msgstr ""
+
+#: ../lib/WysiwygEdit/Wikiwyg.php:83
+msgid "Sub"
+msgstr ""
+
+#: ../lib/WysiwygEdit/Wikiwyg.php:107
+msgid "Warning: This Wikiwyg editor has only Beta quality!"
+msgstr ""
+
+#: ../lib/XmlElement.php:467 ../lib/stdlib.php:1357
 #, php-format
 msgid "Can't mix '%s' with '%s' type format strings"
 msgstr ""
 
-#: ../lib/XmlRpcServer.php:562
+#: ../lib/XmlRpcServer.php:511
 msgid "xml-rpc change"
 msgstr ""
 
-#: ../lib/diff.php:259 ../lib/plugin/Diff.php:72
+#: ../lib/diff.php:258 ../lib/plugin/Diff.php:73
 #, php-format
 msgid "version %s"
 msgstr ""
 
-#: ../lib/diff.php:266 ../lib/plugin/Diff.php:77
+#: ../lib/diff.php:265 ../lib/plugin/Diff.php:78
 #: ../lib/wikilens/PageListColumns.php:351
 msgid "None"
 msgstr ""
 
-#: ../lib/diff.php:289 ../lib/plugin/Diff.php:94
-#: ../lib/plugin/PageHistory.php:312 ../lib/plugin/PageInfo.php:59
+#: ../lib/diff.php:288 ../lib/plugin/Diff.php:95
+#: ../lib/plugin/PageHistory.php:326 ../lib/plugin/PageInfo.php:59
 #, php-format
 msgid "I'm sorry, there is no such page as %s."
 msgstr ""
 
-#: ../lib/diff.php:292 ../lib/diff.php:394
+#: ../lib/diff.php:291 ../lib/diff.php:396
 #, php-format
 msgid "Diff: %s"
 msgstr ""
 
-#: ../lib/diff.php:299 ../lib/diff.php:309 ../lib/plugin/Diff.php:102
-#: ../lib/plugin/Diff.php:112
+#: ../lib/diff.php:298 ../lib/diff.php:308 ../lib/plugin/Diff.php:103
+#: ../lib/plugin/Diff.php:113
 #, php-format
 msgid "version %d"
 msgstr ""
 
-#: ../lib/diff.php:303 ../lib/plugin/Diff.php:106
+#: ../lib/diff.php:302 ../lib/plugin/Diff.php:107
 msgid "current version"
 msgstr ""
 
-#: ../lib/diff.php:320 ../lib/plugin/Diff.php:123
+#: ../lib/diff.php:319 ../lib/plugin/Diff.php:124
 msgid "revision by previous author"
 msgstr ""
 
-#: ../lib/diff.php:326 ../lib/plugin/Diff.php:129
+#: ../lib/diff.php:325 ../lib/plugin/Diff.php:130
 msgid "previous revision"
 msgstr ""
 
-#: ../lib/diff.php:336 ../lib/plugin/Diff.php:139
+#: ../lib/diff.php:335 ../lib/plugin/Diff.php:140
 msgid "predecessor to the previous major change"
 msgstr ""
 
-#: ../lib/diff.php:347 ../lib/plugin/Diff.php:149
+#: ../lib/diff.php:346 ../lib/plugin/Diff.php:150
 #, php-format
 msgid "Differences between %s and %s of %s."
 msgstr ""
 
-#: ../lib/diff.php:350 ../lib/plugin/Diff.php:152
+#: ../lib/diff.php:349 ../lib/plugin/Diff.php:153
 msgid "Other diffs:"
 msgstr ""
 
-#: ../lib/diff.php:351 ../lib/plugin/Diff.php:153
+#: ../lib/diff.php:350 ../lib/plugin/Diff.php:154
 msgid "Previous Major Revision"
 msgstr ""
 
-#: ../lib/diff.php:352 ../lib/plugin/Diff.php:154
+#: ../lib/diff.php:351 ../lib/plugin/Diff.php:155
 msgid "Previous Revision"
 msgstr ""
 
-#: ../lib/diff.php:353 ../lib/plugin/Diff.php:155
+#: ../lib/diff.php:352 ../lib/plugin/Diff.php:156
 msgid "Previous Author"
 msgstr ""
 
-#: ../lib/diff.php:370 ../lib/plugin/Diff.php:172
+#: ../lib/diff.php:368 ../lib/plugin/Diff.php:173
 msgid "Newer page:"
 msgstr ""
 
-#: ../lib/diff.php:372 ../lib/plugin/Diff.php:174
+#: ../lib/diff.php:370 ../lib/plugin/Diff.php:175
 msgid "Older page:"
 msgstr ""
 
-#: ../lib/diff.php:380 ../lib/plugin/Diff.php:182
+#: ../lib/diff.php:378 ../lib/editpage.php:499 ../lib/plugin/Diff.php:183
 msgid "Versions are identical"
 msgstr ""
 
 # This entry is important for French punctuation rules which stipulate
 # a space before each colon.
-#: ../lib/display.php:53 ../lib/plugin/HelloWorld.php:70
-#: ../lib/plugin/PageGroup.php:102 ../lib/plugin/PageGroup.php:166
-#: ../lib/plugin/PageGroup.php:177 ../lib/plugin/PageGroup.php:193
-#: ../lib/plugin/PageGroup.php:200 ../lib/plugin/PageHistory.php:216
-#: ../lib/plugin/UnfoldSubpages.php:140 ../themes/Crao/templates/head.tmpl:47
+#: ../lib/display.php:54 ../lib/display.php:240
+#: ../lib/plugin/HelloWorld.php:70 ../lib/plugin/PageGroup.php:102
+#: ../lib/plugin/PageGroup.php:166 ../lib/plugin/PageGroup.php:177
+#: ../lib/plugin/PageGroup.php:193 ../lib/plugin/PageGroup.php:200
+#: ../lib/plugin/PageHistory.php:229 ../lib/plugin/UnfoldSubpages.php:140
+#: ../themes/Crao/templates/head.tmpl:47
 #: ../themes/MonoBook/templates/logo.tmpl:2
 #: ../themes/Portland/templates/body.tmpl:8
 #: ../themes/Sidebar/templates/frame-header.tmpl:16
@@ -1225,36 +1372,38 @@
 #: ../themes/default/templates/top.tmpl:11
 #: ../themes/shamino_com/templates/top.tmpl:8
 #: ../themes/wikilens/templates/head.tmpl:45
+#: ../themes/wikilens/templates/top.tmpl:11
 #, php-format
 msgid "%s: %s"
 msgstr ""
 
-#: ../lib/display.php:119 ../lib/display.php:126
+#: ../lib/display.php:82 ../lib/display.php:324
+#: ../lib/plugin/LinkDatabase.php:42
+msgid "LinkDatabase"
+msgstr ""
+
+#: ../lib/display.php:177 ../lib/display.php:184
 #: ../lib/plugin/BackLinks.php:31 ../lib/plugin/_WikiTranslation.php:53
 #: ../themes/Crao/templates/navbar.tmpl:17
-#: ../themes/Sidebar/templates/navbar.tmpl:35
+#: ../themes/Sidebar/templates/navbar.tmpl:25
 #: ../themes/blog/templates/navbar.tmpl:11
 #: ../themes/default/templates/navbar.tmpl:34
 #: ../themes/smaller/templates/navbar.tmpl:16
-#: ../themes/wikilens/templates/navbar.tmpl:25
+#: ../themes/wikilens/templates/navbar.tmpl:22
 msgid "BackLinks"
 msgstr ""
 
-#: ../lib/display.php:122 ../lib/display.php:129
+#: ../lib/display.php:180 ../lib/display.php:187
 #, php-format
 msgid "BackLinks for %s"
 msgstr ""
 
-#: ../lib/display.php:137
+#: ../lib/display.php:195
 #, php-format
 msgid "(Redirected from %s)"
 msgstr ""
 
-#: ../lib/display.php:177
-msgid "You searched for: "
-msgstr ""
-
-#: ../lib/display.php:218 ../themes/Crao/templates/head.tmpl:70
+#: ../lib/display.php:269 ../themes/Crao/templates/head.tmpl:70
 #: ../themes/Crao/templates/head.tmpl:71
 #: ../themes/default/templates/head.tmpl:76
 #: ../themes/default/templates/head.tmpl:77
@@ -1263,96 +1412,139 @@
 msgid "SandBox"
 msgstr ""
 
-#: ../lib/editpage.php:134 ../lib/editpage.php:469
+#: ../lib/editpage.php:162 ../lib/editpage.php:559
 msgid "Your version"
 msgstr ""
 
-#: ../lib/editpage.php:134 ../lib/editpage.php:470
+#: ../lib/editpage.php:162 ../lib/editpage.php:560
 msgid "Other version"
 msgstr ""
 
-#: ../lib/editpage.php:145
+#: ../lib/editpage.php:173
 msgid "Some internal editing error"
 msgstr ""
 
-#: ../lib/editpage.php:146
+#: ../lib/editpage.php:174
 msgid ""
 "Your are probably trying to edit/create an invalid version of this page."
 msgstr ""
 
-#: ../lib/editpage.php:147
+#: ../lib/editpage.php:175
 msgid "&version=-1 might help."
 msgstr ""
 
-#: ../lib/editpage.php:164
+#: ../lib/editpage.php:194
 #, php-format
 msgid "Edit: %s"
 msgstr ""
 
-#: ../lib/editpage.php:198
+#: ../lib/editpage.php:232
 #, php-format
 msgid "View Source: %s"
 msgstr ""
 
-#: ../lib/editpage.php:212
+#: ../lib/editpage.php:246
 msgid "Page now locked."
 msgstr ""
 
-#: ../lib/editpage.php:212
+#: ../lib/editpage.php:246
 msgid "Page now unlocked."
 msgstr ""
 
-#: ../lib/editpage.php:314
+#: ../lib/editpage.php:353
 #, php-format
 msgid "Saved: %s"
 msgstr ""
 
-#: ../lib/editpage.php:366
+#: ../lib/editpage.php:406
 msgid "Too many external links."
 msgstr ""
 
-#: ../lib/editpage.php:379
+#: ../lib/editpage.php:419
 msgid "SpamAssassin reports: "
 msgstr ""
 
-#: ../lib/editpage.php:396
+#: ../lib/editpage.php:446
 msgid "External links contain blocked domains:"
 msgstr ""
 
-#: ../lib/editpage.php:397
+#: ../lib/editpage.php:447
 #, php-format
-msgid "%s is listed at %s"
+msgid "%s is listed at %s with %s"
 msgstr ""
 
-#: ../lib/editpage.php:418
+#: ../lib/editpage.php:471
 msgid "Spam Prevention"
 msgstr ""
 
-#: ../lib/editpage.php:419
+#: ../lib/editpage.php:472
 msgid "This page edit seems to contain spam and was therefore not saved."
 msgstr ""
 
-#: ../lib/editpage.php:421 ../lib/editpage.php:455
+#: ../lib/editpage.php:474 ../lib/editpage.php:535
 msgid "Sorry for the inconvenience."
 msgstr ""
 
-#: ../lib/editpage.php:452 ../themes/MacOSX/themeinfo.php:137
+#: ../lib/editpage.php:532 ../themes/MacOSX/themeinfo.php:135
 msgid "Page Locked"
 msgstr ""
 
-#: ../lib/editpage.php:453
+#: ../lib/editpage.php:533
 msgid ""
 "This page has been locked by the administrator so your changes can not be "
 "saved."
 msgstr ""
 
-#: ../lib/editpage.php:454
+#: ../lib/editpage.php:534
 msgid ""
 "(Copy your changes to the clipboard. You can try editing a different page or "
 "save your text in a text editor.)"
 msgstr ""
 
-#: ../lib/editpage.php:468 ../lib/editpage.php:757
+#: ../lib/editpage.php:543 ../lib/editpage.php:544 ../lib/main.php:733
+#: ../lib/main.php:1090 ../lib/plugin/ModeratedPage.php:41
+#: ../lib/plugin/ModeratedPage.php:149 ../lib/plugin/ModeratedPage.php:219
+#: ../lib/plugin/ModeratedPage.php:258 ../lib/plugin/ModeratedPage.php:261
+#: ../lib/plugin/ModeratedPage.php:263 ../lib/plugin/ModeratedPage.php:265
+#: ../lib/plugin/ModeratedPage.php:349 ../lib/plugin/ModeratedPage.php:353
+#: ../lib/plugin/ModeratedPage.php:408 ../lib/plugin/ModeratedPage.php:433
+msgid "ModeratedPage"
+msgstr ""
+
+#: ../lib/editpage.php:544
+#, php-format
+msgid ""
+"You can edit away, but your changes will have to be approved by the defined "
+"moderators at the definition in %s"
+msgstr ""
+
+#: ../lib/editpage.php:546 ../lib/plugin/PasswordReset.php:155
+#: ../lib/plugin/UserPreferences.php:38 ../lib/plugin/WatchPage.php:115
+#: ../lib/plugin/WatchPage.php:133 ../themes/Crao/templates/head.tmpl:85
+#: ../themes/Crao/templates/head.tmpl:86
+#: ../themes/Crao/templates/navbar.tmpl:23
+#: ../themes/MonoBook/templates/navbar.tmpl:61
+#: ../themes/blog/templates/navbar.tmpl:17
+#: ../themes/default/templates/head.tmpl:92
+#: ../themes/default/templates/head.tmpl:93
+#: ../themes/default/templates/homepage.tmpl:11
+#: ../themes/default/templates/navbar.tmpl:40
+#: ../themes/shamino_com/templates/top.tmpl:28
+#: ../themes/smaller/templates/navbar.tmpl:22
+#: ../themes/wikilens/templates/head.tmpl:85
+#: ../themes/wikilens/templates/head.tmpl:86
+#: ../themes/wikilens/templates/navbar.tmpl:23
+msgid "UserPreferences"
+msgstr ""
+
+#: ../lib/editpage.php:545
+#, php-format
+msgid ""
+"The approval has a grace period of 5 days. If you have your E-Mail defined "
+"in your %s, you will get a notification of approval or rejection."
+msgstr ""
+
+#: ../lib/editpage.php:558 ../lib/editpage.php:900
 #, php-format
 msgid ""
 "Some of the changes could not automatically be combined.  Please look for "
@@ -1360,38 +1552,60 @@
 "those sections by hand before you click Save."
 msgstr ""
 
-#: ../lib/editpage.php:472 ../lib/editpage.php:760
+#: ../lib/editpage.php:562 ../lib/editpage.php:903
 msgid "Please check it through before saving."
 msgstr ""
 
-#: ../lib/editpage.php:483
+#: ../lib/editpage.php:573
 msgid "Conflicting Edits!"
 msgstr ""
 
-#: ../lib/editpage.php:484
+#: ../lib/editpage.php:574
 msgid ""
 "In the time since you started editing this page, another user has saved a "
 "new version of it."
 msgstr ""
 
-#: ../lib/editpage.php:485
+#: ../lib/editpage.php:575
 msgid ""
 "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."
 msgstr ""
 
-#: ../lib/editpage.php:555
+#: ../lib/editpage.php:649
 msgid "Convert"
 msgstr ""
 
-#: ../lib/editpage.php:588 ../themes/Portland/templates/editpage.tmpl:45
-#: ../themes/Wordpress/templates/editpage.tmpl:54
+#: ../lib/editpage.php:668
+msgid "Changes"
+msgstr ""
+
+#: ../lib/editpage.php:672 ../lib/plugin/HtmlConverter.php:66
+#: ../lib/plugin/UpLoad.php:146 ../lib/plugin/UpLoad.php:151
+#: ../lib/plugin/WikiForm.php:103
+msgid "Upload"
+msgstr ""
+
+#: ../lib/editpage.php:675
+msgid "Spell Check"
+msgstr ""
+
+#: ../lib/editpage.php:698 ../themes/Portland/templates/editpage.tmpl:41
+#: ../themes/Wordpress/templates/editpage.tmpl:52
 #, php-format
 msgid "Author will be logged as %s."
 msgstr ""
 
-#: ../lib/editpage.php:731
+#: ../lib/editpage.php:855
+msgid "Keep old"
+msgstr ""
+
+#: ../lib/editpage.php:858
+msgid "Overwrite with new"
+msgstr ""
+
+#: ../lib/editpage.php:868
 #, php-format
 msgid "Merge and Edit: %s"
 msgstr ""
@@ -1420,10 +1634,41 @@
 msgid "Dump pages as XHTML"
 msgstr ""
 
+#: ../lib/loadsave.php:82 ../lib/loadsave.php:428 ../lib/loadsave.php:902
+#: ../lib/loadsave.php:908 ../lib/loadsave.php:916 ../lib/main.php:1006
+#: ../lib/main.php:1110 ../lib/plugin/WikiAdminSelect.php:192
+#: ../themes/Crao/templates/head.tmpl:79 ../themes/Crao/templates/head.tmpl:80
+#: ../themes/Crao/templates/navbar.tmpl:37
+#: ../themes/MonoBook/templates/navbar.tmpl:57
+#: ../themes/Portland/templates/navbar.tmpl:27
+#: ../themes/Sidebar/templates/navbar.tmpl:28
+#: ../themes/Wordpress/templates/actionbar.tmpl:26
+#: ../themes/blog/templates/navbar.tmpl:14
+#: ../themes/default/templates/head.tmpl:86
+#: ../themes/default/templates/head.tmpl:87
+#: ../themes/default/templates/navbar.tmpl:55
+#: ../themes/shamino_com/templates/actionbar.tmpl:18
+#: ../themes/smaller/templates/navbar.tmpl:19
+#: ../themes/wikilens/templates/head.tmpl:78
+#: ../themes/wikilens/templates/head.tmpl:79
+#: ../themes/wikilens/templates/navbar.tmpl:32
+msgid "PhpWikiAdministration"
+msgstr ""
+
 #: ../lib/loadsave.php:95 ../lib/loadsave.php:96
 msgid "LoadDump"
 msgstr ""
 
+#: ../lib/loadsave.php:99
+#, php-format
+msgid "PageChange Notification of %s sent to %s"
+msgstr ""
+
+#: ../lib/loadsave.php:102
+#, php-format
+msgid "PageChange Notification Error: Couldn't send %s to %s"
+msgstr ""
+
 #: ../lib/loadsave.php:110
 msgid "Complete."
 msgstr ""
@@ -1433,524 +1678,523 @@
 msgid "Return to %s"
 msgstr ""
 
-#: ../lib/loadsave.php:197
+#: ../lib/loadsave.php:200
 msgid "FullDump"
 msgstr ""
 
-#: ../lib/loadsave.php:201
+#: ../lib/loadsave.php:204
 msgid "LatestSnapshot"
 msgstr ""
 
-#: ../lib/loadsave.php:273 ../lib/loadsave.php:381
+#: ../lib/loadsave.php:276 ../lib/loadsave.php:401
 msgid "You must specify a directory to dump to"
 msgstr ""
 
-#: ../lib/loadsave.php:278 ../lib/loadsave.php:386
+#: ../lib/loadsave.php:281 ../lib/loadsave.php:406
 #, php-format
 msgid "Cannot create directory '%s'"
 msgstr ""
 
-#: ../lib/loadsave.php:280 ../lib/loadsave.php:388
+#: ../lib/loadsave.php:283 ../lib/loadsave.php:408
 #, php-format
 msgid "Created directory '%s' for the page dump..."
 msgstr ""
 
-#: ../lib/loadsave.php:283 ../lib/loadsave.php:391
+#: ../lib/loadsave.php:286 ../lib/loadsave.php:411
 #, php-format
 msgid "Using directory '%s'"
 msgstr ""
 
-#: ../lib/loadsave.php:286 ../lib/loadsave.php:394
+#: ../lib/loadsave.php:289 ../lib/loadsave.php:414
 msgid "Dumping Pages"
 msgstr ""
 
-#: ../lib/loadsave.php:318 ../lib/loadsave.php:451 ../lib/stdlib.php:845
+#: ../lib/loadsave.php:321 ../lib/loadsave.php:471 ../lib/stdlib.php:857
 msgid "Skipped."
 msgstr ""
 
-#: ../lib/loadsave.php:326
+#: ../lib/loadsave.php:329
 #, php-format
 msgid "saved as %s"
 msgstr ""
 
-#: ../lib/loadsave.php:336 ../lib/loadsave.php:469
-#: ../lib/plugin/text2png.php:183
+#: ../lib/loadsave.php:339 ../lib/loadsave.php:503
+#: ../lib/plugin/text2png.php:228
 #, php-format
 msgid "couldn't open file '%s' for writing"
 msgstr ""
 
-#: ../lib/loadsave.php:342 ../lib/loadsave.php:478
+#: ../lib/loadsave.php:345 ../lib/loadsave.php:513
 #, php-format
 msgid "%s bytes written"
 msgstr ""
 
-#: ../lib/loadsave.php:476
+#: ../lib/loadsave.php:511
 msgid "saved as "
 msgstr ""
 
-#: ../lib/loadsave.php:514 ../lib/loadsave.php:533 ../lib/loadsave.php:550
+#: ../lib/loadsave.php:549 ../lib/loadsave.php:569 ../lib/loadsave.php:586
 #, php-format
 msgid "... copied to %s"
 msgstr ""
 
-#: ../lib/loadsave.php:516 ../lib/loadsave.php:535 ../lib/loadsave.php:552
+#: ../lib/loadsave.php:551 ../lib/loadsave.php:571 ../lib/loadsave.php:588
 #, php-format
 msgid "... not copied to %s"
 msgstr ""
 
-#: ../lib/loadsave.php:519 ../lib/loadsave.php:538 ../lib/loadsave.php:555
+#: ../lib/loadsave.php:555 ../lib/loadsave.php:574 ../lib/loadsave.php:592
 msgid "... not found"
 msgstr ""
 
-#: ../lib/loadsave.php:723
+#: ../lib/loadsave.php:760
 msgid "Empty pagename!"
 msgstr ""
 
-#: ../lib/loadsave.php:779
+#: ../lib/loadsave.php:770
+msgid "Invalid pagename!"
+msgstr ""
+
+#: ../lib/loadsave.php:833
 #, php-format
 msgid "from %s"
 msgstr ""
 
-#: ../lib/loadsave.php:795
+#: ../lib/loadsave.php:849
 msgid "has edit conflicts - overwriting anyway"
 msgstr ""
 
-#: ../lib/loadsave.php:798 ../lib/loadsave.php:1292 ../lib/loadsave.php:1295
-msgid "The PhpWiki programming team"
+#: ../lib/loadsave.php:858
+msgid "keep old"
 msgstr ""
 
-#: ../lib/loadsave.php:803
+#: ../lib/loadsave.php:860
 msgid "has edit conflicts - skipped"
 msgstr ""
 
-#: ../lib/loadsave.php:814
+#: ../lib/loadsave.php:872
 #, php-format
 msgid "content is identical to current version %d - no new revision created"
 msgstr ""
 
-#: ../lib/loadsave.php:828
+#: ../lib/loadsave.php:886
 #, php-format
 msgid "- saved to database as version %d"
 msgstr ""
 
-#: ../lib/loadsave.php:834 ../lib/loadsave.php:1088
+#: ../lib/loadsave.php:892 ../lib/loadsave.php:1162
 #, php-format
 msgid "MIME file %s"
 msgstr ""
 
-#: ../lib/loadsave.php:835 ../lib/loadsave.php:1093
+#: ../lib/loadsave.php:893 ../lib/loadsave.php:1173
 #, php-format
 msgid "Serialized file %s"
 msgstr ""
 
-#: ../lib/loadsave.php:836 ../lib/loadsave.php:1107
+#: ../lib/loadsave.php:894 ../lib/loadsave.php:1195
 #, php-format
 msgid "plain file %s"
 msgstr ""
 
-#: ../lib/loadsave.php:843
+#: ../lib/loadsave.php:901 ../lib/plugin/SyncWiki.php:271
 msgid "Merge Edit"
 msgstr ""
 
-#: ../lib/loadsave.php:849
+#: ../lib/loadsave.php:907
 msgid "Restore Anyway"
 msgstr ""
 
-#: ../lib/loadsave.php:857
+#: ../lib/loadsave.php:915
 msgid "Overwrite All"
 msgstr ""
 
-#: ../lib/loadsave.php:864
+#: ../lib/loadsave.php:922
 msgid " Sorry, cannot merge."
 msgstr ""
 
-#: ../lib/loadsave.php:884 ../lib/loadsave.php:894 ../lib/loadsave.php:901
-#: ../lib/loadsave.php:908 ../themes/MonoBook/templates/actionbar.tmpl:37
-#: ../themes/Wordpress/templates/actionbar.tmpl:57
-#: ../themes/default/templates/actionbar.tmpl:26
-#: ../themes/smaller/templates/actionbar.tmpl:29
+#: ../lib/loadsave.php:942 ../lib/loadsave.php:952 ../lib/loadsave.php:959
+#: ../lib/loadsave.php:966 ../themes/MonoBook/templates/actionbar.tmpl:60
+#: ../themes/Wordpress/templates/actionbar.tmpl:58
+#: ../themes/default/templates/actionbar.tmpl:28
+#: ../themes/smaller/templates/actionbar.tmpl:31
 msgid "Revert"
 msgstr ""
 
-#: ../lib/loadsave.php:885
+#: ../lib/loadsave.php:943
 msgid "missing required version argument"
 msgstr ""
 
-#: ../lib/loadsave.php:893
+#: ../lib/loadsave.php:951
 msgid "no page content"
 msgstr ""
 
-#: ../lib/loadsave.php:900
+#: ../lib/loadsave.php:958
 msgid "same version page"
 msgstr ""
 
-#: ../lib/loadsave.php:907
+#: ../lib/loadsave.php:965
 msgid "Cancelled"
 msgstr ""
 
-#: ../lib/loadsave.php:915
+#: ../lib/loadsave.php:973
 msgid "Are you sure?"
 msgstr ""
 
-#: ../lib/loadsave.php:921 ../lib/plugin/PasswordReset.php:104
-#: ../lib/plugin/PasswordReset.php:142 ../lib/plugin/UserPreferences.php:114
-#: ../lib/plugin/WikiAdminChmod.php:146 ../lib/plugin/WikiAdminChown.php:153
-#: ../lib/plugin/WikiAdminMarkup.php:149 ../lib/plugin/WikiAdminRemove.php:188
-#: ../lib/plugin/WikiAdminRename.php:165
+#: ../lib/loadsave.php:979 ../lib/plugin/PasswordReset.php:103
+#: ../lib/plugin/PasswordReset.php:146 ../lib/plugin/UserPreferences.php:114
+#: ../lib/plugin/WatchPage.php:84 ../lib/plugin/WikiAdminChmod.php:146
+#: ../lib/plugin/WikiAdminChown.php:153 ../lib/plugin/WikiAdminMarkup.php:149
+#: ../lib/plugin/WikiAdminRemove.php:188 ../lib/plugin/WikiAdminRename.php:165
 #: ../lib/plugin/WikiAdminSearchReplace.php:180
-#: ../lib/plugin/WikiAdminSetAcl.php:176
+#: ../lib/plugin/WikiAdminSetAcl.php:180
 msgid "Yes"
 msgstr ""
 
-#: ../lib/loadsave.php:923 ../lib/plugin/PasswordReset.php:107
-#: ../lib/plugin/PasswordReset.php:145 ../lib/plugin/TranslateText.php:118
-#: ../lib/plugin/UserPreferences.php:116 ../lib/plugin/WikiAdminChmod.php:159
+#: ../lib/loadsave.php:981 ../lib/plugin/PasswordReset.php:106
+#: ../lib/plugin/PasswordReset.php:149 ../lib/plugin/TranslateText.php:118
+#: ../lib/plugin/UserPreferences.php:116 ../lib/plugin/WatchPage.php:86
+#: ../lib/plugin/WatchPage.php:91 ../lib/plugin/WikiAdminChmod.php:159
 #: ../lib/plugin/WikiAdminChown.php:166 ../lib/plugin/WikiAdminMarkup.php:162
 #: ../lib/plugin/WikiAdminRemove.php:214 ../lib/plugin/WikiAdminRename.php:182
 #: ../lib/plugin/WikiAdminSearchReplace.php:194
 #: ../lib/plugin/WikiAdminSelect.php:218 ../lib/plugin/WikiAdminSelect.php:239
-#: ../lib/plugin/WikiAdminSetAcl.php:189 ../lib/plugin/WikiAdminUtils.php:266
-#: ../lib/plugin/WikiFormRich.php:317 ../lib/removepage.php:24
-#: ../lib/upgrade.php:682 ../themes/default/templates/login.tmpl:78
-#: ../themes/default/templates/userprefs.tmpl:243
+#: ../lib/plugin/WikiAdminSetAcl.php:193 ../lib/plugin/WikiAdminUtils.php:296
+#: ../lib/plugin/WikiFormRich.php:310 ../lib/removepage.php:24
+#: ../lib/upgrade.php:808 ../themes/default/templates/login.tmpl:78
+#: ../themes/default/templates/userprefs.tmpl:244
 msgid "Cancel"
 msgstr ""
 
-#: ../lib/loadsave.php:938
+#: ../lib/loadsave.php:997
 #, php-format
 msgid "revert to version %d"
 msgstr ""
 
-#: ../lib/loadsave.php:943
+#: ../lib/loadsave.php:1002
 #, php-format
 msgid "Revert: %s"
 msgstr ""
 
-#: ../lib/loadsave.php:944
+#: ../lib/loadsave.php:1003
 #, php-format
 msgid "- version %d saved to database as version %d"
 msgstr ""
 
-#: ../lib/loadsave.php:972
+#: ../lib/loadsave.php:1031
 msgid "Default InterWiki map file not loaded."
 msgstr ""
 
-#: ../lib/loadsave.php:1122 ../lib/loadsave.php:1135
+#: ../lib/loadsave.php:1210 ../lib/loadsave.php:1223
 msgid "Skipping"
 msgstr ""
 
-#: ../lib/loadsave.php:1236
+#: ../lib/loadsave.php:1324
 #, php-format
-msgid "Unable to load: %s"
+msgid "Empty or not existing source. Unable to load: %s"
 msgstr ""
 
-#: ../lib/loadsave.php:1243
+#: ../lib/loadsave.php:1331
 #, php-format
 msgid "Bad file type: %s"
 msgstr ""
 
-#: ../lib/loadsave.php:1260
+#: ../lib/loadsave.php:1348
 #, php-format
 msgid "Loading '%s'"
 msgstr ""
 
-#: ../lib/loadsave.php:1298
+#: ../lib/loadsave.php:1386
 msgid "Loading up virgin wiki"
 msgstr ""
 
-#: ../lib/loadsave.php:1344
+#: ../lib/loadsave.php:1436
 msgid "No uploaded file to upload?"
 msgstr ""
 
-#: ../lib/loadsave.php:1348
+#: ../lib/loadsave.php:1440
 #, php-format
 msgid "Uploading %s"
 msgstr ""
 
-#: ../lib/main.php:415
+#: ../lib/main.php:440
 msgid "FORBIDDEN"
 msgstr ""
 
-#: ../lib/main.php:416 ../lib/main.php:426
+#: ../lib/main.php:441 ../lib/main.php:451
 msgid "ANON"
 msgstr ""
 
-#: ../lib/main.php:417
+#: ../lib/main.php:442
 msgid "BOGO"
 msgstr ""
 
-#: ../lib/main.php:418
+#: ../lib/main.php:443
 msgid "USER"
 msgstr ""
 
-#: ../lib/main.php:419
+#: ../lib/main.php:444
 msgid "ADMIN"
 msgstr ""
 
-#: ../lib/main.php:420
+#: ../lib/main.php:445
 msgid "UNOBTAINABLE"
 msgstr ""
 
-#: ../lib/main.php:448 ../lib/main.php:467
+#: ../lib/main.php:473 ../lib/main.php:492
 #, php-format
 msgid "%s is disallowed on this wiki."
 msgstr ""
 
-#: ../lib/main.php:456
+#: ../lib/main.php:481
 msgid "authenticated"
 msgstr ""
 
-#: ../lib/main.php:456
+#: ../lib/main.php:481
 msgid "not authenticated"
 msgstr ""
 
-#: ../lib/main.php:457
-#, php-format
-msgid "%s %s %s is disallowed on this wiki for %s user '%s' (level: %s)."
+#: ../lib/main.php:483
+msgid "Missing PagePermission:"
 msgstr ""
 
-#: ../lib/main.php:458
-msgid "Missing PagePermission:"
+#: ../lib/main.php:482
+#, php-format
+msgid "%s %s %s is disallowed on this wiki for %s user '%s' (level: %s)."
 msgstr ""
 
-#: ../lib/main.php:475
+#: ../lib/main.php:500
 #, php-format
 msgid "You must sign in to %s."
 msgstr ""
 
-#: ../lib/main.php:477
+#: ../lib/main.php:502
 #, php-format
 msgid "You must log in to %s."
 msgstr ""
 
-#: ../lib/main.php:479
+#: ../lib/main.php:504
+msgid "You must log in first"
+msgstr ""
+
+#: ../lib/main.php:506
 #, php-format
 msgid "Access for you is forbidden to %s."
 msgstr ""
 
-#: ../lib/main.php:481 ../lib/plugin/PluginManager.php:65
+#: ../lib/main.php:508 ../lib/plugin/PluginManager.php:65
 #, php-format
 msgid "You must be an administrator to %s."
 msgstr ""
 
-#: ../lib/main.php:493
+#: ../lib/main.php:521
 msgid "view this page"
 msgstr ""
 
-#: ../lib/main.php:494
+#: ../lib/main.php:522
 msgid "diff this page"
 msgstr ""
 
-#: ../lib/main.php:495
+#: ../lib/main.php:523
 msgid "dump html pages"
 msgstr ""
 
-#: ../lib/main.php:496
+#: ../lib/main.php:524
 msgid "dump serial pages"
 msgstr ""
 
-#: ../lib/main.php:497
+#: ../lib/main.php:525
 msgid "edit this page"
 msgstr ""
 
-#: ../lib/main.php:498
+#: ../lib/main.php:526
 msgid "revert to a previous version of this page"
 msgstr ""
 
-#: ../lib/main.php:499
+#: ../lib/main.php:527
 msgid "create this page"
 msgstr ""
 
-#: ../lib/main.php:500
+#: ../lib/main.php:528
 msgid "load files into this wiki"
 msgstr ""
 
-#: ../lib/main.php:501
+#: ../lib/main.php:529
 msgid "lock this page"
 msgstr ""
 
-#: ../lib/main.php:502
+#: ../lib/main.php:530
 msgid "remove this page"
 msgstr ""
 
-#: ../lib/main.php:503
+#: ../lib/main.php:531
 msgid "unlock this page"
 msgstr ""
 
-#: ../lib/main.php:504
+#: ../lib/main.php:532
 msgid "upload a zip dump"
 msgstr ""
 
-#: ../lib/main.php:505
+#: ../lib/main.php:533
 msgid "verify the current action"
 msgstr ""
 
-#: ../lib/main.php:506
+#: ../lib/main.php:534
 msgid "view the source of this page"
 msgstr ""
 
-#: ../lib/main.php:507
+#: ../lib/main.php:535
 msgid "access this wiki via XML-RPC"
 msgstr ""
 
-#: ../lib/main.php:508
+#: ../lib/main.php:536
 msgid "access this wiki via SOAP"
 msgstr ""
 
-#: ../lib/main.php:509
+#: ../lib/main.php:537
 msgid "download a zip dump from this wiki"
 msgstr ""
 
-#: ../lib/main.php:510
+#: ../lib/main.php:538
 msgid "download a html zip dump from this wiki"
 msgstr ""
 
-#: ../lib/main.php:534
+#: ../lib/main.php:562
 msgid "Browsing pages"
 msgstr ""
 
-#: ../lib/main.php:535
+#: ../lib/main.php:563
 msgid "Diffing pages"
 msgstr ""
 
-#: ../lib/main.php:536
+#: ../lib/main.php:564
 msgid "Dumping html pages"
 msgstr ""
 
-#: ../lib/main.php:537
+#: ../lib/main.php:565
 msgid "Dumping serial pages"
 msgstr ""
 
-#: ../lib/main.php:538
+#: ../lib/main.php:566
 msgid "Editing pages"
 msgstr ""
 
-#: ../lib/main.php:539
+#: ../lib/main.php:567
 msgid "Reverting to a previous version of pages"
 msgstr ""
 
-#: ../lib/main.php:540
+#: ../lib/main.php:568
 msgid "Creating pages"
 msgstr ""
 
-#: ../lib/main.php:541
+#: ../lib/main.php:569
 msgid "Loading files"
 msgstr ""
 
-#: ../lib/main.php:542
+#: ../lib/main.php:570
 msgid "Locking pages"
 msgstr ""
 
-#: ../lib/main.php:543
+#: ../lib/main.php:571
 msgid "Removing pages"
 msgstr ""
 
-#: ../lib/main.php:544
+#: ../lib/main.php:572
 msgid "Unlocking pages"
 msgstr ""
 
-#: ../lib/main.php:545
+#: ../lib/main.php:573
 msgid "Uploading zip dumps"
 msgstr ""
 
-#: ../lib/main.php:546
+#: ../lib/main.php:574
 msgid "Verify the current action"
 msgstr ""
 
-#: ../lib/main.php:547
+#: ../lib/main.php:575
 msgid "Viewing the source of pages"
 msgstr ""
 
-#: ../lib/main.php:548
+#: ../lib/main.php:576
 msgid "XML-RPC access"
 msgstr ""
 
-#: ../lib/main.php:549
+#: ../lib/main.php:577
 msgid "SOAP access"
 msgstr ""
 
-#: ../lib/main.php:550
+#: ../lib/main.php:578
 msgid "Downloading zip dumps"
 msgstr ""
 
-#: ../lib/main.php:551
+#: ../lib/main.php:579
 msgid "Downloading html zip dumps"
 msgstr ""
 
-#: ../lib/main.php:685
+#: ../lib/main.php:720
 #, php-format
 msgid "%s: action forwarded to a moderator."
 msgstr ""
 
-#: ../lib/main.php:688
+#: ../lib/main.php:723
 msgid "This action requires moderator approval. Please be patient."
 msgstr ""
 
-#: ../lib/main.php:693
+#: ../lib/main.php:728
 msgid "You must wait for moderator approval."
 msgstr ""
 
-#: ../lib/main.php:698 ../lib/main.php:1051 ../lib/plugin/ModeratedPage.php:41
-#: ../lib/plugin/ModeratedPage.php:137 ../lib/plugin/ModeratedPage.php:205
-#: ../lib/plugin/ModeratedPage.php:238 ../lib/plugin/ModeratedPage.php:241
-#: ../lib/plugin/ModeratedPage.php:243 ../lib/plugin/ModeratedPage.php:245
-#: ../lib/plugin/ModeratedPage.php:324
-msgid "ModeratedPage"
-msgstr ""
-
-#: ../lib/main.php:714
+#: ../lib/main.php:749 ../lib/plugin/ModeratedPage.php:310
 #, php-format
 msgid "%s: Bad action"
 msgstr ""
 
-#: ../lib/main.php:731
+#: ../lib/main.php:766
 msgid "Fatal PhpWiki Error"
 msgstr ""
 
-#: ../lib/main.php:980 ../lib/plugin/WikiAdminChown.php:183
+#: ../lib/main.php:1019 ../lib/plugin/WikiAdminChown.php:183
 msgid "Chown"
 msgstr ""
 
-#: ../lib/main.php:984 ../lib/plugin/WikiAdminSetAcl.php:183
+#: ../lib/main.php:1023 ../lib/plugin/WikiAdminSetAcl.php:187
 msgid "SetAcl"
 msgstr ""
 
-#: ../lib/main.php:988 ../lib/plugin/WikiAdminRename.php:208
+#: ../lib/main.php:1027 ../lib/plugin/WikiAdminRename.php:208
 msgid "Rename"
 msgstr ""
 
-#: ../lib/main.php:992 ../lib/main.php:997 ../lib/plugin/PageDump.php:36
+#: ../lib/main.php:1031 ../lib/main.php:1036 ../lib/plugin/PageDump.php:36
 #: ../themes/Crao/templates/actionbar.tmpl:28
-#: ../themes/MonoBook/templates/actionbar.tmpl:48
-#: ../themes/Wordpress/templates/actionbar.tmpl:75
-#: ../themes/default/templates/actionbar.tmpl:35
+#: ../themes/MonoBook/templates/actionbar.tmpl:69
+#: ../themes/Wordpress/templates/actionbar.tmpl:76
+#: ../themes/default/templates/actionbar.tmpl:37
 #: ../themes/shamino_com/templates/actionbar.tmpl:22
-#: ../themes/shamino_com/templates/info.tmpl:168
-#: ../themes/smaller/templates/actionbar.tmpl:39
+#: ../themes/smaller/templates/actionbar.tmpl:41
 #: ../themes/smaller/templates/info.tmpl:11
 msgid "PageDump"
 msgstr ""
 
-#: ../lib/main.php:1011 ../lib/plugin/FullTextSearch.php:39
-#: ../lib/plugin/WantedPagesOld.php:134
+#: ../lib/main.php:1050 ../lib/plugin/FullTextSearch.php:45
 msgid "FullTextSearch"
 msgstr ""
 
-#: ../lib/main.php:1161
+#: ../lib/main.php:1222
 msgid "The session.save_path directory"
 msgstr ""
 
-#: ../lib/main.php:1164
+#: ../lib/main.php:1225
 #, php-format
 msgid "the session.save_path directory '%s'"
 msgstr ""
 
-#: ../lib/main.php:1168
+#: ../lib/main.php:1229
 #, php-format
 msgid "Attempting to use the directory '%s' instead."
 msgstr ""
 
-#: ../lib/main.php:1175
+#: ../lib/main.php:1236
 msgid "Users will not be able to sign in."
 msgstr ""
 
@@ -1975,8 +2219,8 @@
 msgid "Click to display all comments"
 msgstr ""
 
-#: ../lib/plugin/AddComment.php:111 ../lib/plugin/CreateToc.php:372
-#: ../lib/plugin/CreateToc.php:377
+#: ../lib/plugin/AddComment.php:111 ../lib/plugin/CreateToc.php:381
+#: ../lib/plugin/CreateToc.php:401
 msgid "Click to display"
 msgstr ""
 
@@ -1984,7 +2228,7 @@
 msgid "Comments"
 msgstr ""
 
-#: ../lib/plugin/AllPages.php:34
+#: ../lib/plugin/AllPages.php:34 ../themes/MonoBook/templates/navbar.tmpl:78
 msgid "AllPages"
 msgstr ""
 
@@ -1997,22 +2241,22 @@
 msgid "All pages in this wiki (%d total):"
 msgstr ""
 
-#: ../lib/plugin/AllPages.php:77 ../lib/plugin/LinkDatabase.php:83
+#: ../lib/plugin/AllPages.php:77 ../lib/plugin/LinkDatabase.php:84
 #, php-format
 msgid "List of pages owned by [%s] (%d total):"
 msgstr ""
 
-#: ../lib/plugin/AllPages.php:87 ../lib/plugin/LinkDatabase.php:90
+#: ../lib/plugin/AllPages.php:89 ../lib/plugin/LinkDatabase.php:91
 #, php-format
 msgid "List of pages last edited by [%s] (%d total):"
 msgstr ""
 
-#: ../lib/plugin/AllPages.php:97 ../lib/plugin/LinkDatabase.php:97
+#: ../lib/plugin/AllPages.php:101 ../lib/plugin/LinkDatabase.php:98
 #, php-format
 msgid "List of pages created by [%s] (%d total):"
 msgstr ""
 
-#: ../lib/plugin/AllPages.php:126 ../lib/plugin/AllUsers.php:105
+#: ../lib/plugin/AllPages.php:133 ../lib/plugin/AllUsers.php:105
 #, php-format
 msgid "Elapsed time: %s s"
 msgstr ""
@@ -2030,119 +2274,120 @@
 msgid "Authenticated users on this wiki (%d total):"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:143
-#: ../lib/plugin/AnalyseAccessLogSql.php:168
+#: ../lib/plugin/AnalyseAccessLogSql.php:162
+#: ../lib/plugin/AnalyseAccessLogSql.php:197
 msgid "0 - last minute"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:144
-#: ../lib/plugin/AnalyseAccessLogSql.php:169
+#: ../lib/plugin/AnalyseAccessLogSql.php:163
+#: ../lib/plugin/AnalyseAccessLogSql.php:198
 msgid "1 - 1 minute to 1 hour"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:145
-#: ../lib/plugin/AnalyseAccessLogSql.php:170
+#: ../lib/plugin/AnalyseAccessLogSql.php:164
+#: ../lib/plugin/AnalyseAccessLogSql.php:199
 msgid "2 - 1 hour to 1 day"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:146
-#: ../lib/plugin/AnalyseAccessLogSql.php:171
+#: ../lib/plugin/AnalyseAccessLogSql.php:165
+#: ../lib/plugin/AnalyseAccessLogSql.php:200
 msgid "3 - 1 day to 1 week"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:147
-#: ../lib/plugin/AnalyseAccessLogSql.php:172
+#: ../lib/plugin/AnalyseAccessLogSql.php:166
+#: ../lib/plugin/AnalyseAccessLogSql.php:201
 msgid "4 - 1 week to 1 month"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:148
-#: ../lib/plugin/AnalyseAccessLogSql.php:173
+#: ../lib/plugin/AnalyseAccessLogSql.php:167
+#: ../lib/plugin/AnalyseAccessLogSql.php:202
 msgid "5 - 1 month to 1 year"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:149
-#: ../lib/plugin/AnalyseAccessLogSql.php:174
+#: ../lib/plugin/AnalyseAccessLogSql.php:168
+#: ../lib/plugin/AnalyseAccessLogSql.php:203
 msgid "6 - more than 1 year"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:193
+#: ../lib/plugin/AnalyseAccessLogSql.php:222
 msgid "referring_urls"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:194
+#: ../lib/plugin/AnalyseAccessLogSql.php:223
 msgid "external_referers"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:195
+#: ../lib/plugin/AnalyseAccessLogSql.php:224
 msgid "referring_domains"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:196
+#: ../lib/plugin/AnalyseAccessLogSql.php:225
 msgid "remote_hosts"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:197
+#: ../lib/plugin/AnalyseAccessLogSql.php:226
 msgid "users"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:198
+#: ../lib/plugin/AnalyseAccessLogSql.php:227
 msgid "host_users"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:199
+#: ../lib/plugin/AnalyseAccessLogSql.php:228
 msgid "search_bots"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:200
+#: ../lib/plugin/AnalyseAccessLogSql.php:229
 msgid "search_bots_hits"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:202
+#: ../lib/plugin/AnalyseAccessLogSql.php:231
 msgid "minutes"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:203
+#: ../lib/plugin/AnalyseAccessLogSql.php:232
 msgid "hours"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:204 ../lib/plugin/VisualWiki.php:499
+#: ../lib/plugin/AnalyseAccessLogSql.php:233 ../lib/plugin/VisualWiki.php:503
 msgid "days"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:205
+#: ../lib/plugin/AnalyseAccessLogSql.php:234
 msgid "weeks"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:223
+#: ../lib/plugin/AnalyseAccessLogSql.php:252
 msgid "AnalyseAccessLogSql"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:227
+#: ../lib/plugin/AnalyseAccessLogSql.php:256
 msgid "Show summary information from the access log table."
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:240
+#: ../lib/plugin/AnalyseAccessLogSql.php:269
 msgid "The requested information is available only to Administrators."
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:243
+#: ../lib/plugin/AnalyseAccessLogSql.php:272
 msgid "The SQL_ACCESS_LOG is not enabled."
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:254
+#: ../lib/plugin/AnalyseAccessLogSql.php:283
 #, php-format
 msgid "Unrecognised parameter 'mode=%s'"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:273 ../lib/plugin/_BackendInfo.php:97
+#: ../lib/plugin/AnalyseAccessLogSql.php:302
+#: ../lib/plugin/SemanticSearch.php:382 ../lib/plugin/_BackendInfo.php:124
 msgid "<empty>"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:342
+#: ../lib/plugin/AnalyseAccessLogSql.php:382
 msgid "mode"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:344
+#: ../lib/plugin/AnalyseAccessLogSql.php:384
 msgid "period"
 msgstr ""
 
@@ -2185,10 +2430,18 @@
 msgid "Render ASCII Math as MathML"
 msgstr ""
 
+#: ../lib/plugin/AsciiSVG.php:32
+msgid "AsciiSVG"
+msgstr ""
+
+#: ../lib/plugin/AsciiSVG.php:36
+msgid "Render inline ASCII SVG"
+msgstr ""
+
 #: ../lib/plugin/AuthorHistory.php:70
+#: ../themes/MonoBook/templates/actionbar.tmpl:67
 #: ../themes/MonoBook/templates/info.tmpl:168
 #: ../themes/blog/templates/info.tmpl:3
-#: ../themes/shamino_com/templates/info.tmpl:167
 #: ../themes/smaller/templates/info.tmpl:7
 msgid "AuthorHistory"
 msgstr ""
@@ -2206,9 +2459,8 @@
 
 #: ../lib/plugin/AuthorHistory.php:125
 #: ../themes/MonoBook/templates/info.tmpl:77
-#: ../themes/default/templates/info.tmpl:70
+#: ../themes/default/templates/info.tmpl:69
 #: ../themes/default/templates/wikiforum.tmpl:22
-#: ../themes/shamino_com/templates/info.tmpl:76
 msgid "Author"
 msgstr ""
 
@@ -2217,12 +2469,9 @@
 #: ../themes/Crao/templates/editpage.tmpl:48
 #: ../themes/MonoBook/templates/info.tmpl:78
 #: ../themes/Portland/templates/editpage.tmpl:39
-#: ../themes/Wordpress/templates/editpage.tmpl:48
-#: ../themes/blog/templates/blogform.tmpl:15
-#: ../themes/default/templates/blogform.tmpl:15
+#: ../themes/Wordpress/templates/editpage.tmpl:46
 #: ../themes/default/templates/editpage.tmpl:47
-#: ../themes/default/templates/info.tmpl:71
-#: ../themes/shamino_com/templates/info.tmpl:77
+#: ../themes/default/templates/info.tmpl:70
 msgid "Summary"
 msgstr ""
 
@@ -2235,63 +2484,66 @@
 msgid "History of all major and minor edits by %s to page %s."
 msgstr ""
 
-#: ../lib/plugin/AuthorHistory.php:156
-#, php-format
-msgid "History of all major edits by %s to page %s."
-msgstr ""
-
 #: ../lib/plugin/AuthorHistory.php:218
 #, php-format
 msgid "History of all major and minor modifications for any page edited by %s."
 msgstr ""
 
-#: ../lib/plugin/AuthorHistory.php:218
-#, php-format
-msgid "History of major modifications for any page edited by %s."
-msgstr ""
-
 #: ../lib/plugin/BackLinks.php:35
 #, php-format
 msgid "List all pages which link to %s."
 msgstr ""
 
-#: ../lib/plugin/BackLinks.php:70 ../lib/plugin/ListPages.php:122
+#: ../lib/plugin/BackLinks.php:73 ../lib/plugin/ListPages.php:122
 #: ../lib/plugin/ListPages.php:125 ../lib/plugin/ListSubpages.php:89
 msgid "#"
 msgstr ""
 
-#: ../lib/plugin/BackLinks.php:96
+#: ../lib/plugin/BackLinks.php:126
 #, php-format
 msgid "No other page links to %s yet."
 msgstr ""
 
-#: ../lib/plugin/BackLinks.php:99
+#: ../lib/plugin/BackLinks.php:129
 #, php-format
 msgid "One page would link to %s:"
 msgstr ""
 
-#: ../lib/plugin/BackLinks.php:108
+#: ../lib/plugin/BackLinks.php:138
 #, php-format
 msgid "%s pages would link to %s:"
 msgstr ""
 
-#: ../lib/plugin/BackLinks.php:116
+#: ../lib/plugin/BackLinks.php:147 ../lib/plugin/SemanticSearch.php:129
+#: ../lib/plugin/SemanticSearch.php:205
+msgid "AND"
+msgstr ""
+
+#: ../lib/plugin/BackLinks.php:153
 #, php-format
 msgid "No page links to %s."
 msgstr ""
 
-#: ../lib/plugin/BackLinks.php:121
+#: ../lib/plugin/BackLinks.php:158
 #, php-format
 msgid "One page links to %s:"
 msgstr ""
 
-#: ../lib/plugin/BackLinks.php:130
+#: ../lib/plugin/BackLinks.php:168
+msgid "Those"
+msgstr ""
+
+#: ../lib/plugin/BackLinks.php:167
 #, php-format
 msgid "%s pages link to %s:"
 msgstr ""
 
+#: ../lib/plugin/BackLinks.php:176
+msgid "More..."
+msgstr ""
+
 #: ../lib/plugin/BlogArchives.php:24 ../lib/plugin/BlogArchives.php:134
-#: ../themes/blog/templates/actionbar.tmpl:17
+#: ../themes/blog/templates/actionbar.tmpl:11
 msgid "Archives"
 msgstr ""
 
@@ -2299,13 +2551,13 @@
 msgid "List blog months links for the current or ADMIN user"
 msgstr ""
 
-#: ../lib/plugin/BlogArchives.php:88 ../lib/plugin/BlogJournal.php:85
+#: ../lib/plugin/BlogArchives.php:88 ../lib/plugin/BlogJournal.php:88
 #, php-format
 msgid "Blog Entries for %s:"
 msgstr ""
 
 #: ../lib/plugin/BlogArchives.php:96
-#: ../themes/blog/templates/actionbar.tmpl:17
+#: ../themes/blog/templates/actionbar.tmpl:11
 msgid "BlogArchives"
 msgstr ""
 
@@ -2321,38 +2573,31 @@
 msgid "Include latest blog entries for the current or ADMIN user"
 msgstr ""
 
-#: ../lib/plugin/BlogJournal.php:81 ../lib/plugin/WikiBlog.php:75
-msgid "WikiBlog"
+#: ../lib/plugin/BlogJournal.php:84
+msgid "New entry"
 msgstr ""
 
-#: ../lib/plugin/BlogJournal.php:83
+#: ../lib/plugin/BlogJournal.php:86
 msgid "No Blog Entries"
 msgstr ""
 
-#: ../lib/plugin/Calendar.php:41 ../lib/plugin/Calendar.php:45
-#: ../themes/Crao/templates/head.tmpl:89
-#: ../themes/Crao/templates/navbar.tmpl:28
-#: ../themes/Sidebar/templates/body.tmpl:21
-#: ../themes/Sidebar/templates/body.tmpl:26 ../themes/Sidebar/themeinfo.php:44
-#: ../themes/Wordpress/templates/actionbar.tmpl:31
-#: ../themes/blog/templates/sidebar.tmpl:18
-#: ../themes/default/templates/head.tmpl:96
-#: ../themes/default/templates/homepage.tmpl:15
-#: ../themes/default/templates/navbar.tmpl:45
-#: ../themes/wikilens/templates/head.tmpl:89
-#: ../themes/wikilens/templates/navbar.tmpl:35
-msgid "Calendar"
+#: ../lib/plugin/BoxRight.php:34
+msgid "A simple plugin for <div class=boxright> with wikimarkup"
 msgstr ""
 
-#: ../lib/plugin/Calendar.php:95
+#: ../lib/plugin/Calendar.php:96
 msgid "Previous Month"
 msgstr ""
 
-#: ../lib/plugin/Calendar.php:99
+#: ../lib/plugin/Calendar.php:100
 msgid "Next Month"
 msgstr ""
 
-#: ../lib/plugin/Calendar.php:169 ../lib/plugin/CalendarList.php:135
+#: ../lib/plugin/Calendar.php:133
+msgid "Wk"
+msgstr ""
+
+#: ../lib/plugin/Calendar.php:174 ../lib/plugin/CalendarList.php:135
 #, php-format
 msgid "Edit %s"
 msgstr ""
@@ -2370,8 +2615,6 @@
 msgstr ""
 
 #: ../lib/plugin/Comment.php:22 ../themes/Crao/templates/blogform.tmpl:15
-#: ../themes/blog/templates/blogform.tmpl:21
-#: ../themes/default/templates/blogform.tmpl:21
 msgid "Comment"
 msgstr ""
 
@@ -2387,26 +2630,26 @@
 msgid "Automatically create a Bibtex file from linked pages"
 msgstr ""
 
-#: ../lib/plugin/CreateBib.php:121 ../lib/plugin/CreateToc.php:302
-#: ../lib/plugin/IncludePage.php:77 ../lib/plugin/RateIt.php:208
-#: ../lib/plugin/Template.php:102
+#: ../lib/plugin/CreateBib.php:121 ../lib/plugin/CreateToc.php:306
+#: ../lib/plugin/IncludePage.php:77 ../lib/plugin/RateIt.php:207
+#: ../lib/plugin/Template.php:110
 msgid "no page specified"
 msgstr ""
 
-#: ../lib/plugin/CreatePage.php:39
+#: ../lib/plugin/CreatePage.php:42
 msgid "CreatePage"
 msgstr ""
 
-#: ../lib/plugin/CreatePage.php:43
+#: ../lib/plugin/CreatePage.php:46
 msgid "Create a Wiki page by the provided name."
 msgstr ""
 
-#: ../lib/plugin/CreatePage.php:92
+#: ../lib/plugin/CreatePage.php:96
 #, php-format
 msgid "%s already exists"
 msgstr ""
 
-#: ../lib/plugin/CreatePage.php:103
+#: ../lib/plugin/CreatePage.php:112
 msgid "Created by CreatePage"
 msgstr ""
 
@@ -2418,42 +2661,46 @@
 msgid "Automatically link headers at the top"
 msgstr ""
 
-#: ../lib/plugin/CreateToc.php:313
+#: ../lib/plugin/CreateToc.php:317
 msgid "CreateToc disabled for old markup"
 msgstr ""
 
-#: ../lib/plugin/CreateToc.php:369
+#: ../lib/plugin/CreateToc.php:377
 msgid "Click to hide the TOC"
 msgstr ""
 
-#: ../lib/plugin/CreateToc.php:379 ../lib/plugin/CreateToc.php:382
+#: ../lib/plugin/CreateToc.php:386 ../lib/plugin/CreateToc.php:403
 msgid "Table Of Contents"
 msgstr ""
 
+#: ../lib/plugin/CreateToc.php:392
+msgid "Click to display to TOC"
+msgstr ""
+
 #: ../lib/plugin/DeadEndPages.php:24
 msgid "DeadEndPages"
 msgstr ""
 
-#: ../lib/plugin/Diff.php:40
+#: ../lib/plugin/Diff.php:41
 msgid "Display differences between revisions"
 msgstr ""
 
-#: ../lib/plugin/Diff.php:52
+#: ../lib/plugin/Diff.php:53
 msgid "World"
 msgstr ""
 
-#: ../lib/plugin/EditMetaData.php:45 ../lib/plugin/_WikiTranslation.php:61
+#: ../lib/plugin/EditMetaData.php:48 ../lib/plugin/_WikiTranslation.php:61
 msgid "EditMetaData"
 msgstr ""
 
-#: ../lib/plugin/EditMetaData.php:49
+#: ../lib/plugin/EditMetaData.php:52
 #, php-format
 msgid "Edit metadata for %s"
 msgstr ""
 
-#: ../lib/plugin/EditMetaData.php:109
+#: ../lib/plugin/EditMetaData.php:132
 #, php-format
-msgid "Existing page-level metadata for %s:"
+msgid "No metadata for %s"
 msgstr ""
 
 #: ../lib/plugin/EditMetaData.php:146
@@ -2462,22 +2709,27 @@
 "remove a key by leaving the value-box empty."
 msgstr ""
 
-#: ../lib/plugin/EditMetaData.php:149 ../lib/upgrade.php:680
+#: ../lib/plugin/EditMetaData.php:149 ../lib/upgrade.php:806
 msgid "Submit"
 msgstr ""
 
-#: ../lib/plugin/EditMetaData.php:161
+#: ../lib/plugin/EditMetaData.php:164
 msgid "Requires WikiAdmin privileges to edit."
 msgstr ""
 
-#: ../lib/plugin/ExternalSearch.php:38
+#: ../lib/plugin/ExternalSearch.php:40
 msgid "ExternalSearch"
 msgstr ""
 
-#: ../lib/plugin/ExternalSearch.php:42
+#: ../lib/plugin/ExternalSearch.php:44
 msgid "Redirects to an external web site based on form input"
 msgstr ""
 
+#: ../lib/plugin/ExternalSearch.php:140 ../lib/plugin/PhotoAlbum.php:479
+#, php-format
+msgid "Invalid argument: %s=%s"
+msgstr ""
+
 #: ../lib/plugin/FileInfo.php:39
 msgid "FileInfo"
 msgstr ""
@@ -2486,13 +2738,22 @@
 msgid "Display file information like version,size,date,... of uploaded files."
 msgstr ""
 
-#: ../lib/plugin/FileInfo.php:63 ../lib/plugin/FileInfo.php:65
-#: ../lib/plugin/PageGroup.php:104 ../lib/plugin/WikiFormRich.php:163
-#: ../lib/plugin/WikiFormRich.php:179
+#: ../lib/plugin/FileInfo.php:64 ../lib/plugin/FileInfo.php:66
+#: ../lib/plugin/PageGroup.php:104 ../lib/plugin/SyncWiki.php:75
+#: ../lib/plugin/WikiFormRich.php:177 ../lib/plugin/WikiFormRich.php:193
 #, php-format
 msgid "A required argument '%s' is missing."
 msgstr ""
 
+#: ../lib/plugin/FileInfo.php:85
+msgid ""
+"Output suppressed. FileInfoPlugin with local files require a locked page."
+msgstr ""
+
+#: ../lib/plugin/FileInfo.php:86
+msgid "page not locked"
+msgstr ""
+
 #: ../lib/plugin/FoafViewer.php:52
 msgid "FoafViewer"
 msgstr ""
@@ -2539,7 +2800,7 @@
 msgstr ""
 
 #: ../lib/plugin/FrameInclude.php:93 ../lib/plugin/IncludePage.php:84
-#: ../lib/plugin/Template.php:108
+#: ../lib/plugin/Template.php:116
 #, php-format
 msgid "recursive inclusion of page %s"
 msgstr ""
@@ -2549,32 +2810,33 @@
 msgid "%s or %s parameter missing"
 msgstr ""
 
-#: ../lib/plugin/FrameInclude.php:105 ../lib/plugin/Transclude.php:81
+#: ../lib/plugin/FrameInclude.php:105 ../lib/plugin/Transclude.php:91
 #, php-format
 msgid "recursive inclusion of url %s"
 msgstr ""
 
-#: ../lib/plugin/FrameInclude.php:112 ../lib/plugin/TeX2png.php:216
-#: ../lib/plugin/text2png.php:69 ../lib/plugin/text2png.php:122
+#: ../lib/plugin/FrameInclude.php:112 ../lib/plugin/SemanticSearch.php:263
+#: ../lib/plugin/TeX2png.php:216 ../lib/plugin/text2png.php:87
+#: ../lib/plugin/text2png.php:173
 #, php-format
 msgid "See %s"
 msgstr ""
 
-#: ../lib/plugin/FullTextSearch.php:43
+#: ../lib/plugin/FullTextSearch.php:49
 msgid "Search the content of all pages in this wiki."
 msgstr ""
 
-#: ../lib/plugin/FullTextSearch.php:105
+#: ../lib/plugin/FullTextSearch.php:110
 #, php-format
 msgid "only %d pages displayed"
 msgstr ""
 
-#: ../lib/plugin/FullTextSearch.php:110
+#: ../lib/plugin/FullTextSearch.php:115
 #, php-format
 msgid "Ignored stoplist words '%s'"
 msgstr ""
 
-#: ../lib/plugin/FullTextSearch.php:115
+#: ../lib/plugin/FullTextSearch.php:120
 #, php-format
 msgid "Full text search results for '%s'"
 msgstr ""
@@ -2619,6 +2881,7 @@
 
 #: ../lib/plugin/GoTo.php:59 ../lib/plugin/WikiAdminSelect.php:135
 #: ../lib/plugin/WikiAdminSelect.php:146
+#: ../themes/MonoBook/templates/navbar.tmpl:32
 msgid "Go"
 msgstr ""
 
@@ -2666,16 +2929,22 @@
 msgid "GraphViz image or imagemap creation of directed graphs"
 msgstr ""
 
-#: ../lib/plugin/GraphViz.php:265 ../lib/plugin/GraphViz.php:335
+#: ../lib/plugin/GraphViz.php:210 ../lib/plugin/_WikiTranslation.php:319
+#, php-format
+msgid "%s is empty"
+msgstr ""
+
+#: ../lib/plugin/GraphViz.php:274
 msgid "No dot graph given"
 msgstr ""
 
-#: ../lib/plugin/GraphViz.php:276 ../lib/plugin/SyntaxHighlighter.php:173
+#: ../lib/plugin/GraphViz.php:282 ../lib/plugin/GraphViz.php:290
+#: ../lib/plugin/SpellCheck.php:143 ../lib/plugin/SyntaxHighlighter.php:173
 #, php-format
 msgid "Couldn't start commandline '%s'"
 msgstr ""
 
-#: ../lib/plugin/GraphViz.php:279 ../lib/plugin/Ploticus.php:239
+#: ../lib/plugin/GraphViz.php:294 ../lib/plugin/Ploticus.php:248
 #, php-format
 msgid "%s error: outputfile '%s' not created"
 msgstr ""
@@ -2692,11 +2961,6 @@
 msgid "Convert HTML markup into wiki markup. (Version 0.5)"
 msgstr ""
 
-#: ../lib/plugin/HtmlConverter.php:66 ../lib/plugin/UpLoad.php:115
-#: ../lib/plugin/WikiForm.php:103
-msgid "Upload"
-msgstr ""
-
 #: ../lib/plugin/HtmlConverter.php:78
 msgid "Only files with extension HTML are allowed"
 msgstr ""
@@ -2705,6 +2969,10 @@
 msgid "Copy the output below and paste it into your Wiki page."
 msgstr ""
 
+#: ../lib/plugin/Imdb.php:55
+msgid "Query a local imdb database"
+msgstr ""
+
 #: ../lib/plugin/IncludePage.php:34
 msgid "IncludePage"
 msgstr ""
@@ -2714,7 +2982,7 @@
 msgstr ""
 
 #: ../lib/plugin/IncludePage.php:92 ../lib/plugin/PageGroup.php:131
-#: ../lib/plugin/Template.php:116
+#: ../lib/plugin/Template.php:124
 #, php-format
 msgid "%s(%d): no such revision"
 msgstr ""
@@ -2749,10 +3017,24 @@
 msgid "Perform searches on InterWiki sites listed in InterWikiMap."
 msgstr ""
 
-#: ../lib/plugin/InterWikiSearch.php:90
+#: ../lib/plugin/InterWikiSearch.php:92
 msgid "Wiki Name"
 msgstr ""
 
+#: ../lib/plugin/InterWikiSearch.php:93 ../lib/plugin/RecentChanges.php:724
+#: ../themes/Crao/templates/navbar.tmpl:42
+#: ../themes/Crao/templates/navbar.tmpl:44
+#: ../themes/Crao/templates/navbar.tmpl:48
+#: ../themes/blog/templates/search.tmpl:6
+#: ../themes/blog/templates/search.tmpl:7
+#: ../themes/blog/templates/search.tmpl:9
+#: ../themes/blog/templates/search.tmpl:13
+#: ../themes/default/templates/search.tmpl:6
+#: ../themes/default/templates/search.tmpl:15
+#: ../themes/default/templates/search.tmpl:27
+msgid "Search"
+msgstr ""
+
 #: ../lib/plugin/JabberPresence.php:23
 msgid "JabberPresence"
 msgstr ""
@@ -2761,24 +3043,32 @@
 msgid "Simple jabber presence plugin"
 msgstr ""
 
-#: ../lib/plugin/LdapSearch.php:57
+#: ../lib/plugin/LdapSearch.php:54
 msgid "LdapSearch"
 msgstr ""
 
-#: ../lib/plugin/LdapSearch.php:60
-msgid "Search an LDAP directory"
+#: ../lib/plugin/LdapSearch.php:57
+msgid "Search an LDAP directory"
+msgstr ""
+
+#: ../lib/plugin/LdapSearch.php:81
+msgid "Missing ldap extension"
+msgstr ""
+
+#: ../lib/plugin/LdapSearch.php:103
+msgid "Failed to connect to LDAP host"
 msgstr ""
 
-#: ../lib/plugin/LdapSearch.php:83
-msgid "Failed to set LDAP protocol version to 3"
+#: ../lib/plugin/LdapSearch.php:136
+msgid "Failed to bind LDAP host"
 msgstr ""
 
 #: ../lib/plugin/LikePages.php:32 ../themes/Crao/templates/navbar.tmpl:16
-#: ../themes/Portland/templates/navbar.tmpl:10
-#: ../themes/Wordpress/templates/actionbar.tmpl:90
+#: ../themes/Portland/templates/navbar.tmpl:7
+#: ../themes/Wordpress/templates/actionbar.tmpl:91
 #: ../themes/default/templates/navbar.tmpl:33
 #: ../themes/smaller/templates/navbar.tmpl:15
-#: ../themes/wikilens/templates/navbar.tmpl:24
+#: ../themes/wikilens/templates/navbar.tmpl:21
 msgid "LikePages"
 msgstr ""
 
@@ -2802,30 +3092,63 @@
 msgid "These pages share an initial or final title word with '%s'"
 msgstr ""
 
-#: ../lib/plugin/LinkDatabase.php:41
-msgid "LinkDatabase"
-msgstr ""
-
-#: ../lib/plugin/LinkDatabase.php:47
+#: ../lib/plugin/LinkDatabase.php:48
 msgid ""
 "List all pages with all links in various formats for some Java Visualization "
 "tools"
 msgstr ""
 
-#: ../lib/plugin/LinkDatabase.php:77
+#: ../lib/plugin/LinkDatabase.php:78
 #, php-format
 msgid "All pages with all links in this wiki (%d total):"
 msgstr ""
 
-#: ../lib/plugin/LinkDatabase.php:109
+#: ../lib/plugin/LinkDatabase.php:111 ../lib/plugin/WantedPages.php:87
 msgid "Links"
 msgstr ""
 
-#: ../lib/plugin/LinkDatabase.php:169
+#: ../lib/plugin/LinkDatabase.php:173
 #, php-format
 msgid "Unsupported format argument %s"
 msgstr ""
 
+#: ../lib/plugin/LinkSearch.php:35 ../lib/plugin/LinkSearch.php:113
+msgid "LinkSearch"
+msgstr ""
+
+#: ../lib/plugin/LinkSearch.php:38
+msgid "Search page and link names"
+msgstr ""
+
+#: ../lib/plugin/LinkSearch.php:65 ../lib/plugin/SemanticSearch.php:94
+msgid "Search only in these pages. With autocompletion."
+msgstr ""
+
+#: ../lib/plugin/LinkSearch.php:74 ../lib/plugin/SemanticSearch.php:117
+msgid "Filter by this link. These are pagenames. With autocompletion."
+msgstr ""
+
+#: ../lib/plugin/LinkSearch.php:98
+msgid "outgoing"
+msgstr ""
+
+#: ../lib/plugin/LinkSearch.php:99
+msgid "incoming"
+msgstr ""
+
+#: ../lib/plugin/LinkSearch.php:114
+msgid "Search in pages for links with the matching name."
+msgstr ""
+
+#: ../lib/plugin/LinkSearch.php:148 ../lib/plugin/SemanticSearch.php:305
+msgid "Link"
+msgstr ""
+
+#: ../lib/plugin/LinkSearch.php:158
+#, php-format
+msgid "LinkSearch result for \"%s\" in pages \"%s\", direction %s"
+msgstr ""
+
 #: ../lib/plugin/ListPages.php:38
 msgid "ListPages"
 msgstr ""
@@ -2838,6 +3161,16 @@
 msgid "You must be logged in to view ratings."
 msgstr ""
 
+#: ../lib/plugin/ListRelations.php:34
+msgid "ListRelations"
+msgstr ""
+
+#: ../lib/plugin/ListRelations.php:37
+msgid ""
+"Display the list of all defined relations and optionnally attributes in this "
+"entrire wiki"
+msgstr ""
+
 #: ../lib/plugin/ListSubpages.php:34
 msgid "ListSubpages"
 msgstr ""
@@ -2865,12 +3198,12 @@
 msgid "Support moderated pages"
 msgstr ""
 
-#: ../lib/plugin/ModeratedPage.php:141 ../lib/plugin/ModeratedPage.php:165
-#: ../lib/plugin/ModeratedPage.php:210
+#: ../lib/plugin/ModeratedPage.php:153 ../lib/plugin/ModeratedPage.php:178
+#: ../lib/plugin/ModeratedPage.php:224
 msgid "ModeratedPage: No emails for the moderators defined"
 msgstr ""
 
-#: ../lib/plugin/ModeratedPage.php:147
+#: ../lib/plugin/ModeratedPage.php:159
 #, php-format
 msgid ""
 "ModeratedPage status update:\n"
@@ -2878,12 +3211,12 @@
 "  require_access: '%s'"
 msgstr ""
 
-#: ../lib/plugin/ModeratedPage.php:152
+#: ../lib/plugin/ModeratedPage.php:164
 #, php-format
 msgid "'%s' is no ModeratedPage anymore."
 msgstr ""
 
-#: ../lib/plugin/ModeratedPage.php:171
+#: ../lib/plugin/ModeratedPage.php:184
 #, php-format
 msgid ""
 "ModeratedPage status update: '%s' is now a ModeratedPage.\n"
@@ -2891,33 +3224,42 @@
 "  require_access: '%s'"
 msgstr ""
 
-#: ../lib/plugin/ModeratedPage.php:232
+#: ../lib/plugin/ModeratedPage.php:250
 #, php-format
 msgid "%s: action forwarded to moderator %s"
 msgstr ""
 
-#: ../lib/plugin/ModeratedPage.php:252
+#: ../lib/plugin/ModeratedPage.php:276
 msgid "ModeratedPage Notification Error: Couldn't send email"
 msgstr ""
 
-#: ../lib/plugin/ModeratedPage.php:287
+#: ../lib/plugin/ModeratedPage.php:355
+#, php-format
+msgid "%s approved your wiki action from %s"
+msgstr ""
+
+#: ../lib/plugin/ModeratedPage.php:367
 msgid "Please approve or reject this request:"
 msgstr ""
 
-#: ../lib/plugin/ModeratedPage.php:298
+#: ../lib/plugin/ModeratedPage.php:403
+msgid "Reason: "
+msgstr ""
+
+#: ../lib/plugin/ModeratedPage.php:404
 msgid "Approve"
 msgstr ""
 
-#: ../lib/plugin/ModeratedPage.php:300
+#: ../lib/plugin/ModeratedPage.php:406
 msgid "Reject"
 msgstr ""
 
-#: ../lib/plugin/ModeratedPage.php:325 ../lib/plugin/ModeratedPage.php:332
+#: ../lib/plugin/ModeratedPage.php:434 ../lib/plugin/ModeratedPage.php:441
 #, php-format
 msgid "<?plugin ModeratedPage ... ?> not found in first line of %s"
 msgstr ""
 
-#: ../lib/plugin/ModeratedPage.php:328
+#: ../lib/plugin/ModeratedPage.php:437
 #, php-format
 msgid "%s is not locked!"
 msgstr ""
@@ -2948,6 +3290,14 @@
 msgid "Visited pages on this wiki, ordered by popularity:"
 msgstr ""
 
+#: ../lib/plugin/NewPagesPerUser.php:19
+msgid "NewPagesPerUser"
+msgstr ""
+
+#: ../lib/plugin/NewPagesPerUser.php:23
+msgid "List all new pages per month per user"
+msgstr ""
+
 #: ../lib/plugin/NoCache.php:39
 msgid "NoCache"
 msgstr ""
@@ -2991,67 +3341,68 @@
 msgid "Page %s not found."
 msgstr ""
 
-#: ../lib/plugin/PageDump.php:127
+#: ../lib/plugin/PageDump.php:128
 msgid "Download for CVS"
 msgstr ""
 
-#: ../lib/plugin/PageDump.php:132
+#: ../lib/plugin/PageDump.php:133
 msgid "Download for backup"
 msgstr ""
 
-#: ../lib/plugin/PageDump.php:138
+#: ../lib/plugin/PageDump.php:139
 msgid "Download all revisions for backup"
 msgstr ""
 
-#: ../lib/plugin/PageDump.php:141
+#: ../lib/plugin/PageDump.php:142
 #, php-format
 msgid "Preview: Page dump of %s"
 msgstr ""
 
-#: ../lib/plugin/PageDump.php:148
+#: ../lib/plugin/PageDump.php:149
 msgid ""
 "(formatted for PhpWiki developers as pgsrc template, not for backing up)"
 msgstr ""
 
-#: ../lib/plugin/PageDump.php:151 ../lib/plugin/PageDump.php:171
+#: ../lib/plugin/PageDump.php:152 ../lib/plugin/PageDump.php:172
 msgid "Preview as normal format"
 msgstr ""
 
-#: ../lib/plugin/PageDump.php:157 ../lib/plugin/PageDump.php:184
+#: ../lib/plugin/PageDump.php:158 ../lib/plugin/PageDump.php:185
 msgid "Preview as backup format"
 msgstr ""
 
-#: ../lib/plugin/PageDump.php:161
+#: ../lib/plugin/PageDump.php:162
 msgid "(formatted for backing up: all revisions)"
 msgstr ""
 
-#: ../lib/plugin/PageDump.php:165 ../lib/plugin/PageDump.php:178
+#: ../lib/plugin/PageDump.php:166 ../lib/plugin/PageDump.php:179
 msgid "Preview as developer format"
 msgstr ""
 
-#: ../lib/plugin/PageDump.php:174
+#: ../lib/plugin/PageDump.php:175
 msgid "(normal formatting: latest revision only)"
 msgstr ""
 
-#: ../lib/plugin/PageDump.php:188
+#: ../lib/plugin/PageDump.php:189
 msgid ""
 "Please use one of the downloadable versions rather than copying and pasting "
 "from the above preview."
 msgstr ""
 
-#: ../lib/plugin/PageDump.php:190
+#: ../lib/plugin/PageDump.php:191
 msgid ""
 "The wordwrap of the preview doesn't take nested markup or list indentation "
 "into consideration!"
 msgstr ""
 
-#: ../lib/plugin/PageDump.php:193
+#: ../lib/plugin/PageDump.php:194
 msgid ""
 "PhpWiki developers should manually inspect the downloaded file for nested "
 "markup before rewrapping with emacs and checking into CVS."
 msgstr ""
 
-#: ../lib/plugin/PageDump.php:201 ../lib/plugin/PasswordReset.php:128
+#: ../lib/plugin/PageDump.php:202 ../lib/plugin/PasswordReset.php:131
+#: ../lib/plugin/SemanticSearch.php:260
 msgid "Warning:"
 msgstr ""
 
@@ -3069,7 +3420,7 @@
 msgid "Contents"
 msgstr ""
 
-#: ../lib/plugin/PageGroup.php:91 ../lib/stdlib.php:1985
+#: ../lib/plugin/PageGroup.php:91 ../lib/stdlib.php:1992
 #, php-format
 msgid "<%s: no such section>"
 msgstr ""
@@ -3112,12 +3463,12 @@
 msgid "Check any two boxes then %s."
 msgstr ""
 
-#: ../lib/plugin/PageHistory.php:166 ../lib/plugin/PageHistory.php:229
+#: ../lib/plugin/PageHistory.php:166 ../lib/plugin/PageHistory.php:242
 #, php-format
 msgid "Version %d"
 msgstr ""
 
-#: ../lib/plugin/PageHistory.php:177 ../themes/MacOSX/lib/RecentChanges.php:34
+#: ../lib/plugin/PageHistory.php:178 ../themes/MacOSX/lib/RecentChanges.php:34
 #: ../themes/MonoBook/templates/info.tmpl:19
 #: ../themes/MonoBook/templates/info.tmpl:23
 #: ../themes/Portland/lib/RecentChanges.php:14
@@ -3125,40 +3476,39 @@
 #: ../themes/Wordpress/lib/RecentChanges.php:14
 #: ../themes/default/templates/info.tmpl:17
 #: ../themes/default/templates/info.tmpl:21
-#: ../themes/shamino_com/templates/info.tmpl:19
-#: ../themes/shamino_com/templates/info.tmpl:23
 msgid "minor edit"
 msgstr ""
 
-#: ../lib/plugin/PageHistory.php:221
+#: ../lib/plugin/PageHistory.php:234
 msgid "History of changes."
 msgstr ""
 
-#: ../lib/plugin/PageHistory.php:247 ../lib/plugin/RecentChanges.php:65
+#: ../lib/plugin/PageHistory.php:260 ../lib/plugin/RecentChanges.php:67
 #: ../themes/Crao/templates/actionbar.tmpl:22
-#: ../themes/MonoBook/templates/actionbar.tmpl:46
+#: ../themes/MonoBook/templates/actionbar.tmpl:39
+#: ../themes/MonoBook/templates/actionbar.tmpl:66
 #: ../themes/MonoBook/templates/info.tmpl:167
-#: ../themes/Portland/templates/actionbar.tmpl:18
+#: ../themes/Portland/templates/actionbar.tmpl:14
 #: ../themes/Portland/templates/viewsource.tmpl:26
-#: ../themes/Wordpress/templates/actionbar.tmpl:69
-#: ../themes/Wordpress/templates/viewsource.tmpl:28
-#: ../themes/default/templates/actionbar.tmpl:29
+#: ../themes/Wordpress/templates/actionbar.tmpl:70
+#: ../themes/Wordpress/templates/viewsource.tmpl:30
+#: ../themes/default/templates/actionbar.tmpl:31
 #: ../themes/shamino_com/templates/actionbar.tmpl:20
-#: ../themes/shamino_com/templates/info.tmpl:166
-#: ../themes/smaller/templates/actionbar.tmpl:37
+#: ../themes/smaller/templates/actionbar.tmpl:39
 #: ../themes/smaller/templates/info.tmpl:6
 msgid "PageHistory"
 msgstr ""
 
-#: ../lib/plugin/PageHistory.php:251
+#: ../lib/plugin/PageHistory.php:264
 #, php-format
 msgid "List PageHistory for %s"
 msgstr ""
 
 #: ../lib/plugin/PageInfo.php:32 ../themes/Crao/templates/actionbar.tmpl:24
-#: ../themes/Portland/templates/actionbar.tmpl:19
-#: ../themes/Wordpress/templates/actionbar.tmpl:71
-#: ../themes/default/templates/actionbar.tmpl:31
+#: ../themes/MonoBook/templates/actionbar.tmpl:64
+#: ../themes/Portland/templates/actionbar.tmpl:15
+#: ../themes/Wordpress/templates/actionbar.tmpl:72
+#: ../themes/default/templates/actionbar.tmpl:33
 #: ../themes/shamino_com/templates/actionbar.tmpl:5
 msgid "PageInfo"
 msgstr ""
@@ -3181,7 +3531,7 @@
 msgstr ""
 
 #: ../lib/plugin/PasswordReset.php:61 ../lib/plugin/PasswordReset.php:82
-#: ../lib/plugin/UserPreferences.php:104
+#: ../lib/plugin/UserPreferences.php:104 ../lib/plugin/WatchPage.php:150
 #: ../themes/default/templates/wikiforum.tmpl:22
 msgid "Message"
 msgstr ""
@@ -3192,7 +3542,7 @@
 msgstr ""
 
 #: ../lib/plugin/PasswordReset.php:64 ../lib/plugin/PasswordReset.php:85
-#: ../lib/plugin/PasswordReset.php:159
+#: ../lib/plugin/PasswordReset.php:163
 msgid "Error"
 msgstr ""
 
@@ -3211,89 +3561,68 @@
 msgid "Error sending email with password for user %s."
 msgstr ""
 
-#: ../lib/plugin/PasswordReset.php:94
+#: ../lib/plugin/PasswordReset.php:93
 msgid "Reset password of user: "
 msgstr ""
 
-#: ../lib/plugin/PasswordReset.php:104 ../lib/plugin/PasswordReset.php:142
+#: ../lib/plugin/PasswordReset.php:103 ../lib/plugin/PasswordReset.php:146
 msgid "Send email"
 msgstr ""
 
-#: ../lib/plugin/PasswordReset.php:129
+#: ../lib/plugin/PasswordReset.php:132
 msgid "You need to specify the userid!"
 msgstr ""
 
-#: ../lib/plugin/PasswordReset.php:150
+#: ../lib/plugin/PasswordReset.php:154
 msgid "Already logged in"
 msgstr ""
 
-#: ../lib/plugin/PasswordReset.php:151
+#: ../lib/plugin/PasswordReset.php:155
 msgid "Changing passwords is done at "
 msgstr ""
 
-#: ../lib/plugin/PasswordReset.php:151 ../lib/plugin/UserPreferences.php:38
-#: ../themes/Crao/templates/head.tmpl:85 ../themes/Crao/templates/head.tmpl:86
-#: ../themes/Crao/templates/navbar.tmpl:23
-#: ../themes/MonoBook/templates/navbar.tmpl:49
-#: ../themes/blog/templates/navbar.tmpl:17
-#: ../themes/default/templates/head.tmpl:92
-#: ../themes/default/templates/head.tmpl:93
-#: ../themes/default/templates/homepage.tmpl:11
-#: ../themes/default/templates/navbar.tmpl:40
-#: ../themes/shamino_com/templates/top.tmpl:28
-#: ../themes/smaller/templates/navbar.tmpl:22
-#: ../themes/wikilens/templates/head.tmpl:85
-#: ../themes/wikilens/templates/head.tmpl:86
-msgid "UserPreferences"
-msgstr ""
-
-#: ../lib/plugin/PasswordReset.php:160
+#: ../lib/plugin/PasswordReset.php:164
 #, php-format
 msgid "No email stored for user %s."
 msgstr ""
 
-#: ../lib/plugin/PasswordReset.php:162
+#: ../lib/plugin/PasswordReset.php:166
 msgid "You need to ask an Administrator to reset this password. See below: "
 msgstr ""
 
-#: ../lib/plugin/PasswordReset.php:174
+#: ../lib/plugin/PasswordReset.php:178
 #, php-format
 msgid "Do you really want to reset the password of user %s?"
 msgstr ""
 
-#: ../lib/plugin/PasswordReset.php:175
+#: ../lib/plugin/PasswordReset.php:179
 msgid "An email will be sent."
 msgstr ""
 
-#: ../lib/plugin/PhotoAlbum.php:94
+#: ../lib/plugin/PhotoAlbum.php:97 ../themes/blog/templates/actionbar.tmpl:12
 msgid "PhotoAlbum"
 msgstr ""
 
-#: ../lib/plugin/PhotoAlbum.php:98
+#: ../lib/plugin/PhotoAlbum.php:101
 msgid ""
 "Displays a set of photos listed in a text file with optional descriptions"
 msgstr ""
 
-#: ../lib/plugin/PhotoAlbum.php:476
-#, php-format
-msgid "Invalid argument: %s=%s"
-msgstr ""
-
-#: ../lib/plugin/PhotoAlbum.php:536 ../lib/plugin/PhotoAlbum.php:557
-#: ../lib/plugin/Transclude.php:85
+#: ../lib/plugin/PhotoAlbum.php:540 ../lib/plugin/PhotoAlbum.php:565
+#: ../lib/plugin/Transclude.php:94
 msgid "Bad url in src: remove all of <, >, \""
 msgstr ""
 
-#: ../lib/plugin/PhotoAlbum.php:554
+#: ../lib/plugin/PhotoAlbum.php:562
 msgid "File extension for csv file has to be '.csv'"
 msgstr ""
 
-#: ../lib/plugin/PhotoAlbum.php:605
+#: ../lib/plugin/PhotoAlbum.php:616
 #, php-format
 msgid "Unable to find src='%s'"
 msgstr ""
 
-#: ../lib/plugin/PhotoAlbum.php:617
+#: ../lib/plugin/PhotoAlbum.php:628
 #, php-format
 msgid "Unable to read src='%s'"
 msgstr ""
@@ -3357,7 +3686,8 @@
 msgid "shell commands not allowed in Ploticus"
 msgstr ""
 
-#: ../lib/plugin/Ploticus.php:249 ../lib/plugin/SyntaxHighlighter.php:180
+#: ../lib/plugin/Ploticus.php:270 ../lib/plugin/SpellCheck.php:123
+#: ../lib/plugin/SyntaxHighlighter.php:180
 msgid "empty source"
 msgstr ""
 
@@ -3390,6 +3720,11 @@
 msgid "%s does not appear to be a WikiPlugin."
 msgstr ""
 
+#: ../lib/plugin/PluginManager.php:135 ../lib/upgrade.php:222
+#: ../themes/MonoBook/templates/navbar.tmpl:20
+msgid "Help"
+msgstr ""
+
 #: ../lib/plugin/PopUp.php:49
 msgid "PopUp"
 msgstr ""
@@ -3421,6 +3756,38 @@
 msgid "%d most popular nearby: "
 msgstr ""
 
+#: ../lib/plugin/PopularTags.php:34
+msgid "PopularTags"
+msgstr ""
+
+#: ../lib/plugin/PopularTags.php:38
+msgid "List the most popular tags."
+msgstr ""
+
+#: ../lib/plugin/PopularTags.php:59 ../lib/plugin/_WikiTranslation.php:56
+msgid "CategoryCategory"
+msgstr ""
+
+#: ../lib/plugin/PopularTags.php:64 ../lib/plugin/Template.php:60
+msgid "Template"
+msgstr ""
+
+#: ../lib/plugin/PopularTags.php:78
+msgid "Category"
+msgstr ""
+
+#: ../lib/plugin/PopularTags.php:79
+msgid "Topic"
+msgstr ""
+
+#: ../lib/plugin/PreferenceApp.php:37
+msgid "PreferenceApp"
+msgstr ""
+
+#: ../lib/plugin/PreferenceApp.php:41
+msgid "Analyzes preferences based on voting budget and ratings."
+msgstr ""
+
 #: ../lib/plugin/PrevNext.php:32
 msgid "PrevNext"
 msgstr ""
@@ -3439,7 +3806,7 @@
 msgstr ""
 
 #: ../lib/plugin/RandomPage.php:33 ../lib/plugin/RandomPage.php:82
-#: ../themes/MonoBook/templates/navbar.tmpl:15
+#: ../themes/MonoBook/templates/navbar.tmpl:19
 msgid "RandomPage"
 msgstr ""
 
@@ -3447,49 +3814,49 @@
 msgid "Displays a list of randomly chosen pages or redirects to a random page."
 msgstr ""
 
-#: ../lib/plugin/RateIt.php:90 ../lib/plugin/RateIt.php:139
-#: ../lib/plugin/RateIt.php:146 ../lib/plugin/RateIt.php:291
-#: ../lib/upgrade.php:387
+#: ../lib/plugin/RateIt.php:89 ../lib/plugin/RateIt.php:138
+#: ../lib/plugin/RateIt.php:145 ../lib/plugin/RateIt.php:290
+#: ../lib/upgrade.php:452
 msgid "RateIt"
 msgstr ""
 
-#: ../lib/plugin/RateIt.php:93
+#: ../lib/plugin/RateIt.php:92
 msgid "Rating system. Store user ratings per page"
 msgstr ""
 
-#: ../lib/plugin/RateIt.php:117
+#: ../lib/plugin/RateIt.php:116
 msgid "Your rating "
 msgstr ""
 
-#: ../lib/plugin/RateIt.php:258
+#: ../lib/plugin/RateIt.php:257
 #, php-format
 msgid "Rated by %d users | Average rating %.1f stars"
 msgstr ""
 
-#: ../lib/plugin/RateIt.php:263
+#: ../lib/plugin/RateIt.php:262
 #, php-format
 msgid "Your rating was %.1f"
 msgstr ""
 
-#: ../lib/plugin/RateIt.php:268
+#: ../lib/plugin/RateIt.php:267
 #, php-format
 msgid "%s prediction for you is %s stars"
 msgstr ""
 
-#: ../lib/plugin/RateIt.php:271
+#: ../lib/plugin/RateIt.php:270
 #, php-format
 msgid "%s prediction for you is %.1f stars"
 msgstr ""
 
-#: ../lib/plugin/RateIt.php:291
+#: ../lib/plugin/RateIt.php:290
 msgid "Rate It"
 msgstr ""
 
-#: ../lib/plugin/RateIt.php:358
+#: ../lib/plugin/RateIt.php:357
 msgid "Rate the topic of this page"
 msgstr ""
 
-#: ../lib/plugin/RateIt.php:370
+#: ../lib/plugin/RateIt.php:369
 msgid "Cancel rating"
 msgstr ""
 
@@ -3501,145 +3868,168 @@
 msgid "Raw HTML is disabled in this wiki."
 msgstr ""
 
+#: ../lib/plugin/RawHtml.php:84
+msgid "Raw HTML"
+msgstr ""
+
 #: ../lib/plugin/RawHtml.php:83 ../lib/plugin/RedirectTo.php:82
 #, php-format
 msgid "%s is only allowed in locked pages."
 msgstr ""
 
-#: ../lib/plugin/RawHtml.php:84
-msgid "Raw HTML"
-msgstr ""
-
-#: ../lib/plugin/RdfDefinition.php:42
-msgid "RdfDefinition"
+#: ../lib/plugin/RecentChanges.php:107
+msgid "Deleted"
 msgstr ""
 
-#: ../lib/plugin/RdfDefinition.php:45
-msgid "Define the RDF vocabulary for a wiki subset."
+#: ../lib/plugin/RecentChanges.php:130
+#: ../themes/SpaceWiki/lib/RecentChanges.php:55
+msgid "diff"
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:105
-msgid "Deleted"
+#: ../lib/plugin/RecentChanges.php:143
+msgid "hist"
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:128 ../themes/blog/themeinfo.php:119
-msgid "(diff)"
+#: ../lib/plugin/RecentChanges.php:185
+msgid "contribs"
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:135
-msgid "(hist)"
+#: ../lib/plugin/RecentChanges.php:192
+msgid "new pages"
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:198
+#: ../lib/plugin/RecentChanges.php:240
 msgid "edits"
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:200
+#: ../lib/plugin/RecentChanges.php:242
 msgid "major edits"
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:202
+#: ../lib/plugin/RecentChanges.php:244
 msgid "minor edits"
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:203 ../lib/plugin/RecentChanges.php:279
+#: ../lib/plugin/RecentChanges.php:245 ../lib/plugin/RecentChanges.php:338
 #: ../lib/plugin/RecentComments.php:31
 msgid "Recent Comments"
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:204
+#: ../lib/plugin/RecentChanges.php:246
 msgid "comments"
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:229
+#: ../lib/plugin/RecentChanges.php:248
+msgid "created new pages"
+msgstr ""
+
+#: ../lib/plugin/RecentChanges.php:254
+#, php-format
+msgid " for pages changed by %s"
+msgstr ""
+
+#: ../lib/plugin/RecentChanges.php:260
+#, php-format
+msgid " for pages owned by %s"
+msgstr ""
+
+#: ../lib/plugin/RecentChanges.php:285
 #, php-format
 msgid "The %d most recent %s during the past day are listed below."
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:232
+#: ../lib/plugin/RecentChanges.php:288
 #, php-format
 msgid "The %d most recent %s during the past %s days are listed below."
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:235
+#: ../lib/plugin/RecentChanges.php:291
 #, php-format
 msgid "The %d most recent %s are listed below."
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:241
+#: ../lib/plugin/RecentChanges.php:297
 #, php-format
 msgid "The %d oldest %s during the past day are listed below."
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:244
+#: ../lib/plugin/RecentChanges.php:300
 #, php-format
 msgid "The %d oldest %s during the past %s days are listed below."
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:247
+#: ../lib/plugin/RecentChanges.php:303
 #, php-format
 msgid "The %d oldest %s are listed below."
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:254
+#: ../lib/plugin/RecentChanges.php:310
 #, php-format
 msgid "The most recent %s during the past day are listed below."
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:257
+#: ../lib/plugin/RecentChanges.php:313
 #, php-format
 msgid "The most recent %s during the past %s days are listed below."
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:260
+#: ../lib/plugin/RecentChanges.php:316
 #, php-format
 msgid "All %s are listed below."
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:272 ../lib/plugin/RecentChanges.php:287
-#: ../lib/plugin/RecentChanges.php:390 ../lib/plugin/RecentChanges.php:467
+#: ../lib/plugin/RecentChanges.php:328 ../lib/plugin/RecentChanges.php:346
+#: ../lib/plugin/RecentChanges.php:523 ../lib/plugin/RecentChanges.php:600
 #: ../lib/plugin/RecentEdits.php:10 ../lib/plugin/RecentEdits.php:36
 #: ../lib/plugin/RelatedChanges.php:27
-#: ../themes/Portland/templates/editpage.tmpl:49
-#: ../themes/Wordpress/templates/editpage.tmpl:58
+#: ../themes/Portland/templates/editpage.tmpl:45
+#: ../themes/Wordpress/templates/editpage.tmpl:57
 msgid "RecentEdits"
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:280 ../lib/plugin/RecentComments.php:65
+#: ../lib/plugin/RecentChanges.php:339 ../lib/plugin/RecentComments.php:65
 msgid "No comments found"
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:282
+#: ../lib/plugin/RecentChanges.php:341
 msgid "No changes found"
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:592
+#: ../lib/plugin/RecentChanges.php:457
+msgid "UserContribs"
+msgstr ""
+
+#: ../lib/plugin/RecentChanges.php:725
 msgid "Title Search"
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:893
+#: ../lib/plugin/RecentChanges.php:1189
 msgid "Show minor edits for:"
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:895
+#: ../lib/plugin/RecentChanges.php:1191
 msgid "Show all changes for:"
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:897
+#: ../lib/plugin/RecentChanges.php:1193
 msgid "Show changes for:"
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:917
+#: ../lib/plugin/RecentChanges.php:1195
+msgid "All new pages since:"
+msgstr ""
+
+#: ../lib/plugin/RecentChanges.php:1215
 msgid "1 day"
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:921
+#: ../lib/plugin/RecentChanges.php:1219
 #, php-format
 msgid "%s days"
 msgstr ""
 
 #: ../lib/plugin/RecentComments.php:17
-#: ../themes/MonoBook/templates/navbar.tmpl:14
+#: ../themes/MonoBook/templates/navbar.tmpl:16
 msgid "RecentComments"
 msgstr ""
 
@@ -3690,7 +4080,7 @@
 msgstr ""
 
 #: ../lib/plugin/RelatedChanges.php:73 ../themes/Crao/templates/navbar.tmpl:15
-#: ../themes/MonoBook/templates/navbar.tmpl:43
+#: ../themes/MonoBook/templates/navbar.tmpl:54
 msgid "RelatedChanges"
 msgstr ""
 
@@ -3714,14 +4104,134 @@
 msgid "no RSS items"
 msgstr ""
 
-#: ../lib/plugin/SearchHighlight.php:37
+#: ../lib/plugin/SearchHighlight.php:39
 msgid "SearchHighlight"
 msgstr ""
 
-#: ../lib/plugin/SearchHighlight.php:41
+#: ../lib/plugin/SearchHighlight.php:43
 msgid "Hilight referred search terms."
 msgstr ""
 
+#: ../lib/plugin/SearchHighlight.php:73
+#, php-format
+msgid "%s: Found %s through %s"
+msgstr ""
+
+#: ../lib/plugin/SemanticRelations.php:35
+msgid "SemanticRelations"
+msgstr ""
+
+#: ../lib/plugin/SemanticRelations.php:38
+msgid "Display the list of relations and attributes on this page."
+msgstr ""
+
+#: ../lib/plugin/SemanticRelations.php:80
+#: ../lib/plugin/SemanticRelations.php:97 ../lib/plugin/SemanticSearch.php:57
+msgid "SemanticSearch"
+msgstr ""
+
+#: ../lib/plugin/SemanticRelations.php:86
+#, php-format
+msgid "Semantic relations for %s"
+msgstr ""
+
+#: ../lib/plugin/SemanticRelations.php:110
+#, php-format
+msgid "Attributes of %s"
+msgstr ""
+
+#: ../lib/plugin/SemanticRelations.php:119
+#: ../lib/plugin/SemanticRelations.php:120
+msgid "Help/SemanticRelations"
+msgstr ""
+
+#: ../lib/plugin/SemanticRelations.php:122
+msgid "Find out how to add relations and attributes to pages."
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:60
+msgid "Search relations and attributes"
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:106
+msgid "Filter by this relation. With autocompletion."
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:124
+msgid "Relations"
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:132 ../lib/plugin/SemanticSearch.php:208
+msgid "Add an AND query"
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:133 ../lib/plugin/SemanticSearch.php:209
+msgid "OR"
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:136 ../lib/plugin/SemanticSearch.php:212
+msgid "Add an OR query"
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:139
+msgid "Search in pages for a relation with that value (a pagename)."
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:174
+msgid "Filter by this attribute name. With autocompletion."
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:186
+msgid "Comparison operator. With autocompletion."
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:197
+msgid "Filter by this numeric attribute value. With autocompletion."
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:215
+msgid "Attributes"
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:216
+msgid "Search in pages for an attribute with that numeric value."
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:219
+msgid "Advanced..."
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:219
+msgid "SemanticSearchAdvanced"
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:261
+msgid "No relations nor attributes in the whole wikidb defined!"
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:263
+msgid "Help:SemanticRelations"
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:311
+#, php-format
+msgid "Illegal operator: %s"
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:358
+#, php-format
+msgid "Only text operators can be used with strings: %s"
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:378
+msgid "Value"
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:393
+#, php-format
+msgid "Semantic %s Search Result for \"%s\" in pages \"%s\""
+msgstr ""
+
 #: ../lib/plugin/SiteMap.php:51
 msgid "SiteMap"
 msgstr ""
@@ -3735,6 +4245,26 @@
 msgid "(max. recursion level: %d)"
 msgstr ""
 
+#: ../lib/plugin/SpellCheck.php:68
+msgid "Spell Checker"
+msgstr ""
+
+#: ../lib/plugin/SpellCheck.php:71
+msgid "Check the spelling of a page and make suggestions"
+msgstr ""
+
+#: ../lib/plugin/SpellCheck.php:124
+msgid "SpellCheck"
+msgstr ""
+
+#: ../lib/plugin/SpellCheck.php:125
+msgid "Cannot SpellCheck myself"
+msgstr ""
+
+#: ../lib/plugin/SpellCheck.php:171
+msgid "SpellCheck result"
+msgstr ""
+
 #: ../lib/plugin/SqlResult.php:67
 msgid "SqlResult"
 msgstr ""
@@ -3752,6 +4282,86 @@
 msgid "No DSN for alias %s in SqlResult.ini found"
 msgstr ""
 
+#: ../lib/plugin/SyncWiki.php:46
+msgid "SyncWiki"
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:50
+msgid "Synchronize pages with external PhpWiki"
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:113
+msgid "Syncing this PhpWiki"
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:114
+msgid "Download all externally changed sources."
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:116
+#, php-format
+msgid "Retrieving from external url %s wiki.getRecentChanges(%s)..."
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:123 ../lib/plugin/WhoIsOnline.php:125
+msgid "<unknown>"
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:138 ../lib/plugin/SyncWiki.php:191
+#: ../lib/plugin/SyncWiki.php:226 ../lib/upgrade.php:92 ../lib/upgrade.php:96
+#: ../lib/upgrade.php:176 ../lib/upgrade.php:217 ../lib/upgrade.php:1120
+msgid " skipped"
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:160
+msgid "same date"
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:183
+msgid "Now upload all locally newer pages."
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:185
+#, php-format
+msgid "Checking all local pages newer than %s..."
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:212
+msgid "Now upload all locally newer uploads."
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:214
+#, php-format
+msgid "Checking all local uploads newer than %s..."
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:277
+#, php-format
+msgid "%s force"
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:281
+#, php-format
+msgid "Postponed %s for %s."
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:288 ../lib/plugin/SyncWiki.php:297
+#: ../lib/plugin/SyncWiki.php:312 ../lib/plugin/SyncWiki.php:321
+#: ../lib/plugin/SyncWiki.php:340
+msgid "skipped"
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:297 ../lib/plugin/SyncWiki.php:321
+msgid "same content"
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:304 ../lib/plugin/SyncWiki.php:330
+#: ../lib/plugin/SyncWiki.php:332 ../lib/plugin/SyncWiki.php:353
+#: ../lib/plugin/SyncWiki.php:355 ../lib/upgrade.php:214
+#: ../lib/upgrade.php:555 ../lib/upgrade.php:593 ../lib/upgrade.php:1111
+msgid "FAILED"
+msgstr ""
+
 #: ../lib/plugin/SyntaxHighlighter.php:68
 msgid "SyntaxHighlighter"
 msgstr ""
@@ -3984,27 +4594,19 @@
 msgid "Convert Tex mathematicals expressions to cached png files."
 msgstr ""
 
-#: ../lib/plugin/TeX2png.php:34
-msgid " This is for small text"
-msgstr ""
-
 #: ../lib/plugin/TeX2png.php:134
 msgid " (syntax error for latex) "
 msgstr ""
 
 #: ../lib/plugin/TeX2png.php:173
-msgid "TeX directory not writable."
+msgid "TeX imagepath not writable."
 msgstr ""
 
-#: ../lib/plugin/TeX2png.php:214 ../lib/plugin/text2png.php:67
+#: ../lib/plugin/TeX2png.php:214 ../lib/plugin/text2png.php:85
 msgid "Sorry, this version of PHP cannot create PNG image files."
 msgstr ""
 
-#: ../lib/plugin/Template.php:61
-msgid "Template"
-msgstr ""
-
-#: ../lib/plugin/Template.php:65
+#: ../lib/plugin/Template.php:64
 msgid "Parametrized page inclusion."
 msgstr ""
 
@@ -4016,7 +4618,7 @@
 msgid "Search the titles of all pages in this wiki."
 msgstr ""
 
-#: ../lib/plugin/TitleSearch.php:103
+#: ../lib/plugin/TitleSearch.php:104
 #, php-format
 msgid "Title search results for '%s'"
 msgstr ""
@@ -4029,16 +4631,16 @@
 msgid "Include an external web page within the body of a wiki page."
 msgstr ""
 
-#: ../lib/plugin/Transclude.php:88
+#: ../lib/plugin/Transclude.php:97
 msgid "Transcluded page"
 msgstr ""
 
-#: ../lib/plugin/Transclude.php:97
+#: ../lib/plugin/Transclude.php:106
 #, php-format
 msgid "See: %s"
 msgstr ""
 
-#: ../lib/plugin/Transclude.php:109
+#: ../lib/plugin/Transclude.php:118
 #, php-format
 msgid "Transcluded from %s"
 msgstr ""
@@ -4135,53 +4737,58 @@
 msgid "Upload files to the local InterWiki Upload:<filename>"
 msgstr ""
 
-#: ../lib/plugin/UpLoad.php:124
+#: ../lib/plugin/UpLoad.php:161
 msgid "ACCESS DENIED: You must log in to upload files."
 msgstr ""
 
-#: ../lib/plugin/UpLoad.php:138
+#: ../lib/plugin/UpLoad.php:185
 #, php-format
 msgid "ERROR uploading '%s': "
 msgstr ""
 
-#: ../lib/plugin/UpLoad.php:143
+#: ../lib/plugin/UpLoad.php:190
 #, php-format
 msgid "Files with extension %s are not allowed."
 msgstr ""
 
-#: ../lib/plugin/UpLoad.php:149
+#: ../lib/plugin/UpLoad.php:198
+#, php-format
+msgid "Only files with the extension %s are allowed."
+msgstr ""
+
+#: ../lib/plugin/UpLoad.php:204
 msgid ""
-"File names may only contain alphanumeric characters and dot, underscore or "
-"dash."
+"Invalid filename. File names may only contain alphanumeric characters and "
+"dot, underscore, space or dash."
 msgstr ""
 
-#: ../lib/plugin/UpLoad.php:154
+#: ../lib/plugin/UpLoad.php:209
 #, php-format
 msgid "There is already a file with name %s uploaded."
 msgstr ""
 
-#: ../lib/plugin/UpLoad.php:159
+#: ../lib/plugin/UpLoad.php:214
 msgid "Sorry but this file is too big."
 msgstr ""
 
-#: ../lib/plugin/UpLoad.php:167
+#: ../lib/plugin/UpLoad.php:222
 msgid "File successfully uploaded."
 msgstr ""
 
-#: ../lib/plugin/UpLoad.php:184
+#: ../lib/plugin/UpLoad.php:239
 #, php-format
 msgid "uploaded %s"
 msgstr ""
 
-#: ../lib/plugin/UpLoad.php:191
+#: ../lib/plugin/UpLoad.php:246
 msgid "Uploading failed."
 msgstr ""
 
-#: ../lib/plugin/UpLoad.php:209
+#: ../lib/plugin/UpLoad.php:264
 msgid "The upload logfile is not writable."
 msgstr ""
 
-#: ../lib/plugin/UpLoad.php:212
+#: ../lib/plugin/UpLoad.php:267
 msgid "Can't open the upload logfile."
 msgstr ""
 
@@ -4252,69 +4859,90 @@
 msgid "Here are your %d page ratings:"
 msgstr ""
 
-#: ../lib/plugin/UserRatings.php:220
+#: ../lib/plugin/UserRatings.php:222
 msgid "Pred"
 msgstr ""
 
-#: ../lib/plugin/UserRatings.php:224 ../lib/wikilens/PageListColumns.php:367
+#: ../lib/plugin/UserRatings.php:226 ../lib/wikilens/PageListColumns.php:367
 msgid "Rate"
 msgstr ""
 
-#: ../lib/plugin/VisualWiki.php:65
+#: ../lib/plugin/VisualWiki.php:66
 msgid ""
 "Visualizes the Wiki structure in a graph using the 'dot' commandline tool "
 "from graphviz."
 msgstr ""
 
-#: ../lib/plugin/VisualWiki.php:493
+#: ../lib/plugin/VisualWiki.php:497
 msgid "Legend"
 msgstr ""
 
-#: ../lib/plugin/WantedPages.php:39 ../lib/plugin/WantedPages.php:69
-#: ../lib/plugin/WantedPagesOld.php:33 ../lib/plugin/WantedPagesOld.php:66
+#: ../lib/plugin/WantedPages.php:39 ../lib/plugin/WantedPages.php:70
 msgid "WantedPages"
 msgstr ""
 
-#: ../lib/plugin/WantedPages.php:42 ../lib/plugin/WantedPagesOld.php:37
+#: ../lib/plugin/WantedPages.php:42
 msgid "Lists referenced page names which do not exist yet."
 msgstr ""
 
-#: ../lib/plugin/WantedPages.php:54 ../lib/plugin/WantedPagesOld.php:47
-#: ../lib/plugin/_WikiTranslation.php:84 ../lib/plugin/_WikiTranslation.php:98
-msgid "PgsrcTranslation"
+#: ../lib/plugin/WantedPages.php:55 ../lib/plugin/_WikiTranslation.php:84
+#: ../lib/plugin/_WikiTranslation.php:98
+msgid "PgsrcTranslation"
+msgstr ""
+
+#: ../lib/plugin/WantedPages.php:79
+msgid "Wanted From"
+msgstr ""
+
+#: ../lib/plugin/WantedPages.php:130
+#, php-format
+msgid "Wanted Pages for %s:"
+msgstr ""
+
+#: ../lib/plugin/WantedPages.php:132
+#, php-format
+msgid "Wanted Pages in this wiki:"
+msgstr ""
+
+#: ../lib/plugin/WantedPages.php:174
+#, php-format
+msgid "(%d Links)"
+msgstr ""
+
+#: ../lib/plugin/WatchPage.php:35
+msgid "WatchPage"
 msgstr ""
 
-#: ../lib/plugin/WantedPages.php:78
-msgid "Wanted From"
+#: ../lib/plugin/WatchPage.php:78
+msgid "Your current watchlist: "
 msgstr ""
 
-#: ../lib/plugin/WantedPages.php:115
-#, php-format
-msgid "Wanted Pages for %s:"
+#: ../lib/plugin/WatchPage.php:79
+msgid "New watchlist: "
 msgstr ""
 
-#: ../lib/plugin/WantedPages.php:117
+#: ../lib/plugin/WatchPage.php:82
 #, php-format
-msgid "Wanted Pages in this wiki:"
+msgid "Do you %s want to add this page \"%s\" to your WatchList?"
 msgstr ""
 
-#: ../lib/plugin/WantedPagesOld.php:100
-#: ../themes/default/templates/online.tmpl:38
-msgid "<none>"
+#: ../lib/plugin/WatchPage.php:83
+msgid "really"
 msgstr ""
 
-#: ../lib/plugin/WantedPagesOld.php:115
+#: ../lib/plugin/WatchPage.php:88
 #, php-format
-msgid "Wanted Pages for %s (%d total):"
+msgid "The page %s is already watched!"
 msgstr ""
 
-#: ../lib/plugin/WantedPagesOld.php:149
-#, php-format
-msgid "Wanted Pages in this wiki (%d total):"
+#: ../lib/plugin/WatchPage.php:114
+msgid "ERROR: No email defined! You need to do this in your "
 msgstr ""
 
-#: ../lib/plugin/WantedPagesOld.php:151
-msgid "Count"
+#: ../lib/plugin/WatchPage.php:151
+msgid ""
+"E-Mail Notification for the current page successfully stored in your "
+"preferences."
 msgstr ""
 
 #: ../lib/plugin/WhoIsOnline.php:38 ../lib/plugin/WhoIsOnline.php:84
@@ -4338,10 +4966,6 @@
 msgid "Guest"
 msgstr ""
 
-#: ../lib/plugin/WhoIsOnline.php:125
-msgid "<unknown>"
-msgstr ""
-
 #: ../lib/plugin/WhoIsOnline.php:196
 #, php-format
 msgid "%d minutes"
@@ -4351,7 +4975,7 @@
 msgid "WikiAdminChmod"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminChmod.php:44 ../lib/plugin/WikiAdminSetAcl.php:43
+#: ../lib/plugin/WikiAdminChmod.php:44 ../lib/plugin/WikiAdminSetAcl.php:47
 msgid "Set individual page permissions."
 msgstr ""
 
@@ -4369,7 +4993,7 @@
 msgid "Invalid chmod string"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminChmod.php:90 ../lib/plugin/WikiAdminSetAcl.php:109
+#: ../lib/plugin/WikiAdminChmod.php:90 ../lib/plugin/WikiAdminSetAcl.php:113
 #, php-format
 msgid "%s pages have been changed."
 msgstr ""
@@ -4377,11 +5001,11 @@
 #: ../lib/plugin/WikiAdminChmod.php:93 ../lib/plugin/WikiAdminChown.php:89
 #: ../lib/plugin/WikiAdminMarkup.php:97
 #: ../lib/plugin/WikiAdminSearchReplace.php:113
-#: ../lib/plugin/WikiAdminSetAcl.php:112
+#: ../lib/plugin/WikiAdminSetAcl.php:116
 msgid "No pages changed."
 msgstr ""
 
-#: ../lib/plugin/WikiAdminChmod.php:140 ../lib/plugin/WikiAdminSetAcl.php:170
+#: ../lib/plugin/WikiAdminChmod.php:140 ../lib/plugin/WikiAdminSetAcl.php:174
 msgid "Permission"
 msgstr ""
 
@@ -4393,7 +5017,7 @@
 msgid "Chmod"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminChmod.php:155 ../lib/plugin/WikiAdminSetAcl.php:185
+#: ../lib/plugin/WikiAdminChmod.php:155 ../lib/plugin/WikiAdminSetAcl.php:189
 msgid "Select the pages to change:"
 msgstr ""
 
@@ -4409,11 +5033,11 @@
 msgid "(ugo : rwx)"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminChmod.php:189 ../lib/plugin/WikiAdminSetAcl.php:253
+#: ../lib/plugin/WikiAdminChmod.php:189 ../lib/plugin/WikiAdminSetAcl.php:257
 msgid "Propagate new permissions to all subpages?"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminChmod.php:191 ../lib/plugin/WikiAdminSetAcl.php:255
+#: ../lib/plugin/WikiAdminChmod.php:191 ../lib/plugin/WikiAdminSetAcl.php:259
 msgid "(disable individual page permissions, enable inheritance)?"
 msgstr ""
 
@@ -4428,7 +5052,7 @@
 #: ../lib/plugin/WikiAdminChown.php:69 ../lib/plugin/WikiAdminMarkup.php:70
 #: ../lib/plugin/WikiAdminRename.php:84
 #: ../lib/plugin/WikiAdminSearchReplace.php:98
-#: ../lib/plugin/WikiAdminSetAcl.php:100
+#: ../lib/plugin/WikiAdminSetAcl.php:104
 #, php-format
 msgid "Access denied to change page '%s'."
 msgstr ""
@@ -4542,7 +5166,7 @@
 msgstr ""
 
 #: ../lib/plugin/WikiAdminRemove.php:183 ../lib/plugin/WikiAdminRemove.php:232
-#: ../themes/blog/themeinfo.php:59
+#: ../themes/blog/themeinfo.php:67
 msgid "Remove"
 msgstr ""
 
@@ -4729,184 +5353,209 @@
 msgid "Select pages"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminSetAcl.php:39
+#: ../lib/plugin/WikiAdminSetAcl.php:43
 msgid "WikiAdminSetAcl"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminSetAcl.php:94
+#: ../lib/plugin/WikiAdminSetAcl.php:98
 #, php-format
 msgid "ACL not changed for page '%s'."
 msgstr ""
 
-#: ../lib/plugin/WikiAdminSetAcl.php:97
+#: ../lib/plugin/WikiAdminSetAcl.php:101
 #, php-format
 msgid "ACL changed for page '%s'."
 msgstr ""
 
-#: ../lib/plugin/WikiAdminSetAcl.php:104
+#: ../lib/plugin/WikiAdminSetAcl.php:108
 msgid "Invalid ACL"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminSetAcl.php:120 ../lib/plugin/_WikiTranslation.php:94
+#: ../lib/plugin/WikiAdminSetAcl.php:124 ../lib/plugin/_WikiTranslation.php:94
 msgid "PhpWikiAdministration/SetAcl"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminSetAcl.php:172 ../lib/plugin/WikiAdminSetAcl.php:228
+#: ../lib/plugin/WikiAdminSetAcl.php:176 ../lib/plugin/WikiAdminSetAcl.php:232
 msgid "ACL"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminSetAcl.php:180
+#: ../lib/plugin/WikiAdminSetAcl.php:184
 msgid ""
 "Are you sure you want to permanently change access to the selected files?"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminSetAcl.php:215
+#: ../lib/plugin/WikiAdminSetAcl.php:219
 msgid "Selected Pages: "
 msgstr ""
 
-#: ../lib/plugin/WikiAdminSetAcl.php:221
+#: ../lib/plugin/WikiAdminSetAcl.php:225
 #, php-format
 msgid "page permission inherited from %s"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminSetAcl.php:223
+#: ../lib/plugin/WikiAdminSetAcl.php:227
 msgid "invidual page permission"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminSetAcl.php:225
+#: ../lib/plugin/WikiAdminSetAcl.php:229
 msgid "default page permission"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminSetAcl.php:226
+#: ../lib/plugin/WikiAdminSetAcl.php:230
 msgid "Type"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminSetAcl.php:227
+#: ../lib/plugin/WikiAdminSetAcl.php:231
 msgid "getfacl"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminSetAcl.php:231
+#: ../lib/plugin/WikiAdminSetAcl.php:235
 msgid ""
 "Selected Grant checkboxes allow access, unselected checkboxes deny access."
 msgstr ""
 
-#: ../lib/plugin/WikiAdminSetAcl.php:232
+#: ../lib/plugin/WikiAdminSetAcl.php:236
 msgid "To ignore delete the line."
 msgstr ""
 
-#: ../lib/plugin/WikiAdminSetAcl.php:233
+#: ../lib/plugin/WikiAdminSetAcl.php:237
 msgid "To add check 'Add' near the dropdown list."
 msgstr ""
 
-#: ../lib/plugin/WikiAdminSetAcl.php:256
+#: ../lib/plugin/WikiAdminSetAcl.php:260
 msgid "(Currently not working)"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:36
+#: ../lib/plugin/WikiAdminUtils.php:38
 msgid "WikiAdminUtils"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:40
+#: ../lib/plugin/WikiAdminUtils.php:42
 msgid "Miscellaneous utility functions for the Administrator."
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:72
+#: ../lib/plugin/WikiAdminUtils.php:74
 msgid "You must be an administrator to use this plugin."
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:101
-msgid "WikiAdminUtils says:"
+#: ../lib/plugin/WikiAdminUtils.php:103
+#, php-format
+msgid "WikiAdminUtils %s returned:"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:103 ../lib/stdlib.php:1759
-msgid "Okay"
+#: ../lib/plugin/WikiAdminUtils.php:105
+msgid "Back"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:108
+#: ../lib/plugin/WikiAdminUtils.php:110
 msgid "Purge Markup Cache"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:109
+#: ../lib/plugin/WikiAdminUtils.php:111
 msgid "Purge all Pages With Invalid Names"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:110
+#: ../lib/plugin/WikiAdminUtils.php:112
 msgid "Purge all empty, unreferenced Pages"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:120
+#: ../lib/plugin/WikiAdminUtils.php:113
+msgid "Access Restrictions"
+msgstr ""
+
+#: ../lib/plugin/WikiAdminUtils.php:115
+msgid "Convert cached_html"
+msgstr ""
+
+#: ../lib/plugin/WikiAdminUtils.php:116
+msgid "DB Check"
+msgstr ""
+
+#: ../lib/plugin/WikiAdminUtils.php:117
+msgid "Db Rebuild"
+msgstr ""
+
+#: ../lib/plugin/WikiAdminUtils.php:128
 msgid "Markup cache purged!"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:140
+#: ../lib/plugin/WikiAdminUtils.php:148
 msgid "No pages with bad names had to be deleted."
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:142
+#: ../lib/plugin/WikiAdminUtils.php:150
 #, php-format
 msgid "Deleted %s pages with invalid names:"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:160
+#: ../lib/plugin/WikiAdminUtils.php:171
 msgid "[purged]"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:162
+#: ../lib/plugin/WikiAdminUtils.php:173
 msgid "[not purgable]"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:170
+#: ../lib/plugin/WikiAdminUtils.php:181
 msgid "No empty, unreferenced pages were found."
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:172
+#: ../lib/plugin/WikiAdminUtils.php:183
 #, php-format
 msgid "Deleted %s unreferenced pages:"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:175
+#: ../lib/plugin/WikiAdminUtils.php:186
 #, php-format
 msgid ""
 "The %d not-purgable pages/links are links in some page(s). You might want to "
 "edit them."
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:190
+#: ../lib/plugin/WikiAdminUtils.php:201
 msgid "No old _cached_html pagedata found."
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:192
+#: ../lib/plugin/WikiAdminUtils.php:203
 #, php-format
 msgid "Converted successfully %d pages"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:201
+#: ../lib/plugin/WikiAdminUtils.php:227
 msgid "Sorry. Access Restrictions not yet implemented"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:209
-#: ../themes/default/templates/userprefs.tmpl:124
+#: ../lib/plugin/WikiAdminUtils.php:235
+#: ../themes/default/templates/userprefs.tmpl:125
 msgid "E-Mail"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:211
+#: ../lib/plugin/WikiAdminUtils.php:237
 msgid "Verification Status"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:263
+#: ../lib/plugin/WikiAdminUtils.php:238
+msgid "Username"
+msgstr ""
+
+#: ../lib/plugin/WikiAdminUtils.php:293
 msgid "Change Verification Status"
 msgstr ""
 
-#: ../lib/plugin/WikiBlog.php:79
+#: ../lib/plugin/WikiBlog.php:87
+msgid "WikiBlog"
+msgstr ""
+
+#: ../lib/plugin/WikiBlog.php:91
 #, php-format
 msgid "Show and add blogs for %s"
 msgstr ""
 
-#: ../lib/plugin/WikiBlog.php:190
+#: ../lib/plugin/WikiBlog.php:219
 msgid "New comment."
 msgstr ""
 
-#: ../lib/plugin/WikiBlog.php:294
+#: ../lib/plugin/WikiBlog.php:330
 #, php-format
 msgid "%s on %s:"
 msgstr ""
@@ -4915,7 +5564,7 @@
 msgid "WikiForm"
 msgstr ""
 
-#: ../lib/plugin/WikiForm.php:76
+#: ../lib/plugin/WikiForm.php:76 ../themes/MonoBook/templates/signin.tmpl:16
 msgid "Login"
 msgstr ""
 
@@ -4932,11 +5581,11 @@
 msgid "WikiForm: %s: unknown action"
 msgstr ""
 
-#: ../lib/plugin/WikiFormRich.php:92
+#: ../lib/plugin/WikiFormRich.php:106
 msgid "Provide generic WikiForm input buttons"
 msgstr ""
 
-#: ../lib/plugin/WikiFormRich.php:181
+#: ../lib/plugin/WikiFormRich.php:195
 msgid "name"
 msgstr ""
 
@@ -4974,10 +5623,6 @@
 msgid "Missing %s for %s"
 msgstr ""
 
-#: ../lib/plugin/WikiPoll.php:224
-msgid "Ok"
-msgstr ""
-
 #: ../lib/plugin/WikiPoll.php:227
 msgid "Reset"
 msgstr ""
@@ -4995,6 +5640,26 @@
 msgid "Thanks for participating!"
 msgstr ""
 
+#: ../lib/plugin/YouTube.php:24
+msgid "YouTube"
+msgstr ""
+
+#: ../lib/plugin/YouTube.php:28
+msgid "Embed YouTube videos"
+msgstr ""
+
+#: ../lib/plugin/YouTube.php:54
+#, php-format
+msgid "Required argument %s missing"
+msgstr ""
+
+#: ../lib/plugin/YouTube.php:91 ../lib/plugin/YouTube.php:93
+#: ../lib/plugin/YouTube.php:95 ../lib/plugin/YouTube.php:97
+#: ../lib/plugin/YouTube.php:121 ../lib/plugin/YouTube.php:123
+#, php-format
+msgid "Invalid argument %s"
+msgstr ""
+
 #: ../lib/plugin/_AuthInfo.php:35
 msgid "AuthInfo"
 msgstr ""
@@ -5019,10 +5684,9 @@
 #: ../lib/plugin/_BackendInfo.php:30 ../lib/plugin/_WikiTranslation.php:60
 #: ../themes/Crao/templates/actionbar.tmpl:27
 #: ../themes/MonoBook/templates/info.tmpl:174
-#: ../themes/Portland/templates/actionbar.tmpl:21
-#: ../themes/Wordpress/templates/actionbar.tmpl:74
-#: ../themes/default/templates/actionbar.tmpl:34
-#: ../themes/shamino_com/templates/info.tmpl:174
+#: ../themes/Portland/templates/actionbar.tmpl:17
+#: ../themes/Wordpress/templates/actionbar.tmpl:75
+#: ../themes/default/templates/actionbar.tmpl:36
 #: ../themes/smaller/templates/info.tmpl:14
 msgid "DebugInfo"
 msgstr ""
@@ -5032,17 +5696,17 @@
 msgid "Get debugging information for %s."
 msgstr ""
 
-#: ../lib/plugin/_BackendInfo.php:54
+#: ../lib/plugin/_BackendInfo.php:58
 #, php-format
 msgid "Querying backend directly for '%s'"
 msgstr ""
 
-#: ../lib/plugin/_BackendInfo.php:64
+#: ../lib/plugin/_BackendInfo.php:67
 #, php-format
 msgid "No pagedata for %s"
 msgstr ""
 
-#: ../lib/plugin/_BackendInfo.php:97
+#: ../lib/plugin/_BackendInfo.php:124
 msgid "<not displayed>"
 msgstr ""
 
@@ -5065,6 +5729,20 @@
 msgid "Get preferences information for current user %s."
 msgstr ""
 
+#: ../lib/plugin/_Retransform.php:30
+msgid "Retransform CachedMarkup"
+msgstr ""
+
+#: ../lib/plugin/_Retransform.php:34
+#, php-format
+msgid "Show a markup retransformation of page %s."
+msgstr ""
+
+#: ../lib/plugin/_Retransform.php:53
+#, php-format
+msgid "Retransform page '%s'"
+msgstr ""
+
 #: ../lib/plugin/_WikiTranslation.php:47
 msgid "AddCommentPlugin"
 msgstr ""
@@ -5097,10 +5775,6 @@
 msgid "CalendarPlugin"
 msgstr ""
 
-#: ../lib/plugin/_WikiTranslation.php:56
-msgid "CategoryCategory"
-msgstr ""
-
 #: ../lib/plugin/_WikiTranslation.php:57
 msgid "CategoryHomePages"
 msgstr ""
@@ -5124,9 +5798,10 @@
 #: ../lib/plugin/_WikiTranslation.php:64 ../themes/Crao/templates/head.tmpl:36
 #: ../themes/Crao/templates/head.tmpl:37
 #: ../themes/Crao/templates/navbar.tmpl:40
-#: ../themes/MonoBook/templates/navbar.tmpl:25
-#: ../themes/Portland/templates/navbar.tmpl:8
-#: ../themes/Sidebar/templates/navbar.tmpl:24
+#: ../themes/MonoBook/templates/navbar.tmpl:29
+#: ../themes/MonoBook/templates/navbar.tmpl:35
+#: ../themes/Portland/templates/navbar.tmpl:5
+#: ../themes/Sidebar/templates/navbar.tmpl:14
 #: ../themes/default/templates/head.tmpl:42
 #: ../themes/default/templates/head.tmpl:43
 #: ../themes/default/templates/navbar.tmpl:20
@@ -5134,7 +5809,7 @@
 #: ../themes/smaller/templates/navbar.tmpl:8
 #: ../themes/wikilens/templates/head.tmpl:34
 #: ../themes/wikilens/templates/head.tmpl:35
-#: ../themes/wikilens/templates/navbar.tmpl:11
+#: ../themes/wikilens/templates/navbar.tmpl:19
 msgid "FindPage"
 msgstr ""
 
@@ -5235,6 +5910,7 @@
 msgstr ""
 
 #: ../lib/plugin/_WikiTranslation.php:95
+#: ../themes/MonoBook/templates/navbar.tmpl:20
 msgid "PhpWikiDocumentation"
 msgstr ""
 
@@ -5315,6 +5991,7 @@
 msgstr ""
 
 #: ../lib/plugin/_WikiTranslation.php:118
+#: ../themes/MonoBook/templates/navbar.tmpl:60
 msgid "UpLoad"
 msgstr ""
 
@@ -5358,36 +6035,35 @@
 "service for %s to language %s"
 msgstr ""
 
-#: ../lib/plugin/_WikiTranslation.php:319
-#, php-format
-msgid "%s is empty"
-msgstr ""
-
 #: ../lib/plugin/_WikiTranslation.php:438
 #, php-format
 msgid "Define the translation for %s in %s"
 msgstr ""
 
-#: ../lib/plugin/text2png.php:46
+#: ../lib/plugin/text2png.php:57
 msgid "Convert text into a png image using GD."
 msgstr ""
 
-#: ../lib/plugin/text2png.php:118
+#: ../lib/plugin/text2png.php:169
 msgid ""
 "PHP was unable to create a new GD image stream. Read 'lib/plugin/text2png."
 "php' for details."
 msgstr ""
 
-#: ../lib/plugin/text2png.php:168
+#: ../lib/plugin/text2png.php:214
 #, php-format
 msgid "Image saved to cache file: %s"
 msgstr ""
 
-#: ../lib/plugin/text2png.php:172
+#: ../lib/plugin/text2png.php:218
 #, php-format
 msgid "Image loaded from cache file: %s"
 msgstr ""
 
+#: ../lib/plugin/text2png.php:226
+msgid " produced by "
+msgstr ""
+
 #: ../lib/removepage.php:18
 msgid "Already deleted"
 msgstr ""
@@ -5417,309 +6093,358 @@
 msgid "Back to the previous page."
 msgstr ""
 
-#: ../lib/stdlib.php:364 ../lib/stdlib.php:393
+#: ../lib/stdlib.php:366 ../lib/stdlib.php:395
 msgid "BAD URL -- remove all of <, >, \""
 msgstr ""
 
-#: ../lib/stdlib.php:433 ../lib/stdlib.php:450
+#: ../lib/stdlib.php:435 ../lib/stdlib.php:452
 msgid "Invalid image size"
 msgstr ""
 
-#: ../lib/stdlib.php:560
+#: ../lib/stdlib.php:562
 msgid "BAD phpwiki: URL"
 msgstr ""
 
-#: ../lib/stdlib.php:598
+#: ../lib/stdlib.php:600
 msgid "Lock page to enable link"
 msgstr ""
 
-#: ../lib/stdlib.php:725
+#: ../lib/stdlib.php:728
 #, php-format
 msgid "'%s': Bad page name: %s"
 msgstr ""
 
-#: ../lib/stdlib.php:755 ../lib/stdlib.php:780
+#: ../lib/stdlib.php:758 ../lib/stdlib.php:789
 #, php-format
 msgid "Leading %s not allowed"
 msgstr ""
 
-#: ../lib/stdlib.php:764
+#: ../lib/stdlib.php:773
 msgid "White space converted to single space"
 msgstr ""
 
-#: ../lib/stdlib.php:770
+#: ../lib/stdlib.php:779
 msgid "Control characters not allowed"
 msgstr ""
 
-#: ../lib/stdlib.php:791
+#: ../lib/stdlib.php:800
 msgid "too long"
 msgstr ""
 
-#: ../lib/stdlib.php:797
+#: ../lib/stdlib.php:809
 #, php-format
 msgid "Illegal chars %s removed"
 msgstr ""
 
-#: ../lib/stdlib.php:843
+#: ../lib/stdlib.php:855
 msgid "The CreateTocPlugin is not yet old markup compatible! "
 msgstr ""
 
-#: ../lib/stdlib.php:844
+#: ../lib/stdlib.php:856
 msgid ""
 "Please remove the CreateToc line to be able to reformat this page to old "
 "markup. "
 msgstr ""
 
-#: ../lib/stdlib.php:1105
+#: ../lib/stdlib.php:1118
 msgid "Revision Not Found"
 msgstr ""
 
-#: ../lib/stdlib.php:1106
+#: ../lib/stdlib.php:1119
 #, php-format
 msgid "I'm sorry.  Version %d of %s is not in the database."
 msgstr ""
 
-#: ../lib/stdlib.php:1109
+#: ../lib/stdlib.php:1122
 msgid "Bad Version"
 msgstr ""
 
-#: ../lib/stdlib.php:1245
+#: ../lib/stdlib.php:1258
 msgid "-???"
 msgstr ""
 
-#: ../lib/stdlib.php:1248
+#: ../lib/stdlib.php:1261
 #, php-format
 msgid "%s b"
 msgstr ""
 
-#: ../lib/stdlib.php:1250 ../themes/MonoBook/templates/info.tmpl:29
-#: ../themes/shamino_com/templates/info.tmpl:29
+#: ../lib/stdlib.php:1263 ../themes/MonoBook/templates/info.tmpl:29
 #, php-format
 msgid "%s bytes"
 msgstr ""
 
-#: ../lib/stdlib.php:1255
+#: ../lib/stdlib.php:1268
 #, php-format
 msgid "%s k"
 msgstr ""
 
-#: ../lib/stdlib.php:1257 ../themes/MonoBook/templates/info.tmpl:32
-#: ../themes/shamino_com/templates/info.tmpl:32
+#: ../lib/stdlib.php:1270 ../themes/MonoBook/templates/info.tmpl:32
 #, php-format
 msgid "%s Kb (%s bytes)"
 msgstr ""
 
-#: ../lib/stdlib.php:1353
+#: ../lib/stdlib.php:1366
 #, php-format
 msgid "%s: argument index out of range"
 msgstr ""
 
-#: ../lib/stdlib.php:1431 ../themes/Hawaiian/lib/random.php:20
+#: ../lib/stdlib.php:1444 ../themes/Hawaiian/lib/random.php:20
 #, php-format
 msgid "%s is empty."
 msgstr ""
 
-#: ../lib/stdlib.php:1438
+#: ../lib/stdlib.php:1451
 #, php-format
 msgid "Unable to open directory '%s' for reading"
 msgstr ""
 
-#: ../lib/stdlib.php:1942 ../lib/stdlib.php:1955
+#: ../lib/stdlib.php:1772
+msgid "Okay"
+msgstr ""
+
+#: ../lib/stdlib.php:1949 ../lib/stdlib.php:1962
 #, php-format
 msgid "... (first %s words)"
 msgstr ""
 
-#: ../lib/upgrade.php:76
+#: ../lib/upgrade.php:86
 msgid "newer than the existing page."
 msgstr ""
 
-#: ../lib/upgrade.php:77
+#: ../lib/upgrade.php:87
 msgid " replace "
 msgstr ""
 
-#: ../lib/upgrade.php:81
+#: ../lib/upgrade.php:91
 msgid "older than the existing page."
 msgstr ""
 
-#: ../lib/upgrade.php:82 ../lib/upgrade.php:86 ../lib/upgrade.php:153
-msgid " skipped"
+#: ../lib/upgrade.php:99
+#, php-format
+msgid "%s does not exist"
 msgstr ""
 
-#: ../lib/upgrade.php:89
+#: ../lib/upgrade.php:124 ../lib/upgrade.php:155 ../lib/upgrade.php:401
+#: ../lib/upgrade.php:913 ../lib/upgrade.php:1001
 #, php-format
-msgid "%s does not exist"
+msgid "check for necessary %s updates"
+msgstr ""
+
+#: ../lib/upgrade.php:125 ../themes/MonoBook/templates/actionbar.tmpl:17
+#: ../themes/MonoBook/templates/actionbar.tmpl:30
+msgid "ActionPage"
+msgstr ""
+
+#: ../lib/upgrade.php:127
+msgid "_AuthInfo"
+msgstr ""
+
+#: ../lib/upgrade.php:127
+msgid "DebugAuthInfo"
 msgstr ""
 
-#: ../lib/upgrade.php:112
-msgid "check for necessary ActionPage updates"
+#: ../lib/upgrade.php:130
+msgid "_GroupInfo"
 msgstr ""
 
-#: ../lib/upgrade.php:136
-msgid "check for necessary pgsrc updates"
+#: ../lib/upgrade.php:130
+msgid "GroupAuthInfo"
 msgstr ""
 
-#: ../lib/upgrade.php:152
+#: ../lib/upgrade.php:158
+msgid "rename to Help: pages"
+msgstr ""
+
+#: ../lib/upgrade.php:175
 msgid "always skip the HomePage."
 msgstr ""
 
-#: ../lib/upgrade.php:172
+#: ../lib/upgrade.php:196
+#, php-format
+msgid "check for additional theme %s updates"
+msgstr ""
+
+#: ../lib/upgrade.php:209
+#, php-format
+msgid "rename %s to %s"
+msgstr ""
+
+#: ../lib/upgrade.php:236
 msgid "MISSING"
 msgstr ""
 
-#: ../lib/upgrade.php:208 ../lib/upgrade.php:227 ../lib/upgrade.php:246
-#: ../lib/upgrade.php:267 ../lib/upgrade.php:295 ../lib/upgrade.php:341
+#: ../lib/upgrade.php:272 ../lib/upgrade.php:291 ../lib/upgrade.php:312
+#: ../lib/upgrade.php:340 ../lib/upgrade.php:386
 msgid "CREATED"
 msgstr ""
 
-#: ../lib/upgrade.php:357
-msgid "check for necessary database updates"
+#: ../lib/upgrade.php:402
+msgid "database"
 msgstr ""
 
-#: ../lib/upgrade.php:362
+#: ../lib/upgrade.php:408
 msgid "CANCEL"
 msgstr ""
 
-#: ../lib/upgrade.php:368
+#: ../lib/upgrade.php:421
 msgid "Backend type: "
 msgstr ""
 
-#: ../lib/upgrade.php:371 ../lib/upgrade.php:380 ../lib/upgrade.php:389
+#: ../lib/upgrade.php:425 ../lib/upgrade.php:445 ../lib/upgrade.php:454
 #, php-format
 msgid "check for table %s"
 msgstr ""
 
-#: ../lib/upgrade.php:401
+#: ../lib/upgrade.php:469
 msgid "check for new session.sess_ip column"
 msgstr ""
 
-#: ../lib/upgrade.php:407 ../lib/upgrade.php:712
+#: ../lib/upgrade.php:475 ../lib/upgrade.php:692 ../lib/upgrade.php:837
 msgid "SKIP"
 msgstr ""
 
-#: ../lib/upgrade.php:410 ../lib/upgrade.php:517 ../lib/upgrade.php:717
+#: ../lib/upgrade.php:478 ../lib/upgrade.php:586 ../lib/upgrade.php:842
 msgid "ADDING"
 msgstr ""
 
-#: ../lib/upgrade.php:420
+#: ../lib/upgrade.php:488
 msgid "check for mysql session.sess_id sanity"
 msgstr ""
 
-#: ../lib/upgrade.php:434 ../lib/upgrade.php:439 ../lib/upgrade.php:476
-#: ../lib/upgrade.php:485
+#: ../lib/upgrade.php:502 ../lib/upgrade.php:507 ../lib/upgrade.php:544
+#: ../lib/upgrade.php:553
 msgid "fixed"
 msgstr ""
 
-#: ../lib/upgrade.php:453
+#: ../lib/upgrade.php:521
 msgid "check for mysql LOCK TABLE privilege"
 msgstr ""
 
-#: ../lib/upgrade.php:487 ../lib/upgrade.php:524 ../lib/upgrade.php:784
-#: ../lib/upgrade.php:809 ../lib/upgrade.php:818 ../lib/upgrade.php:825
-msgid "FAILED"
-msgstr ""
-
-#: ../lib/upgrade.php:499
+#: ../lib/upgrade.php:567
 #, php-format
 msgid "version <em>%s</em> not affected"
 msgstr ""
 
-#: ../lib/upgrade.php:507
+#: ../lib/upgrade.php:576
 msgid "check for mysql page.id auto_increment flag"
 msgstr ""
 
-#: ../lib/upgrade.php:544
+#: ../lib/upgrade.php:613
 msgid "check for mysql 4.1.x/5.0.0 binary search on windows problem"
 msgstr ""
 
-#: ../lib/upgrade.php:547 ../lib/upgrade.php:563 ../lib/upgrade.php:584
+#: ../lib/upgrade.php:616 ../lib/upgrade.php:632 ../lib/upgrade.php:653
 #, php-format
 msgid "version <em>%s</em>"
 msgstr ""
 
-#: ../lib/upgrade.php:548
+#: ../lib/upgrade.php:617
 msgid "not affected"
 msgstr ""
 
-#: ../lib/upgrade.php:564 ../lib/upgrade.php:585 ../lib/upgrade.php:606
-#: ../lib/upgrade.php:816
+#: ../lib/upgrade.php:633 ../lib/upgrade.php:654 ../lib/upgrade.php:682
+#: ../lib/upgrade.php:1103
 msgid "FIXED"
 msgstr ""
 
-#: ../lib/upgrade.php:595
+#: ../lib/upgrade.php:664
 msgid "check for ACCESS_LOG_SQL passwords in POST requests"
 msgstr ""
 
-#: ../lib/upgrade.php:661
+#: ../lib/upgrade.php:687
+msgid "check for ACCESS_LOG_SQL remote_host varchar(50)"
+msgstr ""
+
+#: ../lib/upgrade.php:695
+msgid "FIXING"
+msgstr ""
+
+#: ../lib/upgrade.php:698
+msgid "FAIL"
+msgstr ""
+
+#: ../lib/upgrade.php:787
 msgid ""
 "Upgrade requires database privileges to CREATE and ALTER the phpwiki "
 "database."
 msgstr ""
 
-#: ../lib/upgrade.php:663
+#: ../lib/upgrade.php:789
 msgid ""
 "And on windows at least the privilege to SELECT FROM mysql, and possibly "
 "UPDATE mysql"
 msgstr ""
 
-#: ../lib/upgrade.php:668
+#: ../lib/upgrade.php:794
 msgid "DB admin user:"
 msgstr ""
 
-#: ../lib/upgrade.php:674
+#: ../lib/upgrade.php:800
 msgid "DB admin password:"
 msgstr ""
 
-#: ../lib/upgrade.php:707
+#: ../lib/upgrade.php:832
 msgid "check for extra page.cached_html column"
 msgstr ""
 
-#: ../lib/upgrade.php:724
+#: ../lib/upgrade.php:849 ../lib/upgrade.php:897
 msgid "CONVERTING"
 msgstr ""
 
-#: ../lib/upgrade.php:766
-msgid "check for necessary plugin argument updates"
+#: ../lib/upgrade.php:895
+msgid "Rebuild entire database to upgrade relation links"
 msgstr ""
 
-#: ../lib/upgrade.php:767
-msgid "change RandomPage pages => numpages"
+#: ../lib/upgrade.php:914
+msgid "plugin argument"
 msgstr ""
 
-#: ../lib/upgrade.php:819
+#: ../lib/upgrade.php:958
 #, php-format
-msgid "couldn't move %s to %s"
+msgid "file %s not found"
 msgstr ""
 
-#: ../lib/upgrade.php:826
+#: ../lib/upgrade.php:985
 #, php-format
-msgid "%s is not writable"
+msgid "%s not found in %s"
 msgstr ""
 
-#: ../lib/upgrade.php:832
-msgid "check for necessary config updates"
+#: ../lib/upgrade.php:992
+#, php-format
+msgid "couldn't move %s to %s"
 msgstr ""
 
-#: ../lib/upgrade.php:833
-msgid "check for old CACHE_CONTROL = NONE"
+#: ../lib/upgrade.php:996
+#, php-format
+msgid "file %s is not writable"
 msgstr ""
 
-#: ../lib/upgrade.php:836
-msgid "CACHE_CONTROL is set to 'NONE', and must be changed to 'NO_CACHE'"
+#: ../lib/upgrade.php:1006 ../lib/upgrade.php:1016 ../lib/upgrade.php:1026
+#, php-format
+msgid "check for %s"
 msgstr ""
 
-#: ../lib/upgrade.php:843
-msgid "check for GROUP_METHOD = NONE"
+#: ../lib/upgrade.php:1008
+msgid "CACHE_CONTROL is set to 'NONE', and must be changed to 'NO_CACHE'"
 msgstr ""
 
-#: ../lib/upgrade.php:846
+#: ../lib/upgrade.php:1018
 msgid "GROUP_METHOD is set to NONE, and must be changed to \"NONE\""
 msgstr ""
 
-#: ../lib/upgrade.php:883
+#: ../lib/upgrade.php:1028
+msgid "fix BLOG_EMPTY_DEFAULT_PREFIX into BLOG_DEFAULT_EMPTY_PREFIX"
+msgstr ""
+
+#: ../lib/upgrade.php:1128
+msgid "fixed with"
+msgstr ""
+
+#: ../lib/upgrade.php:1254
 msgid "Upgrade disabled: user != isAdmin"
 msgstr ""
 
-#: ../lib/upgrade.php:887
+#: ../lib/upgrade.php:1259
 msgid "Upgrading this PhpWiki"
 msgstr ""
 
@@ -5752,48 +6477,46 @@
 msgid "Members:"
 msgstr ""
 
-#: ../lib/ziplib.php:199
+#: ../lib/ziplib.php:206
 msgid "Can't inflate data: zlib support not enabled in this PHP"
 msgstr ""
 
-#: ../lib/ziplib.php:395
+#: ../lib/ziplib.php:402
 #, php-format
 msgid "Can't open zip file '%s' for reading"
 msgstr ""
 
-#: ../lib/ziplib.php:405 ../lib/ziplib.php:409
+#: ../lib/ziplib.php:412 ../lib/ziplib.php:416
 msgid "Unexpected EOF in zip file"
 msgstr ""
 
-#: ../lib/ziplib.php:730
+#: ../lib/ziplib.php:738
 #, php-format
 msgid "[%d] See [%s]"
 msgstr ""
 
-#: ../lib/ziplib.php:737
+#: ../lib/ziplib.php:745
 msgid "References"
 msgstr ""
 
 #: ../themes/Crao/templates/actionbar.tmpl:5
-#: ../themes/MonoBook/templates/actionbar.tmpl:11
-#: ../themes/Portland/templates/actionbar.tmpl:8
-#: ../themes/default/templates/actionbar.tmpl:15
+#: ../themes/MonoBook/templates/actionbar.tmpl:34
+#: ../themes/Portland/templates/actionbar.tmpl:6
+#: ../themes/default/templates/actionbar.tmpl:16
 #: ../themes/shamino_com/templates/actionbar.tmpl:6
-#: ../themes/shamino_com/templates/info.tmpl:164
 #: ../themes/smaller/templates/actionbar.tmpl:18
 msgid "Edit Old Revision"
 msgstr ""
 
 #: ../themes/Crao/templates/actionbar.tmpl:7
 #: ../themes/Crao/templates/head.tmpl:47
-#: ../themes/MonoBook/templates/actionbar.tmpl:13
+#: ../themes/MonoBook/templates/actionbar.tmpl:37
 #: ../themes/MonoBook/templates/info.tmpl:166
-#: ../themes/Portland/templates/actionbar.tmpl:10
+#: ../themes/Portland/templates/actionbar.tmpl:8
 #: ../themes/Wordpress/templates/actionbar.tmpl:10
-#: ../themes/blog/templates/actionbar.tmpl:7
-#: ../themes/default/templates/actionbar.tmpl:17
+#: ../themes/blog/templates/actionbar.tmpl:21
+#: ../themes/default/templates/actionbar.tmpl:18
 #: ../themes/default/templates/head.tmpl:53
-#: ../themes/shamino_com/templates/info.tmpl:165
 #: ../themes/smaller/templates/actionbar.tmpl:20
 #: ../themes/smaller/templates/info.tmpl:5
 #: ../themes/wikilens/templates/head.tmpl:45
@@ -5801,19 +6524,17 @@
 msgstr ""
 
 #: ../themes/Crao/templates/actionbar.tmpl:30
-#: ../themes/MonoBook/templates/actionbar.tmpl:52
+#: ../themes/MonoBook/templates/actionbar.tmpl:72
 #: ../themes/MonoBook/templates/info.tmpl:177
-#: ../themes/default/templates/actionbar.tmpl:39
-#: ../themes/shamino_com/templates/info.tmpl:177
+#: ../themes/default/templates/actionbar.tmpl:41
 #: ../themes/smaller/templates/info.tmpl:17
 msgid "PurgeHtmlCache"
 msgstr ""
 
 #: ../themes/Crao/templates/actionbar.tmpl:31
-#: ../themes/MonoBook/templates/actionbar.tmpl:53
+#: ../themes/MonoBook/templates/actionbar.tmpl:73
 #: ../themes/MonoBook/templates/info.tmpl:178
-#: ../themes/default/templates/actionbar.tmpl:40
-#: ../themes/shamino_com/templates/info.tmpl:178
+#: ../themes/default/templates/actionbar.tmpl:42
 #: ../themes/smaller/templates/info.tmpl:18
 msgid ""
 "Purge HTML cache for this page. Regenerate from WikiMarkup when next "
@@ -5821,58 +6542,65 @@
 msgstr ""
 
 #: ../themes/Crao/templates/blogform.tmpl:10
-#: ../themes/blog/templates/blogform.tmpl:11
-#: ../themes/default/templates/blogform.tmpl:11
 msgid "Add a Comment"
 msgstr ""
 
 #: ../themes/Crao/templates/blogform.tmpl:18
-#: ../themes/blog/templates/blogform.tmpl:28
 #: ../themes/default/templates/addcomment.tmpl:14
-#: ../themes/default/templates/blogform.tmpl:28
 msgid "Add Comment"
 msgstr ""
 
 #: ../themes/Crao/templates/browse.tmpl:5
+#: ../themes/MonoBook/templates/browse.tmpl:6
 #: ../themes/Portland/templates/browse.tmpl:9
 #: ../themes/Portland/templates/viewsource.tmpl:5
 #: ../themes/Wordpress/templates/browse.tmpl:9
-#: ../themes/Wordpress/templates/viewsource.tmpl:7
+#: ../themes/Wordpress/templates/viewsource.tmpl:9
 #: ../themes/blog/templates/browse.tmpl:6
+#: ../themes/blog/templates/viewsource.tmpl:6
 #: ../themes/default/templates/browse.tmpl:6
 #: ../themes/default/templates/viewsource.tmpl:5
 msgid "Note:"
 msgstr ""
 
 #: ../themes/Crao/templates/browse.tmpl:6
+#: ../themes/MonoBook/templates/browse.tmpl:7
 #: ../themes/Portland/templates/browse.tmpl:10
 #: ../themes/Portland/templates/viewsource.tmpl:10
 #: ../themes/Wordpress/templates/browse.tmpl:10
-#: ../themes/Wordpress/templates/viewsource.tmpl:12
+#: ../themes/Wordpress/templates/viewsource.tmpl:14
 #: ../themes/blog/templates/browse.tmpl:7
+#: ../themes/blog/templates/viewsource.tmpl:11
 #: ../themes/default/templates/browse.tmpl:7
 #: ../themes/default/templates/viewsource.tmpl:10
 msgid "You are viewing an old revision of this page."
 msgstr ""
 
 #: ../themes/Crao/templates/browse.tmpl:7
+#: ../themes/MonoBook/templates/browse.tmpl:8
 #: ../themes/Portland/templates/browse.tmpl:11
 #: ../themes/Portland/templates/viewsource.tmpl:11
 #: ../themes/Wordpress/templates/browse.tmpl:11
-#: ../themes/Wordpress/templates/viewsource.tmpl:13
+#: ../themes/Wordpress/templates/viewsource.tmpl:15
 #: ../themes/blog/templates/browse.tmpl:8
+#: ../themes/blog/templates/viewsource.tmpl:12
 #: ../themes/default/templates/browse.tmpl:8
 #: ../themes/default/templates/viewsource.tmpl:11
 msgid "View the current version"
 msgstr ""
 
 #: ../themes/Crao/templates/editpage.tmpl:4
-#: ../themes/Portland/templates/editpage.tmpl:61
-#: ../themes/Wordpress/templates/editpage.tmpl:63
+#: ../themes/Portland/templates/editpage.tmpl:57
+#: ../themes/Wordpress/templates/editpage.tmpl:67
 #: ../themes/default/templates/editpage.tmpl:4
 msgid "Preview only!  Changes not saved."
 msgstr ""
 
+#: ../themes/Crao/templates/editpage.tmpl:9
+#: ../themes/default/templates/editpage.tmpl:9
+msgid "edit area"
+msgstr ""
+
 #: ../themes/Crao/templates/editpage.tmpl:8
 #: ../themes/default/templates/editpage.tmpl:8
 #, php-format
@@ -5880,11 +6608,6 @@
 "Please continue editing.  (You'll find your %s at the bottom of the page.)"
 msgstr ""
 
-#: ../themes/Crao/templates/editpage.tmpl:9
-#: ../themes/default/templates/editpage.tmpl:9
-msgid "edit area"
-msgstr ""
-
 #: ../themes/Crao/templates/editpage.tmpl:18
 #: ../themes/Portland/templates/editpage.tmpl:25
 #: ../themes/Wordpress/templates/editpage.tmpl:23
@@ -5900,21 +6623,21 @@
 msgstr ""
 
 #: ../themes/Crao/templates/editpage.tmpl:38
-#: ../themes/Portland/templates/editpage.tmpl:52
+#: ../themes/Portland/templates/editpage.tmpl:48
 #: ../themes/Wordpress/templates/editpage.tmpl:39
 #: ../themes/default/templates/editpage.tmpl:40
 msgid "H"
 msgstr ""
 
 #: ../themes/Crao/templates/editpage.tmpl:39
-#: ../themes/Portland/templates/editpage.tmpl:53
+#: ../themes/Portland/templates/editpage.tmpl:49
 #: ../themes/Wordpress/templates/editpage.tmpl:40
 #: ../themes/default/templates/editpage.tmpl:41
 msgid "W"
 msgstr ""
 
 #: ../themes/Crao/templates/editpage.tmpl:40
-#: ../themes/Portland/templates/editpage.tmpl:54
+#: ../themes/Portland/templates/editpage.tmpl:50
 #: ../themes/Wordpress/templates/editpage.tmpl:41
 #: ../themes/default/templates/editpage.tmpl:42
 msgid "Adjust"
@@ -5930,58 +6653,66 @@
 msgstr ""
 
 #: ../themes/Crao/templates/editpage.tmpl:59
-#: ../themes/Portland/templates/editpage.tmpl:56
-#: ../themes/Wordpress/templates/editpage.tmpl:44
+#: ../themes/Portland/templates/editpage.tmpl:52
+#: ../themes/Wordpress/templates/editpage.tmpl:59
 #: ../themes/default/templates/editpage.tmpl:60
 msgid "Use old markup"
 msgstr ""
 
 #: ../themes/Crao/templates/editpage.tmpl:92
 #: ../themes/Crao/templates/editpage.tmpl:97
-#: ../themes/Portland/templates/editpage.tmpl:84
-#: ../themes/Portland/templates/editpage.tmpl:89
-#: ../themes/Wordpress/templates/editpage.tmpl:86
-#: ../themes/Wordpress/templates/editpage.tmpl:91
+#: ../themes/Portland/templates/editpage.tmpl:80
+#: ../themes/Portland/templates/editpage.tmpl:85
+#: ../themes/Wordpress/templates/editpage.tmpl:90
+#: ../themes/Wordpress/templates/editpage.tmpl:95
+#: ../themes/blog/templates/blogform.tmpl:24
+#: ../themes/default/templates/blogform.tmpl:24
+#: ../themes/default/templates/editpage.tmpl:108
 #: ../themes/default/templates/editpage.tmpl:113
-#: ../themes/default/templates/editpage.tmpl:118
-#, php-format
-msgid "See %s tips for editing."
+msgid "Help/GoodStyle"
 msgstr ""
 
 #: ../themes/Crao/templates/editpage.tmpl:92
 #: ../themes/Crao/templates/editpage.tmpl:97
-#: ../themes/Portland/templates/editpage.tmpl:84
-#: ../themes/Portland/templates/editpage.tmpl:89
-#: ../themes/Wordpress/templates/editpage.tmpl:86
-#: ../themes/Wordpress/templates/editpage.tmpl:91
+#: ../themes/Portland/templates/editpage.tmpl:80
+#: ../themes/Portland/templates/editpage.tmpl:85
+#: ../themes/Wordpress/templates/editpage.tmpl:90
+#: ../themes/Wordpress/templates/editpage.tmpl:95
+#: ../themes/blog/templates/blogform.tmpl:24
+#: ../themes/default/templates/blogform.tmpl:24
+#: ../themes/default/templates/editpage.tmpl:108
 #: ../themes/default/templates/editpage.tmpl:113
-#: ../themes/default/templates/editpage.tmpl:118
-msgid "GoodStyle"
+#, php-format
+msgid "See %s tips for editing."
 msgstr ""
 
 #: ../themes/Crao/templates/editpage.tmpl:93
-#: ../themes/Portland/templates/editpage.tmpl:85
-#: ../themes/Wordpress/templates/editpage.tmpl:87
-#: ../themes/default/templates/editpage.tmpl:114
-msgid "OldTextFormattingRules"
+#: ../themes/Portland/templates/editpage.tmpl:81
+#: ../themes/Wordpress/templates/editpage.tmpl:91
+#: ../themes/default/templates/editpage.tmpl:109
+msgid "Help/OldTextFormattingRules"
 msgstr ""
 
 #: ../themes/Crao/templates/editpage.tmpl:93
 #: ../themes/Crao/templates/editpage.tmpl:98
-#: ../themes/Portland/templates/editpage.tmpl:85
-#: ../themes/Portland/templates/editpage.tmpl:90
-#: ../themes/Wordpress/templates/editpage.tmpl:87
-#: ../themes/Wordpress/templates/editpage.tmpl:92
+#: ../themes/Portland/templates/editpage.tmpl:81
+#: ../themes/Portland/templates/editpage.tmpl:86
+#: ../themes/Wordpress/templates/editpage.tmpl:91
+#: ../themes/Wordpress/templates/editpage.tmpl:96
+#: ../themes/blog/templates/blogform.tmpl:25
+#: ../themes/default/templates/blogform.tmpl:25
+#: ../themes/default/templates/editpage.tmpl:109
 #: ../themes/default/templates/editpage.tmpl:114
-#: ../themes/default/templates/editpage.tmpl:119
 msgid "Synopsis"
 msgstr ""
 
 #: ../themes/Crao/templates/editpage.tmpl:98
-#: ../themes/Portland/templates/editpage.tmpl:90
-#: ../themes/Wordpress/templates/editpage.tmpl:92
-#: ../themes/default/templates/editpage.tmpl:119
-msgid "TextFormattingRules"
+#: ../themes/Portland/templates/editpage.tmpl:86
+#: ../themes/Wordpress/templates/editpage.tmpl:96
+#: ../themes/blog/templates/blogform.tmpl:25
+#: ../themes/default/templates/blogform.tmpl:25
+#: ../themes/default/templates/editpage.tmpl:114
+msgid "Help/TextFormattingRules"
 msgstr ""
 
 #: ../themes/Crao/templates/head.tmpl:31 ../themes/Crao/templates/head.tmpl:32
@@ -5995,36 +6726,35 @@
 msgstr ""
 
 #: ../themes/Crao/templates/navbar.tmpl:34
-#: ../themes/Wordpress/templates/actionbar.tmpl:37
+#: ../themes/Wordpress/templates/actionbar.tmpl:38
 #: ../themes/default/templates/navbar.tmpl:51
-#: ../themes/wikilens/templates/navbar.tmpl:40
+#: ../themes/wikilens/templates/navbar.tmpl:30
 msgid "Today"
 msgstr ""
 
 #: ../themes/Crao/templates/navbar.tmpl:37
-#: ../themes/Sidebar/templates/navbar.tmpl:38
+#: ../themes/Sidebar/templates/navbar.tmpl:28
 #: ../themes/blog/templates/navbar.tmpl:14
 #: ../themes/default/templates/navbar.tmpl:55
-#: ../themes/wikilens/templates/navbar.tmpl:43
+#: ../themes/wikilens/templates/navbar.tmpl:32
 msgid "Admin"
 msgstr ""
 
 #: ../themes/Crao/templates/navbar.tmpl:46
 #: ../themes/blog/templates/search.tmpl:11
-#: ../themes/default/templates/search.tmpl:16
-#: ../themes/default/templates/search.tmpl:23
+#: ../themes/default/templates/search.tmpl:20
+#: ../themes/default/templates/search.tmpl:25
 msgid "LiveSearch"
 msgstr ""
 
-#: ../themes/Crao/templates/signin.tmpl:18
+#: ../themes/Crao/templates/signin.tmpl:17
 #, php-format
 msgid "You are signed in as %s"
 msgstr ""
 
-#: ../themes/Crao/templates/signin.tmpl:39
-#: ../themes/MonoBook/templates/signin.tmpl:38
-#: ../themes/Sidebar/templates/signin.tmpl:38
-#: ../themes/Wordpress/templates/signin.tmpl:42
+#: ../themes/Crao/templates/signin.tmpl:38
+#: ../themes/Sidebar/templates/signin.tmpl:37
+#: ../themes/Wordpress/templates/signin.tmpl:41
 #: ../themes/default/templates/signin.tmpl:34
 #: ../themes/smaller/templates/signin.tmpl:37
 msgid "Enter your UserId to sign in"
@@ -6032,8 +6762,6 @@
 
 #: ../themes/Crao/templates/wikiblog.tmpl:19
 #: ../themes/blog/templates/wikiblog.tmpl:20
-#: ../themes/default/templates/comment.tmpl:18
-#: ../themes/default/templates/wikiblog.tmpl:19
 #, php-format
 msgid "Comment modified on %s by %s"
 msgstr ""
@@ -6041,43 +6769,33 @@
 #: ../themes/Crao/templates/wikiblog.tmpl:25
 #: ../themes/blog/templates/wikiblog.tmpl:25
 #: ../themes/default/templates/comment.tmpl:24
-#: ../themes/default/templates/wikiblog.tmpl:24
 #, php-format
 msgid "Comments on %s by %s."
 msgstr ""
 
-#: ../themes/Hawaiian/themeinfo.php:29 ../themes/MacOSX/themeinfo.php:104
-#: ../themes/MonoBook/themeinfo.php:72 ../themes/Portland/themeinfo.php:59
-#: ../themes/Sidebar/themeinfo.php:122 ../themes/SpaceWiki/themeinfo.php:43
-#: ../themes/Wordpress/themeinfo.php:61 ../themes/default/themeinfo.php:24
-#: ../themes/shamino_com/themeinfo.php:56 ../themes/smaller/themeinfo.php:51
-#: ../themes/wikilens/themeinfo.php:24
-msgid "Printer"
+#: ../themes/MonoBook/templates/actionbar.tmpl:17
+#: ../themes/MonoBook/templates/actionbar.tmpl:30
+#: ../themes/Sidebar/templates/navbar.tmpl:21
+#: ../themes/default/templates/navbar.tmpl:15
+#: ../themes/wikilens/templates/navbar.tmpl:13
+msgid "Article"
 msgstr ""
 
-#: ../themes/Hawaiian/themeinfo.php:30 ../themes/MonoBook/themeinfo.php:74
-#: ../themes/Portland/themeinfo.php:60 ../themes/Sidebar/themeinfo.php:123
-#: ../themes/SpaceWiki/themeinfo.php:44 ../themes/Wordpress/themeinfo.php:62
-#: ../themes/default/themeinfo.php:26 ../themes/shamino_com/themeinfo.php:58
-#: ../themes/smaller/themeinfo.php:53 ../themes/wikilens/themeinfo.php:26
-msgid "Modern"
+#: ../themes/MonoBook/templates/actionbar.tmpl:24
+msgid "TemplateTalk"
 msgstr ""
 
-#: ../themes/MacOSX/themeinfo.php:105 ../themes/MonoBook/themeinfo.php:73
-#: ../themes/default/themeinfo.php:25 ../themes/shamino_com/themeinfo.php:57
-#: ../themes/smaller/themeinfo.php:52 ../themes/wikilens/themeinfo.php:25
-msgid "Top & bottom toolbars"
+#: ../themes/MonoBook/templates/actionbar.tmpl:39
+msgid "History"
 msgstr ""
 
-#: ../themes/MonoBook/templates/actionbar.tmpl:27
-#: ../themes/Sidebar/templates/navbar.tmpl:31
-#: ../themes/default/templates/navbar.tmpl:15
-msgid "Article"
+#: ../themes/MonoBook/templates/actionbar.tmpl:42
+msgid "Watch"
 msgstr ""
 
-#: ../themes/MonoBook/templates/actionbar.tmpl:42
-#: ../themes/blog/templates/actionbar.tmpl:21
-#: ../themes/smaller/templates/actionbar.tmpl:34
+#: ../themes/MonoBook/templates/actionbar.tmpl:65
+#: ../themes/blog/templates/actionbar.tmpl:15
+#: ../themes/smaller/templates/actionbar.tmpl:36
 msgid "Info"
 msgstr ""
 
@@ -6088,7 +6806,7 @@
 
 #: ../themes/MonoBook/templates/browse-footer.tmpl:16
 #: ../themes/MonoBook/templates/browse-footer.tmpl:17
-#: ../themes/blog/templates/actionbar.tmpl:16
+#: ../themes/blog/templates/actionbar.tmpl:10
 msgid "About"
 msgstr ""
 
@@ -6099,180 +6817,166 @@
 
 #: ../themes/MonoBook/templates/info.tmpl:37
 #: ../themes/default/templates/info.tmpl:30
-#: ../themes/shamino_com/templates/info.tmpl:37
 msgid "1 word"
 msgstr ""
 
 #: ../themes/MonoBook/templates/info.tmpl:39
 #: ../themes/default/templates/info.tmpl:32
-#: ../themes/shamino_com/templates/info.tmpl:39
 #, php-format
 msgid "%s words"
 msgstr ""
 
 #: ../themes/MonoBook/templates/info.tmpl:43
 #: ../themes/default/templates/info.tmpl:36
-#: ../themes/shamino_com/templates/info.tmpl:43
 #, php-format
 msgid "Version %s"
 msgstr ""
 
 #: ../themes/MonoBook/templates/info.tmpl:44
 #: ../themes/default/templates/info.tmpl:37
-#: ../themes/shamino_com/templates/info.tmpl:44
 msgid "Original (1.2 or 1.0)"
 msgstr ""
 
 #: ../themes/MonoBook/templates/info.tmpl:76
-#: ../themes/default/templates/info.tmpl:69
-#: ../themes/shamino_com/templates/info.tmpl:75
+#: ../themes/default/templates/info.tmpl:68
 msgid "Saved on:"
 msgstr ""
 
 #: ../themes/MonoBook/templates/info.tmpl:81
-#: ../themes/default/templates/info.tmpl:74
-#: ../themes/shamino_com/templates/info.tmpl:80
+#: ../themes/default/templates/info.tmpl:73
 #, php-format
 msgid "Statistics about %s."
 msgstr ""
 
 #: ../themes/MonoBook/templates/info.tmpl:91
-#: ../themes/default/templates/info.tmpl:85
-#: ../themes/shamino_com/templates/info.tmpl:91
+#: ../themes/default/templates/info.tmpl:84
 msgid "Supplanted on:"
 msgstr ""
 
 #: ../themes/MonoBook/templates/info.tmpl:108
-#: ../themes/default/templates/info.tmpl:103
-#: ../themes/shamino_com/templates/info.tmpl:108
+#: ../themes/default/templates/info.tmpl:102
 msgid "Page Version:"
 msgstr ""
 
 #: ../themes/MonoBook/templates/info.tmpl:112
-#: ../themes/default/templates/info.tmpl:107
-#: ../themes/shamino_com/templates/info.tmpl:112
+#: ../themes/default/templates/info.tmpl:106
 msgid "Markup:"
 msgstr ""
 
 #: ../themes/MonoBook/templates/info.tmpl:116
-#: ../themes/default/templates/info.tmpl:111
-#: ../themes/shamino_com/templates/info.tmpl:116
+#: ../themes/default/templates/info.tmpl:110
 msgid "Size:"
 msgstr ""
 
 #: ../themes/MonoBook/templates/info.tmpl:121
-#: ../themes/default/templates/info.tmpl:116
-#: ../themes/shamino_com/templates/info.tmpl:121
+#: ../themes/default/templates/info.tmpl:115
 msgid "Hits:"
 msgstr ""
 
 #: ../themes/MonoBook/templates/info.tmpl:138
-#: ../themes/default/templates/info.tmpl:133
-#: ../themes/shamino_com/templates/info.tmpl:138
+#: ../themes/default/templates/info.tmpl:132
 msgid "home page"
 msgstr ""
 
 #: ../themes/MonoBook/templates/info.tmpl:141
-#: ../themes/default/templates/info.tmpl:136
-#: ../themes/shamino_com/templates/info.tmpl:141
+#: ../themes/default/templates/info.tmpl:135
 msgid "User page"
 msgstr ""
 
 #: ../themes/MonoBook/templates/info.tmpl:144
-#: ../themes/default/templates/info.tmpl:139
-#: ../themes/shamino_com/templates/info.tmpl:144
+#: ../themes/default/templates/info.tmpl:138
 msgid "Action page"
 msgstr ""
 
 #: ../themes/MonoBook/templates/info.tmpl:147
-#: ../themes/default/templates/info.tmpl:142
-#: ../themes/shamino_com/templates/info.tmpl:147
+#: ../themes/default/templates/info.tmpl:141
 msgid "Blog page"
 msgstr ""
 
 #: ../themes/MonoBook/templates/info.tmpl:153
-#: ../themes/default/templates/info.tmpl:148
-#: ../themes/shamino_com/templates/info.tmpl:153
+#: ../themes/default/templates/info.tmpl:147
 msgid "Subpage"
 msgstr ""
 
 #: ../themes/MonoBook/templates/info.tmpl:158
-#: ../themes/default/templates/info.tmpl:153
-#: ../themes/shamino_com/templates/info.tmpl:158
+#: ../themes/default/templates/info.tmpl:152
 msgid "Page Type:"
 msgstr ""
 
 #: ../themes/MonoBook/templates/info.tmpl:170
 #: ../themes/blog/templates/info.tmpl:5
-#: ../themes/shamino_com/templates/info.tmpl:170
 #: ../themes/smaller/templates/info.tmpl:9
 msgid "Diff previous Revision"
 msgstr ""
 
 #: ../themes/MonoBook/templates/info.tmpl:171
 #: ../themes/blog/templates/info.tmpl:6
-#: ../themes/shamino_com/templates/info.tmpl:171
 #: ../themes/smaller/templates/info.tmpl:10
 msgid "Diff previous Author"
 msgstr ""
 
-#: ../themes/MonoBook/templates/navbar.tmpl:28
-#: ../themes/MonoBook/templates/navbar.tmpl:29
-#: ../themes/Sidebar/templates/navbar.tmpl:16
-#: ../themes/Sidebar/templates/navbar.tmpl:17
+#: ../themes/MonoBook/templates/navbar.tmpl:15
+msgid "The list of recent changes in the wiki."
+msgstr ""
+
+#: ../themes/MonoBook/templates/navbar.tmpl:17
+msgid "RecentNewPages"
+msgstr ""
+
+#: ../themes/MonoBook/templates/navbar.tmpl:18
+msgid "Like Pages"
+msgstr ""
+
+#: ../themes/MonoBook/templates/navbar.tmpl:35
+msgid "Search:"
+msgstr ""
+
+#: ../themes/MonoBook/templates/navbar.tmpl:38
+#: ../themes/MonoBook/templates/navbar.tmpl:39
 #: ../themes/default/templates/navbar.tmpl:28
 #: ../themes/default/templates/navbar.tmpl:30
-#: ../themes/default/templates/search.tmpl:13
+#: ../themes/default/templates/search.tmpl:17
 #: ../themes/shamino_com/templates/top.tmpl:24
 #: ../themes/shamino_com/templates/top.tmpl:25
 #: ../themes/smaller/templates/navbar.tmpl:11
 #: ../themes/smaller/templates/navbar.tmpl:12
-#: ../themes/wikilens/templates/navbar.tmpl:19
-#: ../themes/wikilens/templates/navbar.tmpl:21
 msgid "Quick Search"
 msgstr ""
 
-#: ../themes/MonoBook/templates/navbar.tmpl:39
-msgid "Like Pages"
+#: ../themes/MonoBook/templates/navbar.tmpl:51
+msgid "What links here"
 msgstr ""
 
-#: ../themes/MonoBook/templates/navbar.tmpl:40
-msgid "What links here"
+#: ../themes/MonoBook/templates/navbar.tmpl:57
+msgid "Administration"
 msgstr ""
 
-#: ../themes/MonoBook/templates/signin.tmpl:18
-#: ../themes/Wordpress/templates/signin.tmpl:21
-#: ../themes/default/templates/signin.tmpl:25
-#: ../themes/shamino_com/templates/signin.tmpl:25
-#, php-format
-msgid "Authenticated as %s"
+#: ../themes/MonoBook/templates/navbar.tmpl:60
+msgid "Upload file"
 msgstr ""
 
-#: ../themes/MonoBook/templates/signin.tmpl:41
-#, php-format
-msgid "Signed as %s"
+#: ../themes/MonoBook/templates/navbar.tmpl:60
+msgid "Upload images or media files"
 msgstr ""
 
-#: ../themes/MonoBook/templates/signin.tmpl:44
-#: ../themes/Sidebar/templates/signin.tmpl:44
-#: ../themes/Wordpress/templates/signin.tmpl:48
-#: ../themes/default/templates/signin.tmpl:40
-#, php-format
-msgid "Click to authenticate as %s"
+#: ../themes/MonoBook/templates/navbar.tmpl:64
+#: ../themes/MonoBook/templates/navbar.tmpl:69
+msgid "Printable version"
 msgstr ""
 
-#: ../themes/MonoBook/templates/signin.tmpl:65
-#: ../themes/Sidebar/templates/signin.tmpl:64
-#: ../themes/Wordpress/templates/signin.tmpl:68
-#: ../themes/default/templates/signin.tmpl:59
-msgid "Sign in as:"
+#: ../themes/MonoBook/templates/navbar.tmpl:74
+msgid "Display as Pdf"
 msgstr ""
 
-#: ../themes/Portland/templates/actionbar.tmpl:8
+#: ../themes/MonoBook/templates/signin.tmpl:10
+msgid "Logout"
+msgstr ""
+
+#: ../themes/Portland/templates/actionbar.tmpl:6
 msgid "EditText"
 msgstr ""
 
-#: ../themes/Portland/templates/actionbar.tmpl:11
+#: ../themes/Portland/templates/actionbar.tmpl:9
 #, php-format
 msgid "%s of this page"
 msgstr ""
@@ -6285,20 +6989,21 @@
 msgid "Page Execution took %s seconds"
 msgstr ""
 
-#: ../themes/Portland/templates/editpage.tmpl:48
-#: ../themes/Wordpress/templates/editpage.tmpl:57
+#: ../themes/Portland/templates/editpage.tmpl:44
+#: ../themes/Wordpress/templates/editpage.tmpl:56
 #, php-format
 msgid ""
 "I'm just doing minor edits. Please divert the usual logging to %s instead."
 msgstr ""
 
-#: ../themes/Portland/templates/editpage.tmpl:52
-#: ../themes/default/templates/userprefs.tmpl:195
+#: ../themes/Portland/templates/editpage.tmpl:48
+#: ../themes/default/templates/userprefs.tmpl:196
 msgid "Edit Area Size"
 msgstr ""
 
 #: ../themes/Portland/templates/viewsource.tmpl:6
-#: ../themes/Wordpress/templates/viewsource.tmpl:8
+#: ../themes/Wordpress/templates/viewsource.tmpl:10
+#: ../themes/blog/templates/viewsource.tmpl:7
 #: ../themes/default/templates/viewsource.tmpl:6
 msgid "This page has been locked by the administrator and cannot be edited."
 msgstr ""
@@ -6308,26 +7013,35 @@
 msgid "Navigation"
 msgstr ""
 
-#: ../themes/Sidebar/templates/navbar.tmpl:24
+#: ../themes/Sidebar/templates/navbar.tmpl:14
 msgid "Full Search"
 msgstr ""
 
-#: ../themes/Sidebar/templates/signin.tmpl:18
+#: ../themes/Sidebar/templates/signin.tmpl:17
 #, php-format
 msgid "User: %s"
 msgstr ""
 
-#: ../themes/Sidebar/templates/signin.tmpl:41
+#: ../themes/Sidebar/templates/signin.tmpl:40
 #, php-format
 msgid "(User: %s)"
 msgstr ""
 
-#: ../themes/Sidebar/themeinfo.php:119
-msgid "Sidebar"
+#: ../themes/Sidebar/templates/signin.tmpl:43
+#: ../themes/Wordpress/templates/signin.tmpl:47
+#: ../themes/default/templates/signin.tmpl:40
+#, php-format
+msgid "Click to authenticate as %s"
 msgstr ""
 
-#: ../themes/SpaceWiki/lib/RecentChanges.php:55
-msgid "diff"
+#: ../themes/Sidebar/templates/signin.tmpl:63
+#: ../themes/Wordpress/templates/signin.tmpl:67
+#: ../themes/default/templates/signin.tmpl:59
+msgid "Sign in as:"
+msgstr ""
+
+#: ../themes/Sidebar/themeinfo.php:37
+msgid "Sidebar"
 msgstr ""
 
 #: ../themes/Wordpress/templates/actionbar.tmpl:8
@@ -6338,60 +7052,83 @@
 msgid "Edit old revision"
 msgstr ""
 
-#: ../themes/Wordpress/templates/signin.tmpl:45
+#: ../themes/Wordpress/templates/signin.tmpl:20
+#: ../themes/default/templates/signin.tmpl:25
+#: ../themes/shamino_com/templates/signin.tmpl:24
+#, php-format
+msgid "Authenticated as %s"
+msgstr ""
+
+#: ../themes/Wordpress/templates/signin.tmpl:44
 #: ../themes/default/templates/signin.tmpl:37
 #, php-format
 msgid "You are signed but not authenticated as %s. "
 msgstr ""
 
-#: ../themes/blog/templates/actionbar.tmpl:15
+#: ../themes/blog/templates/actionbar.tmpl:9
 msgid "Home"
 msgstr ""
 
-#: ../themes/blog/templates/actionbar.tmpl:18
-msgid "Photos"
+#: ../themes/blog/templates/actionbar.tmpl:13
+msgid "HowTo"
 msgstr ""
 
-#: ../themes/blog/templates/actionbar.tmpl:19
-msgid "HowTo"
+#: ../themes/blog/templates/blogform.tmpl:10
+#: ../themes/default/templates/blogform.tmpl:10
+msgid "Headline"
 msgstr ""
 
-#: ../themes/blog/templates/actionbar.tmpl:32
-msgid "Page Trail"
+#: ../themes/blog/templates/blogform.tmpl:18
+#: ../themes/default/templates/blogform.tmpl:18
+msgid "Add Entry"
 msgstr ""
 
-#: ../themes/blog/templates/sidebar.tmpl:7
+#: ../themes/blog/templates/sidebar.tmpl:8
 #: ../themes/blog/templates/sidebar.tmpl:12
-#: ../themes/blog/templates/sidebar.tmpl:14
-msgid "Blogs"
+msgid "Blog"
+msgstr ""
+
+#: ../themes/blog/templates/top.tmpl:16
+msgid "Page Trail"
 msgstr ""
 
-#: ../themes/blog/themeinfo.php:55
+#: ../themes/blog/themeinfo.php:63
 msgid "SignOut"
 msgstr ""
 
-#: ../themes/blog/themeinfo.php:56
+#: ../themes/blog/themeinfo.php:64
 msgid "SignIn"
 msgstr ""
 
-#: ../themes/blog/themeinfo.php:57
+#: ../themes/blog/themeinfo.php:65
 msgid "Lock"
 msgstr ""
 
-#: ../themes/blog/themeinfo.php:58
+#: ../themes/blog/themeinfo.php:66
 msgid "Unlock"
 msgstr ""
 
-#: ../themes/blog/themeinfo.php:117
+#: ../themes/blog/themeinfo.php:122
 msgid "blog"
 msgstr ""
 
+#: ../themes/blog/themeinfo.php:124
+msgid "(diff)"
+msgstr ""
+
+#: ../themes/default/templates/comment.tmpl:18
+#: ../themes/default/templates/wikiblog.tmpl:18
+#, php-format
+msgid "Modified on %s by %s"
+msgstr ""
+
 #: ../themes/default/templates/comment.tmpl:28
 #, php-format
 msgid "%s by %s"
 msgstr ""
 
-#: ../themes/default/templates/debug.tmpl:21
+#: ../themes/default/templates/debug.tmpl:20
+#: ../themes/shamino_com/templates/debug.tmpl:11
 #, php-format
 msgid ", Memory: %s"
 msgstr ""
@@ -6507,6 +7244,10 @@
 msgid "Registered Users Online: "
 msgstr ""
 
+#: ../themes/default/templates/online.tmpl:38
+msgid "<none>"
+msgstr ""
+
 #: ../themes/default/templates/online.tmpl:43
 msgid "Admin is also online."
 msgstr ""
@@ -6572,213 +7313,214 @@
 msgid "Your careful attention to detail is much appreciated."
 msgstr ""
 
-#: ../themes/default/templates/savepage.tmpl:10
-msgid "Warning!"
-msgstr ""
-
-#: ../themes/default/templates/userprefs.tmpl:62
-#: ../themes/default/templates/userprefs.tmpl:64
+#: ../themes/default/templates/userprefs.tmpl:63
+#: ../themes/default/templates/userprefs.tmpl:65
 msgid "<system theme>"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:73
-#: ../themes/default/templates/userprefs.tmpl:99
+#: ../themes/default/templates/userprefs.tmpl:74
+#: ../themes/default/templates/userprefs.tmpl:100
 msgid "Personal theme:"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:79
-#: ../themes/default/templates/userprefs.tmpl:81
+#: ../themes/default/templates/userprefs.tmpl:80
+#: ../themes/default/templates/userprefs.tmpl:82
 msgid "<system language>"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:90
-#: ../themes/default/templates/userprefs.tmpl:100
+#: ../themes/default/templates/userprefs.tmpl:91
+#: ../themes/default/templates/userprefs.tmpl:101
 msgid "Personal language:"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:109
+#: ../themes/default/templates/userprefs.tmpl:110
 #, php-format
 msgid "User preferences for user '%s':"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:118
+#: ../themes/default/templates/userprefs.tmpl:119
 msgid "UserId"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:122
+#: ../themes/default/templates/userprefs.tmpl:123
 msgid "Auth Level"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:122
+#: ../themes/default/templates/userprefs.tmpl:123
 msgid "Auth Method"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:126
+#: ../themes/default/templates/userprefs.tmpl:127
 msgid "Theme"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:126
+#: ../themes/default/templates/userprefs.tmpl:127
 msgid "Current Theme"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:127
+#: ../themes/default/templates/userprefs.tmpl:128
 msgid "Language"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:127
+#: ../themes/default/templates/userprefs.tmpl:128
 msgid "Current Language"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:133
+#: ../themes/default/templates/userprefs.tmpl:134
 msgid "Change Password"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:133
+#: ../themes/default/templates/userprefs.tmpl:134
 msgid "Set Password"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:135
+#: ../themes/default/templates/userprefs.tmpl:136
 msgid "New password"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:138
+#: ../themes/default/templates/userprefs.tmpl:139
 msgid "Type it again"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:144
+#: ../themes/default/templates/userprefs.tmpl:145
 msgid "E-mail"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:146
+#: ../themes/default/templates/userprefs.tmpl:147
 msgid "Your E-Mail:"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:154
+#: ../themes/default/templates/userprefs.tmpl:155
 msgid "Status:"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:156
+#: ../themes/default/templates/userprefs.tmpl:157
 msgid "Email verified."
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:158
+#: ../themes/default/templates/userprefs.tmpl:159
 msgid "Email not yet verified."
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:160
+#: ../themes/default/templates/userprefs.tmpl:161
 msgid "Note, that user accounts with bouncing emails will be disabled."
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:163
+#: ../themes/default/templates/userprefs.tmpl:164
 msgid "Get an email notification at changes of the following pages:"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:166
+#: ../themes/default/templates/userprefs.tmpl:167
 msgid ""
 "Enter pages seperated by space or comma. Wildcards (fileglobbing) allowed."
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:173
+#: ../themes/default/templates/userprefs.tmpl:174
 msgid "Appearance"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:175
+#: ../themes/default/templates/userprefs.tmpl:176
 msgid "Here you can override site-specific default values."
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:176
+#: ../themes/default/templates/userprefs.tmpl:177
 msgid "Currently not recommended!"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:180
-#: ../themes/default/templates/userprefs.tmpl:183
+#: ../themes/default/templates/userprefs.tmpl:181
+#: ../themes/default/templates/userprefs.tmpl:184
 msgid "System default:"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:184
+#: ../themes/default/templates/userprefs.tmpl:185
 #, php-format
 msgid "Hide %s:"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:186
+#: ../themes/default/templates/userprefs.tmpl:187
 msgid ""
 "Hide or show LinkIcons (if supported by the current theme). Useful for text-"
 "only browsers or slow connections."
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:187
+#: ../themes/default/templates/userprefs.tmpl:188
 #, php-format
 msgid "Add %s:"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:189
+#: ../themes/default/templates/userprefs.tmpl:190
 #, php-format
 msgid ""
 "Add Google links to unknown pages behind the '?', and the create action "
 "behind the pagename instead. See %s."
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:190
+#: ../themes/default/templates/userprefs.tmpl:191
 msgid "Enable DoubleClick Edit"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:192
+#: ../themes/default/templates/userprefs.tmpl:193
 #, php-format
 msgid ""
 "Enabled makes it hard to double-click words and sentences for cut and paste. "
 "See %s."
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:198
+#: ../themes/default/templates/userprefs.tmpl:199
 msgid "Height"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:205
+#: ../themes/default/templates/userprefs.tmpl:206
 msgid "Width"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:214
+#: ../themes/default/templates/userprefs.tmpl:215
 msgid ""
 "Note that many browsers will automatically adjust the width of the editing "
 "area so that it fills the browser window.  In this case, the width "
 "preference will be ignored."
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:217
+#: ../themes/default/templates/userprefs.tmpl:218
 msgid "Time Zone"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:220
+#: ../themes/default/templates/userprefs.tmpl:221
 #, php-format
 msgid "Add %s hours to the server's local time when reporting times."
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:224
+#: ../themes/default/templates/userprefs.tmpl:225
 #, php-format
 msgid "The current time at the server is %s."
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:226
+#: ../themes/default/templates/userprefs.tmpl:227
 #, php-format
 msgid "With the current offset, this would be reported as %s."
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:231
+#: ../themes/default/templates/userprefs.tmpl:232
 msgid "Date Format"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:234
+#: ../themes/default/templates/userprefs.tmpl:235
 msgid "Show relative dates using 'Today' and 'Yesterday'"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:241
+#: ../themes/default/templates/userprefs.tmpl:242
 msgid "Update Preferences"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:242
+#: ../themes/default/templates/userprefs.tmpl:243
 msgid "Remove Preferences"
 msgstr ""
 
+#: ../themes/default/templates/wikiblog.tmpl:23
+#, php-format
+msgid "Entry on %s by %s."
+msgstr ""
+
 #: ../themes/default/templates/wikiforum.tmpl:20
 msgid "New Topic"
 msgstr ""
diff -ruN 1.3.12p3/locale/po/sv.po 1.3.14/locale/po/sv.po
--- 1.3.12p3/locale/po/sv.po	2006-06-18 06:19:38.000000000 -0500
+++ 1.3.14/locale/po/sv.po	2007-07-01 05:11:18.000000000 -0500
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: PhpWiki-1.3.4pre\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2006-06-18 10:46+0000\n"
+"POT-Creation-Date: 2007-07-01 10:07+0000\n"
 "PO-Revision-Date: 2001-01-27 01:58+0200\n"
 "Last-Translator: Jon slund <jooon@hem.passagen.se>\n"
 "Language-Team: \n"
@@ -15,6 +15,29 @@
 "Content-Type: text/plain; charset=iso-8859-1\n"
 "Content-Transfer-Encoding: 8bit\n"
 
+#: ../lib/CachedMarkup.php:478
+msgid "BAD semantic relation link"
+msgstr ""
+
+#: ../lib/CachedMarkup.php:505
+#, php-format
+msgid "Attribute %s, base value: %s"
+msgstr ""
+
+#: ../lib/CachedMarkup.php:506
+#, php-format
+msgid "Attribute %s, value: %s"
+msgstr ""
+
+#: ../lib/CachedMarkup.php:514
+#, fuzzy, php-format
+msgid "Relation %s to page %s"
+msgstr "Borttagning p %s misslyckades: %s"
+
+#: ../lib/CachedMarkup.php:569
+msgid "Found by "
+msgstr ""
+
 #: ../lib/Captcha.php:32
 msgid "Typed in verification word mismatch ... are you a bot?"
 msgstr ""
@@ -43,221 +66,291 @@
 msgid "Supported handlers are: %s"
 msgstr ""
 
-#: ../lib/EditToolbar.php:42
+#: ../lib/EditToolbar.php:29
 msgid "Undo"
 msgstr ""
 
-#: ../lib/EditToolbar.php:48
+#: ../lib/EditToolbar.php:31
 msgid "Undo disabled"
 msgstr ""
 
-#: ../lib/EditToolbar.php:57 ../lib/EditToolbar.php:253
-#: ../lib/EditToolbar.php:254 ../lib/plugin/WikiAdminSearchReplace.php:187
+#: ../lib/EditToolbar.php:32
+msgid "Operation undone"
+msgstr ""
+
+#: ../lib/EditToolbar.php:33
+msgid "Substring \"\\1\" found \\2 times. Replace with \"\\3\"?"
+msgstr ""
+
+#: ../lib/EditToolbar.php:34
+#, php-format
+msgid "String \"%s\" not found."
+msgstr "\"%s\" ingen funna."
+
+#: ../lib/EditToolbar.php:35 ../lib/EditToolbar.php:200
+#: ../lib/EditToolbar.php:201 ../lib/plugin/WikiAdminSearchReplace.php:187
 msgid "Search & Replace"
 msgstr ""
 
-#: ../lib/EditToolbar.php:59 ../lib/plugin/InterWikiSearch.php:91
-#: ../lib/plugin/RecentChanges.php:591 ../themes/Crao/templates/navbar.tmpl:42
-#: ../themes/Crao/templates/navbar.tmpl:44
-#: ../themes/Crao/templates/navbar.tmpl:48
-#: ../themes/blog/templates/search.tmpl:6
-#: ../themes/blog/templates/search.tmpl:7
-#: ../themes/blog/templates/search.tmpl:9
-#: ../themes/blog/templates/search.tmpl:13
-#: ../themes/default/templates/search.tmpl:10
-#: ../themes/default/templates/search.tmpl:11
-#: ../themes/default/templates/search.tmpl:18
-msgid "Search"
+#: ../lib/EditToolbar.php:36
+#, fuzzy
+msgid "Search for"
 msgstr "Sk"
 
-#: ../lib/EditToolbar.php:61
+#: ../lib/EditToolbar.php:37
 msgid "Replace with"
 msgstr ""
 
-#: ../lib/EditToolbar.php:63 ../lib/upgrade.php:375 ../lib/upgrade.php:384
-#: ../lib/upgrade.php:393 ../lib/upgrade.php:414 ../lib/upgrade.php:442
-#: ../lib/upgrade.php:492 ../lib/upgrade.php:495 ../lib/upgrade.php:526
-#: ../lib/upgrade.php:528 ../lib/upgrade.php:555 ../lib/upgrade.php:608
-#: ../lib/upgrade.php:727 ../lib/upgrade.php:730 ../lib/upgrade.php:782
-#: ../lib/upgrade.php:840 ../lib/upgrade.php:850
+#: ../lib/EditToolbar.php:38 ../lib/plugin/SyncWiki.php:302
+#: ../lib/plugin/SyncWiki.php:328 ../lib/plugin/SyncWiki.php:351
+#: ../lib/plugin/WikiPoll.php:224 ../lib/upgrade.php:212
+#: ../lib/upgrade.php:415 ../lib/upgrade.php:429 ../lib/upgrade.php:449
+#: ../lib/upgrade.php:458 ../lib/upgrade.php:482 ../lib/upgrade.php:510
+#: ../lib/upgrade.php:560 ../lib/upgrade.php:563 ../lib/upgrade.php:595
+#: ../lib/upgrade.php:597 ../lib/upgrade.php:624 ../lib/upgrade.php:684
+#: ../lib/upgrade.php:709 ../lib/upgrade.php:852 ../lib/upgrade.php:855
+#: ../lib/upgrade.php:906
 msgid "OK"
 msgstr ""
 
-#: ../lib/EditToolbar.php:65 ../lib/EditToolbar.php:308
-#: ../lib/EditToolbar.php:354 ../lib/EditToolbar.php:378
-#: ../lib/EditToolbar.php:411
+#: ../lib/EditToolbar.php:39 ../lib/EditToolbar.php:261
+#: ../lib/EditToolbar.php:308 ../lib/EditToolbar.php:338
+#: ../lib/EditToolbar.php:372
 msgid "Close"
 msgstr ""
 
-#: ../lib/EditToolbar.php:80
-#, php-format
-msgid "Substring \"%s\" found %s times. Replace with \"%s\"?"
+#: ../lib/EditToolbar.php:107
+msgid "Bold text"
 msgstr ""
 
-#: ../lib/EditToolbar.php:82
-#, php-format
-msgid "String \"%s\" not found."
-msgstr "\"%s\" ingen funna."
-
-#: ../lib/EditToolbar.php:105
-msgid "Operation undone"
+#: ../lib/EditToolbar.php:108
+msgid "Bold text [alt-b]"
 msgstr ""
 
-#: ../lib/EditToolbar.php:167 ../lib/EditToolbar.php:168
-msgid "Bold text"
+#: ../lib/EditToolbar.php:112
+msgid "Italic text"
 msgstr ""
 
-#: ../lib/EditToolbar.php:172 ../lib/EditToolbar.php:173
-msgid "Italic text"
+#: ../lib/EditToolbar.php:113
+msgid "Italic text [alt-i]"
 msgstr ""
 
-#: ../lib/EditToolbar.php:177
+#: ../lib/EditToolbar.php:117
 msgid "optional label | PageName"
 msgstr ""
 
-#: ../lib/EditToolbar.php:178
+#: ../lib/EditToolbar.php:118
 msgid "Link to page"
 msgstr ""
 
-#: ../lib/EditToolbar.php:182
+#: ../lib/EditToolbar.php:122
 msgid "optional label | http://www.example.com"
 msgstr ""
 
-#: ../lib/EditToolbar.php:183
+#: ../lib/EditToolbar.php:123
 msgid "External link (remember http:// prefix)"
 msgstr ""
 
-#: ../lib/EditToolbar.php:187
+#: ../lib/EditToolbar.php:127
 msgid "Headline text"
 msgstr ""
 
-#: ../lib/EditToolbar.php:188
+#: ../lib/EditToolbar.php:128
 msgid "Level 1 headline"
 msgstr ""
 
-#: ../lib/EditToolbar.php:192
+#: ../lib/EditToolbar.php:132
 msgid "Example.jpg"
 msgstr ""
 
-#: ../lib/EditToolbar.php:193
+#: ../lib/EditToolbar.php:133
 msgid "Embedded image"
 msgstr ""
 
-#: ../lib/EditToolbar.php:197
+#: ../lib/EditToolbar.php:137
 msgid "Insert non-formatted text here"
 msgstr ""
 
-#: ../lib/EditToolbar.php:198
+#: ../lib/EditToolbar.php:138
 msgid "Ignore wiki formatting"
 msgstr ""
 
-#: ../lib/EditToolbar.php:203
+#: ../lib/EditToolbar.php:143
 msgid "Your signature"
 msgstr ""
 
-#: ../lib/EditToolbar.php:208
+#: ../lib/EditToolbar.php:148
 msgid "Horizontal line"
 msgstr ""
 
-#: ../lib/EditToolbar.php:210 ../lib/EditToolbar.php:212
-#: ../lib/editpage.php:567
+#: ../lib/EditToolbar.php:150 ../lib/EditToolbar.php:152
+#: ../lib/WysiwygEdit/Wikiwyg.php:85 ../lib/editpage.php:664
 msgid "Save"
 msgstr "Spara"
 
-#: ../lib/EditToolbar.php:214 ../lib/EditToolbar.php:216
-#: ../lib/editpage.php:563
+#: ../lib/EditToolbar.php:157 ../lib/EditToolbar.php:159
+#: ../lib/WysiwygEdit/Wikiwyg.php:84 ../lib/editpage.php:657
 msgid "Preview"
 msgstr "versikt"
 
-#: ../lib/EditToolbar.php:232
+#: ../lib/EditToolbar.php:179
 msgid "Click a button to get an example text"
 msgstr ""
 
-#: ../lib/EditToolbar.php:245 ../lib/EditToolbar.php:246
+#: ../lib/EditToolbar.php:192 ../lib/EditToolbar.php:193
 msgid "Undo Search & Replace"
 msgstr ""
 
-#: ../lib/EditToolbar.php:302 ../lib/EditToolbar.php:303
+#: ../lib/EditToolbar.php:255
 #, fuzzy
 msgid "AddCategory"
 msgstr "Nuvarande sida:"
 
-#: ../lib/EditToolbar.php:305
+#: ../lib/EditToolbar.php:258
 msgid "Insert Categories (double-click)"
 msgstr ""
 
-#: ../lib/EditToolbar.php:307 ../lib/EditToolbar.php:353
-#: ../lib/EditToolbar.php:377 ../lib/EditToolbar.php:410
+#: ../lib/EditToolbar.php:260 ../lib/EditToolbar.php:307
+#: ../lib/EditToolbar.php:337 ../lib/EditToolbar.php:371
 msgid "Insert"
 msgstr ""
 
-#: ../lib/EditToolbar.php:348 ../lib/EditToolbar.php:349
+#: ../lib/EditToolbar.php:302 ../lib/EditToolbar.php:303
 msgid "AddPlugin"
 msgstr ""
 
-#: ../lib/EditToolbar.php:351
+#: ../lib/EditToolbar.php:305
 msgid "Insert Plugin (double-click)"
 msgstr ""
 
-#: ../lib/EditToolbar.php:372 ../lib/EditToolbar.php:373
+#: ../lib/EditToolbar.php:332 ../lib/EditToolbar.php:333
 msgid "AddPageLink"
 msgstr ""
 
-#: ../lib/EditToolbar.php:375
+#: ../lib/EditToolbar.php:335
 msgid "Insert PageLink (double-click)"
 msgstr ""
 
-#: ../lib/EditToolbar.php:405 ../lib/EditToolbar.php:406
+#: ../lib/EditToolbar.php:366 ../lib/EditToolbar.php:367
 msgid "AddTemplate"
 msgstr ""
 
-#: ../lib/EditToolbar.php:408
+#: ../lib/EditToolbar.php:369
 msgid "Insert Template (double-click)"
 msgstr ""
 
-#: ../lib/ErrorManager.php:210
+#: ../lib/ErrorManager.php:211
 #, php-format
 msgid "%s: error while handling error:"
 msgstr ""
 
-#: ../lib/FileFinder.php:191 ../lib/loadsave.php:967
+#: ../lib/FileFinder.php:191 ../lib/loadsave.php:1026
 #, php-format
 msgid "%s: file not found"
 msgstr "%s: fila ingen funna"
 
-#: ../lib/IniConfig.php:732
+#: ../lib/IniConfig.php:799
 msgid "CategoryGroup"
 msgstr ""
 
-#: ../lib/IniConfig.php:734
+#: ../lib/IniConfig.php:801
 msgid "An unnamed PhpWiki"
 msgstr ""
 
-#: ../lib/IniConfig.php:736 ../lib/upgrade.php:149
-#: ../themes/Wordpress/templates/actionbar.tmpl:18
-#: ../themes/default/templates/userprefs.tmpl:123
+#: ../lib/IniConfig.php:803 ../lib/upgrade.php:172
+#: ../themes/Wordpress/templates/actionbar.tmpl:19
+#: ../themes/blog/templates/browse-footer.tmpl:6
+#: ../themes/default/templates/userprefs.tmpl:124
 msgid "HomePage"
 msgstr "Framsida"
 
-#: ../lib/InlineParser.php:336
+#: ../lib/InlineParser.php:335
 msgid "Invalid [] syntax ignored"
 msgstr ""
 
-#: ../lib/InlineParser.php:652
+#: ../lib/InlineParser.php:736
 #, php-format
 msgid "unknown color %s ignored"
 msgstr ""
 
-#: ../lib/PageList.php:104
+#: ../lib/MailNotify.php:129
+#, php-format
+msgid "PageChange Notification of %s"
+msgstr ""
+
+#: ../lib/MailNotify.php:156
+#, fuzzy, php-format
+msgid "sent to %s"
+msgstr "Tillbaka till %s"
+
+#: ../lib/MailNotify.php:162
+#, php-format
+msgid "Error: Couldn't send %s to %s"
+msgstr ""
+
+#: ../lib/MailNotify.php:184
+msgid "Page change"
+msgstr ""
+
+#: ../lib/MailNotify.php:211 ../lib/loadsave.php:841
+#: ../lib/plugin/RecentChanges.php:109
+#, fuzzy
+msgid "New page"
+msgstr "Ta bort sida"
+
+#: ../lib/MailNotify.php:213 ../lib/MailNotify.php:231 ../lib/loadsave.php:93
+#, fuzzy, php-format
+msgid "Edited by: %s"
+msgstr "Redigera: %s"
+
+#: ../lib/MailNotify.php:232
+#, php-format
+msgid "Page rename %s to %s"
+msgstr ""
+
+#: ../lib/MailNotify.php:269
+#, fuzzy, php-format
+msgid "Removed by: %s"
+msgstr "Redigera: %s"
+
+#: ../lib/MailNotify.php:271
+#, fuzzy, php-format
+msgid "Page removed %s"
+msgstr "Sidan r Lst"
+
+#: ../lib/MailNotify.php:320
+msgid "e-mail address confirmation"
+msgstr ""
+
+#: ../lib/MailNotify.php:323
+#, php-format
+msgid ""
+"Someone, probably you from IP address %s, has registered an\n"
+"account \"%s\" with this e-mail address on %s.\n"
+"\n"
+"To confirm that this account really does belong to you and activate\n"
+"e-mail features on %s, open this link in your browser:\n"
+"\n"
+"%s\n"
+"\n"
+"If this is *not* you, don't follow the link. This confirmation code\n"
+"will expire at %s."
+msgstr ""
+
+#: ../lib/PageList.php:109
 #, php-format
 msgid "Sort by %s"
 msgstr ""
 
-#: ../lib/PageList.php:149
+#: ../lib/PageList.php:139
+msgid "reverse"
+msgstr ""
+
+#: ../lib/PageList.php:153
 msgid "Click to reverse sort order"
 msgstr ""
 
-#: ../lib/PageList.php:157
+#: ../lib/PageList.php:160
 #, php-format
 msgid "Click to sort by %s"
 msgstr ""
@@ -266,106 +359,101 @@
 msgid "Click to de-/select all pages"
 msgstr ""
 
-#: ../lib/PageList.php:366 ../lib/plugin/UnfoldSubpages.php:132
+#: ../lib/PageList.php:370 ../lib/plugin/UnfoldSubpages.php:132
 #, php-format
 msgid " ... first %d bytes"
 msgstr ""
 
-#: ../lib/PageList.php:372
+#: ../lib/PageList.php:376
 #, php-format
 msgid " ... around %s"
 msgstr ""
 
-#: ../lib/PageList.php:402 ../lib/plugin/AppendText.php:57
-#: ../lib/upgrade.php:810
+#: ../lib/PageList.php:406 ../lib/plugin/AppendText.php:57
 #, fuzzy, php-format
 msgid "%s not found"
 msgstr "%s: fila ingen funna"
 
-#: ../lib/PageList.php:466 ../lib/plugin/AuthorHistory.php:174
-#: ../lib/plugin/WantedPagesOld.php:151
+#: ../lib/PageList.php:480 ../lib/plugin/AuthorHistory.php:174
 msgid "Page Name"
 msgstr "Namn p Sidan"
 
-#: ../lib/PageList.php:555 ../lib/plugin/FullTextSearch.php:107
+#: ../lib/PageList.php:609 ../lib/plugin/FullTextSearch.php:112
 msgid "<no matches>"
 msgstr "<ingen matchar>"
 
-#: ../lib/PageList.php:934 ../lib/plugin/WikiAdminSearchReplace.php:171
+#: ../lib/PageList.php:1036 ../lib/plugin/WikiAdminSearchReplace.php:171
 #, fuzzy
 msgid "Content"
 msgstr "Innehll"
 
-#: ../lib/PageList.php:950
+#: ../lib/PageList.php:1052
 msgid "Select"
 msgstr ""
 
-#: ../lib/PageList.php:954 ../themes/MonoBook/templates/info.tmpl:71
-#: ../themes/default/templates/info.tmpl:64
-#: ../themes/shamino_com/templates/info.tmpl:70
+#: ../lib/PageList.php:1056 ../themes/MonoBook/templates/info.tmpl:71
+#: ../themes/default/templates/info.tmpl:63
 msgid "Last Modified"
 msgstr "ndringsdatum"
 
-#: ../lib/PageList.php:956
+#: ../lib/PageList.php:1058
 msgid "Hits"
 msgstr "Trffar"
 
-#: ../lib/PageList.php:958 ../themes/Crao/templates/editpage.tmpl:37
+#: ../lib/PageList.php:1060 ../themes/Crao/templates/editpage.tmpl:37
 #: ../themes/Wordpress/templates/editpage.tmpl:38
 #: ../themes/default/templates/editpage.tmpl:39
 msgid "Size"
 msgstr ""
 
-#: ../lib/PageList.php:961 ../themes/MonoBook/templates/info.tmpl:73
-#: ../themes/default/templates/info.tmpl:66
-#: ../themes/shamino_com/templates/info.tmpl:72
+#: ../lib/PageList.php:1063 ../themes/MonoBook/templates/info.tmpl:73
+#: ../themes/default/templates/info.tmpl:65
 msgid "Last Summary"
 msgstr "Senaste Kommentar"
 
-#: ../lib/PageList.php:963 ../lib/plugin/AuthorHistory.php:123
+#: ../lib/PageList.php:1065 ../lib/plugin/AuthorHistory.php:123
 #: ../lib/plugin/AuthorHistory.php:176 ../lib/plugin/PluginManager.php:90
 msgid "Version"
 msgstr "Version"
 
-#: ../lib/PageList.php:966 ../themes/MonoBook/templates/info.tmpl:72
-#: ../themes/default/templates/info.tmpl:65
-#: ../themes/shamino_com/templates/info.tmpl:71
+#: ../lib/PageList.php:1068 ../themes/MonoBook/templates/info.tmpl:72
+#: ../themes/default/templates/info.tmpl:64
 msgid "Last Author"
 msgstr "Gregende Frfattare"
 
-#: ../lib/PageList.php:968 ../lib/WikiGroup.php:36
+#: ../lib/PageList.php:1070 ../lib/WikiGroup.php:36
 msgid "Owner"
 msgstr ""
 
-#: ../lib/PageList.php:970 ../lib/WikiGroup.php:37
+#: ../lib/PageList.php:1072 ../lib/WikiGroup.php:37
 msgid "Creator"
 msgstr ""
 
-#: ../lib/PageList.php:976 ../themes/Crao/templates/editpage.tmpl:61
+#: ../lib/PageList.php:1078 ../themes/Crao/templates/editpage.tmpl:61
 #: ../themes/MonoBook/templates/info.tmpl:132
-#: ../themes/default/templates/editpage.tmpl:73
-#: ../themes/default/templates/info.tmpl:127
-#: ../themes/shamino_com/templates/info.tmpl:132
+#: ../themes/Wordpress/templates/editpage.tmpl:61
+#: ../themes/default/templates/editpage.tmpl:74
+#: ../themes/default/templates/info.tmpl:126
 msgid "Locked"
 msgstr "Lst"
 
-#: ../lib/PageList.php:977
+#: ../lib/PageList.php:1079
 msgid "locked"
 msgstr "lst"
 
-#: ../lib/PageList.php:980
+#: ../lib/PageList.php:1082
 msgid "Minor Edit"
 msgstr ""
 
-#: ../lib/PageList.php:980
+#: ../lib/PageList.php:1082
 msgid "minor"
 msgstr ""
 
-#: ../lib/PageList.php:982
+#: ../lib/PageList.php:1084
 msgid "Markup"
 msgstr ""
 
-#: ../lib/PageList.php:1239 ../lib/plugin/WantedPagesOld.php:178
+#: ../lib/PageList.php:1357
 #, php-format
 msgid "Columns: %s."
 msgstr ""
@@ -403,56 +491,53 @@
 msgid "Unsupported ACL access type %s ignored."
 msgstr ""
 
-#: ../lib/PagePerm.php:558
+#: ../lib/PagePerm.php:561
 msgid "Access"
 msgstr ""
 
-#: ../lib/PagePerm.php:560
+#: ../lib/PagePerm.php:563
 msgid "Group/User"
 msgstr ""
 
-#: ../lib/PagePerm.php:561
+#: ../lib/PagePerm.php:564
 msgid "Grant"
 msgstr ""
 
-#: ../lib/PagePerm.php:562
+#: ../lib/PagePerm.php:565
 msgid "Del/+"
 msgstr ""
 
-#: ../lib/PagePerm.php:563 ../lib/plugin/PluginManager.php:90
-#: ../lib/plugin/WikiAdminSetAcl.php:230
+#: ../lib/PagePerm.php:566 ../lib/plugin/PluginManager.php:90
+#: ../lib/plugin/WikiAdminSetAcl.php:234
 msgid "Description"
 msgstr ""
 
-#: ../lib/PagePerm.php:584
+#: ../lib/PagePerm.php:587
 msgid "Add this ACL"
 msgstr ""
 
-#: ../lib/PagePerm.php:608
+#: ../lib/PagePerm.php:611
 msgid "Allow / Deny"
 msgstr ""
 
-#: ../lib/PagePerm.php:620
+#: ../lib/PagePerm.php:623
 msgid "Delete this ACL"
 msgstr ""
 
-#: ../lib/PagePerm.php:646
+#: ../lib/PagePerm.php:649
 msgid "add "
 msgstr ""
 
-#: ../lib/PagePerm.php:650
+#: ../lib/PagePerm.php:653
 msgid "Check to add this ACL"
 msgstr ""
 
-#: ../lib/PageType.php:134 ../lib/loadsave.php:733
-#: ../lib/plugin/InterWikiSearch.php:55 ../lib/plugin/WantedPages.php:54
-#: ../lib/plugin/WantedPagesOld.php:81
+#: ../lib/PageType.php:134 ../lib/loadsave.php:776 ../lib/loadsave.php:1424
+#: ../lib/plugin/InterWikiSearch.php:57 ../lib/plugin/WantedPages.php:55
 #: ../themes/MonoBook/templates/info.tmpl:149
 #: ../themes/MonoBook/templates/info.tmpl:150
+#: ../themes/default/templates/info.tmpl:143
 #: ../themes/default/templates/info.tmpl:144
-#: ../themes/default/templates/info.tmpl:145
-#: ../themes/shamino_com/templates/info.tmpl:149
-#: ../themes/shamino_com/templates/info.tmpl:150
 msgid "InterWikiMap"
 msgstr ""
 
@@ -460,337 +545,350 @@
 msgid "WARNING: InterWikiMap page is unlocked, so not using those links."
 msgstr ""
 
-#: ../lib/PageType.php:231 ../lib/PageType.php:234 ../lib/stdlib.php:670
-#: ../themes/MonoBook/templates/actionbar.tmpl:15
-#: ../themes/MonoBook/templates/actionbar.tmpl:19
-#: ../themes/MonoBook/templates/actionbar.tmpl:23
-#: ../themes/Sidebar/templates/navbar.tmpl:27
-#: ../themes/Sidebar/templates/navbar.tmpl:29
+#: ../lib/PageType.php:247 ../lib/PageType.php:250 ../lib/stdlib.php:673
+#: ../themes/MonoBook/templates/actionbar.tmpl:14
+#: ../themes/MonoBook/templates/actionbar.tmpl:21
+#: ../themes/MonoBook/templates/actionbar.tmpl:25
+#: ../themes/MonoBook/templates/actionbar.tmpl:31
+#: ../themes/Sidebar/templates/navbar.tmpl:17
+#: ../themes/Sidebar/templates/navbar.tmpl:19
 #: ../themes/default/templates/navbar.tmpl:11
 #: ../themes/default/templates/navbar.tmpl:13
+#: ../themes/wikilens/templates/navbar.tmpl:9
+#: ../themes/wikilens/templates/navbar.tmpl:11
 msgid "Discussion"
 msgstr ""
 
-#: ../lib/PageType.php:274 ../lib/loadsave.php:979
+#: ../lib/PageType.php:286 ../lib/loadsave.php:1038
 #, php-format
 msgid "Loading InterWikiMap from external file %s."
 msgstr ""
 
-#: ../lib/PageType.php:372
+#: ../lib/PageType.php:384
 msgid "Moniker"
 msgstr ""
 
-#: ../lib/PageType.php:373
+#: ../lib/PageType.php:385
 msgid "InterWiki Address"
 msgstr ""
 
-#: ../lib/RSSWriter091.php:113 ../lib/loadsave.php:1353
-#: ../lib/plugin/RecentChanges.php:272 ../lib/plugin/RecentChanges.php:287
-#: ../lib/plugin/RecentChanges.php:390 ../lib/plugin/RecentChanges.php:467
-#: ../lib/plugin/RecentChanges.php:603 ../lib/plugin/RecentChanges.php:737
-#: ../themes/Crao/templates/head.tmpl:63
+#: ../lib/RSSWriter091.php:113 ../lib/display.php:120 ../lib/display.php:307
+#: ../lib/loadsave.php:1445 ../lib/plugin/RecentChanges.php:181
+#: ../lib/plugin/RecentChanges.php:188 ../lib/plugin/RecentChanges.php:328
+#: ../lib/plugin/RecentChanges.php:346 ../lib/plugin/RecentChanges.php:523
+#: ../lib/plugin/RecentChanges.php:600 ../lib/plugin/RecentChanges.php:736
+#: ../lib/plugin/RecentChanges.php:1002 ../themes/Crao/templates/head.tmpl:63
 #: ../themes/Crao/templates/navbar.tmpl:13
-#: ../themes/MonoBook/templates/navbar.tmpl:13
-#: ../themes/Portland/templates/navbar.tmpl:28
-#: ../themes/Wordpress/templates/actionbar.tmpl:21
-#: ../themes/blog/templates/actionbar.tmpl:20
+#: ../themes/MonoBook/templates/navbar.tmpl:15
+#: ../themes/Portland/templates/navbar.tmpl:25
+#: ../themes/Wordpress/templates/actionbar.tmpl:22
+#: ../themes/blog/templates/actionbar.tmpl:14
 #: ../themes/default/templates/head.tmpl:69
 #: ../themes/default/templates/navbar.tmpl:19
 #: ../themes/shamino_com/templates/top.tmpl:20
 #: ../themes/smaller/templates/navbar.tmpl:7
 #: ../themes/wikilens/templates/head.tmpl:60
-#: ../themes/wikilens/templates/navbar.tmpl:10
+#: ../themes/wikilens/templates/navbar.tmpl:17
 msgid "RecentChanges"
 msgstr "Senastendringar"
 
-#: ../lib/Request.php:696 ../lib/Request.php:699
+#: ../lib/Request.php:703 ../lib/Request.php:706
 msgid "Upload error: file too big"
 msgstr ""
 
-#: ../lib/Request.php:702
+#: ../lib/Request.php:709
 msgid "Upload error: file only partially recieved"
 msgstr ""
 
-#: ../lib/Request.php:705
+#: ../lib/Request.php:712
 msgid "Upload error: no file selected"
 msgstr ""
 
-#: ../lib/Request.php:708
+#: ../lib/Request.php:715
 msgid "Upload error: unknown error #"
 msgstr ""
 
-#: ../lib/Request.php:815 ../lib/main.php:1160 ../lib/main.php:1173
+#: ../lib/Request.php:824 ../lib/main.php:1221 ../lib/main.php:1234
 #, php-format
 msgid "%s is not writable."
 msgstr ""
 
-#: ../lib/Request.php:815
+#: ../lib/Request.php:824
 msgid "The PhpWiki access log file"
 msgstr ""
 
-#: ../lib/Request.php:817 ../lib/main.php:1163
+#: ../lib/Request.php:826 ../lib/main.php:1224
 #, php-format
 msgid "Please ensure that %s is writable, or redefine %s in config/config.ini."
 msgstr ""
 
-#: ../lib/Request.php:818
+#: ../lib/Request.php:827
 #, php-format
 msgid "the file '%s'"
 msgstr ""
 
-#: ../lib/Template.php:175
+#: ../lib/SemanticWeb.php:135
+msgid "URIResolver"
+msgstr ""
+
+#: ../lib/SemanticWeb.php:149 ../lib/plugin/SemanticSearch.php:302
+msgid "Relation"
+msgstr ""
+
+#: ../lib/SemanticWeb.php:151 ../lib/plugin/SemanticSearch.php:375
+msgid "Attribute"
+msgstr ""
+
+#: ../lib/Template.php:178
 #, php-format
 msgid "%4d  %s\n"
 msgstr "%4d  %s\n"
 
-#: ../lib/TextSearchQuery.php:79 ../lib/plugin/FileInfo.php:100
+#: ../lib/TextSearchQuery.php:79 ../lib/plugin/FileInfo.php:116
 #, php-format
 msgid "Unsupported argument: %s=%s"
 msgstr ""
 
-#: ../lib/TextSearchQuery.php:89
+#: ../lib/TextSearchQuery.php:90
 msgid "(A|An|And|But|By|For|From|In|Is|It|Of|On|Or|The|To|With)"
 msgstr ""
 
-#: ../lib/Theme.php:388
+#: ../lib/Theme.php:398
 msgid "Never edited"
 msgstr ""
 
-#: ../lib/Theme.php:395
+#: ../lib/Theme.php:405
 #, php-format
 msgid "%s at %s"
 msgstr "%s i %s"
 
-#: ../lib/Theme.php:399
+#: ../lib/Theme.php:409
 #, php-format
 msgid "Version %s, saved %s"
 msgstr "Version %s, sparade %s"
 
-#: ../lib/Theme.php:401
+#: ../lib/Theme.php:411
 #, php-format
 msgid "Last edited %s"
 msgstr "Senast ndrad %s"
 
-#: ../lib/Theme.php:410
+#: ../lib/Theme.php:420
 #, php-format
 msgid "Version %s, saved on %s"
 msgstr "Version %s, sparade %s"
 
-#: ../lib/Theme.php:412
+#: ../lib/Theme.php:422
 #, php-format
 msgid "Last edited on %s"
 msgstr "Senast ndrad %s"
 
-#: ../lib/Theme.php:428
+#: ../lib/Theme.php:438
 msgid "today"
 msgstr "i dag"
 
-#: ../lib/Theme.php:435
+#: ../lib/Theme.php:445
 msgid "yesterday"
 msgstr "i gr"
 
-#: ../lib/Theme.php:456 ../lib/Theme.php:458
+#: ../lib/Theme.php:466 ../lib/Theme.php:468
 #, php-format
 msgid "Owner: %s"
 msgstr ""
 
-#: ../lib/Theme.php:470 ../lib/Theme.php:472 ../lib/diff.php:262
-#: ../lib/plugin/Diff.php:75
+#: ../lib/Theme.php:481 ../lib/Theme.php:483 ../lib/diff.php:261
+#: ../lib/plugin/Diff.php:76
 #, php-format
 msgid "by %s"
 msgstr "av %s"
 
-#: ../lib/Theme.php:564
+#: ../lib/Theme.php:575
 #, php-format
 msgid "Empty link to: %s"
 msgstr ""
 
-#: ../lib/Theme.php:579 ../themes/MacOSX/themeinfo.php:71
+#: ../lib/Theme.php:590 ../themes/MacOSX/themeinfo.php:71
 #, php-format
 msgid "Create: %s"
 msgstr ""
 
-#: ../lib/Theme.php:598
+#: ../lib/Theme.php:609
 #, php-format
 msgid "Google:%s"
 msgstr ""
 
-#: ../lib/Theme.php:623
+#: ../lib/Theme.php:634
 #, php-format
 msgid "'%s': Bad page name"
 msgstr ""
 
-#: ../lib/Theme.php:933 ../themes/Crao/templates/actionbar.tmpl:5
-#: ../themes/MonoBook/templates/actionbar.tmpl:11
-#: ../themes/blog/themeinfo.php:53
-#: ../themes/default/templates/actionbar.tmpl:15
+#: ../lib/Theme.php:977 ../lib/plugin/WatchPage.php:89
+#: ../themes/Crao/templates/actionbar.tmpl:5
+#: ../themes/MonoBook/templates/actionbar.tmpl:34
+#: ../themes/blog/themeinfo.php:61
+#: ../themes/default/templates/actionbar.tmpl:16
 #: ../themes/shamino_com/templates/actionbar.tmpl:6
-#: ../themes/shamino_com/templates/info.tmpl:164
 #: ../themes/smaller/templates/actionbar.tmpl:18
 msgid "Edit"
 msgstr "Redigera"
 
-#: ../lib/Theme.php:934 ../lib/plugin/Diff.php:36
-#: ../themes/blog/themeinfo.php:54
+#: ../lib/Theme.php:978 ../lib/plugin/Diff.php:37
+#: ../themes/blog/themeinfo.php:62
 msgid "Diff"
 msgstr "Diff"
 
-#: ../lib/Theme.php:935 ../themes/Crao/templates/signin.tmpl:15
-#: ../themes/Crao/templates/signin.tmpl:31
-#: ../themes/MonoBook/templates/signin.tmpl:16
-#: ../themes/MonoBook/templates/signin.tmpl:30
-#: ../themes/Sidebar/templates/signin.tmpl:16
-#: ../themes/Sidebar/templates/signin.tmpl:30
-#: ../themes/Wordpress/templates/signin.tmpl:18
-#: ../themes/Wordpress/templates/signin.tmpl:34
+#: ../lib/Theme.php:979 ../themes/Crao/templates/signin.tmpl:14
+#: ../themes/Crao/templates/signin.tmpl:30
+#: ../themes/Sidebar/templates/signin.tmpl:15
+#: ../themes/Sidebar/templates/signin.tmpl:29
+#: ../themes/Wordpress/templates/signin.tmpl:17
+#: ../themes/Wordpress/templates/signin.tmpl:33
 #: ../themes/default/templates/signin.tmpl:16
 #: ../themes/default/templates/signin.tmpl:27
-#: ../themes/shamino_com/templates/signin.tmpl:15
-#: ../themes/shamino_com/templates/signin.tmpl:28
+#: ../themes/shamino_com/templates/signin.tmpl:14
+#: ../themes/shamino_com/templates/signin.tmpl:27
 #: ../themes/smaller/templates/signin.tmpl:16
 #: ../themes/smaller/templates/signin.tmpl:27
 msgid "Sign Out"
 msgstr "Logga ut"
 
-#: ../lib/Theme.php:936 ../lib/WikiUser.php:221 ../lib/WikiUserNew.php:473
-#: ../themes/Crao/templates/signin.tmpl:54
-#: ../themes/Crao/templates/signin.tmpl:59
+#: ../lib/Theme.php:980 ../lib/WikiUser.php:221 ../lib/WikiUserNew.php:503
+#: ../themes/Crao/templates/signin.tmpl:53
 #: ../themes/default/templates/login.tmpl:76
 #: ../themes/smaller/templates/signin.tmpl:54
 msgid "Sign In"
 msgstr "Anslut"
 
-#: ../lib/Theme.php:937 ../themes/MacOSX/themeinfo.php:135
+#: ../lib/Theme.php:981 ../themes/MacOSX/themeinfo.php:133
 msgid "Lock Page"
 msgstr "Ls Sida"
 
-#: ../lib/Theme.php:938 ../themes/MacOSX/themeinfo.php:136
+#: ../lib/Theme.php:982 ../themes/MacOSX/themeinfo.php:134
 msgid "Unlock Page"
 msgstr "Ls upp Sida"
 
-#: ../lib/Theme.php:939 ../lib/removepage.php:23 ../lib/removepage.php:63
+#: ../lib/Theme.php:983 ../lib/removepage.php:23 ../lib/removepage.php:63
 msgid "Remove Page"
 msgstr "Ta bort sida"
 
-#: ../lib/Theme.php:1188 ../lib/main.php:1014
-#: ../lib/plugin/RecentChanges.php:594 ../lib/plugin/TitleSearch.php:43
+#: ../lib/Theme.php:1149
+msgid ""
+"Some action(page) wanted to add more headers, but they were already printed."
+msgstr ""
+
+#: ../lib/Theme.php:1225 ../themes/Hawaiian/themeinfo.php:28
+#: ../themes/MacOSX/themeinfo.php:102 ../themes/MonoBook/themeinfo.php:126
+#: ../themes/Portland/themeinfo.php:58 ../themes/Sidebar/themeinfo.php:40
+#: ../themes/SpaceWiki/themeinfo.php:42 ../themes/Wordpress/themeinfo.php:60
+#: ../themes/shamino_com/themeinfo.php:54 ../themes/wikilens/themeinfo.php:25
+msgid "Printer"
+msgstr "Skrivare"
+
+#: ../lib/Theme.php:1226 ../themes/MacOSX/themeinfo.php:103
+#: ../themes/MonoBook/themeinfo.php:127 ../themes/shamino_com/themeinfo.php:55
+#: ../themes/wikilens/themeinfo.php:26
+msgid "Top & bottom toolbars"
+msgstr ""
+
+#: ../lib/Theme.php:1227 ../themes/Hawaiian/themeinfo.php:29
+#: ../themes/MonoBook/themeinfo.php:128 ../themes/Portland/themeinfo.php:59
+#: ../themes/Sidebar/themeinfo.php:41 ../themes/SpaceWiki/themeinfo.php:43
+#: ../themes/Wordpress/themeinfo.php:61 ../themes/shamino_com/themeinfo.php:56
+#: ../themes/wikilens/themeinfo.php:27
+msgid "Modern"
+msgstr "Ny|modig"
+
+#: ../lib/Theme.php:1374 ../lib/main.php:1053
+#: ../lib/plugin/RecentChanges.php:727 ../lib/plugin/TitleSearch.php:43
 #: ../themes/Crao/templates/navbar.tmpl:4
 #: ../themes/Crao/templates/navbar.tmpl:8
 #: ../themes/Crao/templates/navbar.tmpl:51
-#: ../themes/MonoBook/templates/navbar.tmpl:23
-#: ../themes/Sidebar/templates/navbar.tmpl:7
-#: ../themes/Sidebar/templates/navbar.tmpl:13
-#: ../themes/Sidebar/templates/navbar.tmpl:20
+#: ../themes/MonoBook/templates/navbar.tmpl:33
 #: ../themes/blog/templates/search.tmpl:3
 #: ../themes/blog/templates/search.tmpl:18
 #: ../themes/default/templates/navbar.tmpl:6
 #: ../themes/default/templates/navbar.tmpl:24
 #: ../themes/default/templates/search.tmpl:3
-#: ../themes/default/templates/search.tmpl:6
-#: ../themes/default/templates/search.tmpl:25
-#: ../themes/default/templates/search.tmpl:29
+#: ../themes/default/templates/search.tmpl:9
+#: ../themes/default/templates/search.tmpl:33
 #: ../themes/shamino_com/templates/top.tmpl:18
 #: ../themes/smaller/templates/navbar.tmpl:4
-#: ../themes/wikilens/templates/navbar.tmpl:7
-#: ../themes/wikilens/templates/navbar.tmpl:15
 msgid "TitleSearch"
 msgstr "Titelskningen"
 
-#: ../lib/Theme.php:1347
+#: ../lib/Theme.php:1426 ../lib/plugin/Calendar.php:41
+#: ../lib/plugin/Calendar.php:45 ../themes/Crao/templates/head.tmpl:89
+#: ../themes/Crao/templates/navbar.tmpl:28
+#: ../themes/Sidebar/templates/body.tmpl:21
+#: ../themes/Sidebar/templates/body.tmpl:26
+#: ../themes/Wordpress/templates/actionbar.tmpl:32
+#: ../themes/blog/templates/sidebar.tmpl:16
+#: ../themes/default/templates/head.tmpl:96
+#: ../themes/default/templates/homepage.tmpl:15
+#: ../themes/default/templates/navbar.tmpl:45
+#: ../themes/wikilens/templates/head.tmpl:89
+#: ../themes/wikilens/templates/navbar.tmpl:25
+msgid "Calendar"
+msgstr "Kalender"
+
+#: ../lib/Theme.php:1690
 #, fuzzy, php-format
 msgid "Plugin %s: undefined"
 msgstr "%s: fila ingen funna"
 
-#: ../lib/Theme.php:1370
+#: ../lib/Theme.php:1713
 msgid "Related Links"
 msgstr ""
 
-#: ../lib/Theme.php:1390
+#: ../lib/Theme.php:1734
 msgid "External Links"
 msgstr ""
 
-#: ../lib/WikiDB.php:233
-#, fuzzy, php-format
-msgid "Removed by: %s"
-msgstr "Redigera: %s"
-
-#: ../lib/WikiDB.php:235
-#, fuzzy, php-format
-msgid "Page removed %s"
-msgstr "Sidan r Lst"
-
-#: ../lib/WikiDB.php:241 ../lib/WikiDB.php:1054 ../lib/WikiDB.php:1079
-#: ../lib/loadsave.php:99
-#, php-format
-msgid "PageChange Notification of %s sent to %s"
-msgstr ""
-
-#: ../lib/WikiDB.php:244 ../lib/WikiDB.php:1057 ../lib/WikiDB.php:1082
-#: ../lib/loadsave.php:102
-#, php-format
-msgid "PageChange Notification Error: Couldn't send %s to %s"
-msgstr ""
-
-#: ../lib/WikiDB.php:474
+#: ../lib/WikiDB.php:539
 #, php-format
 msgid "renamed from %s"
 msgstr ""
 
-#: ../lib/WikiDB.php:482
+#: ../lib/WikiDB.php:548
 msgid "WikiDB::renamePage() not yet implemented for this backend"
 msgstr ""
 
-#: ../lib/WikiDB.php:847
+#: ../lib/WikiDB.php:921
 #, php-format
 msgid "%s: Date of new revision is %s"
 msgstr ""
 
-#: ../lib/WikiDB.php:911 ../lib/main.php:98
+#: ../lib/WikiDB.php:993 ../lib/main.php:98
 msgid "Optimizing database"
 msgstr ""
 
-#: ../lib/WikiDB.php:1017
-msgid "Page change"
-msgstr ""
-
-#: ../lib/WikiDB.php:1045 ../lib/loadsave.php:787
-#: ../lib/plugin/RecentChanges.php:107
-#, fuzzy
-msgid "New page"
-msgstr "Ta bort sida"
-
-#: ../lib/WikiDB.php:1048 ../lib/WikiDB.php:1071 ../lib/loadsave.php:93
-#, fuzzy, php-format
-msgid "Edited by: %s"
-msgstr "Redigera: %s"
-
-#: ../lib/WikiDB.php:1073
-#, php-format
-msgid "Page rename %s to %s"
+#: ../lib/WikiDB.php:1376 ../lib/WikiDB.php:1384 ../lib/WikiUserNew.php:429
+#: ../lib/loadsave.php:852 ../lib/loadsave.php:1380 ../lib/loadsave.php:1383
+msgid "The PhpWiki programming team"
 msgstr ""
 
-#: ../lib/WikiDB.php:1633 ../lib/WikiDB.php:1637
+#: ../lib/WikiDB.php:1627 ../lib/WikiDB.php:1631
 #: ../themes/default/templates/homepage.tmpl:7
 #, php-format
 msgid "Describe %s here."
 msgstr "Beskriv %s hr."
 
-#: ../lib/WikiDB.php:1672
+#: ../lib/WikiDB.php:1666
 #, php-format
 msgid "Oops! Revision %s of %s seems to have been deleted!"
 msgstr ""
 
-#: ../lib/WikiDB/backend/dba.php:22 ../lib/WikiDB/backend/dba.php:24
+#: ../lib/WikiDB/backend/dba.php:29 ../lib/WikiDB/backend/dba.php:31
 #, php-format
 msgid "%s: Can't open dba database"
 msgstr ""
 
-#: ../lib/WikiDB/backend/file.php:111
+#: ../lib/WikiDB/backend/file.php:111 ../lib/WikiDB/backend/flatfile.php:83
 #, php-format
 msgid "'%s': corrupt file"
 msgstr ""
 
 #: ../lib/WikiDB/dba.php:16 ../lib/WikiDB/file.php:47
+#: ../lib/WikiDB/flatfile.php:47
 #, php-format
 msgid ""
 "The %s files are in the %s directory. Please read the INSTALL file and move "
@@ -859,7 +957,7 @@
 msgid "No or not enough GROUP_DB SQL statements defined"
 msgstr ""
 
-#: ../lib/WikiGroup.php:838 ../lib/loadsave.php:962
+#: ../lib/WikiGroup.php:838 ../lib/loadsave.php:1021
 #, fuzzy, php-format
 msgid "%s: not defined"
 msgstr "%s: fila ingen funna"
@@ -887,89 +985,67 @@
 msgid "n/a"
 msgstr ""
 
-#: ../lib/WikiPlugin.php:121 ../lib/loadsave.php:82 ../lib/loadsave.php:408
-#: ../lib/loadsave.php:844 ../lib/loadsave.php:850 ../lib/loadsave.php:858
-#: ../lib/main.php:967 ../lib/main.php:1071
-#: ../lib/plugin/WikiAdminSelect.php:192 ../themes/Crao/templates/head.tmpl:79
-#: ../themes/Crao/templates/head.tmpl:80
-#: ../themes/Crao/templates/navbar.tmpl:37
-#: ../themes/MonoBook/templates/navbar.tmpl:46
-#: ../themes/Portland/templates/navbar.tmpl:30
-#: ../themes/Sidebar/templates/navbar.tmpl:38
-#: ../themes/Wordpress/templates/actionbar.tmpl:25
-#: ../themes/blog/templates/navbar.tmpl:14
-#: ../themes/default/templates/head.tmpl:86
-#: ../themes/default/templates/head.tmpl:87
-#: ../themes/default/templates/navbar.tmpl:55
-#: ../themes/shamino_com/templates/actionbar.tmpl:18
-#: ../themes/smaller/templates/navbar.tmpl:19
-#: ../themes/wikilens/templates/head.tmpl:78
-#: ../themes/wikilens/templates/head.tmpl:79
-#: ../themes/wikilens/templates/navbar.tmpl:43
-msgid "PhpWikiAdministration"
-msgstr ""
-
-#: ../lib/WikiPlugin.php:125
+#: ../lib/WikiPlugin.php:225
 #, php-format
-msgid "Argument '%s' not declared by plugin."
+msgid "trailing cruft in plugin args: '%s'"
 msgstr ""
 
-#: ../lib/WikiPlugin.php:235
+#: ../lib/WikiPlugin.php:233
 #, php-format
-msgid "trailing cruft in plugin args: '%s'"
+msgid "Argument '%s' not declared by plugin."
 msgstr ""
 
-#: ../lib/WikiPlugin.php:378
+#: ../lib/WikiPlugin.php:376
 #, php-format
 msgid "Plugin %s failed."
 msgstr ""
 
-#: ../lib/WikiPlugin.php:384
+#: ../lib/WikiPlugin.php:382
 #, php-format
 msgid "Plugin %s disabled."
 msgstr ""
 
-#: ../lib/WikiPlugin.php:520
+#: ../lib/WikiPlugin.php:518
 #, fuzzy, php-format
 msgid "Include of '%s' failed."
 msgstr "Insttning fr '%s' misslyckades."
 
-#: ../lib/WikiPlugin.php:522
+#: ../lib/WikiPlugin.php:520
 #, php-format
 msgid "%s: no such class"
 msgstr ""
 
-#: ../lib/WikiPlugin.php:528
+#: ../lib/WikiPlugin.php:526
 #, php-format
 msgid "%s: not a subclass of WikiPlugin."
 msgstr ""
 
-#: ../lib/WikiPluginCached.php:691
+#: ../lib/WikiPluginCached.php:688
 #, php-format
 msgid ""
 "There is no image creation data available to id '%s'. Please reload "
 "referring page."
 msgstr ""
 
-#: ../lib/WikiPluginCached.php:845
+#: ../lib/WikiPluginCached.php:842
 msgid "Image map expired. Reload wiki page to recreate its html part."
 msgstr ""
 
 #: ../lib/WikiUser.php:188 ../lib/WikiUser.php:268
 #: ../lib/WikiUser/AdoDb.php:29 ../lib/WikiUser/AdoDb.php:186
 #: ../lib/WikiUser/Db.php:43 ../lib/WikiUser/File.php:58
-#: ../lib/WikiUser/IMAP.php:17 ../lib/WikiUser/LDAP.php:58
+#: ../lib/WikiUser/IMAP.php:18 ../lib/WikiUser/LDAP.php:58
 #: ../lib/WikiUser/POP3.php:17 ../lib/WikiUser/PdoDb.php:28
 #: ../lib/WikiUser/PdoDb.php:103 ../lib/WikiUser/PearDb.php:26
-#: ../lib/WikiUser/PearDb.php:116 ../lib/WikiUserNew.php:559
+#: ../lib/WikiUser/PearDb.php:116 ../lib/WikiUserNew.php:590
 msgid "Invalid username."
 msgstr ""
 
-#: ../lib/WikiUser.php:192 ../lib/WikiUserNew.php:566
+#: ../lib/WikiUser.php:192 ../lib/WikiUserNew.php:597
 msgid "Invalid password or userid."
 msgstr ""
 
-#: ../lib/WikiUser.php:194 ../lib/WikiUserNew.php:582
+#: ../lib/WikiUser.php:194 ../lib/WikiUserNew.php:613
 msgid "Insufficient permissions."
 msgstr ""
 
@@ -1000,8 +1076,10 @@
 
 #: ../lib/WikiUser.php:465 ../lib/WikiUser.php:475
 #: ../themes/Crao/templates/navbar.tmpl:23
+#: ../themes/MonoBook/templates/navbar.tmpl:61
 #: ../themes/default/templates/navbar.tmpl:40
 #: ../themes/shamino_com/templates/top.tmpl:28
+#: ../themes/wikilens/templates/navbar.tmpl:23
 msgid "Preferences"
 msgstr ""
 
@@ -1018,14 +1096,14 @@
 msgid "%s is missing"
 msgstr ""
 
-#: ../lib/WikiUser/AdoDb.php:201 ../lib/WikiUser/AdoDb.php:255
+#: ../lib/WikiUser/AdoDb.php:201 ../lib/WikiUser/AdoDb.php:258
 #: ../lib/WikiUser/PdoDb.php:190 ../lib/WikiUser/PdoDb.php:255
 #: ../lib/WikiUser/PearDb.php:179 ../lib/WikiUser/PearDb.php:223
 #, php-format
 msgid "Either %s is missing or DATABASE_TYPE != '%s'"
 msgstr ""
 
-#: ../lib/WikiUser/IMAP.php:33
+#: ../lib/WikiUser/IMAP.php:36
 msgid "Unable to connect to IMAP server "
 msgstr ""
 
@@ -1034,12 +1112,33 @@
 msgid "Unable to bind LDAP server %s using %s %s"
 msgstr ""
 
-#: ../lib/WikiUser/LDAP.php:65 ../lib/WikiUser/LDAP.php:108
+#: ../lib/WikiUser/LDAP.php:68
+msgid "Empty password not allowed for LDAP"
+msgstr ""
+
+#: ../lib/WikiUser/LDAP.php:73 ../lib/WikiUser/LDAP.php:149
 #, php-format
 msgid "Invalid username '%s' for LDAP Auth"
 msgstr ""
 
-#: ../lib/WikiUser/POP3.php:59
+#: ../lib/WikiUser/LDAP.php:84
+msgid "Could not search in LDAP"
+msgstr ""
+
+#: ../lib/WikiUser/LDAP.php:91
+#, fuzzy
+msgid "User not found in LDAP"
+msgstr "%s: fila ingen funna"
+
+#: ../lib/WikiUser/LDAP.php:125
+msgid "Wrong password: "
+msgstr ""
+
+#: ../lib/WikiUser/LDAP.php:131
+msgid "Could not connect to LDAP"
+msgstr ""
+
+#: ../lib/WikiUser/POP3.php:61
 #, php-format
 msgid "Couldn't connect to %s"
 msgstr ""
@@ -1069,48 +1168,53 @@
 msgid "Given password ignored."
 msgstr ""
 
-#: ../lib/WikiUserNew.php:564
+#: ../lib/WikiUserNew.php:430
+msgid ""
+"Automatically created user homepage to be able to store UserPreferences."
+msgstr ""
+
+#: ../lib/WikiUserNew.php:595
 msgid "Invalid password."
 msgstr ""
 
-#: ../lib/WikiUserNew.php:628
+#: ../lib/WikiUserNew.php:659
 msgid "Empty Preferences or format of UserPreferences cookie not recognised."
 msgstr ""
 
-#: ../lib/WikiUserNew.php:632
+#: ../lib/WikiUserNew.php:663
 msgid "Default preferences will be used."
 msgstr ""
 
-#: ../lib/WikiUserNew.php:1190
+#: ../lib/WikiUserNew.php:1233
 msgid "The length of the password is shorter than the system policy allows."
 msgstr ""
 
-#: ../lib/WikiUserNew.php:1216
+#: ../lib/WikiUserNew.php:1259
 msgid ""
 "The length of the stored password is shorter than the system policy allows. "
 "Sorry, you cannot login.\n"
 " You have to ask the System Administrator to reset your password."
 msgstr ""
 
-#: ../lib/WikiUserNew.php:1231
+#: ../lib/WikiUserNew.php:1274
 msgid "The crypt function is not available in this version of PHP."
 msgstr ""
 
-#: ../lib/WikiUserNew.php:1232
+#: ../lib/WikiUserNew.php:1275
 msgid ""
 "Please set ENCRYPTED_PASSWD to false in config/config.ini and probably "
 "change ADMIN_PASSWD."
 msgstr ""
 
-#: ../lib/WikiUserNew.php:1245
+#: ../lib/WikiUserNew.php:1288
 msgid "Please set ENCRYPTED_PASSWD to true in config/config.ini."
 msgstr ""
 
-#: ../lib/WikiUserNew.php:1657
+#: ../lib/WikiUserNew.php:1701 ../lib/plugin/WikiAdminUtils.php:114
 msgid "Email Verification"
 msgstr ""
 
-#: ../lib/WikiUserNew.php:1658
+#: ../lib/WikiUserNew.php:1702
 #, php-format
 msgid ""
 "Welcome to %s!\n"
@@ -1119,106 +1223,154 @@
 "See %s"
 msgstr ""
 
-#: ../lib/WikiUserNew.php:1711
+#: ../lib/WikiUserNew.php:1762
 #, php-format
 msgid "E-Mail address '%s' is not properly formatted"
 msgstr ""
 
-#: ../lib/WikiUserNew.php:1715
+#: ../lib/WikiUserNew.php:1766
 #, php-format
 msgid "E-Mail address '%s' is properly formatted"
 msgstr ""
 
-#: ../lib/XmlElement.php:456 ../lib/stdlib.php:1344
+#: ../lib/WysiwygEdit/Wikiwyg.php:74
+msgid "Apply changes"
+msgstr ""
+
+#: ../lib/WysiwygEdit/Wikiwyg.php:75
+msgid "Exit toolbar"
+msgstr ""
+
+#: ../lib/WysiwygEdit/Wikiwyg.php:76
+#, fuzzy
+msgid "Title 1"
+msgstr "Titelskningen"
+
+#: ../lib/WysiwygEdit/Wikiwyg.php:77
+#, fuzzy
+msgid "Title 2"
+msgstr "Titelskningen"
+
+#: ../lib/WysiwygEdit/Wikiwyg.php:78
+#, fuzzy
+msgid "Title 3"
+msgstr "Titelskningen"
+
+#: ../lib/WysiwygEdit/Wikiwyg.php:79
+msgid "Verbatim"
+msgstr ""
+
+#: ../lib/WysiwygEdit/Wikiwyg.php:80
+msgid "Table of content"
+msgstr ""
+
+#: ../lib/WysiwygEdit/Wikiwyg.php:81
+msgid "Insert Wikitext section"
+msgstr ""
+
+#: ../lib/WysiwygEdit/Wikiwyg.php:82
+msgid "Sup"
+msgstr ""
+
+#: ../lib/WysiwygEdit/Wikiwyg.php:83
+msgid "Sub"
+msgstr ""
+
+#: ../lib/WysiwygEdit/Wikiwyg.php:107
+msgid "Warning: This Wikiwyg editor has only Beta quality!"
+msgstr ""
+
+#: ../lib/XmlElement.php:467 ../lib/stdlib.php:1357
 #, php-format
 msgid "Can't mix '%s' with '%s' type format strings"
 msgstr ""
 
-#: ../lib/XmlRpcServer.php:562
+#: ../lib/XmlRpcServer.php:511
 msgid "xml-rpc change"
 msgstr ""
 
-#: ../lib/diff.php:259 ../lib/plugin/Diff.php:72
+#: ../lib/diff.php:258 ../lib/plugin/Diff.php:73
 #, php-format
 msgid "version %s"
 msgstr "version %s"
 
-#: ../lib/diff.php:266 ../lib/plugin/Diff.php:77
+#: ../lib/diff.php:265 ../lib/plugin/Diff.php:78
 #: ../lib/wikilens/PageListColumns.php:351
 msgid "None"
 msgstr "Ingen"
 
-#: ../lib/diff.php:289 ../lib/plugin/Diff.php:94
-#: ../lib/plugin/PageHistory.php:312 ../lib/plugin/PageInfo.php:59
+#: ../lib/diff.php:288 ../lib/plugin/Diff.php:95
+#: ../lib/plugin/PageHistory.php:326 ../lib/plugin/PageInfo.php:59
 #, php-format
 msgid "I'm sorry, there is no such page as %s."
 msgstr ""
 
-#: ../lib/diff.php:292 ../lib/diff.php:394
+#: ../lib/diff.php:291 ../lib/diff.php:396
 #, php-format
 msgid "Diff: %s"
 msgstr "Diff av: %s"
 
-#: ../lib/diff.php:299 ../lib/diff.php:309 ../lib/plugin/Diff.php:102
-#: ../lib/plugin/Diff.php:112
+#: ../lib/diff.php:298 ../lib/diff.php:308 ../lib/plugin/Diff.php:103
+#: ../lib/plugin/Diff.php:113
 #, php-format
 msgid "version %d"
 msgstr "version %d"
 
-#: ../lib/diff.php:303 ../lib/plugin/Diff.php:106
+#: ../lib/diff.php:302 ../lib/plugin/Diff.php:107
 msgid "current version"
 msgstr "nuvarande version"
 
-#: ../lib/diff.php:320 ../lib/plugin/Diff.php:123
+#: ../lib/diff.php:319 ../lib/plugin/Diff.php:124
 msgid "revision by previous author"
 msgstr "version frn fregende frfattare"
 
-#: ../lib/diff.php:326 ../lib/plugin/Diff.php:129
+#: ../lib/diff.php:325 ../lib/plugin/Diff.php:130
 msgid "previous revision"
 msgstr ""
 
-#: ../lib/diff.php:336 ../lib/plugin/Diff.php:139
+#: ../lib/diff.php:335 ../lib/plugin/Diff.php:140
 msgid "predecessor to the previous major change"
 msgstr ""
 
-#: ../lib/diff.php:347 ../lib/plugin/Diff.php:149
+#: ../lib/diff.php:346 ../lib/plugin/Diff.php:150
 #, php-format
 msgid "Differences between %s and %s of %s."
 msgstr ""
 
-#: ../lib/diff.php:350 ../lib/plugin/Diff.php:152
+#: ../lib/diff.php:349 ../lib/plugin/Diff.php:153
 msgid "Other diffs:"
 msgstr ""
 
-#: ../lib/diff.php:351 ../lib/plugin/Diff.php:153
+#: ../lib/diff.php:350 ../lib/plugin/Diff.php:154
 msgid "Previous Major Revision"
 msgstr ""
 
-#: ../lib/diff.php:352 ../lib/plugin/Diff.php:154
+#: ../lib/diff.php:351 ../lib/plugin/Diff.php:155
 msgid "Previous Revision"
 msgstr ""
 
-#: ../lib/diff.php:353 ../lib/plugin/Diff.php:155
+#: ../lib/diff.php:352 ../lib/plugin/Diff.php:156
 msgid "Previous Author"
 msgstr "Gregende Frfattare"
 
-#: ../lib/diff.php:370 ../lib/plugin/Diff.php:172
+#: ../lib/diff.php:368 ../lib/plugin/Diff.php:173
 msgid "Newer page:"
 msgstr ""
 
-#: ../lib/diff.php:372 ../lib/plugin/Diff.php:174
+#: ../lib/diff.php:370 ../lib/plugin/Diff.php:175
 msgid "Older page:"
 msgstr ""
 
-#: ../lib/diff.php:380 ../lib/plugin/Diff.php:182
+#: ../lib/diff.php:378 ../lib/editpage.php:499 ../lib/plugin/Diff.php:183
 msgid "Versions are identical"
 msgstr "Versionerna r identiska"
 
-#: ../lib/display.php:53 ../lib/plugin/HelloWorld.php:70
-#: ../lib/plugin/PageGroup.php:102 ../lib/plugin/PageGroup.php:166
-#: ../lib/plugin/PageGroup.php:177 ../lib/plugin/PageGroup.php:193
-#: ../lib/plugin/PageGroup.php:200 ../lib/plugin/PageHistory.php:216
-#: ../lib/plugin/UnfoldSubpages.php:140 ../themes/Crao/templates/head.tmpl:47
+#: ../lib/display.php:54 ../lib/display.php:240
+#: ../lib/plugin/HelloWorld.php:70 ../lib/plugin/PageGroup.php:102
+#: ../lib/plugin/PageGroup.php:166 ../lib/plugin/PageGroup.php:177
+#: ../lib/plugin/PageGroup.php:193 ../lib/plugin/PageGroup.php:200
+#: ../lib/plugin/PageHistory.php:229 ../lib/plugin/UnfoldSubpages.php:140
+#: ../themes/Crao/templates/head.tmpl:47
 #: ../themes/MonoBook/templates/logo.tmpl:2
 #: ../themes/Portland/templates/body.tmpl:8
 #: ../themes/Sidebar/templates/frame-header.tmpl:16
@@ -1228,36 +1380,38 @@
 #: ../themes/default/templates/top.tmpl:11
 #: ../themes/shamino_com/templates/top.tmpl:8
 #: ../themes/wikilens/templates/head.tmpl:45
+#: ../themes/wikilens/templates/top.tmpl:11
 #, php-format
 msgid "%s: %s"
 msgstr "%s: %s"
 
-#: ../lib/display.php:119 ../lib/display.php:126
+#: ../lib/display.php:82 ../lib/display.php:324
+#: ../lib/plugin/LinkDatabase.php:42
+msgid "LinkDatabase"
+msgstr ""
+
+#: ../lib/display.php:177 ../lib/display.php:184
 #: ../lib/plugin/BackLinks.php:31 ../lib/plugin/_WikiTranslation.php:53
 #: ../themes/Crao/templates/navbar.tmpl:17
-#: ../themes/Sidebar/templates/navbar.tmpl:35
+#: ../themes/Sidebar/templates/navbar.tmpl:25
 #: ../themes/blog/templates/navbar.tmpl:11
 #: ../themes/default/templates/navbar.tmpl:34
 #: ../themes/smaller/templates/navbar.tmpl:16
-#: ../themes/wikilens/templates/navbar.tmpl:25
+#: ../themes/wikilens/templates/navbar.tmpl:22
 msgid "BackLinks"
 msgstr ""
 
-#: ../lib/display.php:122 ../lib/display.php:129
+#: ../lib/display.php:180 ../lib/display.php:187
 #, php-format
 msgid "BackLinks for %s"
 msgstr ""
 
-#: ../lib/display.php:137
+#: ../lib/display.php:195
 #, fuzzy, php-format
 msgid "(Redirected from %s)"
 msgstr "(Insttning frn %s)"
 
-#: ../lib/display.php:177
-msgid "You searched for: "
-msgstr ""
-
-#: ../lib/display.php:218 ../themes/Crao/templates/head.tmpl:70
+#: ../lib/display.php:269 ../themes/Crao/templates/head.tmpl:70
 #: ../themes/Crao/templates/head.tmpl:71
 #: ../themes/default/templates/head.tmpl:76
 #: ../themes/default/templates/head.tmpl:77
@@ -1266,91 +1420,91 @@
 msgid "SandBox"
 msgstr ""
 
-#: ../lib/editpage.php:134 ../lib/editpage.php:469
+#: ../lib/editpage.php:162 ../lib/editpage.php:559
 msgid "Your version"
 msgstr ""
 
-#: ../lib/editpage.php:134 ../lib/editpage.php:470
+#: ../lib/editpage.php:162 ../lib/editpage.php:560
 msgid "Other version"
 msgstr ""
 
-#: ../lib/editpage.php:145
+#: ../lib/editpage.php:173
 msgid "Some internal editing error"
 msgstr ""
 
-#: ../lib/editpage.php:146
+#: ../lib/editpage.php:174
 msgid ""
 "Your are probably trying to edit/create an invalid version of this page."
 msgstr ""
 
-#: ../lib/editpage.php:147
+#: ../lib/editpage.php:175
 msgid "&version=-1 might help."
 msgstr ""
 
-#: ../lib/editpage.php:164
+#: ../lib/editpage.php:194
 #, php-format
 msgid "Edit: %s"
 msgstr "Redigera: %s"
 
-#: ../lib/editpage.php:198
+#: ../lib/editpage.php:232
 #, php-format
 msgid "View Source: %s"
 msgstr "Visa Kllkoden: %s"
 
-#: ../lib/editpage.php:212
+#: ../lib/editpage.php:246
 msgid "Page now locked."
 msgstr ""
 
-#: ../lib/editpage.php:212
+#: ../lib/editpage.php:246
 msgid "Page now unlocked."
 msgstr ""
 
-#: ../lib/editpage.php:314
+#: ../lib/editpage.php:353
 #, php-format
 msgid "Saved: %s"
 msgstr "Sparade: %s"
 
-#: ../lib/editpage.php:366
+#: ../lib/editpage.php:406
 msgid "Too many external links."
 msgstr ""
 
-#: ../lib/editpage.php:379
+#: ../lib/editpage.php:419
 msgid "SpamAssassin reports: "
 msgstr ""
 
-#: ../lib/editpage.php:396
+#: ../lib/editpage.php:446
 msgid "External links contain blocked domains:"
 msgstr ""
 
-#: ../lib/editpage.php:397
+#: ../lib/editpage.php:447
 #, fuzzy, php-format
-msgid "%s is listed at %s"
+msgid "%s is listed at %s with %s"
 msgstr "%s i %s"
 
-#: ../lib/editpage.php:418
+#: ../lib/editpage.php:471
 msgid "Spam Prevention"
 msgstr ""
 
-#: ../lib/editpage.php:419
+#: ../lib/editpage.php:472
 msgid "This page edit seems to contain spam and was therefore not saved."
 msgstr ""
 
-#: ../lib/editpage.php:421 ../lib/editpage.php:455
+#: ../lib/editpage.php:474 ../lib/editpage.php:535
 msgid "Sorry for the inconvenience."
 msgstr "Ledsen fr allt besvr."
 
-#: ../lib/editpage.php:452 ../themes/MacOSX/themeinfo.php:137
+#: ../lib/editpage.php:532 ../themes/MacOSX/themeinfo.php:135
 msgid "Page Locked"
 msgstr "Sidan r Lst"
 
-#: ../lib/editpage.php:453
+#: ../lib/editpage.php:533
 #, fuzzy
 msgid ""
 "This page has been locked by the administrator so your changes can not be "
 "saved."
 msgstr "Den hr sidan r lst av administratren och kan ej redigeras."
 
-#: ../lib/editpage.php:454
+#: ../lib/editpage.php:534
 #, fuzzy
 msgid ""
 "(Copy your changes to the clipboard. You can try editing a different page or "
@@ -1359,7 +1513,51 @@
 "Kopiera dina ndringar till urklippet eller till ett annat temporrt stlle "
 "(t.ex. en texteditor)."
 
-#: ../lib/editpage.php:468 ../lib/editpage.php:757
+#: ../lib/editpage.php:543 ../lib/editpage.php:544 ../lib/main.php:733
+#: ../lib/main.php:1090 ../lib/plugin/ModeratedPage.php:41
+#: ../lib/plugin/ModeratedPage.php:149 ../lib/plugin/ModeratedPage.php:219
+#: ../lib/plugin/ModeratedPage.php:258 ../lib/plugin/ModeratedPage.php:261
+#: ../lib/plugin/ModeratedPage.php:263 ../lib/plugin/ModeratedPage.php:265
+#: ../lib/plugin/ModeratedPage.php:349 ../lib/plugin/ModeratedPage.php:353
+#: ../lib/plugin/ModeratedPage.php:408 ../lib/plugin/ModeratedPage.php:433
+#, fuzzy
+msgid "ModeratedPage"
+msgstr "SkEfterSida"
+
+#: ../lib/editpage.php:544
+#, php-format
+msgid ""
+"You can edit away, but your changes will have to be approved by the defined "
+"moderators at the definition in %s"
+msgstr ""
+
+#: ../lib/editpage.php:546 ../lib/plugin/PasswordReset.php:155
+#: ../lib/plugin/UserPreferences.php:38 ../lib/plugin/WatchPage.php:115
+#: ../lib/plugin/WatchPage.php:133 ../themes/Crao/templates/head.tmpl:85
+#: ../themes/Crao/templates/head.tmpl:86
+#: ../themes/Crao/templates/navbar.tmpl:23
+#: ../themes/MonoBook/templates/navbar.tmpl:61
+#: ../themes/blog/templates/navbar.tmpl:17
+#: ../themes/default/templates/head.tmpl:92
+#: ../themes/default/templates/head.tmpl:93
+#: ../themes/default/templates/homepage.tmpl:11
+#: ../themes/default/templates/navbar.tmpl:40
+#: ../themes/shamino_com/templates/top.tmpl:28
+#: ../themes/smaller/templates/navbar.tmpl:22
+#: ../themes/wikilens/templates/head.tmpl:85
+#: ../themes/wikilens/templates/head.tmpl:86
+#: ../themes/wikilens/templates/navbar.tmpl:23
+msgid "UserPreferences"
+msgstr ""
+
+#: ../lib/editpage.php:545
+#, php-format
+msgid ""
+"The approval has a grace period of 5 days. If you have your E-Mail defined "
+"in your %s, you will get a notification of approval or rejection."
+msgstr ""
+
+#: ../lib/editpage.php:558 ../lib/editpage.php:900
 #, php-format
 msgid ""
 "Some of the changes could not automatically be combined.  Please look for "
@@ -1367,39 +1565,62 @@
 "those sections by hand before you click Save."
 msgstr ""
 
-#: ../lib/editpage.php:472 ../lib/editpage.php:760
+#: ../lib/editpage.php:562 ../lib/editpage.php:903
 msgid "Please check it through before saving."
 msgstr ""
 
-#: ../lib/editpage.php:483
+#: ../lib/editpage.php:573
 msgid "Conflicting Edits!"
 msgstr ""
 
-#: ../lib/editpage.php:484
+#: ../lib/editpage.php:574
 msgid ""
 "In the time since you started editing this page, another user has saved a "
 "new version of it."
 msgstr ""
 
-#: ../lib/editpage.php:485
+#: ../lib/editpage.php:575
 msgid ""
 "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."
 msgstr ""
 
-#: ../lib/editpage.php:555
+#: ../lib/editpage.php:649
 #, fuzzy
 msgid "Convert"
 msgstr "Innehll"
 
-#: ../lib/editpage.php:588 ../themes/Portland/templates/editpage.tmpl:45
-#: ../themes/Wordpress/templates/editpage.tmpl:54
+#: ../lib/editpage.php:668
+#, fuzzy
+msgid "Changes"
+msgstr "Senastendringar"
+
+#: ../lib/editpage.php:672 ../lib/plugin/HtmlConverter.php:66
+#: ../lib/plugin/UpLoad.php:146 ../lib/plugin/UpLoad.php:151
+#: ../lib/plugin/WikiForm.php:103
+msgid "Upload"
+msgstr ""
+
+#: ../lib/editpage.php:675
+msgid "Spell Check"
+msgstr ""
+
+#: ../lib/editpage.php:698 ../themes/Portland/templates/editpage.tmpl:41
+#: ../themes/Wordpress/templates/editpage.tmpl:52
 #, php-format
 msgid "Author will be logged as %s."
 msgstr ""
 
-#: ../lib/editpage.php:731
+#: ../lib/editpage.php:855
+msgid "Keep old"
+msgstr ""
+
+#: ../lib/editpage.php:858
+msgid "Overwrite with new"
+msgstr ""
+
+#: ../lib/editpage.php:868
 #, php-format
 msgid "Merge and Edit: %s"
 msgstr ""
@@ -1428,8 +1649,39 @@
 msgid "Dump pages as XHTML"
 msgstr ""
 
-#: ../lib/loadsave.php:95 ../lib/loadsave.php:96
-msgid "LoadDump"
+#: ../lib/loadsave.php:82 ../lib/loadsave.php:428 ../lib/loadsave.php:902
+#: ../lib/loadsave.php:908 ../lib/loadsave.php:916 ../lib/main.php:1006
+#: ../lib/main.php:1110 ../lib/plugin/WikiAdminSelect.php:192
+#: ../themes/Crao/templates/head.tmpl:79 ../themes/Crao/templates/head.tmpl:80
+#: ../themes/Crao/templates/navbar.tmpl:37
+#: ../themes/MonoBook/templates/navbar.tmpl:57
+#: ../themes/Portland/templates/navbar.tmpl:27
+#: ../themes/Sidebar/templates/navbar.tmpl:28
+#: ../themes/Wordpress/templates/actionbar.tmpl:26
+#: ../themes/blog/templates/navbar.tmpl:14
+#: ../themes/default/templates/head.tmpl:86
+#: ../themes/default/templates/head.tmpl:87
+#: ../themes/default/templates/navbar.tmpl:55
+#: ../themes/shamino_com/templates/actionbar.tmpl:18
+#: ../themes/smaller/templates/navbar.tmpl:19
+#: ../themes/wikilens/templates/head.tmpl:78
+#: ../themes/wikilens/templates/head.tmpl:79
+#: ../themes/wikilens/templates/navbar.tmpl:32
+msgid "PhpWikiAdministration"
+msgstr ""
+
+#: ../lib/loadsave.php:95 ../lib/loadsave.php:96
+msgid "LoadDump"
+msgstr ""
+
+#: ../lib/loadsave.php:99
+#, php-format
+msgid "PageChange Notification of %s sent to %s"
+msgstr ""
+
+#: ../lib/loadsave.php:102
+#, php-format
+msgid "PageChange Notification Error: Couldn't send %s to %s"
 msgstr ""
 
 #: ../lib/loadsave.php:110
@@ -1441,528 +1693,527 @@
 msgid "Return to %s"
 msgstr "Tillbaka till %s"
 
-#: ../lib/loadsave.php:197
+#: ../lib/loadsave.php:200
 msgid "FullDump"
 msgstr ""
 
-#: ../lib/loadsave.php:201
+#: ../lib/loadsave.php:204
 msgid "LatestSnapshot"
 msgstr ""
 
-#: ../lib/loadsave.php:273 ../lib/loadsave.php:381
+#: ../lib/loadsave.php:276 ../lib/loadsave.php:401
 msgid "You must specify a directory to dump to"
 msgstr ""
 
-#: ../lib/loadsave.php:278 ../lib/loadsave.php:386
+#: ../lib/loadsave.php:281 ../lib/loadsave.php:406
 #, php-format
 msgid "Cannot create directory '%s'"
 msgstr ""
 
-#: ../lib/loadsave.php:280 ../lib/loadsave.php:388
+#: ../lib/loadsave.php:283 ../lib/loadsave.php:408
 #, php-format
 msgid "Created directory '%s' for the page dump..."
 msgstr ""
 
-#: ../lib/loadsave.php:283 ../lib/loadsave.php:391
+#: ../lib/loadsave.php:286 ../lib/loadsave.php:411
 #, php-format
 msgid "Using directory '%s'"
 msgstr ""
 
-#: ../lib/loadsave.php:286 ../lib/loadsave.php:394
+#: ../lib/loadsave.php:289 ../lib/loadsave.php:414
 msgid "Dumping Pages"
 msgstr ""
 
-#: ../lib/loadsave.php:318 ../lib/loadsave.php:451 ../lib/stdlib.php:845
+#: ../lib/loadsave.php:321 ../lib/loadsave.php:471 ../lib/stdlib.php:857
 msgid "Skipped."
 msgstr ""
 
-#: ../lib/loadsave.php:326
+#: ../lib/loadsave.php:329
 #, php-format
 msgid "saved as %s"
 msgstr ""
 
-#: ../lib/loadsave.php:336 ../lib/loadsave.php:469
-#: ../lib/plugin/text2png.php:183
+#: ../lib/loadsave.php:339 ../lib/loadsave.php:503
+#: ../lib/plugin/text2png.php:228
 #, php-format
 msgid "couldn't open file '%s' for writing"
 msgstr ""
 
-#: ../lib/loadsave.php:342 ../lib/loadsave.php:478
+#: ../lib/loadsave.php:345 ../lib/loadsave.php:513
 #, php-format
 msgid "%s bytes written"
 msgstr ""
 
-#: ../lib/loadsave.php:476
+#: ../lib/loadsave.php:511
 msgid "saved as "
 msgstr ""
 
-#: ../lib/loadsave.php:514 ../lib/loadsave.php:533 ../lib/loadsave.php:550
+#: ../lib/loadsave.php:549 ../lib/loadsave.php:569 ../lib/loadsave.php:586
 #, fuzzy, php-format
 msgid "... copied to %s"
 msgstr "Kopia r [%s]"
 
-#: ../lib/loadsave.php:516 ../lib/loadsave.php:535 ../lib/loadsave.php:552
+#: ../lib/loadsave.php:551 ../lib/loadsave.php:571 ../lib/loadsave.php:588
 #, fuzzy, php-format
 msgid "... not copied to %s"
 msgstr "Kopia r [%s]"
 
-#: ../lib/loadsave.php:519 ../lib/loadsave.php:538 ../lib/loadsave.php:555
+#: ../lib/loadsave.php:555 ../lib/loadsave.php:574 ../lib/loadsave.php:592
 #, fuzzy
 msgid "... not found"
 msgstr "%s: fila ingen funna"
 
-#: ../lib/loadsave.php:723
+#: ../lib/loadsave.php:760
 msgid "Empty pagename!"
 msgstr "Ange ett sidnamn!"
 
-#: ../lib/loadsave.php:779
+#: ../lib/loadsave.php:770
+#, fuzzy
+msgid "Invalid pagename!"
+msgstr "Ange ett sidnamn!"
+
+#: ../lib/loadsave.php:833
 #, php-format
 msgid "from %s"
 msgstr "frn %s"
 
-#: ../lib/loadsave.php:795
+#: ../lib/loadsave.php:849
 msgid "has edit conflicts - overwriting anyway"
 msgstr ""
 
-#: ../lib/loadsave.php:798 ../lib/loadsave.php:1292 ../lib/loadsave.php:1295
-msgid "The PhpWiki programming team"
+#: ../lib/loadsave.php:858
+msgid "keep old"
 msgstr ""
 
-#: ../lib/loadsave.php:803
+#: ../lib/loadsave.php:860
 msgid "has edit conflicts - skipped"
 msgstr ""
 
-#: ../lib/loadsave.php:814
+#: ../lib/loadsave.php:872
 #, php-format
 msgid "content is identical to current version %d - no new revision created"
 msgstr ""
 
-#: ../lib/loadsave.php:828
+#: ../lib/loadsave.php:886
 #, php-format
 msgid "- saved to database as version %d"
 msgstr ""
 
-#: ../lib/loadsave.php:834 ../lib/loadsave.php:1088
+#: ../lib/loadsave.php:892 ../lib/loadsave.php:1162
 #, php-format
 msgid "MIME file %s"
 msgstr ""
 
-#: ../lib/loadsave.php:835 ../lib/loadsave.php:1093
+#: ../lib/loadsave.php:893 ../lib/loadsave.php:1173
 #, php-format
 msgid "Serialized file %s"
 msgstr ""
 
-#: ../lib/loadsave.php:836 ../lib/loadsave.php:1107
+#: ../lib/loadsave.php:894 ../lib/loadsave.php:1195
 #, fuzzy, php-format
 msgid "plain file %s"
 msgstr "senast ndrad %s"
 
-#: ../lib/loadsave.php:843
+#: ../lib/loadsave.php:901 ../lib/plugin/SyncWiki.php:271
 msgid "Merge Edit"
 msgstr ""
 
-#: ../lib/loadsave.php:849
+#: ../lib/loadsave.php:907
 msgid "Restore Anyway"
 msgstr ""
 
-#: ../lib/loadsave.php:857
+#: ../lib/loadsave.php:915
 msgid "Overwrite All"
 msgstr ""
 
-#: ../lib/loadsave.php:864
+#: ../lib/loadsave.php:922
 msgid " Sorry, cannot merge."
 msgstr ""
 
-#: ../lib/loadsave.php:884 ../lib/loadsave.php:894 ../lib/loadsave.php:901
-#: ../lib/loadsave.php:908 ../themes/MonoBook/templates/actionbar.tmpl:37
-#: ../themes/Wordpress/templates/actionbar.tmpl:57
-#: ../themes/default/templates/actionbar.tmpl:26
-#: ../themes/smaller/templates/actionbar.tmpl:29
+#: ../lib/loadsave.php:942 ../lib/loadsave.php:952 ../lib/loadsave.php:959
+#: ../lib/loadsave.php:966 ../themes/MonoBook/templates/actionbar.tmpl:60
+#: ../themes/Wordpress/templates/actionbar.tmpl:58
+#: ../themes/default/templates/actionbar.tmpl:28
+#: ../themes/smaller/templates/actionbar.tmpl:31
 msgid "Revert"
 msgstr ""
 
-#: ../lib/loadsave.php:885
+#: ../lib/loadsave.php:943
 msgid "missing required version argument"
 msgstr ""
 
-#: ../lib/loadsave.php:893
+#: ../lib/loadsave.php:951
 msgid "no page content"
 msgstr ""
 
-#: ../lib/loadsave.php:900
+#: ../lib/loadsave.php:958
 msgid "same version page"
 msgstr ""
 
-#: ../lib/loadsave.php:907
+#: ../lib/loadsave.php:965
 #, fuzzy
 msgid "Cancelled"
 msgstr "Avbyrt"
 
-#: ../lib/loadsave.php:915
+#: ../lib/loadsave.php:973
 msgid "Are you sure?"
 msgstr ""
 
-#: ../lib/loadsave.php:921 ../lib/plugin/PasswordReset.php:104
-#: ../lib/plugin/PasswordReset.php:142 ../lib/plugin/UserPreferences.php:114
-#: ../lib/plugin/WikiAdminChmod.php:146 ../lib/plugin/WikiAdminChown.php:153
-#: ../lib/plugin/WikiAdminMarkup.php:149 ../lib/plugin/WikiAdminRemove.php:188
-#: ../lib/plugin/WikiAdminRename.php:165
+#: ../lib/loadsave.php:979 ../lib/plugin/PasswordReset.php:103
+#: ../lib/plugin/PasswordReset.php:146 ../lib/plugin/UserPreferences.php:114
+#: ../lib/plugin/WatchPage.php:84 ../lib/plugin/WikiAdminChmod.php:146
+#: ../lib/plugin/WikiAdminChown.php:153 ../lib/plugin/WikiAdminMarkup.php:149
+#: ../lib/plugin/WikiAdminRemove.php:188 ../lib/plugin/WikiAdminRename.php:165
 #: ../lib/plugin/WikiAdminSearchReplace.php:180
-#: ../lib/plugin/WikiAdminSetAcl.php:176
+#: ../lib/plugin/WikiAdminSetAcl.php:180
 msgid "Yes"
 msgstr ""
 
-#: ../lib/loadsave.php:923 ../lib/plugin/PasswordReset.php:107
-#: ../lib/plugin/PasswordReset.php:145 ../lib/plugin/TranslateText.php:118
-#: ../lib/plugin/UserPreferences.php:116 ../lib/plugin/WikiAdminChmod.php:159
+#: ../lib/loadsave.php:981 ../lib/plugin/PasswordReset.php:106
+#: ../lib/plugin/PasswordReset.php:149 ../lib/plugin/TranslateText.php:118
+#: ../lib/plugin/UserPreferences.php:116 ../lib/plugin/WatchPage.php:86
+#: ../lib/plugin/WatchPage.php:91 ../lib/plugin/WikiAdminChmod.php:159
 #: ../lib/plugin/WikiAdminChown.php:166 ../lib/plugin/WikiAdminMarkup.php:162
 #: ../lib/plugin/WikiAdminRemove.php:214 ../lib/plugin/WikiAdminRename.php:182
 #: ../lib/plugin/WikiAdminSearchReplace.php:194
 #: ../lib/plugin/WikiAdminSelect.php:218 ../lib/plugin/WikiAdminSelect.php:239
-#: ../lib/plugin/WikiAdminSetAcl.php:189 ../lib/plugin/WikiAdminUtils.php:266
-#: ../lib/plugin/WikiFormRich.php:317 ../lib/removepage.php:24
-#: ../lib/upgrade.php:682 ../themes/default/templates/login.tmpl:78
-#: ../themes/default/templates/userprefs.tmpl:243
+#: ../lib/plugin/WikiAdminSetAcl.php:193 ../lib/plugin/WikiAdminUtils.php:296
+#: ../lib/plugin/WikiFormRich.php:310 ../lib/removepage.php:24
+#: ../lib/upgrade.php:808 ../themes/default/templates/login.tmpl:78
+#: ../themes/default/templates/userprefs.tmpl:244
 msgid "Cancel"
 msgstr "Avbyrt"
 
-#: ../lib/loadsave.php:938
+#: ../lib/loadsave.php:997
 #, php-format
 msgid "revert to version %d"
 msgstr ""
 
-#: ../lib/loadsave.php:943
+#: ../lib/loadsave.php:1002
 #, fuzzy, php-format
 msgid "Revert: %s"
 msgstr "Redigera: %s"
 
-#: ../lib/loadsave.php:944
+#: ../lib/loadsave.php:1003
 #, php-format
 msgid "- version %d saved to database as version %d"
 msgstr ""
 
-#: ../lib/loadsave.php:972
+#: ../lib/loadsave.php:1031
 msgid "Default InterWiki map file not loaded."
 msgstr ""
 
-#: ../lib/loadsave.php:1122 ../lib/loadsave.php:1135
+#: ../lib/loadsave.php:1210 ../lib/loadsave.php:1223
 msgid "Skipping"
 msgstr ""
 
-#: ../lib/loadsave.php:1236
+#: ../lib/loadsave.php:1324
 #, php-format
-msgid "Unable to load: %s"
+msgid "Empty or not existing source. Unable to load: %s"
 msgstr ""
 
-#: ../lib/loadsave.php:1243
+#: ../lib/loadsave.php:1331
 #, php-format
 msgid "Bad file type: %s"
 msgstr ""
 
-#: ../lib/loadsave.php:1260
+#: ../lib/loadsave.php:1348
 #, php-format
 msgid "Loading '%s'"
 msgstr ""
 
-#: ../lib/loadsave.php:1298
+#: ../lib/loadsave.php:1386
 msgid "Loading up virgin wiki"
 msgstr ""
 
-#: ../lib/loadsave.php:1344
+#: ../lib/loadsave.php:1436
 msgid "No uploaded file to upload?"
 msgstr ""
 
-#: ../lib/loadsave.php:1348
+#: ../lib/loadsave.php:1440
 #, php-format
 msgid "Uploading %s"
 msgstr ""
 
-#: ../lib/main.php:415
+#: ../lib/main.php:440
 msgid "FORBIDDEN"
 msgstr ""
 
-#: ../lib/main.php:416 ../lib/main.php:426
+#: ../lib/main.php:441 ../lib/main.php:451
 msgid "ANON"
 msgstr ""
 
-#: ../lib/main.php:417
+#: ../lib/main.php:442
 msgid "BOGO"
 msgstr ""
 
-#: ../lib/main.php:418
+#: ../lib/main.php:443
 msgid "USER"
 msgstr ""
 
-#: ../lib/main.php:419
+#: ../lib/main.php:444
 msgid "ADMIN"
 msgstr ""
 
-#: ../lib/main.php:420
+#: ../lib/main.php:445
 msgid "UNOBTAINABLE"
 msgstr ""
 
-#: ../lib/main.php:448 ../lib/main.php:467
+#: ../lib/main.php:473 ../lib/main.php:492
 #, php-format
 msgid "%s is disallowed on this wiki."
 msgstr ""
 
-#: ../lib/main.php:456
+#: ../lib/main.php:481
 msgid "authenticated"
 msgstr ""
 
-#: ../lib/main.php:456
+#: ../lib/main.php:481
 msgid "not authenticated"
 msgstr ""
 
-#: ../lib/main.php:457
-#, php-format
-msgid "%s %s %s is disallowed on this wiki for %s user '%s' (level: %s)."
+#: ../lib/main.php:483
+msgid "Missing PagePermission:"
 msgstr ""
 
-#: ../lib/main.php:458
-msgid "Missing PagePermission:"
+#: ../lib/main.php:482
+#, php-format
+msgid "%s %s %s is disallowed on this wiki for %s user '%s' (level: %s)."
 msgstr ""
 
-#: ../lib/main.php:475
+#: ../lib/main.php:500
 #, php-format
 msgid "You must sign in to %s."
 msgstr ""
 
-#: ../lib/main.php:477
+#: ../lib/main.php:502
 #, php-format
 msgid "You must log in to %s."
 msgstr ""
 
-#: ../lib/main.php:479
+#: ../lib/main.php:504
+msgid "You must log in first"
+msgstr ""
+
+#: ../lib/main.php:506
 #, php-format
 msgid "Access for you is forbidden to %s."
 msgstr ""
 
-#: ../lib/main.php:481 ../lib/plugin/PluginManager.php:65
+#: ../lib/main.php:508 ../lib/plugin/PluginManager.php:65
 #, php-format
 msgid "You must be an administrator to %s."
 msgstr ""
 
-#: ../lib/main.php:493
+#: ../lib/main.php:521
 msgid "view this page"
 msgstr ""
 
-#: ../lib/main.php:494
+#: ../lib/main.php:522
 msgid "diff this page"
 msgstr ""
 
-#: ../lib/main.php:495
+#: ../lib/main.php:523
 msgid "dump html pages"
 msgstr ""
 
-#: ../lib/main.php:496
+#: ../lib/main.php:524
 msgid "dump serial pages"
 msgstr ""
 
-#: ../lib/main.php:497
+#: ../lib/main.php:525
 msgid "edit this page"
 msgstr ""
 
-#: ../lib/main.php:498
+#: ../lib/main.php:526
 msgid "revert to a previous version of this page"
 msgstr ""
 
-#: ../lib/main.php:499
+#: ../lib/main.php:527
 msgid "create this page"
 msgstr ""
 
-#: ../lib/main.php:500
+#: ../lib/main.php:528
 msgid "load files into this wiki"
 msgstr ""
 
-#: ../lib/main.php:501
+#: ../lib/main.php:529
 msgid "lock this page"
 msgstr ""
 
-#: ../lib/main.php:502
+#: ../lib/main.php:530
 msgid "remove this page"
 msgstr ""
 
-#: ../lib/main.php:503
+#: ../lib/main.php:531
 msgid "unlock this page"
 msgstr ""
 
-#: ../lib/main.php:504
+#: ../lib/main.php:532
 msgid "upload a zip dump"
 msgstr ""
 
-#: ../lib/main.php:505
+#: ../lib/main.php:533
 msgid "verify the current action"
 msgstr ""
 
-#: ../lib/main.php:506
+#: ../lib/main.php:534
 msgid "view the source of this page"
 msgstr ""
 
-#: ../lib/main.php:507
+#: ../lib/main.php:535
 msgid "access this wiki via XML-RPC"
 msgstr ""
 
-#: ../lib/main.php:508
+#: ../lib/main.php:536
 msgid "access this wiki via SOAP"
 msgstr ""
 
-#: ../lib/main.php:509
+#: ../lib/main.php:537
 msgid "download a zip dump from this wiki"
 msgstr ""
 
-#: ../lib/main.php:510
+#: ../lib/main.php:538
 #, fuzzy
 msgid "download a html zip dump from this wiki"
 msgstr "De %d mest populra sidorna fr den hr wikin:"
 
-#: ../lib/main.php:534
+#: ../lib/main.php:562
 msgid "Browsing pages"
 msgstr ""
 
-#: ../lib/main.php:535
+#: ../lib/main.php:563
 msgid "Diffing pages"
 msgstr ""
 
-#: ../lib/main.php:536
+#: ../lib/main.php:564
 msgid "Dumping html pages"
 msgstr ""
 
-#: ../lib/main.php:537
+#: ../lib/main.php:565
 msgid "Dumping serial pages"
 msgstr ""
 
-#: ../lib/main.php:538
+#: ../lib/main.php:566
 msgid "Editing pages"
 msgstr ""
 
-#: ../lib/main.php:539
+#: ../lib/main.php:567
 msgid "Reverting to a previous version of pages"
 msgstr ""
 
-#: ../lib/main.php:540
+#: ../lib/main.php:568
 msgid "Creating pages"
 msgstr ""
 
-#: ../lib/main.php:541
+#: ../lib/main.php:569
 msgid "Loading files"
 msgstr ""
 
-#: ../lib/main.php:542
+#: ../lib/main.php:570
 msgid "Locking pages"
 msgstr ""
 
-#: ../lib/main.php:543
+#: ../lib/main.php:571
 msgid "Removing pages"
 msgstr ""
 
-#: ../lib/main.php:544
+#: ../lib/main.php:572
 msgid "Unlocking pages"
 msgstr ""
 
-#: ../lib/main.php:545
+#: ../lib/main.php:573
 msgid "Uploading zip dumps"
 msgstr ""
 
-#: ../lib/main.php:546
+#: ../lib/main.php:574
 msgid "Verify the current action"
 msgstr ""
 
-#: ../lib/main.php:547
+#: ../lib/main.php:575
 msgid "Viewing the source of pages"
 msgstr ""
 
-#: ../lib/main.php:548
+#: ../lib/main.php:576
 msgid "XML-RPC access"
 msgstr ""
 
-#: ../lib/main.php:549
+#: ../lib/main.php:577
 msgid "SOAP access"
 msgstr ""
 
-#: ../lib/main.php:550
+#: ../lib/main.php:578
 msgid "Downloading zip dumps"
 msgstr ""
 
-#: ../lib/main.php:551
+#: ../lib/main.php:579
 msgid "Downloading html zip dumps"
 msgstr ""
 
-#: ../lib/main.php:685
+#: ../lib/main.php:720
 #, php-format
 msgid "%s: action forwarded to a moderator."
 msgstr ""
 
-#: ../lib/main.php:688
+#: ../lib/main.php:723
 msgid "This action requires moderator approval. Please be patient."
 msgstr ""
 
-#: ../lib/main.php:693
+#: ../lib/main.php:728
 msgid "You must wait for moderator approval."
 msgstr ""
 
-#: ../lib/main.php:698 ../lib/main.php:1051 ../lib/plugin/ModeratedPage.php:41
-#: ../lib/plugin/ModeratedPage.php:137 ../lib/plugin/ModeratedPage.php:205
-#: ../lib/plugin/ModeratedPage.php:238 ../lib/plugin/ModeratedPage.php:241
-#: ../lib/plugin/ModeratedPage.php:243 ../lib/plugin/ModeratedPage.php:245
-#: ../lib/plugin/ModeratedPage.php:324
-#, fuzzy
-msgid "ModeratedPage"
-msgstr "SkEfterSida"
-
-#: ../lib/main.php:714
+#: ../lib/main.php:749 ../lib/plugin/ModeratedPage.php:310
 #, php-format
 msgid "%s: Bad action"
 msgstr ""
 
-#: ../lib/main.php:731
+#: ../lib/main.php:766
 msgid "Fatal PhpWiki Error"
 msgstr "PhpWiki Fatal Error"
 
-#: ../lib/main.php:980 ../lib/plugin/WikiAdminChown.php:183
+#: ../lib/main.php:1019 ../lib/plugin/WikiAdminChown.php:183
 msgid "Chown"
 msgstr ""
 
-#: ../lib/main.php:984 ../lib/plugin/WikiAdminSetAcl.php:183
+#: ../lib/main.php:1023 ../lib/plugin/WikiAdminSetAcl.php:187
 msgid "SetAcl"
 msgstr ""
 
-#: ../lib/main.php:988 ../lib/plugin/WikiAdminRename.php:208
+#: ../lib/main.php:1027 ../lib/plugin/WikiAdminRename.php:208
 msgid "Rename"
 msgstr ""
 
-#: ../lib/main.php:992 ../lib/main.php:997 ../lib/plugin/PageDump.php:36
+#: ../lib/main.php:1031 ../lib/main.php:1036 ../lib/plugin/PageDump.php:36
 #: ../themes/Crao/templates/actionbar.tmpl:28
-#: ../themes/MonoBook/templates/actionbar.tmpl:48
-#: ../themes/Wordpress/templates/actionbar.tmpl:75
-#: ../themes/default/templates/actionbar.tmpl:35
+#: ../themes/MonoBook/templates/actionbar.tmpl:69
+#: ../themes/Wordpress/templates/actionbar.tmpl:76
+#: ../themes/default/templates/actionbar.tmpl:37
 #: ../themes/shamino_com/templates/actionbar.tmpl:22
-#: ../themes/shamino_com/templates/info.tmpl:168
-#: ../themes/smaller/templates/actionbar.tmpl:39
+#: ../themes/smaller/templates/actionbar.tmpl:41
 #: ../themes/smaller/templates/info.tmpl:11
 msgid "PageDump"
 msgstr ""
 
-#: ../lib/main.php:1011 ../lib/plugin/FullTextSearch.php:39
-#: ../lib/plugin/WantedPagesOld.php:134
+#: ../lib/main.php:1050 ../lib/plugin/FullTextSearch.php:45
 msgid "FullTextSearch"
 msgstr "Fulltextskning"
 
-#: ../lib/main.php:1161
+#: ../lib/main.php:1222
 msgid "The session.save_path directory"
 msgstr ""
 
-#: ../lib/main.php:1164
+#: ../lib/main.php:1225
 #, php-format
 msgid "the session.save_path directory '%s'"
 msgstr ""
 
-#: ../lib/main.php:1168
+#: ../lib/main.php:1229
 #, php-format
 msgid "Attempting to use the directory '%s' instead."
 msgstr ""
 
-#: ../lib/main.php:1175
+#: ../lib/main.php:1236
 msgid "Users will not be able to sign in."
 msgstr ""
 
@@ -1987,8 +2238,8 @@
 msgid "Click to display all comments"
 msgstr ""
 
-#: ../lib/plugin/AddComment.php:111 ../lib/plugin/CreateToc.php:372
-#: ../lib/plugin/CreateToc.php:377
+#: ../lib/plugin/AddComment.php:111 ../lib/plugin/CreateToc.php:381
+#: ../lib/plugin/CreateToc.php:401
 msgid "Click to display"
 msgstr ""
 
@@ -1996,7 +2247,7 @@
 msgid "Comments"
 msgstr ""
 
-#: ../lib/plugin/AllPages.php:34
+#: ../lib/plugin/AllPages.php:34 ../themes/MonoBook/templates/navbar.tmpl:78
 msgid "AllPages"
 msgstr ""
 
@@ -2009,22 +2260,22 @@
 msgid "All pages in this wiki (%d total):"
 msgstr ""
 
-#: ../lib/plugin/AllPages.php:77 ../lib/plugin/LinkDatabase.php:83
+#: ../lib/plugin/AllPages.php:77 ../lib/plugin/LinkDatabase.php:84
 #, php-format
 msgid "List of pages owned by [%s] (%d total):"
 msgstr ""
 
-#: ../lib/plugin/AllPages.php:87 ../lib/plugin/LinkDatabase.php:90
+#: ../lib/plugin/AllPages.php:89 ../lib/plugin/LinkDatabase.php:91
 #, php-format
 msgid "List of pages last edited by [%s] (%d total):"
 msgstr ""
 
-#: ../lib/plugin/AllPages.php:97 ../lib/plugin/LinkDatabase.php:97
+#: ../lib/plugin/AllPages.php:101 ../lib/plugin/LinkDatabase.php:98
 #, php-format
 msgid "List of pages created by [%s] (%d total):"
 msgstr ""
 
-#: ../lib/plugin/AllPages.php:126 ../lib/plugin/AllUsers.php:105
+#: ../lib/plugin/AllPages.php:133 ../lib/plugin/AllUsers.php:105
 #, php-format
 msgid "Elapsed time: %s s"
 msgstr ""
@@ -2042,119 +2293,120 @@
 msgid "Authenticated users on this wiki (%d total):"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:143
-#: ../lib/plugin/AnalyseAccessLogSql.php:168
+#: ../lib/plugin/AnalyseAccessLogSql.php:162
+#: ../lib/plugin/AnalyseAccessLogSql.php:197
 msgid "0 - last minute"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:144
-#: ../lib/plugin/AnalyseAccessLogSql.php:169
+#: ../lib/plugin/AnalyseAccessLogSql.php:163
+#: ../lib/plugin/AnalyseAccessLogSql.php:198
 msgid "1 - 1 minute to 1 hour"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:145
-#: ../lib/plugin/AnalyseAccessLogSql.php:170
+#: ../lib/plugin/AnalyseAccessLogSql.php:164
+#: ../lib/plugin/AnalyseAccessLogSql.php:199
 msgid "2 - 1 hour to 1 day"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:146
-#: ../lib/plugin/AnalyseAccessLogSql.php:171
+#: ../lib/plugin/AnalyseAccessLogSql.php:165
+#: ../lib/plugin/AnalyseAccessLogSql.php:200
 msgid "3 - 1 day to 1 week"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:147
-#: ../lib/plugin/AnalyseAccessLogSql.php:172
+#: ../lib/plugin/AnalyseAccessLogSql.php:166
+#: ../lib/plugin/AnalyseAccessLogSql.php:201
 msgid "4 - 1 week to 1 month"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:148
-#: ../lib/plugin/AnalyseAccessLogSql.php:173
+#: ../lib/plugin/AnalyseAccessLogSql.php:167
+#: ../lib/plugin/AnalyseAccessLogSql.php:202
 msgid "5 - 1 month to 1 year"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:149
-#: ../lib/plugin/AnalyseAccessLogSql.php:174
+#: ../lib/plugin/AnalyseAccessLogSql.php:168
+#: ../lib/plugin/AnalyseAccessLogSql.php:203
 msgid "6 - more than 1 year"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:193
+#: ../lib/plugin/AnalyseAccessLogSql.php:222
 msgid "referring_urls"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:194
+#: ../lib/plugin/AnalyseAccessLogSql.php:223
 msgid "external_referers"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:195
+#: ../lib/plugin/AnalyseAccessLogSql.php:224
 msgid "referring_domains"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:196
+#: ../lib/plugin/AnalyseAccessLogSql.php:225
 msgid "remote_hosts"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:197
+#: ../lib/plugin/AnalyseAccessLogSql.php:226
 msgid "users"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:198
+#: ../lib/plugin/AnalyseAccessLogSql.php:227
 msgid "host_users"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:199
+#: ../lib/plugin/AnalyseAccessLogSql.php:228
 msgid "search_bots"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:200
+#: ../lib/plugin/AnalyseAccessLogSql.php:229
 msgid "search_bots_hits"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:202
+#: ../lib/plugin/AnalyseAccessLogSql.php:231
 msgid "minutes"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:203
+#: ../lib/plugin/AnalyseAccessLogSql.php:232
 msgid "hours"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:204 ../lib/plugin/VisualWiki.php:499
+#: ../lib/plugin/AnalyseAccessLogSql.php:233 ../lib/plugin/VisualWiki.php:503
 msgid "days"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:205
+#: ../lib/plugin/AnalyseAccessLogSql.php:234
 msgid "weeks"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:223
+#: ../lib/plugin/AnalyseAccessLogSql.php:252
 msgid "AnalyseAccessLogSql"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:227
+#: ../lib/plugin/AnalyseAccessLogSql.php:256
 msgid "Show summary information from the access log table."
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:240
+#: ../lib/plugin/AnalyseAccessLogSql.php:269
 msgid "The requested information is available only to Administrators."
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:243
+#: ../lib/plugin/AnalyseAccessLogSql.php:272
 msgid "The SQL_ACCESS_LOG is not enabled."
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:254
+#: ../lib/plugin/AnalyseAccessLogSql.php:283
 #, php-format
 msgid "Unrecognised parameter 'mode=%s'"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:273 ../lib/plugin/_BackendInfo.php:97
+#: ../lib/plugin/AnalyseAccessLogSql.php:302
+#: ../lib/plugin/SemanticSearch.php:382 ../lib/plugin/_BackendInfo.php:124
 msgid "<empty>"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:342
+#: ../lib/plugin/AnalyseAccessLogSql.php:382
 msgid "mode"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:344
+#: ../lib/plugin/AnalyseAccessLogSql.php:384
 msgid "period"
 msgstr ""
 
@@ -2197,10 +2449,18 @@
 msgid "Render ASCII Math as MathML"
 msgstr ""
 
+#: ../lib/plugin/AsciiSVG.php:32
+msgid "AsciiSVG"
+msgstr ""
+
+#: ../lib/plugin/AsciiSVG.php:36
+msgid "Render inline ASCII SVG"
+msgstr ""
+
 #: ../lib/plugin/AuthorHistory.php:70
+#: ../themes/MonoBook/templates/actionbar.tmpl:67
 #: ../themes/MonoBook/templates/info.tmpl:168
 #: ../themes/blog/templates/info.tmpl:3
-#: ../themes/shamino_com/templates/info.tmpl:167
 #: ../themes/smaller/templates/info.tmpl:7
 msgid "AuthorHistory"
 msgstr ""
@@ -2218,9 +2478,8 @@
 
 #: ../lib/plugin/AuthorHistory.php:125
 #: ../themes/MonoBook/templates/info.tmpl:77
-#: ../themes/default/templates/info.tmpl:70
+#: ../themes/default/templates/info.tmpl:69
 #: ../themes/default/templates/wikiforum.tmpl:22
-#: ../themes/shamino_com/templates/info.tmpl:76
 msgid "Author"
 msgstr ""
 
@@ -2229,12 +2488,9 @@
 #: ../themes/Crao/templates/editpage.tmpl:48
 #: ../themes/MonoBook/templates/info.tmpl:78
 #: ../themes/Portland/templates/editpage.tmpl:39
-#: ../themes/Wordpress/templates/editpage.tmpl:48
-#: ../themes/blog/templates/blogform.tmpl:15
-#: ../themes/default/templates/blogform.tmpl:15
+#: ../themes/Wordpress/templates/editpage.tmpl:46
 #: ../themes/default/templates/editpage.tmpl:47
-#: ../themes/default/templates/info.tmpl:71
-#: ../themes/shamino_com/templates/info.tmpl:77
+#: ../themes/default/templates/info.tmpl:70
 msgid "Summary"
 msgstr ""
 
@@ -2247,63 +2503,66 @@
 msgid "History of all major and minor edits by %s to page %s."
 msgstr ""
 
-#: ../lib/plugin/AuthorHistory.php:156
-#, php-format
-msgid "History of all major edits by %s to page %s."
-msgstr ""
-
 #: ../lib/plugin/AuthorHistory.php:218
 #, php-format
 msgid "History of all major and minor modifications for any page edited by %s."
 msgstr ""
 
-#: ../lib/plugin/AuthorHistory.php:218
-#, php-format
-msgid "History of major modifications for any page edited by %s."
-msgstr ""
-
 #: ../lib/plugin/BackLinks.php:35
 #, php-format
 msgid "List all pages which link to %s."
 msgstr ""
 
-#: ../lib/plugin/BackLinks.php:70 ../lib/plugin/ListPages.php:122
+#: ../lib/plugin/BackLinks.php:73 ../lib/plugin/ListPages.php:122
 #: ../lib/plugin/ListPages.php:125 ../lib/plugin/ListSubpages.php:89
 msgid "#"
 msgstr ""
 
-#: ../lib/plugin/BackLinks.php:96
+#: ../lib/plugin/BackLinks.php:126
 #, php-format
 msgid "No other page links to %s yet."
 msgstr ""
 
-#: ../lib/plugin/BackLinks.php:99
+#: ../lib/plugin/BackLinks.php:129
 #, php-format
 msgid "One page would link to %s:"
 msgstr ""
 
-#: ../lib/plugin/BackLinks.php:108
+#: ../lib/plugin/BackLinks.php:138
 #, php-format
 msgid "%s pages would link to %s:"
 msgstr ""
 
-#: ../lib/plugin/BackLinks.php:116
+#: ../lib/plugin/BackLinks.php:147 ../lib/plugin/SemanticSearch.php:129
+#: ../lib/plugin/SemanticSearch.php:205
+msgid "AND"
+msgstr ""
+
+#: ../lib/plugin/BackLinks.php:153
 #, php-format
 msgid "No page links to %s."
 msgstr ""
 
-#: ../lib/plugin/BackLinks.php:121
+#: ../lib/plugin/BackLinks.php:158
 #, php-format
 msgid "One page links to %s:"
 msgstr ""
 
-#: ../lib/plugin/BackLinks.php:130
+#: ../lib/plugin/BackLinks.php:168
+msgid "Those"
+msgstr ""
+
+#: ../lib/plugin/BackLinks.php:167
 #, php-format
 msgid "%s pages link to %s:"
 msgstr ""
 
+#: ../lib/plugin/BackLinks.php:176
+msgid "More..."
+msgstr ""
+
 #: ../lib/plugin/BlogArchives.php:24 ../lib/plugin/BlogArchives.php:134
-#: ../themes/blog/templates/actionbar.tmpl:17
+#: ../themes/blog/templates/actionbar.tmpl:11
 msgid "Archives"
 msgstr ""
 
@@ -2311,13 +2570,13 @@
 msgid "List blog months links for the current or ADMIN user"
 msgstr ""
 
-#: ../lib/plugin/BlogArchives.php:88 ../lib/plugin/BlogJournal.php:85
+#: ../lib/plugin/BlogArchives.php:88 ../lib/plugin/BlogJournal.php:88
 #, php-format
 msgid "Blog Entries for %s:"
 msgstr ""
 
 #: ../lib/plugin/BlogArchives.php:96
-#: ../themes/blog/templates/actionbar.tmpl:17
+#: ../themes/blog/templates/actionbar.tmpl:11
 msgid "BlogArchives"
 msgstr ""
 
@@ -2333,38 +2592,32 @@
 msgid "Include latest blog entries for the current or ADMIN user"
 msgstr ""
 
-#: ../lib/plugin/BlogJournal.php:81 ../lib/plugin/WikiBlog.php:75
-msgid "WikiBlog"
+#: ../lib/plugin/BlogJournal.php:84
+msgid "New entry"
 msgstr ""
 
-#: ../lib/plugin/BlogJournal.php:83
+#: ../lib/plugin/BlogJournal.php:86
 msgid "No Blog Entries"
 msgstr ""
 
-#: ../lib/plugin/Calendar.php:41 ../lib/plugin/Calendar.php:45
-#: ../themes/Crao/templates/head.tmpl:89
-#: ../themes/Crao/templates/navbar.tmpl:28
-#: ../themes/Sidebar/templates/body.tmpl:21
-#: ../themes/Sidebar/templates/body.tmpl:26 ../themes/Sidebar/themeinfo.php:44
-#: ../themes/Wordpress/templates/actionbar.tmpl:31
-#: ../themes/blog/templates/sidebar.tmpl:18
-#: ../themes/default/templates/head.tmpl:96
-#: ../themes/default/templates/homepage.tmpl:15
-#: ../themes/default/templates/navbar.tmpl:45
-#: ../themes/wikilens/templates/head.tmpl:89
-#: ../themes/wikilens/templates/navbar.tmpl:35
-msgid "Calendar"
-msgstr "Kalender"
+#: ../lib/plugin/BoxRight.php:34
+msgid "A simple plugin for <div class=boxright> with wikimarkup"
+msgstr ""
 
-#: ../lib/plugin/Calendar.php:95
+#: ../lib/plugin/Calendar.php:96
 msgid "Previous Month"
 msgstr "Fregende Mnad"
 
-#: ../lib/plugin/Calendar.php:99
+#: ../lib/plugin/Calendar.php:100
 msgid "Next Month"
 msgstr "Fljande Mnad"
 
-#: ../lib/plugin/Calendar.php:169 ../lib/plugin/CalendarList.php:135
+#: ../lib/plugin/Calendar.php:133
+#, fuzzy
+msgid "Wk"
+msgstr "B"
+
+#: ../lib/plugin/Calendar.php:174 ../lib/plugin/CalendarList.php:135
 #, php-format
 msgid "Edit %s"
 msgstr "Redigera %s"
@@ -2382,8 +2635,6 @@
 msgstr ""
 
 #: ../lib/plugin/Comment.php:22 ../themes/Crao/templates/blogform.tmpl:15
-#: ../themes/blog/templates/blogform.tmpl:21
-#: ../themes/default/templates/blogform.tmpl:21
 msgid "Comment"
 msgstr ""
 
@@ -2399,26 +2650,26 @@
 msgid "Automatically create a Bibtex file from linked pages"
 msgstr ""
 
-#: ../lib/plugin/CreateBib.php:121 ../lib/plugin/CreateToc.php:302
-#: ../lib/plugin/IncludePage.php:77 ../lib/plugin/RateIt.php:208
-#: ../lib/plugin/Template.php:102
+#: ../lib/plugin/CreateBib.php:121 ../lib/plugin/CreateToc.php:306
+#: ../lib/plugin/IncludePage.php:77 ../lib/plugin/RateIt.php:207
+#: ../lib/plugin/Template.php:110
 msgid "no page specified"
 msgstr ""
 
-#: ../lib/plugin/CreatePage.php:39
+#: ../lib/plugin/CreatePage.php:42
 msgid "CreatePage"
 msgstr ""
 
-#: ../lib/plugin/CreatePage.php:43
+#: ../lib/plugin/CreatePage.php:46
 msgid "Create a Wiki page by the provided name."
 msgstr ""
 
-#: ../lib/plugin/CreatePage.php:92
+#: ../lib/plugin/CreatePage.php:96
 #, php-format
 msgid "%s already exists"
 msgstr ""
 
-#: ../lib/plugin/CreatePage.php:103
+#: ../lib/plugin/CreatePage.php:112
 msgid "Created by CreatePage"
 msgstr ""
 
@@ -2430,42 +2681,46 @@
 msgid "Automatically link headers at the top"
 msgstr ""
 
-#: ../lib/plugin/CreateToc.php:313
+#: ../lib/plugin/CreateToc.php:317
 msgid "CreateToc disabled for old markup"
 msgstr ""
 
-#: ../lib/plugin/CreateToc.php:369
+#: ../lib/plugin/CreateToc.php:377
 msgid "Click to hide the TOC"
 msgstr ""
 
-#: ../lib/plugin/CreateToc.php:379 ../lib/plugin/CreateToc.php:382
+#: ../lib/plugin/CreateToc.php:386 ../lib/plugin/CreateToc.php:403
 msgid "Table Of Contents"
 msgstr ""
 
+#: ../lib/plugin/CreateToc.php:392
+msgid "Click to display to TOC"
+msgstr ""
+
 #: ../lib/plugin/DeadEndPages.php:24
 msgid "DeadEndPages"
 msgstr ""
 
-#: ../lib/plugin/Diff.php:40
+#: ../lib/plugin/Diff.php:41
 msgid "Display differences between revisions"
 msgstr ""
 
-#: ../lib/plugin/Diff.php:52
+#: ../lib/plugin/Diff.php:53
 msgid "World"
 msgstr ""
 
-#: ../lib/plugin/EditMetaData.php:45 ../lib/plugin/_WikiTranslation.php:61
+#: ../lib/plugin/EditMetaData.php:48 ../lib/plugin/_WikiTranslation.php:61
 msgid "EditMetaData"
 msgstr ""
 
-#: ../lib/plugin/EditMetaData.php:49
+#: ../lib/plugin/EditMetaData.php:52
 #, php-format
 msgid "Edit metadata for %s"
 msgstr ""
 
-#: ../lib/plugin/EditMetaData.php:109
+#: ../lib/plugin/EditMetaData.php:132
 #, php-format
-msgid "Existing page-level metadata for %s:"
+msgid "No metadata for %s"
 msgstr ""
 
 #: ../lib/plugin/EditMetaData.php:146
@@ -2474,22 +2729,27 @@
 "remove a key by leaving the value-box empty."
 msgstr ""
 
-#: ../lib/plugin/EditMetaData.php:149 ../lib/upgrade.php:680
+#: ../lib/plugin/EditMetaData.php:149 ../lib/upgrade.php:806
 msgid "Submit"
 msgstr ""
 
-#: ../lib/plugin/EditMetaData.php:161
+#: ../lib/plugin/EditMetaData.php:164
 msgid "Requires WikiAdmin privileges to edit."
 msgstr ""
 
-#: ../lib/plugin/ExternalSearch.php:38
+#: ../lib/plugin/ExternalSearch.php:40
 msgid "ExternalSearch"
 msgstr ""
 
-#: ../lib/plugin/ExternalSearch.php:42
+#: ../lib/plugin/ExternalSearch.php:44
 msgid "Redirects to an external web site based on form input"
 msgstr ""
 
+#: ../lib/plugin/ExternalSearch.php:140 ../lib/plugin/PhotoAlbum.php:479
+#, php-format
+msgid "Invalid argument: %s=%s"
+msgstr ""
+
 #: ../lib/plugin/FileInfo.php:39
 msgid "FileInfo"
 msgstr ""
@@ -2498,13 +2758,23 @@
 msgid "Display file information like version,size,date,... of uploaded files."
 msgstr ""
 
-#: ../lib/plugin/FileInfo.php:63 ../lib/plugin/FileInfo.php:65
-#: ../lib/plugin/PageGroup.php:104 ../lib/plugin/WikiFormRich.php:163
-#: ../lib/plugin/WikiFormRich.php:179
+#: ../lib/plugin/FileInfo.php:64 ../lib/plugin/FileInfo.php:66
+#: ../lib/plugin/PageGroup.php:104 ../lib/plugin/SyncWiki.php:75
+#: ../lib/plugin/WikiFormRich.php:177 ../lib/plugin/WikiFormRich.php:193
 #, php-format
 msgid "A required argument '%s' is missing."
 msgstr ""
 
+#: ../lib/plugin/FileInfo.php:85
+msgid ""
+"Output suppressed. FileInfoPlugin with local files require a locked page."
+msgstr ""
+
+#: ../lib/plugin/FileInfo.php:86
+#, fuzzy
+msgid "page not locked"
+msgstr "Sidan r Lst"
+
 #: ../lib/plugin/FoafViewer.php:52
 msgid "FoafViewer"
 msgstr ""
@@ -2551,7 +2821,7 @@
 msgstr ""
 
 #: ../lib/plugin/FrameInclude.php:93 ../lib/plugin/IncludePage.php:84
-#: ../lib/plugin/Template.php:108
+#: ../lib/plugin/Template.php:116
 #, php-format
 msgid "recursive inclusion of page %s"
 msgstr ""
@@ -2561,32 +2831,33 @@
 msgid "%s or %s parameter missing"
 msgstr ""
 
-#: ../lib/plugin/FrameInclude.php:105 ../lib/plugin/Transclude.php:81
+#: ../lib/plugin/FrameInclude.php:105 ../lib/plugin/Transclude.php:91
 #, php-format
 msgid "recursive inclusion of url %s"
 msgstr ""
 
-#: ../lib/plugin/FrameInclude.php:112 ../lib/plugin/TeX2png.php:216
-#: ../lib/plugin/text2png.php:69 ../lib/plugin/text2png.php:122
+#: ../lib/plugin/FrameInclude.php:112 ../lib/plugin/SemanticSearch.php:263
+#: ../lib/plugin/TeX2png.php:216 ../lib/plugin/text2png.php:87
+#: ../lib/plugin/text2png.php:173
 #, php-format
 msgid "See %s"
 msgstr ""
 
-#: ../lib/plugin/FullTextSearch.php:43
+#: ../lib/plugin/FullTextSearch.php:49
 msgid "Search the content of all pages in this wiki."
 msgstr ""
 
-#: ../lib/plugin/FullTextSearch.php:105
+#: ../lib/plugin/FullTextSearch.php:110
 #, php-format
 msgid "only %d pages displayed"
 msgstr ""
 
-#: ../lib/plugin/FullTextSearch.php:110
+#: ../lib/plugin/FullTextSearch.php:115
 #, php-format
 msgid "Ignored stoplist words '%s'"
 msgstr ""
 
-#: ../lib/plugin/FullTextSearch.php:115
+#: ../lib/plugin/FullTextSearch.php:120
 #, php-format
 msgid "Full text search results for '%s'"
 msgstr "Skresultat fr fulltextskning fr '%s'"
@@ -2632,6 +2903,7 @@
 
 #: ../lib/plugin/GoTo.php:59 ../lib/plugin/WikiAdminSelect.php:135
 #: ../lib/plugin/WikiAdminSelect.php:146
+#: ../themes/MonoBook/templates/navbar.tmpl:32
 msgid "Go"
 msgstr "\"G till sidan\""
 
@@ -2679,16 +2951,22 @@
 msgid "GraphViz image or imagemap creation of directed graphs"
 msgstr ""
 
-#: ../lib/plugin/GraphViz.php:265 ../lib/plugin/GraphViz.php:335
+#: ../lib/plugin/GraphViz.php:210 ../lib/plugin/_WikiTranslation.php:319
+#, php-format
+msgid "%s is empty"
+msgstr ""
+
+#: ../lib/plugin/GraphViz.php:274
 msgid "No dot graph given"
 msgstr ""
 
-#: ../lib/plugin/GraphViz.php:276 ../lib/plugin/SyntaxHighlighter.php:173
+#: ../lib/plugin/GraphViz.php:282 ../lib/plugin/GraphViz.php:290
+#: ../lib/plugin/SpellCheck.php:143 ../lib/plugin/SyntaxHighlighter.php:173
 #, php-format
 msgid "Couldn't start commandline '%s'"
 msgstr ""
 
-#: ../lib/plugin/GraphViz.php:279 ../lib/plugin/Ploticus.php:239
+#: ../lib/plugin/GraphViz.php:294 ../lib/plugin/Ploticus.php:248
 #, php-format
 msgid "%s error: outputfile '%s' not created"
 msgstr ""
@@ -2705,11 +2983,6 @@
 msgid "Convert HTML markup into wiki markup. (Version 0.5)"
 msgstr ""
 
-#: ../lib/plugin/HtmlConverter.php:66 ../lib/plugin/UpLoad.php:115
-#: ../lib/plugin/WikiForm.php:103
-msgid "Upload"
-msgstr ""
-
 #: ../lib/plugin/HtmlConverter.php:78
 msgid "Only files with extension HTML are allowed"
 msgstr ""
@@ -2718,6 +2991,10 @@
 msgid "Copy the output below and paste it into your Wiki page."
 msgstr ""
 
+#: ../lib/plugin/Imdb.php:55
+msgid "Query a local imdb database"
+msgstr ""
+
 #: ../lib/plugin/IncludePage.php:34
 msgid "IncludePage"
 msgstr ""
@@ -2727,7 +3004,7 @@
 msgstr ""
 
 #: ../lib/plugin/IncludePage.php:92 ../lib/plugin/PageGroup.php:131
-#: ../lib/plugin/Template.php:116
+#: ../lib/plugin/Template.php:124
 #, php-format
 msgid "%s(%d): no such revision"
 msgstr ""
@@ -2763,10 +3040,24 @@
 msgid "Perform searches on InterWiki sites listed in InterWikiMap."
 msgstr ""
 
-#: ../lib/plugin/InterWikiSearch.php:90
+#: ../lib/plugin/InterWikiSearch.php:92
 msgid "Wiki Name"
 msgstr ""
 
+#: ../lib/plugin/InterWikiSearch.php:93 ../lib/plugin/RecentChanges.php:724
+#: ../themes/Crao/templates/navbar.tmpl:42
+#: ../themes/Crao/templates/navbar.tmpl:44
+#: ../themes/Crao/templates/navbar.tmpl:48
+#: ../themes/blog/templates/search.tmpl:6
+#: ../themes/blog/templates/search.tmpl:7
+#: ../themes/blog/templates/search.tmpl:9
+#: ../themes/blog/templates/search.tmpl:13
+#: ../themes/default/templates/search.tmpl:6
+#: ../themes/default/templates/search.tmpl:15
+#: ../themes/default/templates/search.tmpl:27
+msgid "Search"
+msgstr "Sk"
+
 #: ../lib/plugin/JabberPresence.php:23
 #, fuzzy
 msgid "JabberPresence"
@@ -2776,25 +3067,33 @@
 msgid "Simple jabber presence plugin"
 msgstr ""
 
-#: ../lib/plugin/LdapSearch.php:57
+#: ../lib/plugin/LdapSearch.php:54
 #, fuzzy
 msgid "LdapSearch"
 msgstr "Sk"
 
-#: ../lib/plugin/LdapSearch.php:60
+#: ../lib/plugin/LdapSearch.php:57
 msgid "Search an LDAP directory"
 msgstr ""
 
-#: ../lib/plugin/LdapSearch.php:83
-msgid "Failed to set LDAP protocol version to 3"
+#: ../lib/plugin/LdapSearch.php:81
+msgid "Missing ldap extension"
+msgstr ""
+
+#: ../lib/plugin/LdapSearch.php:103
+msgid "Failed to connect to LDAP host"
+msgstr ""
+
+#: ../lib/plugin/LdapSearch.php:136
+msgid "Failed to bind LDAP host"
 msgstr ""
 
 #: ../lib/plugin/LikePages.php:32 ../themes/Crao/templates/navbar.tmpl:16
-#: ../themes/Portland/templates/navbar.tmpl:10
-#: ../themes/Wordpress/templates/actionbar.tmpl:90
+#: ../themes/Portland/templates/navbar.tmpl:7
+#: ../themes/Wordpress/templates/actionbar.tmpl:91
 #: ../themes/default/templates/navbar.tmpl:33
 #: ../themes/smaller/templates/navbar.tmpl:15
-#: ../themes/wikilens/templates/navbar.tmpl:24
+#: ../themes/wikilens/templates/navbar.tmpl:21
 msgid "LikePages"
 msgstr ""
 
@@ -2818,30 +3117,64 @@
 msgid "These pages share an initial or final title word with '%s'"
 msgstr ""
 
-#: ../lib/plugin/LinkDatabase.php:41
-msgid "LinkDatabase"
-msgstr ""
-
-#: ../lib/plugin/LinkDatabase.php:47
+#: ../lib/plugin/LinkDatabase.php:48
 msgid ""
 "List all pages with all links in various formats for some Java Visualization "
 "tools"
 msgstr ""
 
-#: ../lib/plugin/LinkDatabase.php:77
+#: ../lib/plugin/LinkDatabase.php:78
 #, php-format
 msgid "All pages with all links in this wiki (%d total):"
 msgstr ""
 
-#: ../lib/plugin/LinkDatabase.php:109
+#: ../lib/plugin/LinkDatabase.php:111 ../lib/plugin/WantedPages.php:87
 msgid "Links"
 msgstr ""
 
-#: ../lib/plugin/LinkDatabase.php:169
+#: ../lib/plugin/LinkDatabase.php:173
 #, php-format
 msgid "Unsupported format argument %s"
 msgstr ""
 
+#: ../lib/plugin/LinkSearch.php:35 ../lib/plugin/LinkSearch.php:113
+#, fuzzy
+msgid "LinkSearch"
+msgstr "Titelskningen"
+
+#: ../lib/plugin/LinkSearch.php:38
+msgid "Search page and link names"
+msgstr ""
+
+#: ../lib/plugin/LinkSearch.php:65 ../lib/plugin/SemanticSearch.php:94
+msgid "Search only in these pages. With autocompletion."
+msgstr ""
+
+#: ../lib/plugin/LinkSearch.php:74 ../lib/plugin/SemanticSearch.php:117
+msgid "Filter by this link. These are pagenames. With autocompletion."
+msgstr ""
+
+#: ../lib/plugin/LinkSearch.php:98
+msgid "outgoing"
+msgstr ""
+
+#: ../lib/plugin/LinkSearch.php:99
+msgid "incoming"
+msgstr ""
+
+#: ../lib/plugin/LinkSearch.php:114
+msgid "Search in pages for links with the matching name."
+msgstr ""
+
+#: ../lib/plugin/LinkSearch.php:148 ../lib/plugin/SemanticSearch.php:305
+msgid "Link"
+msgstr ""
+
+#: ../lib/plugin/LinkSearch.php:158
+#, php-format
+msgid "LinkSearch result for \"%s\" in pages \"%s\", direction %s"
+msgstr ""
+
 #: ../lib/plugin/ListPages.php:38
 msgid "ListPages"
 msgstr ""
@@ -2854,6 +3187,16 @@
 msgid "You must be logged in to view ratings."
 msgstr ""
 
+#: ../lib/plugin/ListRelations.php:34
+msgid "ListRelations"
+msgstr ""
+
+#: ../lib/plugin/ListRelations.php:37
+msgid ""
+"Display the list of all defined relations and optionnally attributes in this "
+"entrire wiki"
+msgstr ""
+
 #: ../lib/plugin/ListSubpages.php:34
 msgid "ListSubpages"
 msgstr ""
@@ -2881,12 +3224,12 @@
 msgid "Support moderated pages"
 msgstr ""
 
-#: ../lib/plugin/ModeratedPage.php:141 ../lib/plugin/ModeratedPage.php:165
-#: ../lib/plugin/ModeratedPage.php:210
+#: ../lib/plugin/ModeratedPage.php:153 ../lib/plugin/ModeratedPage.php:178
+#: ../lib/plugin/ModeratedPage.php:224
 msgid "ModeratedPage: No emails for the moderators defined"
 msgstr ""
 
-#: ../lib/plugin/ModeratedPage.php:147
+#: ../lib/plugin/ModeratedPage.php:159
 #, php-format
 msgid ""
 "ModeratedPage status update:\n"
@@ -2894,12 +3237,12 @@
 "  require_access: '%s'"
 msgstr ""
 
-#: ../lib/plugin/ModeratedPage.php:152
+#: ../lib/plugin/ModeratedPage.php:164
 #, php-format
 msgid "'%s' is no ModeratedPage anymore."
 msgstr ""
 
-#: ../lib/plugin/ModeratedPage.php:171
+#: ../lib/plugin/ModeratedPage.php:184
 #, php-format
 msgid ""
 "ModeratedPage status update: '%s' is now a ModeratedPage.\n"
@@ -2907,33 +3250,42 @@
 "  require_access: '%s'"
 msgstr ""
 
-#: ../lib/plugin/ModeratedPage.php:232
+#: ../lib/plugin/ModeratedPage.php:250
 #, php-format
 msgid "%s: action forwarded to moderator %s"
 msgstr ""
 
-#: ../lib/plugin/ModeratedPage.php:252
+#: ../lib/plugin/ModeratedPage.php:276
 msgid "ModeratedPage Notification Error: Couldn't send email"
 msgstr ""
 
-#: ../lib/plugin/ModeratedPage.php:287
+#: ../lib/plugin/ModeratedPage.php:355
+#, php-format
+msgid "%s approved your wiki action from %s"
+msgstr ""
+
+#: ../lib/plugin/ModeratedPage.php:367
 msgid "Please approve or reject this request:"
 msgstr ""
 
-#: ../lib/plugin/ModeratedPage.php:298
+#: ../lib/plugin/ModeratedPage.php:403
+msgid "Reason: "
+msgstr ""
+
+#: ../lib/plugin/ModeratedPage.php:404
 msgid "Approve"
 msgstr ""
 
-#: ../lib/plugin/ModeratedPage.php:300
+#: ../lib/plugin/ModeratedPage.php:406
 msgid "Reject"
 msgstr ""
 
-#: ../lib/plugin/ModeratedPage.php:325 ../lib/plugin/ModeratedPage.php:332
+#: ../lib/plugin/ModeratedPage.php:434 ../lib/plugin/ModeratedPage.php:441
 #, php-format
 msgid "<?plugin ModeratedPage ... ?> not found in first line of %s"
 msgstr ""
 
-#: ../lib/plugin/ModeratedPage.php:328
+#: ../lib/plugin/ModeratedPage.php:437
 #, fuzzy, php-format
 msgid "%s is not locked!"
 msgstr "%s: fila ingen funna"
@@ -2964,6 +3316,14 @@
 msgid "Visited pages on this wiki, ordered by popularity:"
 msgstr ""
 
+#: ../lib/plugin/NewPagesPerUser.php:19
+msgid "NewPagesPerUser"
+msgstr ""
+
+#: ../lib/plugin/NewPagesPerUser.php:23
+msgid "List all new pages per month per user"
+msgstr ""
+
 #: ../lib/plugin/NoCache.php:39
 msgid "NoCache"
 msgstr ""
@@ -3007,67 +3367,68 @@
 msgid "Page %s not found."
 msgstr ""
 
-#: ../lib/plugin/PageDump.php:127
+#: ../lib/plugin/PageDump.php:128
 msgid "Download for CVS"
 msgstr ""
 
-#: ../lib/plugin/PageDump.php:132
+#: ../lib/plugin/PageDump.php:133
 msgid "Download for backup"
 msgstr ""
 
-#: ../lib/plugin/PageDump.php:138
+#: ../lib/plugin/PageDump.php:139
 msgid "Download all revisions for backup"
 msgstr ""
 
-#: ../lib/plugin/PageDump.php:141
+#: ../lib/plugin/PageDump.php:142
 #, php-format
 msgid "Preview: Page dump of %s"
 msgstr ""
 
-#: ../lib/plugin/PageDump.php:148
+#: ../lib/plugin/PageDump.php:149
 msgid ""
 "(formatted for PhpWiki developers as pgsrc template, not for backing up)"
 msgstr ""
 
-#: ../lib/plugin/PageDump.php:151 ../lib/plugin/PageDump.php:171
+#: ../lib/plugin/PageDump.php:152 ../lib/plugin/PageDump.php:172
 msgid "Preview as normal format"
 msgstr ""
 
-#: ../lib/plugin/PageDump.php:157 ../lib/plugin/PageDump.php:184
+#: ../lib/plugin/PageDump.php:158 ../lib/plugin/PageDump.php:185
 msgid "Preview as backup format"
 msgstr ""
 
-#: ../lib/plugin/PageDump.php:161
+#: ../lib/plugin/PageDump.php:162
 msgid "(formatted for backing up: all revisions)"
 msgstr ""
 
-#: ../lib/plugin/PageDump.php:165 ../lib/plugin/PageDump.php:178
+#: ../lib/plugin/PageDump.php:166 ../lib/plugin/PageDump.php:179
 msgid "Preview as developer format"
 msgstr ""
 
-#: ../lib/plugin/PageDump.php:174
+#: ../lib/plugin/PageDump.php:175
 msgid "(normal formatting: latest revision only)"
 msgstr ""
 
-#: ../lib/plugin/PageDump.php:188
+#: ../lib/plugin/PageDump.php:189
 msgid ""
 "Please use one of the downloadable versions rather than copying and pasting "
 "from the above preview."
 msgstr ""
 
-#: ../lib/plugin/PageDump.php:190
+#: ../lib/plugin/PageDump.php:191
 msgid ""
 "The wordwrap of the preview doesn't take nested markup or list indentation "
 "into consideration!"
 msgstr ""
 
-#: ../lib/plugin/PageDump.php:193
+#: ../lib/plugin/PageDump.php:194
 msgid ""
 "PhpWiki developers should manually inspect the downloaded file for nested "
 "markup before rewrapping with emacs and checking into CVS."
 msgstr ""
 
-#: ../lib/plugin/PageDump.php:201 ../lib/plugin/PasswordReset.php:128
+#: ../lib/plugin/PageDump.php:202 ../lib/plugin/PasswordReset.php:131
+#: ../lib/plugin/SemanticSearch.php:260
 msgid "Warning:"
 msgstr ""
 
@@ -3085,7 +3446,7 @@
 msgid "Contents"
 msgstr "Innehll"
 
-#: ../lib/plugin/PageGroup.php:91 ../lib/stdlib.php:1985
+#: ../lib/plugin/PageGroup.php:91 ../lib/stdlib.php:1992
 #, php-format
 msgid "<%s: no such section>"
 msgstr ""
@@ -3128,12 +3489,12 @@
 msgid "Check any two boxes then %s."
 msgstr ""
 
-#: ../lib/plugin/PageHistory.php:166 ../lib/plugin/PageHistory.php:229
+#: ../lib/plugin/PageHistory.php:166 ../lib/plugin/PageHistory.php:242
 #, php-format
 msgid "Version %d"
 msgstr "Version %d"
 
-#: ../lib/plugin/PageHistory.php:177 ../themes/MacOSX/lib/RecentChanges.php:34
+#: ../lib/plugin/PageHistory.php:178 ../themes/MacOSX/lib/RecentChanges.php:34
 #: ../themes/MonoBook/templates/info.tmpl:19
 #: ../themes/MonoBook/templates/info.tmpl:23
 #: ../themes/Portland/lib/RecentChanges.php:14
@@ -3141,40 +3502,39 @@
 #: ../themes/Wordpress/lib/RecentChanges.php:14
 #: ../themes/default/templates/info.tmpl:17
 #: ../themes/default/templates/info.tmpl:21
-#: ../themes/shamino_com/templates/info.tmpl:19
-#: ../themes/shamino_com/templates/info.tmpl:23
 msgid "minor edit"
 msgstr ""
 
-#: ../lib/plugin/PageHistory.php:221
+#: ../lib/plugin/PageHistory.php:234
 msgid "History of changes."
 msgstr ""
 
-#: ../lib/plugin/PageHistory.php:247 ../lib/plugin/RecentChanges.php:65
+#: ../lib/plugin/PageHistory.php:260 ../lib/plugin/RecentChanges.php:67
 #: ../themes/Crao/templates/actionbar.tmpl:22
-#: ../themes/MonoBook/templates/actionbar.tmpl:46
+#: ../themes/MonoBook/templates/actionbar.tmpl:39
+#: ../themes/MonoBook/templates/actionbar.tmpl:66
 #: ../themes/MonoBook/templates/info.tmpl:167
-#: ../themes/Portland/templates/actionbar.tmpl:18
+#: ../themes/Portland/templates/actionbar.tmpl:14
 #: ../themes/Portland/templates/viewsource.tmpl:26
-#: ../themes/Wordpress/templates/actionbar.tmpl:69
-#: ../themes/Wordpress/templates/viewsource.tmpl:28
-#: ../themes/default/templates/actionbar.tmpl:29
+#: ../themes/Wordpress/templates/actionbar.tmpl:70
+#: ../themes/Wordpress/templates/viewsource.tmpl:30
+#: ../themes/default/templates/actionbar.tmpl:31
 #: ../themes/shamino_com/templates/actionbar.tmpl:20
-#: ../themes/shamino_com/templates/info.tmpl:166
-#: ../themes/smaller/templates/actionbar.tmpl:37
+#: ../themes/smaller/templates/actionbar.tmpl:39
 #: ../themes/smaller/templates/info.tmpl:6
 msgid "PageHistory"
 msgstr ""
 
-#: ../lib/plugin/PageHistory.php:251
+#: ../lib/plugin/PageHistory.php:264
 #, php-format
 msgid "List PageHistory for %s"
 msgstr ""
 
 #: ../lib/plugin/PageInfo.php:32 ../themes/Crao/templates/actionbar.tmpl:24
-#: ../themes/Portland/templates/actionbar.tmpl:19
-#: ../themes/Wordpress/templates/actionbar.tmpl:71
-#: ../themes/default/templates/actionbar.tmpl:31
+#: ../themes/MonoBook/templates/actionbar.tmpl:64
+#: ../themes/Portland/templates/actionbar.tmpl:15
+#: ../themes/Wordpress/templates/actionbar.tmpl:72
+#: ../themes/default/templates/actionbar.tmpl:33
 #: ../themes/shamino_com/templates/actionbar.tmpl:5
 msgid "PageInfo"
 msgstr ""
@@ -3197,7 +3557,7 @@
 msgstr ""
 
 #: ../lib/plugin/PasswordReset.php:61 ../lib/plugin/PasswordReset.php:82
-#: ../lib/plugin/UserPreferences.php:104
+#: ../lib/plugin/UserPreferences.php:104 ../lib/plugin/WatchPage.php:150
 #: ../themes/default/templates/wikiforum.tmpl:22
 msgid "Message"
 msgstr ""
@@ -3208,7 +3568,7 @@
 msgstr ""
 
 #: ../lib/plugin/PasswordReset.php:64 ../lib/plugin/PasswordReset.php:85
-#: ../lib/plugin/PasswordReset.php:159
+#: ../lib/plugin/PasswordReset.php:163
 msgid "Error"
 msgstr ""
 
@@ -3227,89 +3587,68 @@
 msgid "Error sending email with password for user %s."
 msgstr ""
 
-#: ../lib/plugin/PasswordReset.php:94
+#: ../lib/plugin/PasswordReset.php:93
 msgid "Reset password of user: "
 msgstr ""
 
-#: ../lib/plugin/PasswordReset.php:104 ../lib/plugin/PasswordReset.php:142
+#: ../lib/plugin/PasswordReset.php:103 ../lib/plugin/PasswordReset.php:146
 msgid "Send email"
 msgstr ""
 
-#: ../lib/plugin/PasswordReset.php:129
+#: ../lib/plugin/PasswordReset.php:132
 msgid "You need to specify the userid!"
 msgstr ""
 
-#: ../lib/plugin/PasswordReset.php:150
+#: ../lib/plugin/PasswordReset.php:154
 msgid "Already logged in"
 msgstr ""
 
-#: ../lib/plugin/PasswordReset.php:151
+#: ../lib/plugin/PasswordReset.php:155
 msgid "Changing passwords is done at "
 msgstr ""
 
-#: ../lib/plugin/PasswordReset.php:151 ../lib/plugin/UserPreferences.php:38
-#: ../themes/Crao/templates/head.tmpl:85 ../themes/Crao/templates/head.tmpl:86
-#: ../themes/Crao/templates/navbar.tmpl:23
-#: ../themes/MonoBook/templates/navbar.tmpl:49
-#: ../themes/blog/templates/navbar.tmpl:17
-#: ../themes/default/templates/head.tmpl:92
-#: ../themes/default/templates/head.tmpl:93
-#: ../themes/default/templates/homepage.tmpl:11
-#: ../themes/default/templates/navbar.tmpl:40
-#: ../themes/shamino_com/templates/top.tmpl:28
-#: ../themes/smaller/templates/navbar.tmpl:22
-#: ../themes/wikilens/templates/head.tmpl:85
-#: ../themes/wikilens/templates/head.tmpl:86
-msgid "UserPreferences"
-msgstr ""
-
-#: ../lib/plugin/PasswordReset.php:160
+#: ../lib/plugin/PasswordReset.php:164
 #, php-format
 msgid "No email stored for user %s."
 msgstr ""
 
-#: ../lib/plugin/PasswordReset.php:162
+#: ../lib/plugin/PasswordReset.php:166
 msgid "You need to ask an Administrator to reset this password. See below: "
 msgstr ""
 
-#: ../lib/plugin/PasswordReset.php:174
+#: ../lib/plugin/PasswordReset.php:178
 #, php-format
 msgid "Do you really want to reset the password of user %s?"
 msgstr ""
 
-#: ../lib/plugin/PasswordReset.php:175
+#: ../lib/plugin/PasswordReset.php:179
 msgid "An email will be sent."
 msgstr ""
 
-#: ../lib/plugin/PhotoAlbum.php:94
+#: ../lib/plugin/PhotoAlbum.php:97 ../themes/blog/templates/actionbar.tmpl:12
 msgid "PhotoAlbum"
 msgstr ""
 
-#: ../lib/plugin/PhotoAlbum.php:98
+#: ../lib/plugin/PhotoAlbum.php:101
 msgid ""
 "Displays a set of photos listed in a text file with optional descriptions"
 msgstr ""
 
-#: ../lib/plugin/PhotoAlbum.php:476
-#, php-format
-msgid "Invalid argument: %s=%s"
-msgstr ""
-
-#: ../lib/plugin/PhotoAlbum.php:536 ../lib/plugin/PhotoAlbum.php:557
-#: ../lib/plugin/Transclude.php:85
+#: ../lib/plugin/PhotoAlbum.php:540 ../lib/plugin/PhotoAlbum.php:565
+#: ../lib/plugin/Transclude.php:94
 msgid "Bad url in src: remove all of <, >, \""
 msgstr ""
 
-#: ../lib/plugin/PhotoAlbum.php:554
+#: ../lib/plugin/PhotoAlbum.php:562
 msgid "File extension for csv file has to be '.csv'"
 msgstr ""
 
-#: ../lib/plugin/PhotoAlbum.php:605
+#: ../lib/plugin/PhotoAlbum.php:616
 #, php-format
 msgid "Unable to find src='%s'"
 msgstr ""
 
-#: ../lib/plugin/PhotoAlbum.php:617
+#: ../lib/plugin/PhotoAlbum.php:628
 #, php-format
 msgid "Unable to read src='%s'"
 msgstr ""
@@ -3373,7 +3712,8 @@
 msgid "shell commands not allowed in Ploticus"
 msgstr ""
 
-#: ../lib/plugin/Ploticus.php:249 ../lib/plugin/SyntaxHighlighter.php:180
+#: ../lib/plugin/Ploticus.php:270 ../lib/plugin/SpellCheck.php:123
+#: ../lib/plugin/SyntaxHighlighter.php:180
 msgid "empty source"
 msgstr ""
 
@@ -3406,6 +3746,11 @@
 msgid "%s does not appear to be a WikiPlugin."
 msgstr ""
 
+#: ../lib/plugin/PluginManager.php:135 ../lib/upgrade.php:222
+#: ../themes/MonoBook/templates/navbar.tmpl:20
+msgid "Help"
+msgstr ""
+
 #: ../lib/plugin/PopUp.php:49
 msgid "PopUp"
 msgstr ""
@@ -3437,6 +3782,41 @@
 msgid "%d most popular nearby: "
 msgstr "De %d mest populra grannarna: "
 
+#: ../lib/plugin/PopularTags.php:34
+#, fuzzy
+msgid "PopularTags"
+msgstr "MestPopulr"
+
+#: ../lib/plugin/PopularTags.php:38
+msgid "List the most popular tags."
+msgstr ""
+
+#: ../lib/plugin/PopularTags.php:59 ../lib/plugin/_WikiTranslation.php:56
+msgid "CategoryCategory"
+msgstr ""
+
+#: ../lib/plugin/PopularTags.php:64 ../lib/plugin/Template.php:60
+msgid "Template"
+msgstr ""
+
+#: ../lib/plugin/PopularTags.php:78
+#, fuzzy
+msgid "Category"
+msgstr "Nuvarande sida:"
+
+#: ../lib/plugin/PopularTags.php:79
+msgid "Topic"
+msgstr ""
+
+#: ../lib/plugin/PreferenceApp.php:37
+#, fuzzy
+msgid "PreferenceApp"
+msgstr "Instllningar"
+
+#: ../lib/plugin/PreferenceApp.php:41
+msgid "Analyzes preferences based on voting budget and ratings."
+msgstr ""
+
 #: ../lib/plugin/PrevNext.php:32
 msgid "PrevNext"
 msgstr ""
@@ -3455,7 +3835,7 @@
 msgstr ""
 
 #: ../lib/plugin/RandomPage.php:33 ../lib/plugin/RandomPage.php:82
-#: ../themes/MonoBook/templates/navbar.tmpl:15
+#: ../themes/MonoBook/templates/navbar.tmpl:19
 msgid "RandomPage"
 msgstr ""
 
@@ -3463,49 +3843,49 @@
 msgid "Displays a list of randomly chosen pages or redirects to a random page."
 msgstr ""
 
-#: ../lib/plugin/RateIt.php:90 ../lib/plugin/RateIt.php:139
-#: ../lib/plugin/RateIt.php:146 ../lib/plugin/RateIt.php:291
-#: ../lib/upgrade.php:387
+#: ../lib/plugin/RateIt.php:89 ../lib/plugin/RateIt.php:138
+#: ../lib/plugin/RateIt.php:145 ../lib/plugin/RateIt.php:290
+#: ../lib/upgrade.php:452
 msgid "RateIt"
 msgstr ""
 
-#: ../lib/plugin/RateIt.php:93
+#: ../lib/plugin/RateIt.php:92
 msgid "Rating system. Store user ratings per page"
 msgstr ""
 
-#: ../lib/plugin/RateIt.php:117
+#: ../lib/plugin/RateIt.php:116
 msgid "Your rating "
 msgstr ""
 
-#: ../lib/plugin/RateIt.php:258
+#: ../lib/plugin/RateIt.php:257
 #, php-format
 msgid "Rated by %d users | Average rating %.1f stars"
 msgstr ""
 
-#: ../lib/plugin/RateIt.php:263
+#: ../lib/plugin/RateIt.php:262
 #, php-format
 msgid "Your rating was %.1f"
 msgstr ""
 
-#: ../lib/plugin/RateIt.php:268
+#: ../lib/plugin/RateIt.php:267
 #, php-format
 msgid "%s prediction for you is %s stars"
 msgstr ""
 
-#: ../lib/plugin/RateIt.php:271
+#: ../lib/plugin/RateIt.php:270
 #, php-format
 msgid "%s prediction for you is %.1f stars"
 msgstr ""
 
-#: ../lib/plugin/RateIt.php:291
+#: ../lib/plugin/RateIt.php:290
 msgid "Rate It"
 msgstr ""
 
-#: ../lib/plugin/RateIt.php:358
+#: ../lib/plugin/RateIt.php:357
 msgid "Rate the topic of this page"
 msgstr ""
 
-#: ../lib/plugin/RateIt.php:370
+#: ../lib/plugin/RateIt.php:369
 msgid "Cancel rating"
 msgstr ""
 
@@ -3517,146 +3897,171 @@
 msgid "Raw HTML is disabled in this wiki."
 msgstr ""
 
-#: ../lib/plugin/RawHtml.php:83 ../lib/plugin/RedirectTo.php:82
-#, php-format
-msgid "%s is only allowed in locked pages."
-msgstr ""
-
 #: ../lib/plugin/RawHtml.php:84
 msgid "Raw HTML"
 msgstr ""
 
-#: ../lib/plugin/RdfDefinition.php:42
-msgid "RdfDefinition"
-msgstr ""
-
-#: ../lib/plugin/RdfDefinition.php:45
-msgid "Define the RDF vocabulary for a wiki subset."
+#: ../lib/plugin/RawHtml.php:83 ../lib/plugin/RedirectTo.php:82
+#, php-format
+msgid "%s is only allowed in locked pages."
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:105
+#: ../lib/plugin/RecentChanges.php:107
 #, fuzzy
 msgid "Deleted"
 msgstr "Ta bort sida nu"
 
-#: ../lib/plugin/RecentChanges.php:128 ../themes/blog/themeinfo.php:119
-msgid "(diff)"
-msgstr "(diff)"
+#: ../lib/plugin/RecentChanges.php:130
+#: ../themes/SpaceWiki/lib/RecentChanges.php:55
+msgid "diff"
+msgstr "diff"
 
-#: ../lib/plugin/RecentChanges.php:135
-msgid "(hist)"
+#: ../lib/plugin/RecentChanges.php:143
+#, fuzzy
+msgid "hist"
+msgstr "Bredd"
+
+#: ../lib/plugin/RecentChanges.php:185
+msgid "contribs"
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:198
+#: ../lib/plugin/RecentChanges.php:192
+#, fuzzy
+msgid "new pages"
+msgstr "Ta bort sida"
+
+#: ../lib/plugin/RecentChanges.php:240
 msgid "edits"
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:200
+#: ../lib/plugin/RecentChanges.php:242
 msgid "major edits"
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:202
+#: ../lib/plugin/RecentChanges.php:244
 msgid "minor edits"
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:203 ../lib/plugin/RecentChanges.php:279
+#: ../lib/plugin/RecentChanges.php:245 ../lib/plugin/RecentChanges.php:338
 #: ../lib/plugin/RecentComments.php:31
 msgid "Recent Comments"
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:204
+#: ../lib/plugin/RecentChanges.php:246
 msgid "comments"
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:229
+#: ../lib/plugin/RecentChanges.php:248
+msgid "created new pages"
+msgstr ""
+
+#: ../lib/plugin/RecentChanges.php:254
+#, php-format
+msgid " for pages changed by %s"
+msgstr ""
+
+#: ../lib/plugin/RecentChanges.php:260
+#, fuzzy, php-format
+msgid " for pages owned by %s"
+msgstr "frn %s"
+
+#: ../lib/plugin/RecentChanges.php:285
 #, php-format
 msgid "The %d most recent %s during the past day are listed below."
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:232
+#: ../lib/plugin/RecentChanges.php:288
 #, php-format
 msgid "The %d most recent %s during the past %s days are listed below."
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:235
+#: ../lib/plugin/RecentChanges.php:291
 #, php-format
 msgid "The %d most recent %s are listed below."
 msgstr "De %d senaste %s sidorna listas nedan."
 
-#: ../lib/plugin/RecentChanges.php:241
+#: ../lib/plugin/RecentChanges.php:297
 #, php-format
 msgid "The %d oldest %s during the past day are listed below."
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:244
+#: ../lib/plugin/RecentChanges.php:300
 #, php-format
 msgid "The %d oldest %s during the past %s days are listed below."
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:247
+#: ../lib/plugin/RecentChanges.php:303
 #, php-format
 msgid "The %d oldest %s are listed below."
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:254
+#: ../lib/plugin/RecentChanges.php:310
 #, php-format
 msgid "The most recent %s during the past day are listed below."
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:257
+#: ../lib/plugin/RecentChanges.php:313
 #, php-format
 msgid "The most recent %s during the past %s days are listed below."
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:260
+#: ../lib/plugin/RecentChanges.php:316
 #, php-format
 msgid "All %s are listed below."
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:272 ../lib/plugin/RecentChanges.php:287
-#: ../lib/plugin/RecentChanges.php:390 ../lib/plugin/RecentChanges.php:467
+#: ../lib/plugin/RecentChanges.php:328 ../lib/plugin/RecentChanges.php:346
+#: ../lib/plugin/RecentChanges.php:523 ../lib/plugin/RecentChanges.php:600
 #: ../lib/plugin/RecentEdits.php:10 ../lib/plugin/RecentEdits.php:36
 #: ../lib/plugin/RelatedChanges.php:27
-#: ../themes/Portland/templates/editpage.tmpl:49
-#: ../themes/Wordpress/templates/editpage.tmpl:58
+#: ../themes/Portland/templates/editpage.tmpl:45
+#: ../themes/Wordpress/templates/editpage.tmpl:57
 msgid "RecentEdits"
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:280 ../lib/plugin/RecentComments.php:65
+#: ../lib/plugin/RecentChanges.php:339 ../lib/plugin/RecentComments.php:65
 msgid "No comments found"
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:282
+#: ../lib/plugin/RecentChanges.php:341
 msgid "No changes found"
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:592
+#: ../lib/plugin/RecentChanges.php:457
+msgid "UserContribs"
+msgstr ""
+
+#: ../lib/plugin/RecentChanges.php:725
 msgid "Title Search"
 msgstr "Titelskningen"
 
-#: ../lib/plugin/RecentChanges.php:893
+#: ../lib/plugin/RecentChanges.php:1189
 msgid "Show minor edits for:"
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:895
+#: ../lib/plugin/RecentChanges.php:1191
 msgid "Show all changes for:"
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:897
+#: ../lib/plugin/RecentChanges.php:1193
 msgid "Show changes for:"
 msgstr ""
 
-#: ../lib/plugin/RecentChanges.php:917
+#: ../lib/plugin/RecentChanges.php:1195
+msgid "All new pages since:"
+msgstr ""
+
+#: ../lib/plugin/RecentChanges.php:1215
 msgid "1 day"
 msgstr "1 dag"
 
-#: ../lib/plugin/RecentChanges.php:921
+#: ../lib/plugin/RecentChanges.php:1219
 #, php-format
 msgid "%s days"
 msgstr "%s dar"
 
 #: ../lib/plugin/RecentComments.php:17
-#: ../themes/MonoBook/templates/navbar.tmpl:14
+#: ../themes/MonoBook/templates/navbar.tmpl:16
 msgid "RecentComments"
 msgstr ""
 
@@ -3707,7 +4112,7 @@
 msgstr ""
 
 #: ../lib/plugin/RelatedChanges.php:73 ../themes/Crao/templates/navbar.tmpl:15
-#: ../themes/MonoBook/templates/navbar.tmpl:43
+#: ../themes/MonoBook/templates/navbar.tmpl:54
 msgid "RelatedChanges"
 msgstr ""
 
@@ -3731,14 +4136,137 @@
 msgid "no RSS items"
 msgstr ""
 
-#: ../lib/plugin/SearchHighlight.php:37
+#: ../lib/plugin/SearchHighlight.php:39
 msgid "SearchHighlight"
 msgstr ""
 
-#: ../lib/plugin/SearchHighlight.php:41
+#: ../lib/plugin/SearchHighlight.php:43
 msgid "Hilight referred search terms."
 msgstr ""
 
+#: ../lib/plugin/SearchHighlight.php:73
+#, php-format
+msgid "%s: Found %s through %s"
+msgstr ""
+
+#: ../lib/plugin/SemanticRelations.php:35
+#, fuzzy
+msgid "SemanticRelations"
+msgstr "Sk"
+
+#: ../lib/plugin/SemanticRelations.php:38
+msgid "Display the list of relations and attributes on this page."
+msgstr ""
+
+#: ../lib/plugin/SemanticRelations.php:80
+#: ../lib/plugin/SemanticRelations.php:97 ../lib/plugin/SemanticSearch.php:57
+#, fuzzy
+msgid "SemanticSearch"
+msgstr "Sk"
+
+#: ../lib/plugin/SemanticRelations.php:86
+#, php-format
+msgid "Semantic relations for %s"
+msgstr ""
+
+#: ../lib/plugin/SemanticRelations.php:110
+#, php-format
+msgid "Attributes of %s"
+msgstr ""
+
+#: ../lib/plugin/SemanticRelations.php:119
+#: ../lib/plugin/SemanticRelations.php:120
+msgid "Help/SemanticRelations"
+msgstr ""
+
+#: ../lib/plugin/SemanticRelations.php:122
+msgid "Find out how to add relations and attributes to pages."
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:60
+msgid "Search relations and attributes"
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:106
+msgid "Filter by this relation. With autocompletion."
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:124
+msgid "Relations"
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:132 ../lib/plugin/SemanticSearch.php:208
+msgid "Add an AND query"
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:133 ../lib/plugin/SemanticSearch.php:209
+msgid "OR"
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:136 ../lib/plugin/SemanticSearch.php:212
+msgid "Add an OR query"
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:139
+msgid "Search in pages for a relation with that value (a pagename)."
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:174
+msgid "Filter by this attribute name. With autocompletion."
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:186
+msgid "Comparison operator. With autocompletion."
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:197
+msgid "Filter by this numeric attribute value. With autocompletion."
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:215
+msgid "Attributes"
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:216
+msgid "Search in pages for an attribute with that numeric value."
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:219
+msgid "Advanced..."
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:219
+#, fuzzy
+msgid "SemanticSearchAdvanced"
+msgstr "Sk"
+
+#: ../lib/plugin/SemanticSearch.php:261
+msgid "No relations nor attributes in the whole wikidb defined!"
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:263
+msgid "Help:SemanticRelations"
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:311
+#, php-format
+msgid "Illegal operator: %s"
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:358
+#, php-format
+msgid "Only text operators can be used with strings: %s"
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:378
+msgid "Value"
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:393
+#, php-format
+msgid "Semantic %s Search Result for \"%s\" in pages \"%s\""
+msgstr ""
+
 #: ../lib/plugin/SiteMap.php:51
 msgid "SiteMap"
 msgstr ""
@@ -3752,6 +4280,26 @@
 msgid "(max. recursion level: %d)"
 msgstr ""
 
+#: ../lib/plugin/SpellCheck.php:68
+msgid "Spell Checker"
+msgstr ""
+
+#: ../lib/plugin/SpellCheck.php:71
+msgid "Check the spelling of a page and make suggestions"
+msgstr ""
+
+#: ../lib/plugin/SpellCheck.php:124
+msgid "SpellCheck"
+msgstr ""
+
+#: ../lib/plugin/SpellCheck.php:125
+msgid "Cannot SpellCheck myself"
+msgstr ""
+
+#: ../lib/plugin/SpellCheck.php:171
+msgid "SpellCheck result"
+msgstr ""
+
 #: ../lib/plugin/SqlResult.php:67
 msgid "SqlResult"
 msgstr ""
@@ -3769,6 +4317,87 @@
 msgid "No DSN for alias %s in SqlResult.ini found"
 msgstr ""
 
+#: ../lib/plugin/SyncWiki.php:46
+msgid "SyncWiki"
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:50
+msgid "Synchronize pages with external PhpWiki"
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:113
+msgid "Syncing this PhpWiki"
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:114
+msgid "Download all externally changed sources."
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:116
+#, php-format
+msgid "Retrieving from external url %s wiki.getRecentChanges(%s)..."
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:123 ../lib/plugin/WhoIsOnline.php:125
+msgid "<unknown>"
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:138 ../lib/plugin/SyncWiki.php:191
+#: ../lib/plugin/SyncWiki.php:226 ../lib/upgrade.php:92 ../lib/upgrade.php:96
+#: ../lib/upgrade.php:176 ../lib/upgrade.php:217 ../lib/upgrade.php:1120
+msgid " skipped"
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:160
+msgid "same date"
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:183
+msgid "Now upload all locally newer pages."
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:185
+#, php-format
+msgid "Checking all local pages newer than %s..."
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:212
+msgid "Now upload all locally newer uploads."
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:214
+#, php-format
+msgid "Checking all local uploads newer than %s..."
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:277
+#, php-format
+msgid "%s force"
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:281
+#, php-format
+msgid "Postponed %s for %s."
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:288 ../lib/plugin/SyncWiki.php:297
+#: ../lib/plugin/SyncWiki.php:312 ../lib/plugin/SyncWiki.php:321
+#: ../lib/plugin/SyncWiki.php:340
+msgid "skipped"
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:297 ../lib/plugin/SyncWiki.php:321
+#, fuzzy
+msgid "same content"
+msgstr "Innehll"
+
+#: ../lib/plugin/SyncWiki.php:304 ../lib/plugin/SyncWiki.php:330
+#: ../lib/plugin/SyncWiki.php:332 ../lib/plugin/SyncWiki.php:353
+#: ../lib/plugin/SyncWiki.php:355 ../lib/upgrade.php:214
+#: ../lib/upgrade.php:555 ../lib/upgrade.php:593 ../lib/upgrade.php:1111
+msgid "FAILED"
+msgstr ""
+
 #: ../lib/plugin/SyntaxHighlighter.php:68
 msgid "SyntaxHighlighter"
 msgstr ""
@@ -4001,27 +4630,19 @@
 msgid "Convert Tex mathematicals expressions to cached png files."
 msgstr ""
 
-#: ../lib/plugin/TeX2png.php:34
-msgid " This is for small text"
-msgstr ""
-
 #: ../lib/plugin/TeX2png.php:134
 msgid " (syntax error for latex) "
 msgstr ""
 
 #: ../lib/plugin/TeX2png.php:173
-msgid "TeX directory not writable."
+msgid "TeX imagepath not writable."
 msgstr ""
 
-#: ../lib/plugin/TeX2png.php:214 ../lib/plugin/text2png.php:67
+#: ../lib/plugin/TeX2png.php:214 ../lib/plugin/text2png.php:85
 msgid "Sorry, this version of PHP cannot create PNG image files."
 msgstr ""
 
-#: ../lib/plugin/Template.php:61
-msgid "Template"
-msgstr ""
-
-#: ../lib/plugin/Template.php:65
+#: ../lib/plugin/Template.php:64
 msgid "Parametrized page inclusion."
 msgstr ""
 
@@ -4033,7 +4654,7 @@
 msgid "Search the titles of all pages in this wiki."
 msgstr ""
 
-#: ../lib/plugin/TitleSearch.php:103
+#: ../lib/plugin/TitleSearch.php:104
 #, php-format
 msgid "Title search results for '%s'"
 msgstr "Skresultat fr titelskningen fr '%s'"
@@ -4046,16 +4667,16 @@
 msgid "Include an external web page within the body of a wiki page."
 msgstr ""
 
-#: ../lib/plugin/Transclude.php:88
+#: ../lib/plugin/Transclude.php:97
 msgid "Transcluded page"
 msgstr ""
 
-#: ../lib/plugin/Transclude.php:97
+#: ../lib/plugin/Transclude.php:106
 #, php-format
 msgid "See: %s"
 msgstr ""
 
-#: ../lib/plugin/Transclude.php:109
+#: ../lib/plugin/Transclude.php:118
 #, php-format
 msgid "Transcluded from %s"
 msgstr ""
@@ -4146,59 +4767,64 @@
 #: ../lib/plugin/UnfoldSubpages.php:160
 #, fuzzy, php-format
 msgid "%s has no subpages defined."
-msgstr "%s: fila ingen funna"
+msgstr "%s: fila ingen funna."
 
 #: ../lib/plugin/UpLoad.php:46
 msgid "Upload files to the local InterWiki Upload:<filename>"
 msgstr ""
 
-#: ../lib/plugin/UpLoad.php:124
+#: ../lib/plugin/UpLoad.php:161
 msgid "ACCESS DENIED: You must log in to upload files."
 msgstr ""
 
-#: ../lib/plugin/UpLoad.php:138
+#: ../lib/plugin/UpLoad.php:185
 #, php-format
 msgid "ERROR uploading '%s': "
 msgstr ""
 
-#: ../lib/plugin/UpLoad.php:143
+#: ../lib/plugin/UpLoad.php:190
 #, php-format
 msgid "Files with extension %s are not allowed."
 msgstr ""
 
-#: ../lib/plugin/UpLoad.php:149
+#: ../lib/plugin/UpLoad.php:198
+#, php-format
+msgid "Only files with the extension %s are allowed."
+msgstr ""
+
+#: ../lib/plugin/UpLoad.php:204
 msgid ""
-"File names may only contain alphanumeric characters and dot, underscore or "
-"dash."
+"Invalid filename. File names may only contain alphanumeric characters and "
+"dot, underscore, space or dash."
 msgstr ""
 
-#: ../lib/plugin/UpLoad.php:154
+#: ../lib/plugin/UpLoad.php:209
 #, php-format
 msgid "There is already a file with name %s uploaded."
 msgstr ""
 
-#: ../lib/plugin/UpLoad.php:159
+#: ../lib/plugin/UpLoad.php:214
 msgid "Sorry but this file is too big."
 msgstr ""
 
-#: ../lib/plugin/UpLoad.php:167
+#: ../lib/plugin/UpLoad.php:222
 msgid "File successfully uploaded."
 msgstr ""
 
-#: ../lib/plugin/UpLoad.php:184
+#: ../lib/plugin/UpLoad.php:239
 #, php-format
 msgid "uploaded %s"
 msgstr ""
 
-#: ../lib/plugin/UpLoad.php:191
+#: ../lib/plugin/UpLoad.php:246
 msgid "Uploading failed."
 msgstr ""
 
-#: ../lib/plugin/UpLoad.php:209
+#: ../lib/plugin/UpLoad.php:264
 msgid "The upload logfile is not writable."
 msgstr ""
 
-#: ../lib/plugin/UpLoad.php:212
+#: ../lib/plugin/UpLoad.php:267
 msgid "Can't open the upload logfile."
 msgstr ""
 
@@ -4269,69 +4895,91 @@
 msgid "Here are your %d page ratings:"
 msgstr ""
 
-#: ../lib/plugin/UserRatings.php:220
+#: ../lib/plugin/UserRatings.php:222
 msgid "Pred"
 msgstr ""
 
-#: ../lib/plugin/UserRatings.php:224 ../lib/wikilens/PageListColumns.php:367
+#: ../lib/plugin/UserRatings.php:226 ../lib/wikilens/PageListColumns.php:367
 msgid "Rate"
 msgstr ""
 
-#: ../lib/plugin/VisualWiki.php:65
+#: ../lib/plugin/VisualWiki.php:66
 msgid ""
 "Visualizes the Wiki structure in a graph using the 'dot' commandline tool "
 "from graphviz."
 msgstr ""
 
-#: ../lib/plugin/VisualWiki.php:493
+#: ../lib/plugin/VisualWiki.php:497
 msgid "Legend"
 msgstr ""
 
-#: ../lib/plugin/WantedPages.php:39 ../lib/plugin/WantedPages.php:69
-#: ../lib/plugin/WantedPagesOld.php:33 ../lib/plugin/WantedPagesOld.php:66
+#: ../lib/plugin/WantedPages.php:39 ../lib/plugin/WantedPages.php:70
 msgid "WantedPages"
 msgstr ""
 
-#: ../lib/plugin/WantedPages.php:42 ../lib/plugin/WantedPagesOld.php:37
+#: ../lib/plugin/WantedPages.php:42
 msgid "Lists referenced page names which do not exist yet."
 msgstr ""
 
-#: ../lib/plugin/WantedPages.php:54 ../lib/plugin/WantedPagesOld.php:47
-#: ../lib/plugin/_WikiTranslation.php:84 ../lib/plugin/_WikiTranslation.php:98
+#: ../lib/plugin/WantedPages.php:55 ../lib/plugin/_WikiTranslation.php:84
+#: ../lib/plugin/_WikiTranslation.php:98
 msgid "PgsrcTranslation"
 msgstr ""
 
-#: ../lib/plugin/WantedPages.php:78
+#: ../lib/plugin/WantedPages.php:79
 msgid "Wanted From"
 msgstr ""
 
-#: ../lib/plugin/WantedPages.php:115
+#: ../lib/plugin/WantedPages.php:130
 #, php-format
 msgid "Wanted Pages for %s:"
 msgstr ""
 
-#: ../lib/plugin/WantedPages.php:117
+#: ../lib/plugin/WantedPages.php:132
 #, php-format
 msgid "Wanted Pages in this wiki:"
 msgstr ""
 
-#: ../lib/plugin/WantedPagesOld.php:100
-#: ../themes/default/templates/online.tmpl:38
-msgid "<none>"
+#: ../lib/plugin/WantedPages.php:174
+#, php-format
+msgid "(%d Links)"
+msgstr ""
+
+#: ../lib/plugin/WatchPage.php:35
+#, fuzzy
+msgid "WatchPage"
+msgstr "Bredd"
+
+#: ../lib/plugin/WatchPage.php:78
+msgid "Your current watchlist: "
+msgstr ""
+
+#: ../lib/plugin/WatchPage.php:79
+msgid "New watchlist: "
 msgstr ""
 
-#: ../lib/plugin/WantedPagesOld.php:115
+#: ../lib/plugin/WatchPage.php:82
 #, php-format
-msgid "Wanted Pages for %s (%d total):"
+msgid "Do you %s want to add this page \"%s\" to your WatchList?"
+msgstr ""
+
+#: ../lib/plugin/WatchPage.php:83
+msgid "really"
 msgstr ""
 
-#: ../lib/plugin/WantedPagesOld.php:149
+#: ../lib/plugin/WatchPage.php:88
 #, php-format
-msgid "Wanted Pages in this wiki (%d total):"
+msgid "The page %s is already watched!"
+msgstr ""
+
+#: ../lib/plugin/WatchPage.php:114
+msgid "ERROR: No email defined! You need to do this in your "
 msgstr ""
 
-#: ../lib/plugin/WantedPagesOld.php:151
-msgid "Count"
+#: ../lib/plugin/WatchPage.php:151
+msgid ""
+"E-Mail Notification for the current page successfully stored in your "
+"preferences."
 msgstr ""
 
 #: ../lib/plugin/WhoIsOnline.php:38 ../lib/plugin/WhoIsOnline.php:84
@@ -4355,10 +5003,6 @@
 msgid "Guest"
 msgstr ""
 
-#: ../lib/plugin/WhoIsOnline.php:125
-msgid "<unknown>"
-msgstr ""
-
 #: ../lib/plugin/WhoIsOnline.php:196
 #, php-format
 msgid "%d minutes"
@@ -4368,7 +5012,7 @@
 msgid "WikiAdminChmod"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminChmod.php:44 ../lib/plugin/WikiAdminSetAcl.php:43
+#: ../lib/plugin/WikiAdminChmod.php:44 ../lib/plugin/WikiAdminSetAcl.php:47
 msgid "Set individual page permissions."
 msgstr ""
 
@@ -4386,7 +5030,7 @@
 msgid "Invalid chmod string"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminChmod.php:90 ../lib/plugin/WikiAdminSetAcl.php:109
+#: ../lib/plugin/WikiAdminChmod.php:90 ../lib/plugin/WikiAdminSetAcl.php:113
 #, php-format
 msgid "%s pages have been changed."
 msgstr ""
@@ -4394,11 +5038,11 @@
 #: ../lib/plugin/WikiAdminChmod.php:93 ../lib/plugin/WikiAdminChown.php:89
 #: ../lib/plugin/WikiAdminMarkup.php:97
 #: ../lib/plugin/WikiAdminSearchReplace.php:113
-#: ../lib/plugin/WikiAdminSetAcl.php:112
+#: ../lib/plugin/WikiAdminSetAcl.php:116
 msgid "No pages changed."
 msgstr ""
 
-#: ../lib/plugin/WikiAdminChmod.php:140 ../lib/plugin/WikiAdminSetAcl.php:170
+#: ../lib/plugin/WikiAdminChmod.php:140 ../lib/plugin/WikiAdminSetAcl.php:174
 msgid "Permission"
 msgstr ""
 
@@ -4410,7 +5054,7 @@
 msgid "Chmod"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminChmod.php:155 ../lib/plugin/WikiAdminSetAcl.php:185
+#: ../lib/plugin/WikiAdminChmod.php:155 ../lib/plugin/WikiAdminSetAcl.php:189
 msgid "Select the pages to change:"
 msgstr ""
 
@@ -4426,11 +5070,11 @@
 msgid "(ugo : rwx)"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminChmod.php:189 ../lib/plugin/WikiAdminSetAcl.php:253
+#: ../lib/plugin/WikiAdminChmod.php:189 ../lib/plugin/WikiAdminSetAcl.php:257
 msgid "Propagate new permissions to all subpages?"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminChmod.php:191 ../lib/plugin/WikiAdminSetAcl.php:255
+#: ../lib/plugin/WikiAdminChmod.php:191 ../lib/plugin/WikiAdminSetAcl.php:259
 msgid "(disable individual page permissions, enable inheritance)?"
 msgstr ""
 
@@ -4445,7 +5089,7 @@
 #: ../lib/plugin/WikiAdminChown.php:69 ../lib/plugin/WikiAdminMarkup.php:70
 #: ../lib/plugin/WikiAdminRename.php:84
 #: ../lib/plugin/WikiAdminSearchReplace.php:98
-#: ../lib/plugin/WikiAdminSetAcl.php:100
+#: ../lib/plugin/WikiAdminSetAcl.php:104
 #, php-format
 msgid "Access denied to change page '%s'."
 msgstr ""
@@ -4560,7 +5204,7 @@
 msgstr ""
 
 #: ../lib/plugin/WikiAdminRemove.php:183 ../lib/plugin/WikiAdminRemove.php:232
-#: ../themes/blog/themeinfo.php:59
+#: ../themes/blog/themeinfo.php:67
 msgid "Remove"
 msgstr ""
 
@@ -4747,185 +5391,210 @@
 msgid "Select pages"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminSetAcl.php:39
+#: ../lib/plugin/WikiAdminSetAcl.php:43
 msgid "WikiAdminSetAcl"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminSetAcl.php:94
+#: ../lib/plugin/WikiAdminSetAcl.php:98
 #, php-format
 msgid "ACL not changed for page '%s'."
 msgstr ""
 
-#: ../lib/plugin/WikiAdminSetAcl.php:97
+#: ../lib/plugin/WikiAdminSetAcl.php:101
 #, php-format
 msgid "ACL changed for page '%s'."
 msgstr ""
 
-#: ../lib/plugin/WikiAdminSetAcl.php:104
+#: ../lib/plugin/WikiAdminSetAcl.php:108
 msgid "Invalid ACL"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminSetAcl.php:120 ../lib/plugin/_WikiTranslation.php:94
+#: ../lib/plugin/WikiAdminSetAcl.php:124 ../lib/plugin/_WikiTranslation.php:94
 msgid "PhpWikiAdministration/SetAcl"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminSetAcl.php:172 ../lib/plugin/WikiAdminSetAcl.php:228
+#: ../lib/plugin/WikiAdminSetAcl.php:176 ../lib/plugin/WikiAdminSetAcl.php:232
 msgid "ACL"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminSetAcl.php:180
+#: ../lib/plugin/WikiAdminSetAcl.php:184
 #, fuzzy
 msgid ""
 "Are you sure you want to permanently change access to the selected files?"
 msgstr "Ta bort sida nu"
 
-#: ../lib/plugin/WikiAdminSetAcl.php:215
+#: ../lib/plugin/WikiAdminSetAcl.php:219
 msgid "Selected Pages: "
 msgstr ""
 
-#: ../lib/plugin/WikiAdminSetAcl.php:221
+#: ../lib/plugin/WikiAdminSetAcl.php:225
 #, php-format
 msgid "page permission inherited from %s"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminSetAcl.php:223
+#: ../lib/plugin/WikiAdminSetAcl.php:227
 msgid "invidual page permission"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminSetAcl.php:225
+#: ../lib/plugin/WikiAdminSetAcl.php:229
 msgid "default page permission"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminSetAcl.php:226
+#: ../lib/plugin/WikiAdminSetAcl.php:230
 msgid "Type"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminSetAcl.php:227
+#: ../lib/plugin/WikiAdminSetAcl.php:231
 msgid "getfacl"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminSetAcl.php:231
+#: ../lib/plugin/WikiAdminSetAcl.php:235
 msgid ""
 "Selected Grant checkboxes allow access, unselected checkboxes deny access."
 msgstr ""
 
-#: ../lib/plugin/WikiAdminSetAcl.php:232
+#: ../lib/plugin/WikiAdminSetAcl.php:236
 msgid "To ignore delete the line."
 msgstr ""
 
-#: ../lib/plugin/WikiAdminSetAcl.php:233
+#: ../lib/plugin/WikiAdminSetAcl.php:237
 msgid "To add check 'Add' near the dropdown list."
 msgstr ""
 
-#: ../lib/plugin/WikiAdminSetAcl.php:256
+#: ../lib/plugin/WikiAdminSetAcl.php:260
 msgid "(Currently not working)"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:36
+#: ../lib/plugin/WikiAdminUtils.php:38
 msgid "WikiAdminUtils"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:40
+#: ../lib/plugin/WikiAdminUtils.php:42
 msgid "Miscellaneous utility functions for the Administrator."
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:72
+#: ../lib/plugin/WikiAdminUtils.php:74
 msgid "You must be an administrator to use this plugin."
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:101
-msgid "WikiAdminUtils says:"
+#: ../lib/plugin/WikiAdminUtils.php:103
+#, php-format
+msgid "WikiAdminUtils %s returned:"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:103 ../lib/stdlib.php:1759
-msgid "Okay"
+#: ../lib/plugin/WikiAdminUtils.php:105
+msgid "Back"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:108
+#: ../lib/plugin/WikiAdminUtils.php:110
 msgid "Purge Markup Cache"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:109
+#: ../lib/plugin/WikiAdminUtils.php:111
 msgid "Purge all Pages With Invalid Names"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:110
+#: ../lib/plugin/WikiAdminUtils.php:112
 msgid "Purge all empty, unreferenced Pages"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:120
+#: ../lib/plugin/WikiAdminUtils.php:113
+msgid "Access Restrictions"
+msgstr ""
+
+#: ../lib/plugin/WikiAdminUtils.php:115
+msgid "Convert cached_html"
+msgstr ""
+
+#: ../lib/plugin/WikiAdminUtils.php:116
+msgid "DB Check"
+msgstr ""
+
+#: ../lib/plugin/WikiAdminUtils.php:117
+msgid "Db Rebuild"
+msgstr ""
+
+#: ../lib/plugin/WikiAdminUtils.php:128
 msgid "Markup cache purged!"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:140
+#: ../lib/plugin/WikiAdminUtils.php:148
 msgid "No pages with bad names had to be deleted."
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:142
+#: ../lib/plugin/WikiAdminUtils.php:150
 #, php-format
 msgid "Deleted %s pages with invalid names:"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:160
+#: ../lib/plugin/WikiAdminUtils.php:171
 msgid "[purged]"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:162
+#: ../lib/plugin/WikiAdminUtils.php:173
 msgid "[not purgable]"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:170
+#: ../lib/plugin/WikiAdminUtils.php:181
 msgid "No empty, unreferenced pages were found."
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:172
+#: ../lib/plugin/WikiAdminUtils.php:183
 #, php-format
 msgid "Deleted %s unreferenced pages:"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:175
+#: ../lib/plugin/WikiAdminUtils.php:186
 #, php-format
 msgid ""
 "The %d not-purgable pages/links are links in some page(s). You might want to "
 "edit them."
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:190
+#: ../lib/plugin/WikiAdminUtils.php:201
 msgid "No old _cached_html pagedata found."
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:192
+#: ../lib/plugin/WikiAdminUtils.php:203
 #, php-format
 msgid "Converted successfully %d pages"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:201
+#: ../lib/plugin/WikiAdminUtils.php:227
 msgid "Sorry. Access Restrictions not yet implemented"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:209
-#: ../themes/default/templates/userprefs.tmpl:124
+#: ../lib/plugin/WikiAdminUtils.php:235
+#: ../themes/default/templates/userprefs.tmpl:125
 msgid "E-Mail"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:211
+#: ../lib/plugin/WikiAdminUtils.php:237
 msgid "Verification Status"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:263
+#: ../lib/plugin/WikiAdminUtils.php:238
+msgid "Username"
+msgstr ""
+
+#: ../lib/plugin/WikiAdminUtils.php:293
 msgid "Change Verification Status"
 msgstr ""
 
-#: ../lib/plugin/WikiBlog.php:79
+#: ../lib/plugin/WikiBlog.php:87
+msgid "WikiBlog"
+msgstr ""
+
+#: ../lib/plugin/WikiBlog.php:91
 #, php-format
 msgid "Show and add blogs for %s"
 msgstr ""
 
-#: ../lib/plugin/WikiBlog.php:190
+#: ../lib/plugin/WikiBlog.php:219
 msgid "New comment."
 msgstr ""
 
-#: ../lib/plugin/WikiBlog.php:294
+#: ../lib/plugin/WikiBlog.php:330
 #, php-format
 msgid "%s on %s:"
 msgstr ""
@@ -4934,7 +5603,7 @@
 msgid "WikiForm"
 msgstr ""
 
-#: ../lib/plugin/WikiForm.php:76
+#: ../lib/plugin/WikiForm.php:76 ../themes/MonoBook/templates/signin.tmpl:16
 msgid "Login"
 msgstr ""
 
@@ -4951,11 +5620,11 @@
 msgid "WikiForm: %s: unknown action"
 msgstr ""
 
-#: ../lib/plugin/WikiFormRich.php:92
+#: ../lib/plugin/WikiFormRich.php:106
 msgid "Provide generic WikiForm input buttons"
 msgstr ""
 
-#: ../lib/plugin/WikiFormRich.php:181
+#: ../lib/plugin/WikiFormRich.php:195
 msgid "name"
 msgstr ""
 
@@ -4993,10 +5662,6 @@
 msgid "Missing %s for %s"
 msgstr ""
 
-#: ../lib/plugin/WikiPoll.php:224
-msgid "Ok"
-msgstr ""
-
 #: ../lib/plugin/WikiPoll.php:227
 msgid "Reset"
 msgstr ""
@@ -5014,6 +5679,26 @@
 msgid "Thanks for participating!"
 msgstr ""
 
+#: ../lib/plugin/YouTube.php:24
+msgid "YouTube"
+msgstr ""
+
+#: ../lib/plugin/YouTube.php:28
+msgid "Embed YouTube videos"
+msgstr ""
+
+#: ../lib/plugin/YouTube.php:54
+#, php-format
+msgid "Required argument %s missing"
+msgstr ""
+
+#: ../lib/plugin/YouTube.php:91 ../lib/plugin/YouTube.php:93
+#: ../lib/plugin/YouTube.php:95 ../lib/plugin/YouTube.php:97
+#: ../lib/plugin/YouTube.php:121 ../lib/plugin/YouTube.php:123
+#, fuzzy, php-format
+msgid "Invalid argument %s"
+msgstr "Ange ett sidnamn!"
+
 #: ../lib/plugin/_AuthInfo.php:35
 msgid "AuthInfo"
 msgstr ""
@@ -5038,10 +5723,9 @@
 #: ../lib/plugin/_BackendInfo.php:30 ../lib/plugin/_WikiTranslation.php:60
 #: ../themes/Crao/templates/actionbar.tmpl:27
 #: ../themes/MonoBook/templates/info.tmpl:174
-#: ../themes/Portland/templates/actionbar.tmpl:21
-#: ../themes/Wordpress/templates/actionbar.tmpl:74
-#: ../themes/default/templates/actionbar.tmpl:34
-#: ../themes/shamino_com/templates/info.tmpl:174
+#: ../themes/Portland/templates/actionbar.tmpl:17
+#: ../themes/Wordpress/templates/actionbar.tmpl:75
+#: ../themes/default/templates/actionbar.tmpl:36
 #: ../themes/smaller/templates/info.tmpl:14
 msgid "DebugInfo"
 msgstr ""
@@ -5051,17 +5735,17 @@
 msgid "Get debugging information for %s."
 msgstr ""
 
-#: ../lib/plugin/_BackendInfo.php:54
+#: ../lib/plugin/_BackendInfo.php:58
 #, php-format
 msgid "Querying backend directly for '%s'"
 msgstr ""
 
-#: ../lib/plugin/_BackendInfo.php:64
+#: ../lib/plugin/_BackendInfo.php:67
 #, php-format
 msgid "No pagedata for %s"
 msgstr ""
 
-#: ../lib/plugin/_BackendInfo.php:97
+#: ../lib/plugin/_BackendInfo.php:124
 msgid "<not displayed>"
 msgstr ""
 
@@ -5084,6 +5768,20 @@
 msgid "Get preferences information for current user %s."
 msgstr ""
 
+#: ../lib/plugin/_Retransform.php:30
+msgid "Retransform CachedMarkup"
+msgstr ""
+
+#: ../lib/plugin/_Retransform.php:34
+#, php-format
+msgid "Show a markup retransformation of page %s."
+msgstr ""
+
+#: ../lib/plugin/_Retransform.php:53
+#, php-format
+msgid "Retransform page '%s'"
+msgstr ""
+
 #: ../lib/plugin/_WikiTranslation.php:47
 msgid "AddCommentPlugin"
 msgstr ""
@@ -5116,10 +5814,6 @@
 msgid "CalendarPlugin"
 msgstr ""
 
-#: ../lib/plugin/_WikiTranslation.php:56
-msgid "CategoryCategory"
-msgstr ""
-
 #: ../lib/plugin/_WikiTranslation.php:57
 msgid "CategoryHomePages"
 msgstr ""
@@ -5143,9 +5837,10 @@
 #: ../lib/plugin/_WikiTranslation.php:64 ../themes/Crao/templates/head.tmpl:36
 #: ../themes/Crao/templates/head.tmpl:37
 #: ../themes/Crao/templates/navbar.tmpl:40
-#: ../themes/MonoBook/templates/navbar.tmpl:25
-#: ../themes/Portland/templates/navbar.tmpl:8
-#: ../themes/Sidebar/templates/navbar.tmpl:24
+#: ../themes/MonoBook/templates/navbar.tmpl:29
+#: ../themes/MonoBook/templates/navbar.tmpl:35
+#: ../themes/Portland/templates/navbar.tmpl:5
+#: ../themes/Sidebar/templates/navbar.tmpl:14
 #: ../themes/default/templates/head.tmpl:42
 #: ../themes/default/templates/head.tmpl:43
 #: ../themes/default/templates/navbar.tmpl:20
@@ -5153,7 +5848,7 @@
 #: ../themes/smaller/templates/navbar.tmpl:8
 #: ../themes/wikilens/templates/head.tmpl:34
 #: ../themes/wikilens/templates/head.tmpl:35
-#: ../themes/wikilens/templates/navbar.tmpl:11
+#: ../themes/wikilens/templates/navbar.tmpl:19
 msgid "FindPage"
 msgstr "SkEfterSida"
 
@@ -5254,6 +5949,7 @@
 msgstr ""
 
 #: ../lib/plugin/_WikiTranslation.php:95
+#: ../themes/MonoBook/templates/navbar.tmpl:20
 msgid "PhpWikiDocumentation"
 msgstr ""
 
@@ -5334,6 +6030,7 @@
 msgstr ""
 
 #: ../lib/plugin/_WikiTranslation.php:118
+#: ../themes/MonoBook/templates/navbar.tmpl:60
 msgid "UpLoad"
 msgstr ""
 
@@ -5377,36 +6074,35 @@
 "service for %s to language %s"
 msgstr ""
 
-#: ../lib/plugin/_WikiTranslation.php:319
-#, php-format
-msgid "%s is empty"
-msgstr ""
-
 #: ../lib/plugin/_WikiTranslation.php:438
 #, php-format
 msgid "Define the translation for %s in %s"
 msgstr ""
 
-#: ../lib/plugin/text2png.php:46
+#: ../lib/plugin/text2png.php:57
 msgid "Convert text into a png image using GD."
 msgstr ""
 
-#: ../lib/plugin/text2png.php:118
+#: ../lib/plugin/text2png.php:169
 msgid ""
 "PHP was unable to create a new GD image stream. Read 'lib/plugin/text2png."
 "php' for details."
 msgstr ""
 
-#: ../lib/plugin/text2png.php:168
+#: ../lib/plugin/text2png.php:214
 #, php-format
 msgid "Image saved to cache file: %s"
 msgstr ""
 
-#: ../lib/plugin/text2png.php:172
+#: ../lib/plugin/text2png.php:218
 #, php-format
 msgid "Image loaded from cache file: %s"
 msgstr ""
 
+#: ../lib/plugin/text2png.php:226
+msgid " produced by "
+msgstr ""
+
 #: ../lib/removepage.php:18
 msgid "Already deleted"
 msgstr ""
@@ -5436,309 +6132,360 @@
 msgid "Back to the previous page."
 msgstr ""
 
-#: ../lib/stdlib.php:364 ../lib/stdlib.php:393
+#: ../lib/stdlib.php:366 ../lib/stdlib.php:395
 msgid "BAD URL -- remove all of <, >, \""
 msgstr ""
 
-#: ../lib/stdlib.php:433 ../lib/stdlib.php:450
+#: ../lib/stdlib.php:435 ../lib/stdlib.php:452
 msgid "Invalid image size"
 msgstr ""
 
-#: ../lib/stdlib.php:560
+#: ../lib/stdlib.php:562
 msgid "BAD phpwiki: URL"
 msgstr ""
 
-#: ../lib/stdlib.php:598
+#: ../lib/stdlib.php:600
 msgid "Lock page to enable link"
 msgstr ""
 
-#: ../lib/stdlib.php:725
+#: ../lib/stdlib.php:728
 #, php-format
 msgid "'%s': Bad page name: %s"
 msgstr ""
 
-#: ../lib/stdlib.php:755 ../lib/stdlib.php:780
+#: ../lib/stdlib.php:758 ../lib/stdlib.php:789
 #, php-format
 msgid "Leading %s not allowed"
 msgstr ""
 
-#: ../lib/stdlib.php:764
+#: ../lib/stdlib.php:773
 msgid "White space converted to single space"
 msgstr ""
 
-#: ../lib/stdlib.php:770
+#: ../lib/stdlib.php:779
 msgid "Control characters not allowed"
 msgstr ""
 
-#: ../lib/stdlib.php:791
+#: ../lib/stdlib.php:800
 msgid "too long"
 msgstr ""
 
-#: ../lib/stdlib.php:797
+#: ../lib/stdlib.php:809
 #, php-format
 msgid "Illegal chars %s removed"
 msgstr ""
 
-#: ../lib/stdlib.php:843
+#: ../lib/stdlib.php:855
 msgid "The CreateTocPlugin is not yet old markup compatible! "
 msgstr ""
 
-#: ../lib/stdlib.php:844
+#: ../lib/stdlib.php:856
 msgid ""
 "Please remove the CreateToc line to be able to reformat this page to old "
 "markup. "
 msgstr ""
 
-#: ../lib/stdlib.php:1105
+#: ../lib/stdlib.php:1118
 msgid "Revision Not Found"
 msgstr ""
 
-#: ../lib/stdlib.php:1106
+#: ../lib/stdlib.php:1119
 #, php-format
 msgid "I'm sorry.  Version %d of %s is not in the database."
 msgstr ""
 
-#: ../lib/stdlib.php:1109
+#: ../lib/stdlib.php:1122
 msgid "Bad Version"
 msgstr ""
 
-#: ../lib/stdlib.php:1245
+#: ../lib/stdlib.php:1258
 msgid "-???"
 msgstr ""
 
-#: ../lib/stdlib.php:1248
+#: ../lib/stdlib.php:1261
 #, php-format
 msgid "%s b"
 msgstr ""
 
-#: ../lib/stdlib.php:1250 ../themes/MonoBook/templates/info.tmpl:29
-#: ../themes/shamino_com/templates/info.tmpl:29
+#: ../lib/stdlib.php:1263 ../themes/MonoBook/templates/info.tmpl:29
 #, php-format
 msgid "%s bytes"
 msgstr ""
 
-#: ../lib/stdlib.php:1255
+#: ../lib/stdlib.php:1268
 #, php-format
 msgid "%s k"
 msgstr ""
 
-#: ../lib/stdlib.php:1257 ../themes/MonoBook/templates/info.tmpl:32
-#: ../themes/shamino_com/templates/info.tmpl:32
+#: ../lib/stdlib.php:1270 ../themes/MonoBook/templates/info.tmpl:32
 #, php-format
 msgid "%s Kb (%s bytes)"
 msgstr ""
 
-#: ../lib/stdlib.php:1353
+#: ../lib/stdlib.php:1366
 #, php-format
 msgid "%s: argument index out of range"
 msgstr ""
 
-#: ../lib/stdlib.php:1431 ../themes/Hawaiian/lib/random.php:20
+#: ../lib/stdlib.php:1444 ../themes/Hawaiian/lib/random.php:20
 #, php-format
 msgid "%s is empty."
 msgstr ""
 
-#: ../lib/stdlib.php:1438
+#: ../lib/stdlib.php:1451
 #, php-format
 msgid "Unable to open directory '%s' for reading"
 msgstr ""
 
-#: ../lib/stdlib.php:1942 ../lib/stdlib.php:1955
+#: ../lib/stdlib.php:1772
+msgid "Okay"
+msgstr ""
+
+#: ../lib/stdlib.php:1949 ../lib/stdlib.php:1962
 #, php-format
 msgid "... (first %s words)"
 msgstr ""
 
-#: ../lib/upgrade.php:76
+#: ../lib/upgrade.php:86
 msgid "newer than the existing page."
 msgstr ""
 
-#: ../lib/upgrade.php:77
+#: ../lib/upgrade.php:87
 msgid " replace "
 msgstr ""
 
-#: ../lib/upgrade.php:81
+#: ../lib/upgrade.php:91
 msgid "older than the existing page."
 msgstr ""
 
-#: ../lib/upgrade.php:82 ../lib/upgrade.php:86 ../lib/upgrade.php:153
-msgid " skipped"
+#: ../lib/upgrade.php:99
+#, php-format
+msgid "%s does not exist"
 msgstr ""
 
-#: ../lib/upgrade.php:89
+#: ../lib/upgrade.php:124 ../lib/upgrade.php:155 ../lib/upgrade.php:401
+#: ../lib/upgrade.php:913 ../lib/upgrade.php:1001
 #, php-format
-msgid "%s does not exist"
+msgid "check for necessary %s updates"
+msgstr ""
+
+#: ../lib/upgrade.php:125 ../themes/MonoBook/templates/actionbar.tmpl:17
+#: ../themes/MonoBook/templates/actionbar.tmpl:30
+#, fuzzy
+msgid "ActionPage"
+msgstr "SkEfterSida"
+
+#: ../lib/upgrade.php:127
+#, fuzzy
+msgid "_AuthInfo"
+msgstr "Frfattare:"
+
+#: ../lib/upgrade.php:127
+msgid "DebugAuthInfo"
 msgstr ""
 
-#: ../lib/upgrade.php:112
-msgid "check for necessary ActionPage updates"
+#: ../lib/upgrade.php:130
+msgid "_GroupInfo"
 msgstr ""
 
-#: ../lib/upgrade.php:136
-msgid "check for necessary pgsrc updates"
+#: ../lib/upgrade.php:130
+msgid "GroupAuthInfo"
+msgstr ""
+
+#: ../lib/upgrade.php:158
+msgid "rename to Help: pages"
+msgstr ""
+
+#: ../lib/upgrade.php:175
+msgid "always skip the HomePage."
+msgstr ""
+
+#: ../lib/upgrade.php:196
+#, php-format
+msgid "check for additional theme %s updates"
 msgstr ""
 
-#: ../lib/upgrade.php:152
-msgid "always skip the HomePage."
-msgstr ""
+#: ../lib/upgrade.php:209
+#, fuzzy, php-format
+msgid "rename %s to %s"
+msgstr "Kopia r [%s]"
 
-#: ../lib/upgrade.php:172
+#: ../lib/upgrade.php:236
 msgid "MISSING"
 msgstr ""
 
-#: ../lib/upgrade.php:208 ../lib/upgrade.php:227 ../lib/upgrade.php:246
-#: ../lib/upgrade.php:267 ../lib/upgrade.php:295 ../lib/upgrade.php:341
+#: ../lib/upgrade.php:272 ../lib/upgrade.php:291 ../lib/upgrade.php:312
+#: ../lib/upgrade.php:340 ../lib/upgrade.php:386
 msgid "CREATED"
 msgstr ""
 
-#: ../lib/upgrade.php:357
-msgid "check for necessary database updates"
+#: ../lib/upgrade.php:402
+msgid "database"
 msgstr ""
 
-#: ../lib/upgrade.php:362
+#: ../lib/upgrade.php:408
 msgid "CANCEL"
 msgstr ""
 
-#: ../lib/upgrade.php:368
+#: ../lib/upgrade.php:421
 msgid "Backend type: "
 msgstr ""
 
-#: ../lib/upgrade.php:371 ../lib/upgrade.php:380 ../lib/upgrade.php:389
+#: ../lib/upgrade.php:425 ../lib/upgrade.php:445 ../lib/upgrade.php:454
 #, php-format
 msgid "check for table %s"
 msgstr ""
 
-#: ../lib/upgrade.php:401
+#: ../lib/upgrade.php:469
 msgid "check for new session.sess_ip column"
 msgstr ""
 
-#: ../lib/upgrade.php:407 ../lib/upgrade.php:712
+#: ../lib/upgrade.php:475 ../lib/upgrade.php:692 ../lib/upgrade.php:837
 msgid "SKIP"
 msgstr ""
 
-#: ../lib/upgrade.php:410 ../lib/upgrade.php:517 ../lib/upgrade.php:717
+#: ../lib/upgrade.php:478 ../lib/upgrade.php:586 ../lib/upgrade.php:842
 msgid "ADDING"
 msgstr ""
 
-#: ../lib/upgrade.php:420
+#: ../lib/upgrade.php:488
 msgid "check for mysql session.sess_id sanity"
 msgstr ""
 
-#: ../lib/upgrade.php:434 ../lib/upgrade.php:439 ../lib/upgrade.php:476
-#: ../lib/upgrade.php:485
+#: ../lib/upgrade.php:502 ../lib/upgrade.php:507 ../lib/upgrade.php:544
+#: ../lib/upgrade.php:553
 msgid "fixed"
 msgstr ""
 
-#: ../lib/upgrade.php:453
+#: ../lib/upgrade.php:521
 msgid "check for mysql LOCK TABLE privilege"
 msgstr ""
 
-#: ../lib/upgrade.php:487 ../lib/upgrade.php:524 ../lib/upgrade.php:784
-#: ../lib/upgrade.php:809 ../lib/upgrade.php:818 ../lib/upgrade.php:825
-msgid "FAILED"
-msgstr ""
-
-#: ../lib/upgrade.php:499
+#: ../lib/upgrade.php:567
 #, fuzzy, php-format
 msgid "version <em>%s</em> not affected"
 msgstr "version %s"
 
-#: ../lib/upgrade.php:507
+#: ../lib/upgrade.php:576
 msgid "check for mysql page.id auto_increment flag"
 msgstr ""
 
-#: ../lib/upgrade.php:544
+#: ../lib/upgrade.php:613
 msgid "check for mysql 4.1.x/5.0.0 binary search on windows problem"
 msgstr ""
 
-#: ../lib/upgrade.php:547 ../lib/upgrade.php:563 ../lib/upgrade.php:584
+#: ../lib/upgrade.php:616 ../lib/upgrade.php:632 ../lib/upgrade.php:653
 #, fuzzy, php-format
 msgid "version <em>%s</em>"
 msgstr "version %s"
 
-#: ../lib/upgrade.php:548
+#: ../lib/upgrade.php:617
 msgid "not affected"
 msgstr ""
 
-#: ../lib/upgrade.php:564 ../lib/upgrade.php:585 ../lib/upgrade.php:606
-#: ../lib/upgrade.php:816
+#: ../lib/upgrade.php:633 ../lib/upgrade.php:654 ../lib/upgrade.php:682
+#: ../lib/upgrade.php:1103
 msgid "FIXED"
 msgstr ""
 
-#: ../lib/upgrade.php:595
+#: ../lib/upgrade.php:664
 msgid "check for ACCESS_LOG_SQL passwords in POST requests"
 msgstr ""
 
-#: ../lib/upgrade.php:661
+#: ../lib/upgrade.php:687
+msgid "check for ACCESS_LOG_SQL remote_host varchar(50)"
+msgstr ""
+
+#: ../lib/upgrade.php:695
+msgid "FIXING"
+msgstr ""
+
+#: ../lib/upgrade.php:698
+msgid "FAIL"
+msgstr ""
+
+#: ../lib/upgrade.php:787
 msgid ""
 "Upgrade requires database privileges to CREATE and ALTER the phpwiki "
 "database."
 msgstr ""
 
-#: ../lib/upgrade.php:663
+#: ../lib/upgrade.php:789
 msgid ""
 "And on windows at least the privilege to SELECT FROM mysql, and possibly "
 "UPDATE mysql"
 msgstr ""
 
-#: ../lib/upgrade.php:668
+#: ../lib/upgrade.php:794
 msgid "DB admin user:"
 msgstr ""
 
-#: ../lib/upgrade.php:674
+#: ../lib/upgrade.php:800
 msgid "DB admin password:"
 msgstr ""
 
-#: ../lib/upgrade.php:707
+#: ../lib/upgrade.php:832
 msgid "check for extra page.cached_html column"
 msgstr ""
 
-#: ../lib/upgrade.php:724
+#: ../lib/upgrade.php:849 ../lib/upgrade.php:897
 msgid "CONVERTING"
 msgstr ""
 
-#: ../lib/upgrade.php:766
-msgid "check for necessary plugin argument updates"
+#: ../lib/upgrade.php:895
+msgid "Rebuild entire database to upgrade relation links"
 msgstr ""
 
-#: ../lib/upgrade.php:767
-msgid "change RandomPage pages => numpages"
+#: ../lib/upgrade.php:914
+msgid "plugin argument"
 msgstr ""
 
-#: ../lib/upgrade.php:819
+#: ../lib/upgrade.php:958
+#, fuzzy, php-format
+msgid "file %s not found"
+msgstr "%s: fila ingen funna"
+
+#: ../lib/upgrade.php:985
+#, fuzzy, php-format
+msgid "%s not found in %s"
+msgstr "%s: fila ingen funna"
+
+#: ../lib/upgrade.php:992
 #, php-format
 msgid "couldn't move %s to %s"
 msgstr ""
 
-#: ../lib/upgrade.php:826
-#, php-format
-msgid "%s is not writable"
-msgstr ""
+#: ../lib/upgrade.php:996
+#, fuzzy, php-format
+msgid "file %s is not writable"
+msgstr "%s: fila ingen funna"
 
-#: ../lib/upgrade.php:832
-msgid "check for necessary config updates"
+#: ../lib/upgrade.php:1006 ../lib/upgrade.php:1016 ../lib/upgrade.php:1026
+#, php-format
+msgid "check for %s"
 msgstr ""
 
-#: ../lib/upgrade.php:833
-msgid "check for old CACHE_CONTROL = NONE"
+#: ../lib/upgrade.php:1008
+msgid "CACHE_CONTROL is set to 'NONE', and must be changed to 'NO_CACHE'"
 msgstr ""
 
-#: ../lib/upgrade.php:836
-msgid "CACHE_CONTROL is set to 'NONE', and must be changed to 'NO_CACHE'"
+#: ../lib/upgrade.php:1018
+msgid "GROUP_METHOD is set to NONE, and must be changed to \"NONE\""
 msgstr ""
 
-#: ../lib/upgrade.php:843
-msgid "check for GROUP_METHOD = NONE"
+#: ../lib/upgrade.php:1028
+msgid "fix BLOG_EMPTY_DEFAULT_PREFIX into BLOG_DEFAULT_EMPTY_PREFIX"
 msgstr ""
 
-#: ../lib/upgrade.php:846
-msgid "GROUP_METHOD is set to NONE, and must be changed to \"NONE\""
+#: ../lib/upgrade.php:1128
+msgid "fixed with"
 msgstr ""
 
-#: ../lib/upgrade.php:883
+#: ../lib/upgrade.php:1254
 msgid "Upgrade disabled: user != isAdmin"
 msgstr ""
 
-#: ../lib/upgrade.php:887
+#: ../lib/upgrade.php:1259
 msgid "Upgrading this PhpWiki"
 msgstr ""
 
@@ -5771,48 +6518,46 @@
 msgid "Members:"
 msgstr ""
 
-#: ../lib/ziplib.php:199
+#: ../lib/ziplib.php:206
 msgid "Can't inflate data: zlib support not enabled in this PHP"
 msgstr ""
 
-#: ../lib/ziplib.php:395
+#: ../lib/ziplib.php:402
 #, php-format
 msgid "Can't open zip file '%s' for reading"
 msgstr ""
 
-#: ../lib/ziplib.php:405 ../lib/ziplib.php:409
+#: ../lib/ziplib.php:412 ../lib/ziplib.php:416
 msgid "Unexpected EOF in zip file"
 msgstr ""
 
-#: ../lib/ziplib.php:730
+#: ../lib/ziplib.php:738
 #, php-format
 msgid "[%d] See [%s]"
 msgstr ""
 
-#: ../lib/ziplib.php:737
+#: ../lib/ziplib.php:745
 msgid "References"
 msgstr ""
 
 #: ../themes/Crao/templates/actionbar.tmpl:5
-#: ../themes/MonoBook/templates/actionbar.tmpl:11
-#: ../themes/Portland/templates/actionbar.tmpl:8
-#: ../themes/default/templates/actionbar.tmpl:15
+#: ../themes/MonoBook/templates/actionbar.tmpl:34
+#: ../themes/Portland/templates/actionbar.tmpl:6
+#: ../themes/default/templates/actionbar.tmpl:16
 #: ../themes/shamino_com/templates/actionbar.tmpl:6
-#: ../themes/shamino_com/templates/info.tmpl:164
 #: ../themes/smaller/templates/actionbar.tmpl:18
 msgid "Edit Old Revision"
 msgstr ""
 
 #: ../themes/Crao/templates/actionbar.tmpl:7
 #: ../themes/Crao/templates/head.tmpl:47
-#: ../themes/MonoBook/templates/actionbar.tmpl:13
+#: ../themes/MonoBook/templates/actionbar.tmpl:37
 #: ../themes/MonoBook/templates/info.tmpl:166
-#: ../themes/Portland/templates/actionbar.tmpl:10
+#: ../themes/Portland/templates/actionbar.tmpl:8
 #: ../themes/Wordpress/templates/actionbar.tmpl:10
-#: ../themes/blog/templates/actionbar.tmpl:7
-#: ../themes/default/templates/actionbar.tmpl:17
+#: ../themes/blog/templates/actionbar.tmpl:21
+#: ../themes/default/templates/actionbar.tmpl:18
 #: ../themes/default/templates/head.tmpl:53
-#: ../themes/shamino_com/templates/info.tmpl:165
 #: ../themes/smaller/templates/actionbar.tmpl:20
 #: ../themes/smaller/templates/info.tmpl:5
 #: ../themes/wikilens/templates/head.tmpl:45
@@ -5820,19 +6565,17 @@
 msgstr "Visa Kllkoden"
 
 #: ../themes/Crao/templates/actionbar.tmpl:30
-#: ../themes/MonoBook/templates/actionbar.tmpl:52
+#: ../themes/MonoBook/templates/actionbar.tmpl:72
 #: ../themes/MonoBook/templates/info.tmpl:177
-#: ../themes/default/templates/actionbar.tmpl:39
-#: ../themes/shamino_com/templates/info.tmpl:177
+#: ../themes/default/templates/actionbar.tmpl:41
 #: ../themes/smaller/templates/info.tmpl:17
 msgid "PurgeHtmlCache"
 msgstr ""
 
 #: ../themes/Crao/templates/actionbar.tmpl:31
-#: ../themes/MonoBook/templates/actionbar.tmpl:53
+#: ../themes/MonoBook/templates/actionbar.tmpl:73
 #: ../themes/MonoBook/templates/info.tmpl:178
-#: ../themes/default/templates/actionbar.tmpl:40
-#: ../themes/shamino_com/templates/info.tmpl:178
+#: ../themes/default/templates/actionbar.tmpl:42
 #: ../themes/smaller/templates/info.tmpl:18
 msgid ""
 "Purge HTML cache for this page. Regenerate from WikiMarkup when next "
@@ -5840,58 +6583,66 @@
 msgstr ""
 
 #: ../themes/Crao/templates/blogform.tmpl:10
-#: ../themes/blog/templates/blogform.tmpl:11
-#: ../themes/default/templates/blogform.tmpl:11
+#, fuzzy
 msgid "Add a Comment"
-msgstr ""
+msgstr "Innehll"
 
 #: ../themes/Crao/templates/blogform.tmpl:18
-#: ../themes/blog/templates/blogform.tmpl:28
 #: ../themes/default/templates/addcomment.tmpl:14
-#: ../themes/default/templates/blogform.tmpl:28
 msgid "Add Comment"
 msgstr ""
 
 #: ../themes/Crao/templates/browse.tmpl:5
+#: ../themes/MonoBook/templates/browse.tmpl:6
 #: ../themes/Portland/templates/browse.tmpl:9
 #: ../themes/Portland/templates/viewsource.tmpl:5
 #: ../themes/Wordpress/templates/browse.tmpl:9
-#: ../themes/Wordpress/templates/viewsource.tmpl:7
+#: ../themes/Wordpress/templates/viewsource.tmpl:9
 #: ../themes/blog/templates/browse.tmpl:6
+#: ../themes/blog/templates/viewsource.tmpl:6
 #: ../themes/default/templates/browse.tmpl:6
 #: ../themes/default/templates/viewsource.tmpl:5
 msgid "Note:"
 msgstr ""
 
 #: ../themes/Crao/templates/browse.tmpl:6
+#: ../themes/MonoBook/templates/browse.tmpl:7
 #: ../themes/Portland/templates/browse.tmpl:10
 #: ../themes/Portland/templates/viewsource.tmpl:10
 #: ../themes/Wordpress/templates/browse.tmpl:10
-#: ../themes/Wordpress/templates/viewsource.tmpl:12
+#: ../themes/Wordpress/templates/viewsource.tmpl:14
 #: ../themes/blog/templates/browse.tmpl:7
+#: ../themes/blog/templates/viewsource.tmpl:11
 #: ../themes/default/templates/browse.tmpl:7
 #: ../themes/default/templates/viewsource.tmpl:10
 msgid "You are viewing an old revision of this page."
 msgstr ""
 
 #: ../themes/Crao/templates/browse.tmpl:7
+#: ../themes/MonoBook/templates/browse.tmpl:8
 #: ../themes/Portland/templates/browse.tmpl:11
 #: ../themes/Portland/templates/viewsource.tmpl:11
 #: ../themes/Wordpress/templates/browse.tmpl:11
-#: ../themes/Wordpress/templates/viewsource.tmpl:13
+#: ../themes/Wordpress/templates/viewsource.tmpl:15
 #: ../themes/blog/templates/browse.tmpl:8
+#: ../themes/blog/templates/viewsource.tmpl:12
 #: ../themes/default/templates/browse.tmpl:8
 #: ../themes/default/templates/viewsource.tmpl:11
 msgid "View the current version"
 msgstr ""
 
 #: ../themes/Crao/templates/editpage.tmpl:4
-#: ../themes/Portland/templates/editpage.tmpl:61
-#: ../themes/Wordpress/templates/editpage.tmpl:63
+#: ../themes/Portland/templates/editpage.tmpl:57
+#: ../themes/Wordpress/templates/editpage.tmpl:67
 #: ../themes/default/templates/editpage.tmpl:4
 msgid "Preview only!  Changes not saved."
 msgstr ""
 
+#: ../themes/Crao/templates/editpage.tmpl:9
+#: ../themes/default/templates/editpage.tmpl:9
+msgid "edit area"
+msgstr ""
+
 #: ../themes/Crao/templates/editpage.tmpl:8
 #: ../themes/default/templates/editpage.tmpl:8
 #, php-format
@@ -5899,11 +6650,6 @@
 "Please continue editing.  (You'll find your %s at the bottom of the page.)"
 msgstr ""
 
-#: ../themes/Crao/templates/editpage.tmpl:9
-#: ../themes/default/templates/editpage.tmpl:9
-msgid "edit area"
-msgstr ""
-
 #: ../themes/Crao/templates/editpage.tmpl:18
 #: ../themes/Portland/templates/editpage.tmpl:25
 #: ../themes/Wordpress/templates/editpage.tmpl:23
@@ -5919,21 +6665,21 @@
 msgstr ""
 
 #: ../themes/Crao/templates/editpage.tmpl:38
-#: ../themes/Portland/templates/editpage.tmpl:52
+#: ../themes/Portland/templates/editpage.tmpl:48
 #: ../themes/Wordpress/templates/editpage.tmpl:39
 #: ../themes/default/templates/editpage.tmpl:40
 msgid "H"
 msgstr "H"
 
 #: ../themes/Crao/templates/editpage.tmpl:39
-#: ../themes/Portland/templates/editpage.tmpl:53
+#: ../themes/Portland/templates/editpage.tmpl:49
 #: ../themes/Wordpress/templates/editpage.tmpl:40
 #: ../themes/default/templates/editpage.tmpl:41
 msgid "W"
 msgstr "B"
 
 #: ../themes/Crao/templates/editpage.tmpl:40
-#: ../themes/Portland/templates/editpage.tmpl:54
+#: ../themes/Portland/templates/editpage.tmpl:50
 #: ../themes/Wordpress/templates/editpage.tmpl:41
 #: ../themes/default/templates/editpage.tmpl:42
 msgid "Adjust"
@@ -5949,58 +6695,69 @@
 msgstr ""
 
 #: ../themes/Crao/templates/editpage.tmpl:59
-#: ../themes/Portland/templates/editpage.tmpl:56
-#: ../themes/Wordpress/templates/editpage.tmpl:44
+#: ../themes/Portland/templates/editpage.tmpl:52
+#: ../themes/Wordpress/templates/editpage.tmpl:59
 #: ../themes/default/templates/editpage.tmpl:60
 msgid "Use old markup"
 msgstr ""
 
 #: ../themes/Crao/templates/editpage.tmpl:92
 #: ../themes/Crao/templates/editpage.tmpl:97
-#: ../themes/Portland/templates/editpage.tmpl:84
-#: ../themes/Portland/templates/editpage.tmpl:89
-#: ../themes/Wordpress/templates/editpage.tmpl:86
-#: ../themes/Wordpress/templates/editpage.tmpl:91
+#: ../themes/Portland/templates/editpage.tmpl:80
+#: ../themes/Portland/templates/editpage.tmpl:85
+#: ../themes/Wordpress/templates/editpage.tmpl:90
+#: ../themes/Wordpress/templates/editpage.tmpl:95
+#: ../themes/blog/templates/blogform.tmpl:24
+#: ../themes/default/templates/blogform.tmpl:24
+#: ../themes/default/templates/editpage.tmpl:108
 #: ../themes/default/templates/editpage.tmpl:113
-#: ../themes/default/templates/editpage.tmpl:118
-#, php-format
-msgid "See %s tips for editing."
-msgstr "%s: Redigeringstips."
+#, fuzzy
+msgid "Help/GoodStyle"
+msgstr "BraStil"
 
 #: ../themes/Crao/templates/editpage.tmpl:92
 #: ../themes/Crao/templates/editpage.tmpl:97
-#: ../themes/Portland/templates/editpage.tmpl:84
-#: ../themes/Portland/templates/editpage.tmpl:89
-#: ../themes/Wordpress/templates/editpage.tmpl:86
-#: ../themes/Wordpress/templates/editpage.tmpl:91
+#: ../themes/Portland/templates/editpage.tmpl:80
+#: ../themes/Portland/templates/editpage.tmpl:85
+#: ../themes/Wordpress/templates/editpage.tmpl:90
+#: ../themes/Wordpress/templates/editpage.tmpl:95
+#: ../themes/blog/templates/blogform.tmpl:24
+#: ../themes/default/templates/blogform.tmpl:24
+#: ../themes/default/templates/editpage.tmpl:108
 #: ../themes/default/templates/editpage.tmpl:113
-#: ../themes/default/templates/editpage.tmpl:118
-msgid "GoodStyle"
-msgstr "BraStil"
+#, php-format
+msgid "See %s tips for editing."
+msgstr "%s: Redigeringstips."
 
 #: ../themes/Crao/templates/editpage.tmpl:93
-#: ../themes/Portland/templates/editpage.tmpl:85
-#: ../themes/Wordpress/templates/editpage.tmpl:87
-#: ../themes/default/templates/editpage.tmpl:114
-msgid "OldTextFormattingRules"
-msgstr ""
+#: ../themes/Portland/templates/editpage.tmpl:81
+#: ../themes/Wordpress/templates/editpage.tmpl:91
+#: ../themes/default/templates/editpage.tmpl:109
+#, fuzzy
+msgid "Help/OldTextFormattingRules"
+msgstr "Textformateringsregler"
 
 #: ../themes/Crao/templates/editpage.tmpl:93
 #: ../themes/Crao/templates/editpage.tmpl:98
-#: ../themes/Portland/templates/editpage.tmpl:85
-#: ../themes/Portland/templates/editpage.tmpl:90
-#: ../themes/Wordpress/templates/editpage.tmpl:87
-#: ../themes/Wordpress/templates/editpage.tmpl:92
+#: ../themes/Portland/templates/editpage.tmpl:81
+#: ../themes/Portland/templates/editpage.tmpl:86
+#: ../themes/Wordpress/templates/editpage.tmpl:91
+#: ../themes/Wordpress/templates/editpage.tmpl:96
+#: ../themes/blog/templates/blogform.tmpl:25
+#: ../themes/default/templates/blogform.tmpl:25
+#: ../themes/default/templates/editpage.tmpl:109
 #: ../themes/default/templates/editpage.tmpl:114
-#: ../themes/default/templates/editpage.tmpl:119
 msgid "Synopsis"
 msgstr "versikt"
 
 #: ../themes/Crao/templates/editpage.tmpl:98
-#: ../themes/Portland/templates/editpage.tmpl:90
-#: ../themes/Wordpress/templates/editpage.tmpl:92
-#: ../themes/default/templates/editpage.tmpl:119
-msgid "TextFormattingRules"
+#: ../themes/Portland/templates/editpage.tmpl:86
+#: ../themes/Wordpress/templates/editpage.tmpl:96
+#: ../themes/blog/templates/blogform.tmpl:25
+#: ../themes/default/templates/blogform.tmpl:25
+#: ../themes/default/templates/editpage.tmpl:114
+#, fuzzy
+msgid "Help/TextFormattingRules"
 msgstr "Textformateringsregler"
 
 #: ../themes/Crao/templates/head.tmpl:31 ../themes/Crao/templates/head.tmpl:32
@@ -6014,37 +6771,36 @@
 msgstr ""
 
 #: ../themes/Crao/templates/navbar.tmpl:34
-#: ../themes/Wordpress/templates/actionbar.tmpl:37
+#: ../themes/Wordpress/templates/actionbar.tmpl:38
 #: ../themes/default/templates/navbar.tmpl:51
-#: ../themes/wikilens/templates/navbar.tmpl:40
+#: ../themes/wikilens/templates/navbar.tmpl:30
 msgid "Today"
 msgstr ""
 
 #: ../themes/Crao/templates/navbar.tmpl:37
-#: ../themes/Sidebar/templates/navbar.tmpl:38
+#: ../themes/Sidebar/templates/navbar.tmpl:28
 #: ../themes/blog/templates/navbar.tmpl:14
 #: ../themes/default/templates/navbar.tmpl:55
-#: ../themes/wikilens/templates/navbar.tmpl:43
+#: ../themes/wikilens/templates/navbar.tmpl:32
 msgid "Admin"
 msgstr ""
 
 #: ../themes/Crao/templates/navbar.tmpl:46
 #: ../themes/blog/templates/search.tmpl:11
-#: ../themes/default/templates/search.tmpl:16
-#: ../themes/default/templates/search.tmpl:23
+#: ../themes/default/templates/search.tmpl:20
+#: ../themes/default/templates/search.tmpl:25
 #, fuzzy
 msgid "LiveSearch"
 msgstr "Titelskningen"
 
-#: ../themes/Crao/templates/signin.tmpl:18
+#: ../themes/Crao/templates/signin.tmpl:17
 #, php-format
 msgid "You are signed in as %s"
 msgstr ""
 
-#: ../themes/Crao/templates/signin.tmpl:39
-#: ../themes/MonoBook/templates/signin.tmpl:38
-#: ../themes/Sidebar/templates/signin.tmpl:38
-#: ../themes/Wordpress/templates/signin.tmpl:42
+#: ../themes/Crao/templates/signin.tmpl:38
+#: ../themes/Sidebar/templates/signin.tmpl:37
+#: ../themes/Wordpress/templates/signin.tmpl:41
 #: ../themes/default/templates/signin.tmpl:34
 #: ../themes/smaller/templates/signin.tmpl:37
 msgid "Enter your UserId to sign in"
@@ -6052,8 +6808,6 @@
 
 #: ../themes/Crao/templates/wikiblog.tmpl:19
 #: ../themes/blog/templates/wikiblog.tmpl:20
-#: ../themes/default/templates/comment.tmpl:18
-#: ../themes/default/templates/wikiblog.tmpl:19
 #, php-format
 msgid "Comment modified on %s by %s"
 msgstr ""
@@ -6061,43 +6815,34 @@
 #: ../themes/Crao/templates/wikiblog.tmpl:25
 #: ../themes/blog/templates/wikiblog.tmpl:25
 #: ../themes/default/templates/comment.tmpl:24
-#: ../themes/default/templates/wikiblog.tmpl:24
 #, php-format
 msgid "Comments on %s by %s."
 msgstr ""
 
-#: ../themes/Hawaiian/themeinfo.php:29 ../themes/MacOSX/themeinfo.php:104
-#: ../themes/MonoBook/themeinfo.php:72 ../themes/Portland/themeinfo.php:59
-#: ../themes/Sidebar/themeinfo.php:122 ../themes/SpaceWiki/themeinfo.php:43
-#: ../themes/Wordpress/themeinfo.php:61 ../themes/default/themeinfo.php:24
-#: ../themes/shamino_com/themeinfo.php:56 ../themes/smaller/themeinfo.php:51
-#: ../themes/wikilens/themeinfo.php:24
-msgid "Printer"
-msgstr "Skrivare"
-
-#: ../themes/Hawaiian/themeinfo.php:30 ../themes/MonoBook/themeinfo.php:74
-#: ../themes/Portland/themeinfo.php:60 ../themes/Sidebar/themeinfo.php:123
-#: ../themes/SpaceWiki/themeinfo.php:44 ../themes/Wordpress/themeinfo.php:62
-#: ../themes/default/themeinfo.php:26 ../themes/shamino_com/themeinfo.php:58
-#: ../themes/smaller/themeinfo.php:53 ../themes/wikilens/themeinfo.php:26
-msgid "Modern"
-msgstr "Ny|modig"
+#: ../themes/MonoBook/templates/actionbar.tmpl:17
+#: ../themes/MonoBook/templates/actionbar.tmpl:30
+#: ../themes/Sidebar/templates/navbar.tmpl:21
+#: ../themes/default/templates/navbar.tmpl:15
+#: ../themes/wikilens/templates/navbar.tmpl:13
+msgid "Article"
+msgstr ""
 
-#: ../themes/MacOSX/themeinfo.php:105 ../themes/MonoBook/themeinfo.php:73
-#: ../themes/default/themeinfo.php:25 ../themes/shamino_com/themeinfo.php:57
-#: ../themes/smaller/themeinfo.php:52 ../themes/wikilens/themeinfo.php:25
-msgid "Top & bottom toolbars"
+#: ../themes/MonoBook/templates/actionbar.tmpl:24
+msgid "TemplateTalk"
 msgstr ""
 
-#: ../themes/MonoBook/templates/actionbar.tmpl:27
-#: ../themes/Sidebar/templates/navbar.tmpl:31
-#: ../themes/default/templates/navbar.tmpl:15
-msgid "Article"
+#: ../themes/MonoBook/templates/actionbar.tmpl:39
+msgid "History"
 msgstr ""
 
 #: ../themes/MonoBook/templates/actionbar.tmpl:42
-#: ../themes/blog/templates/actionbar.tmpl:21
-#: ../themes/smaller/templates/actionbar.tmpl:34
+#, fuzzy
+msgid "Watch"
+msgstr "Bredd"
+
+#: ../themes/MonoBook/templates/actionbar.tmpl:65
+#: ../themes/blog/templates/actionbar.tmpl:15
+#: ../themes/smaller/templates/actionbar.tmpl:36
 msgid "Info"
 msgstr ""
 
@@ -6108,7 +6853,7 @@
 
 #: ../themes/MonoBook/templates/browse-footer.tmpl:16
 #: ../themes/MonoBook/templates/browse-footer.tmpl:17
-#: ../themes/blog/templates/actionbar.tmpl:16
+#: ../themes/blog/templates/actionbar.tmpl:10
 msgid "About"
 msgstr ""
 
@@ -6119,180 +6864,172 @@
 
 #: ../themes/MonoBook/templates/info.tmpl:37
 #: ../themes/default/templates/info.tmpl:30
-#: ../themes/shamino_com/templates/info.tmpl:37
 msgid "1 word"
 msgstr ""
 
 #: ../themes/MonoBook/templates/info.tmpl:39
 #: ../themes/default/templates/info.tmpl:32
-#: ../themes/shamino_com/templates/info.tmpl:39
 #, php-format
 msgid "%s words"
 msgstr ""
 
 #: ../themes/MonoBook/templates/info.tmpl:43
 #: ../themes/default/templates/info.tmpl:36
-#: ../themes/shamino_com/templates/info.tmpl:43
 #, php-format
 msgid "Version %s"
 msgstr ""
 
 #: ../themes/MonoBook/templates/info.tmpl:44
 #: ../themes/default/templates/info.tmpl:37
-#: ../themes/shamino_com/templates/info.tmpl:44
 msgid "Original (1.2 or 1.0)"
 msgstr ""
 
 #: ../themes/MonoBook/templates/info.tmpl:76
-#: ../themes/default/templates/info.tmpl:69
-#: ../themes/shamino_com/templates/info.tmpl:75
+#: ../themes/default/templates/info.tmpl:68
 msgid "Saved on:"
 msgstr ""
 
 #: ../themes/MonoBook/templates/info.tmpl:81
-#: ../themes/default/templates/info.tmpl:74
-#: ../themes/shamino_com/templates/info.tmpl:80
+#: ../themes/default/templates/info.tmpl:73
 #, fuzzy, php-format
 msgid "Statistics about %s."
 msgstr "Sidinformation fr %s."
 
 #: ../themes/MonoBook/templates/info.tmpl:91
-#: ../themes/default/templates/info.tmpl:85
-#: ../themes/shamino_com/templates/info.tmpl:91
+#: ../themes/default/templates/info.tmpl:84
 msgid "Supplanted on:"
 msgstr ""
 
 #: ../themes/MonoBook/templates/info.tmpl:108
-#: ../themes/default/templates/info.tmpl:103
-#: ../themes/shamino_com/templates/info.tmpl:108
+#: ../themes/default/templates/info.tmpl:102
 msgid "Page Version:"
 msgstr ""
 
 #: ../themes/MonoBook/templates/info.tmpl:112
-#: ../themes/default/templates/info.tmpl:107
-#: ../themes/shamino_com/templates/info.tmpl:112
+#: ../themes/default/templates/info.tmpl:106
 msgid "Markup:"
 msgstr ""
 
 #: ../themes/MonoBook/templates/info.tmpl:116
-#: ../themes/default/templates/info.tmpl:111
-#: ../themes/shamino_com/templates/info.tmpl:116
+#: ../themes/default/templates/info.tmpl:110
 msgid "Size:"
 msgstr ""
 
 #: ../themes/MonoBook/templates/info.tmpl:121
-#: ../themes/default/templates/info.tmpl:116
-#: ../themes/shamino_com/templates/info.tmpl:121
+#: ../themes/default/templates/info.tmpl:115
 msgid "Hits:"
 msgstr "Trffar:"
 
 #: ../themes/MonoBook/templates/info.tmpl:138
-#: ../themes/default/templates/info.tmpl:133
-#: ../themes/shamino_com/templates/info.tmpl:138
+#: ../themes/default/templates/info.tmpl:132
 msgid "home page"
 msgstr ""
 
 #: ../themes/MonoBook/templates/info.tmpl:141
-#: ../themes/default/templates/info.tmpl:136
-#: ../themes/shamino_com/templates/info.tmpl:141
+#: ../themes/default/templates/info.tmpl:135
 msgid "User page"
 msgstr ""
 
 #: ../themes/MonoBook/templates/info.tmpl:144
-#: ../themes/default/templates/info.tmpl:139
-#: ../themes/shamino_com/templates/info.tmpl:144
+#: ../themes/default/templates/info.tmpl:138
 msgid "Action page"
 msgstr ""
 
 #: ../themes/MonoBook/templates/info.tmpl:147
-#: ../themes/default/templates/info.tmpl:142
-#: ../themes/shamino_com/templates/info.tmpl:147
+#: ../themes/default/templates/info.tmpl:141
 msgid "Blog page"
 msgstr ""
 
 #: ../themes/MonoBook/templates/info.tmpl:153
-#: ../themes/default/templates/info.tmpl:148
-#: ../themes/shamino_com/templates/info.tmpl:153
+#: ../themes/default/templates/info.tmpl:147
 msgid "Subpage"
 msgstr ""
 
 #: ../themes/MonoBook/templates/info.tmpl:158
-#: ../themes/default/templates/info.tmpl:153
-#: ../themes/shamino_com/templates/info.tmpl:158
+#: ../themes/default/templates/info.tmpl:152
 msgid "Page Type:"
 msgstr ""
 
 #: ../themes/MonoBook/templates/info.tmpl:170
 #: ../themes/blog/templates/info.tmpl:5
-#: ../themes/shamino_com/templates/info.tmpl:170
 #: ../themes/smaller/templates/info.tmpl:9
 msgid "Diff previous Revision"
 msgstr ""
 
 #: ../themes/MonoBook/templates/info.tmpl:171
 #: ../themes/blog/templates/info.tmpl:6
-#: ../themes/shamino_com/templates/info.tmpl:171
 #: ../themes/smaller/templates/info.tmpl:10
 msgid "Diff previous Author"
 msgstr ""
 
-#: ../themes/MonoBook/templates/navbar.tmpl:28
-#: ../themes/MonoBook/templates/navbar.tmpl:29
-#: ../themes/Sidebar/templates/navbar.tmpl:16
-#: ../themes/Sidebar/templates/navbar.tmpl:17
+#: ../themes/MonoBook/templates/navbar.tmpl:15
+#, fuzzy
+msgid "The list of recent changes in the wiki."
+msgstr "De %d mest populra sidorna fr den hr wikin:"
+
+#: ../themes/MonoBook/templates/navbar.tmpl:17
+#, fuzzy
+msgid "RecentNewPages"
+msgstr "Senastendringar"
+
+#: ../themes/MonoBook/templates/navbar.tmpl:18
+msgid "Like Pages"
+msgstr ""
+
+#: ../themes/MonoBook/templates/navbar.tmpl:35
+#, fuzzy
+msgid "Search:"
+msgstr "Sk"
+
+#: ../themes/MonoBook/templates/navbar.tmpl:38
+#: ../themes/MonoBook/templates/navbar.tmpl:39
 #: ../themes/default/templates/navbar.tmpl:28
 #: ../themes/default/templates/navbar.tmpl:30
-#: ../themes/default/templates/search.tmpl:13
+#: ../themes/default/templates/search.tmpl:17
 #: ../themes/shamino_com/templates/top.tmpl:24
 #: ../themes/shamino_com/templates/top.tmpl:25
 #: ../themes/smaller/templates/navbar.tmpl:11
 #: ../themes/smaller/templates/navbar.tmpl:12
-#: ../themes/wikilens/templates/navbar.tmpl:19
-#: ../themes/wikilens/templates/navbar.tmpl:21
 msgid "Quick Search"
 msgstr ""
 
-#: ../themes/MonoBook/templates/navbar.tmpl:39
-msgid "Like Pages"
-msgstr ""
-
-#: ../themes/MonoBook/templates/navbar.tmpl:40
+#: ../themes/MonoBook/templates/navbar.tmpl:51
 msgid "What links here"
 msgstr ""
 
-#: ../themes/MonoBook/templates/signin.tmpl:18
-#: ../themes/Wordpress/templates/signin.tmpl:21
-#: ../themes/default/templates/signin.tmpl:25
-#: ../themes/shamino_com/templates/signin.tmpl:25
-#, php-format
-msgid "Authenticated as %s"
+#: ../themes/MonoBook/templates/navbar.tmpl:57
+msgid "Administration"
 msgstr ""
 
-#: ../themes/MonoBook/templates/signin.tmpl:41
-#, php-format
-msgid "Signed as %s"
-msgstr ""
+#: ../themes/MonoBook/templates/navbar.tmpl:60
+#, fuzzy
+msgid "Upload file"
+msgstr "senast ndrad %s"
 
-#: ../themes/MonoBook/templates/signin.tmpl:44
-#: ../themes/Sidebar/templates/signin.tmpl:44
-#: ../themes/Wordpress/templates/signin.tmpl:48
-#: ../themes/default/templates/signin.tmpl:40
-#, php-format
-msgid "Click to authenticate as %s"
+#: ../themes/MonoBook/templates/navbar.tmpl:60
+#, fuzzy
+msgid "Upload images or media files"
+msgstr "senast ndrad %s"
+
+#: ../themes/MonoBook/templates/navbar.tmpl:64
+#: ../themes/MonoBook/templates/navbar.tmpl:69
+#, fuzzy
+msgid "Printable version"
+msgstr "nuvarande version"
+
+#: ../themes/MonoBook/templates/navbar.tmpl:74
+msgid "Display as Pdf"
 msgstr ""
 
-#: ../themes/MonoBook/templates/signin.tmpl:65
-#: ../themes/Sidebar/templates/signin.tmpl:64
-#: ../themes/Wordpress/templates/signin.tmpl:68
-#: ../themes/default/templates/signin.tmpl:59
-msgid "Sign in as:"
+#: ../themes/MonoBook/templates/signin.tmpl:10
+msgid "Logout"
 msgstr ""
 
-#: ../themes/Portland/templates/actionbar.tmpl:8
+#: ../themes/Portland/templates/actionbar.tmpl:6
 msgid "EditText"
 msgstr "RedigeraText"
 
-#: ../themes/Portland/templates/actionbar.tmpl:11
+#: ../themes/Portland/templates/actionbar.tmpl:9
 #, php-format
 msgid "%s of this page"
 msgstr "%s fr den hr sidan"
@@ -6305,20 +7042,21 @@
 msgid "Page Execution took %s seconds"
 msgstr ""
 
-#: ../themes/Portland/templates/editpage.tmpl:48
-#: ../themes/Wordpress/templates/editpage.tmpl:57
+#: ../themes/Portland/templates/editpage.tmpl:44
+#: ../themes/Wordpress/templates/editpage.tmpl:56
 #, php-format
 msgid ""
 "I'm just doing minor edits. Please divert the usual logging to %s instead."
 msgstr ""
 
-#: ../themes/Portland/templates/editpage.tmpl:52
-#: ../themes/default/templates/userprefs.tmpl:195
+#: ../themes/Portland/templates/editpage.tmpl:48
+#: ../themes/default/templates/userprefs.tmpl:196
 msgid "Edit Area Size"
 msgstr ""
 
 #: ../themes/Portland/templates/viewsource.tmpl:6
-#: ../themes/Wordpress/templates/viewsource.tmpl:8
+#: ../themes/Wordpress/templates/viewsource.tmpl:10
+#: ../themes/blog/templates/viewsource.tmpl:7
 #: ../themes/default/templates/viewsource.tmpl:6
 msgid "This page has been locked by the administrator and cannot be edited."
 msgstr "Den hr sidan r lst av administratren och kan ej redigeras."
@@ -6328,28 +7066,37 @@
 msgid "Navigation"
 msgstr ""
 
-#: ../themes/Sidebar/templates/navbar.tmpl:24
+#: ../themes/Sidebar/templates/navbar.tmpl:14
 #, fuzzy
 msgid "Full Search"
 msgstr "Fulltextskning"
 
-#: ../themes/Sidebar/templates/signin.tmpl:18
+#: ../themes/Sidebar/templates/signin.tmpl:17
 #, php-format
 msgid "User: %s"
 msgstr ""
 
-#: ../themes/Sidebar/templates/signin.tmpl:41
+#: ../themes/Sidebar/templates/signin.tmpl:40
 #, php-format
 msgid "(User: %s)"
 msgstr ""
 
-#: ../themes/Sidebar/themeinfo.php:119
-msgid "Sidebar"
+#: ../themes/Sidebar/templates/signin.tmpl:43
+#: ../themes/Wordpress/templates/signin.tmpl:47
+#: ../themes/default/templates/signin.tmpl:40
+#, php-format
+msgid "Click to authenticate as %s"
 msgstr ""
 
-#: ../themes/SpaceWiki/lib/RecentChanges.php:55
-msgid "diff"
-msgstr "diff"
+#: ../themes/Sidebar/templates/signin.tmpl:63
+#: ../themes/Wordpress/templates/signin.tmpl:67
+#: ../themes/default/templates/signin.tmpl:59
+msgid "Sign in as:"
+msgstr ""
+
+#: ../themes/Sidebar/themeinfo.php:37
+msgid "Sidebar"
+msgstr ""
 
 #: ../themes/Wordpress/templates/actionbar.tmpl:8
 msgid "Edit this page"
@@ -6359,66 +7106,90 @@
 msgid "Edit old revision"
 msgstr ""
 
-#: ../themes/Wordpress/templates/signin.tmpl:45
+#: ../themes/Wordpress/templates/signin.tmpl:20
+#: ../themes/default/templates/signin.tmpl:25
+#: ../themes/shamino_com/templates/signin.tmpl:24
+#, php-format
+msgid "Authenticated as %s"
+msgstr ""
+
+#: ../themes/Wordpress/templates/signin.tmpl:44
 #: ../themes/default/templates/signin.tmpl:37
 #, php-format
 msgid "You are signed but not authenticated as %s. "
 msgstr ""
 
-#: ../themes/blog/templates/actionbar.tmpl:15
+#: ../themes/blog/templates/actionbar.tmpl:9
 #, fuzzy
 msgid "Home"
 msgstr "Framsida"
 
-#: ../themes/blog/templates/actionbar.tmpl:18
-msgid "Photos"
+#: ../themes/blog/templates/actionbar.tmpl:13
+msgid "HowTo"
 msgstr ""
 
-#: ../themes/blog/templates/actionbar.tmpl:19
-msgid "HowTo"
+#: ../themes/blog/templates/blogform.tmpl:10
+#: ../themes/default/templates/blogform.tmpl:10
+msgid "Headline"
 msgstr ""
 
-#: ../themes/blog/templates/actionbar.tmpl:32
+#: ../themes/blog/templates/blogform.tmpl:18
+#: ../themes/default/templates/blogform.tmpl:18
 #, fuzzy
-msgid "Page Trail"
-msgstr "Namn p Sidan"
+msgid "Add Entry"
+msgstr "Nuvarande sida:"
 
-#: ../themes/blog/templates/sidebar.tmpl:7
+#: ../themes/blog/templates/sidebar.tmpl:8
 #: ../themes/blog/templates/sidebar.tmpl:12
-#: ../themes/blog/templates/sidebar.tmpl:14
-msgid "Blogs"
+msgid "Blog"
 msgstr ""
 
-#: ../themes/blog/themeinfo.php:55
+#: ../themes/blog/templates/top.tmpl:16
+#, fuzzy
+msgid "Page Trail"
+msgstr "Namn p Sidan"
+
+#: ../themes/blog/themeinfo.php:63
 #, fuzzy
 msgid "SignOut"
 msgstr "Logga ut"
 
-#: ../themes/blog/themeinfo.php:56
+#: ../themes/blog/themeinfo.php:64
 #, fuzzy
 msgid "SignIn"
 msgstr "Anslut"
 
-#: ../themes/blog/themeinfo.php:57
+#: ../themes/blog/themeinfo.php:65
 #, fuzzy
 msgid "Lock"
 msgstr "Lst"
 
-#: ../themes/blog/themeinfo.php:58
+#: ../themes/blog/themeinfo.php:66
 #, fuzzy
 msgid "Unlock"
 msgstr "Ls upp Sida"
 
-#: ../themes/blog/themeinfo.php:117
+#: ../themes/blog/themeinfo.php:122
 msgid "blog"
 msgstr ""
 
+#: ../themes/blog/themeinfo.php:124
+msgid "(diff)"
+msgstr "(diff)"
+
+#: ../themes/default/templates/comment.tmpl:18
+#: ../themes/default/templates/wikiblog.tmpl:18
+#, fuzzy, php-format
+msgid "Modified on %s by %s"
+msgstr "Redigera: %s"
+
 #: ../themes/default/templates/comment.tmpl:28
 #, php-format
 msgid "%s by %s"
 msgstr ""
 
-#: ../themes/default/templates/debug.tmpl:21
+#: ../themes/default/templates/debug.tmpl:20
+#: ../themes/shamino_com/templates/debug.tmpl:11
 #, fuzzy, php-format
 msgid ", Memory: %s"
 msgstr "Redigera: %s"
@@ -6534,6 +7305,10 @@
 msgid "Registered Users Online: "
 msgstr ""
 
+#: ../themes/default/templates/online.tmpl:38
+msgid "<none>"
+msgstr ""
+
 #: ../themes/default/templates/online.tmpl:43
 msgid "Admin is also online."
 msgstr ""
@@ -6599,214 +7374,215 @@
 msgid "Your careful attention to detail is much appreciated."
 msgstr "Din omstnksamhet fr detaljer r mycket uppskattad."
 
-#: ../themes/default/templates/savepage.tmpl:10
-msgid "Warning!"
-msgstr "Varning!"
-
-#: ../themes/default/templates/userprefs.tmpl:62
-#: ../themes/default/templates/userprefs.tmpl:64
+#: ../themes/default/templates/userprefs.tmpl:63
+#: ../themes/default/templates/userprefs.tmpl:65
 msgid "<system theme>"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:73
-#: ../themes/default/templates/userprefs.tmpl:99
+#: ../themes/default/templates/userprefs.tmpl:74
+#: ../themes/default/templates/userprefs.tmpl:100
 msgid "Personal theme:"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:79
-#: ../themes/default/templates/userprefs.tmpl:81
+#: ../themes/default/templates/userprefs.tmpl:80
+#: ../themes/default/templates/userprefs.tmpl:82
 msgid "<system language>"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:90
-#: ../themes/default/templates/userprefs.tmpl:100
+#: ../themes/default/templates/userprefs.tmpl:91
+#: ../themes/default/templates/userprefs.tmpl:101
 msgid "Personal language:"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:109
+#: ../themes/default/templates/userprefs.tmpl:110
 #, php-format
 msgid "User preferences for user '%s':"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:118
+#: ../themes/default/templates/userprefs.tmpl:119
 msgid "UserId"
 msgstr "Namn"
 
-#: ../themes/default/templates/userprefs.tmpl:122
+#: ../themes/default/templates/userprefs.tmpl:123
 msgid "Auth Level"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:122
+#: ../themes/default/templates/userprefs.tmpl:123
 msgid "Auth Method"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:126
+#: ../themes/default/templates/userprefs.tmpl:127
 msgid "Theme"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:126
+#: ../themes/default/templates/userprefs.tmpl:127
 msgid "Current Theme"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:127
+#: ../themes/default/templates/userprefs.tmpl:128
 msgid "Language"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:127
+#: ../themes/default/templates/userprefs.tmpl:128
 msgid "Current Language"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:133
+#: ../themes/default/templates/userprefs.tmpl:134
 msgid "Change Password"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:133
+#: ../themes/default/templates/userprefs.tmpl:134
 msgid "Set Password"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:135
+#: ../themes/default/templates/userprefs.tmpl:136
 msgid "New password"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:138
+#: ../themes/default/templates/userprefs.tmpl:139
 msgid "Type it again"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:144
+#: ../themes/default/templates/userprefs.tmpl:145
 msgid "E-mail"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:146
+#: ../themes/default/templates/userprefs.tmpl:147
 msgid "Your E-Mail:"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:154
+#: ../themes/default/templates/userprefs.tmpl:155
 msgid "Status:"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:156
+#: ../themes/default/templates/userprefs.tmpl:157
 msgid "Email verified."
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:158
+#: ../themes/default/templates/userprefs.tmpl:159
 msgid "Email not yet verified."
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:160
+#: ../themes/default/templates/userprefs.tmpl:161
 msgid "Note, that user accounts with bouncing emails will be disabled."
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:163
+#: ../themes/default/templates/userprefs.tmpl:164
 msgid "Get an email notification at changes of the following pages:"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:166
+#: ../themes/default/templates/userprefs.tmpl:167
 msgid ""
 "Enter pages seperated by space or comma. Wildcards (fileglobbing) allowed."
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:173
+#: ../themes/default/templates/userprefs.tmpl:174
 msgid "Appearance"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:175
+#: ../themes/default/templates/userprefs.tmpl:176
 msgid "Here you can override site-specific default values."
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:176
+#: ../themes/default/templates/userprefs.tmpl:177
 msgid "Currently not recommended!"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:180
-#: ../themes/default/templates/userprefs.tmpl:183
+#: ../themes/default/templates/userprefs.tmpl:181
+#: ../themes/default/templates/userprefs.tmpl:184
 msgid "System default:"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:184
+#: ../themes/default/templates/userprefs.tmpl:185
 #, php-format
 msgid "Hide %s:"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:186
+#: ../themes/default/templates/userprefs.tmpl:187
 msgid ""
 "Hide or show LinkIcons (if supported by the current theme). Useful for text-"
 "only browsers or slow connections."
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:187
+#: ../themes/default/templates/userprefs.tmpl:188
 #, php-format
 msgid "Add %s:"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:189
+#: ../themes/default/templates/userprefs.tmpl:190
 #, php-format
 msgid ""
 "Add Google links to unknown pages behind the '?', and the create action "
 "behind the pagename instead. See %s."
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:190
+#: ../themes/default/templates/userprefs.tmpl:191
 msgid "Enable DoubleClick Edit"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:192
+#: ../themes/default/templates/userprefs.tmpl:193
 #, php-format
 msgid ""
 "Enabled makes it hard to double-click words and sentences for cut and paste. "
 "See %s."
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:198
+#: ../themes/default/templates/userprefs.tmpl:199
 msgid "Height"
 msgstr "Hjd"
 
-#: ../themes/default/templates/userprefs.tmpl:205
+#: ../themes/default/templates/userprefs.tmpl:206
 msgid "Width"
 msgstr "Bredd"
 
-#: ../themes/default/templates/userprefs.tmpl:214
+#: ../themes/default/templates/userprefs.tmpl:215
 msgid ""
 "Note that many browsers will automatically adjust the width of the editing "
 "area so that it fills the browser window.  In this case, the width "
 "preference will be ignored."
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:217
+#: ../themes/default/templates/userprefs.tmpl:218
 msgid "Time Zone"
 msgstr "Timme Zon"
 
-#: ../themes/default/templates/userprefs.tmpl:220
+#: ../themes/default/templates/userprefs.tmpl:221
 #, php-format
 msgid "Add %s hours to the server's local time when reporting times."
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:224
+#: ../themes/default/templates/userprefs.tmpl:225
 #, php-format
 msgid "The current time at the server is %s."
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:226
+#: ../themes/default/templates/userprefs.tmpl:227
 #, php-format
 msgid "With the current offset, this would be reported as %s."
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:231
+#: ../themes/default/templates/userprefs.tmpl:232
 msgid "Date Format"
 msgstr ""
 
 # fuzzy
-#: ../themes/default/templates/userprefs.tmpl:234
+#: ../themes/default/templates/userprefs.tmpl:235
 msgid "Show relative dates using 'Today' and 'Yesterday'"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:241
+#: ../themes/default/templates/userprefs.tmpl:242
 msgid "Update Preferences"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:242
+#: ../themes/default/templates/userprefs.tmpl:243
 msgid "Remove Preferences"
 msgstr ""
 
+#: ../themes/default/templates/wikiblog.tmpl:23
+#, php-format
+msgid "Entry on %s by %s."
+msgstr ""
+
 #: ../themes/default/templates/wikiforum.tmpl:20
 msgid "New Topic"
 msgstr ""
@@ -6821,47 +7597,90 @@
 msgstr ""
 
 #, fuzzy
-#~ msgid "Warning"
-#~ msgstr "Varning!"
+#~ msgid "Pagename(s): "
+#~ msgstr "Namn p Sidan"
 
 #, fuzzy
-#~ msgid "Category"
-#~ msgstr "Nuvarande sida:"
+#~ msgid "Help/SemanticSearchAdvancedPlugin"
+#~ msgstr "Sk"
 
 #, fuzzy
-#~ msgid "BlockQuote"
-#~ msgstr "lst"
+#~ msgid "Wanted Pages for %s (%d total):"
+#~ msgstr "De %d mest populra sidorna fr den hr wikin:"
 
 #, fuzzy
-#~ msgid "PreferenceApp"
-#~ msgstr "Instllningar"
+#~ msgid "Wanted Pages in this wiki (%d total):"
+#~ msgstr "De %d mest populra sidorna fr den hr wikin:"
 
-#~ msgid "Last Modified:"
-#~ msgstr "ndringsdatum:"
+#, fuzzy
+#~ msgid "Count"
+#~ msgstr "Innehll"
 
-#~ msgid "Last Author:"
-#~ msgstr "Gregende Frfattare:"
+#, fuzzy
+#~ msgid "WatchList"
+#~ msgstr "Bredd"
 
 #, fuzzy
-#~ msgid "Author:"
-#~ msgstr "Frfattare:"
+#~ msgid "Remove Comment"
+#~ msgstr "Ta bort sida"
 
 #, fuzzy
-#~ msgid "Welcome to %s"
-#~ msgstr "Kopia r [%s]"
+#~ msgid "Invalid username"
+#~ msgstr "Ange ett sidnamn!"
 
 #, fuzzy
-#~ msgid "Are you sure you want to save these access restrictions?"
+#~ msgid "Delete"
 #~ msgstr "Ta bort sida nu"
 
 #, fuzzy
-#~ msgid "Continue"
-#~ msgstr "Innehll"
+#~ msgid "Upload files"
+#~ msgstr "senast ndrad %s"
+
+#, fuzzy
+#~ msgid "Upload zip file"
+#~ msgstr "senast ndrad %s"
+
+#, fuzzy
+#~ msgid " from author %s"
+#~ msgstr "frn %s"
+
+#~ msgid "GoodStyle"
+#~ msgstr "BraStil"
+
+#~ msgid "TextFormattingRules"
+#~ msgstr "Textformateringsregler"
+
+#, fuzzy
+#~ msgid "Reverted page '%s' to version '%s'."
+#~ msgstr "Stter in sidan %s, version %s frn %s"
 
 #, fuzzy
-#~ msgid "Selected Pages: %s"
+#~ msgid ""
+#~ "Are you sure you want to overwrite the selected files with the previous "
+#~ "version?"
+#~ msgstr "Ta bort sida nu"
+
+#, fuzzy
+#~ msgid "Revert selected pages"
 #~ msgstr "Visa kllkoden fr %s"
 
+#~ msgid "Warning!"
+#~ msgstr "Varning!"
+
+#, fuzzy
+#~ msgid "BlockQuote"
+#~ msgstr "lst"
+
+#~ msgid "Last Modified:"
+#~ msgstr "ndringsdatum:"
+
+#~ msgid "Last Author:"
+#~ msgstr "Gregende Frfattare:"
+
+#, fuzzy
+#~ msgid "Continue"
+#~ msgstr "Innehll"
+
 #, fuzzy
 #~ msgid "View source"
 #~ msgstr "Visa Kllkoden"
@@ -6886,10 +7705,6 @@
 #~ msgid "Summary:"
 #~ msgstr "Kommentar:"
 
-#, fuzzy
-#~ msgid "Comment:"
-#~ msgstr "Innehll"
-
 #~ msgid "Last Summary:"
 #~ msgstr "Senaste Kommentar:"
 
@@ -6945,10 +7760,6 @@
 #~ msgstr "De %d mest populra sidorna fr den hr wikin:"
 
 #, fuzzy
-#~ msgid "diff pages in this wiki"
-#~ msgstr "De %d mest populra sidorna fr den hr wikin:"
-
-#, fuzzy
 #~ msgid "dump serial pages from this wiki"
 #~ msgstr "De %d mest populra sidorna fr den hr wikin:"
 
@@ -6964,10 +7775,6 @@
 #~ msgid "unlock pages in this wiki"
 #~ msgstr "De %d mest populra sidorna fr den hr wikin:"
 
-#, fuzzy
-#~ msgid "view the source of pages in this wiki"
-#~ msgstr "De %d mest populra sidorna fr den hr wikin:"
-
 #~ msgid "Lists nested too deep in SetHTMLOutputMode"
 #~ msgstr "Stackgrns verskriden i SetHTMLOutputMode"
 
@@ -7097,9 +7904,6 @@
 #~ msgid "Insert/update failed: %s"
 #~ msgstr "Insttning/uppdatering misslyckades: %s"
 
-#~ msgid "Delete on %s failed: %s"
-#~ msgstr "Borttagning p %s misslyckades: %s"
-
 #~ msgid "MySQL error: %s"
 #~ msgstr "MySQL-fel: %s"
 
@@ -7111,6 +7915,3 @@
 
 #~ msgid "(first day for this Wiki)"
 #~ msgstr "(frsta dagen fr den hr Wikin)"
-
-#~ msgid "Inserting page %s, version %s from %s"
-#~ msgstr "Stter in sidan %s, version %s frn %s"
diff -ruN 1.3.12p3/locale/po/zh.po 1.3.14/locale/po/zh.po
--- 1.3.12p3/locale/po/zh.po	2006-06-18 06:19:38.000000000 -0500
+++ 1.3.14/locale/po/zh.po	2007-07-01 05:11:18.000000000 -0500
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: PhpWiki-1.3.9\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2006-06-18 10:46+0000\n"
+"POT-Creation-Date: 2007-07-01 10:07+0000\n"
 "PO-Revision-Date: 2004-04-21 10:08+0800\n"
 "Last-Translator: DruryL <druryl@user.sourceforge.net>\n"
 "Language-Team: DruryL <druryl@users.sourceforge.net>\n"
@@ -14,6 +14,29 @@
 "Content-Type: text/plain; charset=utf-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
+#: ../lib/CachedMarkup.php:478
+msgid "BAD semantic relation link"
+msgstr ""
+
+#: ../lib/CachedMarkup.php:505
+#, php-format
+msgid "Attribute %s, base value: %s"
+msgstr ""
+
+#: ../lib/CachedMarkup.php:506
+#, php-format
+msgid "Attribute %s, value: %s"
+msgstr ""
+
+#: ../lib/CachedMarkup.php:514
+#, fuzzy, php-format
+msgid "Relation %s to page %s"
+msgstr "版本 %s, 存於 %s."
+
+#: ../lib/CachedMarkup.php:569
+msgid "Found by "
+msgstr ""
+
 #: ../lib/Captcha.php:32
 msgid "Typed in verification word mismatch ... are you a bot?"
 msgstr ""
@@ -44,228 +67,301 @@
 msgid "Supported handlers are: %s"
 msgstr "已支援的佈景主題"
 
-#: ../lib/EditToolbar.php:42
+#: ../lib/EditToolbar.php:29
 msgid "Undo"
 msgstr ""
 
-#: ../lib/EditToolbar.php:48
+#: ../lib/EditToolbar.php:31
 #, fuzzy
 msgid "Undo disabled"
 msgstr "<未能顯示>"
 
-#: ../lib/EditToolbar.php:57 ../lib/EditToolbar.php:253
-#: ../lib/EditToolbar.php:254 ../lib/plugin/WikiAdminSearchReplace.php:187
+#: ../lib/EditToolbar.php:32
+msgid "Operation undone"
+msgstr ""
+
+#: ../lib/EditToolbar.php:33
+msgid "Substring \"\\1\" found \\2 times. Replace with \"\\3\"?"
+msgstr ""
+
+#: ../lib/EditToolbar.php:34
+#, fuzzy, php-format
+msgid "String \"%s\" not found."
+msgstr "未找到頁面 %s."
+
+#: ../lib/EditToolbar.php:35 ../lib/EditToolbar.php:200
+#: ../lib/EditToolbar.php:201 ../lib/plugin/WikiAdminSearchReplace.php:187
 msgid "Search & Replace"
 msgstr "搜尋與取代"
 
-#: ../lib/EditToolbar.php:59 ../lib/plugin/InterWikiSearch.php:91
-#: ../lib/plugin/RecentChanges.php:591 ../themes/Crao/templates/navbar.tmpl:42
-#: ../themes/Crao/templates/navbar.tmpl:44
-#: ../themes/Crao/templates/navbar.tmpl:48
-#: ../themes/blog/templates/search.tmpl:6
-#: ../themes/blog/templates/search.tmpl:7
-#: ../themes/blog/templates/search.tmpl:9
-#: ../themes/blog/templates/search.tmpl:13
-#: ../themes/default/templates/search.tmpl:10
-#: ../themes/default/templates/search.tmpl:11
-#: ../themes/default/templates/search.tmpl:18
-msgid "Search"
+#: ../lib/EditToolbar.php:36
+#, fuzzy
+msgid "Search for"
 msgstr "搜尋"
 
-#: ../lib/EditToolbar.php:61
+#: ../lib/EditToolbar.php:37
 #, fuzzy
 msgid "Replace with"
 msgstr "取代:"
 
-#: ../lib/EditToolbar.php:63 ../lib/upgrade.php:375 ../lib/upgrade.php:384
-#: ../lib/upgrade.php:393 ../lib/upgrade.php:414 ../lib/upgrade.php:442
-#: ../lib/upgrade.php:492 ../lib/upgrade.php:495 ../lib/upgrade.php:526
-#: ../lib/upgrade.php:528 ../lib/upgrade.php:555 ../lib/upgrade.php:608
-#: ../lib/upgrade.php:727 ../lib/upgrade.php:730 ../lib/upgrade.php:782
-#: ../lib/upgrade.php:840 ../lib/upgrade.php:850
+#: ../lib/EditToolbar.php:38 ../lib/plugin/SyncWiki.php:302
+#: ../lib/plugin/SyncWiki.php:328 ../lib/plugin/SyncWiki.php:351
+#: ../lib/plugin/WikiPoll.php:224 ../lib/upgrade.php:212
+#: ../lib/upgrade.php:415 ../lib/upgrade.php:429 ../lib/upgrade.php:449
+#: ../lib/upgrade.php:458 ../lib/upgrade.php:482 ../lib/upgrade.php:510
+#: ../lib/upgrade.php:560 ../lib/upgrade.php:563 ../lib/upgrade.php:595
+#: ../lib/upgrade.php:597 ../lib/upgrade.php:624 ../lib/upgrade.php:684
+#: ../lib/upgrade.php:709 ../lib/upgrade.php:852 ../lib/upgrade.php:855
+#: ../lib/upgrade.php:906
 msgid "OK"
 msgstr ""
 
-#: ../lib/EditToolbar.php:65 ../lib/EditToolbar.php:308
-#: ../lib/EditToolbar.php:354 ../lib/EditToolbar.php:378
-#: ../lib/EditToolbar.php:411
+#: ../lib/EditToolbar.php:39 ../lib/EditToolbar.php:261
+#: ../lib/EditToolbar.php:308 ../lib/EditToolbar.php:338
+#: ../lib/EditToolbar.php:372
 msgid "Close"
 msgstr ""
 
-#: ../lib/EditToolbar.php:80
-#, php-format
-msgid "Substring \"%s\" found %s times. Replace with \"%s\"?"
+#: ../lib/EditToolbar.php:107
+msgid "Bold text"
 msgstr ""
 
-#: ../lib/EditToolbar.php:82
-#, fuzzy, php-format
-msgid "String \"%s\" not found."
-msgstr "未找到頁面 %s."
-
-#: ../lib/EditToolbar.php:105
-msgid "Operation undone"
+#: ../lib/EditToolbar.php:108
+msgid "Bold text [alt-b]"
 msgstr ""
 
-#: ../lib/EditToolbar.php:167 ../lib/EditToolbar.php:168
-msgid "Bold text"
+#: ../lib/EditToolbar.php:112
+msgid "Italic text"
 msgstr ""
 
-#: ../lib/EditToolbar.php:172 ../lib/EditToolbar.php:173
-msgid "Italic text"
+#: ../lib/EditToolbar.php:113
+msgid "Italic text [alt-i]"
 msgstr ""
 
-#: ../lib/EditToolbar.php:177
+#: ../lib/EditToolbar.php:117
 msgid "optional label | PageName"
 msgstr ""
 
-#: ../lib/EditToolbar.php:178
+#: ../lib/EditToolbar.php:118
 #, fuzzy
 msgid "Link to page"
 msgstr "解除鎖定此頁面"
 
-#: ../lib/EditToolbar.php:182
+#: ../lib/EditToolbar.php:122
 msgid "optional label | http://www.example.com"
 msgstr ""
 
-#: ../lib/EditToolbar.php:183
+#: ../lib/EditToolbar.php:123
 msgid "External link (remember http:// prefix)"
 msgstr ""
 
-#: ../lib/EditToolbar.php:187
+#: ../lib/EditToolbar.php:127
 msgid "Headline text"
 msgstr ""
 
-#: ../lib/EditToolbar.php:188
+#: ../lib/EditToolbar.php:128
 msgid "Level 1 headline"
 msgstr ""
 
-#: ../lib/EditToolbar.php:192
+#: ../lib/EditToolbar.php:132
 msgid "Example.jpg"
 msgstr ""
 
-#: ../lib/EditToolbar.php:193
+#: ../lib/EditToolbar.php:133
 msgid "Embedded image"
 msgstr ""
 
-#: ../lib/EditToolbar.php:197
+#: ../lib/EditToolbar.php:137
 msgid "Insert non-formatted text here"
 msgstr ""
 
-#: ../lib/EditToolbar.php:198
+#: ../lib/EditToolbar.php:138
 msgid "Ignore wiki formatting"
 msgstr ""
 
-#: ../lib/EditToolbar.php:203
+#: ../lib/EditToolbar.php:143
 #, fuzzy
 msgid "Your signature"
 msgstr "你的版本"
 
-#: ../lib/EditToolbar.php:208
+#: ../lib/EditToolbar.php:148
 msgid "Horizontal line"
 msgstr ""
 
-#: ../lib/EditToolbar.php:210 ../lib/EditToolbar.php:212
-#: ../lib/editpage.php:567
+#: ../lib/EditToolbar.php:150 ../lib/EditToolbar.php:152
+#: ../lib/WysiwygEdit/Wikiwyg.php:85 ../lib/editpage.php:664
 msgid "Save"
 msgstr "儲存"
 
-#: ../lib/EditToolbar.php:214 ../lib/EditToolbar.php:216
-#: ../lib/editpage.php:563
+#: ../lib/EditToolbar.php:157 ../lib/EditToolbar.php:159
+#: ../lib/WysiwygEdit/Wikiwyg.php:84 ../lib/editpage.php:657
 msgid "Preview"
 msgstr "預覽"
 
-#: ../lib/EditToolbar.php:232
+#: ../lib/EditToolbar.php:179
 msgid "Click a button to get an example text"
 msgstr ""
 
-#: ../lib/EditToolbar.php:245 ../lib/EditToolbar.php:246
+#: ../lib/EditToolbar.php:192 ../lib/EditToolbar.php:193
 #, fuzzy
 msgid "Undo Search & Replace"
 msgstr "搜尋與取代"
 
-#: ../lib/EditToolbar.php:302 ../lib/EditToolbar.php:303
+#: ../lib/EditToolbar.php:255
 #, fuzzy
 msgid "AddCategory"
 msgstr "CategoryPage"
 
-#: ../lib/EditToolbar.php:305
+#: ../lib/EditToolbar.php:258
 msgid "Insert Categories (double-click)"
 msgstr ""
 
-#: ../lib/EditToolbar.php:307 ../lib/EditToolbar.php:353
-#: ../lib/EditToolbar.php:377 ../lib/EditToolbar.php:410
+#: ../lib/EditToolbar.php:260 ../lib/EditToolbar.php:307
+#: ../lib/EditToolbar.php:337 ../lib/EditToolbar.php:371
 msgid "Insert"
 msgstr ""
 
-#: ../lib/EditToolbar.php:348 ../lib/EditToolbar.php:349
+#: ../lib/EditToolbar.php:302 ../lib/EditToolbar.php:303
 #, fuzzy
 msgid "AddPlugin"
 msgstr "Plugin"
 
-#: ../lib/EditToolbar.php:351
+#: ../lib/EditToolbar.php:305
 msgid "Insert Plugin (double-click)"
 msgstr ""
 
-#: ../lib/EditToolbar.php:372 ../lib/EditToolbar.php:373
+#: ../lib/EditToolbar.php:332 ../lib/EditToolbar.php:333
 #, fuzzy
 msgid "AddPageLink"
 msgstr "AddingPages"
 
-#: ../lib/EditToolbar.php:375
+#: ../lib/EditToolbar.php:335
 msgid "Insert PageLink (double-click)"
 msgstr ""
 
-#: ../lib/EditToolbar.php:405 ../lib/EditToolbar.php:406
+#: ../lib/EditToolbar.php:366 ../lib/EditToolbar.php:367
 msgid "AddTemplate"
 msgstr ""
 
-#: ../lib/EditToolbar.php:408
+#: ../lib/EditToolbar.php:369
 msgid "Insert Template (double-click)"
 msgstr ""
 
-#: ../lib/ErrorManager.php:210
+#: ../lib/ErrorManager.php:211
 #, php-format
 msgid "%s: error while handling error:"
 msgstr "%s: 處理錯誤時發生錯誤"
 
-#: ../lib/FileFinder.php:191 ../lib/loadsave.php:967
+#: ../lib/FileFinder.php:191 ../lib/loadsave.php:1026
 #, php-format
 msgid "%s: file not found"
 msgstr "%s: 找不到檔案."
 
-#: ../lib/IniConfig.php:732
+#: ../lib/IniConfig.php:799
 msgid "CategoryGroup"
 msgstr "CategoryGroup"
 
-#: ../lib/IniConfig.php:734
+#: ../lib/IniConfig.php:801
 msgid "An unnamed PhpWiki"
 msgstr "未被命名的 PhpWiki"
 
-#: ../lib/IniConfig.php:736 ../lib/upgrade.php:149
-#: ../themes/Wordpress/templates/actionbar.tmpl:18
-#: ../themes/default/templates/userprefs.tmpl:123
+#: ../lib/IniConfig.php:803 ../lib/upgrade.php:172
+#: ../themes/Wordpress/templates/actionbar.tmpl:19
+#: ../themes/blog/templates/browse-footer.tmpl:6
+#: ../themes/default/templates/userprefs.tmpl:124
 msgid "HomePage"
 msgstr "首頁"
 
-#: ../lib/InlineParser.php:336
+#: ../lib/InlineParser.php:335
 msgid "Invalid [] syntax ignored"
 msgstr ""
 
-#: ../lib/InlineParser.php:652
+#: ../lib/InlineParser.php:736
 #, php-format
 msgid "unknown color %s ignored"
 msgstr ""
 
-#: ../lib/PageList.php:104
+#: ../lib/MailNotify.php:129
+#, fuzzy, php-format
+msgid "PageChange Notification of %s"
+msgstr "PageChange 通知 %s"
+
+#: ../lib/MailNotify.php:156
+#, fuzzy, php-format
+msgid "sent to %s"
+msgstr "回到 %s"
+
+#: ../lib/MailNotify.php:162
+#, fuzzy, php-format
+msgid "Error: Couldn't send %s to %s"
+msgstr "無法為頁面 '%s' 變更權限為 '%s'."
+
+#: ../lib/MailNotify.php:184
+#, fuzzy
+msgid "Page change"
+msgstr "沒有頁面被變更."
+
+#: ../lib/MailNotify.php:211 ../lib/loadsave.php:841
+#: ../lib/plugin/RecentChanges.php:109
+#, fuzzy
+msgid "New page"
+msgstr "新頁面."
+
+#: ../lib/MailNotify.php:213 ../lib/MailNotify.php:231 ../lib/loadsave.php:93
+#, php-format
+msgid "Edited by: %s"
+msgstr "由 %s 編輯"
+
+#: ../lib/MailNotify.php:232
+#, fuzzy, php-format
+msgid "Page rename %s to %s"
+msgstr "頁面名稱以 '%s' 開頭的"
+
+#: ../lib/MailNotify.php:269
+#, fuzzy, php-format
+msgid "Removed by: %s"
+msgstr "由 %s 編輯"
+
+#: ../lib/MailNotify.php:271
+#, fuzzy, php-format
+msgid "Page removed %s"
+msgstr "頁面已被鎖定"
+
+#: ../lib/MailNotify.php:320
+#, fuzzy
+msgid "e-mail address confirmation"
+msgstr "Email 驗證."
+
+#: ../lib/MailNotify.php:323
+#, php-format
+msgid ""
+"Someone, probably you from IP address %s, has registered an\n"
+"account \"%s\" with this e-mail address on %s.\n"
+"\n"
+"To confirm that this account really does belong to you and activate\n"
+"e-mail features on %s, open this link in your browser:\n"
+"\n"
+"%s\n"
+"\n"
+"If this is *not* you, don't follow the link. This confirmation code\n"
+"will expire at %s."
+msgstr ""
+
+#: ../lib/PageList.php:109
 #, php-format
 msgid "Sort by %s"
 msgstr "以 %s 排序"
 
-#: ../lib/PageList.php:149
+#: ../lib/PageList.php:139
+#, fuzzy
+msgid "reverse"
+msgstr "重設"
+
+#: ../lib/PageList.php:153
 msgid "Click to reverse sort order"
 msgstr "點擊以反轉排列順序"
 
-#: ../lib/PageList.php:157
+#: ../lib/PageList.php:160
 #, php-format
 msgid "Click to sort by %s"
 msgstr "點擊以 %s 排序"
@@ -274,105 +370,100 @@
 msgid "Click to de-/select all pages"
 msgstr "點擊以取消選擇或選擇所有頁面"
 
-#: ../lib/PageList.php:366 ../lib/plugin/UnfoldSubpages.php:132
+#: ../lib/PageList.php:370 ../lib/plugin/UnfoldSubpages.php:132
 #, php-format
 msgid " ... first %d bytes"
 msgstr " ... 頭 %d bytes"
 
-#: ../lib/PageList.php:372
+#: ../lib/PageList.php:376
 #, php-format
 msgid " ... around %s"
 msgstr "... 包圍 %s"
 
-#: ../lib/PageList.php:402 ../lib/plugin/AppendText.php:57
-#: ../lib/upgrade.php:810
+#: ../lib/PageList.php:406 ../lib/plugin/AppendText.php:57
 #, php-format
 msgid "%s not found"
 msgstr "%s 找不到."
 
-#: ../lib/PageList.php:466 ../lib/plugin/AuthorHistory.php:174
-#: ../lib/plugin/WantedPagesOld.php:151
+#: ../lib/PageList.php:480 ../lib/plugin/AuthorHistory.php:174
 msgid "Page Name"
 msgstr "頁面名稱"
 
-#: ../lib/PageList.php:555 ../lib/plugin/FullTextSearch.php:107
+#: ../lib/PageList.php:609 ../lib/plugin/FullTextSearch.php:112
 msgid "<no matches>"
 msgstr "<沒有相符>"
 
-#: ../lib/PageList.php:934 ../lib/plugin/WikiAdminSearchReplace.php:171
+#: ../lib/PageList.php:1036 ../lib/plugin/WikiAdminSearchReplace.php:171
 msgid "Content"
 msgstr "內容"
 
-#: ../lib/PageList.php:950
+#: ../lib/PageList.php:1052
 msgid "Select"
 msgstr "選擇"
 
-#: ../lib/PageList.php:954 ../themes/MonoBook/templates/info.tmpl:71
-#: ../themes/default/templates/info.tmpl:64
-#: ../themes/shamino_com/templates/info.tmpl:70
+#: ../lib/PageList.php:1056 ../themes/MonoBook/templates/info.tmpl:71
+#: ../themes/default/templates/info.tmpl:63
 msgid "Last Modified"
 msgstr "最後修改"
 
-#: ../lib/PageList.php:956
+#: ../lib/PageList.php:1058
 msgid "Hits"
 msgstr "點擊"
 
-#: ../lib/PageList.php:958 ../themes/Crao/templates/editpage.tmpl:37
+#: ../lib/PageList.php:1060 ../themes/Crao/templates/editpage.tmpl:37
 #: ../themes/Wordpress/templates/editpage.tmpl:38
 #: ../themes/default/templates/editpage.tmpl:39
 msgid "Size"
 msgstr "大小"
 
-#: ../lib/PageList.php:961 ../themes/MonoBook/templates/info.tmpl:73
-#: ../themes/default/templates/info.tmpl:66
-#: ../themes/shamino_com/templates/info.tmpl:72
+#: ../lib/PageList.php:1063 ../themes/MonoBook/templates/info.tmpl:73
+#: ../themes/default/templates/info.tmpl:65
 msgid "Last Summary"
 msgstr "最後摘要"
 
-#: ../lib/PageList.php:963 ../lib/plugin/AuthorHistory.php:123
+#: ../lib/PageList.php:1065 ../lib/plugin/AuthorHistory.php:123
 #: ../lib/plugin/AuthorHistory.php:176 ../lib/plugin/PluginManager.php:90
 msgid "Version"
 msgstr "版本"
 
-#: ../lib/PageList.php:966 ../themes/MonoBook/templates/info.tmpl:72
-#: ../themes/default/templates/info.tmpl:65
-#: ../themes/shamino_com/templates/info.tmpl:71
+#: ../lib/PageList.php:1068 ../themes/MonoBook/templates/info.tmpl:72
+#: ../themes/default/templates/info.tmpl:64
 msgid "Last Author"
 msgstr "最後一位修改的作者"
 
-#: ../lib/PageList.php:968 ../lib/WikiGroup.php:36
+#: ../lib/PageList.php:1070 ../lib/WikiGroup.php:36
 msgid "Owner"
 msgstr "擁有者"
 
-#: ../lib/PageList.php:970 ../lib/WikiGroup.php:37
+#: ../lib/PageList.php:1072 ../lib/WikiGroup.php:37
 msgid "Creator"
 msgstr "建立者"
 
-#: ../lib/PageList.php:976 ../themes/Crao/templates/editpage.tmpl:61
+#: ../lib/PageList.php:1078 ../themes/Crao/templates/editpage.tmpl:61
 #: ../themes/MonoBook/templates/info.tmpl:132
-#: ../themes/default/templates/editpage.tmpl:73
-#: ../themes/default/templates/info.tmpl:127
-#: ../themes/shamino_com/templates/info.tmpl:132
+#: ../themes/Wordpress/templates/editpage.tmpl:61
+#: ../themes/default/templates/editpage.tmpl:74
+#: ../themes/default/templates/info.tmpl:126
 msgid "Locked"
 msgstr "已鎖定"
 
-#: ../lib/PageList.php:977
+#: ../lib/PageList.php:1079
 msgid "locked"
 msgstr "被鎖定"
 
-#: ../lib/PageList.php:980
+#: ../lib/PageList.php:1082
 msgid "Minor Edit"
 msgstr "次要編輯"
 
-#: ../lib/PageList.php:980
+#: ../lib/PageList.php:1082
 msgid "minor"
 msgstr "次要"
 
-#: ../lib/PageList.php:982
+#: ../lib/PageList.php:1084
 msgid "Markup"
 msgstr "標記"
 
-#: ../lib/PageList.php:1239 ../lib/plugin/WantedPagesOld.php:178
+#: ../lib/PageList.php:1357
 #, php-format
 msgid "Columns: %s."
 msgstr "行: %s."
@@ -410,57 +501,54 @@
 msgid "Unsupported ACL access type %s ignored."
 msgstr "忽略不支援的 ACL 存取型態 %s."
 
-#: ../lib/PagePerm.php:558
+#: ../lib/PagePerm.php:561
 msgid "Access"
 msgstr ""
 
-#: ../lib/PagePerm.php:560
+#: ../lib/PagePerm.php:563
 #, fuzzy
 msgid "Group/User"
 msgstr "群組"
 
-#: ../lib/PagePerm.php:561
+#: ../lib/PagePerm.php:564
 msgid "Grant"
 msgstr ""
 
-#: ../lib/PagePerm.php:562
+#: ../lib/PagePerm.php:565
 msgid "Del/+"
 msgstr ""
 
-#: ../lib/PagePerm.php:563 ../lib/plugin/PluginManager.php:90
-#: ../lib/plugin/WikiAdminSetAcl.php:230
+#: ../lib/PagePerm.php:566 ../lib/plugin/PluginManager.php:90
+#: ../lib/plugin/WikiAdminSetAcl.php:234
 msgid "Description"
 msgstr "描述"
 
-#: ../lib/PagePerm.php:584
+#: ../lib/PagePerm.php:587
 msgid "Add this ACL"
 msgstr ""
 
-#: ../lib/PagePerm.php:608
+#: ../lib/PagePerm.php:611
 msgid "Allow / Deny"
 msgstr ""
 
-#: ../lib/PagePerm.php:620
+#: ../lib/PagePerm.php:623
 msgid "Delete this ACL"
 msgstr ""
 
-#: ../lib/PagePerm.php:646
+#: ../lib/PagePerm.php:649
 msgid "add "
 msgstr ""
 
-#: ../lib/PagePerm.php:650
+#: ../lib/PagePerm.php:653
 msgid "Check to add this ACL"
 msgstr ""
 
-#: ../lib/PageType.php:134 ../lib/loadsave.php:733
-#: ../lib/plugin/InterWikiSearch.php:55 ../lib/plugin/WantedPages.php:54
-#: ../lib/plugin/WantedPagesOld.php:81
+#: ../lib/PageType.php:134 ../lib/loadsave.php:776 ../lib/loadsave.php:1424
+#: ../lib/plugin/InterWikiSearch.php:57 ../lib/plugin/WantedPages.php:55
 #: ../themes/MonoBook/templates/info.tmpl:149
 #: ../themes/MonoBook/templates/info.tmpl:150
+#: ../themes/default/templates/info.tmpl:143
 #: ../themes/default/templates/info.tmpl:144
-#: ../themes/default/templates/info.tmpl:145
-#: ../themes/shamino_com/templates/info.tmpl:149
-#: ../themes/shamino_com/templates/info.tmpl:150
 msgid "InterWikiMap"
 msgstr "InterWikiMap"
 
@@ -468,341 +556,354 @@
 msgid "WARNING: InterWikiMap page is unlocked, so not using those links."
 msgstr ""
 
-#: ../lib/PageType.php:231 ../lib/PageType.php:234 ../lib/stdlib.php:670
-#: ../themes/MonoBook/templates/actionbar.tmpl:15
-#: ../themes/MonoBook/templates/actionbar.tmpl:19
-#: ../themes/MonoBook/templates/actionbar.tmpl:23
-#: ../themes/Sidebar/templates/navbar.tmpl:27
-#: ../themes/Sidebar/templates/navbar.tmpl:29
+#: ../lib/PageType.php:247 ../lib/PageType.php:250 ../lib/stdlib.php:673
+#: ../themes/MonoBook/templates/actionbar.tmpl:14
+#: ../themes/MonoBook/templates/actionbar.tmpl:21
+#: ../themes/MonoBook/templates/actionbar.tmpl:25
+#: ../themes/MonoBook/templates/actionbar.tmpl:31
+#: ../themes/Sidebar/templates/navbar.tmpl:17
+#: ../themes/Sidebar/templates/navbar.tmpl:19
 #: ../themes/default/templates/navbar.tmpl:11
 #: ../themes/default/templates/navbar.tmpl:13
+#: ../themes/wikilens/templates/navbar.tmpl:9
+#: ../themes/wikilens/templates/navbar.tmpl:11
 #, fuzzy
 msgid "Discussion"
 msgstr "權限"
 
-#: ../lib/PageType.php:274 ../lib/loadsave.php:979
+#: ../lib/PageType.php:286 ../lib/loadsave.php:1038
 #, php-format
 msgid "Loading InterWikiMap from external file %s."
 msgstr "從外部檔案 %s 載入 InterWikiMap"
 
-#: ../lib/PageType.php:372
+#: ../lib/PageType.php:384
 msgid "Moniker"
 msgstr "名字"
 
-#: ../lib/PageType.php:373
+#: ../lib/PageType.php:385
 msgid "InterWiki Address"
 msgstr "InterWiki 位址"
 
-#: ../lib/RSSWriter091.php:113 ../lib/loadsave.php:1353
-#: ../lib/plugin/RecentChanges.php:272 ../lib/plugin/RecentChanges.php:287
-#: ../lib/plugin/RecentChanges.php:390 ../lib/plugin/RecentChanges.php:467
-#: ../lib/plugin/RecentChanges.php:603 ../lib/plugin/RecentChanges.php:737
-#: ../themes/Crao/templates/head.tmpl:63
+#: ../lib/RSSWriter091.php:113 ../lib/display.php:120 ../lib/display.php:307
+#: ../lib/loadsave.php:1445 ../lib/plugin/RecentChanges.php:181
+#: ../lib/plugin/RecentChanges.php:188 ../lib/plugin/RecentChanges.php:328
+#: ../lib/plugin/RecentChanges.php:346 ../lib/plugin/RecentChanges.php:523
+#: ../lib/plugin/RecentChanges.php:600 ../lib/plugin/RecentChanges.php:736
+#: ../lib/plugin/RecentChanges.php:1002 ../themes/Crao/templates/head.tmpl:63
 #: ../themes/Crao/templates/navbar.tmpl:13
-#: ../themes/MonoBook/templates/navbar.tmpl:13
-#: ../themes/Portland/templates/navbar.tmpl:28
-#: ../themes/Wordpress/templates/actionbar.tmpl:21
-#: ../themes/blog/templates/actionbar.tmpl:20
+#: ../themes/MonoBook/templates/navbar.tmpl:15
+#: ../themes/Portland/templates/navbar.tmpl:25
+#: ../themes/Wordpress/templates/actionbar.tmpl:22
+#: ../themes/blog/templates/actionbar.tmpl:14
 #: ../themes/default/templates/head.tmpl:69
 #: ../themes/default/templates/navbar.tmpl:19
 #: ../themes/shamino_com/templates/top.tmpl:20
 #: ../themes/smaller/templates/navbar.tmpl:7
 #: ../themes/wikilens/templates/head.tmpl:60
-#: ../themes/wikilens/templates/navbar.tmpl:10
+#: ../themes/wikilens/templates/navbar.tmpl:17
 msgid "RecentChanges"
 msgstr "RecentChanges"
 
-#: ../lib/Request.php:696 ../lib/Request.php:699
+#: ../lib/Request.php:703 ../lib/Request.php:706
 msgid "Upload error: file too big"
 msgstr ""
 
-#: ../lib/Request.php:702
+#: ../lib/Request.php:709
 msgid "Upload error: file only partially recieved"
 msgstr ""
 
-#: ../lib/Request.php:705
+#: ../lib/Request.php:712
 msgid "Upload error: no file selected"
 msgstr ""
 
-#: ../lib/Request.php:708
+#: ../lib/Request.php:715
 msgid "Upload error: unknown error #"
 msgstr ""
 
-#: ../lib/Request.php:815 ../lib/main.php:1160 ../lib/main.php:1173
+#: ../lib/Request.php:824 ../lib/main.php:1221 ../lib/main.php:1234
 #, php-format
 msgid "%s is not writable."
 msgstr "%s 無法寫入."
 
-#: ../lib/Request.php:815
+#: ../lib/Request.php:824
 msgid "The PhpWiki access log file"
 msgstr "PhpWiki 存取日誌檔案"
 
-#: ../lib/Request.php:817 ../lib/main.php:1163
+#: ../lib/Request.php:826 ../lib/main.php:1224
 #, fuzzy, php-format
 msgid "Please ensure that %s is writable, or redefine %s in config/config.ini."
 msgstr "請確定 %s 可以寫入,或重新定義 index.php 裡的 %s."
 
-#: ../lib/Request.php:818
+#: ../lib/Request.php:827
 #, php-format
 msgid "the file '%s'"
 msgstr "檔案 '%s'"
 
-#: ../lib/Template.php:175
+#: ../lib/SemanticWeb.php:135
+msgid "URIResolver"
+msgstr ""
+
+#: ../lib/SemanticWeb.php:149 ../lib/plugin/SemanticSearch.php:302
+#, fuzzy
+msgid "Relation"
+msgstr "相關連結"
+
+#: ../lib/SemanticWeb.php:151 ../lib/plugin/SemanticSearch.php:375
+msgid "Attribute"
+msgstr ""
+
+#: ../lib/Template.php:178
 #, php-format
 msgid "%4d  %s\n"
 msgstr "%4d  %s\n"
 
-#: ../lib/TextSearchQuery.php:79 ../lib/plugin/FileInfo.php:100
+#: ../lib/TextSearchQuery.php:79 ../lib/plugin/FileInfo.php:116
 #, fuzzy, php-format
 msgid "Unsupported argument: %s=%s"
 msgstr "已支援的語言"
 
-#: ../lib/TextSearchQuery.php:89
+#: ../lib/TextSearchQuery.php:90
 msgid "(A|An|And|But|By|For|From|In|Is|It|Of|On|Or|The|To|With)"
 msgstr ""
 
-#: ../lib/Theme.php:388
+#: ../lib/Theme.php:398
 #, fuzzy
 msgid "Never edited"
 msgstr "未曾編輯過"
 
-#: ../lib/Theme.php:395
+#: ../lib/Theme.php:405
 #, php-format
 msgid "%s at %s"
 msgstr "%s 在 %s"
 
-#: ../lib/Theme.php:399
+#: ../lib/Theme.php:409
 #, fuzzy, php-format
 msgid "Version %s, saved %s"
 msgstr "版本 %s, 存於 %s."
 
-#: ../lib/Theme.php:401
+#: ../lib/Theme.php:411
 #, fuzzy, php-format
 msgid "Last edited %s"
 msgstr "最後編輯 %s."
 
-#: ../lib/Theme.php:410
+#: ../lib/Theme.php:420
 #, fuzzy, php-format
 msgid "Version %s, saved on %s"
 msgstr "版本 %s, 存於 %s."
 
-#: ../lib/Theme.php:412
+#: ../lib/Theme.php:422
 #, fuzzy, php-format
 msgid "Last edited on %s"
 msgstr "最後編輯的時間在 %s."
 
-#: ../lib/Theme.php:428
+#: ../lib/Theme.php:438
 msgid "today"
 msgstr "今天"
 
-#: ../lib/Theme.php:435
+#: ../lib/Theme.php:445
 msgid "yesterday"
 msgstr "昨天"
 
-#: ../lib/Theme.php:456 ../lib/Theme.php:458
+#: ../lib/Theme.php:466 ../lib/Theme.php:468
 #, fuzzy, php-format
 msgid "Owner: %s"
 msgstr "擁有者"
 
-#: ../lib/Theme.php:470 ../lib/Theme.php:472 ../lib/diff.php:262
-#: ../lib/plugin/Diff.php:75
+#: ../lib/Theme.php:481 ../lib/Theme.php:483 ../lib/diff.php:261
+#: ../lib/plugin/Diff.php:76
 #, php-format
 msgid "by %s"
 msgstr "被 %s"
 
-#: ../lib/Theme.php:564
+#: ../lib/Theme.php:575
 #, php-format
 msgid "Empty link to: %s"
 msgstr "沒有連結到: %s"
 
-#: ../lib/Theme.php:579 ../themes/MacOSX/themeinfo.php:71
+#: ../lib/Theme.php:590 ../themes/MacOSX/themeinfo.php:71
 #, php-format
 msgid "Create: %s"
 msgstr "建立: %s"
 
-#: ../lib/Theme.php:598
+#: ../lib/Theme.php:609
 #, php-format
 msgid "Google:%s"
 msgstr ""
 
-#: ../lib/Theme.php:623
+#: ../lib/Theme.php:634
 #, php-format
 msgid "'%s': Bad page name"
 msgstr "'%s': 錯誤的頁面名稱"
 
-#: ../lib/Theme.php:933 ../themes/Crao/templates/actionbar.tmpl:5
-#: ../themes/MonoBook/templates/actionbar.tmpl:11
-#: ../themes/blog/themeinfo.php:53
-#: ../themes/default/templates/actionbar.tmpl:15
+#: ../lib/Theme.php:977 ../lib/plugin/WatchPage.php:89
+#: ../themes/Crao/templates/actionbar.tmpl:5
+#: ../themes/MonoBook/templates/actionbar.tmpl:34
+#: ../themes/blog/themeinfo.php:61
+#: ../themes/default/templates/actionbar.tmpl:16
 #: ../themes/shamino_com/templates/actionbar.tmpl:6
-#: ../themes/shamino_com/templates/info.tmpl:164
 #: ../themes/smaller/templates/actionbar.tmpl:18
 msgid "Edit"
 msgstr "編輯"
 
-#: ../lib/Theme.php:934 ../lib/plugin/Diff.php:36
-#: ../themes/blog/themeinfo.php:54
+#: ../lib/Theme.php:978 ../lib/plugin/Diff.php:37
+#: ../themes/blog/themeinfo.php:62
 msgid "Diff"
 msgstr "差異"
 
-#: ../lib/Theme.php:935 ../themes/Crao/templates/signin.tmpl:15
-#: ../themes/Crao/templates/signin.tmpl:31
-#: ../themes/MonoBook/templates/signin.tmpl:16
-#: ../themes/MonoBook/templates/signin.tmpl:30
-#: ../themes/Sidebar/templates/signin.tmpl:16
-#: ../themes/Sidebar/templates/signin.tmpl:30
-#: ../themes/Wordpress/templates/signin.tmpl:18
-#: ../themes/Wordpress/templates/signin.tmpl:34
+#: ../lib/Theme.php:979 ../themes/Crao/templates/signin.tmpl:14
+#: ../themes/Crao/templates/signin.tmpl:30
+#: ../themes/Sidebar/templates/signin.tmpl:15
+#: ../themes/Sidebar/templates/signin.tmpl:29
+#: ../themes/Wordpress/templates/signin.tmpl:17
+#: ../themes/Wordpress/templates/signin.tmpl:33
 #: ../themes/default/templates/signin.tmpl:16
 #: ../themes/default/templates/signin.tmpl:27
-#: ../themes/shamino_com/templates/signin.tmpl:15
-#: ../themes/shamino_com/templates/signin.tmpl:28
+#: ../themes/shamino_com/templates/signin.tmpl:14
+#: ../themes/shamino_com/templates/signin.tmpl:27
 #: ../themes/smaller/templates/signin.tmpl:16
 #: ../themes/smaller/templates/signin.tmpl:27
 msgid "Sign Out"
 msgstr "簽出"
 
-#: ../lib/Theme.php:936 ../lib/WikiUser.php:221 ../lib/WikiUserNew.php:473
-#: ../themes/Crao/templates/signin.tmpl:54
-#: ../themes/Crao/templates/signin.tmpl:59
+#: ../lib/Theme.php:980 ../lib/WikiUser.php:221 ../lib/WikiUserNew.php:503
+#: ../themes/Crao/templates/signin.tmpl:53
 #: ../themes/default/templates/login.tmpl:76
 #: ../themes/smaller/templates/signin.tmpl:54
 msgid "Sign In"
 msgstr "簽入"
 
-#: ../lib/Theme.php:937 ../themes/MacOSX/themeinfo.php:135
+#: ../lib/Theme.php:981 ../themes/MacOSX/themeinfo.php:133
 msgid "Lock Page"
 msgstr "鎖定頁面"
 
-#: ../lib/Theme.php:938 ../themes/MacOSX/themeinfo.php:136
+#: ../lib/Theme.php:982 ../themes/MacOSX/themeinfo.php:134
 msgid "Unlock Page"
 msgstr "解除鎖定頁面"
 
-#: ../lib/Theme.php:939 ../lib/removepage.php:23 ../lib/removepage.php:63
+#: ../lib/Theme.php:983 ../lib/removepage.php:23 ../lib/removepage.php:63
 msgid "Remove Page"
 msgstr "移除頁面"
 
-#: ../lib/Theme.php:1188 ../lib/main.php:1014
-#: ../lib/plugin/RecentChanges.php:594 ../lib/plugin/TitleSearch.php:43
+#: ../lib/Theme.php:1149
+msgid ""
+"Some action(page) wanted to add more headers, but they were already printed."
+msgstr ""
+
+#: ../lib/Theme.php:1225 ../themes/Hawaiian/themeinfo.php:28
+#: ../themes/MacOSX/themeinfo.php:102 ../themes/MonoBook/themeinfo.php:126
+#: ../themes/Portland/themeinfo.php:58 ../themes/Sidebar/themeinfo.php:40
+#: ../themes/SpaceWiki/themeinfo.php:42 ../themes/Wordpress/themeinfo.php:60
+#: ../themes/shamino_com/themeinfo.php:54 ../themes/wikilens/themeinfo.php:25
+msgid "Printer"
+msgstr "印表機"
+
+#: ../lib/Theme.php:1226 ../themes/MacOSX/themeinfo.php:103
+#: ../themes/MonoBook/themeinfo.php:127 ../themes/shamino_com/themeinfo.php:55
+#: ../themes/wikilens/themeinfo.php:26
+msgid "Top & bottom toolbars"
+msgstr "Top & bottom 工具列"
+
+#: ../lib/Theme.php:1227 ../themes/Hawaiian/themeinfo.php:29
+#: ../themes/MonoBook/themeinfo.php:128 ../themes/Portland/themeinfo.php:59
+#: ../themes/Sidebar/themeinfo.php:41 ../themes/SpaceWiki/themeinfo.php:43
+#: ../themes/Wordpress/themeinfo.php:61 ../themes/shamino_com/themeinfo.php:56
+#: ../themes/wikilens/themeinfo.php:27
+msgid "Modern"
+msgstr "Modern"
+
+#: ../lib/Theme.php:1374 ../lib/main.php:1053
+#: ../lib/plugin/RecentChanges.php:727 ../lib/plugin/TitleSearch.php:43
 #: ../themes/Crao/templates/navbar.tmpl:4
 #: ../themes/Crao/templates/navbar.tmpl:8
 #: ../themes/Crao/templates/navbar.tmpl:51
-#: ../themes/MonoBook/templates/navbar.tmpl:23
-#: ../themes/Sidebar/templates/navbar.tmpl:7
-#: ../themes/Sidebar/templates/navbar.tmpl:13
-#: ../themes/Sidebar/templates/navbar.tmpl:20
+#: ../themes/MonoBook/templates/navbar.tmpl:33
 #: ../themes/blog/templates/search.tmpl:3
 #: ../themes/blog/templates/search.tmpl:18
 #: ../themes/default/templates/navbar.tmpl:6
 #: ../themes/default/templates/navbar.tmpl:24
 #: ../themes/default/templates/search.tmpl:3
-#: ../themes/default/templates/search.tmpl:6
-#: ../themes/default/templates/search.tmpl:25
-#: ../themes/default/templates/search.tmpl:29
+#: ../themes/default/templates/search.tmpl:9
+#: ../themes/default/templates/search.tmpl:33
 #: ../themes/shamino_com/templates/top.tmpl:18
 #: ../themes/smaller/templates/navbar.tmpl:4
-#: ../themes/wikilens/templates/navbar.tmpl:7
-#: ../themes/wikilens/templates/navbar.tmpl:15
 msgid "TitleSearch"
 msgstr "標題搜索"
 
-#: ../lib/Theme.php:1347
+#: ../lib/Theme.php:1426 ../lib/plugin/Calendar.php:41
+#: ../lib/plugin/Calendar.php:45 ../themes/Crao/templates/head.tmpl:89
+#: ../themes/Crao/templates/navbar.tmpl:28
+#: ../themes/Sidebar/templates/body.tmpl:21
+#: ../themes/Sidebar/templates/body.tmpl:26
+#: ../themes/Wordpress/templates/actionbar.tmpl:32
+#: ../themes/blog/templates/sidebar.tmpl:16
+#: ../themes/default/templates/head.tmpl:96
+#: ../themes/default/templates/homepage.tmpl:15
+#: ../themes/default/templates/navbar.tmpl:45
+#: ../themes/wikilens/templates/head.tmpl:89
+#: ../themes/wikilens/templates/navbar.tmpl:25
+msgid "Calendar"
+msgstr "月曆"
+
+#: ../lib/Theme.php:1690
 #, fuzzy, php-format
 msgid "Plugin %s: undefined"
 msgstr "Plugin %s 失敗."
 
-#: ../lib/Theme.php:1370
+#: ../lib/Theme.php:1713
 msgid "Related Links"
 msgstr "相關連結"
 
-#: ../lib/Theme.php:1390
+#: ../lib/Theme.php:1734
 msgid "External Links"
 msgstr "外部連結"
 
-#: ../lib/WikiDB.php:233
-#, fuzzy, php-format
-msgid "Removed by: %s"
-msgstr "由 %s 編輯"
-
-#: ../lib/WikiDB.php:235
-#, fuzzy, php-format
-msgid "Page removed %s"
-msgstr "頁面已被鎖定"
-
-#: ../lib/WikiDB.php:241 ../lib/WikiDB.php:1054 ../lib/WikiDB.php:1079
-#: ../lib/loadsave.php:99
-#, php-format
-msgid "PageChange Notification of %s sent to %s"
-msgstr "%s 的 PageChange 通知已送給 %s"
-
-#: ../lib/WikiDB.php:244 ../lib/WikiDB.php:1057 ../lib/WikiDB.php:1082
-#: ../lib/loadsave.php:102
-#, php-format
-msgid "PageChange Notification Error: Couldn't send %s to %s"
-msgstr "PageChange 通知錯誤: 無法送 %s 給 %s"
-
-#: ../lib/WikiDB.php:474
+#: ../lib/WikiDB.php:539
 #, php-format
 msgid "renamed from %s"
 msgstr "從 %s 更名"
 
-#: ../lib/WikiDB.php:482
+#: ../lib/WikiDB.php:548
 msgid "WikiDB::renamePage() not yet implemented for this backend"
 msgstr "後台的 WikiDB::renamePage() 還沒實作出來."
 
-#: ../lib/WikiDB.php:847
+#: ../lib/WikiDB.php:921
 #, php-format
 msgid "%s: Date of new revision is %s"
 msgstr "%s: 新版本的日期是 %s"
 
-#: ../lib/WikiDB.php:911 ../lib/main.php:98
+#: ../lib/WikiDB.php:993 ../lib/main.php:98
 #, fuzzy
 msgid "Optimizing database"
 msgstr "最佳化 %s"
 
-#: ../lib/WikiDB.php:1017
-#, fuzzy
-msgid "Page change"
-msgstr "沒有頁面被變更."
-
-#: ../lib/WikiDB.php:1045 ../lib/loadsave.php:787
-#: ../lib/plugin/RecentChanges.php:107
-#, fuzzy
-msgid "New page"
-msgstr "新頁面."
-
-#: ../lib/WikiDB.php:1048 ../lib/WikiDB.php:1071 ../lib/loadsave.php:93
-#, php-format
-msgid "Edited by: %s"
-msgstr "由 %s 編輯"
-
-#: ../lib/WikiDB.php:1073
-#, fuzzy, php-format
-msgid "Page rename %s to %s"
-msgstr "頁面名稱以 '%s' 開頭的"
+#: ../lib/WikiDB.php:1376 ../lib/WikiDB.php:1384 ../lib/WikiUserNew.php:429
+#: ../lib/loadsave.php:852 ../lib/loadsave.php:1380 ../lib/loadsave.php:1383
+msgid "The PhpWiki programming team"
+msgstr "PhpWiki 開發團隊"
 
-#: ../lib/WikiDB.php:1633 ../lib/WikiDB.php:1637
+#: ../lib/WikiDB.php:1627 ../lib/WikiDB.php:1631
 #: ../themes/default/templates/homepage.tmpl:7
 #, php-format
 msgid "Describe %s here."
 msgstr "在這兒描述 %s."
 
-#: ../lib/WikiDB.php:1672
+#: ../lib/WikiDB.php:1666
 #, php-format
 msgid "Oops! Revision %s of %s seems to have been deleted!"
 msgstr "Acck! 修訂 %s - %s 看來已經被刪除了!"
 
-#: ../lib/WikiDB/backend/dba.php:22 ../lib/WikiDB/backend/dba.php:24
+#: ../lib/WikiDB/backend/dba.php:29 ../lib/WikiDB/backend/dba.php:31
 #, php-format
 msgid "%s: Can't open dba database"
 msgstr "%s: 無法開啟 dba 資料庫"
 
-#: ../lib/WikiDB/backend/file.php:111
+#: ../lib/WikiDB/backend/file.php:111 ../lib/WikiDB/backend/flatfile.php:83
 #, php-format
 msgid "'%s': corrupt file"
 msgstr "'%s': 壞檔"
 
 #: ../lib/WikiDB/dba.php:16 ../lib/WikiDB/file.php:47
+#: ../lib/WikiDB/flatfile.php:47
 #, fuzzy, php-format
 msgid ""
 "The %s files are in the %s directory. Please read the INSTALL file and move "
@@ -873,7 +974,7 @@
 msgid "No or not enough GROUP_DB SQL statements defined"
 msgstr "沒有或缺少足夠的 GROUP_DB SQL 敘述定義"
 
-#: ../lib/WikiGroup.php:838 ../lib/loadsave.php:962
+#: ../lib/WikiGroup.php:838 ../lib/loadsave.php:1021
 #, php-format
 msgid "%s: not defined"
 msgstr "%s: 未被定義"
@@ -901,90 +1002,68 @@
 msgid "n/a"
 msgstr "n/a"
 
-#: ../lib/WikiPlugin.php:121 ../lib/loadsave.php:82 ../lib/loadsave.php:408
-#: ../lib/loadsave.php:844 ../lib/loadsave.php:850 ../lib/loadsave.php:858
-#: ../lib/main.php:967 ../lib/main.php:1071
-#: ../lib/plugin/WikiAdminSelect.php:192 ../themes/Crao/templates/head.tmpl:79
-#: ../themes/Crao/templates/head.tmpl:80
-#: ../themes/Crao/templates/navbar.tmpl:37
-#: ../themes/MonoBook/templates/navbar.tmpl:46
-#: ../themes/Portland/templates/navbar.tmpl:30
-#: ../themes/Sidebar/templates/navbar.tmpl:38
-#: ../themes/Wordpress/templates/actionbar.tmpl:25
-#: ../themes/blog/templates/navbar.tmpl:14
-#: ../themes/default/templates/head.tmpl:86
-#: ../themes/default/templates/head.tmpl:87
-#: ../themes/default/templates/navbar.tmpl:55
-#: ../themes/shamino_com/templates/actionbar.tmpl:18
-#: ../themes/smaller/templates/navbar.tmpl:19
-#: ../themes/wikilens/templates/head.tmpl:78
-#: ../themes/wikilens/templates/head.tmpl:79
-#: ../themes/wikilens/templates/navbar.tmpl:43
-msgid "PhpWikiAdministration"
-msgstr "PhpWikiAdministration"
+#: ../lib/WikiPlugin.php:225
+#, php-format
+msgid "trailing cruft in plugin args: '%s'"
+msgstr "trailing cruft in plugin args: '%s'"
 
-#: ../lib/WikiPlugin.php:125
+#: ../lib/WikiPlugin.php:233
 #, fuzzy, php-format
 msgid "Argument '%s' not declared by plugin."
 msgstr "引數 '%s' 沒有被 plugin 宣告"
 
-#: ../lib/WikiPlugin.php:235
-#, php-format
-msgid "trailing cruft in plugin args: '%s'"
-msgstr "trailing cruft in plugin args: '%s'"
-
-#: ../lib/WikiPlugin.php:378
+#: ../lib/WikiPlugin.php:376
 #, php-format
 msgid "Plugin %s failed."
 msgstr "Plugin %s 失敗."
 
-#: ../lib/WikiPlugin.php:384
+#: ../lib/WikiPlugin.php:382
 #, php-format
 msgid "Plugin %s disabled."
 msgstr "Plugin %s 關閉."
 
-#: ../lib/WikiPlugin.php:520
+#: ../lib/WikiPlugin.php:518
 #, fuzzy, php-format
 msgid "Include of '%s' failed."
 msgstr "含括 '%s' 失敗"
 
-#: ../lib/WikiPlugin.php:522
+#: ../lib/WikiPlugin.php:520
 #, php-format
 msgid "%s: no such class"
 msgstr "%s: 無此類別"
 
-#: ../lib/WikiPlugin.php:528
+#: ../lib/WikiPlugin.php:526
 #, fuzzy, php-format
 msgid "%s: not a subclass of WikiPlugin."
 msgstr "%s: 不是 WikiPlugin 的子類別"
 
-#: ../lib/WikiPluginCached.php:691
+#: ../lib/WikiPluginCached.php:688
 #, php-format
 msgid ""
 "There is no image creation data available to id '%s'. Please reload "
 "referring page."
 msgstr "沒有id '%s' 可用的圖片創作資料. 請重新載入參照頁面."
 
-#: ../lib/WikiPluginCached.php:845
+#: ../lib/WikiPluginCached.php:842
 msgid "Image map expired. Reload wiki page to recreate its html part."
 msgstr ""
 
 #: ../lib/WikiUser.php:188 ../lib/WikiUser.php:268
 #: ../lib/WikiUser/AdoDb.php:29 ../lib/WikiUser/AdoDb.php:186
 #: ../lib/WikiUser/Db.php:43 ../lib/WikiUser/File.php:58
-#: ../lib/WikiUser/IMAP.php:17 ../lib/WikiUser/LDAP.php:58
+#: ../lib/WikiUser/IMAP.php:18 ../lib/WikiUser/LDAP.php:58
 #: ../lib/WikiUser/POP3.php:17 ../lib/WikiUser/PdoDb.php:28
 #: ../lib/WikiUser/PdoDb.php:103 ../lib/WikiUser/PearDb.php:26
-#: ../lib/WikiUser/PearDb.php:116 ../lib/WikiUserNew.php:559
+#: ../lib/WikiUser/PearDb.php:116 ../lib/WikiUserNew.php:590
 #, fuzzy
 msgid "Invalid username."
 msgstr "錯誤的 acl"
 
-#: ../lib/WikiUser.php:192 ../lib/WikiUserNew.php:566
+#: ../lib/WikiUser.php:192 ../lib/WikiUserNew.php:597
 msgid "Invalid password or userid."
 msgstr "錯誤的密碼或使用者帳號."
 
-#: ../lib/WikiUser.php:194 ../lib/WikiUserNew.php:582
+#: ../lib/WikiUser.php:194 ../lib/WikiUserNew.php:613
 msgid "Insufficient permissions."
 msgstr "權限不足."
 
@@ -1015,8 +1094,10 @@
 
 #: ../lib/WikiUser.php:465 ../lib/WikiUser.php:475
 #: ../themes/Crao/templates/navbar.tmpl:23
+#: ../themes/MonoBook/templates/navbar.tmpl:61
 #: ../themes/default/templates/navbar.tmpl:40
 #: ../themes/shamino_com/templates/top.tmpl:28
+#: ../themes/wikilens/templates/navbar.tmpl:23
 #, fuzzy
 msgid "Preferences"
 msgstr "偏好設定"
@@ -1036,14 +1117,14 @@
 msgid "%s is missing"
 msgstr "%s 參數遺漏"
 
-#: ../lib/WikiUser/AdoDb.php:201 ../lib/WikiUser/AdoDb.php:255
+#: ../lib/WikiUser/AdoDb.php:201 ../lib/WikiUser/AdoDb.php:258
 #: ../lib/WikiUser/PdoDb.php:190 ../lib/WikiUser/PdoDb.php:255
 #: ../lib/WikiUser/PearDb.php:179 ../lib/WikiUser/PearDb.php:223
 #, php-format
 msgid "Either %s is missing or DATABASE_TYPE != '%s'"
 msgstr ""
 
-#: ../lib/WikiUser/IMAP.php:33
+#: ../lib/WikiUser/IMAP.php:36
 msgid "Unable to connect to IMAP server "
 msgstr "無法連結到 IMAP 伺服器"
 
@@ -1052,12 +1133,36 @@
 msgid "Unable to bind LDAP server %s using %s %s"
 msgstr "無法連結到 LDAP 伺服器 %s"
 
-#: ../lib/WikiUser/LDAP.php:65 ../lib/WikiUser/LDAP.php:108
+#: ../lib/WikiUser/LDAP.php:68
+msgid "Empty password not allowed for LDAP"
+msgstr ""
+
+#: ../lib/WikiUser/LDAP.php:73 ../lib/WikiUser/LDAP.php:149
 #, php-format
 msgid "Invalid username '%s' for LDAP Auth"
 msgstr ""
 
-#: ../lib/WikiUser/POP3.php:59
+#: ../lib/WikiUser/LDAP.php:84
+#, fuzzy
+msgid "Could not search in LDAP"
+msgstr "無法為頁面 '%s' 變更權限為 '%s'."
+
+#: ../lib/WikiUser/LDAP.php:91
+#, fuzzy
+msgid "User not found in LDAP"
+msgstr "%s 找不到."
+
+#: ../lib/WikiUser/LDAP.php:125
+#, fuzzy
+msgid "Wrong password: "
+msgstr "錯誤的密碼.再試一次."
+
+#: ../lib/WikiUser/LDAP.php:131
+#, fuzzy
+msgid "Could not connect to LDAP"
+msgstr "無法為頁面 '%s' 變更權限為 '%s'."
+
+#: ../lib/WikiUser/POP3.php:61
 #, fuzzy, php-format
 msgid "Couldn't connect to %s"
 msgstr "無法為頁面 '%s' 變更權限為 '%s'."
@@ -1089,24 +1194,29 @@
 msgid "Given password ignored."
 msgstr "錯誤的密碼或使用者帳號."
 
-#: ../lib/WikiUserNew.php:564
+#: ../lib/WikiUserNew.php:430
+msgid ""
+"Automatically created user homepage to be able to store UserPreferences."
+msgstr ""
+
+#: ../lib/WikiUserNew.php:595
 #, fuzzy
 msgid "Invalid password."
 msgstr "錯誤的密碼或使用者帳號."
 
-#: ../lib/WikiUserNew.php:628
+#: ../lib/WikiUserNew.php:659
 msgid "Empty Preferences or format of UserPreferences cookie not recognised."
 msgstr "空的偏好設定或 UserPreferences cookie 格式無法辨認."
 
-#: ../lib/WikiUserNew.php:632
+#: ../lib/WikiUserNew.php:663
 msgid "Default preferences will be used."
 msgstr "預設偏好設定將被使用."
 
-#: ../lib/WikiUserNew.php:1190
+#: ../lib/WikiUserNew.php:1233
 msgid "The length of the password is shorter than the system policy allows."
 msgstr ""
 
-#: ../lib/WikiUserNew.php:1216
+#: ../lib/WikiUserNew.php:1259
 msgid ""
 "The length of the stored password is shorter than the system policy allows. "
 "Sorry, you cannot login.\n"
@@ -1115,11 +1225,11 @@
 "密碼長度小於系統原則所允許的長度. 抱歉,你無法登入. \n"
 " 你必須詢問系統管理者以重設密碼."
 
-#: ../lib/WikiUserNew.php:1231
+#: ../lib/WikiUserNew.php:1274
 msgid "The crypt function is not available in this version of PHP."
 msgstr "此版本的 PHP 沒有 crypt 函數."
 
-#: ../lib/WikiUserNew.php:1232
+#: ../lib/WikiUserNew.php:1275
 #, fuzzy
 msgid ""
 "Please set ENCRYPTED_PASSWD to false in config/config.ini and probably "
@@ -1127,16 +1237,16 @@
 msgstr ""
 "請在 index.php 中設定 ENCRYPTED_PASSWD 為 false 或許也要變更 ADMIN_PASSWD."
 
-#: ../lib/WikiUserNew.php:1245
+#: ../lib/WikiUserNew.php:1288
 #, fuzzy
 msgid "Please set ENCRYPTED_PASSWD to true in config/config.ini."
 msgstr "請在 index.php 中設定 ENCRYPTED_PASSWD 為 true."
 
-#: ../lib/WikiUserNew.php:1657
+#: ../lib/WikiUserNew.php:1701 ../lib/plugin/WikiAdminUtils.php:114
 msgid "Email Verification"
 msgstr "Email 驗證."
 
-#: ../lib/WikiUserNew.php:1658
+#: ../lib/WikiUserNew.php:1702
 #, fuzzy, php-format
 msgid ""
 "Welcome to %s!\n"
@@ -1148,108 +1258,160 @@
 " 你的 email 帳號已經確認並且將會被用來寄送頁面變更通知. \n"
 " 參閱 %s"
 
-#: ../lib/WikiUserNew.php:1711
+#: ../lib/WikiUserNew.php:1762
 #, php-format
 msgid "E-Mail address '%s' is not properly formatted"
 msgstr ""
 
-#: ../lib/WikiUserNew.php:1715
+#: ../lib/WikiUserNew.php:1766
 #, php-format
 msgid "E-Mail address '%s' is properly formatted"
 msgstr ""
 
-#: ../lib/XmlElement.php:456 ../lib/stdlib.php:1344
+#: ../lib/WysiwygEdit/Wikiwyg.php:74
+#, fuzzy
+msgid "Apply changes"
+msgstr "沒有變更."
+
+#: ../lib/WysiwygEdit/Wikiwyg.php:75
+msgid "Exit toolbar"
+msgstr ""
+
+#: ../lib/WysiwygEdit/Wikiwyg.php:76
+#, fuzzy
+msgid "Title 1"
+msgstr "標題搜索"
+
+#: ../lib/WysiwygEdit/Wikiwyg.php:77
+#, fuzzy
+msgid "Title 2"
+msgstr "標題搜索"
+
+#: ../lib/WysiwygEdit/Wikiwyg.php:78
+#, fuzzy
+msgid "Title 3"
+msgstr "標題搜索"
+
+#: ../lib/WysiwygEdit/Wikiwyg.php:79
+msgid "Verbatim"
+msgstr ""
+
+#: ../lib/WysiwygEdit/Wikiwyg.php:80
+#, fuzzy
+msgid "Table of content"
+msgstr "目錄"
+
+#: ../lib/WysiwygEdit/Wikiwyg.php:81
+msgid "Insert Wikitext section"
+msgstr ""
+
+#: ../lib/WysiwygEdit/Wikiwyg.php:82
+#, fuzzy
+msgid "Sup"
+msgstr "子頁面"
+
+#: ../lib/WysiwygEdit/Wikiwyg.php:83
+#, fuzzy
+msgid "Sub"
+msgstr "送出"
+
+#: ../lib/WysiwygEdit/Wikiwyg.php:107
+msgid "Warning: This Wikiwyg editor has only Beta quality!"
+msgstr ""
+
+#: ../lib/XmlElement.php:467 ../lib/stdlib.php:1357
 #, php-format
 msgid "Can't mix '%s' with '%s' type format strings"
 msgstr "無法混合 '%s' 和 '%s' 型態的格式字串."
 
-#: ../lib/XmlRpcServer.php:562
+#: ../lib/XmlRpcServer.php:511
 msgid "xml-rpc change"
 msgstr ""
 
-#: ../lib/diff.php:259 ../lib/plugin/Diff.php:72
+#: ../lib/diff.php:258 ../lib/plugin/Diff.php:73
 #, php-format
 msgid "version %s"
 msgstr "版本 %s"
 
-#: ../lib/diff.php:266 ../lib/plugin/Diff.php:77
+#: ../lib/diff.php:265 ../lib/plugin/Diff.php:78
 #: ../lib/wikilens/PageListColumns.php:351
 msgid "None"
 msgstr "無"
 
-#: ../lib/diff.php:289 ../lib/plugin/Diff.php:94
-#: ../lib/plugin/PageHistory.php:312 ../lib/plugin/PageInfo.php:59
+#: ../lib/diff.php:288 ../lib/plugin/Diff.php:95
+#: ../lib/plugin/PageHistory.php:326 ../lib/plugin/PageInfo.php:59
 #, php-format
 msgid "I'm sorry, there is no such page as %s."
 msgstr "抱歉,這裡沒有任何被命名為 %s 的頁面."
 
-#: ../lib/diff.php:292 ../lib/diff.php:394
+#: ../lib/diff.php:291 ../lib/diff.php:396
 #, php-format
 msgid "Diff: %s"
 msgstr "差異: %s"
 
-#: ../lib/diff.php:299 ../lib/diff.php:309 ../lib/plugin/Diff.php:102
-#: ../lib/plugin/Diff.php:112
+#: ../lib/diff.php:298 ../lib/diff.php:308 ../lib/plugin/Diff.php:103
+#: ../lib/plugin/Diff.php:113
 #, php-format
 msgid "version %d"
 msgstr "版本 %d"
 
-#: ../lib/diff.php:303 ../lib/plugin/Diff.php:106
+#: ../lib/diff.php:302 ../lib/plugin/Diff.php:107
 msgid "current version"
 msgstr "目前版本"
 
-#: ../lib/diff.php:320 ../lib/plugin/Diff.php:123
+#: ../lib/diff.php:319 ../lib/plugin/Diff.php:124
 msgid "revision by previous author"
 msgstr "上位作者的修訂"
 
-#: ../lib/diff.php:326 ../lib/plugin/Diff.php:129
+#: ../lib/diff.php:325 ../lib/plugin/Diff.php:130
 msgid "previous revision"
 msgstr "上一次修訂"
 
-#: ../lib/diff.php:336 ../lib/plugin/Diff.php:139
+#: ../lib/diff.php:335 ../lib/plugin/Diff.php:140
 msgid "predecessor to the previous major change"
 msgstr "上次主要變更的原始文件"
 
-#: ../lib/diff.php:347 ../lib/plugin/Diff.php:149
+#: ../lib/diff.php:346 ../lib/plugin/Diff.php:150
 #, php-format
 msgid "Differences between %s and %s of %s."
 msgstr "在 %s 與 %s 間的差異 - %s."
 
-#: ../lib/diff.php:350 ../lib/plugin/Diff.php:152
+#: ../lib/diff.php:349 ../lib/plugin/Diff.php:153
 msgid "Other diffs:"
 msgstr "其他差異:"
 
-#: ../lib/diff.php:351 ../lib/plugin/Diff.php:153
+#: ../lib/diff.php:350 ../lib/plugin/Diff.php:154
 msgid "Previous Major Revision"
 msgstr "上一次主要修訂"
 
-#: ../lib/diff.php:352 ../lib/plugin/Diff.php:154
+#: ../lib/diff.php:351 ../lib/plugin/Diff.php:155
 msgid "Previous Revision"
 msgstr "上一次修訂"
 
-#: ../lib/diff.php:353 ../lib/plugin/Diff.php:155
+#: ../lib/diff.php:352 ../lib/plugin/Diff.php:156
 msgid "Previous Author"
 msgstr "上一次做此更動的作者"
 
-#: ../lib/diff.php:370 ../lib/plugin/Diff.php:172
+#: ../lib/diff.php:368 ../lib/plugin/Diff.php:173
 msgid "Newer page:"
 msgstr "較新的頁面:"
 
-#: ../lib/diff.php:372 ../lib/plugin/Diff.php:174
+#: ../lib/diff.php:370 ../lib/plugin/Diff.php:175
 msgid "Older page:"
 msgstr "較舊的頁面:"
 
-#: ../lib/diff.php:380 ../lib/plugin/Diff.php:182
+#: ../lib/diff.php:378 ../lib/editpage.php:499 ../lib/plugin/Diff.php:183
 msgid "Versions are identical"
 msgstr "版本相同"
 
 # This entry is important for French punctuation rules which stipulate
 # a space before each colon.
-#: ../lib/display.php:53 ../lib/plugin/HelloWorld.php:70
-#: ../lib/plugin/PageGroup.php:102 ../lib/plugin/PageGroup.php:166
-#: ../lib/plugin/PageGroup.php:177 ../lib/plugin/PageGroup.php:193
-#: ../lib/plugin/PageGroup.php:200 ../lib/plugin/PageHistory.php:216
-#: ../lib/plugin/UnfoldSubpages.php:140 ../themes/Crao/templates/head.tmpl:47
+#: ../lib/display.php:54 ../lib/display.php:240
+#: ../lib/plugin/HelloWorld.php:70 ../lib/plugin/PageGroup.php:102
+#: ../lib/plugin/PageGroup.php:166 ../lib/plugin/PageGroup.php:177
+#: ../lib/plugin/PageGroup.php:193 ../lib/plugin/PageGroup.php:200
+#: ../lib/plugin/PageHistory.php:229 ../lib/plugin/UnfoldSubpages.php:140
+#: ../themes/Crao/templates/head.tmpl:47
 #: ../themes/MonoBook/templates/logo.tmpl:2
 #: ../themes/Portland/templates/body.tmpl:8
 #: ../themes/Sidebar/templates/frame-header.tmpl:16
@@ -1259,36 +1421,39 @@
 #: ../themes/default/templates/top.tmpl:11
 #: ../themes/shamino_com/templates/top.tmpl:8
 #: ../themes/wikilens/templates/head.tmpl:45
+#: ../themes/wikilens/templates/top.tmpl:11
 #, php-format
 msgid "%s: %s"
 msgstr "%s: %s"
 
-#: ../lib/display.php:119 ../lib/display.php:126
+#: ../lib/display.php:82 ../lib/display.php:324
+#: ../lib/plugin/LinkDatabase.php:42
+#, fuzzy
+msgid "LinkDatabase"
+msgstr "資料庫"
+
+#: ../lib/display.php:177 ../lib/display.php:184
 #: ../lib/plugin/BackLinks.php:31 ../lib/plugin/_WikiTranslation.php:53
 #: ../themes/Crao/templates/navbar.tmpl:17
-#: ../themes/Sidebar/templates/navbar.tmpl:35
+#: ../themes/Sidebar/templates/navbar.tmpl:25
 #: ../themes/blog/templates/navbar.tmpl:11
 #: ../themes/default/templates/navbar.tmpl:34
 #: ../themes/smaller/templates/navbar.tmpl:16
-#: ../themes/wikilens/templates/navbar.tmpl:25
+#: ../themes/wikilens/templates/navbar.tmpl:22
 msgid "BackLinks"
 msgstr "BackLinks"
 
-#: ../lib/display.php:122 ../lib/display.php:129
+#: ../lib/display.php:180 ../lib/display.php:187
 #, php-format
 msgid "BackLinks for %s"
 msgstr "向後連結: %s"
 
-#: ../lib/display.php:137
+#: ../lib/display.php:195
 #, php-format
 msgid "(Redirected from %s)"
 msgstr "(已從 %s 重導向)"
 
-#: ../lib/display.php:177
-msgid "You searched for: "
-msgstr ""
-
-#: ../lib/display.php:218 ../themes/Crao/templates/head.tmpl:70
+#: ../lib/display.php:269 ../themes/Crao/templates/head.tmpl:70
 #: ../themes/Crao/templates/head.tmpl:71
 #: ../themes/default/templates/head.tmpl:76
 #: ../themes/default/templates/head.tmpl:77
@@ -1297,123 +1462,167 @@
 msgid "SandBox"
 msgstr "SandBox"
 
-#: ../lib/editpage.php:134 ../lib/editpage.php:469
+#: ../lib/editpage.php:162 ../lib/editpage.php:559
 msgid "Your version"
 msgstr "你的版本"
 
-#: ../lib/editpage.php:134 ../lib/editpage.php:470
+#: ../lib/editpage.php:162 ../lib/editpage.php:560
 msgid "Other version"
 msgstr "其他版本"
 
-#: ../lib/editpage.php:145
+#: ../lib/editpage.php:173
 msgid "Some internal editing error"
 msgstr ""
 
-#: ../lib/editpage.php:146
+#: ../lib/editpage.php:174
 #, fuzzy
 msgid ""
 "Your are probably trying to edit/create an invalid version of this page."
 msgstr "你正在查看此頁面的較舊修訂."
 
-#: ../lib/editpage.php:147
+#: ../lib/editpage.php:175
 msgid "&version=-1 might help."
 msgstr ""
 
-#: ../lib/editpage.php:164
+#: ../lib/editpage.php:194
 #, php-format
 msgid "Edit: %s"
 msgstr "編輯: %s"
 
-#: ../lib/editpage.php:198
+#: ../lib/editpage.php:232
 #, php-format
 msgid "View Source: %s"
 msgstr "查看源碼: %s"
 
-#: ../lib/editpage.php:212
+#: ../lib/editpage.php:246
 msgid "Page now locked."
 msgstr "頁面已被鎖定."
 
-#: ../lib/editpage.php:212
+#: ../lib/editpage.php:246
 msgid "Page now unlocked."
 msgstr "頁面已被解鎖定."
 
-#: ../lib/editpage.php:314
+#: ../lib/editpage.php:353
 #, php-format
 msgid "Saved: %s"
 msgstr "已存於: %s"
 
-#: ../lib/editpage.php:366
+#: ../lib/editpage.php:406
 #, fuzzy
 msgid "Too many external links."
 msgstr "外部連結"
 
-#: ../lib/editpage.php:379
+#: ../lib/editpage.php:419
 msgid "SpamAssassin reports: "
 msgstr ""
 
-#: ../lib/editpage.php:396
+#: ../lib/editpage.php:446
 msgid "External links contain blocked domains:"
 msgstr ""
 
-#: ../lib/editpage.php:397
+#: ../lib/editpage.php:447
 #, fuzzy, php-format
-msgid "%s is listed at %s"
+msgid "%s is listed at %s with %s"
 msgstr "%s 個頁面連結到 %s:"
 
-#: ../lib/editpage.php:418
+#: ../lib/editpage.php:471
 msgid "Spam Prevention"
 msgstr ""
 
-#: ../lib/editpage.php:419
+#: ../lib/editpage.php:472
 msgid "This page edit seems to contain spam and was therefore not saved."
 msgstr ""
 
-#: ../lib/editpage.php:421 ../lib/editpage.php:455
+#: ../lib/editpage.php:474 ../lib/editpage.php:535
 msgid "Sorry for the inconvenience."
 msgstr "抱歉造成你的不便."
 
-#: ../lib/editpage.php:452 ../themes/MacOSX/themeinfo.php:137
+#: ../lib/editpage.php:532 ../themes/MacOSX/themeinfo.php:135
 msgid "Page Locked"
 msgstr "頁面已被鎖定"
 
-#: ../lib/editpage.php:453
+#: ../lib/editpage.php:533
 msgid ""
 "This page has been locked by the administrator so your changes can not be "
 "saved."
 msgstr "此頁面已被管理者鎖定,所以你的更動無法儲存."
 
-#: ../lib/editpage.php:454
+#: ../lib/editpage.php:534
 msgid ""
 "(Copy your changes to the clipboard. You can try editing a different page or "
 "save your text in a text editor.)"
 msgstr ""
 "(複製你的更動到剪貼簿中. 你可以試著編輯另一個不同的頁面或存到文字編輯器中.)"
 
-#: ../lib/editpage.php:468 ../lib/editpage.php:757
+#: ../lib/editpage.php:543 ../lib/editpage.php:544 ../lib/main.php:733
+#: ../lib/main.php:1090 ../lib/plugin/ModeratedPage.php:41
+#: ../lib/plugin/ModeratedPage.php:149 ../lib/plugin/ModeratedPage.php:219
+#: ../lib/plugin/ModeratedPage.php:258 ../lib/plugin/ModeratedPage.php:261
+#: ../lib/plugin/ModeratedPage.php:263 ../lib/plugin/ModeratedPage.php:265
+#: ../lib/plugin/ModeratedPage.php:349 ../lib/plugin/ModeratedPage.php:353
+#: ../lib/plugin/ModeratedPage.php:408 ../lib/plugin/ModeratedPage.php:433
+#, fuzzy
+msgid "ModeratedPage"
+msgstr "CreatePage"
+
+#: ../lib/editpage.php:544
 #, php-format
 msgid ""
-"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."
+"You can edit away, but your changes will have to be approved by the defined "
+"moderators at the definition in %s"
 msgstr ""
-"部份更動無法自動合併. 請搜尋以 '%s' 開頭並以 '%s' 結尾的部份.在儲存之前,你需"
-"要手動編輯這些部份."
 
-#: ../lib/editpage.php:472 ../lib/editpage.php:760
-msgid "Please check it through before saving."
-msgstr "在儲存之前請再檢查一次."
+#: ../lib/editpage.php:546 ../lib/plugin/PasswordReset.php:155
+#: ../lib/plugin/UserPreferences.php:38 ../lib/plugin/WatchPage.php:115
+#: ../lib/plugin/WatchPage.php:133 ../themes/Crao/templates/head.tmpl:85
+#: ../themes/Crao/templates/head.tmpl:86
+#: ../themes/Crao/templates/navbar.tmpl:23
+#: ../themes/MonoBook/templates/navbar.tmpl:61
+#: ../themes/blog/templates/navbar.tmpl:17
+#: ../themes/default/templates/head.tmpl:92
+#: ../themes/default/templates/head.tmpl:93
+#: ../themes/default/templates/homepage.tmpl:11
+#: ../themes/default/templates/navbar.tmpl:40
+#: ../themes/shamino_com/templates/top.tmpl:28
+#: ../themes/smaller/templates/navbar.tmpl:22
+#: ../themes/wikilens/templates/head.tmpl:85
+#: ../themes/wikilens/templates/head.tmpl:86
+#: ../themes/wikilens/templates/navbar.tmpl:23
+msgid "UserPreferences"
+msgstr "UserPreferences"
+
+#: ../lib/editpage.php:545
+#, php-format
+msgid ""
+"The approval has a grace period of 5 days. If you have your E-Mail defined "
+"in your %s, you will get a notification of approval or rejection."
+msgstr ""
 
-#: ../lib/editpage.php:483
+#: ../lib/editpage.php:558 ../lib/editpage.php:900
+#, php-format
+msgid ""
+"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."
+msgstr ""
+"部份更動無法自動合併. 請搜尋以 '%s' 開頭並以 '%s' 結尾的部份.在儲存之前,你需"
+"要手動編輯這些部份."
+
+#: ../lib/editpage.php:562 ../lib/editpage.php:903
+msgid "Please check it through before saving."
+msgstr "在儲存之前請再檢查一次."
+
+#: ../lib/editpage.php:573
 msgid "Conflicting Edits!"
 msgstr "發生衝突!"
 
-#: ../lib/editpage.php:484
+#: ../lib/editpage.php:574
 msgid ""
 "In the time since you started editing this page, another user has saved a "
 "new version of it."
 msgstr "從你上次修改這個頁面到現在的這段時間,已經有使用者儲存了較新的版本."
 
-#: ../lib/editpage.php:485
+#: ../lib/editpage.php:575
 msgid ""
 "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 "
@@ -1422,18 +1631,42 @@
 "無法儲存你所變更的部份,在你編輯的這段時間,已經有其他作者變更了.所以你所變更的"
 "部份已經和其他作者變更的部份合併.結果顯示在下面."
 
-#: ../lib/editpage.php:555
+#: ../lib/editpage.php:649
 #, fuzzy
 msgid "Convert"
 msgstr "內容"
 
-#: ../lib/editpage.php:588 ../themes/Portland/templates/editpage.tmpl:45
-#: ../themes/Wordpress/templates/editpage.tmpl:54
+#: ../lib/editpage.php:668
+#, fuzzy
+msgid "Changes"
+msgstr "RecentChanges"
+
+#: ../lib/editpage.php:672 ../lib/plugin/HtmlConverter.php:66
+#: ../lib/plugin/UpLoad.php:146 ../lib/plugin/UpLoad.php:151
+#: ../lib/plugin/WikiForm.php:103
+msgid "Upload"
+msgstr "上傳"
+
+#: ../lib/editpage.php:675
+#, fuzzy
+msgid "Spell Check"
+msgstr "選擇"
+
+#: ../lib/editpage.php:698 ../themes/Portland/templates/editpage.tmpl:41
+#: ../themes/Wordpress/templates/editpage.tmpl:52
 #, php-format
 msgid "Author will be logged as %s."
 msgstr "作者將登入為 %s."
 
-#: ../lib/editpage.php:731
+#: ../lib/editpage.php:855
+msgid "Keep old"
+msgstr ""
+
+#: ../lib/editpage.php:858
+msgid "Overwrite with new"
+msgstr ""
+
+#: ../lib/editpage.php:868
 #, php-format
 msgid "Merge and Edit: %s"
 msgstr "合併並離開: %s"
@@ -1466,11 +1699,42 @@
 msgid "Dump pages as XHTML"
 msgstr "傾印頁面為 XHTML"
 
+#: ../lib/loadsave.php:82 ../lib/loadsave.php:428 ../lib/loadsave.php:902
+#: ../lib/loadsave.php:908 ../lib/loadsave.php:916 ../lib/main.php:1006
+#: ../lib/main.php:1110 ../lib/plugin/WikiAdminSelect.php:192
+#: ../themes/Crao/templates/head.tmpl:79 ../themes/Crao/templates/head.tmpl:80
+#: ../themes/Crao/templates/navbar.tmpl:37
+#: ../themes/MonoBook/templates/navbar.tmpl:57
+#: ../themes/Portland/templates/navbar.tmpl:27
+#: ../themes/Sidebar/templates/navbar.tmpl:28
+#: ../themes/Wordpress/templates/actionbar.tmpl:26
+#: ../themes/blog/templates/navbar.tmpl:14
+#: ../themes/default/templates/head.tmpl:86
+#: ../themes/default/templates/head.tmpl:87
+#: ../themes/default/templates/navbar.tmpl:55
+#: ../themes/shamino_com/templates/actionbar.tmpl:18
+#: ../themes/smaller/templates/navbar.tmpl:19
+#: ../themes/wikilens/templates/head.tmpl:78
+#: ../themes/wikilens/templates/head.tmpl:79
+#: ../themes/wikilens/templates/navbar.tmpl:32
+msgid "PhpWikiAdministration"
+msgstr "PhpWikiAdministration"
+
 #: ../lib/loadsave.php:95 ../lib/loadsave.php:96
 #, fuzzy
 msgid "LoadDump"
 msgstr "PageDump"
 
+#: ../lib/loadsave.php:99
+#, php-format
+msgid "PageChange Notification of %s sent to %s"
+msgstr "%s 的 PageChange 通知已送給 %s"
+
+#: ../lib/loadsave.php:102
+#, php-format
+msgid "PageChange Notification Error: Couldn't send %s to %s"
+msgstr "PageChange 通知錯誤: 無法送 %s 給 %s"
+
 #: ../lib/loadsave.php:110
 msgid "Complete."
 msgstr "完成"
@@ -1480,539 +1744,539 @@
 msgid "Return to %s"
 msgstr "回到 %s"
 
-#: ../lib/loadsave.php:197
+#: ../lib/loadsave.php:200
 msgid "FullDump"
 msgstr "完整傾印"
 
-#: ../lib/loadsave.php:201
+#: ../lib/loadsave.php:204
 msgid "LatestSnapshot"
 msgstr "最新快照"
 
-#: ../lib/loadsave.php:273 ../lib/loadsave.php:381
+#: ../lib/loadsave.php:276 ../lib/loadsave.php:401
 msgid "You must specify a directory to dump to"
 msgstr "你必須指定目錄以進行傾印"
 
-#: ../lib/loadsave.php:278 ../lib/loadsave.php:386
+#: ../lib/loadsave.php:281 ../lib/loadsave.php:406
 #, php-format
 msgid "Cannot create directory '%s'"
 msgstr "無法建立目錄 '%s'"
 
-#: ../lib/loadsave.php:280 ../lib/loadsave.php:388
+#: ../lib/loadsave.php:283 ../lib/loadsave.php:408
 #, php-format
 msgid "Created directory '%s' for the page dump..."
 msgstr "為頁面傾印建立目錄 '%s'..."
 
-#: ../lib/loadsave.php:283 ../lib/loadsave.php:391
+#: ../lib/loadsave.php:286 ../lib/loadsave.php:411
 #, php-format
 msgid "Using directory '%s'"
 msgstr "使用目錄 '%s'"
 
-#: ../lib/loadsave.php:286 ../lib/loadsave.php:394
+#: ../lib/loadsave.php:289 ../lib/loadsave.php:414
 msgid "Dumping Pages"
 msgstr "傾印頁面中"
 
-#: ../lib/loadsave.php:318 ../lib/loadsave.php:451 ../lib/stdlib.php:845
+#: ../lib/loadsave.php:321 ../lib/loadsave.php:471 ../lib/stdlib.php:857
 #, fuzzy
 msgid "Skipped."
 msgstr "跳過"
 
-#: ../lib/loadsave.php:326
+#: ../lib/loadsave.php:329
 #, php-format
 msgid "saved as %s"
 msgstr "存為 %s"
 
-#: ../lib/loadsave.php:336 ../lib/loadsave.php:469
-#: ../lib/plugin/text2png.php:183
+#: ../lib/loadsave.php:339 ../lib/loadsave.php:503
+#: ../lib/plugin/text2png.php:228
 #, php-format
 msgid "couldn't open file '%s' for writing"
 msgstr "無法寫入到 '%s'."
 
-#: ../lib/loadsave.php:342 ../lib/loadsave.php:478
+#: ../lib/loadsave.php:345 ../lib/loadsave.php:513
 #, php-format
 msgid "%s bytes written"
 msgstr "已寫入 %s bytes"
 
-#: ../lib/loadsave.php:476
+#: ../lib/loadsave.php:511
 #, fuzzy
 msgid "saved as "
 msgstr "存為 %s"
 
-#: ../lib/loadsave.php:514 ../lib/loadsave.php:533 ../lib/loadsave.php:550
+#: ../lib/loadsave.php:549 ../lib/loadsave.php:569 ../lib/loadsave.php:586
 #, php-format
 msgid "... copied to %s"
 msgstr "... 複製到 %s"
 
-#: ../lib/loadsave.php:516 ../lib/loadsave.php:535 ../lib/loadsave.php:552
+#: ../lib/loadsave.php:551 ../lib/loadsave.php:571 ../lib/loadsave.php:588
 #, fuzzy, php-format
 msgid "... not copied to %s"
 msgstr "... 複製到 %s"
 
-#: ../lib/loadsave.php:519 ../lib/loadsave.php:538 ../lib/loadsave.php:555
+#: ../lib/loadsave.php:555 ../lib/loadsave.php:574 ../lib/loadsave.php:592
 msgid "... not found"
 msgstr "... 沒找到"
 
-#: ../lib/loadsave.php:723
+#: ../lib/loadsave.php:760
 msgid "Empty pagename!"
 msgstr "空白的頁面名稱!"
 
-#: ../lib/loadsave.php:779
+#: ../lib/loadsave.php:770
+#, fuzzy
+msgid "Invalid pagename!"
+msgstr "錯誤的 acl"
+
+#: ../lib/loadsave.php:833
 #, php-format
 msgid "from %s"
 msgstr "從 %s"
 
-#: ../lib/loadsave.php:795
+#: ../lib/loadsave.php:849
 msgid "has edit conflicts - overwriting anyway"
 msgstr "編輯衝突 - 無論如何都覆寫"
 
-#: ../lib/loadsave.php:798 ../lib/loadsave.php:1292 ../lib/loadsave.php:1295
-msgid "The PhpWiki programming team"
-msgstr "PhpWiki 開發團隊"
+#: ../lib/loadsave.php:858
+msgid "keep old"
+msgstr ""
 
-#: ../lib/loadsave.php:803
+#: ../lib/loadsave.php:860
 msgid "has edit conflicts - skipped"
 msgstr "編輯衝突 - 跳過"
 
-#: ../lib/loadsave.php:814
+#: ../lib/loadsave.php:872
 #, fuzzy, php-format
 msgid "content is identical to current version %d - no new revision created"
 msgstr "與目前版本 %d 相同 - 跳過"
 
-#: ../lib/loadsave.php:828
+#: ../lib/loadsave.php:886
 #, php-format
 msgid "- saved to database as version %d"
 msgstr "- 已經以版本 %d 存入資料庫中"
 
-#: ../lib/loadsave.php:834 ../lib/loadsave.php:1088
+#: ../lib/loadsave.php:892 ../lib/loadsave.php:1162
 #, php-format
 msgid "MIME file %s"
 msgstr "MIME 檔案 %s"
 
-#: ../lib/loadsave.php:835 ../lib/loadsave.php:1093
+#: ../lib/loadsave.php:893 ../lib/loadsave.php:1173
 #, php-format
 msgid "Serialized file %s"
 msgstr "Serialized 到檔案 %s"
 
-#: ../lib/loadsave.php:836 ../lib/loadsave.php:1107
+#: ../lib/loadsave.php:894 ../lib/loadsave.php:1195
 #, php-format
 msgid "plain file %s"
 msgstr "一般檔案 %s"
 
-#: ../lib/loadsave.php:843
+#: ../lib/loadsave.php:901 ../lib/plugin/SyncWiki.php:271
 msgid "Merge Edit"
 msgstr "合併編輯"
 
-#: ../lib/loadsave.php:849
+#: ../lib/loadsave.php:907
 msgid "Restore Anyway"
 msgstr "無論如何都回存"
 
-#: ../lib/loadsave.php:857
+#: ../lib/loadsave.php:915
 msgid "Overwrite All"
 msgstr ""
 
-#: ../lib/loadsave.php:864
+#: ../lib/loadsave.php:922
 msgid " Sorry, cannot merge."
 msgstr ""
 
-#: ../lib/loadsave.php:884 ../lib/loadsave.php:894 ../lib/loadsave.php:901
-#: ../lib/loadsave.php:908 ../themes/MonoBook/templates/actionbar.tmpl:37
-#: ../themes/Wordpress/templates/actionbar.tmpl:57
-#: ../themes/default/templates/actionbar.tmpl:26
-#: ../themes/smaller/templates/actionbar.tmpl:29
+#: ../lib/loadsave.php:942 ../lib/loadsave.php:952 ../lib/loadsave.php:959
+#: ../lib/loadsave.php:966 ../themes/MonoBook/templates/actionbar.tmpl:60
+#: ../themes/Wordpress/templates/actionbar.tmpl:58
+#: ../themes/default/templates/actionbar.tmpl:28
+#: ../themes/smaller/templates/actionbar.tmpl:31
 #, fuzzy
 msgid "Revert"
 msgstr "重設"
 
-#: ../lib/loadsave.php:885
+#: ../lib/loadsave.php:943
 msgid "missing required version argument"
 msgstr ""
 
-#: ../lib/loadsave.php:893
+#: ../lib/loadsave.php:951
 #, fuzzy
 msgid "no page content"
 msgstr "下載頁面內容"
 
-#: ../lib/loadsave.php:900
+#: ../lib/loadsave.php:958
 #, fuzzy
 msgid "same version page"
 msgstr "使用者頁面"
 
-#: ../lib/loadsave.php:907
+#: ../lib/loadsave.php:965
 #, fuzzy
 msgid "Cancelled"
 msgstr "取消"
 
-#: ../lib/loadsave.php:915
+#: ../lib/loadsave.php:973
 msgid "Are you sure?"
 msgstr ""
 
-#: ../lib/loadsave.php:921 ../lib/plugin/PasswordReset.php:104
-#: ../lib/plugin/PasswordReset.php:142 ../lib/plugin/UserPreferences.php:114
-#: ../lib/plugin/WikiAdminChmod.php:146 ../lib/plugin/WikiAdminChown.php:153
-#: ../lib/plugin/WikiAdminMarkup.php:149 ../lib/plugin/WikiAdminRemove.php:188
-#: ../lib/plugin/WikiAdminRename.php:165
+#: ../lib/loadsave.php:979 ../lib/plugin/PasswordReset.php:103
+#: ../lib/plugin/PasswordReset.php:146 ../lib/plugin/UserPreferences.php:114
+#: ../lib/plugin/WatchPage.php:84 ../lib/plugin/WikiAdminChmod.php:146
+#: ../lib/plugin/WikiAdminChown.php:153 ../lib/plugin/WikiAdminMarkup.php:149
+#: ../lib/plugin/WikiAdminRemove.php:188 ../lib/plugin/WikiAdminRename.php:165
 #: ../lib/plugin/WikiAdminSearchReplace.php:180
-#: ../lib/plugin/WikiAdminSetAcl.php:176
+#: ../lib/plugin/WikiAdminSetAcl.php:180
 msgid "Yes"
 msgstr "是"
 
-#: ../lib/loadsave.php:923 ../lib/plugin/PasswordReset.php:107
-#: ../lib/plugin/PasswordReset.php:145 ../lib/plugin/TranslateText.php:118
-#: ../lib/plugin/UserPreferences.php:116 ../lib/plugin/WikiAdminChmod.php:159
+#: ../lib/loadsave.php:981 ../lib/plugin/PasswordReset.php:106
+#: ../lib/plugin/PasswordReset.php:149 ../lib/plugin/TranslateText.php:118
+#: ../lib/plugin/UserPreferences.php:116 ../lib/plugin/WatchPage.php:86
+#: ../lib/plugin/WatchPage.php:91 ../lib/plugin/WikiAdminChmod.php:159
 #: ../lib/plugin/WikiAdminChown.php:166 ../lib/plugin/WikiAdminMarkup.php:162
 #: ../lib/plugin/WikiAdminRemove.php:214 ../lib/plugin/WikiAdminRename.php:182
 #: ../lib/plugin/WikiAdminSearchReplace.php:194
 #: ../lib/plugin/WikiAdminSelect.php:218 ../lib/plugin/WikiAdminSelect.php:239
-#: ../lib/plugin/WikiAdminSetAcl.php:189 ../lib/plugin/WikiAdminUtils.php:266
-#: ../lib/plugin/WikiFormRich.php:317 ../lib/removepage.php:24
-#: ../lib/upgrade.php:682 ../themes/default/templates/login.tmpl:78
-#: ../themes/default/templates/userprefs.tmpl:243
+#: ../lib/plugin/WikiAdminSetAcl.php:193 ../lib/plugin/WikiAdminUtils.php:296
+#: ../lib/plugin/WikiFormRich.php:310 ../lib/removepage.php:24
+#: ../lib/upgrade.php:808 ../themes/default/templates/login.tmpl:78
+#: ../themes/default/templates/userprefs.tmpl:244
 msgid "Cancel"
 msgstr "取消"
 
-#: ../lib/loadsave.php:938
+#: ../lib/loadsave.php:997
 #, fuzzy, php-format
 msgid "revert to version %d"
 msgstr "版本 %d"
 
-#: ../lib/loadsave.php:943
+#: ../lib/loadsave.php:1002
 #, fuzzy, php-format
 msgid "Revert: %s"
 msgstr "重設"
 
-#: ../lib/loadsave.php:944
+#: ../lib/loadsave.php:1003
 #, fuzzy, php-format
 msgid "- version %d saved to database as version %d"
 msgstr "- 已經以版本 %d 存入資料庫中"
 
-#: ../lib/loadsave.php:972
+#: ../lib/loadsave.php:1031
 msgid "Default InterWiki map file not loaded."
 msgstr "預設 InterWiki map 檔案未能載入."
 
-#: ../lib/loadsave.php:1122 ../lib/loadsave.php:1135
+#: ../lib/loadsave.php:1210 ../lib/loadsave.php:1223
 msgid "Skipping"
 msgstr "跳過"
 
-#: ../lib/loadsave.php:1236
+#: ../lib/loadsave.php:1324
 #, php-format
-msgid "Unable to load: %s"
-msgstr "無法載入: %s"
+msgid "Empty or not existing source. Unable to load: %s"
+msgstr ""
 
-#: ../lib/loadsave.php:1243
+#: ../lib/loadsave.php:1331
 #, php-format
 msgid "Bad file type: %s"
 msgstr "錯誤的檔案型態: %s"
 
-#: ../lib/loadsave.php:1260
+#: ../lib/loadsave.php:1348
 #, php-format
 msgid "Loading '%s'"
 msgstr "載入 '%s'"
 
-#: ../lib/loadsave.php:1298
+#: ../lib/loadsave.php:1386
 msgid "Loading up virgin wiki"
 msgstr "載入原始 wiki"
 
-#: ../lib/loadsave.php:1344
+#: ../lib/loadsave.php:1436
 msgid "No uploaded file to upload?"
 msgstr "沒有要上傳的檔案?"
 
-#: ../lib/loadsave.php:1348
+#: ../lib/loadsave.php:1440
 #, php-format
 msgid "Uploading %s"
 msgstr "上傳中 %s"
 
-#: ../lib/main.php:415
+#: ../lib/main.php:440
 msgid "FORBIDDEN"
 msgstr ""
 
-#: ../lib/main.php:416 ../lib/main.php:426
+#: ../lib/main.php:441 ../lib/main.php:451
 msgid "ANON"
 msgstr ""
 
-#: ../lib/main.php:417
+#: ../lib/main.php:442
 msgid "BOGO"
 msgstr ""
 
-#: ../lib/main.php:418
+#: ../lib/main.php:443
 msgid "USER"
 msgstr ""
 
-#: ../lib/main.php:419
+#: ../lib/main.php:444
 msgid "ADMIN"
 msgstr ""
 
-#: ../lib/main.php:420
+#: ../lib/main.php:445
 msgid "UNOBTAINABLE"
 msgstr ""
 
-#: ../lib/main.php:448 ../lib/main.php:467
+#: ../lib/main.php:473 ../lib/main.php:492
 #, php-format
 msgid "%s is disallowed on this wiki."
 msgstr "在此 wiki 上, %s 是被禁止的."
 
-#: ../lib/main.php:456
+#: ../lib/main.php:481
 #, fuzzy
 msgid "authenticated"
 msgstr "已認證的使用者"
 
-#: ../lib/main.php:456
+#: ../lib/main.php:481
 #, fuzzy
 msgid "not authenticated"
 msgstr "認證為 %s"
 
-#: ../lib/main.php:457
-#, fuzzy, php-format
-msgid "%s %s %s is disallowed on this wiki for %s user '%s' (level: %s)."
-msgstr "在此 wiki 上, %s 是被禁止的."
-
-#: ../lib/main.php:458
+#: ../lib/main.php:483
 #, fuzzy
 msgid "Missing PagePermission:"
 msgstr "個別頁面權限"
 
-#: ../lib/main.php:475
+#: ../lib/main.php:482
+#, fuzzy, php-format
+msgid "%s %s %s is disallowed on this wiki for %s user '%s' (level: %s)."
+msgstr "在此 wiki 上, %s 是被禁止的."
+
+#: ../lib/main.php:500
 #, php-format
 msgid "You must sign in to %s."
 msgstr "你必須簽入才能 %s."
 
-#: ../lib/main.php:477
+#: ../lib/main.php:502
 #, php-format
 msgid "You must log in to %s."
 msgstr "你必須登入才能 %s."
 
-#: ../lib/main.php:479
+#: ../lib/main.php:504
+#, fuzzy
+msgid "You must log in first"
+msgstr "你必須登入才能 %s."
+
+#: ../lib/main.php:506
 #, php-format
 msgid "Access for you is forbidden to %s."
 msgstr ""
 
-#: ../lib/main.php:481 ../lib/plugin/PluginManager.php:65
+#: ../lib/main.php:508 ../lib/plugin/PluginManager.php:65
 #, php-format
 msgid "You must be an administrator to %s."
 msgstr "你必須是一個管理者才能 %s."
 
-#: ../lib/main.php:493
+#: ../lib/main.php:521
 msgid "view this page"
 msgstr "查看此頁面"
 
-#: ../lib/main.php:494
+#: ../lib/main.php:522
 msgid "diff this page"
 msgstr "比對此頁面"
 
-#: ../lib/main.php:495
+#: ../lib/main.php:523
 msgid "dump html pages"
 msgstr "傾印 html 頁面"
 
-#: ../lib/main.php:496
+#: ../lib/main.php:524
 msgid "dump serial pages"
 msgstr "傾印連續頁面"
 
-#: ../lib/main.php:497
+#: ../lib/main.php:525
 msgid "edit this page"
 msgstr "編輯此頁面"
 
-#: ../lib/main.php:498
+#: ../lib/main.php:526
 #, fuzzy
 msgid "revert to a previous version of this page"
 msgstr "你正在查看此頁面的較舊修訂."
 
-#: ../lib/main.php:499
+#: ../lib/main.php:527
 msgid "create this page"
 msgstr "建立此頁面"
 
-#: ../lib/main.php:500
+#: ../lib/main.php:528
 msgid "load files into this wiki"
 msgstr "載入檔案到此 wiki"
 
-#: ../lib/main.php:501
+#: ../lib/main.php:529
 msgid "lock this page"
 msgstr "鎖定此頁面"
 
-#: ../lib/main.php:502
+#: ../lib/main.php:530
 msgid "remove this page"
 msgstr "移除此頁面"
 
-#: ../lib/main.php:503
+#: ../lib/main.php:531
 msgid "unlock this page"
 msgstr "解除鎖定此頁面"
 
-#: ../lib/main.php:504
+#: ../lib/main.php:532
 msgid "upload a zip dump"
 msgstr "上傳 zip 傾印"
 
-#: ../lib/main.php:505
+#: ../lib/main.php:533
 msgid "verify the current action"
 msgstr "確認目前動作"
 
-#: ../lib/main.php:506
+#: ../lib/main.php:534
 msgid "view the source of this page"
 msgstr "查看此頁面源碼"
 
-#: ../lib/main.php:507
+#: ../lib/main.php:535
 msgid "access this wiki via XML-RPC"
 msgstr "透過 XML-RPC 存取此 wiki"
 
-#: ../lib/main.php:508
+#: ../lib/main.php:536
 #, fuzzy
 msgid "access this wiki via SOAP"
 msgstr "透過 XML-RPC 存取此 wiki"
 
-#: ../lib/main.php:509
+#: ../lib/main.php:537
 msgid "download a zip dump from this wiki"
 msgstr "從此 wiki 下載 zip dump"
 
-#: ../lib/main.php:510
+#: ../lib/main.php:538
 #, fuzzy
 msgid "download a html zip dump from this wiki"
 msgstr "從此 wiki 下載 html zip dump"
 
-#: ../lib/main.php:534
+#: ../lib/main.php:562
 msgid "Browsing pages"
 msgstr "瀏覽頁面"
 
-#: ../lib/main.php:535
+#: ../lib/main.php:563
 msgid "Diffing pages"
 msgstr "比對頁面差異"
 
-#: ../lib/main.php:536
+#: ../lib/main.php:564
 msgid "Dumping html pages"
 msgstr "傾印 html 頁面"
 
-#: ../lib/main.php:537
+#: ../lib/main.php:565
 msgid "Dumping serial pages"
 msgstr "傾印連續頁面"
 
-#: ../lib/main.php:538
+#: ../lib/main.php:566
 msgid "Editing pages"
 msgstr "編輯頁面"
 
-#: ../lib/main.php:539
+#: ../lib/main.php:567
 msgid "Reverting to a previous version of pages"
 msgstr ""
 
-#: ../lib/main.php:540
+#: ../lib/main.php:568
 msgid "Creating pages"
 msgstr "建立頁面"
 
-#: ../lib/main.php:541
+#: ../lib/main.php:569
 msgid "Loading files"
 msgstr "載入檔案"
 
-#: ../lib/main.php:542
+#: ../lib/main.php:570
 msgid "Locking pages"
 msgstr "鎖定頁面"
 
-#: ../lib/main.php:543
+#: ../lib/main.php:571
 msgid "Removing pages"
 msgstr "移除頁面"
 
-#: ../lib/main.php:544
+#: ../lib/main.php:572
 msgid "Unlocking pages"
 msgstr "解除鎖定頁面"
 
-#: ../lib/main.php:545
+#: ../lib/main.php:573
 msgid "Uploading zip dumps"
 msgstr "上傳 zip dumps"
 
-#: ../lib/main.php:546
+#: ../lib/main.php:574
 msgid "Verify the current action"
 msgstr "確認目前動作"
 
-#: ../lib/main.php:547
+#: ../lib/main.php:575
 msgid "Viewing the source of pages"
 msgstr "查看頁面源碼"
 
-#: ../lib/main.php:548
+#: ../lib/main.php:576
 msgid "XML-RPC access"
 msgstr "XML-RPC 存取"
 
-#: ../lib/main.php:549
+#: ../lib/main.php:577
 #, fuzzy
 msgid "SOAP access"
 msgstr "XML-RPC 存取"
 
-#: ../lib/main.php:550
+#: ../lib/main.php:578
 msgid "Downloading zip dumps"
 msgstr "下載 zip dumps"
 
-#: ../lib/main.php:551
+#: ../lib/main.php:579
 msgid "Downloading html zip dumps"
 msgstr "下載 html zip dumps"
 
-#: ../lib/main.php:685
+#: ../lib/main.php:720
 #, php-format
 msgid "%s: action forwarded to a moderator."
 msgstr ""
 
-#: ../lib/main.php:688
+#: ../lib/main.php:723
 msgid "This action requires moderator approval. Please be patient."
 msgstr ""
 
-#: ../lib/main.php:693
+#: ../lib/main.php:728
 msgid "You must wait for moderator approval."
 msgstr ""
 
-#: ../lib/main.php:698 ../lib/main.php:1051 ../lib/plugin/ModeratedPage.php:41
-#: ../lib/plugin/ModeratedPage.php:137 ../lib/plugin/ModeratedPage.php:205
-#: ../lib/plugin/ModeratedPage.php:238 ../lib/plugin/ModeratedPage.php:241
-#: ../lib/plugin/ModeratedPage.php:243 ../lib/plugin/ModeratedPage.php:245
-#: ../lib/plugin/ModeratedPage.php:324
-#, fuzzy
-msgid "ModeratedPage"
-msgstr "CreatePage"
-
-#: ../lib/main.php:714
+#: ../lib/main.php:749 ../lib/plugin/ModeratedPage.php:310
 #, php-format
 msgid "%s: Bad action"
 msgstr "%s: 錯誤的動作"
 
-#: ../lib/main.php:731
+#: ../lib/main.php:766
 msgid "Fatal PhpWiki Error"
 msgstr "致命的 PhpWiki 錯誤"
 
-#: ../lib/main.php:980 ../lib/plugin/WikiAdminChown.php:183
+#: ../lib/main.php:1019 ../lib/plugin/WikiAdminChown.php:183
 #, fuzzy
 msgid "Chown"
 msgstr "Chmod"
 
-#: ../lib/main.php:984 ../lib/plugin/WikiAdminSetAcl.php:183
+#: ../lib/main.php:1023 ../lib/plugin/WikiAdminSetAcl.php:187
 msgid "SetAcl"
 msgstr "SetAcl"
 
-#: ../lib/main.php:988 ../lib/plugin/WikiAdminRename.php:208
+#: ../lib/main.php:1027 ../lib/plugin/WikiAdminRename.php:208
 msgid "Rename"
 msgstr "更名"
 
-#: ../lib/main.php:992 ../lib/main.php:997 ../lib/plugin/PageDump.php:36
+#: ../lib/main.php:1031 ../lib/main.php:1036 ../lib/plugin/PageDump.php:36
 #: ../themes/Crao/templates/actionbar.tmpl:28
-#: ../themes/MonoBook/templates/actionbar.tmpl:48
-#: ../themes/Wordpress/templates/actionbar.tmpl:75
-#: ../themes/default/templates/actionbar.tmpl:35
+#: ../themes/MonoBook/templates/actionbar.tmpl:69
+#: ../themes/Wordpress/templates/actionbar.tmpl:76
+#: ../themes/default/templates/actionbar.tmpl:37
 #: ../themes/shamino_com/templates/actionbar.tmpl:22
-#: ../themes/shamino_com/templates/info.tmpl:168
-#: ../themes/smaller/templates/actionbar.tmpl:39
+#: ../themes/smaller/templates/actionbar.tmpl:41
 #: ../themes/smaller/templates/info.tmpl:11
 msgid "PageDump"
 msgstr "PageDump"
 
-#: ../lib/main.php:1011 ../lib/plugin/FullTextSearch.php:39
-#: ../lib/plugin/WantedPagesOld.php:134
+#: ../lib/main.php:1050 ../lib/plugin/FullTextSearch.php:45
 msgid "FullTextSearch"
 msgstr "FullTextSearch"
 
-#: ../lib/main.php:1161
+#: ../lib/main.php:1222
 msgid "The session.save_path directory"
 msgstr "session.save_path 目錄"
 
-#: ../lib/main.php:1164
+#: ../lib/main.php:1225
 #, fuzzy, php-format
 msgid "the session.save_path directory '%s'"
 msgstr "session.save_path 目錄"
 
-#: ../lib/main.php:1168
+#: ../lib/main.php:1229
 #, php-format
 msgid "Attempting to use the directory '%s' instead."
 msgstr "試圖改用目錄 '%s'."
 
-#: ../lib/main.php:1175
+#: ../lib/main.php:1236
 msgid "Users will not be able to sign in."
 msgstr "使用者將無法簽入."
 
@@ -2038,8 +2302,8 @@
 msgid "Click to display all comments"
 msgstr "點擊以顯示"
 
-#: ../lib/plugin/AddComment.php:111 ../lib/plugin/CreateToc.php:372
-#: ../lib/plugin/CreateToc.php:377
+#: ../lib/plugin/AddComment.php:111 ../lib/plugin/CreateToc.php:381
+#: ../lib/plugin/CreateToc.php:401
 msgid "Click to display"
 msgstr "點擊以顯示"
 
@@ -2047,7 +2311,7 @@
 msgid "Comments"
 msgstr "意見"
 
-#: ../lib/plugin/AllPages.php:34
+#: ../lib/plugin/AllPages.php:34 ../themes/MonoBook/templates/navbar.tmpl:78
 msgid "AllPages"
 msgstr "AllPages"
 
@@ -2060,22 +2324,22 @@
 msgid "All pages in this wiki (%d total):"
 msgstr "在此 wiki 中的頁面 (共 %d):"
 
-#: ../lib/plugin/AllPages.php:77 ../lib/plugin/LinkDatabase.php:83
+#: ../lib/plugin/AllPages.php:77 ../lib/plugin/LinkDatabase.php:84
 #, fuzzy, php-format
 msgid "List of pages owned by [%s] (%d total):"
 msgstr "%s 所需要的頁面 (共 %d):"
 
-#: ../lib/plugin/AllPages.php:87 ../lib/plugin/LinkDatabase.php:90
+#: ../lib/plugin/AllPages.php:89 ../lib/plugin/LinkDatabase.php:91
 #, php-format
 msgid "List of pages last edited by [%s] (%d total):"
 msgstr ""
 
-#: ../lib/plugin/AllPages.php:97 ../lib/plugin/LinkDatabase.php:97
+#: ../lib/plugin/AllPages.php:101 ../lib/plugin/LinkDatabase.php:98
 #, fuzzy, php-format
 msgid "List of pages created by [%s] (%d total):"
 msgstr "%s 所需要的頁面 (共 %d):"
 
-#: ../lib/plugin/AllPages.php:126 ../lib/plugin/AllUsers.php:105
+#: ../lib/plugin/AllPages.php:133 ../lib/plugin/AllUsers.php:105
 #, php-format
 msgid "Elapsed time: %s s"
 msgstr "經過時間: %s s"
@@ -2094,123 +2358,124 @@
 msgid "Authenticated users on this wiki (%d total):"
 msgstr "在此 wiki 上被確認的使用者 (共 %d):"
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:143
-#: ../lib/plugin/AnalyseAccessLogSql.php:168
+#: ../lib/plugin/AnalyseAccessLogSql.php:162
+#: ../lib/plugin/AnalyseAccessLogSql.php:197
 msgid "0 - last minute"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:144
-#: ../lib/plugin/AnalyseAccessLogSql.php:169
+#: ../lib/plugin/AnalyseAccessLogSql.php:163
+#: ../lib/plugin/AnalyseAccessLogSql.php:198
 msgid "1 - 1 minute to 1 hour"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:145
-#: ../lib/plugin/AnalyseAccessLogSql.php:170
+#: ../lib/plugin/AnalyseAccessLogSql.php:164
+#: ../lib/plugin/AnalyseAccessLogSql.php:199
 msgid "2 - 1 hour to 1 day"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:146
-#: ../lib/plugin/AnalyseAccessLogSql.php:171
+#: ../lib/plugin/AnalyseAccessLogSql.php:165
+#: ../lib/plugin/AnalyseAccessLogSql.php:200
 msgid "3 - 1 day to 1 week"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:147
-#: ../lib/plugin/AnalyseAccessLogSql.php:172
+#: ../lib/plugin/AnalyseAccessLogSql.php:166
+#: ../lib/plugin/AnalyseAccessLogSql.php:201
 msgid "4 - 1 week to 1 month"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:148
-#: ../lib/plugin/AnalyseAccessLogSql.php:173
+#: ../lib/plugin/AnalyseAccessLogSql.php:167
+#: ../lib/plugin/AnalyseAccessLogSql.php:202
 msgid "5 - 1 month to 1 year"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:149
-#: ../lib/plugin/AnalyseAccessLogSql.php:174
+#: ../lib/plugin/AnalyseAccessLogSql.php:168
+#: ../lib/plugin/AnalyseAccessLogSql.php:203
 msgid "6 - more than 1 year"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:193
+#: ../lib/plugin/AnalyseAccessLogSql.php:222
 msgid "referring_urls"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:194
+#: ../lib/plugin/AnalyseAccessLogSql.php:223
 msgid "external_referers"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:195
+#: ../lib/plugin/AnalyseAccessLogSql.php:224
 msgid "referring_domains"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:196
+#: ../lib/plugin/AnalyseAccessLogSql.php:225
 msgid "remote_hosts"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:197
+#: ../lib/plugin/AnalyseAccessLogSql.php:226
 #, fuzzy
 msgid "users"
 msgstr "AllUsers"
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:198
+#: ../lib/plugin/AnalyseAccessLogSql.php:227
 msgid "host_users"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:199
+#: ../lib/plugin/AnalyseAccessLogSql.php:228
 msgid "search_bots"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:200
+#: ../lib/plugin/AnalyseAccessLogSql.php:229
 msgid "search_bots_hits"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:202
+#: ../lib/plugin/AnalyseAccessLogSql.php:231
 #, fuzzy
 msgid "minutes"
 msgstr "%d 分鐘"
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:203
+#: ../lib/plugin/AnalyseAccessLogSql.php:232
 msgid "hours"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:204 ../lib/plugin/VisualWiki.php:499
+#: ../lib/plugin/AnalyseAccessLogSql.php:233 ../lib/plugin/VisualWiki.php:503
 msgid "days"
 msgstr "天"
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:205
+#: ../lib/plugin/AnalyseAccessLogSql.php:234
 msgid "weeks"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:223
+#: ../lib/plugin/AnalyseAccessLogSql.php:252
 msgid "AnalyseAccessLogSql"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:227
+#: ../lib/plugin/AnalyseAccessLogSql.php:256
 #, fuzzy
 msgid "Show summary information from the access log table."
 msgstr "顯示目前使用者 session 的摘要資訊."
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:240
+#: ../lib/plugin/AnalyseAccessLogSql.php:269
 msgid "The requested information is available only to Administrators."
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:243
+#: ../lib/plugin/AnalyseAccessLogSql.php:272
 msgid "The SQL_ACCESS_LOG is not enabled."
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:254
+#: ../lib/plugin/AnalyseAccessLogSql.php:283
 #, php-format
 msgid "Unrecognised parameter 'mode=%s'"
 msgstr ""
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:273 ../lib/plugin/_BackendInfo.php:97
+#: ../lib/plugin/AnalyseAccessLogSql.php:302
+#: ../lib/plugin/SemanticSearch.php:382 ../lib/plugin/_BackendInfo.php:124
 msgid "<empty>"
 msgstr "<空白>"
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:342
+#: ../lib/plugin/AnalyseAccessLogSql.php:382
 #, fuzzy
 msgid "mode"
 msgstr "Chmod"
 
-#: ../lib/plugin/AnalyseAccessLogSql.php:344
+#: ../lib/plugin/AnalyseAccessLogSql.php:384
 #, fuzzy
 msgid "period"
 msgstr "版本 %d"
@@ -2257,10 +2522,18 @@
 msgid "Render ASCII Math as MathML"
 msgstr ""
 
+#: ../lib/plugin/AsciiSVG.php:32
+msgid "AsciiSVG"
+msgstr ""
+
+#: ../lib/plugin/AsciiSVG.php:36
+msgid "Render inline ASCII SVG"
+msgstr ""
+
 #: ../lib/plugin/AuthorHistory.php:70
+#: ../themes/MonoBook/templates/actionbar.tmpl:67
 #: ../themes/MonoBook/templates/info.tmpl:168
 #: ../themes/blog/templates/info.tmpl:3
-#: ../themes/shamino_com/templates/info.tmpl:167
 #: ../themes/smaller/templates/info.tmpl:7
 msgid "AuthorHistory"
 msgstr "作者歷程"
@@ -2280,9 +2553,8 @@
 
 #: ../lib/plugin/AuthorHistory.php:125
 #: ../themes/MonoBook/templates/info.tmpl:77
-#: ../themes/default/templates/info.tmpl:70
+#: ../themes/default/templates/info.tmpl:69
 #: ../themes/default/templates/wikiforum.tmpl:22
-#: ../themes/shamino_com/templates/info.tmpl:76
 msgid "Author"
 msgstr "作者"
 
@@ -2291,12 +2563,9 @@
 #: ../themes/Crao/templates/editpage.tmpl:48
 #: ../themes/MonoBook/templates/info.tmpl:78
 #: ../themes/Portland/templates/editpage.tmpl:39
-#: ../themes/Wordpress/templates/editpage.tmpl:48
-#: ../themes/blog/templates/blogform.tmpl:15
-#: ../themes/default/templates/blogform.tmpl:15
+#: ../themes/Wordpress/templates/editpage.tmpl:46
 #: ../themes/default/templates/editpage.tmpl:47
-#: ../themes/default/templates/info.tmpl:71
-#: ../themes/shamino_com/templates/info.tmpl:77
+#: ../themes/default/templates/info.tmpl:70
 msgid "Summary"
 msgstr "摘要"
 
@@ -2309,63 +2578,67 @@
 msgid "History of all major and minor edits by %s to page %s."
 msgstr "所有被 %s 修改的主要和次要修訂歷程 - 頁面 %s."
 
-#: ../lib/plugin/AuthorHistory.php:156
-#, php-format
-msgid "History of all major edits by %s to page %s."
-msgstr "被 %s 修改的所有主要修訂歷程 - 頁面 %s."
-
 #: ../lib/plugin/AuthorHistory.php:218
 #, php-format
 msgid "History of all major and minor modifications for any page edited by %s."
 msgstr "被 %s 修改的所有頁面的主要與次要變更歷程."
 
-#: ../lib/plugin/AuthorHistory.php:218
-#, php-format
-msgid "History of major modifications for any page edited by %s."
-msgstr "被 %s 修改的主要所有頁面變更歷程."
-
 #: ../lib/plugin/BackLinks.php:35
 #, php-format
 msgid "List all pages which link to %s."
 msgstr "列出所有連結到 %s 的頁面."
 
-#: ../lib/plugin/BackLinks.php:70 ../lib/plugin/ListPages.php:122
+#: ../lib/plugin/BackLinks.php:73 ../lib/plugin/ListPages.php:122
 #: ../lib/plugin/ListPages.php:125 ../lib/plugin/ListSubpages.php:89
 msgid "#"
 msgstr ""
 
-#: ../lib/plugin/BackLinks.php:96
+#: ../lib/plugin/BackLinks.php:126
 #, php-format
 msgid "No other page links to %s yet."
 msgstr "沒有頁面連結到 %s."
 
-#: ../lib/plugin/BackLinks.php:99
+#: ../lib/plugin/BackLinks.php:129
 #, php-format
 msgid "One page would link to %s:"
 msgstr "有個頁面可能連結到 %s:"
 
-#: ../lib/plugin/BackLinks.php:108
+#: ../lib/plugin/BackLinks.php:138
 #, php-format
 msgid "%s pages would link to %s:"
 msgstr "%s 個頁面可能連結到 %s:"
 
-#: ../lib/plugin/BackLinks.php:116
+#: ../lib/plugin/BackLinks.php:147 ../lib/plugin/SemanticSearch.php:129
+#: ../lib/plugin/SemanticSearch.php:205
+msgid "AND"
+msgstr ""
+
+#: ../lib/plugin/BackLinks.php:153
 #, php-format
 msgid "No page links to %s."
 msgstr "沒有頁面連結到 %s."
 
-#: ../lib/plugin/BackLinks.php:121
+#: ../lib/plugin/BackLinks.php:158
 #, php-format
 msgid "One page links to %s:"
 msgstr "一個頁面連結到 %s:"
 
-#: ../lib/plugin/BackLinks.php:130
+#: ../lib/plugin/BackLinks.php:168
+#, fuzzy
+msgid "Those"
+msgstr "佈景主題"
+
+#: ../lib/plugin/BackLinks.php:167
 #, php-format
 msgid "%s pages link to %s:"
 msgstr "%s 個頁面連結到 %s:"
 
+#: ../lib/plugin/BackLinks.php:176
+msgid "More..."
+msgstr ""
+
 #: ../lib/plugin/BlogArchives.php:24 ../lib/plugin/BlogArchives.php:134
-#: ../themes/blog/templates/actionbar.tmpl:17
+#: ../themes/blog/templates/actionbar.tmpl:11
 msgid "Archives"
 msgstr ""
 
@@ -2373,13 +2646,13 @@
 msgid "List blog months links for the current or ADMIN user"
 msgstr ""
 
-#: ../lib/plugin/BlogArchives.php:88 ../lib/plugin/BlogJournal.php:85
+#: ../lib/plugin/BlogArchives.php:88 ../lib/plugin/BlogJournal.php:88
 #, php-format
 msgid "Blog Entries for %s:"
 msgstr ""
 
 #: ../lib/plugin/BlogArchives.php:96
-#: ../themes/blog/templates/actionbar.tmpl:17
+#: ../themes/blog/templates/actionbar.tmpl:11
 msgid "BlogArchives"
 msgstr ""
 
@@ -2395,38 +2668,33 @@
 msgid "Include latest blog entries for the current or ADMIN user"
 msgstr ""
 
-#: ../lib/plugin/BlogJournal.php:81 ../lib/plugin/WikiBlog.php:75
-msgid "WikiBlog"
-msgstr "WikiBlog"
+#: ../lib/plugin/BlogJournal.php:84
+#, fuzzy
+msgid "New entry"
+msgstr "新意見."
 
-#: ../lib/plugin/BlogJournal.php:83
+#: ../lib/plugin/BlogJournal.php:86
 msgid "No Blog Entries"
 msgstr ""
 
-#: ../lib/plugin/Calendar.php:41 ../lib/plugin/Calendar.php:45
-#: ../themes/Crao/templates/head.tmpl:89
-#: ../themes/Crao/templates/navbar.tmpl:28
-#: ../themes/Sidebar/templates/body.tmpl:21
-#: ../themes/Sidebar/templates/body.tmpl:26 ../themes/Sidebar/themeinfo.php:44
-#: ../themes/Wordpress/templates/actionbar.tmpl:31
-#: ../themes/blog/templates/sidebar.tmpl:18
-#: ../themes/default/templates/head.tmpl:96
-#: ../themes/default/templates/homepage.tmpl:15
-#: ../themes/default/templates/navbar.tmpl:45
-#: ../themes/wikilens/templates/head.tmpl:89
-#: ../themes/wikilens/templates/navbar.tmpl:35
-msgid "Calendar"
-msgstr "月曆"
+#: ../lib/plugin/BoxRight.php:34
+msgid "A simple plugin for <div class=boxright> with wikimarkup"
+msgstr ""
 
-#: ../lib/plugin/Calendar.php:95
+#: ../lib/plugin/Calendar.php:96
 msgid "Previous Month"
 msgstr "上個月"
 
-#: ../lib/plugin/Calendar.php:99
+#: ../lib/plugin/Calendar.php:100
 msgid "Next Month"
 msgstr "下個月"
 
-#: ../lib/plugin/Calendar.php:169 ../lib/plugin/CalendarList.php:135
+#: ../lib/plugin/Calendar.php:133
+#, fuzzy
+msgid "Wk"
+msgstr "寬"
+
+#: ../lib/plugin/Calendar.php:174 ../lib/plugin/CalendarList.php:135
 #, php-format
 msgid "Edit %s"
 msgstr "編輯 %s"
@@ -2444,8 +2712,6 @@
 msgstr "建立 Wiki 頁面"
 
 #: ../lib/plugin/Comment.php:22 ../themes/Crao/templates/blogform.tmpl:15
-#: ../themes/blog/templates/blogform.tmpl:21
-#: ../themes/default/templates/blogform.tmpl:21
 msgid "Comment"
 msgstr "意見"
 
@@ -2462,26 +2728,26 @@
 msgid "Automatically create a Bibtex file from linked pages"
 msgstr ""
 
-#: ../lib/plugin/CreateBib.php:121 ../lib/plugin/CreateToc.php:302
-#: ../lib/plugin/IncludePage.php:77 ../lib/plugin/RateIt.php:208
-#: ../lib/plugin/Template.php:102
+#: ../lib/plugin/CreateBib.php:121 ../lib/plugin/CreateToc.php:306
+#: ../lib/plugin/IncludePage.php:77 ../lib/plugin/RateIt.php:207
+#: ../lib/plugin/Template.php:110
 msgid "no page specified"
 msgstr "沒有指定頁面"
 
-#: ../lib/plugin/CreatePage.php:39
+#: ../lib/plugin/CreatePage.php:42
 msgid "CreatePage"
 msgstr "CreatePage"
 
-#: ../lib/plugin/CreatePage.php:43
+#: ../lib/plugin/CreatePage.php:46
 msgid "Create a Wiki page by the provided name."
 msgstr "以提供的名稱建立 Wiki 頁面."
 
-#: ../lib/plugin/CreatePage.php:92
+#: ../lib/plugin/CreatePage.php:96
 #, php-format
 msgid "%s already exists"
 msgstr "%s 已經存在"
 
-#: ../lib/plugin/CreatePage.php:103
+#: ../lib/plugin/CreatePage.php:112
 msgid "Created by CreatePage"
 msgstr "由 CreatePage 建立"
 
@@ -2493,44 +2759,49 @@
 msgid "Automatically link headers at the top"
 msgstr "在上面自動連結表頭"
 
-#: ../lib/plugin/CreateToc.php:313
+#: ../lib/plugin/CreateToc.php:317
 msgid "CreateToc disabled for old markup"
 msgstr ""
 
-#: ../lib/plugin/CreateToc.php:369
+#: ../lib/plugin/CreateToc.php:377
 msgid "Click to hide the TOC"
 msgstr ""
 
-#: ../lib/plugin/CreateToc.php:379 ../lib/plugin/CreateToc.php:382
+#: ../lib/plugin/CreateToc.php:386 ../lib/plugin/CreateToc.php:403
 msgid "Table Of Contents"
 msgstr "目錄"
 
+#: ../lib/plugin/CreateToc.php:392
+#, fuzzy
+msgid "Click to display to TOC"
+msgstr "點擊以顯示"
+
 #: ../lib/plugin/DeadEndPages.php:24
 #, fuzzy
 msgid "DeadEndPages"
 msgstr "WantedPages"
 
-#: ../lib/plugin/Diff.php:40
+#: ../lib/plugin/Diff.php:41
 msgid "Display differences between revisions"
 msgstr "顯示修訂間的差異"
 
-#: ../lib/plugin/Diff.php:52
+#: ../lib/plugin/Diff.php:53
 msgid "World"
 msgstr "World"
 
-#: ../lib/plugin/EditMetaData.php:45 ../lib/plugin/_WikiTranslation.php:61
+#: ../lib/plugin/EditMetaData.php:48 ../lib/plugin/_WikiTranslation.php:61
 msgid "EditMetaData"
 msgstr "編輯中繼資料"
 
-#: ../lib/plugin/EditMetaData.php:49
+#: ../lib/plugin/EditMetaData.php:52
 #, php-format
 msgid "Edit metadata for %s"
 msgstr "為 %s 編輯中繼資料"
 
-#: ../lib/plugin/EditMetaData.php:109
-#, php-format
-msgid "Existing page-level metadata for %s:"
-msgstr "已存在的頁面層級中繼資料 %s:"
+#: ../lib/plugin/EditMetaData.php:132
+#, fuzzy, php-format
+msgid "No metadata for %s"
+msgstr "為 %s 編輯中繼資料"
 
 #: ../lib/plugin/EditMetaData.php:146
 #, fuzzy
@@ -2541,22 +2812,27 @@
 "加入或變更頁面層級的中繼資料 'key=>value'. 注意,移除時直接將 value 設為空白即"
 "可."
 
-#: ../lib/plugin/EditMetaData.php:149 ../lib/upgrade.php:680
+#: ../lib/plugin/EditMetaData.php:149 ../lib/upgrade.php:806
 msgid "Submit"
 msgstr "送出"
 
-#: ../lib/plugin/EditMetaData.php:161
+#: ../lib/plugin/EditMetaData.php:164
 msgid "Requires WikiAdmin privileges to edit."
 msgstr "需要 WikiAdmin 權限方能編輯."
 
-#: ../lib/plugin/ExternalSearch.php:38
+#: ../lib/plugin/ExternalSearch.php:40
 msgid "ExternalSearch"
 msgstr "外部搜尋"
 
-#: ../lib/plugin/ExternalSearch.php:42
+#: ../lib/plugin/ExternalSearch.php:44
 msgid "Redirects to an external web site based on form input"
 msgstr "以表單輸入方式重導向到另外一個外部站台"
 
+#: ../lib/plugin/ExternalSearch.php:140 ../lib/plugin/PhotoAlbum.php:479
+#, fuzzy, php-format
+msgid "Invalid argument: %s=%s"
+msgstr "錯誤的顏色值: %s"
+
 #: ../lib/plugin/FileInfo.php:39
 #, fuzzy
 msgid "FileInfo"
@@ -2566,13 +2842,23 @@
 msgid "Display file information like version,size,date,... of uploaded files."
 msgstr ""
 
-#: ../lib/plugin/FileInfo.php:63 ../lib/plugin/FileInfo.php:65
-#: ../lib/plugin/PageGroup.php:104 ../lib/plugin/WikiFormRich.php:163
-#: ../lib/plugin/WikiFormRich.php:179
+#: ../lib/plugin/FileInfo.php:64 ../lib/plugin/FileInfo.php:66
+#: ../lib/plugin/PageGroup.php:104 ../lib/plugin/SyncWiki.php:75
+#: ../lib/plugin/WikiFormRich.php:177 ../lib/plugin/WikiFormRich.php:193
 #, php-format
 msgid "A required argument '%s' is missing."
 msgstr "缺少引數 '%s'."
 
+#: ../lib/plugin/FileInfo.php:85
+msgid ""
+"Output suppressed. FileInfoPlugin with local files require a locked page."
+msgstr ""
+
+#: ../lib/plugin/FileInfo.php:86
+#, fuzzy
+msgid "page not locked"
+msgstr "頁面已被鎖定."
+
 #: ../lib/plugin/FoafViewer.php:52
 msgid "FoafViewer"
 msgstr ""
@@ -2620,7 +2906,7 @@
 msgstr "在內容的分離框架中顯示 url. 只能放一個框架."
 
 #: ../lib/plugin/FrameInclude.php:93 ../lib/plugin/IncludePage.php:84
-#: ../lib/plugin/Template.php:108
+#: ../lib/plugin/Template.php:116
 #, php-format
 msgid "recursive inclusion of page %s"
 msgstr "遞迴含括頁面 %s"
@@ -2630,32 +2916,33 @@
 msgid "%s or %s parameter missing"
 msgstr "%s 或 %s 參數遺漏"
 
-#: ../lib/plugin/FrameInclude.php:105 ../lib/plugin/Transclude.php:81
+#: ../lib/plugin/FrameInclude.php:105 ../lib/plugin/Transclude.php:91
 #, php-format
 msgid "recursive inclusion of url %s"
 msgstr "遞迴含括 url %s"
 
-#: ../lib/plugin/FrameInclude.php:112 ../lib/plugin/TeX2png.php:216
-#: ../lib/plugin/text2png.php:69 ../lib/plugin/text2png.php:122
+#: ../lib/plugin/FrameInclude.php:112 ../lib/plugin/SemanticSearch.php:263
+#: ../lib/plugin/TeX2png.php:216 ../lib/plugin/text2png.php:87
+#: ../lib/plugin/text2png.php:173
 #, php-format
 msgid "See %s"
 msgstr "參照 %s"
 
-#: ../lib/plugin/FullTextSearch.php:43
+#: ../lib/plugin/FullTextSearch.php:49
 msgid "Search the content of all pages in this wiki."
 msgstr "在此 wiki 所有頁面中搜尋內容."
 
-#: ../lib/plugin/FullTextSearch.php:105
+#: ../lib/plugin/FullTextSearch.php:110
 #, php-format
 msgid "only %d pages displayed"
 msgstr "只有 %d 個頁面顯示出來"
 
-#: ../lib/plugin/FullTextSearch.php:110
+#: ../lib/plugin/FullTextSearch.php:115
 #, php-format
 msgid "Ignored stoplist words '%s'"
 msgstr ""
 
-#: ../lib/plugin/FullTextSearch.php:115
+#: ../lib/plugin/FullTextSearch.php:120
 #, php-format
 msgid "Full text search results for '%s'"
 msgstr "以 '%s' 全文搜尋的結果"
@@ -2700,6 +2987,7 @@
 
 #: ../lib/plugin/GoTo.php:59 ../lib/plugin/WikiAdminSelect.php:135
 #: ../lib/plugin/WikiAdminSelect.php:146
+#: ../themes/MonoBook/templates/navbar.tmpl:32
 msgid "Go"
 msgstr "Go"
 
@@ -2748,16 +3036,22 @@
 msgid "GraphViz image or imagemap creation of directed graphs"
 msgstr ""
 
-#: ../lib/plugin/GraphViz.php:265 ../lib/plugin/GraphViz.php:335
+#: ../lib/plugin/GraphViz.php:210 ../lib/plugin/_WikiTranslation.php:319
+#, php-format
+msgid "%s is empty"
+msgstr "%s 是空白"
+
+#: ../lib/plugin/GraphViz.php:274
 msgid "No dot graph given"
 msgstr ""
 
-#: ../lib/plugin/GraphViz.php:276 ../lib/plugin/SyntaxHighlighter.php:173
+#: ../lib/plugin/GraphViz.php:282 ../lib/plugin/GraphViz.php:290
+#: ../lib/plugin/SpellCheck.php:143 ../lib/plugin/SyntaxHighlighter.php:173
 #, fuzzy, php-format
 msgid "Couldn't start commandline '%s'"
 msgstr "無法設定頁面 '%s' 的 acl."
 
-#: ../lib/plugin/GraphViz.php:279 ../lib/plugin/Ploticus.php:239
+#: ../lib/plugin/GraphViz.php:294 ../lib/plugin/Ploticus.php:248
 #, php-format
 msgid "%s error: outputfile '%s' not created"
 msgstr ""
@@ -2774,11 +3068,6 @@
 msgid "Convert HTML markup into wiki markup. (Version 0.5)"
 msgstr ""
 
-#: ../lib/plugin/HtmlConverter.php:66 ../lib/plugin/UpLoad.php:115
-#: ../lib/plugin/WikiForm.php:103
-msgid "Upload"
-msgstr "上傳"
-
 #: ../lib/plugin/HtmlConverter.php:78
 #, fuzzy
 msgid "Only files with extension HTML are allowed"
@@ -2788,6 +3077,10 @@
 msgid "Copy the output below and paste it into your Wiki page."
 msgstr ""
 
+#: ../lib/plugin/Imdb.php:55
+msgid "Query a local imdb database"
+msgstr ""
+
 #: ../lib/plugin/IncludePage.php:34
 msgid "IncludePage"
 msgstr "含括頁面"
@@ -2797,7 +3090,7 @@
 msgstr "從其他 wiki 頁面含括文字."
 
 #: ../lib/plugin/IncludePage.php:92 ../lib/plugin/PageGroup.php:131
-#: ../lib/plugin/Template.php:116
+#: ../lib/plugin/Template.php:124
 #, php-format
 msgid "%s(%d): no such revision"
 msgstr "%s(%d): 沒有這個修訂."
@@ -2833,10 +3126,24 @@
 msgid "Perform searches on InterWiki sites listed in InterWikiMap."
 msgstr "在列在 InterWikiMap 清單中的 InterWiki 站台進行搜尋."
 
-#: ../lib/plugin/InterWikiSearch.php:90
+#: ../lib/plugin/InterWikiSearch.php:92
 msgid "Wiki Name"
 msgstr "Wiki 名稱"
 
+#: ../lib/plugin/InterWikiSearch.php:93 ../lib/plugin/RecentChanges.php:724
+#: ../themes/Crao/templates/navbar.tmpl:42
+#: ../themes/Crao/templates/navbar.tmpl:44
+#: ../themes/Crao/templates/navbar.tmpl:48
+#: ../themes/blog/templates/search.tmpl:6
+#: ../themes/blog/templates/search.tmpl:7
+#: ../themes/blog/templates/search.tmpl:9
+#: ../themes/blog/templates/search.tmpl:13
+#: ../themes/default/templates/search.tmpl:6
+#: ../themes/default/templates/search.tmpl:15
+#: ../themes/default/templates/search.tmpl:27
+msgid "Search"
+msgstr "搜尋"
+
 #: ../lib/plugin/JabberPresence.php:23
 msgid "JabberPresence"
 msgstr "JabberPresence"
@@ -2845,25 +3152,35 @@
 msgid "Simple jabber presence plugin"
 msgstr "簡單的 jabber presence plugin"
 
-#: ../lib/plugin/LdapSearch.php:57
+#: ../lib/plugin/LdapSearch.php:54
 #, fuzzy
 msgid "LdapSearch"
 msgstr "搜尋"
 
-#: ../lib/plugin/LdapSearch.php:60
+#: ../lib/plugin/LdapSearch.php:57
 msgid "Search an LDAP directory"
 msgstr ""
 
-#: ../lib/plugin/LdapSearch.php:83
-msgid "Failed to set LDAP protocol version to 3"
+#: ../lib/plugin/LdapSearch.php:81
+#, fuzzy
+msgid "Missing ldap extension"
+msgstr "個別頁面權限"
+
+#: ../lib/plugin/LdapSearch.php:103
+#, fuzzy
+msgid "Failed to connect to LDAP host"
+msgstr "無法連結到 LDAP 伺服器"
+
+#: ../lib/plugin/LdapSearch.php:136
+msgid "Failed to bind LDAP host"
 msgstr ""
 
 #: ../lib/plugin/LikePages.php:32 ../themes/Crao/templates/navbar.tmpl:16
-#: ../themes/Portland/templates/navbar.tmpl:10
-#: ../themes/Wordpress/templates/actionbar.tmpl:90
+#: ../themes/Portland/templates/navbar.tmpl:7
+#: ../themes/Wordpress/templates/actionbar.tmpl:91
 #: ../themes/default/templates/navbar.tmpl:33
 #: ../themes/smaller/templates/navbar.tmpl:15
-#: ../themes/wikilens/templates/navbar.tmpl:24
+#: ../themes/wikilens/templates/navbar.tmpl:21
 msgid "LikePages"
 msgstr "LikePages"
 
@@ -2887,32 +3204,67 @@
 msgid "These pages share an initial or final title word with '%s'"
 msgstr "這些頁面分享為 '%s' 開頭或結尾的標題字."
 
-#: ../lib/plugin/LinkDatabase.php:41
-#, fuzzy
-msgid "LinkDatabase"
-msgstr "資料庫"
-
-#: ../lib/plugin/LinkDatabase.php:47
+#: ../lib/plugin/LinkDatabase.php:48
 msgid ""
 "List all pages with all links in various formats for some Java Visualization "
 "tools"
 msgstr ""
 
-#: ../lib/plugin/LinkDatabase.php:77
+#: ../lib/plugin/LinkDatabase.php:78
 #, fuzzy, php-format
 msgid "All pages with all links in this wiki (%d total):"
 msgstr "在此 wiki 中的頁面 (共 %d):"
 
-#: ../lib/plugin/LinkDatabase.php:109
+#: ../lib/plugin/LinkDatabase.php:111 ../lib/plugin/WantedPages.php:87
 #, fuzzy
 msgid "Links"
 msgstr "BackLinks"
 
-#: ../lib/plugin/LinkDatabase.php:169
+#: ../lib/plugin/LinkDatabase.php:173
 #, php-format
 msgid "Unsupported format argument %s"
 msgstr ""
 
+#: ../lib/plugin/LinkSearch.php:35 ../lib/plugin/LinkSearch.php:113
+#, fuzzy
+msgid "LinkSearch"
+msgstr "標題搜索"
+
+#: ../lib/plugin/LinkSearch.php:38
+msgid "Search page and link names"
+msgstr ""
+
+#: ../lib/plugin/LinkSearch.php:65 ../lib/plugin/SemanticSearch.php:94
+msgid "Search only in these pages. With autocompletion."
+msgstr ""
+
+#: ../lib/plugin/LinkSearch.php:74 ../lib/plugin/SemanticSearch.php:117
+msgid "Filter by this link. These are pagenames. With autocompletion."
+msgstr ""
+
+#: ../lib/plugin/LinkSearch.php:98
+#, fuzzy
+msgid "outgoing"
+msgstr "登入"
+
+#: ../lib/plugin/LinkSearch.php:99
+msgid "incoming"
+msgstr ""
+
+#: ../lib/plugin/LinkSearch.php:114
+msgid "Search in pages for links with the matching name."
+msgstr ""
+
+#: ../lib/plugin/LinkSearch.php:148 ../lib/plugin/SemanticSearch.php:305
+#, fuzzy
+msgid "Link"
+msgstr "BackLinks"
+
+#: ../lib/plugin/LinkSearch.php:158
+#, php-format
+msgid "LinkSearch result for \"%s\" in pages \"%s\", direction %s"
+msgstr ""
+
 #: ../lib/plugin/ListPages.php:38
 #, fuzzy
 msgid "ListPages"
@@ -2927,6 +3279,17 @@
 msgid "You must be logged in to view ratings."
 msgstr "你必須登入才能 %s."
 
+#: ../lib/plugin/ListRelations.php:34
+#, fuzzy
+msgid "ListRelations"
+msgstr "取消評比"
+
+#: ../lib/plugin/ListRelations.php:37
+msgid ""
+"Display the list of all defined relations and optionnally attributes in this "
+"entrire wiki"
+msgstr ""
+
 #: ../lib/plugin/ListSubpages.php:34
 msgid "ListSubpages"
 msgstr "ListSubpages"
@@ -2955,12 +3318,12 @@
 msgid "Support moderated pages"
 msgstr "已支援的語言"
 
-#: ../lib/plugin/ModeratedPage.php:141 ../lib/plugin/ModeratedPage.php:165
-#: ../lib/plugin/ModeratedPage.php:210
+#: ../lib/plugin/ModeratedPage.php:153 ../lib/plugin/ModeratedPage.php:178
+#: ../lib/plugin/ModeratedPage.php:224
 msgid "ModeratedPage: No emails for the moderators defined"
 msgstr ""
 
-#: ../lib/plugin/ModeratedPage.php:147
+#: ../lib/plugin/ModeratedPage.php:159
 #, php-format
 msgid ""
 "ModeratedPage status update:\n"
@@ -2968,12 +3331,12 @@
 "  require_access: '%s'"
 msgstr ""
 
-#: ../lib/plugin/ModeratedPage.php:152
+#: ../lib/plugin/ModeratedPage.php:164
 #, php-format
 msgid "'%s' is no ModeratedPage anymore."
 msgstr ""
 
-#: ../lib/plugin/ModeratedPage.php:171
+#: ../lib/plugin/ModeratedPage.php:184
 #, php-format
 msgid ""
 "ModeratedPage status update: '%s' is now a ModeratedPage.\n"
@@ -2981,35 +3344,44 @@
 "  require_access: '%s'"
 msgstr ""
 
-#: ../lib/plugin/ModeratedPage.php:232
+#: ../lib/plugin/ModeratedPage.php:250
 #, php-format
 msgid "%s: action forwarded to moderator %s"
 msgstr ""
 
-#: ../lib/plugin/ModeratedPage.php:252
+#: ../lib/plugin/ModeratedPage.php:276
 #, fuzzy
 msgid "ModeratedPage Notification Error: Couldn't send email"
 msgstr "PageChange 通知錯誤: 無法送 %s 給 %s"
 
-#: ../lib/plugin/ModeratedPage.php:287
+#: ../lib/plugin/ModeratedPage.php:355
+#, php-format
+msgid "%s approved your wiki action from %s"
+msgstr ""
+
+#: ../lib/plugin/ModeratedPage.php:367
 msgid "Please approve or reject this request:"
 msgstr ""
 
-#: ../lib/plugin/ModeratedPage.php:298
+#: ../lib/plugin/ModeratedPage.php:403
+msgid "Reason: "
+msgstr ""
+
+#: ../lib/plugin/ModeratedPage.php:404
 msgid "Approve"
 msgstr ""
 
-#: ../lib/plugin/ModeratedPage.php:300
+#: ../lib/plugin/ModeratedPage.php:406
 #, fuzzy
 msgid "Reject"
 msgstr "重設"
 
-#: ../lib/plugin/ModeratedPage.php:325 ../lib/plugin/ModeratedPage.php:332
+#: ../lib/plugin/ModeratedPage.php:434 ../lib/plugin/ModeratedPage.php:441
 #, php-format
 msgid "<?plugin ModeratedPage ... ?> not found in first line of %s"
 msgstr ""
 
-#: ../lib/plugin/ModeratedPage.php:328
+#: ../lib/plugin/ModeratedPage.php:437
 #, fuzzy, php-format
 msgid "%s is not locked!"
 msgstr "%s 無法寫入."
@@ -3040,6 +3412,16 @@
 msgid "Visited pages on this wiki, ordered by popularity:"
 msgstr "在此 wiki 已被參訪頁面, 以受歡迎程度排序:"
 
+#: ../lib/plugin/NewPagesPerUser.php:19
+#, fuzzy
+msgid "NewPagesPerUser"
+msgstr "新頁面"
+
+#: ../lib/plugin/NewPagesPerUser.php:23
+#, fuzzy
+msgid "List all new pages per month per user"
+msgstr "已認證的使用者"
+
 #: ../lib/plugin/NoCache.php:39
 msgid "NoCache"
 msgstr "NoCache"
@@ -3083,65 +3465,65 @@
 msgid "Page %s not found."
 msgstr "未找到頁面 %s."
 
-#: ../lib/plugin/PageDump.php:127
+#: ../lib/plugin/PageDump.php:128
 msgid "Download for CVS"
 msgstr "給 CVS 的下載"
 
-#: ../lib/plugin/PageDump.php:132
+#: ../lib/plugin/PageDump.php:133
 msgid "Download for backup"
 msgstr "給備份用的下載"
 
-#: ../lib/plugin/PageDump.php:138
+#: ../lib/plugin/PageDump.php:139
 #, fuzzy
 msgid "Download all revisions for backup"
 msgstr "給備份用的下載"
 
-#: ../lib/plugin/PageDump.php:141
+#: ../lib/plugin/PageDump.php:142
 #, php-format
 msgid "Preview: Page dump of %s"
 msgstr "預覽: %s 的頁面傾印"
 
-#: ../lib/plugin/PageDump.php:148
+#: ../lib/plugin/PageDump.php:149
 #, fuzzy
 msgid ""
 "(formatted for PhpWiki developers as pgsrc template, not for backing up)"
 msgstr "(已為 PhpWiki 開發者而格式化,並非為了備份)"
 
-#: ../lib/plugin/PageDump.php:151 ../lib/plugin/PageDump.php:171
+#: ../lib/plugin/PageDump.php:152 ../lib/plugin/PageDump.php:172
 #, fuzzy
 msgid "Preview as normal format"
 msgstr "以備份格式預覽"
 
-#: ../lib/plugin/PageDump.php:157 ../lib/plugin/PageDump.php:184
+#: ../lib/plugin/PageDump.php:158 ../lib/plugin/PageDump.php:185
 msgid "Preview as backup format"
 msgstr "以備份格式預覽"
 
-#: ../lib/plugin/PageDump.php:161
+#: ../lib/plugin/PageDump.php:162
 #, fuzzy
 msgid "(formatted for backing up: all revisions)"
 msgstr "(已為備份而格式化)"
 
-#: ../lib/plugin/PageDump.php:165 ../lib/plugin/PageDump.php:178
+#: ../lib/plugin/PageDump.php:166 ../lib/plugin/PageDump.php:179
 msgid "Preview as developer format"
 msgstr "以開發者格式預覽"
 
-#: ../lib/plugin/PageDump.php:174
+#: ../lib/plugin/PageDump.php:175
 msgid "(normal formatting: latest revision only)"
 msgstr ""
 
-#: ../lib/plugin/PageDump.php:188
+#: ../lib/plugin/PageDump.php:189
 msgid ""
 "Please use one of the downloadable versions rather than copying and pasting "
 "from the above preview."
 msgstr "請使用其中的可下載版本來代替在上面的預覽中複製與貼上."
 
-#: ../lib/plugin/PageDump.php:190
+#: ../lib/plugin/PageDump.php:191
 msgid ""
 "The wordwrap of the preview doesn't take nested markup or list indentation "
 "into consideration!"
 msgstr "預覽的自動換行無法處理巢狀標記或縮排列出."
 
-#: ../lib/plugin/PageDump.php:193
+#: ../lib/plugin/PageDump.php:194
 msgid ""
 "PhpWiki developers should manually inspect the downloaded file for nested "
 "markup before rewrapping with emacs and checking into CVS."
@@ -3149,7 +3531,8 @@
 "在以 emacs 重包裝與簽入之前,PhpWiki 開發者應會因為巢狀標記而手動審閱已下載的"
 "檔案."
 
-#: ../lib/plugin/PageDump.php:201 ../lib/plugin/PasswordReset.php:128
+#: ../lib/plugin/PageDump.php:202 ../lib/plugin/PasswordReset.php:131
+#: ../lib/plugin/SemanticSearch.php:260
 msgid "Warning:"
 msgstr "警告:"
 
@@ -3167,7 +3550,7 @@
 msgid "Contents"
 msgstr "內容"
 
-#: ../lib/plugin/PageGroup.php:91 ../lib/stdlib.php:1985
+#: ../lib/plugin/PageGroup.php:91 ../lib/stdlib.php:1992
 #, php-format
 msgid "<%s: no such section>"
 msgstr "<%s: 沒有此部份>"
@@ -3210,12 +3593,12 @@
 msgid "Check any two boxes then %s."
 msgstr "任找兩個空格打勾然後 %s."
 
-#: ../lib/plugin/PageHistory.php:166 ../lib/plugin/PageHistory.php:229
+#: ../lib/plugin/PageHistory.php:166 ../lib/plugin/PageHistory.php:242
 #, php-format
 msgid "Version %d"
 msgstr "版本 %d"
 
-#: ../lib/plugin/PageHistory.php:177 ../themes/MacOSX/lib/RecentChanges.php:34
+#: ../lib/plugin/PageHistory.php:178 ../themes/MacOSX/lib/RecentChanges.php:34
 #: ../themes/MonoBook/templates/info.tmpl:19
 #: ../themes/MonoBook/templates/info.tmpl:23
 #: ../themes/Portland/lib/RecentChanges.php:14
@@ -3223,40 +3606,39 @@
 #: ../themes/Wordpress/lib/RecentChanges.php:14
 #: ../themes/default/templates/info.tmpl:17
 #: ../themes/default/templates/info.tmpl:21
-#: ../themes/shamino_com/templates/info.tmpl:19
-#: ../themes/shamino_com/templates/info.tmpl:23
 msgid "minor edit"
 msgstr "次要編輯"
 
-#: ../lib/plugin/PageHistory.php:221
+#: ../lib/plugin/PageHistory.php:234
 msgid "History of changes."
 msgstr "變更的歷程."
 
-#: ../lib/plugin/PageHistory.php:247 ../lib/plugin/RecentChanges.php:65
+#: ../lib/plugin/PageHistory.php:260 ../lib/plugin/RecentChanges.php:67
 #: ../themes/Crao/templates/actionbar.tmpl:22
-#: ../themes/MonoBook/templates/actionbar.tmpl:46
+#: ../themes/MonoBook/templates/actionbar.tmpl:39
+#: ../themes/MonoBook/templates/actionbar.tmpl:66
 #: ../themes/MonoBook/templates/info.tmpl:167
-#: ../themes/Portland/templates/actionbar.tmpl:18
+#: ../themes/Portland/templates/actionbar.tmpl:14
 #: ../themes/Portland/templates/viewsource.tmpl:26
-#: ../themes/Wordpress/templates/actionbar.tmpl:69
-#: ../themes/Wordpress/templates/viewsource.tmpl:28
-#: ../themes/default/templates/actionbar.tmpl:29
+#: ../themes/Wordpress/templates/actionbar.tmpl:70
+#: ../themes/Wordpress/templates/viewsource.tmpl:30
+#: ../themes/default/templates/actionbar.tmpl:31
 #: ../themes/shamino_com/templates/actionbar.tmpl:20
-#: ../themes/shamino_com/templates/info.tmpl:166
-#: ../themes/smaller/templates/actionbar.tmpl:37
+#: ../themes/smaller/templates/actionbar.tmpl:39
 #: ../themes/smaller/templates/info.tmpl:6
 msgid "PageHistory"
 msgstr "PageHistory"
 
-#: ../lib/plugin/PageHistory.php:251
+#: ../lib/plugin/PageHistory.php:264
 #, php-format
 msgid "List PageHistory for %s"
 msgstr "列出 PageHistory (頁面歷程) - %s"
 
 #: ../lib/plugin/PageInfo.php:32 ../themes/Crao/templates/actionbar.tmpl:24
-#: ../themes/Portland/templates/actionbar.tmpl:19
-#: ../themes/Wordpress/templates/actionbar.tmpl:71
-#: ../themes/default/templates/actionbar.tmpl:31
+#: ../themes/MonoBook/templates/actionbar.tmpl:64
+#: ../themes/Portland/templates/actionbar.tmpl:15
+#: ../themes/Wordpress/templates/actionbar.tmpl:72
+#: ../themes/default/templates/actionbar.tmpl:33
 #: ../themes/shamino_com/templates/actionbar.tmpl:5
 msgid "PageInfo"
 msgstr "PageInfo"
@@ -3280,7 +3662,7 @@
 msgstr "密碼:"
 
 #: ../lib/plugin/PasswordReset.php:61 ../lib/plugin/PasswordReset.php:82
-#: ../lib/plugin/UserPreferences.php:104
+#: ../lib/plugin/UserPreferences.php:104 ../lib/plugin/WatchPage.php:150
 #: ../themes/default/templates/wikiforum.tmpl:22
 msgid "Message"
 msgstr ""
@@ -3291,7 +3673,7 @@
 msgstr ""
 
 #: ../lib/plugin/PasswordReset.php:64 ../lib/plugin/PasswordReset.php:85
-#: ../lib/plugin/PasswordReset.php:159
+#: ../lib/plugin/PasswordReset.php:163
 msgid "Error"
 msgstr ""
 
@@ -3310,91 +3692,70 @@
 msgid "Error sending email with password for user %s."
 msgstr "錯誤的密碼或使用者帳號."
 
-#: ../lib/plugin/PasswordReset.php:94
+#: ../lib/plugin/PasswordReset.php:93
 #, fuzzy
 msgid "Reset password of user: "
 msgstr "錯誤的密碼或使用者帳號."
 
-#: ../lib/plugin/PasswordReset.php:104 ../lib/plugin/PasswordReset.php:142
+#: ../lib/plugin/PasswordReset.php:103 ../lib/plugin/PasswordReset.php:146
 msgid "Send email"
 msgstr ""
 
-#: ../lib/plugin/PasswordReset.php:129
+#: ../lib/plugin/PasswordReset.php:132
 msgid "You need to specify the userid!"
 msgstr ""
 
-#: ../lib/plugin/PasswordReset.php:150
+#: ../lib/plugin/PasswordReset.php:154
 msgid "Already logged in"
 msgstr ""
 
-#: ../lib/plugin/PasswordReset.php:151
+#: ../lib/plugin/PasswordReset.php:155
 msgid "Changing passwords is done at "
 msgstr ""
 
-#: ../lib/plugin/PasswordReset.php:151 ../lib/plugin/UserPreferences.php:38
-#: ../themes/Crao/templates/head.tmpl:85 ../themes/Crao/templates/head.tmpl:86
-#: ../themes/Crao/templates/navbar.tmpl:23
-#: ../themes/MonoBook/templates/navbar.tmpl:49
-#: ../themes/blog/templates/navbar.tmpl:17
-#: ../themes/default/templates/head.tmpl:92
-#: ../themes/default/templates/head.tmpl:93
-#: ../themes/default/templates/homepage.tmpl:11
-#: ../themes/default/templates/navbar.tmpl:40
-#: ../themes/shamino_com/templates/top.tmpl:28
-#: ../themes/smaller/templates/navbar.tmpl:22
-#: ../themes/wikilens/templates/head.tmpl:85
-#: ../themes/wikilens/templates/head.tmpl:86
-msgid "UserPreferences"
-msgstr "UserPreferences"
-
-#: ../lib/plugin/PasswordReset.php:160
+#: ../lib/plugin/PasswordReset.php:164
 #, php-format
 msgid "No email stored for user %s."
 msgstr ""
 
-#: ../lib/plugin/PasswordReset.php:162
+#: ../lib/plugin/PasswordReset.php:166
 #, fuzzy
 msgid "You need to ask an Administrator to reset this password. See below: "
 msgstr "你必須是管理者才能使用此 plugin."
 
-#: ../lib/plugin/PasswordReset.php:174
+#: ../lib/plugin/PasswordReset.php:178
 #, php-format
 msgid "Do you really want to reset the password of user %s?"
 msgstr ""
 
-#: ../lib/plugin/PasswordReset.php:175
+#: ../lib/plugin/PasswordReset.php:179
 msgid "An email will be sent."
 msgstr ""
 
-#: ../lib/plugin/PhotoAlbum.php:94
+#: ../lib/plugin/PhotoAlbum.php:97 ../themes/blog/templates/actionbar.tmpl:12
 msgid "PhotoAlbum"
 msgstr "PhotoAlbum"
 
-#: ../lib/plugin/PhotoAlbum.php:98
+#: ../lib/plugin/PhotoAlbum.php:101
 msgid ""
 "Displays a set of photos listed in a text file with optional descriptions"
 msgstr "顯示帶有簡單描述的文字檔內的相片集合"
 
-#: ../lib/plugin/PhotoAlbum.php:476
-#, fuzzy, php-format
-msgid "Invalid argument: %s=%s"
-msgstr "錯誤的顏色值: %s"
-
-#: ../lib/plugin/PhotoAlbum.php:536 ../lib/plugin/PhotoAlbum.php:557
-#: ../lib/plugin/Transclude.php:85
+#: ../lib/plugin/PhotoAlbum.php:540 ../lib/plugin/PhotoAlbum.php:565
+#: ../lib/plugin/Transclude.php:94
 msgid "Bad url in src: remove all of <, >, \""
 msgstr "在 src 中錯誤的 url: 移除所有的 <, .>, \""
 
-#: ../lib/plugin/PhotoAlbum.php:554
+#: ../lib/plugin/PhotoAlbum.php:562
 msgid "File extension for csv file has to be '.csv'"
 msgstr ""
 
-#: ../lib/plugin/PhotoAlbum.php:605
+#: ../lib/plugin/PhotoAlbum.php:616
 #, fuzzy, php-format
 msgid "Unable to find src='%s'"
 msgstr "無法讀取 %s"
 
-#: ../lib/plugin/PhotoAlbum.php:617
+#: ../lib/plugin/PhotoAlbum.php:628
 #, fuzzy, php-format
 msgid "Unable to read src='%s'"
 msgstr "無法讀取 %s"
@@ -3458,7 +3819,8 @@
 msgid "shell commands not allowed in Ploticus"
 msgstr ""
 
-#: ../lib/plugin/Ploticus.php:249 ../lib/plugin/SyntaxHighlighter.php:180
+#: ../lib/plugin/Ploticus.php:270 ../lib/plugin/SpellCheck.php:123
+#: ../lib/plugin/SyntaxHighlighter.php:180
 #, fuzzy
 msgid "empty source"
 msgstr "查看源碼"
@@ -3492,6 +3854,11 @@
 msgid "%s does not appear to be a WikiPlugin."
 msgstr "%s 看起來不是 WikiPlugin."
 
+#: ../lib/plugin/PluginManager.php:135 ../lib/upgrade.php:222
+#: ../themes/MonoBook/templates/navbar.tmpl:20
+msgid "Help"
+msgstr ""
+
 #: ../lib/plugin/PopUp.php:49
 msgid "PopUp"
 msgstr ""
@@ -3524,6 +3891,43 @@
 msgid "%d most popular nearby: "
 msgstr ""
 
+#: ../lib/plugin/PopularTags.php:34
+#, fuzzy
+msgid "PopularTags"
+msgstr "MostPopular"
+
+#: ../lib/plugin/PopularTags.php:38
+#, fuzzy
+msgid "List the most popular tags."
+msgstr "列出最受歡迎的頁面."
+
+#: ../lib/plugin/PopularTags.php:59 ../lib/plugin/_WikiTranslation.php:56
+msgid "CategoryCategory"
+msgstr "CategoryCategory"
+
+#: ../lib/plugin/PopularTags.php:64 ../lib/plugin/Template.php:60
+#, fuzzy
+msgid "Template"
+msgstr "佈景主題"
+
+#: ../lib/plugin/PopularTags.php:78
+#, fuzzy
+msgid "Category"
+msgstr "CategoryPage"
+
+#: ../lib/plugin/PopularTags.php:79
+msgid "Topic"
+msgstr ""
+
+#: ../lib/plugin/PreferenceApp.php:37
+#, fuzzy
+msgid "PreferenceApp"
+msgstr "偏好設定"
+
+#: ../lib/plugin/PreferenceApp.php:41
+msgid "Analyzes preferences based on voting budget and ratings."
+msgstr ""
+
 #: ../lib/plugin/PrevNext.php:32
 msgid "PrevNext"
 msgstr "PrevNext"
@@ -3542,7 +3946,7 @@
 msgstr "索引"
 
 #: ../lib/plugin/RandomPage.php:33 ../lib/plugin/RandomPage.php:82
-#: ../themes/MonoBook/templates/navbar.tmpl:15
+#: ../themes/MonoBook/templates/navbar.tmpl:19
 msgid "RandomPage"
 msgstr "RandomPage"
 
@@ -3550,50 +3954,50 @@
 msgid "Displays a list of randomly chosen pages or redirects to a random page."
 msgstr "顯示隨機選出的頁面列表或重導向到隨機選取的頁面."
 
-#: ../lib/plugin/RateIt.php:90 ../lib/plugin/RateIt.php:139
-#: ../lib/plugin/RateIt.php:146 ../lib/plugin/RateIt.php:291
-#: ../lib/upgrade.php:387
+#: ../lib/plugin/RateIt.php:89 ../lib/plugin/RateIt.php:138
+#: ../lib/plugin/RateIt.php:145 ../lib/plugin/RateIt.php:290
+#: ../lib/upgrade.php:452
 msgid "RateIt"
 msgstr "RateIt"
 
-#: ../lib/plugin/RateIt.php:93
+#: ../lib/plugin/RateIt.php:92
 msgid "Rating system. Store user ratings per page"
 msgstr "評比系統. 儲存每頁的使用者評比"
 
-#: ../lib/plugin/RateIt.php:117
+#: ../lib/plugin/RateIt.php:116
 #, fuzzy
 msgid "Your rating "
 msgstr "你的評比是 %.1f"
 
-#: ../lib/plugin/RateIt.php:258
+#: ../lib/plugin/RateIt.php:257
 #, php-format
 msgid "Rated by %d users | Average rating %.1f stars"
 msgstr "被 %d 位使用者評比 | 平均評分為 %.1f"
 
-#: ../lib/plugin/RateIt.php:263
+#: ../lib/plugin/RateIt.php:262
 #, php-format
 msgid "Your rating was %.1f"
 msgstr "你的評比是 %.1f"
 
-#: ../lib/plugin/RateIt.php:268
+#: ../lib/plugin/RateIt.php:267
 #, php-format
 msgid "%s prediction for you is %s stars"
 msgstr "%s 對你的預測有 %s 星."
 
-#: ../lib/plugin/RateIt.php:271
+#: ../lib/plugin/RateIt.php:270
 #, php-format
 msgid "%s prediction for you is %.1f stars"
 msgstr "%s 對你的預測有 %.1f 星"
 
-#: ../lib/plugin/RateIt.php:291
+#: ../lib/plugin/RateIt.php:290
 msgid "Rate It"
 msgstr "評比"
 
-#: ../lib/plugin/RateIt.php:358
+#: ../lib/plugin/RateIt.php:357
 msgid "Rate the topic of this page"
 msgstr "評比此頁面的主題"
 
-#: ../lib/plugin/RateIt.php:370
+#: ../lib/plugin/RateIt.php:369
 msgid "Cancel rating"
 msgstr "取消評比"
 
@@ -3605,149 +4009,177 @@
 msgid "Raw HTML is disabled in this wiki."
 msgstr "Raw HTML 已經被關閉."
 
-#: ../lib/plugin/RawHtml.php:83 ../lib/plugin/RedirectTo.php:82
-#, php-format
-msgid "%s is only allowed in locked pages."
-msgstr "%s 只允許在鎖定的頁面中."
-
 #: ../lib/plugin/RawHtml.php:84
 msgid "Raw HTML"
 msgstr "Raw HTML"
 
-#: ../lib/plugin/RdfDefinition.php:42
-msgid "RdfDefinition"
-msgstr ""
-
-#: ../lib/plugin/RdfDefinition.php:45
-msgid "Define the RDF vocabulary for a wiki subset."
-msgstr ""
+#: ../lib/plugin/RawHtml.php:83 ../lib/plugin/RedirectTo.php:82
+#, php-format
+msgid "%s is only allowed in locked pages."
+msgstr "%s 只允許在鎖定的頁面中."
 
-#: ../lib/plugin/RecentChanges.php:105
+#: ../lib/plugin/RecentChanges.php:107
 #, fuzzy
 msgid "Deleted"
 msgstr "已刪除."
 
-#: ../lib/plugin/RecentChanges.php:128 ../themes/blog/themeinfo.php:119
-msgid "(diff)"
-msgstr "(差異)"
+#: ../lib/plugin/RecentChanges.php:130
+#: ../themes/SpaceWiki/lib/RecentChanges.php:55
+msgid "diff"
+msgstr "差異"
 
-#: ../lib/plugin/RecentChanges.php:135
-msgid "(hist)"
+#: ../lib/plugin/RecentChanges.php:143
+#, fuzzy
+msgid "hist"
 msgstr "(歷程)"
 
-#: ../lib/plugin/RecentChanges.php:198
+#: ../lib/plugin/RecentChanges.php:185
+#, fuzzy
+msgid "contribs"
+msgstr "意見"
+
+#: ../lib/plugin/RecentChanges.php:192
+#, fuzzy
+msgid "new pages"
+msgstr "新頁面"
+
+#: ../lib/plugin/RecentChanges.php:240
 msgid "edits"
 msgstr "編輯"
 
-#: ../lib/plugin/RecentChanges.php:200
+#: ../lib/plugin/RecentChanges.php:242
 msgid "major edits"
 msgstr "主要編輯"
 
-#: ../lib/plugin/RecentChanges.php:202
+#: ../lib/plugin/RecentChanges.php:244
 msgid "minor edits"
 msgstr "次要編輯"
 
-#: ../lib/plugin/RecentChanges.php:203 ../lib/plugin/RecentChanges.php:279
+#: ../lib/plugin/RecentChanges.php:245 ../lib/plugin/RecentChanges.php:338
 #: ../lib/plugin/RecentComments.php:31
 #, fuzzy
 msgid "Recent Comments"
 msgstr "意見"
 
-#: ../lib/plugin/RecentChanges.php:204
+#: ../lib/plugin/RecentChanges.php:246
 #, fuzzy
 msgid "comments"
 msgstr "意見"
 
-#: ../lib/plugin/RecentChanges.php:229
+#: ../lib/plugin/RecentChanges.php:248
+#, fuzzy
+msgid "created new pages"
+msgstr "建立此頁面"
+
+#: ../lib/plugin/RecentChanges.php:254
+#, fuzzy, php-format
+msgid " for pages changed by %s"
+msgstr "沒有頁面被變更."
+
+#: ../lib/plugin/RecentChanges.php:260
+#, fuzzy, php-format
+msgid " for pages owned by %s"
+msgstr "%s 所需要的頁面 (共 %d):"
+
+#: ../lib/plugin/RecentChanges.php:285
 #, php-format
 msgid "The %d most recent %s during the past day are listed below."
 msgstr "最近的 %d 筆列在下面 - 頁面 %s - 在過去一天以來."
 
-#: ../lib/plugin/RecentChanges.php:232
+#: ../lib/plugin/RecentChanges.php:288
 #, php-format
 msgid "The %d most recent %s during the past %s days are listed below."
 msgstr "最近的 %d 筆列在下面 - 頁面 %s - 在過去 %s 天以來."
 
-#: ../lib/plugin/RecentChanges.php:235
+#: ../lib/plugin/RecentChanges.php:291
 #, php-format
 msgid "The %d most recent %s are listed below."
 msgstr "最近的 %d 筆列在下面 - 頁面 %s."
 
-#: ../lib/plugin/RecentChanges.php:241
+#: ../lib/plugin/RecentChanges.php:297
 #, php-format
 msgid "The %d oldest %s during the past day are listed below."
 msgstr "最舊的 %d 筆列在下面 - 頁面 %s - 在過去一天以來."
 
-#: ../lib/plugin/RecentChanges.php:244
+#: ../lib/plugin/RecentChanges.php:300
 #, php-format
 msgid "The %d oldest %s during the past %s days are listed below."
 msgstr "最舊的 %d 筆列在下面 - 頁面 %s - 在過去 %s 天以來."
 
-#: ../lib/plugin/RecentChanges.php:247
+#: ../lib/plugin/RecentChanges.php:303
 #, php-format
 msgid "The %d oldest %s are listed below."
 msgstr "最舊的 %d 筆列在下面 - 頁面 %s."
 
-#: ../lib/plugin/RecentChanges.php:254
+#: ../lib/plugin/RecentChanges.php:310
 #, php-format
 msgid "The most recent %s during the past day are listed below."
 msgstr "最新的紀錄已經列在下面 - 頁面 %s - 在過去一天以來."
 
-#: ../lib/plugin/RecentChanges.php:257
+#: ../lib/plugin/RecentChanges.php:313
 #, php-format
 msgid "The most recent %s during the past %s days are listed below."
 msgstr "最新的紀錄已經列在下面 - 頁面 %s - 在過去 %s 天以來."
 
-#: ../lib/plugin/RecentChanges.php:260
+#: ../lib/plugin/RecentChanges.php:316
 #, php-format
 msgid "All %s are listed below."
 msgstr "所有 %s 已被列在下面."
 
-#: ../lib/plugin/RecentChanges.php:272 ../lib/plugin/RecentChanges.php:287
-#: ../lib/plugin/RecentChanges.php:390 ../lib/plugin/RecentChanges.php:467
+#: ../lib/plugin/RecentChanges.php:328 ../lib/plugin/RecentChanges.php:346
+#: ../lib/plugin/RecentChanges.php:523 ../lib/plugin/RecentChanges.php:600
 #: ../lib/plugin/RecentEdits.php:10 ../lib/plugin/RecentEdits.php:36
 #: ../lib/plugin/RelatedChanges.php:27
-#: ../themes/Portland/templates/editpage.tmpl:49
-#: ../themes/Wordpress/templates/editpage.tmpl:58
+#: ../themes/Portland/templates/editpage.tmpl:45
+#: ../themes/Wordpress/templates/editpage.tmpl:57
 msgid "RecentEdits"
 msgstr "RecentEdits"
 
-#: ../lib/plugin/RecentChanges.php:280 ../lib/plugin/RecentComments.php:65
+#: ../lib/plugin/RecentChanges.php:339 ../lib/plugin/RecentComments.php:65
 #, fuzzy
 msgid "No comments found"
 msgstr "沒發現任何變更"
 
-#: ../lib/plugin/RecentChanges.php:282
+#: ../lib/plugin/RecentChanges.php:341
 msgid "No changes found"
 msgstr "沒發現任何變更"
 
-#: ../lib/plugin/RecentChanges.php:592
+#: ../lib/plugin/RecentChanges.php:457
+#, fuzzy
+msgid "UserContribs"
+msgstr "使用者統計"
+
+#: ../lib/plugin/RecentChanges.php:725
 msgid "Title Search"
 msgstr "標題搜尋"
 
-#: ../lib/plugin/RecentChanges.php:893
+#: ../lib/plugin/RecentChanges.php:1189
 msgid "Show minor edits for:"
 msgstr "顯示次要編輯:"
 
-#: ../lib/plugin/RecentChanges.php:895
+#: ../lib/plugin/RecentChanges.php:1191
 msgid "Show all changes for:"
 msgstr "顯示所有變更:"
 
-#: ../lib/plugin/RecentChanges.php:897
+#: ../lib/plugin/RecentChanges.php:1193
 msgid "Show changes for:"
 msgstr "顯示變更:"
 
-#: ../lib/plugin/RecentChanges.php:917
+#: ../lib/plugin/RecentChanges.php:1195
+msgid "All new pages since:"
+msgstr ""
+
+#: ../lib/plugin/RecentChanges.php:1215
 msgid "1 day"
 msgstr "1 天"
 
-#: ../lib/plugin/RecentChanges.php:921
+#: ../lib/plugin/RecentChanges.php:1219
 #, php-format
 msgid "%s days"
 msgstr "%s 天"
 
 #: ../lib/plugin/RecentComments.php:17
-#: ../themes/MonoBook/templates/navbar.tmpl:14
+#: ../themes/MonoBook/templates/navbar.tmpl:16
 #, fuzzy
 msgid "RecentComments"
 msgstr "意見"
@@ -3802,7 +4234,7 @@
 msgstr "最近變更"
 
 #: ../lib/plugin/RelatedChanges.php:73 ../themes/Crao/templates/navbar.tmpl:15
-#: ../themes/MonoBook/templates/navbar.tmpl:43
+#: ../themes/MonoBook/templates/navbar.tmpl:54
 #, fuzzy
 msgid "RelatedChanges"
 msgstr "RecentChanges"
@@ -3827,15 +4259,144 @@
 msgid "no RSS items"
 msgstr ""
 
-#: ../lib/plugin/SearchHighlight.php:37
+#: ../lib/plugin/SearchHighlight.php:39
 #, fuzzy
 msgid "SearchHighlight"
 msgstr "PhpHighlight"
 
-#: ../lib/plugin/SearchHighlight.php:41
+#: ../lib/plugin/SearchHighlight.php:43
 msgid "Hilight referred search terms."
 msgstr ""
 
+#: ../lib/plugin/SearchHighlight.php:73
+#, php-format
+msgid "%s: Found %s through %s"
+msgstr ""
+
+#: ../lib/plugin/SemanticRelations.php:35
+#, fuzzy
+msgid "SemanticRelations"
+msgstr "取消評比"
+
+#: ../lib/plugin/SemanticRelations.php:38
+#, fuzzy
+msgid "Display the list of relations and attributes on this page."
+msgstr "變更頁面屬性"
+
+#: ../lib/plugin/SemanticRelations.php:80
+#: ../lib/plugin/SemanticRelations.php:97 ../lib/plugin/SemanticSearch.php:57
+#, fuzzy
+msgid "SemanticSearch"
+msgstr "InterWikiSearch"
+
+#: ../lib/plugin/SemanticRelations.php:86
+#, fuzzy, php-format
+msgid "Semantic relations for %s"
+msgstr "為 %s 定義轉換,在 %s"
+
+#: ../lib/plugin/SemanticRelations.php:110
+#, php-format
+msgid "Attributes of %s"
+msgstr ""
+
+#: ../lib/plugin/SemanticRelations.php:119
+#: ../lib/plugin/SemanticRelations.php:120
+#, fuzzy
+msgid "Help/SemanticRelations"
+msgstr "取消評比"
+
+#: ../lib/plugin/SemanticRelations.php:122
+#, fuzzy
+msgid "Find out how to add relations and attributes to pages."
+msgstr "變更頁面屬性"
+
+#: ../lib/plugin/SemanticSearch.php:60
+#, fuzzy
+msgid "Search relations and attributes"
+msgstr "變更頁面屬性"
+
+#: ../lib/plugin/SemanticSearch.php:106
+msgid "Filter by this relation. With autocompletion."
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:124
+#, fuzzy
+msgid "Relations"
+msgstr "相關連結"
+
+#: ../lib/plugin/SemanticSearch.php:132 ../lib/plugin/SemanticSearch.php:208
+msgid "Add an AND query"
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:133 ../lib/plugin/SemanticSearch.php:209
+msgid "OR"
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:136 ../lib/plugin/SemanticSearch.php:212
+msgid "Add an OR query"
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:139
+msgid "Search in pages for a relation with that value (a pagename)."
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:174
+msgid "Filter by this attribute name. With autocompletion."
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:186
+msgid "Comparison operator. With autocompletion."
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:197
+msgid "Filter by this numeric attribute value. With autocompletion."
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:215
+msgid "Attributes"
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:216
+msgid "Search in pages for an attribute with that numeric value."
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:219
+msgid "Advanced..."
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:219
+#, fuzzy
+msgid "SemanticSearchAdvanced"
+msgstr "InterWikiSearch"
+
+#: ../lib/plugin/SemanticSearch.php:261
+msgid "No relations nor attributes in the whole wikidb defined!"
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:263
+#, fuzzy
+msgid "Help:SemanticRelations"
+msgstr "取消評比"
+
+#: ../lib/plugin/SemanticSearch.php:311
+#, php-format
+msgid "Illegal operator: %s"
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:358
+#, php-format
+msgid "Only text operators can be used with strings: %s"
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:378
+msgid "Value"
+msgstr ""
+
+#: ../lib/plugin/SemanticSearch.php:393
+#, php-format
+msgid "Semantic %s Search Result for \"%s\" in pages \"%s\""
+msgstr ""
+
 #: ../lib/plugin/SiteMap.php:51
 msgid "SiteMap"
 msgstr "SiteMap"
@@ -3849,6 +4410,27 @@
 msgid "(max. recursion level: %d)"
 msgstr "(最大遞迴層級: %d)"
 
+#: ../lib/plugin/SpellCheck.php:68
+msgid "Spell Checker"
+msgstr ""
+
+#: ../lib/plugin/SpellCheck.php:71
+msgid "Check the spelling of a page and make suggestions"
+msgstr ""
+
+#: ../lib/plugin/SpellCheck.php:124
+#, fuzzy
+msgid "SpellCheck"
+msgstr "選擇"
+
+#: ../lib/plugin/SpellCheck.php:125
+msgid "Cannot SpellCheck myself"
+msgstr ""
+
+#: ../lib/plugin/SpellCheck.php:171
+msgid "SpellCheck result"
+msgstr ""
+
 #: ../lib/plugin/SqlResult.php:67
 msgid "SqlResult"
 msgstr "SqlResult"
@@ -3866,6 +4448,90 @@
 msgid "No DSN for alias %s in SqlResult.ini found"
 msgstr ""
 
+#: ../lib/plugin/SyncWiki.php:46
+msgid "SyncWiki"
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:50
+msgid "Synchronize pages with external PhpWiki"
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:113
+#, fuzzy
+msgid "Syncing this PhpWiki"
+msgstr "升級 PhpWiki"
+
+#: ../lib/plugin/SyncWiki.php:114
+msgid "Download all externally changed sources."
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:116
+#, php-format
+msgid "Retrieving from external url %s wiki.getRecentChanges(%s)..."
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:123 ../lib/plugin/WhoIsOnline.php:125
+msgid "<unknown>"
+msgstr "<未知的>"
+
+#: ../lib/plugin/SyncWiki.php:138 ../lib/plugin/SyncWiki.php:191
+#: ../lib/plugin/SyncWiki.php:226 ../lib/upgrade.php:92 ../lib/upgrade.php:96
+#: ../lib/upgrade.php:176 ../lib/upgrade.php:217 ../lib/upgrade.php:1120
+msgid " skipped"
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:160
+msgid "same date"
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:183
+msgid "Now upload all locally newer pages."
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:185
+#, php-format
+msgid "Checking all local pages newer than %s..."
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:212
+#, fuzzy
+msgid "Now upload all locally newer uploads."
+msgstr "沒有要上傳的檔案?"
+
+#: ../lib/plugin/SyncWiki.php:214
+#, php-format
+msgid "Checking all local uploads newer than %s..."
+msgstr ""
+
+#: ../lib/plugin/SyncWiki.php:277
+#, fuzzy, php-format
+msgid "%s force"
+msgstr "共 %s 字"
+
+#: ../lib/plugin/SyncWiki.php:281
+#, fuzzy, php-format
+msgid "Postponed %s for %s."
+msgstr "遺失了 %s 的 %s"
+
+#: ../lib/plugin/SyncWiki.php:288 ../lib/plugin/SyncWiki.php:297
+#: ../lib/plugin/SyncWiki.php:312 ../lib/plugin/SyncWiki.php:321
+#: ../lib/plugin/SyncWiki.php:340
+#, fuzzy
+msgid "skipped"
+msgstr "跳過"
+
+#: ../lib/plugin/SyncWiki.php:297 ../lib/plugin/SyncWiki.php:321
+#, fuzzy
+msgid "same content"
+msgstr "下載頁面內容"
+
+#: ../lib/plugin/SyncWiki.php:304 ../lib/plugin/SyncWiki.php:330
+#: ../lib/plugin/SyncWiki.php:332 ../lib/plugin/SyncWiki.php:353
+#: ../lib/plugin/SyncWiki.php:355 ../lib/upgrade.php:214
+#: ../lib/upgrade.php:555 ../lib/upgrade.php:593 ../lib/upgrade.php:1111
+msgid "FAILED"
+msgstr ""
+
 #: ../lib/plugin/SyntaxHighlighter.php:68
 #, fuzzy
 msgid "SyntaxHighlighter"
@@ -4102,29 +4768,20 @@
 msgid "Convert Tex mathematicals expressions to cached png files."
 msgstr ""
 
-#: ../lib/plugin/TeX2png.php:34
-msgid " This is for small text"
-msgstr ""
-
 #: ../lib/plugin/TeX2png.php:134
 msgid " (syntax error for latex) "
 msgstr ""
 
 #: ../lib/plugin/TeX2png.php:173
 #, fuzzy
-msgid "TeX directory not writable."
+msgid "TeX imagepath not writable."
 msgstr "%s 無法寫入."
 
-#: ../lib/plugin/TeX2png.php:214 ../lib/plugin/text2png.php:67
+#: ../lib/plugin/TeX2png.php:214 ../lib/plugin/text2png.php:85
 msgid "Sorry, this version of PHP cannot create PNG image files."
 msgstr "抱歉, 這個版本的 PHP 無法建立 PNG 圖片檔."
 
-#: ../lib/plugin/Template.php:61
-#, fuzzy
-msgid "Template"
-msgstr "佈景主題"
-
-#: ../lib/plugin/Template.php:65
+#: ../lib/plugin/Template.php:64
 msgid "Parametrized page inclusion."
 msgstr ""
 
@@ -4136,7 +4793,7 @@
 msgid "Search the titles of all pages in this wiki."
 msgstr "在此 wiki 的所有頁面搜尋標題."
 
-#: ../lib/plugin/TitleSearch.php:103
+#: ../lib/plugin/TitleSearch.php:104
 #, php-format
 msgid "Title search results for '%s'"
 msgstr "以 '%s' 進行標題搜尋的結果"
@@ -4149,16 +4806,16 @@
 msgid "Include an external web page within the body of a wiki page."
 msgstr "含括外部網頁到 wiki 頁面的內容中."
 
-#: ../lib/plugin/Transclude.php:88
+#: ../lib/plugin/Transclude.php:97
 msgid "Transcluded page"
 msgstr "Transcluded 頁面"
 
-#: ../lib/plugin/Transclude.php:97
+#: ../lib/plugin/Transclude.php:106
 #, php-format
 msgid "See: %s"
 msgstr "參閱: %s"
 
-#: ../lib/plugin/Transclude.php:109
+#: ../lib/plugin/Transclude.php:118
 #, php-format
 msgid "Transcluded from %s"
 msgstr "Transcluded 從 %s"
@@ -4255,56 +4912,61 @@
 msgid "Upload files to the local InterWiki Upload:<filename>"
 msgstr "上傳檔案到本地 InterWiki. Upload:<filename>"
 
-#: ../lib/plugin/UpLoad.php:124
+#: ../lib/plugin/UpLoad.php:161
 msgid "ACCESS DENIED: You must log in to upload files."
 msgstr "拒絕存取: 請先登入才能上傳檔案"
 
-#: ../lib/plugin/UpLoad.php:138
+#: ../lib/plugin/UpLoad.php:185
 #, fuzzy, php-format
 msgid "ERROR uploading '%s': "
 msgstr "載入 '%s'"
 
-#: ../lib/plugin/UpLoad.php:143
+#: ../lib/plugin/UpLoad.php:190
 #, fuzzy, php-format
 msgid "Files with extension %s are not allowed."
 msgstr "副檔名 %s 不被允許"
 
-#: ../lib/plugin/UpLoad.php:149
+#: ../lib/plugin/UpLoad.php:198
+#, fuzzy, php-format
+msgid "Only files with the extension %s are allowed."
+msgstr "副檔名 %s 不被允許"
+
+#: ../lib/plugin/UpLoad.php:204
 msgid ""
-"File names may only contain alphanumeric characters and dot, underscore or "
-"dash."
+"Invalid filename. File names may only contain alphanumeric characters and "
+"dot, underscore, space or dash."
 msgstr ""
 
-#: ../lib/plugin/UpLoad.php:154
+#: ../lib/plugin/UpLoad.php:209
 #, fuzzy, php-format
 msgid "There is already a file with name %s uploaded."
 msgstr "已經有個名為 %s 的檔案存在"
 
-#: ../lib/plugin/UpLoad.php:159
+#: ../lib/plugin/UpLoad.php:214
 #, fuzzy
 msgid "Sorry but this file is too big."
 msgstr "抱歉,因為檔案太大了."
 
-#: ../lib/plugin/UpLoad.php:167
+#: ../lib/plugin/UpLoad.php:222
 msgid "File successfully uploaded."
 msgstr "檔案已經成功地上傳."
 
-#: ../lib/plugin/UpLoad.php:184
+#: ../lib/plugin/UpLoad.php:239
 #, php-format
 msgid "uploaded %s"
 msgstr "已上傳 %s"
 
-#: ../lib/plugin/UpLoad.php:191
+#: ../lib/plugin/UpLoad.php:246
 #, fuzzy
 msgid "Uploading failed."
 msgstr "上傳失敗:"
 
-#: ../lib/plugin/UpLoad.php:209
+#: ../lib/plugin/UpLoad.php:264
 #, fuzzy
 msgid "The upload logfile is not writable."
 msgstr "錯誤: 上傳日誌無法寫入"
 
-#: ../lib/plugin/UpLoad.php:212
+#: ../lib/plugin/UpLoad.php:267
 #, fuzzy
 msgid "Can't open the upload logfile."
 msgstr "錯誤: 無法開啟上傳日誌檔案"
@@ -4381,71 +5043,93 @@
 msgid "Here are your %d page ratings:"
 msgstr ""
 
-#: ../lib/plugin/UserRatings.php:220
+#: ../lib/plugin/UserRatings.php:222
 msgid "Pred"
 msgstr ""
 
-#: ../lib/plugin/UserRatings.php:224 ../lib/wikilens/PageListColumns.php:367
+#: ../lib/plugin/UserRatings.php:226 ../lib/wikilens/PageListColumns.php:367
 msgid "Rate"
 msgstr "Rate"
 
-#: ../lib/plugin/VisualWiki.php:65
+#: ../lib/plugin/VisualWiki.php:66
 msgid ""
 "Visualizes the Wiki structure in a graph using the 'dot' commandline tool "
 "from graphviz."
 msgstr "從 graphviz 使用 'dot' 命令列工具以圖形視覺化 Wiki 結構."
 
-#: ../lib/plugin/VisualWiki.php:493
+#: ../lib/plugin/VisualWiki.php:497
 msgid "Legend"
 msgstr "圖例"
 
-#: ../lib/plugin/WantedPages.php:39 ../lib/plugin/WantedPages.php:69
-#: ../lib/plugin/WantedPagesOld.php:33 ../lib/plugin/WantedPagesOld.php:66
+#: ../lib/plugin/WantedPages.php:39 ../lib/plugin/WantedPages.php:70
 msgid "WantedPages"
 msgstr "WantedPages"
 
-#: ../lib/plugin/WantedPages.php:42 ../lib/plugin/WantedPagesOld.php:37
+#: ../lib/plugin/WantedPages.php:42
 msgid "Lists referenced page names which do not exist yet."
 msgstr "列出還未存在的頁面名稱."
 
-#: ../lib/plugin/WantedPages.php:54 ../lib/plugin/WantedPagesOld.php:47
-#: ../lib/plugin/_WikiTranslation.php:84 ../lib/plugin/_WikiTranslation.php:98
+#: ../lib/plugin/WantedPages.php:55 ../lib/plugin/_WikiTranslation.php:84
+#: ../lib/plugin/_WikiTranslation.php:98
 msgid "PgsrcTranslation"
 msgstr "PgsrcTranslation"
 
-#: ../lib/plugin/WantedPages.php:78
+#: ../lib/plugin/WantedPages.php:79
 #, fuzzy
 msgid "Wanted From"
 msgstr "日期格式"
 
-#: ../lib/plugin/WantedPages.php:115
+#: ../lib/plugin/WantedPages.php:130
 #, fuzzy, php-format
 msgid "Wanted Pages for %s:"
 msgstr "%s 所需要的頁面 (共 %d):"
 
-#: ../lib/plugin/WantedPages.php:117
+#: ../lib/plugin/WantedPages.php:132
 #, fuzzy, php-format
 msgid "Wanted Pages in this wiki:"
 msgstr "在此 wiki 所需要的頁面 (共 %d):"
 
-#: ../lib/plugin/WantedPagesOld.php:100
-#: ../themes/default/templates/online.tmpl:38
-msgid "<none>"
-msgstr "<無>"
+#: ../lib/plugin/WantedPages.php:174
+#, fuzzy, php-format
+msgid "(%d Links)"
+msgstr "BackLinks"
 
-#: ../lib/plugin/WantedPagesOld.php:115
-#, php-format
-msgid "Wanted Pages for %s (%d total):"
-msgstr "%s 所需要的頁面 (共 %d):"
+#: ../lib/plugin/WatchPage.php:35
+#, fuzzy
+msgid "WatchPage"
+msgstr "寬度"
 
-#: ../lib/plugin/WantedPagesOld.php:149
-#, php-format
-msgid "Wanted Pages in this wiki (%d total):"
-msgstr "在此 wiki 所需要的頁面 (共 %d):"
+#: ../lib/plugin/WatchPage.php:78
+msgid "Your current watchlist: "
+msgstr ""
 
-#: ../lib/plugin/WantedPagesOld.php:151
-msgid "Count"
-msgstr "計數"
+#: ../lib/plugin/WatchPage.php:79
+msgid "New watchlist: "
+msgstr ""
+
+#: ../lib/plugin/WatchPage.php:82
+#, php-format
+msgid "Do you %s want to add this page \"%s\" to your WatchList?"
+msgstr ""
+
+#: ../lib/plugin/WatchPage.php:83
+msgid "really"
+msgstr ""
+
+#: ../lib/plugin/WatchPage.php:88
+#, fuzzy, php-format
+msgid "The page %s is already watched!"
+msgstr "此頁面已經存在"
+
+#: ../lib/plugin/WatchPage.php:114
+msgid "ERROR: No email defined! You need to do this in your "
+msgstr ""
+
+#: ../lib/plugin/WatchPage.php:151
+msgid ""
+"E-Mail Notification for the current page successfully stored in your "
+"preferences."
+msgstr ""
 
 #: ../lib/plugin/WhoIsOnline.php:38 ../lib/plugin/WhoIsOnline.php:84
 msgid "WhoIsOnline"
@@ -4468,10 +5152,6 @@
 msgid "Guest"
 msgstr "訪客"
 
-#: ../lib/plugin/WhoIsOnline.php:125
-msgid "<unknown>"
-msgstr "<未知的>"
-
 #: ../lib/plugin/WhoIsOnline.php:196
 #, php-format
 msgid "%d minutes"
@@ -4481,7 +5161,7 @@
 msgid "WikiAdminChmod"
 msgstr "WikiAdminChmod"
 
-#: ../lib/plugin/WikiAdminChmod.php:44 ../lib/plugin/WikiAdminSetAcl.php:43
+#: ../lib/plugin/WikiAdminChmod.php:44 ../lib/plugin/WikiAdminSetAcl.php:47
 msgid "Set individual page permissions."
 msgstr "設定個別頁面的權限."
 
@@ -4499,7 +5179,7 @@
 msgid "Invalid chmod string"
 msgstr "錯誤的 chmod 字串"
 
-#: ../lib/plugin/WikiAdminChmod.php:90 ../lib/plugin/WikiAdminSetAcl.php:109
+#: ../lib/plugin/WikiAdminChmod.php:90 ../lib/plugin/WikiAdminSetAcl.php:113
 #, php-format
 msgid "%s pages have been changed."
 msgstr "%s 頁面已經變更."
@@ -4507,11 +5187,11 @@
 #: ../lib/plugin/WikiAdminChmod.php:93 ../lib/plugin/WikiAdminChown.php:89
 #: ../lib/plugin/WikiAdminMarkup.php:97
 #: ../lib/plugin/WikiAdminSearchReplace.php:113
-#: ../lib/plugin/WikiAdminSetAcl.php:112
+#: ../lib/plugin/WikiAdminSetAcl.php:116
 msgid "No pages changed."
 msgstr "沒有頁面被變更."
 
-#: ../lib/plugin/WikiAdminChmod.php:140 ../lib/plugin/WikiAdminSetAcl.php:170
+#: ../lib/plugin/WikiAdminChmod.php:140 ../lib/plugin/WikiAdminSetAcl.php:174
 msgid "Permission"
 msgstr "權限"
 
@@ -4523,7 +5203,7 @@
 msgid "Chmod"
 msgstr "Chmod"
 
-#: ../lib/plugin/WikiAdminChmod.php:155 ../lib/plugin/WikiAdminSetAcl.php:185
+#: ../lib/plugin/WikiAdminChmod.php:155 ../lib/plugin/WikiAdminSetAcl.php:189
 msgid "Select the pages to change:"
 msgstr "選擇頁面以進行更名:"
 
@@ -4539,11 +5219,11 @@
 msgid "(ugo : rwx)"
 msgstr "(ugo : rwx)"
 
-#: ../lib/plugin/WikiAdminChmod.php:189 ../lib/plugin/WikiAdminSetAcl.php:253
+#: ../lib/plugin/WikiAdminChmod.php:189 ../lib/plugin/WikiAdminSetAcl.php:257
 msgid "Propagate new permissions to all subpages?"
 msgstr "要傳播新的權限到所有子頁面?   "
 
-#: ../lib/plugin/WikiAdminChmod.php:191 ../lib/plugin/WikiAdminSetAcl.php:255
+#: ../lib/plugin/WikiAdminChmod.php:191 ../lib/plugin/WikiAdminSetAcl.php:259
 msgid "(disable individual page permissions, enable inheritance)?"
 msgstr "(禁制個別網頁的權限,使用繼承)?"
 
@@ -4560,7 +5240,7 @@
 #: ../lib/plugin/WikiAdminChown.php:69 ../lib/plugin/WikiAdminMarkup.php:70
 #: ../lib/plugin/WikiAdminRename.php:84
 #: ../lib/plugin/WikiAdminSearchReplace.php:98
-#: ../lib/plugin/WikiAdminSetAcl.php:100
+#: ../lib/plugin/WikiAdminSetAcl.php:104
 #, php-format
 msgid "Access denied to change page '%s'."
 msgstr ""
@@ -4685,7 +5365,7 @@
 msgstr "PhpWikiAdministration/Remove"
 
 #: ../lib/plugin/WikiAdminRemove.php:183 ../lib/plugin/WikiAdminRemove.php:232
-#: ../themes/blog/themeinfo.php:59
+#: ../themes/blog/themeinfo.php:67
 msgid "Remove"
 msgstr "移除"
 
@@ -4873,195 +5553,222 @@
 msgid "Select pages"
 msgstr "選擇頁面"
 
-#: ../lib/plugin/WikiAdminSetAcl.php:39
+#: ../lib/plugin/WikiAdminSetAcl.php:43
 msgid "WikiAdminSetAcl"
 msgstr "WikiAdminSetAcl"
 
-#: ../lib/plugin/WikiAdminSetAcl.php:94
+#: ../lib/plugin/WikiAdminSetAcl.php:98
 #, fuzzy, php-format
 msgid "ACL not changed for page '%s'."
 msgstr "為 page '%s' 設定 acl."
 
-#: ../lib/plugin/WikiAdminSetAcl.php:97
+#: ../lib/plugin/WikiAdminSetAcl.php:101
 #, fuzzy, php-format
 msgid "ACL changed for page '%s'."
 msgstr "為 page '%s' 設定 acl."
 
-#: ../lib/plugin/WikiAdminSetAcl.php:104
+#: ../lib/plugin/WikiAdminSetAcl.php:108
 #, fuzzy
 msgid "Invalid ACL"
 msgstr "錯誤的 acl"
 
-#: ../lib/plugin/WikiAdminSetAcl.php:120 ../lib/plugin/_WikiTranslation.php:94
+#: ../lib/plugin/WikiAdminSetAcl.php:124 ../lib/plugin/_WikiTranslation.php:94
 #, fuzzy
 msgid "PhpWikiAdministration/SetAcl"
 msgstr "PhpWikiAdministration"
 
-#: ../lib/plugin/WikiAdminSetAcl.php:172 ../lib/plugin/WikiAdminSetAcl.php:228
+#: ../lib/plugin/WikiAdminSetAcl.php:176 ../lib/plugin/WikiAdminSetAcl.php:232
 msgid "ACL"
 msgstr "ACL"
 
-#: ../lib/plugin/WikiAdminSetAcl.php:180
+#: ../lib/plugin/WikiAdminSetAcl.php:184
 #, fuzzy
 msgid ""
 "Are you sure you want to permanently change access to the selected files?"
 msgstr "你確定你想要永久變更選定的檔案?"
 
-#: ../lib/plugin/WikiAdminSetAcl.php:215
+#: ../lib/plugin/WikiAdminSetAcl.php:219
 #, fuzzy
 msgid "Selected Pages: "
 msgstr "選擇頁面"
 
-#: ../lib/plugin/WikiAdminSetAcl.php:221
+#: ../lib/plugin/WikiAdminSetAcl.php:225
 #, php-format
 msgid "page permission inherited from %s"
 msgstr "由 %s 繼承而來的頁面"
 
-#: ../lib/plugin/WikiAdminSetAcl.php:223
+#: ../lib/plugin/WikiAdminSetAcl.php:227
 msgid "invidual page permission"
 msgstr "個別頁面權限"
 
-#: ../lib/plugin/WikiAdminSetAcl.php:225
+#: ../lib/plugin/WikiAdminSetAcl.php:229
 msgid "default page permission"
 msgstr "預設頁面權限"
 
-#: ../lib/plugin/WikiAdminSetAcl.php:226
+#: ../lib/plugin/WikiAdminSetAcl.php:230
 #, fuzzy
 msgid "Type"
 msgstr "型態:"
 
-#: ../lib/plugin/WikiAdminSetAcl.php:227
+#: ../lib/plugin/WikiAdminSetAcl.php:231
 #, fuzzy
 msgid "getfacl"
 msgstr "SetAcl"
 
-#: ../lib/plugin/WikiAdminSetAcl.php:231
+#: ../lib/plugin/WikiAdminSetAcl.php:235
 msgid ""
 "Selected Grant checkboxes allow access, unselected checkboxes deny access."
 msgstr ""
 
-#: ../lib/plugin/WikiAdminSetAcl.php:232
+#: ../lib/plugin/WikiAdminSetAcl.php:236
 msgid "To ignore delete the line."
 msgstr ""
 
-#: ../lib/plugin/WikiAdminSetAcl.php:233
+#: ../lib/plugin/WikiAdminSetAcl.php:237
 msgid "To add check 'Add' near the dropdown list."
 msgstr ""
 
-#: ../lib/plugin/WikiAdminSetAcl.php:256
+#: ../lib/plugin/WikiAdminSetAcl.php:260
 #, fuzzy
 msgid "(Currently not working)"
 msgstr "現在不建議使用!"
 
-#: ../lib/plugin/WikiAdminUtils.php:36
+#: ../lib/plugin/WikiAdminUtils.php:38
 msgid "WikiAdminUtils"
 msgstr "WikiAdminUtils"
 
-#: ../lib/plugin/WikiAdminUtils.php:40
+#: ../lib/plugin/WikiAdminUtils.php:42
 #, fuzzy
 msgid "Miscellaneous utility functions for the Administrator."
 msgstr "給管理者使用的各種公用函數"
 
-#: ../lib/plugin/WikiAdminUtils.php:72
+#: ../lib/plugin/WikiAdminUtils.php:74
 msgid "You must be an administrator to use this plugin."
 msgstr "你必須是管理者才能使用此 plugin."
 
-#: ../lib/plugin/WikiAdminUtils.php:101
-msgid "WikiAdminUtils says:"
+#: ../lib/plugin/WikiAdminUtils.php:103
+#, fuzzy, php-format
+msgid "WikiAdminUtils %s returned:"
 msgstr "WikiAdminUtils 說:"
 
-#: ../lib/plugin/WikiAdminUtils.php:103 ../lib/stdlib.php:1759
-msgid "Okay"
-msgstr "Okay"
+#: ../lib/plugin/WikiAdminUtils.php:105
+#, fuzzy
+msgid "Back"
+msgstr "BackLinks"
 
-#: ../lib/plugin/WikiAdminUtils.php:108
+#: ../lib/plugin/WikiAdminUtils.php:110
 msgid "Purge Markup Cache"
 msgstr "清除標記快取"
 
-#: ../lib/plugin/WikiAdminUtils.php:109
+#: ../lib/plugin/WikiAdminUtils.php:111
 #, fuzzy
 msgid "Purge all Pages With Invalid Names"
 msgstr "用錯誤的名稱刪除頁面"
 
-#: ../lib/plugin/WikiAdminUtils.php:110
+#: ../lib/plugin/WikiAdminUtils.php:112
 msgid "Purge all empty, unreferenced Pages"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:120
+#: ../lib/plugin/WikiAdminUtils.php:113
+msgid "Access Restrictions"
+msgstr ""
+
+#: ../lib/plugin/WikiAdminUtils.php:115
+msgid "Convert cached_html"
+msgstr ""
+
+#: ../lib/plugin/WikiAdminUtils.php:116
+msgid "DB Check"
+msgstr ""
+
+#: ../lib/plugin/WikiAdminUtils.php:117
+msgid "Db Rebuild"
+msgstr ""
+
+#: ../lib/plugin/WikiAdminUtils.php:128
 msgid "Markup cache purged!"
 msgstr "標記快取已經清除!"
 
-#: ../lib/plugin/WikiAdminUtils.php:140
+#: ../lib/plugin/WikiAdminUtils.php:148
 #, fuzzy
 msgid "No pages with bad names had to be deleted."
 msgstr "找不到錯誤名稱的頁面."
 
-#: ../lib/plugin/WikiAdminUtils.php:142
+#: ../lib/plugin/WikiAdminUtils.php:150
 #, php-format
 msgid "Deleted %s pages with invalid names:"
 msgstr "刪除 %s 個錯誤名稱的頁面:"
 
-#: ../lib/plugin/WikiAdminUtils.php:160
+#: ../lib/plugin/WikiAdminUtils.php:171
 msgid "[purged]"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:162
+#: ../lib/plugin/WikiAdminUtils.php:173
 msgid "[not purgable]"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:170
+#: ../lib/plugin/WikiAdminUtils.php:181
 #, fuzzy
 msgid "No empty, unreferenced pages were found."
 msgstr "找不到錯誤名稱的頁面."
 
-#: ../lib/plugin/WikiAdminUtils.php:172
+#: ../lib/plugin/WikiAdminUtils.php:183
 #, php-format
 msgid "Deleted %s unreferenced pages:"
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:175
+#: ../lib/plugin/WikiAdminUtils.php:186
 #, php-format
 msgid ""
 "The %d not-purgable pages/links are links in some page(s). You might want to "
 "edit them."
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:190
+#: ../lib/plugin/WikiAdminUtils.php:201
 msgid "No old _cached_html pagedata found."
 msgstr ""
 
-#: ../lib/plugin/WikiAdminUtils.php:192
+#: ../lib/plugin/WikiAdminUtils.php:203
 #, fuzzy, php-format
 msgid "Converted successfully %d pages"
 msgstr "檔案已經成功地上傳."
 
-#: ../lib/plugin/WikiAdminUtils.php:201
+#: ../lib/plugin/WikiAdminUtils.php:227
 msgid "Sorry. Access Restrictions not yet implemented"
 msgstr "抱歉. 存取限制尚未被實作."
 
-#: ../lib/plugin/WikiAdminUtils.php:209
-#: ../themes/default/templates/userprefs.tmpl:124
+#: ../lib/plugin/WikiAdminUtils.php:235
+#: ../themes/default/templates/userprefs.tmpl:125
 msgid "E-Mail"
 msgstr "E-Mail"
 
-#: ../lib/plugin/WikiAdminUtils.php:211
+#: ../lib/plugin/WikiAdminUtils.php:237
 msgid "Verification Status"
 msgstr "確認狀態"
 
-#: ../lib/plugin/WikiAdminUtils.php:263
+#: ../lib/plugin/WikiAdminUtils.php:238
+#, fuzzy
+msgid "Username"
+msgstr "更名"
+
+#: ../lib/plugin/WikiAdminUtils.php:293
 msgid "Change Verification Status"
 msgstr "改變確認狀態"
 
-#: ../lib/plugin/WikiBlog.php:79
+#: ../lib/plugin/WikiBlog.php:87
+msgid "WikiBlog"
+msgstr "WikiBlog"
+
+#: ../lib/plugin/WikiBlog.php:91
 #, php-format
 msgid "Show and add blogs for %s"
 msgstr "顯示並增加 blogs - %s"
 
-#: ../lib/plugin/WikiBlog.php:190
+#: ../lib/plugin/WikiBlog.php:219
 msgid "New comment."
 msgstr "新意見."
 
-#: ../lib/plugin/WikiBlog.php:294
+#: ../lib/plugin/WikiBlog.php:330
 #, fuzzy, php-format
 msgid "%s on %s:"
 msgstr "%s 在 %s"
@@ -5070,7 +5777,7 @@
 msgid "WikiForm"
 msgstr "WikiForm"
 
-#: ../lib/plugin/WikiForm.php:76
+#: ../lib/plugin/WikiForm.php:76 ../themes/MonoBook/templates/signin.tmpl:16
 msgid "Login"
 msgstr "登入"
 
@@ -5087,11 +5794,11 @@
 msgid "WikiForm: %s: unknown action"
 msgstr "WikiForm: %s: 未知的動作"
 
-#: ../lib/plugin/WikiFormRich.php:92
+#: ../lib/plugin/WikiFormRich.php:106
 msgid "Provide generic WikiForm input buttons"
 msgstr ""
 
-#: ../lib/plugin/WikiFormRich.php:181
+#: ../lib/plugin/WikiFormRich.php:195
 #, fuzzy
 msgid "name"
 msgstr "更名"
@@ -5131,10 +5838,6 @@
 msgid "Missing %s for %s"
 msgstr "遺失了 %s 的 %s"
 
-#: ../lib/plugin/WikiPoll.php:224
-msgid "Ok"
-msgstr "確定"
-
 #: ../lib/plugin/WikiPoll.php:227
 msgid "Reset"
 msgstr "重設"
@@ -5152,6 +5855,26 @@
 msgid "Thanks for participating!"
 msgstr "謝謝你的參與."
 
+#: ../lib/plugin/YouTube.php:24
+msgid "YouTube"
+msgstr ""
+
+#: ../lib/plugin/YouTube.php:28
+msgid "Embed YouTube videos"
+msgstr ""
+
+#: ../lib/plugin/YouTube.php:54
+#, fuzzy, php-format
+msgid "Required argument %s missing"
+msgstr "缺少引數 '%s'."
+
+#: ../lib/plugin/YouTube.php:91 ../lib/plugin/YouTube.php:93
+#: ../lib/plugin/YouTube.php:95 ../lib/plugin/YouTube.php:97
+#: ../lib/plugin/YouTube.php:121 ../lib/plugin/YouTube.php:123
+#, fuzzy, php-format
+msgid "Invalid argument %s"
+msgstr "錯誤的顏色值: %s"
+
 #: ../lib/plugin/_AuthInfo.php:35
 #, fuzzy
 msgid "AuthInfo"
@@ -5177,10 +5900,9 @@
 #: ../lib/plugin/_BackendInfo.php:30 ../lib/plugin/_WikiTranslation.php:60
 #: ../themes/Crao/templates/actionbar.tmpl:27
 #: ../themes/MonoBook/templates/info.tmpl:174
-#: ../themes/Portland/templates/actionbar.tmpl:21
-#: ../themes/Wordpress/templates/actionbar.tmpl:74
-#: ../themes/default/templates/actionbar.tmpl:34
-#: ../themes/shamino_com/templates/info.tmpl:174
+#: ../themes/Portland/templates/actionbar.tmpl:17
+#: ../themes/Wordpress/templates/actionbar.tmpl:75
+#: ../themes/default/templates/actionbar.tmpl:36
 #: ../themes/smaller/templates/info.tmpl:14
 msgid "DebugInfo"
 msgstr "DebugInfo"
@@ -5190,17 +5912,17 @@
 msgid "Get debugging information for %s."
 msgstr "為 %s 取得除錯資訊."
 
-#: ../lib/plugin/_BackendInfo.php:54
+#: ../lib/plugin/_BackendInfo.php:58
 #, php-format
 msgid "Querying backend directly for '%s'"
 msgstr "為 '%s' 直接查詢後台"
 
-#: ../lib/plugin/_BackendInfo.php:64
+#: ../lib/plugin/_BackendInfo.php:67
 #, php-format
 msgid "No pagedata for %s"
 msgstr "無頁面資料 %s"
 
-#: ../lib/plugin/_BackendInfo.php:97
+#: ../lib/plugin/_BackendInfo.php:124
 msgid "<not displayed>"
 msgstr "<未能顯示>"
 
@@ -5224,6 +5946,20 @@
 msgid "Get preferences information for current user %s."
 msgstr "為目前使用者 %s 取得偏好設定資訊."
 
+#: ../lib/plugin/_Retransform.php:30
+msgid "Retransform CachedMarkup"
+msgstr ""
+
+#: ../lib/plugin/_Retransform.php:34
+#, php-format
+msgid "Show a markup retransformation of page %s."
+msgstr ""
+
+#: ../lib/plugin/_Retransform.php:53
+#, fuzzy, php-format
+msgid "Retransform page '%s'"
+msgstr "為 page '%s' 設定 acl."
+
 #: ../lib/plugin/_WikiTranslation.php:47
 msgid "AddCommentPlugin"
 msgstr "AddCommentPlugin"
@@ -5257,10 +5993,6 @@
 msgid "CalendarPlugin"
 msgstr "CalendarPlugin"
 
-#: ../lib/plugin/_WikiTranslation.php:56
-msgid "CategoryCategory"
-msgstr "CategoryCategory"
-
 #: ../lib/plugin/_WikiTranslation.php:57
 msgid "CategoryHomePages"
 msgstr "CategoryHomePages"
@@ -5284,9 +6016,10 @@
 #: ../lib/plugin/_WikiTranslation.php:64 ../themes/Crao/templates/head.tmpl:36
 #: ../themes/Crao/templates/head.tmpl:37
 #: ../themes/Crao/templates/navbar.tmpl:40
-#: ../themes/MonoBook/templates/navbar.tmpl:25
-#: ../themes/Portland/templates/navbar.tmpl:8
-#: ../themes/Sidebar/templates/navbar.tmpl:24
+#: ../themes/MonoBook/templates/navbar.tmpl:29
+#: ../themes/MonoBook/templates/navbar.tmpl:35
+#: ../themes/Portland/templates/navbar.tmpl:5
+#: ../themes/Sidebar/templates/navbar.tmpl:14
 #: ../themes/default/templates/head.tmpl:42
 #: ../themes/default/templates/head.tmpl:43
 #: ../themes/default/templates/navbar.tmpl:20
@@ -5294,7 +6027,7 @@
 #: ../themes/smaller/templates/navbar.tmpl:8
 #: ../themes/wikilens/templates/head.tmpl:34
 #: ../themes/wikilens/templates/head.tmpl:35
-#: ../themes/wikilens/templates/navbar.tmpl:11
+#: ../themes/wikilens/templates/navbar.tmpl:19
 msgid "FindPage"
 msgstr "FindPage"
 
@@ -5400,6 +6133,7 @@
 msgstr "PhpWikiAdministration/Replace"
 
 #: ../lib/plugin/_WikiTranslation.php:95
+#: ../themes/MonoBook/templates/navbar.tmpl:20
 msgid "PhpWikiDocumentation"
 msgstr "PhpWikiDocumentation"
 
@@ -5489,6 +6223,7 @@
 msgstr "UnfoldSubpagesPlugin"
 
 #: ../lib/plugin/_WikiTranslation.php:118
+#: ../themes/MonoBook/templates/navbar.tmpl:60
 msgid "UpLoad"
 msgstr "UpLoad"
 
@@ -5533,37 +6268,36 @@
 "service for %s to language %s"
 msgstr "TODO: Google 只能從英文與法文轉換. 為 %s 尋找轉換到語言 %s 的服務."
 
-#: ../lib/plugin/_WikiTranslation.php:319
-#, php-format
-msgid "%s is empty"
-msgstr "%s 是空白"
-
 #: ../lib/plugin/_WikiTranslation.php:438
 #, php-format
 msgid "Define the translation for %s in %s"
 msgstr "為 %s 定義轉換,在 %s"
 
-#: ../lib/plugin/text2png.php:46
+#: ../lib/plugin/text2png.php:57
 msgid "Convert text into a png image using GD."
 msgstr "使用 GD 轉換文字為 png 圖片"
 
-#: ../lib/plugin/text2png.php:118
+#: ../lib/plugin/text2png.php:169
 msgid ""
 "PHP was unable to create a new GD image stream. Read 'lib/plugin/text2png."
 "php' for details."
 msgstr ""
 "PHP 無法建立新的 GD 影像流. 閱讀 lib/plugin/text2png.php 以取得更多資訊."
 
-#: ../lib/plugin/text2png.php:168
+#: ../lib/plugin/text2png.php:214
 #, php-format
 msgid "Image saved to cache file: %s"
 msgstr "影像存於快取檔案: %s"
 
-#: ../lib/plugin/text2png.php:172
+#: ../lib/plugin/text2png.php:218
 #, php-format
 msgid "Image loaded from cache file: %s"
 msgstr "影像已從快取檔案: %s 載入"
 
+#: ../lib/plugin/text2png.php:226
+msgid " produced by "
+msgstr ""
+
 #: ../lib/removepage.php:18
 msgid "Already deleted"
 msgstr ""
@@ -5597,316 +6331,374 @@
 msgid "Back to the previous page."
 msgstr "上次主要變更的原始文件"
 
-#: ../lib/stdlib.php:364 ../lib/stdlib.php:393
+#: ../lib/stdlib.php:366 ../lib/stdlib.php:395
 msgid "BAD URL -- remove all of <, >, \""
 msgstr "錯誤 URL -- 移除所有的 <, >, \""
 
-#: ../lib/stdlib.php:433 ../lib/stdlib.php:450
+#: ../lib/stdlib.php:435 ../lib/stdlib.php:452
 #, fuzzy
 msgid "Invalid image size"
 msgstr "Inline 圖片"
 
-#: ../lib/stdlib.php:560
+#: ../lib/stdlib.php:562
 msgid "BAD phpwiki: URL"
 msgstr "錯誤 phpwiki: URL"
 
-#: ../lib/stdlib.php:598
+#: ../lib/stdlib.php:600
 msgid "Lock page to enable link"
 msgstr "鎖定頁面以打開此連結"
 
-#: ../lib/stdlib.php:725
+#: ../lib/stdlib.php:728
 #, php-format
 msgid "'%s': Bad page name: %s"
 msgstr "'%s': 錯誤頁面名稱: %s"
 
-#: ../lib/stdlib.php:755 ../lib/stdlib.php:780
+#: ../lib/stdlib.php:758 ../lib/stdlib.php:789
 #, php-format
 msgid "Leading %s not allowed"
 msgstr "前面的 %s 是不被允許的"
 
-#: ../lib/stdlib.php:764
+#: ../lib/stdlib.php:773
 msgid "White space converted to single space"
 msgstr "空白空格轉換為單一空格"
 
-#: ../lib/stdlib.php:770
+#: ../lib/stdlib.php:779
 msgid "Control characters not allowed"
 msgstr "控制字元是不被允許的"
 
-#: ../lib/stdlib.php:791
+#: ../lib/stdlib.php:800
 msgid "too long"
 msgstr "太長"
 
-#: ../lib/stdlib.php:797
+#: ../lib/stdlib.php:809
 #, php-format
 msgid "Illegal chars %s removed"
 msgstr ""
 
-#: ../lib/stdlib.php:843
+#: ../lib/stdlib.php:855
 msgid "The CreateTocPlugin is not yet old markup compatible! "
 msgstr ""
 
-#: ../lib/stdlib.php:844
+#: ../lib/stdlib.php:856
 msgid ""
 "Please remove the CreateToc line to be able to reformat this page to old "
 "markup. "
 msgstr ""
 
-#: ../lib/stdlib.php:1105
+#: ../lib/stdlib.php:1118
 msgid "Revision Not Found"
 msgstr "修訂未找到"
 
-#: ../lib/stdlib.php:1106
+#: ../lib/stdlib.php:1119
 #, php-format
 msgid "I'm sorry.  Version %d of %s is not in the database."
 msgstr "抱歉, 版本是 %d 的 %s 不在資料庫中."
 
-#: ../lib/stdlib.php:1109
+#: ../lib/stdlib.php:1122
 msgid "Bad Version"
 msgstr "錯誤的版本"
 
-#: ../lib/stdlib.php:1245
+#: ../lib/stdlib.php:1258
 msgid "-???"
 msgstr "-???"
 
-#: ../lib/stdlib.php:1248
+#: ../lib/stdlib.php:1261
 #, php-format
 msgid "%s b"
 msgstr "%s b"
 
-#: ../lib/stdlib.php:1250 ../themes/MonoBook/templates/info.tmpl:29
-#: ../themes/shamino_com/templates/info.tmpl:29
+#: ../lib/stdlib.php:1263 ../themes/MonoBook/templates/info.tmpl:29
 #, php-format
 msgid "%s bytes"
 msgstr "%s bytes"
 
-#: ../lib/stdlib.php:1255
+#: ../lib/stdlib.php:1268
 #, php-format
 msgid "%s k"
 msgstr "%s k"
 
-#: ../lib/stdlib.php:1257 ../themes/MonoBook/templates/info.tmpl:32
-#: ../themes/shamino_com/templates/info.tmpl:32
+#: ../lib/stdlib.php:1270 ../themes/MonoBook/templates/info.tmpl:32
 #, php-format
 msgid "%s Kb (%s bytes)"
 msgstr "%s Kb (%s bytes)"
 
-#: ../lib/stdlib.php:1353
+#: ../lib/stdlib.php:1366
 #, php-format
 msgid "%s: argument index out of range"
 msgstr "%s: 引數索引超出範圍"
 
-#: ../lib/stdlib.php:1431 ../themes/Hawaiian/lib/random.php:20
+#: ../lib/stdlib.php:1444 ../themes/Hawaiian/lib/random.php:20
 #, php-format
 msgid "%s is empty."
 msgstr "%s 是空白的."
 
-#: ../lib/stdlib.php:1438
+#: ../lib/stdlib.php:1451
 #, php-format
 msgid "Unable to open directory '%s' for reading"
 msgstr "無法開啟目錄 '%s' 進行讀取"
 
-#: ../lib/stdlib.php:1942 ../lib/stdlib.php:1955
+#: ../lib/stdlib.php:1772
+msgid "Okay"
+msgstr "Okay"
+
+#: ../lib/stdlib.php:1949 ../lib/stdlib.php:1962
 #, fuzzy, php-format
 msgid "... (first %s words)"
 msgstr "... 頭 %d 個字"
 
-#: ../lib/upgrade.php:76
+#: ../lib/upgrade.php:86
 msgid "newer than the existing page."
 msgstr ""
 
-#: ../lib/upgrade.php:77
+#: ../lib/upgrade.php:87
 #, fuzzy
 msgid " replace "
 msgstr "取代:"
 
-#: ../lib/upgrade.php:81
+#: ../lib/upgrade.php:91
 msgid "older than the existing page."
 msgstr ""
 
-#: ../lib/upgrade.php:82 ../lib/upgrade.php:86 ../lib/upgrade.php:153
-msgid " skipped"
-msgstr ""
-
-#: ../lib/upgrade.php:89
+#: ../lib/upgrade.php:99
 #, fuzzy, php-format
 msgid "%s does not exist"
 msgstr "群組 %s 不存在"
 
-#: ../lib/upgrade.php:112
-msgid "check for necessary ActionPage updates"
+#: ../lib/upgrade.php:124 ../lib/upgrade.php:155 ../lib/upgrade.php:401
+#: ../lib/upgrade.php:913 ../lib/upgrade.php:1001
+#, php-format
+msgid "check for necessary %s updates"
 msgstr ""
 
-#: ../lib/upgrade.php:136
-msgid "check for necessary pgsrc updates"
-msgstr ""
+#: ../lib/upgrade.php:125 ../themes/MonoBook/templates/actionbar.tmpl:17
+#: ../themes/MonoBook/templates/actionbar.tmpl:30
+#, fuzzy
+msgid "ActionPage"
+msgstr "動作頁面"
+
+#: ../lib/upgrade.php:127
+#, fuzzy
+msgid "_AuthInfo"
+msgstr "_AuthInfo"
+
+#: ../lib/upgrade.php:127
+#, fuzzy
+msgid "DebugAuthInfo"
+msgstr "DebugInfo"
+
+#: ../lib/upgrade.php:130
+#, fuzzy
+msgid "_GroupInfo"
+msgstr "DebugInfo"
 
-#: ../lib/upgrade.php:152
+#: ../lib/upgrade.php:130
+#, fuzzy
+msgid "GroupAuthInfo"
+msgstr "_AuthInfo"
+
+#: ../lib/upgrade.php:158
+#, fuzzy
+msgid "rename to Help: pages"
+msgstr "更名已選定的頁面"
+
+#: ../lib/upgrade.php:175
 msgid "always skip the HomePage."
 msgstr ""
 
-#: ../lib/upgrade.php:172
+#: ../lib/upgrade.php:196
+#, fuzzy, php-format
+msgid "check for additional theme %s updates"
+msgstr "為 page '%s' 設定 acl."
+
+#: ../lib/upgrade.php:209
+#, fuzzy, php-format
+msgid "rename %s to %s"
+msgstr "頁面名稱以 '%s' 開頭的"
+
+#: ../lib/upgrade.php:236
 msgid "MISSING"
 msgstr ""
 
-#: ../lib/upgrade.php:208 ../lib/upgrade.php:227 ../lib/upgrade.php:246
-#: ../lib/upgrade.php:267 ../lib/upgrade.php:295 ../lib/upgrade.php:341
+#: ../lib/upgrade.php:272 ../lib/upgrade.php:291 ../lib/upgrade.php:312
+#: ../lib/upgrade.php:340 ../lib/upgrade.php:386
 msgid "CREATED"
 msgstr ""
 
-#: ../lib/upgrade.php:357
-msgid "check for necessary database updates"
-msgstr ""
+#: ../lib/upgrade.php:402
+#, fuzzy
+msgid "database"
+msgstr "資料庫"
 
-#: ../lib/upgrade.php:362
+#: ../lib/upgrade.php:408
 #, fuzzy
 msgid "CANCEL"
 msgstr "ACL"
 
-#: ../lib/upgrade.php:368
+#: ../lib/upgrade.php:421
 #, fuzzy
 msgid "Backend type: "
 msgstr "錯誤的檔案型態: %s"
 
-#: ../lib/upgrade.php:371 ../lib/upgrade.php:380 ../lib/upgrade.php:389
+#: ../lib/upgrade.php:425 ../lib/upgrade.php:445 ../lib/upgrade.php:454
 #, fuzzy, php-format
 msgid "check for table %s"
 msgstr "為 page '%s' 設定 acl."
 
-#: ../lib/upgrade.php:401
+#: ../lib/upgrade.php:469
 msgid "check for new session.sess_ip column"
 msgstr ""
 
-#: ../lib/upgrade.php:407 ../lib/upgrade.php:712
+#: ../lib/upgrade.php:475 ../lib/upgrade.php:692 ../lib/upgrade.php:837
 msgid "SKIP"
 msgstr ""
 
-#: ../lib/upgrade.php:410 ../lib/upgrade.php:517 ../lib/upgrade.php:717
+#: ../lib/upgrade.php:478 ../lib/upgrade.php:586 ../lib/upgrade.php:842
 msgid "ADDING"
 msgstr ""
 
-#: ../lib/upgrade.php:420
+#: ../lib/upgrade.php:488
 msgid "check for mysql session.sess_id sanity"
 msgstr ""
 
-#: ../lib/upgrade.php:434 ../lib/upgrade.php:439 ../lib/upgrade.php:476
-#: ../lib/upgrade.php:485
+#: ../lib/upgrade.php:502 ../lib/upgrade.php:507 ../lib/upgrade.php:544
+#: ../lib/upgrade.php:553
 #, fuzzy
 msgid "fixed"
 msgstr "已變更"
 
-#: ../lib/upgrade.php:453
+#: ../lib/upgrade.php:521
 msgid "check for mysql LOCK TABLE privilege"
 msgstr ""
 
-#: ../lib/upgrade.php:487 ../lib/upgrade.php:524 ../lib/upgrade.php:784
-#: ../lib/upgrade.php:809 ../lib/upgrade.php:818 ../lib/upgrade.php:825
-msgid "FAILED"
-msgstr ""
-
-#: ../lib/upgrade.php:499
+#: ../lib/upgrade.php:567
 #, php-format
 msgid "version <em>%s</em> not affected"
 msgstr ""
 
-#: ../lib/upgrade.php:507
+#: ../lib/upgrade.php:576
 msgid "check for mysql page.id auto_increment flag"
 msgstr ""
 
-#: ../lib/upgrade.php:544
+#: ../lib/upgrade.php:613
 msgid "check for mysql 4.1.x/5.0.0 binary search on windows problem"
 msgstr ""
 
-#: ../lib/upgrade.php:547 ../lib/upgrade.php:563 ../lib/upgrade.php:584
+#: ../lib/upgrade.php:616 ../lib/upgrade.php:632 ../lib/upgrade.php:653
 #, fuzzy, php-format
 msgid "version <em>%s</em>"
 msgstr "版本 %s"
 
-#: ../lib/upgrade.php:548
+#: ../lib/upgrade.php:617
 #, fuzzy
 msgid "not affected"
 msgstr "尚未"
 
-#: ../lib/upgrade.php:564 ../lib/upgrade.php:585 ../lib/upgrade.php:606
-#: ../lib/upgrade.php:816
+#: ../lib/upgrade.php:633 ../lib/upgrade.php:654 ../lib/upgrade.php:682
+#: ../lib/upgrade.php:1103
 msgid "FIXED"
 msgstr ""
 
-#: ../lib/upgrade.php:595
+#: ../lib/upgrade.php:664
 msgid "check for ACCESS_LOG_SQL passwords in POST requests"
 msgstr ""
 
-#: ../lib/upgrade.php:661
+#: ../lib/upgrade.php:687
+msgid "check for ACCESS_LOG_SQL remote_host varchar(50)"
+msgstr ""
+
+#: ../lib/upgrade.php:695
+msgid "FIXING"
+msgstr ""
+
+#: ../lib/upgrade.php:698
+msgid "FAIL"
+msgstr ""
+
+#: ../lib/upgrade.php:787
 msgid ""
 "Upgrade requires database privileges to CREATE and ALTER the phpwiki "
 "database."
 msgstr ""
 
-#: ../lib/upgrade.php:663
+#: ../lib/upgrade.php:789
 msgid ""
 "And on windows at least the privilege to SELECT FROM mysql, and possibly "
 "UPDATE mysql"
 msgstr ""
 
-#: ../lib/upgrade.php:668
+#: ../lib/upgrade.php:794
 msgid "DB admin user:"
 msgstr ""
 
-#: ../lib/upgrade.php:674
+#: ../lib/upgrade.php:800
 #, fuzzy
 msgid "DB admin password:"
 msgstr "改變密碼"
 
-#: ../lib/upgrade.php:707
+#: ../lib/upgrade.php:832
 msgid "check for extra page.cached_html column"
 msgstr ""
 
-#: ../lib/upgrade.php:724
+#: ../lib/upgrade.php:849 ../lib/upgrade.php:897
 msgid "CONVERTING"
 msgstr ""
 
-#: ../lib/upgrade.php:766
-msgid "check for necessary plugin argument updates"
+#: ../lib/upgrade.php:895
+msgid "Rebuild entire database to upgrade relation links"
 msgstr ""
 
-#: ../lib/upgrade.php:767
-msgid "change RandomPage pages => numpages"
-msgstr ""
+#: ../lib/upgrade.php:914
+#, fuzzy
+msgid "plugin argument"
+msgstr "錯誤的顏色值: %s"
 
-#: ../lib/upgrade.php:819
+#: ../lib/upgrade.php:958
+#, fuzzy, php-format
+msgid "file %s not found"
+msgstr "%s 找不到."
+
+#: ../lib/upgrade.php:985
+#, fuzzy, php-format
+msgid "%s not found in %s"
+msgstr "%s 找不到."
+
+#: ../lib/upgrade.php:992
 #, fuzzy, php-format
 msgid "couldn't move %s to %s"
 msgstr "無法為頁面 '%s' 變更權限為 '%s'."
 
-#: ../lib/upgrade.php:826
+#: ../lib/upgrade.php:996
 #, fuzzy, php-format
-msgid "%s is not writable"
+msgid "file %s is not writable"
 msgstr "%s 無法寫入."
 
-#: ../lib/upgrade.php:832
-msgid "check for necessary config updates"
-msgstr ""
-
-#: ../lib/upgrade.php:833
-msgid "check for old CACHE_CONTROL = NONE"
-msgstr ""
+#: ../lib/upgrade.php:1006 ../lib/upgrade.php:1016 ../lib/upgrade.php:1026
+#, fuzzy, php-format
+msgid "check for %s"
+msgstr "為 page '%s' 設定 acl."
 
-#: ../lib/upgrade.php:836
+#: ../lib/upgrade.php:1008
 msgid "CACHE_CONTROL is set to 'NONE', and must be changed to 'NO_CACHE'"
 msgstr ""
 
-#: ../lib/upgrade.php:843
-msgid "check for GROUP_METHOD = NONE"
+#: ../lib/upgrade.php:1018
+msgid "GROUP_METHOD is set to NONE, and must be changed to \"NONE\""
 msgstr ""
 
-#: ../lib/upgrade.php:846
-msgid "GROUP_METHOD is set to NONE, and must be changed to \"NONE\""
+#: ../lib/upgrade.php:1028
+msgid "fix BLOG_EMPTY_DEFAULT_PREFIX into BLOG_DEFAULT_EMPTY_PREFIX"
 msgstr ""
 
-#: ../lib/upgrade.php:883
+#: ../lib/upgrade.php:1128
+#, fuzzy
+msgid "fixed with"
+msgstr "已變更"
+
+#: ../lib/upgrade.php:1254
 msgid "Upgrade disabled: user != isAdmin"
 msgstr "禁止升級: user != isAdmin"
 
-#: ../lib/upgrade.php:887
+#: ../lib/upgrade.php:1259
 msgid "Upgrading this PhpWiki"
 msgstr "升級 PhpWiki"
 
@@ -5941,48 +6733,46 @@
 msgid "Members:"
 msgstr ""
 
-#: ../lib/ziplib.php:199
+#: ../lib/ziplib.php:206
 msgid "Can't inflate data: zlib support not enabled in this PHP"
 msgstr "無法壓縮資料: 此 PHP 的 zlib 支援未被啟動"
 
-#: ../lib/ziplib.php:395
+#: ../lib/ziplib.php:402
 #, php-format
 msgid "Can't open zip file '%s' for reading"
 msgstr "無法開啟 zip 檔案 '%s' 進行讀取"
 
-#: ../lib/ziplib.php:405 ../lib/ziplib.php:409
+#: ../lib/ziplib.php:412 ../lib/ziplib.php:416
 msgid "Unexpected EOF in zip file"
 msgstr "zip 檔案中存有不被期待的 EOF."
 
-#: ../lib/ziplib.php:730
+#: ../lib/ziplib.php:738
 #, php-format
 msgid "[%d] See [%s]"
 msgstr "[%d] 參閱 [%s]"
 
-#: ../lib/ziplib.php:737
+#: ../lib/ziplib.php:745
 msgid "References"
 msgstr "偏好設定"
 
 #: ../themes/Crao/templates/actionbar.tmpl:5
-#: ../themes/MonoBook/templates/actionbar.tmpl:11
-#: ../themes/Portland/templates/actionbar.tmpl:8
-#: ../themes/default/templates/actionbar.tmpl:15
+#: ../themes/MonoBook/templates/actionbar.tmpl:34
+#: ../themes/Portland/templates/actionbar.tmpl:6
+#: ../themes/default/templates/actionbar.tmpl:16
 #: ../themes/shamino_com/templates/actionbar.tmpl:6
-#: ../themes/shamino_com/templates/info.tmpl:164
 #: ../themes/smaller/templates/actionbar.tmpl:18
 msgid "Edit Old Revision"
 msgstr "編輯舊的修訂"
 
 #: ../themes/Crao/templates/actionbar.tmpl:7
 #: ../themes/Crao/templates/head.tmpl:47
-#: ../themes/MonoBook/templates/actionbar.tmpl:13
+#: ../themes/MonoBook/templates/actionbar.tmpl:37
 #: ../themes/MonoBook/templates/info.tmpl:166
-#: ../themes/Portland/templates/actionbar.tmpl:10
+#: ../themes/Portland/templates/actionbar.tmpl:8
 #: ../themes/Wordpress/templates/actionbar.tmpl:10
-#: ../themes/blog/templates/actionbar.tmpl:7
-#: ../themes/default/templates/actionbar.tmpl:17
+#: ../themes/blog/templates/actionbar.tmpl:21
+#: ../themes/default/templates/actionbar.tmpl:18
 #: ../themes/default/templates/head.tmpl:53
-#: ../themes/shamino_com/templates/info.tmpl:165
 #: ../themes/smaller/templates/actionbar.tmpl:20
 #: ../themes/smaller/templates/info.tmpl:5
 #: ../themes/wikilens/templates/head.tmpl:45
@@ -5990,19 +6780,17 @@
 msgstr "查看源碼"
 
 #: ../themes/Crao/templates/actionbar.tmpl:30
-#: ../themes/MonoBook/templates/actionbar.tmpl:52
+#: ../themes/MonoBook/templates/actionbar.tmpl:72
 #: ../themes/MonoBook/templates/info.tmpl:177
-#: ../themes/default/templates/actionbar.tmpl:39
-#: ../themes/shamino_com/templates/info.tmpl:177
+#: ../themes/default/templates/actionbar.tmpl:41
 #: ../themes/smaller/templates/info.tmpl:17
 msgid "PurgeHtmlCache"
 msgstr "PurgeHtmlCache"
 
 #: ../themes/Crao/templates/actionbar.tmpl:31
-#: ../themes/MonoBook/templates/actionbar.tmpl:53
+#: ../themes/MonoBook/templates/actionbar.tmpl:73
 #: ../themes/MonoBook/templates/info.tmpl:178
-#: ../themes/default/templates/actionbar.tmpl:40
-#: ../themes/shamino_com/templates/info.tmpl:178
+#: ../themes/default/templates/actionbar.tmpl:42
 #: ../themes/smaller/templates/info.tmpl:18
 msgid ""
 "Purge HTML cache for this page. Regenerate from WikiMarkup when next "
@@ -6010,59 +6798,66 @@
 msgstr "為此頁面清除 HTML 快取. 下次將重新由 WikiMarkup 產生."
 
 #: ../themes/Crao/templates/blogform.tmpl:10
-#: ../themes/blog/templates/blogform.tmpl:11
-#: ../themes/default/templates/blogform.tmpl:11
 msgid "Add a Comment"
 msgstr "加入意見"
 
 #: ../themes/Crao/templates/blogform.tmpl:18
-#: ../themes/blog/templates/blogform.tmpl:28
 #: ../themes/default/templates/addcomment.tmpl:14
-#: ../themes/default/templates/blogform.tmpl:28
 #, fuzzy
 msgid "Add Comment"
 msgstr "AddComment"
 
 #: ../themes/Crao/templates/browse.tmpl:5
+#: ../themes/MonoBook/templates/browse.tmpl:6
 #: ../themes/Portland/templates/browse.tmpl:9
 #: ../themes/Portland/templates/viewsource.tmpl:5
 #: ../themes/Wordpress/templates/browse.tmpl:9
-#: ../themes/Wordpress/templates/viewsource.tmpl:7
+#: ../themes/Wordpress/templates/viewsource.tmpl:9
 #: ../themes/blog/templates/browse.tmpl:6
+#: ../themes/blog/templates/viewsource.tmpl:6
 #: ../themes/default/templates/browse.tmpl:6
 #: ../themes/default/templates/viewsource.tmpl:5
 msgid "Note:"
 msgstr "注意:"
 
 #: ../themes/Crao/templates/browse.tmpl:6
+#: ../themes/MonoBook/templates/browse.tmpl:7
 #: ../themes/Portland/templates/browse.tmpl:10
 #: ../themes/Portland/templates/viewsource.tmpl:10
 #: ../themes/Wordpress/templates/browse.tmpl:10
-#: ../themes/Wordpress/templates/viewsource.tmpl:12
+#: ../themes/Wordpress/templates/viewsource.tmpl:14
 #: ../themes/blog/templates/browse.tmpl:7
+#: ../themes/blog/templates/viewsource.tmpl:11
 #: ../themes/default/templates/browse.tmpl:7
 #: ../themes/default/templates/viewsource.tmpl:10
 msgid "You are viewing an old revision of this page."
 msgstr "你正在查看此頁面的較舊修訂."
 
 #: ../themes/Crao/templates/browse.tmpl:7
+#: ../themes/MonoBook/templates/browse.tmpl:8
 #: ../themes/Portland/templates/browse.tmpl:11
 #: ../themes/Portland/templates/viewsource.tmpl:11
 #: ../themes/Wordpress/templates/browse.tmpl:11
-#: ../themes/Wordpress/templates/viewsource.tmpl:13
+#: ../themes/Wordpress/templates/viewsource.tmpl:15
 #: ../themes/blog/templates/browse.tmpl:8
+#: ../themes/blog/templates/viewsource.tmpl:12
 #: ../themes/default/templates/browse.tmpl:8
 #: ../themes/default/templates/viewsource.tmpl:11
 msgid "View the current version"
 msgstr "查看目前版本"
 
 #: ../themes/Crao/templates/editpage.tmpl:4
-#: ../themes/Portland/templates/editpage.tmpl:61
-#: ../themes/Wordpress/templates/editpage.tmpl:63
+#: ../themes/Portland/templates/editpage.tmpl:57
+#: ../themes/Wordpress/templates/editpage.tmpl:67
 #: ../themes/default/templates/editpage.tmpl:4
 msgid "Preview only!  Changes not saved."
 msgstr "僅能預覽! 更動將不被儲存."
 
+#: ../themes/Crao/templates/editpage.tmpl:9
+#: ../themes/default/templates/editpage.tmpl:9
+msgid "edit area"
+msgstr "編輯區域"
+
 #: ../themes/Crao/templates/editpage.tmpl:8
 #: ../themes/default/templates/editpage.tmpl:8
 #, php-format
@@ -6070,11 +6865,6 @@
 "Please continue editing.  (You'll find your %s at the bottom of the page.)"
 msgstr "請繼續編輯. (你將在頁面的底部找到你的 %s.)"
 
-#: ../themes/Crao/templates/editpage.tmpl:9
-#: ../themes/default/templates/editpage.tmpl:9
-msgid "edit area"
-msgstr "編輯區域"
-
 #: ../themes/Crao/templates/editpage.tmpl:18
 #: ../themes/Portland/templates/editpage.tmpl:25
 #: ../themes/Wordpress/templates/editpage.tmpl:23
@@ -6090,21 +6880,21 @@
 msgstr "儲存此頁面將會覆寫掉目前版本."
 
 #: ../themes/Crao/templates/editpage.tmpl:38
-#: ../themes/Portland/templates/editpage.tmpl:52
+#: ../themes/Portland/templates/editpage.tmpl:48
 #: ../themes/Wordpress/templates/editpage.tmpl:39
 #: ../themes/default/templates/editpage.tmpl:40
 msgid "H"
 msgstr "高"
 
 #: ../themes/Crao/templates/editpage.tmpl:39
-#: ../themes/Portland/templates/editpage.tmpl:53
+#: ../themes/Portland/templates/editpage.tmpl:49
 #: ../themes/Wordpress/templates/editpage.tmpl:40
 #: ../themes/default/templates/editpage.tmpl:41
 msgid "W"
 msgstr "寬"
 
 #: ../themes/Crao/templates/editpage.tmpl:40
-#: ../themes/Portland/templates/editpage.tmpl:54
+#: ../themes/Portland/templates/editpage.tmpl:50
 #: ../themes/Wordpress/templates/editpage.tmpl:41
 #: ../themes/default/templates/editpage.tmpl:42
 msgid "Adjust"
@@ -6121,58 +6911,69 @@
 msgstr "這是次要變更."
 
 #: ../themes/Crao/templates/editpage.tmpl:59
-#: ../themes/Portland/templates/editpage.tmpl:56
-#: ../themes/Wordpress/templates/editpage.tmpl:44
+#: ../themes/Portland/templates/editpage.tmpl:52
+#: ../themes/Wordpress/templates/editpage.tmpl:59
 #: ../themes/default/templates/editpage.tmpl:60
 msgid "Use old markup"
 msgstr "使用舊標記"
 
 #: ../themes/Crao/templates/editpage.tmpl:92
 #: ../themes/Crao/templates/editpage.tmpl:97
-#: ../themes/Portland/templates/editpage.tmpl:84
-#: ../themes/Portland/templates/editpage.tmpl:89
-#: ../themes/Wordpress/templates/editpage.tmpl:86
-#: ../themes/Wordpress/templates/editpage.tmpl:91
+#: ../themes/Portland/templates/editpage.tmpl:80
+#: ../themes/Portland/templates/editpage.tmpl:85
+#: ../themes/Wordpress/templates/editpage.tmpl:90
+#: ../themes/Wordpress/templates/editpage.tmpl:95
+#: ../themes/blog/templates/blogform.tmpl:24
+#: ../themes/default/templates/blogform.tmpl:24
+#: ../themes/default/templates/editpage.tmpl:108
 #: ../themes/default/templates/editpage.tmpl:113
-#: ../themes/default/templates/editpage.tmpl:118
-#, php-format
-msgid "See %s tips for editing."
-msgstr "參照編輯時的 %s 小秘訣."
+#, fuzzy
+msgid "Help/GoodStyle"
+msgstr "GoodStyle"
 
 #: ../themes/Crao/templates/editpage.tmpl:92
 #: ../themes/Crao/templates/editpage.tmpl:97
-#: ../themes/Portland/templates/editpage.tmpl:84
-#: ../themes/Portland/templates/editpage.tmpl:89
-#: ../themes/Wordpress/templates/editpage.tmpl:86
-#: ../themes/Wordpress/templates/editpage.tmpl:91
+#: ../themes/Portland/templates/editpage.tmpl:80
+#: ../themes/Portland/templates/editpage.tmpl:85
+#: ../themes/Wordpress/templates/editpage.tmpl:90
+#: ../themes/Wordpress/templates/editpage.tmpl:95
+#: ../themes/blog/templates/blogform.tmpl:24
+#: ../themes/default/templates/blogform.tmpl:24
+#: ../themes/default/templates/editpage.tmpl:108
 #: ../themes/default/templates/editpage.tmpl:113
-#: ../themes/default/templates/editpage.tmpl:118
-msgid "GoodStyle"
-msgstr "GoodStyle"
+#, php-format
+msgid "See %s tips for editing."
+msgstr "參照編輯時的 %s 小秘訣."
 
 #: ../themes/Crao/templates/editpage.tmpl:93
-#: ../themes/Portland/templates/editpage.tmpl:85
-#: ../themes/Wordpress/templates/editpage.tmpl:87
-#: ../themes/default/templates/editpage.tmpl:114
-msgid "OldTextFormattingRules"
+#: ../themes/Portland/templates/editpage.tmpl:81
+#: ../themes/Wordpress/templates/editpage.tmpl:91
+#: ../themes/default/templates/editpage.tmpl:109
+#, fuzzy
+msgid "Help/OldTextFormattingRules"
 msgstr "OldTextFormattingRules"
 
 #: ../themes/Crao/templates/editpage.tmpl:93
 #: ../themes/Crao/templates/editpage.tmpl:98
-#: ../themes/Portland/templates/editpage.tmpl:85
-#: ../themes/Portland/templates/editpage.tmpl:90
-#: ../themes/Wordpress/templates/editpage.tmpl:87
-#: ../themes/Wordpress/templates/editpage.tmpl:92
+#: ../themes/Portland/templates/editpage.tmpl:81
+#: ../themes/Portland/templates/editpage.tmpl:86
+#: ../themes/Wordpress/templates/editpage.tmpl:91
+#: ../themes/Wordpress/templates/editpage.tmpl:96
+#: ../themes/blog/templates/blogform.tmpl:25
+#: ../themes/default/templates/blogform.tmpl:25
+#: ../themes/default/templates/editpage.tmpl:109
 #: ../themes/default/templates/editpage.tmpl:114
-#: ../themes/default/templates/editpage.tmpl:119
 msgid "Synopsis"
 msgstr "概要"
 
 #: ../themes/Crao/templates/editpage.tmpl:98
-#: ../themes/Portland/templates/editpage.tmpl:90
-#: ../themes/Wordpress/templates/editpage.tmpl:92
-#: ../themes/default/templates/editpage.tmpl:119
-msgid "TextFormattingRules"
+#: ../themes/Portland/templates/editpage.tmpl:86
+#: ../themes/Wordpress/templates/editpage.tmpl:96
+#: ../themes/blog/templates/blogform.tmpl:25
+#: ../themes/default/templates/blogform.tmpl:25
+#: ../themes/default/templates/editpage.tmpl:114
+#, fuzzy
+msgid "Help/TextFormattingRules"
 msgstr "TextFormattingRules"
 
 #: ../themes/Crao/templates/head.tmpl:31 ../themes/Crao/templates/head.tmpl:32
@@ -6186,37 +6987,36 @@
 msgstr "HowToUseWiki"
 
 #: ../themes/Crao/templates/navbar.tmpl:34
-#: ../themes/Wordpress/templates/actionbar.tmpl:37
+#: ../themes/Wordpress/templates/actionbar.tmpl:38
 #: ../themes/default/templates/navbar.tmpl:51
-#: ../themes/wikilens/templates/navbar.tmpl:40
+#: ../themes/wikilens/templates/navbar.tmpl:30
 msgid "Today"
 msgstr "今天"
 
 #: ../themes/Crao/templates/navbar.tmpl:37
-#: ../themes/Sidebar/templates/navbar.tmpl:38
+#: ../themes/Sidebar/templates/navbar.tmpl:28
 #: ../themes/blog/templates/navbar.tmpl:14
 #: ../themes/default/templates/navbar.tmpl:55
-#: ../themes/wikilens/templates/navbar.tmpl:43
+#: ../themes/wikilens/templates/navbar.tmpl:32
 msgid "Admin"
 msgstr "管理者"
 
 #: ../themes/Crao/templates/navbar.tmpl:46
 #: ../themes/blog/templates/search.tmpl:11
-#: ../themes/default/templates/search.tmpl:16
-#: ../themes/default/templates/search.tmpl:23
+#: ../themes/default/templates/search.tmpl:20
+#: ../themes/default/templates/search.tmpl:25
 #, fuzzy
 msgid "LiveSearch"
 msgstr "標題搜索"
 
-#: ../themes/Crao/templates/signin.tmpl:18
+#: ../themes/Crao/templates/signin.tmpl:17
 #, fuzzy, php-format
 msgid "You are signed in as %s"
 msgstr "你必須簽入才能 %s."
 
-#: ../themes/Crao/templates/signin.tmpl:39
-#: ../themes/MonoBook/templates/signin.tmpl:38
-#: ../themes/Sidebar/templates/signin.tmpl:38
-#: ../themes/Wordpress/templates/signin.tmpl:42
+#: ../themes/Crao/templates/signin.tmpl:38
+#: ../themes/Sidebar/templates/signin.tmpl:37
+#: ../themes/Wordpress/templates/signin.tmpl:41
 #: ../themes/default/templates/signin.tmpl:34
 #: ../themes/smaller/templates/signin.tmpl:37
 msgid "Enter your UserId to sign in"
@@ -6224,8 +7024,6 @@
 
 #: ../themes/Crao/templates/wikiblog.tmpl:19
 #: ../themes/blog/templates/wikiblog.tmpl:20
-#: ../themes/default/templates/comment.tmpl:18
-#: ../themes/default/templates/wikiblog.tmpl:19
 #, php-format
 msgid "Comment modified on %s by %s"
 msgstr "意見在 %s 被 %s 變更"
@@ -6233,43 +7031,36 @@
 #: ../themes/Crao/templates/wikiblog.tmpl:25
 #: ../themes/blog/templates/wikiblog.tmpl:25
 #: ../themes/default/templates/comment.tmpl:24
-#: ../themes/default/templates/wikiblog.tmpl:24
 #, fuzzy, php-format
 msgid "Comments on %s by %s."
 msgstr "%s 的意見:"
 
-#: ../themes/Hawaiian/themeinfo.php:29 ../themes/MacOSX/themeinfo.php:104
-#: ../themes/MonoBook/themeinfo.php:72 ../themes/Portland/themeinfo.php:59
-#: ../themes/Sidebar/themeinfo.php:122 ../themes/SpaceWiki/themeinfo.php:43
-#: ../themes/Wordpress/themeinfo.php:61 ../themes/default/themeinfo.php:24
-#: ../themes/shamino_com/themeinfo.php:56 ../themes/smaller/themeinfo.php:51
-#: ../themes/wikilens/themeinfo.php:24
-msgid "Printer"
-msgstr "印表機"
-
-#: ../themes/Hawaiian/themeinfo.php:30 ../themes/MonoBook/themeinfo.php:74
-#: ../themes/Portland/themeinfo.php:60 ../themes/Sidebar/themeinfo.php:123
-#: ../themes/SpaceWiki/themeinfo.php:44 ../themes/Wordpress/themeinfo.php:62
-#: ../themes/default/themeinfo.php:26 ../themes/shamino_com/themeinfo.php:58
-#: ../themes/smaller/themeinfo.php:53 ../themes/wikilens/themeinfo.php:26
-msgid "Modern"
-msgstr "Modern"
-
-#: ../themes/MacOSX/themeinfo.php:105 ../themes/MonoBook/themeinfo.php:73
-#: ../themes/default/themeinfo.php:25 ../themes/shamino_com/themeinfo.php:57
-#: ../themes/smaller/themeinfo.php:52 ../themes/wikilens/themeinfo.php:25
-msgid "Top & bottom toolbars"
-msgstr "Top & bottom 工具列"
-
-#: ../themes/MonoBook/templates/actionbar.tmpl:27
-#: ../themes/Sidebar/templates/navbar.tmpl:31
+#: ../themes/MonoBook/templates/actionbar.tmpl:17
+#: ../themes/MonoBook/templates/actionbar.tmpl:30
+#: ../themes/Sidebar/templates/navbar.tmpl:21
 #: ../themes/default/templates/navbar.tmpl:15
+#: ../themes/wikilens/templates/navbar.tmpl:13
 msgid "Article"
 msgstr ""
 
+#: ../themes/MonoBook/templates/actionbar.tmpl:24
+#, fuzzy
+msgid "TemplateTalk"
+msgstr "佈景主題"
+
+#: ../themes/MonoBook/templates/actionbar.tmpl:39
+#, fuzzy
+msgid "History"
+msgstr "PageHistory"
+
 #: ../themes/MonoBook/templates/actionbar.tmpl:42
-#: ../themes/blog/templates/actionbar.tmpl:21
-#: ../themes/smaller/templates/actionbar.tmpl:34
+#, fuzzy
+msgid "Watch"
+msgstr "寬度"
+
+#: ../themes/MonoBook/templates/actionbar.tmpl:65
+#: ../themes/blog/templates/actionbar.tmpl:15
+#: ../themes/smaller/templates/actionbar.tmpl:36
 msgid "Info"
 msgstr "Info"
 
@@ -6280,7 +7071,7 @@
 
 #: ../themes/MonoBook/templates/browse-footer.tmpl:16
 #: ../themes/MonoBook/templates/browse-footer.tmpl:17
-#: ../themes/blog/templates/actionbar.tmpl:16
+#: ../themes/blog/templates/actionbar.tmpl:10
 #, fuzzy
 msgid "About"
 msgstr "計數"
@@ -6292,182 +7083,175 @@
 
 #: ../themes/MonoBook/templates/info.tmpl:37
 #: ../themes/default/templates/info.tmpl:30
-#: ../themes/shamino_com/templates/info.tmpl:37
 msgid "1 word"
 msgstr "1 個單字"
 
 #: ../themes/MonoBook/templates/info.tmpl:39
 #: ../themes/default/templates/info.tmpl:32
-#: ../themes/shamino_com/templates/info.tmpl:39
 #, php-format
 msgid "%s words"
 msgstr "共 %s 字"
 
 #: ../themes/MonoBook/templates/info.tmpl:43
 #: ../themes/default/templates/info.tmpl:36
-#: ../themes/shamino_com/templates/info.tmpl:43
 #, php-format
 msgid "Version %s"
 msgstr "版本 %s"
 
 #: ../themes/MonoBook/templates/info.tmpl:44
 #: ../themes/default/templates/info.tmpl:37
-#: ../themes/shamino_com/templates/info.tmpl:44
 msgid "Original (1.2 or 1.0)"
 msgstr "原始 (1.2 或 1.0)"
 
 #: ../themes/MonoBook/templates/info.tmpl:76
-#: ../themes/default/templates/info.tmpl:69
-#: ../themes/shamino_com/templates/info.tmpl:75
+#: ../themes/default/templates/info.tmpl:68
 msgid "Saved on:"
 msgstr "已存放在:"
 
 #: ../themes/MonoBook/templates/info.tmpl:81
-#: ../themes/default/templates/info.tmpl:74
-#: ../themes/shamino_com/templates/info.tmpl:80
+#: ../themes/default/templates/info.tmpl:73
 #, php-format
 msgid "Statistics about %s."
 msgstr "關於 %s 的統計."
 
 #: ../themes/MonoBook/templates/info.tmpl:91
-#: ../themes/default/templates/info.tmpl:85
-#: ../themes/shamino_com/templates/info.tmpl:91
+#: ../themes/default/templates/info.tmpl:84
 msgid "Supplanted on:"
 msgstr "代替為"
 
 #: ../themes/MonoBook/templates/info.tmpl:108
-#: ../themes/default/templates/info.tmpl:103
-#: ../themes/shamino_com/templates/info.tmpl:108
+#: ../themes/default/templates/info.tmpl:102
 msgid "Page Version:"
 msgstr "頁面版本"
 
 #: ../themes/MonoBook/templates/info.tmpl:112
-#: ../themes/default/templates/info.tmpl:107
-#: ../themes/shamino_com/templates/info.tmpl:112
+#: ../themes/default/templates/info.tmpl:106
 msgid "Markup:"
 msgstr "標記"
 
 #: ../themes/MonoBook/templates/info.tmpl:116
-#: ../themes/default/templates/info.tmpl:111
-#: ../themes/shamino_com/templates/info.tmpl:116
+#: ../themes/default/templates/info.tmpl:110
 msgid "Size:"
 msgstr "大小"
 
 #: ../themes/MonoBook/templates/info.tmpl:121
-#: ../themes/default/templates/info.tmpl:116
-#: ../themes/shamino_com/templates/info.tmpl:121
+#: ../themes/default/templates/info.tmpl:115
 msgid "Hits:"
 msgstr "點擊數:"
 
 #: ../themes/MonoBook/templates/info.tmpl:138
-#: ../themes/default/templates/info.tmpl:133
-#: ../themes/shamino_com/templates/info.tmpl:138
+#: ../themes/default/templates/info.tmpl:132
 msgid "home page"
 msgstr "首頁"
 
 #: ../themes/MonoBook/templates/info.tmpl:141
-#: ../themes/default/templates/info.tmpl:136
-#: ../themes/shamino_com/templates/info.tmpl:141
+#: ../themes/default/templates/info.tmpl:135
 msgid "User page"
 msgstr "使用者頁面"
 
 #: ../themes/MonoBook/templates/info.tmpl:144
-#: ../themes/default/templates/info.tmpl:139
-#: ../themes/shamino_com/templates/info.tmpl:144
+#: ../themes/default/templates/info.tmpl:138
 msgid "Action page"
 msgstr "動作頁面"
 
 #: ../themes/MonoBook/templates/info.tmpl:147
-#: ../themes/default/templates/info.tmpl:142
-#: ../themes/shamino_com/templates/info.tmpl:147
+#: ../themes/default/templates/info.tmpl:141
 msgid "Blog page"
 msgstr "Blog 頁面"
 
 #: ../themes/MonoBook/templates/info.tmpl:153
-#: ../themes/default/templates/info.tmpl:148
-#: ../themes/shamino_com/templates/info.tmpl:153
+#: ../themes/default/templates/info.tmpl:147
 msgid "Subpage"
 msgstr "子頁面"
 
 #: ../themes/MonoBook/templates/info.tmpl:158
-#: ../themes/default/templates/info.tmpl:153
-#: ../themes/shamino_com/templates/info.tmpl:158
+#: ../themes/default/templates/info.tmpl:152
 msgid "Page Type:"
 msgstr "頁面型態:"
 
 #: ../themes/MonoBook/templates/info.tmpl:170
 #: ../themes/blog/templates/info.tmpl:5
-#: ../themes/shamino_com/templates/info.tmpl:170
 #: ../themes/smaller/templates/info.tmpl:9
 msgid "Diff previous Revision"
 msgstr "與上個修訂做比對"
 
 #: ../themes/MonoBook/templates/info.tmpl:171
 #: ../themes/blog/templates/info.tmpl:6
-#: ../themes/shamino_com/templates/info.tmpl:171
 #: ../themes/smaller/templates/info.tmpl:10
 msgid "Diff previous Author"
 msgstr "與上個作者做比對"
 
-#: ../themes/MonoBook/templates/navbar.tmpl:28
-#: ../themes/MonoBook/templates/navbar.tmpl:29
-#: ../themes/Sidebar/templates/navbar.tmpl:16
-#: ../themes/Sidebar/templates/navbar.tmpl:17
+#: ../themes/MonoBook/templates/navbar.tmpl:15
+#, fuzzy
+msgid "The list of recent changes in the wiki."
+msgstr "在此 wiki 列出所有頁面."
+
+#: ../themes/MonoBook/templates/navbar.tmpl:17
+#, fuzzy
+msgid "RecentNewPages"
+msgstr "RecentChanges"
+
+#: ../themes/MonoBook/templates/navbar.tmpl:18
+#, fuzzy
+msgid "Like Pages"
+msgstr "LikePages"
+
+#: ../themes/MonoBook/templates/navbar.tmpl:35
+#, fuzzy
+msgid "Search:"
+msgstr "搜尋"
+
+#: ../themes/MonoBook/templates/navbar.tmpl:38
+#: ../themes/MonoBook/templates/navbar.tmpl:39
 #: ../themes/default/templates/navbar.tmpl:28
 #: ../themes/default/templates/navbar.tmpl:30
-#: ../themes/default/templates/search.tmpl:13
+#: ../themes/default/templates/search.tmpl:17
 #: ../themes/shamino_com/templates/top.tmpl:24
 #: ../themes/shamino_com/templates/top.tmpl:25
 #: ../themes/smaller/templates/navbar.tmpl:11
 #: ../themes/smaller/templates/navbar.tmpl:12
-#: ../themes/wikilens/templates/navbar.tmpl:19
-#: ../themes/wikilens/templates/navbar.tmpl:21
 #, fuzzy
 msgid "Quick Search"
 msgstr "完整搜尋"
 
-#: ../themes/MonoBook/templates/navbar.tmpl:39
-#, fuzzy
-msgid "Like Pages"
-msgstr "LikePages"
-
-#: ../themes/MonoBook/templates/navbar.tmpl:40
+#: ../themes/MonoBook/templates/navbar.tmpl:51
 msgid "What links here"
 msgstr ""
 
-#: ../themes/MonoBook/templates/signin.tmpl:18
-#: ../themes/Wordpress/templates/signin.tmpl:21
-#: ../themes/default/templates/signin.tmpl:25
-#: ../themes/shamino_com/templates/signin.tmpl:25
-#, php-format
-msgid "Authenticated as %s"
-msgstr "認證為 %s"
+#: ../themes/MonoBook/templates/navbar.tmpl:57
+#, fuzzy
+msgid "Administration"
+msgstr "管理者"
 
-#: ../themes/MonoBook/templates/signin.tmpl:41
-#, fuzzy, php-format
-msgid "Signed as %s"
-msgstr "已簽入的使用者"
+#: ../themes/MonoBook/templates/navbar.tmpl:60
+#, fuzzy
+msgid "Upload file"
+msgstr "載入檔案"
 
-#: ../themes/MonoBook/templates/signin.tmpl:44
-#: ../themes/Sidebar/templates/signin.tmpl:44
-#: ../themes/Wordpress/templates/signin.tmpl:48
-#: ../themes/default/templates/signin.tmpl:40
-#, php-format
-msgid "Click to authenticate as %s"
-msgstr "點擊以 %s 進行驗證."
+#: ../themes/MonoBook/templates/navbar.tmpl:60
+#, fuzzy
+msgid "Upload images or media files"
+msgstr "載入檔案"
 
-#: ../themes/MonoBook/templates/signin.tmpl:65
-#: ../themes/Sidebar/templates/signin.tmpl:64
-#: ../themes/Wordpress/templates/signin.tmpl:68
-#: ../themes/default/templates/signin.tmpl:59
-msgid "Sign in as:"
-msgstr "簽入為:"
+#: ../themes/MonoBook/templates/navbar.tmpl:64
+#: ../themes/MonoBook/templates/navbar.tmpl:69
+#, fuzzy
+msgid "Printable version"
+msgstr "目前版本"
 
-#: ../themes/Portland/templates/actionbar.tmpl:8
+#: ../themes/MonoBook/templates/navbar.tmpl:74
+msgid "Display as Pdf"
+msgstr ""
+
+#: ../themes/MonoBook/templates/signin.tmpl:10
+msgid "Logout"
+msgstr ""
+
+#: ../themes/Portland/templates/actionbar.tmpl:6
 msgid "EditText"
 msgstr "EditText"
 
-#: ../themes/Portland/templates/actionbar.tmpl:11
+#: ../themes/Portland/templates/actionbar.tmpl:9
 #, php-format
 msgid "%s of this page"
 msgstr "此頁面的 %s"
@@ -6480,20 +7264,21 @@
 msgid "Page Execution took %s seconds"
 msgstr "執行此頁面花了 %s 秒"
 
-#: ../themes/Portland/templates/editpage.tmpl:48
-#: ../themes/Wordpress/templates/editpage.tmpl:57
+#: ../themes/Portland/templates/editpage.tmpl:44
+#: ../themes/Wordpress/templates/editpage.tmpl:56
 #, php-format
 msgid ""
 "I'm just doing minor edits. Please divert the usual logging to %s instead."
 msgstr "我正在做次要編輯. 請轉移常用日誌到替代的 %s."
 
-#: ../themes/Portland/templates/editpage.tmpl:52
-#: ../themes/default/templates/userprefs.tmpl:195
+#: ../themes/Portland/templates/editpage.tmpl:48
+#: ../themes/default/templates/userprefs.tmpl:196
 msgid "Edit Area Size"
 msgstr "編輯區域大小"
 
 #: ../themes/Portland/templates/viewsource.tmpl:6
-#: ../themes/Wordpress/templates/viewsource.tmpl:8
+#: ../themes/Wordpress/templates/viewsource.tmpl:10
+#: ../themes/blog/templates/viewsource.tmpl:7
 #: ../themes/default/templates/viewsource.tmpl:6
 msgid "This page has been locked by the administrator and cannot be edited."
 msgstr "此頁面已經被管理者鎖定,並且無法編輯."
@@ -6503,33 +7288,42 @@
 msgid "Navigation"
 msgstr ""
 
-#: ../themes/Sidebar/templates/navbar.tmpl:24
+#: ../themes/Sidebar/templates/navbar.tmpl:14
 msgid "Full Search"
 msgstr "完整搜尋"
 
 # This entry is important for French punctuation rules which stipulate
 # a space before each colon.
-#: ../themes/Sidebar/templates/signin.tmpl:18
+#: ../themes/Sidebar/templates/signin.tmpl:17
 #, php-format
 msgid "User: %s"
 msgstr "User: %s"
 
 # This entry is important for French punctuation rules which stipulate
 # a space before each colon.
-#: ../themes/Sidebar/templates/signin.tmpl:41
+#: ../themes/Sidebar/templates/signin.tmpl:40
 #, php-format
 msgid "(User: %s)"
 msgstr "(user: %s)"
 
-#: ../themes/Sidebar/themeinfo.php:119
+#: ../themes/Sidebar/templates/signin.tmpl:43
+#: ../themes/Wordpress/templates/signin.tmpl:47
+#: ../themes/default/templates/signin.tmpl:40
+#, php-format
+msgid "Click to authenticate as %s"
+msgstr "點擊以 %s 進行驗證."
+
+#: ../themes/Sidebar/templates/signin.tmpl:63
+#: ../themes/Wordpress/templates/signin.tmpl:67
+#: ../themes/default/templates/signin.tmpl:59
+msgid "Sign in as:"
+msgstr "簽入為:"
+
+#: ../themes/Sidebar/themeinfo.php:37
 #, fuzzy
 msgid "Sidebar"
 msgstr "搜尋"
 
-#: ../themes/SpaceWiki/lib/RecentChanges.php:55
-msgid "diff"
-msgstr "差異"
-
 #: ../themes/Wordpress/templates/actionbar.tmpl:8
 msgid "Edit this page"
 msgstr "編輯此頁面"
@@ -6538,64 +7332,86 @@
 msgid "Edit old revision"
 msgstr "編輯舊修訂"
 
-#: ../themes/Wordpress/templates/signin.tmpl:45
+#: ../themes/Wordpress/templates/signin.tmpl:20
+#: ../themes/default/templates/signin.tmpl:25
+#: ../themes/shamino_com/templates/signin.tmpl:24
+#, php-format
+msgid "Authenticated as %s"
+msgstr "認證為 %s"
+
+#: ../themes/Wordpress/templates/signin.tmpl:44
 #: ../themes/default/templates/signin.tmpl:37
 #, php-format
 msgid "You are signed but not authenticated as %s. "
 msgstr "你已經簽入但並未認證為 %s."
 
-#: ../themes/blog/templates/actionbar.tmpl:15
+#: ../themes/blog/templates/actionbar.tmpl:9
 #, fuzzy
 msgid "Home"
 msgstr "首頁"
 
-#: ../themes/blog/templates/actionbar.tmpl:18
-#, fuzzy
-msgid "Photos"
-msgstr "PhotoAlbum"
-
-#: ../themes/blog/templates/actionbar.tmpl:19
+#: ../themes/blog/templates/actionbar.tmpl:13
 #, fuzzy
 msgid "HowTo"
 msgstr "GoTo"
 
-#: ../themes/blog/templates/actionbar.tmpl:32
+#: ../themes/blog/templates/blogform.tmpl:10
+#: ../themes/default/templates/blogform.tmpl:10
+msgid "Headline"
+msgstr ""
+
+#: ../themes/blog/templates/blogform.tmpl:18
+#: ../themes/default/templates/blogform.tmpl:18
 #, fuzzy
-msgid "Page Trail"
-msgstr "PageTrail"
+msgid "Add Entry"
+msgstr "CategoryPage"
 
-#: ../themes/blog/templates/sidebar.tmpl:7
+#: ../themes/blog/templates/sidebar.tmpl:8
 #: ../themes/blog/templates/sidebar.tmpl:12
-#: ../themes/blog/templates/sidebar.tmpl:14
 #, fuzzy
-msgid "Blogs"
+msgid "Blog"
 msgstr "WikiBlog"
 
-#: ../themes/blog/themeinfo.php:55
+#: ../themes/blog/templates/top.tmpl:16
+#, fuzzy
+msgid "Page Trail"
+msgstr "PageTrail"
+
+#: ../themes/blog/themeinfo.php:63
 #, fuzzy
 msgid "SignOut"
 msgstr "簽出"
 
-#: ../themes/blog/themeinfo.php:56
+#: ../themes/blog/themeinfo.php:64
 #, fuzzy
 msgid "SignIn"
 msgstr "簽入"
 
-#: ../themes/blog/themeinfo.php:57
+#: ../themes/blog/themeinfo.php:65
 #, fuzzy
 msgid "Lock"
 msgstr "已鎖定"
 
-#: ../themes/blog/themeinfo.php:58
+#: ../themes/blog/themeinfo.php:66
 #, fuzzy
 msgid "Unlock"
 msgstr "解除鎖定頁面"
 
-#: ../themes/blog/themeinfo.php:117
+#: ../themes/blog/themeinfo.php:122
 #, fuzzy
 msgid "blog"
 msgstr "對話盒"
 
+#: ../themes/blog/themeinfo.php:124
+msgid "(diff)"
+msgstr "(差異)"
+
+#: ../themes/default/templates/comment.tmpl:18
+#: ../themes/default/templates/wikiblog.tmpl:18
+#, fuzzy, php-format
+msgid "Modified on %s by %s"
+msgstr "意見在 %s 被 %s 變更"
+
 #: ../themes/default/templates/comment.tmpl:28
 #, php-format
 msgid "%s by %s"
@@ -6603,7 +7419,8 @@
 
 # This entry is important for French punctuation rules which stipulate
 # a space before each colon.
-#: ../themes/default/templates/debug.tmpl:21
+#: ../themes/default/templates/debug.tmpl:20
+#: ../themes/shamino_com/templates/debug.tmpl:11
 #, fuzzy, php-format
 msgid ", Memory: %s"
 msgstr "User: %s"
@@ -6723,6 +7540,10 @@
 msgid "Registered Users Online: "
 msgstr "已註冊的使用者在線上:"
 
+#: ../themes/default/templates/online.tmpl:38
+msgid "<none>"
+msgstr "<無>"
+
 #: ../themes/default/templates/online.tmpl:43
 msgid "Admin is also online."
 msgstr "Admin 也在線上."
@@ -6788,136 +7609,132 @@
 msgid "Your careful attention to detail is much appreciated."
 msgstr "感謝你的小心關注."
 
-#: ../themes/default/templates/savepage.tmpl:10
-msgid "Warning!"
-msgstr "警告!"
-
-#: ../themes/default/templates/userprefs.tmpl:62
-#: ../themes/default/templates/userprefs.tmpl:64
+#: ../themes/default/templates/userprefs.tmpl:63
+#: ../themes/default/templates/userprefs.tmpl:65
 msgid "<system theme>"
 msgstr "<系統佈景主題>"
 
-#: ../themes/default/templates/userprefs.tmpl:73
-#: ../themes/default/templates/userprefs.tmpl:99
+#: ../themes/default/templates/userprefs.tmpl:74
+#: ../themes/default/templates/userprefs.tmpl:100
 msgid "Personal theme:"
 msgstr "個人佈景主題:"
 
-#: ../themes/default/templates/userprefs.tmpl:79
-#: ../themes/default/templates/userprefs.tmpl:81
+#: ../themes/default/templates/userprefs.tmpl:80
+#: ../themes/default/templates/userprefs.tmpl:82
 msgid "<system language>"
 msgstr "<系統語言>"
 
-#: ../themes/default/templates/userprefs.tmpl:90
-#: ../themes/default/templates/userprefs.tmpl:100
+#: ../themes/default/templates/userprefs.tmpl:91
+#: ../themes/default/templates/userprefs.tmpl:101
 msgid "Personal language:"
 msgstr "個人語言:"
 
-#: ../themes/default/templates/userprefs.tmpl:109
+#: ../themes/default/templates/userprefs.tmpl:110
 #, php-format
 msgid "User preferences for user '%s':"
 msgstr "使用者 '%s' 的偏好設定:"
 
-#: ../themes/default/templates/userprefs.tmpl:118
+#: ../themes/default/templates/userprefs.tmpl:119
 msgid "UserId"
 msgstr "帳號"
 
-#: ../themes/default/templates/userprefs.tmpl:122
+#: ../themes/default/templates/userprefs.tmpl:123
 msgid "Auth Level"
 msgstr "認證層級"
 
-#: ../themes/default/templates/userprefs.tmpl:122
+#: ../themes/default/templates/userprefs.tmpl:123
 msgid "Auth Method"
 msgstr "認證方式"
 
-#: ../themes/default/templates/userprefs.tmpl:126
+#: ../themes/default/templates/userprefs.tmpl:127
 msgid "Theme"
 msgstr "佈景主題"
 
-#: ../themes/default/templates/userprefs.tmpl:126
+#: ../themes/default/templates/userprefs.tmpl:127
 msgid "Current Theme"
 msgstr "目前佈景主題"
 
-#: ../themes/default/templates/userprefs.tmpl:127
+#: ../themes/default/templates/userprefs.tmpl:128
 msgid "Language"
 msgstr "語言"
 
-#: ../themes/default/templates/userprefs.tmpl:127
+#: ../themes/default/templates/userprefs.tmpl:128
 msgid "Current Language"
 msgstr "目前語言"
 
-#: ../themes/default/templates/userprefs.tmpl:133
+#: ../themes/default/templates/userprefs.tmpl:134
 msgid "Change Password"
 msgstr "改變密碼"
 
-#: ../themes/default/templates/userprefs.tmpl:133
+#: ../themes/default/templates/userprefs.tmpl:134
 #, fuzzy
 msgid "Set Password"
 msgstr "密碼:"
 
-#: ../themes/default/templates/userprefs.tmpl:135
+#: ../themes/default/templates/userprefs.tmpl:136
 msgid "New password"
 msgstr "新密碼"
 
-#: ../themes/default/templates/userprefs.tmpl:138
+#: ../themes/default/templates/userprefs.tmpl:139
 msgid "Type it again"
 msgstr "再輸入一次:"
 
-#: ../themes/default/templates/userprefs.tmpl:144
+#: ../themes/default/templates/userprefs.tmpl:145
 msgid "E-mail"
 msgstr "E-mail"
 
-#: ../themes/default/templates/userprefs.tmpl:146
+#: ../themes/default/templates/userprefs.tmpl:147
 msgid "Your E-Mail:"
 msgstr "你的 E-Mail:"
 
-#: ../themes/default/templates/userprefs.tmpl:154
+#: ../themes/default/templates/userprefs.tmpl:155
 msgid "Status:"
 msgstr "狀態:"
 
-#: ../themes/default/templates/userprefs.tmpl:156
+#: ../themes/default/templates/userprefs.tmpl:157
 msgid "Email verified."
 msgstr "Email 已被驗證."
 
-#: ../themes/default/templates/userprefs.tmpl:158
+#: ../themes/default/templates/userprefs.tmpl:159
 msgid "Email not yet verified."
 msgstr "Email 尚未被驗證."
 
-#: ../themes/default/templates/userprefs.tmpl:160
+#: ../themes/default/templates/userprefs.tmpl:161
 msgid "Note, that user accounts with bouncing emails will be disabled."
 msgstr "注意, 使用者帳號的回信(bouncing emails)將被關閉."
 
-#: ../themes/default/templates/userprefs.tmpl:163
+#: ../themes/default/templates/userprefs.tmpl:164
 msgid "Get an email notification at changes of the following pages:"
 msgstr "在變更下列頁面時取得 email 通知:"
 
-#: ../themes/default/templates/userprefs.tmpl:166
+#: ../themes/default/templates/userprefs.tmpl:167
 msgid ""
 "Enter pages seperated by space or comma. Wildcards (fileglobbing) allowed."
 msgstr "輸入頁面並以空白或逗號分隔.允許使用萬用字元 (fileglobbing)."
 
-#: ../themes/default/templates/userprefs.tmpl:173
+#: ../themes/default/templates/userprefs.tmpl:174
 msgid "Appearance"
 msgstr "Appearance"
 
-#: ../themes/default/templates/userprefs.tmpl:175
+#: ../themes/default/templates/userprefs.tmpl:176
 msgid "Here you can override site-specific default values."
 msgstr "你可以在這裡覆寫掉站台預設的值."
 
-#: ../themes/default/templates/userprefs.tmpl:176
+#: ../themes/default/templates/userprefs.tmpl:177
 msgid "Currently not recommended!"
 msgstr "現在不建議使用!"
 
-#: ../themes/default/templates/userprefs.tmpl:180
-#: ../themes/default/templates/userprefs.tmpl:183
+#: ../themes/default/templates/userprefs.tmpl:181
+#: ../themes/default/templates/userprefs.tmpl:184
 msgid "System default:"
 msgstr "系統預設:"
 
-#: ../themes/default/templates/userprefs.tmpl:184
+#: ../themes/default/templates/userprefs.tmpl:185
 #, php-format
 msgid "Hide %s:"
 msgstr "隱藏 %s:"
 
-#: ../themes/default/templates/userprefs.tmpl:186
+#: ../themes/default/templates/userprefs.tmpl:187
 msgid ""
 "Hide or show LinkIcons (if supported by the current theme). Useful for text-"
 "only browsers or slow connections."
@@ -6925,38 +7742,38 @@
 "隱藏或顯示連結圖示 (如果目前佈景主題有支援). 只有在瀏覽器認為頻寬過慢的情況下"
 "被使用."
 
-#: ../themes/default/templates/userprefs.tmpl:187
+#: ../themes/default/templates/userprefs.tmpl:188
 #, fuzzy, php-format
 msgid "Add %s:"
 msgstr "隱藏 %s:"
 
-#: ../themes/default/templates/userprefs.tmpl:189
+#: ../themes/default/templates/userprefs.tmpl:190
 #, php-format
 msgid ""
 "Add Google links to unknown pages behind the '?', and the create action "
 "behind the pagename instead. See %s."
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:190
+#: ../themes/default/templates/userprefs.tmpl:191
 msgid "Enable DoubleClick Edit"
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:192
+#: ../themes/default/templates/userprefs.tmpl:193
 #, php-format
 msgid ""
 "Enabled makes it hard to double-click words and sentences for cut and paste. "
 "See %s."
 msgstr ""
 
-#: ../themes/default/templates/userprefs.tmpl:198
+#: ../themes/default/templates/userprefs.tmpl:199
 msgid "Height"
 msgstr "高度"
 
-#: ../themes/default/templates/userprefs.tmpl:205
+#: ../themes/default/templates/userprefs.tmpl:206
 msgid "Width"
 msgstr "寬度"
 
-#: ../themes/default/templates/userprefs.tmpl:214
+#: ../themes/default/templates/userprefs.tmpl:215
 msgid ""
 "Note that many browsers will automatically adjust the width of the editing "
 "area so that it fills the browser window.  In this case, the width "
@@ -6965,42 +7782,47 @@
 "注意:許多瀏覽器會自動調整編輯區域的寬度以填滿瀏覽視窗. 在這種情況下,寬度設定"
 "將會被忽略."
 
-#: ../themes/default/templates/userprefs.tmpl:217
+#: ../themes/default/templates/userprefs.tmpl:218
 msgid "Time Zone"
 msgstr "時區"
 
-#: ../themes/default/templates/userprefs.tmpl:220
+#: ../themes/default/templates/userprefs.tmpl:221
 #, php-format
 msgid "Add %s hours to the server's local time when reporting times."
 msgstr "當回報時間時,在伺服器的本地時間加上 %s 個小時."
 
-#: ../themes/default/templates/userprefs.tmpl:224
+#: ../themes/default/templates/userprefs.tmpl:225
 #, php-format
 msgid "The current time at the server is %s."
 msgstr "目前在伺服器上的時間是 %s."
 
-#: ../themes/default/templates/userprefs.tmpl:226
+#: ../themes/default/templates/userprefs.tmpl:227
 #, php-format
 msgid "With the current offset, this would be reported as %s."
 msgstr "以目前時差,這將被顯示為 %s."
 
-#: ../themes/default/templates/userprefs.tmpl:231
+#: ../themes/default/templates/userprefs.tmpl:232
 msgid "Date Format"
 msgstr "日期格式"
 
-#: ../themes/default/templates/userprefs.tmpl:234
+#: ../themes/default/templates/userprefs.tmpl:235
 msgid "Show relative dates using 'Today' and 'Yesterday'"
 msgstr "使用'今天'和'昨天'來顯示相對日期."
 
-#: ../themes/default/templates/userprefs.tmpl:241
+#: ../themes/default/templates/userprefs.tmpl:242
 msgid "Update Preferences"
 msgstr "更新偏好設定"
 
-#: ../themes/default/templates/userprefs.tmpl:242
+#: ../themes/default/templates/userprefs.tmpl:243
 #, fuzzy
 msgid "Remove Preferences"
 msgstr "UserPreferences"
 
+#: ../themes/default/templates/wikiblog.tmpl:23
+#, fuzzy, php-format
+msgid "Entry on %s by %s."
+msgstr "%s 的意見:"
+
 #: ../themes/default/templates/wikiforum.tmpl:20
 msgid "New Topic"
 msgstr ""
@@ -7017,22 +7839,168 @@
 msgstr ""
 
 #, fuzzy
-#~ msgid "Warning"
-#~ msgstr "警告:"
+#~ msgid "Total Units"
+#~ msgstr "總擊閱數: %d"
 
-#~ msgid "AUTH_GROUP_FILE not defined"
-#~ msgstr "AUTH_GROUP_FILE 未定義"
+#, fuzzy
+#~ msgid "Total Voters"
+#~ msgstr "共有 %d 組佈景主題: "
 
-#~ msgid "LDAP_AUTH_HOST not defined"
-#~ msgstr "LDAP_AUTH_HOST 未定義"
+#, fuzzy
+#~ msgid "Pagename(s): "
+#~ msgstr "頁面名稱"
+
+#, fuzzy
+#~ msgid "Help/SemanticSearchAdvancedPlugin"
+#~ msgstr "InterWikiSearch"
+
+#~ msgid "Wanted Pages for %s (%d total):"
+#~ msgstr "%s 所需要的頁面 (共 %d):"
+
+#~ msgid "Wanted Pages in this wiki (%d total):"
+#~ msgstr "在此 wiki 所需要的頁面 (共 %d):"
+
+#~ msgid "Count"
+#~ msgstr "計數"
+
+#, fuzzy
+#~ msgid "WatchList"
+#~ msgstr "寬度"
+
+#, fuzzy
+#~ msgid "Remove Comment"
+#~ msgstr "意見"
+
+#, fuzzy
+#~ msgid "Invalid username"
+#~ msgstr "錯誤的 acl"
+
+#, fuzzy
+#~ msgid "UserFileManagement"
+#~ msgstr "更名"
+
+#, fuzzy
+#~ msgid "Goto Home Directory"
+#~ msgstr "目錄 '%s'"
+
+#, fuzzy
+#~ msgid "Current directory: "
+#~ msgstr "目錄 '%s'"
+
+#, fuzzy
+#~ msgid "Delete"
+#~ msgstr "已刪除."
+
+#, fuzzy
+#~ msgid "Create Directory"
+#~ msgstr "無法建立目錄 '%s'"
+
+#, fuzzy
+#~ msgid "Upload files"
+#~ msgstr "載入檔案"
+
+#, fuzzy
+#~ msgid "Upload zip file"
+#~ msgstr "載入檔案"
+
+#~ msgid "Existing page-level metadata for %s:"
+#~ msgstr "已存在的頁面層級中繼資料 %s:"
+
+#, fuzzy
+#~ msgid " from author %s"
+#~ msgstr "從 %s"
+
+#, fuzzy
+#~ msgid " from owner %s"
+#~ msgstr "從 %s"
+
+#~ msgid "History of all major edits by %s to page %s."
+#~ msgstr "被 %s 修改的所有主要修訂歷程 - 頁面 %s."
+
+#~ msgid "History of major modifications for any page edited by %s."
+#~ msgstr "被 %s 修改的主要所有頁面變更歷程."
+
+#, fuzzy
+#~ msgid "Photos"
+#~ msgstr "PhotoAlbum"
+
+#~ msgid "GoodStyle"
+#~ msgstr "GoodStyle"
+
+#~ msgid "OldTextFormattingRules"
+#~ msgstr "OldTextFormattingRules"
+
+#~ msgid "TextFormattingRules"
+#~ msgstr "TextFormattingRules"
+
+#, fuzzy
+#~ msgid "PageChange Notification of %s Error: Couldn't send to %s"
+#~ msgstr "PageChange 通知錯誤: 無法送 %s 給 %s"
+
+#, fuzzy
+#~ msgid "GridTable"
+#~ msgstr "RichTable"
+
+#, fuzzy
+#~ msgid "Layout tables using grid-like \"ASCII art\"."
+#~ msgstr "使用舊標記風格佈局的表格."
+
+#, fuzzy
+#~ msgid "WikiAdminMassRevert"
+#~ msgstr "WikiAdminRemove"
+
+#, fuzzy
+#~ msgid "Reverted page '%s' to version '%s'."
+#~ msgstr "更名頁面 '%s' 為 '%s'."
+
+#, fuzzy
+#~ msgid "Didn't revert page '%s'. Access denied."
+#~ msgstr "成功地移除頁面 '%s'."
+
+#, fuzzy
+#~ msgid "%d pages have been reverted."
+#~ msgstr "%s 頁面已經變更."
+
+#, fuzzy
+#~ msgid "PhpWikiAdministration/MassRevert"
+#~ msgstr "PhpWikiAdministration/Remove"
+
+#, fuzzy
+#~ msgid ""
+#~ "Are you sure you want to overwrite the selected files with the previous "
+#~ "version?"
+#~ msgstr "你確定你想要永久更名選定的檔案?"
+
+#, fuzzy
+#~ msgid "Revert selected pages"
+#~ msgstr "移除選定頁面"
+
+#~ msgid "Ok"
+#~ msgstr "確定"
+
+#, fuzzy
+#~ msgid "WikiUserAdministration"
+#~ msgstr "PhpWikiAdministration"
+
+#~ msgid "Warning!"
+#~ msgstr "警告!"
+
+#, fuzzy
+#~ msgid "Signed as %s"
+#~ msgstr "已簽入的使用者"
+
+#~ msgid "Unable to load: %s"
+#~ msgstr "無法載入: %s"
 
 #, fuzzy
 #~ msgid "Sign in:"
 #~ msgstr "簽入:"
 
-#, fuzzy
-#~ msgid "Category"
-#~ msgstr "CategoryPage"
+#~ msgid "AUTH_GROUP_FILE not defined"
+#~ msgstr "AUTH_GROUP_FILE 未定義"
+
+#~ msgid "LDAP_AUTH_HOST not defined"
+#~ msgstr "LDAP_AUTH_HOST 未定義"
 
 #~ msgid "db type:"
 #~ msgstr "db 型態:"
@@ -7073,9 +8041,6 @@
 #~ msgid "It's free however."
 #~ msgstr "然而它是自由的."
 
-#~ msgid "new page"
-#~ msgstr "新頁面"
-
 #~ msgid "Click to sort"
 #~ msgstr "點擊進行排序"
 
@@ -7138,15 +8103,6 @@
 #~ msgid "%s: has no box method"
 #~ msgstr "%s: 沒有 box 方法"
 
-#~ msgid "PageChange Notification %s"
-#~ msgstr "PageChange 通知 %s"
-
-#~ msgid "New Page"
-#~ msgstr "新頁面"
-
-#~ msgid "Unable to connect to LDAP server "
-#~ msgstr "無法連結到 LDAP 伺服器"
-
 #~ msgid "Summary:"
 #~ msgstr "摘要:"
 
diff -ruN 1.3.12p3/locale/POFileChecker.html 1.3.14/locale/POFileChecker.html
--- 1.3.12p3/locale/POFileChecker.html	2006-06-18 06:19:38.000000000 -0500
+++ 1.3.14/locale/POFileChecker.html	2007-07-01 05:11:18.000000000 -0500
@@ -1,3 +1,3 @@
 <?xml version="1.0"?>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><title>PO File Checker Report</title></head><body><h1>PO File Checker Report</h1><em>124 problems found</em><table border="1"><tr><td>file</td><td>message</td><td>line</td><td>problem</td></tr><tr valign="top"><td rowspan="1">po/es.po</td><td>662</td><td>3328</td><td>missing : </td></tr><tr valign="top"><td rowspan="2">po/fr.po</td><td>662</td><td>3337</td><td>missing : </td></tr><tr><td>669</td><td>3379</td><td>missing : </td></tr><tr valign="top"><td rowspan="66">po/ja.po</td><td>16</td><td>99</td><td>missing .</td></tr><tr><td>150</td><td>788</td><td>missing .</td></tr><tr><td>178</td><td>938</td><td>missing .</td></tr><tr><td>179</td><td>943</td><td>missing .</td></tr><tr><td>180</td><td>948</td><td>missing .</td></tr><tr><td>185</td><td>980</td><td>missing .</td></tr><tr><td>186</td><td>984</td><td>missing .</td></tr><tr><td>205</td><td>1085</td><td>missing .</td></tr><tr><td>206</td><td>1090</td><td>missing .</td></tr><tr><td>250</td><td>1321</td><td>missing .</td></tr><tr><td>251</td><td>1325</td><td>missing .</td></tr><tr><td>278</td><td>1457</td><td>missing .</td></tr><tr><td>409</td><td>2081</td><td>missing .</td></tr><tr><td>443</td><td>2233</td><td>missing .</td></tr><tr><td>480</td><td>2436</td><td>missing .</td></tr><tr><td>487</td><td>2471</td><td>missing .</td></tr><tr><td>589</td><td>2940</td><td>missing :</td></tr><tr><td>618</td><td>3078</td><td>missing .</td></tr><tr><td>632</td><td>3143</td><td>missing :</td></tr><tr><td>648</td><td>3222</td><td>missing .</td></tr><tr><td>661</td><td>3300</td><td>missing .</td></tr><tr><td>662</td><td>3305</td><td>missing : </td></tr><tr><td>809</td><td>3985</td><td>missing : </td></tr><tr><td>813</td><td>4005</td><td>missing : </td></tr><tr><td>866</td><td>4236</td><td>missing .</td></tr><tr><td>869</td><td>4249</td><td>missing : </td></tr><tr><td>876</td><td>4283</td><td>missing .</td></tr><tr><td>883</td><td>4314</td><td>missing .</td></tr><tr><td>884</td><td>4319</td><td>missing .</td></tr><tr><td>886</td><td>4327</td><td>missing .</td></tr><tr><td>902</td><td>4404</td><td>missing :</td></tr><tr><td>921</td><td>4494</td><td>missing .</td></tr><tr><td>925</td><td>4512</td><td>missing :</td></tr><tr><td>932</td><td>4541</td><td>missing .</td></tr><tr><td>934</td><td>4554</td><td>missing .</td></tr><tr><td>935</td><td>4559</td><td>missing .</td></tr><tr><td>940</td><td>4582</td><td>missing :</td></tr><tr><td>943</td><td>4596</td><td>missing .</td></tr><tr><td>945</td><td>4606</td><td>missing .</td></tr><tr><td>946</td><td>4611</td><td>missing .</td></tr><tr><td>950</td><td>4631</td><td>missing :</td></tr><tr><td>954</td><td>4649</td><td>missing .</td></tr><tr><td>955</td><td>4654</td><td>missing .</td></tr><tr><td>963</td><td>4691</td><td>missing .</td></tr><tr><td>968</td><td>4715</td><td>missing .</td></tr><tr><td>971</td><td>4730</td><td>missing .</td></tr><tr><td>998</td><td>4850</td><td>missing : </td></tr><tr><td>1002</td><td>4868</td><td>missing .</td></tr><tr><td>1003</td><td>4873</td><td>missing .</td></tr><tr><td>1008</td><td>4895</td><td>missing : </td></tr><tr><td>1041</td><td>5038</td><td>missing .</td></tr><tr><td>1042</td><td>5043</td><td>missing :</td></tr><tr><td>1156</td><td>5588</td><td>missing .</td></tr><tr><td>1178</td><td>5691</td><td>missing .</td></tr><tr><td>1193</td><td>5756</td><td>missing : </td></tr><tr><td>1212</td><td>5845</td><td>missing :</td></tr><tr><td>1247</td><td>6052</td><td>missing .</td></tr><tr><td>1250</td><td>6071</td><td>missing .</td></tr><tr><td>1255</td><td>6104</td><td>missing : </td></tr><tr><td>1304</td><td>6456</td><td>missing :</td></tr><tr><td>1345</td><td>6661</td><td>missing .</td></tr><tr><td>1372</td><td>6785</td><td>missing :</td></tr><tr><td>1374</td><td>6795</td><td>missing :</td></tr><tr><td>1375</td><td>6800</td><td>missing :</td></tr><tr><td>1390</td><td>6862</td><td>missing .</td></tr><tr><td>1391</td><td>6866</td><td>missing .</td></tr><tr valign="top"><td rowspan="1">po/sv.po</td><td>866</td><td>4148</td><td>missing .</td></tr><tr valign="top"><td rowspan="54">po/zh.po</td><td>45</td><td>228</td><td>missing :</td></tr><tr><td>98</td><td>485</td><td>missing .</td></tr><tr><td>176</td><td>928</td><td>missing .</td></tr><tr><td>180</td><td>948</td><td>missing .</td></tr><tr><td>182</td><td>958</td><td>missing .</td></tr><tr><td>185</td><td>980</td><td>missing .</td></tr><tr><td>202</td><td>1072</td><td>missing .</td></tr><tr><td>202</td><td>1072</td><td>extra \n</td></tr><tr><td>203</td><td>1079</td><td>missing .</td></tr><tr><td>203</td><td>1079</td><td>extra \n</td></tr><tr><td>253</td><td>1347</td><td>missing .</td></tr><tr><td>278</td><td>1475</td><td>missing .</td></tr><tr><td>287</td><td>1516</td><td>missing .</td></tr><tr><td>338</td><td>1769</td><td>missing :</td></tr><tr><td>409</td><td>2089</td><td>missing .</td></tr><tr><td>480</td><td>2443</td><td>missing .</td></tr><tr><td>529</td><td>2669</td><td>missing .</td></tr><tr><td>574</td><td>2872</td><td>missing .</td></tr><tr><td>662</td><td>3315</td><td>missing : </td></tr><tr><td>669</td><td>3357</td><td>missing : </td></tr><tr><td>683</td><td>3420</td><td>missing .</td></tr><tr><td>785</td><td>3880</td><td>missing .</td></tr><tr><td>809</td><td>3999</td><td>missing : </td></tr><tr><td>810</td><td>4004</td><td>missing : </td></tr><tr><td>860</td><td>4224</td><td>missing : </td></tr><tr><td>868</td><td>4259</td><td>missing .</td></tr><tr><td>869</td><td>4264</td><td>missing : </td></tr><tr><td>870</td><td>4269</td><td>missing .</td></tr><tr><td>872</td><td>4280</td><td>missing .</td></tr><tr><td>876</td><td>4299</td><td>missing .</td></tr><tr><td>877</td><td>4304</td><td>missing .</td></tr><tr><td>878</td><td>4309</td><td>missing .</td></tr><tr><td>967</td><td>4728</td><td>missing .</td></tr><tr><td>971</td><td>4747</td><td>missing .</td></tr><tr><td>992</td><td>4837</td><td>missing : </td></tr><tr><td>998</td><td>4864</td><td>missing : </td></tr><tr><td>1008</td><td>4912</td><td>missing : </td></tr><tr><td>1019</td><td>4962</td><td>missing .</td></tr><tr><td>1042</td><td>5066</td><td>missing :</td></tr><tr><td>1147</td><td>5547</td><td>missing .</td></tr><tr><td>1156</td><td>5597</td><td>missing .</td></tr><tr><td>1193</td><td>5767</td><td>missing : </td></tr><tr><td>1212</td><td>5856</td><td>missing :</td></tr><tr><td>1255</td><td>6115</td><td>missing : </td></tr><tr><td>1270</td><td>6238</td><td>missing .</td></tr><tr><td>1285</td><td>6335</td><td>missing :</td></tr><tr><td>1286</td><td>6341</td><td>missing :</td></tr><tr><td>1287</td><td>6347</td><td>missing :</td></tr><tr><td>1288</td><td>6353</td><td>missing :</td></tr><tr><td>1339</td><td>6644</td><td>missing .</td></tr><tr><td>1351</td><td>6705</td><td>missing .</td></tr><tr><td>1353</td><td>6719</td><td>missing .</td></tr><tr><td>1354</td><td>6723</td><td>missing : </td></tr><tr><td>1356</td><td>6732</td><td>missing .</td></tr></table></body></html>
+<html xmlns="http://www.w3.org/1999/xhtml"><head><title>PO File Checker Report</title></head><body><h1>PO File Checker Report</h1><em>207 problems found</em><table border="1"><tr><td>file</td><td>message</td><td>line</td><td>problem</td></tr><tr valign="top"><td rowspan="2">po/de.po</td><td>686</td><td>3508</td><td>missing : </td></tr><tr><td>1339</td><td>6686</td><td>missing :</td></tr><tr valign="top"><td rowspan="3">po/es.po</td><td>679</td><td>3429</td><td>missing : </td></tr><tr><td>979</td><td>4823</td><td>missing .</td></tr><tr><td>1339</td><td>6624</td><td>missing :</td></tr><tr valign="top"><td rowspan="3">po/fr.po</td><td>679</td><td>3437</td><td>missing : </td></tr><tr><td>686</td><td>3487</td><td>missing : </td></tr><tr><td>1339</td><td>6683</td><td>missing :</td></tr><tr valign="top"><td rowspan="3">po/it.po</td><td>679</td><td>3328</td><td>missing : </td></tr><tr><td>979</td><td>4693</td><td>missing .</td></tr><tr><td>1339</td><td>6472</td><td>missing :</td></tr><tr valign="top"><td rowspan="69">po/ja.po</td><td>17</td><td>103</td><td>missing .</td></tr><tr><td>155</td><td>817</td><td>missing .</td></tr><tr><td>183</td><td>968</td><td>missing .</td></tr><tr><td>184</td><td>973</td><td>missing .</td></tr><tr><td>185</td><td>978</td><td>missing .</td></tr><tr><td>190</td><td>1010</td><td>missing .</td></tr><tr><td>191</td><td>1014</td><td>missing .</td></tr><tr><td>210</td><td>1115</td><td>missing .</td></tr><tr><td>211</td><td>1120</td><td>missing .</td></tr><tr><td>266</td><td>1402</td><td>missing .</td></tr><tr><td>267</td><td>1406</td><td>missing .</td></tr><tr><td>296</td><td>1548</td><td>missing .</td></tr><tr><td>426</td><td>2174</td><td>missing .</td></tr><tr><td>460</td><td>2327</td><td>missing .</td></tr><tr><td>496</td><td>2524</td><td>missing .</td></tr><tr><td>500</td><td>2544</td><td>missing .</td></tr><tr><td>607</td><td>3036</td><td>missing :</td></tr><tr><td>635</td><td>3169</td><td>missing .</td></tr><tr><td>649</td><td>3235</td><td>missing :</td></tr><tr><td>665</td><td>3314</td><td>missing .</td></tr><tr><td>678</td><td>3398</td><td>missing .</td></tr><tr><td>679</td><td>3403</td><td>missing : </td></tr><tr><td>831</td><td>4119</td><td>missing : </td></tr><tr><td>835</td><td>4139</td><td>missing : </td></tr><tr><td>887</td><td>4366</td><td>missing .</td></tr><tr><td>890</td><td>4379</td><td>missing : </td></tr><tr><td>897</td><td>4413</td><td>missing .</td></tr><tr><td>904</td><td>4444</td><td>missing .</td></tr><tr><td>905</td><td>4449</td><td>missing .</td></tr><tr><td>907</td><td>4457</td><td>missing .</td></tr><tr><td>923</td><td>4533</td><td>missing :</td></tr><tr><td>946</td><td>4642</td><td>missing .</td></tr><tr><td>950</td><td>4660</td><td>missing :</td></tr><tr><td>957</td><td>4689</td><td>missing .</td></tr><tr><td>959</td><td>4702</td><td>missing .</td></tr><tr><td>960</td><td>4707</td><td>missing .</td></tr><tr><td>965</td><td>4730</td><td>missing :</td></tr><tr><td>968</td><td>4744</td><td>missing .</td></tr><tr><td>970</td><td>4754</td><td>missing .</td></tr><tr><td>971</td><td>4759</td><td>missing .</td></tr><tr><td>975</td><td>4779</td><td>missing :</td></tr><tr><td>979</td><td>4798</td><td>missing .</td></tr><tr><td>980</td><td>4803</td><td>missing .</td></tr><tr><td>988</td><td>4845</td><td>missing .</td></tr><tr><td>992</td><td>4864</td><td>missing .</td></tr><tr><td>993</td><td>4869</td><td>missing .</td></tr><tr><td>1002</td><td>4911</td><td>missing .</td></tr><tr><td>1005</td><td>4926</td><td>missing .</td></tr><tr><td>1032</td><td>5046</td><td>missing : </td></tr><tr><td>1036</td><td>5064</td><td>missing .</td></tr><tr><td>1037</td><td>5069</td><td>missing .</td></tr><tr><td>1042</td><td>5091</td><td>missing : </td></tr><tr><td>1079</td><td>5251</td><td>missing .</td></tr><tr><td>1080</td><td>5256</td><td>missing :</td></tr><tr><td>1195</td><td>5806</td><td>missing .</td></tr><tr><td>1217</td><td>5909</td><td>missing .</td></tr><tr><td>1232</td><td>5974</td><td>missing : </td></tr><tr><td>1251</td><td>6063</td><td>missing :</td></tr><tr><td>1286</td><td>6276</td><td>missing .</td></tr><tr><td>1289</td><td>6295</td><td>missing .</td></tr><tr><td>1294</td><td>6328</td><td>missing : </td></tr><tr><td>1339</td><td>6636</td><td>missing :</td></tr><tr><td>1357</td><td>6747</td><td>missing :</td></tr><tr><td>1392</td><td>6917</td><td>missing .</td></tr><tr><td>1419</td><td>7041</td><td>missing :</td></tr><tr><td>1421</td><td>7051</td><td>missing :</td></tr><tr><td>1422</td><td>7056</td><td>missing :</td></tr><tr><td>1437</td><td>7118</td><td>missing .</td></tr><tr><td>1438</td><td>7122</td><td>missing .</td></tr><tr valign="top"><td rowspan="69">po/ja.utf-8.po</td><td>17</td><td>105</td><td>missing .</td></tr><tr><td>155</td><td>819</td><td>missing .</td></tr><tr><td>183</td><td>970</td><td>missing .</td></tr><tr><td>184</td><td>975</td><td>missing .</td></tr><tr><td>185</td><td>980</td><td>missing .</td></tr><tr><td>190</td><td>1012</td><td>missing .</td></tr><tr><td>191</td><td>1016</td><td>missing .</td></tr><tr><td>210</td><td>1117</td><td>missing .</td></tr><tr><td>211</td><td>1122</td><td>missing .</td></tr><tr><td>266</td><td>1404</td><td>missing .</td></tr><tr><td>267</td><td>1408</td><td>missing .</td></tr><tr><td>296</td><td>1550</td><td>missing .</td></tr><tr><td>426</td><td>2176</td><td>missing .</td></tr><tr><td>460</td><td>2329</td><td>missing .</td></tr><tr><td>496</td><td>2526</td><td>missing .</td></tr><tr><td>500</td><td>2546</td><td>missing .</td></tr><tr><td>607</td><td>3038</td><td>missing :</td></tr><tr><td>635</td><td>3171</td><td>missing .</td></tr><tr><td>649</td><td>3237</td><td>missing :</td></tr><tr><td>665</td><td>3316</td><td>missing .</td></tr><tr><td>678</td><td>3400</td><td>missing .</td></tr><tr><td>679</td><td>3405</td><td>missing : </td></tr><tr><td>831</td><td>4121</td><td>missing : </td></tr><tr><td>835</td><td>4141</td><td>missing : </td></tr><tr><td>887</td><td>4368</td><td>missing .</td></tr><tr><td>890</td><td>4381</td><td>missing : </td></tr><tr><td>897</td><td>4415</td><td>missing .</td></tr><tr><td>904</td><td>4446</td><td>missing .</td></tr><tr><td>905</td><td>4451</td><td>missing .</td></tr><tr><td>907</td><td>4459</td><td>missing .</td></tr><tr><td>923</td><td>4535</td><td>missing :</td></tr><tr><td>946</td><td>4644</td><td>missing .</td></tr><tr><td>950</td><td>4662</td><td>missing :</td></tr><tr><td>957</td><td>4691</td><td>missing .</td></tr><tr><td>959</td><td>4704</td><td>missing .</td></tr><tr><td>960</td><td>4709</td><td>missing .</td></tr><tr><td>965</td><td>4732</td><td>missing :</td></tr><tr><td>968</td><td>4746</td><td>missing .</td></tr><tr><td>970</td><td>4756</td><td>missing .</td></tr><tr><td>971</td><td>4761</td><td>missing .</td></tr><tr><td>975</td><td>4781</td><td>missing :</td></tr><tr><td>979</td><td>4800</td><td>missing .</td></tr><tr><td>980</td><td>4805</td><td>missing .</td></tr><tr><td>988</td><td>4847</td><td>missing .</td></tr><tr><td>992</td><td>4866</td><td>missing .</td></tr><tr><td>993</td><td>4871</td><td>missing .</td></tr><tr><td>1002</td><td>4913</td><td>missing .</td></tr><tr><td>1005</td><td>4928</td><td>missing .</td></tr><tr><td>1032</td><td>5048</td><td>missing : </td></tr><tr><td>1036</td><td>5066</td><td>missing .</td></tr><tr><td>1037</td><td>5071</td><td>missing .</td></tr><tr><td>1042</td><td>5093</td><td>missing : </td></tr><tr><td>1079</td><td>5253</td><td>missing .</td></tr><tr><td>1080</td><td>5258</td><td>missing :</td></tr><tr><td>1195</td><td>5808</td><td>missing .</td></tr><tr><td>1217</td><td>5911</td><td>missing .</td></tr><tr><td>1232</td><td>5976</td><td>missing : </td></tr><tr><td>1251</td><td>6065</td><td>missing :</td></tr><tr><td>1286</td><td>6278</td><td>missing .</td></tr><tr><td>1289</td><td>6297</td><td>missing .</td></tr><tr><td>1294</td><td>6330</td><td>missing : </td></tr><tr><td>1339</td><td>6638</td><td>missing :</td></tr><tr><td>1357</td><td>6749</td><td>missing :</td></tr><tr><td>1392</td><td>6919</td><td>missing .</td></tr><tr><td>1419</td><td>7043</td><td>missing :</td></tr><tr><td>1421</td><td>7053</td><td>missing :</td></tr><tr><td>1422</td><td>7058</td><td>missing :</td></tr><tr><td>1437</td><td>7120</td><td>missing .</td></tr><tr><td>1438</td><td>7124</td><td>missing .</td></tr><tr valign="top"><td rowspan="1">po/nl.po</td><td>1339</td><td>6469</td><td>missing :</td></tr><tr valign="top"><td rowspan="2">po/sv.po</td><td>979</td><td>4691</td><td>missing .</td></tr><tr><td>1339</td><td>6469</td><td>missing :</td></tr><tr valign="top"><td rowspan="55">po/zh.po</td><td>46</td><td>232</td><td>missing :</td></tr><tr><td>110</td><td>553</td><td>missing .</td></tr><tr><td>181</td><td>958</td><td>missing .</td></tr><tr><td>185</td><td>978</td><td>missing .</td></tr><tr><td>187</td><td>988</td><td>missing .</td></tr><tr><td>190</td><td>1010</td><td>missing .</td></tr><tr><td>207</td><td>1102</td><td>missing .</td></tr><tr><td>207</td><td>1102</td><td>extra \n</td></tr><tr><td>208</td><td>1109</td><td>missing .</td></tr><tr><td>208</td><td>1109</td><td>extra \n</td></tr><tr><td>269</td><td>1428</td><td>missing .</td></tr><tr><td>296</td><td>1566</td><td>missing .</td></tr><tr><td>305</td><td>1607</td><td>missing .</td></tr><tr><td>354</td><td>1858</td><td>missing :</td></tr><tr><td>426</td><td>2182</td><td>missing .</td></tr><tr><td>496</td><td>2531</td><td>missing .</td></tr><tr><td>544</td><td>2752</td><td>missing .</td></tr><tr><td>592</td><td>2970</td><td>missing .</td></tr><tr><td>679</td><td>3415</td><td>missing : </td></tr><tr><td>686</td><td>3465</td><td>missing : </td></tr><tr><td>699</td><td>3525</td><td>missing .</td></tr><tr><td>807</td><td>4018</td><td>missing .</td></tr><tr><td>831</td><td>4137</td><td>missing : </td></tr><tr><td>832</td><td>4142</td><td>missing : </td></tr><tr><td>881</td><td>4358</td><td>missing : </td></tr><tr><td>889</td><td>4393</td><td>missing .</td></tr><tr><td>890</td><td>4398</td><td>missing : </td></tr><tr><td>891</td><td>4403</td><td>missing .</td></tr><tr><td>893</td><td>4414</td><td>missing .</td></tr><tr><td>897</td><td>4433</td><td>missing .</td></tr><tr><td>898</td><td>4438</td><td>missing .</td></tr><tr><td>899</td><td>4443</td><td>missing .</td></tr><tr><td>1001</td><td>4931</td><td>missing .</td></tr><tr><td>1005</td><td>4950</td><td>missing .</td></tr><tr><td>1026</td><td>5040</td><td>missing : </td></tr><tr><td>1032</td><td>5067</td><td>missing : </td></tr><tr><td>1042</td><td>5115</td><td>missing : </td></tr><tr><td>1053</td><td>5165</td><td>missing .</td></tr><tr><td>1080</td><td>5286</td><td>missing :</td></tr><tr><td>1186</td><td>5773</td><td>missing .</td></tr><tr><td>1195</td><td>5823</td><td>missing .</td></tr><tr><td>1232</td><td>5993</td><td>missing : </td></tr><tr><td>1251</td><td>6082</td><td>missing :</td></tr><tr><td>1294</td><td>6347</td><td>missing : </td></tr><tr><td>1309</td><td>6465</td><td>missing .</td></tr><tr><td>1326</td><td>6573</td><td>missing :</td></tr><tr><td>1327</td><td>6579</td><td>missing :</td></tr><tr><td>1328</td><td>6585</td><td>missing :</td></tr><tr><td>1329</td><td>6591</td><td>missing :</td></tr><tr><td>1339</td><td>6652</td><td>missing :</td></tr><tr><td>1386</td><td>6911</td><td>missing .</td></tr><tr><td>1398</td><td>6972</td><td>missing .</td></tr><tr><td>1400</td><td>6986</td><td>missing .</td></tr><tr><td>1401</td><td>6990</td><td>missing : </td></tr><tr><td>1404</td><td>7003</td><td>missing .</td></tr></table></body></html>
Binary files 1.3.12p3/locale/sv/LC_MESSAGES/phpwiki.mo and 1.3.14/locale/sv/LC_MESSAGES/phpwiki.mo differ
diff -ruN 1.3.12p3/locale/sv/LC_MESSAGES/phpwiki.php 1.3.14/locale/sv/LC_MESSAGES/phpwiki.php
--- 1.3.12p3/locale/sv/LC_MESSAGES/phpwiki.php	2006-06-18 06:19:38.000000000 -0500
+++ 1.3.14/locale/sv/LC_MESSAGES/phpwiki.php	2007-07-01 05:11:18.000000000 -0500
@@ -60,8 +60,6 @@
    "Fulltextskning";
 $locale["Go"] =
    "\"G till sidan\"";
-$locale["GoodStyle"] =
-   "BraStil";
 $locale["H"] =
    "H";
 $locale["Height"] =
@@ -140,8 +138,6 @@
    "\"%s\" ingen funna.";
 $locale["Synopsis"] =
    "versikt";
-$locale["TextFormattingRules"] =
-   "Textformateringsregler";
 $locale["Thank you for editing %s."] =
    "Tack fr att du redigerade %s.";
 $locale["The %d most popular pages of this wiki:"] =
@@ -178,8 +174,6 @@
    "Visa Kllkoden: %s";
 $locale["W"] =
    "B";
-$locale["Warning!"] =
-   "Varning!";
 $locale["Width"] =
    "Bredd";
 $locale["Your careful attention to detail is much appreciated."] =
Binary files 1.3.12p3/locale/zh/LC_MESSAGES/phpwiki.mo and 1.3.14/locale/zh/LC_MESSAGES/phpwiki.mo differ
diff -ruN 1.3.12p3/locale/zh/LC_MESSAGES/phpwiki.php 1.3.14/locale/zh/LC_MESSAGES/phpwiki.php
--- 1.3.12p3/locale/zh/LC_MESSAGES/phpwiki.php	2006-06-18 06:19:39.000000000 -0500
+++ 1.3.14/locale/zh/LC_MESSAGES/phpwiki.php	2007-07-01 05:11:19.000000000 -0500
@@ -128,8 +128,6 @@
    "(差異)";
 $locale["(disable individual page permissions, enable inheritance)?"] =
    "(禁制個別網頁的權限,使用繼承)?";
-$locale["(hist)"] =
-   "(歷程)";
 $locale["(max. recursion level: %d)"] =
    "(最大遞迴層級: %d)";
 $locale["(ugo : rwx)"] =
@@ -358,8 +356,6 @@
    "無法為頁面 '%s' 變更權限為 '%s'.";
 $locale["Couldn't rename page '%s' to '%s'."] =
    "無法更名頁面 '%s' 為 '%s'.";
-$locale["Count"] =
-   "計數";
 $locale["Create a Wiki page by the provided name."] =
    "以提供的名稱建立 Wiki 頁面.";
 $locale["Create a Wiki page."] =
@@ -532,8 +528,6 @@
    "錯誤: 使用者的首頁必須是一個合法的 WikiWord. 抱歉, UserPreferences 無法儲存.";
 $locale["Every"] =
    "每";
-$locale["Existing page-level metadata for %s:"] =
-   "已存在的頁面層級中繼資料 %s:";
 $locale["Expiry parameters"] =
    "過期參數";
 $locale["External Links"] =
@@ -582,8 +576,6 @@
    "前往或建立頁面.";
 $locale["GoTo"] =
    "GoTo";
-$locale["GoodStyle"] =
-   "GoodStyle";
 $locale["GooglePlugin"] =
    "GooglePlugin";
 $locale["Group %s does not exist"] =
@@ -612,12 +604,8 @@
    "所有被 %s 修改的主要和次要修訂歷程 - 頁面 %s.";
 $locale["History of all major and minor modifications for any page edited by %s."] =
    "被 %s 修改的所有頁面的主要與次要變更歷程.";
-$locale["History of all major edits by %s to page %s."] =
-   "被 %s 修改的所有主要修訂歷程 - 頁面 %s.";
 $locale["History of changes."] =
    "變更的歷程.";
-$locale["History of major modifications for any page edited by %s."] =
-   "被 %s 修改的主要所有頁面變更歷程.";
 $locale["Hit statistics"] =
    "擊閱數統計";
 $locale["Hits"] =
@@ -844,8 +832,6 @@
    "注意, 使用者帳號的回信(bouncing emails)將被關閉.";
 $locale["Note:"] =
    "注意:";
-$locale["Ok"] =
-   "確定";
 $locale["Okay"] =
    "Okay";
 $locale["Old UserPage %s without stored password updated with empty password. Set a password in your UserPreferences."] =
@@ -856,8 +842,6 @@
    "OldStyleTable";
 $locale["OldStyleTablePlugin"] =
    "OldStyleTablePlugin";
-$locale["OldTextFormattingRules"] =
-   "OldTextFormattingRules";
 $locale["Older page:"] =
    "較舊的頁面:";
 $locale["One page links to %s:"] =
@@ -1286,8 +1270,6 @@
    "TODO: Google 只能從英文與法文轉換. 為 %s 尋找轉換到語言 %s 的服務.";
 $locale["Table Of Contents"] =
    "目錄";
-$locale["TextFormattingRules"] =
-   "TextFormattingRules";
 $locale["Thank you for editing %s."] =
    "謝謝你編輯了 %s.";
 $locale["Thanks for adding this translation!"] =
@@ -1400,8 +1382,6 @@
    "無法連結到 IMAP 伺服器";
 $locale["Unable to connect to LDAP server %s"] =
    "無法連結到 LDAP 伺服器 %s";
-$locale["Unable to load: %s"] =
-   "無法載入: %s";
 $locale["Unable to open directory '%s' for reading"] =
    "無法開啟目錄 '%s' 進行讀取";
 $locale["Undefined method %s for special group %s"] =
@@ -1488,14 +1468,8 @@
    "寬";
 $locale["WabiSabi"] =
    "WabiSabi";
-$locale["Wanted Pages for %s (%d total):"] =
-   "%s 所需要的頁面 (共 %d):";
-$locale["Wanted Pages in this wiki (%d total):"] =
-   "在此 wiki 所需要的頁面 (共 %d):";
 $locale["WantedPages"] =
    "WantedPages";
-$locale["Warning!"] =
-   "警告!";
 $locale["Warning:"] =
    "警告:";
 $locale["Warning: The search string cannot be empty!"] =
@@ -1532,8 +1506,6 @@
    "WikiAdminSetAcl";
 $locale["WikiAdminUtils"] =
    "WikiAdminUtils";
-$locale["WikiAdminUtils says:"] =
-   "WikiAdminUtils 說:";
 $locale["WikiBlog"] =
    "WikiBlog";
 $locale["WikiBlogPlugin"] =
diff -ruN 1.3.12p3/Makefile 1.3.14/Makefile
--- 1.3.12p3/Makefile	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/Makefile	2007-07-01 05:11:20.000000000 -0500
@@ -0,0 +1,117 @@
+# $Id: Makefile,v 1.11 2005/10/31 17:03:57 rurban Exp $
+# user-definable settings:
+# for mysqladmin
+DBADMIN_USER=root
+DBADMIN_PASS=secret
+
+# etags (GNU Emacs 21.5.x)
+#ETAGS_STDIN = /usr/bin/etags -L -
+# etags (GNU Emacs 21.4.15)
+ETAGS_STDIN = /usr/bin/etags -
+
+DB_SQLITE_DBFILE = /tmp/phpwiki-sqlite.db
+
+# ****************************************************************************
+# get db params from config/config.ini
+
+#DATABASE_TYPE=SQL
+DATABASE_TYPE := $(shell config/make-dbhelper.pl -v=DATABASE_TYPE config/config.ini)
+PROCESS_DSN=0
+ifeq (${DATABASE_TYPE},SQL)
+  PROCESS_DSN=1
+else
+  ifeq (${DATABASE_TYPE},ADODB) 
+    PROCESS_DSN=1
+  endif
+endif
+
+ifeq (${PROCESS_DSN},1)
+  # get db params from config/config.ini DATABASE_DSN setting (only if SQL or ADODB)
+  DATABASE_DSN := $(shell config/make-dbhelper.pl -v=DATABASE_DSN config/config.ini)
+  #DB_DBTYPE=mysql
+  DB_DBTYPE := $(word 1,${DATABASE_DSN})
+  #DB_DB=phpwiki
+  DB_DB   := $(word 2,${DATABASE_DSN})
+  #DB_USER=wikiuser
+  DB_USER := $(word 3,${DATABASE_DSN})
+  #DB_PASS=
+  DB_PASS := $(word 4,${DATABASE_DSN})
+  #Todo: read optional DBADMIN_USER and DBADMIN_PASS settings from config.ini
+  DBADMIN_OPTS=-u$(DBADMIN_USER) -p$(DBADMIN_PASS)
+else
+  DB_DBTYPE=${DATABASE_TYPE}
+endif
+
+# ****************************************************************************
+PHP_SRC := $(wildcard *.php ./lib/*.php ./lib/WikiDB/*.php ./lib/plugin/*.php)
+
+.PHONY: all install locale mysql pqsql sqlite dbtest install-config
+
+all:  TAGS
+
+TAGS:  $(PHP_SRC)
+	if [ -f $@ ]; then /usr/bin/mv -f $@ $@~; fi
+#	etags $(PHP_SRC)
+	/usr/bin/find . \( -type d -regex '\(^\./lib/pear\)\|\(^\./lib/WikiDB/adodb\)\|\(^\./lib/nusoap\)\|\(^\./lib/fpdf\)\|\(^\./locale/.*/LC_MESSAGES\)' \) -prune -o -type f -name \*.php | grep .php | $(ETAGS_STDIN)
+
+TAGS.full:  $(PHP_SRC)
+	if [ -f $@ ]; then /usr/bin/mv -f $@ $@~; fi
+	/usr/bin/find . -name \*.php -o -name \*.tmpl | $(ETAGS_STDIN) --langmap="HTML:.tmpl" -f $@
+# older etags needed this:
+#	/usr/bin/find . -type f -name \*.php -o -name \*.tmpl | etags - -o $@
+
+locale: 
+	cd locale
+	make
+
+install:	install-config install-database
+
+install-config: config/config.ini
+
+config/config.ini: config/config-dist.ini
+	cp config/config-dist.ini $@
+	echo "You must edit config/config.ini, at least set the ADMIN_PASSWD"
+	${EDITOR} $@
+
+# helpers for database installation
+install-database: ${DB_DBTYPE}
+
+dba:
+
+cvs:
+
+# maybe setup permissions
+file:
+
+dbtest:
+	echo DATABASE_TYPE=${DATABASE_TYPE} DB_DBTYPE=${DB_DBTYPE} DB_DB=$(DB_DB) DB_USER=${DB_USER} DB_PASS=${DB_PASS} DBADMIN_OPTS=$(DBADMIN_OPTS)
+
+# initialize the database
+# TODO: compare /var/mysql/data/$(DB_DB) timestamp against schemas/mysql.sql
+mysql:
+	mysqladmin $(DB_OPTS) create $(DB_DB)
+	mysql $(DB_OPTS) -e "GRANT select,insert,update,delete,lock tables ON $(DB_DB).* \
+TO $(DB_USER)@localhost IDENTIFIED BY '$(DB_PASS)';"
+	mysql $(DB_OPTS) $(DB_DB) < schemas/mysql-initialize.sql
+
+# initialize the database
+pqsql:
+	su postmaster
+	createdb $(DB_DB)
+	ifeq ($(DB_PASS),"")
+	  createuser -D -A -P $(DB_USER)
+	else
+	  createuser -D -A $(DB_USER)
+	endif
+	psql $(DB_DB) -f schemas/psql-initialize.sql
+	logout
+
+# initialize the database
+sqlite:	$(DB_SQLITE_DBFILE)
+	sqlite $(DB_SQLITE_DBFILE) < schemas/sqlite-initialize.sql
+
+# update the database
+${DB_SQLITE_DBFILE}: schemas/sqlite.sql
+	echo ".dump" | sqlite ${DB_SQLITE_DBFILE} > dump.sql
+	mv ${DB_SQLITE_DBFILE} ${DB_SQLITE_DBFILE}.old
+	sqlite $(DB_SQLITE_DBFILE) < dump.sql
diff -ruN 1.3.12p3/pgsrc/AddCommentPlugin 1.3.14/pgsrc/AddCommentPlugin
--- 1.3.12p3/pgsrc/AddCommentPlugin	2006-06-18 06:19:41.000000000 -0500
+++ 1.3.14/pgsrc/AddCommentPlugin	1969-12-31 18:00:00.000000000 -0600
@@ -1,43 +0,0 @@
-Date: Sun, 4 Jul 2004 01:31:02 -0700
-Mime-Version: 1.0 (Produced by PhpWiki 1.3.8)
-X-Rcs-Id: $Id: AddCommentPlugin,v 1.4 2004/07/04 08:44:08 rurban Exp $
-Content-Type: application/x-phpwiki;
-  pagename=AddCommentPlugin;
-  pgsrc_version="2 $Revision: 1.4 $";
-  flags="";
-  markup=2;
-  charset=iso-8859-1
-Content-Transfer-Encoding: binary
-
-WikiPlugin to let users attach comments to the end of a page. Since v1.3.8.
-Change the layout via the templates comment.tmpl and addcomment.tmpl, and the CSS classes
-wikicomment, wikicomment-header, wikicomment-body, wikicomment-footer
-
-!! Usage
-<verbatim>
-     <?plugin AddComment order||=normal jshide||=0 mode||=show,add noheader||=0 ?>
-</verbatim>
-
-!! Plugin Arguments
-__jshide__: |
-  Boolean if the comments and/or textbox should be initially hidden and on click expanded. Default: 0
-__order__:  |
-  List comments in chronological (order=normal) or reverse order (order=reverse)
-__mode__:  |
-  List of add and/or show.  Default: add,show
-__noheader__:  |
-  Boolean if the "Comments" h2 header should be omitted. Default: 0
-__pagename__:  |
-  Attach to which page? Default: current pagename
-
-!! Known Problems
-
-jshide does not work yet. Not very well tested.
-
-!! Examples
-
-<?plugin AddComment jshide||=1 ?>
-
--------------
-
-PhpWikiDocumentation WikiPlugin
diff -ruN 1.3.12p3/pgsrc/AddingPages 1.3.14/pgsrc/AddingPages
--- 1.3.12p3/pgsrc/AddingPages	2006-06-18 06:19:41.000000000 -0500
+++ 1.3.14/pgsrc/AddingPages	1969-12-31 18:00:00.000000000 -0600
@@ -1,36 +0,0 @@
-Date: Sun, 27 Jan 2002 17:28:55 -0500
-Mime-Version: 1.0 (Produced by PhpWiki 1.3.2-jeffs-hacks)
-X-Rcs-Id: $Id: AddingPages,v 1.12 2004/05/13 13:48:34 rurban Exp $
-Content-Type: application/x-phpwiki;
-  pagename=AddingPages;
-  pgsrc_version="2 $Revision: 1.12 $";
-  flags="";
-  markup=2;
-  charset=iso-8859-1
-Content-Transfer-Encoding: binary
-
-To add a new page to Wiki, all you have to do is come up with a
-meaningful title, capitalize all the words and
-StringThemTogetherLikeThis. Wiki automagically recognizes it as a
-hyperlink. Alternatively, you can put anything into [square brackets].
-
-Then you can go ahead and ClickTheQuestionMark at the end of your new
-hyperlink, and the Wiki will give you a window for making the new
-page.
-
-If you wish to add documents with complex markup to the Wiki, you
-might be better off providing a URL to it than trying to add the text
-of the document here, like so:
-
-PhpWiki project homepage: http://phpwiki.sourceforge.net/
-
-The Wiki does not support HTML tags (see TextFormattingRules).
-<tags>They will just render like text.</tags> Wiki is meant to be as
-simple as possible to encourage use.
-
-Note that there is a feature that your system administrator can enable
-to allow embedded HTML, but there are security risks involved.
-
-----
-
-PhpWikiDocumentation
diff -ruN 1.3.12p3/pgsrc/AllUsers 1.3.14/pgsrc/AllUsers
--- 1.3.12p3/pgsrc/AllUsers	2006-06-18 06:19:41.000000000 -0500
+++ 1.3.14/pgsrc/AllUsers	2007-07-01 05:11:20.000000000 -0500
@@ -1,9 +1,9 @@
 Date: Fri, 19 Nov 2004 14:27:36 +0100
 Mime-Version: 1.0 (Produced by PhpWiki 1.3.11pre)
-X-Rcs-Id: $Id: AllUsers,v 1.5 2004/11/19 13:34:50 rurban Exp $
+X-Rcs-Id: $Id: AllUsers,v 1.6 2007/01/04 16:43:27 rurban Exp $
 Content-Type: application/x-phpwiki;
   pagename=AllUsers;
-  pgsrc_version="2 $Revision: 1.5 $";
+  pgsrc_version="2 $Revision: 1.6 $";
   flags=PAGE_LOCKED;
   markup=2;
   charset=iso-8859-1
@@ -14,4 +14,4 @@
 ----
 <?plugin AllUsers?>
 ----
-WikiPlugin PluginManager
+Help:WikiPlugin PluginManager
diff -ruN 1.3.12p3/pgsrc/AnalyseAccessLogSqlPlugin 1.3.14/pgsrc/AnalyseAccessLogSqlPlugin
--- 1.3.12p3/pgsrc/AnalyseAccessLogSqlPlugin	2006-06-18 06:19:41.000000000 -0500
+++ 1.3.14/pgsrc/AnalyseAccessLogSqlPlugin	1969-12-31 18:00:00.000000000 -0600
@@ -1,106 +0,0 @@
-Date: Wed, 2 Feb 2005 20:32:44 +0100
-Mime-Version: 1.0 (Produced by PhpWiki 1.3.11)
-X-Rcs-Id: $Id: AnalyseAccessLogSqlPlugin,v 1.1 2005/02/27 09:47:08 rurban Exp $
-Content-Type: application/x-phpwiki;
-  pagename=AnalyseAccessLogSqlPlugin;
-  pgsrc_version="2 $Revision: 1.1 $";
-  flags="";
-  markup=2;
-  charset=iso-8859-1
-Content-Transfer-Encoding: binary
-
-The AnalyseAccessLogSql plugin provides a framework to analyse the SQL access log 
-and display the results.
-This information may be sensitive and therefore this plugin is limited to 
-administrator access only.
-
-A small number of queries that may (or might not) use the ~MySQL
-specific dialect of SQL are provided in <tt>lib/plugin/~AnalyseAccessLogSql.php</tt>. 
-For more information, please see the section *Adding new queries* below.
-
-!!!Usage
-Experimental! Will change a lot.
-
-!!!Usage
-<verbatim>
-  <?plugin AnalyseAccessLogSql mode=<QUERY NAME> ?>
-</verbatim>
-
-!Parameters
-mode _(required parameter)_:
-  The name of the query to execute. See *Adding new queries* below.
-
-period:
-  Use in combination with the _count_ parameter. The type of history period to retrieve from the SQL access log. Blank (the default) for all history, or one of "*weeks*", "*days*", "*hours*", or "*minutes*".
-
-count:
-  Use in combination with the _period_ parameter. Must be a number. The number of periods to retrieve from the access log.
-
-caption:
-  The value of this parameter is used as the caption for the output. If not set, the caption on the table defaults to the mode.
-
-center:
-  If set, the table is centered on the page, otherwise left justified.
-
-debugShowQuery:
-  If set, the SQL will be displayed in the table footer. Useful while debugging new queries or just for interest.
-
-user:
-  Blank (the default) to retrieve all users, or a specific user, or "*<NONE>*" for SQL access log entries with no user.
-
-host:
-  Blank (the default) to retrieve all remote_hosts, or a specific host.
-
-referrer:
-  Blank (the default) to retrieve all referrers, "*<NONE>*" to retrieve entries with no referrer, otherwise any referrer that matches this parameter, truncating longer referrers before matching. So a parameter of referrer='~http://localhost' will match '~http://localhost/wiki/index.php', '~http://localhost/wiki/index.php/~HomePage' etc.
-
-local_referrers:
-  If set (the default), return all referrers. If not set, return only external referring sites, excluding references from within the wiki.
-
-!!!Adding new queries
-The file <tt>lib/plugin/AnalyseAccessLogSql.php</tt> contains a default set of queries against the SQL access log.
-Feel free to change this file to suit your own needs, but please note that this requires filesystem access to the web server where PhpWiki is running.
-In particular, this file may need to be modified to correctly query databases other than MySQL.
-The queries supplied by default are: "*Referring URLs*", "*Referring Domains*", "*Remote Hosts*", "*Users*" and "*Host Users*".
-
-To add a new query, add a new section towards the end of the file, using one of the existing queries as a template. An example of an existing query is:
-<pre>
-} elseif ($mode=="Users") {
-    $query = "SELECT "
-        ."remote_user AS User, "
-        ."count(*) AS 'Access Count' "
-        ."FROM $accesslog "
-        .($whereConditions ? 'WHERE '.$whereConditions : '')
-        ."GROUP BY User";
-</pre>
-
-If you do add a query, please consider contributing it back to the PhpWiki project at http://http://sourceforge.net/projects/phpwiki
-!API for ~AnalyseAccessLogSql
-* input arguments:
-  - *$mode* contains the name of the query requested in the plugin parameters.
-  - *$accesslog* contains the qualified name of the accesslog table, which may or may not be equal to "accesslog".
-  - *$whereConditions* contains the conditions (specific user, etc.) requested in the plugin parameters.
-
-* output:
-  - *$query* must contain the final SQL query to be executed.
-
-* conventions:
-  - While constructing the query string,
-    * each clause is on a separate line and
-    * each clause contains the required trailing punctuation or space.
-  - The mode parameter is, by default, displayed as the caption in the final output, so please choose a user friendly name.
-  - The column names displayed on the wiki page are generated from the SQL column names defined in the queries, so please choose user friendly names. MySQL allows column names to include spaces.  If spaces are not allowed, then "*_*" is probably the next best choice.
-
-* language hints for PHP newbies - please remember:
-  - terminate statements with "*;*",
-  - assignment uses "*=*" and comparison uses "*==*",
-  - concatenate strings using the "*.*" operator,
-  - the parentheses around the expression "*=($whereConditions ? 'WHERE '.$whereConditions : '' )=*" are essential,
-  - strings enclosed in single quotes may not contain substrings enclosed in single quotes (actually the truth is more complex but let's leave it like that here), and
-  - strings enclosed in double quotes will evaluate and replace variable names so that, for example, *"FROM $accesslog "* might be evaluated to *"FROM phpwiki_accesslog "*.
-
-! Author
-PhpWiki:CharlesCorrigan %%%
-Changes by PhpWiki:ReiniUrban
-----
-PhpWikiDocumentation WikiPlugin
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/AppendTextPlugin 1.3.14/pgsrc/AppendTextPlugin
--- 1.3.12p3/pgsrc/AppendTextPlugin	2006-06-18 06:19:41.000000000 -0500
+++ 1.3.14/pgsrc/AppendTextPlugin	1969-12-31 18:00:00.000000000 -0600
@@ -1,44 +0,0 @@
-Date: Thu, 25 Nov 2004 14:56:01 +0100
-Mime-Version: 1.0 (Produced by PhpWiki 1.3.11pre)
-X-Rcs-Id: $Id: AppendTextPlugin,v 1.1 2004/11/26 18:35:18 rurban Exp $ 
-Content-Type: application/x-phpwiki;
-  pagename=AppendTextPlugin;
-  flags="";
-  markup=2;
-  charset=iso-8859-1
-Content-Transfer-Encoding: binary
-
-AppendText is a WikiPlugin to automatically add text to a page. For general 
-usage better use the AddCommentPlugin.
-
-<verbatim>
-<?plugin AppendText ?>
-</verbatim>
-
-!! Plugin Arguments
-__page__: |
-  Append to which page. Default: Current page.
-__s__:  |
-  What text to add. Note: A \n is always prepended.
-__before__:  |
-  (Optional) Add before the matching line beginning with before.
-__after__:  |
-  (Optional) Add after the matching line beginning with after.
-
-!! Examples
-
-Add from a list of all available plugins one to the current page.
-<verbatim>
-  <?plugin WikiFormRich action=AppendText buttontext="AddPlugin"
-  	   pulldown[] name=s text="Plugins: " value=<!plugin-list BackLinks page=WikiPlugin !>
-  	   ?>
-</verbatim>
-
-Add from a list of all available Categories to the current page.
-<verbatim>
-  <?plugin WikiFormRich action=AppendText buttontext="AddCategory"
-  	   pulldown[] name=s text="Categories: " value=<!plugin-list TitleSearch s=Category !>
-  	   ?>
-</verbatim>
-----
-PhpWikiDocumentation
diff -ruN 1.3.12p3/pgsrc/area 1.3.14/pgsrc/area
--- 1.3.12p3/pgsrc/area	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/area	2007-07-01 05:11:21.000000000 -0500
@@ -0,0 +1,12 @@
+Date: Thu, 4 Jan 2007 03:12:24 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: area,v 1.1 2007/01/04 16:53:07 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=area;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+{{Template/Attribute}}
diff -ruN 1.3.12p3/pgsrc/_AuthInfo 1.3.14/pgsrc/_AuthInfo
--- 1.3.12p3/pgsrc/_AuthInfo	2006-06-18 06:19:45.000000000 -0500
+++ 1.3.14/pgsrc/_AuthInfo	1969-12-31 18:00:00.000000000 -0600
@@ -1,13 +0,0 @@
-Date: Sat, 29 May 2004 09:48:13 +0200
-Mime-Version: 1.0 (Produced by PhpWiki 1.3.10pre)
-X-Rcs-Id: $Id: _AuthInfo,v 1.2 2004/06/08 19:49:48 rurban Exp $
-Content-Type: application/x-phpwiki;
-  pagename=_AuthInfo;
-  pgsrc_version="2 $Revision: 1.2 $";
-  flags=LOCKED;
-  markup=2;
-  acl="view:_AUTHENTICATED; edit:_AUTHENTICATED; create:_AUTHENTICATED,_BOGOUSER; list:_AUTHENTICATED; remove:_ADMIN,_OWNER; change:_ADMIN,_OWNER; dump:_EVERY";
-  charset=iso-8859-1
-Content-Transfer-Encoding: binary
-
-<?plugin _AuthInfo ?>
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/AuthorHistory 1.3.14/pgsrc/AuthorHistory
--- 1.3.12p3/pgsrc/AuthorHistory	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/AuthorHistory	2007-07-01 05:11:21.000000000 -0500
@@ -0,0 +1,12 @@
+Date: Sat, 23 Apr 2005 12:05:28 +0200
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.11)
+X-Rcs-Id: $Id: AuthorHistory,v 1.1 2005/04/23 10:07:39 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=AuthorHistory;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+<?plugin AuthorHistory ?>
diff -ruN 1.3.12p3/pgsrc/AuthorHistoryPlugin 1.3.14/pgsrc/AuthorHistoryPlugin
--- 1.3.12p3/pgsrc/AuthorHistoryPlugin	2006-06-18 06:19:41.000000000 -0500
+++ 1.3.14/pgsrc/AuthorHistoryPlugin	1969-12-31 18:00:00.000000000 -0600
@@ -1,28 +0,0 @@
-Date: Sun, 4 Jul 2004 01:31:02 -0700
-Mime-Version: 1.0 (Produced by PhpWiki 1.3.7)
-X-Rcs-Id: $Id: AuthorHistoryPlugin,v 1.5 2004/07/04 08:44:08 rurban Exp $
-Content-Type: application/x-phpwiki;
-  pagename=AuthorHistoryPlugin;
-  pgsrc_version="2 $Revision: 1.5 $";
-  flags="";
-  markup=2;
-  charset=iso-8859-1
-Content-Transfer-Encoding: binary
-
-This plugin allows you to list the history of edits by a particular
-author; you can specify the page name as well (default is the current
-page).
-
-<verbatim>
-<?plugin AuthorHistory user="test" ?>
-
-<?plugin AuthorHistory page=HomePage ?>
-</verbatim>
-
-The second example will default to the current page. We can't provide
-examples for you since we don't know any potential usernames for your
-wiki.
-
--------------
-
-PhpWikiDocumentation WikiPlugin
diff -ruN 1.3.12p3/pgsrc/BackLinks 1.3.14/pgsrc/BackLinks
--- 1.3.12p3/pgsrc/BackLinks	2006-06-18 06:19:41.000000000 -0500
+++ 1.3.14/pgsrc/BackLinks	2007-07-01 05:11:21.000000000 -0500
@@ -1,9 +1,9 @@
-Date: Sun, 27 Jan 2002 17:28:55 -0500
-Mime-Version: 1.0 (Produced by PhpWiki 1.3.2-jeffs-hacks)
-X-Rcs-Id: $Id: BackLinks,v 1.7 2002/12/29 00:32:34 carstenklapp Exp $
+Date: Fri, 29 Dec 2006 08:18:48 +0100
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: BackLinks,v 1.8 2007/01/02 13:24:58 rurban Exp $
 Content-Type: application/x-phpwiki;
   pagename=BackLinks;
-  pgsrc_version="2 $Revision: 1.7 $";
+  pgsrc_version="2 $Revision: 1.8 $";
   flags=PAGE_LOCKED;
   markup=2;
   charset=iso-8859-1
@@ -16,3 +16,12 @@
 ----
 
 <?plugin BackLinks exclude||='' include_self||=1 noheader||=0 page||='' info||='' ?>
+
+----
+
+To display the list of pages which all contain multiple links use a pagelist as page argument.
+For example 
+<verbatim>
+  <?plugin BackLinks page=Milk,Honey ?>
+</verbatim>
+would display all pages which contain links to Milk AND Honey.
diff -ruN 1.3.12p3/pgsrc/BlogArchives 1.3.14/pgsrc/BlogArchives
--- 1.3.12p3/pgsrc/BlogArchives	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/BlogArchives	2007-07-01 05:11:21.000000000 -0500
@@ -0,0 +1,12 @@
+Date: Wed, 3 Jan 2007 16:57:56 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: BlogArchives,v 1.1 2007/01/20 11:45:34 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=BlogArchives;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+<?plugin BlogArchives ?>
diff -ruN 1.3.12p3/pgsrc/BlogJournal 1.3.14/pgsrc/BlogJournal
--- 1.3.12p3/pgsrc/BlogJournal	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/BlogJournal	2007-07-01 05:11:21.000000000 -0500
@@ -0,0 +1,12 @@
+Date: Wed, 3 Jan 2007 16:57:56 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: BlogJournal,v 1.1 2007/01/20 11:45:40 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=BlogJournal;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+<?plugin BlogJournal ?>
diff -ruN 1.3.12p3/pgsrc/CalendarListPlugin 1.3.14/pgsrc/CalendarListPlugin
--- 1.3.12p3/pgsrc/CalendarListPlugin	2006-06-18 06:19:41.000000000 -0500
+++ 1.3.14/pgsrc/CalendarListPlugin	1969-12-31 18:00:00.000000000 -0600
@@ -1,29 +0,0 @@
-Date: Sun, 4 Jul 2004 01:31:02 -0700
-Mime-Version: 1.0 (Produced by PhpWiki 1.3.7)
-X-Rcs-Id: $Id: CalendarListPlugin,v 1.4 2004/07/04 08:44:08 rurban Exp $
-Content-Type: application/x-phpwiki;
-  pagename=CalendarListPlugin;
-  pgsrc_version="2 $Revision: 1.4 $";
-  flags="";
-  markup=2;
-  charset=iso-8859-1
-Content-Transfer-Encoding: binary
-
-The CalendarListPlugin is used in conjunction with the CalendarPlugin. It was written for those who use a wiki as a personal information manager.
-
-Just click any date in the calendar, edit the for that date, then come back to this page. The event should be listed below the calendar.
-
-Usage:
-<verbatim>
-<?plugin Calendar ?>
-<?plugin CalendarList ?>
-</verbatim>
-
-Example (click any date and edit it, then return to this page):
-<?plugin Calendar ?>
-
-<?plugin CalendarList ?>
-
------
-
-PhpWikiDocumentation WikiPlugin
diff -ruN 1.3.12p3/pgsrc/CalendarPlugin 1.3.14/pgsrc/CalendarPlugin
--- 1.3.12p3/pgsrc/CalendarPlugin	2006-06-18 06:19:41.000000000 -0500
+++ 1.3.14/pgsrc/CalendarPlugin	1969-12-31 18:00:00.000000000 -0600
@@ -1,99 +0,0 @@
-Date: Wed, 2 Feb 2005 20:32:44 +0100
-Mime-Version: 1.0 (Produced by PhpWiki 1.3.11)
-X-Rcs-Id: $Id: CalendarPlugin,v 1.7 2005/02/26 18:31:32 rurban Exp $
-Content-Type: application/x-phpwiki;
-  pagename=CalendarPlugin;
-  pgsrc_version="2 $Revision: 1.7 $";
-  flags="";
-  markup=2;
-  charset=iso-8859-1
-Content-Transfer-Encoding: binary
-
-The CalendarPlugin can be used to generate a monthly calendar in a
-wiki page. It's handy for PersonalWiki~s.
-
-Individual dates in the calendar link to specially named wiki pages.
-The names for the "day pages" are by default formed by appending the
-date to the pagename on which the calendar appears.
-
-_This feature was inspired by [Manila|http://manila.userland.com/],
-and first implemented by GaryBenson. It was later implemented as a
-WikiPlugin by JeffDairiki._
-
-!!Usage:
-
-<verbatim>
-<?plugin Calendar?>
-</verbatim>
-
-will get you:
-<?plugin Calendar?>
-
---------
-
-!! Plugin Arguments
-
-!Selection of Month
-
-<strong>year</strong>:
-
-  Specify the year for the calendar.  (Default: current year.)
-
-<strong>month</strong>:
-
-  Specify the month for the calendar.  (Default: current month.)
-
-<strong>month_offset</strong>:
-
-  Added to ''month''. Can be used to include several months worth of
-  calendars on a single wiki page.
-
-  <?plugin Calendar month_offset=+1?>
-
-!"Day Page" Names
-
-<strong>date_format</strong>:
-
-  [Strftime| php-function:strftime] style format string used to
-  generate page names for the "day pages." The default value is
-  =%Y-%m-%d=.
-
-<strong>prefix</strong>:
-
-  Prepended to the date (formatted per ''date_format'') to generate
-  the "day page" names. The default value is =~[pagename]/=.
-
-!Appearance
-
-<strong>month_format</strong>:
-
-  [Strftime| php-function:strftime] style format string used to
-  generate the title of the calendar. (Default: =%B, %Y=.)
-
-<strong>wday_format</strong>:
-
-  [Strftime| php-function:strftime] style format string used to
-  generate the day-of-week names at the top of the calendar.
-
-<strong>start_wday</strong>:
-
-  What day of the week does the calendar start on. This should be
-  specified as an integer in the range zero (Sunday) through six
-  (Saturday), inclusive.
-
-  <?plugin Calendar start_wday=1 ?>
-
------
-
-! Patch for 1.2
-
-GaryBenson wrote the first calendar implementation for PhpWiki 1.2.
-(Since 1.2 doesn't support plugins, it uses a =###CALENDAR###= token
-as a trigger.) Gary provides a screenshot at [ http://inauspicious.org/files/screenshots/calender.png | screenshot ], 
-a [patch | http://inauspicious.org/files/phpwiki/phpwiki-1.2.0-calendar.patch] (on 1.2.0), and
-[calendar.php | http://inauspicious.org/files/phpwiki/calendar.php]
-(which renders a view of the year.)
-
-----
-
-PhpWikiDocumentation
diff -ruN 1.3.12p3/pgsrc/CategoryCategory 1.3.14/pgsrc/CategoryCategory
--- 1.3.12p3/pgsrc/CategoryCategory	2006-06-18 06:19:41.000000000 -0500
+++ 1.3.14/pgsrc/CategoryCategory	2007-07-01 05:11:21.000000000 -0500
@@ -1,12 +1,25 @@
-Date: Tue, 20 Aug 2002 22:53:22 +0100
-Mime-Version: 1.0 (Produced by PhpWiki 1.3.4)
-X-Rcs-Id: $Id: CategoryCategory,v 1.3 2002/12/29 00:32:34 carstenklapp Exp $
+Date: Tue, 20 Aug 2006 22:53:22 +0100
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: CategoryCategory,v 1.4 2007/01/07 18:46:49 rurban Exp $
 Content-Type: application/x-phpwiki;
   pagename=CategoryCategory;
-  pgsrc_version="2 $Revision: 1.3 $";
+  pgsrc_version="2 $Revision: 1.4 $";
   flags="";
   markup=2;
   charset=iso-8859-1
 Content-Transfer-Encoding: binary
 
-<?plugin TitleSearch s=Category noheader=1 exclude=CategoryCategory?>
+
+This is the base Category.
+
+<?plugin BackLinks ?>
+
+-----
+! Category
+<em>This is a Category. Adding a link to this page puts the page under this Category. 
+When [editing|EditPage] a page, point your cursor to the end and use the ~[C~] Button 
+to insert a Category into your page.</em>
+
+! Create a new Category
+
+<?plugin-form CreatePage s=CategoryBla template=Template/Category ?>
diff -ruN 1.3.12p3/pgsrc/CommentPlugin 1.3.14/pgsrc/CommentPlugin
--- 1.3.12p3/pgsrc/CommentPlugin	2006-06-18 06:19:41.000000000 -0500
+++ 1.3.14/pgsrc/CommentPlugin	1969-12-31 18:00:00.000000000 -0600
@@ -1,48 +0,0 @@
-Date: Tue, 28 Jan 2003 11:26:41 +0100
-Mime-Version: 1.0 (Produced by PhpWiki 1.3.4)
-X-Rcs-Id: $Id: CommentPlugin,v 1.1 2003/01/28 17:57:24 carstenklapp Exp $
-Content-Type: application/x-phpwiki;
-  pagename=CommentPlugin;
-  pgsrc_version="2 $Revision: 1.1 $";
-  flags="";
-  markup=2;
-  charset=iso-8859-1
-Content-Transfer-Encoding: binary
-
-!!! Synopsis
-
-The CommentPlugin lets you hide parts of a Wiki page without actually
-deleting the text. Comments will only be visible in the Wiki markup
-when editing or viewing the source.
-
-!!! Usage
-
-Simply place the text to be commented out between =<?plugin Comment=
-and =?>=:
-
-<verbatim>
-<?plugin Comment
-
-!!! A Hidden Section
-
-This text will not show up in the generated HTML page, but it is still
-visible when editing the WikiMarkup.
-
-?>
-</verbatim>
-
-!!! Author
-
-Martin Geisler mailto:gimpster@gimpster.com.
-
-<?plugin Comment
-
-!!! "Fuzzy" Logic
-Theorem: a cat has nine tails.
-Proof:
-    No cat has eight tails. A cat has one tail more than no cat.
-    Therefore, a cat has nine tails.
-
-?>
-----
-WikiPlugin
diff -ruN 1.3.12p3/pgsrc/CreatePagePlugin 1.3.14/pgsrc/CreatePagePlugin
--- 1.3.12p3/pgsrc/CreatePagePlugin	2006-06-18 06:19:42.000000000 -0500
+++ 1.3.14/pgsrc/CreatePagePlugin	1969-12-31 18:00:00.000000000 -0600
@@ -1,75 +0,0 @@
-Date: Mon, 20 Dec 2004 01:30:02 -0800
-Mime-Version: 1.0 (Produced by PhpWiki 1.3.11)
-X-Rcs-Id: $Id: CreatePagePlugin,v 1.4 2004/12/22 18:52:17 rurban Exp $
-Content-Type: application/x-phpwiki;
-  pagename=CreatePagePlugin;
-  pgsrc_version="2 $Revision: 1.4 $";
-  flags="";
-  markup=2;
-  charset=iso-8859-1
-Content-Transfer-Encoding: binary
-
-WikiPlugin to easily create new pages, optionally with default content. Since v1.3.8
-
-This allows you to create a page geting the new pagename from a 
-forms-based interface, and optionally with the initial content from 
-some template.
-
-Put a "<~?plugin-form ~CreatePage ?~>" at some page, browse this page, 
-enter the name of the page to create, then click the button.
-
-!! Usage
-<verbatim>
-     <?plugin-form CreatePage ?>
-     <?plugin-form CreatePage template=CategoryHomePage ?>
-     <?plugin-form CreatePage template=SomeTemplatePage vars="year=2004&name=None" ?>
-</verbatim>
-
-!! Plugin Arguments
-*s*: |
-  The pagename, which will passed to the plugin. Default: ""
-*initial_content*:  |
-  The new page will be pre-filled with this content. Default: ""
-*template*:  |
-  The new page will be pre-filled with the content of this page. Default: ""
-*vars*: |
-  variables to be expanded. Default: ""
-*overwrite*: |
-  Whether to overwrite an existing page. Default: "" 
-
-!! Known Problems
-
-None
-
-!! Variable Expansion
-
-The content (either initial_content or template) might hold some variables, which will be 
-expanded on creation. Unassigned variables will stay as %%<var>%%, assigned variables without 
-matching %%<var>%% placeholder will be ignored, without any warning.
-
-A variable in a template is denoted as <tt>%%var%%</tt>, which will be expanded by the 
-value of <tt>var</tt> given to the vars argument (in urlencoded php notation).
-
-Some special variables are automatically assigned:
-
-%%ctime%% | 
-  $WikiTheme->formatDateTime(time())
-%%author%% | 
-  $user->getId()
-
-This forms together with page templates and the PhpWiki:WikiFormRichPlugin and 
-optionally the PhpWiki:SqlResultPlugin a framework to create templated pages.
-
-!! Authors
-
-Dan Frankowski, Reini Urban
-
-!! Examples
-
-<?plugin-form CreatePage s=MyHomePage ?>
-
-See also PhpWiki:EasilyCreateNewPages, PhpWiki:WikiFormRichPlugin, PhpWiki:SqlResultPlugin
-
--------------
-
-PhpWikiDocumentation WikiPlugin
diff -ruN 1.3.12p3/pgsrc/CreateTocPlugin 1.3.14/pgsrc/CreateTocPlugin
--- 1.3.12p3/pgsrc/CreateTocPlugin	2006-06-18 06:19:42.000000000 -0500
+++ 1.3.14/pgsrc/CreateTocPlugin	1969-12-31 18:00:00.000000000 -0600
@@ -1,47 +0,0 @@
-Date: Sun, 4 Jul 2004 01:31:02 -0700
-Mime-Version: 1.0 (Produced by PhpWiki 1.3.8)
-X-Rcs-Id: $Id: CreateTocPlugin,v 1.4 2004/07/04 08:44:08 rurban Exp $
-Content-Type: application/x-phpwiki;
-  pagename=CreateTocPlugin;
-  pgsrc_version="2 $Revision: 1.4 $";
-  flags="";
-  markup=2;
-  charset=iso-8859-1
-Content-Transfer-Encoding: binary
-
-<?plugin CreateToc jshide||=1 ?>
-
-WikiPlugin to create a dynamical *Table Of Contents* of all headers. Since v1.3.8
-
-!! Usage
-<verbatim>
-     <?plugin CreateToc ?>
-     <?plugin CreateToc jshide||=1 with_toclink||=1 ?>
-</verbatim>
-
-!! Plugin Arguments
-__jshide__: |
-  Boolean if the TOC should be initially hidden and on click expanded. Default: 0
-__with_toclink__:  |
-  Boolean if headers should link back to the TOC. Default: 0
-__headers__:  |
-  Which headers to include.  Default: !!!,!!,!    1,2,3 also allowed
-__noheader__:  |
-  Boolean if the "Table of Contents" h2 header should be omitted. Default: 0
-__liststyle__:  |
-  dl or ol or ul. Default: dl
-__indentstr__:  |
-  Default: &nbsp;&nbsp;
-__pagename__:  |
-  TOC of which page? Default: current pagename
-
-!! Known Problems
-
-If any header contains a link or a ~WikiWord or non-word characters, ~CreateToc will print a warning and refuse to link this header.
-
-!! Examples
-
-See for example PhpWikiDemo:en/TextFormattingRules
--------------
-
-PhpWikiDocumentation WikiPlugin
diff -ruN 1.3.12p3/pgsrc/DebugAuthInfo 1.3.14/pgsrc/DebugAuthInfo
--- 1.3.12p3/pgsrc/DebugAuthInfo	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/DebugAuthInfo	2007-07-01 05:11:21.000000000 -0500
@@ -0,0 +1,13 @@
+Date: Sat, 29 May 2004 09:48:13 +0200
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.10pre)
+X-Rcs-Id: $Id: DebugAuthInfo,v 1.1 2007/01/02 13:24:23 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=DebugAuthInfo;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags=LOCKED;
+  markup=2;
+  acl="view:_AUTHENTICATED; edit:_AUTHENTICATED; create:_AUTHENTICATED,_BOGOUSER; list:_AUTHENTICATED; remove:_ADMIN,_OWNER; change:_ADMIN,_OWNER; dump:_EVERY";
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+<?plugin _AuthInfo ?>
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/DebugGroupInfo 1.3.14/pgsrc/DebugGroupInfo
--- 1.3.12p3/pgsrc/DebugGroupInfo	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/DebugGroupInfo	2007-07-01 05:11:21.000000000 -0500
@@ -0,0 +1,13 @@
+Date: Fri, 29 Dec 2006 18:57:39 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: DebugGroupInfo,v 1.1 2007/01/02 13:24:31 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=DebugGroupInfo;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags=LOCKED;
+  markup=2;
+  acl="view:_AUTHENTICATED; edit:_AUTHENTICATED; create:_AUTHENTICATED,_BOGOUSER; list:_AUTHENTICATED; remove:_ADMIN,_OWNER; change:_ADMIN,_OWNER; dump:_EVERY";
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+<?plugin _GroupInfo ?>
diff -ruN 1.3.12p3/pgsrc/DebugInfo 1.3.14/pgsrc/DebugInfo
--- 1.3.12p3/pgsrc/DebugInfo	2006-06-18 06:19:42.000000000 -0500
+++ 1.3.14/pgsrc/DebugInfo	2007-07-01 05:11:21.000000000 -0500
@@ -1,11 +1,12 @@
 Date: Sun, 27 Jan 2002 17:28:55 -0500
 Mime-Version: 1.0 (Produced by PhpWiki 1.3.2-jeffs-hacks)
-X-Rcs-Id: $Id: DebugInfo,v 1.6 2002/12/29 00:32:34 carstenklapp Exp $
+X-Rcs-Id: $Id: DebugInfo,v 1.7 2007/01/02 13:25:24 rurban Exp $
 Content-Type: application/x-phpwiki;
   pagename=DebugInfo;
-  pgsrc_version="2 $Revision: 1.6 $";
+  pgsrc_version="2 $Revision: 1.7 $";
   flags=PAGE_LOCKED;
   markup=2;
+  acl="view:_AUTHENTICATED; edit:_AUTHENTICATED; create:_AUTHENTICATED,_BOGOUSER; list:_AUTHENTICATED; remove:_ADMIN,_OWNER; change:_ADMIN,_OWNER; dump:_EVERY";
   charset=iso-8859-1
 Content-Transfer-Encoding: binary
 
diff -ruN 1.3.12p3/pgsrc/EditMetaDataPlugin 1.3.14/pgsrc/EditMetaDataPlugin
--- 1.3.12p3/pgsrc/EditMetaDataPlugin	2006-06-18 06:19:42.000000000 -0500
+++ 1.3.14/pgsrc/EditMetaDataPlugin	1969-12-31 18:00:00.000000000 -0600
@@ -1,24 +0,0 @@
-Date: Sun, 4 Jul 2004 01:31:02 -0700
-Mime-Version: 1.0 (Produced by PhpWiki 1.3.7)
-X-Rcs-Id: $Id: EditMetaDataPlugin,v 1.4 2004/07/04 08:44:08 rurban Exp $
-Content-Type: application/x-phpwiki;
-  pagename=EditMetaDataPlugin;
-  pgsrc_version="2 $Revision: 1.4 $";
-  flags="";
-  markup=2;
-  charset=iso-8859-1
-Content-Transfer-Encoding: binary
-
-<b>This plugin allows you to add/edit/delete metadata key/value pairs for a given page. You must be logged in as the administrator to do this. The page's metadata contains things like the page hit count, last edit time and so on.</b>
-
-<b>Editing the metadata for the homepage would look like this:</b>
-------
-<?plugin EditMetaData page="HomePage" ?>
-------
-<b>With no arguments the plugin defaults to the current page:</b>
-------
-<?plugin EditMetaData ?>
-
------
-
-PhpWikiDocumentation WikiPlugin
diff -ruN 1.3.12p3/pgsrc/EditText 1.3.14/pgsrc/EditText
--- 1.3.12p3/pgsrc/EditText	2006-06-18 06:19:42.000000000 -0500
+++ 1.3.14/pgsrc/EditText	1969-12-31 18:00:00.000000000 -0600
@@ -1,16 +0,0 @@
-Date: Sun, 27 Jan 2002 17:28:55 -0500
-Mime-Version: 1.0 (Produced by PhpWiki 1.3.2-jeffs-hacks)
-X-Rcs-Id: $Id: EditText,v 1.6 2002/11/25 19:44:01 dairiki Exp $
-Content-Type: application/x-phpwiki;
-  pagename=EditText;
-  flags="";
-  markup=2;
-  charset=iso-8859-1
-Content-Transfer-Encoding: binary
-
-All pages (except search results) have an EditText link at the bottom.
-You can edit the page you are reading by clicking that link.
-
-----
-
-PhpWikiDocumentation
diff -ruN 1.3.12p3/pgsrc/ExternalSearchPlugin 1.3.14/pgsrc/ExternalSearchPlugin
--- 1.3.12p3/pgsrc/ExternalSearchPlugin	2006-06-18 06:19:42.000000000 -0500
+++ 1.3.14/pgsrc/ExternalSearchPlugin	1969-12-31 18:00:00.000000000 -0600
@@ -1,71 +0,0 @@
-Date: Fri, 3 Jan 2003 22:00:00 -0500
-Mime-Version: 1.0 (Produced by PhpWiki 1.3.4)
-X-Rcs-Id: $Id: ExternalSearchPlugin,v 1.3 2004/04/19 09:05:56 rurban Exp $
-Content-Type: application/x-phpwiki;
-  pagename=ExternalSearchPlugin;
-  flags=PAGE_LOCKED;
-  pgsrc_version="2 $Revision: 1.3 $";
-  markup=2;
-  charset=iso-8859-1
-Content-Transfer-Encoding: binary
-
-!! Synopsis
-
-The ExternalSearchPlugin creates a form to query InterWiki~s or other
-internet sites.
-
-!! Typical Usage
-<verbatim>
-<?plugin ExternalSearch
-         url="InterWiki or URL"
-         name="button text"
-?>
-</verbatim>
-
-
-!! Arguments
-__url__:
-  Specify a wiki from the InterWikiMap or a url. Any text entered by
-  the user will be appended to the search url. The string placeholder
-  '__=%s=__' can be used to insert a search query into the url rather
-  than appending it.
-
-__name__:
-  Text to display in the submit button. For InterWiki sites the
-  default is the wiki name, for other urls the default is the text
-  "External Search".
-
-__formsize__:
-  Specify the input area size. (default: 30 characters)
-
-__debug__:
-  Don't really redirect to the external site, just print out the url
-  that would be redirected to.
-
-
-!! Examples
-
-<verbatim>
-  url="http://sunir.org/apps/meta.pl?"       name="Metawiki Search"
-  url="http://www.usemod.com/cgi-bin/mb.pl?" name="MeatBall Search"
-  url=php-lookup
-  url=php-function
-  url=PhpWiki
-</verbatim>
-
-Perform a full-text search on multiple wiki's:
-<?plugin ExternalSearch url="http://sunir.org/apps/meta.pl?" name="Metawiki Search" ?>
-
-Perform a full-text search on [MeatBall|MeatBall:SiteSearch] wiki:
-<?plugin ExternalSearch url="http://www.usemod.com/cgi-bin/mb.pl?" name="MeatBall Search" ?>
-
-Search the PHP web site for a function name:
-<?plugin ExternalSearch url=php-lookup name="PHP Lookup" ?>
-
-Enter the name of a PHP function to view the documentation page:%%%
-<?plugin ExternalSearch url=php-function ?>
-
-Enter any existing page name on PhpWiki to jump to that page:
-<?plugin ExternalSearch url=PhpWiki ?>
-----
-PhpWikiDocumentation WikiPlugin
diff -ruN 1.3.12p3/pgsrc/FindPage 1.3.14/pgsrc/FindPage
--- 1.3.12p3/pgsrc/FindPage	2006-06-18 06:19:42.000000000 -0500
+++ 1.3.14/pgsrc/FindPage	2007-07-01 05:11:21.000000000 -0500
@@ -1,9 +1,9 @@
-Date: Thu, 21 Apr 2005 18:56:40 +0100
+Date: Thu, 11 Nov 2005 18:56:40 +0100
 Mime-Version: 1.0 (Produced by PhpWiki 1.3.11)
-X-Rcs-Id: $Id: FindPage,v 1.18 2005/05/06 17:33:55 rurban Exp $
+X-Rcs-Id: $Id: FindPage,v 1.19 2005/11/21 22:19:00 rurban Exp $
 Content-Type: application/x-phpwiki;
   pagename=FindPage;
-  pgsrc_version="2 $Revision: 1.18 $";
+  pgsrc_version="2 $Revision: 1.19 $";
   flags=PAGE_LOCKED;
   markup=2;
   charset=iso-8859-1
@@ -11,9 +11,9 @@
 
 Here are some good starting points for browsing.
 
-* HowToUseWiki gives you the quick lowdown on Wiki markup.
+* Help:HowToUseWiki gives you the quick lowdown on Wiki markup.
 * RecentChanges recorded automatically.
-* MoreAboutMechanics of browsing and editing on this server.
+* Help:MoreAboutMechanics of browsing and editing on this server.
 
 Here's a title search. Try something like <tt>wiki or sandwich</tt>.
 
diff -ruN 1.3.12p3/pgsrc/FoafViewerPlugin 1.3.14/pgsrc/FoafViewerPlugin
--- 1.3.12p3/pgsrc/FoafViewerPlugin	2006-06-18 06:19:42.000000000 -0500
+++ 1.3.14/pgsrc/FoafViewerPlugin	1969-12-31 18:00:00.000000000 -0600
@@ -1,32 +0,0 @@
-Date: Sun, 4 Jul 2004 01:31:02 -0700
-Mime-Version: 1.0 (Produced by PhpWiki 1.3.7)
-X-Rcs-Id: $Id: FoafViewerPlugin,v 1.3 2004/07/04 08:44:08 rurban Exp $
-Content-Type: application/x-phpwiki;
-  pagename=FoafViewerPlugin;
-  pgsrc_version="1 $Revision: 1.3 $";
-  flags="";
-  markup=2;
-  charset=iso-8859-1
-Content-Transfer-Encoding: binary
-
-!About
-FoafViewerPlugin is written to facilitate the viewing of FOAF / RDF files in human readable form. Please note, it provides only basic features at this time.
-
-!Version
-0.0.1
-
-!Usage
-<verbatim>
-<?plugin FoafViewer foaf=http://www.myfoaf.com/foaf.rdf ?>
-/FoafViewerPlugin?foaf=http://www.myfoaf.com/foaf.rdf
-</verbatim>
-
-!Download from....
-http://www.ahsonline.com.au/dod/FoafViewerPlugin.zip
-
-!Example
-<?plugin FoafViewer foaf=http://www.ahsonline.com.au/dod/FOAF.rdf ?>
-
------
-
-PhpWikiDocumentation WikiPlugin
diff -ruN 1.3.12p3/pgsrc/FrameIncludePlugin 1.3.14/pgsrc/FrameIncludePlugin
--- 1.3.12p3/pgsrc/FrameIncludePlugin	2006-06-18 06:19:42.000000000 -0500
+++ 1.3.14/pgsrc/FrameIncludePlugin	1969-12-31 18:00:00.000000000 -0600
@@ -1,32 +0,0 @@
-Date: Sun, 4 Jul 2004 01:31:02 -0700
-Mime-Version: 1.0 (Produced by PhpWiki 1.3.7)
-X-Rcs-Id: $Id: FrameIncludePlugin,v 1.6 2004/07/04 08:44:08 rurban Exp $
-Content-Type: application/x-phpwiki;
-  pagename=FrameIncludePlugin;
-  pgsrc_version="2 $Revision: 1.6 $";
-  flags="";
-  markup=2;
-  charset=iso-8859-1
-Content-Transfer-Encoding: binary
-
-This plugin will create an HTML frame that will fill the entire display area of the page (that is, the whole area the user is allowed to edit). All other text will be discarded when the page is rendered (anything outside the call to plugin, that is). In the language of hypertext this is called <i>transclusion</i>.
-
-You might also be interested in the IncludePagePlugin.
-
-Examples: to include a page from another site, use the <b>src</b> attribute:
-
-<verbatim>
-<?plugin FrameInclude src="http://phpwiki.org/" ?>
-</verbatim>
-
-To include a page from within this wiki, use the <b>page</b> attribute:
-
-<verbatim>
-<?plugin FrameInclude page=HomePage ?>
-</verbatim>
-
-For more information on this plugin please read the PHP source code in the /lib/plugin directory.
-
------
-
-PhpWikiDocumentation WikiPlugin
diff -ruN 1.3.12p3/pgsrc/GoodStyle 1.3.14/pgsrc/GoodStyle
--- 1.3.12p3/pgsrc/GoodStyle	2006-06-18 06:19:42.000000000 -0500
+++ 1.3.14/pgsrc/GoodStyle	1969-12-31 18:00:00.000000000 -0600
@@ -1,31 +0,0 @@
-Date: Sun, 27 Jan 2002 17:28:55 -0500
-Mime-Version: 1.0 (Produced by PhpWiki 1.3.2-jeffs-hacks)
-X-Rcs-Id: $Id: GoodStyle,v 1.7 2002/12/29 00:32:34 carstenklapp Exp $
-Content-Type: application/x-phpwiki;
-  pagename=GoodStyle;
-  pgsrc_version="2 $Revision: 1.7 $";
-  flags="";
-  markup=2;
-  charset=iso-8859-1
-Content-Transfer-Encoding: binary
-
-"Young writers often suppose that style is a garnish for the meat of
-prose, a sauce by which a dull dish is made palatable. Style has no
-such separate entity; it is nondetachable, unfilterable. The beginner
-should approach style warily, realizing that it is himself he is
-approaching, no other; and he should begin by turning resolutely away
-from all devices that are popularly believed to indicate style--all
-mannerisms, tricks, adornments. The approach to style is by way of
-plainness, simplicity, orderliness, sincerity."
-
---Strunk and White, "The Elements of Style"
-
-''And thus an American textbook, typical required reading for
-10th-grade English students, unknowingly extols some virtues of
-WabiSabi''
-
---scummings
-
-----
-
-PhpWikiDocumentation
diff -ruN 1.3.12p3/pgsrc/HelloWorldPlugin 1.3.14/pgsrc/HelloWorldPlugin
--- 1.3.12p3/pgsrc/HelloWorldPlugin	2006-06-18 06:19:42.000000000 -0500
+++ 1.3.14/pgsrc/HelloWorldPlugin	1969-12-31 18:00:00.000000000 -0600
@@ -1,85 +0,0 @@
-Date: Sun, 4 Jul 2004 01:31:02 -0700
-Mime-Version: 1.0 (Produced by PhpWiki 1.3.5pre)
-X-Rcs-Id: $Id: HelloWorldPlugin,v 1.5 2004/07/04 08:44:08 rurban Exp $
-Content-Type: application/x-phpwiki;
-  pagename=HelloWorldPlugin;
-  pgsrc_version="2 $Revision: 1.5 $";
-  flags="";
-  markup=2;
-  charset=iso-8859-1
-Content-Transfer-Encoding: binary
-
-A simple example plugin.
-
-<?plugin HelloWorld salutation="Hello," name="WikiUser" ?>
-
-From the source of this page:
-
-<verbatim>
-<?plugin HelloWorld salutation="Hello," name="WikiUser" ?>
-</verbatim>
-
------
-PhpWiki's plugin architecture allows you to add custom page elements to your wiki. All you have to do is extend (subclass) the ~WikiPlugin class and create your output via the run() method, dependend on the Wiki- or Request arguments, 
-
-* either with the predefined HTML classes to create valid XHTML,
-* or by using templates, which are easier customizable, but generally more a mess to use and easier to create invalid XHTML.
-
-<?plugin PhpHighlight
-
-/**
- * A simple demonstration WikiPlugin.
- *
- * Usage:
- * <?plugin HelloWorld?&gt;
- * <?plugin HelloWorld
- *          salutation="Greetings, "
- *          name=Wikimeister
- * ? >
- * <?plugin HelloWorld salutation=Hi ? >
- * <?plugin HelloWorld name=WabiSabi ? >
- */
-
-// Constants are defined before the class.
-if (!defined('THE_END'))
-    define('THE_END', "!");
-
-class WikiPlugin_HelloWorld
-extends WikiPlugin
-{
-    // Five required functions in a WikiPlugin.
-
-    function getName () {
-        return _("HelloWorld");
-    }
-
-    function getDescription () {
-        return _("Simple Sample Plugin");
-
-    }
-
-    function getVersion() {
-        return preg_replace("/[Revision: $]/", '',
-                            "\$Revision: 1.5 $");
-    }
-
-    // Establish default values for each of this plugin's arguments.
-    function getDefaultArguments() {
-        return array('salutation' => "Hello,",
-                     'name'       => "World");
-    }
-
-    function run($dbi, $argstr, $request) {
-        extract($this->getArgs($argstr, $request));
-
-        // Any text that is returned will not be further transformed,
-        // so use html where necessary.
-        $html = HTML::tt(fmt('%s: %s', $salutation, WikiLink($name, 'auto')),
-                         THE_END);
-        return $html;
-    }
-};
-?>
--------------
-
-PhpWikiDocumentation WikiPlugin
diff -ruN 1.3.12p3/pgsrc/Help 1.3.14/pgsrc/Help
--- 1.3.12p3/pgsrc/Help	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help	2007-07-01 05:11:21.000000000 -0500
@@ -0,0 +1,9 @@
+Date: Wed, 23 Aug 2006 16:28:42 +0200
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+Content-Type: application/x-phpwiki;
+  pagename=Help;
+  flags="";
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+<?plugin ListSubpages ?>
diff -ruN 1.3.12p3/pgsrc/Help%2FActionPage 1.3.14/pgsrc/Help%2FActionPage
--- 1.3.12p3/pgsrc/Help%2FActionPage	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FActionPage	2007-07-01 05:11:21.000000000 -0500
@@ -0,0 +1,16 @@
+Date: Thu, 7 Jun 2007 12:23:15 +0200
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Help%2FActionPage,v 1.3 2007/06/09 20:01:13 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FActionPage;
+  pgsrc_version="2 $Revision: 1.3 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+<?plugin IncludePage page=Help/WikiPlugin section="Action Pages" ?>
+
+----
+
+PhpWikiDocumentation
diff -ruN 1.3.12p3/pgsrc/Help%2FAddCommentPlugin 1.3.14/pgsrc/Help%2FAddCommentPlugin
--- 1.3.12p3/pgsrc/Help%2FAddCommentPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FAddCommentPlugin	2007-07-01 05:11:21.000000000 -0500
@@ -0,0 +1,43 @@
+Date: Sun, 4 Jul 2004 01:31:02 -0700
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.8)
+X-Rcs-Id: $Id: Help%2FAddCommentPlugin,v 1.1 2005/11/21 22:19:00 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FAddCommentPlugin;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+Help:WikiPlugin to let users attach comments to the end of a page. Since v1.3.8.
+Change the layout via the templates comment.tmpl and addcomment.tmpl, and the CSS classes
+wikicomment, wikicomment-header, wikicomment-body, wikicomment-footer
+
+!! Usage
+<verbatim>
+     <?plugin AddComment order||=normal jshide||=0 mode||=show,add noheader||=0 ?>
+</verbatim>
+
+!! Plugin Arguments
+__jshide__: |
+  Boolean if the comments and/or textbox should be initially hidden and on click expanded. Default: 0
+__order__:  |
+  List comments in chronological (order=normal) or reverse order (order=reverse)
+__mode__:  |
+  List of add and/or show.  Default: add,show
+__noheader__:  |
+  Boolean if the "Comments" h2 header should be omitted. Default: 0
+__pagename__:  |
+  Attach to which page? Default: current pagename
+
+!! Known Problems
+
+jshide does not work yet. Not very well tested.
+
+!! Examples
+
+<?plugin AddComment jshide||=1 ?>
+
+-------------
+
+PhpWikiDocumentation Help:WikiPlugin
diff -ruN 1.3.12p3/pgsrc/Help%2FAddingPages 1.3.14/pgsrc/Help%2FAddingPages
--- 1.3.12p3/pgsrc/Help%2FAddingPages	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FAddingPages	2007-07-01 05:11:21.000000000 -0500
@@ -0,0 +1,36 @@
+Date: Sun, 27 Jan 2002 17:28:55 -0500
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.2-jeffs-hacks)
+X-Rcs-Id: $Id: Help%2FAddingPages,v 1.2 2007/01/10 20:48:04 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FAddingPages;
+  pgsrc_version="2 $Revision: 1.2 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+To add a new page to Wiki, all you have to do is come up with a
+meaningful title, capitalize all the words and
+StringThemTogetherLikeThis. Wiki automagically recognizes it as a
+hyperlink. Alternatively, you can put anything into ~[brackets~].
+
+Then you can go ahead and ClickTheQuestionMark at the end of your new
+hyperlink, and the Wiki will give you a window for making the new
+page.
+
+If you wish to add documents with complex markup to the Wiki, you
+might be better off providing a URL to it than trying to add the text
+of the document here, like so:
+
+PhpWiki project homepage: http://phpwiki.sourceforge.net/
+
+The Wiki does not support most HTML tags, only the simpliest. See Help:TextFormattingRules.
+<tags>They will just render like text.</tags> Wiki is meant to be as
+simple as possible to encourage use.
+
+Note that there is a feature that your system administrator can enable
+to allow embedded HTML, but there are security risks involved.
+
+----
+
+PhpWikiDocumentation
diff -ruN 1.3.12p3/pgsrc/Help%2FAllPagesPlugin 1.3.14/pgsrc/Help%2FAllPagesPlugin
--- 1.3.12p3/pgsrc/Help%2FAllPagesPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FAllPagesPlugin	2007-07-01 05:11:21.000000000 -0500
@@ -0,0 +1,43 @@
+Date: Fri, 29 Dec 2006 18:57:39 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Help%2FAllPagesPlugin,v 1.2 2007/01/07 20:18:29 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FAllPagesPlugin;
+  pgsrc_version="2 $Revision: 1.2 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+List all pages in this wiki.
+
+! Usage
+<verbatim>
+  <?plugin AllPages [pagelist args] ?>
+</verbatim>
+
+! Arguments
+
+All [PageList|Help:PageList] options.<br>
+Plus:
+	'noheader'      => false,
+        'include_empty' => false,
+        'info'          => '',
+        'debug'         => false
+
+! Example
+
+<verbatim>
+<?plugin AllPages limit=20 cols=3 ?>
+</verbatim>
+
+<?plugin AllPages  limit=20 cols=3 ?>
+
+! Author
+PhpWiki:ReiniUrban
+
+! See Also
+
+AllPages, Help:ListPagesPlugin
+----
+PhpWikiDocumentation Help:WikiPlugin
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/Help%2FAllUsersPlugin 1.3.14/pgsrc/Help%2FAllUsersPlugin
--- 1.3.12p3/pgsrc/Help%2FAllUsersPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FAllUsersPlugin	2007-07-01 05:11:21.000000000 -0500
@@ -0,0 +1,38 @@
+Date: Fri, 29 Dec 2006 18:57:39 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Help%2FAllUsersPlugin,v 1.1 2007/01/02 13:26:05 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FAllUsersPlugin;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+_short description_
+
+! Usage
+<verbatim>
+  <?plugin AllUsers ?>
+</verbatim>
+
+! Arguments
+
+page _(default: current pagename)_:
+  The page to execute upon.
+
+! Example
+
+<verbatim>
+<?plugin AllUsers ?>
+</verbatim>
+
+<?plugin AllUsers ?>
+
+! Author
+PhpWiki:ReiniUrban
+
+! See Also
+
+----
+PhpWikiDocumentation Help:WikiPlugin
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/Help%2FAnalyseAccessLogSqlPlugin 1.3.14/pgsrc/Help%2FAnalyseAccessLogSqlPlugin
--- 1.3.12p3/pgsrc/Help%2FAnalyseAccessLogSqlPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FAnalyseAccessLogSqlPlugin	2007-07-01 05:11:21.000000000 -0500
@@ -0,0 +1,106 @@
+Date: Wed, 2 Feb 2005 20:32:44 +0100
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.11)
+X-Rcs-Id: $Id: Help%2FAnalyseAccessLogSqlPlugin,v 1.1 2005/11/21 22:19:00 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FAnalyseAccessLogSqlPlugin;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+The AnalyseAccessLogSql plugin provides a framework to analyse the SQL access log 
+and display the results.
+This information may be sensitive and therefore this plugin is limited to 
+administrator access only.
+
+A small number of queries that may (or might not) use the ~MySQL
+specific dialect of SQL are provided in <tt>lib/plugin/~AnalyseAccessLogSql.php</tt>. 
+For more information, please see the section *Adding new queries* below.
+
+!!!Usage
+Experimental! Will change a lot.
+
+!!!Usage
+<verbatim>
+  <?plugin AnalyseAccessLogSql mode=<QUERY NAME> ?>
+</verbatim>
+
+!Parameters
+mode _(required parameter)_:
+  The name of the query to execute. See *Adding new queries* below.
+
+period:
+  Use in combination with the _count_ parameter. The type of history period to retrieve from the SQL access log. Blank (the default) for all history, or one of "*weeks*", "*days*", "*hours*", or "*minutes*".
+
+count:
+  Use in combination with the _period_ parameter. Must be a number. The number of periods to retrieve from the access log.
+
+caption:
+  The value of this parameter is used as the caption for the output. If not set, the caption on the table defaults to the mode.
+
+center:
+  If set, the table is centered on the page, otherwise left justified.
+
+debugShowQuery:
+  If set, the SQL will be displayed in the table footer. Useful while debugging new queries or just for interest.
+
+user:
+  Blank (the default) to retrieve all users, or a specific user, or "*<NONE>*" for SQL access log entries with no user.
+
+host:
+  Blank (the default) to retrieve all remote_hosts, or a specific host.
+
+referrer:
+  Blank (the default) to retrieve all referrers, "*<NONE>*" to retrieve entries with no referrer, otherwise any referrer that matches this parameter, truncating longer referrers before matching. So a parameter of referrer='~http://localhost' will match '~http://localhost/wiki/index.php', '~http://localhost/wiki/index.php/~HomePage' etc.
+
+local_referrers:
+  If set (the default), return all referrers. If not set, return only external referring sites, excluding references from within the wiki.
+
+!!!Adding new queries
+The file <tt>lib/plugin/AnalyseAccessLogSql.php</tt> contains a default set of queries against the SQL access log.
+Feel free to change this file to suit your own needs, but please note that this requires filesystem access to the web server where PhpWiki is running.
+In particular, this file may need to be modified to correctly query databases other than MySQL.
+The queries supplied by default are: "*Referring URLs*", "*Referring Domains*", "*Remote Hosts*", "*Users*" and "*Host Users*".
+
+To add a new query, add a new section towards the end of the file, using one of the existing queries as a template. An example of an existing query is:
+<pre>
+} elseif ($mode=="Users") {
+    $query = "SELECT "
+        ."remote_user AS User, "
+        ."count(*) AS 'Access Count' "
+        ."FROM $accesslog "
+        .($whereConditions ? 'WHERE '.$whereConditions : '')
+        ."GROUP BY User";
+</pre>
+
+If you do add a query, please consider contributing it back to the PhpWiki project at http://http://sourceforge.net/projects/phpwiki
+!API for ~AnalyseAccessLogSql
+* input arguments:
+  - *$mode* contains the name of the query requested in the plugin parameters.
+  - *$accesslog* contains the qualified name of the accesslog table, which may or may not be equal to "accesslog".
+  - *$whereConditions* contains the conditions (specific user, etc.) requested in the plugin parameters.
+
+* output:
+  - *$query* must contain the final SQL query to be executed.
+
+* conventions:
+  - While constructing the query string,
+    * each clause is on a separate line and
+    * each clause contains the required trailing punctuation or space.
+  - The mode parameter is, by default, displayed as the caption in the final output, so please choose a user friendly name.
+  - The column names displayed on the wiki page are generated from the SQL column names defined in the queries, so please choose user friendly names. MySQL allows column names to include spaces.  If spaces are not allowed, then "*_*" is probably the next best choice.
+
+* language hints for PHP newbies - please remember:
+  - terminate statements with "*;*",
+  - assignment uses "*=*" and comparison uses "*==*",
+  - concatenate strings using the "*.*" operator,
+  - the parentheses around the expression "*=($whereConditions ? 'WHERE '.$whereConditions : '' )=*" are essential,
+  - strings enclosed in single quotes may not contain substrings enclosed in single quotes (actually the truth is more complex but let's leave it like that here), and
+  - strings enclosed in double quotes will evaluate and replace variable names so that, for example, *"FROM $accesslog "* might be evaluated to *"FROM phpwiki_accesslog "*.
+
+! Author
+PhpWiki:CharlesCorrigan %%%
+Changes by PhpWiki:ReiniUrban
+----
+PhpWikiDocumentation Help:WikiPlugin
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/Help%2FAppendTextPlugin 1.3.14/pgsrc/Help%2FAppendTextPlugin
--- 1.3.12p3/pgsrc/Help%2FAppendTextPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FAppendTextPlugin	2007-07-01 05:11:21.000000000 -0500
@@ -0,0 +1,44 @@
+Date: Thu, 25 Nov 2004 14:56:01 +0100
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.11pre)
+X-Rcs-Id: $Id: Help%2FAppendTextPlugin,v 1.1 2005/11/21 22:19:00 rurban Exp $ 
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FAppendTextPlugin;
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+AppendText is a Help:WikiPlugin to automatically add text to a page. For general 
+usage better use the AddCommentPlugin.
+
+<verbatim>
+<?plugin AppendText ?>
+</verbatim>
+
+!! Plugin Arguments
+__page__: |
+  Append to which page. Default: Current page.
+__s__:  |
+  What text to add. Note: A \n is always prepended.
+__before__:  |
+  (Optional) Add before the matching line beginning with before.
+__after__:  |
+  (Optional) Add after the matching line beginning with after.
+
+!! Examples
+
+Add from a list of all available plugins one to the current page.
+<verbatim>
+  <?plugin WikiFormRich action=AppendText buttontext="AddPlugin"
+  	   pulldown[] name=s text="Plugins: " value=<!plugin-list BackLinks page=WikiPlugin !>
+  	   ?>
+</verbatim>
+
+Add from a list of all available Categories to the current page.
+<verbatim>
+  <?plugin WikiFormRich action=AppendText buttontext="AddCategory"
+  	   pulldown[] name=s text="Categories: " value=<!plugin-list TitleSearch s=Category !>
+  	   ?>
+</verbatim>
+----
+PhpWikiDocumentation
diff -ruN 1.3.12p3/pgsrc/Help%2FAsciiMathPlugin 1.3.14/pgsrc/Help%2FAsciiMathPlugin
--- 1.3.12p3/pgsrc/Help%2FAsciiMathPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FAsciiMathPlugin	2007-07-01 05:11:21.000000000 -0500
@@ -0,0 +1,38 @@
+Date: Thu, 22 Feb 2007 21:15:59 +0100
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Help%2FAsciiMathPlugin,v 1.2 2007/05/27 21:35:46 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FAsciiMathPlugin;
+  pgsrc_version="2 $Revision: 1.2 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+! Usage
+<verbatim>
+  <?plugin AsciiMath  sum_(i=1)^n i = (n(n+1))/2  ?>
+</verbatim>
+
+! Arguments
+
+All arguments are passed to the ASCIIMath PHP library and rendered as
+MATHML.
+See http://www1.chapman.edu/~jipsen/asciimath.html
+
+! Example
+
+<verbatim>
+  <?plugin AsciiMath  sum_(i=1)^n i = (n(n+1))/2 ?>
+</verbatim>
+
+<?plugin AsciiMath   sum_(i=1)^n i = (n(n+1))/2 ?>
+
+! Author
+PhpWiki:ReiniUrban
+
+! See Also
+Help:AsciiSvgPlugin
+
+----
+PhpWikiDocumentation Help:WikiPlugin
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/Help%2FAsciiSVGPlugin 1.3.14/pgsrc/Help%2FAsciiSVGPlugin
--- 1.3.12p3/pgsrc/Help%2FAsciiSVGPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FAsciiSVGPlugin	2007-07-01 05:11:21.000000000 -0500
@@ -0,0 +1,77 @@
+Date: Thu, 7 Jun 2007 12:23:15 +0200
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Help%2FAsciiSVGPlugin,v 1.3 2007/06/09 20:01:13 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FAsciiSVGPlugin;
+  pgsrc_version="2 $Revision: 1.3 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+Interface to http://www1.chapman.edu/~jipsen/svg/asciisvg.html
+
+Requires ENABLE_XHTML_XML = true
+
+Syntax: http://www1.chapman.edu/~jipsen/svg/asciisvgcommands.html
+
+If you are using Internet Explorer 6 + Adobe SVGviewer (often included
+by default with Windows XP) or SVG enabled Mozilla/Firefox (and have
+Adobe SVGviewer installed as well!) then you should see the examples.
+
+! Usage
+<verbatim>
+  <?plugin AsciiSVG width= height= onmousemove="" script="" 
+           code...  
+  ?>
+</verbatim>
+
+! Arguments
+
+width, height, script, onmouseover
+
+All other arguments are passed to the ASCIISvg javascript library and
+rendered as SVG.  See
+http://www1.chapman.edu/~jipsen/svg/asciisvg.html
+
+! Example
+
+<verbatim>
+<?plugin AsciiSVG width="117" height="117" 
+  border = 0
+  initPicture(-10,10)
+  axes()
+  stroke = "red"
+  p = []
+  with (Math) 
+    for (t = 0; t < 10.01; t += 0.05)
+      p[p.length] = [t*cos(PI*t), t*sin(PI*t)]
+  path(p)
+?>
+</verbatim>
+
+<?plugin AsciiSVG width="117" height="117" 
+  border = 0
+  initPicture(-10,10)
+  axes()
+  stroke = "red"
+  p = []
+  with (Math) 
+    for (t = 0; t < 10.01; t += 0.05)
+      p[p.length] = [t*cos(PI*t), t*sin(PI*t)]
+  path(p)
+?>
+
+! Known Problems
+
+With multiple ~AsciiSVG plugins on the same page the 2nd and
+subsequent ones will have the same width and height.
+
+! Author
+PhpWiki:ReiniUrban
+
+! See Also
+Help:AsciiMathPlugin
+
+----
+PhpWikiDocumentation Help:WikiPlugin
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/Help%2F_AuthInfoPlugin 1.3.14/pgsrc/Help%2F_AuthInfoPlugin
--- 1.3.12p3/pgsrc/Help%2F_AuthInfoPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2F_AuthInfoPlugin	2007-07-01 05:11:25.000000000 -0500
@@ -0,0 +1,43 @@
+Date: Fri, 29 Dec 2006 18:57:39 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Help%2F_AuthInfoPlugin,v 1.1 2007/01/02 13:26:06 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2F_AuthInfoPlugin;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+Administrative plugin, used to debug auth problems and settings.
+This plugin is only for testing purposes. 
+If DEBUG has no _DEBUG_LOGIN bit set, only the admin user can call it, 
+which is of no real use.
+
+Warning! This may display db and user passwords in cleartext. We think we 
+cleared everything out though.
+
+! Usage
+<verbatim>
+  <?plugin _AuthInfo serid||=AdminUser ?>
+</verbatim>
+
+! Arguments
+
+userid:
+  default: current user
+
+! Example
+
+See DebugAuthInfo
+
+! Authors
+PhpWiki:JeffDairiki, PhpWiki:ReiniUrban
+
+! See Also
+
+DebugAuthInfo is the corresponding Help:ActionPage.
+
+Help:_GroupInfoPlugin, Help:_BackendInfoPlugin
+----
+PhpWikiDocumentation Help:WikiPlugin
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/Help%2FAuthorHistoryPlugin 1.3.14/pgsrc/Help%2FAuthorHistoryPlugin
--- 1.3.12p3/pgsrc/Help%2FAuthorHistoryPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FAuthorHistoryPlugin	2007-07-01 05:11:21.000000000 -0500
@@ -0,0 +1,28 @@
+Date: Sun, 4 Jul 2004 01:31:02 -0700
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.7)
+X-Rcs-Id: $Id: Help%2FAuthorHistoryPlugin,v 1.1 2005/11/21 22:19:00 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FAuthorHistoryPlugin;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+This plugin allows you to list the history of edits by a particular
+author; you can specify the page name as well (default is the current
+page).
+
+<verbatim>
+<?plugin AuthorHistory user="test" ?>
+
+<?plugin AuthorHistory page=HomePage ?>
+</verbatim>
+
+The second example will default to the current page. We can't provide
+examples for you since we don't know any potential usernames for your
+wiki.
+
+-------------
+
+PhpWikiDocumentation Help:WikiPlugin
diff -ruN 1.3.12p3/pgsrc/Help%2F_BackendInfoPlugin 1.3.14/pgsrc/Help%2F_BackendInfoPlugin
--- 1.3.12p3/pgsrc/Help%2F_BackendInfoPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2F_BackendInfoPlugin	2007-07-01 05:11:25.000000000 -0500
@@ -0,0 +1,44 @@
+Date: Fri, 29 Dec 2006 18:57:39 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Help%2F_BackendInfoPlugin,v 1.1 2007/01/02 13:26:06 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2F_BackendInfoPlugin;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+Administrative plugin, used to debug DATABASE backend problems and settings.
+This plugin is only for testing purposes.
+
+Displays all/most database infos about a page.
+
+Warning! This may display db and user passwords in cleartext. We think we 
+cleared everything out though.
+
+! Usage
+<verbatim>
+  <?plugin _BackendInfo ?>
+</verbatim>
+
+! Arguments
+
+page _(default: current pagename)_:
+  The page to execute upon.
+
+! Example
+
+See DebugInfo
+
+! Author
+PhpWiki:JeffDairiki 2002 for 1.3.2-jeffs-hacks
+
+! See Also
+
+DebugInfo is the corresponding Help:ActionPage.
+
+EditMetaData, Help:EditMetaDataPlugin, Help:_AuthInfoPlugin, Help:_GroupInfoPlugin
+
+----
+PhpWikiDocumentation Help:WikiPlugin
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/Help%2FBackLinksPlugin 1.3.14/pgsrc/Help%2FBackLinksPlugin
--- 1.3.12p3/pgsrc/Help%2FBackLinksPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FBackLinksPlugin	2007-07-01 05:11:21.000000000 -0500
@@ -0,0 +1,38 @@
+Date: Fri, 29 Dec 2006 18:57:39 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Help%2FBackLinksPlugin,v 1.1 2007/01/02 13:26:05 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FBackLinksPlugin;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+_short description_
+
+! Usage
+<verbatim>
+  <?plugin BackLinks ?>
+</verbatim>
+
+! Arguments
+
+page _(default: current pagename)_:
+  The page to execute upon.
+
+! Example
+
+<verbatim>
+<?plugin BackLinks ?>
+</verbatim>
+
+<?plugin BackLinks ?>
+
+! Author
+PhpWiki:ReiniUrban
+
+! See Also
+
+----
+PhpWikiDocumentation Help:WikiPlugin
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/Help%2FBlogArchivesPlugin 1.3.14/pgsrc/Help%2FBlogArchivesPlugin
--- 1.3.12p3/pgsrc/Help%2FBlogArchivesPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FBlogArchivesPlugin	2007-07-01 05:11:21.000000000 -0500
@@ -0,0 +1,38 @@
+Date: Fri, 29 Dec 2006 18:57:39 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Help%2FBlogArchivesPlugin,v 1.1 2007/01/02 13:26:05 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FBlogArchivesPlugin;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+_short description_
+
+! Usage
+<verbatim>
+  <?plugin BlogArchives ?>
+</verbatim>
+
+! Arguments
+
+page _(default: current pagename)_:
+  The page to execute upon.
+
+! Example
+
+<verbatim>
+<?plugin BlogArchives ?>
+</verbatim>
+
+<?plugin BlogArchives ?>
+
+! Author
+PhpWiki:ReiniUrban
+
+! See Also
+
+----
+PhpWikiDocumentation Help:WikiPlugin
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/Help%2FBlogJournalPlugin 1.3.14/pgsrc/Help%2FBlogJournalPlugin
--- 1.3.12p3/pgsrc/Help%2FBlogJournalPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FBlogJournalPlugin	2007-07-01 05:11:22.000000000 -0500
@@ -0,0 +1,38 @@
+Date: Fri, 29 Dec 2006 18:57:39 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Help%2FBlogJournalPlugin,v 1.1 2007/01/02 13:26:05 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FBlogJournalPlugin;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+_short description_
+
+! Usage
+<verbatim>
+  <?plugin BlogJournal ?>
+</verbatim>
+
+! Arguments
+
+page _(default: current pagename)_:
+  The page to execute upon.
+
+! Example
+
+<verbatim>
+<?plugin BlogJournal ?>
+</verbatim>
+
+<?plugin BlogJournal ?>
+
+! Author
+PhpWiki:ReiniUrban
+
+! See Also
+
+----
+PhpWikiDocumentation Help:WikiPlugin
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/Help%2FBoxRightPlugin 1.3.14/pgsrc/Help%2FBoxRightPlugin
--- 1.3.12p3/pgsrc/Help%2FBoxRightPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FBoxRightPlugin	2007-07-01 05:11:22.000000000 -0500
@@ -0,0 +1,56 @@
+Date: Sun, 7 Jan 2007 18:28:45 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Help%2FBoxRightPlugin,v 1.3 2007/01/07 20:19:30 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FBoxRightPlugin;
+  pgsrc_version="2 $Revision: 1.3 $";
+  flags=PAGE_LOCKED;
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+!! Synopsis
+
+The [BoxRight|Help:BoxRightPlugin] plugin displays its content as a wiki-formatted
+right-floating div box with border.
+Since v1.3.13.
+
+If ENABLE_MARKUP_DIVSPAN is enabled then you can produce the same result with a simple =~<div~>=:
+
+~<~div class=boxright~> <br>
+<strong>Example text</strong>
+([What is a Wiki?|WikiWikiWeb])
+~</div~>
+
+<div class=boxright>
+<strong>Example text</strong>
+([What is a Wiki?|WikiWikiWeb])
+</div>
+
+
+!! Typical Usage
+<verbatim>
+<?plugin BoxRight
+<strong>This Wiki</strong> ([What is a Wiki?|WikiWikiWeb]) is a place where problems and
+solutions are being documented.
+
+See [How to use this Wiki|Help/HowToUseWiki] for instructions.
+
+<em>Don't be afraid - it's easy and you can't break anything!</em>
+?>
+</verbatim>
+
+
+!! Examples
+
+<?plugin BoxRight
+<strong>This Wiki</strong> ([What is a Wiki?|WikiWikiWeb]) is a place where problems and
+solutions are being documented.
+
+See [How to use this Wiki|Help/HowToUseWiki] for instructions.
+
+<em>Don't be afraid - it's easy and you can't break anything!</em>
+?>
+
+----
+PhpWikiDocumentation Help:WikiPlugin
diff -ruN 1.3.12p3/pgsrc/Help%2FCacheTestPlugin 1.3.14/pgsrc/Help%2FCacheTestPlugin
--- 1.3.12p3/pgsrc/Help%2FCacheTestPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FCacheTestPlugin	2007-07-01 05:11:22.000000000 -0500
@@ -0,0 +1,38 @@
+Date: Fri, 29 Dec 2006 18:57:39 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Help%2FCacheTestPlugin,v 1.1 2007/01/02 13:26:05 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FCacheTestPlugin;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+_short description_
+
+! Usage
+<verbatim>
+  <?plugin CacheTest ?>
+</verbatim>
+
+! Arguments
+
+page _(default: current pagename)_:
+  The page to execute upon.
+
+! Example
+
+<verbatim>
+<?plugin CacheTest ?>
+</verbatim>
+
+<?plugin CacheTest ?>
+
+! Author
+PhpWiki:ReiniUrban
+
+! See Also
+
+----
+PhpWikiDocumentation Help:WikiPlugin
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/Help%2FCalendarListPlugin 1.3.14/pgsrc/Help%2FCalendarListPlugin
--- 1.3.12p3/pgsrc/Help%2FCalendarListPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FCalendarListPlugin	2007-07-01 05:11:22.000000000 -0500
@@ -0,0 +1,29 @@
+Date: Sun, 4 Jul 2004 01:31:02 -0700
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.7)
+X-Rcs-Id: $Id: Help%2FCalendarListPlugin,v 1.1 2005/11/21 22:19:00 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FCalendarListPlugin;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+The  Help:n | Help:  is used in conjunction with the CalendarPlugin. It was written for those who use a wiki as a personal information manager.
+
+Just click any date in the calendar, edit the for that date, then come back to this page. The event should be listed below the calendar.
+
+Usage:
+<verbatim>
+<?plugin Calendar ?>
+<?plugin CalendarList ?>
+</verbatim>
+
+Example (click any date and edit it, then return to this page):
+<?plugin Calendar ?>
+
+<?plugin CalendarList ?>
+
+-----
+
+PhpWikiDocumentation Help:WikiPlugin
diff -ruN 1.3.12p3/pgsrc/Help%2FCalendarPlugin 1.3.14/pgsrc/Help%2FCalendarPlugin
--- 1.3.12p3/pgsrc/Help%2FCalendarPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FCalendarPlugin	2007-07-01 05:11:22.000000000 -0500
@@ -0,0 +1,100 @@
+Date: Wed, 2 Feb 2005 20:32:44 +0100
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.11)
+X-Rcs-Id: $Id: Help%2FCalendarPlugin,v 1.1 2005/11/21 22:19:00 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FCalendarPlugin;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+The  Help:n | Help:  can be used to generate a monthly calendar in a
+wiki page. It's handy for PhpWiki:PersonalWiki~s.
+
+Individual dates in the calendar link to specially named wiki pages.
+The names for the "day pages" are by default formed by appending the
+date to the pagename on which the calendar appears.
+
+_This feature was inspired by  Help:a |http://manila.userland.com/],
+and first implemented by PhpWiki:GaryBenson. It was later implemented as a
+Help:WikiPlugin by PhpWiki:JeffDairiki._
+
+!!Usage:
+
+<verbatim>
+<?plugin Calendar?>
+</verbatim>
+
+will get you:
+<?plugin Calendar?>
+
+--------
+
+!! Plugin Arguments
+
+!Selection of Month
+
+<strong>year</strong>:
+
+  Specify the year for the calendar.  (Default: current year.)
+
+<strong>month</strong>:
+
+  Specify the month for the calendar.  (Default: current month.)
+
+<strong>month_offset</strong>:
+
+  Added to ''month''. Can be used to include several months worth of
+  calendars on a single wiki page.
+
+  <?plugin Calendar month_offset=+1?>
+
+!"Day Page" Names
+
+<strong>date_format</strong>:
+
+   Help:e | php-function:strftime] style format string used to
+  generate page names for the "day pages." The default value is
+  =%Y-%m-%d=.
+
+<strong>prefix</strong>:
+
+  Prepended to the date (formatted per ''date_format'') to generate
+  the "day page" names. The default value is =~ Help:e ]/=.
+
+!Appearance
+
+<strong>month_format</strong>:
+
+   Help:e | php-function:strftime] style format string used to
+  generate the title of the calendar. (Default: =%B, %Y=.)
+
+<strong>wday_format</strong>:
+
+   Help:e | php-function:strftime] style format string used to
+  generate the day-of-week names at the top of the calendar.
+
+<strong>start_wday</strong>:
+
+  What day of the week does the calendar start on. This should be
+  specified as an integer in the range zero (Sunday) through six
+  (Saturday), inclusive.
+
+  <?plugin Calendar start_wday=1 ?>
+
+-----
+
+! Patch for 1.2
+
+PhpWiki:GaryBenson wrote the first calendar implementation for PhpWiki 1.2.
+(Since 1.2 doesn't support plugins, it uses a =###CALENDAR###= token
+as a trigger.) 
+Gary provides a screenshot at [ http://inauspicious.org/files/screenshots/calender.png | screenshot ], 
+a  Help:h  | http://inauspicious.org/files/phpwiki/phpwiki-1.2.0-calendar.patch] (on 1.2.0), and
+ Help:r .php | http://inauspicious.org/files/phpwiki/calendar.php]
+(which renders a view of the year.)
+
+----
+
+PhpWikiDocumentation
diff -ruN 1.3.12p3/pgsrc/Help%2FCategoryPagePlugin 1.3.14/pgsrc/Help%2FCategoryPagePlugin
--- 1.3.12p3/pgsrc/Help%2FCategoryPagePlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FCategoryPagePlugin	2007-07-01 05:11:22.000000000 -0500
@@ -0,0 +1,38 @@
+Date: Fri, 29 Dec 2006 18:57:39 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Help%2FCategoryPagePlugin,v 1.2 2007/01/07 18:46:58 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FCategoryPagePlugin;
+  pgsrc_version="2 $Revision: 1.2 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+_short description_
+
+! Usage
+<verbatim>
+  <?plugin CategoryPage ?>
+</verbatim>
+
+! Arguments
+
+page _(default: current pagename)_:
+  The page to execute upon.
+
+! Example
+
+<verbatim>
+<?plugin CategoryPage pagename=CategoryTest ?>
+</verbatim>
+
+<?plugin CategoryPage pagename=CategoryTest ?>
+
+! Author
+WikiLens:DanFr
+
+! See Also
+Help:TemplatePlugin Help:CreatePagePlugin
+----
+PhpWikiDocumentation Help:WikiPlugin
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/Help%2FCommentPlugin 1.3.14/pgsrc/Help%2FCommentPlugin
--- 1.3.12p3/pgsrc/Help%2FCommentPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FCommentPlugin	2007-07-01 05:11:22.000000000 -0500
@@ -0,0 +1,48 @@
+Date: Wed, 11 Oct 2006 09:16:43 +0200
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Help%2FCommentPlugin,v 1.3 2007/01/02 13:24:58 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FCommentPlugin;
+  pgsrc_version="2 $Revision: 1.3 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+!!! Synopsis
+
+The [Comment|Help:CommentPlugin] plugin lets you hide parts of a Wiki page without actually
+deleting the text. Comments will only be visible in the Wiki markup
+when editing or viewing the source.
+
+!!! Usage
+
+Simply place the text to be commented out between =<~?plugin Comment=
+and =?~>=:
+
+<verbatim>
+<?plugin Comment
+
+!!! A Hidden Section
+
+This text will not show up in the generated HTML page, but it is still
+visible when editing the WikiMarkup.
+
+?>
+</verbatim>
+
+!!! Author
+
+Martin Geisler mailto:gimpster@gimpster.com.
+
+<?plugin Comment
+
+!!! "Fuzzy" Logic
+Theorem: a cat has nine tails.
+Proof:
+    No cat has eight tails. A cat has one tail more than no cat.
+    Therefore, a cat has nine tails.
+
+?>
+----
+PhpWikiDocumentation Help:WikiPlugin
diff -ruN 1.3.12p3/pgsrc/Help%2FCreateBibPlugin 1.3.14/pgsrc/Help%2FCreateBibPlugin
--- 1.3.12p3/pgsrc/Help%2FCreateBibPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FCreateBibPlugin	2007-07-01 05:11:22.000000000 -0500
@@ -0,0 +1,38 @@
+Date: Fri, 29 Dec 2006 18:57:39 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Help%2FCreateBibPlugin,v 1.1 2007/01/02 13:26:05 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FCreateBibPlugin;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+_short description_
+
+! Usage
+<verbatim>
+  <?plugin CreateBib ?>
+</verbatim>
+
+! Arguments
+
+page _(default: current pagename)_:
+  The page to execute upon.
+
+! Example
+
+<verbatim>
+<?plugin CreateBib ?>
+</verbatim>
+
+<?plugin CreateBib ?>
+
+! Author
+PhpWiki:ReiniUrban
+
+! See Also
+
+----
+PhpWikiDocumentation Help:WikiPlugin
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/Help%2FCreatePagePlugin 1.3.14/pgsrc/Help%2FCreatePagePlugin
--- 1.3.12p3/pgsrc/Help%2FCreatePagePlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FCreatePagePlugin	2007-07-01 05:11:22.000000000 -0500
@@ -0,0 +1,75 @@
+Date: Mon, 20 Dec 2004 01:30:02 -0800
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.11)
+X-Rcs-Id: $Id: Help%2FCreatePagePlugin,v 1.1 2005/11/21 22:19:00 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FCreatePagePlugin;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+Help:WikiPlugin to easily create new pages, optionally with default content. Since v1.3.8
+
+This allows you to create a page geting the new pagename from a 
+forms-based interface, and optionally with the initial content from 
+some template.
+
+Put a "<~?plugin-form ~CreatePage ?~>" at some page, browse this page, 
+enter the name of the page to create, then click the button.
+
+!! Usage
+<verbatim>
+     <?plugin-form CreatePage ?>
+     <?plugin-form CreatePage template=CategoryHomePage ?>
+     <?plugin-form CreatePage template=SomeTemplatePage vars="year=2004&name=None" ?>
+</verbatim>
+
+!! Plugin Arguments
+*s*: |
+  The pagename, which will passed to the plugin. Default: ""
+*initial_content*:  |
+  The new page will be pre-filled with this content. Default: ""
+*template*:  |
+  The new page will be pre-filled with the content of this page. Default: ""
+*vars*: |
+  variables to be expanded. Default: ""
+*overwrite*: |
+  Whether to overwrite an existing page. Default: "" 
+
+!! Known Problems
+
+None
+
+!! Variable Expansion
+
+The content (either initial_content or template) might hold some variables, which will be 
+expanded on creation. Unassigned variables will stay as %%<var>%%, assigned variables without 
+matching %%<var>%% placeholder will be ignored, without any warning.
+
+A variable in a template is denoted as <tt>%%var%%</tt>, which will be expanded by the 
+value of <tt>var</tt> given to the vars argument (in urlencoded php notation).
+
+Some special variables are automatically assigned:
+
+%%ctime%% | 
+  $WikiTheme->formatDateTime(time())
+%%author%% | 
+  $user->getId()
+
+This forms together with page templates and the PhpWiki:WikiFormRichPlugin and 
+optionally the PhpWiki:SqlResultPlugin a framework to create templated pages.
+
+!! Authors
+
+Dan Frankowski, Reini Urban
+
+!! Examples
+
+<?plugin-form CreatePage s=MyHomePage ?>
+
+See also PhpWiki:EasilyCreateNewPages, PhpWiki:WikiFormRichPlugin, PhpWiki:SqlResultPlugin
+
+-------------
+
+PhpWikiDocumentation Help:WikiPlugin
diff -ruN 1.3.12p3/pgsrc/Help%2FCreateTocPlugin 1.3.14/pgsrc/Help%2FCreateTocPlugin
--- 1.3.12p3/pgsrc/Help%2FCreateTocPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FCreateTocPlugin	2007-07-01 05:11:22.000000000 -0500
@@ -0,0 +1,45 @@
+Date: Mon, 10 Oct 2005 01:31:02 -0700
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.11p1)
+X-Rcs-Id: $Id: Help%2FCreateTocPlugin,v 1.1 2005/11/21 22:19:00 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FCreateTocPlugin;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+<?plugin CreateToc jshide||=1 ?>
+
+Help:WikiPlugin to create a dynamical *Table Of Contents* of all headers. Since v1.3.8
+
+!! Usage
+<verbatim>
+     <?plugin CreateToc ?>
+     <?plugin CreateToc jshide||=1 with_toclink||=1 ?>
+</verbatim>
+
+!! Plugin Arguments
+__jshide__: |
+  Boolean if the TOC should be initially hidden and on click expanded. Default: 0
+__with_toclink__:  |
+  Boolean if headers should link back to the TOC. Default: false
+__with_counter__:  |
+  Boolean if hierarchical prefixes should be added. Default: false
+__headers__:  |
+  Which headers to include.  Default: !!!,!!,!    1,2,3 also allowed
+__noheader__:  |
+  Boolean if the "Table of Contents" h2 header should be omitted. Default: 0
+__liststyle__:  |
+  dl or ol or ul. Default: dl
+__indentstr__:  |
+  Default: &nbsp;&nbsp;
+__pagename__:  |
+  TOC of which page? Default: current pagename
+
+!! Examples
+
+See for example PhpWikiDemo:en/TextFormattingRules
+-------------
+
+PhpWikiDocumentation Help:WikiPlugin
diff -ruN 1.3.12p3/pgsrc/Help%2FDeadEndPagesPlugin 1.3.14/pgsrc/Help%2FDeadEndPagesPlugin
--- 1.3.12p3/pgsrc/Help%2FDeadEndPagesPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FDeadEndPagesPlugin	2007-07-01 05:11:22.000000000 -0500
@@ -0,0 +1,38 @@
+Date: Fri, 29 Dec 2006 18:57:39 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Help%2FDeadEndPagesPlugin,v 1.1 2007/01/02 13:26:05 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FDeadEndPagesPlugin;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+_short description_
+
+! Usage
+<verbatim>
+  <?plugin DeadEndPages ?>
+</verbatim>
+
+! Arguments
+
+page _(default: current pagename)_:
+  The page to execute upon.
+
+! Example
+
+<verbatim>
+<?plugin DeadEndPages ?>
+</verbatim>
+
+<?plugin DeadEndPages ?>
+
+! Author
+PhpWiki:ReiniUrban
+
+! See Also
+
+----
+PhpWikiDocumentation Help:WikiPlugin
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/Help%2FDiffPlugin 1.3.14/pgsrc/Help%2FDiffPlugin
--- 1.3.12p3/pgsrc/Help%2FDiffPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FDiffPlugin	2007-07-01 05:11:22.000000000 -0500
@@ -0,0 +1,38 @@
+Date: Fri, 29 Dec 2006 18:57:39 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Help%2FDiffPlugin,v 1.1 2007/01/02 13:26:05 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FDiffPlugin;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+_short description_
+
+! Usage
+<verbatim>
+  <?plugin Diff ?>
+</verbatim>
+
+! Arguments
+
+page _(default: current pagename)_:
+  The page to execute upon.
+
+! Example
+
+<verbatim>
+<?plugin Diff ?>
+</verbatim>
+
+<?plugin Diff ?>
+
+! Author
+PhpWiki:ReiniUrban
+
+! See Also
+
+----
+PhpWikiDocumentation Help:WikiPlugin
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/Help%2FEditMetaDataPlugin 1.3.14/pgsrc/Help%2FEditMetaDataPlugin
--- 1.3.12p3/pgsrc/Help%2FEditMetaDataPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FEditMetaDataPlugin	2007-07-01 05:11:22.000000000 -0500
@@ -0,0 +1,24 @@
+Date: Sun, 4 Jul 2004 01:31:02 -0700
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.7)
+X-Rcs-Id: $Id: Help%2FEditMetaDataPlugin,v 1.1 2005/11/21 22:19:00 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FEditMetaDataPlugin;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+<b>This plugin allows you to add/edit/delete metadata key/value pairs for a given page. You must be logged in as the administrator to do this. The page's metadata contains things like the page hit count, last edit time and so on.</b>
+
+<b>Editing the metadata for the homepage would look like this:</b>
+------
+<?plugin EditMetaData page="HomePage" ?>
+------
+<b>With no arguments the plugin defaults to the current page:</b>
+------
+<?plugin EditMetaData ?>
+
+-----
+
+PhpWikiDocumentation Help:WikiPlugin
diff -ruN 1.3.12p3/pgsrc/Help%2FEditText 1.3.14/pgsrc/Help%2FEditText
--- 1.3.12p3/pgsrc/Help%2FEditText	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FEditText	2007-07-01 05:11:22.000000000 -0500
@@ -0,0 +1,16 @@
+Date: Sun, 27 Jan 2002 17:28:55 -0500
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.2-jeffs-hacks)
+X-Rcs-Id: $Id: Help%2FEditText,v 1.1 2005/11/21 22:19:00 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FEditText;
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+All pages (except search results) have an EditText link at the bottom.
+You can edit the page you are reading by clicking that link.
+
+----
+
+PhpWikiDocumentation
diff -ruN 1.3.12p3/pgsrc/Help%2FExternalSearchPlugin 1.3.14/pgsrc/Help%2FExternalSearchPlugin
--- 1.3.12p3/pgsrc/Help%2FExternalSearchPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FExternalSearchPlugin	2007-07-01 05:11:22.000000000 -0500
@@ -0,0 +1,71 @@
+Date: Fri, 3 Jan 2003 22:00:00 -0500
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.4)
+X-Rcs-Id: $Id: Help%2FExternalSearchPlugin,v 1.1 2005/11/21 22:19:00 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FExternalSearchPlugin;
+  flags=PAGE_LOCKED;
+  pgsrc_version="2 $Revision: 1.1 $";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+!! Synopsis
+
+The ExternalSearchPlugin creates a form to query InterWiki~s or other
+internet sites.
+
+!! Typical Usage
+<verbatim>
+<?plugin ExternalSearch
+         url="InterWiki or URL"
+         name="button text"
+?>
+</verbatim>
+
+
+!! Arguments
+__url__:
+  Specify a wiki from the InterWikiMap or a url. Any text entered by
+  the user will be appended to the search url. The string placeholder
+  '__=%s=__' can be used to insert a search query into the url rather
+  than appending it.
+
+__name__:
+  Text to display in the submit button. For InterWiki sites the
+  default is the wiki name, for other urls the default is the text
+  "External Search".
+
+__formsize__:
+  Specify the input area size. (default: 30 characters)
+
+__debug__:
+  Don't really redirect to the external site, just print out the url
+  that would be redirected to.
+
+
+!! Examples
+
+<verbatim>
+  url="http://sunir.org/apps/meta.pl?"       name="Metawiki Search"
+  url="http://www.usemod.com/cgi-bin/mb.pl?" name="MeatBall Search"
+  url=php-lookup
+  url=php-function
+  url=PhpWiki
+</verbatim>
+
+Perform a full-text search on multiple wiki's:
+<?plugin ExternalSearch url="http://sunir.org/apps/meta.pl?" name="Metawiki Search" ?>
+
+Perform a full-text search on  Help:l |MeatBall:SiteSearch] wiki:
+<?plugin ExternalSearch url="http://www.usemod.com/cgi-bin/mb.pl?" name="MeatBall Search" ?>
+
+Search the PHP web site for a function name:
+<?plugin ExternalSearch url=php-lookup name="PHP Lookup" ?>
+
+Enter the name of a PHP function to view the documentation page:%%%
+<?plugin ExternalSearch url=php-function ?>
+
+Enter any existing page name on PhpWiki to jump to that page:
+<?plugin ExternalSearch url=PhpWiki ?>
+----
+PhpWikiDocumentation Help:WikiPlugin
diff -ruN 1.3.12p3/pgsrc/Help%2FFileInfoPlugin 1.3.14/pgsrc/Help%2FFileInfoPlugin
--- 1.3.12p3/pgsrc/Help%2FFileInfoPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FFileInfoPlugin	2007-07-01 05:11:22.000000000 -0500
@@ -0,0 +1,47 @@
+Date: Wed, 11 Oct 2006 09:16:43 +0200
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Help%2FFileInfoPlugin,v 1.2 2007/01/02 13:24:58 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FFileInfoPlugin;
+  flags=PAGE_LOCKED;
+  pgsrc_version="2 $Revision: 1.2 $";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+!! Synopsis
+
+The [FileInfo|Help:FileInfoPlugin] plugin displays the version, date, size,
+perms of an uploaded file.  Only files relative and below to the uploads path
+can be handled.
+
+For exe files the *version* argument might work to display the VERSIONINFO ressource string. (highly experimental).
+
+Since v1.3.13.
+
+!! Typical Usage
+<verbatim>
+  <?plugin FileInfo file=uploads/setup.exe display=version,date ?>
+  <?plugin FileInfo file=uploads/setup.exe display=name,version,date 
+                    format="%s (version: %s, date: %s)" ?>
+</verbatim>
+
+
+!! Arguments
+__file__:
+  relative path from PHPWIKI_DIR. (required)
+
+__display__:
+  Comma-seperated string of version,size,phonysize,date,mtime,owner,name,path,dirname,
+  link,mime-typ,magic. (required)
+
+__format__:
+  printf format string with %s only, all display modes from above vars return strings (optional)
+
+
+!! Examples
+
+This wiki was installed at <?plugin FileInfo file=config/config.ini display=date ?>.
+
+----
+PhpWikiDocumentation Help:WikiPlugin
diff -ruN 1.3.12p3/pgsrc/Help%2FFoafViewerPlugin 1.3.14/pgsrc/Help%2FFoafViewerPlugin
--- 1.3.12p3/pgsrc/Help%2FFoafViewerPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FFoafViewerPlugin	2007-07-01 05:11:22.000000000 -0500
@@ -0,0 +1,32 @@
+Date: Sun, 4 Jul 2004 01:31:02 -0700
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.7)
+X-Rcs-Id: $Id: Help%2FFoafViewerPlugin,v 1.1 2005/11/21 22:19:00 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FFoafViewerPlugin;
+  pgsrc_version="1 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+!About
+FoafViewerPlugin is written to facilitate the viewing of FOAF / RDF files in human readable form. Please note, it provides only basic features at this time.
+
+!Version
+0.0.1
+
+!Usage
+<verbatim>
+<?plugin FoafViewer foaf=http://www.myfoaf.com/foaf.rdf ?>
+/FoafViewerPlugin?foaf=http://www.myfoaf.com/foaf.rdf
+</verbatim>
+
+!Download from....
+http://www.ahsonline.com.au/dod/FoafViewerPlugin.zip
+
+!Example
+<?plugin FoafViewer foaf=http://www.ahsonline.com.au/dod/FOAF.rdf ?>
+
+-----
+
+PhpWikiDocumentation Help:WikiPlugin
diff -ruN 1.3.12p3/pgsrc/Help%2FFrameIncludePlugin 1.3.14/pgsrc/Help%2FFrameIncludePlugin
--- 1.3.12p3/pgsrc/Help%2FFrameIncludePlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FFrameIncludePlugin	2007-07-01 05:11:22.000000000 -0500
@@ -0,0 +1,32 @@
+Date: Sun, 4 Jul 2004 01:31:02 -0700
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.7)
+X-Rcs-Id: $Id: Help%2FFrameIncludePlugin,v 1.1 2005/11/21 22:19:00 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FFrameIncludePlugin;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+This plugin will create an HTML frame that will fill the entire display area of the page (that is, the whole area the user is allowed to edit). All other text will be discarded when the page is rendered (anything outside the call to plugin, that is). In the language of hypertext this is called <i>transclusion</i>.
+
+You might also be interested in the IncludePagePlugin.
+
+Examples: to include a page from another site, use the <b>src</b> attribute:
+
+<verbatim>
+<?plugin FrameInclude src="http://phpwiki.org/" ?>
+</verbatim>
+
+To include a page from within this wiki, use the <b>page</b> attribute:
+
+<verbatim>
+<?plugin FrameInclude page=HomePage ?>
+</verbatim>
+
+For more information on this plugin please read the PHP source code in the /lib/plugin directory.
+
+-----
+
+PhpWikiDocumentation Help:WikiPlugin
diff -ruN 1.3.12p3/pgsrc/Help%2FFullTextSearchPlugin 1.3.14/pgsrc/Help%2FFullTextSearchPlugin
--- 1.3.12p3/pgsrc/Help%2FFullTextSearchPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FFullTextSearchPlugin	2007-07-01 05:11:22.000000000 -0500
@@ -0,0 +1,38 @@
+Date: Fri, 29 Dec 2006 18:57:39 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Help%2FFullTextSearchPlugin,v 1.1 2007/01/02 13:26:05 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FFullTextSearchPlugin;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+_short description_
+
+! Usage
+<verbatim>
+  <?plugin FullTextSearch ?>
+</verbatim>
+
+! Arguments
+
+page _(default: current pagename)_:
+  The page to execute upon.
+
+! Example
+
+<verbatim>
+<?plugin FullTextSearch ?>
+</verbatim>
+
+<?plugin FullTextSearch ?>
+
+! Author
+PhpWiki:ReiniUrban
+
+! See Also
+
+----
+PhpWikiDocumentation Help:WikiPlugin
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/Help%2FFuzzyPagesPlugin 1.3.14/pgsrc/Help%2FFuzzyPagesPlugin
--- 1.3.12p3/pgsrc/Help%2FFuzzyPagesPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FFuzzyPagesPlugin	2007-07-01 05:11:22.000000000 -0500
@@ -0,0 +1,38 @@
+Date: Fri, 29 Dec 2006 18:57:39 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Help%2FFuzzyPagesPlugin,v 1.1 2007/01/02 13:26:05 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FFuzzyPagesPlugin;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+_short description_
+
+! Usage
+<verbatim>
+  <?plugin FuzzyPages ?>
+</verbatim>
+
+! Arguments
+
+page _(default: current pagename)_:
+  The page to execute upon.
+
+! Example
+
+<verbatim>
+<?plugin FuzzyPages ?>
+</verbatim>
+
+<?plugin FuzzyPages ?>
+
+! Author
+PhpWiki:ReiniUrban
+
+! See Also
+
+----
+PhpWikiDocumentation Help:WikiPlugin
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/Help%2FGoodStyle 1.3.14/pgsrc/Help%2FGoodStyle
--- 1.3.12p3/pgsrc/Help%2FGoodStyle	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FGoodStyle	2007-07-01 05:11:22.000000000 -0500
@@ -0,0 +1,31 @@
+Date: Sun, 27 Jan 2002 17:28:55 -0500
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.2-jeffs-hacks)
+X-Rcs-Id: $Id: Help%2FGoodStyle,v 1.1 2005/11/21 22:19:00 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FGoodStyle;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+"Young writers often suppose that style is a garnish for the meat of
+prose, a sauce by which a dull dish is made palatable. Style has no
+such separate entity; it is nondetachable, unfilterable. The beginner
+should approach style warily, realizing that it is himself he is
+approaching, no other; and he should begin by turning resolutely away
+from all devices that are popularly believed to indicate style--all
+mannerisms, tricks, adornments. The approach to style is by way of
+plainness, simplicity, orderliness, sincerity."
+
+--Strunk and White, "The Elements of Style"
+
+''And thus an American textbook, typical required reading for
+10th-grade English students, unknowingly extols some virtues of
+WabiSabi''
+
+--scummings
+
+----
+
+PhpWikiDocumentation
diff -ruN 1.3.12p3/pgsrc/Help%2FGoogleMapsPlugin 1.3.14/pgsrc/Help%2FGoogleMapsPlugin
--- 1.3.12p3/pgsrc/Help%2FGoogleMapsPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FGoogleMapsPlugin	2007-07-01 05:11:22.000000000 -0500
@@ -0,0 +1,38 @@
+Date: Fri, 29 Dec 2006 18:57:39 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Help%2FGoogleMapsPlugin,v 1.1 2007/01/02 13:26:05 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FGoogleMapsPlugin;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+_short description_
+
+! Usage
+<verbatim>
+  <?plugin GoogleMaps ?>
+</verbatim>
+
+! Arguments
+
+page _(default: current pagename)_:
+  The page to execute upon.
+
+! Example
+
+<verbatim>
+<?plugin GoogleMaps ?>
+</verbatim>
+
+<?plugin GoogleMaps ?>
+
+! Author
+PhpWiki:ReiniUrban
+
+! See Also
+
+----
+PhpWikiDocumentation Help:WikiPlugin
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/Help%2FGooglePluginPlugin 1.3.14/pgsrc/Help%2FGooglePluginPlugin
--- 1.3.12p3/pgsrc/Help%2FGooglePluginPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FGooglePluginPlugin	2007-07-01 05:11:22.000000000 -0500
@@ -0,0 +1,38 @@
+Date: Fri, 29 Dec 2006 18:57:39 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Help%2FGooglePluginPlugin,v 1.1 2007/01/02 13:26:05 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FGooglePluginPlugin;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+_short description_
+
+! Usage
+<verbatim>
+  <?plugin GooglePlugin ?>
+</verbatim>
+
+! Arguments
+
+page _(default: current pagename)_:
+  The page to execute upon.
+
+! Example
+
+<verbatim>
+<?plugin GooglePlugin ?>
+</verbatim>
+
+<?plugin GooglePlugin ?>
+
+! Author
+PhpWiki:ReiniUrban
+
+! See Also
+
+----
+PhpWikiDocumentation Help:WikiPlugin
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/Help%2FGoToPlugin 1.3.14/pgsrc/Help%2FGoToPlugin
--- 1.3.12p3/pgsrc/Help%2FGoToPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FGoToPlugin	2007-07-01 05:11:22.000000000 -0500
@@ -0,0 +1,38 @@
+Date: Fri, 29 Dec 2006 18:57:39 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Help%2FGoToPlugin,v 1.1 2007/01/02 13:26:05 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FGoToPlugin;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+_short description_
+
+! Usage
+<verbatim>
+  <?plugin GoTo ?>
+</verbatim>
+
+! Arguments
+
+page _(default: current pagename)_:
+  The page to execute upon.
+
+! Example
+
+<verbatim>
+<?plugin GoTo ?>
+</verbatim>
+
+<?plugin GoTo ?>
+
+! Author
+PhpWiki:ReiniUrban
+
+! See Also
+
+----
+PhpWikiDocumentation Help:WikiPlugin
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/Help%2FGraphVizPlugin 1.3.14/pgsrc/Help%2FGraphVizPlugin
--- 1.3.12p3/pgsrc/Help%2FGraphVizPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FGraphVizPlugin	2007-07-01 05:11:22.000000000 -0500
@@ -0,0 +1,82 @@
+Date: Thu, 11 Jan 2007 22:55:55 +0100
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Help%2FGraphVizPlugin,v 1.3 2007/01/11 21:22:11 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FGraphVizPlugin;
+  pgsrc_version="2 $Revision: 1.3 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+The ~GraphViz plugin passes all its arguments to the grapviz =dot=
+binary and displays the result as cached image (PNG,GIF,SVG) or
+imagemap.  See http://www.graphviz.org/Documentation.php,
+esp. http://www.graphviz.org/doc/info/lang.html for the *dot* language
+specs.
+
+Note:
+  - We support all image types supported by GD so far, PNG most likely.
+  - On imgtype = imap, cpamx, ismap, cmap an additional mapfile will be produced.
+
+! Usage
+<verbatim>
+<?plugin GraphViz [options...]
+   multiline dot script ...
+?>
+</verbatim>
+
+! Plugin Arguments
+
+=imgtype= |
+  Default: png
+=alt= |
+  img alt text.
+=pages= |
+  <! plugin-list support !> encoded as pagename = ~[ URL = url ~]
+=exclude= |
+  Exclude pages
+=help= |
+  Display argument help.
+
+! Example
+
+<verbatim>
+<?plugin GraphViz
+digraph automata_0 {
+	size ="8.5, 11";
+	node  [ shape  = circle];
+	0 [ style = filled, color=lightgrey ];
+	2 [ shape = doublecircle ];
+	0 -> 2 [ label = "a " ];
+	0 -> 1 [ label = "other " ];
+	1 -> 2 [ label = "a " ];
+	1 -> 1 [ label = "other " ];
+	2 -> 2 [ label = "a " ];
+	2 -> 1 [ label = "other " ];
+	"Machine: a" [ shape = plaintext ];
+}
+?>
+</verbatim>
+
+is rendered as
+
+<?plugin GraphViz
+digraph automata_0 {
+	size ="8.5, 11";
+	node  [shape  = circle];
+	0 [ style = filled, color=lightgrey ];
+	2 [ shape = doublecircle ];
+	0 -> 2 [ label = "a " ];
+	0 -> 1 [ label = "other " ];
+	1 -> 2 [ label = "a " ];
+	1 -> 1 [ label = "other " ];
+	2 -> 2 [ label = "a " ];
+	2 -> 1 [ label = "other " ];
+	"Machine: a" [ shape = plaintext ];
+}
+?>
+
+
+! Author
+ Reini Urban
diff -ruN 1.3.12p3/pgsrc/Help%2F_GroupInfoPlugin 1.3.14/pgsrc/Help%2F_GroupInfoPlugin
--- 1.3.12p3/pgsrc/Help%2F_GroupInfoPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2F_GroupInfoPlugin	2007-07-01 05:11:25.000000000 -0500
@@ -0,0 +1,44 @@
+Date: Fri, 29 Dec 2006 18:57:39 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Help%2F_GroupInfoPlugin,v 1.1 2007/01/02 13:26:07 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2F_GroupInfoPlugin;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+Administrative plugin, used to debug auth problems and settings.
+This plugin is only for testing purposes. 
+If DEBUG has no _DEBUG_LOGIN bit set, only the admin user can call it, 
+which is of no real use.
+
+Warning! This may display db and user passwords in cleartext. We think we 
+cleared everything out though.
+
+! Usage
+<verbatim>
+  <?plugin _GroupInfo ?>
+</verbatim>
+
+! Arguments
+
+page _(default: current pagename)_:
+  The page to execute upon.
+
+! Example
+
+See DebugGroupInfo
+
+! Author
+PhpWiki:CharlesCorrigan
+
+! See Also
+
+DebugGroupInfo is the corresponding Help:ActionPage.
+
+Help:_AuthInfoPlugin, Help:_BackendInfoPlugin
+
+----
+PhpWikiDocumentation Help:WikiPlugin
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/Help%2FHelloWorldPlugin 1.3.14/pgsrc/Help%2FHelloWorldPlugin
--- 1.3.12p3/pgsrc/Help%2FHelloWorldPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FHelloWorldPlugin	2007-07-01 05:11:22.000000000 -0500
@@ -0,0 +1,85 @@
+Date: Sun, 4 Jul 2004 01:31:02 -0700
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.5pre)
+X-Rcs-Id: $Id: Help%2FHelloWorldPlugin,v 1.1 2005/11/21 22:19:00 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FHelloWorldPlugin;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+A simple example plugin.
+
+<?plugin HelloWorld salutation="Hello," name="WikiUser" ?>
+
+From the source of this page:
+
+<verbatim>
+<?plugin HelloWorld salutation="Hello," name="WikiUser" ?>
+</verbatim>
+
+-----
+PhpWiki's plugin architecture allows you to add custom page elements to your wiki. All you have to do is extend (subclass) the ~WikiPlugin class and create your output via the run() method, dependend on the Wiki- or Request arguments, 
+
+* either with the predefined HTML classes to create valid XHTML,
+* or by using templates, which are easier customizable, but generally more a mess to use and easier to create invalid XHTML.
+
+<?plugin PhpHighlight
+
+/**
+ * A simple demonstration Help:WikiPlugin.
+ *
+ * Usage:
+ * <?plugin HelloWorld?&gt;
+ * <?plugin HelloWorld
+ *          salutation="Greetings, "
+ *          name=Wikimeister
+ * ? >
+ * <?plugin HelloWorld salutation=Hi ? >
+ * <?plugin HelloWorld name=WabiSabi ? >
+ */
+
+// Constants are defined before the class.
+if (!defined('THE_END'))
+    define('THE_END', "!");
+
+class Help:WikiPlugin_HelloWorld
+extends Help:WikiPlugin
+{
+    // Five required functions in a Help:WikiPlugin.
+
+    function getName () {
+        return _("HelloWorld");
+    }
+
+    function getDescription () {
+        return _("Simple Sample Plugin");
+
+    }
+
+    function getVersion() {
+        return preg_replace("/ Help:n : $]/", '',
+                            "\$Revision: 1.1 $");
+    }
+
+    // Establish default values for each of this plugin's arguments.
+    function getDefaultArguments() {
+        return array('salutation' => "Hello,",
+                     'name'       => "World");
+    }
+
+    function run($dbi, $argstr, $request) {
+        extract($this->getArgs($argstr, $request));
+
+        // Any text that is returned will not be further transformed,
+        // so use html where necessary.
+        $html = HTML::tt(fmt('%s: %s', $salutation, WikiLink($name, 'auto')),
+                         THE_END);
+        return $html;
+    }
+};
+?>
+-------------
+
+PhpWikiDocumentation Help:WikiPlugin
diff -ruN 1.3.12p3/pgsrc/Help%2FHowToUseWiki 1.3.14/pgsrc/Help%2FHowToUseWiki
--- 1.3.12p3/pgsrc/Help%2FHowToUseWiki	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FHowToUseWiki	2007-07-01 05:11:22.000000000 -0500
@@ -0,0 +1,80 @@
+Date: Sun, 27 Jan 2005 17:28:55 -0500
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.2-jeffs-hacks)
+X-Rcs-Id: $Id: Help%2FHowToUseWiki,v 1.2 2007/01/10 20:48:11 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FHowToUseWiki;
+  pgsrc_version="2 $Revision: 1.2 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+''"Wiki wiki"'' means "quick" in Hawai'ian.
+
+*All you really need to know is:*
+
+* To edit any page click on the Edit link at the bottom of the page.
+  You should do that right now, and read the source code of this page.
+  It will make more sense.
+
+* You get italics by surrounding words with underscores on either side
+  _like this_.
+
+* You get *bold text* by using two asterisks on either side.
+
+* And, *_bold italics_* by using both.
+
+* You get =monospaced text= by using two equal-signs on either side.
+
+* You get bullets by using an asterisk * at the start of the line.
+
+* To have a paragraph in plain monospaced font, start it with <pre>
+  and end it with </pre>:
+
+  <pre>
+  this is a poem for sure
+  about monospacing
+  i wrote in purple velour
+  but couldn't find a rhyme for monospacing
+  </pre>
+
+* You separate paragraphs with an extra blank line. Example:
+
+  I am a paragraph.
+
+  I am a paragraph too. We're just very small paragraphs.
+
+* You can get horizontal rules with four or more dashes like this:
+
+  ---------
+
+* To create hyperlinks you just capitalize the words and string them
+  together. Let's say you want to create a page about how Steve
+  Wainstead eats worms. All you have to do is capitalize each word and
+  string them together like this: SteveWainsteadEatsLiveWorms. If the
+  page does not exist yet a question mark appears after the link,
+  inviting you to create the page: ThisPageShouldNotExist. (And please
+  don't ruin the example by creating one.)
+
+* To link to pages outside the Wiki, you can just type in the URL and
+  Wiki will link it for you: http://www.nytimes.com/
+
+* To put images in, just provide the hyperlink in brackets like this:
+  ~[~http://www.yourhost.yourdomain/images/picture.png]. Image URLs not
+  in brackets will just appear as hyperlinks to the image.
+
+* Now you are ready to begin Help:AddingPages.
+
+----
+
+A WikiWikiWeb is meant to be fast and easy to edit. It has very simple
+markup that you can read about in Help:TextFormattingRules.
+
+----
+
+If you don't like the size of the text editing window you get, you can
+change it.  See UserPreferences.
+
+----
+
+PhpWikiDocumentation
diff -ruN 1.3.12p3/pgsrc/Help%2FHtmlConverterPlugin 1.3.14/pgsrc/Help%2FHtmlConverterPlugin
--- 1.3.12p3/pgsrc/Help%2FHtmlConverterPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FHtmlConverterPlugin	2007-07-01 05:11:22.000000000 -0500
@@ -0,0 +1,38 @@
+Date: Fri, 29 Dec 2006 18:57:39 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Help%2FHtmlConverterPlugin,v 1.1 2007/01/02 13:26:05 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FHtmlConverterPlugin;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+_short description_
+
+! Usage
+<verbatim>
+  <?plugin HtmlConverter ?>
+</verbatim>
+
+! Arguments
+
+page _(default: current pagename)_:
+  The page to execute upon.
+
+! Example
+
+<verbatim>
+<?plugin HtmlConverter ?>
+</verbatim>
+
+<?plugin HtmlConverter ?>
+
+! Author
+PhpWiki:ReiniUrban
+
+! See Also
+
+----
+PhpWikiDocumentation Help:WikiPlugin
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/Help%2FIncludePagePlugin 1.3.14/pgsrc/Help%2FIncludePagePlugin
--- 1.3.12p3/pgsrc/Help%2FIncludePagePlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FIncludePagePlugin	2007-07-01 05:11:22.000000000 -0500
@@ -0,0 +1,20 @@
+Date: Sun, 4 Jul 2004 01:31:02 -0700
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.7)
+X-Rcs-Id: $Id: Help%2FIncludePagePlugin,v 1.1 2005/11/21 22:19:00 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FIncludePagePlugin;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+This plugin will "include" other pages in this wiki. In the language of hypertext this is called <i>transclusion</i>. The pages will render in distinct tables. You can also load external pages in a more limited fashion with the FrameIncludePlugin. Examples:
+
+<?plugin IncludePage page="HomePage" ?>
+
+<?plugin IncludePage page="WabiSabi" ?>
+
+-----
+
+PhpWikiDocumentation Help:WikiPlugin
diff -ruN 1.3.12p3/pgsrc/Help%2FIncludePagesPlugin 1.3.14/pgsrc/Help%2FIncludePagesPlugin
--- 1.3.12p3/pgsrc/Help%2FIncludePagesPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FIncludePagesPlugin	2007-07-01 05:11:22.000000000 -0500
@@ -0,0 +1,38 @@
+Date: Fri, 29 Dec 2006 18:57:39 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Help%2FIncludePagesPlugin,v 1.1 2007/01/02 13:26:05 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FIncludePagesPlugin;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+_short description_
+
+! Usage
+<verbatim>
+  <?plugin IncludePages ?>
+</verbatim>
+
+! Arguments
+
+page _(default: current pagename)_:
+  The page to execute upon.
+
+! Example
+
+<verbatim>
+<?plugin IncludePages ?>
+</verbatim>
+
+<?plugin IncludePages ?>
+
+! Author
+PhpWiki:ReiniUrban
+
+! See Also
+
+----
+PhpWikiDocumentation Help:WikiPlugin
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/Help%2FIncludeSiteMapPlugin 1.3.14/pgsrc/Help%2FIncludeSiteMapPlugin
--- 1.3.12p3/pgsrc/Help%2FIncludeSiteMapPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FIncludeSiteMapPlugin	2007-07-01 05:11:22.000000000 -0500
@@ -0,0 +1,38 @@
+Date: Fri, 29 Dec 2006 18:57:39 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Help%2FIncludeSiteMapPlugin,v 1.1 2007/01/02 13:26:05 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FIncludeSiteMapPlugin;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+_short description_
+
+! Usage
+<verbatim>
+  <?plugin IncludeSiteMap ?>
+</verbatim>
+
+! Arguments
+
+page _(default: current pagename)_:
+  The page to execute upon.
+
+! Example
+
+<verbatim>
+<?plugin IncludeSiteMap ?>
+</verbatim>
+
+<?plugin IncludeSiteMap ?>
+
+! Author
+PhpWiki:ReiniUrban
+
+! See Also
+
+----
+PhpWikiDocumentation Help:WikiPlugin
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/Help%2FInterWikiSearchPlugin 1.3.14/pgsrc/Help%2FInterWikiSearchPlugin
--- 1.3.12p3/pgsrc/Help%2FInterWikiSearchPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FInterWikiSearchPlugin	2007-07-01 05:11:22.000000000 -0500
@@ -0,0 +1,38 @@
+Date: Fri, 29 Dec 2006 18:57:39 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Help%2FInterWikiSearchPlugin,v 1.1 2007/01/02 13:26:05 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FInterWikiSearchPlugin;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+_short description_
+
+! Usage
+<verbatim>
+  <?plugin InterWikiSearch ?>
+</verbatim>
+
+! Arguments
+
+page _(default: current pagename)_:
+  The page to execute upon.
+
+! Example
+
+<verbatim>
+<?plugin InterWikiSearch ?>
+</verbatim>
+
+<?plugin InterWikiSearch ?>
+
+! Author
+PhpWiki:ReiniUrban
+
+! See Also
+
+----
+PhpWikiDocumentation Help:WikiPlugin
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/Help%2FJabberPresencePlugin 1.3.14/pgsrc/Help%2FJabberPresencePlugin
--- 1.3.12p3/pgsrc/Help%2FJabberPresencePlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FJabberPresencePlugin	2007-07-01 05:11:22.000000000 -0500
@@ -0,0 +1,38 @@
+Date: Fri, 29 Dec 2006 18:57:39 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Help%2FJabberPresencePlugin,v 1.1 2007/01/02 13:26:05 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FJabberPresencePlugin;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+_short description_
+
+! Usage
+<verbatim>
+  <?plugin JabberPresence ?>
+</verbatim>
+
+! Arguments
+
+page _(default: current pagename)_:
+  The page to execute upon.
+
+! Example
+
+<verbatim>
+<?plugin JabberPresence ?>
+</verbatim>
+
+<?plugin JabberPresence ?>
+
+! Author
+PhpWiki:ReiniUrban
+
+! See Also
+
+----
+PhpWikiDocumentation Help:WikiPlugin
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/Help%2FLdapSearchPlugin 1.3.14/pgsrc/Help%2FLdapSearchPlugin
--- 1.3.12p3/pgsrc/Help%2FLdapSearchPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FLdapSearchPlugin	2007-07-01 05:11:22.000000000 -0500
@@ -0,0 +1,77 @@
+Date: Sat, 20 Jan 2007 16:38:14 +0100
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Help%2FLdapSearchPlugin,v 1.2 2007/01/21 23:23:49 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FLdapSearchPlugin;
+  pgsrc_version="2 $Revision: 1.2 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+Help:WikiPlugin which displays a LDAP query as table.
+
+! Usage
+<verbatim>
+  <?plugin LdapSearch ?>
+  <?plugin LdapSearch
+           host="localhost"
+           port=389
+           basedn=""
+ 	   filter="(cn=*)"
+           attributes=""  
+  ?>
+  <?plugin LdapSearch host=ldap.example.com filter="(ou=web-team)" 
+                      attributes="sn cn telephonenumber" ?>
+  <?plugin LdapSearch host="ldap.itd.umich.edu" basedn="" filter="(sn=jensen)" attributes="cn drink" ?>
+  <?plugin LdapSearch host=ldap.example.com attributes="cn sn telephonenumber" ?>
+  <?plugin LdapSearch host=bugs.debian.org port=10101 basedn="dc=current,dc=bugs,dc=debian,dc=org"
+                      filter="(debbugsPackage=phpwiki)" 
+                      attributes="debbugsSeverity debbugsState debbugsTitle" ?>
+</verbatim>
+
+! Arguments
+
+host _(default: from LDAP_AUTH_HOST or localhost)_:
+	hostname or ip or ldap:// uri to connect to.
+
+port _(default: from LDAP_AUTH_HOST or 389)_:
+	portnumber to connect to.
+
+basedn _(default: LDAP_BASE_DN)_:
+	connect string: "ou=Users,o=Development,dc=mycompany.com"
+
+filter _(default: "(cn=*)")_:
+	Optional ldap_search() filter argument
+
+attributes _(default: empty)_ :
+	space seperated fields to return as table columns: "cn sn"
+
+options:
+	ldap_set_option(). Default: LDAP_SET_OPTION if host == LDAP_AUTH_HOST
+	Column seperated name=value pairs. Esp. needed for Windows Active directory:
+	"LDAP_OPT_PROTOCOL_VERSION=3:LDAP_OPT_REFERRALS=0"
+user:
+	Default: LDAP_AUTH_USER if host == LDAP_AUTH_HOST
+password:
+	Default: LDAP_AUTH_PASSWORD if host == LDAP_AUTH_HOST
+	user and password are required for Windows Active directory.
+
+! Examples
+
+<?plugin WikiFormRich action=LdapSearch 
+        editbox[] name=host value=bugs.debian.org size=80
+        editbox[] name=port value=10101 size=80
+        editbox[] name=basedn value="dc=current,dc=bugs,dc=debian,dc=org" size=80
+	editbox[] name=filter value="(debbugsPackage=phpwiki)" size=80
+        editbox[] name=attributes value="debbugsSeverity debbugsState debbugsTitle" size=80
+	submit[] reset[]
+?>
+
+! Author
+PhpWiki:JohnLines
+
+! See Also
+
+----
+PhpWikiDocumentation Help:WikiPlugin
diff -ruN 1.3.12p3/pgsrc/Help%2FLikePagesPlugin 1.3.14/pgsrc/Help%2FLikePagesPlugin
--- 1.3.12p3/pgsrc/Help%2FLikePagesPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FLikePagesPlugin	2007-07-01 05:11:22.000000000 -0500
@@ -0,0 +1,38 @@
+Date: Fri, 29 Dec 2006 18:57:39 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Help%2FLikePagesPlugin,v 1.1 2007/01/02 13:26:05 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FLikePagesPlugin;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+_short description_
+
+! Usage
+<verbatim>
+  <?plugin LikePages ?>
+</verbatim>
+
+! Arguments
+
+page _(default: current pagename)_:
+  The page to execute upon.
+
+! Example
+
+<verbatim>
+<?plugin LikePages ?>
+</verbatim>
+
+<?plugin LikePages ?>
+
+! Author
+PhpWiki:ReiniUrban
+
+! See Also
+
+----
+PhpWikiDocumentation Help:WikiPlugin
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/Help%2FLinkDatabasePlugin 1.3.14/pgsrc/Help%2FLinkDatabasePlugin
--- 1.3.12p3/pgsrc/Help%2FLinkDatabasePlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FLinkDatabasePlugin	2007-07-01 05:11:23.000000000 -0500
@@ -0,0 +1,38 @@
+Date: Fri, 29 Dec 2006 18:57:39 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Help%2FLinkDatabasePlugin,v 1.1 2007/01/02 13:26:05 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FLinkDatabasePlugin;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+_short description_
+
+! Usage
+<verbatim>
+  <?plugin LinkDatabase ?>
+</verbatim>
+
+! Arguments
+
+page _(default: current pagename)_:
+  The page to execute upon.
+
+! Example
+
+<verbatim>
+<?plugin LinkDatabase ?>
+</verbatim>
+
+<?plugin LinkDatabase ?>
+
+! Author
+PhpWiki:ReiniUrban
+
+! See Also
+
+----
+PhpWikiDocumentation Help:WikiPlugin
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/Help%2FLinkIcons 1.3.14/pgsrc/Help%2FLinkIcons
--- 1.3.12p3/pgsrc/Help%2FLinkIcons	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FLinkIcons	2007-07-01 05:11:23.000000000 -0500
@@ -0,0 +1,65 @@
+Date: Thu, 28 Mar 2002 14:57:00 -0500
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.2-jeffs-hacks)
+X-Rcs-Id: $Id: Help%2FLinkIcons,v 1.2 2007/01/10 20:48:19 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FLinkIcons;
+  pgsrc_version="2 $Revision: 1.2 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+~LinkIcons are an optional new feature of PhpWiki. When activated,
+icons will be displayed in front of URLs to indicate the type of link.
+
+* [themes/default/images/http.png]
+  http link
+* [themes/default/images/url.png]
+  generic internet link
+* [themes/default/images/interwiki.png]
+  InterWiki link
+* [themes/default/images/https.png]
+  https link
+* [themes/default/images/mailto.png]
+  mailto link
+* [themes/default/images/ftp.png]
+  ftp link
+
+__Note__: Some of the default icons use the alpha channel feature of
+the [PNG | http://www.libpng.org/pub/png/png-sitemap.html] image format
+for smooth rendering on any page color or textured background. Older
+browsers may not display all the images properly.
+
+!!!Examples
+
+The following examples will display with the above link icons only if
+the administrator has enabled this feature.
+
+!! InterWiki links
+
+* InterWiki link PhpWiki:InterWiki
+* A named InterWiki [read WhyWikiWorks at c2|Wiki:WhyWikiWorks].
+
+!!URLs
+
+* Email address [PhpWiki-talk mailing list|mailto:phpwiki-talk@lists.sourceforge.net]
+* Normal http link [PhpWiki's Home Page|http://phpwiki.sourceforge.net/phpwiki/]
+* Secure http link [PhpWiki's Home Page|https://phpwiki.sourceforge.net/phpwiki/]
+* File transfer ftp://ftp.sourceforge.net/
+
+''A generic icon is shown for other less common link types.''
+
+* news://nntp.news.com
+* gopher://gopher.caltech.cmu.edu
+
+~LinkIcons will only display when the URL protocol is one which PhpWiki
+is allowed to link to. The following examples won't show any icons and
+PhpWiki won't automatically provide double-clickable links either,
+unless the administrator adds them:
+
+* bogus://oedipus.nostradamus.com
+* bolo://lgm.cheshire.org
+
+----
+
+PhpWikiDocumentation
diff -ruN 1.3.12p3/pgsrc/Help%2FListPagesPlugin 1.3.14/pgsrc/Help%2FListPagesPlugin
--- 1.3.12p3/pgsrc/Help%2FListPagesPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FListPagesPlugin	2007-07-01 05:11:23.000000000 -0500
@@ -0,0 +1,30 @@
+Date: Thu, 7 Oct 2004 18:13:41 +0200
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.11pre) 
+X-Rcs-Id: $Id: Help%2FListPagesPlugin,v 1.1 2005/11/21 22:19:00 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FListPagesPlugin;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+The ListPagesPlugin is the simpliest plugin to explicitly list a set of pages with all available 
+[pagelist|PhpWiki:PageList] options, mainly used for a wikilens theme to display ratings info 
+and recommendations.
+
+It can also be used with the PhpWiki:PluginList method to list a set of pages generated by 
+another plugin, and/or to exclude a set of pages generated by another plugin.
+
+See the PhpWiki:PageList options.
+
+Usage:
+<verbatim>
+  <?plugin ListPages pages=HomePage,FindPage,WikiWikiWeb ?>
+
+  <?plugin ListPages info=hits sortby=hits pages=<!plugin-list BackLink page=[] !> exclude=ListPagesPlugin,WikiPlugin ?>
+</verbatim>
+
+-------------
+
+PhpWikiDocumentation Help:WikiPlugin 
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/Help%2FListSubpagesPlugin 1.3.14/pgsrc/Help%2FListSubpagesPlugin
--- 1.3.12p3/pgsrc/Help%2FListSubpagesPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FListSubpagesPlugin	2007-07-01 05:11:23.000000000 -0500
@@ -0,0 +1,38 @@
+Date: Fri, 29 Dec 2006 18:57:39 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Help%2FListSubpagesPlugin,v 1.1 2007/01/02 13:26:05 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FListSubpagesPlugin;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+_short description_
+
+! Usage
+<verbatim>
+  <?plugin ListSubpages ?>
+</verbatim>
+
+! Arguments
+
+page _(default: current pagename)_:
+  The page to execute upon.
+
+! Example
+
+<verbatim>
+<?plugin ListSubpages ?>
+</verbatim>
+
+<?plugin ListSubpages ?>
+
+! Author
+PhpWiki:ReiniUrban
+
+! See Also
+
+----
+PhpWikiDocumentation Help:WikiPlugin
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/Help%2FMagicPhpWikiURLs 1.3.14/pgsrc/Help%2FMagicPhpWikiURLs
--- 1.3.12p3/pgsrc/Help%2FMagicPhpWikiURLs	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FMagicPhpWikiURLs	2007-07-01 05:11:23.000000000 -0500
@@ -0,0 +1,134 @@
+Date: Wed, 27 Feb 2002 19:54:00 -0500
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.3-jeffs-hacks)
+X-Rcs-Id: $Id: Help%2FMagicPhpWikiURLs,v 1.1 2005/11/21 22:19:00 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FMagicPhpWikiURLs;
+  flags=PAGE_LOCKED;
+  pgsrc_version="2 $Revision: 1.1 $";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+!!! About phpwiki: URLs
+
+A special type of URL is available for making links to perform
+administrative and other special functions in PhpWiki.  Here is a
+brief description of how they work.
+
+The basic syntax of a phpwiki: URL is
+
+<pre>
+__phpwiki:__''pagename''__?__''query-args''
+</pre>
+
+If _pagename_ is omitted it defaults to the current page.
+
+_Query-args_ should be a set of parameters in standard HTTP GET
+format.
+
+The "action=''x''" parameter should almost always be given.  It can be one of
+__browse__, __diff__, __edit__, __viewsource__,
+__zip__, __dumpserial__, __loadserial__,
+__remove__, __lock__, __unlock__,
+__login__, __logout__, __setprefs__ or __save__.
+The default action is __browse__.
+
+Some of the actions accept other parameters.
+
+__FullTextSearch__, __TitleSearch__:
+
+  Accepts __s__=search term, and __size__=input size.
+
+__edit__:
+
+  Accepts __version__.
+
+__remove__:
+
+  Accepts __verify__.
+
+__save__:
+
+  Accepts __editversion__, __minor_edit__, and  __content__.
+
+__setprefs__:
+
+  Accepts __edit_area_width__, __edit_area_height__.
+
+!! Writing Magic Links in Wiki Pages
+
+A magic link looks like:
+
+<pre>
+__~[__ ''text'' __|__ ''phpwiki-url'' __]__
+</pre>
+
+The "''text'' *|*" is optional but usually recommended.  If given it
+will provide the label for the link.
+
+The _phpwiki-url_ is a *phpwiki:* URL as described above.
+
+!Some examples
+
+<verbatim>
+[ Edit the SandBox | phpwiki:SandBox?action=edit ]
+</verbatim>
+will generate a link which will take you directly to editing the
+SandBox, like so: [Edit the SandBox | phpwiki:SandBox?action=edit].
+
+Other possibilites:
+* [ Diff the SandBox | phpwiki:SandBox?action=diff ],
+* [ Lock the HomePage | phpwiki:HomePage?action=lock ],
+* [ Get a Full Zip Dump | phpwiki:?action=zip&include=all ],
+* Search for [ Page titles containing 'wiki' | phpwiki:?action=TitleSearch&s=wiki ]
+
+!! Writing Magic Forms in Wiki Pages
+
+''__Note__: The old syntax for Magic forms is no longer supported.
+They are superseded by =<?plugin-form>=.''
+
+If the plugin is called using *<?plugin-form* instead of *<?plugin*
+and the plugin supports searching, then it will be rendered as a form.
+
+''size'':
+
+  If given, specifies the size of the input area.
+
+''s'':
+
+  Specifies the default value for the input.
+
+!Examples:
+
+A search plugin invoked with *<?plugin* instead of *<?plugin-form*
+simply inserts the search results of the plugin:
+
+<verbatim>
+<?plugin TitleSearch s=wiki noheader=true ?>
+</verbatim>
+
+Search results for Page titles containing 'wiki':
+
+<?plugin TitleSearch s=wiki noheader=true ?>
+
+<verbatim>
+<?plugin-form FullTextSearch ?>
+</verbatim>
+
+gives
+
+<?plugin-form FullTextSearch ?>
+
+While
+
+<verbatim>
+<?plugin-form TitleSearch formsize=12 ?>
+</verbatim>
+
+yields
+
+<?plugin-form TitleSearch formsize=12 ?>
+
+----
+
+PhpWikiDocumentation
diff -ruN 1.3.12p3/pgsrc/Help%2FModeratedPagePlugin 1.3.14/pgsrc/Help%2FModeratedPagePlugin
--- 1.3.12p3/pgsrc/Help%2FModeratedPagePlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FModeratedPagePlugin	2007-07-01 05:11:23.000000000 -0500
@@ -0,0 +1,38 @@
+Date: Fri, 29 Dec 2006 18:57:39 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Help%2FModeratedPagePlugin,v 1.1 2007/01/02 13:26:05 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FModeratedPagePlugin;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+_short description_
+
+! Usage
+<verbatim>
+  <?plugin ModeratedPage ?>
+</verbatim>
+
+! Arguments
+
+page _(default: current pagename)_:
+  The page to execute upon.
+
+! Example
+
+<verbatim>
+<?plugin ModeratedPage ?>
+</verbatim>
+
+<?plugin ModeratedPage ?>
+
+! Author
+PhpWiki:ReiniUrban
+
+! See Also
+
+----
+PhpWikiDocumentation Help:WikiPlugin
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/Help%2FMoreAboutMechanics 1.3.14/pgsrc/Help%2FMoreAboutMechanics
--- 1.3.12p3/pgsrc/Help%2FMoreAboutMechanics	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FMoreAboutMechanics	2007-07-01 05:11:23.000000000 -0500
@@ -0,0 +1,44 @@
+Date: Sun, 16 Nov 2003 02:28:52 +0100
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.5pre)
+X-Rcs-Id: $Id: Help%2FMoreAboutMechanics,v 1.1 2005/11/21 22:19:00 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FMoreAboutMechanics;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+PhpWiki is written in the server-side scripting language PHP,
+available from http://www.php.net/. PHP resembles C and Perl in its
+syntax, and functions much like ASP, ~EmbPerl or JSP.
+
+PhpWiki consists of a dozen or so files of mixed PHP and HTML. The web
+pages that make up a WikiWikiWeb based on PHP live in a database with
+backup copies of previous versions of pages stored as well. (For the
+database, PhpWiki works with DBM, MySQL, PostgreSQL or text files.)
+
+Every time a user hits the site, the page requested is pulled from the
+database and rendered on the fly. The user only really ever requests
+the file =index.php=, which then decides which other php files to
+include.
+
+Links to pages in the Wiki are automatically linked: AddingPages.
+This might be the single most compelling aspect of a Wiki, the ability
+to add pages simply by linking to them. The next most compelling thing
+is how easily external URLs link, like this:
+
+# http://www.wcsb.org/
+# ftp://ftp.redhat.com/
+# news://news.mozilla.org/
+# http://slashdot.org/
+# http://theregister.co.uk/
+
+Combined with one namespace and a simple markup, a Wiki exhibits many
+of the characteristics of WabiSabi.
+
+PhpWiki is licensed under the GNU General Public license, which you
+should be able to see here: http://www.gnu.org/copyleft/gpl.txt.
+
+----
+PhpWikiDocumentation CategoryWiki
diff -ruN 1.3.12p3/pgsrc/Help%2FMostPopularPlugin 1.3.14/pgsrc/Help%2FMostPopularPlugin
--- 1.3.12p3/pgsrc/Help%2FMostPopularPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FMostPopularPlugin	2007-07-01 05:11:23.000000000 -0500
@@ -0,0 +1,38 @@
+Date: Fri, 29 Dec 2006 18:57:39 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Help%2FMostPopularPlugin,v 1.1 2007/01/02 13:26:05 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FMostPopularPlugin;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+_short description_
+
+! Usage
+<verbatim>
+  <?plugin MostPopular ?>
+</verbatim>
+
+! Arguments
+
+page _(default: current pagename)_:
+  The page to execute upon.
+
+! Example
+
+<verbatim>
+<?plugin MostPopular ?>
+</verbatim>
+
+<?plugin MostPopular ?>
+
+! Author
+PhpWiki:ReiniUrban
+
+! See Also
+
+----
+PhpWikiDocumentation Help:WikiPlugin
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/Help%2FNewMarkupTestPage 1.3.14/pgsrc/Help%2FNewMarkupTestPage
--- 1.3.12p3/pgsrc/Help%2FNewMarkupTestPage	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FNewMarkupTestPage	2007-07-01 05:11:23.000000000 -0500
@@ -0,0 +1,156 @@
+Date: Sun, 27 Jan 2002 17:28:55 -0500
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.2-jeffs-hacks)
+X-Rcs-Id: $Id: Help%2FNewMarkupTestPage,v 1.1 2005/11/21 22:19:00 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FNewMarkupTestPage;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+New lists: asterisks, hash marks, and ";text:def" (wrong...)
+* bullet
+* l1
+  * l2
+  * l2
+     * l3
+ # one
+ #two
+ #three
+Term1:
+  definition1.1
+
+  definition1.2
+Term2 :
+    definition2
+
+    Term3:
+      definition3
+      Term4:
+          definition4
+
+          definition4.2
+      Term5 :
+        definition5
+
+Mixed -
+ * ul1
+   # ul1-ol1
+   # ul1-ol2
+     * ul1-ol2-ul1
+     * ul1-ol2-ul2
+        * ul1-ol2-ul2-ul1
+        * ul1-ol2-ul2-ul2
+
+*  l1
+   <pre>
+      preformatted text
+   </pre>
+   * l2
+----
+ old lists, oddly enough, work fine
+	* level 1
+	* l1
+		*l2
+		*l2
+			*l3
+			*l3
+				*l4
+			*l3
+					*l5
+			*l3
+	#one
+	#two
+		#one
+		#two
+	*l1
+		#three
+		#four
+	*l1
+		*l2
+		# one
+		# two
+
+<pre>
+ preformatted text
+ some more text
+</pre>
+
+	*l1
+				*l2
+	# number
+	# number
+this is a plain paragraph
+	* bullet
+this is a plain paragraph again
+	# number
+----
+__Link tests__
+# normal: HomePage
+# in brackets: [HomePage] -- named: [the front page|HomePage]
+# Link in brackets: [http://phpwiki.sourceforge.net/]
+# Link outside brackets: http://phpwiki.sourceforge.net/
+# Link with Wiki word: http://phpwiki.sourceforge.net/phpwiki/index.php?HomePage
+# Two consecutive links: http://phpwiki.sourceforge.net/ http://phpwiki.sourceforge.net/phpwiki/
+# [PhpWiki on Sourceforge | http://phpwiki.sourceforge.net/]
+# [URL with a WikiWord | http://phpwiki.sourceforge.net/phpwiki/index.php?RecentChanges]
+# Javascript: [boo! | javascript:alert('oops') ]  (is now: named internal link)
+# A [[Link] produces a [Link]
+# A [Link] looks like this: [[Link]
+# This is a [%%%] line break link
+# Also this page is [[not linked to], and this one is !NotLinkedTo and this one neither !http://not.linked.to/.
+  * WikiName - WikiNameSameStem -- !!WikiName - !!WikiNameSameStem
+  * !!WikiName - !!WikiNameSameStem -- WikiName - WikiNameSameStem
+  * WikiNameSameStem - WikiName -- !!WikiNameSameStem - !!WikiName
+  * !!WikiNameSameStem - !!WikiName -- WikiNameSameStem - WikiName
+
+----
+Markup tests:
+
+__underscores for bold__
+
+'''quotes for bold'''
+
+''quotes for italic''
+
+__''underscores bold italic''__
+
+'''''five quotes bold italic'''''
+
+''''''six quotes''''''
+
+'''''Bold italic''' and italic'' (buggy)
+
+'''Bold and ''bold-italic''''' (also buggy)
+
+!!! h1
+
+!! h2
+
+! h3
+
+this is plain text with <br>%%%
+a line break
+
+look at the <a href="http://phpwiki.sourceforge.net/">markup language</a>
+
+you cannot use &, < or >
+
+----
+Usage in preformatted text:
+<pre>
+ __underscores for bold__
+ '''quotes for bold'''
+ ''quotes for italic''
+ __''underscores bold italic''__
+ '''''five quotes bold italic'''''
+ ''''''six quotes''''''
+ !!! h1
+ !! h2
+ ! h3
+ this is plain text with <br>%%%
+ a line break
+ look at the <a href="http://phpwiki.sourceforge.net/">markup language</a>
+ you cannot use &, < or >
+</pre>
diff -ruN 1.3.12p3/pgsrc/Help%2FNoCachePlugin 1.3.14/pgsrc/Help%2FNoCachePlugin
--- 1.3.12p3/pgsrc/Help%2FNoCachePlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FNoCachePlugin	2007-07-01 05:11:23.000000000 -0500
@@ -0,0 +1,38 @@
+Date: Fri, 29 Dec 2006 18:57:39 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Help%2FNoCachePlugin,v 1.1 2007/01/02 13:26:05 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FNoCachePlugin;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+_short description_
+
+! Usage
+<verbatim>
+  <?plugin NoCache ?>
+</verbatim>
+
+! Arguments
+
+page _(default: current pagename)_:
+  The page to execute upon.
+
+! Example
+
+<verbatim>
+<?plugin NoCache ?>
+</verbatim>
+
+<?plugin NoCache ?>
+
+! Author
+PhpWiki:ReiniUrban
+
+! See Also
+
+----
+PhpWikiDocumentation Help:WikiPlugin
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/Help%2FOldMarkupTestPage 1.3.14/pgsrc/Help%2FOldMarkupTestPage
--- 1.3.12p3/pgsrc/Help%2FOldMarkupTestPage	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FOldMarkupTestPage	2007-07-01 05:11:23.000000000 -0500
@@ -0,0 +1,142 @@
+Date: Sun, 27 Jan 2002 17:28:55 -0500
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.2-jeffs-hacks)
+X-Rcs-Id: $Id: Help%2FOldMarkupTestPage,v 1.1 2005/11/21 22:19:00 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FOldMarkupTestPage;
+  flags=PAGE_LOCKED;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+ New lists: asterisks, hash marks, and ";text:def"
+* bullet
+* l1
+** l2
+** l2
+*** l3
+# one
+#two
+#three
+;Term1:definition1.1
+;: defintion1.2
+;Term2 :defintion2
+;; Term3:defintion3
+;;;Term4: definition4
+;;; : defintion4.2
+;;; Term5 : defintion5
+
+Mixed:
+*ul1
+*#ul1-ol1
+*#ul1-ol2
+*#*ul1-ol2-ul1
+*#*ul1-ol2-ul2
+*#**ul1-ol2-ul2-ul1
+*#**ul1-ol2-ul2-ul1
+
+*l1
+ preformatted text
+**    l2
+----
+ old lists
+	* level 1
+	* l1
+		*l2
+		*l2
+			*l3
+			*l3
+				*l4
+			*l3
+					*l5
+			*l3
+	#one
+	#two
+		#one
+		#two
+	*l1
+		#three
+		#four
+	*l1
+		*l2
+		# one
+		# two
+
+ preformatted text
+ some more text
+
+	*l1
+				*l4
+	# number
+	# number
+this is a plain paragraph
+	* bullet
+this is a plain paragraph again
+	# number
+----
+__Link tests__
+# normal: HomePage
+# in brackets: [HomePage] -- named: [the front page|HomePage]
+# Link in brackets: [http://phpwiki.sourceforge.net/]
+# Link outside brackets: http://phpwiki.sourceforge.net/
+# Link with Wiki word: http://phpwiki.sourceforge.net/phpwiki/index.php?HomePage
+# Two consecutive links: http://phpwiki.sourceforge.net/ http://phpwiki.sourceforge.net/phpwiki/
+# [PhpWiki on Sourceforge | http://phpwiki.sourceforge.net/]
+# [URL with a WikiWord | http://phpwiki.sourceforge.net/phpwiki/index.php?RecentChanges]
+# Javascript: [boo! | javascript:alert('oops') ]  (is now: named internal link)
+# A [[Link] produces a [Link]
+# A [Link] looks like this: [[Link]
+# This is a [%%%] line break link
+# Also this page is [[not linked to], and this one is !NotLinkedTo and this one neither !http://not.linked.to/.
+#* WikiName - WikiNameSameStem -- !!WikiName - !!WikiNameSameStem
+#* !!WikiName - !!WikiNameSameStem -- WikiName - WikiNameSameStem
+#* WikiNameSameStem - WikiName -- !!WikiNameSameStem - !!WikiName
+#* !!WikiNameSameStem - !!WikiName -- WikiNameSameStem - WikiName
+
+----
+Markup tests:
+
+__underscores for bold__
+
+'''quotes for bold'''
+
+''quotes for italic''
+
+__''underscores bold italic''__
+
+'''''five quotes bold italic'''''
+
+''''''six quotes''''''
+
+'''''Bold italic''' and italic'' (buggy)
+
+'''Bold and ''bold-italic''''' (also buggy)
+
+!!! h1
+
+!! h2
+
+! h3
+
+this is plain text with <br>%%%
+a line break
+
+look at the <a href="http://phpwiki.sourceforge.net/">markup language</a>
+
+you cannot use &, < or >
+
+----
+Usage in preformatted text:
+ 
+ __underscores for bold__
+ '''quotes for bold'''
+ ''quotes for italic''
+ __''underscores bold italic''__
+ '''''five quotes bold italic'''''
+ ''''''six quotes''''''
+ !!! h1
+ !! h2
+ ! h3
+ this is plain text with <br>%%%
+ a line break
+ look at the <a href="http://phpwiki.sourceforge.net/">markup language</a>
+ you cannot use &, < or >
+ 
diff -ruN 1.3.12p3/pgsrc/Help%2FOldStyleTablePlugin 1.3.14/pgsrc/Help%2FOldStyleTablePlugin
--- 1.3.12p3/pgsrc/Help%2FOldStyleTablePlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FOldStyleTablePlugin	2007-07-01 05:11:23.000000000 -0500
@@ -0,0 +1,75 @@
+Date: Sun, 4 Jul 2004 01:31:02 -0700
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.4pre)
+X-Rcs-Id: $Id: Help%2FOldStyleTablePlugin,v 1.1 2005/11/21 22:19:00 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FOldStyleTablePlugin;
+  flags="";
+  pgsrc_version="2 $Revision: 1.1 $";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+The OldStyleTablePlugin can be used to include tables within a wiki
+page using the old-style markup syntax for tables.
+
+!!Usage:
+
+<verbatim>
+<?plugin OldStyleTable caption="OldStyleTable" border||=2
+||^  *Name*                |v *Cost*   |v *Notes*
+| *First*     | *Last*
+|> Jeff       |< Dairiki   |^  Cheap   |< Not worth it
+|> Marco      |< Polo      | Cheaper   |< Not available
+?>
+</verbatim>
+
+will get you
+
+<?plugin OldStyleTable caption="OldStyleTable" border||=2
+||^  *Name*                |v *Cost*   |v *Notes*
+| *First*     | *Last*
+|> Jeff       |< Dairiki   |^  Cheap   |< Not worth it
+|> Marco      |< Polo      | Cheaper   |< Not available
+?>
+
+Note that multiple __|__s lead to spanned columns, and __v__s can be
+used to span rows.  A __>__ generates a right justified column, __<__
+a left justified column and __^__ a centered column (which is the
+default.)
+
+!! Plugin Arguments
+
+__caption__:
+
+  Any string. Default: ""
+
+__border__:
+
+  Any number. Default: 1
+
+__cellspacing__:
+
+  Any number. Default: 1
+
+__cellpadding__:
+
+  Any number. Default: 1
+
+__summary__:
+
+  Any string. Default: ""
+
+----
+
+Note that within each table cell, _new-style_ markup is used.  You can
+only use inline markup --- no block level markup is allowed within
+table cells.
+
+(Using old-style markup wouldn't make much sense, since one can't
+include multi-line plugin invocations using the old-style markup
+rules.)
+
+
+-------------
+
+PhpWikiDocumentation Help:WikiPlugin
diff -ruN 1.3.12p3/pgsrc/Help%2FOldTextFormattingRules 1.3.14/pgsrc/Help%2FOldTextFormattingRules
--- 1.3.12p3/pgsrc/Help%2FOldTextFormattingRules	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FOldTextFormattingRules	2007-07-01 05:11:23.000000000 -0500
@@ -0,0 +1,119 @@
+Date: Sun, 31 Dec 2006 12:54:21 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Help%2FOldTextFormattingRules,v 1.2 2007/01/02 13:24:49 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FOldTextFormattingRules;
+  pgsrc_version="2 $Revision: 1.2 $";
+  flags=PAGE_LOCKED;
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+! Synopsis
+Help:OldTextFormattingRules <br>
+<strong>Emphasis:</strong> '<strong></strong>' for <em>italics</em>, _<em></em>~_ for <strong>bold</strong>, '<strong></strong>'_<em></em>~_ for <em><strong>both</strong></em>.%%%
+<strong>Lists:</strong> * for bullet lists, # for numbered lists, <em><strong>;</strong> term <strong>~:</strong> definition</em> for definition lists.%%%
+<strong>References:</strong> ~JoinCapitalizedWords or use square brackets for a ~[page link] or URL ~[~http~://cool.wiki.int/~].%%%
+<strong>Footnotes:</strong> Use ~[1],~[2],~[3],...%%%
+<strong>Preventing linking:</strong> Prefix with "~!": ~!~DoNotHyperlink, name links like ~[~[text | URL] (double up on the "[").%%%
+<strong>Misc:</strong> "~!", "~!~!", "~!~!~!" make headings, "%%<em></em>%" makes a linebreak, "-<em></em>-<em></em>-<em></em>-" makes a horizontal rule.%%%
+<strong>Tables:</strong> | as first char, | for more columns, |> align right, |< align left, |^ centered (default), || span columns, |v span rows
+
+----
+! Paragraphs
+
+* Don't indent paragraphs
+* Words wrap and fill as needed
+* Use blank lines as separators
+* Four or more minus signs make a horizontal rule
+* %%<em></em>% makes a linebreak (in headings and lists too)
+
+
+! Lists
+
+* asterisk for first level
+     * asterisk-asterisk for second level, etc.
+* Use * for bullet lists, # for numbered lists (mix at will)
+* semicolon-term-colon-definition for definition lists:
+;term here:definition here, as in the <DL><DT><DD> list
+* One line for each item
+* Other leading whitespace signals preformatted text, changes font.
+
+! Headings
+
+* '~!' at the start of a line makes a small heading
+* '~!~!' at the start of a line makes a medium heading
+* '~!~!~!' at the start of a line makes a large heading
+
+! Fonts
+
+* Indent with one or more spaces to use a monospace font:
+
+<pre>
+ This is in monospace
+</pre>
+This is not
+
+!Indented Paragraphs
+
+* semicolon-colon -- works like <BLOCKQUOTE>
+
+;:this is an indented block of text
+
+! Emphasis
+
+* Use doubled single-quotes ('<strong></strong>') for emphasis (usually <em>italics</em>)
+* Use doubled underscores (_<em></em>_) for strong emphasis (usually <strong>bold</strong>)
+* Mix them at will: <strong><em>bold italics</em></strong>
+* <em>Emphasis</em> can be used <em>multiple</em> times within a line, but <em>cannot</em> cross line boundaries:
+
+''this
+will not work''
+
+! References
+* Hyperlinks to other pages within the Wiki are made by placing the page name in square brackets: [this is a page link] or UsingWikiWords (preferred)
+* Hyperlinks to external pages are done like this: [http://www.wcsb.org/]
+* You can name the links by providing a name, a bar (|) and then the hyperlink or pagename: [PhpWiki home page | http://phpwiki.sourceforge.net/]  - [the front page | HomePage]
+* You can suppress linking to old-style references and URIs by preceding the word with a '~!', e.g. ~NotLinkedAsWikiName, ~http://not.linked.to/
+* You can create footnotes by using ~[1], ~[2], ~[3], ... like this here #[|ftnt_ref_1]<sup>~[[1|#ftnt_1]~]</sup>. See footnote for counterpart.  (If the ~[ is in the first column, it is a footnote <em>definition</em> rather than a footnote <em>reference</em> #[|ftnt_ref_1]<sup>~[[1|#ftnt_1]~]</sup>.)
+* Also, the old way of linking URL's is still supported: precede URLs with "http:", "ftp:" or "mailto:" to create links automatically as in: http://c2.com/
+* URLs ending with .png, .gif, or .jpg are inlined if in square brackets, by themselves: [http://phpwiki.sourceforge.net/demo/themes/default/images/png.png]
+* Semantic links are named links like: is_a::WikiPage and attributes like size:-4000.
+* A pagelink within square brackets starting with ":" is not backlinked.
+
+! Tables
+
+* Simple tables are available.  A table row is introduced by a <strong>|</strong> in the first column.  It is best described by example:
+<pre>
+      ||  _<em></em>_Name_<em></em>~_               |v _<em></em>_Cost_<em></em>~_   |v _<em></em>_Notes_<em></em>~_
+      | _<em></em>_First_<em></em>~_   | _<em></em>_Last_<em></em>~_
+      |> Jeff       |< Dairiki   |^  Cheap     |< Not worth it
+      |> Marco      |< Polo      | Cheaper     |< Not available
+</pre>
+;:will generate
+<?plugin OldStyleTable
+||  <strong>Name</strong>               |v <strong>Cost</strong>   |v <strong>Notes</strong>
+| <strong>First</strong>   | <strong>Last</strong>
+|> Jeff       |< Dairiki   |^  Cheap     |< Not worth it
+|> Marco      |< Polo      | Cheaper     |< Not available
+?>
+
+;:Note that multiple <strong>|</strong>'s lead to spanned columns, and <strong>v</strong>'s can be used to span rows.  A <strong>></strong> generates a right justified column, <strong><</strong> a left justified column and <strong>^</strong> a centered column (which is the default.)
+;:With the new Help:TextFormatingsRules tables are only supported with the Help:OldStyleTablePlugin.
+
+
+! HTML Mark-Up Language
+
+* Don't bother
+* < and > are themselves
+* The & characters will not work
+* If you really must use HTML, your system administrator can enable this feature. Start each line with a bar (|). Note that this feature is disabled by default.
+
+
+-----
+
+! Footnotes:
+
+#[|ftnt_1]~[[1|#ftnt_ref_1]~]  By using ~[1] a second time (in the first column) the footnote itself is <em>defined</em>.  You may refer to a footnote as many times as you want, but you may only define it once on the page.  Note the the ~[1] in the footnote links back to the first reference, if there are multiple references there will be +'s after the ~[1] which will link to the other references.  (References which come <em>after</em> the footnote <em>definition</em> will not be linked to.)
+----
+PhpWikiDocumentation
diff -ruN 1.3.12p3/pgsrc/Help%2FOrphanedPagesPlugin 1.3.14/pgsrc/Help%2FOrphanedPagesPlugin
--- 1.3.12p3/pgsrc/Help%2FOrphanedPagesPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FOrphanedPagesPlugin	2007-07-01 05:11:23.000000000 -0500
@@ -0,0 +1,38 @@
+Date: Fri, 29 Dec 2006 18:57:39 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Help%2FOrphanedPagesPlugin,v 1.1 2007/01/02 13:26:05 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FOrphanedPagesPlugin;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+_short description_
+
+! Usage
+<verbatim>
+  <?plugin OrphanedPages ?>
+</verbatim>
+
+! Arguments
+
+page _(default: current pagename)_:
+  The page to execute upon.
+
+! Example
+
+<verbatim>
+<?plugin OrphanedPages ?>
+</verbatim>
+
+<?plugin OrphanedPages ?>
+
+! Author
+PhpWiki:ReiniUrban
+
+! See Also
+
+----
+PhpWikiDocumentation Help:WikiPlugin
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/Help%2FPageDumpPlugin 1.3.14/pgsrc/Help%2FPageDumpPlugin
--- 1.3.12p3/pgsrc/Help%2FPageDumpPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FPageDumpPlugin	2007-07-01 05:11:23.000000000 -0500
@@ -0,0 +1,38 @@
+Date: Fri, 29 Dec 2006 18:57:39 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Help%2FPageDumpPlugin,v 1.1 2007/01/02 13:26:05 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FPageDumpPlugin;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+_short description_
+
+! Usage
+<verbatim>
+  <?plugin PageDump ?>
+</verbatim>
+
+! Arguments
+
+page _(default: current pagename)_:
+  The page to execute upon.
+
+! Example
+
+<verbatim>
+<?plugin PageDump ?>
+</verbatim>
+
+<?plugin PageDump ?>
+
+! Author
+PhpWiki:ReiniUrban
+
+! See Also
+
+----
+PhpWikiDocumentation Help:WikiPlugin
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/Help%2FPageGroupPlugin 1.3.14/pgsrc/Help%2FPageGroupPlugin
--- 1.3.12p3/pgsrc/Help%2FPageGroupPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FPageGroupPlugin	2007-07-01 05:11:23.000000000 -0500
@@ -0,0 +1,38 @@
+Date: Fri, 29 Dec 2006 18:57:39 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Help%2FPageGroupPlugin,v 1.1 2007/01/02 13:26:05 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FPageGroupPlugin;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+_short description_
+
+! Usage
+<verbatim>
+  <?plugin PageGroup ?>
+</verbatim>
+
+! Arguments
+
+page _(default: current pagename)_:
+  The page to execute upon.
+
+! Example
+
+<verbatim>
+<?plugin PageGroup ?>
+</verbatim>
+
+<?plugin PageGroup ?>
+
+! Author
+PhpWiki:ReiniUrban
+
+! See Also
+
+----
+PhpWikiDocumentation Help:WikiPlugin
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/Help%2FPageGroupTest 1.3.14/pgsrc/Help%2FPageGroupTest
--- 1.3.12p3/pgsrc/Help%2FPageGroupTest	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FPageGroupTest	2007-07-01 05:11:23.000000000 -0500
@@ -0,0 +1,34 @@
+Date: Tue, 30 Nov 2004 21:46:53 +0100
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.11pre-20041130)
+X-Rcs-Id: $Id: Help%2FPageGroupTest,v 1.1 2005/11/21 22:19:00 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FPageGroupTest;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+Help:PageGroupTest is a test of the ~PageGroup plugin.
+
+Click the first page to start the tour of this experimental plugin.
+
+!Table of Contents
+# [Help:PageGroupTestOne]
+# [Help:PageGroupTestTwo]
+# [Help:PageGroupTestThree]
+# [Help:PageGroupTestFour]
+
+! TODO
+
+* Support ~[ name | page ~] links
+* Support Previous, Next ... image buttons
+
+%%% %%% %%% %%%
+
+----
+
+For reference, here are all the pages that link to [Help:PageGroupTest]
+(note that one is missing):
+
+<?plugin BackLinks page=Help:PageGroupTest ?>
diff -ruN 1.3.12p3/pgsrc/Help%2FPageGroupTestFour 1.3.14/pgsrc/Help%2FPageGroupTestFour
--- 1.3.12p3/pgsrc/Help%2FPageGroupTestFour	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FPageGroupTestFour	2007-07-01 05:11:23.000000000 -0500
@@ -0,0 +1,29 @@
+Date: Thu, 31 Jan 2002 03:02:06 -0500
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.2-jeffs-hacks)
+X-Rcs-Id: $Id: Help%2FPageGroupTestFour,v 1.1 2005/11/21 22:19:00 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FPageGroupTestFour;
+  flags="";
+  author=CarstenKlapp;
+  author_id=CarstenKlapp;
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+So, this is the last page in this page group.
+
+Note that looping of off on this page, so __Next:__ shouldn't show up
+here but it does because of the bug described in Help:PageGroupTestOne.
+
+%%% %%% %%% %%% %%% %%% %%%
+----
+
+<?plugin PageGroup
+        parent=Help:PageGroupTest
+        section="Table of Contents"
+        loop=false
+?>
+
+----
+
+Help:PageGroupTest
diff -ruN 1.3.12p3/pgsrc/Help%2FPageGroupTestOne 1.3.14/pgsrc/Help%2FPageGroupTestOne
--- 1.3.12p3/pgsrc/Help%2FPageGroupTestOne	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FPageGroupTestOne	2007-07-01 05:11:23.000000000 -0500
@@ -0,0 +1,33 @@
+Date: Thu, 31 Jan 2002 02:48:01 -0500
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.2-jeffs-hacks)
+X-Rcs-Id: $Id: Help%2FPageGroupTestOne,v 1.1 2005/11/21 22:19:00 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FPageGroupTestOne;
+  flags="";
+  author=CarstenKlapp;
+  author_id=CarstenKlapp;
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+Ok, this is page one in this page group.
+
+There is a bug. When looping is true (and it is, but only for this
+first page--another possible flaw) and if the Contents title is not
+the first item on the Table of Contents page, and if there are other
+things on the TOC page after the actual list, then things get screwed
+up. Note that the __Previous:__ link below should point to the last
+page. Click Next.
+
+%%% %%% %%% %%% %%% %%% %%%
+
+<?plugin PageGroup
+         label="Other pages in this group"
+         loop=1
+         parent=Help:PageGroupTest
+         section="Table of Contents"
+?>
+
+----
+
+Help:PageGroupTest
diff -ruN 1.3.12p3/pgsrc/Help%2FPageGroupTestThree 1.3.14/pgsrc/Help%2FPageGroupTestThree
--- 1.3.12p3/pgsrc/Help%2FPageGroupTestThree	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FPageGroupTestThree	2007-07-01 05:11:23.000000000 -0500
@@ -0,0 +1,25 @@
+Date: Thu, 31 Jan 2002 02:50:26 -0500
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.2-jeffs-hacks)
+X-Rcs-Id: $Id: Help%2FPageGroupTestThree,v 1.1 2005/11/21 22:19:00 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FPageGroupTestThree;
+  flags="";
+  author=CarstenKlapp;
+  author_id=CarstenKlapp;
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+You're almost there!
+
+%%% %%% %%% %%% %%% %%% %%%
+
+<?plugin PageGroup
+         label="Go!"
+         parent=Help:PageGroupTest
+         section="Table of Contents"
+?>
+
+Note that the navigation bar can be anywhere, it doesn't have to be at
+the bottom or even consistent from page to page. The label can also
+vary--not sure if this is a good thing. Click Next.
diff -ruN 1.3.12p3/pgsrc/Help%2FPageGroupTestTwo 1.3.14/pgsrc/Help%2FPageGroupTestTwo
--- 1.3.12p3/pgsrc/Help%2FPageGroupTestTwo	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FPageGroupTestTwo	2007-07-01 05:11:23.000000000 -0500
@@ -0,0 +1,28 @@
+Date: Thu, 31 Jan 2002 02:53:30 -0500
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.2-jeffs-hacks)
+X-Rcs-Id: $Id: Help%2FPageGroupTestTwo,v 1.1 2005/11/21 22:19:00 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FPageGroupTestTwo;
+  flags="";
+  author=CarstenKlapp;
+  author_id=CarstenKlapp;
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+<?plugin PageGroup
+         parent=Help:PageGroupTest
+         section="Table of Contents"
+?>
+
+----
+
+%%% %%% %%% %%% %%% %%% %%%
+
+Welcome to page two.
+
+It would be nice if this plugin would work together with BackLinks, so
+that it's presence on a page would be detected by the backlink plugin
+without having to actually add a link to the parent: Help:PageGroupTest.
+
+Click Next.
diff -ruN 1.3.12p3/pgsrc/Help%2FPageHistoryPlugin 1.3.14/pgsrc/Help%2FPageHistoryPlugin
--- 1.3.12p3/pgsrc/Help%2FPageHistoryPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FPageHistoryPlugin	2007-07-01 05:11:23.000000000 -0500
@@ -0,0 +1,38 @@
+Date: Fri, 29 Dec 2006 18:57:39 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Help%2FPageHistoryPlugin,v 1.1 2007/01/02 13:26:05 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FPageHistoryPlugin;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+_short description_
+
+! Usage
+<verbatim>
+  <?plugin PageHistory ?>
+</verbatim>
+
+! Arguments
+
+page _(default: current pagename)_:
+  The page to execute upon.
+
+! Example
+
+<verbatim>
+<?plugin PageHistory ?>
+</verbatim>
+
+<?plugin PageHistory ?>
+
+! Author
+PhpWiki:ReiniUrban
+
+! See Also
+
+----
+PhpWikiDocumentation Help:WikiPlugin
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/Help%2FPageInfoPlugin 1.3.14/pgsrc/Help%2FPageInfoPlugin
--- 1.3.12p3/pgsrc/Help%2FPageInfoPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FPageInfoPlugin	2007-07-01 05:11:23.000000000 -0500
@@ -0,0 +1,38 @@
+Date: Fri, 29 Dec 2006 18:57:39 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Help%2FPageInfoPlugin,v 1.1 2007/01/02 13:26:05 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FPageInfoPlugin;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+_short description_
+
+! Usage
+<verbatim>
+  <?plugin PageInfo ?>
+</verbatim>
+
+! Arguments
+
+page _(default: current pagename)_:
+  The page to execute upon.
+
+! Example
+
+<verbatim>
+<?plugin PageInfo ?>
+</verbatim>
+
+<?plugin PageInfo ?>
+
+! Author
+PhpWiki:ReiniUrban
+
+! See Also
+
+----
+PhpWikiDocumentation Help:WikiPlugin
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/Help%2FPagePermissions 1.3.14/pgsrc/Help%2FPagePermissions
--- 1.3.12p3/pgsrc/Help%2FPagePermissions	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FPagePermissions	2007-07-01 05:11:23.000000000 -0500
@@ -0,0 +1,166 @@
+Date: Fri, 15 Oct 2004 19:08:04 -0700
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.10)
+X-Rcs-Id: $Id: Help%2FPagePermissions,v 1.1 2007/01/03 21:27:19 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FPagePermissions;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+!!! Full recursive ACL page permissions support (Solaris / Windows style)
+
+Boolean permissions per page and action (*granted* or *denied*) based on the current users
+group membership is implemented with ACL's (Access Control Lists).
+Opposed to the simplier unix like ugo:rwx system. <br>
+The previous system was only based on action and current user, independent of pages.
+
+A individual page permission may be inherited from its parent pages, and
+from an optional master page ("." or _dotpage'). <br>
+Use predefined default permissions, if a "." page does not exist. <br>
+Pagenames starting with "." have tighter default permissions. (edit, change, list disallowed)
+
+! Order of Evaluation (denial overrides granted, or vice versa?)
+
+The array of permissions is evaluated from top to bottom. <br>
+Access is granted if the next matching *group membership* returns true, denied if false. <br>
+If the group membership is false, the next group is tried. <br>
+If no group membership matches the upper permissions are tried recursively: <br>
+  current page => basepage => "." page => default perms. <br>
+If no group-perm pair grants access, access is denied.
+
+Consider the following perm:
+<verbatim>
+     'change' => array(ACL_ADMIN => false,
+                       ACL_OWNER => true));
+</verbatim>
+  => "Members of ADMIN may not change, the owner may change."
+
+-----
+
+For Authentication see ~WikiUserNew.php, ~WikiGroup.php and main.php
+Page Permissions are in PhpWiki since v1.3.9. 
+I suspect ACL page permissions to degrade performance by 10%
+
+Enable/Disable it in config/config.ini:
+
+  ENABLE_PAGEPERM = true
+
+The defined (and extendable) main.php actions map to simplier access types:
+<verbatim>
+       browse => view
+       edit   => edit
+       create => edit or create
+       remove => remove
+       rename => change
+       store prefs => change
+       list in PageList => list
+</verbatim>
+
+For simplicity we also map the ACL to the posix-style _owner_, _group_ and _world_ groups
+and _read_, _write_, _execute_ perms, in cygwin fashion.
+
+!!! Groups - definition of group membership
+
+See WikiGroup how to enable and where to store user-specific group membership.
+Group methods: database, file, ldap, wikipage, none
+
+ToDo: _explain better._
+
+The following special groups are always predefined, even if no other group methods are provided:
+
+* _EVERY
+* _ANONYMOUS
+* _BOGOUSER
+* _HASHOMEPAGE
+* _SIGNED
+* _AUTHENTICATED
+* _ADMIN
+* _OWNER
+* _CREATOR
+
+Those special groups are stored in a page acl as locale-independent string.
+  *Todo*: See the available translations for these special groups.
+Other group names are safed as defined by the group methods. (e.g. "Other Users")
+
+!!! Perms - mapping of actions to permissions
+
+PhpWiki supports individual actions, the default is browse. To simplify ACL's these
+actions are mapped to some special permissions (vulgo _'perms'_).
+
+We currently support the following permissions which can be stored in every page, for every group.
+
+* 'list'     List this page and all subpages (for PageList)
+* 'view'     View this page and all subpages
+* 'edit'     Edit this page and all subpages
+* 'create'   Create a new (sub)page
+* 'dump'     Download the page contents
+* 'change'   Change page attributes
+* 'remove'   Remove this page
+
+There are no plans to support additional custom perms. The API can handle that, but there's no UI,
+and it would be only specific for certain plugins, which check permissions by their own.
+
+! Action <=> Perm mapping
+
+Those perms are mapped to those actions. [ActionPages|Help:ActionPage] (plugins) check their access restrictions by themselves.
+
+list:
+  _none, 'list' is checked for every pagename listed in PageList, to prevent from being listed in AllPages._
+
+view:
+  browse, viewsource, diff, select, xmlrpc, search, pdf
+
+dump:
+  zip, ziphtml, dumpserial, dumphtml
+
+edit:
+  revert, edit
+
+create:
+  _edit or create, if the page doesn't exist yet_
+
+change:
+  upload, loadfile, remove, lock, unlock, upgrade, chown, setacl, rename. %%%
+  all other actionpages which are not wikiwords.
+
+!! Default Permissions
+
+<verbatim>
+        $perm = array('view'   => array(ACL_EVERY => true),
+                      'edit'   => array(ACL_EVERY => true),
+                      'create' => array(ACL_EVERY => true),
+                      'list'   => array(ACL_EVERY => true),
+                      'remove' => array(ACL_ADMIN => true,
+                                        ACL_OWNER => true),
+                      'change' => array(ACL_ADMIN => true,
+                                        ACL_OWNER => true));
+        if (ZIPDUMP_AUTH)
+            $perm['dump'] = array(ACL_ADMIN => true,
+                                  ACL_OWNER => true);
+        else
+            $perm['dump'] = array(ACL_EVERY => true);
+        // view:
+        if (!ALLOW_ANON_USER) {
+            if (!ALLOW_USER_PASSWORDS)
+            	$perm['view'] = array(ACL_SIGNED => true);
+            else
+            	$perm['view'] = array(ACL_AUTHENTICATED => true);
+            $perm['view'][ACL_BOGOUSER] = ALLOW_BOGO_LOGIN ? true : false;
+        }
+        // edit:
+        if (!ALLOW_ANON_EDIT) {
+            if (!ALLOW_USER_PASSWORDS)
+            	$perm['edit'] = array(ACL_SIGNED => true);
+            else
+            	$perm['edit'] = array(ACL_AUTHENTICATED => true);
+            $perm['edit'][ACL_BOGOUSER] = ALLOW_BOGO_LOGIN ? true : false;
+            $perm['create'] = $perm['edit'];
+        }
+        return $perm;
+</verbatim>
+
+Source: [PhpWikiCvs:lib/PagePerm.php]
+-----
+PhpWikiDocumentation
diff -ruN 1.3.12p3/pgsrc/Help%2FPageTrailPlugin 1.3.14/pgsrc/Help%2FPageTrailPlugin
--- 1.3.12p3/pgsrc/Help%2FPageTrailPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FPageTrailPlugin	2007-07-01 05:11:23.000000000 -0500
@@ -0,0 +1,46 @@
+Date: Fri, 29 Dec 2006 18:57:39 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Help%2FPageTrailPlugin,v 1.1 2007/01/02 13:26:05 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FPageTrailPlugin;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+Displays the recently visited pages.
+
+! Usage
+Typically add to some template at the top or at the bottom. See themes/blog.
+
+<verbatim>
+ <?plugin PageTrail?>
+ <?plugin PageTrail numberlinks=5?>
+ <?plugin PageTrail invisible=1?>
+/verbatim>
+
+! Arguments
+
+page _(default: current pagename)_:
+  The page to execute upon.
+
+! Optional Configuration
+
+define('PAGETRAIL_ARROW', " => ") in the sourcecode or add it to config.ini
+
+! Example
+
+<verbatim>
+<?plugin PageTrail ?>
+</verbatim>
+
+<?plugin PageTrail ?>
+
+! Author
+PhpWiki:CarstenKlapp ?
+
+! See Also
+
+----
+PhpWikiDocumentation Help:WikiPlugin
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/Help%2FPasswordResetPlugin 1.3.14/pgsrc/Help%2FPasswordResetPlugin
--- 1.3.12p3/pgsrc/Help%2FPasswordResetPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FPasswordResetPlugin	2007-07-01 05:11:23.000000000 -0500
@@ -0,0 +1,34 @@
+Date: Wed, 11 Oct 2006 09:16:43 +0200
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Help%2FPasswordResetPlugin,v 1.3 2007/01/03 21:27:02 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FPasswordResetPlugin;
+  pgsrc_version="2 $Revision: 1.3 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+The PasswordReset Help:WikiPlugin requires an Help:ActionPage with the content 
+=<~?plugin ~PasswordReset ?~>= to be able the reset user passwords.
+
+Any Administrator may reset (i.e. delete) any users password. The user may login with an empty 
+password then or set a new one at the sign in page.
+
+A normal user may only reset a users password who has his email address defined. 
+For users with undefined email address you have to ask an Administrator to reset any password.
+
+Authenticated users should change their passwords at their UserPreferences page.
+
+! Usage:
+<verbatim>
+  <?plugin PasswordReset ?>
+</verbatim>
+
+!! Plugin Arguments:
+__user__:
+  username to reset the password. (optional)
+
+-----
+
+PhpWikiDocumentation Help:WikiPlugin
diff -ruN 1.3.12p3/pgsrc/Help%2FPhotoAlbumPlugin 1.3.14/pgsrc/Help%2FPhotoAlbumPlugin
--- 1.3.12p3/pgsrc/Help%2FPhotoAlbumPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FPhotoAlbumPlugin	2007-07-01 05:11:23.000000000 -0500
@@ -0,0 +1,135 @@
+Date: Tue, 20 Sep 2005 20:18:39 +0100
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.12pre-20050918)
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FPhotoAlbumPlugin;
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+!!! Summary
+Makes an 'album' by displaying a set of photos listed in a text file
+with optional descriptions.
+
+!!! Usage
+<verbatim>
+<?plugin PhotoAlbum
+         src=http://server/textfile
+         mode=[column|row]
+         align=[center|left|right]
+         desc=true
+         sort=false
+         height=100%
+         width=100%
+         weblocation=>false
+?>
+</verbatim>
+
+!!! Arguments
+_Only the ='src'= parameter is mandatory._
+
+*src*:
+  Url or local path to a CSV textfile which separates filename and 
+  description of each photo. Photos listed in the text file have to be in same
+  directory as the file. Descriptions are optional.
+  If the the local path points to a directory, is relative from PHPWIKI_DIR, 
+  and the main script is in PHPWIKI_DIR, weblocation must not be given, and 
+  all pictures from this directory are displayed.
+
+*url*: 
+  defines the the webpath to the srcdir directory (formerly called weblocation)
+
+*mode*:
+  Specifies how the images are arranged.
+
+  * "normal" - Normal table which shows photos full-size
+  * "thumbs" - WinXP thumbnail style
+  * "tiles"  - WinXP tiles style
+  * "list"   - WinXP list style
+  * "slide"  - slideshow mode, needs javascript on client
+
+*showdesc*:
+  "none"   - No descriptions next to photos %%%
+  "name"   - Only filename shown %%%
+  "desc"   - Only description (from textfile) shown %%%
+  "both"   - If no description found, then filename will be used %%%
+
+*link*: 
+  true or false
+  If true, each image will be hyperlinked to a page where the single 
+  photo will be shown full-size. Only works when mode != 'normal'
+
+*align*:
+  center|right|left. Default is ='center'=.
+
+*desc*:
+  Display any descriptions given in the text file. Default is true.
+
+*sort*:
+  Sort images by file name. By default the order in the text file is
+  followed.
+
+*bgcolor*:
+  Default: #eae8e8  cell bgcolor (lightgrey)
+
+*hlcolor*:
+  Default: #c0c0ff  highlight color (lightblue)
+
+*height*, *width*:
+  Height and width are calculated compared to original metrics
+  retrieved by [php-function:getimagesize] and can be absolute (50px) 
+  or a percentage (e.g. "50%").
+
+*attrib*:
+  attrib arg allows multiple attributes: attrib=sort,nowrap,alt
+  'sort' sorts alphabetically, 'nowrap' for cells, 'alt' to use
+  descs instead of filenames in image ALT-tags
+
+*cellwidth*:
+  cell (auto|equal|image|75|100%)
+
+  Width of cells in table. Either absolute value in pixels, HTML
+  style percentage, "auto" (no special action), "equal" (where
+  all columns are equally sized) or "image" (take height and
+  width of the photo in that cell).
+
+*tablewidth*: (Optional)
+  table (75|100%)
+
+*p*:    (Optional)
+  "displaythissinglephoto.jpg" only
+
+*h*: (Optional)
+  "highlightcolorofthisphoto.jpg" only
+
+!!! Examples
+!! Text file
+Possible content of a valid text file:
+
+<verbatim>
+photo-01.jpg; My girlfriend and I
+photo-02.jpg
+christmas.gif; Merry Christmas!
+</verbatim>
+
+!! Sample Albums
+local dir:
+<?plugin PhotoAlbum
+         src="themes/Hawaiian/images/pictures/"
+?>
+or via external url:
+<verbatim>
+<?plugin PhotoAlbum
+         src="http://phpwiki.sourceforge.net/demo/themes/Hawaiian/images/pictures/PhotoAlbum.csv"
+</verbatim>
+?>
+
+[ /Slides ]
+
+!!! Plugin Authors
+* [Ted Vinke|mailto:teddy@jouwfeestje.com] Original author
+* [ReiniUrban|PhpWiki:ReiniUrban] local fs
+* [ThomasHarding|PhpWiki:ThomasHarding] slides and thumbs
+
+----
+PhpWikiDocumentation Help:WikiPlugin
diff -ruN 1.3.12p3/pgsrc/Help%2FPhotoAlbumPlugin%2FSlides 1.3.14/pgsrc/Help%2FPhotoAlbumPlugin%2FSlides
--- 1.3.12p3/pgsrc/Help%2FPhotoAlbumPlugin%2FSlides	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FPhotoAlbumPlugin%2FSlides	2007-07-01 05:11:23.000000000 -0500
@@ -0,0 +1,17 @@
+Date: Tue, 20 Sep 2005 20:31:19 +0100
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.12pre-20050918)
+X-Rcs-Id: $Id: Help%2FPhotoAlbumPlugin%2FSlides,v 1.1 2005/11/21 22:19:00 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FPhotoAlbumPlugin%2FSlides;
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+[ Back | Help/PhotoAlbumPlugin ]
+
+<?plugin PhotoAlbum
+         src="themes/Hawaiian/images/pictures/"
+         mode=slide
+         duration=1
+?>
diff -ruN 1.3.12p3/pgsrc/Help%2FPhpHighlightPlugin 1.3.14/pgsrc/Help%2FPhpHighlightPlugin
--- 1.3.12p3/pgsrc/Help%2FPhpHighlightPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FPhpHighlightPlugin	2007-07-01 05:11:23.000000000 -0500
@@ -0,0 +1,115 @@
+Date: Sun, 4 Jul 2004 01:31:02 -0700
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.4pre)
+X-Rcs-Id: $Id: Help%2FPhpHighlightPlugin,v 1.1 2005/11/21 22:19:00 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FPhpHighlightPlugin;
+  flags="";
+  pgsrc_version="2 $Revision: 1.1 $";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+The PhpHighlightPlugin pretty-prints PHP code using the
+php-function:highlight-string. 
+
+See also SyntaxHighlighterPlugin for highlighting other languages.
+
+!!! Usage
+
+You specify options for the plugin on the same line as the =<?plugin=,
+and put the code on the following lines, until the final =?>=:
+
+<verbatim>
+<?plugin PhpHighlight [wrap?] [color options]
+code to be highlighted
+?>
+</verbatim>
+
+!!! Description
+
+Depending on the =wrap= option, then the plugin will take care of
+adding =<?php= and =?>= to the code before passing it to
+php-function:highlight-string. If the PHP delimiters were added, then
+the plugin removes them again from the highlighted string, before
+presenting it.
+
+!!! Options
+
+Automatic Wrapping:
+
+  If you don't want the plugin to automatically wrap the source code
+  in =<?php= and =?>=, then set =wrap= to =0=. The default value is =1=
+  which means that the plugin takes care of adding and removing
+  =<?php= and =?>= automatically.
+
+  If you set =wrap= to =0=, then you'll be able to mix PHP code with
+  HTML. The plugin will then translate '=< ?php=' into '=<?php=' and
+  '=? >=' into '=?>=' to allow you to start and stop PHP mode in your
+  code.
+
+Color Options:
+
+  The plugin accepts optional color arguments which correspond to the
+  highlight settings in *php.ini*. Specified colors must be a valid
+  hexadecimal color or
+  [HTML 4 color name|http://www.w3.org/TR/REC-html40/types.html#h-6.5]
+  in lowercase, such as ='#0f0344'= or =blue=. You can set the
+  following options:
+
+  =string=, =comment=, =keyword=, =bg=, =default=, and =html=
+
+!!! Examples
+
+!! PHP with default colors from =php.ini=:
+
+<?plugin PhpHighlight
+function hello() {
+    echo "Hello World<p>";
+}
+?>
+
+!! HTML with embedded PHP
+
+Here we have to use =wrap=0= to prevent automatic wrapping, and escape
+'=?>=' as '=? >=':
+
+<?plugin PhpHighlight wrap=0 html='#000000' bg='#dddddd'
+<html>
+  <head>
+    <title>PHP Test</title>
+  </head>
+  <body>
+    < ?php echo "<p>Hello World</p>\n"; ? >
+  </body>
+</html>
+?>
+
+!! C Source
+
+Although =highlight_string()= was designed with PHP code in mind it is
+suitable for basic syntax-highlighting of most C code because the two
+syntax are similar.
+
+<?plugin PhpHighlight default=black string=blue comment=gray keyword=purple
+#include <stdio.h>
+/* Get load */
+int
+getload(void)
+{
+    if ((fp = fopen("/proc/loadavg", "r")) == NULL) {
+        syslog(LOG_ERR, _("%s %s: unable to open %s: %s"), _("FATAL ERROR:"),
+              "getload()", "/proc/loadavg", strerror(errno));
+        exit(EX_OSFILE);
+    }
+    fclose(fp);
+}
+?>
+
+!!! Authors
+
+Martin Geisler mailto:gimpster@gimpster.com and Carsten Klapp
+mailto:carstenklapp@users.sourceforge.net.
+
+-----
+
+PhpWikiDocumentation Help:WikiPlugin
diff -ruN 1.3.12p3/pgsrc/Help%2FPhpWeatherPlugin 1.3.14/pgsrc/Help%2FPhpWeatherPlugin
--- 1.3.12p3/pgsrc/Help%2FPhpWeatherPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FPhpWeatherPlugin	2007-07-01 05:11:23.000000000 -0500
@@ -0,0 +1,73 @@
+Date: Sun, 4 Jul 2004 01:31:02 -0700
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.4)
+X-Rcs-Id: $Id: Help%2FPhpWeatherPlugin,v 1.1 2005/11/21 22:19:00 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FPhpWeatherPlugin;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+!!! Synopsis
+
+The ~PhpWeatherPlugin is a Help:WikiPlugin that uses PhpWeather to display
+a block of text with the current weather for some airport in the
+world. It looks like this:
+
+<?plugin PhpWeather menu=true ?>
+
+!!! Plugin Arguments
+
+__menu__:
+  Set this to =true= to have the plugin generate a menu after the
+  report. The user will able to select a country from this menu, and
+  after that, an airport and a language. The default value is
+  <tt>false</tt>.
+
+__icao__:
+  Use this to pre-select a specific airport instead of using the
+  default one which is <tt>EKAH</tt>. If you want the user to be able
+  to change the station using the menu, then you have to use this as
+  <verbatim>
+  <?plugin PhpWeather menu=true icao||=EKYT ?>
+  </verbatim>
+  so that the value can be overwritten when the user submits the
+  form. If you just use
+  <verbatim>
+  <?plugin PhpWeather menu=true icao=EKYT ?>
+  </verbatim>
+  then nothing will happen when the user selects another station from
+  the list.
+
+__cc__:
+  Specify the country code. You can use this if you want pre-select a
+  different country than the one specified in the ICAO. So using
+  <verbatim>
+  <?plugin PhpWeather menu=true cc||=GB icao||=KTTS ?>
+  </verbatim>
+  will show the current weather at the NASA Shuttle Facility, United
+  States (<tt>KTTS</tt>) and at the same time give the user a list of
+  stations in the United Kingdom. As the example shows, then you
+  should use <tt>cc||=XX</tt> when combining it with __menu__ set to
+  <tt>true</tt>.
+
+__language__:
+  The default language. When combining __language__ with __menu__ set
+  to <tt>true</tt> then remember to use the <code>language||=xx</code>
+  form.
+
+__units__:
+  You can specify the way the units are printed. The choice is between
+  having both metric and imperial units printed, or just one of
+  them. Setting __units__ to =both_metric= will print the metric value
+  first and then the imperial value in parenthesis. Using
+  =both_imperial= instead will do the opposite.
+
+  If you only need the metric or imperial units to be shown, then
+  setting __units__ to =only_metric= or =only_imperial= will do just
+  that.
+
+----
+
+PhpWikiDocumentation Help:WikiPlugin
diff -ruN 1.3.12p3/pgsrc/Help%2FPloticusPlugin 1.3.14/pgsrc/Help%2FPloticusPlugin
--- 1.3.12p3/pgsrc/Help%2FPloticusPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FPloticusPlugin	2007-07-01 05:11:23.000000000 -0500
@@ -0,0 +1,154 @@
+Date: Tue, 2 Jan 2007 13:30:17 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Help%2FPloticusPlugin,v 1.2 2007/01/03 21:27:11 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FPloticusPlugin;
+  pgsrc_version="2 $Revision: 1.2 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+The Ploticus WikiPlugin passes all its arguments to the ploticus
+binary and displays the result as PNG, GIF, EPS, SVG, SVGZ or SWF.
+Ploticus is a free, GPL, non-interactive software package
+for producing plots, charts, and graphics from data.
+See http://ploticus.sourceforge.net/doc/welcome.html
+
+Ploticus uses a cache expire date of days.
+
+! Usage
+<verbatim>
+  <?plugin Ploticus device||=png [ploticus options...]
+     multiline ploticus script ...
+  ?>
+</verbatim>
+
+or without any script: (not tested)
+
+<verbatim>
+<?plugin Ploticus -prefab vbars
+	data=myfile.dat delim=tab y=1 
+	clickmapurl="http://mywiki.url/wiki/?pagename=@2" 
+	clickmaplabel="@3" -csmap 
+?>
+</verbatim>
+
+TODO: PloticusSql - create intermediate data from SQL. Similar to [SqlResult|Help:SqlResultPlugin], 
+just in graphic form.
+For example to produce nice looking pagehit statistics or ratings statistics.
+Ploticus has its own sql support within #getproc data, but this would expose security information.
+
+! Plugin Arguments
+__device__: |
+  gif, png, jpeg, svg, svgz, eps, swf. Any -T parameter supported by ploticus. Default: png
+__data__:  |
+  optionally add data by <!plugin-list !> pagelist plugins.  See Help:WikiPlugin
+__alt__:  |
+  alt text for the image
+__-prefab__:  |
+  use the given prefab script (may need PLOTICUS_PREFABS)
+__-csmap__:  |
+  If a clickable map should be produced (not yet tested)
+  passed to ploticus as -csmap -mapfile $tempfile.map 
+__help__:  |
+  Show a help screen
+
+All other arguments are used as source to ploticus.
+
+! Known Problems
+
+# For windows you need either a gd library with GIF support or
+  a ploticus with PNG support. This comes only with the cygwin 
+  build so far.
+
+! Optional Configuration
+
+config.ini:
+  PLOTICUS_EXE = pl.exe (on windows)
+  PLOTICUS_EXE = /usr/local/bin/pl (elsewhere)
+
+prefabs need the environment variable PLOTICUS_PREFABS. Default: /usr/share/ploticus.
+Maybe also set by the config variable PLOTICUS_PREFABS.
+
+See also [WikiPluginCached|Help:WikiPluginCached] options in config.ini.
+
+! Examples
+
+<?plugin Ploticus device||=png
+#proc page
+#if @DEVICE in gif,png
+  scale: 0.7
+#endif
+
+//  specify data using {proc getdata}
+#proc getdata
+data:	Brazil 22
+	Columbia 17
+	"Costa Rica" 22
+	Guatemala 3
+	Honduras 12
+	Mexico 14
+	Nicaragua 28
+	Belize 9
+ 	United\nStates 21
+	Canada 8
+
+//  render the pie graph using {proc pie}
+#proc pie
+firstslice: 90
+explode: .2 0 0 0 0  .2 0
+datafield: 2
+labelfield: 1
+labelmode: line+label
+center: 4 4
+radius: 2
+colors: yellow pink pink pink pink yellow pink
+labelfarout: 1.05
+?>
+
+The pie chart above was produced by this code from the ploticus
+testsuite:
+
+<verbatim>
+<?plugin Ploticus device||=png alt="Sample Pie Chart"
+#proc page
+#if @DEVICE in gif,png
+  scale: 0.7
+#endif
+
+//  specify data using {proc getdata}
+#proc getdata
+data:	Brazil 22
+	Columbia 17
+	"Costa Rica" 22
+	Guatemala 3
+	Honduras 12
+	Mexico 14
+	Nicaragua 28
+	Belize 9
+ 	United\nStates 21
+	Canada 8
+
+//  render the pie graph using {proc pie}
+#proc pie
+firstslice: 90
+explode: .2 0 0 0 0  .2 0
+datafield: 2
+labelfield: 1
+labelmode: line+label
+center: 4 4
+radius: 2
+colors: yellow pink pink pink pink yellow pink
+labelfarout: 1.05
+?>
+</verbatim>
+
+
+! Author
+PhpWiki:ReiniUrban
+
+! See Also
+Help:GraphVizPlugin
+----
+PhpWikiDocumentation Help:WikiPlugin
diff -ruN 1.3.12p3/pgsrc/Help%2FPluginManagerPlugin 1.3.14/pgsrc/Help%2FPluginManagerPlugin
--- 1.3.12p3/pgsrc/Help%2FPluginManagerPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FPluginManagerPlugin	2007-07-01 05:11:23.000000000 -0500
@@ -0,0 +1,45 @@
+Date: Fri, 29 Dec 2006 18:57:39 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Help%2FPluginManagerPlugin,v 1.1 2007/01/02 13:26:05 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FPluginManagerPlugin;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+Provides a dynamic list of plugins on this wiki.
+
+! Usage
+<verbatim>
+  <?plugin PluginManager info=args ?>
+</verbatim>
+
+! Arguments
+
+info _(default: args)_:
+  Display the arguments also. Default: enabled
+  To disable use something like info=0
+
+! Configuration
+
+define('REQUIRE_ADMIN', true) in the sourcecode to disable general usage.
+
+! Example
+
+<verbatim>
+<?plugin PluginManager ?>
+</verbatim>
+
+<?plugin PluginManager ?>
+
+! Author
+PhpWiki:JeffDairiki ?
+
+! See Also
+
+PluginManager
+
+----
+PhpWikiDocumentation Help:WikiPlugin
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/Help%2FPopularNearbyPlugin 1.3.14/pgsrc/Help%2FPopularNearbyPlugin
--- 1.3.12p3/pgsrc/Help%2FPopularNearbyPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FPopularNearbyPlugin	2007-07-01 05:11:23.000000000 -0500
@@ -0,0 +1,38 @@
+Date: Fri, 29 Dec 2006 18:57:39 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Help%2FPopularNearbyPlugin,v 1.1 2007/01/02 13:26:05 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FPopularNearbyPlugin;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+_short description_
+
+! Usage
+<verbatim>
+  <?plugin PopularNearby ?>
+</verbatim>
+
+! Arguments
+
+page _(default: current pagename)_:
+  The page to execute upon.
+
+! Example
+
+<verbatim>
+<?plugin PopularNearby ?>
+</verbatim>
+
+<?plugin PopularNearby ?>
+
+! Author
+PhpWiki:ReiniUrban
+
+! See Also
+
+----
+PhpWikiDocumentation Help:WikiPlugin
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/Help%2FPopUpPlugin 1.3.14/pgsrc/Help%2FPopUpPlugin
--- 1.3.12p3/pgsrc/Help%2FPopUpPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FPopUpPlugin	2007-07-01 05:11:23.000000000 -0500
@@ -0,0 +1,38 @@
+Date: Fri, 29 Dec 2006 18:57:39 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Help%2FPopUpPlugin,v 1.1 2007/01/02 13:26:05 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FPopUpPlugin;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+_short description_
+
+! Usage
+<verbatim>
+  <?plugin PopUp ?>
+</verbatim>
+
+! Arguments
+
+page _(default: current pagename)_:
+  The page to execute upon.
+
+! Example
+
+<verbatim>
+<?plugin PopUp ?>
+</verbatim>
+
+<?plugin PopUp ?>
+
+! Author
+PhpWiki:ReiniUrban
+
+! See Also
+
+----
+PhpWikiDocumentation Help:WikiPlugin
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/Help%2FPreferenceAppPlugin 1.3.14/pgsrc/Help%2FPreferenceAppPlugin
--- 1.3.12p3/pgsrc/Help%2FPreferenceAppPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FPreferenceAppPlugin	2007-07-01 05:11:23.000000000 -0500
@@ -0,0 +1,38 @@
+Date: Fri, 29 Dec 2006 18:57:39 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Help%2FPreferenceAppPlugin,v 1.1 2007/01/02 13:26:05 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FPreferenceAppPlugin;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+_short description_
+
+! Usage
+<verbatim>
+  <?plugin PreferenceApp ?>
+</verbatim>
+
+! Arguments
+
+page _(default: current pagename)_:
+  The page to execute upon.
+
+! Example
+
+<verbatim>
+<?plugin PreferenceApp ?>
+</verbatim>
+
+<?plugin PreferenceApp ?>
+
+! Author
+PhpWiki:ReiniUrban
+
+! See Also
+
+----
+PhpWikiDocumentation Help:WikiPlugin
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/Help%2F_PreferencesInfoPlugin 1.3.14/pgsrc/Help%2F_PreferencesInfoPlugin
--- 1.3.12p3/pgsrc/Help%2F_PreferencesInfoPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2F_PreferencesInfoPlugin	2007-07-01 05:11:25.000000000 -0500
@@ -0,0 +1,38 @@
+Date: Tue, 2 Jan 2007 13:30:17 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Help%2F_PreferencesInfoPlugin,v 1.2 2007/01/03 21:27:37 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2F_PreferencesInfoPlugin;
+  pgsrc_version="2 $Revision: 1.2 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+_short description_
+
+! Usage
+<verbatim>
+  <?plugin _PreferencesInfo ?>
+</verbatim>
+
+! Arguments
+
+page _(default: current pagename)_:
+  The page to execute upon.
+
+! Example
+
+<verbatim>
+<?plugin _PreferencesInfo ?>
+</verbatim>
+
+<?plugin _PreferencesInfo ?>
+
+! Author
+PhpWiki:ReiniUrban
+
+! See Also
+
+----
+PhpWikiDocumentation Help:WikiPlugin
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/Help%2FPrevNextPlugin 1.3.14/pgsrc/Help%2FPrevNextPlugin
--- 1.3.12p3/pgsrc/Help%2FPrevNextPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FPrevNextPlugin	2007-07-01 05:11:23.000000000 -0500
@@ -0,0 +1,38 @@
+Date: Fri, 29 Dec 2006 18:57:39 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Help%2FPrevNextPlugin,v 1.1 2007/01/02 13:26:05 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FPrevNextPlugin;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+_short description_
+
+! Usage
+<verbatim>
+  <?plugin PrevNext ?>
+</verbatim>
+
+! Arguments
+
+page _(default: current pagename)_:
+  The page to execute upon.
+
+! Example
+
+<verbatim>
+<?plugin PrevNext ?>
+</verbatim>
+
+<?plugin PrevNext ?>
+
+! Author
+PhpWiki:ReiniUrban
+
+! See Also
+
+----
+PhpWikiDocumentation Help:WikiPlugin
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/Help%2FRandomPagePlugin 1.3.14/pgsrc/Help%2FRandomPagePlugin
--- 1.3.12p3/pgsrc/Help%2FRandomPagePlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FRandomPagePlugin	2007-07-01 05:11:23.000000000 -0500
@@ -0,0 +1,38 @@
+Date: Fri, 29 Dec 2006 18:57:39 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Help%2FRandomPagePlugin,v 1.1 2007/01/02 13:26:05 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FRandomPagePlugin;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+_short description_
+
+! Usage
+<verbatim>
+  <?plugin RandomPage ?>
+</verbatim>
+
+! Arguments
+
+page _(default: current pagename)_:
+  The page to execute upon.
+
+! Example
+
+<verbatim>
+<?plugin RandomPage ?>
+</verbatim>
+
+<?plugin RandomPage ?>
+
+! Author
+PhpWiki:ReiniUrban
+
+! See Also
+
+----
+PhpWikiDocumentation Help:WikiPlugin
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/Help%2FRateItPlugin 1.3.14/pgsrc/Help%2FRateItPlugin
--- 1.3.12p3/pgsrc/Help%2FRateItPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FRateItPlugin	2007-07-01 05:11:23.000000000 -0500
@@ -0,0 +1,38 @@
+Date: Fri, 29 Dec 2006 18:57:39 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Help%2FRateItPlugin,v 1.1 2007/01/02 13:26:05 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FRateItPlugin;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+_short description_
+
+! Usage
+<verbatim>
+  <?plugin RateIt ?>
+</verbatim>
+
+! Arguments
+
+page _(default: current pagename)_:
+  The page to execute upon.
+
+! Example
+
+<verbatim>
+<?plugin RateIt ?>
+</verbatim>
+
+<?plugin RateIt ?>
+
+! Author
+PhpWiki:ReiniUrban
+
+! See Also
+
+----
+PhpWikiDocumentation Help:WikiPlugin
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/Help%2FRawHtmlPlugin 1.3.14/pgsrc/Help%2FRawHtmlPlugin
--- 1.3.12p3/pgsrc/Help%2FRawHtmlPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FRawHtmlPlugin	2007-07-01 05:11:23.000000000 -0500
@@ -0,0 +1,57 @@
+Date: Sun, 4 Jul 2004 01:31:02 -0700
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.7)
+X-Rcs-Id: $Id: Help%2FRawHtmlPlugin,v 1.1 2005/11/21 22:19:00 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FRawHtmlPlugin;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+<b>With this plugin you can embed raw unfiltered HTML in the page source; say, for example, you want to put in a complicated set of nested tables to display data. By default, raw HTML is not allowed in most Wikis due to security problems (because malicious users can insert redirects, Javascript, etc.)</b>
+
+<b>For this plugin to work, the page must be locked by the administrator. If you are seeing the raw HTML being displayed below, instead of rendered, try locking the page (log in as the administrator first).</b>
+
+<?plugin RawHtml
+
+<!-- Keep link lines at 72 characters or lynx will break them poorly. -->
+<!-- Obviously, we list ONLY the most useful/important URLs here. -->
+<!-- Keep it short and sweet: 3 lines and 2 columns is already enough -->
+
+<table border="1" cellpadding="10">
+<tr><td>Sample HTML from www.gnu.org</td>
+<td>
+
+<!-- Keep link lines at 72 characters or lynx will break them poorly. -->
+<!-- Obviously, we list ONLY the most useful/important URLs here. -->
+<!-- Keep it short and sweet: 3 lines and 2 columns is already enough -->
+
+<table>
+  <tr>
+    <td align="left">
+    <ul>
+      <li><a href="http://www.gnu.org//provide.html">What we provide</a></li>
+      <li><a href="http://www.gnu.org//philosophy/philosophy.html">Why we exist</a></li>
+
+      <li><a href="http://www.gnu.org//gnu/gnu-history.html">Where we are going</a></li>
+    </ul>
+    </td>
+    <td>
+    <ul>
+      <li><a href="http://www.gnu.org//help/help.html">How you can help us get there</a></li>
+      <li><a href="http://www.gnu.org//people/people.html">Who we are</a></li>
+
+      <li><a href="http://www.gnu.org//testimonials/testimonials.html">What users think of GNU software</a></li>
+    </ul>
+    </td>
+  </tr>
+</table>
+</td>
+</tr>
+</table>
+?>
+
+-------------
+
+PhpWikiDocumentation Help:WikiPlugin
diff -ruN 1.3.12p3/pgsrc/Help%2FRecentChangesCachedPlugin 1.3.14/pgsrc/Help%2FRecentChangesCachedPlugin
--- 1.3.12p3/pgsrc/Help%2FRecentChangesCachedPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FRecentChangesCachedPlugin	2007-07-01 05:11:23.000000000 -0500
@@ -0,0 +1,38 @@
+Date: Fri, 29 Dec 2006 18:57:39 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Help%2FRecentChangesCachedPlugin,v 1.1 2007/01/02 13:26:05 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FRecentChangesCachedPlugin;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+_short description_
+
+! Usage
+<verbatim>
+  <?plugin RecentChangesCached ?>
+</verbatim>
+
+! Arguments
+
+page _(default: current pagename)_:
+  The page to execute upon.
+
+! Example
+
+<verbatim>
+<?plugin RecentChangesCached ?>
+</verbatim>
+
+<?plugin RecentChangesCached ?>
+
+! Author
+PhpWiki:ReiniUrban
+
+! See Also
+
+----
+PhpWikiDocumentation Help:WikiPlugin
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/Help%2FRecentChangesPlugin 1.3.14/pgsrc/Help%2FRecentChangesPlugin
--- 1.3.12p3/pgsrc/Help%2FRecentChangesPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FRecentChangesPlugin	2007-07-01 05:11:23.000000000 -0500
@@ -0,0 +1,38 @@
+Date: Fri, 29 Dec 2006 18:57:39 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Help%2FRecentChangesPlugin,v 1.1 2007/01/02 13:26:05 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FRecentChangesPlugin;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+_short description_
+
+! Usage
+<verbatim>
+  <?plugin RecentChanges ?>
+</verbatim>
+
+! Arguments
+
+page _(default: current pagename)_:
+  The page to execute upon.
+
+! Example
+
+<verbatim>
+<?plugin RecentChanges ?>
+</verbatim>
+
+<?plugin RecentChanges ?>
+
+! Author
+PhpWiki:ReiniUrban
+
+! See Also
+
+----
+PhpWikiDocumentation Help:WikiPlugin
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/Help%2FRecentCommentsPlugin 1.3.14/pgsrc/Help%2FRecentCommentsPlugin
--- 1.3.12p3/pgsrc/Help%2FRecentCommentsPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FRecentCommentsPlugin	2007-07-01 05:11:23.000000000 -0500
@@ -0,0 +1,38 @@
+Date: Fri, 29 Dec 2006 18:57:39 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Help%2FRecentCommentsPlugin,v 1.1 2007/01/02 13:26:05 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FRecentCommentsPlugin;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+_short description_
+
+! Usage
+<verbatim>
+  <?plugin RecentComments ?>
+</verbatim>
+
+! Arguments
+
+page _(default: current pagename)_:
+  The page to execute upon.
+
+! Example
+
+<verbatim>
+<?plugin RecentComments ?>
+</verbatim>
+
+<?plugin RecentComments ?>
+
+! Author
+PhpWiki:ReiniUrban
+
+! See Also
+
+----
+PhpWikiDocumentation Help:WikiPlugin
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/Help%2FRecentEditsPlugin 1.3.14/pgsrc/Help%2FRecentEditsPlugin
--- 1.3.12p3/pgsrc/Help%2FRecentEditsPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FRecentEditsPlugin	2007-07-01 05:11:24.000000000 -0500
@@ -0,0 +1,38 @@
+Date: Fri, 29 Dec 2006 18:57:39 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Help%2FRecentEditsPlugin,v 1.1 2007/01/02 13:26:06 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FRecentEditsPlugin;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+_short description_
+
+! Usage
+<verbatim>
+  <?plugin RecentEdits ?>
+</verbatim>
+
+! Arguments
+
+page _(default: current pagename)_:
+  The page to execute upon.
+
+! Example
+
+<verbatim>
+<?plugin RecentEdits ?>
+</verbatim>
+
+<?plugin RecentEdits ?>
+
+! Author
+PhpWiki:ReiniUrban
+
+! See Also
+
+----
+PhpWikiDocumentation Help:WikiPlugin
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/Help%2FRecentReferrersPlugin 1.3.14/pgsrc/Help%2FRecentReferrersPlugin
--- 1.3.12p3/pgsrc/Help%2FRecentReferrersPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FRecentReferrersPlugin	2007-07-01 05:11:24.000000000 -0500
@@ -0,0 +1,38 @@
+Date: Fri, 29 Dec 2006 18:57:39 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Help%2FRecentReferrersPlugin,v 1.1 2007/01/02 13:26:06 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FRecentReferrersPlugin;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+_short description_
+
+! Usage
+<verbatim>
+  <?plugin RecentReferrers ?>
+</verbatim>
+
+! Arguments
+
+page _(default: current pagename)_:
+  The page to execute upon.
+
+! Example
+
+<verbatim>
+<?plugin RecentReferrers ?>
+</verbatim>
+
+<?plugin RecentReferrers ?>
+
+! Author
+PhpWiki:ReiniUrban
+
+! See Also
+
+----
+PhpWikiDocumentation Help:WikiPlugin
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/Help%2FRedirectToPlugin 1.3.14/pgsrc/Help%2FRedirectToPlugin
--- 1.3.12p3/pgsrc/Help%2FRedirectToPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FRedirectToPlugin	2007-07-01 05:11:24.000000000 -0500
@@ -0,0 +1,40 @@
+Date: Sat, 15 Feb 2003 15:46:58 -0800
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.4pre)
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FRedirectToPlugin;
+  pgsrc_version="1 $Revision: 1.1 $";
+  flags="";
+  lastmodified=1045352818;
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+The RedirectToPlugin can be used to redirect a user to another page.
+In other words it makes a page an _alias_ for another page.
+
+! Arguments
+
+Use only one of these arguments at a time.
+
+page |
+  The page to redirect to (a wiki page name).
+href |
+  An external URL to redirect to.  Redirection to external URLs will only work
+  on locked pages.  (If the URL contains funny characters, you'll probably have
+  to put quotes around the URL.)
+
+! Caveats
+
+The RedirectToPlugin invocation must be the first thing on a page.
+For most purposes it makes any other content on the page inaccessible.
+
+! Example
+
+A page may be made a alias for the HomePage by placing this code at the top:
+<verbatim>
+<?plugin RedirectTo page="HomePage" ?>
+</verbatim>
+
+To see the example in action, visit HomePageAlias.
+-----
+PhpWikiDocumentation
diff -ruN 1.3.12p3/pgsrc/Help%2FRelatedChangesPlugin 1.3.14/pgsrc/Help%2FRelatedChangesPlugin
--- 1.3.12p3/pgsrc/Help%2FRelatedChangesPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FRelatedChangesPlugin	2007-07-01 05:11:24.000000000 -0500
@@ -0,0 +1,38 @@
+Date: Fri, 29 Dec 2006 18:57:39 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Help%2FRelatedChangesPlugin,v 1.1 2007/01/02 13:26:06 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FRelatedChangesPlugin;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+_short description_
+
+! Usage
+<verbatim>
+  <?plugin RelatedChanges ?>
+</verbatim>
+
+! Arguments
+
+page _(default: current pagename)_:
+  The page to execute upon.
+
+! Example
+
+<verbatim>
+<?plugin RelatedChanges ?>
+</verbatim>
+
+<?plugin RelatedChanges ?>
+
+! Author
+PhpWiki:ReiniUrban
+
+! See Also
+
+----
+PhpWikiDocumentation Help:WikiPlugin
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/Help%2FRichTablePlugin 1.3.14/pgsrc/Help%2FRichTablePlugin
--- 1.3.12p3/pgsrc/Help%2FRichTablePlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FRichTablePlugin	2007-07-01 05:11:24.000000000 -0500
@@ -0,0 +1,114 @@
+Date: Fri, 29 Dec 2006 18:57:39 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.8a)
+X-Rcs-Id: $Id: Help%2FRichTablePlugin,v 1.2 2007/01/02 13:25:07 rurban Exp $ 
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FRichTablePlugin;
+  pgsrc_version="2 $Revision: 1.2 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+
+! Synopsis
+
+The Help:RichTablePlugin is a plugin that takes off from the Help:OldStyleTablePlugin. It allows a user to specify arbitrary properties of <tt><table></tt>, <tt><tr></tt> and <tt><td></tt> with a very simple markup.
+
+NEW: The plugin is now fixed so that the contents of each cell are individually processed by the ~BlockParser. This means that if everything works correctly,  you can do interesting things like put *invoke plugins*, use *enumerated lists* etc within each cell!
+
+*A <tt>"-"</tt> (dash) at the start of a new line represents a new row in the table.
+*A <tt>"|"</tt> (vertical bar or pipe) at the start of a new line represents a cell.
+*Attributes for the tags
+  *A line that starts with a <tt>"*"</tt> (star or asterisk) after a <tt>"|"</tt> is parsed for attributes for the corresponding cell.
+  *Attributes for the table are given on line that starts with a <tt>"*"</tt>, only if the line appears before any other line except whitespace.
+  *A line that starts with a <tt>-</tt> is always parsed for attributes since it can't have any content, unlike a cell.
+*Cell contents
+  *Cell contents are processed by the ~BlockParser.
+  *Any line that starts with a <tt>"*"</tt> anywhere other than the table attribute line is treated as normal content.
+  *Any line that starts with whitespace is also treated as content.
+  *Any cell line that does not have a <tt>"*"</tt> after the <tt>"|"</tt> is treated as normal content.
+  *All content lines that follow a cell line are added to that cell. They can contain arbitrary text except the above cases.
+  *If there is no cell in the current row, content lines are dropped silently.
+*The two special characters <tt>"~~"</tt> and <tt>"?>"</tt> should be escaped as <tt>"\~~"</tt> and <tt>"?\>"</tt>. I havn't discovered any other characters yet that might need to be escaped. This is required for the block parser to work.
+
+! Bugs
+* The source code sucks
+* The plugin can't nest itself yet. Thus nested tables are currently not possible.
+
+! Example
+
+<?plugin RichTable
+
+*border=1, cellpadding=5, bgcolor=#f0f8f8, width=75%, align=center
+-
+|* colspan=3, align=center
+HomePage
+-
+|* colspan=2
+[http://phpwiki.sourceforge.net/demo/themes/default/images/png.png]
+|* rowspan=2
+This cell actually has a plugin invocation inside it!
+<?plugin
+BackLinks
+?\>
+- bgcolor=white
+|
+#One
+#Two
+|
+*Foo
+*Bar
+- bgcolor=cyan
+This line gets dropped ... no cell to contain it!
+|* bgcolor=#f0f0ff, align=center
+One paragraph
+
+Another paragraph?
+|* align=left
+This cell uses the row color
+| I wish this cell had a nested table inside it! :(
+?>
+
+The above table is rendered from:
+
+<verbatim>
+<?plugin RichTable
+
+*border=1, cellpadding=5, bgcolor=#f0f8f8, width=75%, align=center
+-
+|* colspan=3, align=center
+HomePage
+-
+|* colspan=2
+[http://phpwiki.sourceforge.net/demo/themes/default/images/png.png]
+|* rowspan=2
+This cell actually has a plugin invocation inside it!
+<?plugin
+BackLinks
+?\>
+- bgcolor=white
+|
+#One
+#Two
+|
+*Foo
+*Bar
+- bgcolor=cyan
+This line gets dropped ... no cell to contain it!
+|* bgcolor=#f0f0ff, align=center
+One paragraph.
+
+Another paragraph?
+|* align=left
+This cell uses the row color
+| I wish this cell had a nested table inside it! :(
+?>
+</verbatim>
+
+;<strong>Author</strong>: Sameer D. Sahasrabuddhe
+;<strong>Url</strong>: http://www.it.iitb.ac.in/~sameerds/phpwiki/index.php/RichTablePlugin
+
+
+-------------
+
+PhpWikiDocumentation Help:WikiPlugin
diff -ruN 1.3.12p3/pgsrc/Help%2FRssFeedPlugin 1.3.14/pgsrc/Help%2FRssFeedPlugin
--- 1.3.12p3/pgsrc/Help%2FRssFeedPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FRssFeedPlugin	2007-07-01 05:11:24.000000000 -0500
@@ -0,0 +1,60 @@
+Date: Sun, 4 Jul 2004 01:31:02 -0700
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.8)
+X-Rcs-Id: $Id: Help%2FRssFeedPlugin,v 1.1 2005/11/21 22:19:00 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FRssFeedPlugin;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+!! Synopsis
+
+A Help:WikiPlugin to display external RSS feeds.
+
+!!  Usage
+<verbatim>
+  <?plugin RssFeed?>
+  <?plugin RssFeed url=http://somesite.tld/linktofeed.rss ?>
+</verbatim>
+
+!! Plugin Arguments
+Argument|
+  Default Value|
+    Description
+
+url|
+  (empty)|
+    RSS Feed URL
+
+feed|
+  (empty)|
+    RSS Feed Name
+
+description|
+  (empty)|
+    Description of the RSS Feed
+
+maxitem|
+  0|
+    Max. number of entries (0 = unlimited)
+
+!! Sourcecode (since v1.3.8):
+* [PhpWikiCvs:lib/plugin/RssFeed.php]
+* [PhpWikiCvs:lib/RssParser.php] _fixed for allow_url_fopen=Off_
+
+!! Examples
+
+* PhpWikiRss _feed for PhpWiki:RecentChanges_
+<verbatim>
+  <?plugin RssFeed feed=PhpWikiRss description="PhpWiki:RecentChanges"
+	           url=http://phpwiki.sourceforge.net/phpwiki/RecentChanges?format=rss ?>
+</verbatim>
+
+* [PhpWikiDemo:sidebar/]  _Example as sidebar box_
+
+-------------
+PhpWikiDocumentation Help:WikiPlugin
+
+
diff -ruN 1.3.12p3/pgsrc/Help%2FSearchHighlightPlugin 1.3.14/pgsrc/Help%2FSearchHighlightPlugin
--- 1.3.12p3/pgsrc/Help%2FSearchHighlightPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FSearchHighlightPlugin	2007-07-01 05:11:24.000000000 -0500
@@ -0,0 +1,25 @@
+Date: Fri, 24 Sep 2004 21:30:51 +0200
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.11pre)
+X-Rcs-Id: $Id: Help%2FSearchHighlightPlugin,v 1.2 2007/01/03 21:27:02 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FSearchHighlightPlugin;
+  pgsrc_version="2 $Revision: 1.2 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+The SearchHighLight Help:WikiPlugin is an Help:ActionPage plugin, 
+which is only used internally.
+
+When someone is referred from a search engine like Google, Yahoo
+or our own fulltextsearch, the terms the user searched for are highlighted.
+See also http://wordpress.org/about/shots/1.2/plugins.png
+
+!! Plugin Arguments
+__s__: |
+  The search term
+__case_exact__:  |
+  boolean. 
+__regex__:  |
+  boolean.
diff -ruN 1.3.12p3/pgsrc/Help%2FSemanticRelations 1.3.14/pgsrc/Help%2FSemanticRelations
--- 1.3.12p3/pgsrc/Help%2FSemanticRelations	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FSemanticRelations	2007-07-01 05:11:24.000000000 -0500
@@ -0,0 +1,89 @@
+Date: Thu, 7 Jun 2007 12:23:15 +0200
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Help%2FSemanticRelations,v 1.6 2007/06/09 20:01:13 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FSemanticRelations;
+  pgsrc_version="2 $Revision: 1.6 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+The PhpWiki:SemanticWeb implementation follows closely the [semediawiki
+| http://ontoworld.org/wiki/Semantic_MediaWiki] implementation. It features:
+
+* Annotation of article-article-links by means of configurable relations (link-types).
+* Annotation of articles with simple data-values that are assigned to configurable attributes.
+* Support for using physical units of measurement in all numerical attributes, without need 
+  for prior configuration.
+
+The annotation data will be combined with annotations from the current
+category system to generate standard-compliant OWL/RDF output, which
+can be fully processed with tools that support OWL DL or OWL Lite, but
+which can also be treated in a meaningful way by software that
+supports RDF, RDFS or XML.
+
+! Relations
+
+Relations (link-types) are defined as link with the following markup
+syntax:
+<verbatim>
+  relation::pagename
+</verbatim>
+
+! Attributes
+
+Attributes are defined as link with the following markup syntax:
+
+<verbatim>
+  attribute:=value
+</verbatim>
+
+Attributes and relations refer only to the current page - the
+current page is the subject, the relation the predicate, the linked page the
+object in a RDF triple. Relations always refer to another page - they
+must not exist. Attributes not, since they are numeric only.
+
+With the SemanticSearch feature you can query online simple and
+complex facts.
+
+You can import and export _lists of facts or queries_, as format rdf,
+rdfs, owl.
+
+! Example
+
+<em>Sample taken from http://ontoworld.org/wiki/San_Diego, see also
+[San Diego] </em>
+
+<verbatim>
+San Diego [is_a::city] located in the southwestern corner of
+[California|located_in::California], the extreme southwestern corner of the
+[United States|country::United States]. It is the county seat of San Diego
+County. As of the 2000 census, the city had a total population of
+[1,223,400|population:=1,223,400]; as of 2005, the California Department of
+Finance estimated the city to have 1,305,736 residents. The city is the
+second-largest in California and the seventh-largest in the United States and is
+noted for its temperate climate and many beaches.
+
+According to the United States Census Bureau, the city has a total
+area of [963.6 km|area:=963.6 km^2] (372.0 mi). 840.0 km (324.3
+mi) of it is land and 123.5 km (47.7 mi) of it is water.
+The total area is 12.82% water.
+
+Most notably, San Diego is the location of the 2005 International
+Symposium on Wikis 2005, and the San Diego Zoo, and the San Diego
+Chargers.
+
+<?plugin SemanticRelations ?>
+</verbatim>
+
+! See Also
+
+See PhpWiki:SemanticWeb, 
+SemanticRelations, ListRelations, SemanticSearch, SemanticSearchAdvanced,
+Help:SemanticRelationsPlugin, Help:SemanticSearchPlugin, 
+PhpWiki:ImportRdf, PhpWiki:ImportOwl, PhpWiki::ExportRdf, PhpWiki::ExportRdfs, PhpWiki::ExportOwl
+
+-------------
+
+PhpWikiDocumentation
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/Help%2FSemanticRelationsPlugin 1.3.14/pgsrc/Help%2FSemanticRelationsPlugin
--- 1.3.12p3/pgsrc/Help%2FSemanticRelationsPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FSemanticRelationsPlugin	2007-07-01 05:11:24.000000000 -0500
@@ -0,0 +1,38 @@
+Date: Fri, 29 Dec 2006 18:57:39 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Help%2FSemanticRelationsPlugin,v 1.1 2007/01/02 13:26:06 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FSemanticRelationsPlugin;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+_short description_
+
+! Usage
+<verbatim>
+  <?plugin SemanticRelations ?>
+</verbatim>
+
+! Arguments
+
+page _(default: current pagename)_:
+  The page to execute upon.
+
+! Example
+
+<verbatim>
+<?plugin SemanticRelations ?>
+</verbatim>
+
+<?plugin SemanticRelations ?>
+
+! Author
+PhpWiki:ReiniUrban
+
+! See Also
+
+----
+PhpWikiDocumentation Help:WikiPlugin
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/Help%2FSemanticSearchPlugin 1.3.14/pgsrc/Help%2FSemanticSearchPlugin
--- 1.3.12p3/pgsrc/Help%2FSemanticSearchPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FSemanticSearchPlugin	2007-07-01 05:11:24.000000000 -0500
@@ -0,0 +1,38 @@
+Date: Fri, 29 Dec 2006 18:57:39 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Help%2FSemanticSearchPlugin,v 1.1 2007/01/02 13:26:06 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FSemanticSearchPlugin;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+_short description_
+
+! Usage
+<verbatim>
+  <?plugin SemanticSearch ?>
+</verbatim>
+
+! Arguments
+
+page _(default: current pagename)_:
+  The page to execute upon.
+
+! Example
+
+<verbatim>
+<?plugin SemanticSearch ?>
+</verbatim>
+
+<?plugin SemanticSearch ?>
+
+! Author
+PhpWiki:ReiniUrban
+
+! See Also
+
+----
+PhpWikiDocumentation Help:WikiPlugin
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/Help%2FSiteMapPlugin 1.3.14/pgsrc/Help%2FSiteMapPlugin
--- 1.3.12p3/pgsrc/Help%2FSiteMapPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FSiteMapPlugin	2007-07-01 05:11:24.000000000 -0500
@@ -0,0 +1,68 @@
+Date: Tue, 2 Jan 2007 13:30:17 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Help%2FSiteMapPlugin,v 1.2 2007/01/03 21:27:28 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FSiteMapPlugin;
+  pgsrc_version="2 $Revision: 1.2 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+This is a quick mod of BackLinks to do the job recursively. If your
+site is categorized correctly, and all the categories are listed in
+CategoryCategory, then a RecBackLinks there will produce a contents
+page for the entire site.
+
+The list is as deep as the recursion level.
+
+! Usage
+<verbatim>
+  <?plugin SiteMap direction=back|forward reclimit=4 ?>
+</verbatim>
+
+! Arguments
+
+direction: 
+  Get BackLinks or forward links (links listed on the page)
+
+firstreversed: 
+  If true, get BackLinks for the first page and forward
+  links for the rest. 
+  Only applicable when direction = 'forward'.
+
+excludeunknown: 
+  If true (default) then exclude any mentioned pages
+  which don't exist yet.
+  Only applicable when direction = 'forward'.
+
+exclude:
+  Default: ''
+include_self:
+  Default: 0
+noheader:
+  Default: 0
+page:
+  Default: [pagename] The current page
+description:
+  Override default Description. Printed as header.
+reclimit:
+  Default: 4
+info:
+  Default: false 
+
+! Example
+
+<verbatim>
+<?plugin SiteMap page=PhpWikiDocumentation ?>
+</verbatim>
+
+<?plugin SiteMap page=PhpWikiDocumentation ?>
+
+! Author
+Cuthbert Cat (cuthbertcat)
+
+! See Also
+Help:BackLinksPlugin
+----
+PhpWikiDocumentation Help:WikiPlugin
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/Help%2FSqlResultPlugin 1.3.14/pgsrc/Help%2FSqlResultPlugin
--- 1.3.12p3/pgsrc/Help%2FSqlResultPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FSqlResultPlugin	2007-07-01 05:11:24.000000000 -0500
@@ -0,0 +1,38 @@
+Date: Fri, 29 Dec 2006 18:57:39 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Help%2FSqlResultPlugin,v 1.1 2007/01/02 13:26:06 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FSqlResultPlugin;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+_short description_
+
+! Usage
+<verbatim>
+  <?plugin SqlResult ?>
+</verbatim>
+
+! Arguments
+
+page _(default: current pagename)_:
+  The page to execute upon.
+
+! Example
+
+<verbatim>
+<?plugin SqlResult ?>
+</verbatim>
+
+<?plugin SqlResult ?>
+
+! Author
+PhpWiki:ReiniUrban
+
+! See Also
+
+----
+PhpWikiDocumentation Help:WikiPlugin
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/Help%2FSyncWikiPlugin 1.3.14/pgsrc/Help%2FSyncWikiPlugin
--- 1.3.12p3/pgsrc/Help%2FSyncWikiPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FSyncWikiPlugin	2007-07-01 05:11:24.000000000 -0500
@@ -0,0 +1,38 @@
+Date: Fri, 29 Dec 2006 18:57:39 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Help%2FSyncWikiPlugin,v 1.1 2007/01/02 13:26:06 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FSyncWikiPlugin;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+_short description_
+
+! Usage
+<verbatim>
+  <?plugin SyncWiki ?>
+</verbatim>
+
+! Arguments
+
+page _(default: current pagename)_:
+  The page to execute upon.
+
+! Example
+
+<verbatim>
+<?plugin SyncWiki ?>
+</verbatim>
+
+<?plugin SyncWiki ?>
+
+! Author
+PhpWiki:ReiniUrban
+
+! See Also
+
+----
+PhpWikiDocumentation Help:WikiPlugin
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/Help%2FSyntaxHighlighterPlugin 1.3.14/pgsrc/Help%2FSyntaxHighlighterPlugin
--- 1.3.12p3/pgsrc/Help%2FSyntaxHighlighterPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FSyntaxHighlighterPlugin	2007-07-01 05:11:24.000000000 -0500
@@ -0,0 +1,61 @@
+Date: Sun, 4 Jul 2004 01:31:02 -0700
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.11pre)
+X-Rcs-Id: $Id: Help%2FSyntaxHighlighterPlugin,v 1.1 2005/11/21 22:19:00 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FSyntaxHighlighterPlugin;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+The ~SyntaxHighlighter plugin passes all its arguments through a C++
+highlighter called "highlight" (available at http://www.andre-simon.de/).
+
+Author: alecthomas
+
+! Arguments
+syntax |
+  (required), See http://www.andre-simon.de/doku/highlight/highlight.html 
+style |
+  ~[ "ansi", "gnu", "kr", "java", "linux" ~] (required)
+color |
+  null (optional), see =highlight/themes=
+number |
+  0  (optional)
+wrap |
+  0  (optional)
+
+
+! Example
+
+<verbatim>
+<?plugin SyntaxHighlighter syntax=c style=kr color=emacs
+ #include <stdio.h>
+
+ int main() {
+ printf("Lalala\n");
+ }
+?>
+</verbatim>
+
+=>
+
+<?plugin SyntaxHighlighter syntax=c style=kr color=emacs
+ #include <stdio.h>
+
+ int main() {
+ printf("Lalala\n");
+ }
+?>
+
+I did not use beautifier, because it used up more than 8M of memory on
+my system and PHP killed it. I'm not sure whether this is a problem
+with my integration, or with beautifier itself.
+
+Fixes by Reini Urban:
+* support options: syntax, style, color.
+* php version switch
+* HIGHLIGHT_DATA_DIR, HIGHLIGHT_EXE constants
+----
+PhpWikiDocumentation Help:WikiPlugin 
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/Help%2FSystemInfoPlugin 1.3.14/pgsrc/Help%2FSystemInfoPlugin
--- 1.3.12p3/pgsrc/Help%2FSystemInfoPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FSystemInfoPlugin	2007-07-01 05:11:24.000000000 -0500
@@ -0,0 +1,29 @@
+Date: Sun, 4 Jul 2004 01:31:02 -0700
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.5pre)
+X-Rcs-Id: $Id: Help%2FSystemInfoPlugin,v 1.1 2005/11/21 22:19:00 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FSystemInfoPlugin;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+The SystemInfoPlugin provides access to lower level system information for the platform PhpWiki is installed on.
+
+<verbatim>
+ Usage:  <?plugin SystemInfo all ?>
+      or <?plugin SystemInfo pagestats cachestats discspace hitstats ?>
+      or <?plugin SystemInfo version ?>
+      or <?plugin SystemInfo current_theme ?>
+      or <?plugin SystemInfo PHPWIKI_DIR ?>
+</verbatim>
+
+Example:
+
+<?plugin SystemInfo all ?>
+
+
+-------------
+
+PhpWikiDocumentation Help:WikiPlugin
diff -ruN 1.3.12p3/pgsrc/Help%2FTemplatePlugin 1.3.14/pgsrc/Help%2FTemplatePlugin
--- 1.3.12p3/pgsrc/Help%2FTemplatePlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FTemplatePlugin	2007-07-01 05:11:24.000000000 -0500
@@ -0,0 +1,83 @@
+Date: Sat, 10 Sep 2005 21:42:11 +0100
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.11)
+X-Rcs-Id: $Id: Help%2FTemplatePlugin,v 1.1 2005/11/21 22:19:00 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FTemplatePlugin;
+  pgsrc_version="1 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+!! Synopsis
+
+Template = Parametrized blocks.
+
+Include text from a wiki page and replace certain placeholders by parameters.
+Similiar to CreatePage with the template argument, but at run-time.
+Similiar to the mediawiki templates but not with the "|" parameter seperator.
+
+!!  Usage
+<verbatim>
+  <?plugin Template page=Templates/Footer?>
+  <?plugin Template page=Templates/Film vars="title=SomeFilm&year=1999" ?>
+  {{Templates/Film|title=SomeFilm|year=1999}}
+</verbatim>
+
+!! Plugin Arguments
+Argument|
+  Default Value|
+    Description
+
+page|
+  (empty)|
+    pagename to be included as template
+
+vars|
+  (empty)|
+    optional parameters to be expanded inside the template
+
+! Parameter expansion:
+  vars="var1=value1&var2=value2"
+
+We only support named parameters, not numbered ones as in mediawiki, and 
+the placeholder is %%var%% and not {{~{var~}}} as in mediawiki.
+
+The following predefined variables are automatically expanded if existing:
+<verbatim>
+  pagename
+  mtime     - last modified date + time
+  ctime     - creation date + time
+  author    - last author
+  owner     
+  creator   - first author
+  SERVER_URL, DATA_PATH, SCRIPT_NAME, PHPWIKI_BASE_URL and BASE_URL
+</verbatim>
+
+<noinclude> .. </noinclude> is stripped
+
+! In work:
+* ENABLE_MARKUP_TEMPLATE = true: (lib/InlineParser.php)
+  Support a mediawiki-style syntax extension which maps 
+<verbatim>
+    {{TemplateFilm|title=Some Good Film|year=1999}}
+</verbatim>
+  to 
+<verbatim>
+    <?plugin Template page=TemplateFilm vars="title=Some Good Film&year=1999" ?>
+</verbatim>
+
+!! Examples
+
+<verbatim>
+  <?plugin Template page=TemplateExample vars="title=TestTitle" ?>
+</verbatim>
+
+Standard syntax:
+  <?plugin Template page=TemplateExample vars="title=TestTitle" ?>
+
+Shorter syntax:
+  {{TemplateExample|title=TestTitle}}
+
+-------------
+PhpWikiDocumentation Help:WikiPlugin
diff -ruN 1.3.12p3/pgsrc/Help%2FTeX2pngPlugin 1.3.14/pgsrc/Help%2FTeX2pngPlugin
--- 1.3.12p3/pgsrc/Help%2FTeX2pngPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FTeX2pngPlugin	2007-07-01 05:11:24.000000000 -0500
@@ -0,0 +1,69 @@
+Date: Fri, 29 Dec 2006 18:57:39 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.10)
+X-Rcs-Id: $Id: Help%2FTeX2pngPlugin,v 1.2 2007/01/02 13:25:15 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FTeX2pngPlugin;
+  pgsrc_version="2 $Revision: 1.2 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+! Synopsis
+
+Help:WikiPlugin to display mathematical formulae in a Wiki page.
+
+! Usage
+
+<verbatim>
+<?plugin TeX2png text="$$(a+b)^n=\sum_{k=0}^n{n\choose k}a^k b^{n-k}$$" ?>
+</verbatim>
+
+gives
+
+<?plugin TeX2png text="$$(a+b)^n=\sum_{k=0}^n{n\choose k}a^k b^{n-k}$$" ?>
+
+! Arguments
+There is only one argument which is the text of the mathematical
+expression. This text *must be* enclosed by a dollar $ within a
+paragraph or two dollars $$ on a separate line. In the last case,
+all is centered.
+
+To write mathematical formulae, the syntax is the one
+of [LaTeX | http://www.latex-project.org].
+
+! Caveats
+
+This plugin is only to produce readable mathematical formulae. Any
+other text is not allowed : so if an expression is not enclosed by
+dollars then it will be displayed by a red text. It is all the same
+possible to display raw text as <?plugin TeX2png text="$\textrm{\LaTeX}$" ?> by using :
+
+<verbatim>
+<?plugin TeX2png text="$\textrm{\LaTeX}$" ?>
+</verbatim>
+
+This plugin is not able to produce sophisticated mathematicals texts
+with links, cross references... For that, you can use for example
+LaTeX2html.
+
+! Examples
+
+Some Greeks letters : <?plugin TeX2png text="$\alpha$" ?>, <?plugin TeX2png text="$\beta$" ?>, ... and a formula <?plugin TeX2png text="$\sum_{i=1}^n \frac1{i^2}=\frac{\pi^2}{6}$" ?> to test display in a paragraph.
+
+*Exercise 1* Consider the function <?plugin TeX2png text="$$f(x)=(x^2-4x+3)^{1/2}$$" ?>
+
+#Give the largest real domain for which f(x) is well defined.
+#Give a domain on which the function is one-to-one. Using this domain derive a formula for the inverse function <?plugin TeX2png text="$f^{-1}(x)$" ?>.
+#Calculate the derivative f'(x).
+
+*Exercise 2* Consider the function :
+
+<?plugin TeX2png text="$$f(x) = \int_0^x e^{-t^2}\,dt, x\in\mathbb R$$" ?>
+
+#Show that for all r > 0 :<?plugin TeX2png text="$$\frac{\pi}{2}\int_0^r t  e^{-t^2}\,dt \leq \int_0^r e^{-x^2}\,dx \int_0^r e^{-y^2}\,dy \leq \frac{\pi}{2} \int_0^{\sqrt{2} r} t e^{-t^2}\,dt$$" ?> *Help* : you can use polar coordinates.
+#Hence find the limit of <?plugin TeX2png text="$f(x)$" ?> as x tends <?plugin TeX2png text="to $\infty$" ?>.
+
+-----
+
+PhpWikiDocumentation Help:WikiPlugin
diff -ruN 1.3.12p3/pgsrc/Help%2Ftext2pngPlugin 1.3.14/pgsrc/Help%2Ftext2pngPlugin
--- 1.3.12p3/pgsrc/Help%2Ftext2pngPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2Ftext2pngPlugin	2007-07-01 05:11:24.000000000 -0500
@@ -0,0 +1,60 @@
+Date: Fri, 29 Dec 2006 18:57:39 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Help%2Ftext2pngPlugin,v 1.2 2007/01/03 21:27:45 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2Ftext2pngPlugin;
+  pgsrc_version="2 $Revision: 1.2 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: 
+
+Convert text into a png image using GD without using [WikiPluginCached|Help:WikiPlugin].
+The images are stored in a private <PHPWIKI_DIR>/images/<LANG> subdirectory instead, 
+which are not timestamp checked at all. Delete the .png file(s) if you change anything.
+
+This is a really simple and stupid plugin, which might need some work.
+
+! Usage
+<verbatim>
+  <?plugin text2png text="some text" ?>
+</verbatim>
+
+! Arguments
+
+text:
+  some text to display
+lang:
+  language subdirectory
+_force:
+  set to 1 to recreate the image
+fontsize:
+  18. with GD1 it's the pixelsize, with GD2 the pointsize
+with_shadow:
+  1
+fontcolor:
+  #000000
+shadowcolor:
+  #AFAFAF
+backcolor:
+  #ffffff
+
+
+! Configurable Options
+
+See the sourcecode. You'd probably need to adjust $ttfont and text2png_debug.
+
+! Example
+
+<verbatim>
+<?plugin text2png text='Hello WikiWorld!' ?>
+</verbatim>
+would produce:
+<?plugin text2png text='Hello WikiWorld!' ?>
+
+! See Also
+
+Help:TeX2PngPlugin, Help:TexToPngPlugin
+
+----
+PhpWikiDocumentation Help:WikiPlugin
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/Help%2FTextFormattingRules 1.3.14/pgsrc/Help%2FTextFormattingRules
--- 1.3.12p3/pgsrc/Help%2FTextFormattingRules	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FTextFormattingRules	2007-07-01 05:11:24.000000000 -0500
@@ -0,0 +1,245 @@
+Date: Sun, 31 Dec 2006 12:54:21 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Help%2FTextFormattingRules,v 1.3 2007/01/02 13:24:49 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FTextFormattingRules;
+  pgsrc_version="2 $Revision: 1.3 $";
+  flags=PAGE_LOCKED;
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+<?plugin CreateToc jshide||=1 with_toclink||=1 ?>
+----
+! Synopsis
+Help:TextFormattingRules <br>
+*Emphasis:* <tt>~_</tt> for _italics_, <tt>~*</tt> for *bold*,
+<tt>~_~*</tt> for _*both*_, <tt>~=</tt> for =fixed width=.%%%
+*Lists:* <tt>~*</tt> for bullet lists, <tt>#</tt> for numbered lists,
+_Term~:~<new-line> definition_ for definition lists.<br>
+*Preformatted text:* Enclose text in <tt>~<pre>~</pre></tt> or
+<tt>~<verbatim>~</verbatim></tt>.%%%
+*Indented text:* Indent the paragraph with whitespaces.%%%
+*References:* ~JoinCapitalizedWords or use square brackets for a
+<tt>~[page link]</tt> or URL <tt>~[~http~://cool.wiki.int/~]</tt>.<br>
+*Preventing linking:* Prefix with "<tt>~~</tt>":
+<tt>~~~DoNotHyperlink</tt>, name links like <tt>~[text | URL or pagename~]</tt>.%%%
+*Misc:* "<tt>!</tt>", "<tt>!!</tt>", "<tt>!!!</tt>" make headings,
+"<tt>~%%%</tt>" or "<tt>~<br></tt>" makes a linebreak,
+"<tt>~----</tt>" makes a horizontal rule.%%%
+*Allowed HTML tags:* <b>b</b> <big>big</big> <i>i</i>
+<small>small</small> <tt>tt</tt> <em>em</em> <strong>strong</strong>
+<abbr>abbr</abbr> <acronym>acronym</acronym> <cite>cite</cite>
+<code>code</code> <dfn>dfn</dfn> <kbd>kbd</kbd> <samp>samp</samp>
+<var>var</var> <sup>sup</sup> <sub>sub</sub>
+
+----
+
+!!! Character Formatting
+
+* All special non-whitespace HTML characters are displayed as-is. Exceptions below.
+* See [Emphasis|Help:TextFormattingRules#Emphasis].
+* There's no syntax for font tags or color attributes.
+* The tilde '~~' is the _Escape Character_:
+** A single tilde '~~' followed by nothing gets rendered as a single tilde. => ~
+** Two tilde '~~~~' get rendered as a single tilde. => ~~
+** A single tilde before a link ('~~http~:~/~/foo.bar') prevents linking.
+   => ~http://foo.bar
+** Two tildes before a link ('~~~~http~:~/~/foo.bar') produce a tilde
+   followed by the hyperlinked URL.
+   => ~~http://foo.bar
+** A tilde inside an URL gets removed, unless it's formatted inside
+   ~[ ~] brackets.
+   Two tildes inside an URL (without brackets) become a single tilde.
+   => [http://foo.bar/~user] or http://foo.bar/~~user
+* Special non-ascii or non-latin characters are printed as-is only if supported
+  by the native wiki CHARSET. Add such characters on a non-supported CHARSET with the Help:RawHtmlPlugin if it is enabled by the Admin and e.g. the &#num; syntax. %%%
+  E.g. These japanese euc-jp chars '&#12363;&#12425; &#26032;&#35215;&#12506;&#12540;&#12472;' on this =<?plugin SystemInfo CHARSET?>= wiki.
+  And with the plugin: <?plugin RawHtml &#12363;&#12425; &#26032;&#35215;&#12506;&#12540;&#12472; ?> %%%
+  And this is how it should look: [http://phpwiki.sourceforge.net/demo/images/chars-releasenotes-japanese.png]
+
+!!! Paragraphs
+
+* Don't indent paragraphs
+* Words wrap and fill as needed
+* Use blank lines as separators
+* Four or more minus signs make a horizontal rule
+* =~%%%= or =~<br>= makes a linebreak (in headings and lists too)
+
+
+!!! Lists
+
+* asterisk for first level
+  * indented asterisk (indent at least two spaces) for second level, etc.
+* Use <tt>~*</tt>, <tt>-</tt>, <tt>+</tt> or <tt>o</tt> for bullet
+  lists, <tt>#</tt> for numbered lists (mix at will)
+* Definition lists:
+  <pre>
+  Term:
+    definition
+  </pre>
+  gives
+  Term:
+    definition
+  as in the =<DL><DT><DD>= list
+* Items may contain multiple paragraphs and other multi-lined content,
+  just indent the items
+
+
+!!! Headings
+
+* '=!=' at the start of a line makes a small heading
+* '=!!=' at the start of a line makes a medium heading
+* '=!!!=' at the start of a line makes a large heading
+
+
+!!! Preformatted text
+
+* Place preformatted lines inside =~<pre>=:
+  <verbatim>
+  <pre>
+  Preformatted text. WikiLinks still work.
+  </pre>
+  </verbatim>
+  gives
+  <pre>
+  Preformatted text. WikiLinks still work.
+  </pre>
+* If you want text with no Wiki interaction, use the =~<verbatim>= tag:
+  <pre>
+  <verbatim>
+  Preformatted text. ~WikiLinks do not work.
+  </verbatim>
+  </pre>
+  gives
+  <verbatim>
+  Preformatted text. WikiLinks do not work.
+  </verbatim>
+
+
+!!!Indented Paragraphs
+
+* Two or more whitespaces signal indented text. Indents may be nested.
+
+    This is an indented block of text.
+
+      This block is even more indented.
+
+* E-mail style block-quoting is supported as well:
+  <pre>
+  > This is block-quoted text.
+  </pre>
+  renders as
+
+  > This is block-quoted text.
+
+
+!!! Emphasis
+
+* Use an underscore (<tt>~_</tt>) for emphasis (usually _italics_)
+* Use an asterisk (<tt>~*</tt>) for strong emphasis (usually *bold*)
+* Mix them at will: *_bold italics_*
+* _Emphasis_ can be used _multiple_ times within a paragraph, but
+  _cannot_ cross paragraph boundaries:
+
+  _this
+
+  will not work_
+
+!!! References
+
+* Hyperlinks to other pages within the Wiki are made by placing the
+  page name in square brackets: [this is a page link] or
+  UsingWikiWords (preferred)
+* Hyperlinks to external pages are done like this:
+  [http://www.wcsb.org/]
+* You can name the links by providing a name, a bar (|) and then the
+  hyperlink or pagename:
+  [PhpWiki home page | http://phpwiki.sourceforge.net/] ---
+  [the front page | HomePage]
+* You can suppress linking to old-style references and URIs by
+  preceding the word with a '<tt>~~</tt>', e.g. ~NotLinkedAsWikiName,
+  ~http~://not.linked.to/
+* Also, the old way of linking URL's is still supported: precede URLs
+  with "<tt>http:</tt>", "<tt>ftp:</tt>" or "<tt>mailto:</tt>" to
+  create links automatically as in: http://c2.com/
+* URLs ending with =.png=, =.gif=, or =.jpg= are inlined if in square
+  brackets, by themselves:
+  [http://phpwiki.sourceforge.net/demo/themes/default/images/png.png]
+* In-page #[hyperlinks] are made by placing a named anchor and
+  referring to the anchor in a hyperlink:
+  * Named anchors:
+    * <tt>~#~[foo]</tt>: An anchor around the text "foo" with id
+      "foo".
+    * <tt>~#~[|foo]</tt>: An empty anchor with id "foo".
+    * <tt>~#~[howdy|foo]</tt>: An anchor around the text "howdy" with
+      id "foo".
+  * References to name anchors are made thusly:%%%
+    <tt>~[~#[#hyperlinks]]</tt>, <tt>~[~OtherPage#foo]</tt>,
+    <tt>~[named|~OtherPage#foo]</tt>.
+* Semantic links are named links like: is_a::WikiPage and attributes like
+  size:-4000.
+* A pagelink within square brackets starting with ":" is not backlinked.
+
+!!! Tables
+
+* Definition list style tables are written just like definition lists,
+  except that you replace the trailing colon on the term with a "pipe"
+  (<tt>|</tt>).
+
+  <pre>
+  Term 1 |
+     Definition 1 begins here.
+     Term 1.1 |
+        Definition 1.1
+     Term 1.2 |
+        Definition 1.2
+     This is part of definition 1.
+  Term 2 |
+     Here's definition 2.
+  </pre>
+
+  Term 1 |
+     Definition 1 begins here.
+     Term 1.1 |
+        Definition 1.1
+     Term 1.2 |
+        Definition 1.2
+     This is part of definition 1.
+  Term 2 |
+     Here's definition 2.
+
+* Old-style tables are supported through the Help:OldStyleTablePlugin
+
+!!! HTML Mark-Up Language
+
+* Some in-line markup is allowed through the use of HTML tags:
+  <b>b</b>, <big>big</big>, <i>i</i>, <small>small</small>,
+  <tt>tt</tt>, <em>em</em>, <strong>strong</strong>,
+  <abbr>abbr</abbr>, <acronym>acronym</acronym>, <cite>cite</cite>,
+  <code>code</code>, <dfn>dfn</dfn>, <kbd>kbd</kbd>,
+  <samp>samp</samp>, <var>var</var>, <sup>sup</sup> and <sub>sub</sub>
+* < and > are themselves
+* The & characters will not work
+
+!!! Creating various kinds of special links
+
+* See [Help:MagicPhpWikiURLs] for gory details on how to write various kind
+  of wiki maintenance and other special links.
+
+!!! Inserting plugins
+
+* Several plugins permit embedding additional functionality to Wiki
+  pages. For example,
+  <verbatim>
+  <?plugin BackLinks page=HomePage info=hits ?>
+  </verbatim>
+  gives
+  <?plugin BackLinks page=HomePage info=hits ?>
+
+* For more information on plugins see Help:WikiPlugin, and PluginManager for a list of all
+  plugins.
+
+----
+
+PhpWikiDocumentation
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/Help%2FTexToPngPlugin 1.3.14/pgsrc/Help%2FTexToPngPlugin
--- 1.3.12p3/pgsrc/Help%2FTexToPngPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FTexToPngPlugin	2007-07-01 05:11:24.000000000 -0500
@@ -0,0 +1,38 @@
+Date: Fri, 29 Dec 2006 18:57:39 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Help%2FTexToPngPlugin,v 1.1 2007/01/02 13:26:06 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FTexToPngPlugin;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+_short description_
+
+! Usage
+<verbatim>
+  <?plugin TexToPng ?>
+</verbatim>
+
+! Arguments
+
+page _(default: current pagename)_:
+  The page to execute upon.
+
+! Example
+
+<verbatim>
+<?plugin TexToPng ?>
+</verbatim>
+
+<?plugin TexToPng ?>
+
+! Author
+PhpWiki:ReiniUrban
+
+! See Also
+
+----
+PhpWikiDocumentation Help:WikiPlugin
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/Help%2FTitleSearchPlugin 1.3.14/pgsrc/Help%2FTitleSearchPlugin
--- 1.3.12p3/pgsrc/Help%2FTitleSearchPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FTitleSearchPlugin	2007-07-01 05:11:24.000000000 -0500
@@ -0,0 +1,38 @@
+Date: Fri, 29 Dec 2006 18:57:39 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Help%2FTitleSearchPlugin,v 1.1 2007/01/02 13:26:06 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FTitleSearchPlugin;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+_short description_
+
+! Usage
+<verbatim>
+  <?plugin TitleSearch ?>
+</verbatim>
+
+! Arguments
+
+page _(default: current pagename)_:
+  The page to execute upon.
+
+! Example
+
+<verbatim>
+<?plugin TitleSearch ?>
+</verbatim>
+
+<?plugin TitleSearch ?>
+
+! Author
+PhpWiki:ReiniUrban
+
+! See Also
+
+----
+PhpWikiDocumentation Help:WikiPlugin
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/Help%2FTranscludePlugin 1.3.14/pgsrc/Help%2FTranscludePlugin
--- 1.3.12p3/pgsrc/Help%2FTranscludePlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FTranscludePlugin	2007-07-01 05:11:24.000000000 -0500
@@ -0,0 +1,49 @@
+Date: Tue, 17 Sep 2002 13:03:19 -0700
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.4pre)
+X-Rcs-Id: $Id: Help%2FTranscludePlugin,v 1.2 2007/01/10 20:48:11 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FTranscludePlugin;
+  pgsrc_version="2 $Revision: 1.2 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+The Help:TranscludePlugin can be used to embed include whole (external) web
+pages within a wiki page.
+
+! Plugin Arguments
+
+=src= |
+  The URL of the page to transclude
+=height= |
+  The (initial) height of the transclusion frame.
+  If, possible, after the transcluded page is loaded,
+  the frame is resized via javascript so that it
+  fits the entire transcluded page.  (See below for more.)
+
+! Bugs / Caveats
+
+o Pages are transcluded using =<iframe>= tags.  Older browsers do not
+  support ''iframe''s.  In that case the user will be presented with a
+  link to the trancluded material.
+
+o When possible, JavaScript code is used to adjust the height of the
+  _iframe_ so that it fits the entire transcluded page.
+  Unfortunately, this seems possible only when the transcluded page
+  comes from the same server as the wiki page.  (This restriction is
+  due to security checks built in to the JavaScript language.)
+
+o The recursion detection code does not currently work.  Be careful to
+  avoid recursive transclusions, or you'll be sorry (or at least
+  amused.)
+
+! Example
+
+<verbatim>
+<?plugin Transclude src="http://phpwiki.sourceforge.net/demo/ChangeLog" ?>
+</verbatim>
+
+will get you
+
+<?plugin Transclude src="http://phpwiki.sourceforge.net/demo/ChangeLog" ?>
diff -ruN 1.3.12p3/pgsrc/Help%2FTranslateTextPlugin 1.3.14/pgsrc/Help%2FTranslateTextPlugin
--- 1.3.12p3/pgsrc/Help%2FTranslateTextPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FTranslateTextPlugin	2007-07-01 05:11:24.000000000 -0500
@@ -0,0 +1,38 @@
+Date: Fri, 29 Dec 2006 18:57:39 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Help%2FTranslateTextPlugin,v 1.1 2007/01/02 13:26:06 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FTranslateTextPlugin;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+_short description_
+
+! Usage
+<verbatim>
+  <?plugin TranslateText ?>
+</verbatim>
+
+! Arguments
+
+page _(default: current pagename)_:
+  The page to execute upon.
+
+! Example
+
+<verbatim>
+<?plugin TranslateText ?>
+</verbatim>
+
+<?plugin TranslateText ?>
+
+! Author
+PhpWiki:ReiniUrban
+
+! See Also
+
+----
+PhpWikiDocumentation Help:WikiPlugin
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/Help%2FUnfoldSubpagesPlugin 1.3.14/pgsrc/Help%2FUnfoldSubpagesPlugin
--- 1.3.12p3/pgsrc/Help%2FUnfoldSubpagesPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FUnfoldSubpagesPlugin	2007-07-01 05:11:24.000000000 -0500
@@ -0,0 +1,71 @@
+Date: Wed, 2 Feb 2005 20:32:44 +0100
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.11)
+X-Rcs-Id: $Id: Help%2FUnfoldSubpagesPlugin,v 1.1 2005/11/21 22:19:00 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FUnfoldSubpagesPlugin;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+The ~UnfoldSubpages Help:WikiPlugin is used to display all or some subpages
+of the current or a given page.  This gives a overview for a
+WikiBlogPlugin, CalendarPlugin or similar subpages.
+
+Warning: Don't use it with subpages with non-existant sections! 
+The section extractor is currently quite unstable.
+
+! Usage:
+<verbatim>
+     <?plugin UnfoldSubpages ?>
+  or <?plugin UnfoldSubpages sortby=-mtime words=50 maxpages=5 ?>
+  or <?plugin UnfoldSubpages quiet=1 smalltitle=1 ?>
+  or <?plugin UnfoldSubpages sections=2 words=100 ?>
+  or <?plugin UnfoldSubpages lines=3 ?>
+  or <?plugin UnfoldSubpages pagename="PhpWikiAdministration" 
+              section="Plugin Arguments" sectionhead=1 ?>
+</verbatim>
+
+!! Plugin Arguments:
+<strong>pagename</strong>:
+  Any pagename or if empty the current page. Default: ""
+<strong>quiet</strong>:
+  Print no header.  Default: false
+<strong>sortby</strong>:
+  Sort by + (ASC) or - (DESC) and one column. 
+  Multiple columns like sortby="-hits,-mtime" not yet supported.
+  Supported columns: ~[+|-]pagename, ~[+|-]mtime, ~[+|-]hits. 
+  Default: "pagename"
+<strong>maxpages</strong>:
+  Maximum number of pages to include or all if not defined. 
+  Default: false
+<strong>sections</strong>:
+  Maximum number of sections per page to include or all if not defined. 
+  Default: false
+<strong>section</strong>:
+  Include this named section per page only if defined. Default: ""
+<strong>sectionhead</strong>:
+  When including a named section show the heading. Default: false
+<strong>smalltitle</strong>:
+  If set, hide transclusion-title, just have a small link at the start of 
+  the page. Default: false
+<strong>words</strong>:
+  Maximum number of words per page to include. Default: false
+<strong>lines</strong>:
+  Maximum number of lines per page to include. Default: false
+<strong>bytes</strong>:
+  Maximum number of bytes per page to include. Default: false
+
+! Deprecated Arguments:
+<strong>pages</strong>:
+  deprecated. renamed to maxpages.
+<strong>sort</strong>:
+  'asc' or 'desc'. deprecated: use "+" or "-" before the column name with sortby.
+
+! Example:
+<?plugin UnfoldSubpages pagename=PgsrcTranslation limit=20 ?>
+
+-------------
+
+PhpWikiDocumentation Help:WikiPlugin
diff -ruN 1.3.12p3/pgsrc/Help%2FUpLoadPlugin 1.3.14/pgsrc/Help%2FUpLoadPlugin
--- 1.3.12p3/pgsrc/Help%2FUpLoadPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FUpLoadPlugin	2007-07-01 05:11:24.000000000 -0500
@@ -0,0 +1,52 @@
+Date: Sun, 4 Jul 2004 01:31:02 -0700
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.10)
+X-Rcs-Id: $Id: Help%2FUpLoadPlugin,v 1.1 2005/11/21 22:19:00 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FUpLoadPlugin;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+The UpLoad Help:WikiPlugin displays an editbox and two buttons. 
+The first button let's you choose the file to be uploaded at your local filesystem. 
+The textvalue of this button is localised from your browser. 
+The second "Upload" button actually uploads the given filename to the upload directory.
+This directory is not browsable, any file there may be accessed by using the "Upload~:" 
+InterWikiMap prefix to the given filename. This way you can easily inline uploaded images.
+See PhpWiki:InlineUploadedImages
+
+! Usage:
+<verbatim>
+     <?plugin UpLoad ?>
+</verbatim>
+
+!! Plugin Arguments:
+__logfile__:
+  local path. Default: "phpwiki-upload.log"
+  The format is currently HTML - a new <tr> row per entry - and not log file syntax.
+__autolink__:
+  Add the uploaded filename to the list of uploaded files at the page.
+  Default: true
+__page__:
+  The page where the uploaded files are publicly listed, if autolink is true. 
+  Default: current page.
+
+! Conflicts:
+
+# The user must be authenticated to be able to upload.
+# The filename may not end with certain disallowed extensions, to prevent from abuse.
+# MAX_FILE_SITE is configured by the config.ini option MAX_UPLOAD_SIZE, which defaults to 16MB.
+  Your webserver and php may add another limit.
+# Already existing uploaded files are NOT overwritten.
+# Certain internal php problems for Windows and MacOSX have been fixed with 1.3.9.
+
+----
+
+! Example:
+<?plugin UpLoad ?>
+
+-----
+
+PhpWikiDocumentation Help:WikiPlugin
diff -ruN 1.3.12p3/pgsrc/Help%2FUserPreferencesPlugin 1.3.14/pgsrc/Help%2FUserPreferencesPlugin
--- 1.3.12p3/pgsrc/Help%2FUserPreferencesPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FUserPreferencesPlugin	2007-07-01 05:11:24.000000000 -0500
@@ -0,0 +1,38 @@
+Date: Fri, 29 Dec 2006 18:57:39 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Help%2FUserPreferencesPlugin,v 1.1 2007/01/02 13:26:06 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FUserPreferencesPlugin;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+_short description_
+
+! Usage
+<verbatim>
+  <?plugin UserPreferences ?>
+</verbatim>
+
+! Arguments
+
+page _(default: current pagename)_:
+  The page to execute upon.
+
+! Example
+
+<verbatim>
+<?plugin UserPreferences ?>
+</verbatim>
+
+<?plugin UserPreferences ?>
+
+! Author
+PhpWiki:ReiniUrban
+
+! See Also
+
+----
+PhpWikiDocumentation Help:WikiPlugin
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/Help%2FUserRatingsPlugin 1.3.14/pgsrc/Help%2FUserRatingsPlugin
--- 1.3.12p3/pgsrc/Help%2FUserRatingsPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FUserRatingsPlugin	2007-07-01 05:11:24.000000000 -0500
@@ -0,0 +1,38 @@
+Date: Fri, 29 Dec 2006 18:57:39 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Help%2FUserRatingsPlugin,v 1.1 2007/01/02 13:26:06 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FUserRatingsPlugin;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+_short description_
+
+! Usage
+<verbatim>
+  <?plugin UserRatings ?>
+</verbatim>
+
+! Arguments
+
+page _(default: current pagename)_:
+  The page to execute upon.
+
+! Example
+
+<verbatim>
+<?plugin UserRatings ?>
+</verbatim>
+
+<?plugin UserRatings ?>
+
+! Author
+PhpWiki:ReiniUrban
+
+! See Also
+
+----
+PhpWikiDocumentation Help:WikiPlugin
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/Help%2FVisualWikiPlugin 1.3.14/pgsrc/Help%2FVisualWikiPlugin
--- 1.3.12p3/pgsrc/Help%2FVisualWikiPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FVisualWikiPlugin	2007-07-01 05:11:24.000000000 -0500
@@ -0,0 +1,38 @@
+Date: Fri, 29 Dec 2006 18:57:39 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Help%2FVisualWikiPlugin,v 1.1 2007/01/02 13:26:06 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FVisualWikiPlugin;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+_short description_
+
+! Usage
+<verbatim>
+  <?plugin VisualWiki ?>
+</verbatim>
+
+! Arguments
+
+page _(default: current pagename)_:
+  The page to execute upon.
+
+! Example
+
+<verbatim>
+<?plugin VisualWiki ?>
+</verbatim>
+
+<?plugin VisualWiki ?>
+
+! Author
+PhpWiki:ReiniUrban
+
+! See Also
+
+----
+PhpWikiDocumentation Help:WikiPlugin
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/Help%2FWabiSabi 1.3.14/pgsrc/Help%2FWabiSabi
--- 1.3.12p3/pgsrc/Help%2FWabiSabi	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FWabiSabi	2007-07-01 05:11:24.000000000 -0500
@@ -0,0 +1,60 @@
+Date: Sun, 27 Jan 2002 17:28:55 -0500
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.2-jeffs-hacks)
+X-Rcs-Id: $Id: Help%2FWabiSabi,v 1.1 2005/11/21 22:19:00 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FWabiSabi;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+Since wabi-sabi represents a comprehensive Japanese world view or
+aesthetic system, it is difficult to explain precisely in western
+terms.  According to Leonard Koren, wabi-sabi is the most conspicuous
+and characteristic feature of what we think of as traditional Japanese
+beauty and it ''"occupies roughly the same position in the Japanese
+pantheon of aesthetic values as do the Greek ideals of beauty and
+perfection in the West."''
+
+_"Wabi-sabi is a beauty of things imperfect, impermanent, and_
+_incomplete._
+
+_"It is the beauty of things modest and humble._
+
+_"It is the beauty of things unconventional."_
+
+(quoted from " Help:I -SABI: FOR ARTISTS,DESIGNERS, POETS & PHILOSOPHERS | http://www.amazon.com/exec/obidos/tg/detail/-/1880656124/qid=1054098290/sr=1-1/ref=sr_1_1/104-9834820-5562358?v=glance&s=books]," 1994, Leonard Koren)
+
+The concepts of wabi-sabi correlate with the concepts of Zen Buddhism,
+as the first Japanese involved with wabi-sabi were tea masters,
+priests, and monks who practiced Zen. Zen Buddhism originated in
+India, traveled to China in the 6th century, and was first introduced
+in Japan around the 12th century. Zen emphasizes ''"direct, intuitive
+insight into transcendental truth beyond all intellectual
+conception."'' At the core of wabi- sabi is the importance of
+transcending ways of looking and thinking about things/existence.
+
+* All things are impermanent
+* All things are imperfect
+* All things are incomplete
+
+
+(also taken from WABI-SABI: FOR ARTISTS,DESIGNERS, POETS & PHILOSOPHERS, 1994, Leonard Koren):
+
+_Material characteristics of wabi-sabi:_
+
+* _suggestion of natural process_
+* _irregular_
+* _intimate_
+* _unpretentious_
+* _earthy_
+* _simple_
+
+
+
+For more about wabi-sabi, see  Help:p ://c2.com/cgi/wiki?WabiSabi].
+
+----
+
+PhpWikiDocumentation
diff -ruN 1.3.12p3/pgsrc/Help%2FWantedPagesPlugin 1.3.14/pgsrc/Help%2FWantedPagesPlugin
--- 1.3.12p3/pgsrc/Help%2FWantedPagesPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FWantedPagesPlugin	2007-07-01 05:11:24.000000000 -0500
@@ -0,0 +1,38 @@
+Date: Fri, 29 Dec 2006 18:57:39 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Help%2FWantedPagesPlugin,v 1.1 2007/01/02 13:26:06 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FWantedPagesPlugin;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+_short description_
+
+! Usage
+<verbatim>
+  <?plugin WantedPages ?>
+</verbatim>
+
+! Arguments
+
+page _(default: current pagename)_:
+  The page to execute upon.
+
+! Example
+
+<verbatim>
+<?plugin WantedPages ?>
+</verbatim>
+
+<?plugin WantedPages ?>
+
+! Author
+PhpWiki:ReiniUrban
+
+! See Also
+
+----
+PhpWikiDocumentation Help:WikiPlugin
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/Help%2FWatchPagePlugin 1.3.14/pgsrc/Help%2FWatchPagePlugin
--- 1.3.12p3/pgsrc/Help%2FWatchPagePlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FWatchPagePlugin	2007-07-01 05:11:24.000000000 -0500
@@ -0,0 +1,38 @@
+Date: Fri, 29 Dec 2006 18:57:39 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Help%2FWatchPagePlugin,v 1.1 2007/01/02 13:26:06 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FWatchPagePlugin;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+_short description_
+
+! Usage
+<verbatim>
+  <?plugin WatchPage ?>
+</verbatim>
+
+! Arguments
+
+page _(default: current pagename)_:
+  The page to execute upon.
+
+! Example
+
+<verbatim>
+<?plugin WatchPage ?>
+</verbatim>
+
+<?plugin WatchPage ?>
+
+! Author
+PhpWiki:ReiniUrban
+
+! See Also
+
+----
+PhpWikiDocumentation Help:WikiPlugin
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/Help%2FWhoIsOnlinePlugin 1.3.14/pgsrc/Help%2FWhoIsOnlinePlugin
--- 1.3.12p3/pgsrc/Help%2FWhoIsOnlinePlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FWhoIsOnlinePlugin	2007-07-01 05:11:24.000000000 -0500
@@ -0,0 +1,38 @@
+Date: Fri, 29 Dec 2006 18:57:39 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Help%2FWhoIsOnlinePlugin,v 1.1 2007/01/02 13:26:06 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FWhoIsOnlinePlugin;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+_short description_
+
+! Usage
+<verbatim>
+  <?plugin WhoIsOnline ?>
+</verbatim>
+
+! Arguments
+
+page _(default: current pagename)_:
+  The page to execute upon.
+
+! Example
+
+<verbatim>
+<?plugin WhoIsOnline ?>
+</verbatim>
+
+<?plugin WhoIsOnline ?>
+
+! Author
+PhpWiki:ReiniUrban
+
+! See Also
+
+----
+PhpWikiDocumentation Help:WikiPlugin
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/Help%2FWikiAdminChmodPlugin 1.3.14/pgsrc/Help%2FWikiAdminChmodPlugin
--- 1.3.12p3/pgsrc/Help%2FWikiAdminChmodPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FWikiAdminChmodPlugin	2007-07-01 05:11:24.000000000 -0500
@@ -0,0 +1,38 @@
+Date: Tue, 2 Jan 2007 13:30:17 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Help%2FWikiAdminChmodPlugin,v 1.2 2007/01/03 21:27:28 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FWikiAdminChmodPlugin;
+  pgsrc_version="2 $Revision: 1.2 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+PhpWikiAdministration Page Explorer plugin.
+
+! Usage
+<verbatim>
+  <?plugin WikiAdminChmod ?>
+</verbatim>
+
+! Arguments
+
+page _(default: current pagename)_:
+  The page to execute upon.
+
+! Example
+
+<verbatim>
+<?plugin WikiAdminChmod s=Temp* ?>
+</verbatim>
+
+<?plugin WikiAdminChmod s=Temp* ?>
+
+! Author
+PhpWiki:ReiniUrban
+
+! See Also
+
+----
+PhpWikiDocumentation Help:WikiPlugin
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/Help%2FWikiAdminChownPlugin 1.3.14/pgsrc/Help%2FWikiAdminChownPlugin
--- 1.3.12p3/pgsrc/Help%2FWikiAdminChownPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FWikiAdminChownPlugin	2007-07-01 05:11:24.000000000 -0500
@@ -0,0 +1,38 @@
+Date: Tue, 2 Jan 2007 13:30:17 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Help%2FWikiAdminChownPlugin,v 1.2 2007/01/03 21:27:28 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FWikiAdminChownPlugin;
+  pgsrc_version="2 $Revision: 1.2 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+PhpWikiAdministration Page Explorer plugin.
+
+! Usage
+<verbatim>
+  <?plugin WikiAdminChown ?>
+</verbatim>
+
+! Arguments
+
+page _(default: current pagename)_:
+  The page to execute upon.
+
+! Example
+
+<verbatim>
+<?plugin WikiAdminChown s=Temp* ?>
+</verbatim>
+
+<?plugin WikiAdminChown s=Temp* ?>
+
+! Author
+PhpWiki:ReiniUrban
+
+! See Also
+
+----
+PhpWikiDocumentation Help:WikiPlugin
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/Help%2FWikiAdminMarkupPlugin 1.3.14/pgsrc/Help%2FWikiAdminMarkupPlugin
--- 1.3.12p3/pgsrc/Help%2FWikiAdminMarkupPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FWikiAdminMarkupPlugin	2007-07-01 05:11:24.000000000 -0500
@@ -0,0 +1,38 @@
+Date: Tue, 2 Jan 2007 13:30:17 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Help%2FWikiAdminMarkupPlugin,v 1.2 2007/01/03 21:27:28 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FWikiAdminMarkupPlugin;
+  pgsrc_version="2 $Revision: 1.2 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+PhpWikiAdministration Page Explorer plugin.
+
+! Usage
+<verbatim>
+  <?plugin WikiAdminMarkup ?>
+</verbatim>
+
+! Arguments
+
+page _(default: current pagename)_:
+  The page to execute upon.
+
+! Example
+
+<verbatim>
+<?plugin WikiAdminMarkup s=Temp* ?>
+</verbatim>
+
+<?plugin WikiAdminMarkup s=Temp* ?>
+
+! Author
+PhpWiki:ReiniUrban
+
+! See Also
+
+----
+PhpWikiDocumentation Help:WikiPlugin
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/Help%2FWikiAdminRemovePlugin 1.3.14/pgsrc/Help%2FWikiAdminRemovePlugin
--- 1.3.12p3/pgsrc/Help%2FWikiAdminRemovePlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FWikiAdminRemovePlugin	2007-07-01 05:11:24.000000000 -0500
@@ -0,0 +1,38 @@
+Date: Tue, 2 Jan 2007 13:30:17 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Help%2FWikiAdminRemovePlugin,v 1.2 2007/01/03 21:27:28 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FWikiAdminRemovePlugin;
+  pgsrc_version="2 $Revision: 1.2 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+PhpWikiAdministration Page Explorer plugin.
+
+! Usage
+<verbatim>
+  <?plugin WikiAdminRemove ?>
+</verbatim>
+
+! Arguments
+
+page _(default: current pagename)_:
+  The page to execute upon.
+
+! Example
+
+<verbatim>
+<?plugin WikiAdminRemove s=Temp* ?>
+</verbatim>
+
+<?plugin WikiAdminRemove s=Temp* ?>
+
+! Author
+PhpWiki:ReiniUrban
+
+! See Also
+
+----
+PhpWikiDocumentation Help:WikiPlugin
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/Help%2FWikiAdminRenamePlugin 1.3.14/pgsrc/Help%2FWikiAdminRenamePlugin
--- 1.3.12p3/pgsrc/Help%2FWikiAdminRenamePlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FWikiAdminRenamePlugin	2007-07-01 05:11:24.000000000 -0500
@@ -0,0 +1,38 @@
+Date: Tue, 2 Jan 2007 13:30:17 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Help%2FWikiAdminRenamePlugin,v 1.2 2007/01/03 21:27:28 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FWikiAdminRenamePlugin;
+  pgsrc_version="2 $Revision: 1.2 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+PhpWikiAdministration Page Explorer plugin.
+
+! Usage
+<verbatim>
+  <?plugin WikiAdminRename ?>
+</verbatim>
+
+! Arguments
+
+page _(default: current pagename)_:
+  The page to execute upon.
+
+! Example
+
+<verbatim>
+<?plugin WikiAdminRename s=Temp* ?>
+</verbatim>
+
+<?plugin WikiAdminRename s=Temp* ?>
+
+! Author
+PhpWiki:ReiniUrban
+
+! See Also
+
+----
+PhpWikiDocumentation Help:WikiPlugin
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/Help%2FWikiAdminSearchReplacePlugin 1.3.14/pgsrc/Help%2FWikiAdminSearchReplacePlugin
--- 1.3.12p3/pgsrc/Help%2FWikiAdminSearchReplacePlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FWikiAdminSearchReplacePlugin	2007-07-01 05:11:24.000000000 -0500
@@ -0,0 +1,38 @@
+Date: Tue, 2 Jan 2007 13:30:17 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Help%2FWikiAdminSearchReplacePlugin,v 1.2 2007/01/03 21:27:37 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FWikiAdminSearchReplacePlugin;
+  pgsrc_version="2 $Revision: 1.2 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+PhpWikiAdministration Page Explorer plugin.
+
+! Usage
+<verbatim>
+  <?plugin WikiAdminSearchReplace ?>
+</verbatim>
+
+! Arguments
+
+page _(default: current pagename)_:
+  The page to execute upon.
+
+! Example
+
+<verbatim>
+<?plugin WikiAdminSearchReplace s=Temp* ?>
+</verbatim>
+
+<?plugin WikiAdminSearchReplace s=Temp* ?>
+
+! Author
+PhpWiki:ReiniUrban
+
+! See Also
+PhpWikiAdministration
+----
+PhpWikiDocumentation Help:WikiPlugin
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/Help%2FWikiAdminSelectPlugin 1.3.14/pgsrc/Help%2FWikiAdminSelectPlugin
--- 1.3.12p3/pgsrc/Help%2FWikiAdminSelectPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FWikiAdminSelectPlugin	2007-07-01 05:11:24.000000000 -0500
@@ -0,0 +1,42 @@
+Date: Tue, 2 Jan 2007 13:30:17 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Help%2FWikiAdminSelectPlugin,v 1.3 2007/01/07 20:18:29 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FWikiAdminSelectPlugin;
+  pgsrc_version="2 $Revision: 1.3 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+PhpWikiAdministration Page Explorer main plugin.
+
+! Usage
+<verbatim>
+  <?plugin WikiAdminSelect ?>
+</verbatim>
+
+! Arguments
+
+All [PageList|Help:PageList] options.<br>
+Plus:
+	'noheader'      => false,
+        'include_empty' => false,
+        'info'          => '',
+        'debug'         => false
+
+! Example
+
+<verbatim>
+<?plugin WikiAdminSelect s=Temp* ?>
+</verbatim>
+
+<?plugin WikiAdminSelect s=Temp* ?>
+
+! Author
+PhpWiki:ReiniUrban
+
+! See Also
+PhpWikiAdministration
+----
+PhpWikiDocumentation Help:WikiPlugin
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/Help%2FWikiAdminSetAclPlugin 1.3.14/pgsrc/Help%2FWikiAdminSetAclPlugin
--- 1.3.12p3/pgsrc/Help%2FWikiAdminSetAclPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FWikiAdminSetAclPlugin	2007-07-01 05:11:24.000000000 -0500
@@ -0,0 +1,38 @@
+Date: Tue, 2 Jan 2007 13:30:17 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Help%2FWikiAdminSetAclPlugin,v 1.2 2007/01/03 21:27:37 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FWikiAdminSetAclPlugin;
+  pgsrc_version="2 $Revision: 1.2 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+PhpWikiAdministration Page Explorer plugin.
+
+! Usage
+<verbatim>
+  <?plugin WikiAdminSetAcl ?>
+</verbatim>
+
+! Arguments
+
+page _(default: current pagename)_:
+  The page to execute upon.
+
+! Example
+
+<verbatim>
+<?plugin WikiAdminSetAcl s=Temp* ?>
+</verbatim>
+
+<?plugin WikiAdminSetAcl s=Temp* ?>
+
+! Author
+PhpWiki:ReiniUrban
+
+! See Also
+PhpWikiAdministration
+----
+PhpWikiDocumentation Help:WikiPlugin
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/Help%2FWikiAdminUtilsPlugin 1.3.14/pgsrc/Help%2FWikiAdminUtilsPlugin
--- 1.3.12p3/pgsrc/Help%2FWikiAdminUtilsPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FWikiAdminUtilsPlugin	2007-07-01 05:11:24.000000000 -0500
@@ -0,0 +1,47 @@
+Date: Tue, 2 Jan 2007 13:30:17 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Help%2FWikiAdminUtilsPlugin,v 1.2 2007/01/03 21:27:37 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FWikiAdminUtilsPlugin;
+  pgsrc_version="2 $Revision: 1.2 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+Some special actions for PhpWikiAdministration.
+
+! Usage
+<verbatim>
+   <?plugin WikiAdminUtils purge-cache ?>
+   <?plugin WikiAdminUtils purge-bad-pagenames ?>
+   <?plugin WikiAdminUtils purge-empty-pages ?>
+   <?plugin WikiAdminUtils access-restrictions ?>
+   <?plugin WikiAdminUtils action=email-verification ?>
+   <?plugin WikiAdminUtils convert-cached-html ?>
+   <?plugin WikiAdminUtils db-check ?>
+   <?plugin WikiAdminUtils db-rebuild ?>
+</verbatim>
+
+! Arguments
+
+action:
+  special name.
+label:
+  button text.
+
+! Example
+
+<verbatim>
+   <?plugin WikiAdminUtils purge-bad-pagenames ?>
+</verbatim>
+
+   <?plugin WikiAdminUtils purge-bad-pagenames ?>
+
+! Author
+PhpWiki:JeffDairiki and PhpWiki:ReiniUrban
+
+! See Also
+PhpWikiAdministration
+----
+PhpWikiDocumentation Help:WikiPlugin
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/Help%2FWikiBlogPlugin 1.3.14/pgsrc/Help%2FWikiBlogPlugin
--- 1.3.12p3/pgsrc/Help%2FWikiBlogPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FWikiBlogPlugin	2007-07-01 05:11:24.000000000 -0500
@@ -0,0 +1,19 @@
+Date: Sun, 4 Jul 2004 01:31:02 -0700
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.7)
+X-Rcs-Id: $Id: Help%2FWikiBlogPlugin,v 1.1 2005/11/21 22:19:00 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FWikiBlogPlugin;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+This simple plugin allows blog-style entries on a page. Try making a few entries, and then look at RecentChanges to get an idea of how things work.
+
+<?plugin WikiBlog ?>
+
+
+-------------
+
+PhpWikiDocumentation Help:WikiPlugin
diff -ruN 1.3.12p3/pgsrc/Help%2FWikiFormPlugin 1.3.14/pgsrc/Help%2FWikiFormPlugin
--- 1.3.12p3/pgsrc/Help%2FWikiFormPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FWikiFormPlugin	2007-07-01 05:11:24.000000000 -0500
@@ -0,0 +1,38 @@
+Date: Tue, 2 Jan 2007 13:30:17 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Help%2FWikiFormPlugin,v 1.2 2007/01/03 21:27:37 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FWikiFormPlugin;
+  pgsrc_version="2 $Revision: 1.2 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+_short description_
+
+! Usage
+<verbatim>
+  <?plugin WikiForm ?>
+</verbatim>
+
+! Arguments
+
+page _(default: current pagename)_:
+  The page to execute upon.
+
+! Example
+
+<verbatim>
+<?plugin WikiForm ?>
+</verbatim>
+
+<?plugin WikiForm ?>
+
+! Author
+PhpWiki:ReiniUrban
+
+! See Also
+
+----
+PhpWikiDocumentation Help:WikiPlugin
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/Help%2FWikiFormRichPlugin 1.3.14/pgsrc/Help%2FWikiFormRichPlugin
--- 1.3.12p3/pgsrc/Help%2FWikiFormRichPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FWikiFormRichPlugin	2007-07-01 05:11:25.000000000 -0500
@@ -0,0 +1,115 @@
+Date: Fri, 29 Dec 2006 18:57:39 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Help%2FWikiFormRichPlugin,v 1.1 2007/01/02 13:25:44 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FWikiFormRichPlugin;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+Create generic and enhanced forms, with various options:
+
+ * - editbox[] 		name=.. value=.. text=.. autocomplete=0|1
+ * - checkbox[] 	name=.. value=0|1 checked text=..
+ * - radio[] 	        name=.. value=.. text=..
+ * - pulldown[]		name=.. value=.. selected=.. text=.. autocomplete=0|1
+ * - combobox[]		name=.. value=.. text=.. method=.. args=..
+ * - hidden[]		name=.. value=..
+ * - submit[]
+ * - action, submit buttontext, optional cancel button (bool)
+ * - method=get or post, Default: post.
+
+Valid arguments for pulldown and editbox: autocomplete=1, Default: 0<br>
+If autocomplete=1, additional arguments method and args may be used. 
+autocomplete together with dyn-methods (see below) should be used to handle larger lists (> 500).<br>
+If no method is given, value will be used to fill in the valid values.<br>
+<verbatim>
+  method="xmlrpc:name [optional args]" 
+  method="dynxmlrpc:url [optional args]" 
+  method="url:http://server/wiki/method"
+  method="dynurl:http://server/wiki/method"
+  method="array:jsvariable"
+  method="plugin:pluginname [optional args]"
+</verbatim>
+
+The plugin must return a pagelist.<br>
+args are optional arguments, space seperated, for the method.<br>
+A combobox is a pulldown with autocomplete=1.<br>
+
+Author: Reini Urban
+
+- Values which are constants are evaluated.
+- The cancel button must be supported by the action.
+  (just some wikiadmin actions so far)
+- improve layout by: nobr=1
+- some allow values as list from <!plugin-list pluginname args !>
+
+! Samples
+
+   <?plugin WikiFormRich action=dumpserial method=get
+            checkbox[] name=include value="all"
+            editbox[] name=directory value=DEFAULT_DUMP_DIR
+            editbox[] name=pages value=*
+            editbox[] name=exclude value="" ?>
+----
+   <?plugin WikiFormRich action=dumphtml method=get
+            editbox[] name=directory value=HTML_DUMP_DIR
+            editbox[] name=pages value="*"
+            editbox[] name=exclude value="" ?>
+----
+   <?plugin WikiFormRich action=loadfile method=get
+            editbox[]  name=source value=DEFAULT_WIKI_PGSRC
+            checkbox[] name=overwrite value=1
+            editbox[]  name=exclude value="" ?>
+----
+  <?plugin WikiFormRich action=TitleSearch method=get class=wikiadmin nobr=1
+  	   editbox[] name=s text=""
+           submit[]
+  	   checkbox[] name=case_exact
+  	   checkbox[] name=regex ?>
+----
+  <?plugin WikiFormRich action=FullTextSearch method=get class=wikiadmin nobr=1
+  	   editbox[] name=s text=""
+           submit[]
+  	   checkbox[] name=case_exact
+  	   checkbox[] name=regex ?>
+----
+  <?plugin WikiFormRich action=FuzzyPages method=get class=wikiadmin nobr=1
+  	   editbox[] name=s text=""
+           submit[]
+  	   checkbox[] name=case_exact ?>
+----
+  <?plugin WikiFormRich action=AppendText buttontext="AddPlugin"
+  	   radio[] name=s value=<!plugin-list BackLinks page=WikiPlugin limit=5 !>
+  	   ?>
+----
+  <?plugin WikiFormRich action=AppendText buttontext="AddPlugin"
+  	   combobox[] name=s text="" style="width:60px" value=<!plugin-list BackLinks page=WikiPlugin !>
+           submit[]
+  	   ?>
+----
+  <?plugin WikiFormRich action=AppendText buttontext="AddCategory"
+  	   pulldown[] name=s text="Categories: " value=<!plugin-list TitleSearch s=Category !>
+  	   ?>
+----
+  <?plugin WikiFormRich action=SemanticSearch buttontext="AddRelation"
+  	   combobox[] name=relation method="xmlrpc:listRelations"
+           submit[]
+  	   checkbox[] name=case_exact text="Case-exact?"
+  	   ?>
+----
+  <?plugin WikiFormRich action=AppendText buttontext="InsertTemplate"
+  	   combobox[] name=s text="Template: " method="plugin:titleSearch s=Template*"
+           submit[]
+  	   ?>
+----
+  <?plugin WikiFormRich action=GoTo
+  	   editbox[] name=page text="GoTo: " method="dynxmlrpc:titleSearch s=H" style="width:100px" autocomplete=1
+           submit[]
+  	   ?>
+
+-------------
+
+PhpWikiDocumentation Help:WikiPlugin
diff -ruN 1.3.12p3/pgsrc/Help%2FWikiForumPlugin 1.3.14/pgsrc/Help%2FWikiForumPlugin
--- 1.3.12p3/pgsrc/Help%2FWikiForumPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FWikiForumPlugin	2007-07-01 05:11:25.000000000 -0500
@@ -0,0 +1,38 @@
+Date: Tue, 2 Jan 2007 13:30:17 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Help%2FWikiForumPlugin,v 1.2 2007/01/03 21:27:37 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FWikiForumPlugin;
+  pgsrc_version="2 $Revision: 1.2 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+_short description_
+
+! Usage
+<verbatim>
+  <?plugin WikiForum ?>
+</verbatim>
+
+! Arguments
+
+page _(default: current pagename)_:
+  The page to execute upon.
+
+! Example
+
+<verbatim>
+<?plugin WikiForum ?>
+</verbatim>
+
+<?plugin WikiForum ?>
+
+! Author
+PhpWiki:ReiniUrban
+
+! See Also
+
+----
+PhpWikiDocumentation Help:WikiPlugin
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/Help%2FWikiPlugin 1.3.14/pgsrc/Help%2FWikiPlugin
--- 1.3.12p3/pgsrc/Help%2FWikiPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FWikiPlugin	2007-07-01 05:11:25.000000000 -0500
@@ -0,0 +1,215 @@
+Date: Thu, 7 Jun 2007 12:23:15 +0200
+X-Rcs-Id: $Id: Help%2FWikiPlugin,v 1.8 2007/06/09 20:01:13 rurban Exp $
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FWikiPlugin;
+  pgsrc_version="2 $Revision: 1.8 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+Since PhpWiki-1.3.3 support for ~WikiPlugins is included.
+
+A plugin is some PHP code that
+
+* lives in =phpwiki/lib/plugin/<pluginname>.php=
+* implements the ~WikiPlugin interface by extending that class.
+
+There are many plugins already distributed with PhpWiki. Simply look
+in the =lib/plugin= directory or see the PluginManager list or see all the
+[Help/*Plugin pages|phpwiki:TitleSearch?s=Help/*Plugin].
+
+To write your own, look at the Help:HelloWorldPlugin (~HelloWorld.php
+in that directory), which is a minimal example of a plugin.
+Publish your self-written plugin at a new PhpWiki page with
+~PluginName + *Plugin* appended
+and add a link to [CategoryContributedPlugin | PhpWiki:CategoryContributedPlugin].
+
+A Help:WikiPlugin allows one to easily add new types of dynamic
+content (as well as other functionality) to wiki pages within PhpWiki.
+In this very wiki all actions which are not entirely lowercased
+are implemented using plugins, and some lowercased convenience
+actions also.
+(rename, revert, setacl, diff, ...)
+
+Note that you can NOT extend the markup syntax with a plugin, as in other wiki engines.
+
+(The old-style  Help:MagicPhpWikiURLs have been replaced by plugins
+entirely.)
+
+!!!Example
+
+Currently, one invokes a plugin by putting something like:
+
+<verbatim>
+<?plugin AllPages limit=20 cols=3 ?>
+</verbatim>
+
+into a regular wiki-page.  That particular example produces a list
+of the first 20 existing pages in 3 columns, via the PhpWiki:PageList
+library.
+
+<?plugin AllPages limit=20 cols=3 ?>
+
+!!!Details
+
+Plugins can take certain named arguments, most do.  The values of
+these arguments can be determined four different ways.  In order of
+precedence:
+
+# The plugin invocation can specify the value for an argument, like so:
+  <verbatim>
+  <?plugin BackLinks page=OtherPage ?>
+  </verbatim>
+
+# The argument can be specified via an HTTP query argument.  This
+  doesn't happen (is not allowed) unless the argument is mentioned in
+  the plugin invocation:
+
+  <verbatim>
+  <?plugin BackLinks page ?>
+  </verbatim>
+
+# Default values specified in the plugin invocation:
+
+  <verbatim>
+  <?plugin BackLinks page||=OtherPage ?>
+  </verbatim>
+
+# The plugin must supply default values for each argument it uses.
+  Such default args may be overriden by URL arguments like so:
+  <verbatim>
+    BackLinks?page=ThisPage&sortby=-mtime
+  </verbatim>
+  (The BackLinks plugin uses the current page as the default value for
+  the *page* argument.)
+
+  Most plugins using the PhpWiki:PageList library inherit their 
+  default arguments from the ~PageList.
+
+!! Standard Arguments
+
+Most plugins display a list of pages, via the PhpWiki:PageList
+library. ~PageList provides automatic support for those arguments.
+
+  info, exclude, author, owner, creator, sortby, limit, paging, cols, azhead,
+  comma, commasep, ordered
+
+  For details see the PhpWiki:PageList library documentation.
+
+*exclude* and *pages* accept a list of pages. Either as comma-seperated list,
+supporting glob-style wildcards, or via the <tt><!plugin-list pluginname ~[args~] !></tt>
+invocation syntax, where pluginname might be any plugin returning a PhpWiki:PageList.
+See PhpWiki:PluginList.
+
+Since most plugins return a ~PageList, this ~PageList is also a common
+input parameter for other plugins, actions or formats.
+
+!! Basic Plugin Types
+
+All these plugins derive from the Help:WikiPlugin class extending the
+run method,
+which returns a object tree of HTML objects, and may react on any
+provided arguments from the ~WikiPage (see the args below) or
+optionally overridden by arguments from the url (GET or POST args),
+if defined via '||='.
+
+A basic plugin just needs the run() method, and optionally getName,
+getDescription, getVersion, getDefaultArguments. See the
+Help:HelloWorldPlugin for a short introduction.
+
+  *plugin* reacts on its arguments and the request and displays
+  arbitrary HTML.
+
+  *plugin-form* is used to display a input type=text box for the
+  default argument *s*.
+
+  *plugin-list* is used as argument to provide a dynamic list of
+  pagenames.
+
+  <verbatim>
+    <?plugin PluginName [args...] ?>
+  </verbatim>
+
+  <verbatim>
+    <?plugin-form PluginName [args...] ?>
+  </verbatim>
+
+  <verbatim>
+    <?plugin PluginName args=<!plugin-list pluginname [args...] !> ?>
+  </verbatim>
+
+! The box Method
+
+Themes based on the "sidebar" theme may use the box method of any
+plugin, which displays a *title*
+and a condensed *content* in a box.
+
+! ~WikiPluginCached
+
+Plugins deriving from the class ~WikiPluginCached must also define
+the methods getPluginType(),
+optionally getExpire(), managesValidators(), and dependent of the
+getPluginType the methods to display the *possibly cached* result.
+
+  getImage(), getMap() or getHtml(),
+
+optionally also
+
+  getAlt(), getImageType(), embedMap(), embedImg(), embedObject()
+
+See the config.ini PLUGIN_CACHED_* settings and PhpWiki:WikiPluginCached
+
+!! Action Pages
+
+The term *[ActionPage|Help:ActionPage]* refers to a page containing a plugin
+invocation with the same or translated pluginname as the pagename.
+An *action* is together with the *pagename* argument the basic
+PhpWiki argument.
+It can both be GET or POST actions. Actions are untranslated, always
+english, pagenames can be localized.
+Basic (and old) actions are all lowercase, like edit, browse, remove, ...
+Newer actions in PhpWiki:CamelCase are invoked via plugins on their
+specific action page.
+
+We decoupled actions from plugins via action pages for the following
+reasons:
+
+# Support translated action buttons and customizable action descriptions.
+# Customize standard actions by tuning the plugin invocation arguments. 
+  Override or add plugin defaults.
+# Split simple plugins into multiple actions, like RecentChanges/RecentEdits, 
+  MostPopular/LeastPopular, AllPages/AllPagesCreatedByMe/AllPagesLastEditedByMe/
+  AllPagesOwnedByMe which differ only in one argument.
+# Simplify the syntax for actions on another actions using a PageList
+  as result of an actionpage as input parameter for another action or
+  format.
+
+* Those actions which have buttons or links in the theme or are 
+  referenced in the standard pgsrc pageset require their 
+  (possibly localized) actionpages, otherwise the actions will not work.
+* If the localized actionpage is not found the english version is
+  used.
+* If no actionpage is found, it is recommended to do action=upgrade,
+  which imports all missing and required action pages into the database.
+
+So for a hypothetical new ~MyActionPage plugin ~MyActionPage will
+invoke the plugin and ~Help:~MyActionPagePlugin should be the description page.
+
+!!! Existing Plugins
+
+See PluginManager for a detailed list. Most plugins should have their
+own description page as subpage of *Help/* with the name *Plugin*
+appended.
+
+<?plugin BackLinks noheader=1 ?>
+
+!!! Contributed Plugins
+
+See PhpWiki:CategoryContributedPlugin.
+
+<?plugin Backlinks page=CategoryContributedPlugin ?>
+
+-----
+PhpWikiDocumentation
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/Help%2FWikiPollPlugin 1.3.14/pgsrc/Help%2FWikiPollPlugin
--- 1.3.12p3/pgsrc/Help%2FWikiPollPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FWikiPollPlugin	2007-07-01 05:11:25.000000000 -0500
@@ -0,0 +1,38 @@
+Date: Tue, 2 Jan 2007 13:30:17 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Help%2FWikiPollPlugin,v 1.2 2007/01/03 21:27:37 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FWikiPollPlugin;
+  pgsrc_version="2 $Revision: 1.2 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+_short description_
+
+! Usage
+<verbatim>
+  <?plugin WikiPoll ?>
+</verbatim>
+
+! Arguments
+
+page _(default: current pagename)_:
+  The page to execute upon.
+
+! Example
+
+<verbatim>
+<?plugin WikiPoll ?>
+</verbatim>
+
+<?plugin WikiPoll ?>
+
+! Author
+PhpWiki:ReiniUrban
+
+! See Also
+
+----
+PhpWikiDocumentation Help:WikiPlugin
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/Help%2F_WikiTranslationPlugin 1.3.14/pgsrc/Help%2F_WikiTranslationPlugin
--- 1.3.12p3/pgsrc/Help%2F_WikiTranslationPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2F_WikiTranslationPlugin	2007-07-01 05:11:25.000000000 -0500
@@ -0,0 +1,38 @@
+Date: Tue, 2 Jan 2007 13:30:17 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Help%2F_WikiTranslationPlugin,v 1.2 2007/01/03 21:27:37 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2F_WikiTranslationPlugin;
+  pgsrc_version="2 $Revision: 1.2 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+_short description_
+
+! Usage
+<verbatim>
+  <?plugin _WikiTranslation ?>
+</verbatim>
+
+! Arguments
+
+page _(default: current pagename)_:
+  The page to execute upon.
+
+! Example
+
+<verbatim>
+<?plugin _WikiTranslation ?>
+</verbatim>
+
+<?plugin _WikiTranslation ?>
+
+! Author
+PhpWiki:ReiniUrban
+
+! See Also
+
+----
+PhpWikiDocumentation Help:WikiPlugin
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/Help%2FYouTubePlugin 1.3.14/pgsrc/Help%2FYouTubePlugin
--- 1.3.12p3/pgsrc/Help%2FYouTubePlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Help%2FYouTubePlugin	2007-07-01 05:11:25.000000000 -0500
@@ -0,0 +1,87 @@
+Date: Wed, 23 May 2007 20:12:14 +0200
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Help%2FYouTubePlugin,v 1.1 2007/06/09 20:01:13 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Help%2FYouTubePlugin;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+! Usage
+<verbatim>
+  <?plugin YouTube v=HxXnYEqaRiQ 
+	   width=425 height=350
+	   size=medium|small|large
+           style=inline|link
+           autoplay=0|1
+	   browse="Daily Pick|Most Recent|Most Viewed|Top Rated|
+		   Most Discussed|Top Favorites|Most Linked|
+		   Recently Featured|Most Responded|Watch on Mobile"
+	   time="Today|This week|This month|All Time"
+	   category="All|Autos & Vehicles|Comedy|Entertainment|
+		   Film & Animation|Gadgets & Games|Howto & DIY|Music
+		   News & Politics|People & Blogs|Pets & Animals|
+	           Sports|Travel & Places"
+	   language="All|English|Spanish|Japanese|German|Chinese|French"
+  ?>
+</verbatim>
+
+! Arguments
+
+  * v=... (required, or define browse)
+    key of the video
+  * browse=... (optional, if v is empty)
+    One of "Daily Pick", "Most Recent", "Most Viewed", "Top Rated",
+    "Most Discussed", "Top Favorites", "Most Linked", "Recently Featured",
+    "Most Responded", "Watch on Mobile"
+  * time=Today (optional)
+    One of "Today", "This Week", "This Month", "All Time"
+  * category=All (optional)
+    One of "All", "Autos & Vehicles", "Comedy", "Entertainment",
+    "Film & Animation", "Gadgets & Games", "Howto & DIY", "Music",
+    "News & Politics", "People & Blogs", "Pets & Animals", "Sports",
+    "Travel & Places"
+  * language=All (optional)
+    One of "All", "English", "Spanish", "Japanese", "German", "Chinese", "French"
+  * width=425 (optional. Default: 425)
+  * height=350 (optional. Default: 350)
+  * autoplay=0 (optional. Default: 0)
+    if autoplay=1 it starts automatically to play, otherwise to have to click on it.
+  * style=inline or link (optional. Default: inline)
+    if link will display a small icon with a link to the youtube video
+  * size=medium or small or large (optional. Default: medium).
+    Overrides width and height.
+
+! Example
+
+<verbatim>
+link:
+  <?plugin YouTube v=HxXnYEqaRiQ style=link ?>
+inline:
+  <?plugin YouTube v=HxXnYEqaRiQ ?>
+Daily Pick:
+  <?plugin YouTube browse="Daily Pick" ?>
+Top Rated (This Month):
+  <?plugin YouTube browse="Top Rated" time="This Month" ?>
+</verbatim>
+
+link:
+  <?plugin YouTube v=HxXnYEqaRiQ style=link ?>
+
+inline:
+  <?plugin YouTube v=HxXnYEqaRiQ ?>
+
+Daily Pick:
+  <?plugin YouTube browse="Daily Pick" ?>
+
+Top Rated (This Month):
+  <?plugin YouTube browse="Top Rated" time="This Month" ?>
+
+See LisaNova
+
+! Author
+PhpWiki:ReiniUrban
+----
+PhpWikiDocumentation Help:WikiPlugin
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/HomePage 1.3.14/pgsrc/HomePage
--- 1.3.12p3/pgsrc/HomePage	2006-06-18 06:19:42.000000000 -0500
+++ 1.3.14/pgsrc/HomePage	2007-07-01 05:11:25.000000000 -0500
@@ -1,16 +1,16 @@
-Date: Sun, 27 Jan 2002 17:28:55 -0500
+Date: Sun, 27 Jan 2005 17:28:55 -0500
 Mime-Version: 1.0 (Produced by PhpWiki 1.3.2-jeffs-hacks)
-X-Rcs-Id: $Id: HomePage,v 1.11 2004/04/12 17:42:02 rurban Exp $
+X-Rcs-Id: $Id: HomePage,v 1.12 2005/11/21 22:19:00 rurban Exp $
 Content-Type: application/x-phpwiki;
   pagename=HomePage;
-  pgsrc_version="2 $Revision: 1.11 $";
+  pgsrc_version="2 $Revision: 1.12 $";
   flags="";
   markup=2;
   charset=iso-8859-1
 Content-Transfer-Encoding: binary
 
 * What is a WikiWikiWeb? A description of this application.
-* Learn HowToUseWiki and learn about AddingPages.
+* Learn Help:HowToUseWiki and learn about Help:AddingPages.
 * Use the SandBox page to experiment with Wiki pages.
 * Please sign your name in RecentVisitors.
 * See RecentChanges for the latest page additions and changes.
diff -ruN 1.3.12p3/pgsrc/HowToUseWiki 1.3.14/pgsrc/HowToUseWiki
--- 1.3.12p3/pgsrc/HowToUseWiki	2006-06-18 06:19:42.000000000 -0500
+++ 1.3.14/pgsrc/HowToUseWiki	1969-12-31 18:00:00.000000000 -0600
@@ -1,80 +0,0 @@
-Date: Sun, 27 Jan 2002 17:28:55 -0500
-Mime-Version: 1.0 (Produced by PhpWiki 1.3.2-jeffs-hacks)
-X-Rcs-Id: $Id: HowToUseWiki,v 1.11 2002/12/29 00:32:34 carstenklapp Exp $
-Content-Type: application/x-phpwiki;
-  pagename=HowToUseWiki;
-  pgsrc_version="2 $Revision: 1.11 $";
-  flags="";
-  markup=2;
-  charset=iso-8859-1
-Content-Transfer-Encoding: binary
-
-''"Wiki wiki"'' means "quick" in Hawai'ian.
-
-*All you really need to know is:*
-
-* To edit any page click on the Edit link at the bottom of the page.
-  You should do that right now, and read the source code of this page.
-  It will make more sense.
-
-* You get italics by surrounding words with underscores on either side
-  _like this_.
-
-* You get *bold text* by using two asterisks on either side.
-
-* And, *_bold italics_* by using both.
-
-* You get =monospaced text= by using two equal-signs on either side.
-
-* You get bullets by using an asterisk * at the start of the line.
-
-* To have a paragraph in plain monospaced font, start it with <pre>
-  and end it with </pre>:
-
-  <pre>
-  this is a poem for sure
-  about monospacing
-  i wrote in purple velour
-  but couldn't find a rhyme for monospacing
-  </pre>
-
-* You separate paragraphs with an extra blank line. Example:
-
-  I am a paragraph.
-
-  I am a paragraph too. We're just very small paragraphs.
-
-* You can get horizontal rules with four or more dashes like this:
-
-  ---------
-
-* To create hyperlinks you just capitalize the words and string them
-  together. Let's say you want to create a page about how Steve
-  Wainstead eats worms. All you have to do is capitalize each word and
-  string them together like this: SteveWainsteadEatsLiveWorms. If the
-  page does not exist yet a question mark appears after the link,
-  inviting you to create the page: ThisPageShouldNotExist. (And please
-  don't ruin the example by creating one.)
-
-* To link to pages outside the Wiki, you can just type in the URL and
-  Wiki will link it for you: http://www.nytimes.com/
-
-* To put images in, just provide the hyperlink in brackets like this:
-  ~[~http://www.yourhost.yourdomain/images/picture.png]. Image URLs not
-  in brackets will just appear as hyperlinks to the image.
-
-* Now you are ready to begin AddingPages.
-
-----
-
-A WikiWikiWeb is meant to be fast and easy to edit. It has very simple
-markup that you can read about in TextFormattingRules.
-
-----
-
-If you don't like the size of the text editing window you get, you can
-change it.  See UserPreferences.
-
-----
-
-PhpWikiDocumentation
diff -ruN 1.3.12p3/pgsrc/IncludePagePlugin 1.3.14/pgsrc/IncludePagePlugin
--- 1.3.12p3/pgsrc/IncludePagePlugin	2006-06-18 06:19:42.000000000 -0500
+++ 1.3.14/pgsrc/IncludePagePlugin	1969-12-31 18:00:00.000000000 -0600
@@ -1,20 +0,0 @@
-Date: Sun, 4 Jul 2004 01:31:02 -0700
-Mime-Version: 1.0 (Produced by PhpWiki 1.3.7)
-X-Rcs-Id: $Id: IncludePagePlugin,v 1.5 2004/07/04 08:44:08 rurban Exp $
-Content-Type: application/x-phpwiki;
-  pagename=IncludePagePlugin;
-  pgsrc_version="2 $Revision: 1.5 $";
-  flags="";
-  markup=2;
-  charset=iso-8859-1
-Content-Transfer-Encoding: binary
-
-This plugin will "include" other pages in this wiki. In the language of hypertext this is called <i>transclusion</i>. The pages will render in distinct tables. You can also load external pages in a more limited fashion with the FrameIncludePlugin. Examples:
-
-<?plugin IncludePage page="HomePage" ?>
-
-<?plugin IncludePage page="WabiSabi" ?>
-
------
-
-PhpWikiDocumentation WikiPlugin
diff -ruN 1.3.12p3/pgsrc/InterWikiSearch 1.3.14/pgsrc/InterWikiSearch
--- 1.3.12p3/pgsrc/InterWikiSearch	2006-06-18 06:19:42.000000000 -0500
+++ 1.3.14/pgsrc/InterWikiSearch	2007-07-01 05:11:25.000000000 -0500
@@ -1,9 +1,9 @@
-Date: Fri, 31 Jan 2003 17:59:03 -0500
+Date: Mon, 22 Jan 2007 21:19:35 +0100
 Mime-Version: 1.0 (Produced by PhpWiki 1.3.4)
-X-Rcs-Id: $Id: InterWikiSearch,v 1.1 2003/01/31 23:04:44 carstenklapp Exp $
+X-Rcs-Id: $Id: InterWikiSearch,v 1.2 2007/01/25 07:47:38 rurban Exp $
 Content-Type: application/x-phpwiki;
   pagename=InterWikiSearch;
-  pgsrc_version="2 $Revision: 1.1 $";
+  pgsrc_version="2 $Revision: 1.2 $";
   flags="";
   markup=2;
   charset=iso-8859-1
@@ -13,8 +13,8 @@
 name below.
 
 To add one of these searches to another page use the
-ExternalSearchPlugin.
+Help:ExternalSearchPlugin.
 
 <?plugin InterWikiSearch?>
 ----
-WikiPlugin
+Help:WikiPlugin
diff -ruN 1.3.12p3/pgsrc/is_a 1.3.14/pgsrc/is_a
--- 1.3.12p3/pgsrc/is_a	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/is_a	2007-07-01 05:11:25.000000000 -0500
@@ -0,0 +1,12 @@
+Date: Thu, 4 Jan 2007 03:13:00 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: is_a,v 1.1 2007/01/04 16:53:07 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=is_a;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+{{Template/Relation}}
diff -ruN 1.3.12p3/pgsrc/LdapSearch 1.3.14/pgsrc/LdapSearch
--- 1.3.12p3/pgsrc/LdapSearch	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/LdapSearch	2007-07-01 05:11:25.000000000 -0500
@@ -0,0 +1,12 @@
+Date: Sat, 20 Jan 2007 16:38:14 +0100
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: LdapSearch,v 1.1 2007/01/21 23:23:49 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=LdapSearch;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+<?plugin LdapSearch ?>
diff -ruN 1.3.12p3/pgsrc/LeastPopular 1.3.14/pgsrc/LeastPopular
--- 1.3.12p3/pgsrc/LeastPopular	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/LeastPopular	2007-07-01 05:11:25.000000000 -0500
@@ -0,0 +1,12 @@
+Date: Wed, 3 Jan 2007 16:57:56 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: LeastPopular,v 1.1 2007/01/03 21:26:43 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=LeastPopular;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+<?plugin MostPopular limit=-20 ?>
diff -ruN 1.3.12p3/pgsrc/LinkIcons 1.3.14/pgsrc/LinkIcons
--- 1.3.12p3/pgsrc/LinkIcons	2006-06-18 06:19:42.000000000 -0500
+++ 1.3.14/pgsrc/LinkIcons	1969-12-31 18:00:00.000000000 -0600
@@ -1,65 +0,0 @@
-Date: Thu, 28 Mar 2002 14:57:00 -0500
-Mime-Version: 1.0 (Produced by PhpWiki 1.3.2-jeffs-hacks)
-X-Rcs-Id: $Id: LinkIcons,v 1.10 2002/12/29 00:32:34 carstenklapp Exp $
-Content-Type: application/x-phpwiki;
-  pagename=LinkIcons;
-  pgsrc_version="2 $Revision: 1.10 $";
-  flags="";
-  markup=2;
-  charset=iso-8859-1
-Content-Transfer-Encoding: binary
-
-LinkIcons are an optional new feature of PhpWiki. When activated,
-icons will be displayed in front of URLs to indicate the type of link.
-
-* [http://phpwiki.sourceforge.net/demo/themes/default/images/http.png]
-  http link
-* [http://phpwiki.sourceforge.net/demo/themes/default/images/url.png]
-  generic internet link
-* [http://phpwiki.sourceforge.net/demo/themes/default/images/interwiki.png]
-  InterWiki link
-* [http://phpwiki.sourceforge.net/demo/themes/default/images/https.png]
-  https link
-* [http://phpwiki.sourceforge.net/demo/themes/default/images/mailto.png]
-  mailto link
-* [http://phpwiki.sourceforge.net/demo/themes/default/images/ftp.png]
-  ftp link
-
-__Note__: Some of the default icons use the alpha channel feature of
-the [PNG | http://www.libpng.org/pub/png/png-sitemap.html] image format
-for smooth rendering on any page color or textured background. Older
-browsers may not display all the images properly.
-
-!!!Examples
-
-The following examples will display with the above link icons only if
-the administrator has enabled this feature.
-
-!! InterWiki links
-
-* InterWiki link PhpWiki:InterWiki
-* A named InterWiki [read WhyWikiWorks at c2|Wiki:WhyWikiWorks].
-
-!!URLs
-
-* Email address [PhpWiki-talk mailing list|mailto:phpwiki-talk@lists.sourceforge.net]
-* Normal http link [PhpWiki's Home Page|http://phpwiki.sourceforge.net/phpwiki/]
-* Secure http link [PhpWiki's Home Page|https://phpwiki.sourceforge.net/phpwiki/]
-* File transfer ftp://ftp.sourceforge.net/
-
-''A generic icon is shown for other less common link types.''
-
-* news://nntp.news.com
-* gopher://gopher.caltech.cmu.edu
-
-LinkIcons will only display when the URL protocol is one which PhpWiki
-is allowed to link to. The following examples won't show any icons and
-PhpWiki won't automatically provide double-clickable links either,
-unless the administrator adds them:
-
-* bogus://oedipus.nostradamus.com
-* bolo://lgm.cheshire.org
-
-----
-
-PhpWikiDocumentation
diff -ruN 1.3.12p3/pgsrc/LinkSearch 1.3.14/pgsrc/LinkSearch
--- 1.3.12p3/pgsrc/LinkSearch	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/LinkSearch	2007-07-01 05:11:25.000000000 -0500
@@ -0,0 +1,12 @@
+Date: Thu, 4 Jan 2007 04:00:12 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: LinkSearch,v 1.3 2007/01/04 16:58:50 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=LinkSearch;
+  pgsrc_version="2 $Revision: 1.3 $";
+  flags=PAGE_LOCKED;
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+<?plugin LinkSearch limit||=100?>
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/LisaNova 1.3.14/pgsrc/LisaNova
--- 1.3.12p3/pgsrc/LisaNova	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/LisaNova	2007-07-01 05:11:25.000000000 -0500
@@ -0,0 +1,63 @@
+Date: Thu, 21 Jun 2007 21:44:24 +0200
+X-Rcs-Id: $Id: LisaNova,v 1.6 2007/06/21 21:44:30 rurban Exp $
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13p1)
+Content-Type: application/x-phpwiki;
+  pagename=LisaNova;
+  flags="";
+  markup=2;
+  charset=utf-8
+Content-Transfer-Encoding: binary
+
+! A [ YouTube | http://www.youtube.com/ ] star
+
+! [LisaNova's Profile | http://www.youtube.com/profile?user=LisaNova]
+
+! Videos (45)
+# Trying Too Hard? <br><?plugin YouTube style=link v=Cw5-k4OwsOw ?>
+# The Big Debate <br><?plugin YouTube style=link v=8Y2N9FueKak ?>
+# Affirmation Girl - My Body is A Temple <br><?plugin YouTube style=link v=e19NrkUcFEQ ?>
+# Keira and Johnny - Johnny is Dead! Behind Scenes Pirates! <br><?plugin YouTube style=link v=t2fMTA3UWOQ ?>
+# Affirmation Girl <br><?plugin YouTube style=link v=0DK4rKVIo48 ?>
+# Hey Dax, Short Shorts=for girls only <br><?plugin YouTube style=link v=i5QOvO2s5J0 ?>
+# Keira and Johnny! Behind the Scenes-Pirates of the Caribbean <br><?plugin YouTube style=link v=IdynbD7cNMo ?>
+# LisaNova does Lindsay Lohan! <br> <?plugin YouTube style=link v=qNd7djrQoi0 ?>
+# ROBOT LOVE!!! Daxflame & ~GreenTeaGirlie! !! <br> <?plugin YouTube style=link v=rZgtzEyOieg ?>
+# Hillary vs Obama <br>  <?plugin YouTube style=link v=YqOHquOkpaU ?>
+# LisaNova Exposed- Outtakes #1  <br>  <?plugin YouTube style=link v=K6jtAyvCizE ?>
+# LisaNova's Eternal Flame <br> <?plugin YouTube style=link v=hXMi0nKff_U ?>
+# LisaNova does 300! <br>  <?plugin YouTube style=link v=k9G2-bN1Br4 ?>
+# LISANOVA does MR. SAFETY and the AS ONE Gatherers <br> <?plugin YouTube style=link v=AMUwjdn7Dyg ?>
+# Trying Too Hard? <br> <?plugin YouTube style=link v=6IPN30Lzv7w ?>
+# The Professional Rapper <br> <?plugin YouTube style=link v=qGypWfQjqy0 ?>
+# LisaNova does Mad TV...Thanks ~YouTube! <br> <?plugin YouTube style=link v=CmWIY_C7XUw ?>
+# VALENTINE'S DAY DON'TS <br> <?plugin YouTube style=link v=KK-dUnqHei8 ?>
+# Passionate About The Lips <br> <?plugin YouTube style=link v=KlRLYR3Di4M ?>
+# LisaNova does Keira Knightley <br> <?plugin YouTube style=link v=b7Q7YkxvJwo ?>
+# Magical Holiday From LisaNova <br> <?plugin YouTube style=link v=Q8rJA-xB2Gg ?>
+# LisaNova's Life is About To Change & So Can Yours!!! <br> <?plugin YouTube style=link v=4k9vl_Y_U3o ?>
+# LisaNova does Rush Limbaugh <br> <?plugin YouTube style=link v=_iHk5Iz_Q6c ?>
+# LisaNova is a B!%@H!!! <br> <?plugin YouTube style=link v=4BItuo9YfeA ?>
+# LisaNova Does P. Diddy <br> <?plugin YouTube style=link v=ES6kSKGv7dA ?>
+# My New Addiction? <br>  <?plugin YouTube style=link v=sYomUXk2RXg ?>
+# The Sopranos- Adriana Returns!!! <br> <?plugin YouTube style=link v=c1v13vEIJ9U ?>
+# LisaNova Does Lonelygirl15 <br> <?plugin YouTube style=link v=6XCQTSI4djM ?>
+# Giving up the Nuts!!!!! <br> <?plugin YouTube style=link v=pZDILuqCMlc ?>
+# Teenie Weenie Raw Flesh <br> <?plugin YouTube style=link v=uE-F1yMv8nY ?>
+# Pedro Says: Don't Flag LisaNova! <br> <?plugin YouTube style=link v=_C4pW4vTVKY ?>
+# Don't Be A Douche Bag <br> <?plugin YouTube style=link v=9TTkWfPUIrc ?>
+# Breaking News!!!!!!!!!!! !! <br> <?plugin YouTube style=link v=orKIbllSVqY ?>
+# It was a long Hot ride so I took a Dip!!! <br> <?plugin YouTube style=link v=ja300SmkjPU ?>
+# Silly Girl Interviews "Celebrities" <br> <?plugin YouTube style=link v=mV9wZ7Tt3zU ?>
+# Teenie Weenie RAW & UNCENSORED!!! <br> <?plugin YouTube style=link v=ggKvDl6AtRc ?>
+# LisaNova on Competition <br> <?plugin YouTube style=link v=ot5Xv1C8k-k ?>
+# This Summer is Going to be HOT & I'm EXCITED <br> <?plugin YouTube style=link v=4pWZHnqjwNY ?>
+# LisaNova Celebrates the 4th with Daniel Decorum <br> <?plugin YouTube style=link v=wPMGqYPF3iY ?>
+# LisaNova's Lonely Teardrops <br> <?plugin YouTube style=link v=sCpfDGs-Mfo ?>
+# LL apologizes to LisaNova <br> <?plugin YouTube style=link v=fZa9fT-2XVM ?>
+# LisaNova takes the Bus <br> <?plugin YouTube style=link v=b4xaZis4YPE ?>
+# LisaNova does LL <br> <?plugin YouTube style=link v=Z5Rw63ZtN9U ?>
+# Roses For Lisa Nova <br> <?plugin YouTube style=link v=fuRVquMbBTA ?>
+# Introducing LisaNova <br> <?plugin YouTube style=link v=JgMZpHF64K8 ?>
+
+----
+PhpWikiDocumentation
diff -ruN 1.3.12p3/pgsrc/ListPagesPlugin 1.3.14/pgsrc/ListPagesPlugin
--- 1.3.12p3/pgsrc/ListPagesPlugin	2006-06-18 06:19:42.000000000 -0500
+++ 1.3.14/pgsrc/ListPagesPlugin	1969-12-31 18:00:00.000000000 -0600
@@ -1,30 +0,0 @@
-Date: Thu, 7 Oct 2004 18:13:41 +0200
-Mime-Version: 1.0 (Produced by PhpWiki 1.3.11pre) 
-X-Rcs-Id: $Id: ListPagesPlugin,v 1.1 2004/10/14 15:40:45 rurban Exp $
-Content-Type: application/x-phpwiki;
-  pagename=ListPagesPlugin;
-  pgsrc_version="2 $Revision: 1.1 $";
-  flags="";
-  markup=2;
-  charset=iso-8859-1
-Content-Transfer-Encoding: binary
-
-The ListPagesPlugin is the simpliest plugin to explicitly list a set of pages with all available 
-[pagelist|PhpWiki:PageList] options, mainly used for a wikilens theme to display ratings info 
-and recommendations.
-
-It can also be used with the PhpWiki:PluginList method to list a set of pages generated by 
-another plugin, and/or to exclude a set of pages generated by another plugin.
-
-See the PhpWiki:PageList options.
-
-Usage:
-<verbatim>
-  <?plugin ListPages pages=HomePage,FindPage,WikiWikiWeb ?>
-
-  <?plugin ListPages info=hits sortby=hits pages=<!plugin-list BackLink page=[] !> exclude=ListPagesPlugin,WikiPlugin ?>
-</verbatim>
-
--------------
-
-PhpWikiDocumentation WikiPlugin 
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/ListRelations 1.3.14/pgsrc/ListRelations
--- 1.3.12p3/pgsrc/ListRelations	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/ListRelations	2007-07-01 05:11:25.000000000 -0500
@@ -0,0 +1,12 @@
+Date: Sun, 31 Dec 2006 12:54:21 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: ListRelations,v 1.1 2007/01/02 13:26:37 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=ListRelations;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags=PAGE_LOCKED;
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+<?plugin ListRelations ?>
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/located_in 1.3.14/pgsrc/located_in
--- 1.3.12p3/pgsrc/located_in	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/located_in	2007-07-01 05:11:25.000000000 -0500
@@ -0,0 +1,12 @@
+Date: Thu, 4 Jan 2007 03:13:33 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: located_in,v 1.1 2007/01/04 16:53:07 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=located_in;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+{{Template/Relation}}
diff -ruN 1.3.12p3/pgsrc/MagicPhpWikiURLs 1.3.14/pgsrc/MagicPhpWikiURLs
--- 1.3.12p3/pgsrc/MagicPhpWikiURLs	2006-06-18 06:19:42.000000000 -0500
+++ 1.3.14/pgsrc/MagicPhpWikiURLs	1969-12-31 18:00:00.000000000 -0600
@@ -1,134 +0,0 @@
-Date: Wed, 27 Feb 2002 19:54:00 -0500
-Mime-Version: 1.0 (Produced by PhpWiki 1.3.3-jeffs-hacks)
-X-Rcs-Id: $Id: MagicPhpWikiURLs,v 1.13 2002/11/25 19:44:01 dairiki Exp $
-Content-Type: application/x-phpwiki;
-  pagename=MagicPhpWikiURLs;
-  flags=PAGE_LOCKED;
-  pgsrc_version="2 $Revision: 1.13 $";
-  markup=2;
-  charset=iso-8859-1
-Content-Transfer-Encoding: binary
-
-!!! About phpwiki: URLs
-
-A special type of URL is available for making links to perform
-administrative and other special functions in PhpWiki.  Here is a
-brief description of how they work.
-
-The basic syntax of a phpwiki: URL is
-
-<pre>
-__phpwiki:__''pagename''__?__''query-args''
-</pre>
-
-If _pagename_ is omitted it defaults to the current page.
-
-_Query-args_ should be a set of parameters in standard HTTP GET
-format.
-
-The "action=''x''" parameter should almost always be given.  It can be one of
-__browse__, __diff__, __edit__, __viewsource__,
-__zip__, __dumpserial__, __loadserial__,
-__remove__, __lock__, __unlock__,
-__login__, __logout__, __setprefs__ or __save__.
-The default action is __browse__.
-
-Some of the actions accept other parameters.
-
-__FullTextSearch__, __TitleSearch__:
-
-  Accepts __s__=search term, and __size__=input size.
-
-__edit__:
-
-  Accepts __version__.
-
-__remove__:
-
-  Accepts __verify__.
-
-__save__:
-
-  Accepts __editversion__, __minor_edit__, and  __content__.
-
-__setprefs__:
-
-  Accepts __edit_area_width__, __edit_area_height__.
-
-!! Writing Magic Links in Wiki Pages
-
-A magic link looks like:
-
-<pre>
-__~[__ ''text'' __|__ ''phpwiki-url'' __]__
-</pre>
-
-The "''text'' *|*" is optional but usually recommended.  If given it
-will provide the label for the link.
-
-The _phpwiki-url_ is a *phpwiki:* URL as described above.
-
-!Some examples
-
-<verbatim>
-[ Edit the SandBox | phpwiki:SandBox?action=edit ]
-</verbatim>
-will generate a link which will take you directly to editing the
-SandBox, like so: [Edit the SandBox | phpwiki:SandBox?action=edit].
-
-Other possibilites:
-* [ Diff the SandBox | phpwiki:SandBox?action=diff ],
-* [ Lock the HomePage | phpwiki:HomePage?action=lock ],
-* [ Get a Full Zip Dump | phpwiki:?action=zip&include=all ],
-* Search for [ Page titles containing 'wiki' | phpwiki:?action=TitleSearch&s=wiki ]
-
-!! Writing Magic Forms in Wiki Pages
-
-''__Note__: The old syntax for Magic forms is no longer supported.
-They are superseded by =<?plugin-form>=.''
-
-If the plugin is called using *<?plugin-form* instead of *<?plugin*
-and the plugin supports searching, then it will be rendered as a form.
-
-''size'':
-
-  If given, specifies the size of the input area.
-
-''s'':
-
-  Specifies the default value for the input.
-
-!Examples:
-
-A search plugin invoked with *<?plugin* instead of *<?plugin-form*
-simply inserts the search results of the plugin:
-
-<verbatim>
-<?plugin TitleSearch s=wiki noheader=true ?>
-</verbatim>
-
-Search results for Page titles containing 'wiki':
-
-<?plugin TitleSearch s=wiki noheader=true ?>
-
-<verbatim>
-<?plugin-form FullTextSearch ?>
-</verbatim>
-
-gives
-
-<?plugin-form FullTextSearch ?>
-
-While
-
-<verbatim>
-<?plugin-form TitleSearch formsize=12 ?>
-</verbatim>
-
-yields
-
-<?plugin-form TitleSearch formsize=12 ?>
-
-----
-
-PhpWikiDocumentation
diff -ruN 1.3.12p3/pgsrc/MoreAboutMechanics 1.3.14/pgsrc/MoreAboutMechanics
--- 1.3.12p3/pgsrc/MoreAboutMechanics	2006-06-18 06:19:43.000000000 -0500
+++ 1.3.14/pgsrc/MoreAboutMechanics	1969-12-31 18:00:00.000000000 -0600
@@ -1,44 +0,0 @@
-Date: Sun, 16 Nov 2003 02:28:52 +0100
-Mime-Version: 1.0 (Produced by PhpWiki 1.3.5pre)
-X-Rcs-Id: $Id: MoreAboutMechanics,v 1.11 2003/11/16 01:42:36 carstenklapp Exp $
-Content-Type: application/x-phpwiki;
-  pagename=MoreAboutMechanics;
-  pgsrc_version="2 $Revision: 1.11 $";
-  flags="";
-  markup=2;
-  charset=iso-8859-1
-Content-Transfer-Encoding: binary
-
-PhpWiki is written in the server-side scripting language PHP,
-available from http://www.php.net/. PHP resembles C and Perl in its
-syntax, and functions much like ASP, ~EmbPerl or JSP.
-
-PhpWiki consists of a dozen or so files of mixed PHP and HTML. The web
-pages that make up a WikiWikiWeb based on PHP live in a database with
-backup copies of previous versions of pages stored as well. (For the
-database, PhpWiki works with DBM, MySQL, PostgreSQL or text files.)
-
-Every time a user hits the site, the page requested is pulled from the
-database and rendered on the fly. The user only really ever requests
-the file =index.php=, which then decides which other php files to
-include.
-
-Links to pages in the Wiki are automatically linked: AddingPages.
-This might be the single most compelling aspect of a Wiki, the ability
-to add pages simply by linking to them. The next most compelling thing
-is how easily external URLs link, like this:
-
-# http://www.wcsb.org/
-# ftp://ftp.redhat.com/
-# news://news.mozilla.org/
-# http://slashdot.org/
-# http://theregister.co.uk/
-
-Combined with one namespace and a simple markup, a Wiki exhibits many
-of the characteristics of WabiSabi.
-
-PhpWiki is licensed under the GNU General Public license, which you
-should be able to see here: http://www.gnu.org/copyleft/gpl.txt.
-
-----
-PhpWikiDocumentation CategoryWiki
diff -ruN 1.3.12p3/pgsrc/MyRecentChanges 1.3.14/pgsrc/MyRecentChanges
--- 1.3.12p3/pgsrc/MyRecentChanges	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/MyRecentChanges	2007-07-01 05:11:25.000000000 -0500
@@ -0,0 +1,17 @@
+Date: Thu, 25 Jan 2007 21:19:35 +0100
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: MyRecentChanges,v 1.1 2007/01/25 21:47:10 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=MyRecentChanges;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=utf-8
+Content-Transfer-Encoding: binary
+
+Here's a list of all my recently changed pages on this wiki. <em>See
+<strong>RecentChanges</strong> for all authors recent edits and changes, and 
+MyRecentEdits for all minor edits also.</em>
+
+--------
+<?plugin RecentChanges days||=7 daylist=1,3,7,30,90,0 author=[] show_deleted||=1 ?>
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/MyRecentEdits 1.3.14/pgsrc/MyRecentEdits
--- 1.3.12p3/pgsrc/MyRecentEdits	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/MyRecentEdits	2007-07-01 05:11:25.000000000 -0500
@@ -0,0 +1,17 @@
+Date: Thu, 25 Jan 2007 21:19:35 +0100
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: MyRecentEdits,v 1.1 2007/01/25 21:47:10 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=MyRecentEdits;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=utf-8
+Content-Transfer-Encoding: binary
+
+Here's a list of all my recently changed pages on this wiki, including minor edits. 
+<em>See <strong>RecentChanges</strong> for all recent edits and changes and 
+MyRecentChanges for all major edits only.</em>
+
+--------
+<?plugin RecentChanges days||=7 daylist=1,3,7,30,90,0 author=[] show_minor=1 show_deleted||=1 ?>
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/NewMarkupTestPage 1.3.14/pgsrc/NewMarkupTestPage
--- 1.3.12p3/pgsrc/NewMarkupTestPage	2006-06-18 06:19:43.000000000 -0500
+++ 1.3.14/pgsrc/NewMarkupTestPage	1969-12-31 18:00:00.000000000 -0600
@@ -1,156 +0,0 @@
-Date: Sun, 27 Jan 2002 17:28:55 -0500
-Mime-Version: 1.0 (Produced by PhpWiki 1.3.2-jeffs-hacks)
-X-Rcs-Id: $Id: NewMarkupTestPage,v 1.6 2002/12/29 00:32:34 carstenklapp Exp $
-Content-Type: application/x-phpwiki;
-  pagename=NewMarkupTestPage;
-  pgsrc_version="2 $Revision: 1.6 $";
-  flags="";
-  markup=2;
-  charset=iso-8859-1
-Content-Transfer-Encoding: binary
-
-New lists: asterisks, hash marks, and ";text:def" (wrong...)
-* bullet
-* l1
-  * l2
-  * l2
-     * l3
- # one
- #two
- #three
-Term1:
-  definition1.1
-
-  definition1.2
-Term2 :
-    definition2
-
-    Term3:
-      definition3
-      Term4:
-          definition4
-
-          definition4.2
-      Term5 :
-        definition5
-
-Mixed -
- * ul1
-   # ul1-ol1
-   # ul1-ol2
-     * ul1-ol2-ul1
-     * ul1-ol2-ul2
-        * ul1-ol2-ul2-ul1
-        * ul1-ol2-ul2-ul2
-
-*  l1
-   <pre>
-      preformatted text
-   </pre>
-   * l2
-----
- old lists, oddly enough, work fine
-	* level 1
-	* l1
-		*l2
-		*l2
-			*l3
-			*l3
-				*l4
-			*l3
-					*l5
-			*l3
-	#one
-	#two
-		#one
-		#two
-	*l1
-		#three
-		#four
-	*l1
-		*l2
-		# one
-		# two
-
-<pre>
- preformatted text
- some more text
-</pre>
-
-	*l1
-				*l2
-	# number
-	# number
-this is a plain paragraph
-	* bullet
-this is a plain paragraph again
-	# number
-----
-__Link tests__
-# normal: HomePage
-# in brackets: [HomePage] -- named: [the front page|HomePage]
-# Link in brackets: [http://phpwiki.sourceforge.net/]
-# Link outside brackets: http://phpwiki.sourceforge.net/
-# Link with Wiki word: http://phpwiki.sourceforge.net/phpwiki/index.php?HomePage
-# Two consecutive links: http://phpwiki.sourceforge.net/ http://phpwiki.sourceforge.net/phpwiki/
-# [PhpWiki on Sourceforge | http://phpwiki.sourceforge.net/]
-# [URL with a WikiWord | http://phpwiki.sourceforge.net/phpwiki/index.php?RecentChanges]
-# Javascript: [boo! | javascript:alert('oops') ]  (is now: named internal link)
-# A [[Link] produces a [Link]
-# A [Link] looks like this: [[Link]
-# This is a [%%%] line break link
-# Also this page is [[not linked to], and this one is !NotLinkedTo and this one neither !http://not.linked.to/.
-  * WikiName - WikiNameSameStem -- !!WikiName - !!WikiNameSameStem
-  * !!WikiName - !!WikiNameSameStem -- WikiName - WikiNameSameStem
-  * WikiNameSameStem - WikiName -- !!WikiNameSameStem - !!WikiName
-  * !!WikiNameSameStem - !!WikiName -- WikiNameSameStem - WikiName
-
-----
-Markup tests:
-
-__underscores for bold__
-
-'''quotes for bold'''
-
-''quotes for italic''
-
-__''underscores bold italic''__
-
-'''''five quotes bold italic'''''
-
-''''''six quotes''''''
-
-'''''Bold italic''' and italic'' (buggy)
-
-'''Bold and ''bold-italic''''' (also buggy)
-
-!!! h1
-
-!! h2
-
-! h3
-
-this is plain text with <br>%%%
-a line break
-
-look at the <a href="http://phpwiki.sourceforge.net/">markup language</a>
-
-you cannot use &, < or >
-
-----
-Usage in preformatted text:
-<pre>
- __underscores for bold__
- '''quotes for bold'''
- ''quotes for italic''
- __''underscores bold italic''__
- '''''five quotes bold italic'''''
- ''''''six quotes''''''
- !!! h1
- !! h2
- ! h3
- this is plain text with <br>%%%
- a line break
- look at the <a href="http://phpwiki.sourceforge.net/">markup language</a>
- you cannot use &, < or >
-</pre>
diff -ruN 1.3.12p3/pgsrc/OldMarkupTestPage 1.3.14/pgsrc/OldMarkupTestPage
--- 1.3.12p3/pgsrc/OldMarkupTestPage	2006-06-18 06:19:43.000000000 -0500
+++ 1.3.14/pgsrc/OldMarkupTestPage	1969-12-31 18:00:00.000000000 -0600
@@ -1,142 +0,0 @@
-Date: Sun, 27 Jan 2002 17:28:55 -0500
-Mime-Version: 1.0 (Produced by PhpWiki 1.3.2-jeffs-hacks)
-X-Rcs-Id: $Id: OldMarkupTestPage,v 1.2 2002/12/17 18:16:55 dairiki Exp $
-Content-Type: application/x-phpwiki;
-  pagename=OldMarkupTestPage;
-  flags=PAGE_LOCKED;
-  charset=iso-8859-1
-Content-Transfer-Encoding: binary
-
- New lists: asterisks, hash marks, and ";text:def"
-* bullet
-* l1
-** l2
-** l2
-*** l3
-# one
-#two
-#three
-;Term1:definition1.1
-;: defintion1.2
-;Term2 :defintion2
-;; Term3:defintion3
-;;;Term4: definition4
-;;; : defintion4.2
-;;; Term5 : defintion5
-
-Mixed:
-*ul1
-*#ul1-ol1
-*#ul1-ol2
-*#*ul1-ol2-ul1
-*#*ul1-ol2-ul2
-*#**ul1-ol2-ul2-ul1
-*#**ul1-ol2-ul2-ul1
-
-*l1
- preformatted text
-**    l2
-----
- old lists
-	* level 1
-	* l1
-		*l2
-		*l2
-			*l3
-			*l3
-				*l4
-			*l3
-					*l5
-			*l3
-	#one
-	#two
-		#one
-		#two
-	*l1
-		#three
-		#four
-	*l1
-		*l2
-		# one
-		# two
-
- preformatted text
- some more text
-
-	*l1
-				*l4
-	# number
-	# number
-this is a plain paragraph
-	* bullet
-this is a plain paragraph again
-	# number
-----
-__Link tests__
-# normal: HomePage
-# in brackets: [HomePage] -- named: [the front page|HomePage]
-# Link in brackets: [http://phpwiki.sourceforge.net/]
-# Link outside brackets: http://phpwiki.sourceforge.net/
-# Link with Wiki word: http://phpwiki.sourceforge.net/phpwiki/index.php?HomePage
-# Two consecutive links: http://phpwiki.sourceforge.net/ http://phpwiki.sourceforge.net/phpwiki/
-# [PhpWiki on Sourceforge | http://phpwiki.sourceforge.net/]
-# [URL with a WikiWord | http://phpwiki.sourceforge.net/phpwiki/index.php?RecentChanges]
-# Javascript: [boo! | javascript:alert('oops') ]  (is now: named internal link)
-# A [[Link] produces a [Link]
-# A [Link] looks like this: [[Link]
-# This is a [%%%] line break link
-# Also this page is [[not linked to], and this one is !NotLinkedTo and this one neither !http://not.linked.to/.
-#* WikiName - WikiNameSameStem -- !!WikiName - !!WikiNameSameStem
-#* !!WikiName - !!WikiNameSameStem -- WikiName - WikiNameSameStem
-#* WikiNameSameStem - WikiName -- !!WikiNameSameStem - !!WikiName
-#* !!WikiNameSameStem - !!WikiName -- WikiNameSameStem - WikiName
-
-----
-Markup tests:
-
-__underscores for bold__
-
-'''quotes for bold'''
-
-''quotes for italic''
-
-__''underscores bold italic''__
-
-'''''five quotes bold italic'''''
-
-''''''six quotes''''''
-
-'''''Bold italic''' and italic'' (buggy)
-
-'''Bold and ''bold-italic''''' (also buggy)
-
-!!! h1
-
-!! h2
-
-! h3
-
-this is plain text with <br>%%%
-a line break
-
-look at the <a href="http://phpwiki.sourceforge.net/">markup language</a>
-
-you cannot use &, < or >
-
-----
-Usage in preformatted text:
- 
- __underscores for bold__
- '''quotes for bold'''
- ''quotes for italic''
- __''underscores bold italic''__
- '''''five quotes bold italic'''''
- ''''''six quotes''''''
- !!! h1
- !! h2
- ! h3
- this is plain text with <br>%%%
- a line break
- look at the <a href="http://phpwiki.sourceforge.net/">markup language</a>
- you cannot use &, < or >
- 
diff -ruN 1.3.12p3/pgsrc/OldStyleTablePlugin 1.3.14/pgsrc/OldStyleTablePlugin
--- 1.3.12p3/pgsrc/OldStyleTablePlugin	2006-06-18 06:19:43.000000000 -0500
+++ 1.3.14/pgsrc/OldStyleTablePlugin	1969-12-31 18:00:00.000000000 -0600
@@ -1,75 +0,0 @@
-Date: Sun, 4 Jul 2004 01:31:02 -0700
-Mime-Version: 1.0 (Produced by PhpWiki 1.3.4pre)
-X-Rcs-Id: $Id: OldStyleTablePlugin,v 1.7 2005/09/14 05:55:27 rurban Exp $
-Content-Type: application/x-phpwiki;
-  pagename=OldStyleTablePlugin;
-  flags="";
-  pgsrc_version="2 $Revision: 1.7 $";
-  markup=2;
-  charset=iso-8859-1
-Content-Transfer-Encoding: binary
-
-The OldStyleTablePlugin can be used to include tables within a wiki
-page using the old-style markup syntax for tables.
-
-!!Usage:
-
-<verbatim>
-<?plugin OldStyleTable caption="OldStyleTable" border||=2
-||^  *Name*                |v *Cost*   |v *Notes*
-| *First*     | *Last*
-|> Jeff       |< Dairiki   |^  Cheap   |< Not worth it
-|> Marco      |< Polo      | Cheaper   |< Not available
-?>
-</verbatim>
-
-will get you
-
-<?plugin OldStyleTable caption="OldStyleTable" border||=2
-||^  *Name*                |v *Cost*   |v *Notes*
-| *First*     | *Last*
-|> Jeff       |< Dairiki   |^  Cheap   |< Not worth it
-|> Marco      |< Polo      | Cheaper   |< Not available
-?>
-
-Note that multiple __|__s lead to spanned columns, and __v__s can be
-used to span rows.  A __>__ generates a right justified column, __<__
-a left justified column and __^__ a centered column (which is the
-default.)
-
-!! Plugin Arguments
-
-__caption__:
-
-  Any string. Default: ""
-
-__border__:
-
-  Any number. Default: 1
-
-__cellspacing__:
-
-  Any number. Default: 1
-
-__cellpadding__:
-
-  Any number. Default: 1
-
-__summary__:
-
-  Any string. Default: ""
-
-----
-
-Note that within each table cell, _new-style_ markup is used.  You can
-only use inline markup --- no block level markup is allowed within
-table cells.
-
-(Using old-style markup wouldn't make much sense, since one can't
-include multi-line plugin invocations using the old-style markup
-rules.)
-
-
--------------
-
-PhpWikiDocumentation WikiPlugin
diff -ruN 1.3.12p3/pgsrc/OldTextFormattingRules 1.3.14/pgsrc/OldTextFormattingRules
--- 1.3.12p3/pgsrc/OldTextFormattingRules	2006-06-18 06:19:43.000000000 -0500
+++ 1.3.14/pgsrc/OldTextFormattingRules	1969-12-31 18:00:00.000000000 -0600
@@ -1,120 +0,0 @@
-Date: Sat, 8 Jan 2005 22:55:20 +0100
-Mime-Version: 1.0 (Produced by PhpWiki 1.3.11pre-20041223)
-X-Rcs-Id: $Id: OldTextFormattingRules,v 1.7 2005/01/08 23:14:06 rurban Exp $
-Content-Type: application/x-phpwiki;
-  pagename=OldTextFormattingRules;
-  pgsrc_version="2 $Revision: 1.7 $";
-  flags=PAGE_LOCKED;
-  charset=iso-8859-1;
-  markup=2
-Content-Transfer-Encoding: binary
-
-! Synopsis
-OldTextFormattingRules%%%
-<strong>Emphasis:</strong> '<strong></strong>' for <em>italics</em>, _<em></em>~_ for <strong>bold</strong>, '<strong></strong>'_<em></em>~_ for <em><strong>both</strong></em>.%%%
-<strong>Lists:</strong> * for bullet lists, # for numbered lists, <em><strong>;</strong> term <strong>:</strong> definition</em> for definition lists.%%%
-<strong>References:</strong> ~JoinCapitalizedWords or use square brackets for a ~[page link] or URL ~[~http://cool.wiki.int/].%%%
-<strong>Footnotes:</strong> Use ~[1],~[2],~[3],...%%%
-<strong>Preventing linking:</strong> Prefix with "~!": ~!~DoNotHyperlink, name links like ~[~[text | URL] (double up on the "[").%%%
-<strong>Misc:</strong> "~!", "~!~!", "~!~!~!" make headings, "%%<em></em>%" makes a linebreak, "-<em></em>-<em></em>-<em></em>-" makes a horizontal rule.%%%
-<strong>Tables:</strong> | as first char, | for more columns, |> align right, |< align left, |^ centered (default), || span columns, |v span rows
-
-----
-! Paragraphs
-
-* Don't indent paragraphs
-* Words wrap and fill as needed
-* Use blank lines as separators
-* Four or more minus signs make a horizontal rule
-* %%<em></em>% makes a linebreak (in headings and lists too)
-
-
-! Lists
-
-* asterisk for first level
-     * asterisk-asterisk for second level, etc.
-* Use * for bullet lists, # for numbered lists (mix at will)
-* semicolon-term-colon-definition for definition lists:
-;term here:definition here, as in the <DL><DT><DD> list
-* One line for each item
-* Other leading whitespace signals preformatted text, changes font.
-
-! Headings
-
-* '~!' at the start of a line makes a small heading
-* '~!~!' at the start of a line makes a medium heading
-* '~!~!~!' at the start of a line makes a large heading
-
-! Fonts
-
-* Indent with one or more spaces to use a monospace font:
-
-<pre>
- This is in monospace
-</pre>
-This is not
-
-!Indented Paragraphs
-
-* semicolon-colon -- works like <BLOCKQUOTE>
-
-;:this is an indented block of text
-
-! Emphasis
-
-* Use doubled single-quotes ('<strong></strong>') for emphasis (usually <em>italics</em>)
-* Use doubled underscores (_<em></em>_) for strong emphasis (usually <strong>bold</strong>)
-* Mix them at will: <strong><em>bold italics</em></strong>
-* <em>Emphasis</em> can be used <em>multiple</em> times within a line, but <em>cannot</em> cross line boundaries:
-
-''this
-will not work''
-
-! References
-* Hyperlinks to other pages within the Wiki are made by placing the page name in square brackets: [this is a page link] or UsingWikiWords (preferred)
-* Hyperlinks to external pages are done like this: [http://www.wcsb.org/]
-* You can name the links by providing a name, a bar (|) and then the hyperlink or pagename: [PhpWiki home page | http://phpwiki.sourceforge.net/]  - [the front page | HomePage]
-* You can suppress linking to old-style references and URIs by preceding the word with a '~!', e.g. ~NotLinkedAsWikiName, ~http://not.linked.to/
-* You can create footnotes by using ~[1], ~[2], ~[3], ... like this here #[|ftnt_ref_1]<sup>~[[1|#ftnt_1]~]</sup>. See footnote for counterpart.  (If the ~[ is in the first column, it is a footnote <em>definition</em> rather than a footnote <em>reference</em> #[|ftnt_ref_1]<sup>~[[1|#ftnt_1]~]</sup>.)
-* Also, the old way of linking URL's is still supported: precede URLs with "http:", "ftp:" or "mailto:" to create links automatically as in: http://c2.com/
-* URLs ending with .png, .gif, or .jpg are inlined if in square brackets, by themselves: [http://phpwiki.sourceforge.net/demo/themes/default/images/png.png]
-
-! Tables
-
-* Simple tables are available.  A table row is introduced by a <strong>|</strong> in the first column.  It is best described by example:
-<pre>
-      ||  _<em></em>_Name_<em></em>~_               |v _<em></em>_Cost_<em></em>~_   |v _<em></em>_Notes_<em></em>~_
-      | _<em></em>_First_<em></em>~_   | _<em></em>_Last_<em></em>~_
-      |> Jeff       |< Dairiki   |^  Cheap     |< Not worth it
-      |> Marco      |< Polo      | Cheaper     |< Not available
-</pre>
-;:will generate
-<?plugin OldStyleTable
-||  <strong>Name</strong>               |v <strong>Cost</strong>   |v <strong>Notes</strong>
-| <strong>First</strong>   | <strong>Last</strong>
-|> Jeff       |< Dairiki   |^  Cheap     |< Not worth it
-|> Marco      |< Polo      | Cheaper     |< Not available
-?>
-
-;:Note that multiple <strong>|</strong>'s lead to spanned columns, and <strong>v</strong>'s can be used to span rows.  A <strong>></strong> generates a right justified column, <strong><</strong> a left justified column and <strong>^</strong> a centered column (which is the default.)
-;:With the new TextFormatingsRules tables are only supported with the OldStyleTablePlugin.
-
-
-! HTML Mark-Up Language
-
-* Don't bother
-* < and > are themselves
-* The & characters will not work
-* If you really must use HTML, your system administrator can enable this feature. Start each line with a bar (|). Note that this feature is disabled by default.
-
-! More detail than you want to know
-
-See [MagicPhpWikiURLs] for gory details on how to write various kind of wiki maintainance links. (<em>deprecated</em>)
-
------
-
-! Footnotes:
-
-#[|ftnt_1]~[[1|#ftnt_ref_1]~]  By using ~[1] a second time (in the first column) the footnote itself is <em>defined</em>.  You may refer to a footnote as many times as you want, but you may only define it once on the page.  Note the the ~[1] in the footnote links back to the first reference, if there are multiple references there will be +'s after the ~[1] which will link to the other references.  (References which come <em>after</em> the footnote <em>definition</em> will not be linked to.)
-----
-PhpWikiDocumentation
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/PageGroupTest 1.3.14/pgsrc/PageGroupTest
--- 1.3.12p3/pgsrc/PageGroupTest	2006-06-18 06:19:43.000000000 -0500
+++ 1.3.14/pgsrc/PageGroupTest	1969-12-31 18:00:00.000000000 -0600
@@ -1,34 +0,0 @@
-Date: Tue, 30 Nov 2004 21:46:53 +0100
-Mime-Version: 1.0 (Produced by PhpWiki 1.3.11pre-20041130)
-X-Rcs-Id: $Id: PageGroupTest,v 1.9 2004/12/05 11:15:41 rurban Exp $
-Content-Type: application/x-phpwiki;
-  pagename=PageGroupTest;
-  pgsrc_version="2 $Revision: 1.9 $";
-  flags="";
-  markup=2;
-  charset=iso-8859-1
-Content-Transfer-Encoding: binary
-
-PageGroupTest is a test of the ~PageGroup plugin.
-
-Click the first page to start the tour of this experimental plugin.
-
-!Table of Contents
-# [PageGroupTestOne]
-# [PageGroupTestTwo]
-# [PageGroupTestThree]
-# [PageGroupTestFour]
-
-! TODO
-
-* Support ~[ name | page ~] links
-* Support Previous, Next ... image buttons
-
-%%% %%% %%% %%%
-
-----
-
-For reference, here are all the pages that link to PageGroupTest
-(note that one is missing):
-
-<?plugin BackLinks page=PageGroupTest ?>
diff -ruN 1.3.12p3/pgsrc/PageGroupTestFour 1.3.14/pgsrc/PageGroupTestFour
--- 1.3.12p3/pgsrc/PageGroupTestFour	2006-06-18 06:19:43.000000000 -0500
+++ 1.3.14/pgsrc/PageGroupTestFour	1969-12-31 18:00:00.000000000 -0600
@@ -1,29 +0,0 @@
-Date: Thu, 31 Jan 2002 03:02:06 -0500
-Mime-Version: 1.0 (Produced by PhpWiki 1.3.2-jeffs-hacks)
-X-Rcs-Id: $Id: PageGroupTestFour,v 1.6 2004/12/05 11:15:41 rurban Exp $
-Content-Type: application/x-phpwiki;
-  pagename=PageGroupTestFour;
-  flags="";
-  author=CarstenKlapp;
-  author_id=CarstenKlapp;
-  markup=2;
-  charset=iso-8859-1
-Content-Transfer-Encoding: binary
-
-So, this is the last page in this page group.
-
-Note that looping of off on this page, so __Next:__ shouldn't show up
-here but it does because of the bug described in PageGroupTestOne.
-
-%%% %%% %%% %%% %%% %%% %%%
-----
-
-<?plugin PageGroup
-        parent=PageGroupTest
-        section="Table of Contents"
-        loop=false
-?>
-
-----
-
-PageGroupTest
diff -ruN 1.3.12p3/pgsrc/PageGroupTestOne 1.3.14/pgsrc/PageGroupTestOne
--- 1.3.12p3/pgsrc/PageGroupTestOne	2006-06-18 06:19:43.000000000 -0500
+++ 1.3.14/pgsrc/PageGroupTestOne	1969-12-31 18:00:00.000000000 -0600
@@ -1,33 +0,0 @@
-Date: Thu, 31 Jan 2002 02:48:01 -0500
-Mime-Version: 1.0 (Produced by PhpWiki 1.3.2-jeffs-hacks)
-X-Rcs-Id: $Id: PageGroupTestOne,v 1.5 2004/12/05 11:15:41 rurban Exp $
-Content-Type: application/x-phpwiki;
-  pagename=PageGroupTestOne;
-  flags="";
-  author=CarstenKlapp;
-  author_id=CarstenKlapp;
-  markup=2;
-  charset=iso-8859-1
-Content-Transfer-Encoding: binary
-
-Ok, this is page one in this page group.
-
-There is a bug. When looping is true (and it is, but only for this
-first page--another possible flaw) and if the Contents title is not
-the first item on the Table of Contents page, and if there are other
-things on the TOC page after the actual list, then things get screwed
-up. Note that the __Previous:__ link below should point to the last
-page. Click Next.
-
-%%% %%% %%% %%% %%% %%% %%%
-
-<?plugin PageGroup
-         label="Other pages in this group"
-         loop=1
-         parent=PageGroupTest
-         section="Table of Contents"
-?>
-
-----
-
-PageGroupTest
diff -ruN 1.3.12p3/pgsrc/PageGroupTestThree 1.3.14/pgsrc/PageGroupTestThree
--- 1.3.12p3/pgsrc/PageGroupTestThree	2006-06-18 06:19:43.000000000 -0500
+++ 1.3.14/pgsrc/PageGroupTestThree	1969-12-31 18:00:00.000000000 -0600
@@ -1,25 +0,0 @@
-Date: Thu, 31 Jan 2002 02:50:26 -0500
-Mime-Version: 1.0 (Produced by PhpWiki 1.3.2-jeffs-hacks)
-X-Rcs-Id: $Id: PageGroupTestThree,v 1.5 2004/12/05 11:15:41 rurban Exp $
-Content-Type: application/x-phpwiki;
-  pagename=PageGroupTestThree;
-  flags="";
-  author=CarstenKlapp;
-  author_id=CarstenKlapp;
-  markup=2;
-  charset=iso-8859-1
-Content-Transfer-Encoding: binary
-
-You're almost there!
-
-%%% %%% %%% %%% %%% %%% %%%
-
-<?plugin PageGroup
-         label="Go!"
-         parent=PageGroupTest
-         section="Table of Contents"
-?>
-
-Note that the navigation bar can be anywhere, it doesn't have to be at
-the bottom or even consistent from page to page. The label can also
-vary--not sure if this is a good thing. Click Next.
diff -ruN 1.3.12p3/pgsrc/PageGroupTestTwo 1.3.14/pgsrc/PageGroupTestTwo
--- 1.3.12p3/pgsrc/PageGroupTestTwo	2006-06-18 06:19:43.000000000 -0500
+++ 1.3.14/pgsrc/PageGroupTestTwo	1969-12-31 18:00:00.000000000 -0600
@@ -1,28 +0,0 @@
-Date: Thu, 31 Jan 2002 02:53:30 -0500
-Mime-Version: 1.0 (Produced by PhpWiki 1.3.2-jeffs-hacks)
-X-Rcs-Id: $Id: PageGroupTestTwo,v 1.6 2004/12/05 11:15:41 rurban Exp $
-Content-Type: application/x-phpwiki;
-  pagename=PageGroupTestTwo;
-  flags="";
-  author=CarstenKlapp;
-  author_id=CarstenKlapp;
-  markup=2;
-  charset=iso-8859-1
-Content-Transfer-Encoding: binary
-
-<?plugin PageGroup
-         parent=PageGroupTest
-         section="Table of Contents"
-?>
-
-----
-
-%%% %%% %%% %%% %%% %%% %%%
-
-Welcome to page two.
-
-It would be nice if this plugin would work together with BackLinks, so
-that it's presence on a page would be detected by the backlink plugin
-without having to actually add a link to the parent: PageGroupTest.
-
-Click Next.
diff -ruN 1.3.12p3/pgsrc/PageHistory 1.3.14/pgsrc/PageHistory
--- 1.3.12p3/pgsrc/PageHistory	2006-06-18 06:19:43.000000000 -0500
+++ 1.3.14/pgsrc/PageHistory	2007-07-01 05:11:25.000000000 -0500
@@ -1,12 +1,17 @@
 Date: Sun, 27 Jan 2002 17:28:55 -0500
 Mime-Version: 1.0 (Produced by PhpWiki 1.3.2-jeffs-hacks)
-X-Rcs-Id: $Id: PageHistory,v 1.6 2002/12/29 00:32:34 carstenklapp Exp $
+X-Rcs-Id: $Id: PageHistory,v 1.7 2007/01/10 20:48:28 rurban Exp $
 Content-Type: application/x-phpwiki;
   pagename=PageHistory;
-  pgsrc_version="2 $Revision: 1.6 $";
+  pgsrc_version="2 $Revision: 1.7 $";
   flags=PAGE_LOCKED;
   markup=2;
   charset=iso-8859-1
 Content-Transfer-Encoding: binary
 
+ 
+This wiki stores *all* changes as new versions. Deleting a page just empties the content, all previous versions are not lost.
+
+Click on two checkbox to see the <strong>diff</strong>, the changes between those two versions.
+
 <?plugin PageHistory?>
diff -ruN 1.3.12p3/pgsrc/PagePermissions 1.3.14/pgsrc/PagePermissions
--- 1.3.12p3/pgsrc/PagePermissions	2006-06-18 06:19:43.000000000 -0500
+++ 1.3.14/pgsrc/PagePermissions	1969-12-31 18:00:00.000000000 -0600
@@ -1,166 +0,0 @@
-Date: Fri, 15 Oct 2004 19:08:04 -0700
-Mime-Version: 1.0 (Produced by PhpWiki 1.3.10)
-X-Rcs-Id: $Id: PagePermissions,v 1.1 2004/11/03 16:43:56 rurban Exp $
-Content-Type: application/x-phpwiki;
-  pagename=PagePermissions;
-  pgsrc_version="2 $Revision: 1.1 $";
-  flags="";
-  markup=2;
-  charset=iso-8859-1
-Content-Transfer-Encoding: binary
-
-!!! Full recursive ACL page permissions supported (Solaris / Windows style)
-
-Boolean permissions per page and action (*granted* or *denied*) based on the current users
-group membership is implemented with ACL's (Access Control Lists).
-Opposed to the simplier unix like ugo:rwx system. <br>
-The previous system was only based on action and current user, independent of pages.
-
-A individual page permission may be inherited from its parent pages, and
-from an optional master page ("." or _dotpage'). <br>
-Use predefined default permissions, if a "." page does not exist. <br>
-Pagenames starting with "." have tighter default permissions. (edit, change, list disallowed)
-
-! Order of Evaluation (denial overrides granted, or vice versa?)
-
-The array of permissions is evaluated from top to bottom. <br>
-Access is granted if the next matching *group membership* returns true, denied if false. <br>
-If the group membership is false, the next group is tried. <br>
-If no group membership matches the upper permissions are tried recursively: <br>
-  current page => basepage => "." page => default perms. <br>
-If no group-perm pair grants access, access is denied.
-
-Consider the following perm:
-<verbatim>
-     'change' => array(ACL_ADMIN => false,
-                       ACL_OWNER => true));
-</verbatim>
-  => "Members of ADMIN may not change, the owner may change."
-
------
-
-For Authentication see ~WikiUserNew.php, ~WikiGroup.php and main.php
-Page Permissions are in PhpWiki since v1.3.9. 
-I suspect ACL page permissions to degrade performance by 10%
-
-Enable/Disable it in config/config.ini:
-
-  ENABLE_PAGEPERM = true
-
-The defined (and extendable) main.php actions map to simplier access types:
-<verbatim>
-       browse => view
-       edit   => edit
-       create => edit or create
-       remove => remove
-       rename => change
-       store prefs => change
-       list in PageList => list
-</verbatim>
-
-For simplicity we also map the ACL to the posix-style _owner_, _group_ and _world_ groups
-and _read_, _write_, _execute_ perms, in cygwin fashion.
-
-!!! Groups - definition of group membership
-
-See WikiGroup how to enable and where to store user-specific group membership.
-Group methods: database, file, ldap, wikipage, none
-
-ToDo: _explain better._
-
-The following special groups are always predefined, even if no other group methods are provided:
-
-* _EVERY
-* _ANONYMOUS
-* _BOGOUSER
-* _HASHOMEPAGE
-* _SIGNED
-* _AUTHENTICATED
-* _ADMIN
-* _OWNER
-* _CREATOR
-
-Those special groups are stored in a page acl as locale-independent string.
-  *Todo*: See the available translations for these special groups.
-Other group names are safed as defined by the group methods. (e.g. "Other Users")
-
-!!! Perms - mapping of actions to permissions
-
-PhpWiki supports individual actions, the default is browse. To simplify ACL's these
-actions are mapped to some special permissions (vulgo _'perms'_).
-
-We currently support the following permissions which can be stored in every page, for every group.
-
-* 'list'     List this page and all subpages (for PageList)
-* 'view'     View this page and all subpages
-* 'edit'     Edit this page and all subpages
-* 'create'   Create a new (sub)page
-* 'dump'     Download the page contents
-* 'change'   Change page attributes
-* 'remove'   Remove this page
-
-There are no plans to support additional custom perms. The API can handle that, but there's no UI,
-and it would be only specific for certain plugins, which check permissions by their own.
-
-! Action <=> Perm mapping
-
-Those perms are mapped to those actions. ActionPages (plugins) check their access restrictions by themselves.
-
-list:
-  _none, 'list' is checked for every pagename listed in PageList, to prevent from being listed in AllPages._
-
-view:
-  browse, viewsource, diff, select, xmlrpc, search, pdf
-
-dump:
-  zip, ziphtml, dumpserial, dumphtml
-
-edit:
-  revert, edit
-
-create:
-  _edit or create, if the page doesn't exist yet_
-
-change:
-  upload, loadfile, remove, lock, unlock, upgrade, chown, setacl, rename. %%%
-  all other actionpages which are not wikiwords.
-
-!! Default Permissions
-
-<verbatim>
-        $perm = array('view'   => array(ACL_EVERY => true),
-                      'edit'   => array(ACL_EVERY => true),
-                      'create' => array(ACL_EVERY => true),
-                      'list'   => array(ACL_EVERY => true),
-                      'remove' => array(ACL_ADMIN => true,
-                                        ACL_OWNER => true),
-                      'change' => array(ACL_ADMIN => true,
-                                        ACL_OWNER => true));
-        if (ZIPDUMP_AUTH)
-            $perm['dump'] = array(ACL_ADMIN => true,
-                                  ACL_OWNER => true);
-        else
-            $perm['dump'] = array(ACL_EVERY => true);
-        // view:
-        if (!ALLOW_ANON_USER) {
-            if (!ALLOW_USER_PASSWORDS)
-            	$perm['view'] = array(ACL_SIGNED => true);
-            else
-            	$perm['view'] = array(ACL_AUTHENTICATED => true);
-            $perm['view'][ACL_BOGOUSER] = ALLOW_BOGO_LOGIN ? true : false;
-        }
-        // edit:
-        if (!ALLOW_ANON_EDIT) {
-            if (!ALLOW_USER_PASSWORDS)
-            	$perm['edit'] = array(ACL_SIGNED => true);
-            else
-            	$perm['edit'] = array(ACL_AUTHENTICATED => true);
-            $perm['edit'][ACL_BOGOUSER] = ALLOW_BOGO_LOGIN ? true : false;
-            $perm['create'] = $perm['edit'];
-        }
-        return $perm;
-</verbatim>
-
-Source: [PhpWikiCvs:lib/PagePerm.php]
------
-PhpWikiDocumentation
diff -ruN 1.3.12p3/pgsrc/PasswordReset 1.3.14/pgsrc/PasswordReset
--- 1.3.12p3/pgsrc/PasswordReset	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/PasswordReset	2007-07-01 05:11:25.000000000 -0500
@@ -0,0 +1,23 @@
+Date: Tue, 2 Jan 2007 13:30:17 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: PasswordReset,v 1.3 2007/01/03 21:27:28 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=PasswordReset;
+  pgsrc_version="2 $Revision: 1.3 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+Any Administrator may reset (i.e. delete) any users password. The user may login with an empty 
+password then or set a new one at the sign in page.
+
+A normal user may only reset a users password who has his email address defined. 
+For users with undefined email address you have to ask an Administrator to reset any password.
+
+Authenticated users should change their passwords at their UserPreferences page.
+
+Attention: Certain external authentification methods don't allow changing passwords. You'll have to ask or change it there then.
+----
+
+<?plugin PasswordReset ?>
diff -ruN 1.3.12p3/pgsrc/PgsrcTranslation%2Fsv 1.3.14/pgsrc/PgsrcTranslation%2Fsv
--- 1.3.12p3/pgsrc/PgsrcTranslation%2Fsv	2006-06-18 06:19:43.000000000 -0500
+++ 1.3.14/pgsrc/PgsrcTranslation%2Fsv	2007-07-01 05:11:25.000000000 -0500
@@ -1,9 +1,9 @@
-Date: Sun, 18 Jun 2006 12:17:37 +0000
-Mime-Version: 1.0 (Produced by PhpWiki 1.3.12p3)
-X-Rcs-Id: $Id: PgsrcTranslation%2Fsv,v 1.1 2005/02/02 19:44:49 rurban Exp $
+Date: Mon, 17 Nov 2005 08:44:07 +0100
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.11)
+X-Rcs-Id: $Id: PgsrcTranslation%2Fsv,v 1.2 2005/11/21 22:19:00 rurban Exp $
 Content-Type: application/x-phpwiki;
   pagename=PgsrcTranslation%2Fsv;
-  pgsrc_version="2 $Revision: 1.1 $";
+  pgsrc_version="2 $Revision: 1.2 $";
   flags="";
   markup=2;
   charset=iso-8859-1
diff -ruN 1.3.12p3/pgsrc/PhotoAlbumPlugin 1.3.14/pgsrc/PhotoAlbumPlugin
--- 1.3.12p3/pgsrc/PhotoAlbumPlugin	2006-06-18 06:19:43.000000000 -0500
+++ 1.3.14/pgsrc/PhotoAlbumPlugin	1969-12-31 18:00:00.000000000 -0600
@@ -1,90 +0,0 @@
-Date: Sat, 4 Jan 2003 23:05:22 -0500
-Mime-Version: 1.0 (Produced by PhpWiki 1.3.4)
-X-Rcs-Id: $Id: PhotoAlbumPlugin,v 1.2 2004/04/18 00:19:29 rurban Exp $
-Content-Type: application/x-phpwiki;
-  pagename=PhotoAlbumPlugin;
-  flags="";
-  pgsrc_version="2 $Revision: 1.2 $";
-  markup=2;
-  charset=iso-8859-1
-Content-Transfer-Encoding: binary
-
-!!! Summary
-Makes an 'album' by displaying a set of photos listed in a text file
-with optional descriptions.
-
-!!! Usage
-<verbatim>
-<?plugin PhotoAlbum
-         src=http://server/textfile
-         mode=[column|row]
-         align=[center|left|right]
-         desc=true
-         sort=false
-         height=100%
-         width=100%
-         weblocation=>false
-?>
-</verbatim>
-
-!!! Arguments
-''Only the ='src'= parameter is mandatory.''
-
-__src__:
-  Url or local path to a CSV textfile which separates filename and 
-  description of
-  each photo. Photos listed in the text file have to be in same
-  directory as the file. Descriptions are optional.
-  If the the local path points to a directory, is relative from PHPWIKI_DIR, 
-  and the main script is in PHPWIKI_DIR, weblocation must not be given, and 
-  all pictures from this directory are displayed.
-
-__weblocation__:
-  Optional path if the src points to a local dir, and the links on the 
-  photos don't work.
-
-__mode__:
-  Specifies how the images are arranged, ='column'= means vertically,
-  ='row'= means horizontally. Default is ='row'=.
-
-__align__:
-  Only applicable to column mode. Default is ='center'=.
-
-__desc__:
-  Display any descriptions given in the text file. Default is true.
-
-__sort__:
-  Sort images by file name. By default the order in the text file is
-  followed.
-
-__height__, __width__:
-  Height and width are calculated compared to original metrics
-  retrieved by [php-function:getimagesize] and can be absolute or a
-  percentage (e.g. "50%").
-
-!!! Examples
-!! Text file
-Possible content of a valid text file:
-
-<verbatim>
-photo-01.jpg; My girlfriend and I
-photo-02.jpg
-christmas.gif; Merry Christmas!
-</verbatim>
-
-!! Sample Album
-local dir:
-<?plugin PhotoAlbum
-         src="themes/Hawaiian/images/pictures/"
-?>
-or via external url:
-<verbatim>
-<?plugin PhotoAlbum
-         src="http://phpwiki.sourceforge.net/demo/themes/Hawaiian/images/pictures/PhotoAlbum.csv"
-</verbatim>
-?>
-
-!!! Plugin Author
-[Ted Vinke|mailto:teddy@jouwfeestje.com] <teddy@jouwfeestje.com>
-----
-PhpWikiDocumentation WikiPlugin
diff -ruN 1.3.12p3/pgsrc/PhpHighlightPlugin 1.3.14/pgsrc/PhpHighlightPlugin
--- 1.3.12p3/pgsrc/PhpHighlightPlugin	2006-06-18 06:19:43.000000000 -0500
+++ 1.3.14/pgsrc/PhpHighlightPlugin	1969-12-31 18:00:00.000000000 -0600
@@ -1,115 +0,0 @@
-Date: Sun, 4 Jul 2004 01:31:02 -0700
-Mime-Version: 1.0 (Produced by PhpWiki 1.3.4pre)
-X-Rcs-Id: $Id: PhpHighlightPlugin,v 1.5 2004/07/04 08:44:08 rurban Exp $
-Content-Type: application/x-phpwiki;
-  pagename=PhpHighlightPlugin;
-  flags="";
-  pgsrc_version="2 $Revision: 1.5 $";
-  markup=2;
-  charset=iso-8859-1
-Content-Transfer-Encoding: binary
-
-The PhpHighlightPlugin pretty-prints PHP code using the
-php-function:highlight-string. 
-
-See also SyntaxHighlighterPlugin for highlighting other languages.
-
-!!! Usage
-
-You specify options for the plugin on the same line as the =<?plugin=,
-and put the code on the following lines, until the final =?>=:
-
-<verbatim>
-<?plugin PhpHighlight [wrap?] [color options]
-code to be highlighted
-?>
-</verbatim>
-
-!!! Description
-
-Depending on the =wrap= option, then the plugin will take care of
-adding =<?php= and =?>= to the code before passing it to
-php-function:highlight-string. If the PHP delimiters were added, then
-the plugin removes them again from the highlighted string, before
-presenting it.
-
-!!! Options
-
-Automatic Wrapping:
-
-  If you don't want the plugin to automatically wrap the source code
-  in =<?php= and =?>=, then set =wrap= to =0=. The default value is =1=
-  which means that the plugin takes care of adding and removing
-  =<?php= and =?>= automatically.
-
-  If you set =wrap= to =0=, then you'll be able to mix PHP code with
-  HTML. The plugin will then translate '=< ?php=' into '=<?php=' and
-  '=? >=' into '=?>=' to allow you to start and stop PHP mode in your
-  code.
-
-Color Options:
-
-  The plugin accepts optional color arguments which correspond to the
-  highlight settings in *php.ini*. Specified colors must be a valid
-  hexadecimal color or
-  [HTML 4 color name|http://www.w3.org/TR/REC-html40/types.html#h-6.5]
-  in lowercase, such as ='#0f0344'= or =blue=. You can set the
-  following options:
-
-  =string=, =comment=, =keyword=, =bg=, =default=, and =html=
-
-!!! Examples
-
-!! PHP with default colors from =php.ini=:
-
-<?plugin PhpHighlight
-function hello() {
-    echo "Hello World<p>";
-}
-?>
-
-!! HTML with embedded PHP
-
-Here we have to use =wrap=0= to prevent automatic wrapping, and escape
-'=?>=' as '=? >=':
-
-<?plugin PhpHighlight wrap=0 html='#000000' bg='#dddddd'
-<html>
-  <head>
-    <title>PHP Test</title>
-  </head>
-  <body>
-    < ?php echo "<p>Hello World</p>\n"; ? >
-  </body>
-</html>
-?>
-
-!! C Source
-
-Although =highlight_string()= was designed with PHP code in mind it is
-suitable for basic syntax-highlighting of most C code because the two
-syntax are similar.
-
-<?plugin PhpHighlight default=black string=blue comment=gray keyword=purple
-#include <stdio.h>
-/* Get load */
-int
-getload(void)
-{
-    if ((fp = fopen("/proc/loadavg", "r")) == NULL) {
-        syslog(LOG_ERR, _("%s %s: unable to open %s: %s"), _("FATAL ERROR:"),
-              "getload()", "/proc/loadavg", strerror(errno));
-        exit(EX_OSFILE);
-    }
-    fclose(fp);
-}
-?>
-
-!!! Authors
-
-Martin Geisler mailto:gimpster@gimpster.com and Carsten Klapp
-mailto:carstenklapp@users.sourceforge.net.
-
------
-
-PhpWikiDocumentation WikiPlugin
diff -ruN 1.3.12p3/pgsrc/PhpWeatherPlugin 1.3.14/pgsrc/PhpWeatherPlugin
--- 1.3.12p3/pgsrc/PhpWeatherPlugin	2006-06-18 06:19:43.000000000 -0500
+++ 1.3.14/pgsrc/PhpWeatherPlugin	1969-12-31 18:00:00.000000000 -0600
@@ -1,73 +0,0 @@
-Date: Sun, 4 Jul 2004 01:31:02 -0700
-Mime-Version: 1.0 (Produced by PhpWiki 1.3.4)
-X-Rcs-Id: $Id: PhpWeatherPlugin,v 1.7 2004/07/04 08:44:08 rurban Exp $
-Content-Type: application/x-phpwiki;
-  pagename=PhpWeatherPlugin;
-  pgsrc_version="2 $Revision: 1.7 $";
-  flags="";
-  markup=2;
-  charset=iso-8859-1
-Content-Transfer-Encoding: binary
-
-!!! Synopsis
-
-The ~PhpWeatherPlugin is a WikiPlugin that uses PhpWeather to display
-a block of text with the current weather for some airport in the
-world. It looks like this:
-
-<?plugin PhpWeather menu=true ?>
-
-!!! Plugin Arguments
-
-__menu__:
-  Set this to =true= to have the plugin generate a menu after the
-  report. The user will able to select a country from this menu, and
-  after that, an airport and a language. The default value is
-  <tt>false</tt>.
-
-__icao__:
-  Use this to pre-select a specific airport instead of using the
-  default one which is <tt>EKAH</tt>. If you want the user to be able
-  to change the station using the menu, then you have to use this as
-  <verbatim>
-  <?plugin PhpWeather menu=true icao||=EKYT ?>
-  </verbatim>
-  so that the value can be overwritten when the user submits the
-  form. If you just use
-  <verbatim>
-  <?plugin PhpWeather menu=true icao=EKYT ?>
-  </verbatim>
-  then nothing will happen when the user selects another station from
-  the list.
-
-__cc__:
-  Specify the country code. You can use this if you want pre-select a
-  different country than the one specified in the ICAO. So using
-  <verbatim>
-  <?plugin PhpWeather menu=true cc||=GB icao||=KTTS ?>
-  </verbatim>
-  will show the current weather at the NASA Shuttle Facility, United
-  States (<tt>KTTS</tt>) and at the same time give the user a list of
-  stations in the United Kingdom. As the example shows, then you
-  should use <tt>cc||=XX</tt> when combining it with __menu__ set to
-  <tt>true</tt>.
-
-__language__:
-  The default language. When combining __language__ with __menu__ set
-  to <tt>true</tt> then remember to use the <code>language||=xx</code>
-  form.
-
-__units__:
-  You can specify the way the units are printed. The choice is between
-  having both metric and imperial units printed, or just one of
-  them. Setting __units__ to =both_metric= will print the metric value
-  first and then the imperial value in parenthesis. Using
-  =both_imperial= instead will do the opposite.
-
-  If you only need the metric or imperial units to be shown, then
-  setting __units__ to =only_metric= or =only_imperial= will do just
-  that.
-
-----
-
-PhpWikiDocumentation WikiPlugin
diff -ruN 1.3.12p3/pgsrc/PhpWikiAdministration 1.3.14/pgsrc/PhpWikiAdministration
--- 1.3.12p3/pgsrc/PhpWikiAdministration	2006-06-18 06:19:43.000000000 -0500
+++ 1.3.14/pgsrc/PhpWikiAdministration	2007-07-01 05:11:26.000000000 -0500
@@ -1,9 +1,9 @@
-Date: Mon, 17 Jan 2005 08:44:07 +0100
-Mime-Version: 1.0 (Produced by PhpWiki 1.3.11)
-X-Rcs-Id: $Id: PhpWikiAdministration,v 1.39 2005/01/25 06:58:23 rurban Exp $
+Date: Sun, 7 Jan 2007 19:56:10 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: PhpWikiAdministration,v 1.44 2007/01/09 12:35:14 rurban Exp $
 Content-Type: application/x-phpwiki;
   pagename=PhpWikiAdministration;
-  pgsrc_version="2 $Revision: 1.39 $";
+  pgsrc_version="2 $Revision: 1.44 $";
   flags=PAGE_LOCKED;
   markup=2;
   charset=iso-8859-1
@@ -13,7 +13,7 @@
 privileges. They will not work unless you have set an admin username and
 password in the PhpWiki config file._
 
-<?plugin CreateToc jshide||=1 with_toclink||=1 ?>
+<?plugin CreateToc jshide||=0 with_toclink||=1 liststyle=ul?>
 
 ----
 !!! Page Explorer
@@ -34,10 +34,16 @@
 ----
 !!! User Management
 
-PhpWiki:EmailVerification is currently non-strict, leaving some possible holes, which can be 
-administrated below.
+Reset a users password:
 
-  This button will show a list of all users with registered emails and buttons to set the 
+  <?plugin-form PasswordReset textinput=user method=post ?>
+
+Email Verification:
+
+  This is currently non-strict, leaving some possible holes in not being able to
+  connect to certain mail hosts, which can be overridden below. See PhpWiki:EmailVerification
+
+  This button will show a list of all users with registered emails and buttons to set the
   verification status manually.
 
   <?plugin WikiAdminUtils
@@ -45,9 +51,11 @@
            label="Email Verification"
    ?>
 
-To prevent from robots eating all possible ressources in a short time, blocking from certain IPs 
-or not-well-behaving user agents can be defined below. See PhpWiki:HowToBlockRobots and 
-MeatBall:SurgeProtector. _Note: Not yet enabled._
+Access Restrictions (disabled):
+
+  To prevent from robots eating all possible ressources in a short time, blocking from certain IPs
+  or not-well-behaving user agents can be defined below. See PhpWiki:HowToBlockRobots and
+  MeatBall:SurgeProtector. _Note: Not yet enabled._
 
   <?plugin WikiAdminUtils
            action=access-restrictions
@@ -120,7 +128,7 @@
 
 !! Upgrade
 
-Do some verification checks and upgrade changes automatically, after having installed a 
+Do some verification checks and upgrade changes automatically, after having installed a
 new phpwiki engine update:
 * Upgrade new or changed page revisions from pgsrc,
 * Upgrade the database schema (mysql _page.id auto_increment_, ADD _session.sess_ip_),
@@ -180,7 +188,7 @@
 In normal use, you should not need to use these, though, then again,
 they should not really do any harm.
 
-!! Purge Markup Cache
+Purge Markup Cache:
 
 (If your wiki is so configured,) the transformed (almost-HTML) content
 of the most recent version of each page is cached. This speeds up page
@@ -192,10 +200,10 @@
 
   <?plugin WikiAdminUtils
            action=purge-cache
-           label="Purge Cache"
+           label="Purge Markup Cache"
    ?>
 
-!! Clean WikiDB of Illegal Filenames
+Clean WikiDB of Illegal Filenames:
 
 Page names beginning with the subpage-separator, usually a slash
 (=/=), are not allowed. Sometimes though an errant plugin or something
@@ -208,7 +216,7 @@
            label="Purge bad pagenames"
    ?>
 
-!! Clean WikiDB of empty and unreferenced pages
+Clean WikiDB of empty and unreferenced pages:
 
   *Warning!* This button will delete every empty and unreferenced page, without any possibility to restore them again.
   This will disable the possibility to revert or get back any deleted page.
@@ -218,10 +226,10 @@
            label="Purge all empty unreferenced pages"
    ?>
 
-!! Convert cached_html to new SQL column
+Convert cached_html to new SQL column:
 
-  This is only needed on SQL or ADODB if you didn't do action=upgrade, but created the 
-  new page.cached_html field seperately, and now you want to move this data from 
+  This is only needed on SQL or ADODB if you didn't do action=upgrade, but created the
+  new page.cached_html field seperately, and now you want to move this data from
   page.pagedata over to page.cached_html.
 
   <?plugin WikiAdminUtils
@@ -229,5 +237,25 @@
            label="Convert cached_html"
    ?>
 
+
+Check WikiDB:
+
+  This button will check the Wiki page database for consistency. This can last several minutes.
+
+  <?plugin WikiAdminUtils
+           action=db-check
+           label="Check WikiDB"
+   ?>
+
+Rebuild WikiDB:
+
+  This will retransform all pages and rebuild the Wiki database on consistency errors or parser updates.
+  This can last several minutes, eat a lot of memory and possibly times out!!
+
+  <?plugin WikiAdminUtils
+           action=db-rebuild
+           label="Rebuild WikiDB"
+   ?>
+
 ----
 PhpWikiDocumentation
diff -ruN 1.3.12p3/pgsrc/PloticusPlugin 1.3.14/pgsrc/PloticusPlugin
--- 1.3.12p3/pgsrc/PloticusPlugin	2006-06-18 06:19:44.000000000 -0500
+++ 1.3.14/pgsrc/PloticusPlugin	1969-12-31 18:00:00.000000000 -0600
@@ -1,116 +0,0 @@
-Date: Fri, 24 Sep 2004 21:30:51 +0200
-Mime-Version: 1.0 (Produced by PhpWiki 1.3.11pre)
-X-Rcs-Id: $Id: PloticusPlugin,v 1.4 2004/09/26 18:10:40 rurban Exp $
-Content-Type: application/x-phpwiki;
-  pagename=PloticusPlugin;
-  pgsrc_version="2 $Revision: 1.4 $";
-  flags="";
-  markup=2;
-  charset=iso-8859-1
-Content-Transfer-Encoding: binary
-
-The Ploticus WikiPlugin passes all its arguments to the ploticus
-binary and displays the result as PNG, GIF, EPS, SVG, SVGZ or SWF.
-Ploticus is a free, GPL, non-interactive software package
-for producing plots, charts, and graphics from data.
-See http://ploticus.sourceforge.net/doc/welcome.html
-
-!! Usage
-<verbatim>
-  <?plugin Ploticus device||=png [ploticus options...]
-     multiline ploticus script ...
-  ?>
-</verbatim>
-
-!! Plugin Arguments
-__device__: |
-  gif, png, jpeg or svg. Soon also PS or SWG. Default: png
-__data__:  |
-  optionally add data by <!plugin-list !> pagelist plugins.
-__alt__:  |
-  alt text for the image
-__-prefab__:  |
-  use the given prefab script (may need $_ENV~['PLOTICUS_PREFABS'~])
-__-csmap__:  |
-  If a clickable map should be produced (not yet tested)
-__help__:  |
-  Show a help screen (not yet)
-
-!! Known Problems
-
-# For windows you need either a gd library with GIF support or
-  a ploticus with PNG support. This comes only with the cygwin 
-  build so far.
-# We support only images supported by GD (PNG most likely) and now 
-  also SVG. MAP support not yet tested. No EPS, PS or SWG support yet.
-
-!! Examples
-
-<?plugin Ploticus device||=png
-#proc page
-#if @DEVICE in gif,png
-  scale: 0.7
-#endif
-
-//  specify data using {proc getdata}
-#proc getdata
-data:	Brazil 22
-	Columbia 17
-	"Costa Rica" 22
-	Guatemala 3
-	Honduras 12
-	Mexico 14
-	Nicaragua 28
-	Belize 9
- 	United\nStates 21
-	Canada 8
-
-//  render the pie graph using {proc pie}
-#proc pie
-firstslice: 90
-explode: .2 0 0 0 0  .2 0
-datafield: 2
-labelfield: 1
-labelmode: line+label
-center: 4 4
-radius: 2
-colors: yellow pink pink pink pink yellow pink
-labelfarout: 1.05
-?>
-
-The pie chart above was produced by this code from the ploticus
-testsuite:
-
-<verbatim>
-<?plugin Ploticus device||=png alt="Sample Pie Chart"
-#proc page
-#if @DEVICE in gif,png
-  scale: 0.7
-#endif
-
-//  specify data using {proc getdata}
-#proc getdata
-data:	Brazil 22
-	Columbia 17
-	"Costa Rica" 22
-	Guatemala 3
-	Honduras 12
-	Mexico 14
-	Nicaragua 28
-	Belize 9
- 	United\nStates 21
-	Canada 8
-
-//  render the pie graph using {proc pie}
-#proc pie
-firstslice: 90
-explode: .2 0 0 0 0  .2 0
-datafield: 2
-labelfield: 1
-labelmode: line+label
-center: 4 4
-radius: 2
-colors: yellow pink pink pink pink yellow pink
-labelfarout: 1.05
-?>
-</verbatim>
diff -ruN 1.3.12p3/pgsrc/PluginManager 1.3.14/pgsrc/PluginManager
--- 1.3.12p3/pgsrc/PluginManager	2006-06-18 06:19:44.000000000 -0500
+++ 1.3.14/pgsrc/PluginManager	2007-07-01 05:11:26.000000000 -0500
@@ -1,9 +1,9 @@
-Date: Fri, 17 Dec 2004 09:53:18 +0200
-Mime-Version: 1.0 (Produced by PhpWiki 1.3.11pre)
-X-Rcs-Id: $Id: PluginManager,v 1.8 2004/12/17 09:23:42 rurban Exp $
+Date: Fri, 29 Dec 2006 18:57:39 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: PluginManager,v 1.9 2007/01/03 21:27:54 rurban Exp $
 Content-Type: application/x-phpwiki;
   pagename=PluginManager;
-  pgsrc_version="2 $Revision: 1.8 $";
+  pgsrc_version="2 $Revision: 1.9 $";
   flags=PAGE_LOCKED;
   markup=2;
   charset=iso-8859-1
@@ -12,7 +12,7 @@
 PhpWiki lets you extend it with new functionality via a plugin
 mechanism. In short, you extend a PHP class we provide and customize
 it to print out the content you want. For more information see
-WikiPlugin, HelloWorldPlugin, and view the source of the files in
+Help:WikiPlugin, Help:HelloWorldPlugin, and view the source of the files in
 <tt>lib/plugin</tt>.
 
 If there is no example page for the plugin, or you need more
@@ -23,19 +23,18 @@
 ! External Requirements
 Some plugins require correctly configured PLUGIN_CACHED and external libraries 
 not provided with PhpWiki or PHP, such as 
-* [PHP with GD support | php-function:ref.image] for the text2png plugin, 
-* [LaTeX2HTML | ftp://ftp.dante.de/tex-archive/support/latex2html ] for the TexToPngPlugin and TeX2pngPlugin,
-* [graphviz | http://graphviz.org/] for the GraphVizPlugin and VisualWikiPlugin, 
-* [ploticus | http://ploticus.sourceforge.net/] for the PloticusPlugin, 
-* [phpweather | http://phpweather.sf.net] for the PhpWeatherPlugin,
-* [highlight | http://www.andre-simon.de/] for the SyntaxHighlighterPlugin,
-* a browser with [<iframe> support|http://www.cs.tut.fi/~jkorpela/html/iframe.html] for the TranscludePlugin,
-* USE_DB_SESSION = true (default for the peardb, adodb or dba backends) for the WhoIsOnline plugin,
-* --with-xml support (with expat or libxml2) for the ~RssFeed plugin (ProjectSummary, RecentReleases) and 
-  HtmlParser support (ImportHtml, HtmlAreaEditing),
+* [PHP with GD support | php-function:ref.image] for the Help:text2pngPlugin, 
+* [LaTeX2HTML | ftp://ftp.dante.de/tex-archive/support/latex2html ] for the Help:TexToPngPlugin and Help:TeX2pngPlugin,
+* [graphviz | http://graphviz.org/] for the Help:GraphVizPlugin and Help:VisualWikiPlugin, 
+* [ploticus | http://ploticus.sourceforge.net/] for the Help:PloticusPlugin, 
+* [phpweather | http://phpweather.sf.net] for the Help:PhpWeatherPlugin,
+* [highlight | http://www.andre-simon.de/] for the Help:SyntaxHighlighterPlugin,
+* a browser with [<iframe> support|http://www.cs.tut.fi/~jkorpela/html/iframe.html] for the Help:TranscludePlugin,
+* USE_DB_SESSION = true (default for the peardb, adodb or dba backends) for the Help:WhoIsOnline plugin,
+* --with-xml support (with expat or libxml2) for the Help:RssFeedPlugin (ProjectSummary, RecentReleases) and HtmlParser support (~ImportHtml, ~HtmlAreaEditing),
 * PHP Mail functionality (php.ini: SMTP + sendmail_from on Windows or sendmail_path) for email 
-  PageChangeNotifications and ModeratedPage's,
-* a [Google license key | http://www.google.com/apis/] for the GooglePlugin, 
+  PhpWiki:PageChangeNotifications and ModeratedPage's,
+* a [Google license key | http://www.google.com/apis/] for the Help:GooglePlugin, 
 * optionally an external recommender engine (none yet, php only so far) and the wikilens theme for the RateIt plugin,
 * optionally apache/mod_log_{my}sql for fast, external log analysis if ACCESS_LOG_SQL=1 (Referer, Abuse Prevention).
   See <tt>lib/Request.php</tt> and http://www.outoforder.cc/projects/apache/mod_log_sql/
@@ -43,4 +42,4 @@
 -----
 <?plugin PluginManager?>
 ----
-PhpWikiDocumentation WikiPlugin
+PhpWikiDocumentation Help:WikiPlugin
diff -ruN 1.3.12p3/pgsrc/population 1.3.14/pgsrc/population
--- 1.3.12p3/pgsrc/population	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/population	2007-07-01 05:11:26.000000000 -0500
@@ -0,0 +1,12 @@
+Date: Thu, 4 Jan 2007 03:11:28 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: population,v 1.1 2007/01/04 16:53:07 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=population;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+{{Template/Attribute}}
diff -ruN 1.3.12p3/pgsrc/RawHtmlPlugin 1.3.14/pgsrc/RawHtmlPlugin
--- 1.3.12p3/pgsrc/RawHtmlPlugin	2006-06-18 06:19:44.000000000 -0500
+++ 1.3.14/pgsrc/RawHtmlPlugin	1969-12-31 18:00:00.000000000 -0600
@@ -1,57 +0,0 @@
-Date: Sun, 4 Jul 2004 01:31:02 -0700
-Mime-Version: 1.0 (Produced by PhpWiki 1.3.7)
-X-Rcs-Id: $Id: RawHtmlPlugin,v 1.5 2004/07/04 08:44:08 rurban Exp $
-Content-Type: application/x-phpwiki;
-  pagename=RawHtmlPlugin;
-  pgsrc_version="2 $Revision: 1.5 $";
-  flags="";
-  markup=2;
-  charset=iso-8859-1
-Content-Transfer-Encoding: binary
-
-<b>With this plugin you can embed raw unfiltered HTML in the page source; say, for example, you want to put in a complicated set of nested tables to display data. By default, raw HTML is not allowed in most Wikis due to security problems (because malicious users can insert redirects, Javascript, etc.)</b>
-
-<b>For this plugin to work, the page must be locked by the administrator. If you are seeing the raw HTML being displayed below, instead of rendered, try locking the page (log in as the administrator first).</b>
-
-<?plugin RawHtml
-
-<!-- Keep link lines at 72 characters or lynx will break them poorly. -->
-<!-- Obviously, we list ONLY the most useful/important URLs here. -->
-<!-- Keep it short and sweet: 3 lines and 2 columns is already enough -->
-
-<table border="1" cellpadding="10">
-<tr><td>Sample HTML from www.gnu.org</td>
-<td>
-
-<!-- Keep link lines at 72 characters or lynx will break them poorly. -->
-<!-- Obviously, we list ONLY the most useful/important URLs here. -->
-<!-- Keep it short and sweet: 3 lines and 2 columns is already enough -->
-
-<table>
-  <tr>
-    <td align="left">
-    <ul>
-      <li><a href="http://www.gnu.org//provide.html">What we provide</a></li>
-      <li><a href="http://www.gnu.org//philosophy/philosophy.html">Why we exist</a></li>
-
-      <li><a href="http://www.gnu.org//gnu/gnu-history.html">Where we are going</a></li>
-    </ul>
-    </td>
-    <td>
-    <ul>
-      <li><a href="http://www.gnu.org//help/help.html">How you can help us get there</a></li>
-      <li><a href="http://www.gnu.org//people/people.html">Who we are</a></li>
-
-      <li><a href="http://www.gnu.org//testimonials/testimonials.html">What users think of GNU software</a></li>
-    </ul>
-    </td>
-  </tr>
-</table>
-</td>
-</tr>
-</table>
-?>
-
--------------
-
-PhpWikiDocumentation WikiPlugin
diff -ruN 1.3.12p3/pgsrc/RecentChangesMyPages 1.3.14/pgsrc/RecentChangesMyPages
--- 1.3.12p3/pgsrc/RecentChangesMyPages	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/RecentChangesMyPages	2007-07-01 05:11:26.000000000 -0500
@@ -0,0 +1,17 @@
+Date: Tue, 13 Feb 2007 21:09:46 +0100
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: RecentChangesMyPages,v 1.1 2007/05/01 15:55:56 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=RecentChangesMyPages;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+Here's a list of all recent changes of all my pages (which I own). <em>See
+<strong>RecentChanges</strong> for all authors recent edits and changes, and
+MyRecentEdits for all my minor edits.</em>
+
+--------
+<?plugin RecentChanges days||=7 daylist=1,3,7,30,90,0 owner||=[] show_deleted||=1 ?>
diff -ruN 1.3.12p3/pgsrc/RecentNewPages 1.3.14/pgsrc/RecentNewPages
--- 1.3.12p3/pgsrc/RecentNewPages	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/RecentNewPages	2007-07-01 05:11:26.000000000 -0500
@@ -0,0 +1,16 @@
+Date: Mon, 22 Jan 2007 21:19:35 +0100
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: RecentNewPages,v 1.1 2007/01/22 23:04:17 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=RecentNewPages;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=utf-8
+Content-Transfer-Encoding: binary
+
+Here's a list of recently created new pages on this wiki. <em>(See
+<strong>RecentChanges</strong> for all recent edits and changes).</em>
+
+--------
+<?plugin RecentChanges days||=7 daylist=1,3,7,30,90,0 only_new||=1 show_deleted||=1 ?>
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/RedirectToPlugin 1.3.14/pgsrc/RedirectToPlugin
--- 1.3.12p3/pgsrc/RedirectToPlugin	2006-06-18 06:19:44.000000000 -0500
+++ 1.3.14/pgsrc/RedirectToPlugin	1969-12-31 18:00:00.000000000 -0600
@@ -1,40 +0,0 @@
-Date: Sat, 15 Feb 2003 15:46:58 -0800
-Mime-Version: 1.0 (Produced by PhpWiki 1.3.4pre)
-Content-Type: application/x-phpwiki;
-  pagename=RedirectToPlugin;
-  pgsrc_version="1 $Revision: 1.1 $";
-  flags="";
-  lastmodified=1045352818;
-  markup=2;
-  charset=iso-8859-1
-Content-Transfer-Encoding: binary
-
-The RedirectToPlugin can be used to redirect a user to another page.
-In other words it makes a page an _alias_ for another page.
-
-! Arguments
-
-Use only one of these arguments at a time.
-
-page |
-  The page to redirect to (a wiki page name).
-href |
-  An external URL to redirect to.  Redirection to external URLs will only work
-  on locked pages.  (If the URL contains funny characters, you'll probably have
-  to put quotes around the URL.)
-
-! Caveats
-
-The RedirectToPlugin invocation must be the first thing on a page.
-For most purposes it makes any other content on the page inaccessible.
-
-! Example
-
-A page may be made a alias for the HomePage by placing this code at the top:
-<verbatim>
-<?plugin RedirectTo page="HomePage" ?>
-</verbatim>
-
-To see the example in action, visit HomePageAlias.
------
-PhpWikiDocumentation
diff -ruN 1.3.12p3/pgsrc/ReleaseNotes 1.3.14/pgsrc/ReleaseNotes
--- 1.3.12p3/pgsrc/ReleaseNotes	2006-06-18 06:19:44.000000000 -0500
+++ 1.3.14/pgsrc/ReleaseNotes	2007-07-01 05:11:26.000000000 -0500
@@ -1,14 +1,193 @@
-Date: Sun, 18 Jun 2006 12:17:37 +0000
-Mime-Version: 1.0 (Produced by PhpWiki 1.3.12p3)
-X-Rcs-Id: $Id: ReleaseNotes,v 1.55 2005/09/18 12:07:25 rurban Exp $
+Date: Sun, 1 Jul 2007 15:23:15 +0200
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: ReleaseNotes,v 1.76 2007/07/01 10:09:09 rurban Exp $
 Content-Type: application/x-phpwiki;
   pagename=ReleaseNotes;
-  pgsrc_version="2 $Revision: 1.55 $";
+  pgsrc_version="2 $Revision: 1.76 $";
   flags=PAGE_LOCKED;
   markup=2;
   charset=iso-8859-1
 Content-Transfer-Encoding: binary
 
+1.3.14 July, 1 2007, Reini Urban
+
+fixes:
+* Fix the broken LDAP fix from 1.3.13p1
+* fixed sortby with multiple pagelists
+
+changes:
+* changes all themeinfo.php files, moved global to method load() to be 
+  easier derived from custom theme classes, main now calls $WikiTheme->load
+* MailNotify is now silent unless DEBUG
+
+new:
+* added experimental ATOM support
+* added Changes and Upload button to edit
+
+1.3.13p1 June, 9 2007, Reini Urban
+
+An immediate security fix for 1.3.13, plus some minor fixes.
+fixes:
+* LDAP Auth: Disallow empty passwords! Certain ldap implementations return true 
+  on empty passwords with ldap_bind().
+* LDAP Auth: fix password quoting
+* fix action=upgrade for dba, rename nosql to nodb
+* fixes SpamBlockList config file locations (config/two-level-tlds, config/whitelist)
+* enable $MailNotify->onChangePage
+* fix display of pagenames containing ":" in certain lists
+* fixed backend asArray access to iterators (DebugInfo with SQL)
+* fix wrong PhpWikiCvs InterWikiMap entry
+* fix syntax error in pgsrc/Help%2FActionPage
+* fix case in pgsrc/Help%2FAsciiSVGPlugin
+* fix links in pgsrc/Help%2FSemanticRelations
+* fix pgsrc/Help%2FWikiPlugin
+
+changes:
+* allow \n and single letter pages in {{ }} template syntax. 
+  patch #1732793 by AlJeux and ReiniUrban
+* with ENABLE_SPAMBLOCKLIST check only new external links: 
+  max 5, allow interwiki links, and improve failed output.
+
+1.3.13 June, 2 2007, Reini Urban
+
+This is major feature release which will be the base for the stable
+1.4.0.  The highlights are SemanticWeb support, basic support for
+various WYSIWYG editors (not yet stable), a stable ~MonoBook (wikipedia)
+and Blog theme, enabled acdropdown support (~LiveSearch), postgresql and
+oracle enhancements, moving Help pages into Help/, support different
+charsets in pgsrc and Windows NTLM auth support via HttpAuth, a lot
+more plugins and enhancements. UTF-8 should work.
+
+fixes:
+* fix UpLoad to disallow all php extensions
+* DB: use ANSI SQL statements (oracle by Bob Peele & Christopher Jones, 
+  postgresql by Reini Urban)
+* fixed blog, MonoBook, sidebar and wikilens theme layout
+* fix Template and CreatePage variable expansion
+* xhtml dump for subpages into subdirectories, fixed filenames and subdir names
+* fixed loading pages into foreign charsets (such as utf-8)
+* ErrorManager: patch #1438439 by Matt Brown: 
+  Only set no-cache headers when error output is generated
+* ImageLinks: patch #1348996 by Robert Litwiniec
+* fix bug #1327912 numeric pagenames can break plugins (Joachim Lous)
+* improve pdf output via external converter
+* force integer constants to be set as integer
+* partially fix CRC overflow in ziplib (Bob Apthorpe)
+* testsuite: force C locale and EN $LANG
+* fixed display of edited InterWikiMap. static var issue
+* fixed display of "Merge and Edit: pagename" header in merge edit (hack!)
+* WikiFormRich: fix name=value parsing. fix limit with plugin-list invocations
+* plugin/Diff: fix lib/diff loading conflicts by removing duplicate classes
+* plugin/Ploticus: support PLOTICUS_PREFABS config.ini setting (documented but never worked)
+* fix edit:locked label selection: typo, was edit:lock
+* fixed moacdropdown integration
+* fixed fortune error handling
+* fixed limit handling with multiple pagelists: don't overwrite request arg
+* change PageDump Content-Type header for download to application/octet-stream to avoid 
+  pesty .txt suffixes on windows clients
+* fixed wikilens with dba and RATING_STORAGE=SQL. RATING_STORAGE=WIKIPAGE not yet fixed.
+* fixed action=diff error with external links
+
+changes:
+* add UpLoad policy DISABLE_UPLOAD_ONLY_ALLOWED_EXTENSIONS, default: false
+* SemanticWeb: add linkrelation support, getPageLinks returns now an array of hashes. 
+  optimize get_links for relations.
+* add new linksyntax "[:pagename]" inside square brackets only, not to store backlinks.
+  [:DontStoreLink] (experimental)
+* moved default help pages to Help/ subpages. Partially for "de" also.
+* generalized ENABLE_HTMLAREA3 to ENABLE_WYSIWYG
+* support more WikiFormRich method arguments: url, dynurl, xmlrpc, dynxmlrpc, plugin,
+  the autocomplete option for pulldown[] and editbox[] and the new combobox[] widget.
+  Improve WikiFormRich layout.
+* DB: foreign key support in schemas, simplify methods
+* remove user table: upgrade from SQL db.
+* updated locale for it, de and es (google translation)
+* improve loading multiple version archives such as full zipdumps. force temp. overwrite.
+  support loadfile for multipart archives (full dumps) automatically
+* omit actionbar from pdf output
+* support charsets in pagedumps for loadfile and virgin setup 
+* _BackendInfoPlugin prints linkinfo also.
+* ExternalSearchPlugin displays the button at the right. Change it with 
+  EXTERNALSEARCH_DEFAULT_BUTTON_POSITION = left, or the argument button_position=left or none.
+* disabled postgresql optimize() in favor of autovacuum, 
+  enable it in the backend method if the web user is the table owner (security risk)
+* print "Ignored stoplist words" on FullTextSearch, 
+  add FULLTEXTSEARCH_STOPLIST constant,
+  make TextSearchQuery->_stoplist localizable
+* fix arg order in WikiDB_backend_search()
+* protected tests. only allow localhost
+* optimize ArchiveCleaner for the new default case (since 1.3.11): Keep all revisions.
+* changed the default DB backend from gdbm to dba db4
+* changed action=upgrade to check and store a db version
+* don't loadfile *.orig files (this might be a limitation. sorry)
+* rename _AuthFile to DebugAuthFile in upgrade
+* updated most template files for harmonisation
+* changed default LiveSearch method in search.tmpl from url to xmlrpc. faster and less hackish.
+* fixed all templates with missing revision check. can be false.
+* rewrote and redefined WikiDB::listRelations. list only all relations as array.
+* changed Semantic attribute syntax from ":-" to ":=" (relevant to cvs users only)
+* change TextSearchQuery handling of regex=pcre: plain string, no parsing at all, 
+  detect and apply modifiers.
+* enhance text2png arguments and features. See Help:text2pngPlugin 
+* Template plugin: allow passing arbitrary args, not just in vars.
+* added old gd support to PhotoAlbum thumbs (ImageTile)
+* Improve LdapSearch plugin and add action page.
+* Improved wikilens theme.
+* Changed all default Template vars to expanded to uppercase: PAGENAME, USERID, ...
+* CSS: no MonoBook css hacks/requests, check special browser versions in php
+
+new:
+* add SemanticRelations syntax, db structure and attribute units.
+  Sample: pagename=SanDiego is_a :: city => SanDiego relation = is_a, linkto = city
+          population := 1,305,736 (numeric units)
+  Store unified attribute in pagedata.
+* new experimental WYSIWYG edit library framework: 
+  WikiWyg, tinymce, FCKeditor, htmlarea3, htmlarea2, spaw
+* new wysiwyg_editor feature by Jean-Nicolas GEREONE and Sabri LABBENE (experimental)
+* added postgresql tsearch2 support
+* new experimental flatfile backend: readable page source files (experimental)
+* added new xmlrpc and SOAP methods: listPlugins, getPluginSynopsis, mailPasswordToUser, 
+  getUploadedFileInfo, listRelations, callPlugin, linkSearch
+* new plugins: SemanticSearch, SemanticRelations, LinkSearch, ListRelations, 
+  FileInfo, BoxRight, PasswordReset, WatchPage, SpellCheck, SearchHighlight, 
+  AsciiSVG
+* add <nowiki></nowiki> tag: Transform only html markup and entities
+* new option DISABLE_MARKUP_WIKIWORD to force [ ] for links
+* new option ENABLE_MARKUP_DIVSPAN (experimental)
+* new option PLUGIN_MARKUP_MAP for xml-style plugin syntax (experimental)
+* support Windows NTLM Auth via HttpAuth: mod_ntlm (apache1+2. also on linux) 
+  and mod_auth_sspi (apache2. better, but windows only)
+* new stable option ENABLE_SEARCHHIGHLIGHT with actionpage and plugin SearchHighlight.
+  In CVS for some time called USE_SEARCHHIGHLIGHT.
+* patch #1377011 by Matt Brown: add DATABASE_OPTIMISE_FREQUENCY
+* new options db-check and db-rebuild for WikiAdminPlugin.
+  You can now retransform all pages at once.
+* new MailNotify class, simplified WikiDB.php
+* added "Printable version" js to monobook theme. See License in 
+  http://www.howtocreate.co.uk/jslibs/termsOfUse.html
+* new ActionButton function for MonoBook with selected state. (tab state)
+* added SyncWiki plugin to sync pages and uploads with a master wiki.
+  (foreign auth not yet solved)
+* added boolean UPLOAD_USERDIR to upload into user-specific directory.
+* added support for multiple page arguments in BackLinks. Logical AND.
+* added wikidb->backend->rebuild()
+* added "Keep old" and "Overwrite with new" buttons and actions for loadfile merge edit.
+* added lib/XmlRpcClient, xmlrpc methods to lib/HttpClient and acdropdown.js. JSON not yet.
+* created Help/*Plugin stubs for *ALL* plugins in pgsrc
+* added a new _DEBUG_REMOTE flag to debug into remote sessions (xmlrpc, ajax, ...)
+* added WikiDB::linkSearch and backend/dumb/~LinkSearchIter.php. Mainly for SemanticSearch, 
+  and LinkSearch, but can be used for SemanticSearchAdvanced (combined queries as <ask>) and 
+  BackLinks et al also.
+* added Calendar display_weeknum argument
+* added new AsciiSVG plugin
+* added new YouTube plugin
+* added XmlRpcTest tests
+* Added nopage argument to PageList and all its plugins. Unique rows only not yet.
+* Added author, owner argument to RecentChanges and added action pages: 
+  MyRecentChanges, MyRecentEdits, UserContribs
+* added RecentChanges format=contribs for MonoBook theme: => UserContribs
+* added MonoBook accesskeys
+
 1.3.12p3 Jun, 18 2006, Reini Urban:
 
 * fix [/Subpage] links
@@ -77,7 +256,7 @@
 * fix 'VOID' in TextSearchQuery
 * remove LIMIT 1 in ADODB
 * fix SQL WantedPages
-* fix fulltext search for stoplists
+* fixed fulltext search and stoplist handling
 * fix bug #1327912 numeric pagenames can break plugins (Joachim Lous)
 * fix xmlrpc and tests/unit for !register_long_arrays
 * ensure absolute uploads path
@@ -91,7 +270,7 @@
 * don't log on ACCESS_LOG_SQL < 2
 
 changes:
-* cache EditToolbars
+* cache EditToolbar popup content
 * beautify SCRIPT lines
 * added cfg-able markups only for default TextTransformation, not 
   for links and others
diff -ruN 1.3.12p3/pgsrc/RichTablePlugin 1.3.14/pgsrc/RichTablePlugin
--- 1.3.12p3/pgsrc/RichTablePlugin	2006-06-18 06:19:44.000000000 -0500
+++ 1.3.14/pgsrc/RichTablePlugin	1969-12-31 18:00:00.000000000 -0600
@@ -1,114 +0,0 @@
-Date: Sun, 4 Jul 2004 01:31:02 -0700
-Mime-Version: 1.0 (Produced by PhpWiki 1.3.8a)
-X-Rcs-Id: $Id: RichTablePlugin,v 1.3 2004/07/04 08:44:08 rurban Exp $ 
-Content-Type: application/x-phpwiki;
-  pagename=RichTablePlugin;
-  flags="";
-  author=ReiniUrban;
-  version=1;
-  lastmodified=1075205974;
-  author_id=ReiniUrban;
-  markup=2;
-  charset=iso-8859-1
-Content-Transfer-Encoding: binary
-
-RichTablePlugin is a plugin that takes off from the OldStyleTablePlugin. It allows a user to specify arbitrary properties of <tt><table></tt>, <tt><tr></tt> and <tt><td></tt> with a very simple markup.
-
-NEW: The plugin is now fixed so that the contents of each cell are individually processed by the ~BlockParser. This means that if everything works correctly,  you can do interesting things like put *invoke plugins*, use *enumerated lists* etc within each cell!
-
-*A <tt>"-"</tt> (dash) at the start of a new line represents a new row in the table.
-*A <tt>"|"</tt> (vertical bar or pipe) at the start of a new line represents a cell.
-*Attributes for the tags
-  *A line that starts with a <tt>"*"</tt> (star or asterisk) after a <tt>"|"</tt> is parsed for attributes for the corresponding cell.
-  *Attributes for the table are given on line that starts with a <tt>"*"</tt>, only if the line appears before any other line except whitespace.
-  *A line that starts with a <tt>-</tt> is always parsed for attributes since it can't have any content, unlike a cell.
-*Cell contents
-  *Cell contents are processed by the ~BlockParser.
-  *Any line that starts with a <tt>"*"</tt> anywhere other than the table attribute line is treated as normal content.
-  *Any line that starts with whitespace is also treated as content.
-  *Any cell line that does not have a <tt>"*"</tt> after the <tt>"|"</tt> is treated as normal content.
-  *All content lines that follow a cell line are added to that cell. They can contain arbitrary text except the above cases.
-  *If there is no cell in the current row, content lines are dropped silently.
-*The two special characters <tt>"~~"</tt> and <tt>"?>"</tt> should be escaped as <tt>"\~~"</tt> and <tt>"?\>"</tt>. I havn't discovered any other characters yet that might need to be escaped. This is required for the block parser to work.
-
-Bugs:
-* The source code sucks
-* The plugin can't nest itself yet. Thus nested tables are currently not possible.
-
-Example:
-
-<?plugin RichTable
-
-*border=1, cellpadding=5, bgcolor=#f0f8f8, width=75%, align=center
--
-|* colspan=3, align=center
-HomePage
--
-|* colspan=2
-[http://phpwiki.sourceforge.net/demo/themes/default/images/png.png]
-|* rowspan=2
-This cell actually has a plugin invocation inside it!
-<?plugin
-BackLinks
-?\>
-- bgcolor=white
-|
-#One
-#Two
-|
-*Foo
-*Bar
-- bgcolor=cyan
-This line gets dropped ... no cell to contain it!
-|* bgcolor=#f0f0ff, align=center
-One paragraph
-
-Another paragraph?
-|* align=left
-This cell uses the row color
-| I wish this cell had a nested table inside it! :(
-?>
-
-The above table is rendered from:
-
-<verbatim>
-<?plugin RichTable
-
-*border=1, cellpadding=5, bgcolor=#f0f8f8, width=75%, align=center
--
-|* colspan=3, align=center
-HomePage
--
-|* colspan=2
-[http://phpwiki.sourceforge.net/demo/themes/default/images/png.png]
-|* rowspan=2
-This cell actually has a plugin invocation inside it!
-<?plugin
-BackLinks
-?\>
-- bgcolor=white
-|
-#One
-#Two
-|
-*Foo
-*Bar
-- bgcolor=cyan
-This line gets dropped ... no cell to contain it!
-|* bgcolor=#f0f0ff, align=center
-One paragraph.
-
-Another paragraph?
-|* align=left
-This cell uses the row color
-| I wish this cell had a nested table inside it! :(
-?>
-</verbatim>
-
-;__Author__: Sameer D. Sahasrabuddhe
-;__Url__: http://www.it.iitb.ac.in/~sameerds/phpwiki/index.php/RichTablePlugin
-
-
--------------
-
-PhpWikiDocumentation WikiPlugin
diff -ruN 1.3.12p3/pgsrc/RssFeedPlugin 1.3.14/pgsrc/RssFeedPlugin
--- 1.3.12p3/pgsrc/RssFeedPlugin	2006-06-18 06:19:44.000000000 -0500
+++ 1.3.14/pgsrc/RssFeedPlugin	1969-12-31 18:00:00.000000000 -0600
@@ -1,60 +0,0 @@
-Date: Sun, 4 Jul 2004 01:31:02 -0700
-Mime-Version: 1.0 (Produced by PhpWiki 1.3.8)
-X-Rcs-Id: $Id: RssFeedPlugin,v 1.3 2004/07/04 08:44:08 rurban Exp $
-Content-Type: application/x-phpwiki;
-  pagename=RssFeedPlugin;
-  pgsrc_version="2 $Revision: 1.3 $";
-  flags="";
-  markup=2;
-  charset=iso-8859-1
-Content-Transfer-Encoding: binary
-
-!! Synopsis
-
-A WikiPlugin to display external RSS feeds.
-
-!!  Usage
-<verbatim>
-  <?plugin RssFeed?>
-  <?plugin RssFeed url=http://somesite.tld/linktofeed.rss ?>
-</verbatim>
-
-!! Plugin Arguments
-Argument|
-  Default Value|
-    Description
-
-url|
-  (empty)|
-    RSS Feed URL
-
-feed|
-  (empty)|
-    RSS Feed Name
-
-description|
-  (empty)|
-    Description of the RSS Feed
-
-maxitem|
-  0|
-    Max. number of entries (0 = unlimited)
-
-!! Sourcecode (since v1.3.8):
-* [PhpWikiCvs:lib/plugin/RssFeed.php]
-* [PhpWikiCvs:lib/RssParser.php] _fixed for allow_url_fopen=Off_
-
-!! Examples
-
-* PhpWikiRss _feed for PhpWiki:RecentChanges_
-<verbatim>
-  <?plugin RssFeed feed=PhpWikiRss description="PhpWiki:RecentChanges"
-	           url=http://phpwiki.sourceforge.net/phpwiki/RecentChanges?format=rss ?>
-</verbatim>
-
-* [PhpWikiDemo:sidebar/]  _Example as sidebar box_
-
--------------
-PhpWikiDocumentation WikiPlugin
-
-
diff -ruN 1.3.12p3/pgsrc/San%20Diego 1.3.14/pgsrc/San%20Diego
--- 1.3.12p3/pgsrc/San%20Diego	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/San%20Diego	2007-07-01 05:11:26.000000000 -0500
@@ -0,0 +1,31 @@
+Date: Thu, 4 Jan 2007 03:22:09 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: San%20Diego,v 1.1 2007/01/04 16:53:07 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=San%20Diego;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+San Diego [is_a::city] located in the southwestern corner of
+[California|located_in::California], the extreme southwestern corner
+of the United States. It is the county seat of San Diego County. As of
+the 2000 census, the city had a total population of
+[1,223,400|population:=1,223,400]; as of 2005, the California Department
+of Finance estimated the city to have 1,305,736 residents. The city is
+the second-largest in California and the seventh-largest in the United
+States and is noted for its temperate climate and many beaches.
+
+According to the United States Census Bureau, the city has a total
+area of [area:=963.6km^2] (372.0 mi). 840.0 km (324.3 mi) of it is land and
+123.5 km (47.7 mi) of it is water. The total area is 12.82% water.
+
+Most notably, San Diego is the location of the 2005 International
+Symposium on Wikis 2005, and the San Diego Zoo, and the San Diego
+Chargers.
+
+<?plugin SemanticRelations ?>
+----
+<?plugin _BackendInfo ?>
diff -ruN 1.3.12p3/pgsrc/SearchHighlight 1.3.14/pgsrc/SearchHighlight
--- 1.3.12p3/pgsrc/SearchHighlight	2006-06-18 06:19:44.000000000 -0500
+++ 1.3.14/pgsrc/SearchHighlight	2007-07-01 05:11:26.000000000 -0500
@@ -1,10 +1,20 @@
-Date: Fri, 24 Sep 2004 21:30:51 +0200
-Mime-Version: 1.0 (Produced by PhpWiki 1.3.11pre)
-X-Rcs-Id: $Id: SearchHighlight,v 1.1 2004/09/27 09:24:56 rurban Exp $
+Date: Tue, 2 Jan 2007 13:30:17 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: SearchHighlight,v 1.5 2007/01/21 23:48:19 rurban Exp $
 Content-Type: application/x-phpwiki;
   pagename=SearchHighlight;
-  pgsrc_version="2 $Revision: 1.1 $";
+  pgsrc_version="2 $Revision: 1.5 $";
   flags="";
   markup=2;
   charset=iso-8859-1
 Content-Transfer-Encoding: binary
+
+<?plugin Comment
+  The content here is prepended to each page, which was found through an
+  external search engine referrer.
+  The default is to print a header and to highlight the found words.
+  You might want to customize the plugin arguments: noheader=1 hits=1 case_exact=1
+  or add some static text here.
+  See Help/SearchHighlightPlugin
+?>
+<?plugin SearchHighlight ?>
diff -ruN 1.3.12p3/pgsrc/SearchHighlightPlugin 1.3.14/pgsrc/SearchHighlightPlugin
--- 1.3.12p3/pgsrc/SearchHighlightPlugin	2006-06-18 06:19:44.000000000 -0500
+++ 1.3.14/pgsrc/SearchHighlightPlugin	1969-12-31 18:00:00.000000000 -0600
@@ -1,25 +0,0 @@
-Date: Fri, 24 Sep 2004 21:30:51 +0200
-Mime-Version: 1.0 (Produced by PhpWiki 1.3.11pre)
-X-Rcs-Id: $Id: SearchHighlightPlugin,v 1.1 2004/09/27 09:24:56 rurban Exp $
-Content-Type: application/x-phpwiki;
-  pagename=SearchHighlightPlugin;
-  pgsrc_version="2 $Revision: 1.1 $";
-  flags="";
-  markup=2;
-  charset=iso-8859-1
-Content-Transfer-Encoding: binary
-
-The SearchHighLight WikiPlugin is an internal actionpage plugin, 
-which is only used internally.
-
-When someone is referred from a search engine like Google, Yahoo
-or our own fulltextsearch, the terms the user searched for are highlighted.
-See also http://wordpress.org/about/shots/1.2/plugins.png
-
-!! Plugin Arguments
-__s__: |
-  The search term
-__case_exact__:  |
-  boolean. 
-__regex__:  |
-  boolean.
diff -ruN 1.3.12p3/pgsrc/SemanticRelations 1.3.14/pgsrc/SemanticRelations
--- 1.3.12p3/pgsrc/SemanticRelations	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/SemanticRelations	2007-07-01 05:11:26.000000000 -0500
@@ -0,0 +1,12 @@
+Date: Tue, 2 Jan 2007 13:30:17 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: SemanticRelations,v 1.1 2007/01/03 21:26:43 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=SemanticRelations;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags=PAGE_LOCKED;
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+<?plugin SemanticRelations ?>
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/SemanticSearch 1.3.14/pgsrc/SemanticSearch
--- 1.3.12p3/pgsrc/SemanticSearch	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/SemanticSearch	2007-07-01 05:11:26.000000000 -0500
@@ -0,0 +1,30 @@
+Date: Sun, 31 Dec 2006 12:54:21 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: SemanticSearch,v 1.1 2007/01/02 13:26:37 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=SemanticSearch;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags=PAGE_LOCKED;
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+Search for semantic relations and attributes.
+<?plugin Comment
+<''?plugin WikiFormRich action=SemanticSearch buttontext=Relations method=GET nobr=1 class=wikiaction
+  editbox[] name=page value="*" autocomplete=1 method="dynxmlrpc:wiki.titleSearch ^[S] 4" style="width:100px"
+  editbox[] name=relation text="::" autocomplete=1 method="plugin:listRelations mode=relations" style="width:100px"
+  editbox[] name=s value="*" text="" autocomplete=1 method="dynxmlrpc:wiki.titleSearch ^[S] 4" style="width:100px"
+  checkbox[] name=case_exact
+  submit[]
+?''>
+<br>
+<''?plugin WikiFormRich action=SemanticSearch buttontext=Attributes method=GET nobr=1 class=wikiaction
+  editbox[] name=page value="*" autocomplete=1 method="dynxmlrpc:wiki.titleSearch ^[S] 4" style="width:100px"
+  editbox[] name=attribute text=":=" autocomplete=1 method="plugin:listRelations mode=attributes" style="width:100px"
+  editbox[] name=s value="*" text=""
+  checkbox[] name=case_exact
+  submit[]
+?>
+
+<?plugin SemanticSearch ?>
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/SpellCheck 1.3.14/pgsrc/SpellCheck
--- 1.3.12p3/pgsrc/SpellCheck	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/SpellCheck	2007-07-01 05:11:26.000000000 -0500
@@ -0,0 +1,12 @@
+Date: Sat, 20 Jan 2007 13:30:17 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: SpellCheck,v 1.1 2007/01/20 11:23:26 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=SpellCheck;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+<?plugin SpellCheck ?>
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/SteveWainstead 1.3.14/pgsrc/SteveWainstead
--- 1.3.12p3/pgsrc/SteveWainstead	2006-06-18 06:19:44.000000000 -0500
+++ 1.3.14/pgsrc/SteveWainstead	2007-07-01 05:11:26.000000000 -0500
@@ -1,15 +1,15 @@
 Date: Sun, 27 Jan 2002 17:28:55 -0500
 Mime-Version: 1.0 (Produced by PhpWiki 1.3.2-jeffs-hacks)
-X-Rcs-Id: $Id: SteveWainstead,v 1.11 2002/12/29 00:32:34 carstenklapp Exp $
+X-Rcs-Id: $Id: SteveWainstead,v 1.12 2005/11/12 01:16:34 wainstead Exp $
 Content-Type: application/x-phpwiki;
   pagename=SteveWainstead;
-  pgsrc_version="2 $Revision: 1.11 $";
+  pgsrc_version="2 $Revision: 1.12 $";
   flags="";
   markup=2;
   charset=iso-8859-1
 Content-Transfer-Encoding: binary
 
 Hi. I started building this WikiWikiWeb but many others help me
-now. I'm at http://www.panix.com/~swain/.
+now. I'm at http://www.panix.com/~~swain/.
 
 Please report bugs to mailto:phpwiki-talk@lists.sourceforge.net
diff -ruN 1.3.12p3/pgsrc/SyntaxHighlighterPlugin 1.3.14/pgsrc/SyntaxHighlighterPlugin
--- 1.3.12p3/pgsrc/SyntaxHighlighterPlugin	2006-06-18 06:19:44.000000000 -0500
+++ 1.3.14/pgsrc/SyntaxHighlighterPlugin	1969-12-31 18:00:00.000000000 -0600
@@ -1,61 +0,0 @@
-Date: Sun, 4 Jul 2004 01:31:02 -0700
-Mime-Version: 1.0 (Produced by PhpWiki 1.3.11pre)
-X-Rcs-Id: $Id: SyntaxHighlighterPlugin,v 1.3 2004/07/04 08:44:08 rurban Exp $
-Content-Type: application/x-phpwiki;
-  pagename=SyntaxHighlighterPlugin;
-  pgsrc_version="2 $Revision: 1.3 $";
-  flags="";
-  markup=2;
-  charset=iso-8859-1
-Content-Transfer-Encoding: binary
-
-The ~SyntaxHighlighter plugin passes all its arguments through a C++
-highlighter called "highlight" (available at http://www.andre-simon.de/).
-
-Author: alecthomas
-
-! Arguments
-syntax |
-  (required), See http://www.andre-simon.de/doku/highlight/highlight.html 
-style |
-  ~[ "ansi", "gnu", "kr", "java", "linux" ~] (required)
-color |
-  null (optional), see =highlight/themes=
-number |
-  0  (optional)
-wrap |
-  0  (optional)
-
-
-! Example
-
-<verbatim>
-<?plugin SyntaxHighlighter syntax=c style=kr color=emacs
- #include <stdio.h>
-
- int main() {
- printf("Lalala\n");
- }
-?>
-</verbatim>
-
-=>
-
-<?plugin SyntaxHighlighter syntax=c style=kr color=emacs
- #include <stdio.h>
-
- int main() {
- printf("Lalala\n");
- }
-?>
-
-I did not use beautifier, because it used up more than 8M of memory on
-my system and PHP killed it. I'm not sure whether this is a problem
-with my integration, or with beautifier itself.
-
-Fixes by Reini Urban:
-* support options: syntax, style, color.
-* php version switch
-* HIGHLIGHT_DATA_DIR, HIGHLIGHT_EXE constants
-----
-PhpWikiDocumentation WikiPlugin 
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/SystemInfoPlugin 1.3.14/pgsrc/SystemInfoPlugin
--- 1.3.12p3/pgsrc/SystemInfoPlugin	2006-06-18 06:19:44.000000000 -0500
+++ 1.3.14/pgsrc/SystemInfoPlugin	1969-12-31 18:00:00.000000000 -0600
@@ -1,29 +0,0 @@
-Date: Sun, 4 Jul 2004 01:31:02 -0700
-Mime-Version: 1.0 (Produced by PhpWiki 1.3.5pre)
-X-Rcs-Id: $Id: SystemInfoPlugin,v 1.5 2004/07/04 08:44:08 rurban Exp $
-Content-Type: application/x-phpwiki;
-  pagename=SystemInfoPlugin;
-  pgsrc_version="2 $Revision: 1.5 $";
-  flags="";
-  markup=2;
-  charset=iso-8859-1
-Content-Transfer-Encoding: binary
-
-The SystemInfoPlugin provides access to lower level system information for the platform PhpWiki is installed on.
-
-<verbatim>
- Usage:  <?plugin SystemInfo all ?>
-      or <?plugin SystemInfo pagestats cachestats discspace hitstats ?>
-      or <?plugin SystemInfo version ?>
-      or <?plugin SystemInfo current_theme ?>
-      or <?plugin SystemInfo PHPWIKI_DIR ?>
-</verbatim>
-
-Example:
-
-<?plugin SystemInfo all ?>
-
-
--------------
-
-PhpWikiDocumentation WikiPlugin
diff -ruN 1.3.12p3/pgsrc/Template%2FAttribute 1.3.14/pgsrc/Template%2FAttribute
--- 1.3.12p3/pgsrc/Template%2FAttribute	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Template%2FAttribute	2007-07-01 05:11:26.000000000 -0500
@@ -0,0 +1,23 @@
+Date: Thu, 25 Jan 2007 04:00:12 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Template%2FAttribute,v 1.2 2007/01/25 22:11:29 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Template%2FAttribute;
+  pgsrc_version="2 $Revision: 1.2 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+<em>SemanticSearch for pages with the *%%PAGENAME%%* attribute:</em>
+
+<?plugin SemanticSearch attribute=%%PAGENAME%% s="*" page="*" case_exact=1 noform=1 ?>
+
+List of all other used attributes:
+  <?plugin ListRelations mode=attributes ?>
+
+----
+Create a new attribute page:
+  <?plugin-form CreatePage initial_content="{{Template/Attribute}}" ?>
+
+Note: Attributes are created implicitly by using the <tt>~:~=</tt> syntax. See Help:SemanticRelations
diff -ruN 1.3.12p3/pgsrc/Template%2FCategory 1.3.14/pgsrc/Template%2FCategory
--- 1.3.12p3/pgsrc/Template%2FCategory	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Template%2FCategory	2007-07-01 05:11:26.000000000 -0500
@@ -0,0 +1,18 @@
+Date: Wed, 3 Jan 2007 16:57:56 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Template%2FCategory,v 1.1 2007/01/07 20:19:20 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Template%2FCategory;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+<?plugin IncludePage page=CategoryCategory section=Category quiet=1 ?>
+
+<?plugin BackLinks ?>
+
+-----
+[CategoryCategory]
+
diff -ruN 1.3.12p3/pgsrc/Template%2FExample 1.3.14/pgsrc/Template%2FExample
--- 1.3.12p3/pgsrc/Template%2FExample	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Template%2FExample	2007-07-01 05:11:26.000000000 -0500
@@ -0,0 +1,37 @@
+Date: Thu, 25 Jan 2007 13:30:17 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Template%2FExample,v 1.2 2007/01/25 22:11:29 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Template%2FExample;
+  pgsrc_version="1 $Revision: 1.2 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+<noinclude>
+The following predefined variables are automatically expanded by 
+the Help:CreatePagePlugin if existing:
+  PAGENAME
+  MTIME     - last modified date + time
+  CTIME     - creation date + time
+  AUTHOR    - last author
+  OWNER     
+  CREATOR   - first author
+  SERVER_URL, DATA_PATH, SCRIPT_NAME, PHPWIKI_BASE_URL and BASE_URL
+</noinclude>
+
+Title: %%TITLE%%   Year: %%YEAR%%
+---
+* Pagename: %%PAGENAME%%
+* Author: %%AUTHOR%%
+* Last modified time: %%MTIME%%
+* Created time: %%CTIME%%
+* Owner: %%OWNER%%
+* Creator: %%CREATOR%%
+
+* SERVER_URL: %%SERVER_URL%%
+* DATA_PATH: %%DATA_PATH%%
+* SCRIPT_NAME: %%SCRIPT_NAME%%
+* PHPWIKI_BASE_URL: %%PHPWIKI_BASE_URL%%
+* BASE_URL: %%BASE_URL%%
diff -ruN 1.3.12p3/pgsrc/Template%2FLinkto 1.3.14/pgsrc/Template%2FLinkto
--- 1.3.12p3/pgsrc/Template%2FLinkto	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Template%2FLinkto	2007-07-01 05:11:26.000000000 -0500
@@ -0,0 +1,16 @@
+Date: Tue, 13 Feb 2007 09:56:02 +0100
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+Content-Type: application/x-phpwiki;
+  pagename=Template%2FLinkto;
+  flags="";
+  markup=2
+Content-Transfer-Encoding: binary
+
+<em>SemanticSearch for pages with the relation %%LINKTO%% :: *%%PAGENAME%%* (a Linkto)</em>
+
+  <?plugin SemanticSearch page="*" relation="%%LINKTO%%$" s="%%PAGENAME%%$" case_exact=1 noform=1 ?>
+
+Note: Relations are created implicitly by using the <tt>~:~:</tt> syntax. See Help:SemanticRelations. This is from the [Template/Linkto].
+
+Create a new relation target page:
+  <?plugin-form CreatePage initial_content={{Template/Linkto}} ?>
diff -ruN 1.3.12p3/pgsrc/Template%2FNewPlugin 1.3.14/pgsrc/Template%2FNewPlugin
--- 1.3.12p3/pgsrc/Template%2FNewPlugin	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Template%2FNewPlugin	2007-07-01 05:11:26.000000000 -0500
@@ -0,0 +1,38 @@
+Date: Tue, 2 Jan 2007 13:30:17 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Template%2FNewPlugin,v 1.1 2007/01/03 21:26:23 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Template%2FNewPlugin;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+_short description_
+
+! Usage
+<verbatim>
+  <?plugin New ?>
+</verbatim>
+
+! Arguments
+
+page _(default: current pagename)_:
+  The page to execute upon.
+
+! Example
+
+<verbatim>
+<?plugin New ?>
+</verbatim>
+
+<?plugin New ?>
+
+! Author
+PhpWiki:ReiniUrban
+
+! See Also
+
+----
+PhpWikiDocumentation Help:WikiPlugin
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/Template%2FRelation 1.3.14/pgsrc/Template%2FRelation
--- 1.3.12p3/pgsrc/Template%2FRelation	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/Template%2FRelation	2007-07-01 05:11:26.000000000 -0500
@@ -0,0 +1,24 @@
+Date: Thu, 25 Jan 2007 03:17:48 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Template%2FRelation,v 1.2 2007/01/25 22:11:29 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Template%2FRelation;
+  pgsrc_version="2 $Revision: 1.2 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+<em>SemanticSearch for pages with the *%%PAGENAME%%* relation:</em>
+
+<?plugin SemanticSearch page="*" relation=%%PAGENAME%% s="*" case_exact=1 noform=1 ?>
+
+Create a new relation page:
+  <?plugin-form CreatePage initial_content={{Template/Relation}} ?>
+
+Note: Relations are created implicitly by using the <tt>~:~:</tt> syntax. 
+See Help:SemanticRelations
+
+List of all other used relations:
+
+  <?plugin ListRelations mode=relations ?>
diff -ruN 1.3.12p3/pgsrc/TemplateExample 1.3.14/pgsrc/TemplateExample
--- 1.3.12p3/pgsrc/TemplateExample	2006-06-18 06:19:44.000000000 -0500
+++ 1.3.14/pgsrc/TemplateExample	1969-12-31 18:00:00.000000000 -0600
@@ -1,36 +0,0 @@
-Date: Sat, 10 Sep 2005 21:42:11 +0100
-Mime-Version: 1.0 (Produced by PhpWiki 1.3.11)
-X-Rcs-Id: $Id: TemplateExample,v 1.1 2005/09/10 21:16:40 rurban Exp $
-Content-Type: application/x-phpwiki;
-  pagename=TemplateExample;
-  pgsrc_version="1 $Revision: 1.1 $";
-  flags="";
-  markup=2;
-  charset=iso-8859-1
-Content-Transfer-Encoding: binary
-
-<noinclude>
-The following predefined variables are automatically expanded if existing:
-  pagename
-  mtime     - last modified date + time
-  ctime     - creation date + time
-  author    - last author
-  owner     
-  creator   - first author
-  SERVER_URL, DATA_PATH, SCRIPT_NAME, PHPWIKI_BASE_URL and BASE_URL
-</noinclude>
-
-Title: %%title%%   Year: %%year%%
----
-* Pagename: %%pagename%%
-* Author: %%author%%
-* Last modified time: %%mtime%%
-* Created time: %%ctime%%
-* Owner: %%owner%%
-* Creator: %%creator%%
-
-* SERVER_URL: %%SERVER_URL%%
-* DATA_PATH: %%DATA_PATH%%
-* SCRIPT_NAME: %%SCRIPT_NAME%%
-* PHPWIKI_BASE_URL: %%PHPWIKI_BASE_URL%%
-* BASE_URL: %%BASE_URL%%
diff -ruN 1.3.12p3/pgsrc/TemplatePlugin 1.3.14/pgsrc/TemplatePlugin
--- 1.3.12p3/pgsrc/TemplatePlugin	2006-06-18 06:19:45.000000000 -0500
+++ 1.3.14/pgsrc/TemplatePlugin	1969-12-31 18:00:00.000000000 -0600
@@ -1,83 +0,0 @@
-Date: Sat, 10 Sep 2005 21:42:11 +0100
-Mime-Version: 1.0 (Produced by PhpWiki 1.3.11)
-X-Rcs-Id: $Id: TemplatePlugin,v 1.1 2005/09/10 21:16:40 rurban Exp $
-Content-Type: application/x-phpwiki;
-  pagename=TemplatePlugin;
-  pgsrc_version="1 $Revision: 1.1 $";
-  flags="";
-  markup=2;
-  charset=iso-8859-1
-Content-Transfer-Encoding: binary
-
-!! Synopsis
-
-Template = Parametrized blocks.
-
-Include text from a wiki page and replace certain placeholders by parameters.
-Similiar to CreatePage with the template argument, but at run-time.
-Similiar to the mediawiki templates but not with the "|" parameter seperator.
-
-!!  Usage
-<verbatim>
-  <?plugin Template page=Templates/Footer?>
-  <?plugin Template page=Templates/Film vars="title=SomeFilm&year=1999" ?>
-  {{Templates/Film|title=SomeFilm|year=1999}}
-</verbatim>
-
-!! Plugin Arguments
-Argument|
-  Default Value|
-    Description
-
-page|
-  (empty)|
-    pagename to be included as template
-
-vars|
-  (empty)|
-    optional parameters to be expanded inside the template
-
-! Parameter expansion:
-  vars="var1=value1&var2=value2"
-
-We only support named parameters, not numbered ones as in mediawiki, and 
-the placeholder is %%var%% and not {{~{var~}}} as in mediawiki.
-
-The following predefined variables are automatically expanded if existing:
-<verbatim>
-  pagename
-  mtime     - last modified date + time
-  ctime     - creation date + time
-  author    - last author
-  owner     
-  creator   - first author
-  SERVER_URL, DATA_PATH, SCRIPT_NAME, PHPWIKI_BASE_URL and BASE_URL
-</verbatim>
-
-<noinclude> .. </noinclude> is stripped
-
-! In work:
-* ENABLE_MARKUP_TEMPLATE = true: (lib/InlineParser.php)
-  Support a mediawiki-style syntax extension which maps 
-<verbatim>
-    {{TemplateFilm|title=Some Good Film|year=1999}}
-</verbatim>
-  to 
-<verbatim>
-    <?plugin Template page=TemplateFilm vars="title=Some Good Film&year=1999" ?>
-</verbatim>
-
-!! Examples
-
-<verbatim>
-  <?plugin Template page=TemplateExample vars="title=TestTitle" ?>
-</verbatim>
-
-Standard syntax:
-  <?plugin Template page=TemplateExample vars="title=TestTitle" ?>
-
-Shorter syntax:
-  {{TemplateExample|title=TestTitle}}
-
--------------
-PhpWikiDocumentation WikiPlugin
diff -ruN 1.3.12p3/pgsrc/TeX2pngPlugin 1.3.14/pgsrc/TeX2pngPlugin
--- 1.3.12p3/pgsrc/TeX2pngPlugin	2006-06-18 06:19:45.000000000 -0500
+++ 1.3.14/pgsrc/TeX2pngPlugin	1969-12-31 18:00:00.000000000 -0600
@@ -1,69 +0,0 @@
-Date: Tue, 22 Jun 2004 10:24:50 +0200
-Mime-Version: 1.0 (Produced by PhpWiki 1.3.10)
-X-Rcs-Id: $Id: TeX2pngPlugin,v 1.1 2004/06/22 08:45:38 pmeignen Exp $
-Content-Type: application/x-phpwiki;
-  pagename=TeX2pngPlugin;
-  pgsrc_version="2 $Revision: 1.1 $";
-  flags="";
-  markup=2;
-  charset=iso-8859-1
-Content-Transfer-Encoding: binary
-
-!!Synopsis
-
-WikiPlugin to display mathematical formulae in a Wiki page.
-
-!!Usage
-
-<verbatim>
-<?plugin TeX2png text="$$(a+b)^n=\sum_{k=0}^n{n\choose k}a^k b^{n-k}$$" ?>
-</verbatim>
-
-gives
-
-<?plugin TeX2png text="$$(a+b)^n=\sum_{k=0}^n{n\choose k}a^k b^{n-k}$$" ?>
-
-!!Arguments
-There is only one argument which is the text of the mathematical
-expression. This text *must be* enclosed by a dollar $ within a
-paragraph or two dollars $$ on a separate line. In the last case,
-all is centered.
-
-To write mathematical formulae, the syntax is the one
-of [LaTeX | http://www.latex-project.org].
-
-!!Caveats
-
-This plugin is only to produce readable mathematical formulae. Any
-other text is not allowed : so if an expression is not enclosed by
-dollars then it will be displayed by a red text. It is all the same
-possible to display raw text as <?plugin TeX2png text="$\textrm{\LaTeX}$" ?> by using :
-
-<verbatim>
-<?plugin TeX2png text="$\textrm{\LaTeX}$" ?>
-</verbatim>
-
-This plugin is not able to produce sophisticated mathematicals texts
-with links, cross references... For that, you can use for example
-LaTeX2html.
-
-!!Examples
-
-Some Greeks letters : <?plugin TeX2png text="$\alpha$" ?>, <?plugin TeX2png text="$\beta$" ?>, ... and a formula <?plugin TeX2png text="$\sum_{i=1}^n \frac1{i^2}=\frac{\pi^2}{6}$" ?> to test display in a paragraph.
-
-*Exercise 1* Consider the function <?plugin TeX2png text="$$f(x)=(x^2-4x+3)^{1/2}$$" ?>
-
-#Give the largest real domain for which f(x) is well defined.
-#Give a domain on which the function is one-to-one. Using this domain derive a formula for the inverse function <?plugin TeX2png text="$f^{-1}(x)$" ?>.
-#Calculate the derivative f'(x).
-
-*Exercise 2* Consider the function :
-
-<?plugin TeX2png text="$$f(x) = \int_0^x e^{-t^2}\,dt, x\in\mathbb R$$" ?>
-
-#Show that for all r > 0 :<?plugin TeX2png text="$$\frac{\pi}{2}\int_0^r t  e^{-t^2}\,dt \leq \int_0^r e^{-x^2}\,dx \int_0^r e^{-y^2}\,dy \leq \frac{\pi}{2} \int_0^{\sqrt{2} r} t e^{-t^2}\,dt$$" ?> *Help* : you can use polar coordinates.
-#Hence find the limit of <?plugin TeX2png text="$f(x)$" ?> as x tends <?plugin TeX2png text="to $\infty$" ?>.
-
------
-
-PhpWikiDocumentation WikiPlugin
diff -ruN 1.3.12p3/pgsrc/TextFormattingRules 1.3.14/pgsrc/TextFormattingRules
--- 1.3.12p3/pgsrc/TextFormattingRules	2006-06-18 06:19:45.000000000 -0500
+++ 1.3.14/pgsrc/TextFormattingRules	1969-12-31 18:00:00.000000000 -0600
@@ -1,243 +0,0 @@
-Date: Tue, 8 Jun 2004 22:20:05 +0200
-Mime-Version: 1.0 (Produced by PhpWiki 1.3.8)
-X-Rcs-Id: $Id: TextFormattingRules,v 1.32 2004/06/19 12:13:57 rurban Exp $
-Content-Type: application/x-phpwiki;
-  pagename=TextFormattingRules;
-  pgsrc_version="2 $Revision: 1.32 $";
-  flags=PAGE_LOCKED;
-  markup=2;
-  charset=iso-8859-1
-Content-Transfer-Encoding: binary
-
-<?plugin CreateToc jshide||=1 with_toclink||=1 ?>
-----
-! Synopsis
-TextFormattingRules%%%
-*Emphasis:* <tt>~_</tt> for _italics_, <tt>~*</tt> for *bold*,
-<tt>~_~*</tt> for _*both*_, <tt>~=</tt> for =fixed width=.%%%
-*Lists:* <tt>~*</tt> for bullet lists, <tt>#</tt> for numbered lists,
-_Term<b>:</b>~<new-line> definition_ for definition lists.%%%
-*Preformatted text:* Enclose text in <tt>~<pre>~</pre></tt> or
-<tt>~<verbatim>~</verbatim></tt>.%%%
-*Indented text:* Indent the paragraph with whitespaces.%%%
-*References:* ~JoinCapitalizedWords or use square brackets for a
-<tt>~[page link]</tt> or URL <tt>~[~http://cool.wiki.int/]</tt>.%%%
-*Preventing linking:* Prefix with "<tt>~~</tt>":
-<tt>~~~DoNotHyperlink</tt>, name links like <tt>~[text | URL]</tt>.%%%
-*Misc:* "<tt>!</tt>", "<tt>!!</tt>", "<tt>!!!</tt>" make headings,
-"<tt>~%%%</tt>" or "<tt>~<br></tt>" makes a linebreak,
-"<tt>~----</tt>" makes a horizontal rule.%%%
-*Allowed HTML tags:* <b>b</b> <big>big</big> <i>i</i>
-<small>small</small> <tt>tt</tt> <em>em</em> <strong>strong</strong>
-<abbr>abbr</abbr> <acronym>acronym</acronym> <cite>cite</cite>
-<code>code</code> <dfn>dfn</dfn> <kbd>kbd</kbd> <samp>samp</samp>
-<var>var</var> <sup>sup</sup> <sub>sub</sub>
-
-----
-
-!!! Character Formatting
-
-* All special non-whitespace HTML characters are displayed as-is. Exceptions below.
-* See [Emphasis|TextFormattingRules#Emphasis].
-* There's no syntax for font tags or color attributes.
-* The tilde '~~' is the _Escape Character_:
-** A single tilde '~~' followed by nothing gets rendered as a single tilde. => ~
-** Two tilde '~~~~' get rendered as a single tilde. => ~~
-** A single tilde before a link ('~~http~:~/~/foo.bar') prevents linking.
-   => ~http://foo.bar
-** Two tildes before a link ('~~~~http~:~/~/foo.bar') produce a tilde
-   followed by the hyperlinked URL.
-   => ~~http://foo.bar
-** A tilde inside an URL gets removed, unless it's formatted inside
-   ~[ ~] brackets.
-   Two tildes inside an URL (without brackets) become a single tilde.
-   => [http://foo.bar/~user] or http://foo.bar/~~user
-* Special non-ascii or non-latin characters are printed as-is only if supported
-  by the native wiki CHARSET. Add such characters on a non-supported CHARSET with the RawHtmlPlugin if it is enabled by the Admin and e.g. the &#num; syntax. %%%
-  E.g. These japanese euc-jp chars '&#12363;&#12425; &#26032;&#35215;&#12506;&#12540;&#12472;' on this =<?plugin SystemInfo CHARSET?>= wiki.
-  And with the plugin: <?plugin RawHtml &#12363;&#12425; &#26032;&#35215;&#12506;&#12540;&#12472; ?> %%%
-  And this is how it should like: [http://phpwiki.sourceforge.net/demo/images/chars-releasenotes-japanese.png]
-
-!!! Paragraphs
-
-* Don't indent paragraphs
-* Words wrap and fill as needed
-* Use blank lines as separators
-* Four or more minus signs make a horizontal rule
-* =~%%%= or =~<br>= makes a linebreak (in headings and lists too)
-
-
-!!! Lists
-
-* asterisk for first level
-  * indented asterisk (indent at least two spaces) for second level, etc.
-* Use <tt>~*</tt>, <tt>-</tt>, <tt>+</tt> or <tt>o</tt> for bullet
-  lists, <tt>#</tt> for numbered lists (mix at will)
-* Definition lists:
-  <pre>
-  Term:
-    definition
-  </pre>
-  gives
-  Term:
-    definition
-  as in the =<DL><DT><DD>= list
-* Items may contain multiple paragraphs and other multi-lined content,
-  just indent the items
-
-
-!!! Headings
-
-* '=!=' at the start of a line makes a small heading
-* '=!!=' at the start of a line makes a medium heading
-* '=!!!=' at the start of a line makes a large heading
-
-
-!!! Preformatted text
-
-* Place preformatted lines inside =~<pre>=:
-  <verbatim>
-  <pre>
-  Preformatted text. WikiLinks still work.
-  </pre>
-  </verbatim>
-  gives
-  <pre>
-  Preformatted text. WikiLinks still work.
-  </pre>
-* If you want text with no Wiki interaction, use the =~<verbatim>= tag:
-  <pre>
-  <verbatim>
-  Preformatted text. ~WikiLinks do not work.
-  </verbatim>
-  </pre>
-  gives
-  <verbatim>
-  Preformatted text. WikiLinks do not work.
-  </verbatim>
-
-
-!!!Indented Paragraphs
-
-* Two or more whitespaces signal indented text. Indents may be nested.
-
-    This is an indented block of text.
-
-      This block is even more indented.
-
-* E-mail style block-quoting is supported as well:
-  <pre>
-  > This is block-quoted text.
-  </pre>
-  renders as
-
-  > This is block-quoted text.
-
-
-!!! Emphasis
-
-* Use an underscore (<tt>~_</tt>) for emphasis (usually _italics_)
-* Use an asterisk (<tt>~*</tt>) for strong emphasis (usually *bold*)
-* Mix them at will: *_bold italics_*
-* _Emphasis_ can be used _multiple_ times within a paragraph, but
-  _cannot_ cross paragraph boundaries:
-
-  _this
-
-  will not work_
-
-!!! References
-
-* Hyperlinks to other pages within the Wiki are made by placing the
-  page name in square brackets: [this is a page link] or
-  UsingWikiWords (preferred)
-* Hyperlinks to external pages are done like this:
-  [http://www.wcsb.org/]
-* You can name the links by providing a name, a bar (|) and then the
-  hyperlink or pagename:
-  [PhpWiki home page | http://phpwiki.sourceforge.net/] ---
-  [the front page | HomePage]
-* You can suppress linking to old-style references and URIs by
-  preceding the word with a '<tt>~~</tt>', e.g. ~NotLinkedAsWikiName,
-  ~http://not.linked.to/
-* Also, the old way of linking URL's is still supported: precede URLs
-  with "<tt>http:</tt>", "<tt>ftp:</tt>" or "<tt>mailto:</tt>" to
-  create links automatically as in: http://c2.com/
-* URLs ending with =.png=, =.gif=, or =.jpg= are inlined if in square
-  brackets, by themselves:
-  [http://phpwiki.sourceforge.net/demo/themes/default/images/png.png]
-* In-page #[hyperlinks] are made by placing a named anchor and
-  referring to the anchor in a hyperlink:
-  * Named anchors:
-    * <tt>~#~[foo]</tt>: An anchor around the text "foo" with id
-      "foo".
-    * <tt>~#~[|foo]</tt>: An empty anchor with id "foo".
-    * <tt>~#~[howdy|foo]</tt>: An anchor around the text "howdy" with
-      id "foo".
-  * References to name anchors are made thusly:%%%
-    <tt>~[~#[#hyperlinks]]</tt>, <tt>~[~OtherPage#foo]</tt>,
-    <tt>~[named|~OtherPage#foo]</tt>.
-
-
-!!! Tables
-
-* Definition list style tables are written just like definition lists,
-  except that you replace the trailing colon on the term with a "pipe"
-  (<tt>|</tt>).
-
-  <pre>
-  Term 1 |
-     Definition 1 begins here.
-     Term 1.1 |
-        Definition 1.1
-     Term 1.2 |
-        Definition 1.2
-     This is part of definition 1.
-  Term 2 |
-     Here's definition 2.
-  </pre>
-
-  Term 1 |
-     Definition 1 begins here.
-     Term 1.1 |
-        Definition 1.1
-     Term 1.2 |
-        Definition 1.2
-     This is part of definition 1.
-  Term 2 |
-     Here's definition 2.
-
-* Old-style tables are supported through the OldStyleTablePlugin:
-
-!!! HTML Mark-Up Language
-
-* Some in-line markup is allowed through the use of HTML tags:
-  <b>b</b>, <big>big</big>, <i>i</i>, <small>small</small>,
-  <tt>tt</tt>, <em>em</em>, <strong>strong</strong>,
-  <abbr>abbr</abbr>, <acronym>acronym</acronym>, <cite>cite</cite>,
-  <code>code</code>, <dfn>dfn</dfn>, <kbd>kbd</kbd>,
-  <samp>samp</samp>, <var>var</var>, <sup>sup</sup> and <sub>sub</sub>
-* < and > are themselves
-* The & characters will not work
-
-!!! Creating various kinds of special links
-
-* See [MagicPhpWikiURLs] for gory details on how to write various kind
-  of wiki maintenance and other special links.
-
-!!! Inserting plugins
-
-* Several plugins permit embedding additional functionality to Wiki
-  pages. For example,
-  <verbatim>
-  <?plugin BackLinks page=HomePage info=hits ?>
-  </verbatim>
-  gives
-  <?plugin BackLinks page=HomePage info=hits ?>
-
-* For more information on plugins see WikiPlugin, and PluginManager for a list of all 
-  plugins.
-
-----
-
-PhpWikiDocumentation
diff -ruN 1.3.12p3/pgsrc/TranscludePlugin 1.3.14/pgsrc/TranscludePlugin
--- 1.3.12p3/pgsrc/TranscludePlugin	2006-06-18 06:19:45.000000000 -0500
+++ 1.3.14/pgsrc/TranscludePlugin	1969-12-31 18:00:00.000000000 -0600
@@ -1,49 +0,0 @@
-Date: Tue, 17 Sep 2002 13:03:19 -0700
-Mime-Version: 1.0 (Produced by PhpWiki 1.3.4pre)
-X-Rcs-Id: $Id: TranscludePlugin,v 1.3 2002/12/29 00:32:34 carstenklapp Exp $
-Content-Type: application/x-phpwiki;
-  pagename=TranscludePlugin;
-  pgsrc_version="2 $Revision: 1.3 $";
-  flags="";
-  markup=2;
-  charset=iso-8859-1
-Content-Transfer-Encoding: binary
-
-The TranscludePlugin can be used to embed include whole (external) web
-pages within a wiki page.
-
-! Plugin Arguments
-
-=src= |
-  The URL of the page to transclude
-=height= |
-  The (initial) height of the transclusion frame.
-  If, possible, after the transcluded page is loaded,
-  the frame is resized via javascript so that it
-  fits the entire transcluded page.  (See below for more.)
-
-! Bugs / Caveats
-
-o Pages are transcluded using =<iframe>= tags.  Older browsers do not
-  support ''iframe''s.  In that case the user will be presented with a
-  link to the trancluded material.
-
-o When possible, JavaScript code is used to adjust the height of the
-  _iframe_ so that it fits the entire transcluded page.
-  Unfortunately, this seems possible only when the transcluded page
-  comes from the same server as the wiki page.  (This restriction is
-  due to security checks built in to the JavaScript language.)
-
-o The recursion detection code does not currently work.  Be careful to
-  avoid recursive transclusions, or you'll be sorry (or at least
-  amused.)
-
-! Example
-
-<verbatim>
-<?plugin Transclude src="http://phpwiki.sourceforge.net/demo/ChangeLog" ?>
-</verbatim>
-
-will get you
-
-<?plugin Transclude src="http://phpwiki.sourceforge.net/demo/ChangeLog" ?>
diff -ruN 1.3.12p3/pgsrc/UnfoldSubpagesPlugin 1.3.14/pgsrc/UnfoldSubpagesPlugin
--- 1.3.12p3/pgsrc/UnfoldSubpagesPlugin	2006-06-18 06:19:45.000000000 -0500
+++ 1.3.14/pgsrc/UnfoldSubpagesPlugin	1969-12-31 18:00:00.000000000 -0600
@@ -1,71 +0,0 @@
-Date: Wed, 2 Feb 2005 20:32:44 +0100
-Mime-Version: 1.0 (Produced by PhpWiki 1.3.11)
-X-Rcs-Id: $Id: UnfoldSubpagesPlugin,v 1.5 2005/02/02 19:48:30 rurban Exp $
-Content-Type: application/x-phpwiki;
-  pagename=UnfoldSubpagesPlugin;
-  pgsrc_version="2 $Revision: 1.5 $";
-  flags="";
-  markup=2;
-  charset=iso-8859-1
-Content-Transfer-Encoding: binary
-
-The ~UnfoldSubpages WikiPlugin is used to display all or some subpages
-of the current or a given page.  This gives a overview for a
-WikiBlogPlugin, CalendarPlugin or similar subpages.
-
-Warning: Don't use it with subpages with non-existant sections! 
-The section extractor is currently quite unstable.
-
-! Usage:
-<verbatim>
-     <?plugin UnfoldSubpages ?>
-  or <?plugin UnfoldSubpages sortby=-mtime words=50 maxpages=5 ?>
-  or <?plugin UnfoldSubpages quiet=1 smalltitle=1 ?>
-  or <?plugin UnfoldSubpages sections=2 words=100 ?>
-  or <?plugin UnfoldSubpages lines=3 ?>
-  or <?plugin UnfoldSubpages pagename="PhpWikiAdministration" 
-              section="Plugin Arguments" sectionhead=1 ?>
-</verbatim>
-
-!! Plugin Arguments:
-<strong>pagename</strong>:
-  Any pagename or if empty the current page. Default: ""
-<strong>quiet</strong>:
-  Print no header.  Default: false
-<strong>sortby</strong>:
-  Sort by + (ASC) or - (DESC) and one column. 
-  Multiple columns like sortby="-hits,-mtime" not yet supported.
-  Supported columns: ~[+|-]pagename, ~[+|-]mtime, ~[+|-]hits. 
-  Default: "pagename"
-<strong>maxpages</strong>:
-  Maximum number of pages to include or all if not defined. 
-  Default: false
-<strong>sections</strong>:
-  Maximum number of sections per page to include or all if not defined. 
-  Default: false
-<strong>section</strong>:
-  Include this named section per page only if defined. Default: ""
-<strong>sectionhead</strong>:
-  When including a named section show the heading. Default: false
-<strong>smalltitle</strong>:
-  If set, hide transclusion-title, just have a small link at the start of 
-  the page. Default: false
-<strong>words</strong>:
-  Maximum number of words per page to include. Default: false
-<strong>lines</strong>:
-  Maximum number of lines per page to include. Default: false
-<strong>bytes</strong>:
-  Maximum number of bytes per page to include. Default: false
-
-! Deprecated Arguments:
-<strong>pages</strong>:
-  deprecated. renamed to maxpages.
-<strong>sort</strong>:
-  'asc' or 'desc'. deprecated: use "+" or "-" before the column name with sortby.
-
-! Example:
-<?plugin UnfoldSubpages pagename=PgsrcTranslation limit=20 ?>
-
--------------
-
-PhpWikiDocumentation WikiPlugin
diff -ruN 1.3.12p3/pgsrc/UpLoadPlugin 1.3.14/pgsrc/UpLoadPlugin
--- 1.3.12p3/pgsrc/UpLoadPlugin	2006-06-18 06:19:45.000000000 -0500
+++ 1.3.14/pgsrc/UpLoadPlugin	1969-12-31 18:00:00.000000000 -0600
@@ -1,52 +0,0 @@
-Date: Sun, 4 Jul 2004 01:31:02 -0700
-Mime-Version: 1.0 (Produced by PhpWiki 1.3.10)
-X-Rcs-Id: $Id: UpLoadPlugin,v 1.4 2004/07/04 08:44:08 rurban Exp $
-Content-Type: application/x-phpwiki;
-  pagename=UpLoadPlugin;
-  pgsrc_version="2 $Revision: 1.4 $";
-  flags="";
-  markup=2;
-  charset=iso-8859-1
-Content-Transfer-Encoding: binary
-
-The UpLoad WikiPlugin displays an editbox and two buttons. 
-The first button let's you choose the file to be uploaded at your local filesystem. 
-The textvalue of this button is localised from your browser. 
-The second "Upload" button actually uploads the given filename to the upload directory.
-This directory is not browsable, any file there may be accessed by using the "Upload~:" 
-InterWikiMap prefix to the given filename. This way you can easily inline uploaded images.
-See PhpWiki:InlineUploadedImages
-
-! Usage:
-<verbatim>
-     <?plugin UpLoad ?>
-</verbatim>
-
-!! Plugin Arguments:
-__logfile__:
-  local path. Default: "phpwiki-upload.log"
-  The format is currently HTML - a new <tr> row per entry - and not log file syntax.
-__autolink__:
-  Add the uploaded filename to the list of uploaded files at the page.
-  Default: true
-__page__:
-  The page where the uploaded files are publicly listed, if autolink is true. 
-  Default: current page.
-
-! Conflicts:
-
-# The user must be authenticated to be able to upload.
-# The filename may not end with certain disallowed extensions, to prevent from abuse.
-# MAX_FILE_SITE is configured by the config.ini option MAX_UPLOAD_SIZE, which defaults to 16MB.
-  Your webserver and php may add another limit.
-# Already existing uploaded files are NOT overwritten.
-# Certain internal php problems for Windows and MacOSX have been fixed with 1.3.9.
-
-----
-
-! Example:
-<?plugin UpLoad ?>
-
------
-
-PhpWikiDocumentation WikiPlugin
diff -ruN 1.3.12p3/pgsrc/UserContribs 1.3.14/pgsrc/UserContribs
--- 1.3.12p3/pgsrc/UserContribs	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/UserContribs	2007-07-01 05:11:27.000000000 -0500
@@ -0,0 +1,11 @@
+Date: Wed, 30 May 2007 15:43:12 +0200
+X-Rcs-Id: $Id: UserContribs,v 1.2 2007/06/02 20:54:04 rurban Exp $
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+Content-Type: application/x-phpwiki;
+  pagename=UserContribs;
+  flags="";
+  markup=2;
+  charset=utf-8
+Content-Transfer-Encoding: binary
+
+<?plugin RecentChanges days||=90 daylist=1,3,7,30,90,360,0 show_deleted||=1 format=contribs ?>
diff -ruN 1.3.12p3/pgsrc/WabiSabi 1.3.14/pgsrc/WabiSabi
--- 1.3.12p3/pgsrc/WabiSabi	2006-06-18 06:19:45.000000000 -0500
+++ 1.3.14/pgsrc/WabiSabi	1969-12-31 18:00:00.000000000 -0600
@@ -1,60 +0,0 @@
-Date: Sun, 27 Jan 2002 17:28:55 -0500
-Mime-Version: 1.0 (Produced by PhpWiki 1.3.2-jeffs-hacks)
-X-Rcs-Id: $Id: WabiSabi,v 1.10 2003/05/28 05:12:37 wainstead Exp $
-Content-Type: application/x-phpwiki;
-  pagename=WabiSabi;
-  pgsrc_version="2 $Revision: 1.10 $";
-  flags="";
-  markup=2;
-  charset=iso-8859-1
-Content-Transfer-Encoding: binary
-
-Since wabi-sabi represents a comprehensive Japanese world view or
-aesthetic system, it is difficult to explain precisely in western
-terms.  According to Leonard Koren, wabi-sabi is the most conspicuous
-and characteristic feature of what we think of as traditional Japanese
-beauty and it ''"occupies roughly the same position in the Japanese
-pantheon of aesthetic values as do the Greek ideals of beauty and
-perfection in the West."''
-
-_"Wabi-sabi is a beauty of things imperfect, impermanent, and_
-_incomplete._
-
-_"It is the beauty of things modest and humble._
-
-_"It is the beauty of things unconventional."_
-
-(quoted from "[WABI-SABI: FOR ARTISTS,DESIGNERS, POETS & PHILOSOPHERS | http://www.amazon.com/exec/obidos/tg/detail/-/1880656124/qid=1054098290/sr=1-1/ref=sr_1_1/104-9834820-5562358?v=glance&s=books]," 1994, Leonard Koren)
-
-The concepts of wabi-sabi correlate with the concepts of Zen Buddhism,
-as the first Japanese involved with wabi-sabi were tea masters,
-priests, and monks who practiced Zen. Zen Buddhism originated in
-India, traveled to China in the 6th century, and was first introduced
-in Japan around the 12th century. Zen emphasizes ''"direct, intuitive
-insight into transcendental truth beyond all intellectual
-conception."'' At the core of wabi- sabi is the importance of
-transcending ways of looking and thinking about things/existence.
-
-* All things are impermanent
-* All things are imperfect
-* All things are incomplete
-
-
-(also taken from WABI-SABI: FOR ARTISTS,DESIGNERS, POETS & PHILOSOPHERS, 1994, Leonard Koren):
-
-_Material characteristics of wabi-sabi:_
-
-* _suggestion of natural process_
-* _irregular_
-* _intimate_
-* _unpretentious_
-* _earthy_
-* _simple_
-
-
-
-For more about wabi-sabi, see [http://c2.com/cgi/wiki?WabiSabi].
-
-----
-
-PhpWikiDocumentation
diff -ruN 1.3.12p3/pgsrc/WatchPage 1.3.14/pgsrc/WatchPage
--- 1.3.12p3/pgsrc/WatchPage	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/WatchPage	2007-07-01 05:11:27.000000000 -0500
@@ -0,0 +1,12 @@
+Date: Sat, 2 Dec 2006 14:25:30 +0100
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: WatchPage,v 1.2 2007/01/02 13:24:58 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=WatchPage;
+  pgsrc_version="2 $Revision: 1.2 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+<?plugin WatchPage ?>
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/WikiBlog 1.3.14/pgsrc/WikiBlog
--- 1.3.12p3/pgsrc/WikiBlog	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/pgsrc/WikiBlog	2007-07-01 05:11:27.000000000 -0500
@@ -0,0 +1,20 @@
+Date: Sat, 2 Dec 2006 14:25:30 +0100
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: WikiBlog,v 1.1 2007/01/20 11:45:54 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=WikiBlog;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+<?plugin Comment
+  Required actionpage for blogs. You can override a user base here. 
+  The default is the current username.
+  If user=ADMIN_USER and BLOG_DEFAULT_EMPTY_PREFIX=true then the base will be /Blog.
+
+  The most beautiful is copying this page to a new page Blog and have your admin blogs under /Blog only.
+  See the blog theme.
+?>
+<?plugin WikiBlog user='' ?>
\ No newline at end of file
diff -ruN 1.3.12p3/pgsrc/WikiBlogPlugin 1.3.14/pgsrc/WikiBlogPlugin
--- 1.3.12p3/pgsrc/WikiBlogPlugin	2006-06-18 06:19:45.000000000 -0500
+++ 1.3.14/pgsrc/WikiBlogPlugin	1969-12-31 18:00:00.000000000 -0600
@@ -1,19 +0,0 @@
-Date: Sun, 4 Jul 2004 01:31:02 -0700
-Mime-Version: 1.0 (Produced by PhpWiki 1.3.7)
-X-Rcs-Id: $Id: WikiBlogPlugin,v 1.5 2004/07/04 08:44:08 rurban Exp $
-Content-Type: application/x-phpwiki;
-  pagename=WikiBlogPlugin;
-  pgsrc_version="2 $Revision: 1.5 $";
-  flags="";
-  markup=2;
-  charset=iso-8859-1
-Content-Transfer-Encoding: binary
-
-This simple plugin allows blog-style entries on a page. Try making a few entries, and then look at RecentChanges to get an idea of how things work.
-
-<?plugin WikiBlog ?>
-
-
--------------
-
-PhpWikiDocumentation WikiPlugin
diff -ruN 1.3.12p3/pgsrc/WikiPlugin 1.3.14/pgsrc/WikiPlugin
--- 1.3.12p3/pgsrc/WikiPlugin	2006-06-18 06:19:45.000000000 -0500
+++ 1.3.14/pgsrc/WikiPlugin	1969-12-31 18:00:00.000000000 -0600
@@ -1,184 +0,0 @@
-Date: Sun, 19 Feb 2006 02:20:43 -0800
-Mime-Version: 1.0 (Produced by PhpWiki 1.3.12)
-X-Rcs-Id: $Id: WikiPlugin,v 1.12 2004/12/06 19:53:23 rurban Exp $
-Content-Type: application/x-phpwiki;
-  pagename=WikiPlugin;
-  pgsrc_version="2 $Revision: 1.12 $";
-  flags="";
-  markup=2;
-  charset=iso-8859-1
-Content-Transfer-Encoding: binary
-
-Since PhpWiki-1.3.3 support for ~WikiPlugins is included.
-
-A plugin is some PHP code that
-
-* lives in =phpwiki/lib/plugin/<pluginname>.php=
-* implements the ~WikiPlugin interface by extending that class.
-
-There are many plugins already distributed with PhpWiki. Simply look in the =lib/plugin=
-directory or see the PluginManager list.
-
-To write your own, look at the HelloWorldPlugin (~HelloWorld.php in that directory), 
-which is a minimal example of a plugin.
-Publish your self-written plugin at a new PhpWiki page with ~PluginName + *Plugin* appended 
-and add a link to [CategoryContributedPlugin | PhpWiki:CategoryContributedPlugin].
-
-A WikiPlugin allows one to easily add new types of dynamic content 
-(as well as other functionality) to wiki pages within PhpWiki.
-In this very wiki all actions which are not entirely lowercased
-are implemented using plugins, and some lowercased convenience actions also. (rename, revert, setacl, diff, ...)
-
-(The old-style [MagicPhpWikiURLs] have been replaced by plugins entirely.)
-
-!!!Example
-
-Currently, one invokes a plugin by putting something like:
-
-<verbatim>
-<?plugin AllPages limit=5?>
-</verbatim>
-
-into a regular wiki-page.  That particular example produces a list of
-the first 5 existing pages (via the ~PageList library).
-
-<?plugin AllPages limit=5 ?>
-
-!!!Details
-
-Plugins can take certain named arguments (most do).  The values of
-these arguments can be determined four different ways.  In order of
-precedence:
-
-# The plugin invocation can specify the value for an argument, like so:
-  <verbatim>
-  <?plugin BackLinks page=OtherPage ?>
-  </verbatim>
-
-# The argument can be specified via an HTTP query argument.  This
-  doesn't happen (is not allowed) unless the argument is mentioned in
-  the plugin invocation:
-
-  <verbatim>
-  <?plugin BackLinks page ?>
-  </verbatim>
-
-# Default values specified in the plugin invocation:
-
-  <verbatim>
-  <?plugin BackLinks page||=OtherPage ?>
-  </verbatim>
-
-# The plugin must supply default values for each argument it uses.
-  Such default args may be overriden by URL arguments like so: 
-  <verbatim>
-    BackLinks?page=ThisPage&sortby=-mtime
-  </verbatim>
-  (The BackLinks plugin uses the current page as the default value for
-  the ''page'' argument.)
-
-  Most plugins using the ~PageListLibrary inherit their default arguments 
-  from the PhpWiki:PageListLibrary.
-
-!! Standard Arguments
-
-Most plugins display a list of pages, via the ~PageListLibrary.
-~PageList provides automatic support for those arguments.
-
-  info, exclude, author, owner, creator, sortby, limit, paging, cols, azhead,
-  comma, commasep, ordered
-
-  For details see the PhpWiki:PageListLibrary documentation.
-
-*exclude* and *pages* accept a list of pages. Either as comma-seperated list,
-supporting glob-style wildcards, or via the <tt><!plugin-list pluginname ~[args~] !></tt>
-invocation syntax, where pluginname might be any plugin returning a pagelist.
-See PhpWiki:PluginList.
-
-!! Basic Plugin Types
-
-All these plugins derive from the WikiPlugin class extending the run method,
-which returns a object tree of HTML objects, and may react on any
-provided arguments from the ~WikiPage (see the args below) or
-optionally overridden by arguments from the url (GET or POST args), 
-if defined via '||='.
-
-A basic plugin just needs the run() method, and optionally getName, 
-getDescription, getVersion, getDefaultArguments. See the HelloWorldPlugin for a short introduction.
-
-  *plugin* reacts on its arguments and the request and displays arbitrary HTML.
-
-  *plugin-form* is used to display a input type=text box for the default argument *s*.
-
-  *plugin-list* is used as argument to provide a dynamic list of pagenames.
-
-  <verbatim>
-    <?plugin PluginName [args...] ?>
-  </verbatim>
-
-  <verbatim>
-    <?plugin-form PluginName [args...] ?>
-  </verbatim>
-
-  <verbatim>
-    <?plugin PluginName args=<!plugin-list pluginname [args] !> ?>
-  </verbatim>
-
-! The box Method
-
-Themes based on the "sidebar" theme may use the box method of any plugin, which displays a *title* 
-and a condensed *content* in a box.
-
-! ~WikiPluginCached
-
-Plugins deriving from the class ~WikiPluginCached must also define the methods getPluginType(), 
-optionally getExpire(), managesValidators(), and dependent of the getPluginType the methods 
-to display the *possibly cached* result.
-
-  getImage(), getMap() or getHtml(), 
-
-optionally also
-
-  getAlt(), getImageType(), embedMap(), embedImg(), embedObject()
-
-See the config.ini PLUGIN_CACHED_* settings and PhpWiki:WikiPluginCached
-
-!! Action Pages
-
-The term *~ActionPage* refers to a page containing a plugin invocation.
-An *action* is together with the *pagename* argument the a basic PhpWiki argument. 
-It can both be GET or POST actions. Actions are untranslated, always english. 
-Basic (and old) actions are all lowercase, like edit, browse, remove, ...
-Newer actions in PhpWiki:CamelCase are invoked via plugins on their specific action page.
-
-We decoupled actions from plugins via action pages for the following reasons:
-
-# support translated action buttons and customizable action descriptions. 
-# customize standard actions by tuning the plugin invocation arguments. override or add plugin defaults.
-# split simple plugins into multiple actions, like RecentChanges/RecentEdits, MostPopular/LeastPopular, 
-  AllPages/AllPagesCreatedByMe/AllPagesLastEditedByMe/AllPagesOwnedByMe which differ only in one argument.
-
-* Those actions which have buttons or links in the theme or are referenced in the standard pgsrc 
-  pageset require their (possibly localized) actionpages, otherwise the actions will not work.
-* If the localized actionpage is not found the english version is used.
-* If no actionpage is found, it is recommended to do action=upgrade, which imports all missing 
-  and required action pages into the database.
-
-So for a hypothetical new ~MyActionPage plugin ~MyActionPage will invoke the plugin and 
-~MyActionPagePlugin is the the description.
-
-!!! Existing Plugins
-
-See PluginManager for a detailed list. Most plugins should have their own description page with the name 
-*Plugin* appended.
-
-<?plugin BackLinks noheader=1 ?>
-
-!!! Contributed Plugins 
-
-See PhpWiki:CategoryContributedPlugin.
-
-<?plugin Backlinks page=CategoryContributedPlugin ?>
-
------
-PhpWikiDocumentation
diff -ruN 1.3.12p3/PhpWiki.wsdl 1.3.14/PhpWiki.wsdl
--- 1.3.12p3/PhpWiki.wsdl	2006-06-18 06:19:45.000000000 -0500
+++ 1.3.14/PhpWiki.wsdl	2007-07-01 05:11:27.000000000 -0500
@@ -27,6 +27,7 @@
 	<message name="getRevisionResponse">
 		<part name="revision" type="xsd:double"/>
 	</message>
+
 	<message name="getPageMeta">
 		<part name="pagename" type="typens:PageMetadata"/>
 		<part name="credentials" type="typens:Credentials"/>
@@ -58,16 +59,80 @@
 		<part name="query" type="xsd:string"/>
 		<part name="credentials" type="typens:Credentials"/>
 	</message>
+	<message name="getRecentChanges">
+		<part name="limit" type="xsd:int"/>
+		<part name="since" type="xsd:int"/>
+		<part name="include_minor" type="xsd:int"/>
+		<part name="credentials" type="typens:Credentials"/>
+	</message>
+	<message name="listLinks">
+		<part name="pagename" type="xsd:string"/>
+		<part name="credentials" type="typens:Credentials"/>
+	</message>
+	<message name="listPlugins">
+		<part name="credentials" type="typens:Credentials"/>
+	</message>
+	<message name="callPlugin">
+		<part name="pluginname" type="xsd:string"/>
+		<part name="pluginargs" type="xsd:string"/>
+		<part name="credentials" type="typens:Credentials"/>
+	</message>
+	<message name="getPluginSynopsis">
+		<part name="pluginname" type="xsd:string"/>
+		<part name="credentials" type="typens:Credentials"/>
+	</message>
+	<message name="listRelations">
+		<part name="option" type="xsd:int"/>
+		<part name="credentials" type="typens:Credentials"/>
+	</message>
+	<message name="linkSearch">
+		<part name="linktype"  type="xsd:string"/>
+		<part name="search"    type="xsd:string"/>
+		<part name="pages"     type="xsd:string"/>
+		<part name="relation"  type="xsd:string"/>
+		<part name="credentials" type="typens:Credentials"/>
+	</message>
 
 	<message name="PagenameListResponse">
 		<part name="content" type="xsd:PagenameList"/>
 	</message>
+	<message name="RecentChangesResponse">
+		<part name="content" type="xsd:RecentChangesList"/>
+	</message>
+	<message name="StringListResponse">
+		<part name="content" type="xsd:StringList"/>
+	</message>
+	<message name="LinkSearchResponse">
+		<part name="content" type="xsd:RdfTripleList"/>
+	</message>
+	<message name="StringResponse">
+		<part name="content" type="xsd:string"/>
+	</message>
 
         <xsd:complexType name="PagenameList">
-          <xsd:all> 
+            <xsd:all> 
 		<part name="pagename" type="xsd:string"/>
             </xsd:all>
         </xsd:complexType> 
+        <xsd:complexType name="RdfTripleList">
+            <xsd:all> 
+		<part name="pagename" type="xsd:string"/>
+		<part name="relation" type="xsd:string"/>
+		<part name="target"   type="xsd:string"/>
+            </xsd:all>
+        </xsd:complexType> 
+        <xsd:complexType name="StringList">
+            <xsd:all type="xsd:string" /> 
+        </xsd:complexType> 
+        <xsd:complexType name="RecentChangesList">
+            <xsd:all>
+		<part name="pagename"     type="xsd:string"/>
+		<part name="lastModified" type="xsd:int"/>
+		<part name="author"       type="xsd:string"/>
+		<part name="summary"      type="xsd:string"/>
+		<part name="version"      type="xsd:int"/>
+            </xsd:all>
+        </xsd:complexType> 
         <xsd:complexType name="Credentials">
             <xsd:all> 
                 <xsd:element name="username" type="xsd:string"/> 
@@ -113,6 +178,34 @@
 			<input message="tns:doFullTextSearch"/>
 			<output message="tns:PagenameListResponse"/>
 		</operation>
+		<operation name="getRecentChanges">
+			<input message="tns:getRecentChanges"/>
+			<output message="tns:RecentChangesResponse"/>
+		</operation>
+		<operation name="listLinks">
+			<input message="tns:listLinks"/>
+			<output message="tns:PagenameListResponse"/>
+		</operation>
+		<operation name="listPlugins">
+			<input message="tns:listPlugins"/>
+			<output message="tns:StringListResponse"/>
+		</operation>
+		<operation name="callPlugin">
+			<input message="tns:callPlugin"/>
+			<output message="tns:PagenameListResponse"/>
+		</operation>
+		<operation name="getPluginSynopsis">
+			<input message="tns:getPluginSynopsis"/>
+			<output message="tns:StringResponse"/>
+		</operation>
+		<operation name="listRelations">
+			<input message="tns:listRelations"/>
+			<output message="tns:StringListResponse"/>
+		</operation>
+		<operation name="linkSearch">
+			<input message="tns:callPlugin"/>
+			<output message="tns:LinkSearchResponse"/>
+		</operation>
 	</portType>
 
 	<binding name="wikiBinding" type="tns:wikiPortType">
diff -ruN 1.3.12p3/README 1.3.14/README
--- 1.3.12p3/README	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/README	2007-07-01 05:11:27.000000000 -0500
@@ -0,0 +1,37 @@
+PhpWiki is a web application licensed under the GNU Public License, which
+should be included in the same directory as this README. A copy
+can be found at http://www.gnu.org/copyleft/gpl.txt.
+
+See ./INSTALL for installation notes.
+Read ./UPGRADING before upgrading from a previous version of PhpWiki.
+
+Additional docs:
+
+doc/:
+INSTALL.mysql          for using PhpWiki with MySQL
+INSTALL.pgsql          for using PhpWiki with PostgreSQL
+INSTALL.oci8           for using PhpWiki with Oracle
+INSTALL.sqlite         for using PhpWiki with SQLite
+INSTALL.flatfile       for using PhpWiki with flat files, no database
+INSTALL.MacOSX         for using PhpWiki in MacOSX
+README.phpwiki-auth    for using authentication
+README.security        for notes on implementing a more secure PhpWiki
+README.phpwiki-cache   for using cached plugins content (VisualWiki, ...)
+README.coding          for notes on modifying PhpWiki
+README.foaf            for notes on the Friend Of A Friend network
+THEMES                 for notes on customizing themes
+CREDITS
+HISTORY
+
+For a list of current bugs see:
+  https://sourceforge.net/bugs/?group_id=6121
+
+The fastest and out-of-the-box version uses DATABASE_TYPE=dba, 
+a dbm file in the /tmp directory; you may wish a more permanent 
+place for yours, but make sure it's read/writable by your web server!
+
+NOTE: Not all database versions are equal. The MySQL and Postgresql
+implementations have the full set of features; DBM and mSQL are
+missing only a few, and the flat file implementation is solid
+and waiting for your improvement. All are suitable for production.
+
diff -ruN 1.3.12p3/RPC2.php 1.3.14/RPC2.php
--- 1.3.12p3/RPC2.php	2006-06-18 06:19:45.000000000 -0500
+++ 1.3.14/RPC2.php	2007-07-01 05:11:27.000000000 -0500
@@ -1,5 +1,5 @@
 <?php 
-// $Id: RPC2.php,v 1.5 2005/01/21 11:23:58 rurban Exp $
+// $Id: RPC2.php,v 1.7 2007/02/17 14:14:27 rurban Exp $
 /*
  * The guts of this code have been moved to lib/XmlRpcServer.php.
  *
@@ -10,8 +10,8 @@
  */
 
 // Intercept GET requests from confused users.  Only POST is allowed here!
-// There is some indication that $HTTP_SERVER_VARS is deprecated in php > 4.1.0
-// in favour of $_Server, but as far as I know, it still works.
+if (empty($GLOBALS['HTTP_SERVER_VARS']))
+    $GLOBALS['HTTP_SERVER_VARS']  =& $_SERVER;
 if ($HTTP_SERVER_VARS['REQUEST_METHOD'] != "POST")  
 {
     die('This is the address of the XML-RPC interface.' .
@@ -19,7 +19,7 @@
 }
 
 // Constant defined to indicate to phpwiki that it is being accessed via XML-RPC
-define ("WIKI_XMLRPC", "true");
+define ("WIKI_XMLRPC", true);
 
 // Start up the main code
 include_once("index.php");
diff -ruN 1.3.12p3/schemas/.htaccess 1.3.14/schemas/.htaccess
--- 1.3.12p3/schemas/.htaccess	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/schemas/.htaccess	2007-07-01 05:11:27.000000000 -0500
@@ -0,0 +1,3 @@
+# $Id: .htaccess,v 1.2 2001/11/08 16:35:05 dairiki Exp $
+order allow,deny
+Deny from all
diff -ruN 1.3.12p3/schemas/mssql-destroy.sql 1.3.14/schemas/mssql-destroy.sql
--- 1.3.12p3/schemas/mssql-destroy.sql	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/schemas/mssql-destroy.sql	2007-07-01 05:11:27.000000000 -0500
@@ -0,0 +1,17 @@
+-- $Id: mssql-destroy.sql,v 1.3 2005/09/28 19:27:23 rurban Exp $
+
+DROP TABLE page;
+DROP TABLE version;
+DROP TABLE recent;
+DROP TABLE nonempty;
+DROP TABLE link;
+DROP TABLE session;
+
+DROP TABLE pref;
+--DROP TABLE user;
+DROP TABLE member;
+
+-- wikilens theme
+DROP TABLE rating;
+
+DROP TABLE accesslog;
diff -ruN 1.3.12p3/schemas/mssql-initialize.sql 1.3.14/schemas/mssql-initialize.sql
--- 1.3.12p3/schemas/mssql-initialize.sql	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/schemas/mssql-initialize.sql	2007-07-01 05:11:27.000000000 -0500
@@ -0,0 +1,125 @@
+-- $Id: mssql-initialize.sql,v 1.5 2006/12/08 08:04:10 rurban Exp $
+-- UNTESTED!
+
+CREATE TABLE page (
+	id              INT NOT NULL AUTO_INCREMENT,
+        pagename        VARCHAR(100) NOT NULL,
+	hits            INT NOT NULL DEFAULT 0,
+        pagedata        TEXT NOT NULL DEFAULT '',
+	cached_html 	TEXT NOT NULL DEFAULT '',   -- added with 1.3.11
+        PRIMARY KEY (id),
+	UNIQUE (pagename)
+);
+
+CREATE TABLE version (
+	id              INT NOT NULL,
+        version         INT NOT NULL,
+	mtime           INT NOT NULL,
+	minor_edit      TINYINT DEFAULT 0,
+        content         TEXT NOT NULL DEFAULT '',
+        versiondata     TEXT NOT NULL DEFAULT '',
+        PRIMARY KEY (id,version)
+);
+CREATE INDEX version_mtime ON version (mtime);
+
+CREATE TABLE recent (
+	id              INT NOT NULL,
+	latestversion   INT,
+	latestmajor     INT,
+	latestminor     INT,
+        PRIMARY KEY (id)
+);
+
+CREATE TABLE nonempty (
+	id              INT NOT NULL,
+	PRIMARY KEY (id)
+);
+
+CREATE TABLE link (
+	linkfrom        INT NOT NULL,
+        linkto          INT NOT NULL
+);
+CREATE INDEX linkfrom ON link (linkfrom);
+CREATE INDEX linkto ON link (linkto);
+
+CREATE TABLE session (
+    	sess_id 	CHAR(32) NOT NULL DEFAULT '',
+    	sess_data 	BLOB NOT NULL,
+    	sess_date 	INT UNSIGNED NOT NULL,
+    	sess_ip 	CHAR(40) NOT NULL,
+    	PRIMARY KEY (sess_id)
+);
+CREATE INDEX sessdate_index ON session (sess_date);
+CREATE INDEX sessip_index ON session (sess_ip);
+
+-- Optional DB Auth and Prefs
+-- For these tables below the default table prefix must be used 
+-- in the DBAuthParam SQL statements also.
+
+CREATE TABLE pref (
+  	userid 	CHAR(48) NOT NULL,
+  	prefs  	TEXT NULL DEFAULT '',
+  	passwd 	CHAR(48) DEFAULT '',
+	groupname CHAR(48) DEFAULT 'users',
+        PRIMARY KEY (userid)
+);
+
+-- update to 1.3.12: (see lib/upgrade.php)
+-- ALTER TABLE pref ADD passwd 	CHAR(48) BINARY DEFAULT '';
+-- ALTER TABLE pref ADD groupname CHAR(48) BINARY DEFAULT 'users';
+
+-- deprecated since 1.3.12. only useful for seperate databases.
+-- better use the extra pref table where such users can be created easily 
+-- without password.
+--CREATE TABLE user (
+--  	userid 	CHAR(48) NOT NULL,
+--  	passwd 	CHAR(48) DEFAULT '',
+--	prefs  	TEXT NULL DEFAULT '',
+--	groupname CHAR(48) DEFAULT 'users'
+--);
+
+-- Use the member table, if you need it for n:m user-group relations,
+-- and adjust your DBAUTH_AUTH_ SQL statements.
+CREATE TABLE member (
+	userid    CHAR(48) NOT NULL,
+   	groupname CHAR(48) NOT NULL DEFAULT 'users'
+);
+CREATE INDEX member_userid ON member (userid);
+CREATE INDEX member_groupname ON member (groupname);
+
+-- only if you plan to use the wikilens theme
+CREATE TABLE rating (
+        dimension INT(4) NOT NULL,
+        raterpage INT(11) NOT NULL,
+        rateepage INT(11) NOT NULL,
+        ratingvalue FLOAT NOT NULL,
+        rateeversion INT(11) NOT NULL,
+        tstamp TIMESTAMP(14) NOT NULL,
+        PRIMARY KEY (dimension, raterpage, rateepage)
+);
+CREATE INDEX rating_dimension ON rating (dimension);
+CREATE INDEX rating_raterpage ON rating (raterpage);
+CREATE INDEX rating_rateepage ON rating (rateepage);
+
+-- if ACCESS_LOG_SQL > 0
+-- only if you need fast log-analysis (spam prevention, recent referrers)
+-- see http://www.outoforder.cc/projects/apache/mod_log_sql/docs-2.0/#id2756178
+CREATE TABLE accesslog (
+        time_stamp    INT UNSIGNED,
+	remote_host   VARCHAR(100),
+	remote_user   VARCHAR(50),
+        request_method VARCHAR(10),
+	request_line  VARCHAR(255),
+	request_args  VARCHAR(255),
+	request_file  VARCHAR(255),
+	request_uri   VARCHAR(255),
+	request_time  CHAR(28),
+	status 	      SMALLINT UNSIGNED,
+	bytes_sent    SMALLINT UNSIGNED,
+        referer       VARCHAR(255), 
+	agent         VARCHAR(255),
+	request_duration FLOAT
+);
+CREATE INDEX log_time ON accesslog (time_stamp);
+CREATE INDEX log_host ON accesslog (remote_host);
+-- create extra indices on demand (usually referer. see plugin/AccessLogSql)
diff -ruN 1.3.12p3/schemas/mysql-1_3_11.sql 1.3.14/schemas/mysql-1_3_11.sql
--- 1.3.12p3/schemas/mysql-1_3_11.sql	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/schemas/mysql-1_3_11.sql	2007-07-01 05:11:27.000000000 -0500
@@ -0,0 +1,30 @@
+-- $Id: mysql-1_3_11.sql,v 1.5 2005/06/21 05:59:18 rurban Exp $
+-- phpwiki 1.3.11 upgrade from 1.3.10
+
+-- if ACCESS_LOG_SQL > 0
+-- only if you need fast log-analysis (spam prevention, recent referrers)
+-- see http://www.outoforder.cc/projects/apache/mod_log_sql/docs-2.0/#id2756178
+CREATE TABLE accesslog (
+        time_stamp    int unsigned,
+	remote_host   varchar(50),
+	remote_user   varchar(50),
+        request_method varchar(10),
+	request_line  varchar(255),
+	request_args  varchar(255),
+	request_file  varchar(255),
+	request_uri   varchar(255),
+	request_time  char(28),
+	status 	      smallint unsigned,
+	bytes_sent    smallint unsigned,
+        referer       varchar(255), 
+	agent         varchar(255),
+	request_duration float
+);
+CREATE INDEX log_time ON accesslog (time_stamp);
+CREATE INDEX log_host ON accesslog (remote_host);
+
+-- and use ?action=upgrade as WIKI_ADMIN then
+ALTER TABLE page ADD cached_html MEDIUMBLOB;
+
+-- support ipv6
+ALTER TABLE session CHANGE sess_ip sess_ip CHAR(40) NOT NULL;
\ No newline at end of file
diff -ruN 1.3.12p3/schemas/mysql-destroy.sql 1.3.14/schemas/mysql-destroy.sql
--- 1.3.12p3/schemas/mysql-destroy.sql	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/schemas/mysql-destroy.sql	2007-07-01 05:11:27.000000000 -0500
@@ -0,0 +1,17 @@
+-- $Id: mysql-destroy.sql,v 1.2 2005/09/28 19:27:23 rurban Exp $
+
+drop table if exists page;
+drop table if exists version;
+drop table if exists recent;
+drop table if exists nonempty;
+drop table if exists link;
+drop table if exists session;
+
+-- upgrade from 1.3.7:
+
+drop table if exists pref;
+--drop table if exists user;
+drop table if exists member;
+
+-- if you plan to use the wikilens theme
+drop table if exists rating;
diff -ruN 1.3.12p3/schemas/mysql-initialize.sql 1.3.14/schemas/mysql-initialize.sql
--- 1.3.12p3/schemas/mysql-initialize.sql	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/schemas/mysql-initialize.sql	2007-07-01 05:11:27.000000000 -0500
@@ -0,0 +1,148 @@
+-- $Id: mysql-initialize.sql,v 1.14 2007/01/04 16:48:05 rurban Exp $
+
+CREATE TABLE page (
+	id              INT NOT NULL AUTO_INCREMENT,
+-- for mysql => 4.1 define the charset here
+-- this is esp. needed for mysql 4.1.0 up to 4.1.6. 
+-- not yet confirmed, at least since 4.1.8 it's okay with binary.
+--      pagename        VARCHAR(100) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
+-- otherwise use the old syntax to do case-sensitive comparison
+        pagename        VARCHAR(100) BINARY NOT NULL,
+	hits            INT NOT NULL DEFAULT 0,
+        pagedata        MEDIUMTEXT NOT NULL DEFAULT '',
+-- dont add that by hand, better let action=upgrade convert your data
+	cached_html 	MEDIUMBLOB,
+        PRIMARY KEY (id),
+	UNIQUE KEY (pagename)
+);
+
+CREATE TABLE version (
+	id              INT NOT NULL,
+        version         INT NOT NULL,
+	mtime           INT NOT NULL,
+	minor_edit      TINYINT DEFAULT 0,
+        content         MEDIUMTEXT NOT NULL DEFAULT '',
+        versiondata     MEDIUMTEXT NOT NULL DEFAULT '',
+        PRIMARY KEY (id,version),
+	INDEX (mtime)
+);
+
+CREATE TABLE recent (
+	id              INT NOT NULL,
+	latestversion   INT,
+	latestmajor     INT,
+	latestminor     INT,
+        PRIMARY KEY (id)
+);
+
+CREATE TABLE nonempty (
+	id              INT NOT NULL,
+	PRIMARY KEY (id)
+);
+
+CREATE TABLE link (
+	linkfrom        INT NOT NULL,
+        linkto          INT NOT NULL,
+        relation        INT DEFAULT 0,
+	INDEX (linkfrom),
+        INDEX (linkto),
+        INDEX (relation)
+);
+
+CREATE TABLE session (
+    	sess_id 	CHAR(32) NOT NULL DEFAULT '',
+    	sess_data 	BLOB NOT NULL,
+    	sess_date 	INT UNSIGNED NOT NULL,
+    	sess_ip 	CHAR(40) NOT NULL,
+    	PRIMARY KEY (sess_id),
+	INDEX (sess_date)
+);
+
+-- upgrade to 1.3.8: (see lib/upgrade.php)
+-- ALTER TABLE session ADD sess_ip CHAR(15) NOT NULL;
+-- CREATE INDEX sess_date on session (sess_date);
+-- update to 1.3.10: (see lib/upgrade.php)
+-- ALTER TABLE page CHANGE id id INT NOT NULL AUTO_INCREMENT;
+-- update to 1.3.11: (see lib/upgrade.php)
+-- ALTER TABLE page ADD cached_html MEDIUMBLOB;
+-- ALTER TABLE session CHANGE sess_ip sess_ip CHAR(40) NOT NULL;
+
+-- Optional DB Auth and Prefs
+-- For these tables below the default table prefix must be used 
+-- in the DBAuthParam SQL statements also.
+
+CREATE TABLE pref (
+  	userid 	VARCHAR(48) BINARY NOT NULL UNIQUE,
+  	prefs  	TEXT NULL DEFAULT '',
+  	passwd 	VARCHAR(48) BINARY DEFAULT '',
+	groupname VARCHAR(48) BINARY DEFAULT 'users',
+  	PRIMARY KEY (userid)
+);
+
+-- update to 1.3.12: (see lib/upgrade.php)
+
+-- ALTER TABLE pref ADD passwd 	CHAR(48) BINARY DEFAULT '';
+-- ALTER TABLE pref ADD groupname CHAR(48) BINARY DEFAULT 'users';
+
+-- deprecated since 1.3.12. only useful for seperate databases.
+-- better use the extra pref table where such users can be created easily 
+-- without password.
+
+-- CREATE TABLE user (
+--  	userid 	CHAR(48) BINARY NOT NULL UNIQUE,
+--  	passwd 	CHAR(48) BINARY DEFAULT '',
+--	prefs  	TEXT NULL DEFAULT '',
+--	groupname CHAR(48) BINARY DEFAULT 'users',
+--  	PRIMARY KEY (userid)
+-- );
+
+-- Use the member table, if you need it for n:m user-group relations,
+-- and adjust your DBAUTH_AUTH_ SQL statements.
+
+CREATE TABLE member (
+	userid    CHAR(48) BINARY NOT NULL,
+   	groupname CHAR(48) BINARY NOT NULL DEFAULT 'users',
+   	INDEX (userid),
+   	INDEX (groupname)
+);
+
+-- only if you plan to use the wikilens theme
+CREATE TABLE rating (
+        dimension INT(4) NOT NULL,
+        raterpage INT(11) NOT NULL,
+        rateepage INT(11) NOT NULL,
+        ratingvalue FLOAT NOT NULL,
+        rateeversion INT(11) NOT NULL,
+        tstamp TIMESTAMP(14) NOT NULL,
+        PRIMARY KEY (dimension, raterpage, rateepage)
+);
+-- for empty dimensions use extra indices. see lib/wikilens/RatingsDb.php
+CREATE INDEX rating_dimension ON rating (dimension);
+CREATE INDEX rating_raterpage ON rating (raterpage);
+CREATE INDEX rating_rateepage ON rating (rateepage);
+
+-- if ACCESS_LOG_SQL > 0
+-- only if you need fast log-analysis (spam prevention, recent referrers)
+-- see http://www.outoforder.cc/projects/apache/mod_log_sql/docs-2.0/#id2756178
+CREATE TABLE accesslog (
+        time_stamp    INT UNSIGNED,
+	remote_host   VARCHAR(100),
+	remote_user   VARCHAR(50),
+        request_method VARCHAR(10),
+	request_line  VARCHAR(255),
+	request_args  VARCHAR(255),
+	request_file  VARCHAR(255),
+	request_uri   VARCHAR(255),
+	request_time  CHAR(28),
+	status 	      SMALLINT UNSIGNED,
+	bytes_sent    SMALLINT UNSIGNED,
+        referer       VARCHAR(255), 
+	agent         VARCHAR(255),
+	request_duration FLOAT
+);
+CREATE INDEX log_time ON accesslog (time_stamp);
+CREATE INDEX log_host ON accesslog (remote_host);
+-- create extra indices on demand (usually referer. see plugin/AccessLogSql)
+
+-- upgrade to 1.3.13:
+-- ALTER TABLE accesslog CHANGE remote_host VARCHAR(100);
\ No newline at end of file
diff -ruN 1.3.12p3/schemas/oci8-destroy.sql 1.3.14/schemas/oci8-destroy.sql
--- 1.3.12p3/schemas/oci8-destroy.sql	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/schemas/oci8-destroy.sql	2007-07-01 05:11:27.000000000 -0500
@@ -0,0 +1,90 @@
+-- $Id: oci8-destroy.sql,v 1.2 2005/02/27 09:33:05 rurban Exp $
+
+set verify off
+set feedback off
+
+--================================================================
+-- Prefix for table names.
+--
+-- You should set this to the same value you specify for
+-- $DBParams['prefix'] in index.php.
+--
+-- You have to use a prefix, because some phpWiki tablenames are 
+-- Oracle reserved words!
+
+define prefix=phpwiki_
+
+--================================================================
+--
+-- Don't modify below this point unless you know what you are doing.
+--
+--================================================================
+
+--================================================================
+-- Note on Oracle datatypes...
+-- 
+-- Most of the 'NOT NULL' constraints on the character columns have been 
+-- 	dropped since they can contain empty strings which are seen by 
+--	Oracle as NULL.
+-- Oracle CLOBs are used for TEXTs/MEDUIMTEXTs columns.
+
+
+prompt Initializing PhpWiki tables with:
+prompt        prefix =  &prefix
+prompt 
+prompt Expect some 'ORA-00942: table or view does not exist' unless you are
+prompt overwriting existing tables.
+prompt 
+
+define page_tbl=&prefix.page
+define version_tbl=&prefix.version
+define recent_tbl=&prefix.recent
+define nonempty_tbl=&prefix.nonempty
+define link_tbl=&prefix.link
+define session_tbl=&prefix.session
+define pref_tbl=&prefix.pref
+define user_tbl=&prefix.user
+define member_tbl=&prefix.member
+define rating_tbl=&prefix.rating
+define accesslog_tbl=&prefix.accesslog
+
+prompt Dropping &page_tbl
+DROP TABLE &page_tbl;
+
+prompt Dropping &version_tbl
+DROP TABLE &version_tbl;
+
+prompt Dropping &recent_tbl
+DROP TABLE &recent_tbl;
+
+prompt Dropping &nonempty_tbl
+DROP TABLE &nonempty_tbl;
+
+prompt Dropping &link_tbl
+DROP TABLE &link_tbl;
+
+prompt Dropping &session_tbl
+DROP TABLE &session_tbl;
+
+-- Optional DB Auth and Prefs
+-- For these tables below the default table prefix must be used 
+-- in the DBAuthParam SQL statements also.
+
+prompt Dropping &pref_tbl
+DROP TABLE &pref_tbl;
+
+-- better use the extra pref table where such users can be created easily 
+-- without password.
+
+prompt Dropping &user_tbl
+DROP TABLE &user_tbl;
+
+prompt Dropping &member_tbl
+DROP TABLE &member_tbl;
+
+-- if you plan to use the wikilens theme
+prompt Dropping &rating_tbl
+DROP TABLE &rating_tbl;
+
+prompt Dropping &accesslog_tbl
+DROP TABLE &accesslog_tbl;
diff -ruN 1.3.12p3/schemas/oci8-initialize.sql 1.3.14/schemas/oci8-initialize.sql
--- 1.3.12p3/schemas/oci8-initialize.sql	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/schemas/oci8-initialize.sql	2007-07-01 05:11:27.000000000 -0500
@@ -0,0 +1,214 @@
+-- $Id: oci8-initialize.sql,v 1.7 2006/12/23 11:47:40 rurban Exp $
+
+set verify off
+set feedback off
+
+--================================================================
+-- Prefix for table names.
+--
+-- You should set this to the same value you specify for
+-- DATABASE_PREFIX in config.ini
+--
+-- You have to use a prefix, because some phpWiki tablenames are 
+-- Oracle reserved words!
+
+define prefix=phpwiki_
+
+--================================================================
+--
+-- Don't modify below this point unless you know what you are doing.
+--
+--================================================================
+
+--================================================================
+-- Note on Oracle datatypes...
+-- 
+-- Most of the 'NOT NULL' constraints on the character columns have been 
+-- 	dropped since they can contain empty strings which are seen by 
+--	Oracle as NULL.
+-- Oracle CLOBs are used for TEXTs/MEDUIMTEXTs columns.
+
+
+prompt Initializing PhpWiki tables with:
+prompt        prefix =  &prefix
+prompt 
+prompt Expect some 'ORA-00942: table or view does not exist' unless you are
+prompt overwriting existing tables.
+prompt 
+
+define page_tbl=&prefix.page
+define page_id=&prefix.page_id
+define page_nm=&prefix.page_nm
+
+define version_tbl=&prefix.version
+define vers_id=&prefix.vers_id
+define vers_mtime=&prefix.vers_mtime
+
+define recent_tbl=&prefix.recent
+define recent_id=&prefix.recent_id
+
+define nonempty_tbl=&prefix.nonempty
+define nonmt_id=&prefix.nonmt_id
+
+define link_tbl=&prefix.link
+define link_from=&prefix.link_from
+define link_to=&prefix.link_to
+define link_rel=&prefix.link_rel
+
+define session_tbl=&prefix.session
+define sess_id=&prefix.sess_id
+define sess_date=&prefix.sess_date
+define sess_ip=&prefix.sess_ip
+
+define pref_tbl=&prefix.pref
+define pref_id=&prefix.pref_id
+
+--define user_tbl=&prefix.user
+--define user_id=&prefix.user_id
+
+define member_tbl=&prefix.member
+define member_userid=&prefix.member_userid
+define member_groupname=&prefix.member_groupname
+
+define rating_tbl=&prefix.rating
+define rating_id=&prefix.rating_id
+define rating_dimension=&prefix.rating_dimension
+define rating_raterpage=&prefix.rating_raterpage
+define rating_rateepage=&prefix.rating_rateepage
+
+define accesslog_tbl=&prefix.accesslog
+define accesslog_time=&prefix.log_time
+define accesslog_host=&prefix.log_host
+
+prompt Creating &page_tbl
+CREATE TABLE &page_tbl (
+	id		INT NOT NULL,
+        pagename	VARCHAR(100) NOT NULL,
+	hits		INT DEFAULT 0 NOT NULL,
+        pagedata	CLOB DEFAULT '',
+	cached_html 	CLOB DEFAULT '',   -- added with 1.3.11
+	CONSTRAINT &page_id PRIMARY KEY (id),
+	CONSTRAINT &page_nm UNIQUE (pagename)
+);
+
+-- we use 0 <=> global_data to satisfy the relation = 0 constraint
+INSERT INTO &page_tbl VALUES (0,'global_data',0,'','');
+
+prompt Creating &version_tbl
+CREATE TABLE &version_tbl (
+	id		INT NOT NULL,
+        version		INT NOT NULL,
+	mtime		INT NOT NULL,
+	minor_edit	INT DEFAULT 0,
+        content		CLOB DEFAULT '',
+        versiondata	CLOB DEFAULT '',
+	CONSTRAINT &vers_id PRIMARY KEY (id,version)
+);
+CREATE INDEX &vers_mtime ON &version_tbl (mtime);
+
+prompt Creating &recent_tbl
+CREATE TABLE &recent_tbl (
+	id		INT NOT NULL,
+	latestversion	INT,
+	latestmajor	INT,
+	latestminor	INT,
+	CONSTRAINT &recent_id PRIMARY KEY (id)
+);
+
+prompt Creating &nonempty_tbl
+CREATE TABLE &nonempty_tbl (
+	id		INT NOT NULL,
+	CONSTRAINT &nonempty_tbl PRIMARY KEY (id)
+);
+
+prompt Creating &link_tbl
+CREATE TABLE &link_tbl (
+        linkfrom	INT NOT NULL,
+        linkto		INT NOT NULL,
+        relation  	INT 
+);
+CREATE INDEX &link_from ON &link_tbl (linkfrom);
+CREATE INDEX &link_to   ON &link_tbl (linkto);
+CREATE INDEX &link_rel  ON &link_tbl (relation);
+
+prompt Creating &session_tbl
+CREATE TABLE &session_tbl (
+	sess_id 	CHAR(32) DEFAULT '',
+    	sess_data 	CLOB,
+    	sess_date 	INT,
+    	sess_ip 	CHAR(40) NOT NULL,
+	CONSTRAINT &sess_id PRIMARY KEY (sess_id)
+);
+CREATE INDEX &sess_date ON &session_tbl (sess_date);
+CREATE INDEX &sess_ip   ON &session_tbl (sess_ip);
+
+-- Optional DB Auth and Prefs
+-- For these tables below the default table prefix must be used 
+-- in the DBAuthParam SQL statements also.
+
+prompt Creating &pref_tbl
+CREATE TABLE &pref_tbl (
+  	userid 	CHAR(48) NOT NULL,
+  	prefs  	CLOB DEFAULT '',
+	passwd  CHAR(48) DEFAULT '',
+	groupname CHAR(48) DEFAULT 'users',
+	CONSTRAINT &pref_id PRIMARY KEY (userid)
+);
+
+-- better use the extra pref table where such users can be created easily 
+-- without password.
+--prompt Creating &user_tbl
+--CREATE TABLE &user_tbl (
+--  	userid 	CHAR(48) NOT NULL,
+--  	passwd 	CHAR(48) DEFAULT '',
+--	prefs  	CLOB DEFAULT '',
+--	groupname CHAR(48) DEFAULT 'users',
+--  	CONSTRAINT &user_id PRIMARY KEY (userid)
+--);
+
+prompt Creating &member_tbl
+CREATE TABLE &member_tbl (
+	userid    CHAR(48) NOT NULL,
+   	groupname CHAR(48) DEFAULT 'users' NOT NULL
+);
+CREATE INDEX &member_userid ON &member_tbl (userid);
+CREATE INDEX &member_groupname ON &member_tbl (groupname);
+
+-- if you plan to use the wikilens theme
+prompt Creating &rating_tbl
+CREATE TABLE &rating_tbl (
+        dimension NUMBER(4) NOT NULL,
+        raterpage NUMBER(11) NOT NULL,
+        rateepage NUMBER(11) NOT NULL,
+        ratingvalue FLOAT NOT NULL,
+        rateeversion NUMBER(11) NOT NULL,
+        tstamp TIMESTAMP NOT NULL,
+        CONSTRAINT &rating_id PRIMARY KEY (dimension, raterpage, rateepage)
+);
+CREATE INDEX &rating_dimension ON &rating_tbl (dimension);
+CREATE INDEX &rating_raterpage ON &rating_tbl (raterpage);
+CREATE INDEX &rating_rateepage ON &rating_tbl (rateepage);
+
+-- if ACCESS_LOG_SQL > 0
+-- only if you need fast log-analysis (spam prevention, recent referrers)
+-- see http://www.outoforder.cc/projects/apache/mod_log_sql/docs-2.0/#id2756178
+prompt Creating &accesslog_tbl
+CREATE TABLE &accesslog_tbl (
+-- for OCI 9i+ use:   time_stamp TIMESTAMP,
+        time_stamp    DATE,
+	remote_host   VARCHAR2(100),
+	remote_user   VARCHAR2(50),
+        request_method VARCHAR2(10),
+	request_line  VARCHAR2(255),
+	request_args  VARCHAR2(255),
+	request_file  VARCHAR2(255),
+	request_uri   VARCHAR2(255),
+	request_time  VARCHAR2(28),
+	status 	      NUMBER(4),
+	bytes_sent    NUMBER,
+        referer       VARCHAR(255), 
+	agent         VARCHAR(255),
+	request_duration FLOAT
+);
+CREATE INDEX &accesslog_time ON &accesslog_tbl (time_stamp);
+CREATE INDEX &accesslog_host ON &accesslog_tbl (remote_host);
diff -ruN 1.3.12p3/schemas/psql-1_3_12.sql 1.3.14/schemas/psql-1_3_12.sql
--- 1.3.12p3/schemas/psql-1_3_12.sql	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/schemas/psql-1_3_12.sql	2007-07-01 05:11:27.000000000 -0500
@@ -0,0 +1,176 @@
+-- $Id: psql-1_3_12.sql,v 1.5 2006/05/18 06:08:33 rurban Exp $
+
+\set QUIET
+
+-- Init the database with: 
+-- $ /usr/sbin/createdb phpwiki
+-- $ /usr/sbin/createuser -S -R -d phpwiki # (see httpd_user below)
+-- $ /usr/bin/psql phpwiki < /usr/share/postgresql/contrib/tsearch2.sql 
+-- $ /usr/bin/psql phpwiki < psql-initialize.sql
+
+--================================================================
+-- Prefix for table names.
+--
+-- You should set this to the same value you specified for
+-- DATABASE_PREFIX in config.ini
+
+\set prefix 	''
+
+--================================================================
+-- Which postgres user gets access to the tables?
+--
+-- You should set this to the name of the postgres
+-- user who will be accessing the tables.
+-- See DATABASE_DSN in config.ini
+--
+-- Commonly, connections from php are made under
+-- the user name of 'nobody', 'apache' or 'www'.
+
+\set httpd_user	'phpwiki'
+
+--================================================================
+--
+-- Don't modify below this point unless you know what you are doing.
+--
+--================================================================
+
+\set page_tbl 		:prefix 'page'
+\set page_id_seq 	:prefix 'page_id_seq'
+\set page_id_idx 	:prefix 'page_id_idx'
+\set page_name_idx 	:prefix 'page_name_idx'
+
+\set version_tbl 	:prefix 'version'
+\set vers_id_idx 	:prefix 'vers_id_idx'
+\set vers_mtime_idx 	:prefix 'vers_mtime_idx'
+
+\set recent_tbl		:prefix 'recent'
+\set recent_id_idx 	:prefix 'recent_id_idx'
+
+\set nonempty_tbl	:prefix 'nonempty'
+\set nonmt_id_idx 	:prefix 'nonmt_id_idx'
+
+\set link_tbl 		:prefix 'link'
+\set link_from_idx 	:prefix 'link_from_idx'
+\set link_to_idx 	:prefix 'link_to_idx'
+\set relation_idx 	:prefix 'relation_idx'
+
+\set session_tbl 	:prefix 'session'
+\set sess_id_idx 	:prefix 'sess_id_idx'
+\set sess_date_idx 	:prefix 'sess_date_idx'
+\set sess_ip_idx 	:prefix 'sess_ip_idx'
+
+\set pref_tbl 	 	:prefix 'pref'
+\set pref_id_idx 	:prefix 'pref_id_idx'
+--\set user_tbl 	 	:prefix 'users'
+--\set user_id_idx  	:prefix 'users_id_idx'
+\set member_tbl  	:prefix 'member'
+\set member_id_idx  	:prefix 'member_id_idx'
+\set member_group_idx 	:prefix 'member_group_idx'
+
+\set rating_tbl		:prefix 'rating'
+\set rating_id_idx 	:prefix 'rating_id_idx'
+
+\set accesslog_tbl 	:prefix 'accesslog'
+\set accesslog_time_idx :prefix 'log_time_idx'
+\set accesslog_host_idx :prefix 'log_host_idx'
+
+--================================================================
+\echo schema enhancements
+
+ALTER TABLE :page_tbl 
+	ALTER COLUMN id TYPE SERIAL /* PRIMARY KEY */,
+        ALTER COLUMN pagename TYPE VARCHAR(100),
+	ALTER COLUMN pagename SET NOT NULL,
+	ADD UNIQUE(pagename),
+	ADD CHECK (pagename <> '');
+ALTER TABLE :version_tbl
+	ALTER COLUMN id TYPE INT4,
+        ADD FOREIGN KEY (id) REFERENCES :page_tbl ON DELETE CASCADE;
+ALTER TABLE :nonempty_tbl 
+	ALTER COLUMN id TYPE INT4, 
+        ADD FOREIGN KEY (id) REFERENCES :page_tbl ON DELETE CASCADE;
+
+\echo Creating experimental page views (not yet used)
+
+-- nonempty versiondata
+CREATE VIEW existing_page AS
+  SELECT * FROM :page_tbl P INNER JOIN :nonempty_tbl N USING (id);
+
+-- latest page version
+CREATE VIEW curr_page AS
+  SELECT P.id,P.pagename,P.hits,P.pagedata,P.cached_html,
+	 V.version,V.mtime,V.minor_edit,V.content,V.versiondata
+  FROM :page_tbl P 
+    JOIN :version_tbl V USING (id)
+    JOIN :recent_tbl  R ON (V.id=R.id AND V.version=R.latestversion);
+
+ALTER TABLE :link_tbl 
+	ALTER COLUMN linkfrom TYPE INT4,
+	ALTER COLUMN linkto   TYPE INT4,
+	ADD COLUMN   relation INT4 REFERENCES :page_tbl (id) ON DELETE CASCADE,
+        ADD FOREIGN KEY (linkfrom) REFERENCES :page_tbl (id) ON DELETE CASCADE,
+        ADD FOREIGN KEY (linkto)   REFERENCES :page_tbl (id) ON DELETE CASCADE;
+CREATE INDEX :relation_idx ON :link_tbl (relation);
+ALTER TABLE :rating_tbl 
+	ALTER COLUMN raterpage TYPE INT8,
+	ALTER COLUMN rateepage TYPE INT8,
+        ADD FOREIGN KEY (raterpage) REFERENCES :page_tbl (id) ON DELETE CASCADE,
+        ADD FOREIGN KEY (rateepage) REFERENCES :page_tbl (id) ON DELETE CASCADE;
+ALTER TABLE :member_tbl 
+	ALTER COLUMN userid TYPE CHAR(48), 
+	ALTER COLUMN userid SET NOT NULL,
+	ADD FOREIGN KEY (userid) REFERENCES :pref_tbl;
+
+--================================================================
+
+\echo add tsearch2 fulltextsearch extension
+-- Use the tsearch2 fulltextsearch extension: (recommended) 7.4, 8.0, 8.1
+-- At first init it for the database:
+
+-- example of ISpell dictionary
+--   UPDATE pg_ts_dict SET dict_initoption='DictFile="/usr/local/share/ispell/russian.dict",
+--     AffFile ="/usr/local/share/ispell/russian.aff", StopFile="/usr/local/share/ispell/russian.stop"' 
+--     WHERE dict_name='ispell_template';
+-- example of synonym dict
+--   UPDATE pg_ts_dict SET dict_initoption='/usr/local/share/ispell/english.syn' WHERE dict_id=5; 
+
+GRANT SELECT ON pg_ts_dict, pg_ts_parser, pg_ts_cfg, pg_ts_cfgmap TO :httpd_user;
+ALTER TABLE :version_tbl ADD COLUMN idxFTI tsvector;
+UPDATE :version_tbl SET idxFTI=to_tsvector('default', content);
+VACUUM FULL ANALYZE;
+CREATE INDEX idxFTI_idx ON :version_tbl USING gist(idxFTI);
+VACUUM FULL ANALYZE;
+CREATE TRIGGER tsvectorupdate BEFORE UPDATE OR INSERT ON :version_tbl
+       FOR EACH ROW EXECUTE PROCEDURE tsearch2(idxFTI, content);
+
+--================================================================
+
+\echo Initializing stored procedures
+
+CREATE OR REPLACE FUNCTION update_recent (id INT4, version INT4) 
+	RETURNS void AS '
+DELETE FROM recent  WHERE id=$1;
+INSERT INTO recent (id, latestversion, latestmajor, latestminor)
+  SELECT id, MAX(version), MAX(CASE WHEN minor_edit=0  THEN version END), 
+	                   MAX(CASE WHEN minor_edit<>0 THEN version END)
+    FROM version WHERE id=$2 GROUP BY id;
+DELETE FROM nonempty WHERE id=$1;
+INSERT INTO nonempty (id)
+  SELECT recent.id
+    FROM recent, version
+    WHERE recent.id=version.id
+          AND version=latestversion
+          AND content<>''''
+          AND recent.id=$1;
+' LANGUAGE SQL;
+
+CREATE OR REPLACE FUNCTION prepare_rename_page (oldid INT4, newid INT4) 
+        RETURNS void AS '
+DELETE FROM page     WHERE id=$2;
+DELETE FROM version  WHERE id=$2;
+DELETE FROM recent   WHERE id=$2;
+DELETE FROM nonempty WHERE id=$2;
+-- We have to fix all referring tables to the old id
+UPDATE link SET linkfrom=$1 WHERE linkfrom=$2;
+UPDATE link SET linkto=$1   WHERE linkto=$2;
+' LANGUAGE sql;
diff -ruN 1.3.12p3/schemas/psql-destroy.sql 1.3.14/schemas/psql-destroy.sql
--- 1.3.12p3/schemas/psql-destroy.sql	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/schemas/psql-destroy.sql	2007-07-01 05:11:27.000000000 -0500
@@ -0,0 +1,92 @@
+-- $Id: psql-destroy.sql,v 1.11 2006/12/23 11:48:58 rurban Exp $
+
+\set QUIET
+
+--================================================================
+-- Prefix for table names.
+--
+-- You should set this to the same value you specify for
+-- DATABASE_PREFIX in config/config.ini
+
+\set prefix 	''
+
+--================================================================
+--
+-- Don't modify below this point unless you know what you are doing.
+--
+--================================================================
+
+\set qprefix '\'' :prefix '\''
+\echo Dropping all PhpWiki tables with:
+\echo '       prefix = ' :qprefix
+\echo
+
+\set page_tbl		:prefix 'page'
+\set page_id_seq 	:prefix 'page_id_seq'
+\set version_tbl	:prefix 'version'
+\set recent_tbl		:prefix 'recent'
+\set nonempty_tbl	:prefix 'nonempty'
+\set link_tbl		:prefix 'link'
+\set session_tbl	:prefix 'session'
+\set pref_tbl		:prefix 'pref'
+--\set user_tbl	        :prefix 'user'
+\set member_tbl 	:prefix 'member'
+\set rating_tbl		:prefix 'rating'
+\set accesslog_tbl	:prefix 'accesslog'
+
+\set pagedata_tbl 	:prefix 'pagedata'
+\set versiondata_tbl 	:prefix 'versiondata'
+\set pageperm_tbl 	:prefix 'pageperm'
+\set existing_page_view :prefix 'existing_page'
+\set curr_page_view	:prefix 'curr_page'
+\set update_recent_fn	:prefix 'update_recent'
+\set prepare_rename_fn	:prefix 'prepare_rename_page'
+
+\echo Dropping table :version_tbl
+DROP TABLE :version_tbl CASCADE;
+
+\echo Dropping table :recent_tbl
+DROP TABLE :recent_tbl CASCADE;
+
+\echo Dropping table :nonempty_tbl
+DROP TABLE :nonempty_tbl CASCADE;
+
+\echo Dropping experimental pagedata tables (not yet used)
+DROP TABLE :pagedata_tbl CASCADE;
+DROP TABLE :versiondata_tbl CASCADE;
+DROP TABLE :pageperm_tbl CASCADE;
+
+\echo Dropping table :link_tbl
+DROP TABLE :link_tbl;
+
+\echo Dropping table :rating_tbl
+DROP TABLE :rating_tbl;
+
+\echo Dropping view :existing_page
+DROP VIEW :existing_page_view;
+
+\echo Dropping view :curr_page
+DROP VIEW :curr_page_view;
+
+\echo Dropping table :page_tbl
+DROP TABLE :page_tbl CASCADE;
+\echo Dropping :page_id_seq only needed for postgresql < 7.2
+
+\echo Dropping table :member_tbl
+DROP TABLE :member_tbl;
+
+\echo Dropping table :pref_tbl
+DROP TABLE :pref_tbl;
+
+--\echo Dropping table :user_tbl
+--DROP TABLE :user_tbl;
+
+\echo Dropping table :session_tbl
+DROP TABLE :session_tbl;
+
+\echo Dropping table :accesslog_tbl
+DROP TABLE :accesslog_tbl;
+
+\echo Dropping stored procedures
+DROP FUNCTION :update_recent_fn (INT4, INT4);
+DROP FUNCTION :prepare_rename_fn (INT4, INT4);
diff -ruN 1.3.12p3/schemas/psql-initialize.sql 1.3.14/schemas/psql-initialize.sql
--- 1.3.12p3/schemas/psql-initialize.sql	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/schemas/psql-initialize.sql	2007-07-01 05:11:27.000000000 -0500
@@ -0,0 +1,358 @@
+-- $Id: psql-initialize.sql,v 1.16 2006/12/23 13:04:56 rurban Exp $
+
+\set QUIET
+
+--================================================================
+-- Prefix for table names.
+--
+-- You should set this to the same value you specify for
+-- DATABASE_PREFIX in config/config.ini
+
+\set prefix 	''
+
+--================================================================
+-- Which postgres user gets access to the tables?
+--
+-- You should set this to the name of the postgres
+-- user who will be accessing the tables.
+-- See DATABASE_DSN in config.ini
+--
+-- NOTE: To be able to vacuum the tables from ordinary page requests
+--       :httpd_user must be the table owner.
+--       To run autovacuum and disable page requests vacuums edit the 
+--       pqsql backend optimize method in lib/WikiDB/backend/*_psql.php
+--
+-- Commonly, connections from php are made under
+-- the user name of 'nobody', 'apache' or 'www'.
+
+\set httpd_user	'wikiuser'
+
+--================================================================
+--
+-- Don't modify below this point unless you know what you are doing.
+--
+--================================================================
+
+\set qprefix '\'' :prefix '\''
+\set qhttp_user '\'' :httpd_user '\''
+
+\echo At first init the database with: 
+\echo '$ createdb phpwiki'
+\echo '$ createuser -S -R -d ' :qhttp_user
+\echo '$ psql -U ' :qhttp_user ' phpwiki < /usr/share/postgresql/contrib/tsearch2.sql'
+\echo '$ psql -U ' :qhttp_user ' phpwiki < psql-initialize.sql'
+
+\echo Initializing PhpWiki tables with:
+\echo '       prefix = ' :qprefix
+\echo '   httpd_user = ' :qhttp_user
+\echo
+\echo 'Expect some \'NOTICE:  CREATE ... will create implicit sequence/index ...\' messages '
+
+\set page_tbl 		:prefix 'page'
+\set page_id_seq 	:prefix 'page_id_seq'
+\set page_id_idx 	:prefix 'page_id_idx'
+\set page_name_idx 	:prefix 'page_name_idx'
+
+\set version_tbl 	:prefix 'version'
+\set vers_id_idx 	:prefix 'vers_id_idx'
+\set vers_mtime_idx 	:prefix 'vers_mtime_idx'
+
+\set recent_tbl  	:prefix 'recent'
+\set recent_id_idx 	:prefix 'recent_id_idx'
+\set recent_lv_idx 	:prefix 'recent_lv_idx'
+
+\set nonempty_tbl 	:prefix 'nonempty'
+\set nonmt_id_idx 	:prefix 'nonmt_id_idx'
+
+\set link_tbl  		:prefix 'link'
+\set link_from_idx 	:prefix 'link_from_idx'
+\set link_to_idx 	:prefix 'link_to_idx'
+\set relation_idx 	:prefix 'relation_idx'
+
+\set pagedata_tbl 	:prefix 'pagedata'
+\set pagedata_id_idx 	:prefix 'pagedata_id_idx'
+\set versiondata_tbl 	:prefix 'versiondata'
+\set pageperm_tbl 	:prefix 'pageperm'
+\set pageperm_id_idx	:prefix 'pageperm_id_idx'
+\set pageperm_access_idx :prefix 'pageperm_access_idx'
+\set existing_page_view :prefix 'existing_page'
+\set curr_page_view	:prefix 'curr_page'
+
+\set session_tbl 	:prefix 'session'
+\set sess_id_idx 	:prefix 'sess_id_idx'
+\set sess_date_idx 	:prefix 'sess_date_idx'
+\set sess_ip_idx 	:prefix 'sess_ip_idx'
+
+\set pref_tbl 	 	:prefix 'pref'
+\set pref_id_idx 	:prefix 'pref_id_idx'
+--\set user_tbl 	 	:prefix 'users'
+--\set user_id_idx  	:prefix 'users_id_idx'
+\set member_tbl  	:prefix 'member'
+\set member_id_idx  	:prefix 'member_id_idx'
+\set member_group_idx 	:prefix 'member_group_idx'
+
+\set rating_tbl		:prefix 'rating'
+\set rating_id_idx 	:prefix 'rating_id_idx'
+
+\set accesslog_tbl 	:prefix 'accesslog'
+\set accesslog_time_idx :prefix 'log_time_idx'
+\set accesslog_host_idx :prefix 'log_host_idx'
+
+\set update_recent_fn	:prefix 'update_recent'
+\set prepare_rename_fn	:prefix 'prepare_rename_page'
+
+\echo Creating :page_tbl
+CREATE TABLE :page_tbl (
+	id 		SERIAL PRIMARY KEY,
+        pagename 	VARCHAR(100) NOT NULL UNIQUE CHECK (pagename <> ''),
+	hits 		INT4 NOT NULL DEFAULT 0,
+        pagedata 	TEXT NOT NULL DEFAULT '',
+	cached_html  	bytea DEFAULT ''
+);
+-- CREATE UNIQUE INDEX :page_id_idx ON :page_tbl (id);
+-- CREATE UNIQUE INDEX :page_name_idx ON :page_tbl (pagename);
+
+-- we use 0 <=> global_data to satisfy the relation = 0 constraint
+INSERT INTO :page_tbl VALUES (0,'global_data',0,'','');
+
+\echo Creating :version_tbl
+CREATE TABLE :version_tbl (
+	id		INT4 REFERENCES :page_tbl,
+        version		INT4 NOT NULL,
+	mtime		INT4 NOT NULL,
+-- FIXME: should use boolean, but that returns 't' or 'f'. not 0 or 1. 
+	minor_edit	INT2 DEFAULT 0,
+-- use bytea instead?
+        content		TEXT NOT NULL DEFAULT '',
+        versiondata	TEXT NOT NULL DEFAULT ''
+);
+CREATE UNIQUE INDEX :vers_id_idx ON :version_tbl (id, version);
+CREATE INDEX :vers_mtime_idx ON :version_tbl (mtime);
+-- deletion order: version, recent, nonempty
+
+\echo Creating :recent_tbl
+CREATE TABLE :recent_tbl (
+	id		INT4 REFERENCES :page_tbl,
+	latestversion	INT4, 
+	latestmajor	INT4,
+	latestminor	INT4,
+	FOREIGN KEY (id, latestversion) REFERENCES :version_tbl (id, version),
+	CHECK (latestminor >= latestmajor)
+);
+CREATE UNIQUE INDEX :recent_id_idx ON :recent_tbl (id);
+CREATE INDEX :recent_lv_idx ON :recent_tbl (latestversion);
+
+\echo Creating :nonempty_tbl
+CREATE TABLE :nonempty_tbl (
+	id		INT4 NOT NULL REFERENCES :page_tbl
+);
+CREATE UNIQUE INDEX :nonmt_id_idx ON :nonempty_tbl (id);
+
+\echo Creating experimental pagedata (not yet used)
+CREATE TABLE :pagedata_tbl (
+	id	INT4 NOT NULL REFERENCES :page_tbl,
+	date    INT4,
+	locked  BOOLEAN,
+        rest	TEXT NOT NULL DEFAULT ''
+);
+CREATE INDEX :pagedata_id_idx ON pagedata (id);
+
+\echo Creating experimental versiondata (not yet used)
+CREATE TABLE :versiondata_tbl (
+	id	  INT4 NOT NULL,
+	version	  INT4 NOT NULL,
+	markup    INT2 DEFAULT 2, 
+	author    VARCHAR(48), 
+	author_id VARCHAR(48), 
+	pagetype  VARCHAR(20) DEFAULT 'wikitext', 
+        rest	  TEXT NOT NULL DEFAULT '',
+	FOREIGN KEY (id, version) REFERENCES :version_tbl (id, version)
+);
+\echo Creating experimental pageperm (not yet used)
+CREATE TABLE :pageperm_tbl (
+	id	 INT4 NOT NULL REFERENCES :page_tbl(id),
+        -- view,edit,create,list,remove,change,dump
+	access   CHAR(12) NOT NULL, 
+	groupname VARCHAR(48),
+	allowed  BOOLEAN
+);
+CREATE INDEX :pageperm_id_idx ON pageperm (id);
+CREATE INDEX :pageperm_access_idx ON pageperm (access);
+
+\echo Creating experimental page views (not yet used)
+
+-- nonempty versiondata
+CREATE VIEW :existing_page_view AS
+  SELECT * FROM :page_tbl P INNER JOIN :nonempty_tbl N USING (id);
+
+-- latest page version
+CREATE VIEW :curr_page_view AS
+  SELECT P.id,P.pagename,P.hits,P.pagedata,P.cached_html,
+	 V.version,V.mtime,V.minor_edit,V.content,V.versiondata
+  FROM :page_tbl P 
+    JOIN :version_tbl V USING (id)
+    JOIN :recent_tbl  R ON (V.id=R.id AND V.version=R.latestversion);
+
+\echo Creating :link_tbl
+CREATE TABLE :link_tbl (
+        linkfrom  INT4 NOT NULL REFERENCES :page_tbl,
+        linkto 	  INT4 NOT NULL REFERENCES :page_tbl,
+        relation  INT4
+);
+CREATE INDEX :link_from_idx ON :link_tbl (linkfrom);
+CREATE INDEX :link_to_idx   ON :link_tbl (linkto);
+CREATE INDEX :relation_idx  ON :link_tbl (relation);
+-- update:
+-- ALTER TABLE link DROP CONSTRAINT link_relation_fkey;
+
+-- if you plan to use the wikilens theme
+\echo Creating :rating_tbl
+CREATE TABLE :rating_tbl (
+        dimension    INTEGER NOT NULL,
+        raterpage    INT8 NOT NULL REFERENCES :page_tbl,
+        rateepage    INT8 NOT NULL REFERENCES :page_tbl,
+        ratingvalue  FLOAT NOT NULL,
+        rateeversion INT8 NOT NULL,
+        tstamp       TIMESTAMP NOT NULL
+);
+CREATE UNIQUE INDEX :rating_id_idx ON :rating_tbl (dimension, raterpage, rateepage);
+
+--================================================================
+-- end of page relations
+--================================================================
+
+\echo Creating :session_tbl
+CREATE TABLE :session_tbl (
+	sess_id 	CHAR(32) PRIMARY KEY,
+    	sess_data 	bytea NOT NULL,
+    	sess_date 	INT4,
+    	sess_ip 	CHAR(40) NOT NULL
+);
+-- CREATE UNIQUE INDEX :sess_id_idx ON :session_tbl (sess_id);
+CREATE INDEX :sess_date_idx ON :session_tbl (sess_date);
+CREATE INDEX :sess_ip_idx   ON :session_tbl (sess_ip);
+
+-- Optional DB Auth and Prefs
+-- For these tables below the default table prefix must be used 
+-- in the DBAuthParam SQL statements also.
+
+\echo Creating :pref_tbl
+CREATE TABLE :pref_tbl (
+  	userid 	  CHAR(48) PRIMARY KEY,
+  	prefs  	  TEXT NULL DEFAULT '',
+	passwd    CHAR(48) DEFAULT '',
+	groupname CHAR(48) DEFAULT 'users'
+);
+-- CREATE UNIQUE INDEX :pref_id_idx ON :pref_tbl (userid);
+CREATE INDEX pref_group_idx ON :pref_tbl (groupname);
+
+-- Use the member table, if you need it for n:m user-group relations,
+-- and adjust your DBAUTH_AUTH_ SQL statements.
+CREATE TABLE :member_tbl (
+	userid    CHAR(48) NOT NULL REFERENCES :pref_tbl, 
+	groupname CHAR(48) NOT NULL DEFAULT 'users'
+);
+CREATE INDEX :member_id_idx    ON :member_tbl (userid);
+CREATE INDEX :member_group_idx ON :member_tbl (groupname);
+
+-- if ACCESS_LOG_SQL > 0
+-- only if you need fast log-analysis (spam prevention, recent referrers)
+-- see http://www.outoforder.cc/projects/apache/mod_log_sql/docs-2.0/#id2756178
+\echo Creating :accesslog_tbl
+CREATE TABLE :accesslog_tbl (
+        time_stamp       INT,
+	remote_host      VARCHAR(100),
+	remote_user      VARCHAR(50),
+        request_method   VARCHAR(10),
+	request_line     VARCHAR(255),
+	request_args     VARCHAR(255),
+	request_file     VARCHAR(255),
+	request_uri      VARCHAR(255),
+	request_time     CHAR(28),
+	status 	         INT2,
+	bytes_sent       INT4,
+        referer          VARCHAR(255), 
+	agent            VARCHAR(255),
+	request_duration FLOAT
+);
+CREATE INDEX :accesslog_time_idx ON :accesslog_tbl (time_stamp);
+CREATE INDEX :accesslog_host_idx ON :accesslog_tbl (remote_host);
+-- create extra indices on demand (usually referer. see plugin/AccessLogSql)
+
+--================================================================
+
+-- Use the tsearch2 fulltextsearch extension: (recommended) 7.4, 8.0, 8.1
+-- at first init it for the database:
+-- $ psql phpwiki < /usr/share/postgresql/contrib/tsearch2.sql 
+
+-- example of ISpell dictionary
+--   UPDATE pg_ts_dict SET dict_initoption='DictFile="/usr/local/share/ispell/russian.dict" ,AffFile ="/usr/local/share/ispell/russian.aff", StopFile="/usr/local/share/ispell/russian.stop"' WHERE dict_name='ispell_template';
+-- example of synonym dict
+--   UPDATE pg_ts_dict SET dict_initoption='/usr/local/share/ispell/english.syn' WHERE dict_id=5; 
+
+\echo Initializing tsearch2 indices
+GRANT SELECT ON pg_ts_dict, pg_ts_parser, pg_ts_cfg, pg_ts_cfgmap TO :httpd_user;
+ALTER TABLE :version_tbl ADD COLUMN idxFTI tsvector;
+UPDATE :version_tbl SET idxFTI=to_tsvector('default', content);
+VACUUM FULL ANALYZE;
+CREATE INDEX idxFTI_idx ON :version_tbl USING gist(idxFTI);
+VACUUM FULL ANALYZE;
+CREATE TRIGGER tsvectorupdate BEFORE UPDATE OR INSERT ON :version_tbl
+       FOR EACH ROW EXECUTE PROCEDURE tsearch2(idxFTI, content);
+
+--================================================================
+
+\echo You might want to ignore the following errors or run 
+\echo /usr/sbin/createuser -S -R -d  :httpd_user
+
+\echo Applying permissions for role :httpd_user
+GRANT SELECT,INSERT,UPDATE,DELETE ON :page_tbl		TO :httpd_user;
+GRANT SELECT,INSERT,UPDATE,DELETE ON :version_tbl	TO :httpd_user;
+GRANT SELECT,INSERT,UPDATE,DELETE ON :recent_tbl	TO :httpd_user;
+GRANT SELECT,INSERT,UPDATE,DELETE ON :nonempty_tbl	TO :httpd_user;
+GRANT SELECT,INSERT,UPDATE,DELETE ON :link_tbl		TO :httpd_user;
+
+GRANT SELECT,INSERT,UPDATE,DELETE ON :session_tbl	TO :httpd_user;
+-- you may want to fine tune this:
+GRANT SELECT,INSERT,UPDATE,DELETE ON :pref_tbl		TO :httpd_user;
+-- GRANT SELECT ON :user_tbl				TO :httpd_user;
+GRANT SELECT ON :member_tbl				TO :httpd_user;
+GRANT SELECT,INSERT,UPDATE,DELETE ON :rating_tbl	TO :httpd_user;
+GRANT SELECT,INSERT,UPDATE,DELETE ON :accesslog_tbl	TO :httpd_user;
+
+--================================================================
+-- some stored procedures to put unneccesary syntax into the server
+
+\echo Initializing stored procedures
+
+-- id, version
+CREATE OR REPLACE FUNCTION :update_recent_fn (INT4, INT4) 
+	RETURNS integer AS $$
+DELETE FROM recent WHERE id = $1;
+INSERT INTO recent (id, latestversion, latestmajor, latestminor)
+  SELECT id, MAX(version) AS latestversion, 
+	     MAX(CASE WHEN minor_edit =  0 THEN version END) AS latestmajor, 
+             MAX(CASE WHEN minor_edit <> 0 THEN version END) AS latestminor
+    FROM version WHERE id = $2 GROUP BY id;
+DELETE FROM nonempty WHERE id = $1;
+INSERT INTO nonempty (id) 
+  SELECT recent.id
+    FROM recent, version
+    WHERE recent.id = version.id
+          AND version = latestversion
+          AND content <> ''
+          AND recent.id = $1;
+SELECT id FROM nonempty WHERE id = $1;
+$$ LANGUAGE SQL;
+
+-- oldid, newid
+CREATE OR REPLACE FUNCTION :prepare_rename_fn (INT4, INT4) 
+        RETURNS void AS $$
+DELETE FROM page     WHERE id = $2;
+DELETE FROM version  WHERE id = $2;
+DELETE FROM recent   WHERE id = $2;
+DELETE FROM nonempty WHERE id = $2;
+-- We have to fix all referring tables to the old id
+UPDATE link SET linkfrom = $1 WHERE linkfrom = $2;
+UPDATE link SET linkto = $1   WHERE linkto = $2;
+$$ LANGUAGE SQL;
diff -ruN 1.3.12p3/schemas/psql-tsearch2.sql 1.3.14/schemas/psql-tsearch2.sql
--- 1.3.12p3/schemas/psql-tsearch2.sql	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/schemas/psql-tsearch2.sql	2007-07-01 05:11:27.000000000 -0500
@@ -0,0 +1,35 @@
+-- $Id: psql-tsearch2.sql,v 1.1 2007/01/07 18:51:16 rurban Exp $
+-- use the tsearch2 fulltextsearch extension: (recommended)
+--   7.4, 8.0, 8.1
+-- $ psql phpwiki < /usr/share/postgresql/contrib/tsearch2.sql 
+
+\set QUIET
+\set prefix 	''
+\set httpd_user	'phpwiki'
+
+--example of ISpell dictionary:
+-- UPDATE pg_ts_dict SET dict_initoption='DictFile="/usr/local/share/ispell/russian.dict" ,AffFile ="/usr/local/share/ispell/russian.aff", StopFile="/usr/local/share/ispell/russian.stop"' WHERE dict_name='ispell_template';
+--example of synonym dict:
+-- UPDATE pg_ts_dict SET dict_initoption='/usr/local/share/ispell/english.syn' WHERE dict_id=5; 
+
+--================================================================
+--
+-- Don't modify below this point unless you know what you are doing.
+--
+--================================================================
+
+\set qprefix '\'' :prefix '\''
+\set qhttp_user '\'' :httpd_user '\''
+\echo '       prefix = ' :qprefix
+\echo '   httpd_user = ' :qhttp_user
+
+\set version_tbl 	:prefix 'version'
+
+GRANT SELECT ON pg_ts_dict, pg_ts_parser, pg_ts_cfg, pg_ts_cfgmap TO :httpd_user;
+ALTER TABLE :version_tbl ADD COLUMN idxFTI tsvector;
+UPDATE :version_tbl SET idxFTI=to_tsvector('default', content);
+VACUUM FULL ANALYZE;
+CREATE INDEX idxFTI_idx ON :version_tbl USING gist(idxFTI);
+VACUUM FULL ANALYZE;
+CREATE TRIGGER tsvectorupdate BEFORE UPDATE OR INSERT ON :version_tbl
+   FOR EACH ROW EXECUTE PROCEDURE tsearch2(idxFTI, content);
diff -ruN 1.3.12p3/schemas/README.txt 1.3.14/schemas/README.txt
--- 1.3.12p3/schemas/README.txt	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/schemas/README.txt	2007-07-01 05:11:27.000000000 -0500
@@ -0,0 +1,16 @@
+These files are used to initialize the database tables for a Wiki.
+First create the database using the database commands suitable for
+your DBMS. See doc/INSTALL.<DBMS>
+
+At first check the appropriate <DBMS>-{initialize|destroy}.sql for
+your configured DATABASE_PREFIX. The default is an empty
+prefix. A prefix is only needed for multiple wiki's on the same database.
+
+Then run the appropriate <DBMS>-initialize.sql to initialize your database.
+
+If you have a database you have been using you should destroy it first
+with the appropriate <DBMS>-destroy.sql file.
+
+The separation of files into "initialize" and "destroy" is intended
+to give some small measure of additional protection against
+accidentally destroying a live database, but BE CAREFUL.
diff -ruN 1.3.12p3/schemas/sqlite-destroy.sql 1.3.14/schemas/sqlite-destroy.sql
--- 1.3.12p3/schemas/sqlite-destroy.sql	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/schemas/sqlite-destroy.sql	2007-07-01 05:11:27.000000000 -0500
@@ -0,0 +1,14 @@
+-- http://www.hezmatt.org/~mpalmer/sqlite-phpwiki/sqlite.sql
+
+-- $Id: sqlite-destroy.sql,v 1.3 2005/09/28 19:27:23 rurban Exp $
+
+DROP TABLE page;
+DROP TABLE version;
+DROP TABLE recent;
+DROP TABLE nonempty;
+DROP TABLE link;
+DROP TABLE session;
+DROP TABLE pref;
+DROP TABLE member;
+DROP TABLE rating;
+DROP TABLE accesslog;
diff -ruN 1.3.12p3/schemas/sqlite-initialize.sql 1.3.14/schemas/sqlite-initialize.sql
--- 1.3.12p3/schemas/sqlite-initialize.sql	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/schemas/sqlite-initialize.sql	2007-07-01 05:11:27.000000000 -0500
@@ -0,0 +1,109 @@
+-- http://www.hezmatt.org/~mpalmer/sqlite-phpwiki/sqlite.sql
+
+-- $Id: sqlite-initialize.sql,v 1.6 2006/12/08 08:04:10 rurban Exp $
+
+CREATE TABLE page (
+	id              INTEGER PRIMARY KEY,
+	pagename        VARCHAR(100) NOT NULL,
+	hits            INTEGER NOT NULL DEFAULT 0,
+	pagedata        MEDIUMTEXT NOT NULL DEFAULT '',
+	cached_html 	MEDIUMTEXT               -- added with 1.3.11
+);
+CREATE UNIQUE INDEX page_index ON page (pagename);
+
+CREATE TABLE version (
+	id              INTEGER NOT NULL,
+	version         INTEGER NOT NULL,
+	mtime           INTEGER NOT NULL,
+	minor_edit      TINYINTEGER DEFAULT 0,
+	content         MEDIUMTEXT NOT NULL DEFAULT '',
+	versiondata     MEDIUMTEXT NOT NULL DEFAULT '',
+	PRIMARY KEY (id,version)
+);
+CREATE INDEX version_index ON version (mtime);
+
+CREATE TABLE recent (
+	id              INTEGER NOT NULL PRIMARY KEY,
+	latestversion   INTEGER,
+	latestmajor     INTEGER,
+	latestminor     INTEGER
+);
+
+CREATE TABLE nonempty (
+	id              INTEGER NOT NULL
+);
+CREATE INDEX nonempty_index ON nonempty (id);
+
+CREATE TABLE link (
+	linkfrom        INTEGER NOT NULL,
+	linkto          INTEGER NOT NULL
+);
+CREATE INDEX linkfrom_index ON link (linkfrom);
+CREATE INDEX linkto_index ON link (linkto);
+
+CREATE TABLE session (
+	sess_id   CHAR(32) NOT NULL DEFAULT '' PRIMARY KEY,
+	sess_data MEDIUMTEXT NOT NULL,
+	sess_date INTEGER UNSIGNED NOT NULL,
+	sess_ip   CHAR(40) NOT NULL
+);
+CREATE INDEX sessdate_index ON session (sess_date);
+CREATE INDEX sessip_index ON session (sess_ip);
+
+-- Optional DB Auth and Prefs
+-- For these tables below the default table prefix must be used 
+-- in the DBAuthParam SQL statements also.
+
+CREATE TABLE pref (
+  	userid 	CHAR(48) NOT NULL PRIMARY KEY,
+  	prefs  	MEDIUMTEXT NULL DEFAULT '',
+  	passwd 	CHAR(48) DEFAULT '',
+	groupname CHAR(48) DEFAULT 'users',
+);
+
+-- Use the member table, if you need it for n:m user-group relations,
+-- and adjust your DBAUTH_AUTH_ SQL statements.
+CREATE TABLE member (
+	userid    CHAR(48) NOT NULL,
+   	groupname CHAR(48) NOT NULL DEFAULT 'users'
+);
+CREATE INDEX member_userid ON member (userid);
+CREATE INDEX member_groupname ON member (groupname);
+
+-- only if you plan to use the wikilens theme
+CREATE TABLE rating (
+        dimension TINYINTEGER NOT NULL,
+        raterpage INTEGER NOT NULL,
+        rateepage INTEGER NOT NULL,
+        ratingvalue FLOAT NOT NULL,
+        rateeversion INTEGER NOT NULL,
+        tstamp INTEGER UNSIGNED NOT NULL,
+        PRIMARY KEY (dimension, raterpage, rateepage)
+);
+CREATE INDEX rating_dimension ON rating (dimension);
+CREATE INDEX rating_raterpage ON rating (raterpage);
+CREATE INDEX rating_rateepage ON rating (rateepage);
+
+-- if ACCESS_LOG_SQL > 0
+-- only if you need fast log-analysis (spam prevention, recent referrers)
+-- see http://www.outoforder.cc/projects/apache/mod_log_sql/docs-2.0/#id2756178
+CREATE TABLE accesslog (
+        time_stamp    INTEGER UNSIGNED,
+	remote_host   VARCHAR(100),
+	remote_user   VARCHAR(50),
+        request_method VARCHAR(10),
+	request_line  VARCHAR(255),
+	request_args  VARCHAR(255),
+	request_file  VARCHAR(255),
+	request_uri   VARCHAR(255),
+	request_time  CHAR(28),
+	status 	      TINYINTEGER UNSIGNED,
+	bytes_sent    TINYINTEGER UNSIGNED,
+        referer       VARCHAR(255), 
+	agent         VARCHAR(255),
+	request_duration FLOAT
+);
+CREATE INDEX log_time ON accesslog (time_stamp);
+CREATE INDEX log_host ON accesslog (remote_host);
+-- create extra indices on demand (usually referer. see plugin/AccessLogSql)
+
diff -ruN 1.3.12p3/SOAP.php 1.3.14/SOAP.php
--- 1.3.12p3/SOAP.php	2006-06-18 06:19:46.000000000 -0500
+++ 1.3.14/SOAP.php	2007-07-01 05:11:27.000000000 -0500
@@ -15,11 +15,12 @@
  *
  * @author: Reini Urban
  */
-define ("WIKI_SOAP", "true");
+define ("WIKI_SOAP", true);
 
 include_once("./index.php");
 include_once("lib/main.php");
-require_once('lib/nusoap/nusoap.php');
+if (!loadExtension('soap'))
+    require_once('lib/nusoap/nusoap.php');
 
 /*
 // bypass auth and request loop for now.
@@ -62,8 +63,8 @@
     } else {
         $request->_user = new WikiUser($request, $credentials['username']);
     }
-    $request->_user->AuthCheck(array('userid' => $credentials['username'], 'passwd' => $credentials['password']));
-
+    $request->_user->AuthCheck(array('userid' => $credentials['username'], 
+				     'passwd' => $credentials['password']));
     if (! mayAccessPage ($access, $pagename))
         $server->fault(401,'',"no permission");
 }
@@ -77,17 +78,20 @@
 // know the wdsl definitions.
 $server = new soap_server(/* 'PhpWiki.wdsl' */);
 // Now change the server url to ours, because in the wdsl is the original PhpWiki address
-//   <soap:address location="http://phpwiki.sourceforge.net/phpwiki/SOAP.php"/>
+//   <soap:address location="http://phpwiki.sourceforge.net/phpwiki/SOAP.php" />
 //   <soap:operation soapAction="http://phpwiki.sourceforge.net/phpwiki/SOAP.php" />
-/*
+
 $server->ports[$server->currentPort]['location'] = $url;
 $server->bindings[ $server->ports[$server->currentPort]['binding'] ]['endpoint'] = $url;
 $server->soapaction = $url; // soap_transport_http
-*/
 
 $actions = array('getPageContent','getPageRevision','getCurrentRevision',
 	         'getPageMeta','doSavePage','getAllPagenames',
-	         'getBackLinks','doTitleSearch','doFullTextSearch');
+	         'getBackLinks','doTitleSearch','doFullTextSearch',
+		 'getRecentChanges','listLinks','listPlugins',
+		 'getPluginSynopsis','callPlugin','listRelations',
+		 'linkSearch'
+		 );
 foreach ($actions as $action) {
     $server->register($actions);
     $server->operations[$actions]['soapaction'] = $url;
@@ -204,6 +208,147 @@
     return $pages;
 }
 
+// require 'view' access to RecentChanges
+function getRecentChanges($limit=false, $since=false, $include_minor=false, $credentials=false) {
+    global $server;
+    checkCredentials($server,$credentials,'view',_("RecentChanges"));
+    $dbi = WikiDB::open($GLOBALS['DBParams']);
+    $params = array('limit' => $limit, 'since' => $since, 
+		    'include_minor_revisions' => $include_minor);
+    $page_iter = $dbi->mostRecent($params);
+    $pages = array();
+    while ($page = $page_iter->next()) {
+        $pages[] = array('pagename' => $page->getName()
+			 'lastModified' => $page->get('mtime'),
+			 'author'  => $page->get('author'),
+			 'summary' => $page->get('summary'), // added with 1.3.13
+			 'version' => $page->getVersion()
+			 );
+    }
+    return $pages;
+}
+// require 'view' access
+function listLinks($pagename, $credentials=false) {
+    global $server;
+    checkCredentials($server,$credentials,'view',$pagename);
+    $dbi = WikiDB::open($GLOBALS['DBParams']);
+    $page = $dbi->getPage($pagename);
+    $linkiterator = $page->getPageLinks();
+    $links = array();
+    while ($currentpage = $linkiterator->next()) {
+	if ($currentpage->exists())
+	    $links[] = array('pagename' => $currentpage->getName());
+    }
+    return $links;
+}
+function listPlugins($credentials=false) {
+    global $server;
+    checkCredentials($server,$credentials,'change',_("HomePage"));
+    $plugin_dir = 'lib/plugin';
+    if (defined('PHPWIKI_DIR'))
+        $plugin_dir = PHPWIKI_DIR . "/$plugin_dir";
+    $pd = new fileSet($plugin_dir, '*.php');
+    $plugins = $pd->getFiles();
+    unset($pd);
+    sort($plugins);
+    $RetArray = array();
+    if (!empty($plugins)) {
+        require_once("lib/WikiPlugin.php");
+        $w = new WikiPluginLoader;
+        foreach ($plugins as $plugin) {
+            $pluginName = str_replace(".php", "", $plugin);
+            $p = $w->getPlugin($pluginName, false); // second arg?
+            // trap php files which aren't WikiPlugin~s: wikiplugin + wikiplugin_cached only
+            if (strtolower(substr(get_parent_class($p), 0, 10)) == 'wikiplugin') {
+                $RetArray[] = $pluginName;
+            }
+        }
+    }
+    return $RetArray;
+}
+function getPluginSynopsis($pluginname, $credentials=false) {
+    global $server;
+    checkCredentials($server,$credentials,'change',"Help/".$pluginname."Plugin");
+    require_once("lib/WikiPlugin.php");
+    $w = new WikiPluginLoader;
+    $synopsis = '';
+    $p = $w->getPlugin($pluginName, false); // second arg?
+    // trap php files which aren't WikiPlugin~s: wikiplugin + wikiplugin_cached only
+    if (strtolower(substr(get_parent_class($p), 0, 10)) == 'wikiplugin') {
+        $plugin_args = '';
+        $desc = $p->getArgumentsDescription();
+        $src = array("\n",'"',"'",'|','[',']','\\');
+        $replace = array('%0A','%22','%27','%7C','%5B','%5D','%5C');
+        $desc = str_replace("<br />",' ',$desc->asXML());
+        if ($desc)
+            $plugin_args = '\n'.str_replace($src, $replace, $desc);
+        $synopsis = "<?plugin ".$pluginName.$plugin_args."?>"; // args?
+    }
+    return $synopsis;
+}
+// only plugins returning pagelists will return something useful. so omit the html output
+function callPlugin($pluginname, $pluginargs, $credentials=false) {
+    global $server;
+    checkCredentials($server,$credentials,'change',"Help/".$pluginname."Plugin");
+
+    $basepage = '';;
+    require_once("lib/WikiPlugin.php");
+    $w = new WikiPluginLoader;
+    $p = $w->getPlugin($pluginName, false); // second arg?
+    $pagelist = $p->run($dbi, $pluginargs, $request, $basepage);
+    $pages = array();
+    if (is_object($pagelist) and isa($pagelist, 'PageList')) {
+	foreach ($pagelist->pageNames() as $name)
+	    $pages[] = array('pagename' => $name);
+    }
+    return $pages;
+}
+/** 
+ * array listRelations([ Integer option = 1 ])
+ *
+ * Returns an array of all available relation names.
+ *   option: 1 relations only ( with 0 also )
+ *   option: 2 attributes only
+ *   option: 3 both, all names of relations and attributes 
+ *   option: 4 unsorted, this might be added as bitvalue: 7 = 4+3. default: sorted
+ * For some semanticweb autofill methods.
+ *
+ * @author: Reini Urban
+ */
+function listRelations($option = 1, $credentials=false) {
+    global $server;
+    checkCredentials($server,$credentials,'view',_("HomePage"));
+    $also_attributes = $option & 2; 
+    $only_attributes = $option & 2 and !($option & 1); 
+    $sorted = !($option & 4);
+    return $dbh->listRelations($also_attributes,
+			       $only_attributes,
+			       $sorted);
+}
+// some basic semantic search
+function linkSearch($linktype, $search, $pages="*", $relation="*", $credentials=false) {
+    global $server;
+    checkCredentials($server,$credentials,'view',_("HomePage"));
+    $dbi = WikiDB::open($GLOBALS['DBParams']);
+    require_once("lib/TextSearchQuery.php");
+    $pagequery = new TextSearchQuery($pages);
+    $linkquery = new TextSearchQuery($search);
+    if ($linktype == 'relation') {
+	$relquery = new TextSearchQuery($relation);
+	$links = $dbi->_backend->link_search($pagequery, $linkquery, $linktype, $relquery);
+    } elseif ($linktype == 'attribute') { // only numeric search withh attributes!
+	$relquery = new TextSearchQuery($relation);
+	require_once("lib/SemanticWeb.php");
+	// search: "population > 1 million and area < 200 km^2" relation="*" pages="*"
+	$linkquery = new SemanticAttributeSearchQuery($search, $relation);
+	$links = $dbi->_backend->link_search($pagequery, $linkquery, $linktype, $relquery);
+    } else {
+	// we already do have forward and backlinks as SOAP
+	$links = $dbi->_backend->link_search($pagequery, $linkquery, $linktype);
+    }
+    return $links->asArray();
+}
+
 $server->service($GLOBALS['HTTP_RAW_POST_DATA']);
 
 // (c-file-style: "gnu")
@@ -214,4 +359,4 @@
 // c-hanging-comment-ender-p: nil
 // indent-tabs-mode: nil
 // End:   
-?>
\ No newline at end of file
+?>
diff -ruN 1.3.12p3/tests/.htaccess 1.3.14/tests/.htaccess
--- 1.3.12p3/tests/.htaccess	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/tests/.htaccess	2007-07-01 05:11:27.000000000 -0500
@@ -0,0 +1,4 @@
+# $Id: .htaccess,v 1.1 2006/12/23 13:50:06 rurban Exp $
+Order Deny,Allow
+Deny from all
+Allow from localhost 192.168.1.0/24
diff -ruN 1.3.12p3/tests/unit/lib/InlineParserTest.php 1.3.14/tests/unit/lib/InlineParserTest.php
--- 1.3.12p3/tests/unit/lib/InlineParserTest.php	2006-06-18 06:20:05.000000000 -0500
+++ 1.3.14/tests/unit/lib/InlineParserTest.php	2007-07-01 05:11:28.000000000 -0500
@@ -1,15 +1,58 @@
 <?php
-rcs_id('$Id: InlineParserTest.php,v 1.8 2005/11/21 22:16:46 rurban Exp $');
+rcs_id('$Id: InlineParserTest.php,v 1.11 2007/05/30 21:13:56 rurban Exp $');
 
-/* Copyright (C) 2004, Dan Frankowski <dfrankow@cs.umn.edu>
- * testLinks: Reini Urban
+/* Copyright (C) 2004 Dan Frankowski <dfrankow@cs.umn.edu>
+ *           (C) 2006, 2007 Reini Urban <rurban@x-ray.at>
  */
 
 require_once 'lib/InlineParser.php';
 require_once 'PHPUnit.php';
 
 class InlineParserTest extends phpwiki_TestCase {
+	
+    function _tests() {
+        $uplink = getUploadDataPath().'/image.jpg';
+        // last update: 1.3.13
+    	return array(
+	"[label|link]" => 'O:10:"XmlContent":1:{s:8:"_content";a:3:{i:0;s:0:"";i:1;O:15:"Cached_WikiLink":3:{s:5:"_page";s:4:"link";s:6:"_label";s:5:"label";s:9:"_basepage";b:0;}i:2;s:0:"";}}',
+	"[ label | link.jpg ]" => 'O:10:"XmlContent":1:{s:8:"_content";a:3:{i:0;s:0:"";i:1;O:15:"Cached_WikiLink":3:{s:5:"_page";s:8:"link.jpg";s:6:"_label";s:5:"label";s:9:"_basepage";b:0;}i:2;s:0:"";}}',
+	"[ image.jpg | link ]" => 'O:10:"XmlContent":1:{s:8:"_content";a:3:{i:0;s:0:"";i:1;O:15:"Cached_WikiLink":3:{s:5:"_page";s:4:"link";s:6:"_label";O:11:"HtmlElement":4:{s:4:"_tag";s:6:"object";s:5:"_attr";a:5:{s:3:"src";s:0:"";s:3:"alt";s:4:"link";s:5:"title";s:4:"link";s:5:"class";s:12:"inlineobject";s:4:"type";b:0;}s:8:"_content";a:1:{i:0;O:11:"HtmlElement":4:{s:4:"_tag";s:5:"embed";s:5:"_attr";a:5:{s:3:"src";s:0:"";s:3:"alt";s:4:"link";s:5:"title";s:4:"link";s:5:"class";s:12:"inlineobject";s:4:"type";b:0;}s:8:"_content";a:0:{}s:11:"_properties";i:4;}}s:11:"_properties";i:6;}s:9:"_basepage";b:0;}i:2;s:0:"";}}',
+	"[ Upload:image.jpg | link ]" => 'O:10:"XmlContent":1:{s:8:"_content";a:3:{i:0;s:0:"";i:1;O:15:"Cached_WikiLink":3:{s:5:"_page";s:4:"link";s:6:"_label";O:11:"HtmlElement":4:{s:4:"_tag";s:3:"img";s:5:"_attr";a:4:{s:3:"src";s:'.strlen($uplink).':"'.$uplink.'";s:3:"alt";s:4:"link";s:5:"title";s:4:"link";s:5:"class";s:11:"inlineimage";}s:8:"_content";a:0:{}s:11:"_properties";i:7;}s:9:"_basepage";b:0;}i:2;s:0:"";}}',
+	"[ http://server/image.jpg | link ]" => 'O:10:"XmlContent":1:{s:8:"_content";a:3:{i:0;s:0:"";i:1;O:15:"Cached_WikiLink":3:{s:5:"_page";s:4:"link";s:6:"_label";O:11:"HtmlElement":4:{s:4:"_tag";s:3:"img";s:5:"_attr";a:4:{s:3:"src";s:23:"http://server/image.jpg";s:3:"alt";s:4:"link";s:5:"title";s:4:"link";s:5:"class";s:11:"inlineimage";}s:8:"_content";a:0:{}s:11:"_properties";i:7;}s:9:"_basepage";b:0;}i:2;s:0:"";}}',
+	"[ label | http://server/link ]" => 'O:10:"XmlContent":1:{s:8:"_content";a:3:{i:0;s:0:"";i:1;O:19:"Cached_ExternalLink":2:{s:4:"_url";s:18:"http://server/link";s:6:"_label";s:5:"label";}i:2;s:0:"";}}',
+	"[ label | Upload:link ]" => 'O:10:"XmlContent":1:{s:8:"_content";a:3:{i:0;s:0:"";i:1;O:20:"Cached_InterwikiLink":2:{s:5:"_link";s:11:"Upload:link";s:6:"_label";s:5:"label";}i:2;s:0:"";}}',
+	"[ label | phpwiki:action=link ]" => 'O:10:"XmlContent":1:{s:8:"_content";a:3:{i:0;s:0:"";i:1;O:17:"Cached_PhpwikiURL":2:{s:4:"_url";s:19:"phpwiki:action=link";s:6:"_label";s:5:"label";}i:2;s:0:"";}}',
+	"Upload:image.jpg" => 'O:10:"XmlContent":1:{s:8:"_content";a:3:{i:0;s:0:"";i:1;O:20:"Cached_InterwikiLink":1:{s:5:"_link";s:16:"Upload:image.jpg";}i:2;s:0:"";}}',
+	"http://server/image.jpg" => 'O:10:"XmlContent":1:{s:8:"_content";a:3:{i:0;s:0:"";i:1;O:19:"Cached_ExternalLink":1:{s:4:"_url";s:23:"http://server/image.jpg";}i:2;s:0:"";}}',
+	"http://server/link" => 'O:10:"XmlContent":1:{s:8:"_content";a:3:{i:0;s:0:"";i:1;O:19:"Cached_ExternalLink":1:{s:4:"_url";s:18:"http://server/link";}i:2;s:0:"";}}',
+	"[http:/server/~name/]" => 'O:10:"XmlContent":1:{s:8:"_content";a:3:{i:0;s:0:"";i:1;O:19:"Cached_ExternalLink":1:{s:4:"_url";s:18:"http:/server/name/";}i:2;s:0:"";}}',
+	"http:/server/~name/" => 'O:10:"XmlContent":1:{s:8:"_content";a:3:{i:0;s:0:"";i:1;O:19:"Cached_ExternalLink":1:{s:4:"_url";s:18:"http:/server/name/";}i:2;s:0:"";}}',
+	"[label|:link]" => 'O:10:"XmlContent":1:{s:8:"_content";a:3:{i:0;s:0:"";i:1;O:15:"Cached_WikiLink":4:{s:5:"_page";s:4:"link";s:7:"_nolink";b:1;s:6:"_label";s:5:"label";s:9:"_basepage";b:0;}i:2;s:0:"";}}',
+	"[:link]" => 'O:10:"XmlContent":1:{s:8:"_content";a:3:{i:0;s:0:"";i:1;O:15:"Cached_WikiLink":3:{s:5:"_page";s:4:"link";s:7:"_nolink";b:1;s:9:"_basepage";b:0;}i:2;s:0:"";}}',
+	"relation::link" => 'O:10:"XmlContent":1:{s:8:"_content";a:3:{i:0;s:0:"";i:1;O:19:"Cached_SemanticLink":3:{s:4:"_url";s:14:"relation::link";s:9:"_relation";s:8:"relation";s:5:"_page";s:4:"link";}i:2;s:0:"";}}',
+	"[label|relation::link]" => 'O:10:"XmlContent":1:{s:8:"_content";a:3:{i:0;s:0:"";i:1;O:19:"Cached_SemanticLink":4:{s:4:"_url";s:14:"relation::link";s:6:"_label";s:5:"label";s:9:"_relation";s:8:"relation";s:5:"_page";s:4:"link";}i:2;s:0:"";}}',
+	"attribute:=1000" => 'O:10:"XmlContent":1:{s:8:"_content";a:3:{i:0;s:0:"";i:1;O:19:"Cached_SemanticLink":5:{s:4:"_url";s:15:"attribute:=1000";s:9:"_relation";s:9:"attribute";s:10:"_attribute";s:4:"1000";s:15:"_attribute_base";s:4:"1000";s:5:"_unit";s:0:"";}i:2;s:0:"";}}',
+	"attribute:=1,000km" => 'O:10:"XmlContent":1:{s:8:"_content";a:3:{i:0;s:0:"";i:1;O:19:"Cached_SemanticLink":5:{s:4:"_url";s:18:"attribute:=1,000km";s:9:"_relation";s:9:"attribute";s:10:"_attribute";s:7:"1,000km";s:15:"_attribute_base";s:9:"1000000 m";s:5:"_unit";s:1:"m";}i:2;s:0:"";}}',
+	"attribute:=1,000 km" => 'O:10:"XmlContent":1:{s:8:"_content";a:3:{i:0;s:0:"";i:1;O:19:"Cached_SemanticLink":5:{s:4:"_url";s:16:"attribute:=1,000";s:9:"_relation";s:9:"attribute";s:10:"_attribute";s:5:"1,000";s:15:"_attribute_base";s:4:"1000";s:5:"_unit";s:0:"";}i:2;s:3:" km";}}',
+	"[attribute:=1,000 km]" => 'O:10:"XmlContent":1:{s:8:"_content";a:3:{i:0;s:0:"";i:1;O:19:"Cached_SemanticLink":5:{s:4:"_url";s:19:"attribute:=1,000 km";s:9:"_relation";s:9:"attribute";s:10:"_attribute";s:8:"1,000 km";s:15:"_attribute_base";s:9:"1000000 m";s:5:"_unit";s:1:"m";}i:2;s:0:"";}}',
+	"[label|attribute:=1,000 km]" => 'O:10:"XmlContent":1:{s:8:"_content";a:3:{i:0;s:0:"";i:1;O:19:"Cached_SemanticLink":6:{s:4:"_url";s:19:"attribute:=1,000 km";s:6:"_label";s:5:"label";s:9:"_relation";s:9:"attribute";s:10:"_attribute";s:8:"1,000 km";s:15:"_attribute_base";s:9:"1000000 m";s:5:"_unit";s:1:"m";}i:2;s:0:"";}}',
+	"This is a :PageLink" => 'O:10:"XmlContent":1:{s:8:"_content";a:3:{i:0;s:11:"This is a :";i:1;O:15:"Cached_WikiLink":2:{s:5:"_page";s:8:"PageLink";s:9:"_basepage";b:0;}i:2;s:0:"";}}',
+	"This is a ::PageLink" => 'O:10:"XmlContent":1:{s:8:"_content";a:3:{i:0;s:12:"This is a ::";i:1;O:15:"Cached_WikiLink":2:{s:5:"_page";s:8:"PageLink";s:9:"_basepage";b:0;}i:2;s:0:"";}}',
+	"This is a :=PageAttr" => 'O:10:"XmlContent":1:{s:8:"_content";a:3:{i:0;s:12:"This is a :=";i:1;O:15:"Cached_WikiLink":2:{s:5:"_page";s:8:"PageAttr";s:9:"_basepage";b:0;}i:2;s:0:"";}}',
+	"This is :~NoLink" => 'O:10:"XmlContent":1:{s:8:"_content";a:3:{i:0;s:9:"This is :";i:1;s:6:"NoLink";i:2;s:0:"";}}',
+	"This is ::~NoLink" => 'O:10:"XmlContent":1:{s:8:"_content";a:3:{i:0;s:10:"This is ::";i:1;s:6:"NoLink";i:2;s:0:"";}}',
+	"This is :=~NoLink" => 'O:10:"XmlContent":1:{s:8:"_content";a:3:{i:0;s:10:"This is :=";i:1;s:6:"NoLink";i:2;s:0:"";}}');
+    }
 
+    function runTest() {
+	if (substr($this->_name,0,5) == "_test") {
+	    $name = rawurldecode(substr($this->_name,5));
+	    $this->_testLink($name);
+	} else {
+	    call_user_func(array(&$this, $this->_name));
+	}
+    }
+    
     function testNoWikiWords() {
         $str1 = 'This has no wiki words, and is all text.';
         $xmlc1 = TransformInline($str1);
@@ -33,57 +76,23 @@
         $this->assertEquals('.', $c1[2]); 
     }
     
-    function testLinks() {
-        $uplink = 'http://'.(defined('SERVER_NAME')?SERVER_NAME:'').DATA_PATH.'/uploads/image.jpg';
-        $tests = array("[label|link]" => 'O:10:"XmlContent":1:{s:8:"_content";a:3:{i:0;s:0:"";i:1;O:15:"Cached_WikiLink":2:{s:5:"_page";s:4:"link";s:6:"_label";s:5:"label";}i:2;s:0:"";}}',
-                       "[ label | link.jpg ]" => 'O:10:"XmlContent":1:{s:8:"_content";a:3:{i:0;s:0:"";i:1;O:15:"Cached_WikiLink":2:{s:5:"_page";s:8:"link.jpg";s:6:"_label";s:5:"label";}i:2;s:0:"";}}',
-                       "[ image.jpg | link ]" => check_php_version(5)
-				// php5 does not have _content as first HtmlElement property
-/* php4
-TestCase inlineparsertest->testlinks() failed: expected 
-  o:10:"xmlcontent":1:{s:8:"_content";a:3:{i:0;s:0:"";i:1;o:15:"cached_wikilink":2:{s:5:"_page";s:4:"link";s:6:"_label";o:11:"htmlelement":4:{s:8:"_content";a:0:{}s:4:"_tag";s:3:"img";s:5:"_attr";a:3:{s:3:"src";b:0;s:3:"alt";s:4:"link";s:5:"title";s:4:"link";s:5:"class";s:11:"inlineimage";}s:11:"_properties";i:7;}}i:2;s:0:"";}}
-actual 
-  o:10:"xmlcontent":1:{s:8:"_content";a:3:{i:0;s:0:"";i:1;o:15:"cached_wikilink":2:{s:5:"_page";s:4:"link";s:6:"_label";o:11:"htmlelement":4:{s:8:"_content";a:1:{i:0;o:11:"htmlelement":4:{s:8:"_content";a:0:{}s:4:"_tag";s:5:"embed";s:5:"_attr";a:5:{s:3:"src";s:0:"";s:3:"alt";s:4:"link";s:5:"title";s:4:"link";s:5:"class";s:12:"inlineobject";s:4:"type";b:0;}s:11:"_properties";i:4;}}s:4:"_tag";s:6:"object";s:5:"_attr";a:5:{s:3:"src";s:0:"";s:3:"alt";s:4:"link";s:5:"title";s:4:"link";s:5:"class";s:12:"inlineobject";s:4:"type";b:0;}s:11:"_properties";i:6;}}i:2;s:0:"";}}
-TestCase inlineparsertest->testlinks() failed: expected 
-  o:10:"xmlcontent":1:{s:8:"_content";a:3:{i:0;s:0:"";i:1;o:15:"cached_wikilink":2:{s:5:"_page";s:4:"link";s:6:"_label";o:11:"htmlelement":4:{s:8:"_content";a:0:{}s:4:"_tag";s:3:"img";s:5:"_attr";a:3:{s:3:"src";s:42:"http://reini/phpwiki-dev/uploads/image.jpg";s:3:"alt";s:4:"link";s:5:"title";s:4:"link";s:5:"class";s:11:"inlineimage";}s:11:"_properties";i:7;}}i:2;s:0:"";}}
-actual 
-  o:10:"xmlcontent":1:{s:8:"_content";a:3:{i:0;s:0:"";i:1;o:15:"cached_wikilink":2:{s:5:"_page";s:4:"link";s:6:"_label";o:11:"htmlelement":4:{s:8:"_content";a:0:{}s:4:"_tag";s:3:"img";s:5:"_attr";a:4:{s:3:"src";s:42:"http://reini/phpwiki-dev/uploads/image.jpg";s:3:"alt";s:4:"link";s:5:"title";s:4:"link";s:5:"class";s:11:"inlineimage";}s:11:"_properties";i:7;}}i:2;s:0:"";}}
-TestCase inlineparsertest->testlinks() failed: expected 
-  o:10:"xmlcontent":1:{s:8:"_content";a:3:{i:0;s:0:"";i:1;o:15:"cached_wikilink":2:{s:5:"_page";s:4:"link";s:6:"_label";o:11:"htmlelement":4:{s:8:"_content";a:0:{}s:4:"_tag";s:3:"img";s:5:"_attr";a:3:{s:3:"src";s:23:"http://server/image.jpg";s:3:"alt";s:4:"link";s:5:"title";s:4:"link";s:5:"class";s:11:"inlineimage";}s:11:"_properties";i:7;}}i:2;s:0:"";}}
-actual 
-  o:10:"xmlcontent":1:{s:8:"_content";a:3:{i:0;s:0:"";i:1;o:15:"cached_wikilink":2:{s:5:"_page";s:4:"link";s:6:"_label";o:11:"htmlelement":4:{s:8:"_content";a:0:{}s:4:"_tag";s:3:"img";s:5:"_attr";a:4:{s:3:"src";s:23:"http://server/image.jpg";s:3:"alt";s:4:"link";s:5:"title";s:4:"link";s:5:"class";s:11:"inlineimage";}s:11:"_properties";i:7;}}i:2;s:0:"";}}
-*/
-				? 'O:10:"XmlContent":1:{s:8:"_content";a:3:{i:0;s:0:"";i:1;O:15:"Cached_WikiLink":2:{s:5:"_page";s:4:"link";s:6:"_label";O:11:"HtmlElement":4:{s:4:"_tag";s:6:"object";s:5:"_attr";a:5:{s:3:"src";s:0:"";s:3:"alt";s:4:"link";s:5:"title";s:4:"link";s:5:"class";s:12:"inlineobject";s:4:"type";b:0;}s:8:"_content";a:1:{i:0;O:11:"HtmlElement":4:{s:4:"_tag";s:5:"embed";s:5:"_attr";a:5:{s:3:"src";s:0:"";s:3:"alt";s:4:"link";s:5:"title";s:4:"link";s:5:"class";s:12:"inlineobject";s:4:"type";b:0;}s:8:"_content";a:0:{}s:11:"_properties";i:4;}}s:11:"_properties";i:6;}}i:2;s:0:"";}}'
-                       		: 'o:10:"xmlcontent":1:{s:8:"_content";a:3:{i:0;s:0:"";i:1;o:15:"cached_wikilink":2:{s:5:"_page";s:4:"link";s:6:"_label";o:11:"htmlelement":4:{s:8:"_content";a:1:{i:0;o:11:"htmlelement":4:{s:8:"_content";a:0:{}s:4:"_tag";s:5:"embed";s:5:"_attr";a:5:{s:3:"src";s:0:"";s:3:"alt";s:4:"link";s:5:"title";s:4:"link";s:5:"class";s:12:"inlineobject";s:4:"type";b:0;}s:11:"_properties";i:4;}}s:4:"_tag";s:6:"object";s:5:"_attr";a:5:{s:3:"src";s:0:"";s:3:"alt";s:4:"link";s:5:"title";s:4:"link";s:5:"class";s:12:"inlineobject";s:4:"type";b:0;}s:11:"_properties";i:6;}}i:2;s:0:"";}}',
-                       "[ Upload:image.jpg | link ]" => !check_php_version(5) 
-                       	? 'O:10:"XmlContent":1:{s:8:"_content";a:3:{i:0;s:0:"";i:1;O:15:"Cached_WikiLink":2:{s:5:"_page";s:4:"link";s:6:"_label";O:11:"HtmlElement":4:{s:8:"_content";a:0:{}s:4:"_tag";s:3:"img";s:5:"_attr";a:4:{s:3:"src";s:'.strlen($uplink).':"'.$uplink.'";s:3:"alt";s:4:"link";s:5:"title";s:4:"link";s:5:"class";s:11:"inlineimage";}s:11:"_properties";i:7;}}i:2;s:0:"";}}' 
-                       	: 'O:10:"XmlContent":1:{s:8:"_content";a:3:{i:0;s:0:"";i:1;O:15:"Cached_WikiLink":2:{s:5:"_page";s:4:"link";s:6:"_label";O:11:"HtmlElement":4:{s:4:"_tag";s:3:"img";s:5:"_attr";a:4:{s:3:"src";s:'.strlen($uplink).':"'.$uplink.'";s:3:"alt";s:4:"link";s:5:"title";s:4:"link";s:5:"class";s:11:"inlineimage";}s:8:"_content";a:0:{}s:11:"_properties";i:7;}}i:2;s:0:"";}}',
-                       "[ http://server/image.jpg | link ]" => !check_php_version(5) 
-                        ? 'O:10:"XmlContent":1:{s:8:"_content";a:3:{i:0;s:0:"";i:1;O:15:"Cached_WikiLink":2:{s:5:"_page";s:4:"link";s:6:"_label";O:11:"HtmlElement":4:{s:8:"_content";a:0:{}s:4:"_tag";s:3:"img";s:5:"_attr";a:4:{s:3:"src";s:23:"http://server/image.jpg";s:3:"alt";s:4:"link";s:5:"title";s:4:"link";s:5:"class";s:11:"inlineimage";}s:11:"_properties";i:7;}}i:2;s:0:"";}}' 
-                        : 'O:10:"XmlContent":1:{s:8:"_content";a:3:{i:0;s:0:"";i:1;O:15:"Cached_WikiLink":2:{s:5:"_page";s:4:"link";s:6:"_label";O:11:"HtmlElement":4:{s:4:"_tag";s:3:"img";s:5:"_attr";a:4:{s:3:"src";s:23:"http://server/image.jpg";s:3:"alt";s:4:"link";s:5:"title";s:4:"link";s:5:"class";s:11:"inlineimage";}s:8:"_content";a:0:{}s:11:"_properties";i:7;}}i:2;s:0:"";}}',
-                       "[ label | http://server/link ]" => 'O:10:"XmlContent":1:{s:8:"_content";a:3:{i:0;s:0:"";i:1;O:19:"Cached_ExternalLink":2:{s:4:"_url";s:18:"http://server/link";s:6:"_label";s:5:"label";}i:2;s:0:"";}}',
-                       "[ label | Upload:link ]" => 'O:10:"XmlContent":1:{s:8:"_content";a:3:{i:0;s:0:"";i:1;O:20:"Cached_InterwikiLink":2:{s:5:"_link";s:11:"Upload:link";s:6:"_label";s:5:"label";}i:2;s:0:"";}}',
-                       "[ label | phpwiki:action=link ]" => 'O:10:"XmlContent":1:{s:8:"_content";a:3:{i:0;s:0:"";i:1;O:17:"Cached_PhpwikiURL":2:{s:4:"_url";s:19:"phpwiki:action=link";s:6:"_label";s:5:"label";}i:2;s:0:"";}}',
-                       "Upload:image.jpg" => 'O:10:"XmlContent":1:{s:8:"_content";a:3:{i:0;s:0:"";i:1;O:20:"Cached_InterwikiLink":1:{s:5:"_link";s:16:"Upload:image.jpg";}i:2;s:0:"";}}',
-                       "http://server/image.jpg" => 'O:10:"XmlContent":1:{s:8:"_content";a:3:{i:0;s:0:"";i:1;O:19:"Cached_ExternalLink":1:{s:4:"_url";s:23:"http://server/image.jpg";}i:2;s:0:"";}}',
-                       "http://server/link" => 'O:10:"XmlContent":1:{s:8:"_content";a:3:{i:0;s:0:"";i:1;O:19:"Cached_ExternalLink":1:{s:4:"_url";s:18:"http://server/link";}i:2;s:0:"";}}',
-                       "[http:/server/~name/]" => 'O:10:"XmlContent":1:{s:8:"_content";a:3:{i:0;s:0:"";i:1;O:19:"Cached_ExternalLink":1:{s:4:"_url";s:18:"http:/server/name/";}i:2;s:0:"";}}',
-                       "http:/server/~name/" => 'O:10:"XmlContent":1:{s:8:"_content";a:3:{i:0;s:0:"";i:1;O:19:"Cached_ExternalLink":1:{s:4:"_url";s:18:"http:/server/name/";}i:2;s:0:"";}}'
-                       );
-        //$i = 0;
-        foreach ($tests as $wiki => $expected) {
-            //print $i++ . " .. ";
-            $xml = TransformInline($wiki);
-            $this->assertTrue(isa($xml, 'XmlContent'));
-            $actual = serialize($xml);
-            if (!check_php_version(5))  {
-                $expected = strtolower($expected);
-                $actual = strtolower($actual);
-            }
-            $this->assertEquals($expected, $actual);
-        }
+    function _testLink($wiki, $expected = null) {
+        if (is_null($expected)) {
+            $ta = $this->_tests();
+            $expected = $ta[$wiki];
+        }     
+        $xml = TransformInline($wiki);
+        $this->assertTrue(isa($xml, 'XmlContent'));
+        $expectobj = unserialize($expected);
+        /* if (DEBUG & _DEBUG_VERBOSE)
+	   echo "\t\"",$wiki,'" => \'',serialize($xml),"',\n"; flush(); */
+        $this->assertEquals($expectobj, $xml);
     }
-   
+}
+
+foreach (InlineParserTest::_tests() as $wiki => $expected) {
+    $name = "_test".rawurlencode($wiki);
+    $GLOBALS['suite']->addTest(new InlineParserTest($name));
 }
 
 // (c-file-style: "gnu")
@@ -94,4 +103,4 @@
 // c-hanging-comment-ender-p: nil
 // indent-tabs-mode: nil
 // End:   
-?>
\ No newline at end of file
+?>
diff -ruN 1.3.12p3/tests/unit/lib/plugin/IncludePageTest.php 1.3.14/tests/unit/lib/plugin/IncludePageTest.php
--- 1.3.12p3/tests/unit/lib/plugin/IncludePageTest.php	2006-06-18 06:20:05.000000000 -0500
+++ 1.3.14/tests/unit/lib/plugin/IncludePageTest.php	2007-07-01 05:11:28.000000000 -0500
@@ -23,7 +23,7 @@
     function testOldTextFormattingRules() {
         global $request;
 
-	$pagename = 'OldTextFormattingRules';
+	$pagename = 'Help/OldTextFormattingRules';
     	$this->_ensure_loaded($pagename);
         $dbi = $request->getDbh();
         $p = $dbi->getPage($pagename);
@@ -37,7 +37,7 @@
     function testTextFormattingRules() {
         global $request;
 
-	$pagename = 'TextFormattingRules';
+	$pagename = 'Help/TextFormattingRules';
     	$this->_ensure_loaded($pagename);
         $dbi = $request->getDbh();
         $p = $dbi->getPage($pagename);
@@ -52,7 +52,7 @@
      */
     function testIncludePageSynopsis() {
         global $request;
-	$pagename = 'TextFormattingRules';
+	$pagename = 'Help/TextFormattingRules';
 
         $lp = new WikiPlugin_IncludePage();
         $this->assertEquals("IncludePage", $lp->getName());
diff -ruN 1.3.12p3/tests/unit/lib/XmlRpcTest.php 1.3.14/tests/unit/lib/XmlRpcTest.php
--- 1.3.12p3/tests/unit/lib/XmlRpcTest.php	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/tests/unit/lib/XmlRpcTest.php	2007-07-01 05:11:28.000000000 -0500
@@ -0,0 +1,60 @@
+<?php
+rcs_id('$Id: XmlRpcTest.php,v 1.2 2007/05/27 18:56:16 rurban Exp $');
+
+/* Copyright (C) 2007 Reini Urban
+ */
+
+require_once 'lib/XmlRpcClient.php';
+require_once 'PHPUnit.php';
+
+class XmlRpcTest extends phpwiki_TestCase {
+
+    function testSelfVersion() {
+        $v = wiki_xmlrpc_post("wiki.getRPCVersionSupported");
+        $this->assertTrue(gettype($v), 'int');
+        $this->assertEquals($v, WIKI_XMLRPC_VERSION);
+    }
+
+    function testSelfAPI_v1() {
+        $v = wiki_xmlrpc_post("wiki.getRPCVersionSupported");
+        $this->assertTrue($v >= 1);
+    }
+
+    /*
+    function testSelfAPI_v2() {
+        $v = wiki_xmlrpc_post("wiki.getRPCVersionSupported");
+        $this->assertTrue($v >= 2);
+	// struct getAttachment( string localpath )
+    }
+    */
+
+    /*
+    function testSelfAPI_private() {
+	// struct getUploadedFileInfo( string localpath )
+	// boolean wiki.mailPasswordToUser ( username )
+	// array wiki.titleSearch(String substring [, String option = "0"])
+	// array wiki.listPlugins()
+	// String wiki.getPluginSynopsis(String plugin)
+        // array wiki.listRelations([ Integer option = 1 ])
+        // array wiki.callPlugin(String name, String args)
+
+        $this->assertTrue(true);
+    }
+
+    function testSelfAPI_planned() {
+	// String pingback.ping(String sourceURI, String targetURI)
+        // boolean wiki.rssPleaseNotify ( notifyProcedure, port, path, protocol, urlList )
+        $this->assertTrue(true);
+    }
+    */
+}
+
+// (c-file-style: "gnu")
+// Local Variables:
+// mode: php
+// tab-width: 8
+// c-basic-offset: 4
+// c-hanging-comment-ender-p: nil
+// indent-tabs-mode: nil
+// End:   
+?>
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/mysql-test-initialize.sql 1.3.14/tests/unit/mysql-test-initialize.sql
--- 1.3.12p3/tests/unit/mysql-test-initialize.sql	2006-06-18 06:20:05.000000000 -0500
+++ 1.3.14/tests/unit/mysql-test-initialize.sql	2007-07-01 05:11:28.000000000 -0500
@@ -1,4 +1,4 @@
--- $Id: mysql-test-initialize.sql,v 1.3 2004/12/22 15:05:18 rurban Exp $
+-- $Id: mysql-test-initialize.sql,v 1.5 2006/06/05 09:35:02 rurban Exp $
 -- for the regression suite
 
 drop table if exists test_page;
@@ -54,8 +54,10 @@
 CREATE TABLE test_link (
 	linkfrom        INT NOT NULL,
         linkto          INT NOT NULL,
+        relation        INT DEFAULT 0,
 	INDEX (linkfrom),
-        INDEX (linkto)
+        INDEX (linkto),
+        INDEX (relation)
 );
 
 CREATE TABLE test_session (
@@ -81,17 +83,17 @@
   	userid 	CHAR(48) BINARY NOT NULL UNIQUE,
   	prefs  	TEXT NULL DEFAULT '',
   	PRIMARY KEY (userid)
-) TYPE=MyISAM;
+);
 
 -- better use the extra pref table where such users can be created easily 
 -- without password.
-CREATE TABLE test_user (
-  	userid 	CHAR(48) BINARY NOT NULL UNIQUE,
-  	passwd 	CHAR(48) BINARY DEFAULT '',
+--CREATE TABLE test_user (
+--  	userid 	CHAR(48) BINARY NOT NULL UNIQUE,
+--  	passwd 	CHAR(48) BINARY DEFAULT '',
 --	prefs  	TEXT NULL DEFAULT '',
 --	groupname CHAR(48) BINARY DEFAULT 'users',
-  	PRIMARY KEY (userid)
-) TYPE=MyISAM;
+--  	PRIMARY KEY (userid)
+--) TYPE=MyISAM;
 
 -- only if you plan to use the wikilens theme
 CREATE TABLE test_rating (
diff -ruN 1.3.12p3/tests/unit/pgsql-test-initialize.sql 1.3.14/tests/unit/pgsql-test-initialize.sql
--- 1.3.12p3/tests/unit/pgsql-test-initialize.sql	2006-06-18 06:20:05.000000000 -0500
+++ 1.3.14/tests/unit/pgsql-test-initialize.sql	1969-12-31 18:00:00.000000000 -0600
@@ -1,169 +0,0 @@
--- $Id: mysql-test-initialize.sql,v 1.3 2004/12/22 15:05:18 rurban Exp $
--- for the regression suite
-
-\set prefix 	'test_'
-
-\set page_tbl 		:prefix 'page'
-\set version_tbl 	:prefix 'version'
-\set recent_tbl		:prefix 'recent'
-\set nonempty_tbl	:prefix 'nonempty'
-\set link_tbl 		:prefix 'link'
-\set session_tbl 	:prefix 'session'
-\set pref_tbl 	 	:prefix 'pref'
---\set user_tbl 	 	:prefix 'users'
-\set member_tbl  	:prefix 'member'
-\set rating_tbl		:prefix 'rating'
-\set accesslog_tbl 	:prefix 'accesslog'
-
-\echo Dropping all test relations
-
-DROP TABLE :page_tbl CASCADE;
-DROP TABLE :version_tbl CASCADE;
-DROP TABLE :recent_tbl CASCADE;
-DROP TABLE :nonempty_tbl CASCADE;
-DROP TABLE :link_tbl CASCADE;
-DROP TABLE :session_tbl CASCADE;
-DROP TABLE :pref_tbl CASCADE;
-DROP TABLE :member_tbl CASCADE;
-DROP TABLE :rating_tbl CASCADE;
-DROP TABLE :accesslog_tbl CASCADE;
-
-------------------------------------------------------------
-
-\echo Creating :page_tbl
-CREATE TABLE :page_tbl (
-	id 		SERIAL PRIMARY KEY,
-        pagename 	VARCHAR(100) NOT NULL UNIQUE CHECK (pagename <> ''),
-	hits 		INT4 NOT NULL DEFAULT 0,
-        pagedata 	TEXT NOT NULL DEFAULT '',
-	cached_html  	bytea DEFAULT ''
-);
--- CREATE UNIQUE INDEX :page_id_idx ON :page_tbl (id);
--- CREATE UNIQUE INDEX :page_name_idx ON :page_tbl (pagename);
-
-\echo Creating :version_tbl
-CREATE TABLE :version_tbl (
-	id		INT4 REFERENCES :page_tbl ON DELETE CASCADE,
-        version		INT4 NOT NULL,
-	mtime		INT4 NOT NULL,
---FIXME: should use boolean, but that returns 't' or 'f'. not 0 or 1. 
-	minor_edit	INT2 DEFAULT 0,
-        content		TEXT NOT NULL DEFAULT '',
-        versiondata	TEXT NOT NULL DEFAULT ''
-);
-CREATE UNIQUE INDEX :vers_id_idx ON :version_tbl (id, version);
-CREATE INDEX :vers_mtime_idx ON :version_tbl (mtime);
-
-\echo Creating :recent_tbl
-CREATE TABLE :recent_tbl (
-	id		INT4 REFERENCES :page_tbl ON DELETE CASCADE,
-	latestversion	INT4,
-	latestmajor	INT4,
-	latestminor	INT4
-);
-CREATE UNIQUE INDEX :recent_id_idx ON :recent_tbl (id);
-
-
-\echo Creating :nonempty_tbl
-CREATE TABLE :nonempty_tbl (
-	id		INT4 NOT NULL REFERENCES :page_tbl ON DELETE CASCADE
-);
-CREATE UNIQUE INDEX :nonmt_id_idx ON :nonempty_tbl (id);
-
-\echo Creating :link_tbl
-CREATE TABLE :link_tbl (
-        linkfrom	INT4 NOT NULL REFERENCES :page_tbl ON DELETE CASCADE,
-        linkto		INT4 NOT NULL REFERENCES :page_tbl ON DELETE CASCADE
-);
-CREATE INDEX :link_from_idx ON :link_tbl (linkfrom);
-CREATE INDEX :link_to_idx   ON :link_tbl (linkto);
-
--- if you plan to use the wikilens theme
-\echo Creating :rating_tbl
-CREATE TABLE :rating_tbl (
-        dimension INTEGER NOT NULL,
-        raterpage INT8 NOT NULL REFERENCES :page_tbl ON DELETE CASCADE,
-        rateepage INT8 NOT NULL REFERENCES :page_tbl ON DELETE CASCADE,
-        ratingvalue FLOAT NOT NULL,
-        rateeversion INT8 NOT NULL,
-        tstamp TIMESTAMP NOT NULL
-);
-CREATE UNIQUE INDEX :rating_id_idx ON :rating_tbl (dimension, raterpage, rateepage);
-
---================================================================
--- end of page relations
---================================================================
-
-\echo Creating :session_tbl
-CREATE TABLE :session_tbl (
-	sess_id 	CHAR(32) PRIMARY KEY,
-    	sess_data 	bytea NOT NULL,
-    	sess_date 	INT4,
-    	sess_ip 	CHAR(40) NOT NULL
-);
--- CREATE UNIQUE INDEX :sess_id_idx ON :session_tbl (sess_id);
-CREATE INDEX :sess_date_idx ON :session_tbl (sess_date);
-CREATE INDEX :sess_ip_idx   ON :session_tbl (sess_ip);
-
--- Optional DB Auth and Prefs
--- For these tables below the default table prefix must be used 
--- in the DBAuthParam SQL statements also.
-
-\echo Creating :pref_tbl
-CREATE TABLE :pref_tbl (
-  	userid 	CHAR(48) PRIMARY KEY,
-  	prefs  	TEXT NULL DEFAULT '',
-	passwd  CHAR(48) DEFAULT '',
-	groupname CHAR(48) DEFAULT 'users'
-);
--- CREATE UNIQUE INDEX :pref_id_idx ON :pref_tbl (userid);
-
--- Use the member table, if you need it for n:m user-group relations,
--- and adjust your DBAUTH_AUTH_ SQL statements.
-CREATE TABLE :member_tbl (
-	userid CHAR(48) NOT NULL REFERENCES :pref_tbl ON DELETE CASCADE, 
-	groupname CHAR(48) NOT NULL DEFAULT 'users'
-);
-CREATE INDEX :member_id_idx    ON :member_tbl (userid);
-CREATE INDEX :member_group_idx ON :member_tbl (groupname);
-
--- if ACCESS_LOG_SQL > 0
--- only if you need fast log-analysis (spam prevention, recent referrers)
--- see http://www.outoforder.cc/projects/apache/mod_log_sql/docs-2.0/#id2756178
-\echo Creating :accesslog_tbl
-CREATE TABLE :accesslog_tbl (
-        time_stamp    INT,
-	remote_host   VARCHAR(50),
-	remote_user   VARCHAR(50),
-        request_method VARCHAR(10),
-	request_line  VARCHAR(255),
-	request_args  VARCHAR(255),
-	request_file  VARCHAR(255),
-	request_uri   VARCHAR(255),
-	request_time  CHAR(28),
-	status 	      INT2,
-	bytes_sent    INT4,
-        referer       VARCHAR(255), 
-	agent         VARCHAR(255),
-	request_duration FLOAT
-);
-CREATE INDEX :accesslog_time_idx ON :accesslog_tbl (time_stamp);
-CREATE INDEX :accesslog_host_idx ON :accesslog_tbl (remote_host);
-
-\set httpd_user	'wikiuser'
-
--- FIXME: vacuum needs table owner rights
-\echo Applying permissions for role :httpd_user
-GRANT SELECT,INSERT,UPDATE,DELETE ON :page_tbl		TO :httpd_user;
-GRANT SELECT,INSERT,UPDATE,DELETE ON :version_tbl	TO :httpd_user;
-GRANT SELECT,INSERT,UPDATE,DELETE ON :recent_tbl	TO :httpd_user;
-GRANT SELECT,INSERT,UPDATE,DELETE ON :nonempty_tbl	TO :httpd_user;
-GRANT SELECT,INSERT,UPDATE,DELETE ON :link_tbl		TO :httpd_user;
-
-GRANT SELECT,INSERT,UPDATE,DELETE ON :session_tbl	TO :httpd_user;
--- you may want to fine tune this:
-GRANT SELECT,INSERT,UPDATE,DELETE ON :pref_tbl		TO :httpd_user;
--- GRANT SELECT ON :user_tbl	TO :httpd_user;
-GRANT SELECT ON :member_tbl	TO :httpd_user;
-GRANT SELECT,INSERT,UPDATE,DELETE ON :rating_tbl	TO :httpd_user;
-GRANT SELECT,INSERT,UPDATE,DELETE ON :accesslog_tbl	TO :httpd_user;
diff -ruN 1.3.12p3/tests/unit/psql-test-initialize.sql 1.3.14/tests/unit/psql-test-initialize.sql
--- 1.3.12p3/tests/unit/psql-test-initialize.sql	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/tests/unit/psql-test-initialize.sql	2007-07-01 05:11:28.000000000 -0500
@@ -0,0 +1,344 @@
+-- $Id: psql-test-initialize.sql,v 1.2 2006/12/23 13:01:59 rurban Exp $
+-- for the regression suite
+
+\set prefix 	'test_'
+\set httpd_user	'wikiuser'
+
+\set page_tbl 		:prefix 'page'
+\set page_id_seq 	:prefix 'page_id_seq'
+\set page_id_idx 	:prefix 'page_id_idx'
+\set page_name_idx 	:prefix 'page_name_idx'
+
+\set version_tbl 	:prefix 'version'
+\set vers_id_idx 	:prefix 'vers_id_idx'
+\set vers_mtime_idx 	:prefix 'vers_mtime_idx'
+
+\set recent_tbl  	:prefix 'recent'
+\set recent_id_idx 	:prefix 'recent_id_idx'
+\set recent_lv_idx 	:prefix 'recent_lv_idx'
+
+\set nonempty_tbl 	:prefix 'nonempty'
+\set nonmt_id_idx 	:prefix 'nonmt_id_idx'
+
+\set link_tbl  		:prefix 'link'
+\set link_from_idx 	:prefix 'link_from_idx'
+\set link_to_idx 	:prefix 'link_to_idx'
+\set relation_idx 	:prefix 'relation_idx'
+
+\set pagedata_tbl 	:prefix 'pagedata'
+\set pagedata_id_idx 	:prefix 'pagedata_id_idx'
+\set versiondata_tbl 	:prefix 'versiondata'
+\set pageperm_tbl 	:prefix 'pageperm'
+\set pageperm_id_idx	:prefix 'pageperm_id_idx'
+\set pageperm_access_idx :prefix 'pageperm_access_idx'
+\set existing_page_view :prefix 'existing_page'
+\set curr_page_view	:prefix 'curr_page'
+
+\set session_tbl 	:prefix 'session'
+\set sess_id_idx 	:prefix 'sess_id_idx'
+\set sess_date_idx 	:prefix 'sess_date_idx'
+\set sess_ip_idx 	:prefix 'sess_ip_idx'
+
+\set pref_tbl 	 	:prefix 'pref'
+\set pref_id_idx 	:prefix 'pref_id_idx'
+\set pref_pkey 		:prefix 'pref_pkey'
+
+--\set user_tbl 	 	:prefix 'users'
+--\set user_id_idx  	:prefix 'users_id_idx'
+\set member_tbl  	:prefix 'member'
+\set member_id_idx  	:prefix 'member_id_idx'
+\set member_group_idx 	:prefix 'member_group_idx'
+
+\set rating_tbl		:prefix 'rating'
+\set rating_id_idx 	:prefix 'rating_id_idx'
+
+\set accesslog_tbl 	:prefix 'accesslog'
+\set accesslog_time_idx :prefix 'log_time_idx'
+\set accesslog_host_idx :prefix 'log_host_idx'
+
+\set update_recent_fn	:prefix 'update_recent'
+\set prepare_rename_fn	:prefix 'prepare_rename_page'
+
+\echo Dropping all test relations
+
+DROP TABLE :version_tbl CASCADE;
+DROP TABLE :recent_tbl CASCADE;
+DROP TABLE :nonempty_tbl CASCADE;
+DROP TABLE :link_tbl CASCADE;
+DROP TABLE :rating_tbl CASCADE;
+
+DROP TABLE :pagedata_tbl CASCADE;
+DROP TABLE :versiondata_tbl CASCADE;
+DROP TABLE :pageperm_tbl CASCADE;
+
+DROP VIEW :existing_page_view;
+DROP VIEW :curr_page_view;
+
+DROP TABLE :page_tbl CASCADE;
+--DROP SEQUENCE :page_id_seq;
+
+DROP TABLE :member_tbl CASCADE;
+DROP TABLE :pref_tbl CASCADE;
+DROP TABLE :session_tbl CASCADE;
+DROP TABLE :accesslog_tbl CASCADE;
+
+DROP FUNCTION :update_recent_fn (INT4, INT4);
+DROP FUNCTION :prepare_rename_fn (INT4, INT4);
+
+------------------------------------------------------------
+
+\echo Creating :page_tbl
+CREATE TABLE :page_tbl (
+	id 		SERIAL PRIMARY KEY,
+        pagename 	VARCHAR(100) NOT NULL UNIQUE CHECK (pagename <> ''),
+	hits 		INT4 NOT NULL DEFAULT 0,
+        pagedata 	TEXT NOT NULL DEFAULT '',
+	cached_html  	bytea DEFAULT ''
+);
+-- CREATE UNIQUE INDEX :page_id_idx ON :page_tbl (id);
+-- CREATE UNIQUE INDEX :page_name_idx ON :page_tbl (pagename);
+
+-- we use 0 <=> global_data to satisfy the relation = 0 constraint
+INSERT INTO :page_tbl VALUES (0,'global_data',0,'','');
+
+\echo Creating :version_tbl
+CREATE TABLE :version_tbl (
+	id		INT4 REFERENCES :page_tbl,
+        version		INT4 NOT NULL,
+	mtime		INT4 NOT NULL,
+-- FIXME: should use boolean, but that returns 't' or 'f'. not 0 or 1. 
+	minor_edit	INT2 DEFAULT 0,
+-- use bytea instead?
+        content		TEXT NOT NULL DEFAULT '',
+        versiondata	TEXT NOT NULL DEFAULT ''
+);
+CREATE UNIQUE INDEX :vers_id_idx ON :version_tbl (id, version);
+CREATE INDEX :vers_mtime_idx ON :version_tbl (mtime);
+-- deletion order: version, recent, nonempty
+
+\echo Creating :recent_tbl
+CREATE TABLE :recent_tbl (
+	id		INT4 REFERENCES :page_tbl,
+	latestversion	INT4, 
+	latestmajor	INT4,
+	latestminor	INT4,
+	FOREIGN KEY (id, latestversion) REFERENCES :version_tbl (id, version),
+	CHECK (latestminor >= latestmajor)
+);
+CREATE UNIQUE INDEX :recent_id_idx ON :recent_tbl (id);
+CREATE INDEX :recent_lv_idx ON :recent_tbl (latestversion);
+
+\echo Creating :nonempty_tbl
+CREATE TABLE :nonempty_tbl (
+	id		INT4 NOT NULL REFERENCES :page_tbl
+);
+CREATE UNIQUE INDEX :nonmt_id_idx ON :nonempty_tbl (id);
+
+\echo Creating experimental pagedata (not yet used)
+CREATE TABLE :pagedata_tbl (
+	id	INT4 NOT NULL REFERENCES :page_tbl,
+	date    INT4,
+	locked  BOOLEAN,
+        rest	TEXT NOT NULL DEFAULT ''
+);
+CREATE INDEX :pagedata_id_idx ON pagedata (id);
+
+\echo Creating experimental versiondata (not yet used)
+CREATE TABLE :versiondata_tbl (
+	id	  INT4 NOT NULL,
+	version	  INT4 NOT NULL,
+	markup    INT2 DEFAULT 2, 
+	author    VARCHAR(48), 
+	author_id VARCHAR(48), 
+	pagetype  VARCHAR(20) DEFAULT 'wikitext', 
+        rest	  TEXT NOT NULL DEFAULT '',
+	FOREIGN KEY (id, version) REFERENCES :version_tbl (id, version)
+);
+\echo Creating experimental pageperm (not yet used)
+CREATE TABLE :pageperm_tbl (
+	id	 INT4 NOT NULL REFERENCES :page_tbl(id),
+        -- view,edit,create,list,remove,change,dump
+	access   CHAR(12) NOT NULL, 
+	groupname VARCHAR(48),
+	allowed  BOOLEAN
+);
+CREATE INDEX :pageperm_id_idx ON pageperm (id);
+CREATE INDEX :pageperm_access_idx ON pageperm (access);
+
+\echo Creating experimental page views (not yet used)
+
+-- nonempty versiondata
+CREATE VIEW :existing_page_view AS
+  SELECT * FROM :page_tbl P INNER JOIN :nonempty_tbl N USING (id);
+
+-- latest page version
+CREATE VIEW :curr_page_view AS
+  SELECT P.id,P.pagename,P.hits,P.pagedata,P.cached_html,
+	 V.version,V.mtime,V.minor_edit,V.content,V.versiondata
+  FROM :page_tbl P 
+    JOIN :version_tbl V USING (id)
+    JOIN :recent_tbl  R ON (V.id=R.id AND V.version=R.latestversion);
+
+\echo Creating :link_tbl
+CREATE TABLE :link_tbl (
+        linkfrom  INT4 NOT NULL REFERENCES :page_tbl,
+        linkto 	  INT4 NOT NULL REFERENCES :page_tbl,
+        relation  INT4
+);
+CREATE INDEX :link_from_idx ON :link_tbl (linkfrom);
+CREATE INDEX :link_to_idx   ON :link_tbl (linkto);
+CREATE INDEX :relation_idx  ON :link_tbl (relation);
+-- update:
+-- ALTER TABLE link DROP CONSTRAINT link_relation_fkey;
+
+-- if you plan to use the wikilens theme
+\echo Creating :rating_tbl
+CREATE TABLE :rating_tbl (
+        dimension    INTEGER NOT NULL,
+        raterpage    INT8 NOT NULL REFERENCES :page_tbl,
+        rateepage    INT8 NOT NULL REFERENCES :page_tbl,
+        ratingvalue  FLOAT NOT NULL,
+        rateeversion INT8 NOT NULL,
+        tstamp       TIMESTAMP NOT NULL
+);
+CREATE UNIQUE INDEX :rating_id_idx ON :rating_tbl (dimension, raterpage, rateepage);
+
+--================================================================
+-- end of page relations
+--================================================================
+
+\echo Creating :session_tbl
+CREATE TABLE :session_tbl (
+	sess_id 	CHAR(32) PRIMARY KEY,
+    	sess_data 	bytea NOT NULL,
+    	sess_date 	INT4,
+    	sess_ip 	CHAR(40) NOT NULL
+);
+-- CREATE UNIQUE INDEX :sess_id_idx ON :session_tbl (sess_id);
+CREATE INDEX :sess_date_idx ON :session_tbl (sess_date);
+CREATE INDEX :sess_ip_idx   ON :session_tbl (sess_ip);
+
+-- Optional DB Auth and Prefs
+-- For these tables below the default table prefix must be used 
+-- in the DBAuthParam SQL statements also.
+
+\echo Creating :pref_tbl
+CREATE TABLE :pref_tbl (
+  	userid 	  CHAR(48) PRIMARY KEY,
+  	prefs  	  TEXT NULL DEFAULT '',
+	passwd    CHAR(48) DEFAULT '',
+	groupname CHAR(48) DEFAULT 'users'
+);
+-- CREATE UNIQUE INDEX :pref_id_idx ON :pref_tbl (userid);
+CREATE INDEX pref_group_idx ON :pref_tbl (groupname);
+
+-- Use the member table, if you need it for n:m user-group relations,
+-- and adjust your DBAUTH_AUTH_ SQL statements.
+CREATE TABLE :member_tbl (
+	userid    CHAR(48) NOT NULL REFERENCES :pref_tbl, 
+	groupname CHAR(48) NOT NULL DEFAULT 'users'
+);
+CREATE INDEX :member_id_idx    ON :member_tbl (userid);
+CREATE INDEX :member_group_idx ON :member_tbl (groupname);
+
+-- if ACCESS_LOG_SQL > 0
+-- only if you need fast log-analysis (spam prevention, recent referrers)
+-- see http://www.outoforder.cc/projects/apache/mod_log_sql/docs-2.0/#id2756178
+\echo Creating :accesslog_tbl
+CREATE TABLE :accesslog_tbl (
+        time_stamp       INT,
+	remote_host      VARCHAR(100),
+	remote_user      VARCHAR(50),
+        request_method   VARCHAR(10),
+	request_line     VARCHAR(255),
+	request_args     VARCHAR(255),
+	request_file     VARCHAR(255),
+	request_uri      VARCHAR(255),
+	request_time     CHAR(28),
+	status 	         INT2,
+	bytes_sent       INT4,
+        referer          VARCHAR(255), 
+	agent            VARCHAR(255),
+	request_duration FLOAT
+);
+CREATE INDEX :accesslog_time_idx ON :accesslog_tbl (time_stamp);
+CREATE INDEX :accesslog_host_idx ON :accesslog_tbl (remote_host);
+-- create extra indices on demand (usually referer. see plugin/AccessLogSql)
+
+--================================================================
+
+-- Use the tsearch2 fulltextsearch extension: (recommended) 7.4, 8.0, 8.1
+-- at first init it for the database:
+-- $ psql phpwiki < /usr/share/postgresql/contrib/tsearch2.sql 
+
+-- example of ISpell dictionary
+--   UPDATE pg_ts_dict SET dict_initoption='DictFile="/usr/local/share/ispell/russian.dict" ,AffFile ="/usr/local/share/ispell/russian.aff", StopFile="/usr/local/share/ispell/russian.stop"' WHERE dict_name='ispell_template';
+-- example of synonym dict
+--   UPDATE pg_ts_dict SET dict_initoption='/usr/local/share/ispell/english.syn' WHERE dict_id=5; 
+
+\echo Initializing tsearch2 indices
+GRANT SELECT ON pg_ts_dict, pg_ts_parser, pg_ts_cfg, pg_ts_cfgmap TO :httpd_user;
+ALTER TABLE :version_tbl ADD COLUMN idxFTI tsvector;
+UPDATE :version_tbl SET idxFTI=to_tsvector('default', content);
+VACUUM FULL ANALYZE;
+CREATE INDEX idxFTI_idx ON :version_tbl USING gist(idxFTI);
+VACUUM FULL ANALYZE;
+CREATE TRIGGER tsvectorupdate BEFORE UPDATE OR INSERT ON :version_tbl
+       FOR EACH ROW EXECUTE PROCEDURE tsearch2(idxFTI, content);
+
+--================================================================
+
+\echo You might want to ignore the following errors or run 
+\echo /usr/sbin/createuser -S -R -d  :httpd_user
+
+\echo Applying permissions for role :httpd_user
+GRANT SELECT,INSERT,UPDATE,DELETE ON :page_tbl		TO :httpd_user;
+GRANT SELECT,INSERT,UPDATE,DELETE ON :version_tbl	TO :httpd_user;
+GRANT SELECT,INSERT,UPDATE,DELETE ON :recent_tbl	TO :httpd_user;
+GRANT SELECT,INSERT,UPDATE,DELETE ON :nonempty_tbl	TO :httpd_user;
+GRANT SELECT,INSERT,UPDATE,DELETE ON :link_tbl		TO :httpd_user;
+
+GRANT SELECT,INSERT,UPDATE,DELETE ON :session_tbl	TO :httpd_user;
+-- you may want to fine tune this:
+GRANT SELECT,INSERT,UPDATE,DELETE ON :pref_tbl		TO :httpd_user;
+-- GRANT SELECT ON :user_tbl				TO :httpd_user;
+GRANT SELECT ON :member_tbl				TO :httpd_user;
+GRANT SELECT,INSERT,UPDATE,DELETE ON :rating_tbl	TO :httpd_user;
+GRANT SELECT,INSERT,UPDATE,DELETE ON :accesslog_tbl	TO :httpd_user;
+
+--================================================================
+-- some stored procedures to put unneccesary syntax into the server
+
+\echo Initializing stored procedures
+
+-- id, version
+CREATE OR REPLACE FUNCTION :update_recent_fn (INT4, INT4) 
+	RETURNS integer AS $$
+DELETE FROM test_recent WHERE id = $1;
+INSERT INTO test_recent (id, latestversion, latestmajor, latestminor)
+  SELECT id, MAX(version) AS latestversion, 
+	     MAX(CASE WHEN minor_edit =  0 THEN version END) AS latestmajor, 
+             MAX(CASE WHEN minor_edit <> 0 THEN version END) AS latestminor
+    FROM test_version version WHERE id = $2 GROUP BY id;
+DELETE FROM test_nonempty WHERE id = $1;
+INSERT INTO test_nonempty (id) 
+  SELECT recent.id
+    FROM test_recent recent, test_version version
+    WHERE recent.id = version.id
+          AND version = latestversion
+          AND content <> ''
+          AND recent.id = $1;
+SELECT id FROM test_nonempty WHERE id = $1;
+$$ LANGUAGE SQL;
+
+-- oldid, newid
+CREATE OR REPLACE FUNCTION :prepare_rename_fn (INT4, INT4) 
+        RETURNS void AS $$
+DELETE FROM test_page     WHERE id = $2;
+DELETE FROM test_version  WHERE id = $2;
+DELETE FROM test_recent   WHERE id = $2;
+DELETE FROM test_nonempty WHERE id = $2;
+-- We have to fix all referring tables to the old id
+UPDATE test_link SET linkfrom = $1 WHERE linkfrom = $2;
+UPDATE test_link SET linkto = $1   WHERE linkto = $2;
+$$ LANGUAGE SQL;
diff -ruN 1.3.12p3/tests/unit/runme_basic 1.3.14/tests/unit/runme_basic
--- 1.3.12p3/tests/unit/runme_basic	2006-06-18 06:20:06.000000000 -0500
+++ 1.3.14/tests/unit/runme_basic	2007-07-01 05:11:28.000000000 -0500
@@ -1,6 +1,8 @@
 #!/bin/sh
 # run load/save with dba only, without memory trace (debug=9).
 # this should catch most of existing errors, and needs only one external file.
-mkdir .testbox .dumphtml
 chmod -R a+rw .testbox .dumphtml
-php -Cq -d register_argc_argv=1 test.php test=SetupWiki test=DumpHtml db=dba level=10 debug=1
+if [ -d .testbox/page_data -a ! -w .testbox/page_data/AllPages ]; then
+  rm -rf .testbox/*
+fi
+php -Cq -d register_argc_argv=1 test.php test=SetupWiki test=DumpHtml db=dba level=10 debug=0
diff -ruN 1.3.12p3/tests/unit/.testbox/latest_ver/latest_versions 1.3.14/tests/unit/.testbox/latest_ver/latest_versions
--- 1.3.12p3/tests/unit/.testbox/latest_ver/latest_versions	2006-06-18 06:19:50.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/latest_ver/latest_versions	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:128:{s:16:"AddCommentPlugin";i:1;s:11:"AddingPages";i:1;s:8:"AllPages";i:1;s:19:"AllPagesCreatedByMe";i:1;s:22:"AllPagesLastEditedByMe";i:1;s:17:"AllPagesOwnedByMe";i:1;s:8:"AllUsers";i:1;s:25:"AnalyseAccessLogSqlPlugin";i:1;s:10:"AppendText";i:1;s:16:"AppendTextPlugin";i:1;s:19:"AuthorHistoryPlugin";i:1;s:9:"BackLinks";i:1;s:18:"CalendarListPlugin";i:1;s:14:"CalendarPlugin";i:1;s:16:"CategoryCategory";i:1;s:13:"CategoryGroup";i:1;s:17:"CategoryHomePages";i:1;s:13:"CommentPlugin";i:1;s:10:"CreatePage";i:1;s:16:"CreatePagePlugin";i:1;s:15:"CreateTocPlugin";i:1;s:9:"DebugInfo";i:1;s:12:"EditMetaData";i:1;s:18:"EditMetaDataPlugin";i:1;s:8:"EditText";i:1;s:20:"ExternalSearchPlugin";i:1;s:8:"FindPage";i:1;s:16:"FoafViewerPlugin";i:1;s:18:"FrameIncludePlugin";i:1;s:17:"FullRecentChanges";i:1;s:14:"FullTextSearch";i:1;s:10:"FuzzyPages";i:1;s:9:"GoodStyle";i:1;s:10:"GoogleLink";i:1;s:16:"HelloWorldPlugin";i:1;s:13:"HomePageAlias";i:1;s:12:"HowToUseWiki";i:1;s:17:"IncludePagePlugin";i:1;s:9:"InterWiki";i:1;s:12:"InterWikiMap";i:1;s:15:"InterWikiSearch";i:1;s:9:"LikePages";i:1;s:12:"LinkDatabase";i:1;s:9:"LinkIcons";i:1;s:15:"ListPagesPlugin";i:1;s:16:"MagicPhpWikiURLs";i:1;s:13:"ModeratedPage";i:1;s:18:"MoreAboutMechanics";i:1;s:11:"MostPopular";i:1;s:17:"NewMarkupTestPage";i:1;s:17:"OldMarkupTestPage";i:1;s:19:"OldStyleTablePlugin";i:1;s:22:"OldTextFormattingRules";i:1;s:13:"OrphanedPages";i:1;s:8:"PageDump";i:1;s:13:"PageGroupTest";i:1;s:17:"PageGroupTestFour";i:1;s:16:"PageGroupTestOne";i:1;s:18:"PageGroupTestThree";i:1;s:16:"PageGroupTestTwo";i:1;s:11:"PageHistory";i:1;s:8:"PageInfo";i:1;s:15:"PagePermissions";i:1;s:16:"PgsrcTranslation";i:1;s:19:"PgsrcTranslation/de";i:1;s:19:"PgsrcTranslation/es";i:1;s:19:"PgsrcTranslation/fr";i:1;s:19:"PgsrcTranslation/it";i:1;s:19:"PgsrcTranslation/ja";i:1;s:19:"PgsrcTranslation/nl";i:1;s:19:"PgsrcTranslation_sv";i:1;s:19:"PgsrcTranslation/zh";i:1;s:16:"PhotoAlbumPlugin";i:1;s:18:"PhpHighlightPlugin";i:1;s:16:"PhpWeatherPlugin";i:1;s:7:"PhpWiki";i:1;s:21:"PhpWikiAdministration";i:1;s:27:"PhpWikiAdministration/Chmod";i:1;s:27:"PhpWikiAdministration/Chown";i:1;s:28:"PhpWikiAdministration/Remove";i:1;s:28:"PhpWikiAdministration/Rename";i:1;s:29:"PhpWikiAdministration/Replace";i:1;s:28:"PhpWikiAdministration/SetAcl";i:1;s:20:"PhpWikiDocumentation";i:1;s:11:"PhpWikiPoll";i:1;s:20:"PhpWikiRecentChanges";i:1;s:14:"PloticusPlugin";i:1;s:13:"PluginManager";i:1;s:14:"ProjectSummary";i:1;s:10:"RandomPage";i:1;s:6:"RateIt";i:1;s:13:"RawHtmlPlugin";i:1;s:13:"RecentChanges";i:1;s:14:"RecentComments";i:1;s:11:"RecentEdits";i:1;s:14:"RecentReleases";i:1;s:14:"RecentVisitors";i:1;s:16:"RedirectToPlugin";i:1;s:14:"RelatedChanges";i:1;s:12:"ReleaseNotes";i:1;s:15:"RichTablePlugin";i:1;s:13:"RssFeedPlugin";i:1;s:7:"SandBox";i:1;s:15:"SearchHighlight";i:1;s:21:"SearchHighlightPlugin";i:1;s:14:"SteveWainstead";i:1;s:23:"SyntaxHighlighterPlugin";i:1;s:16:"SystemInfoPlugin";i:1;s:15:"TemplateExample";i:1;s:14:"TemplatePlugin";i:1;s:13:"TeX2pngPlugin";i:1;s:19:"TextFormattingRules";i:1;s:11:"TitleSearch";i:1;s:16:"TranscludePlugin";i:1;s:13:"TranslateText";i:1;s:20:"UnfoldSubpagesPlugin";i:1;s:6:"UpLoad";i:1;s:12:"UpLoadPlugin";i:1;s:15:"UserPreferences";i:1;s:8:"WabiSabi";i:1;s:11:"WantedPages";i:1;s:11:"WhoIsOnline";i:1;s:15:"WikiAdminSelect";i:1;s:14:"WikiBlogPlugin";i:1;s:10:"WikiPlugin";i:1;s:11:"WikiWikiWeb";i:1;s:9:"_AuthInfo";i:1;s:8:"HomePage";i:1;}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/AddCommentPlugin 1.3.14/tests/unit/.testbox/links/AddCommentPlugin
--- 1.3.12p3/tests/unit/.testbox/links/AddCommentPlugin	2006-06-18 06:19:50.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/AddCommentPlugin	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:2:{i:0;s:10:"WikiPlugin";i:1;s:20:"PhpWikiDocumentation";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/AddingPages 1.3.14/tests/unit/.testbox/links/AddingPages
--- 1.3.12p3/tests/unit/.testbox/links/AddingPages	2006-06-18 06:19:50.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/AddingPages	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:6:{i:0;s:26:"StringThemTogetherLikeThis";i:1;s:15:"square brackets";i:2;s:20:"ClickTheQuestionMark";i:3;s:7:"PhpWiki";i:4;s:19:"TextFormattingRules";i:5;s:20:"PhpWikiDocumentation";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/AllPages 1.3.14/tests/unit/.testbox/links/AllPages
--- 1.3.12p3/tests/unit/.testbox/links/AllPages	2006-06-18 06:19:50.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/AllPages	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:1:{i:0;s:13:"OrphanedPages";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/AllPagesCreatedByMe 1.3.14/tests/unit/.testbox/links/AllPagesCreatedByMe
--- 1.3.12p3/tests/unit/.testbox/links/AllPagesCreatedByMe	2006-06-18 06:19:50.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/AllPagesCreatedByMe	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:0:{}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/AllPagesLastEditedByMe 1.3.14/tests/unit/.testbox/links/AllPagesLastEditedByMe
--- 1.3.12p3/tests/unit/.testbox/links/AllPagesLastEditedByMe	2006-06-18 06:19:50.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/AllPagesLastEditedByMe	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:0:{}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/AllPagesOwnedByMe 1.3.14/tests/unit/.testbox/links/AllPagesOwnedByMe
--- 1.3.12p3/tests/unit/.testbox/links/AllPagesOwnedByMe	2006-06-18 06:19:50.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/AllPagesOwnedByMe	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:0:{}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/AllUsers 1.3.14/tests/unit/.testbox/links/AllUsers
--- 1.3.12p3/tests/unit/.testbox/links/AllUsers	2006-06-18 06:19:50.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/AllUsers	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:3:{i:0;s:15:"UserPreferences";i:1;s:10:"WikiPlugin";i:2;s:13:"PluginManager";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/AnalyseAccessLogSqlPlugin 1.3.14/tests/unit/.testbox/links/AnalyseAccessLogSqlPlugin
--- 1.3.12p3/tests/unit/.testbox/links/AnalyseAccessLogSqlPlugin	2006-06-18 06:19:50.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/AnalyseAccessLogSqlPlugin	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:4:{i:0;s:19:"AnalyseAccessLogSql";i:2;s:7:"PhpWiki";i:4;s:20:"PhpWikiDocumentation";i:5;s:10:"WikiPlugin";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/AppendText 1.3.14/tests/unit/.testbox/links/AppendText
--- 1.3.12p3/tests/unit/.testbox/links/AppendText	2006-06-18 06:19:50.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/AppendText	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:0:{}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/AppendTextPlugin 1.3.14/tests/unit/.testbox/links/AppendTextPlugin
--- 1.3.12p3/tests/unit/.testbox/links/AppendTextPlugin	2006-06-18 06:19:50.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/AppendTextPlugin	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:4:{i:0;s:10:"AppendText";i:1;s:10:"WikiPlugin";i:2;s:16:"AddCommentPlugin";i:3;s:20:"PhpWikiDocumentation";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/_AuthInfo 1.3.14/tests/unit/.testbox/links/_AuthInfo
--- 1.3.12p3/tests/unit/.testbox/links/_AuthInfo	2006-06-18 06:19:55.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/_AuthInfo	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:0:{}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/AuthorHistoryPlugin 1.3.14/tests/unit/.testbox/links/AuthorHistoryPlugin
--- 1.3.12p3/tests/unit/.testbox/links/AuthorHistoryPlugin	2006-06-18 06:19:51.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/AuthorHistoryPlugin	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:2:{i:0;s:20:"PhpWikiDocumentation";i:1;s:10:"WikiPlugin";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/BackLinks 1.3.14/tests/unit/.testbox/links/BackLinks
--- 1.3.12p3/tests/unit/.testbox/links/BackLinks	2006-06-18 06:19:51.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/BackLinks	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:1:{i:0;s:9:"BackLinks";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/CalendarListPlugin 1.3.14/tests/unit/.testbox/links/CalendarListPlugin
--- 1.3.12p3/tests/unit/.testbox/links/CalendarListPlugin	2006-06-18 06:19:51.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/CalendarListPlugin	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:4:{i:0;s:18:"CalendarListPlugin";i:1;s:14:"CalendarPlugin";i:2;s:20:"PhpWikiDocumentation";i:3;s:10:"WikiPlugin";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/CalendarPlugin 1.3.14/tests/unit/.testbox/links/CalendarPlugin
--- 1.3.12p3/tests/unit/.testbox/links/CalendarPlugin	2006-06-18 06:19:51.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/CalendarPlugin	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:8:{i:0;s:14:"CalendarPlugin";i:1;s:12:"PersonalWiki";i:2;s:10:"GaryBenson";i:3;s:10:"WikiPlugin";i:4;s:11:"JeffDairiki";i:6;s:7:"PhpWiki";i:7;s:10:"screenshot";i:8;s:20:"PhpWikiDocumentation";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/CategoryCategory 1.3.14/tests/unit/.testbox/links/CategoryCategory
--- 1.3.12p3/tests/unit/.testbox/links/CategoryCategory	2006-06-18 06:19:51.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/CategoryCategory	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:0:{}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/CategoryGroup 1.3.14/tests/unit/.testbox/links/CategoryGroup
--- 1.3.12p3/tests/unit/.testbox/links/CategoryGroup	2006-06-18 06:19:51.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/CategoryGroup	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:1:{i:0;s:14:"Administrators";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/CategoryHomePages 1.3.14/tests/unit/.testbox/links/CategoryHomePages
--- 1.3.12p3/tests/unit/.testbox/links/CategoryHomePages	2006-06-18 06:19:51.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/CategoryHomePages	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:1:{i:0;s:16:"CategoryCategory";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/CommentPlugin 1.3.14/tests/unit/.testbox/links/CommentPlugin
--- 1.3.12p3/tests/unit/.testbox/links/CommentPlugin	2006-06-18 06:19:51.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/CommentPlugin	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:2:{i:0;s:13:"CommentPlugin";i:1;s:10:"WikiPlugin";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/CreatePage 1.3.14/tests/unit/.testbox/links/CreatePage
--- 1.3.12p3/tests/unit/.testbox/links/CreatePage	2006-06-18 06:19:51.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/CreatePage	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:0:{}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/CreatePagePlugin 1.3.14/tests/unit/.testbox/links/CreatePagePlugin
--- 1.3.12p3/tests/unit/.testbox/links/CreatePagePlugin	2006-06-18 06:19:51.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/CreatePagePlugin	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:3:{i:0;s:10:"WikiPlugin";i:1;s:9:"WikiTheme";i:2;s:20:"PhpWikiDocumentation";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/CreateTocPlugin 1.3.14/tests/unit/.testbox/links/CreateTocPlugin
--- 1.3.12p3/tests/unit/.testbox/links/CreateTocPlugin	2006-06-18 06:19:51.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/CreateTocPlugin	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:2:{i:0;s:10:"WikiPlugin";i:1;s:20:"PhpWikiDocumentation";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/DebugInfo 1.3.14/tests/unit/.testbox/links/DebugInfo
--- 1.3.12p3/tests/unit/.testbox/links/DebugInfo	2006-06-18 06:19:51.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/DebugInfo	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:0:{}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/EditMetaData 1.3.14/tests/unit/.testbox/links/EditMetaData
--- 1.3.12p3/tests/unit/.testbox/links/EditMetaData	2006-06-18 06:19:51.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/EditMetaData	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:0:{}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/EditMetaDataPlugin 1.3.14/tests/unit/.testbox/links/EditMetaDataPlugin
--- 1.3.12p3/tests/unit/.testbox/links/EditMetaDataPlugin	2006-06-18 06:19:51.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/EditMetaDataPlugin	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:2:{i:0;s:20:"PhpWikiDocumentation";i:1;s:10:"WikiPlugin";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/EditText 1.3.14/tests/unit/.testbox/links/EditText
--- 1.3.12p3/tests/unit/.testbox/links/EditText	2006-06-18 06:19:51.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/EditText	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:2:{i:0;s:8:"EditText";i:1;s:20:"PhpWikiDocumentation";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/ExternalSearchPlugin 1.3.14/tests/unit/.testbox/links/ExternalSearchPlugin
--- 1.3.12p3/tests/unit/.testbox/links/ExternalSearchPlugin	2006-06-18 06:19:51.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/ExternalSearchPlugin	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:6:{i:0;s:20:"ExternalSearchPlugin";i:1;s:9:"InterWiki";i:2;s:12:"InterWikiMap";i:4;s:7:"PhpWiki";i:5;s:20:"PhpWikiDocumentation";i:6;s:10:"WikiPlugin";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/FindPage 1.3.14/tests/unit/.testbox/links/FindPage
--- 1.3.12p3/tests/unit/.testbox/links/FindPage	2006-06-18 06:19:51.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/FindPage	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:3:{i:0;s:12:"HowToUseWiki";i:1;s:13:"RecentChanges";i:2;s:18:"MoreAboutMechanics";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/FoafViewerPlugin 1.3.14/tests/unit/.testbox/links/FoafViewerPlugin
--- 1.3.12p3/tests/unit/.testbox/links/FoafViewerPlugin	2006-06-18 06:19:51.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/FoafViewerPlugin	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:3:{i:0;s:16:"FoafViewerPlugin";i:1;s:20:"PhpWikiDocumentation";i:2;s:10:"WikiPlugin";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/FrameIncludePlugin 1.3.14/tests/unit/.testbox/links/FrameIncludePlugin
--- 1.3.12p3/tests/unit/.testbox/links/FrameIncludePlugin	2006-06-18 06:19:51.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/FrameIncludePlugin	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:3:{i:0;s:17:"IncludePagePlugin";i:1;s:20:"PhpWikiDocumentation";i:2;s:10:"WikiPlugin";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/FullRecentChanges 1.3.14/tests/unit/.testbox/links/FullRecentChanges
--- 1.3.12p3/tests/unit/.testbox/links/FullRecentChanges	2006-06-18 06:19:52.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/FullRecentChanges	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:2:{i:0;s:13:"RecentChanges";i:1;s:11:"RecentEdits";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/FullTextSearch 1.3.14/tests/unit/.testbox/links/FullTextSearch
--- 1.3.12p3/tests/unit/.testbox/links/FullTextSearch	2006-06-18 06:19:52.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/FullTextSearch	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:1:{i:0;s:8:"FindPage";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/FuzzyPages 1.3.14/tests/unit/.testbox/links/FuzzyPages
--- 1.3.12p3/tests/unit/.testbox/links/FuzzyPages	2006-06-18 06:19:52.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/FuzzyPages	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:1:{i:0;s:8:"FindPage";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/GoodStyle 1.3.14/tests/unit/.testbox/links/GoodStyle
--- 1.3.12p3/tests/unit/.testbox/links/GoodStyle	2006-06-18 06:19:52.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/GoodStyle	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:2:{i:0;s:8:"WabiSabi";i:1;s:20:"PhpWikiDocumentation";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/GoogleLink 1.3.14/tests/unit/.testbox/links/GoogleLink
--- 1.3.12p3/tests/unit/.testbox/links/GoogleLink	2006-06-18 06:19:52.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/GoogleLink	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:4:{i:0;s:10:"GoogleLink";i:1;s:15:"UserPreferences";i:2;s:1:"G";i:3;s:20:"PhpWikiDocumentation";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/HelloWorldPlugin 1.3.14/tests/unit/.testbox/links/HelloWorldPlugin
--- 1.3.12p3/tests/unit/.testbox/links/HelloWorldPlugin	2006-06-18 06:19:52.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/HelloWorldPlugin	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:3:{i:0;s:7:"PhpWiki";i:1;s:20:"PhpWikiDocumentation";i:2;s:10:"WikiPlugin";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/HomePage 1.3.14/tests/unit/.testbox/links/HomePage
--- 1.3.12p3/tests/unit/.testbox/links/HomePage	2006-06-18 06:19:52.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/HomePage	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:11:{i:0;s:11:"WikiWikiWeb";i:1;s:12:"HowToUseWiki";i:2;s:11:"AddingPages";i:3;s:7:"SandBox";i:4;s:14:"RecentVisitors";i:5;s:13:"RecentChanges";i:6;s:11:"MostPopular";i:7;s:12:"ReleaseNotes";i:8;s:14:"RecentReleases";i:9;s:21:"PhpWikiAdministration";i:10;s:20:"PhpWikiDocumentation";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/HomePageAlias 1.3.14/tests/unit/.testbox/links/HomePageAlias
--- 1.3.12p3/tests/unit/.testbox/links/HomePageAlias	2006-06-18 06:19:52.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/HomePageAlias	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:1:{i:0;s:16:"RedirectToPlugin";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/HowToUseWiki 1.3.14/tests/unit/.testbox/links/HowToUseWiki
--- 1.3.12p3/tests/unit/.testbox/links/HowToUseWiki	2006-06-18 06:19:52.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/HowToUseWiki	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:7:{i:0;s:27:"SteveWainsteadEatsLiveWorms";i:1;s:22:"ThisPageShouldNotExist";i:2;s:11:"AddingPages";i:3;s:11:"WikiWikiWeb";i:4;s:19:"TextFormattingRules";i:5;s:15:"UserPreferences";i:6;s:20:"PhpWikiDocumentation";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/IncludePagePlugin 1.3.14/tests/unit/.testbox/links/IncludePagePlugin
--- 1.3.12p3/tests/unit/.testbox/links/IncludePagePlugin	2006-06-18 06:19:52.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/IncludePagePlugin	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:5:{i:0;s:18:"FrameIncludePlugin";i:1;s:8:"HomePage";i:2;s:8:"WabiSabi";i:3;s:20:"PhpWikiDocumentation";i:4;s:10:"WikiPlugin";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/InterWiki 1.3.14/tests/unit/.testbox/links/InterWiki
--- 1.3.12p3/tests/unit/.testbox/links/InterWiki	2006-06-18 06:19:52.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/InterWiki	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:5:{i:0;s:9:"InterWiki";i:1;s:12:"InterWikiMap";i:3;s:7:"PhpWiki";i:7;s:16:"CategoryCategory";i:10;s:20:"PhpWikiDocumentation";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/InterWikiMap 1.3.14/tests/unit/.testbox/links/InterWikiMap
--- 1.3.12p3/tests/unit/.testbox/links/InterWikiMap	2006-06-18 06:19:52.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/InterWikiMap	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:133:{i:0;s:9:"InterWiki";i:1;s:6:"AIWiki";i:2;s:5:"ALife";i:3;s:10:"AbbeNormal";i:4;s:8:"AcadWiki";i:5;s:7:"Acronym";i:6;s:8:"Advogato";i:7;s:10:"Annotation";i:8;s:14:"AnnotationWiki";i:9;s:8:"AviSynth";i:10;s:13:"AwarenessWiki";i:11;s:10:"BcWireless";i:12;s:12:"BenefitsWiki";i:13;s:11:"BridgesWiki";i:14;s:7:"bsdWiki";i:15;s:6:"C2find";i:16;s:5:"CLiki";i:17;s:5:"Cache";i:18;s:8:"Category";i:19;s:6:"CmWiki";i:20;s:15:"CreationMatters";i:21;s:4:"CPAN";i:22;s:11:"DeWikiPedia";i:23;s:8:"DejaNews";i:24;s:4:"Dict";i:25;s:10:"Dictionary";i:26;s:11:"DiveIntoOsx";i:27;s:7:"DocBook";i:28;s:11:"DolphinWiki";i:29;s:7:"DseWiki";i:30;s:12:"EfnetCeeWiki";i:31;s:12:"EfnetCppWiki";i:32;s:15:"EfnetPythonWiki";i:33;s:12:"EfnetXmlWiki";i:34;s:7:"EljWiki";i:35;s:9:"EmacsWiki";i:36;s:11:"EoWikiPedia";i:37;s:11:"FinalEmpire";i:38;s:6:"Foldoc";i:39;s:7:"FoxWiki";i:40;s:11:"FrWikiPedia";i:41;s:10:"FreeBSDman";i:42;s:12:"FreeNetworks";i:43;s:9:"FreshMeat";i:44;s:7:"Froogle";i:45;s:6:"Google";i:46;s:12:"GoogleGroups";i:47;s:11:"GreenCheese";i:48;s:11:"HammondWiki";i:49;s:8:"Haribeau";i:50;s:6:"IAWiki";i:51;s:4:"IMDB";i:52;s:4:"ISBN";i:53;s:5:"IfDef";i:54;s:3:"JTF";i:55;s:10:"JargonFile";i:56;s:8:"JiniWiki";i:57;s:7:"JspWiki";i:58;s:6:"KmWiki";i:59;s:7:"KnowHow";i:60;s:11:"LanifexWiki";i:61;s:8:"LegoWiki";i:62;s:9:"LinuxWiki";i:63;s:5:"LugKR";i:64;s:7:"MACCAWS";i:65;s:13:"MathSongsWiki";i:66;s:6:"MbTest";i:67;s:8:"MeatBall";i:68;s:8:"MetaWiki";i:69;s:13:"MetaWikiPedia";i:70;s:8:"MoinMoin";i:71;s:10:"MoinMaster";i:72;s:5:"MuWeb";i:73;s:10:"NetVillage";i:74;s:8:"OpenWiki";i:75;s:11:"OrgPatterns";i:76;s:3:"PPR";i:77;s:14:"PangalacticOrg";i:78;s:13:"PersonalTelco";i:79;s:12:"php-function";i:80;s:10:"php-lookup";i:81;s:7:"PhpWiki";i:82;s:10:"PhpWikiCvs";i:83;s:11:"PhpWikiDemo";i:84;s:11:"PhpWikiTest";i:85;s:5:"Pikie";i:86;s:11:"PlWikiPedia";i:87;s:13:"PolitizenWiki";i:88;s:11:"PoundPython";i:89;s:7:"PurlNet";i:90;s:6:"PyWiki";i:91;s:10:"PythonInfo";i:92;s:10:"PythonWiki";i:93;s:3:"RFC";i:94;s:14:"RussellFreedom";i:95;s:7:"SVGWiki";i:96;s:6:"SeaPig";i:97;s:15:"SeattleWireless";i:98;s:14:"SenseisLibrary";i:99;s:6:"Shakti";i:100;s:11:"SourceForge";i:101;s:6:"Squeak";i:102;s:10:"StrikiWiki";i:103;s:6:"TMwiki";i:104;s:5:"TWiki";i:105;s:4:"Tavi";i:106;s:9:"Thesaurus";i:107;s:6:"Thinki";i:108;s:5:"TmNet";i:109;s:6:"Unreal";i:110;s:6:"UseMod";i:111;s:11:"VisualWorks";i:112;s:9:"WakkaWiki";i:113;s:12:"WebDevWikiNL";i:114;s:12:"WebSeitzWiki";i:115;s:3:"Why";i:116;s:10:"Wiktionary";i:117;s:4:"Wiki";i:118;s:8:"WikiLens";i:119;s:16:"WikiWikiWireless";i:120;s:9:"Wikibooks";i:121;s:9:"WikiPedia";i:122;s:9:"Wikiquote";i:123;s:10:"Wikisource";i:124;s:9:"WikiWorld";i:125;s:14:"WikkiTikkiTavi";i:126;s:4:"WLUG";i:127;s:11:"YpsiEyeball";i:128;s:5:"ZWiki";i:129;s:6:"OsFaq2";i:130;s:6:"Upload";i:131;s:4:"User";i:132;s:4:"Talk";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/InterWikiSearch 1.3.14/tests/unit/.testbox/links/InterWikiSearch
--- 1.3.12p3/tests/unit/.testbox/links/InterWikiSearch	2006-06-18 06:19:52.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/InterWikiSearch	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:3:{i:0;s:12:"InterWikiMap";i:1;s:20:"ExternalSearchPlugin";i:2;s:10:"WikiPlugin";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/LikePages 1.3.14/tests/unit/.testbox/links/LikePages
--- 1.3.12p3/tests/unit/.testbox/links/LikePages	2006-06-18 06:19:52.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/LikePages	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:1:{i:0;s:9:"LikePages";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/LinkDatabase 1.3.14/tests/unit/.testbox/links/LinkDatabase
--- 1.3.12p3/tests/unit/.testbox/links/LinkDatabase	2006-06-18 06:19:52.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/LinkDatabase	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:0:{}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/LinkIcons 1.3.14/tests/unit/.testbox/links/LinkIcons
--- 1.3.12p3/tests/unit/.testbox/links/LinkIcons	2006-06-18 06:19:52.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/LinkIcons	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:4:{i:0;s:9:"LinkIcons";i:1;s:7:"PhpWiki";i:2;s:9:"InterWiki";i:9;s:20:"PhpWikiDocumentation";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/ListPagesPlugin 1.3.14/tests/unit/.testbox/links/ListPagesPlugin
--- 1.3.12p3/tests/unit/.testbox/links/ListPagesPlugin	2006-06-18 06:19:52.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/ListPagesPlugin	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:3:{i:0;s:15:"ListPagesPlugin";i:1;s:20:"PhpWikiDocumentation";i:2;s:10:"WikiPlugin";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/MagicPhpWikiURLs 1.3.14/tests/unit/.testbox/links/MagicPhpWikiURLs
--- 1.3.12p3/tests/unit/.testbox/links/MagicPhpWikiURLs	2006-06-18 06:19:52.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/MagicPhpWikiURLs	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:5:{i:0;s:7:"PhpWiki";i:1;s:14:"FullTextSearch";i:2;s:11:"TitleSearch";i:3;s:7:"SandBox";i:4;s:20:"PhpWikiDocumentation";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/ModeratedPage 1.3.14/tests/unit/.testbox/links/ModeratedPage
--- 1.3.12p3/tests/unit/.testbox/links/ModeratedPage	2006-06-18 06:19:52.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/ModeratedPage	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:4:{i:0;s:13:"ModeratedPage";i:4;s:15:"UserPreferences";i:11;s:20:"PhpWikiDocumentation";i:12;s:10:"WikiPlugin";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/MoreAboutMechanics 1.3.14/tests/unit/.testbox/links/MoreAboutMechanics
--- 1.3.12p3/tests/unit/.testbox/links/MoreAboutMechanics	2006-06-18 06:19:52.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/MoreAboutMechanics	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:6:{i:0;s:7:"PhpWiki";i:2;s:11:"WikiWikiWeb";i:4;s:11:"AddingPages";i:5;s:8:"WabiSabi";i:7;s:20:"PhpWikiDocumentation";i:8;s:12:"CategoryWiki";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/MostPopular 1.3.14/tests/unit/.testbox/links/MostPopular
--- 1.3.12p3/tests/unit/.testbox/links/MostPopular	2006-06-18 06:19:52.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/MostPopular	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:0:{}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/NewMarkupTestPage 1.3.14/tests/unit/.testbox/links/NewMarkupTestPage
--- 1.3.12p3/tests/unit/.testbox/links/NewMarkupTestPage	2006-06-18 06:19:52.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/NewMarkupTestPage	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:9:{i:0;s:8:"HomePage";i:3;s:24:"javascript:alert('oops')";i:4;s:5:"[Link";i:5;s:4:"Link";i:8;s:3:"%%%";i:9;s:14:"[not linked to";i:10;s:11:"NotLinkedTo";i:11;s:8:"WikiName";i:12;s:16:"WikiNameSameStem";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/OldMarkupTestPage 1.3.14/tests/unit/.testbox/links/OldMarkupTestPage
--- 1.3.12p3/tests/unit/.testbox/links/OldMarkupTestPage	2006-06-18 06:19:52.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/OldMarkupTestPage	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:9:{i:0;s:8:"HomePage";i:3;s:24:"javascript:alert('oops')";i:4;s:5:"[Link";i:5;s:4:"Link";i:8;s:3:"%%%";i:9;s:14:"[not linked to";i:10;s:11:"NotLinkedTo";i:11;s:8:"WikiName";i:12;s:16:"WikiNameSameStem";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/OldStyleTablePlugin 1.3.14/tests/unit/.testbox/links/OldStyleTablePlugin
--- 1.3.12p3/tests/unit/.testbox/links/OldStyleTablePlugin	2006-06-18 06:19:52.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/OldStyleTablePlugin	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:3:{i:0;s:19:"OldStyleTablePlugin";i:1;s:20:"PhpWikiDocumentation";i:2;s:10:"WikiPlugin";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/OldTextFormattingRules 1.3.14/tests/unit/.testbox/links/OldTextFormattingRules
--- 1.3.12p3/tests/unit/.testbox/links/OldTextFormattingRules	2006-06-18 06:19:52.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/OldTextFormattingRules	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:8:{i:0;s:22:"OldTextFormattingRules";i:1;s:19:"this is a page link";i:2;s:14:"UsingWikiWords";i:3;s:8:"HomePage";i:6;s:19:"TextFormatingsRules";i:7;s:19:"OldStyleTablePlugin";i:8;s:16:"MagicPhpWikiURLs";i:10;s:20:"PhpWikiDocumentation";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/OrphanedPages 1.3.14/tests/unit/.testbox/links/OrphanedPages
--- 1.3.12p3/tests/unit/.testbox/links/OrphanedPages	2006-06-18 06:19:52.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/OrphanedPages	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:1:{i:0;s:13:"OrphanedPages";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/PageDump 1.3.14/tests/unit/.testbox/links/PageDump
--- 1.3.12p3/tests/unit/.testbox/links/PageDump	2006-06-18 06:19:52.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/PageDump	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:3:{i:0;s:21:"PhpWikiAdministration";i:1;s:11:"TitleSearch";i:2;s:13:"PluginManager";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/PageGroupTest 1.3.14/tests/unit/.testbox/links/PageGroupTest
--- 1.3.12p3/tests/unit/.testbox/links/PageGroupTest	2006-06-18 06:19:52.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/PageGroupTest	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:5:{i:0;s:13:"PageGroupTest";i:1;s:16:"PageGroupTestOne";i:2;s:16:"PageGroupTestTwo";i:3;s:18:"PageGroupTestThree";i:4;s:17:"PageGroupTestFour";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/PageGroupTestFour 1.3.14/tests/unit/.testbox/links/PageGroupTestFour
--- 1.3.12p3/tests/unit/.testbox/links/PageGroupTestFour	2006-06-18 06:19:52.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/PageGroupTestFour	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:2:{i:0;s:16:"PageGroupTestOne";i:1;s:13:"PageGroupTest";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/PageGroupTestOne 1.3.14/tests/unit/.testbox/links/PageGroupTestOne
--- 1.3.12p3/tests/unit/.testbox/links/PageGroupTestOne	2006-06-18 06:19:52.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/PageGroupTestOne	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:1:{i:0;s:13:"PageGroupTest";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/PageGroupTestThree 1.3.14/tests/unit/.testbox/links/PageGroupTestThree
--- 1.3.12p3/tests/unit/.testbox/links/PageGroupTestThree	2006-06-18 06:19:53.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/PageGroupTestThree	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:0:{}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/PageGroupTestTwo 1.3.14/tests/unit/.testbox/links/PageGroupTestTwo
--- 1.3.12p3/tests/unit/.testbox/links/PageGroupTestTwo	2006-06-18 06:19:53.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/PageGroupTestTwo	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:2:{i:0;s:9:"BackLinks";i:1;s:13:"PageGroupTest";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/PageHistory 1.3.14/tests/unit/.testbox/links/PageHistory
--- 1.3.12p3/tests/unit/.testbox/links/PageHistory	2006-06-18 06:19:53.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/PageHistory	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:0:{}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/PageInfo 1.3.14/tests/unit/.testbox/links/PageInfo
--- 1.3.12p3/tests/unit/.testbox/links/PageInfo	2006-06-18 06:19:53.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/PageInfo	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:0:{}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/PagePermissions 1.3.14/tests/unit/.testbox/links/PagePermissions
--- 1.3.12p3/tests/unit/.testbox/links/PagePermissions	2006-06-18 06:19:53.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/PagePermissions	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:7:{i:0;s:7:"PhpWiki";i:1;s:9:"WikiGroup";i:2;s:4:"ToDo";i:4;s:8:"PageList";i:5;s:11:"ActionPages";i:7;s:8:"AllPages";i:8;s:20:"PhpWikiDocumentation";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/PgsrcTranslation 1.3.14/tests/unit/.testbox/links/PgsrcTranslation
--- 1.3.12p3/tests/unit/.testbox/links/PgsrcTranslation	2006-06-18 06:19:53.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/PgsrcTranslation	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:21:{i:0;s:7:"PhpWiki";i:1;s:19:"ConvertTabsToSpaces";i:2;s:28:"KonvertiereLeerzeichenZuTabs";i:3;s:23:"ConvierteEspaciosEnTabs";i:4;s:21:"ConvertirTabEnEspaces";i:5;s:21:"ConvertiGliSpaziInTab";i:6;s:22:"VertaalSpatiesNaarTabs";i:7;s:30:"KonverteraMellanslagTillTabbar";i:8;s:6:"KBrown";i:9;s:16:"MagicPhpWikiURLs";i:10;s:9:"BacASable";i:11;s:18:"URLMagiquesPhpWiki";i:13;s:16:"ToverPhpWikiURLs";i:14;s:7:"Accueil";i:15;s:8:"Framsida";i:16;s:9:"Gstboken";i:17;s:9:"Sandldan";i:18;s:22:"Textformateringsregler";i:20;s:10:"Historique";i:21;s:4:"Info";i:22;s:20:"PhpWikiDocumentation";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/PgsrcTranslation%2Fde 1.3.14/tests/unit/.testbox/links/PgsrcTranslation%2Fde
--- 1.3.12p3/tests/unit/.testbox/links/PgsrcTranslation%2Fde	2006-06-18 06:19:53.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/PgsrcTranslation%2Fde	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:2:{i:0;s:7:"PhpWiki";i:1;s:20:"PhpWikiDocumentation";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/PgsrcTranslation%2Fes 1.3.14/tests/unit/.testbox/links/PgsrcTranslation%2Fes
--- 1.3.12p3/tests/unit/.testbox/links/PgsrcTranslation%2Fes	2006-06-18 06:19:53.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/PgsrcTranslation%2Fes	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:2:{i:0;s:7:"PhpWiki";i:1;s:20:"PhpWikiDocumentation";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/PgsrcTranslation%2Ffr 1.3.14/tests/unit/.testbox/links/PgsrcTranslation%2Ffr
--- 1.3.12p3/tests/unit/.testbox/links/PgsrcTranslation%2Ffr	2006-06-18 06:19:53.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/PgsrcTranslation%2Ffr	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:2:{i:0;s:7:"PhpWiki";i:1;s:20:"PhpWikiDocumentation";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/PgsrcTranslation%2Fit 1.3.14/tests/unit/.testbox/links/PgsrcTranslation%2Fit
--- 1.3.12p3/tests/unit/.testbox/links/PgsrcTranslation%2Fit	2006-06-18 06:19:53.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/PgsrcTranslation%2Fit	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:2:{i:0;s:7:"PhpWiki";i:1;s:20:"PhpWikiDocumentation";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/PgsrcTranslation%2Fja 1.3.14/tests/unit/.testbox/links/PgsrcTranslation%2Fja
--- 1.3.12p3/tests/unit/.testbox/links/PgsrcTranslation%2Fja	2006-06-18 06:19:53.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/PgsrcTranslation%2Fja	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:2:{i:0;s:7:"PhpWiki";i:1;s:20:"PhpWikiDocumentation";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/PgsrcTranslation%2Fnl 1.3.14/tests/unit/.testbox/links/PgsrcTranslation%2Fnl
--- 1.3.12p3/tests/unit/.testbox/links/PgsrcTranslation%2Fnl	2006-06-18 06:19:53.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/PgsrcTranslation%2Fnl	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:2:{i:0;s:7:"PhpWiki";i:1;s:20:"PhpWikiDocumentation";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/PgsrcTranslation%2Fzh 1.3.14/tests/unit/.testbox/links/PgsrcTranslation%2Fzh
--- 1.3.12p3/tests/unit/.testbox/links/PgsrcTranslation%2Fzh	2006-06-18 06:19:53.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/PgsrcTranslation%2Fzh	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:2:{i:0;s:7:"PhpWiki";i:1;s:20:"PhpWikiDocumentation";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/PgsrcTranslation_sv 1.3.14/tests/unit/.testbox/links/PgsrcTranslation_sv
--- 1.3.12p3/tests/unit/.testbox/links/PgsrcTranslation_sv	2006-06-18 06:19:53.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/PgsrcTranslation_sv	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:2:{i:0;s:7:"PhpWiki";i:1;s:20:"PhpWikiDocumentation";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/PhotoAlbumPlugin 1.3.14/tests/unit/.testbox/links/PhotoAlbumPlugin
--- 1.3.12p3/tests/unit/.testbox/links/PhotoAlbumPlugin	2006-06-18 06:19:53.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/PhotoAlbumPlugin	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:2:{i:0;s:20:"PhpWikiDocumentation";i:1;s:10:"WikiPlugin";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/PhpHighlightPlugin 1.3.14/tests/unit/.testbox/links/PhpHighlightPlugin
--- 1.3.12p3/tests/unit/.testbox/links/PhpHighlightPlugin	2006-06-18 06:19:53.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/PhpHighlightPlugin	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:4:{i:0;s:18:"PhpHighlightPlugin";i:1;s:23:"SyntaxHighlighterPlugin";i:2;s:20:"PhpWikiDocumentation";i:3;s:10:"WikiPlugin";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/PhpWeatherPlugin 1.3.14/tests/unit/.testbox/links/PhpWeatherPlugin
--- 1.3.12p3/tests/unit/.testbox/links/PhpWeatherPlugin	2006-06-18 06:19:53.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/PhpWeatherPlugin	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:3:{i:0;s:10:"WikiPlugin";i:1;s:10:"PhpWeather";i:2;s:20:"PhpWikiDocumentation";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/PhpWiki 1.3.14/tests/unit/.testbox/links/PhpWiki
--- 1.3.12p3/tests/unit/.testbox/links/PhpWiki	2006-06-18 06:19:53.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/PhpWiki	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:2:{i:0;s:7:"PhpWiki";i:2;s:20:"PhpWikiDocumentation";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/PhpWikiAdministration 1.3.14/tests/unit/.testbox/links/PhpWikiAdministration
--- 1.3.12p3/tests/unit/.testbox/links/PhpWikiAdministration	2006-06-18 06:19:53.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/PhpWikiAdministration	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:10:{i:0;s:7:"PhpWiki";i:1;s:28:"PhpWikiAdministration/Remove";i:2;s:28:"PhpWikiAdministration/Rename";i:3;s:29:"PhpWikiAdministration/Replace";i:4;s:28:"PhpWikiAdministration/SetAcl";i:5;s:27:"PhpWikiAdministration/Chmod";i:6;s:27:"PhpWikiAdministration/Chown";i:7;s:7:"SandBox";i:10;s:8:"HomePage";i:11;s:20:"PhpWikiDocumentation";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/PhpWikiAdministration%2FChmod 1.3.14/tests/unit/.testbox/links/PhpWikiAdministration%2FChmod
--- 1.3.12p3/tests/unit/.testbox/links/PhpWikiAdministration%2FChmod	2006-06-18 06:19:53.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/PhpWikiAdministration%2FChmod	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:0:{}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/PhpWikiAdministration%2FChown 1.3.14/tests/unit/.testbox/links/PhpWikiAdministration%2FChown
--- 1.3.12p3/tests/unit/.testbox/links/PhpWikiAdministration%2FChown	2006-06-18 06:19:53.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/PhpWikiAdministration%2FChown	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:0:{}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/PhpWikiAdministration%2FRemove 1.3.14/tests/unit/.testbox/links/PhpWikiAdministration%2FRemove
--- 1.3.12p3/tests/unit/.testbox/links/PhpWikiAdministration%2FRemove	2006-06-18 06:19:53.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/PhpWikiAdministration%2FRemove	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:0:{}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/PhpWikiAdministration%2FRename 1.3.14/tests/unit/.testbox/links/PhpWikiAdministration%2FRename
--- 1.3.12p3/tests/unit/.testbox/links/PhpWikiAdministration%2FRename	2006-06-18 06:19:53.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/PhpWikiAdministration%2FRename	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:0:{}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/PhpWikiAdministration%2FReplace 1.3.14/tests/unit/.testbox/links/PhpWikiAdministration%2FReplace
--- 1.3.12p3/tests/unit/.testbox/links/PhpWikiAdministration%2FReplace	2006-06-18 06:19:53.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/PhpWikiAdministration%2FReplace	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:0:{}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/PhpWikiAdministration%2FSetAcl 1.3.14/tests/unit/.testbox/links/PhpWikiAdministration%2FSetAcl
--- 1.3.12p3/tests/unit/.testbox/links/PhpWikiAdministration%2FSetAcl	2006-06-18 06:19:53.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/PhpWikiAdministration%2FSetAcl	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:0:{}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/PhpWikiDocumentation 1.3.14/tests/unit/.testbox/links/PhpWikiDocumentation
--- 1.3.12p3/tests/unit/.testbox/links/PhpWikiDocumentation	2006-06-18 06:19:53.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/PhpWikiDocumentation	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:0:{}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/PhpWikiPoll 1.3.14/tests/unit/.testbox/links/PhpWikiPoll
--- 1.3.12p3/tests/unit/.testbox/links/PhpWikiPoll	2006-06-18 06:19:53.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/PhpWikiPoll	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:0:{}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/PhpWikiRecentChanges 1.3.14/tests/unit/.testbox/links/PhpWikiRecentChanges
--- 1.3.12p3/tests/unit/.testbox/links/PhpWikiRecentChanges	2006-06-18 06:19:53.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/PhpWikiRecentChanges	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:1:{i:0;s:20:"PhpWikiDocumentation";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/PloticusPlugin 1.3.14/tests/unit/.testbox/links/PloticusPlugin
--- 1.3.12p3/tests/unit/.testbox/links/PloticusPlugin	2006-06-18 06:19:53.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/PloticusPlugin	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:1:{i:0;s:10:"WikiPlugin";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/PluginManager 1.3.14/tests/unit/.testbox/links/PluginManager
--- 1.3.12p3/tests/unit/.testbox/links/PluginManager	2006-06-18 06:19:54.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/PluginManager	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:21:{i:0;s:7:"PhpWiki";i:1;s:10:"WikiPlugin";i:2;s:16:"HelloWorldPlugin";i:4;s:14:"TexToPngPlugin";i:5;s:14:"GraphVizPlugin";i:6;s:16:"VisualWikiPlugin";i:7;s:14:"PloticusPlugin";i:8;s:16:"PhpWeatherPlugin";i:9;s:23:"SyntaxHighlighterPlugin";i:10;s:16:"TranscludePlugin";i:11;s:11:"WhoIsOnline";i:12;s:14:"ProjectSummary";i:13;s:14:"RecentReleases";i:14;s:10:"HtmlParser";i:15;s:10:"ImportHtml";i:16;s:15:"HtmlAreaEditing";i:17;s:23:"PageChangeNotifications";i:18;s:13:"ModeratedPage";i:19;s:12:"GooglePlugin";i:20;s:6:"RateIt";i:21;s:20:"PhpWikiDocumentation";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/ProjectSummary 1.3.14/tests/unit/.testbox/links/ProjectSummary
--- 1.3.12p3/tests/unit/.testbox/links/ProjectSummary	2006-06-18 06:19:54.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/ProjectSummary	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:0:{}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/RandomPage 1.3.14/tests/unit/.testbox/links/RandomPage
--- 1.3.12p3/tests/unit/.testbox/links/RandomPage	2006-06-18 06:19:54.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/RandomPage	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:0:{}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/RateIt 1.3.14/tests/unit/.testbox/links/RateIt
--- 1.3.12p3/tests/unit/.testbox/links/RateIt	2006-06-18 06:19:54.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/RateIt	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:0:{}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/RawHtmlPlugin 1.3.14/tests/unit/.testbox/links/RawHtmlPlugin
--- 1.3.12p3/tests/unit/.testbox/links/RawHtmlPlugin	2006-06-18 06:19:54.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/RawHtmlPlugin	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:2:{i:0;s:20:"PhpWikiDocumentation";i:1;s:10:"WikiPlugin";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/RecentChanges 1.3.14/tests/unit/.testbox/links/RecentChanges
--- 1.3.12p3/tests/unit/.testbox/links/RecentChanges	2006-06-18 06:19:54.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/RecentChanges	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:1:{i:0;s:11:"RecentEdits";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/RecentComments 1.3.14/tests/unit/.testbox/links/RecentComments
--- 1.3.12p3/tests/unit/.testbox/links/RecentComments	2006-06-18 06:19:54.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/RecentComments	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:0:{}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/RecentEdits 1.3.14/tests/unit/.testbox/links/RecentEdits
--- 1.3.12p3/tests/unit/.testbox/links/RecentEdits	2006-06-18 06:19:54.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/RecentEdits	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:1:{i:0;s:13:"RecentChanges";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/RecentReleases 1.3.14/tests/unit/.testbox/links/RecentReleases
--- 1.3.12p3/tests/unit/.testbox/links/RecentReleases	2006-06-18 06:19:54.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/RecentReleases	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:0:{}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/RecentVisitors 1.3.14/tests/unit/.testbox/links/RecentVisitors
--- 1.3.12p3/tests/unit/.testbox/links/RecentVisitors	2006-06-18 06:19:54.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/RecentVisitors	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:0:{}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/RedirectToPlugin 1.3.14/tests/unit/.testbox/links/RedirectToPlugin
--- 1.3.12p3/tests/unit/.testbox/links/RedirectToPlugin	2006-06-18 06:19:54.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/RedirectToPlugin	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:4:{i:0;s:16:"RedirectToPlugin";i:2;s:8:"HomePage";i:3;s:13:"HomePageAlias";i:4;s:20:"PhpWikiDocumentation";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/RelatedChanges 1.3.14/tests/unit/.testbox/links/RelatedChanges
--- 1.3.12p3/tests/unit/.testbox/links/RelatedChanges	2006-06-18 06:19:54.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/RelatedChanges	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:0:{}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/ReleaseNotes 1.3.14/tests/unit/.testbox/links/ReleaseNotes
--- 1.3.12p3/tests/unit/.testbox/links/ReleaseNotes	2006-06-18 06:19:54.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/ReleaseNotes	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:150:{i:0;s:20:"ReleaseNotes/Subpage";i:1;s:9:"BogoLogin";i:2;s:13:"PdoDbPassUser";i:3;s:9:"ImageTile";i:4;s:8:"WikiLink";i:5;s:15:"TextSearchQuery";i:6;s:10:"RevertPage";i:7;s:12:"CalendarList";i:8;s:8:"GraphViz";i:9;s:13:"PasswordReset";i:10;s:6:"RateIt";i:11;s:8:"AuthInfo";i:12;s:14:"RelatedChanges";i:13;s:8:"WikiUser";i:14;s:13:"HomepagePrefs";i:15;s:19:"PluginToolbarButton";i:16;s:9:"CreateBib";i:17;s:7:"SiteMap";i:18;s:9:"ZipReader";i:19;s:12:"InterWikiMap";i:21;s:11:"WantedPages";i:22;s:10:"GoogleMaps";i:23;s:9:"ListPages";i:24;s:9:"PageTrail";i:25;s:15:"WikiTranslation";i:26;s:12:"EditToolbars";i:27;s:18:"TextTransformation";i:29;s:10:"SystemInfo";i:30;s:10:"VisualWiki";i:31;s:13:"SpamBlocklist";i:32;s:8:"FileInfo";i:33;s:10:"PhotoAlbum";i:34;s:20:"OldStyleTablesPlugin";i:35;s:14:"OldStyleTables";i:36;s:15:"WikiAdminSelect";i:37;s:9:"OldMarkup";i:38;s:7:"PhpWiki";i:39;s:8:"PageList";i:40;s:9:"WikiGroup";i:41;s:13:"PluginManager";i:42;s:14:"ArchiveCleaner";i:43;s:13:"RssFeedPlugin";i:44;s:13:"TranslateText";i:46;s:12:"UpLoadPlugin";i:47;s:15:"CreateTocPlugin";i:49;s:15:"UserPreferences";i:50;s:12:"GooglePlugin";i:51;s:16:"AddCommentPlugin";i:53;s:14:"WikiAdminUtils";i:54;s:10:"FileFinder";i:55;s:8:"WikiLens";i:56;s:20:"ExternalSearchPlugin";i:58;s:8:"PageDump";i:59;s:10:"ViewSource";i:62;s:9:"SqlResult";i:63;s:22:"OldTextFormattingRules";i:64;s:21:"PhpWikiAdministration";i:65;s:13:"RecentChanges";i:67;s:9:"DbSession";i:70;s:11:"AddCategory";i:71;s:9:"AddPlugin";i:73;s:10:"PluginName";i:74;s:12:"IncludePages";i:75;s:16:"CreatePagePlugin";i:79;s:8:"WikiSpam";i:80;s:12:"SpamAssassin";i:81;s:16:"WikiPluginCached";i:82;s:17:"SyntaxHighlighter";i:83;s:14:"PloticusPlugin";i:85;s:9:"WikiAdmin";i:86;s:8:"AllPages";i:87;s:19:"AllPagesCreatedByMe";i:88;s:22:"AllPagesLastEditedByMe";i:89;s:17:"AllPagesOwnedByMe";i:90;s:15:"SearchHighlight";i:91;s:10:"LiveSearch";i:92;s:13:"OverWrite All";i:93;s:16:"Load & OverWrite";i:95;s:22:"PageChangeNotification";i:96;s:16:"AppendTextPlugin";i:99;s:34:"Purge all empty unreferenced pages";i:100;s:19:"Convert cached_html";i:101;s:13:"ModeratedPage";i:102;s:21:"] old markup [Convert";i:103;s:12:"LinkDatabase";i:104;s:9:"AsciiMath";i:105;s:25:"AnalyseAccessLogSqlPlugin";i:106;s:14:"TemplatePlugin";i:108;s:13:"WhichDatabase";i:111;s:11:"MostPopular";i:113;s:14:"WikiNameRegexp";i:114;s:11:"TitleSearch";i:116;s:9:"FrontPage";i:118;s:9:"RichTable";i:119;s:10:"PrettyWiki";i:120;s:15:"WikiAdminRemove";i:124;s:9:"PageGroup";i:125;s:5:"links";i:126;s:10:"HttpClient";i:127;s:7:"RssFeed";i:128;s:9:"CreateToc";i:130;s:12:"ReleaseNotes";i:132;s:8:"WikiName";i:134;s:12:"InlineParser";i:135;s:13:"PopularNearby";i:137;s:10:"GoogleLink";i:138;s:1:"G";i:146;s:6:"UpLoad";i:148;s:10:"DbPassUser";i:149;s:4:"GoTo";i:151;s:11:"WikiUserNew";i:152;s:11:"WhoIsOnline";i:154;s:15:"PagePermissions";i:155;s:15:"WikiAdminRename";i:156;s:22:"WikiAdminSearchReplace";i:157;s:15:"WikiAdminSetAcl";i:158;s:8:"WikiPoll";i:161;s:10:"AddComment";i:164;s:7:"NoCache";i:166;s:10:"NathanGass";i:167;s:14:"IncludeSiteMap";i:169;s:10:"CreatePage";i:172;s:9:"InterWiki";i:175;s:17:"EmailVerification";i:178;s:13:"OldStyleTable";i:180;s:9:"PdfOutput";i:183;s:11:"BlockParser";i:184;s:14:"UnfoldSubpages";i:185;s:12:"EditMetaData";i:186;s:13:"MichaelVanDam";i:187;s:18:"UserFileManagement";i:188;s:16:"UserRegistration";i:189;s:8:"PageType";i:190;s:15:"InterWikiSearch";i:192;s:8:"WikiBlog";i:194;s:12:"PersonalPage";i:198;s:8:"AllUsers";i:200;s:10:"RedirectTo";i:204;s:8:"TexToPng";i:205;s:10:"PhpWeather";i:206;s:8:"PrevNext";i:207;s:11:"IncludePage";i:208;s:12:"FrameInclude";i:211;s:10:"WikiPlugin";i:216;s:16:"MagicPhpWikiURLs";i:223;s:18:"new linking scheme";i:226;s:11:"WikiWikiWeb";i:227;s:8:"EditCopy";i:230;s:14:"SteveWainstead";i:231;s:20:"PhpWikiDocumentation";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/RichTablePlugin 1.3.14/tests/unit/.testbox/links/RichTablePlugin
--- 1.3.12p3/tests/unit/.testbox/links/RichTablePlugin	2006-06-18 06:19:54.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/RichTablePlugin	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:4:{i:0;s:15:"RichTablePlugin";i:1;s:19:"OldStyleTablePlugin";i:2;s:20:"PhpWikiDocumentation";i:3;s:10:"WikiPlugin";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/RssFeedPlugin 1.3.14/tests/unit/.testbox/links/RssFeedPlugin
--- 1.3.12p3/tests/unit/.testbox/links/RssFeedPlugin	2006-06-18 06:19:54.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/RssFeedPlugin	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:3:{i:0;s:10:"WikiPlugin";i:1;s:10:"PhpWikiRss";i:2;s:20:"PhpWikiDocumentation";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/SandBox 1.3.14/tests/unit/.testbox/links/SandBox
--- 1.3.12p3/tests/unit/.testbox/links/SandBox	2006-06-18 06:19:54.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/SandBox	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:0:{}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/SearchHighlight 1.3.14/tests/unit/.testbox/links/SearchHighlight
--- 1.3.12p3/tests/unit/.testbox/links/SearchHighlight	2006-06-18 06:19:54.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/SearchHighlight	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:0:{}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/SearchHighlightPlugin 1.3.14/tests/unit/.testbox/links/SearchHighlightPlugin
--- 1.3.12p3/tests/unit/.testbox/links/SearchHighlightPlugin	2006-06-18 06:19:54.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/SearchHighlightPlugin	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:2:{i:0;s:15:"SearchHighLight";i:1;s:10:"WikiPlugin";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/SteveWainstead 1.3.14/tests/unit/.testbox/links/SteveWainstead
--- 1.3.12p3/tests/unit/.testbox/links/SteveWainstead	2006-06-18 06:19:54.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/SteveWainstead	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:1:{i:0;s:11:"WikiWikiWeb";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/SyntaxHighlighterPlugin 1.3.14/tests/unit/.testbox/links/SyntaxHighlighterPlugin
--- 1.3.12p3/tests/unit/.testbox/links/SyntaxHighlighterPlugin	2006-06-18 06:19:54.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/SyntaxHighlighterPlugin	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:2:{i:0;s:20:"PhpWikiDocumentation";i:1;s:10:"WikiPlugin";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/SystemInfoPlugin 1.3.14/tests/unit/.testbox/links/SystemInfoPlugin
--- 1.3.12p3/tests/unit/.testbox/links/SystemInfoPlugin	2006-06-18 06:19:54.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/SystemInfoPlugin	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:4:{i:0;s:16:"SystemInfoPlugin";i:1;s:7:"PhpWiki";i:2;s:20:"PhpWikiDocumentation";i:3;s:10:"WikiPlugin";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/TemplateExample 1.3.14/tests/unit/.testbox/links/TemplateExample
--- 1.3.12p3/tests/unit/.testbox/links/TemplateExample	2006-06-18 06:19:54.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/TemplateExample	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:0:{}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/TemplatePlugin 1.3.14/tests/unit/.testbox/links/TemplatePlugin
--- 1.3.12p3/tests/unit/.testbox/links/TemplatePlugin	2006-06-18 06:19:54.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/TemplatePlugin	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:6:{i:0;s:10:"CreatePage";i:1;s:12:"InlineParser";i:2;s:15:"TemplateExample";i:4;s:9:"TestTitle";i:5;s:20:"PhpWikiDocumentation";i:6;s:10:"WikiPlugin";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/TeX2pngPlugin 1.3.14/tests/unit/.testbox/links/TeX2pngPlugin
--- 1.3.12p3/tests/unit/.testbox/links/TeX2pngPlugin	2006-06-18 06:19:54.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/TeX2pngPlugin	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:2:{i:0;s:10:"WikiPlugin";i:1;s:20:"PhpWikiDocumentation";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/TextFormattingRules 1.3.14/tests/unit/.testbox/links/TextFormattingRules
--- 1.3.12p3/tests/unit/.testbox/links/TextFormattingRules	2006-06-18 06:19:54.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/TextFormattingRules	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:11:{i:0;s:19:"TextFormattingRules";i:2;s:13:"RawHtmlPlugin";i:3;s:9:"WikiLinks";i:4;s:19:"this is a page link";i:5;s:14:"UsingWikiWords";i:6;s:8:"HomePage";i:8;s:19:"OldStyleTablePlugin";i:9;s:16:"MagicPhpWikiURLs";i:10;s:10:"WikiPlugin";i:11;s:13:"PluginManager";i:12;s:20:"PhpWikiDocumentation";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/TitleSearch 1.3.14/tests/unit/.testbox/links/TitleSearch
--- 1.3.12p3/tests/unit/.testbox/links/TitleSearch	2006-06-18 06:19:54.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/TitleSearch	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:1:{i:0;s:8:"FindPage";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/TranscludePlugin 1.3.14/tests/unit/.testbox/links/TranscludePlugin
--- 1.3.12p3/tests/unit/.testbox/links/TranscludePlugin	2006-06-18 06:19:54.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/TranscludePlugin	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:2:{i:0;s:16:"TranscludePlugin";i:1;s:10:"JavaScript";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/TranslateText 1.3.14/tests/unit/.testbox/links/TranslateText
--- 1.3.12p3/tests/unit/.testbox/links/TranslateText	2006-06-18 06:19:54.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/TranslateText	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:0:{}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/UnfoldSubpagesPlugin 1.3.14/tests/unit/.testbox/links/UnfoldSubpagesPlugin
--- 1.3.12p3/tests/unit/.testbox/links/UnfoldSubpagesPlugin	2006-06-18 06:19:54.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/UnfoldSubpagesPlugin	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:4:{i:0;s:10:"WikiPlugin";i:1;s:14:"WikiBlogPlugin";i:2;s:14:"CalendarPlugin";i:3;s:20:"PhpWikiDocumentation";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/UpLoad 1.3.14/tests/unit/.testbox/links/UpLoad
--- 1.3.12p3/tests/unit/.testbox/links/UpLoad	2006-06-18 06:19:55.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/UpLoad	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:0:{}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/UpLoadPlugin 1.3.14/tests/unit/.testbox/links/UpLoadPlugin
--- 1.3.12p3/tests/unit/.testbox/links/UpLoadPlugin	2006-06-18 06:19:55.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/UpLoadPlugin	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:4:{i:0;s:6:"UpLoad";i:1;s:10:"WikiPlugin";i:2;s:12:"InterWikiMap";i:3;s:20:"PhpWikiDocumentation";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/UserPreferences 1.3.14/tests/unit/.testbox/links/UserPreferences
--- 1.3.12p3/tests/unit/.testbox/links/UserPreferences	2006-06-18 06:19:55.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/UserPreferences	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:0:{}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/WabiSabi 1.3.14/tests/unit/.testbox/links/WabiSabi
--- 1.3.12p3/tests/unit/.testbox/links/WabiSabi	2006-06-18 06:19:55.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/WabiSabi	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:1:{i:0;s:20:"PhpWikiDocumentation";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/WantedPages 1.3.14/tests/unit/.testbox/links/WantedPages
--- 1.3.12p3/tests/unit/.testbox/links/WantedPages	2006-06-18 06:19:55.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/WantedPages	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:0:{}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/WhoIsOnline 1.3.14/tests/unit/.testbox/links/WhoIsOnline
--- 1.3.12p3/tests/unit/.testbox/links/WhoIsOnline	2006-06-18 06:19:55.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/WhoIsOnline	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:0:{}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/WikiAdminSelect 1.3.14/tests/unit/.testbox/links/WikiAdminSelect
--- 1.3.12p3/tests/unit/.testbox/links/WikiAdminSelect	2006-06-18 06:19:55.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/WikiAdminSelect	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:0:{}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/WikiBlogPlugin 1.3.14/tests/unit/.testbox/links/WikiBlogPlugin
--- 1.3.12p3/tests/unit/.testbox/links/WikiBlogPlugin	2006-06-18 06:19:55.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/WikiBlogPlugin	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:3:{i:0;s:13:"RecentChanges";i:1;s:20:"PhpWikiDocumentation";i:2;s:10:"WikiPlugin";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/WikiPlugin 1.3.14/tests/unit/.testbox/links/WikiPlugin
--- 1.3.12p3/tests/unit/.testbox/links/WikiPlugin	2006-06-18 06:19:55.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/WikiPlugin	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:15:{i:0;s:7:"PhpWiki";i:2;s:13:"PluginManager";i:3;s:16:"HelloWorldPlugin";i:5;s:10:"WikiPlugin";i:7;s:16:"MagicPhpWikiURLs";i:8;s:9:"BackLinks";i:12;s:13:"RecentChanges";i:13;s:11:"RecentEdits";i:14;s:11:"MostPopular";i:15;s:12:"LeastPopular";i:16;s:8:"AllPages";i:17;s:19:"AllPagesCreatedByMe";i:18;s:22:"AllPagesLastEditedByMe";i:19;s:17:"AllPagesOwnedByMe";i:21;s:20:"PhpWikiDocumentation";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/links/WikiWikiWeb 1.3.14/tests/unit/.testbox/links/WikiWikiWeb
--- 1.3.12p3/tests/unit/.testbox/links/WikiWikiWeb	2006-06-18 06:19:55.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/links/WikiWikiWeb	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:9:{i:0;s:11:"WikiWikiWeb";i:1;s:8:"EditText";i:2;s:8:"FindPage";i:3;s:8:"WabiSabi";i:4;s:14:"RecentVisitors";i:5;s:12:"HowToUseWiki";i:6;s:11:"AddingPages";i:7;s:14:"SteveWainstead";i:8;s:20:"PhpWikiDocumentation";}
\ No newline at end of file
Binary files 1.3.12p3/tests/unit/.testbox/page_data/AddCommentPlugin and 1.3.14/tests/unit/.testbox/page_data/AddCommentPlugin differ
Binary files 1.3.12p3/tests/unit/.testbox/page_data/AddingPages and 1.3.14/tests/unit/.testbox/page_data/AddingPages differ
diff -ruN 1.3.12p3/tests/unit/.testbox/page_data/AllPages 1.3.14/tests/unit/.testbox/page_data/AllPages
--- 1.3.12p3/tests/unit/.testbox/page_data/AllPages	2006-06-18 06:19:55.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/page_data/AllPages	1969-12-31 18:00:00.000000000 -0600
@@ -1,4 +0,0 @@
-a:3:{s:4:"date";i:1068942342;s:8:"pagename";s:8:"AllPages";s:12:"_cached_html";s:311:"xUAO0
-+g7nqҬ6[8y	E
;&(! xZk̞QxToN1+nei@_PUl6R@~dӪ#(#Cx7ߺs/RK5н
-;
Bie/-H{%ap0%U)!ωYbNZܢO#aB
-:RHsLן(0J<T_Oc
ÛCK)+NphajuzMWJyzd1xN[@q";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/page_data/AllPagesCreatedByMe 1.3.14/tests/unit/.testbox/page_data/AllPagesCreatedByMe
--- 1.3.12p3/tests/unit/.testbox/page_data/AllPagesCreatedByMe	2006-06-18 06:19:55.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/page_data/AllPagesCreatedByMe	1969-12-31 18:00:00.000000000 -0600
@@ -1,2 +0,0 @@
-a:3:{s:4:"date";i:1087141086;s:8:"pagename";s:19:"AllPagesCreatedByMe";s:12:"_cached_html";s:285:"xEAO0
-+'ܮpƁBUfEH&ۨwU(?fw(b/mظGQF򠉃ע\av˭Nuso9ǀe	eOƼs^z-nQl6R&yZ)(a!.uϽHێ7h΋`(DpHנ&eX0-\n$.v|nDIݼ@txے%wd,S(yA1=9j3";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/page_data/AllPagesLastEditedByMe 1.3.14/tests/unit/.testbox/page_data/AllPagesLastEditedByMe
--- 1.3.12p3/tests/unit/.testbox/page_data/AllPagesLastEditedByMe	2006-06-18 06:19:55.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/page_data/AllPagesLastEditedByMe	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:3:{s:4:"date";i:1087141086;s:8:"pagename";s:22:"AllPagesLastEditedByMe";s:12:"_cached_html";s:292:"xE=O0w~,4B%Mli,mnKTsRX,ߏ%7( mڨiQ+Q,1EFO}<L	\ˠE,C`]Ë%}_;gQ4&4Osl#C?Yԛ^ʵQ{u({0-@$Cd6nyэ$ʙ.D1YMڛF[mw`"	EX08W:Xb*͸$rF-i=";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/page_data/AllPagesOwnedByMe 1.3.14/tests/unit/.testbox/page_data/AllPagesOwnedByMe
--- 1.3.12p3/tests/unit/.testbox/page_data/AllPagesOwnedByMe	2006-06-18 06:19:55.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/page_data/AllPagesOwnedByMe	1969-12-31 18:00:00.000000000 -0600
@@ -1,3 +0,0 @@
-a:3:{s:4:"date";i:1087141086;s:8:"pagename";s:17:"AllPagesOwnedByMe";s:12:"_cached_html";s:276:"xEN0w	ڤB%M*B\c[UywΩ
-}cr"T	7xȋ2LD-Ź՗:sk<<HO_'xP<.+k 2-
-AVG~+E.wAM{G`jc&;-\4 {9jFO7W"SptUGu*2:(1R\F%ۏOK	iQfs<<rAF<΁";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/page_data/AllUsers 1.3.14/tests/unit/.testbox/page_data/AllUsers
--- 1.3.12p3/tests/unit/.testbox/page_data/AllUsers	2006-06-18 06:19:55.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/page_data/AllUsers	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:3:{s:4:"date";i:1100870856;s:8:"pagename";s:8:"AllUsers";s:12:"_cached_html";s:396:"xڍ?o0w>sUH9TݺTt:"UcGVs:Dݻ3l"zi5U>1raZ9f(ZYS/vCY@ޡx2-B9F1kyv3AQTzďoYoʥ!ѭEL@`tV M	A#*QBXm*j<ؐv&HCAOb1KC`PO4L1BhAF0$ .m9(ry>iޚM[dCSEfc/S<])O(.N2׷TF(޹څ:&IG2ܜG_3'</>Q";}
\ No newline at end of file
Binary files 1.3.12p3/tests/unit/.testbox/page_data/AnalyseAccessLogSqlPlugin and 1.3.14/tests/unit/.testbox/page_data/AnalyseAccessLogSqlPlugin differ
diff -ruN 1.3.12p3/tests/unit/.testbox/page_data/AppendText 1.3.14/tests/unit/.testbox/page_data/AppendText
--- 1.3.12p3/tests/unit/.testbox/page_data/AppendText	2006-06-18 06:19:55.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/page_data/AppendText	1969-12-31 18:00:00.000000000 -0600
@@ -1,3 +0,0 @@
-a:3:{s:4:"date";i:1101390961;s:8:"pagename";s:10:"AppendText";s:12:"_cached_html";s:203:"xEAN0E"8B-%'}:C:jpڔVUΘ
-Xӟwh@BzO<ddB[|Lvfn2_r;W$<+w@6A1r
-~jrRz䎬Ǧy<q%H8eM(cտ@~L#A-~򡵋QmU{ ,Z";}
\ No newline at end of file
Binary files 1.3.12p3/tests/unit/.testbox/page_data/AppendTextPlugin and 1.3.14/tests/unit/.testbox/page_data/AppendTextPlugin differ
Binary files 1.3.12p3/tests/unit/.testbox/page_data/_AuthInfo and 1.3.14/tests/unit/.testbox/page_data/_AuthInfo differ
Binary files 1.3.12p3/tests/unit/.testbox/page_data/AuthorHistoryPlugin and 1.3.14/tests/unit/.testbox/page_data/AuthorHistoryPlugin differ
diff -ruN 1.3.12p3/tests/unit/.testbox/page_data/BackLinks 1.3.14/tests/unit/.testbox/page_data/BackLinks
--- 1.3.12p3/tests/unit/.testbox/page_data/BackLinks	2006-06-18 06:19:55.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/page_data/BackLinks	1969-12-31 18:00:00.000000000 -0600
@@ -1,2 +0,0 @@
-a:3:{s:4:"date";i:1012170535;s:8:"pagename";s:9:"BackLinks";s:12:"_cached_html";s:418:"xڭOo0-vˀEc"Jr!wiOwnşuQ?N^cئ=QZfRo_@.SԟY3Eʱb+Cw	]RGO]31>j_[v]|o-yZ߀:#bZhR%
!o&9$Ui'.3wSH
D8.4`OOl;aΐus3ej)d}5[L Q,}7ɑ{Egʊ~3
-jƷ; 7ۈ]'98ߢ1p\t6_WӬ)/8tYtm~\TV!g|#PԻ</y9s^z";}
\ No newline at end of file
Binary files 1.3.12p3/tests/unit/.testbox/page_data/CalendarListPlugin and 1.3.14/tests/unit/.testbox/page_data/CalendarListPlugin differ
Binary files 1.3.12p3/tests/unit/.testbox/page_data/CalendarPlugin and 1.3.14/tests/unit/.testbox/page_data/CalendarPlugin differ
Binary files 1.3.12p3/tests/unit/.testbox/page_data/CategoryCategory and 1.3.14/tests/unit/.testbox/page_data/CategoryCategory differ
Binary files 1.3.12p3/tests/unit/.testbox/page_data/CategoryGroup and 1.3.14/tests/unit/.testbox/page_data/CategoryGroup differ
diff -ruN 1.3.12p3/tests/unit/.testbox/page_data/CategoryHomePages 1.3.14/tests/unit/.testbox/page_data/CategoryHomePages
--- 1.3.12p3/tests/unit/.testbox/page_data/CategoryHomePages	2006-06-18 06:19:55.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/page_data/CategoryHomePages	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:3:{s:4:"date";i:1029880402;s:8:"pagename";s:17:"CategoryHomePages";s:12:"_cached_html";s:283:"xUAn0E9@!.tLac[Iw8$i<~ހFPH~ae^|ёfnR:H~ow`eGE*9`$X<Ad5JIv`qUuaթ!Ml*hqeR-EHWTcnje'Y*&8|{dm-Efon4ޛnLBKeXA>^Bz0_cͰU2[ZXrIB{";}
\ No newline at end of file
Binary files 1.3.12p3/tests/unit/.testbox/page_data/CommentPlugin and 1.3.14/tests/unit/.testbox/page_data/CommentPlugin differ
diff -ruN 1.3.12p3/tests/unit/.testbox/page_data/CreatePage 1.3.14/tests/unit/.testbox/page_data/CreatePage
--- 1.3.12p3/tests/unit/.testbox/page_data/CreatePage	2006-06-18 06:19:55.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/page_data/CreatePage	1969-12-31 18:00:00.000000000 -0600
@@ -1,2 +0,0 @@
-a:3:{s:4:"date";i:1077376248;s:8:"pagename";s:10:"CreatePage";s:12:"_cached_html";s:202:"xEAn@E"H&BE@o	$L)xwX,H>ȗX-xZNs+'yr9ަ+8`9oT>`)7a9sWrVǦDpCӊE=I
-ԃeol[=L#Q-hqPIQ*RNZ/";}
\ No newline at end of file
Binary files 1.3.12p3/tests/unit/.testbox/page_data/CreatePagePlugin and 1.3.14/tests/unit/.testbox/page_data/CreatePagePlugin differ
Binary files 1.3.12p3/tests/unit/.testbox/page_data/CreateTocPlugin and 1.3.14/tests/unit/.testbox/page_data/CreateTocPlugin differ
Binary files 1.3.12p3/tests/unit/.testbox/page_data/DebugInfo and 1.3.14/tests/unit/.testbox/page_data/DebugInfo differ
Binary files 1.3.12p3/tests/unit/.testbox/page_data/EditMetaData and 1.3.14/tests/unit/.testbox/page_data/EditMetaData differ
Binary files 1.3.12p3/tests/unit/.testbox/page_data/EditMetaDataPlugin and 1.3.14/tests/unit/.testbox/page_data/EditMetaDataPlugin differ
diff -ruN 1.3.12p3/tests/unit/.testbox/page_data/EditText 1.3.14/tests/unit/.testbox/page_data/EditText
--- 1.3.12p3/tests/unit/.testbox/page_data/EditText	2006-06-18 06:19:56.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/page_data/EditText	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:3:{s:4:"date";i:1012170535;s:8:"pagename";s:8:"EditText";s:12:"_cached_html";s:343:"xڥQj0+OۥmҎJl0;j46۵+vJ$=?Ehe?m*!#VHdKLQ8X),/	oҗ+e@
iO_$(AGC[nP5ANOu
q:(r<VihoA=l@d(}(4U4`ߖJ{6 Ig( 4AiC@^bn%'+Ӭ<56?hT|Q[OQDW]Sڽ3٪ݖ#ygsM8b$s\UUk8?c";}
\ No newline at end of file
Binary files 1.3.12p3/tests/unit/.testbox/page_data/ExternalSearchPlugin and 1.3.14/tests/unit/.testbox/page_data/ExternalSearchPlugin differ
Binary files 1.3.12p3/tests/unit/.testbox/page_data/FindPage and 1.3.14/tests/unit/.testbox/page_data/FindPage differ
Binary files 1.3.12p3/tests/unit/.testbox/page_data/FoafViewerPlugin and 1.3.14/tests/unit/.testbox/page_data/FoafViewerPlugin differ
Binary files 1.3.12p3/tests/unit/.testbox/page_data/FrameIncludePlugin and 1.3.14/tests/unit/.testbox/page_data/FrameIncludePlugin differ
diff -ruN 1.3.12p3/tests/unit/.testbox/page_data/FullRecentChanges 1.3.14/tests/unit/.testbox/page_data/FullRecentChanges
--- 1.3.12p3/tests/unit/.testbox/page_data/FullRecentChanges	2006-06-18 06:19:56.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/page_data/FullRecentChanges	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:3:{s:4:"date";i:1012170535;s:8:"pagename";s:17:"FullRecentChanges";s:12:"_cached_html";s:438:"xڭRn0)]nY=-v+=@JVKiyv6(E~Cx$EhK׬u P<lk-2HQ
n5kowc~BRv=7~p6PULRd%>Aa3qbȳXhR-jҍ4[(ZXg!Tu64*[;FإЂ<%Qekݠ}29FtrJy4rGP"onYүGCjHi8-4ς"]LU֯^V5{,iD$6ZOP=HKY1-7`pj_^f)=I,mGi4At=.c[	YO®]rYneRc||g&|cYdt*";}
\ No newline at end of file
Binary files 1.3.12p3/tests/unit/.testbox/page_data/FullTextSearch and 1.3.14/tests/unit/.testbox/page_data/FullTextSearch differ
Binary files 1.3.12p3/tests/unit/.testbox/page_data/FuzzyPages and 1.3.14/tests/unit/.testbox/page_data/FuzzyPages differ
diff -ruN 1.3.12p3/tests/unit/.testbox/page_data/global_data 1.3.14/tests/unit/.testbox/page_data/global_data
--- 1.3.12p3/tests/unit/.testbox/page_data/global_data	2006-06-18 06:19:56.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/page_data/global_data	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:2:{s:8:"__global";a:1:{s:10:"_timestamp";a:2:{i:0;i:1150625928;i:1;i:128;}}s:8:"pagename";s:11:"global_data";}
\ No newline at end of file
Binary files 1.3.12p3/tests/unit/.testbox/page_data/GoodStyle and 1.3.14/tests/unit/.testbox/page_data/GoodStyle differ
Binary files 1.3.12p3/tests/unit/.testbox/page_data/GoogleLink and 1.3.14/tests/unit/.testbox/page_data/GoogleLink differ
Binary files 1.3.12p3/tests/unit/.testbox/page_data/HelloWorldPlugin and 1.3.14/tests/unit/.testbox/page_data/HelloWorldPlugin differ
Binary files 1.3.12p3/tests/unit/.testbox/page_data/HomePage and 1.3.14/tests/unit/.testbox/page_data/HomePage differ
diff -ruN 1.3.12p3/tests/unit/.testbox/page_data/HomePageAlias 1.3.14/tests/unit/.testbox/page_data/HomePageAlias
--- 1.3.12p3/tests/unit/.testbox/page_data/HomePageAlias	2006-06-18 06:19:56.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/page_data/HomePageAlias	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:3:{s:4:"date";i:1045352861;s:8:"pagename";s:13:"HomePageAlias";s:12:"_cached_html";s:299:"xUAo0ȧ2hlsh@*mCk&&>ۤ\l<~kfᠭ߹Cg`>`'<Wo ]cHО.	,,7"c l~iI{i>t6 l~"p?Ujp3 %xwv.S}^%{t,`,,{-ɜVz3LN	ʤV3nIcBQ:
yOtzNQ۩%vD7m-|ˌy7?ۂ#c|"</}6Z9l0|hs";}
\ No newline at end of file
Binary files 1.3.12p3/tests/unit/.testbox/page_data/HowToUseWiki and 1.3.14/tests/unit/.testbox/page_data/HowToUseWiki differ
diff -ruN 1.3.12p3/tests/unit/.testbox/page_data/IncludePagePlugin 1.3.14/tests/unit/.testbox/page_data/IncludePagePlugin
--- 1.3.12p3/tests/unit/.testbox/page_data/IncludePagePlugin	2006-06-18 06:19:56.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/page_data/IncludePagePlugin	1969-12-31 18:00:00.000000000 -0600
@@ -1,5 +0,0 @@
-a:3:{s:4:"date";i:1088929862;s:8:"pagename";s:17:"IncludePagePlugin";s:12:"_cached_html";s:524:"xڽMO0#
VJEB=!'nF8v;@w.[
-)9؞k9KZeڵ.~
-Bg/.nX^h^==qs5W0]W2-,(p6hR)A(BYn*JU\#
-=4:<1psa=_ny9\}W`ttn
]enG_%&QeΦcFpC}Ho-	E} TtUw`*ʼ(SP`M7/a|E$*S,QN
-PEhA{/d3l[j3bon-ʄSN'U7$Z&;b茠l*>c82`Frī^ﮎKYT;{QroU?;Zѿ`Bp8ݮ$)VUsK_\4]"xa]Nc?6|;ԾhKTĉa}i20";}
\ No newline at end of file
Binary files 1.3.12p3/tests/unit/.testbox/page_data/InterWiki and 1.3.14/tests/unit/.testbox/page_data/InterWiki differ
Binary files 1.3.12p3/tests/unit/.testbox/page_data/InterWikiMap and 1.3.14/tests/unit/.testbox/page_data/InterWikiMap differ
diff -ruN 1.3.12p3/tests/unit/.testbox/page_data/InterWikiSearch 1.3.14/tests/unit/.testbox/page_data/InterWikiSearch
--- 1.3.12p3/tests/unit/.testbox/page_data/InterWikiSearch	2006-06-18 06:19:56.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/page_data/InterWikiSearch	1969-12-31 18:00:00.000000000 -0600
@@ -1,3 +0,0 @@
-a:3:{s:4:"date";i:1044053943;s:8:"pagename";s:15:"InterWikiSearch";s:12:"_cached_html";s:392:"xڍRKo0+-vab&ЈTMx	g44?{8SK+eV+<<8Iߗ((=npy8:HD9d\xJs.Z/"ES-;TRc
rI\\zӠJ
-oKڃ2{`(6sie$$UiYf)dpv\}U%~ZJHQˠwd,@ANWQ+}˸ZPY 9v
-9$gUԤW}wb;RiT\X/GnW^z\M֜8C5#M'
~I|zvDı.oƗzoW"7,X?	N˵Sr7";}
\ No newline at end of file
Binary files 1.3.12p3/tests/unit/.testbox/page_data/LikePages and 1.3.14/tests/unit/.testbox/page_data/LikePages differ
Binary files 1.3.12p3/tests/unit/.testbox/page_data/LinkDatabase and 1.3.14/tests/unit/.testbox/page_data/LinkDatabase differ
Binary files 1.3.12p3/tests/unit/.testbox/page_data/LinkIcons and 1.3.14/tests/unit/.testbox/page_data/LinkIcons differ
Binary files 1.3.12p3/tests/unit/.testbox/page_data/ListPagesPlugin and 1.3.14/tests/unit/.testbox/page_data/ListPagesPlugin differ
Binary files 1.3.12p3/tests/unit/.testbox/page_data/MagicPhpWikiURLs and 1.3.14/tests/unit/.testbox/page_data/MagicPhpWikiURLs differ
Binary files 1.3.12p3/tests/unit/.testbox/page_data/ModeratedPage and 1.3.14/tests/unit/.testbox/page_data/ModeratedPage differ
Binary files 1.3.12p3/tests/unit/.testbox/page_data/MoreAboutMechanics and 1.3.14/tests/unit/.testbox/page_data/MoreAboutMechanics differ
Binary files 1.3.12p3/tests/unit/.testbox/page_data/MostPopular and 1.3.14/tests/unit/.testbox/page_data/MostPopular differ
Binary files 1.3.12p3/tests/unit/.testbox/page_data/NewMarkupTestPage and 1.3.14/tests/unit/.testbox/page_data/NewMarkupTestPage differ
Binary files 1.3.12p3/tests/unit/.testbox/page_data/OldMarkupTestPage and 1.3.14/tests/unit/.testbox/page_data/OldMarkupTestPage differ
Binary files 1.3.12p3/tests/unit/.testbox/page_data/OldStyleTablePlugin and 1.3.14/tests/unit/.testbox/page_data/OldStyleTablePlugin differ
Binary files 1.3.12p3/tests/unit/.testbox/page_data/OldTextFormattingRules and 1.3.14/tests/unit/.testbox/page_data/OldTextFormattingRules differ
Binary files 1.3.12p3/tests/unit/.testbox/page_data/OrphanedPages and 1.3.14/tests/unit/.testbox/page_data/OrphanedPages differ
Binary files 1.3.12p3/tests/unit/.testbox/page_data/PageDump and 1.3.14/tests/unit/.testbox/page_data/PageDump differ
Binary files 1.3.12p3/tests/unit/.testbox/page_data/PageGroupTest and 1.3.14/tests/unit/.testbox/page_data/PageGroupTest differ
Binary files 1.3.12p3/tests/unit/.testbox/page_data/PageGroupTestFour and 1.3.14/tests/unit/.testbox/page_data/PageGroupTestFour differ
Binary files 1.3.12p3/tests/unit/.testbox/page_data/PageGroupTestOne and 1.3.14/tests/unit/.testbox/page_data/PageGroupTestOne differ
Binary files 1.3.12p3/tests/unit/.testbox/page_data/PageGroupTestThree and 1.3.14/tests/unit/.testbox/page_data/PageGroupTestThree differ
Binary files 1.3.12p3/tests/unit/.testbox/page_data/PageGroupTestTwo and 1.3.14/tests/unit/.testbox/page_data/PageGroupTestTwo differ
diff -ruN 1.3.12p3/tests/unit/.testbox/page_data/PageHistory 1.3.14/tests/unit/.testbox/page_data/PageHistory
--- 1.3.12p3/tests/unit/.testbox/page_data/PageHistory	2006-06-18 06:19:57.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/page_data/PageHistory	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:3:{s:4:"date";i:1012170535;s:8:"pagename";s:11:"PageHistory";s:12:"_cached_html";s:204:"xMMn0F=!ϐlDqÈԎbܽ"v͛='G>}O&T%ȢѓCm@}o>[6'	xLRre*!ؒX\kж
6=k2%ur֝|׎Wρ%:9.#ZsOMCܟ_.TffhYۥ/d[L";}
\ No newline at end of file
Binary files 1.3.12p3/tests/unit/.testbox/page_data/PageInfo and 1.3.14/tests/unit/.testbox/page_data/PageInfo differ
Binary files 1.3.12p3/tests/unit/.testbox/page_data/PagePermissions and 1.3.14/tests/unit/.testbox/page_data/PagePermissions differ
Binary files 1.3.12p3/tests/unit/.testbox/page_data/PgsrcTranslation and 1.3.14/tests/unit/.testbox/page_data/PgsrcTranslation differ
diff -ruN 1.3.12p3/tests/unit/.testbox/page_data/PgsrcTranslation%2Fde 1.3.14/tests/unit/.testbox/page_data/PgsrcTranslation%2Fde
--- 1.3.12p3/tests/unit/.testbox/page_data/PgsrcTranslation%2Fde	2006-06-18 06:19:57.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/page_data/PgsrcTranslation%2Fde	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:3:{s:4:"date";i:1105947847;s:8:"pagename";s:19:"PgsrcTranslation/de";s:12:"_cached_html";s:693:"xڕTMo0+F>vUCPzJ#2ΔX8v6vq+z{o#|){eg8Ns-x|Y!Z&_^p~/])g^Y9Jk<"4QrℳI puMbϫeFb-Қz䓨=,So^r[!/JtNaޠϙ2t\keVvJGD.+)斣s
a!E,PׂPNJ\cƯS	i !}%BߓITL{1Aմ+e {Y|솚h]MIT]χB.Sl h:>g7NpzMkS -a!@-̲栗J|SY?5R*բH!I~?V,淤9~FIDEF"IGReV6ndH5ᐼ|Մ<qD3Eu;X5r$$+!ۜMkgy=Z;~o!?kf<q.~}V(q-߬e|JZYt{!8dH1꺯Nv"z^yd~G/[ڑ7%";}
\ No newline at end of file
Binary files 1.3.12p3/tests/unit/.testbox/page_data/PgsrcTranslation%2Fes and 1.3.14/tests/unit/.testbox/page_data/PgsrcTranslation%2Fes differ
Binary files 1.3.12p3/tests/unit/.testbox/page_data/PgsrcTranslation%2Ffr and 1.3.14/tests/unit/.testbox/page_data/PgsrcTranslation%2Ffr differ
Binary files 1.3.12p3/tests/unit/.testbox/page_data/PgsrcTranslation%2Fit and 1.3.14/tests/unit/.testbox/page_data/PgsrcTranslation%2Fit differ
Binary files 1.3.12p3/tests/unit/.testbox/page_data/PgsrcTranslation%2Fja and 1.3.14/tests/unit/.testbox/page_data/PgsrcTranslation%2Fja differ
Binary files 1.3.12p3/tests/unit/.testbox/page_data/PgsrcTranslation%2Fnl and 1.3.14/tests/unit/.testbox/page_data/PgsrcTranslation%2Fnl differ
Binary files 1.3.12p3/tests/unit/.testbox/page_data/PgsrcTranslation%2Fzh and 1.3.14/tests/unit/.testbox/page_data/PgsrcTranslation%2Fzh differ
Binary files 1.3.12p3/tests/unit/.testbox/page_data/PgsrcTranslation_sv and 1.3.14/tests/unit/.testbox/page_data/PgsrcTranslation_sv differ
Binary files 1.3.12p3/tests/unit/.testbox/page_data/PhotoAlbumPlugin and 1.3.14/tests/unit/.testbox/page_data/PhotoAlbumPlugin differ
Binary files 1.3.12p3/tests/unit/.testbox/page_data/PhpHighlightPlugin and 1.3.14/tests/unit/.testbox/page_data/PhpHighlightPlugin differ
Binary files 1.3.12p3/tests/unit/.testbox/page_data/PhpWeatherPlugin and 1.3.14/tests/unit/.testbox/page_data/PhpWeatherPlugin differ
diff -ruN 1.3.12p3/tests/unit/.testbox/page_data/PhpWiki 1.3.14/tests/unit/.testbox/page_data/PhpWiki
--- 1.3.12p3/tests/unit/.testbox/page_data/PhpWiki	2006-06-18 06:19:57.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/page_data/PhpWiki	1969-12-31 18:00:00.000000000 -0600
@@ -1,3 +0,0 @@
-a:3:{s:4:"date";i:1012170535;s:8:"pagename";s:7:"PhpWiki";s:12:"_cached_html";s:431:"xڭn1w?
,qbڽ.]:SNc|BΒ F޽d.6 A _B}$uH{j
--
-xȉMVW/PE#yo7&xϸddZed6b.9k/Z'XPw39Q:cZiA	QտC&C-xjmy뜿Q8=x)N%1G@i][Jw{wo5a>qCWX%VO]'hH+,3^7%o]:cl	LjKXUbq%^ڎƞJ>Ds>Nh9ś,1>)(5XVg.糳6AB`J	{UsNNl/`Srޚy!i(Ă?<";}
\ No newline at end of file
Binary files 1.3.12p3/tests/unit/.testbox/page_data/PhpWikiAdministration and 1.3.14/tests/unit/.testbox/page_data/PhpWikiAdministration differ
Binary files 1.3.12p3/tests/unit/.testbox/page_data/PhpWikiAdministration%2FChmod and 1.3.14/tests/unit/.testbox/page_data/PhpWikiAdministration%2FChmod differ
Binary files 1.3.12p3/tests/unit/.testbox/page_data/PhpWikiAdministration%2FChown and 1.3.14/tests/unit/.testbox/page_data/PhpWikiAdministration%2FChown differ
Binary files 1.3.12p3/tests/unit/.testbox/page_data/PhpWikiAdministration%2FRemove and 1.3.14/tests/unit/.testbox/page_data/PhpWikiAdministration%2FRemove differ
Binary files 1.3.12p3/tests/unit/.testbox/page_data/PhpWikiAdministration%2FRename and 1.3.14/tests/unit/.testbox/page_data/PhpWikiAdministration%2FRename differ
diff -ruN 1.3.12p3/tests/unit/.testbox/page_data/PhpWikiAdministration%2FReplace 1.3.14/tests/unit/.testbox/page_data/PhpWikiAdministration%2FReplace
--- 1.3.12p3/tests/unit/.testbox/page_data/PhpWikiAdministration%2FReplace	2006-06-18 06:19:58.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/page_data/PhpWikiAdministration%2FReplace	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:3:{s:4:"date";i:1086203379;s:8:"pagename";s:29:"PhpWikiAdministration/Replace";s:12:"_cached_html";s:224:"x=N0<Eؚl*KMkѥQm{B\H_t69VxI(&Fr]GZ7?7n9ዀ{H	4v}=p$cXSBϲǐ)dNK]6O\Jp`Kb*|Omc'iW4R=ʵ
+>MSlj%KrK"HmBB`f";}
\ No newline at end of file
Binary files 1.3.12p3/tests/unit/.testbox/page_data/PhpWikiAdministration%2FSetAcl and 1.3.14/tests/unit/.testbox/page_data/PhpWikiAdministration%2FSetAcl differ
Binary files 1.3.12p3/tests/unit/.testbox/page_data/PhpWikiDocumentation and 1.3.14/tests/unit/.testbox/page_data/PhpWikiDocumentation differ
Binary files 1.3.12p3/tests/unit/.testbox/page_data/PhpWikiPoll and 1.3.14/tests/unit/.testbox/page_data/PhpWikiPoll differ
Binary files 1.3.12p3/tests/unit/.testbox/page_data/PhpWikiRecentChanges and 1.3.14/tests/unit/.testbox/page_data/PhpWikiRecentChanges differ
Binary files 1.3.12p3/tests/unit/.testbox/page_data/PloticusPlugin and 1.3.14/tests/unit/.testbox/page_data/PloticusPlugin differ
Binary files 1.3.12p3/tests/unit/.testbox/page_data/PluginManager and 1.3.14/tests/unit/.testbox/page_data/PluginManager differ
Binary files 1.3.12p3/tests/unit/.testbox/page_data/ProjectSummary and 1.3.14/tests/unit/.testbox/page_data/ProjectSummary differ
Binary files 1.3.12p3/tests/unit/.testbox/page_data/RandomPage and 1.3.14/tests/unit/.testbox/page_data/RandomPage differ
Binary files 1.3.12p3/tests/unit/.testbox/page_data/RateIt and 1.3.14/tests/unit/.testbox/page_data/RateIt differ
Binary files 1.3.12p3/tests/unit/.testbox/page_data/RawHtmlPlugin and 1.3.14/tests/unit/.testbox/page_data/RawHtmlPlugin differ
Binary files 1.3.12p3/tests/unit/.testbox/page_data/RecentChanges and 1.3.14/tests/unit/.testbox/page_data/RecentChanges differ
Binary files 1.3.12p3/tests/unit/.testbox/page_data/RecentComments and 1.3.14/tests/unit/.testbox/page_data/RecentComments differ
diff -ruN 1.3.12p3/tests/unit/.testbox/page_data/RecentEdits 1.3.14/tests/unit/.testbox/page_data/RecentEdits
--- 1.3.12p3/tests/unit/.testbox/page_data/RecentEdits	2006-06-18 06:19:58.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/page_data/RecentEdits	1969-12-31 18:00:00.000000000 -0600
@@ -1,2 +0,0 @@
-a:3:{s:4:"date";i:1102328443;s:8:"pagename";s:11:"RecentEdits";s:12:"_cached_html";s:426:"xڭRn@+[nֲ([XlֻIj8r%ۭODr4n
-q-6VaסZlUg6=҈KVkj:˴5I wAzjazO:yU30/ՙ*S/Ц?"ߩ%, 9Zؒ=ԭq2[X	80ac")jA:;[l;,Gmg'_ƝyiZ|8ep#^O［aZκjR=̪IT8kӆg_@Q
DF\HuYެRdc1B e<)6MRnD6e(ϨIQm랺A$>jIҌcFroD~";}
\ No newline at end of file
Binary files 1.3.12p3/tests/unit/.testbox/page_data/RecentReleases and 1.3.14/tests/unit/.testbox/page_data/RecentReleases differ
diff -ruN 1.3.12p3/tests/unit/.testbox/page_data/RecentVisitors 1.3.14/tests/unit/.testbox/page_data/RecentVisitors
--- 1.3.12p3/tests/unit/.testbox/page_data/RecentVisitors	2006-06-18 06:19:58.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/page_data/RecentVisitors	1969-12-31 18:00:00.000000000 -0600
@@ -1,4 +0,0 @@
-a:3:{s:4:"date";i:1101847613;s:8:"pagename";s:14:"RecentVisitors";s:12:"_cached_html";s:340:"xmN@E
-3H,,@e$nb5f<8-튝}}g|qp&za|Ehp?u-3дTr/?e-{_oԘQ`h^9g%Ht>t굺rgfL}Շ}O
-nq}:iZ$e5CtIgRZ [@Am<Xj2M{3kL:k$K5"muZ=$ÂĆT$pG^+O5m{eo>#@Xp}49K}w\-vmpx`khjyw[ΙxمH/86
-n<ݳ8SiO'_{X";}
\ No newline at end of file
Binary files 1.3.12p3/tests/unit/.testbox/page_data/RedirectToPlugin and 1.3.14/tests/unit/.testbox/page_data/RedirectToPlugin differ
Binary files 1.3.12p3/tests/unit/.testbox/page_data/RelatedChanges and 1.3.14/tests/unit/.testbox/page_data/RelatedChanges differ
Binary files 1.3.12p3/tests/unit/.testbox/page_data/ReleaseNotes and 1.3.14/tests/unit/.testbox/page_data/ReleaseNotes differ
Binary files 1.3.12p3/tests/unit/.testbox/page_data/RichTablePlugin and 1.3.14/tests/unit/.testbox/page_data/RichTablePlugin differ
Binary files 1.3.12p3/tests/unit/.testbox/page_data/RssFeedPlugin and 1.3.14/tests/unit/.testbox/page_data/RssFeedPlugin differ
Binary files 1.3.12p3/tests/unit/.testbox/page_data/SandBox and 1.3.14/tests/unit/.testbox/page_data/SandBox differ
Binary files 1.3.12p3/tests/unit/.testbox/page_data/SearchHighlight and 1.3.14/tests/unit/.testbox/page_data/SearchHighlight differ
Binary files 1.3.12p3/tests/unit/.testbox/page_data/SearchHighlightPlugin and 1.3.14/tests/unit/.testbox/page_data/SearchHighlightPlugin differ
diff -ruN 1.3.12p3/tests/unit/.testbox/page_data/SteveWainstead 1.3.14/tests/unit/.testbox/page_data/SteveWainstead
--- 1.3.12p3/tests/unit/.testbox/page_data/SteveWainstead	2006-06-18 06:19:59.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/page_data/SteveWainstead	1969-12-31 18:00:00.000000000 -0600
@@ -1,5 +0,0 @@
-a:3:{s:4:"date";i:1012170535;s:8:"pagename";s:14:"SteveWainstead";s:12:"_cached_html";s:407:"xڕn0@
-AfiLj츝:`l"$HL"迏rР;`&}4GoGX	$qzwt0=DG-V
-0]j
#>rt9UZ띁-	J}G&;}^kCXT샮S~&2v9JJ,-fW
-zO#/+Ic5<5I>pnFgp6\I9@YNThXI:n#}4ُiQP,}o3"g4dCB=~8ɟbX8KVΌܵ^H<tHɻRf}t7w
-f@";}
\ No newline at end of file
Binary files 1.3.12p3/tests/unit/.testbox/page_data/SyntaxHighlighterPlugin and 1.3.14/tests/unit/.testbox/page_data/SyntaxHighlighterPlugin differ
Binary files 1.3.12p3/tests/unit/.testbox/page_data/SystemInfoPlugin and 1.3.14/tests/unit/.testbox/page_data/SystemInfoPlugin differ
diff -ruN 1.3.12p3/tests/unit/.testbox/page_data/TemplateExample 1.3.14/tests/unit/.testbox/page_data/TemplateExample
--- 1.3.12p3/tests/unit/.testbox/page_data/TemplateExample	2006-06-18 06:19:59.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/page_data/TemplateExample	1969-12-31 18:00:00.000000000 -0600
@@ -1,4 +0,0 @@
-a:3:{s:4:"date";i:1126384931;s:8:"pagename";s:15:"TemplateExample";s:12:"_cached_html";s:525:"xڕSۊ0}W	޴ne7nmB'XDTv8/ь933GꚂ2Eָݗ/b
F9[#j-JsVAYI %302<T;%ZP
ѽB.$,0?X,9kcto	*+7~wB.!7MH$/C*pf蒰[!0)w9SA"ų(
rC[7U3R,'3"b]C2E*P;b
-=h-uq%S'QP8T`<O͢x:dz?gǠC_k4X$WS`פ
{d]F%g
-9nYR4
}|U8y/J4ӣjf\O1+SyBxOZGv,ڊfb5N.eE}
-砅WM\"*εd-uq/L";}
\ No newline at end of file
Binary files 1.3.12p3/tests/unit/.testbox/page_data/TemplatePlugin and 1.3.14/tests/unit/.testbox/page_data/TemplatePlugin differ
Binary files 1.3.12p3/tests/unit/.testbox/page_data/TeX2pngPlugin and 1.3.14/tests/unit/.testbox/page_data/TeX2pngPlugin differ
Binary files 1.3.12p3/tests/unit/.testbox/page_data/TextFormattingRules and 1.3.14/tests/unit/.testbox/page_data/TextFormattingRules differ
Binary files 1.3.12p3/tests/unit/.testbox/page_data/TitleSearch and 1.3.14/tests/unit/.testbox/page_data/TitleSearch differ
Binary files 1.3.12p3/tests/unit/.testbox/page_data/TranscludePlugin and 1.3.14/tests/unit/.testbox/page_data/TranscludePlugin differ
Binary files 1.3.12p3/tests/unit/.testbox/page_data/TranslateText and 1.3.14/tests/unit/.testbox/page_data/TranslateText differ
Binary files 1.3.12p3/tests/unit/.testbox/page_data/UnfoldSubpagesPlugin and 1.3.14/tests/unit/.testbox/page_data/UnfoldSubpagesPlugin differ
diff -ruN 1.3.12p3/tests/unit/.testbox/page_data/UpLoad 1.3.14/tests/unit/.testbox/page_data/UpLoad
--- 1.3.12p3/tests/unit/.testbox/page_data/UpLoad	2006-06-18 06:19:59.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/page_data/UpLoad	1969-12-31 18:00:00.000000000 -0600
@@ -1,4 +0,0 @@
-a:3:{s:4:"date";i:1086868086;s:8:"pagename";s:6:"UpLoad";s:12:"_cached_html";s:293:"xEKn0D9EuMK
-d!ˊEԑT!K,Ig3H{?LGBVprdPIssO%ܦo*2]K+wdR%g%5WTϵT` ZOLD]8F(G&g61bWF^5wܩKx:z*g/*P/*;^!6H5]ckE蝄"u@0sf\K
-0	H'ͩU-i
-";}
\ No newline at end of file
Binary files 1.3.12p3/tests/unit/.testbox/page_data/UpLoadPlugin and 1.3.14/tests/unit/.testbox/page_data/UpLoadPlugin differ
Binary files 1.3.12p3/tests/unit/.testbox/page_data/UserPreferences and 1.3.14/tests/unit/.testbox/page_data/UserPreferences differ
Binary files 1.3.12p3/tests/unit/.testbox/page_data/WabiSabi and 1.3.14/tests/unit/.testbox/page_data/WabiSabi differ
Binary files 1.3.12p3/tests/unit/.testbox/page_data/WantedPages and 1.3.14/tests/unit/.testbox/page_data/WantedPages differ
Binary files 1.3.12p3/tests/unit/.testbox/page_data/WhoIsOnline and 1.3.14/tests/unit/.testbox/page_data/WhoIsOnline differ
Binary files 1.3.12p3/tests/unit/.testbox/page_data/WikiAdminSelect and 1.3.14/tests/unit/.testbox/page_data/WikiAdminSelect differ
diff -ruN 1.3.12p3/tests/unit/.testbox/page_data/WikiBlogPlugin 1.3.14/tests/unit/.testbox/page_data/WikiBlogPlugin
--- 1.3.12p3/tests/unit/.testbox/page_data/WikiBlogPlugin	2006-06-18 06:19:59.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/page_data/WikiBlogPlugin	1969-12-31 18:00:00.000000000 -0600
@@ -1,6 +0,0 @@
-a:3:{s:4:"date";i:1088929862;s:8:"pagename";s:14:"WikiBlogPlugin";s:12:"_cached_html";s:432:"xڽMO@@
-kλ`a Ai$&VQf [UiSROc;?J0(7vu d*w^RbNՃpCR^BybeJj:[?v/5PUiM&v(S5e
-_ĩ}9nOUtu"nЃQM3@u=4[JШKI`KxЫMML:k[P
-eĻR;4lt"œ.}L=?)h=ʘR
-Z(
Ǝ@pF;̑G8y
-h͑'a1nb淀|"a߅r	,dB5,6ۋ:<6I'M$bPrcޯ7GlAǖG5nƋRR
xθ
~Sp<e";}
\ No newline at end of file
Binary files 1.3.12p3/tests/unit/.testbox/page_data/WikiPlugin and 1.3.14/tests/unit/.testbox/page_data/WikiPlugin differ
Binary files 1.3.12p3/tests/unit/.testbox/page_data/WikiWikiWeb and 1.3.14/tests/unit/.testbox/page_data/WikiWikiWeb differ
Binary files 1.3.12p3/tests/unit/.testbox/test_pagedb.db3 and 1.3.14/tests/unit/.testbox/test_pagedb.db3 differ
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/AddCommentPlugin--1 1.3.14/tests/unit/.testbox/ver_data/AddCommentPlugin--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/AddCommentPlugin--1	2006-06-18 06:20:00.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/AddCommentPlugin--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,32 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625908;s:8:"%content";s:958:"WikiPlugin to let users attach comments to the end of a page. Since v1.3.8.
-Change the layout via the templates comment.tmpl and addcomment.tmpl, and the CSS classes
-wikicomment, wikicomment-header, wikicomment-body, wikicomment-footer
-
-!! Usage
-<verbatim>
-     <?plugin AddComment order||=normal jshide||=0 mode||=show,add noheader||=0 ?>
-</verbatim>
-
-!! Plugin Arguments
-__jshide__: |
-  Boolean if the comments and/or textbox should be initially hidden and on click expanded. Default: 0
-__order__:  |
-  List comments in chronological (order=normal) or reverse order (order=reverse)
-__mode__:  |
-  List of add and/or show.  Default: add,show
-__noheader__:  |
-  Boolean if the "Comments" h2 header should be omitted. Default: 0
-__pagename__:  |
-  Attach to which page? Default: current pagename
-
-!! Known Problems
-
-jshide does not work yet. Not very well tested.
-
-!! Examples
-
-<?plugin AddComment jshide||=1 ?>
-
--------------
-
-PhpWikiDocumentation WikiPlugin";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/AddingPages--1 1.3.14/tests/unit/.testbox/ver_data/AddingPages--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/AddingPages--1	2006-06-18 06:20:00.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/AddingPages--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,25 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625908;s:8:"%content";s:950:"To add a new page to Wiki, all you have to do is come up with a
-meaningful title, capitalize all the words and
-StringThemTogetherLikeThis. Wiki automagically recognizes it as a
-hyperlink. Alternatively, you can put anything into [square brackets].
-
-Then you can go ahead and ClickTheQuestionMark at the end of your new
-hyperlink, and the Wiki will give you a window for making the new
-page.
-
-If you wish to add documents with complex markup to the Wiki, you
-might be better off providing a URL to it than trying to add the text
-of the document here, like so:
-
-PhpWiki project homepage: http://phpwiki.sourceforge.net/
-
-The Wiki does not support HTML tags (see TextFormattingRules).
-<tags>They will just render like text.</tags> Wiki is meant to be as
-simple as possible to encourage use.
-
-Note that there is a feature that your system administrator can enable
-to allow embedded HTML, but there are security risks involved.
-
-----
-
-PhpWikiDocumentation";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/AllPages--1 1.3.14/tests/unit/.testbox/ver_data/AllPages--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/AllPages--1	2006-06-18 06:20:00.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/AllPages--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,4 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625908;s:8:"%content";s:126:"Here is the list of all pages on this Wiki, including any
-OrphanedPages which are otherwise inaccessible.
-
-<?plugin AllPages?>";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/AllPagesCreatedByMe--1 1.3.14/tests/unit/.testbox/ver_data/AllPagesCreatedByMe--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/AllPagesCreatedByMe--1	2006-06-18 06:20:00.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/AllPagesCreatedByMe--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,3 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625908;s:8:"%content";s:109:"The list of pages which were created by you. (If you are authenticated only)
-
-<?plugin AllPages creator=[] ?>";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/AllPagesLastEditedByMe--1 1.3.14/tests/unit/.testbox/ver_data/AllPagesLastEditedByMe--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/AllPagesLastEditedByMe--1	2006-06-18 06:20:00.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/AllPagesLastEditedByMe--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,3 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625908;s:8:"%content";s:117:"The list of pages for which you were the last author. (If you are authenticated only)
-
-<?plugin AllPages author=[] ?>";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/AllPagesOwnedByMe--1 1.3.14/tests/unit/.testbox/ver_data/AllPagesOwnedByMe--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/AllPagesOwnedByMe--1	2006-06-18 06:20:00.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/AllPagesOwnedByMe--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,3 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625908;s:8:"%content";s:95:"The list of pages which you own. (If you are authenticated only)
-
-<?plugin AllPages owner=[] ?>";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/AllUsers--1 1.3.14/tests/unit/.testbox/ver_data/AllUsers--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/AllUsers--1	2006-06-18 06:20:00.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/AllUsers--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,6 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625908;s:8:"%content";s:193:"Here is a list of all users who have once successfully logged in,
-created their own home page or have saved UserPreferences at least once.
-----
-<?plugin AllUsers?>
-----
-WikiPlugin PluginManager";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/AnalyseAccessLogSqlPlugin--1 1.3.14/tests/unit/.testbox/ver_data/AnalyseAccessLogSqlPlugin--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/AnalyseAccessLogSqlPlugin--1	2006-06-18 06:20:00.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/AnalyseAccessLogSqlPlugin--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,95 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625908;s:8:"%content";s:4871:"The AnalyseAccessLogSql plugin provides a framework to analyse the SQL access log
-and display the results.
-This information may be sensitive and therefore this plugin is limited to
-administrator access only.
-
-A small number of queries that may (or might not) use the ~MySQL
-specific dialect of SQL are provided in <tt>lib/plugin/~AnalyseAccessLogSql.php</tt>.
-For more information, please see the section *Adding new queries* below.
-
-!!!Usage
-Experimental! Will change a lot.
-
-!!!Usage
-<verbatim>
-  <?plugin AnalyseAccessLogSql mode=<QUERY NAME> ?>
-</verbatim>
-
-!Parameters
-mode _(required parameter)_:
-  The name of the query to execute. See *Adding new queries* below.
-
-period:
-  Use in combination with the _count_ parameter. The type of history period to retrieve from the SQL access log. Blank (the default) for all history, or one of "*weeks*", "*days*", "*hours*", or "*minutes*".
-
-count:
-  Use in combination with the _period_ parameter. Must be a number. The number of periods to retrieve from the access log.
-
-caption:
-  The value of this parameter is used as the caption for the output. If not set, the caption on the table defaults to the mode.
-
-center:
-  If set, the table is centered on the page, otherwise left justified.
-
-debugShowQuery:
-  If set, the SQL will be displayed in the table footer. Useful while debugging new queries or just for interest.
-
-user:
-  Blank (the default) to retrieve all users, or a specific user, or "*<NONE>*" for SQL access log entries with no user.
-
-host:
-  Blank (the default) to retrieve all remote_hosts, or a specific host.
-
-referrer:
-  Blank (the default) to retrieve all referrers, "*<NONE>*" to retrieve entries with no referrer, otherwise any referrer that matches this parameter, truncating longer referrers before matching. So a parameter of referrer='~http://localhost' will match '~http://localhost/wiki/index.php', '~http://localhost/wiki/index.php/~HomePage' etc.
-
-local_referrers:
-  If set (the default), return all referrers. If not set, return only external referring sites, excluding references from within the wiki.
-
-!!!Adding new queries
-The file <tt>lib/plugin/AnalyseAccessLogSql.php</tt> contains a default set of queries against the SQL access log.
-Feel free to change this file to suit your own needs, but please note that this requires filesystem access to the web server where PhpWiki is running.
-In particular, this file may need to be modified to correctly query databases other than MySQL.
-The queries supplied by default are: "*Referring URLs*", "*Referring Domains*", "*Remote Hosts*", "*Users*" and "*Host Users*".
-
-To add a new query, add a new section towards the end of the file, using one of the existing queries as a template. An example of an existing query is:
-<pre>
-} elseif ($mode=="Users") {
-    $query = "SELECT "
-        ."remote_user AS User, "
-        ."count(*) AS 'Access Count' "
-        ."FROM $accesslog "
-        .($whereConditions ? 'WHERE '.$whereConditions : '')
-        ."GROUP BY User";
-</pre>
-
-If you do add a query, please consider contributing it back to the PhpWiki project at http://http://sourceforge.net/projects/phpwiki
-!API for ~AnalyseAccessLogSql
-* input arguments:
-  - *$mode* contains the name of the query requested in the plugin parameters.
-  - *$accesslog* contains the qualified name of the accesslog table, which may or may not be equal to "accesslog".
-  - *$whereConditions* contains the conditions (specific user, etc.) requested in the plugin parameters.
-
-* output:
-  - *$query* must contain the final SQL query to be executed.
-
-* conventions:
-  - While constructing the query string,
-    * each clause is on a separate line and
-    * each clause contains the required trailing punctuation or space.
-  - The mode parameter is, by default, displayed as the caption in the final output, so please choose a user friendly name.
-  - The column names displayed on the wiki page are generated from the SQL column names defined in the queries, so please choose user friendly names. MySQL allows column names to include spaces.  If spaces are not allowed, then "*_*" is probably the next best choice.
-
-* language hints for PHP newbies - please remember:
-  - terminate statements with "*;*",
-  - assignment uses "*=*" and comparison uses "*==*",
-  - concatenate strings using the "*.*" operator,
-  - the parentheses around the expression "*=($whereConditions ? 'WHERE '.$whereConditions : '' )=*" are essential,
-  - strings enclosed in single quotes may not contain substrings enclosed in single quotes (actually the truth is more complex but let's leave it like that here), and
-  - strings enclosed in double quotes will evaluate and replace variable names so that, for example, *"FROM $accesslog "* might be evaluated to *"FROM phpwiki_accesslog "*.
-
-! Author
-PhpWiki:CharlesCorrigan %%%
-Changes by PhpWiki:ReiniUrban
-----
-PhpWikiDocumentation WikiPlugin";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/AppendText--1 1.3.14/tests/unit/.testbox/ver_data/AppendText--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/AppendText--1	2006-06-18 06:20:00.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/AppendText--1	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625908;s:8:"%content";s:22:"<?plugin AppendText ?>";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/AppendTextPlugin--1 1.3.14/tests/unit/.testbox/ver_data/AppendTextPlugin--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/AppendTextPlugin--1	2006-06-18 06:20:00.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/AppendTextPlugin--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,34 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625908;s:8:"%content";s:1008:"AppendText is a WikiPlugin to automatically add text to a page. For general
-usage better use the AddCommentPlugin.
-
-<verbatim>
-<?plugin AppendText ?>
-</verbatim>
-
-!! Plugin Arguments
-__page__: |
-  Append to which page. Default: Current page.
-__s__:  |
-  What text to add. Note: A \n is always prepended.
-__before__:  |
-  (Optional) Add before the matching line beginning with before.
-__after__:  |
-  (Optional) Add after the matching line beginning with after.
-
-!! Examples
-
-Add from a list of all available plugins one to the current page.
-<verbatim>
-  <?plugin WikiFormRich action=AppendText buttontext="AddPlugin"
-  	   pulldown[] name=s text="Plugins: " value=<!plugin-list BackLinks page=WikiPlugin !>
-  	   ?>
-</verbatim>
-
-Add from a list of all available Categories to the current page.
-<verbatim>
-  <?plugin WikiFormRich action=AppendText buttontext="AddCategory"
-  	   pulldown[] name=s text="Categories: " value=<!plugin-list TitleSearch s=Category !>
-  	   ?>
-</verbatim>
-----
-PhpWikiDocumentation";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/_AuthInfo--1 1.3.14/tests/unit/.testbox/ver_data/_AuthInfo--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/_AuthInfo--1	2006-06-18 06:20:05.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/_AuthInfo--1	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625928;s:8:"%content";s:21:"<?plugin _AuthInfo ?>";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/AuthorHistoryPlugin--1 1.3.14/tests/unit/.testbox/ver_data/AuthorHistoryPlugin--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/AuthorHistoryPlugin--1	2006-06-18 06:20:00.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/AuthorHistoryPlugin--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,17 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625908;s:8:"%content";s:442:"This plugin allows you to list the history of edits by a particular
-author; you can specify the page name as well (default is the current
-page).
-
-<verbatim>
-<?plugin AuthorHistory user="test" ?>
-
-<?plugin AuthorHistory page=HomePage ?>
-</verbatim>
-
-The second example will default to the current page. We can't provide
-examples for you since we don't know any potential usernames for your
-wiki.
-
--------------
-
-PhpWikiDocumentation WikiPlugin";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/BackLinks--1 1.3.14/tests/unit/.testbox/ver_data/BackLinks--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/BackLinks--1	2006-06-18 06:20:00.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/BackLinks--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,7 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625908;s:8:"%content";s:262:"The contents of all pages are searched to find links to the current
-page. The BackLinks function also answers the question: "Which pages
-contain the title of this page?".
-
-----
-
-<?plugin BackLinks exclude||='' include_self||=1 noheader||=0 page||='' info||='' ?>";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/CalendarListPlugin--1 1.3.14/tests/unit/.testbox/ver_data/CalendarListPlugin--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/CalendarListPlugin--1	2006-06-18 06:20:00.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/CalendarListPlugin--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,18 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625908;s:8:"%content";s:512:"The CalendarListPlugin is used in conjunction with the CalendarPlugin. It was written for those who use a wiki as a personal information manager.
-
-Just click any date in the calendar, edit the for that date, then come back to this page. The event should be listed below the calendar.
-
-Usage:
-<verbatim>
-<?plugin Calendar ?>
-<?plugin CalendarList ?>
-</verbatim>
-
-Example (click any date and edit it, then return to this page):
-<?plugin Calendar ?>
-
-<?plugin CalendarList ?>
-
------
-
-PhpWikiDocumentation WikiPlugin";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/CalendarPlugin--1 1.3.14/tests/unit/.testbox/ver_data/CalendarPlugin--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/CalendarPlugin--1	2006-06-18 06:20:00.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/CalendarPlugin--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,88 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625911;s:8:"%content";s:2365:"The CalendarPlugin can be used to generate a monthly calendar in a
-wiki page. It's handy for PersonalWiki~s.
-
-Individual dates in the calendar link to specially named wiki pages.
-The names for the "day pages" are by default formed by appending the
-date to the pagename on which the calendar appears.
-
-_This feature was inspired by [Manila|http://manila.userland.com/],
-and first implemented by GaryBenson. It was later implemented as a
-WikiPlugin by JeffDairiki._
-
-!!Usage:
-
-<verbatim>
-<?plugin Calendar?>
-</verbatim>
-
-will get you:
-<?plugin Calendar?>
-
---------
-
-!! Plugin Arguments
-
-!Selection of Month
-
-<strong>year</strong>:
-
-  Specify the year for the calendar.  (Default: current year.)
-
-<strong>month</strong>:
-
-  Specify the month for the calendar.  (Default: current month.)
-
-<strong>month_offset</strong>:
-
-  Added to ''month''. Can be used to include several months worth of
-  calendars on a single wiki page.
-
-  <?plugin Calendar month_offset=+1?>
-
-!"Day Page" Names
-
-<strong>date_format</strong>:
-
-  [Strftime| php-function:strftime] style format string used to
-  generate page names for the "day pages." The default value is
-  =%Y-%m-%d=.
-
-<strong>prefix</strong>:
-
-  Prepended to the date (formatted per ''date_format'') to generate
-  the "day page" names. The default value is =~[pagename]/=.
-
-!Appearance
-
-<strong>month_format</strong>:
-
-  [Strftime| php-function:strftime] style format string used to
-  generate the title of the calendar. (Default: =%B, %Y=.)
-
-<strong>wday_format</strong>:
-
-  [Strftime| php-function:strftime] style format string used to
-  generate the day-of-week names at the top of the calendar.
-
-<strong>start_wday</strong>:
-
-  What day of the week does the calendar start on. This should be
-  specified as an integer in the range zero (Sunday) through six
-  (Saturday), inclusive.
-
-  <?plugin Calendar start_wday=1 ?>
-
------
-
-! Patch for 1.2
-
-GaryBenson wrote the first calendar implementation for PhpWiki 1.2.
-(Since 1.2 doesn't support plugins, it uses a =###CALENDAR###= token
-as a trigger.) Gary provides a screenshot at [ http://inauspicious.org/files/screenshots/calender.png | screenshot ],
-a [patch | http://inauspicious.org/files/phpwiki/phpwiki-1.2.0-calendar.patch] (on 1.2.0), and
-[calendar.php | http://inauspicious.org/files/phpwiki/calendar.php]
-(which renders a view of the year.)
-
-----
-
-PhpWikiDocumentation";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/CategoryCategory--1 1.3.14/tests/unit/.testbox/ver_data/CategoryCategory--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/CategoryCategory--1	2006-06-18 06:20:00.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/CategoryCategory--1	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625911;s:8:"%content";s:69:"<?plugin TitleSearch s=Category noheader=1 exclude=CategoryCategory?>";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/CategoryGroup--1 1.3.14/tests/unit/.testbox/ver_data/CategoryGroup--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/CategoryGroup--1	2006-06-18 06:20:00.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/CategoryGroup--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,6 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625911;s:8:"%content";s:223:"All links in this page will be used to find user groups for the
-WIKIPAGE group method.  User group pages must contain a list of
-usernames, and then for consistency after four hyphens a link to this
-page.
-
-* [Administrators]";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/CategoryHomePages--1 1.3.14/tests/unit/.testbox/ver_data/CategoryHomePages--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/CategoryHomePages--1	2006-06-18 06:20:00.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/CategoryHomePages--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,5 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625911;s:8:"%content";s:60:"<?plugin AllUsers include_empty=0 ?>
-
-----
-
-CategoryCategory";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/CommentPlugin--1 1.3.14/tests/unit/.testbox/ver_data/CommentPlugin--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/CommentPlugin--1	2006-06-18 06:20:00.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/CommentPlugin--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,37 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625911;s:8:"%content";s:709:"!!! Synopsis
-
-The CommentPlugin lets you hide parts of a Wiki page without actually
-deleting the text. Comments will only be visible in the Wiki markup
-when editing or viewing the source.
-
-!!! Usage
-
-Simply place the text to be commented out between =<?plugin Comment=
-and =?>=:
-
-<verbatim>
-<?plugin Comment
-
-!!! A Hidden Section
-
-This text will not show up in the generated HTML page, but it is still
-visible when editing the WikiMarkup.
-
-?>
-</verbatim>
-
-!!! Author
-
-Martin Geisler mailto:gimpster@gimpster.com.
-
-<?plugin Comment
-
-!!! "Fuzzy" Logic
-Theorem: a cat has nine tails.
-Proof:
-    No cat has eight tails. A cat has one tail more than no cat.
-    Therefore, a cat has nine tails.
-
-?>
-----
-WikiPlugin";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/CreatePage--1 1.3.14/tests/unit/.testbox/ver_data/CreatePage--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/CreatePage--1	2006-06-18 06:20:00.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/CreatePage--1	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625911;s:8:"%content";s:22:"<?plugin CreatePage ?>";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/CreatePagePlugin--1 1.3.14/tests/unit/.testbox/ver_data/CreatePagePlugin--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/CreatePagePlugin--1	2006-06-18 06:20:00.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/CreatePagePlugin--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,64 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625911;s:8:"%content";s:1957:"WikiPlugin to easily create new pages, optionally with default content. Since v1.3.8
-
-This allows you to create a page geting the new pagename from a
-forms-based interface, and optionally with the initial content from
-some template.
-
-Put a "<~?plugin-form ~CreatePage ?~>" at some page, browse this page,
-enter the name of the page to create, then click the button.
-
-!! Usage
-<verbatim>
-     <?plugin-form CreatePage ?>
-     <?plugin-form CreatePage template=CategoryHomePage ?>
-     <?plugin-form CreatePage template=SomeTemplatePage vars="year=2004&name=None" ?>
-</verbatim>
-
-!! Plugin Arguments
-*s*: |
-  The pagename, which will passed to the plugin. Default: ""
-*initial_content*:  |
-  The new page will be pre-filled with this content. Default: ""
-*template*:  |
-  The new page will be pre-filled with the content of this page. Default: ""
-*vars*: |
-  variables to be expanded. Default: ""
-*overwrite*: |
-  Whether to overwrite an existing page. Default: ""
-
-!! Known Problems
-
-None
-
-!! Variable Expansion
-
-The content (either initial_content or template) might hold some variables, which will be
-expanded on creation. Unassigned variables will stay as %%<var>%%, assigned variables without
-matching %%<var>%% placeholder will be ignored, without any warning.
-
-A variable in a template is denoted as <tt>%%var%%</tt>, which will be expanded by the
-value of <tt>var</tt> given to the vars argument (in urlencoded php notation).
-
-Some special variables are automatically assigned:
-
-%%ctime%% |
-  $WikiTheme->formatDateTime(time())
-%%author%% |
-  $user->getId()
-
-This forms together with page templates and the PhpWiki:WikiFormRichPlugin and
-optionally the PhpWiki:SqlResultPlugin a framework to create templated pages.
-
-!! Authors
-
-Dan Frankowski, Reini Urban
-
-!! Examples
-
-<?plugin-form CreatePage s=MyHomePage ?>
-
-See also PhpWiki:EasilyCreateNewPages, PhpWiki:WikiFormRichPlugin, PhpWiki:SqlResultPlugin
-
--------------
-
-PhpWikiDocumentation WikiPlugin";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/CreateTocPlugin--1 1.3.14/tests/unit/.testbox/ver_data/CreateTocPlugin--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/CreateTocPlugin--1	2006-06-18 06:20:00.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/CreateTocPlugin--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,36 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625911;s:8:"%content";s:1027:"<?plugin CreateToc jshide||=1 ?>
-
-WikiPlugin to create a dynamical *Table Of Contents* of all headers. Since v1.3.8
-
-!! Usage
-<verbatim>
-     <?plugin CreateToc ?>
-     <?plugin CreateToc jshide||=1 with_toclink||=1 ?>
-</verbatim>
-
-!! Plugin Arguments
-__jshide__: |
-  Boolean if the TOC should be initially hidden and on click expanded. Default: 0
-__with_toclink__:  |
-  Boolean if headers should link back to the TOC. Default: 0
-__headers__:  |
-  Which headers to include.  Default: !!!,!!,!    1,2,3 also allowed
-__noheader__:  |
-  Boolean if the "Table of Contents" h2 header should be omitted. Default: 0
-__liststyle__:  |
-  dl or ol or ul. Default: dl
-__indentstr__:  |
-  Default: &nbsp;&nbsp;
-__pagename__:  |
-  TOC of which page? Default: current pagename
-
-!! Known Problems
-
-If any header contains a link or a ~WikiWord or non-word characters, ~CreateToc will print a warning and refuse to link this header.
-
-!! Examples
-
-See for example PhpWikiDemo:en/TextFormattingRules
--------------
-
-PhpWikiDocumentation WikiPlugin";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/DebugInfo--1 1.3.14/tests/unit/.testbox/ver_data/DebugInfo--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/DebugInfo--1	2006-06-18 06:20:00.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/DebugInfo--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,4 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625911;s:8:"%content";s:124:"Detailed view of a page, which is probably more useful for debugging
-than anything else.
-
-<?plugin _BackendInfo page||='' ?>";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/EditMetaData--1 1.3.14/tests/unit/.testbox/ver_data/EditMetaData--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/EditMetaData--1	2006-06-18 06:20:00.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/EditMetaData--1	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625911;s:8:"%content";s:24:"<?plugin EditMetaData ?>";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/EditMetaDataPlugin--1 1.3.14/tests/unit/.testbox/ver_data/EditMetaDataPlugin--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/EditMetaDataPlugin--1	2006-06-18 06:20:00.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/EditMetaDataPlugin--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,13 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625911;s:8:"%content";s:494:"<b>This plugin allows you to add/edit/delete metadata key/value pairs for a given page. You must be logged in as the administrator to do this. The page's metadata contains things like the page hit count, last edit time and so on.</b>
-
-<b>Editing the metadata for the homepage would look like this:</b>
-------
-<?plugin EditMetaData page="HomePage" ?>
-------
-<b>With no arguments the plugin defaults to the current page:</b>
-------
-<?plugin EditMetaData ?>
-
------
-
-PhpWikiDocumentation WikiPlugin";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/EditText--1 1.3.14/tests/unit/.testbox/ver_data/EditText--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/EditText--1	2006-06-18 06:20:00.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/EditText--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,6 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625911;s:8:"%content";s:159:"All pages (except search results) have an EditText link at the bottom.
-You can edit the page you are reading by clicking that link.
-
-----
-
-PhpWikiDocumentation";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/ExternalSearchPlugin--1 1.3.14/tests/unit/.testbox/ver_data/ExternalSearchPlugin--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/ExternalSearchPlugin--1	2006-06-18 06:20:00.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/ExternalSearchPlugin--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,60 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625911;s:8:"%content";s:1704:"!! Synopsis
-
-The ExternalSearchPlugin creates a form to query InterWiki~s or other
-internet sites.
-
-!! Typical Usage
-<verbatim>
-<?plugin ExternalSearch
-         url="InterWiki or URL"
-         name="button text"
-?>
-</verbatim>
-
-
-!! Arguments
-__url__:
-  Specify a wiki from the InterWikiMap or a url. Any text entered by
-  the user will be appended to the search url. The string placeholder
-  '__=%s=__' can be used to insert a search query into the url rather
-  than appending it.
-
-__name__:
-  Text to display in the submit button. For InterWiki sites the
-  default is the wiki name, for other urls the default is the text
-  "External Search".
-
-__formsize__:
-  Specify the input area size. (default: 30 characters)
-
-__debug__:
-  Don't really redirect to the external site, just print out the url
-  that would be redirected to.
-
-
-!! Examples
-
-<verbatim>
-  url="http://sunir.org/apps/meta.pl?"       name="Metawiki Search"
-  url="http://www.usemod.com/cgi-bin/mb.pl?" name="MeatBall Search"
-  url=php-lookup
-  url=php-function
-  url=PhpWiki
-</verbatim>
-
-Perform a full-text search on multiple wiki's:
-<?plugin ExternalSearch url="http://sunir.org/apps/meta.pl?" name="Metawiki Search" ?>
-
-Perform a full-text search on [MeatBall|MeatBall:SiteSearch] wiki:
-<?plugin ExternalSearch url="http://www.usemod.com/cgi-bin/mb.pl?" name="MeatBall Search" ?>
-
-Search the PHP web site for a function name:
-<?plugin ExternalSearch url=php-lookup name="PHP Lookup" ?>
-
-Enter the name of a PHP function to view the documentation page:%%%
-<?plugin ExternalSearch url=php-function ?>
-
-Enter any existing page name on PhpWiki to jump to that page:
-<?plugin ExternalSearch url=PhpWiki ?>
-----
-PhpWikiDocumentation WikiPlugin";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/FindPage--1 1.3.14/tests/unit/.testbox/ver_data/FindPage--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/FindPage--1	2006-06-18 06:20:01.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/FindPage--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,46 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625911;s:8:"%content";s:1901:"Here are some good starting points for browsing.
-
-* HowToUseWiki gives you the quick lowdown on Wiki markup.
-* RecentChanges recorded automatically.
-* MoreAboutMechanics of browsing and editing on this server.
-
-Here's a title search. Try something like <tt>wiki or sandwich</tt>.
-
-<?plugin WikiFormRich action=TitleSearch method=GET nobr=1 class=wikiaction
-  editbox[] name=s text=""
-  submit[]
-  checkbox[] name=case_exact
-  pulldown[] name=regex value="auto,none,glob,posix,pcre,sql" ?>
-
-Use the following for a full text search. This takes a few seconds.
-The results will show all lines on a given page which contain a
-match.
-
-<?plugin WikiFormRich action=FullTextSearch method=GET nobr=1 class=wikiaction
-  editbox[] name=s text=""
-  submit[]
-  checkbox[] name=case_exact
-  pulldown[] name=regex value="auto,none,glob,posix,pcre,sql" ?>
-
-In a fuzzy pages search the titles of all pages are examined to find
-those which are similarly spelled or similar sounding (english).
-
-<?plugin-form FuzzyPages ?>
-
-------
-
-! Tips
-Separate words with a space. All words have to match as substrings. %%%
-'OR', grouping with parenthesis, string-quoting and some glob-style wildcard
-characters are also supported. %%%
-To exclude words from a title search or full text search, prepend a '-'. %%%
-Use '^xx' or 'xx*' to match words starting with 'xx'. %%%
-Use '~*xx' or 'xx$' to match words ending with 'xx'. %%%
-Use '^word$' to match exact words. %%%
-Use regex=auto and 're:' like 're:word.*xx' or regex=posix to use posix regular expressions. (not yet) %%%
-Use regex=auto and '//' like '/^word$/' or regex=pcre to match using perl-style regular expressions. %%%
-Use regex=sql to match using SQL-style wildcards '%' and '_'. %%%
-Use regex=none to match any wildcards verbatim. %%%
-
-Example: 'wiki text -php' looks for all pages containing the words 'wiki' and 'text',  %%%
-         but not containing the word 'php'.";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/FoafViewerPlugin--1 1.3.14/tests/unit/.testbox/ver_data/FoafViewerPlugin--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/FoafViewerPlugin--1	2006-06-18 06:20:01.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/FoafViewerPlugin--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,21 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625911;s:8:"%content";s:515:"!About
-FoafViewerPlugin is written to facilitate the viewing of FOAF / RDF files in human readable form. Please note, it provides only basic features at this time.
-
-!Version
-0.0.1
-
-!Usage
-<verbatim>
-<?plugin FoafViewer foaf=http://www.myfoaf.com/foaf.rdf ?>
-/FoafViewerPlugin?foaf=http://www.myfoaf.com/foaf.rdf
-</verbatim>
-
-!Download from....
-http://www.ahsonline.com.au/dod/FoafViewerPlugin.zip
-
-!Example
-<?plugin FoafViewer foaf=http://www.ahsonline.com.au/dod/FOAF.rdf ?>
-
------
-
-PhpWikiDocumentation WikiPlugin";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/FrameIncludePlugin--1 1.3.14/tests/unit/.testbox/ver_data/FrameIncludePlugin--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/FrameIncludePlugin--1	2006-06-18 06:20:01.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/FrameIncludePlugin--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,21 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625911;s:8:"%content";s:799:"This plugin will create an HTML frame that will fill the entire display area of the page (that is, the whole area the user is allowed to edit). All other text will be discarded when the page is rendered (anything outside the call to plugin, that is). In the language of hypertext this is called <i>transclusion</i>.
-
-You might also be interested in the IncludePagePlugin.
-
-Examples: to include a page from another site, use the <b>src</b> attribute:
-
-<verbatim>
-<?plugin FrameInclude src="http://phpwiki.org/" ?>
-</verbatim>
-
-To include a page from within this wiki, use the <b>page</b> attribute:
-
-<verbatim>
-<?plugin FrameInclude page=HomePage ?>
-</verbatim>
-
-For more information on this plugin please read the PHP source code in the /lib/plugin directory.
-
------
-
-PhpWikiDocumentation WikiPlugin";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/FullRecentChanges--1 1.3.14/tests/unit/.testbox/ver_data/FullRecentChanges--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/FullRecentChanges--1	2006-06-18 06:20:01.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/FullRecentChanges--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,7 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625911;s:8:"%content";s:249:"Here's a list of all recently changed pages on this wiki, not just the
-most recent ones found in RecentChanges. (See RecentEdits for all
-recent minor edits and changes).
-
---------
-
-<?plugin RecentChanges days||=3 show_all=1 daylist=1,3,7,30,90,-1 ?>";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/FullTextSearch--1 1.3.14/tests/unit/.testbox/ver_data/FullTextSearch--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/FullTextSearch--1	2006-06-18 06:20:01.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/FullTextSearch--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,31 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625911;s:8:"%content";s:756:"<?plugin FullTextSearch ?>
-
-----
-
-Additional Searches:
-<?plugin WikiFormRich action=TitleSearch method=GET nobr=1 class=wikiaction
-  editbox[] name=s text=""
-  submit[]
-  checkbox[] name=case_exact
-  pulldown[] name=regex value="auto,none,glob,posix,pcre,sql" ?>
-
-<?plugin WikiFormRich action=FullTextSearch method=GET nobr=1 class=wikiaction
-  editbox[] name=s text=""
-  submit[]
-  checkbox[] name=case_exact
-  pulldown[] name=regex value="auto,none,glob,posix,pcre,sql" ?>
-
-<?plugin WikiFormRich action=FuzzyPages method=GET nobr=1 class=wikiaction
-  editbox[] name=s text=""
-  submit[]
-  checkbox[] name=case_exact ?>
-
-----
-
-Create or edit page:
-
-<?plugin-form CreatePage?>
-
-----
-
-<?plugin IncludePage page=FindPage quiet=1 section=Tips sectionhead=1 ?>";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/FuzzyPages--1 1.3.14/tests/unit/.testbox/ver_data/FuzzyPages--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/FuzzyPages--1	2006-06-18 06:20:01.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/FuzzyPages--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,18 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625911;s:8:"%content";s:272:"<?plugin FuzzyPages ?>
-
-----
-
-Additional Searches:
-<?plugin-form TitleSearch?>
-<?plugin-form FullTextSearch?>
-<?plugin-form FuzzyPages?>
-
-----
-
-Create or edit page:
-
-<?plugin-form CreatePage?>
-
-----
-
-<?plugin IncludePage page=FindPage quiet=1 section=Tips sectionhead=1 ?>";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/GoodStyle--1 1.3.14/tests/unit/.testbox/ver_data/GoodStyle--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/GoodStyle--1	2006-06-18 06:20:01.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/GoodStyle--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,20 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625911;s:8:"%content";s:748:""Young writers often suppose that style is a garnish for the meat of
-prose, a sauce by which a dull dish is made palatable. Style has no
-such separate entity; it is nondetachable, unfilterable. The beginner
-should approach style warily, realizing that it is himself he is
-approaching, no other; and he should begin by turning resolutely away
-from all devices that are popularly believed to indicate style--all
-mannerisms, tricks, adornments. The approach to style is by way of
-plainness, simplicity, orderliness, sincerity."
-
---Strunk and White, "The Elements of Style"
-
-''And thus an American textbook, typical required reading for
-10th-grade English students, unknowingly extols some virtues of
-WabiSabi''
-
---scummings
-
-----
-
-PhpWikiDocumentation";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/GoogleLink--1 1.3.14/tests/unit/.testbox/ver_data/GoogleLink--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/GoogleLink--1	2006-06-18 06:20:01.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/GoogleLink--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,8 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625911;s:8:"%content";s:192:"!! GoogleLink
-
-A new UserPreferences setting to optionally add a [G] link to unknown pages,
-with a link to Google:[pagename]. Default: Off
-
-See MeatBall::GooglePrompt
-----
-PhpWikiDocumentation";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/HelloWorldPlugin--1 1.3.14/tests/unit/.testbox/ver_data/HelloWorldPlugin--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/HelloWorldPlugin--1	2006-06-18 06:20:01.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/HelloWorldPlugin--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,74 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625911;s:8:"%content";s:2008:"A simple example plugin.
-
-<?plugin HelloWorld salutation="Hello," name="WikiUser" ?>
-
-From the source of this page:
-
-<verbatim>
-<?plugin HelloWorld salutation="Hello," name="WikiUser" ?>
-</verbatim>
-
------
-PhpWiki's plugin architecture allows you to add custom page elements to your wiki. All you have to do is extend (subclass) the ~WikiPlugin class and create your output via the run() method, dependend on the Wiki- or Request arguments,
-
-* either with the predefined HTML classes to create valid XHTML,
-* or by using templates, which are easier customizable, but generally more a mess to use and easier to create invalid XHTML.
-
-<?plugin PhpHighlight
-
-/**
- * A simple demonstration WikiPlugin.
- *
- * Usage:
- * <?plugin HelloWorld?&gt;
- * <?plugin HelloWorld
- *          salutation="Greetings, "
- *          name=Wikimeister
- * ? >
- * <?plugin HelloWorld salutation=Hi ? >
- * <?plugin HelloWorld name=WabiSabi ? >
- */
-
-// Constants are defined before the class.
-if (!defined('THE_END'))
-    define('THE_END', "!");
-
-class WikiPlugin_HelloWorld
-extends WikiPlugin
-{
-    // Five required functions in a WikiPlugin.
-
-    function getName () {
-        return _("HelloWorld");
-    }
-
-    function getDescription () {
-        return _("Simple Sample Plugin");
-
-    }
-
-    function getVersion() {
-        return preg_replace("/[Revision: $]/", '',
-                            "\$Revision: 1.5 $");
-    }
-
-    // Establish default values for each of this plugin's arguments.
-    function getDefaultArguments() {
-        return array('salutation' => "Hello,",
-                     'name'       => "World");
-    }
-
-    function run($dbi, $argstr, $request) {
-        extract($this->getArgs($argstr, $request));
-
-        // Any text that is returned will not be further transformed,
-        // so use html where necessary.
-        $html = HTML::tt(fmt('%s: %s', $salutation, WikiLink($name, 'auto')),
-                         THE_END);
-        return $html;
-    }
-};
-?>
--------------
-
-PhpWikiDocumentation WikiPlugin";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/HomePage--1 1.3.14/tests/unit/.testbox/ver_data/HomePage--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/HomePage--1	2006-06-18 06:20:01.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/HomePage--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,9 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625928;s:8:"%content";s:436:"* What is a WikiWikiWeb? A description of this application.
-* Learn HowToUseWiki and learn about AddingPages.
-* Use the SandBox page to experiment with Wiki pages.
-* Please sign your name in RecentVisitors.
-* See RecentChanges for the latest page additions and changes.
-* Find out which pages are MostPopular.
-* Read the ReleaseNotes and RecentReleases.
-* Administer this wiki via PhpWikiAdministration.
-* See more PhpWikiDocumentation.";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/HomePageAlias--1 1.3.14/tests/unit/.testbox/ver_data/HomePageAlias--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/HomePageAlias--1	2006-06-18 06:20:01.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/HomePageAlias--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,3 +0,0 @@
-a:6:{s:5:"mtime";s:10:"1045352861";s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:8:"%content";s:88:"<?plugin RedirectTo page=HomePage ?>
-
-(This is a demonstration of the RedirectToPlugin.)";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/HowToUseWiki--1 1.3.14/tests/unit/.testbox/ver_data/HowToUseWiki--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/HowToUseWiki--1	2006-06-18 06:20:01.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/HowToUseWiki--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,69 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625912;s:8:"%content";s:2122:"''"Wiki wiki"'' means "quick" in Hawai'ian.
-
-*All you really need to know is:*
-
-* To edit any page click on the Edit link at the bottom of the page.
-  You should do that right now, and read the source code of this page.
-  It will make more sense.
-
-* You get italics by surrounding words with underscores on either side
-  _like this_.
-
-* You get *bold text* by using two asterisks on either side.
-
-* And, *_bold italics_* by using both.
-
-* You get =monospaced text= by using two equal-signs on either side.
-
-* You get bullets by using an asterisk * at the start of the line.
-
-* To have a paragraph in plain monospaced font, start it with <pre>
-  and end it with </pre>:
-
-  <pre>
-  this is a poem for sure
-  about monospacing
-  i wrote in purple velour
-  but couldn't find a rhyme for monospacing
-  </pre>
-
-* You separate paragraphs with an extra blank line. Example:
-
-  I am a paragraph.
-
-  I am a paragraph too. We're just very small paragraphs.
-
-* You can get horizontal rules with four or more dashes like this:
-
-  ---------
-
-* To create hyperlinks you just capitalize the words and string them
-  together. Let's say you want to create a page about how Steve
-  Wainstead eats worms. All you have to do is capitalize each word and
-  string them together like this: SteveWainsteadEatsLiveWorms. If the
-  page does not exist yet a question mark appears after the link,
-  inviting you to create the page: ThisPageShouldNotExist. (And please
-  don't ruin the example by creating one.)
-
-* To link to pages outside the Wiki, you can just type in the URL and
-  Wiki will link it for you: http://www.nytimes.com/
-
-* To put images in, just provide the hyperlink in brackets like this:
-  ~[~http://www.yourhost.yourdomain/images/picture.png]. Image URLs not
-  in brackets will just appear as hyperlinks to the image.
-
-* Now you are ready to begin AddingPages.
-
-----
-
-A WikiWikiWeb is meant to be fast and easy to edit. It has very simple
-markup that you can read about in TextFormattingRules.
-
-----
-
-If you don't like the size of the text editing window you get, you can
-change it.  See UserPreferences.
-
-----
-
-PhpWikiDocumentation";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/IncludePagePlugin--1 1.3.14/tests/unit/.testbox/ver_data/IncludePagePlugin--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/IncludePagePlugin--1	2006-06-18 06:20:01.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/IncludePagePlugin--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,9 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625912;s:8:"%content";s:379:"This plugin will "include" other pages in this wiki. In the language of hypertext this is called <i>transclusion</i>. The pages will render in distinct tables. You can also load external pages in a more limited fashion with the FrameIncludePlugin. Examples:
-
-<?plugin IncludePage page="HomePage" ?>
-
-<?plugin IncludePage page="WabiSabi" ?>
-
------
-
-PhpWikiDocumentation WikiPlugin";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/InterWiki--1 1.3.14/tests/unit/.testbox/ver_data/InterWiki--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/InterWiki--1	2006-06-18 06:20:01.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/InterWiki--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,36 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625912;s:8:"%content";s:1667:"This wiki supports InterWiki links in a style copied from [UseMod:]
-wiki. Links to pages in other wikis can be made without having to know
-or type the full URLs, for example: MeatBall:InterWiki will link to
-the page named "~InterWiki" at Meatball wiki.
-
-The ~InterWiki map is taken from the the <verbatim> block in
-InterWikiMap, but that page must be locked for it to work. This denies
-a potential hacker the ability to nefariously change every ~InterWiki
-link to point to some evil URL. If no map is found in InterWikiMap (or
-the page is not locked), PhpWiki will fall back to using the file
-lib/interwiki.map in your phpwiki distribution. The ~InterWiki map
-file in use at PhpWiki: can be viewed at
-[http://phpwiki.sf.net/interwiki.map].
-
-The map file is manually updated. It is based upon and periodically
-synchronized with [UseMod's InterMap|http://usemod.com/intermap.txt]
-but it is not quite identical. One notable difference from [UseMod:]
-is that PhpWiki supports '%s' within the URLs in the map--see the
-entry for RFC for an example of how this works.
-
-Not all of the entries in the InterWikiMap are actual wikis. For
-example, these are just regular web sites: Dictionary:fungible,
-[JargonFile:Alderson loop], [IMDB:Roman Holiday], RFC:2822, and
-ISBN:020171499X.
-
-The "Category" moniker is a special entry which allows one to link a
-wiki page to a Category page without creating a back-reference. Thus
-Category:Category links to the CategoryCategory page, yet this page
-won't show up in the back-links listing of CategoryCategory.
-
-The term "InterWiki" also refers to a broader concept. See
-PhpWiki:InterWikiSearch for more links.
-
-----
-
-PhpWikiDocumentation";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/InterWikiMap--1 1.3.14/tests/unit/.testbox/ver_data/InterWikiMap--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/InterWikiMap--1	2006-06-18 06:20:01.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/InterWikiMap--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,135 +0,0 @@
-a:6:{s:8:"pagetype";s:12:"interwikimap";s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:5:"mtime";i:1150625912;s:8:"%content";s:6164:"The InterWiki map used on this wiki is listed below.  The map is taken
-from the text in the verbatim block below.  (But this only works if
-this page is locked.)
-<verbatim>
-AIWiki http://www.ifi.unizh.ch/ailab/aiwiki/aiw.cgi?
-ALife http://news.alife.org/wiki/index.php?
-AbbeNormal http://www.ourpla.net/cgi-bin/pikie.cgi?
-AcadWiki http://xarch.tu-graz.ac.at/autocad/wiki/
-Acronym http://www.acronymfinder.com/af-query.asp?String=exact&Acronym=
-Advogato http://www.advogato.org/
-Annotation http://bayle.stanford.edu/crit/nph-med.cgi/
-AnnotationWiki http://www.seedwiki.com/page.cfm?wikiid=368&doc=
-AviSynth http://www.avisynth.org/
-AwarenessWiki http://taoriver.net/aware/
-BcWireless http://www.bcwireless.net/wiki-moinmoin/moin.cgi/
-BenefitsWiki http://www.benefitslink.com/cgi-bin/wiki.cgi?
-BridgesWiki http://c2.com/w2/bridges/
-bsdWiki http://profile.sh/syswiki/index.php?
-C2find http://c2.com/cgi/wiki?FindPage&value=
-CLiki http://ww.telent.net/cliki/
-Cache http://www.google.com/search?q=cache:
-Category Category
-CmWiki http://www.ourpla.net/cgi-bin/wiki.pl?
-CreationMatters http://www.ourpla.net/cgi-bin/wiki.pl?
-CPAN http://search.cpan.org/
-DeWikiPedia http://de.wikipedia.org/wiki/
-DejaNews http://www.deja.com/=dnc/getdoc.xp?AN=
-Dict http://www.dict.org/bin/Dict?Database=*&Form=Dict1&Strategy=*&Query=
-Dictionary http://www.dict.org/bin/Dict?Database=*&Form=Dict1&Strategy=*&Query=
-DiveIntoOsx http://diveintoosx.org/
-DocBook http://docbook.org/wiki/moin.cgi/
-DolphinWiki http://www.object-arts.com/wiki/html/Dolphin/
-DseWiki http://www.wikiservice.at/dse/wiki.cgi?
-EfnetCeeWiki http://purl.net/wiki/c/
-EfnetCppWiki http://purl.net/wiki/cpp/
-EfnetPythonWiki http://purl.net/wiki/python/
-EfnetXmlWiki http://purl.net/wiki/xml/
-EljWiki http://elj.sourceforge.net/phpwiki/index.php/
-EmacsWiki http://www.emacswiki.org/cgi-bin/wiki.pl?
-EoWikiPedia http://eo.wikipedia.org/wiki/
-FinalEmpire http://final-empire.sourceforge.net/cgi-bin/wiki.pl?
-Foldoc http://www.foldoc.org/foldoc/foldoc.cgi?
-FoxWiki http://fox.wikis.com/wc.dll?Wiki~
-FrWikiPedia http://fr.wikipedia.org/wiki/
-FreeBSDman http://www.FreeBSD.org/cgi/man.cgi?apropos=1&query=
-FreeNetworks http://www.freenetworks.org/index.cgi/
-FreshMeat http://freshmeat.net/
-Froogle http://froogle.google.com/froogle?q=
-Google http://www.google.com/search?q=
-GoogleGroups http://groups.google.com/groups?q=
-GreenCheese http://www.greencheese.org/
-HammondWiki http://www.dairiki.org/HammondWiki/index.php3?
-Haribeau http://wiki.haribeau.de/cgi-bin/wiki.pl?
-IAWiki http://www.IAwiki.net/
-IMDB http://us.imdb.com/Title?
-ISBN http://www.amazon.com/exec/obidos/ISBN=
-IfDef http://ifdef.undef.net/
-JTF http://www.justthefaqs.org/?page=
-JargonFile http://sunir.org/apps/meta.pl?wiki=JargonFile&redirect=
-JiniWiki http://www.cdegroot.com/cgi-bin/jini?
-JspWiki http://www.ecyrd.com/JSPWiki/Wiki.jsp?page=
-KmWiki http://www.voght.com/cgi-bin/pywiki?
-KnowHow http://www2.iro.umontreal.ca/~paquetse/cgi-bin/wiki.cgi?
-LanifexWiki http://opt.lanifex.com/cgi-bin/wiki.pl?
-LegoWiki http://www.object-arts.com/wiki/html/Lego-Robotics/
-LinuxWiki http://www.linuxwiki.de/
-LugKR http://lug-kr.sourceforge.net/cgi-bin/lugwiki.pl?
-MACCAWS http://www.maccaws.com/wiki/
-MathSongsWiki http://SeedWiki.com/page.cfm?wikiid=237&doc=
-MbTest http://www.usemod.com/cgi-bin/mbtest.pl?
-MeatBall http://www.usemod.com/cgi-bin/mb.pl?
-MetaWiki http://sunir.org/apps/meta.pl?
-MetaWikiPedia http://meta.wikipedia.com/wiki/
-MoinMoin http://moinmoin.wikiwikiweb.de/
-MoinMaster http://moinmaster.wikiwikiweb.de/
-MuWeb http://www.dunstable.com/scripts/MuWebWeb?
-NetVillage http://www.netbros.com/?
-OpenWiki http://openwiki.com/?
-OrgPatterns http://www.bell-labs.com/cgi-user/OrgPatterns/OrgPatterns?
-PPR http://c2.com/cgi/wiki?
-PangalacticOrg http://www.pangalactic.org/Wiki/
-PersonalTelco http://www.personaltelco.net/index.cgi/
-php-function http://www.php.net/%s
-php-lookup http://www.php.net/manual-lookup.php?pattern=
-PhpWiki http://phpwiki.sourceforge.net/phpwiki/
-PhpWikiCvs http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/phpwiki/phpwiki/
-PhpWikiDemo http://phpwiki.sourceforge.net/demo/
-PhpWikiTest http://phpwiki.sourceforge.net/test/
-Pikie http://pikie.darktech.org/cgi/pikie?
-PlWikiPedia http://pl.wikipedia.org/wiki/
-PolitizenWiki http://www.politizen.com/wiki.asp?
-PoundPython http://twistedmatrix.com/wiki/python/
-PurlNet http://www.palowireless.com/zigbee/
-PyWiki http://www.voght.com/cgi-bin/pywiki?
-PythonInfo http://www.python.org/cgi-bin/moinmoin/
-PythonWiki http://www.pythonwiki.de/
-RFC http://www.faqs.org/rfcs/rfc%s.html
-RussellFreedom http://www.russellfreedom.com/
-SVGWiki http://www.protocol7.com/svg-wiki/default.asp?
-SeaPig http://www.seapig.org/ 
-SeattleWireless http://seattlewireless.net/?
-SenseisLibrary http://senseis.xmp.net/?
-Shakti http://cgi.algonet.se/htbin/cgiwrap/pgd/ShaktiWiki/
-SourceForge http://sourceforge.net/
-Squeak http://minnow.cc.gatech.edu/squeak/
-StrikiWiki http://ch.twi.tudelft.nl/~mostert/striki/teststriki.pl?
-TMwiki http://www.EasyTopicMaps.com/?page=
-TWiki http://twiki.org/cgi-bin/view/
-Tavi http://tavi.sourceforge.net/index.php?
-Thesaurus http://www.thesaurus.com/cgi-bin/search?config=roget&words=
-Thinki http://www.thinkware.se/cgi-bin/thinki.cgi/
-TmNet http://www.technomanifestos.net/?
-Unreal http://wiki.beyondunreal.com/wiki/
-UseMod http://www.usemod.com/cgi-bin/wiki.pl?
-VisualWorks http://wiki.cs.uiuc.edu/VisualWorks/
-WakkaWiki http://www.wakkawiki.com/
-WebDevWikiNL http://www.promo-it.nl/WebDevWiki/index.php?page=
-WebSeitzWiki http://webseitz.fluxent.com/wiki/
-Why http://clublet.com/c/c/why?
-Wiktionary http://wiktionary.org/wiki/
-Wiki http://c2.com/cgi/wiki?
-WikiLens http://www.wikilens.org/wiki.php/
-WikiWikiWireless http://www.andaluciawireless.net/
-Wikibooks http://wikibooks.org/wiki/
-WikiPedia http://www.wikipedia.com/wiki/
-Wikiquote http://wikiquote.org/wiki/
-Wikisource http://wikisource.org/wiki/
-WikiWorld http://WikiWorld.com/wiki/index.php/
-WikkiTikkiTavi http://tavi.sourceforge.net/
-WLUG http://www.wlug.org.nz/
-YpsiEyeball http://sknkwrks.dyndns.org:1957/writewiki/wiki.pl?
-ZWiki http://www.zwiki.org/
-OsFaq2 http://www.mega-tokyo.com/osfaq2/index.php/
-</verbatim>
-";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/InterWikiSearch--1 1.3.14/tests/unit/.testbox/ver_data/InterWikiSearch--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/InterWikiSearch--1	2006-06-18 06:20:01.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/InterWikiSearch--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,9 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625912;s:8:"%content";s:200:"Query any Wiki listed in the InterWikiMap by entering a desired page
-name below.
-
-To add one of these searches to another page use the
-ExternalSearchPlugin.
-
-<?plugin InterWikiSearch?>
-----
-WikiPlugin";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/LikePages--1 1.3.14/tests/unit/.testbox/ver_data/LikePages--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/LikePages--1	2006-06-18 06:20:01.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/LikePages--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,6 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625912;s:8:"%content";s:149:"LikePages are pages which share an initial or final word with that
-page. See also Wiki:LikePages and MeatBall:LikePages.
-
-----
-
-<?plugin LikePages ?>";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/LinkDatabase--1 1.3.14/tests/unit/.testbox/ver_data/LinkDatabase--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/LinkDatabase--1	2006-06-18 06:20:01.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/LinkDatabase--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,9 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625912;s:8:"%content";s:266:"<?plugin LinkDatabase ?>
-
-<?plugin Comment
-  With ?format=text to be used by WikiBrowser at http://touchgraph.sourceforge.net/
-  Save the output as textfile.
-
-  Warning: format=text and format=xml pages will break HTML and ZIP dumps!
-  They must be excluded then.
-?>";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/LinkIcons--1 1.3.14/tests/unit/.testbox/ver_data/LinkIcons--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/LinkIcons--1	2006-06-18 06:20:01.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/LinkIcons--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,54 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625917;s:8:"%content";s:1927:"LinkIcons are an optional new feature of PhpWiki. When activated,
-icons will be displayed in front of URLs to indicate the type of link.
-
-* [http://phpwiki.sourceforge.net/demo/themes/default/images/http.png]
-  http link
-* [http://phpwiki.sourceforge.net/demo/themes/default/images/url.png]
-  generic internet link
-* [http://phpwiki.sourceforge.net/demo/themes/default/images/interwiki.png]
-  InterWiki link
-* [http://phpwiki.sourceforge.net/demo/themes/default/images/https.png]
-  https link
-* [http://phpwiki.sourceforge.net/demo/themes/default/images/mailto.png]
-  mailto link
-* [http://phpwiki.sourceforge.net/demo/themes/default/images/ftp.png]
-  ftp link
-
-__Note__: Some of the default icons use the alpha channel feature of
-the [PNG | http://www.libpng.org/pub/png/png-sitemap.html] image format
-for smooth rendering on any page color or textured background. Older
-browsers may not display all the images properly.
-
-!!!Examples
-
-The following examples will display with the above link icons only if
-the administrator has enabled this feature.
-
-!! InterWiki links
-
-* InterWiki link PhpWiki:InterWiki
-* A named InterWiki [read WhyWikiWorks at c2|Wiki:WhyWikiWorks].
-
-!!URLs
-
-* Email address [PhpWiki-talk mailing list|mailto:phpwiki-talk@lists.sourceforge.net]
-* Normal http link [PhpWiki's Home Page|http://phpwiki.sourceforge.net/phpwiki/]
-* Secure http link [PhpWiki's Home Page|https://phpwiki.sourceforge.net/phpwiki/]
-* File transfer ftp://ftp.sourceforge.net/
-
-''A generic icon is shown for other less common link types.''
-
-* news://nntp.news.com
-* gopher://gopher.caltech.cmu.edu
-
-LinkIcons will only display when the URL protocol is one which PhpWiki
-is allowed to link to. The following examples won't show any icons and
-PhpWiki won't automatically provide double-clickable links either,
-unless the administrator adds them:
-
-* bogus://oedipus.nostradamus.com
-* bolo://lgm.cheshire.org
-
-----
-
-PhpWikiDocumentation";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/ListPagesPlugin--1 1.3.14/tests/unit/.testbox/ver_data/ListPagesPlugin--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/ListPagesPlugin--1	2006-06-18 06:20:01.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/ListPagesPlugin--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,19 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625917;s:8:"%content";s:677:"The ListPagesPlugin is the simpliest plugin to explicitly list a set of pages with all available
-[pagelist|PhpWiki:PageList] options, mainly used for a wikilens theme to display ratings info
-and recommendations.
-
-It can also be used with the PhpWiki:PluginList method to list a set of pages generated by
-another plugin, and/or to exclude a set of pages generated by another plugin.
-
-See the PhpWiki:PageList options.
-
-Usage:
-<verbatim>
-  <?plugin ListPages pages=HomePage,FindPage,WikiWikiWeb ?>
-
-  <?plugin ListPages info=hits sortby=hits pages=<!plugin-list BackLink page=[] !> exclude=ListPagesPlugin,WikiPlugin ?>
-</verbatim>
-
--------------
-
-PhpWikiDocumentation WikiPlugin";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/MagicPhpWikiURLs--1 1.3.14/tests/unit/.testbox/ver_data/MagicPhpWikiURLs--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/MagicPhpWikiURLs--1	2006-06-18 06:20:01.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/MagicPhpWikiURLs--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,123 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625918;s:8:"%content";s:2789:"!!! About phpwiki: URLs
-
-A special type of URL is available for making links to perform
-administrative and other special functions in PhpWiki.  Here is a
-brief description of how they work.
-
-The basic syntax of a phpwiki: URL is
-
-<pre>
-__phpwiki:__''pagename''__?__''query-args''
-</pre>
-
-If _pagename_ is omitted it defaults to the current page.
-
-_Query-args_ should be a set of parameters in standard HTTP GET
-format.
-
-The "action=''x''" parameter should almost always be given.  It can be one of
-__browse__, __diff__, __edit__, __viewsource__,
-__zip__, __dumpserial__, __loadserial__,
-__remove__, __lock__, __unlock__,
-__login__, __logout__, __setprefs__ or __save__.
-The default action is __browse__.
-
-Some of the actions accept other parameters.
-
-__FullTextSearch__, __TitleSearch__:
-
-  Accepts __s__=search term, and __size__=input size.
-
-__edit__:
-
-  Accepts __version__.
-
-__remove__:
-
-  Accepts __verify__.
-
-__save__:
-
-  Accepts __editversion__, __minor_edit__, and  __content__.
-
-__setprefs__:
-
-  Accepts __edit_area_width__, __edit_area_height__.
-
-!! Writing Magic Links in Wiki Pages
-
-A magic link looks like:
-
-<pre>
-__~[__ ''text'' __|__ ''phpwiki-url'' __]__
-</pre>
-
-The "''text'' *|*" is optional but usually recommended.  If given it
-will provide the label for the link.
-
-The _phpwiki-url_ is a *phpwiki:* URL as described above.
-
-!Some examples
-
-<verbatim>
-[ Edit the SandBox | phpwiki:SandBox?action=edit ]
-</verbatim>
-will generate a link which will take you directly to editing the
-SandBox, like so: [Edit the SandBox | phpwiki:SandBox?action=edit].
-
-Other possibilites:
-* [ Diff the SandBox | phpwiki:SandBox?action=diff ],
-* [ Lock the HomePage | phpwiki:HomePage?action=lock ],
-* [ Get a Full Zip Dump | phpwiki:?action=zip&include=all ],
-* Search for [ Page titles containing 'wiki' | phpwiki:?action=TitleSearch&s=wiki ]
-
-!! Writing Magic Forms in Wiki Pages
-
-''__Note__: The old syntax for Magic forms is no longer supported.
-They are superseded by =<?plugin-form>=.''
-
-If the plugin is called using *<?plugin-form* instead of *<?plugin*
-and the plugin supports searching, then it will be rendered as a form.
-
-''size'':
-
-  If given, specifies the size of the input area.
-
-''s'':
-
-  Specifies the default value for the input.
-
-!Examples:
-
-A search plugin invoked with *<?plugin* instead of *<?plugin-form*
-simply inserts the search results of the plugin:
-
-<verbatim>
-<?plugin TitleSearch s=wiki noheader=true ?>
-</verbatim>
-
-Search results for Page titles containing 'wiki':
-
-<?plugin TitleSearch s=wiki noheader=true ?>
-
-<verbatim>
-<?plugin-form FullTextSearch ?>
-</verbatim>
-
-gives
-
-<?plugin-form FullTextSearch ?>
-
-While
-
-<verbatim>
-<?plugin-form TitleSearch formsize=12 ?>
-</verbatim>
-
-yields
-
-<?plugin-form TitleSearch formsize=12 ?>
-
-----
-
-PhpWikiDocumentation";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/ModeratedPage--1 1.3.14/tests/unit/.testbox/ver_data/ModeratedPage--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/ModeratedPage--1	2006-06-18 06:20:01.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/ModeratedPage--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,66 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625918;s:8:"%content";s:2891:"<?plugin ModeratedPage ?>
-
-----
-
-!!! What is a ModeratedPage?
-
-A ModeratedPage is a page-internal setting, which restricts certain actions on certain pages.
-The requested action and page is stored internally and an email is sent to the moderators
-described in the linked and locked ModeratedPage action page.
-Any moderator may approve or reject the action by simply clicking an url.
-When approving the action, the requested action (edit, rename, ...) is performed.
-
-In both cases the author is notified, so it's recommended for the
-moderator to click on either the approve or reject links in the moderation email.
-In case of multiple moderators: first comes, first serves.
-
-!!! How to enable ModeratedPage on a single page?
-
-* Check the status of this action page, esp. the moderators in the
-  plugin line, if they had their emails stored in their
-  UserPreferences, and if the action page is locked.
-* Add a link to this action page in the page(s) in question.
-* Save the page.
-* Lock the page to actually change the moderation status. You may want to unlock it then.
-
-!!! How to disable ModeratedPage on a single page?
-
-* Remove the link to this action page in the page(s) in question.
-* Save the page.
-* Lock the page to actually change the moderation status. You may want to unlock it then.
-
-!!! Plugin Arguments
-
-* moderators: comma seperated list of registered usernames or groups.
-  Each user should have his email defined in his prefs. Default: "Administrators" or
-  <?plugin SystemInfo ADMIN_USER ?>
-* requirelevel: one of 0, 1, 2 or 10 on which moderation is used. Default: false (use requireaccess instead)
-* requireaccess: comma separated list of access perms, on which the moderation is used
-  "view,edit,create,list,remove,change"
-  Default: edit,remove,change
-
-!!! How does it work internally?
-
-You need to lock the page additionally, so that the link parser performs
-some magic whether the ModeratedPage link is present or not, for efficiency
-reasons. It can be unlocked again, and even the ModeratedPage link may be removed.
-The status will only be changed on the *lock* action, whether the ModeratedPage
-link is present or not.
-
-The moderation status is stored in each page in question.
-Each moderated action is stored in the page also, together with a randomly
-created permission key to allow Grant by a simple external unauthorized request.
-There's no timeout on moderated actions, so the actions may stack up.
-The delayed actions may be performed in any order, there's no strict ordering to
-follow for the moderator.
-
-!!! How to enable ModeratedPage on multiple/all pages?
-
-If you enable the config option ENABLE_MODERATEDPAGE_ALL, the page moderation status on
-every page is automatically set to check this action page ModeratedPage.
-
-There may come another administrative plugin to change the moderation
-status on selected pages.
-
------
-PhpWikiDocumentation WikiPlugin";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/MoreAboutMechanics--1 1.3.14/tests/unit/.testbox/ver_data/MoreAboutMechanics--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/MoreAboutMechanics--1	2006-06-18 06:20:01.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/MoreAboutMechanics--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,33 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625918;s:8:"%content";s:1339:"PhpWiki is written in the server-side scripting language PHP,
-available from http://www.php.net/. PHP resembles C and Perl in its
-syntax, and functions much like ASP, ~EmbPerl or JSP.
-
-PhpWiki consists of a dozen or so files of mixed PHP and HTML. The web
-pages that make up a WikiWikiWeb based on PHP live in a database with
-backup copies of previous versions of pages stored as well. (For the
-database, PhpWiki works with DBM, MySQL, PostgreSQL or text files.)
-
-Every time a user hits the site, the page requested is pulled from the
-database and rendered on the fly. The user only really ever requests
-the file =index.php=, which then decides which other php files to
-include.
-
-Links to pages in the Wiki are automatically linked: AddingPages.
-This might be the single most compelling aspect of a Wiki, the ability
-to add pages simply by linking to them. The next most compelling thing
-is how easily external URLs link, like this:
-
-# http://www.wcsb.org/
-# ftp://ftp.redhat.com/
-# news://news.mozilla.org/
-# http://slashdot.org/
-# http://theregister.co.uk/
-
-Combined with one namespace and a simple markup, a Wiki exhibits many
-of the characteristics of WabiSabi.
-
-PhpWiki is licensed under the GNU General Public license, which you
-should be able to see here: http://www.gnu.org/copyleft/gpl.txt.
-
-----
-PhpWikiDocumentation CategoryWiki";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/MostPopular--1 1.3.14/tests/unit/.testbox/ver_data/MostPopular--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/MostPopular--1	2006-06-18 06:20:02.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/MostPopular--1	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625918;s:8:"%content";s:34:"<?plugin MostPopular limit||=20 ?>";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/NewMarkupTestPage--1 1.3.14/tests/unit/.testbox/ver_data/NewMarkupTestPage--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/NewMarkupTestPage--1	2006-06-18 06:20:02.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/NewMarkupTestPage--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,145 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625918;s:8:"%content";s:2767:"New lists: asterisks, hash marks, and ";text:def" (wrong...)
-* bullet
-* l1
-  * l2
-  * l2
-     * l3
- # one
- #two
- #three
-Term1:
-  definition1.1
-
-  definition1.2
-Term2 :
-    definition2
-
-    Term3:
-      definition3
-      Term4:
-          definition4
-
-          definition4.2
-      Term5 :
-        definition5
-
-Mixed -
- * ul1
-   # ul1-ol1
-   # ul1-ol2
-     * ul1-ol2-ul1
-     * ul1-ol2-ul2
-        * ul1-ol2-ul2-ul1
-        * ul1-ol2-ul2-ul2
-
-*  l1
-   <pre>
-      preformatted text
-   </pre>
-   * l2
-----
- old lists, oddly enough, work fine
-	* level 1
-	* l1
-		*l2
-		*l2
-			*l3
-			*l3
-				*l4
-			*l3
-					*l5
-			*l3
-	#one
-	#two
-		#one
-		#two
-	*l1
-		#three
-		#four
-	*l1
-		*l2
-		# one
-		# two
-
-<pre>
- preformatted text
- some more text
-</pre>
-
-	*l1
-				*l2
-	# number
-	# number
-this is a plain paragraph
-	* bullet
-this is a plain paragraph again
-	# number
-----
-__Link tests__
-# normal: HomePage
-# in brackets: [HomePage] -- named: [the front page|HomePage]
-# Link in brackets: [http://phpwiki.sourceforge.net/]
-# Link outside brackets: http://phpwiki.sourceforge.net/
-# Link with Wiki word: http://phpwiki.sourceforge.net/phpwiki/index.php?HomePage
-# Two consecutive links: http://phpwiki.sourceforge.net/ http://phpwiki.sourceforge.net/phpwiki/
-# [PhpWiki on Sourceforge | http://phpwiki.sourceforge.net/]
-# [URL with a WikiWord | http://phpwiki.sourceforge.net/phpwiki/index.php?RecentChanges]
-# Javascript: [boo! | javascript:alert('oops') ]  (is now: named internal link)
-# A [[Link] produces a [Link]
-# A [Link] looks like this: [[Link]
-# This is a [%%%] line break link
-# Also this page is [[not linked to], and this one is !NotLinkedTo and this one neither !http://not.linked.to/.
-  * WikiName - WikiNameSameStem -- !!WikiName - !!WikiNameSameStem
-  * !!WikiName - !!WikiNameSameStem -- WikiName - WikiNameSameStem
-  * WikiNameSameStem - WikiName -- !!WikiNameSameStem - !!WikiName
-  * !!WikiNameSameStem - !!WikiName -- WikiNameSameStem - WikiName
-
-----
-Markup tests:
-
-__underscores for bold__
-
-'''quotes for bold'''
-
-''quotes for italic''
-
-__''underscores bold italic''__
-
-'''''five quotes bold italic'''''
-
-''''''six quotes''''''
-
-'''''Bold italic''' and italic'' (buggy)
-
-'''Bold and ''bold-italic''''' (also buggy)
-
-!!! h1
-
-!! h2
-
-! h3
-
-this is plain text with <br>%%%
-a line break
-
-look at the <a href="http://phpwiki.sourceforge.net/">markup language</a>
-
-you cannot use &, < or >
-
-----
-Usage in preformatted text:
-<pre>
- __underscores for bold__
- '''quotes for bold'''
- ''quotes for italic''
- __''underscores bold italic''__
- '''''five quotes bold italic'''''
- ''''''six quotes''''''
- !!! h1
- !! h2
- ! h3
- this is plain text with <br>%%%
- a line break
- look at the <a href="http://phpwiki.sourceforge.net/">markup language</a>
- you cannot use &, < or >
-</pre>";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/OldMarkupTestPage--1 1.3.14/tests/unit/.testbox/ver_data/OldMarkupTestPage--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/OldMarkupTestPage--1	2006-06-18 06:20:02.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/OldMarkupTestPage--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,132 +0,0 @@
-a:5:{s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625918;s:8:"%content";s:2593:" New lists: asterisks, hash marks, and ";text:def"
-* bullet
-* l1
-** l2
-** l2
-*** l3
-# one
-#two
-#three
-;Term1:definition1.1
-;: defintion1.2
-;Term2 :defintion2
-;; Term3:defintion3
-;;;Term4: definition4
-;;; : defintion4.2
-;;; Term5 : defintion5
-
-Mixed:
-*ul1
-*#ul1-ol1
-*#ul1-ol2
-*#*ul1-ol2-ul1
-*#*ul1-ol2-ul2
-*#**ul1-ol2-ul2-ul1
-*#**ul1-ol2-ul2-ul1
-
-*l1
- preformatted text
-**    l2
-----
- old lists
-	* level 1
-	* l1
-		*l2
-		*l2
-			*l3
-			*l3
-				*l4
-			*l3
-					*l5
-			*l3
-	#one
-	#two
-		#one
-		#two
-	*l1
-		#three
-		#four
-	*l1
-		*l2
-		# one
-		# two
-
- preformatted text
- some more text
-
-	*l1
-				*l4
-	# number
-	# number
-this is a plain paragraph
-	* bullet
-this is a plain paragraph again
-	# number
-----
-__Link tests__
-# normal: HomePage
-# in brackets: [HomePage] -- named: [the front page|HomePage]
-# Link in brackets: [http://phpwiki.sourceforge.net/]
-# Link outside brackets: http://phpwiki.sourceforge.net/
-# Link with Wiki word: http://phpwiki.sourceforge.net/phpwiki/index.php?HomePage
-# Two consecutive links: http://phpwiki.sourceforge.net/ http://phpwiki.sourceforge.net/phpwiki/
-# [PhpWiki on Sourceforge | http://phpwiki.sourceforge.net/]
-# [URL with a WikiWord | http://phpwiki.sourceforge.net/phpwiki/index.php?RecentChanges]
-# Javascript: [boo! | javascript:alert('oops') ]  (is now: named internal link)
-# A [[Link] produces a [Link]
-# A [Link] looks like this: [[Link]
-# This is a [%%%] line break link
-# Also this page is [[not linked to], and this one is !NotLinkedTo and this one neither !http://not.linked.to/.
-#* WikiName - WikiNameSameStem -- !!WikiName - !!WikiNameSameStem
-#* !!WikiName - !!WikiNameSameStem -- WikiName - WikiNameSameStem
-#* WikiNameSameStem - WikiName -- !!WikiNameSameStem - !!WikiName
-#* !!WikiNameSameStem - !!WikiName -- WikiNameSameStem - WikiName
-
-----
-Markup tests:
-
-__underscores for bold__
-
-'''quotes for bold'''
-
-''quotes for italic''
-
-__''underscores bold italic''__
-
-'''''five quotes bold italic'''''
-
-''''''six quotes''''''
-
-'''''Bold italic''' and italic'' (buggy)
-
-'''Bold and ''bold-italic''''' (also buggy)
-
-!!! h1
-
-!! h2
-
-! h3
-
-this is plain text with <br>%%%
-a line break
-
-look at the <a href="http://phpwiki.sourceforge.net/">markup language</a>
-
-you cannot use &, < or >
-
-----
-Usage in preformatted text:
-
- __underscores for bold__
- '''quotes for bold'''
- ''quotes for italic''
- __''underscores bold italic''__
- '''''five quotes bold italic'''''
- ''''''six quotes''''''
- !!! h1
- !! h2
- ! h3
- this is plain text with <br>%%%
- a line break
- look at the <a href="http://phpwiki.sourceforge.net/">markup language</a>
- you cannot use &, < or >";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/OldStyleTablePlugin--1 1.3.14/tests/unit/.testbox/ver_data/OldStyleTablePlugin--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/OldStyleTablePlugin--1	2006-06-18 06:20:02.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/OldStyleTablePlugin--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,64 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625918;s:8:"%content";s:1450:"The OldStyleTablePlugin can be used to include tables within a wiki
-page using the old-style markup syntax for tables.
-
-!!Usage:
-
-<verbatim>
-<?plugin OldStyleTable caption="OldStyleTable" border||=2
-||^  *Name*                |v *Cost*   |v *Notes*
-| *First*     | *Last*
-|> Jeff       |< Dairiki   |^  Cheap   |< Not worth it
-|> Marco      |< Polo      | Cheaper   |< Not available
-?>
-</verbatim>
-
-will get you
-
-<?plugin OldStyleTable caption="OldStyleTable" border||=2
-||^  *Name*                |v *Cost*   |v *Notes*
-| *First*     | *Last*
-|> Jeff       |< Dairiki   |^  Cheap   |< Not worth it
-|> Marco      |< Polo      | Cheaper   |< Not available
-?>
-
-Note that multiple __|__s lead to spanned columns, and __v__s can be
-used to span rows.  A __>__ generates a right justified column, __<__
-a left justified column and __^__ a centered column (which is the
-default.)
-
-!! Plugin Arguments
-
-__caption__:
-
-  Any string. Default: ""
-
-__border__:
-
-  Any number. Default: 1
-
-__cellspacing__:
-
-  Any number. Default: 1
-
-__cellpadding__:
-
-  Any number. Default: 1
-
-__summary__:
-
-  Any string. Default: ""
-
-----
-
-Note that within each table cell, _new-style_ markup is used.  You can
-only use inline markup --- no block level markup is allowed within
-table cells.
-
-(Using old-style markup wouldn't make much sense, since one can't
-include multi-line plugin invocations using the old-style markup
-rules.)
-
-
--------------
-
-PhpWikiDocumentation WikiPlugin";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/OldTextFormattingRules--1 1.3.14/tests/unit/.testbox/ver_data/OldTextFormattingRules--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/OldTextFormattingRules--1	2006-06-18 06:20:02.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/OldTextFormattingRules--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,109 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625920;s:8:"%content";s:5655:"! Synopsis
-OldTextFormattingRules%%%
-<strong>Emphasis:</strong> '<strong></strong>' for <em>italics</em>, _<em></em>~_ for <strong>bold</strong>, '<strong></strong>'_<em></em>~_ for <em><strong>both</strong></em>.%%%
-<strong>Lists:</strong> * for bullet lists, # for numbered lists, <em><strong>;</strong> term <strong>:</strong> definition</em> for definition lists.%%%
-<strong>References:</strong> ~JoinCapitalizedWords or use square brackets for a ~[page link] or URL ~[~http://cool.wiki.int/].%%%
-<strong>Footnotes:</strong> Use ~[1],~[2],~[3],...%%%
-<strong>Preventing linking:</strong> Prefix with "~!": ~!~DoNotHyperlink, name links like ~[~[text | URL] (double up on the "[").%%%
-<strong>Misc:</strong> "~!", "~!~!", "~!~!~!" make headings, "%%<em></em>%" makes a linebreak, "-<em></em>-<em></em>-<em></em>-" makes a horizontal rule.%%%
-<strong>Tables:</strong> | as first char, | for more columns, |> align right, |< align left, |^ centered (default), || span columns, |v span rows
-
-----
-! Paragraphs
-
-* Don't indent paragraphs
-* Words wrap and fill as needed
-* Use blank lines as separators
-* Four or more minus signs make a horizontal rule
-* %%<em></em>% makes a linebreak (in headings and lists too)
-
-
-! Lists
-
-* asterisk for first level
-     * asterisk-asterisk for second level, etc.
-* Use * for bullet lists, # for numbered lists (mix at will)
-* semicolon-term-colon-definition for definition lists:
-;term here:definition here, as in the <DL><DT><DD> list
-* One line for each item
-* Other leading whitespace signals preformatted text, changes font.
-
-! Headings
-
-* '~!' at the start of a line makes a small heading
-* '~!~!' at the start of a line makes a medium heading
-* '~!~!~!' at the start of a line makes a large heading
-
-! Fonts
-
-* Indent with one or more spaces to use a monospace font:
-
-<pre>
- This is in monospace
-</pre>
-This is not
-
-!Indented Paragraphs
-
-* semicolon-colon -- works like <BLOCKQUOTE>
-
-;:this is an indented block of text
-
-! Emphasis
-
-* Use doubled single-quotes ('<strong></strong>') for emphasis (usually <em>italics</em>)
-* Use doubled underscores (_<em></em>_) for strong emphasis (usually <strong>bold</strong>)
-* Mix them at will: <strong><em>bold italics</em></strong>
-* <em>Emphasis</em> can be used <em>multiple</em> times within a line, but <em>cannot</em> cross line boundaries:
-
-''this
-will not work''
-
-! References
-* Hyperlinks to other pages within the Wiki are made by placing the page name in square brackets: [this is a page link] or UsingWikiWords (preferred)
-* Hyperlinks to external pages are done like this: [http://www.wcsb.org/]
-* You can name the links by providing a name, a bar (|) and then the hyperlink or pagename: [PhpWiki home page | http://phpwiki.sourceforge.net/]  - [the front page | HomePage]
-* You can suppress linking to old-style references and URIs by preceding the word with a '~!', e.g. ~NotLinkedAsWikiName, ~http://not.linked.to/
-* You can create footnotes by using ~[1], ~[2], ~[3], ... like this here #[|ftnt_ref_1]<sup>~[[1|#ftnt_1]~]</sup>. See footnote for counterpart.  (If the ~[ is in the first column, it is a footnote <em>definition</em> rather than a footnote <em>reference</em> #[|ftnt_ref_1]<sup>~[[1|#ftnt_1]~]</sup>.)
-* Also, the old way of linking URL's is still supported: precede URLs with "http:", "ftp:" or "mailto:" to create links automatically as in: http://c2.com/
-* URLs ending with .png, .gif, or .jpg are inlined if in square brackets, by themselves: [http://phpwiki.sourceforge.net/demo/themes/default/images/png.png]
-
-! Tables
-
-* Simple tables are available.  A table row is introduced by a <strong>|</strong> in the first column.  It is best described by example:
-<pre>
-      ||  _<em></em>_Name_<em></em>~_               |v _<em></em>_Cost_<em></em>~_   |v _<em></em>_Notes_<em></em>~_
-      | _<em></em>_First_<em></em>~_   | _<em></em>_Last_<em></em>~_
-      |> Jeff       |< Dairiki   |^  Cheap     |< Not worth it
-      |> Marco      |< Polo      | Cheaper     |< Not available
-</pre>
-;:will generate
-<?plugin OldStyleTable
-||  <strong>Name</strong>               |v <strong>Cost</strong>   |v <strong>Notes</strong>
-| <strong>First</strong>   | <strong>Last</strong>
-|> Jeff       |< Dairiki   |^  Cheap     |< Not worth it
-|> Marco      |< Polo      | Cheaper     |< Not available
-?>
-
-;:Note that multiple <strong>|</strong>'s lead to spanned columns, and <strong>v</strong>'s can be used to span rows.  A <strong>></strong> generates a right justified column, <strong><</strong> a left justified column and <strong>^</strong> a centered column (which is the default.)
-;:With the new TextFormatingsRules tables are only supported with the OldStyleTablePlugin.
-
-
-! HTML Mark-Up Language
-
-* Don't bother
-* < and > are themselves
-* The & characters will not work
-* If you really must use HTML, your system administrator can enable this feature. Start each line with a bar (|). Note that this feature is disabled by default.
-
-! More detail than you want to know
-
-See [MagicPhpWikiURLs] for gory details on how to write various kind of wiki maintainance links. (<em>deprecated</em>)
-
------
-
-! Footnotes:
-
-#[|ftnt_1]~[[1|#ftnt_ref_1]~]  By using ~[1] a second time (in the first column) the footnote itself is <em>defined</em>.  You may refer to a footnote as many times as you want, but you may only define it once on the page.  Note the the ~[1] in the footnote links back to the first reference, if there are multiple references there will be +'s after the ~[1] which will link to the other references.  (References which come <em>after</em> the footnote <em>definition</em> will not be linked to.)
-----
-PhpWikiDocumentation";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/OrphanedPages--1 1.3.14/tests/unit/.testbox/ver_data/OrphanedPages--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/OrphanedPages--1	2006-06-18 06:20:02.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/OrphanedPages--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,5 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625920;s:8:"%content";s:124:"OrphanedPages are those pages which don't have any links to them.
-
-----
-
-<?plugin OrphanedPages info||=hits,pagename,mtime?>";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/PageDump--1 1.3.14/tests/unit/.testbox/ver_data/PageDump--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/PageDump--1	2006-06-18 06:20:02.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/PageDump--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,14 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625920;s:8:"%content";s:343:"View a wiki page in MIME format or download it as backup of a single
-page. _A complete dump of all pages can be produced in
-PhpWikiAdministration._
-
-<?plugin PageDump?>
-----
-Enter exact page name to dump:
-<?plugin-form PageDump?>
-
-TitleSearch:
-<?plugin-form TitleSearch?>
-
-----
-See also: [ViewSource|phpwiki:?action=viewsource], PluginManager.";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/PageGroupTest--1 1.3.14/tests/unit/.testbox/ver_data/PageGroupTest--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/PageGroupTest--1	2006-06-18 06:20:02.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/PageGroupTest--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,23 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625920;s:8:"%content";s:470:"PageGroupTest is a test of the ~PageGroup plugin.
-
-Click the first page to start the tour of this experimental plugin.
-
-!Table of Contents
-# [PageGroupTestOne]
-# [PageGroupTestTwo]
-# [PageGroupTestThree]
-# [PageGroupTestFour]
-
-! TODO
-
-* Support ~[ name | page ~] links
-* Support Previous, Next ... image buttons
-
-%%% %%% %%% %%%
-
-----
-
-For reference, here are all the pages that link to PageGroupTest
-(note that one is missing):
-
-<?plugin BackLinks page=PageGroupTest ?>";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/PageGroupTestFour--1 1.3.14/tests/unit/.testbox/ver_data/PageGroupTestFour--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/PageGroupTestFour--1	2006-06-18 06:20:02.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/PageGroupTestFour--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,17 +0,0 @@
-a:6:{s:6:"author";s:12:"CarstenKlapp";s:9:"author_id";s:12:"CarstenKlapp";s:6:"markup";s:1:"2";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625920;s:8:"%content";s:345:"So, this is the last page in this page group.
-
-Note that looping of off on this page, so __Next:__ shouldn't show up
-here but it does because of the bug described in PageGroupTestOne.
-
-%%% %%% %%% %%% %%% %%% %%%
-----
-
-<?plugin PageGroup
-        parent=PageGroupTest
-        section="Table of Contents"
-        loop=false
-?>
-
-----
-
-PageGroupTest";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/PageGroupTestOne--1 1.3.14/tests/unit/.testbox/ver_data/PageGroupTestOne--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/PageGroupTestOne--1	2006-06-18 06:20:02.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/PageGroupTestOne--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,21 +0,0 @@
-a:6:{s:6:"author";s:12:"CarstenKlapp";s:9:"author_id";s:12:"CarstenKlapp";s:6:"markup";s:1:"2";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625920;s:8:"%content";s:600:"Ok, this is page one in this page group.
-
-There is a bug. When looping is true (and it is, but only for this
-first page--another possible flaw) and if the Contents title is not
-the first item on the Table of Contents page, and if there are other
-things on the TOC page after the actual list, then things get screwed
-up. Note that the __Previous:__ link below should point to the last
-page. Click Next.
-
-%%% %%% %%% %%% %%% %%% %%%
-
-<?plugin PageGroup
-         label="Other pages in this group"
-         loop=1
-         parent=PageGroupTest
-         section="Table of Contents"
-?>
-
-----
-
-PageGroupTest";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/PageGroupTestThree--1 1.3.14/tests/unit/.testbox/ver_data/PageGroupTestThree--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/PageGroupTestThree--1	2006-06-18 06:20:02.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/PageGroupTestThree--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,13 +0,0 @@
-a:6:{s:6:"author";s:12:"CarstenKlapp";s:9:"author_id";s:12:"CarstenKlapp";s:6:"markup";s:1:"2";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625920;s:8:"%content";s:352:"You're almost there!
-
-%%% %%% %%% %%% %%% %%% %%%
-
-<?plugin PageGroup
-         label="Go!"
-         parent=PageGroupTest
-         section="Table of Contents"
-?>
-
-Note that the navigation bar can be anywhere, it doesn't have to be at
-the bottom or even consistent from page to page. The label can also
-vary--not sure if this is a good thing. Click Next.";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/PageGroupTestTwo--1 1.3.14/tests/unit/.testbox/ver_data/PageGroupTestTwo--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/PageGroupTestTwo--1	2006-06-18 06:20:02.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/PageGroupTestTwo--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,16 +0,0 @@
-a:6:{s:6:"author";s:12:"CarstenKlapp";s:9:"author_id";s:12:"CarstenKlapp";s:6:"markup";s:1:"2";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625920;s:8:"%content";s:368:"<?plugin PageGroup
-         parent=PageGroupTest
-         section="Table of Contents"
-?>
-
-----
-
-%%% %%% %%% %%% %%% %%% %%%
-
-Welcome to page two.
-
-It would be nice if this plugin would work together with BackLinks, so
-that it's presence on a page would be detected by the backlink plugin
-without having to actually add a link to the parent: PageGroupTest.
-
-Click Next.";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/PageHistory--1 1.3.14/tests/unit/.testbox/ver_data/PageHistory--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/PageHistory--1	2006-06-18 06:20:02.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/PageHistory--1	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625920;s:8:"%content";s:22:"<?plugin PageHistory?>";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/PageInfo--1 1.3.14/tests/unit/.testbox/ver_data/PageInfo--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/PageInfo--1	2006-06-18 06:20:02.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/PageInfo--1	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625920;s:8:"%content";s:19:"<?plugin PageInfo?>";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/PagePermissions--1 1.3.14/tests/unit/.testbox/ver_data/PagePermissions--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/PagePermissions--1	2006-06-18 06:20:02.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/PagePermissions--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,155 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625920;s:8:"%content";s:5507:"!!! Full recursive ACL page permissions supported (Solaris / Windows style)
-
-Boolean permissions per page and action (*granted* or *denied*) based on the current users
-group membership is implemented with ACL's (Access Control Lists).
-Opposed to the simplier unix like ugo:rwx system. <br>
-The previous system was only based on action and current user, independent of pages.
-
-A individual page permission may be inherited from its parent pages, and
-from an optional master page ("." or _dotpage'). <br>
-Use predefined default permissions, if a "." page does not exist. <br>
-Pagenames starting with "." have tighter default permissions. (edit, change, list disallowed)
-
-! Order of Evaluation (denial overrides granted, or vice versa?)
-
-The array of permissions is evaluated from top to bottom. <br>
-Access is granted if the next matching *group membership* returns true, denied if false. <br>
-If the group membership is false, the next group is tried. <br>
-If no group membership matches the upper permissions are tried recursively: <br>
-  current page => basepage => "." page => default perms. <br>
-If no group-perm pair grants access, access is denied.
-
-Consider the following perm:
-<verbatim>
-     'change' => array(ACL_ADMIN => false,
-                       ACL_OWNER => true));
-</verbatim>
-  => "Members of ADMIN may not change, the owner may change."
-
------
-
-For Authentication see ~WikiUserNew.php, ~WikiGroup.php and main.php
-Page Permissions are in PhpWiki since v1.3.9.
-I suspect ACL page permissions to degrade performance by 10%
-
-Enable/Disable it in config/config.ini:
-
-  ENABLE_PAGEPERM = true
-
-The defined (and extendable) main.php actions map to simplier access types:
-<verbatim>
-       browse => view
-       edit   => edit
-       create => edit or create
-       remove => remove
-       rename => change
-       store prefs => change
-       list in PageList => list
-</verbatim>
-
-For simplicity we also map the ACL to the posix-style _owner_, _group_ and _world_ groups
-and _read_, _write_, _execute_ perms, in cygwin fashion.
-
-!!! Groups - definition of group membership
-
-See WikiGroup how to enable and where to store user-specific group membership.
-Group methods: database, file, ldap, wikipage, none
-
-ToDo: _explain better._
-
-The following special groups are always predefined, even if no other group methods are provided:
-
-* _EVERY
-* _ANONYMOUS
-* _BOGOUSER
-* _HASHOMEPAGE
-* _SIGNED
-* _AUTHENTICATED
-* _ADMIN
-* _OWNER
-* _CREATOR
-
-Those special groups are stored in a page acl as locale-independent string.
-  *Todo*: See the available translations for these special groups.
-Other group names are safed as defined by the group methods. (e.g. "Other Users")
-
-!!! Perms - mapping of actions to permissions
-
-PhpWiki supports individual actions, the default is browse. To simplify ACL's these
-actions are mapped to some special permissions (vulgo _'perms'_).
-
-We currently support the following permissions which can be stored in every page, for every group.
-
-* 'list'     List this page and all subpages (for PageList)
-* 'view'     View this page and all subpages
-* 'edit'     Edit this page and all subpages
-* 'create'   Create a new (sub)page
-* 'dump'     Download the page contents
-* 'change'   Change page attributes
-* 'remove'   Remove this page
-
-There are no plans to support additional custom perms. The API can handle that, but there's no UI,
-and it would be only specific for certain plugins, which check permissions by their own.
-
-! Action <=> Perm mapping
-
-Those perms are mapped to those actions. ActionPages (plugins) check their access restrictions by themselves.
-
-list:
-  _none, 'list' is checked for every pagename listed in PageList, to prevent from being listed in AllPages._
-
-view:
-  browse, viewsource, diff, select, xmlrpc, search, pdf
-
-dump:
-  zip, ziphtml, dumpserial, dumphtml
-
-edit:
-  revert, edit
-
-create:
-  _edit or create, if the page doesn't exist yet_
-
-change:
-  upload, loadfile, remove, lock, unlock, upgrade, chown, setacl, rename. %%%
-  all other actionpages which are not wikiwords.
-
-!! Default Permissions
-
-<verbatim>
-        $perm = array('view'   => array(ACL_EVERY => true),
-                      'edit'   => array(ACL_EVERY => true),
-                      'create' => array(ACL_EVERY => true),
-                      'list'   => array(ACL_EVERY => true),
-                      'remove' => array(ACL_ADMIN => true,
-                                        ACL_OWNER => true),
-                      'change' => array(ACL_ADMIN => true,
-                                        ACL_OWNER => true));
-        if (ZIPDUMP_AUTH)
-            $perm['dump'] = array(ACL_ADMIN => true,
-                                  ACL_OWNER => true);
-        else
-            $perm['dump'] = array(ACL_EVERY => true);
-        // view:
-        if (!ALLOW_ANON_USER) {
-            if (!ALLOW_USER_PASSWORDS)
-            	$perm['view'] = array(ACL_SIGNED => true);
-            else
-            	$perm['view'] = array(ACL_AUTHENTICATED => true);
-            $perm['view'][ACL_BOGOUSER] = ALLOW_BOGO_LOGIN ? true : false;
-        }
-        // edit:
-        if (!ALLOW_ANON_EDIT) {
-            if (!ALLOW_USER_PASSWORDS)
-            	$perm['edit'] = array(ACL_SIGNED => true);
-            else
-            	$perm['edit'] = array(ACL_AUTHENTICATED => true);
-            $perm['edit'][ACL_BOGOUSER] = ALLOW_BOGO_LOGIN ? true : false;
-            $perm['create'] = $perm['edit'];
-        }
-        return $perm;
-</verbatim>
-
-Source: [PhpWikiCvs:lib/PagePerm.php]
------
-PhpWikiDocumentation";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/PgsrcTranslation--1 1.3.14/tests/unit/.testbox/ver_data/PgsrcTranslation--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/PgsrcTranslation--1	2006-06-18 06:20:03.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/PgsrcTranslation--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,136 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625920;s:8:"%content";s:2913:"__Note:__ This page is much more impressive on the
-[demo server|PhpWikiDemo:en/PgsrcTranslation] where the page names actually
-link.
-
-__What you are looking at:__ This table shows all the default pages
-that ship with PhpWiki and what languages they have been translated
-to. If you click on a "T" you can contribute a missing translation.
-
-!! Translated Page Name Matrix (dynamic)
-
-<?plugin ListSubpages ?>
-
-!! More important translations (static)
-
-''Automatically generated pages'' |
- English (en) |
-  Deutsch (de) |
-   Espaol (es) |
-    Franais (fr) |
-     Italiano (it) |
-      Japanese (ja) |
-       Nederlands (nl) |
-        Svenska (sv)
- Diff: |
-  Vergleich: |
-   Diferencia de: |
-    Diff : |
-     Differenza di: |
-      ʬ: |
-       Diff van: |
-        Diff av:
- Edit: |
-  Bearbeite: |
-   Editar: |
-    diter : |
-     Modifica: |
-      Խ: |
-       Verander: |
-        Redigera:
- Remove Page |
-  Seite Lschen |
-   Borrar Pgina |
-    Supprimer la Page |
-     Rimuovi la Pagina |
-      ڡ |
-       Verwijder Pagina |
-        Ta bort Sida
- Sign In |
-  Anmelden |
-   _ |
-    S'inscrire |
-     _ |
-      󥤥 |
-       _ |
-        _
- View Source: |
-  Quell Text: |
-   _ |
-    Afficher la Source : |
-     _ |
-      򸫤: |
-       _ |
-        Bron Tekst:
-
-Translator's page |
- English (en) |
-  Deutsch (de) |
-   Espaol (es) |
-    Franais (fr) |
-     Italiano (it) |
-      Japanese (ja) |
-       Nederlands (nl) |
-        Svenska (sv)
- n/a |
-  [ReiniUrban|PhpWiki:ReiniUrban] |
-   [KBrown|PhpWiki:KBrown] |
-    [RolandTrique|PhpWiki:RolandTrique] |
-     [MarcoMilanesi|PhpWiki:MarcoMilanesi] |
-      [TadashiJokagi|PhpWiki:TadashiJokagi] |
-       [JanNieuwenhuizen|PhpWiki:JanNieuwenhuizen] |
-        [Jonslund|PhpWiki:Jonslund]
-
-Obsolete Pages |
- English (en) |
-  Deutsch (de) |
-   Espaol (es) |
-    Franais (fr) |
-     Italiano (it) |
-      Japanese (ja) |
-       Nederlands (nl) |
-        Svenska (sv)
- ConvertTabsToSpaces |
-  KonvertiereLeerzeichenZuTabs |
-   ConvierteEspaciosEnTabs |
-    ConvertirTabEnEspaces |
-     ConvertiGliSpaziInTab |
-      _ |
-       VertaalSpatiesNaarTabs |
-        KonverteraMellanslagTillTabbar
-
-!! Notes
-! These pages do not automatically link as ~WikiWords:
-es:
-    [KBrown]
-en:
-    [MagicPhpWikiURLs]
-fr:
-    [BacASable]
-    [URLMagiquesPhpWiki]
-it:
-    [MagicPhpWikiURLs]
-nl:
-    [ToverPhpWikiURLs]
-
-! These pages have single word titles so ~[square brackets] are required to link.
-
-fr:
-    [Accueil]
-sv:
-    [Framsida]
-    [Gstboken]
-    [Sandldan]
-    [Textformateringsregler]
-
-! Problematic Single-Word Action Pages
-
-These action pages have single word titles, and must be renamed using two words before they will work in PhpWiki 1.3.5:
-
-fr:
-    [Historique]
-    [Info]
-
-----
-
-See also: PhpWiki:MultiLingualWiki, PhpWiki:LanguageSelection,
-PhpWikiDocumentation, PhpWikiDemo:de/PhpWikiDokumentation, PhpWikiDemo:fr/DocumentationDePhpWiki";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/PgsrcTranslation%2Fde--1 1.3.14/tests/unit/.testbox/ver_data/PgsrcTranslation%2Fde--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/PgsrcTranslation%2Fde--1	2006-06-18 06:20:02.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/PgsrcTranslation%2Fde--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,16 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625921;s:8:"%content";s:543:"__Note:__ This page is much more impressive on the
-[demo server|PhpWikiDemo:en/PgsrcTranslation] where the page names actually
-link.
-
-__What you are looking at:__ This table shows all the default pages
-that ship with PhpWiki translated into this special language.
-If you click on a "T" you can contribute a missing translation.
-
-!! Translated Page Name Matrix (dynamic)
-
-<?plugin _WikiTranslation languages=en,de ?>
-
-----
-
-See also: PhpWiki:MultiLingualWiki, PhpWiki:LanguageSelection,
-PhpWikiDocumentation, PhpWikiDemo:de/PhpWikiDokumentation";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/PgsrcTranslation%2Fes--1 1.3.14/tests/unit/.testbox/ver_data/PgsrcTranslation%2Fes--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/PgsrcTranslation%2Fes--1	2006-06-18 06:20:02.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/PgsrcTranslation%2Fes--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,16 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625921;s:8:"%content";s:506:"__Note:__ This page is much more impressive on the
-[demo server|PhpWikiDemo:en/PgsrcTranslation] where the page names actually
-link.
-
-__What you are looking at:__ This table shows all the default pages
-that ship with PhpWiki translated into this special language.
-If you click on a "T" you can contribute a missing translation.
-
-!! Translated Page Name Matrix (dynamic)
-
-<?plugin _WikiTranslation languages=en,es ?>
-
-----
-
-See also: PhpWiki:MultiLingualWiki, PhpWiki:LanguageSelection,
-PhpWikiDocumentation";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/PgsrcTranslation%2Ffr--1 1.3.14/tests/unit/.testbox/ver_data/PgsrcTranslation%2Ffr--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/PgsrcTranslation%2Ffr--1	2006-06-18 06:20:02.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/PgsrcTranslation%2Ffr--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,16 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625921;s:8:"%content";s:506:"__Note:__ This page is much more impressive on the
-[demo server|PhpWikiDemo:en/PgsrcTranslation] where the page names actually
-link.
-
-__What you are looking at:__ This table shows all the default pages
-that ship with PhpWiki translated into this special language.
-If you click on a "T" you can contribute a missing translation.
-
-!! Translated Page Name Matrix (dynamic)
-
-<?plugin _WikiTranslation languages=en,fr ?>
-
-----
-
-See also: PhpWiki:MultiLingualWiki, PhpWiki:LanguageSelection,
-PhpWikiDocumentation";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/PgsrcTranslation%2Fit--1 1.3.14/tests/unit/.testbox/ver_data/PgsrcTranslation%2Fit--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/PgsrcTranslation%2Fit--1	2006-06-18 06:20:02.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/PgsrcTranslation%2Fit--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,16 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625921;s:8:"%content";s:506:"__Note:__ This page is much more impressive on the
-[demo server|PhpWikiDemo:en/PgsrcTranslation] where the page names actually
-link.
-
-__What you are looking at:__ This table shows all the default pages
-that ship with PhpWiki translated into this special language.
-If you click on a "T" you can contribute a missing translation.
-
-!! Translated Page Name Matrix (dynamic)
-
-<?plugin _WikiTranslation languages=en,it ?>
-
-----
-
-See also: PhpWiki:MultiLingualWiki, PhpWiki:LanguageSelection,
-PhpWikiDocumentation";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/PgsrcTranslation%2Fja--1 1.3.14/tests/unit/.testbox/ver_data/PgsrcTranslation%2Fja--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/PgsrcTranslation%2Fja--1	2006-06-18 06:20:02.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/PgsrcTranslation%2Fja--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,16 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625921;s:8:"%content";s:507:"__Note:__ This page is much more impressive on the
-[demo server|PhpWikiDemo:ja/PgsrcTranslation], where the
-page names actually link.
-
-__What you are looking at:__ This table shows all the default pages
-that ship with PhpWiki translated into this special language.
-If you click on a "T" you can contribute a missing translation.
-
-!! Translated Page Name Matrix (dynamic)
-
-<?plugin _WikiTranslation languages=en,ja ?>
-
-----
-
-See also: PhpWiki:MultiLingualWiki, PhpWiki:LanguageSelection,
-PhpWikiDocumentation";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/PgsrcTranslation%2Fnl--1 1.3.14/tests/unit/.testbox/ver_data/PgsrcTranslation%2Fnl--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/PgsrcTranslation%2Fnl--1	2006-06-18 06:20:03.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/PgsrcTranslation%2Fnl--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,16 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625921;s:8:"%content";s:506:"__Note:__ This page is much more impressive on the
-[demo server|PhpWikiDemo:en/PgsrcTranslation] where the page names actually
-link.
-
-__What you are looking at:__ This table shows all the default pages
-that ship with PhpWiki translated into this special language.
-If you click on a "T" you can contribute a missing translation.
-
-!! Translated Page Name Matrix (dynamic)
-
-<?plugin _WikiTranslation languages=en,nl ?>
-
-----
-
-See also: PhpWiki:MultiLingualWiki, PhpWiki:LanguageSelection,
-PhpWikiDocumentation";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/PgsrcTranslation%2Fzh--1 1.3.14/tests/unit/.testbox/ver_data/PgsrcTranslation%2Fzh--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/PgsrcTranslation%2Fzh--1	2006-06-18 06:20:03.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/PgsrcTranslation%2Fzh--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,16 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625921;s:8:"%content";s:507:"__Note:__ This page is much more impressive on the
-[demo server|PhpWikiDemo:zh/PgsrcTranslation], where the
-page names actually link.
-
-__What you are looking at:__ This table shows all the default pages
-that ship with PhpWiki translated into this special language.
-If you click on a "T" you can contribute a missing translation.
-
-!! Translated Page Name Matrix (dynamic)
-
-<?plugin _WikiTranslation languages=en,zh ?>
-
-----
-
-See also: PhpWiki:MultiLingualWiki, PhpWiki:LanguageSelection,
-PhpWikiDocumentation";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/PgsrcTranslation_sv--1 1.3.14/tests/unit/.testbox/ver_data/PgsrcTranslation_sv--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/PgsrcTranslation_sv--1	2006-06-18 06:20:03.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/PgsrcTranslation_sv--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,16 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625921;s:8:"%content";s:506:"__Note:__ This page is much more impressive on the
-[demo server|PhpWikiDemo:en/PgsrcTranslation] where the page names actually
-link.
-
-__What you are looking at:__ This table shows all the default pages
-that ship with PhpWiki translated into this special language.
-If you click on a "T" you can contribute a missing translation.
-
-!! Translated Page Name Matrix (dynamic)
-
-<?plugin _WikiTranslation languages=en,sv ?>
-
-----
-
-See also: PhpWiki:MultiLingualWiki, PhpWiki:LanguageSelection,
-PhpWikiDocumentation";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/PhotoAlbumPlugin--1 1.3.14/tests/unit/.testbox/ver_data/PhotoAlbumPlugin--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/PhotoAlbumPlugin--1	2006-06-18 06:20:03.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/PhotoAlbumPlugin--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,79 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625921;s:8:"%content";s:2061:"!!! Summary
-Makes an 'album' by displaying a set of photos listed in a text file
-with optional descriptions.
-
-!!! Usage
-<verbatim>
-<?plugin PhotoAlbum
-         src=http://server/textfile
-         mode=[column|row]
-         align=[center|left|right]
-         desc=true
-         sort=false
-         height=100%
-         width=100%
-         weblocation=>false
-?>
-</verbatim>
-
-!!! Arguments
-''Only the ='src'= parameter is mandatory.''
-
-__src__:
-  Url or local path to a CSV textfile which separates filename and
-  description of
-  each photo. Photos listed in the text file have to be in same
-  directory as the file. Descriptions are optional.
-  If the the local path points to a directory, is relative from PHPWIKI_DIR,
-  and the main script is in PHPWIKI_DIR, weblocation must not be given, and
-  all pictures from this directory are displayed.
-
-__weblocation__:
-  Optional path if the src points to a local dir, and the links on the
-  photos don't work.
-
-__mode__:
-  Specifies how the images are arranged, ='column'= means vertically,
-  ='row'= means horizontally. Default is ='row'=.
-
-__align__:
-  Only applicable to column mode. Default is ='center'=.
-
-__desc__:
-  Display any descriptions given in the text file. Default is true.
-
-__sort__:
-  Sort images by file name. By default the order in the text file is
-  followed.
-
-__height__, __width__:
-  Height and width are calculated compared to original metrics
-  retrieved by [php-function:getimagesize] and can be absolute or a
-  percentage (e.g. "50%").
-
-!!! Examples
-!! Text file
-Possible content of a valid text file:
-
-<verbatim>
-photo-01.jpg; My girlfriend and I
-photo-02.jpg
-christmas.gif; Merry Christmas!
-</verbatim>
-
-!! Sample Album
-local dir:
-<?plugin PhotoAlbum
-         src="themes/Hawaiian/images/pictures/"
-?>
-or via external url:
-<verbatim>
-<?plugin PhotoAlbum
-         src="http://phpwiki.sourceforge.net/demo/themes/Hawaiian/images/pictures/PhotoAlbum.csv"
-</verbatim>
-?>
-
-!!! Plugin Author
-[Ted Vinke|mailto:teddy@jouwfeestje.com] <teddy@jouwfeestje.com>
-----
-PhpWikiDocumentation WikiPlugin";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/PhpHighlightPlugin--1 1.3.14/tests/unit/.testbox/ver_data/PhpHighlightPlugin--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/PhpHighlightPlugin--1	2006-06-18 06:20:03.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/PhpHighlightPlugin--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,104 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625921;s:8:"%content";s:2722:"The PhpHighlightPlugin pretty-prints PHP code using the
-php-function:highlight-string.
-
-See also SyntaxHighlighterPlugin for highlighting other languages.
-
-!!! Usage
-
-You specify options for the plugin on the same line as the =<?plugin=,
-and put the code on the following lines, until the final =?>=:
-
-<verbatim>
-<?plugin PhpHighlight [wrap?] [color options]
-code to be highlighted
-?>
-</verbatim>
-
-!!! Description
-
-Depending on the =wrap= option, then the plugin will take care of
-adding =<?php= and =?>= to the code before passing it to
-php-function:highlight-string. If the PHP delimiters were added, then
-the plugin removes them again from the highlighted string, before
-presenting it.
-
-!!! Options
-
-Automatic Wrapping:
-
-  If you don't want the plugin to automatically wrap the source code
-  in =<?php= and =?>=, then set =wrap= to =0=. The default value is =1=
-  which means that the plugin takes care of adding and removing
-  =<?php= and =?>= automatically.
-
-  If you set =wrap= to =0=, then you'll be able to mix PHP code with
-  HTML. The plugin will then translate '=< ?php=' into '=<?php=' and
-  '=? >=' into '=?>=' to allow you to start and stop PHP mode in your
-  code.
-
-Color Options:
-
-  The plugin accepts optional color arguments which correspond to the
-  highlight settings in *php.ini*. Specified colors must be a valid
-  hexadecimal color or
-  [HTML 4 color name|http://www.w3.org/TR/REC-html40/types.html#h-6.5]
-  in lowercase, such as ='#0f0344'= or =blue=. You can set the
-  following options:
-
-  =string=, =comment=, =keyword=, =bg=, =default=, and =html=
-
-!!! Examples
-
-!! PHP with default colors from =php.ini=:
-
-<?plugin PhpHighlight
-function hello() {
-    echo "Hello World<p>";
-}
-?>
-
-!! HTML with embedded PHP
-
-Here we have to use =wrap=0= to prevent automatic wrapping, and escape
-'=?>=' as '=? >=':
-
-<?plugin PhpHighlight wrap=0 html='#000000' bg='#dddddd'
-<html>
-  <head>
-    <title>PHP Test</title>
-  </head>
-  <body>
-    < ?php echo "<p>Hello World</p>\n"; ? >
-  </body>
-</html>
-?>
-
-!! C Source
-
-Although =highlight_string()= was designed with PHP code in mind it is
-suitable for basic syntax-highlighting of most C code because the two
-syntax are similar.
-
-<?plugin PhpHighlight default=black string=blue comment=gray keyword=purple
-#include <stdio.h>
-/* Get load */
-int
-getload(void)
-{
-    if ((fp = fopen("/proc/loadavg", "r")) == NULL) {
-        syslog(LOG_ERR, _("%s %s: unable to open %s: %s"), _("FATAL ERROR:"),
-              "getload()", "/proc/loadavg", strerror(errno));
-        exit(EX_OSFILE);
-    }
-    fclose(fp);
-}
-?>
-
-!!! Authors
-
-Martin Geisler mailto:gimpster@gimpster.com and Carsten Klapp
-mailto:carstenklapp@users.sourceforge.net.
-
------
-
-PhpWikiDocumentation WikiPlugin";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/PhpWeatherPlugin--1 1.3.14/tests/unit/.testbox/ver_data/PhpWeatherPlugin--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/PhpWeatherPlugin--1	2006-06-18 06:20:03.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/PhpWeatherPlugin--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,62 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625921;s:8:"%content";s:2176:"!!! Synopsis
-
-The ~PhpWeatherPlugin is a WikiPlugin that uses PhpWeather to display
-a block of text with the current weather for some airport in the
-world. It looks like this:
-
-<?plugin PhpWeather menu=true ?>
-
-!!! Plugin Arguments
-
-__menu__:
-  Set this to =true= to have the plugin generate a menu after the
-  report. The user will able to select a country from this menu, and
-  after that, an airport and a language. The default value is
-  <tt>false</tt>.
-
-__icao__:
-  Use this to pre-select a specific airport instead of using the
-  default one which is <tt>EKAH</tt>. If you want the user to be able
-  to change the station using the menu, then you have to use this as
-  <verbatim>
-  <?plugin PhpWeather menu=true icao||=EKYT ?>
-  </verbatim>
-  so that the value can be overwritten when the user submits the
-  form. If you just use
-  <verbatim>
-  <?plugin PhpWeather menu=true icao=EKYT ?>
-  </verbatim>
-  then nothing will happen when the user selects another station from
-  the list.
-
-__cc__:
-  Specify the country code. You can use this if you want pre-select a
-  different country than the one specified in the ICAO. So using
-  <verbatim>
-  <?plugin PhpWeather menu=true cc||=GB icao||=KTTS ?>
-  </verbatim>
-  will show the current weather at the NASA Shuttle Facility, United
-  States (<tt>KTTS</tt>) and at the same time give the user a list of
-  stations in the United Kingdom. As the example shows, then you
-  should use <tt>cc||=XX</tt> when combining it with __menu__ set to
-  <tt>true</tt>.
-
-__language__:
-  The default language. When combining __language__ with __menu__ set
-  to <tt>true</tt> then remember to use the <code>language||=xx</code>
-  form.
-
-__units__:
-  You can specify the way the units are printed. The choice is between
-  having both metric and imperial units printed, or just one of
-  them. Setting __units__ to =both_metric= will print the metric value
-  first and then the imperial value in parenthesis. Using
-  =both_imperial= instead will do the opposite.
-
-  If you only need the metric or imperial units to be shown, then
-  setting __units__ to =only_metric= or =only_imperial= will do just
-  that.
-
-----
-
-PhpWikiDocumentation WikiPlugin";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/PhpWiki--1 1.3.14/tests/unit/.testbox/ver_data/PhpWiki--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/PhpWiki--1	2006-06-18 06:20:03.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/PhpWiki--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,9 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625921;s:8:"%content";s:247:"You are using PhpWiki at this very moment. Incredible, ain't it?
-
-Visit our home page at http://phpwiki.sourceforge.net/ and see PhpWiki
-in action at http://phpwiki.sourceforge.net/phpwiki/ (and of course
-here too :-)).
-
-----
-
-PhpWikiDocumentation";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/PhpWikiAdministration--1 1.3.14/tests/unit/.testbox/ver_data/PhpWikiAdministration--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/PhpWikiAdministration--1	2006-06-18 06:20:03.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/PhpWikiAdministration--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,222 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625921;s:8:"%content";s:6687:"_*Note:*_  _Most of the actions on this page require administrative
-privileges. They will not work unless you have set an admin username and
-password in the PhpWiki config file._
-
-<?plugin CreateToc jshide||=1 with_toclink||=1 ?>
-
-----
-!!! Page Explorer
-
-First select pages and then define the action:
-
-<?plugin-form WikiAdminSelect s="*" ?>
-
-or call the available ~WikiAdmin actions directly:
-
-[/Remove] |
-  [/Rename] |
-    [/Replace] |
-      [/SetAcl] |
-        [/Chmod] |
-          [/Chown]
-
-----
-!!! User Management
-
-PhpWiki:EmailVerification is currently non-strict, leaving some possible holes, which can be
-administrated below.
-
-  This button will show a list of all users with registered emails and buttons to set the
-  verification status manually.
-
-  <?plugin WikiAdminUtils
-           action=email-verification
-           label="Email Verification"
-   ?>
-
-To prevent from robots eating all possible ressources in a short time, blocking from certain IPs
-or not-well-behaving user agents can be defined below. See PhpWiki:HowToBlockRobots and
-MeatBall:SurgeProtector. _Note: Not yet enabled._
-
-  <?plugin WikiAdminUtils
-           action=access-restrictions
-           label="Access Restrictions"
-   ?>
-
-----
-!!! Cleanup
-
-A Wiki SandBox is very easy to clean. Here you can restore it to
-pristine condition by loading the default from pgsrc.
-
-  [Rake the SandBox|phpwiki:?action=loadfile&source=pgsrc/SandBox].
-
-----------
-
-!!! Making Snapshots or Backups
-
-!! ZIP files of database
-
-These links lead to zip files, generated on the fly, which contain all
-the pages in your Wiki. The zip file will be downloaded to your local
-computer.
-
-  This *[ZIP Snapshot | phpwiki:?action=zip]* contains only the
-  latest versions of each page, while this *[ZIP Dump |
-  phpwiki:?action=zip&include=all]* contains all archived versions.
-
-  (If the PhpWiki is configured to allow it, anyone can download a zip
-  file.)
-
-If your php has _zlib_ support, the files in the archive will be
-compressed, otherwise they will just be stored.
-
-!! Dump to directory
-
-Here you can dump pages of your Wiki into a directory of your choice.
-
-  <?plugin WikiForm action=dumpserial?>
-
-The most recent version of each page will written out to the
-directory, one page per file. Your server must have write permissions
-to the directory!
-
------------
-!!! Restoring
-
-If you have dumped a set of pages from PhpWiki, you can reload them
-here. Note that pages in your database will be overwritten; thus, if
-you dumped your HomePage when you load it from this form it will
-overwrite the one in your database now. If you want to be selective
-just delete the pages from the directory (or zip file) which you don't
-want to load.
-
-!! Upload File
-
-Here you can upload ZIP archives, or individual files from your
-(client) machine.
-
-  <?plugin WikiForm action=upload?>
-
-!! Load File
-
-Here you can load ZIP archives, individual files or entire
-directories. The file or directory must be local to the http
-server. You can also use this form to load from an http: or ftp: URL.
-
-  <?plugin WikiForm action=loadfile?>
-  <?plugin WikiForm action=loadfile buttontext="Load & Overwrite" overwrite=1?>
-
-!! Upgrade
-
-Do some verification checks and upgrade changes automatically, after having installed a
-new phpwiki engine update:
-* Upgrade new or changed page revisions from pgsrc,
-* Upgrade the database schema (mysql _page.id auto_increment_, ADD _session.sess_ip_),
-
-;:[ Upgrade | phpwiki:HomePage?action=upgrade ]
-
------------
-
-!!! Format of the files
-
-Currently the pages are stored, one per file, as MIME (RFC:2045)
-e-mail (RFC:822) messages. The content-type _application/x-phpwiki_
-is used, and page meta-data is encoded in the content-type
-parameters. (If the file contains several versions of a page, it will
-have type _multipart/mixed_, and contain several sub-parts, each
-with type _application/x-phpwiki_.)  The message body contains the
-page text.
-
-!! Old Formats
-
-*Serialized Files*
-
-  The dump to directory command used to dump the pages as PHP
-  _serialized()_ strings. For humans, this made the files very hard
-  to read, and nearly impossible to edit.
-
-*Plain Files*
-
-  Before that the page text was just dumped to a file--this means that
-  all page meta-data was lost. Note that when loading _plain files_,
-  the page name is deduced from the file name.
-
-The upload and load functions will automatically recognize each of
-these three types of files, and handle them accordingly.
-
-----
-
-!!! Dump pages as XHTML
-
-  <?plugin WikiForm action=dumphtml?>
-
-This will generate a directory of static pages suitable for
-distribution on disk where no web server is available. The various
-links for page editing functions and navigation are removed from the
-pages.
-
-  The XHTML file collection can also be downloaded as an
-  *[XHTML ZIP Snapshot | phpwiki:?action=ziphtml]*.
-
-----
-
-!!! Phpwiki Internals
-
-These are here mostly for debugging purposes (at least, that is the
-hope.)
-
-In normal use, you should not need to use these, though, then again,
-they should not really do any harm.
-
-!! Purge Markup Cache
-
-(If your wiki is so configured,) the transformed (almost-HTML) content
-of the most recent version of each page is cached. This speeds up page
-rendering since parsing of the wiki-text takes a fair amount of juice.
-
-  Hitting this button will delete all cached transformed
-  content. (Each pages content will be transformed and re-cached next
-  time someone views it.)
-
-  <?plugin WikiAdminUtils
-           action=purge-cache
-           label="Purge Cache"
-   ?>
-
-!! Clean WikiDB of Illegal Filenames
-
-Page names beginning with the subpage-separator, usually a slash
-(=/=), are not allowed. Sometimes though an errant plugin or something
-might create one....
-
-  This button will delete any pages with illegal page names, without possibility to restore.
-
-  <?plugin WikiAdminUtils
-           action=purge-bad-pagenames
-           label="Purge bad pagenames"
-   ?>
-
-!! Clean WikiDB of empty and unreferenced pages
-
-  *Warning!* This button will delete every empty and unreferenced page, without any possibility to restore them again.
-  This will disable the possibility to revert or get back any deleted page.
-
-  <?plugin WikiAdminUtils
-           action=purge-empty-pages
-           label="Purge all empty unreferenced pages"
-   ?>
-
-!! Convert cached_html to new SQL column
-
-  This is only needed on SQL or ADODB if you didn't do action=upgrade, but created the
-  new page.cached_html field seperately, and now you want to move this data from
-  page.pagedata over to page.cached_html.
-
-  <?plugin WikiAdminUtils
-           action=convert-cached-html
-           label="Convert cached_html"
-   ?>
-
-----
-PhpWikiDocumentation";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/PhpWikiAdministration%2FChmod--1 1.3.14/tests/unit/.testbox/ver_data/PhpWikiAdministration%2FChmod--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/PhpWikiAdministration%2FChmod--1	2006-06-18 06:20:03.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/PhpWikiAdministration%2FChmod--1	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625921;s:8:"%content";s:26:"<?plugin WikiAdminChmod ?>";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/PhpWikiAdministration%2FChown--1 1.3.14/tests/unit/.testbox/ver_data/PhpWikiAdministration%2FChown--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/PhpWikiAdministration%2FChown--1	2006-06-18 06:20:03.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/PhpWikiAdministration%2FChown--1	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625922;s:8:"%content";s:26:"<?plugin WikiAdminChown ?>";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/PhpWikiAdministration%2FRemove--1 1.3.14/tests/unit/.testbox/ver_data/PhpWikiAdministration%2FRemove--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/PhpWikiAdministration%2FRemove--1	2006-06-18 06:20:03.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/PhpWikiAdministration%2FRemove--1	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625922;s:8:"%content";s:27:"<?plugin WikiAdminRemove ?>";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/PhpWikiAdministration%2FRename--1 1.3.14/tests/unit/.testbox/ver_data/PhpWikiAdministration%2FRename--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/PhpWikiAdministration%2FRename--1	2006-06-18 06:20:03.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/PhpWikiAdministration%2FRename--1	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625922;s:8:"%content";s:27:"<?plugin WikiAdminRename ?>";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/PhpWikiAdministration%2FReplace--1 1.3.14/tests/unit/.testbox/ver_data/PhpWikiAdministration%2FReplace--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/PhpWikiAdministration%2FReplace--1	2006-06-18 06:20:03.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/PhpWikiAdministration%2FReplace--1	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625922;s:8:"%content";s:34:"<?plugin WikiAdminSearchReplace ?>";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/PhpWikiAdministration%2FSetAcl--1 1.3.14/tests/unit/.testbox/ver_data/PhpWikiAdministration%2FSetAcl--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/PhpWikiAdministration%2FSetAcl--1	2006-06-18 06:20:03.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/PhpWikiAdministration%2FSetAcl--1	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625922;s:8:"%content";s:27:"<?plugin WikiAdminSetAcl ?>";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/PhpWikiDocumentation--1 1.3.14/tests/unit/.testbox/ver_data/PhpWikiDocumentation--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/PhpWikiDocumentation--1	2006-06-18 06:20:03.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/PhpWikiDocumentation--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,19 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625922;s:8:"%content";s:348:"!! Contents
-
-<?plugin SiteMap
-         noheader=true
-         exclude=HomePage,PgsrcTranslation
-         reclimit=1
-         direction=forward
-         firstreversed=1
-?>
-
-! Pages in this category:
-
-<?plugin BackLinks
-         exclude||=''
-         include_self||=1
-         noheader||=0
-         page||=[pagename]
-         info||=pagename,mtime
-?>";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/PhpWikiPoll--1 1.3.14/tests/unit/.testbox/ver_data/PhpWikiPoll--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/PhpWikiPoll--1	2006-06-18 06:20:03.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/PhpWikiPoll--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,15 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625922;s:8:"%content";s:836:"<?plugin WikiPoll require_all=0 require_least=2
-           question[1]="Do you like PhpWiki?"
-             answer[1][1]="Yes" answer[1][2]="Do not know" answer[1][3]="No"
-           question[2]="Do you have PhpWiki installed by your own?"
-             answer[2][1]="Yes" answer[2][2]="No"
-           question[3]="Did you install any other wiki engine?"
-             answer[3][1]="Yes" answer[3][2]="No"
-           question[4]="What wiki engine do you like most?"
-             answer[4][1]="c2Wiki" answer[4][2]="MoinMoin" answer[4][3]="PhpWiki"
-             answer[4][4]="usemod" answer[4][5]="Twiki" answer[4][5]="guiki"
-             answer[4][6]="Other"
-           question[5]="Which PhpWiki version do you use?"
-             answer[5][1]="1.2.x" answer[5][2]="1.3. 1-2" answer[5][3]="1.3. 3-4"
-             answer[5][4]="1.3. 5-8"
-?>";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/PhpWikiRecentChanges--1 1.3.14/tests/unit/.testbox/ver_data/PhpWikiRecentChanges--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/PhpWikiRecentChanges--1	2006-06-18 06:20:03.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/PhpWikiRecentChanges--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,5 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625922;s:8:"%content";s:186:"<?plugin RssFeed feed=PhpWikiRecentChanges description="PhpWiki:RecentChanges"
-	         url=http://phpwiki.sourceforge.net/phpwiki/RecentChanges?format=rss ?>
-
-----
-PhpWikiDocumentation";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/PloticusPlugin--1 1.3.14/tests/unit/.testbox/ver_data/PloticusPlugin--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/PloticusPlugin--1	2006-06-18 06:20:03.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/PloticusPlugin--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,105 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625922;s:8:"%content";s:2281:"The Ploticus WikiPlugin passes all its arguments to the ploticus
-binary and displays the result as PNG, GIF, EPS, SVG, SVGZ or SWF.
-Ploticus is a free, GPL, non-interactive software package
-for producing plots, charts, and graphics from data.
-See http://ploticus.sourceforge.net/doc/welcome.html
-
-!! Usage
-<verbatim>
-  <?plugin Ploticus device||=png [ploticus options...]
-     multiline ploticus script ...
-  ?>
-</verbatim>
-
-!! Plugin Arguments
-__device__: |
-  gif, png, jpeg or svg. Soon also PS or SWG. Default: png
-__data__:  |
-  optionally add data by <!plugin-list !> pagelist plugins.
-__alt__:  |
-  alt text for the image
-__-prefab__:  |
-  use the given prefab script (may need $_ENV~['PLOTICUS_PREFABS'~])
-__-csmap__:  |
-  If a clickable map should be produced (not yet tested)
-__help__:  |
-  Show a help screen (not yet)
-
-!! Known Problems
-
-# For windows you need either a gd library with GIF support or
-  a ploticus with PNG support. This comes only with the cygwin
-  build so far.
-# We support only images supported by GD (PNG most likely) and now
-  also SVG. MAP support not yet tested. No EPS, PS or SWG support yet.
-
-!! Examples
-
-<?plugin Ploticus device||=png
-#proc page
-#if @DEVICE in gif,png
-  scale: 0.7
-#endif
-
-//  specify data using {proc getdata}
-#proc getdata
-data:	Brazil 22
-	Columbia 17
-	"Costa Rica" 22
-	Guatemala 3
-	Honduras 12
-	Mexico 14
-	Nicaragua 28
-	Belize 9
- 	United\nStates 21
-	Canada 8
-
-//  render the pie graph using {proc pie}
-#proc pie
-firstslice: 90
-explode: .2 0 0 0 0  .2 0
-datafield: 2
-labelfield: 1
-labelmode: line+label
-center: 4 4
-radius: 2
-colors: yellow pink pink pink pink yellow pink
-labelfarout: 1.05
-?>
-
-The pie chart above was produced by this code from the ploticus
-testsuite:
-
-<verbatim>
-<?plugin Ploticus device||=png alt="Sample Pie Chart"
-#proc page
-#if @DEVICE in gif,png
-  scale: 0.7
-#endif
-
-//  specify data using {proc getdata}
-#proc getdata
-data:	Brazil 22
-	Columbia 17
-	"Costa Rica" 22
-	Guatemala 3
-	Honduras 12
-	Mexico 14
-	Nicaragua 28
-	Belize 9
- 	United\nStates 21
-	Canada 8
-
-//  render the pie graph using {proc pie}
-#proc pie
-firstslice: 90
-explode: .2 0 0 0 0  .2 0
-datafield: 2
-labelfield: 1
-labelmode: line+label
-center: 4 4
-radius: 2
-colors: yellow pink pink pink pink yellow pink
-labelfarout: 1.05
-?>
-</verbatim>";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/PluginManager--1 1.3.14/tests/unit/.testbox/ver_data/PluginManager--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/PluginManager--1	2006-06-18 06:20:03.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/PluginManager--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,35 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625922;s:8:"%content";s:2122:"PhpWiki lets you extend it with new functionality via a plugin
-mechanism. In short, you extend a PHP class we provide and customize
-it to print out the content you want. For more information see
-WikiPlugin, HelloWorldPlugin, and view the source of the files in
-<tt>lib/plugin</tt>.
-
-If there is no example page for the plugin, or you need more
-information, the best place to go is the source of the plugin. Under
-your wiki's root directory, the folder <tt>lib/plugin</tt> contains all the PHP
-files for the plugins.
-
-! External Requirements
-Some plugins require correctly configured PLUGIN_CACHED and external libraries
-not provided with PhpWiki or PHP, such as
-* [PHP with GD support | php-function:ref.image] for the text2png plugin,
-* [LaTeX2HTML | ftp://ftp.dante.de/tex-archive/support/latex2html ] for the TexToPngPlugin and TeX2pngPlugin,
-* [graphviz | http://graphviz.org/] for the GraphVizPlugin and VisualWikiPlugin,
-* [ploticus | http://ploticus.sourceforge.net/] for the PloticusPlugin,
-* [phpweather | http://phpweather.sf.net] for the PhpWeatherPlugin,
-* [highlight | http://www.andre-simon.de/] for the SyntaxHighlighterPlugin,
-* a browser with [<iframe> support|http://www.cs.tut.fi/~jkorpela/html/iframe.html] for the TranscludePlugin,
-* USE_DB_SESSION = true (default for the peardb, adodb or dba backends) for the WhoIsOnline plugin,
-* --with-xml support (with expat or libxml2) for the ~RssFeed plugin (ProjectSummary, RecentReleases) and
-  HtmlParser support (ImportHtml, HtmlAreaEditing),
-* PHP Mail functionality (php.ini: SMTP + sendmail_from on Windows or sendmail_path) for email
-  PageChangeNotifications and ModeratedPage's,
-* a [Google license key | http://www.google.com/apis/] for the GooglePlugin,
-* optionally an external recommender engine (none yet, php only so far) and the wikilens theme for the RateIt plugin,
-* optionally apache/mod_log_{my}sql for fast, external log analysis if ACCESS_LOG_SQL=1 (Referer, Abuse Prevention).
-  See <tt>lib/Request.php</tt> and http://www.outoforder.cc/projects/apache/mod_log_sql/
-
------
-<?plugin PluginManager?>
-----
-PhpWikiDocumentation WikiPlugin";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/ProjectSummary--1 1.3.14/tests/unit/.testbox/ver_data/ProjectSummary--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/ProjectSummary--1	2006-06-18 06:20:03.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/ProjectSummary--1	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625922;s:8:"%content";s:88:"<?plugin RssFeed url=http://sourceforge.net/export/rss2_projsummary.php?group_id=6121 ?>";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/RandomPage--1 1.3.14/tests/unit/.testbox/ver_data/RandomPage--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/RandomPage--1	2006-06-18 06:20:03.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/RandomPage--1	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625922;s:8:"%content";s:35:"<?plugin RandomPage numpages||=20?>";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/RateIt--1 1.3.14/tests/unit/.testbox/ver_data/RateIt--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/RateIt--1	2006-06-18 06:20:03.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/RateIt--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,4 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625922;s:8:"%content";s:80:"<?plugin RateIt show=ratings ?>
-
-%%%
-<?plugin AllPages info=rating limit||=25 ?>";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/RawHtmlPlugin--1 1.3.14/tests/unit/.testbox/ver_data/RawHtmlPlugin--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/RawHtmlPlugin--1	2006-06-18 06:20:04.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/RawHtmlPlugin--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,46 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625922;s:8:"%content";s:1796:"<b>With this plugin you can embed raw unfiltered HTML in the page source; say, for example, you want to put in a complicated set of nested tables to display data. By default, raw HTML is not allowed in most Wikis due to security problems (because malicious users can insert redirects, Javascript, etc.)</b>
-
-<b>For this plugin to work, the page must be locked by the administrator. If you are seeing the raw HTML being displayed below, instead of rendered, try locking the page (log in as the administrator first).</b>
-
-<?plugin RawHtml
-
-<!-- Keep link lines at 72 characters or lynx will break them poorly. -->
-<!-- Obviously, we list ONLY the most useful/important URLs here. -->
-<!-- Keep it short and sweet: 3 lines and 2 columns is already enough -->
-
-<table border="1" cellpadding="10">
-<tr><td>Sample HTML from www.gnu.org</td>
-<td>
-
-<!-- Keep link lines at 72 characters or lynx will break them poorly. -->
-<!-- Obviously, we list ONLY the most useful/important URLs here. -->
-<!-- Keep it short and sweet: 3 lines and 2 columns is already enough -->
-
-<table>
-  <tr>
-    <td align="left">
-    <ul>
-      <li><a href="http://www.gnu.org//provide.html">What we provide</a></li>
-      <li><a href="http://www.gnu.org//philosophy/philosophy.html">Why we exist</a></li>
-
-      <li><a href="http://www.gnu.org//gnu/gnu-history.html">Where we are going</a></li>
-    </ul>
-    </td>
-    <td>
-    <ul>
-      <li><a href="http://www.gnu.org//help/help.html">How you can help us get there</a></li>
-      <li><a href="http://www.gnu.org//people/people.html">Who we are</a></li>
-
-      <li><a href="http://www.gnu.org//testimonials/testimonials.html">What users think of GNU software</a></li>
-    </ul>
-    </td>
-  </tr>
-</table>
-</td>
-</tr>
-</table>
-?>
-
--------------
-
-PhpWikiDocumentation WikiPlugin";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/RecentChanges--1 1.3.14/tests/unit/.testbox/ver_data/RecentChanges--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/RecentChanges--1	2006-06-18 06:20:04.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/RecentChanges--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,5 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625922;s:8:"%content";s:195:"Here's a list of recently changed pages on this wiki. (See RecentEdits
-for all recent minor edits and changes).
-
---------
-<?plugin RecentChanges days||=7 daylist=1,3,7,30,90,0 show_deleted||=1 ?>";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/RecentComments--1 1.3.14/tests/unit/.testbox/ver_data/RecentComments--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/RecentComments--1	2006-06-18 06:20:04.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/RecentComments--1	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625923;s:8:"%content";s:57:"<?plugin RecentComments days||=7 daylist=1,3,7,30,90,0 ?>";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/RecentEdits--1 1.3.14/tests/unit/.testbox/ver_data/RecentEdits--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/RecentEdits--1	2006-06-18 06:20:04.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/RecentEdits--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,6 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625923;s:8:"%content";s:269:"Here's a list of recently edited pages on this wiki. All minor changes
-are shown also, not just the most recent ones. (See RecentChanges for the
-most recent non-minor changes).
-
---------
-<?plugin RecentChanges days||=3 show_all||=1 show_minor=1 daylist=1,3,7,30,90,0 ?>";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/RecentReleases--1 1.3.14/tests/unit/.testbox/ver_data/RecentReleases--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/RecentReleases--1	2006-06-18 06:20:04.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/RecentReleases--1	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625923;s:8:"%content";s:111:"<?plugin RssFeed url=http://sourceforge.net/export/rss2_projnews.php?group_id=6121&rss_fulltext=1 maxitem=10 ?>";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/RecentVisitors--1 1.3.14/tests/unit/.testbox/ver_data/RecentVisitors--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/RecentVisitors--1	2006-06-18 06:20:04.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/RecentVisitors--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,4 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625923;s:8:"%content";s:179:"Sign and date your name below!
-
-Arno Hollosi, Aredridel Stauck, Jeff Dairiki, Steve Wainstead, Carsten Klapp,
-Reini Urban, the [PhpWiki authors|PhpWiki:ThePhpWikiProgrammingTeam].";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/RedirectToPlugin--1 1.3.14/tests/unit/.testbox/ver_data/RedirectToPlugin--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/RedirectToPlugin--1	2006-06-18 06:20:04.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/RedirectToPlugin--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,29 +0,0 @@
-a:6:{s:5:"mtime";s:10:"1045352818";s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:8:"%content";s:818:"The RedirectToPlugin can be used to redirect a user to another page.
-In other words it makes a page an _alias_ for another page.
-
-! Arguments
-
-Use only one of these arguments at a time.
-
-page |
-  The page to redirect to (a wiki page name).
-href |
-  An external URL to redirect to.  Redirection to external URLs will only work
-  on locked pages.  (If the URL contains funny characters, you'll probably have
-  to put quotes around the URL.)
-
-! Caveats
-
-The RedirectToPlugin invocation must be the first thing on a page.
-For most purposes it makes any other content on the page inaccessible.
-
-! Example
-
-A page may be made a alias for the HomePage by placing this code at the top:
-<verbatim>
-<?plugin RedirectTo page="HomePage" ?>
-</verbatim>
-
-To see the example in action, visit HomePageAlias.
------
-PhpWikiDocumentation";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/RelatedChanges--1 1.3.14/tests/unit/.testbox/ver_data/RelatedChanges--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/RelatedChanges--1	2006-06-18 06:20:04.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/RelatedChanges--1	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625923;s:8:"%content";s:72:"<?plugin RelatedChanges show_minor||=1 days||=7 daylist=1,3,7,30,90,0 ?>";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/ReleaseNotes--1 1.3.14/tests/unit/.testbox/ver_data/ReleaseNotes--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/ReleaseNotes--1	2006-06-18 06:20:04.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/ReleaseNotes--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,711 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625924;s:8:"%content";s:32399:"1.3.12p3 Jun, 18 2006, Reini Urban:
-
-* fix [/Subpage] links
-* fix pref storing of already crypted passwords. bug #1327470 (Tom Harding)
-* fix cache headers on errors (@ob_end_flush issue). (matt brown)
-* fix BogoLogin when ENABLE_PAGEPERM=false. patch #1438392 by Matt Brown
-* unique WIKI_ID cookies per WIKI_NAME. patch #1333957 by Matt Brown
-* added DATABASE_OPTIMISE_FREQUENCY feature. patch #1377011 by Matt Brown
-* don't check lock_table priv on action=upgrade
-* fix _accesslog->logtable and _is_buffering_output warnings (uckelman)
-* do not print wrong length header on url-rewriting. bug #1376007
-* fix pref->set: Error generated when login out. bug #1355533 (Thierry Nabeth)
-* fix default preferences for editheight maxrows, by Manuel Vacelet.
-* fix DBAUTH arguments to be position independent, bug #1358973
-* add PdoDbPassUser user
-* fix output of Homepage prefs update
-* update config-dist.ini format from CVS
-* update configurator.php from CVS
-* print optimize wikidb only when DEBUG
-* simplify messages for translators
-* added ImageTile.php
-* added tsearch2 to doc/INSTALL.pgsql
-* added basepage to Cached_WikiLink::asXML for subpages within CreateTOC
-* print filename on dba access error
-* use bind_textdomain_codeset. bug #1480077 (Kai Krakow)
-* make TextSearchQuery->_stoplist localizable and overridable within config.ini
-* fixes for mysql 5.x wantedpages join
-* add rel=nofollow to more actions. patch by Matt Brown
-* add verify to RevertPage, display reverted page as template
-* update plugin/CalendarList: patches by mpullen and banjo
-* update plugin/GraphViz
-* added plugin/PasswordReset
-* fixed hash() in plugin/RateIt
-* plugin/_AuthInfo: protect File passwords
-* added Captcha to Crao edit template
-* added MacOSX Pdf button
-* fixed Portland and Wordpress editpage template
-* removed Wordpress buttons, transparent default buttons should be used.
-* disabled RelatedChanges button
-
-1.3.12p2 Mar, 7 2006, Reini Urban:
-
-* fix change prefs for File WikiUser
-* fix HomepagePrefs update message
-* remove plugin/Imdb
-* apply PluginToolbarButton fix from cvs
-
-1.3.12p1 Mar, 4 2006, Reini Urban:
-
-* fix "Call-time pass-by-reference" in CreateBib
-* fix parse error in SiteMap.php
-
-1.3.12 Mar, 4 2006, Reini Urban:
-
-Rename function hash() and method final() for php-5.1 compatibility.
-Add various backports from cvs:
-
-fixes:
-* fix ZipReader
-* Fix "Call-time pass-by-reference has been deprecated" errors,
-  allow_call_time_pass_reference = Off
-* fix broken locale update for php-5.1.1
-* default locale fix by Thomas Harding
-* fix Bug #1381464 "Duplicate functions" with php-5.1.1
-* InterWikiMap: allow spaces in paths, even implicitly. fixes bug #1218733
-* fix 'VOID' in TextSearchQuery
-* remove LIMIT 1 in ADODB
-* fix SQL WantedPages
-* fix fulltext search for stoplists
-* fix bug #1327912 numeric pagenames can break plugins (Joachim Lous)
-* fix xmlrpc and tests/unit for !register_long_arrays
-* ensure absolute uploads path
-* fix GoogleMaps syntax error
-* fix ListPages for non-SQL backends. Add top3recs as default only if
-  ratings are available
-* plugin/PageTrail improved empty cookie
-* plugin/_WikiTranslation: protect against 2x define
-* remove mysql specific ISNULL()
-* fix signout pref error
-* don't log on ACCESS_LOG_SQL < 2
-
-changes:
-* cache EditToolbars
-* beautify SCRIPT lines
-* added cfg-able markups only for default TextTransformation, not
-  for links and others
-* add a proper Content-Encoding: gzip if compressed, and omit Content-Length then.
-  Trick to send the correct gzipped Content-Length
-* set dsn after SQL/ADODB switches in WikiDB backends for easier unit testing
-* email notifications: better From: header
-* add DBAUTH_PREF_INSERT: self-creating users. by John Stevens
-* improved WikiUser/Ldap error description
-* cache SystemInfo methods
-* VisualWiki: remove INCLUDED from EXCLUDED, includes override excludes.
-* improve postgresql schemas (tsearch2 and stored procedures not yet)
-
-new:
-* added NUM_SPAM_LINKS as config.ini option
-* new ENABLE_SPAMBLOCKLIST, lib/SpamBlocklist.php:
-  check external links against surbl.org and bl.spamcop.net
-* added Captcha class and better spiral
-* added get_captcha_random_word() contributed by Dan Frankowski
-* dumphtml when not at admin page: dump the current or given page
-* added plugin FileInfo
-* major PhotoAlbum feature enhancements by Thomas Harding:
-  slides mode, real thumbnails
-* add more backends to the testsuite (PearDB_pgsql, ...)
-
-1.3.11p1 Sep, 18 2005, Reini Urban:
-
-fixes:
-* added missing pgsrc/OldStyleTablesPlugin
-* fixed OldStyleTables plugin with args
-* protect against Content-Length if headers_sent()
-* fixed ENABLE_MARKUP_TEMPLATE warning if undefined
-* fixed writing unwanted accesslog sql entries
-* fixed WikiAdminSelect preselection
-* fixed passencrypt.php for PHP5 !register_long_arrays
-* fixed configurator for DATABASE_DSN, USER_AUTH_ORDER
-
-changes:
-* optimized explodePageList to use SQL when available
-  (titleSearch instead of getAllPages)
-* added optimization for a new ALL textsearch token
-  (* => pcre: .*, sql: %)
-* configurator takes default description from config-dist.ini
-* added some missing configurator constants
-
-1.3.11 Sep, 11 2005, Reini Urban, Joel Uckelman:
-
-Lots of bugfixes, and some feature and performance enhancements.
-A new EDIT_TOOLBAR from mediawiki, more page permission enhancements,
-reduced memory usage for pagelists which need no page content,
-related improvement for OldMarkup crashes because of PCRE memory exhaustion.%%%
-New <!plugin-list !> syntax and PhpWiki:PageListLibrary args.%%%
-Because of SQL changes you'd need to ?action=upgrade to update for SQL.
-
-fixes:
-* fixed crash after login, by eliminating endless recursion in
-  group isAdmin() checks
-* fixed syntax errors in signin.tmpl
-* fixed missing DEBUG warnings (Support #954260)
-* PhpWiki is now allow_call_time_pass_reference = Off safe (php.ini)
-  Some external libraries are not (Pear_DB odbc, adodb oracle)
-* fixed sql statements for pagedata where it is not needed, fixing the
-  typical PageList memory exhaustion on simple page lists.
-  cached_html is handled complete seperate now.
-* fixed and improved WikiDB pageid caching.
-* fixed some WikiGroup errors for WIKIPAGE and DB
-* fixed JS_SEARCHREPLACE
-* fixed rename with dba
-* fixed Today link in all templates if USE_PATH_INFO = false
-* fixed PluginManager fatal error line 222
-* utf-8 pagenames fixed (typed foreign names from IE)
-* CGI: no PATH_INFO fix
-* fix some too loose PhpWiki:PagePermissions for signed, but not authenticated users
-  (admin, owner, creator), and edit and view for Bogo and Password users
-* security fix for create ACL: action=edit is now checked for create
-* fixed important WikiDB bug with DEBUG > 0: wrong assertion
-  around line 172 (#954648)
-* fixed flatfile ArchiveCleaner assertion
-* RssFeedPlugin stability fix for empty feeds or broken connections
-* fixed Sidebar theme CSS, added existing dates to jscalendar
-* fixed PhpWiki:ImageLinks, broken since 1.3.10 (Bug #956068)
-* fixed lib/pear/File_Passwd loading
-* TranslateText: verbatim needed a pagebreak
-* fixed duplicate session_id warning with adodb
-* fixed adodb ~DbPassUser login
-* fixed external ~DbPassUser login
-* fixed adodb action=upgrade
-* fixed ~FilePassUser locking problems and session handling
-* fixed a lot of LDAP auth and group issues
-* fixed LDAP options handling (by John Cole)
-* fixed possible security problems: allowing only posixly strict usernames,
-  and an actual LDAP Injection problem, detected by Steve Christey, MITRE.
-* honor s=wildcard arguments for ~WikiAdmin plugins
-* fixed flatfile assertion (#963268) - check existing previous version
-* fixed all msg references from index.php to config/config.ini
-* fixed immediate LANG and THEME in-session updates if not stored in prefs
-* fixed USER_AUTH_POLICY=old, use only USER_AUTH_ORDER methods (besides ~HttpAuth)
-  and removed LDAP, POP3, IMAP default configs.
-* RelatedChanges: fixed days links
-* fix Rename: Change pagename in all linked pages
-* fixed PhpWiki:PageChangeNotification for not-current users
-* fixed UpLoadPlugin for filenames with space (Bug #969532)
-* fixed label support for CreateTocPlugin (Bug #969495)
-* fixed Apache2 crashing with old markup and the CreateTocPlugin.
-* catch fatals and request->args changes on dumping
-* fixed unneeded UserPreferences plugin login screen on dumphtml
-* catch SOAP fatal on GooglePlugin without GOOGLE_LICENSE_KEY
-* silently ignore jshide argument on MacIE for AddCommentPlugin and CreateTocPlugin
-* fixed xmlrpc to be able to use the native xmlrpc extension.
-* fixed xmlrpc wiki.listLinks method: "name" => "page" param
-* fixed xmlrpc security not using eval on usercode anymore
-* fixed WikiAdminUtils behaviour on POST
-* fixed strict login on "Db" (by Mikhail Vladimirov)
-* more /tmp warnings on flatfile (by Joel Uckelman)
-
-changes:
-* ~WikiAdminSetAcl functional
-* enabled PhpWiki:PagePermissions for all admin plugins (no admin required):
-  Remove, Rename, Replace, ~SetAcl, Chown
-* renamed DB_Session.php to ~DbSession.php and moved libs to a subdir
-* new Error-style with collapsed output of repeated messages
-* whitespace trim pagenames to avoid abuse
-* no double login page header, better login msg.
-* improved ~FileFinder include_path logic (~NormalizeLocalFileName, ...)
-** init global FileFinder to add proper include paths at startup
-   adds PHPWIKI_DIR to the front if started from another dir, lib/pear to the end.
-** fix slashify for Windows
-* check more config-default and predefined constants
-* ~AutoSplit pagenames at subpage seperators, esp for Sidebar theme
-* improve Pagelist layout by equal pagename width for limited lists
-* added CPAN, OsFaq2, WikiLens to interwiki.map
-* ExternalSearchPlugin useimage arg (RFE #952323)
-* simplified some strings for easier translation
-* added hash and object support for ~SessionPassUser userid session variable
-* auth page=>DB ~PassUser upgrade: delete existing Page prefs, if Db prefs are saved.
-* vastly improved french locale support, which is now complete (by Pierrick Meignen).
-  english, german and french are now completely translated. The others partially.
-* improved ~SetupWiki (virgin setup) loading all required action pages in english,
-  if no foreign translation found (by Pierrick Meignen)
-* show RelatedChanges only if minimum two links on the current page.
-* PageDump: ViewSource link, better actionpage usage, MessageID TZ
-* brought ~WikiUser (old) uptodate
-* added owner and acl fields to dumps
-* import GOOGLE_LICENSE_KEY and FORTUNE_DIR from config.ini
-* renamed global $Theme to $~WikiTheme (gforge nameclash)
-* aggressive WikiDB and cache memory optimization: don't cache %content
-  and _cached_html if not needed.
-* PageDump added format=backup: dump all revisions.
-* force mysql to use auto_increment page.id for performance reasons.
-  call ?action=upgrade
-* extended all plugins which take "pages" and "exclude" params to accept
-  <!plugin-list !> pagelists
-* enabled limit, exclude and sortby PageList options for almost all db backends natively
-* improved SqlResult: templates and variable expansion.
-  automatic paging not yet.
-* use latest Pear DB features, which will break on older PearDB libs.
-  (escapeSimple). Use INCLUDE_PATH to override.
-* INCLUDE_PATH is now prepended, not appended. PHPWIKI_DIR is forced to be first.
-* rewrote OldTextFormattingRules, AnciennesR%E8glesDeFormatage
-  for proper importing (PCRE+memory related crashes on older php's)
-* added extra page.cached_html column. ?action=upgrade or PhpWikiAdministration
-  "Convert cached_html" is needed to convert your old pagedata "_cached_html".
-* page deletion is now undoable and being seen in RecentChanges. Purge pages
-  by new admin button.
-* zipdump and dumphtml contains now images, buttons and css
-* improved _WikiTranslation performance with gettext extension
-* moved DbSession methods to extra files as with WikiUser files.
-* changed config.ini options:
-  KEYWORDS: "Category:Topic" => "Category* OR Topic*",
-  KEYWORD_LINK_REGEXP removed,
-* action=dumphtml dumps only the current page unless done from PhpWikiAdministration
-
-new:
-* new ENABLE_EDIT_TOOLBAR (from mediawiki), JS_SEARCHREPLACE,
-  AddCategory, AddPlugin buttons
-* new other config options:
-** ENABLE_PAGEPERM to turn off ACL (no owner at the statusline if off)
-** FORTUNE_DIR to enable random quotes for new pages
-** GOOGLE_LINKS_NOFOLLOW, ACCESS_LOG_SQL, BABYCART_PATH, BLOG_DEFAULT_EMPTY_PREFIX,
-   CATEGORY_GROUP_PAGE, DATABASE_PERSISTENT, DBADMIN_PASSWD, DBADMIN_USER,
-   DEFAULT_DUMP_DIR, DISABLE_GETIMAGESIZE, ENABLE_DOUBLECLICKEDIT,
-   ENABLE_LIVESEARCH, ENABLE_MODERATEDPAGE_ALL, ENABLE_RAW_HTML_LOCKEDONLY,
-   ENABLE_RAW_HTML_SAFE, ENABLE_SPAMASSASSIN, ENABLE_XHTML_XML,
-   GOOGLE_LICENSE_KEY, HTML_DUMP_DIR, LDAP_OU_GROUP, LDAP_OU_USERS
-   PLUGIN_CACHED_CACHE_DIR, PLUGIN_CACHED_DATABASE, PLUGIN_CACHED_FILENAME_PREFIX,
-   PLUGIN_CACHED_FORCE_SYNCMAP, PLUGIN_CACHED_HIGHWATER,
-   PLUGIN_CACHED_IMGTYPES, PLUGIN_CACHED_LOWWATER, PLUGIN_CACHED_MAXARGLEN,
-   PLUGIN_CACHED_MAXLIFETIME, PLUGIN_CACHED_USECACHE, TEMP_DIR, USECACHE,
-   USE_EXTERNAL_HTML2PDF, ENABLE_MARKUP_COLOR, ENABLE_MARKUP_TEMPLATE
-* implemented WikiDB page creator and ownership
-* added paging support for simple one-column pagelists
-* added new PageList options: cols, azhead, comma, commasep, ordered
-  and enabled the new args on most plugins.
-* new pagename utf8 detection logic (from mediawiki)
-* added action revert, with button from action=diff
-* added new <!plugin-list PluginName args!> syntax within plugin args
-* new plugin IncludePages, esp. for <!plugin-list !>
-* added template variable expansion support to the CreatePagePlugin
-* added new <!plugin-list PluginName args!> syntax within plugin args
-* new plugin IncludePages, esp. for <!plugin-list !>
-* added template variable expansion support to the CreatePagePlugin
-* WikiSpam prevention:
-  ** On GOOGLE_LINKS_NOFOLLOW add rel=nowfollow to all external
-     links, unless the author was authenticated.
-  ** max 20 new links hardcoded
-  ** new babycart module interfacing SpamAssassin
-* added WikiPluginCached support for image maps, static cache in uploads/ and SVG
-* added case-sensitive/insensitive and regex searching, replace also
-* added action=pdf: only page formatter missing, use USE_EXTERNAL_HTML2PDF instead
-* new ~XmlParser, ~HtmlParser: new libs for HTML->wiki import and htmlarea3 support
-* new action=chown|setacl|rename|dump action shortcuts pointing to the plugin
-* new SyntaxHighlighter plugin (based on work by alecthomas),
-  needs highlight from http://www.andre-simon.de/
-* new PloticusPlugin. Full application/xhtml+xml support not yet
-  (javascript document.write() not supported with ENABLE_XHTML_XML)
-* new ListPages plugin (by Dan Frankowski)
-* new TeX2pngPlugin (by Pierrick Meignen)
-* added support for ?force_unlock=1 parameter for stale File_Passwd locks
-  (should not be needed anymore, we lock only when we actually change the passwd)
-* added mysql-4.1 fix at action=upgrade,
-  added CACHE_CONTROL NONE => NO_CACHE config.ini fix to action=upgrade
-* author, owner, creator support for WikiAdmin* and AllPages plugins:
-** AllPagesCreatedByMe, AllPagesLastEditedByMe, AllPagesOwnedByMe
-* added option regex to ~WikiAdminSearchReplace and ~WikiAdminRename
-* added oracle PearDB backend (by Philippe Vanhaesendonck)
-* added experimental SearchHighlight feature (not for HTML yet)
-* added experimental LiveSearch feature
-* added [OverWrite All] button to loadfile action on the first page.
-* added [Load & OverWrite] button to PhpWikiAdministration
-* performance: use cached static config/config.php, if it's writable by
-  the webserver. (experimental)
-* added ACCESS_LOG_SQL &1: read, &2 write. new accesslog sql table.
-  for various log analysis: abuse prevention, recent referrers.
-* added more PageChangeNotification on other actions: rename, remove.
-  changed subject on create. Collapse mult. emails to one.
-* added new PhpWiki:WikiFormRich plugin
-* added new AppendTextPlugin (by Pascal Giard)
-* added RSS2 link (format=rss2)  in RecentChanges. (no cloud channel yet)
-* added PhpWikiAdministration WikiDB buttons:
-  [Purge all empty unreferenced pages], [Convert cached_html]
-* (nyi) new experimental ModeratedPage feature. (i.e. delayed POST actions)
-* new edit "[] old markup [Convert]" button to convert and save to new markup.
-* new LinkDatabase plugin and actionpage for the http://touchgraph.sourceforge.net/ ~WikiBrowser
-* new hyperwiki applet in the Sidebar theme. See http://hypergraph.sourceforge.net/
-* new xmlrpc methods: putPage, mailPasswordToUser
-* new xmlrpc test framework
-* action=upgrade performs now a mysql LOCK TABLE privileges check and fix
-* action=upgrade asks now for the admin's user and password if not defined
-* added lib/ASCIIMathPHP and AsciiMath plugin
-* new AnalyseAccessLogSqlPlugin (by Charles Corrigan)
-* new TemplatePlugin, optionally mediawiki-style {{Template}} syntax
-* new ENABLE_ACDROPDOWN moacdropdown library. fast xmlrpc communication nyi
-
-PhpWiki 1.2.11:
-* support remove for $WhichDatabase = file
-
-PhpWiki 1.2.10:
-* support php5 with register_long_arrays = off
-
-PhpWiki 1.2.9 bugfix:
-* Jose Vina fixed MostPopular sorting for dba and dbm,
-  which was broken since 1.2.3
-
-1.2.8 (the old-stable branch) Jan, 30 2005, Reini Urban:
-* register_globals=off fix:
-  fix and centralize broken register_globals=off logic.
-* update message catalog
-* replace mysql_pconnect by mysql_connect
-
-1.2.7 (the old-stable branch) Jan, 6 2005, Reini Urban:
-PhpWiki 1.2.7 backport cvs release-1_2-branch enhancements never released with 1.2.3-1.2.6:
-* full xhtml conformity
-* split_pagename in title and header to help google
-* "INSTALL.Mac OS X" added from cvs
-* lib/zipfile.php: Content-Disposition: attachment
-* lib/config.php, lib/stdlib.php: support new USE_LINK_ICONS and AUTOSPLIT_WIKIWORDS,
-  better i18n $!WikiNameRegexp
-* re-added images/* LINK_ICONS, pre-calculate DATA_PATH
-* locale/*: fix and update strings and templates esp. for german,
-* index.php: urlparser extended to omit &start_debug=1 and other args
-* added minor_edit checkbox
-* print more meta tags: robots, favicon, language and PHPWIKI_VERSION
-
-1.2.6 (the old-stable branch) Dec, 19 2004, Reini Urban:
-;: flatfile fixes and enhancement:
-* fixed !TitleSearch and Backlinks for flatfile.
-* enable MostPopular (hitcount storage) for flatfile
-
-1.2.5 (the old-stable branch) Nov, 28 2004, Reini Urban:
-* works with register_globals=off
-* adds user/password to pgsql,
-* fix zip and dumpserial on dba, dbm, msql and file,
-* and fixes a minor (un)lock issue, displaying the (un)locked page afterwards
-  and not the FrontPage.
-
-1.3.10 May, 13 2004, Reini Urban, Joby Walker:
-
-;: In short: paging support, adodb rewrite, permission problem fixed.
-
-fixes:
-* fixed severe permission problem:
-  Default permissions not honored. Everybody was able to edit.
-* set UserPreferences for bool and int fixed
-* POP3 auth
-* dba open problems improved, but not generally fixed
-* fixed dba session reading, but still broken
-* support wikiword links and image links in RichTable content,
-  backlinks still not working.
-* fixed navbar links in theme smaller, and made them default
-* fixed loading of localized pagenames on action=upgrade
-* fixed interwiki.map loading on certain PrettyWiki setups
-* re-enabled php-4.0.6 support (broken since 1.3.8: superglobals, array_key_exists),
-  4.0.4-pl1 and 4.0.5 do work, but not stable enough.
-* fix running phpwiki in "http://server/" (empty DATA_PATH)
-* fix PhpWiki:PrettyWiki detection: starter script includes index.php,
-  and include main.php by its own to override certain config values.
-* fix WikiAdminRemove arguments passed from WikiAdminSelect,
-  WikiAdminRemove deleted too many args if passed from WikiAdminSelect
-* session transportation improved, no db objects stored
-* PageGroup support for [links] and subpages
-* HttpClient fixes for older php's
-* RssFeed for allow_url_fopen=false, IMAGE support, empty ITEM list
-* Theme buttons are now also searched in the default theme
-* numerous other minor bugfixes.
-
-changes:
-* ADODB update from ancient mysql-only, to 4.21 with all supported databases.
-  transaction support, with mysql locking-workarounds
-* pear not in our include_path anymore: either use your pear or our pear,
-  by adding it to your include_path or not. use now 1:1 copies of pear libs.
-* CreateToc parses now headers with links and formatting optionally, if
-  TOC_FULL_SYNTAX is defined
-* PageChangeNotification: userids, not emails are printed
-* default theme navbar consistency: linkButtons instead of action buttons
-* _~WikiTranslation what=buttons, noT=1, nolinks=1
-* ~SetupWiki (virgin setup) also loads all mandatory pages now
-  and overwrites ReleaseNotes
-* PageChangeNotification changed subject to "[WikiName] Page change %s",
-  update your filters accordingly
-* action=upgrade now linked in PhpWikiAdministration,
-  db: fix page.id auto_increment and ADD session.sess_ip
-* some internal InlineParser optimization
-* DBAuthParam statement syntax change: variables now like '$userid'
-
-new:
-* new ini-style config instead of old index.php, by Joby Walker
-* paging support for pagelists longer than limit
-* PopularNearby plugin: same as the classic most popular footer
-* formatted single-line plugins supported
-* RelatedChanges plugin: only those which are links at the current page
-* new GoogleLink pref: add "[G]" lookup on unknown links
-* added chinese language support, by Yan-ren Tsai (druryl)
-* added missing MacOSX buttons, by Carsten Klapp.
-* new Crao theme from http://wiki.crao.net, by Arnaud Fontaine and Laurent Lunati
-* extended PhpWiki:InlineImages markup (size, border, ...)
-
-
-1.3.9-p1 May,5 2004, Reini Urban:
-
-Bugfix patch for the following 1.3.9 problems:
-* Default permissions not honored. Everybody was able to edit.
-* set UserPreferences for bool and int fixed
-* dba open problems improved
-* session transportation improved, no db objects stored
-* php-4.0.6 support re-enabled (superglobals, array_key_exists)
-* WikiAdminRemove deleted too many if args passed from WikiAdminSelect
-* PageGroup support for [links] and subpages
-* disabled default dba sessions, broken!
-* HttpClient fixes for older php's
-* RssFeed for allow_url_fopen=false, IMAGE support, empty ITEM list
-
-
-1.2.4 (the old-stable version) May, 4 2004, Reini Urban:
-* improves possible deadlocks in DBA,
-* fixes problems with DBA open failures.
-
-
-1.2.3 (the old-stable version) Apr, 29 2004, Reini Urban:
-* added the most popular footer for dba
-* added remove for dba
-* fixed a warning on info page
-
-
-1.3.9 Apr, 12 2004, Reini Urban:
-
-Bugfix release for the following 1.3.8 problems:
-* syntax errors in lib/plugin/UpLoad.php
-* syntax errors in lib/plugin/WikiAdminRemove.php
-* syntax error in schemas/mysql.sql
-* several path issues (cannot findfile...), which were caused
-  by a chdir for bindtextdomain in lib/config.php.
-    Failed opening required 'lib/stdlib.php',
-    templates/html.tmpl: not found, and more
-* added self-registration for DbPassUser
-* added GoTo plugin, RateIt action page
-
-1.3.8 Jan-Apr 2004, Reini Urban:
-
-External plugable authentification, DB prefs and sessions,
-some more fixes, docs, themes and plugins.
-
-* new WikiUserNew class (started by Carsten Klapp),
-* new Preferences (optionally from DB, no cookies anymore)
-* improved DB_Session (added ADODB + dba support,
-  WhoIsOnline support)
-* enabled WikiGroup (Joby Walker and Reini Urban)
-* new individual PagePermissions (enabled, but not yet enforced)
-* new WikiAdminRename, WikiAdminSearchReplace, WikiAdminSetAcl
-* several other new plugins: WikiPoll, WhoIsOnline,
-  CreateToc (experimental), AddComment,
-  _WikiTranslation and TranslateText, NoCache,
-  UpLoad (by NathanGass, qubit and Reini Urban),
-  IncludeSiteMap (by cuthbertcat and Reini Urban),
-  RichTable (by Sameer D. Sahasrabuddhe),
-  CreatePage and RateIt (by Dan Frankowski),
-  RssFeed (by Arnaud Fontaine)
-* added InterWiki image button support
-* added Japanese language support (by Tadashi Jokagi)
-* added sqlite support (thanks to Matthew Palmer)
-* added theme and plugin-specific PageList column types and theme-specific UserPreferences
-* added EmailVerification and PageChangeNotification (experimental)
-* added new sess_ip column (DB_Session) for ip-based robot throttling
-
-* Pear DB update, minor performance improvement for PearDB
-* PageList: enhanced sortby + limit support, sortable gridbuttons enforced, cleanup.
-* minor theme/default overhaul, new theme/smaller, new experimental theme/wikilens
-* new theme/Wordpress by Mike Pickering
-* updated theme/Sidebar: box methods, fast jscalendar and easier to customize
-* more OldStyleTable arguments, PhotoAlbum local fs support
-* preliminary action=upgrade (To import new pgsrc pages only yet. not for DB)
-* preliminary SOAP support
-* added PdfOutput libraries
-* experimental javascript Search&Replace edit buttons
-* experimental old-browser compatibility code.
-
-* fixed WikiAdminSelect, WikiAdminRemove
-* fixed and improved XHTML dumps (css, images, unlinked pages, \r\r\n issue)
-* fixed ADODB limit problem, fixed dba on Windows PHP 4.3.x
-* fixed BlockParser problem with "0" as text
-* fixed UnfoldSubpages sortby
-* fixes for PHP5 compatibility started
-* fixed gettext, setlocale and update_locale problems
-
-1.3.4 until 1.3.7, 2002-2003 Jeff, Carsten and Steve Wainstead:
-
-* several stable releases with better documentation (most plugins) and various bugfixes.
-* EditMetaData (by MichaelVanDam) for example. (forgot what else was new)
-* Jochen Kalmbach's new UserFileManagement and UserRegistration didn't went upstream.
-  (personal uploads, ...)
-
-1.3.3 early 2002, Jeff strikes back, with the help of Carsten Klapp:
-
-* major feature enhancements:
-* Cache all output and use a clever page cache. Get rid of plugin-head.
-* new PageType class. Formatter and Search engine rewrite.
-* Validator
-* broke several older plugins: InterWikiSearch, WikiAdminSelect. broke image buttons
-* Carsten Klapp's beloved MACOSX theme, button factory and CSS wizardry in general.
-* XHTML dumps, WikiBlog as page type.
-* PluginManager and several more plugins.
-
-1.3.2 early 2002, Reini Urban strikes:
-
-* Start of external authorisation in the config, but not in code.
-* Store Preferences in the users PersonalPage (Jeff)
-* Sessions in DB, pear DB update
-* concept of Subpages, UnfoldSubpages, SiteMap, AllPages, AllUsers, ...
-* PageList (Jeff and Reini)
-* Several new plugins: RedirectTo, plugin-head architecture.
-  Normalize template names. WikiAdminSelect architecture: WikiAdminRemove
-* VisualWiki, TexToPng, text2png + several cached plugins (by Johannes Groe)
-* PhpWeather (?), PrevNext, image buttons,
-* IncludePage (Joe Edelman), FrameInclude (Reini), Transclude (Jeff)
-* Calendar (contributed by ?), CalendarList, WikiBlog, ...
-
-.... a small hole here .... (three years no detailed HISTORY. see the outline above)
-
-Jeffs Hacks.
-
-* New database API.  See =lib/WikiDB.php= and =lib/WikiDB/backend.php=
-  for the bulk of the documentation on this.  The new database can
-  save multiple archived versions of each page.  A mechanism for
-  purging archived revisions is now in place as well.  See the
-  $~ExpireParams setting in =index.php=, and =lib/~ArchiveCleaner.php=
-  for details.  At this point, the DBA, MySQL and Postgres backends
-  are functional.  The DBA backend could use some performance
-  optimization.  The whole API is still subject to some change as I
-  figure out a clean way to provide for a variety of (not all forseen)
-  methods of indexing and searching the wiki.
-
-* New WikiPlugin architecture.
-
-* New template engine.  This needs to be documented further, but, for
-  now, see =lib/Template.php=.  On second thought, don't
-  (=lib/Template.php= desperately needs refactoring, still.)  The
-  basic advance is that PHP4's =ob_*()= functions can be used to
-  capture output from code that is run through =eval().  This allows
-  the templates to be PHP code...
-
-* Edit preview button on the edit page.  Now you can see what your
-  edits look like before committing them.
-
-* Reworked the style-sheets.  I still need to clean this up some more.
-  I would appreciate comments and bug reports on it.  So far I've only
-  tested the new style sheets with Netscape 4.77 and Mozilla 0.9.3
-  (both running under Linux.)
-
-* Expanded syntax for text search, Searches like "wiki or web -page"
-  (or "(wiki or web) and not page") will now do more-or-less what they
-  look like they'll do.
-
-* Security Issues: PhpWiki will now work with PHP's =register_globals=
-  set to off.
-
-PhpWiki 1.3.x development branch.
-
-* Pagenames in =PATH_INFO=.
-
-* File uploads: see PhpWikiAdministration.
-
-* UserPreferences.
-
-* Ugly [MagicPhpWikiURLs] for administrative links.
-
-PhpWiki 1.2 is a huge advance over version 1.0:
-
-* Database support for MySQL, Postgresql, mSQL, flat file and the new
-  dba_ library in PHP4 is included.
-
-* Internationalization: support for different languages, down to the
-  source level, is included. German, Spanish, Swedish and Dutch are
-  currently shipped with PhpWiki. An architecture is in place to
-  easily add more languages.
-
-* New linking schemes using square brackets in addition to the old
-  style ~BumpyText.
-
-* Administration features include page locking, dumping the Wiki to a
-  zip file, and deleting pages.
-
-* A MostPopular page showing the most frequently hit pages.
-
-* Full HTML compliance.
-
-* Links at the bottom of pages describing relationships like incoming
-  links from other pages and their hits, outgoing and their hits, and
-  the most popular nearby pages.
-
-* Color page diffs between the current and previous version.
-
-* An info page to view page metadata.
-
-* Far more customization capability for the admin.
-
-* A templating system to separate the page HTML from the PHP code.
-
-* New markup constructs for =<B>=, =<I>=, =<DD>=, =<BR>= and more.
-
-* Tabless markup to supercede the older markup (both still supported).
-
-
-----
-
-PhpWiki 1.1.9 includes Spanish language pages, a full implementation
-for Postgresql, numerous bug fixes and more. See the =HISTORY= file
-for more info: http://phpwiki.sourceforge.net/phpwiki/HISTORY
-
-----
-
-PhpWiki 1.1.6 is a major revision of PhpWiki. The ability to have
-themes (via an easy-to-edit template system) has been added; the
-schema for MySQL has been completely overhauled, breaking the page
-details into columns (for efficiency we agreed not to put references
-in a separate table, so it's not completely normalized. "Don't let the
-best be the enemy of the good.")
-
-Postgresql support has been added and the markup language is evolving, now allowing
-
-!!!<h2>
-!!<h3>
-!<h4>
-
-tags and __a new way to make text bold__, and of course the
-[new linking scheme].
-
-There is a new feature on all pages called ''more info'' that gives
-you a low level detailed view of a page, which is probably more useful
-for debugging than anything.
-
-As we move towards a 1.2 release we will be adding logging, top ten
-most active pages and other new features with the new database schema
-(and yes, these features will make it into the DBM version too). I
-also want to add mSQL support and test it under Zend, the new PHP4.
-
-Below are the release notes for version 1.03, the last release of the
-1.0 PhpWiki series. --Steve Wainstead, mailto:swain@panix.com
-
-----
-
-PhpWiki was written because I am so interested in WikiWikiWeb~s, and I
-haven't used PHP since version 2.0. I wanted to see how it had
-advanced.
-
-Version 1.0 is a near-perfect clone of the Portland Pattern
-Repository, http://c2.com/cgi-bin/wiki?WikiWikiWeb. In truth, I was
-using the Wiki script you can download from there as a model; that
-Wiki lacks a number of features the PPR has, like EditCopy. So in
-truth PhpWiki is a kind of hybrid of the PPR and the generic Wiki you
-can get from there (which is written in Perl).
-
-The one caveat of PhpWiki is the allowance of HTML if the line is
-preceded by a bar (or pipe, which is how I usually say it). (That's a
-'=|='). It was very simple to add, and the idea came from a posting
-somewhere on the PPR about how AT&T had an internal Wiki clone and
-used the same technique. The ability to embed HTML is disabled by
-default for security reasons.
-
-Version 1.01 includes a patch that fixes a small error with rendering
-<hr> lines. Thanks to Gerry Barksdale.
-
-See the =HISTORY= file for a rundown on the whole development process
-if that sort of thing really interests you :-)
-
---SteveWainstead
-
-----
-
-PhpWikiDocumentation";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/RichTablePlugin--1 1.3.14/tests/unit/.testbox/ver_data/RichTablePlugin--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/RichTablePlugin--1	2006-06-18 06:20:04.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/RichTablePlugin--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,100 +0,0 @@
-a:6:{s:6:"author";s:10:"ReiniUrban";s:5:"mtime";s:10:"1075205974";s:9:"author_id";s:10:"ReiniUrban";s:6:"markup";s:1:"2";s:8:"pagetype";s:8:"wikitext";s:8:"%content";s:3347:"RichTablePlugin is a plugin that takes off from the OldStyleTablePlugin. It allows a user to specify arbitrary properties of <tt><table></tt>, <tt><tr></tt> and <tt><td></tt> with a very simple markup.
-
-NEW: The plugin is now fixed so that the contents of each cell are individually processed by the ~BlockParser. This means that if everything works correctly,  you can do interesting things like put *invoke plugins*, use *enumerated lists* etc within each cell!
-
-*A <tt>"-"</tt> (dash) at the start of a new line represents a new row in the table.
-*A <tt>"|"</tt> (vertical bar or pipe) at the start of a new line represents a cell.
-*Attributes for the tags
-  *A line that starts with a <tt>"*"</tt> (star or asterisk) after a <tt>"|"</tt> is parsed for attributes for the corresponding cell.
-  *Attributes for the table are given on line that starts with a <tt>"*"</tt>, only if the line appears before any other line except whitespace.
-  *A line that starts with a <tt>-</tt> is always parsed for attributes since it can't have any content, unlike a cell.
-*Cell contents
-  *Cell contents are processed by the ~BlockParser.
-  *Any line that starts with a <tt>"*"</tt> anywhere other than the table attribute line is treated as normal content.
-  *Any line that starts with whitespace is also treated as content.
-  *Any cell line that does not have a <tt>"*"</tt> after the <tt>"|"</tt> is treated as normal content.
-  *All content lines that follow a cell line are added to that cell. They can contain arbitrary text except the above cases.
-  *If there is no cell in the current row, content lines are dropped silently.
-*The two special characters <tt>"~~"</tt> and <tt>"?>"</tt> should be escaped as <tt>"\~~"</tt> and <tt>"?\>"</tt>. I havn't discovered any other characters yet that might need to be escaped. This is required for the block parser to work.
-
-Bugs:
-* The source code sucks
-* The plugin can't nest itself yet. Thus nested tables are currently not possible.
-
-Example:
-
-<?plugin RichTable
-
-*border=1, cellpadding=5, bgcolor=#f0f8f8, width=75%, align=center
--
-|* colspan=3, align=center
-HomePage
--
-|* colspan=2
-[http://phpwiki.sourceforge.net/demo/themes/default/images/png.png]
-|* rowspan=2
-This cell actually has a plugin invocation inside it!
-<?plugin
-BackLinks
-?\>
-- bgcolor=white
-|
-#One
-#Two
-|
-*Foo
-*Bar
-- bgcolor=cyan
-This line gets dropped ... no cell to contain it!
-|* bgcolor=#f0f0ff, align=center
-One paragraph
-
-Another paragraph?
-|* align=left
-This cell uses the row color
-| I wish this cell had a nested table inside it! :(
-?>
-
-The above table is rendered from:
-
-<verbatim>
-<?plugin RichTable
-
-*border=1, cellpadding=5, bgcolor=#f0f8f8, width=75%, align=center
--
-|* colspan=3, align=center
-HomePage
--
-|* colspan=2
-[http://phpwiki.sourceforge.net/demo/themes/default/images/png.png]
-|* rowspan=2
-This cell actually has a plugin invocation inside it!
-<?plugin
-BackLinks
-?\>
-- bgcolor=white
-|
-#One
-#Two
-|
-*Foo
-*Bar
-- bgcolor=cyan
-This line gets dropped ... no cell to contain it!
-|* bgcolor=#f0f0ff, align=center
-One paragraph.
-
-Another paragraph?
-|* align=left
-This cell uses the row color
-| I wish this cell had a nested table inside it! :(
-?>
-</verbatim>
-
-;__Author__: Sameer D. Sahasrabuddhe
-;__Url__: http://www.it.iitb.ac.in/~sameerds/phpwiki/index.php/RichTablePlugin
-
-
--------------
-
-PhpWikiDocumentation WikiPlugin";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/RssFeedPlugin--1 1.3.14/tests/unit/.testbox/ver_data/RssFeedPlugin--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/RssFeedPlugin--1	2006-06-18 06:20:04.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/RssFeedPlugin--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,47 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625924;s:8:"%content";s:891:"!! Synopsis
-
-A WikiPlugin to display external RSS feeds.
-
-!!  Usage
-<verbatim>
-  <?plugin RssFeed?>
-  <?plugin RssFeed url=http://somesite.tld/linktofeed.rss ?>
-</verbatim>
-
-!! Plugin Arguments
-Argument|
-  Default Value|
-    Description
-
-url|
-  (empty)|
-    RSS Feed URL
-
-feed|
-  (empty)|
-    RSS Feed Name
-
-description|
-  (empty)|
-    Description of the RSS Feed
-
-maxitem|
-  0|
-    Max. number of entries (0 = unlimited)
-
-!! Sourcecode (since v1.3.8):
-* [PhpWikiCvs:lib/plugin/RssFeed.php]
-* [PhpWikiCvs:lib/RssParser.php] _fixed for allow_url_fopen=Off_
-
-!! Examples
-
-* PhpWikiRss _feed for PhpWiki:RecentChanges_
-<verbatim>
-  <?plugin RssFeed feed=PhpWikiRss description="PhpWiki:RecentChanges"
-	           url=http://phpwiki.sourceforge.net/phpwiki/RecentChanges?format=rss ?>
-</verbatim>
-
-* [PhpWikiDemo:sidebar/]  _Example as sidebar box_
-
--------------
-PhpWikiDocumentation WikiPlugin";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/SandBox--1 1.3.14/tests/unit/.testbox/ver_data/SandBox--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/SandBox--1	2006-06-18 06:20:04.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/SandBox--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,3 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625924;s:8:"%content";s:43:"You can try out Wiki in here.
-
-Have fun :-)";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/SearchHighlight--1 1.3.14/tests/unit/.testbox/ver_data/SearchHighlight--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/SearchHighlight--1	2006-06-18 06:20:04.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/SearchHighlight--1	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625924;s:8:"%content";s:0:"";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/SearchHighlightPlugin--1 1.3.14/tests/unit/.testbox/ver_data/SearchHighlightPlugin--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/SearchHighlightPlugin--1	2006-06-18 06:20:04.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/SearchHighlightPlugin--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,14 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625924;s:8:"%content";s:398:"The SearchHighLight WikiPlugin is an internal actionpage plugin,
-which is only used internally.
-
-When someone is referred from a search engine like Google, Yahoo
-or our own fulltextsearch, the terms the user searched for are highlighted.
-See also http://wordpress.org/about/shots/1.2/plugins.png
-
-!! Plugin Arguments
-__s__: |
-  The search term
-__case_exact__:  |
-  boolean.
-__regex__:  |
-  boolean.";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/SteveWainstead--1 1.3.14/tests/unit/.testbox/ver_data/SteveWainstead--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/SteveWainstead--1	2006-06-18 06:20:04.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/SteveWainstead--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,4 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625924;s:8:"%content";s:170:"Hi. I started building this WikiWikiWeb but many others help me
-now. I'm at http://www.panix.com/~swain/.
-
-Please report bugs to mailto:phpwiki-talk@lists.sourceforge.net";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/SyntaxHighlighterPlugin--1 1.3.14/tests/unit/.testbox/ver_data/SyntaxHighlighterPlugin--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/SyntaxHighlighterPlugin--1	2006-06-18 06:20:04.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/SyntaxHighlighterPlugin--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,50 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625924;s:8:"%content";s:1055:"The ~SyntaxHighlighter plugin passes all its arguments through a C++
-highlighter called "highlight" (available at http://www.andre-simon.de/).
-
-Author: alecthomas
-
-! Arguments
-syntax |
-  (required), See http://www.andre-simon.de/doku/highlight/highlight.html
-style |
-  ~[ "ansi", "gnu", "kr", "java", "linux" ~] (required)
-color |
-  null (optional), see =highlight/themes=
-number |
-  0  (optional)
-wrap |
-  0  (optional)
-
-
-! Example
-
-<verbatim>
-<?plugin SyntaxHighlighter syntax=c style=kr color=emacs
- #include <stdio.h>
-
- int main() {
- printf("Lalala\n");
- }
-?>
-</verbatim>
-
-=>
-
-<?plugin SyntaxHighlighter syntax=c style=kr color=emacs
- #include <stdio.h>
-
- int main() {
- printf("Lalala\n");
- }
-?>
-
-I did not use beautifier, because it used up more than 8M of memory on
-my system and PHP killed it. I'm not sure whether this is a problem
-with my integration, or with beautifier itself.
-
-Fixes by Reini Urban:
-* support options: syntax, style, color.
-* php version switch
-* HIGHLIGHT_DATA_DIR, HIGHLIGHT_EXE constants
-----
-PhpWikiDocumentation WikiPlugin";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/SystemInfoPlugin--1 1.3.14/tests/unit/.testbox/ver_data/SystemInfoPlugin--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/SystemInfoPlugin--1	2006-06-18 06:20:04.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/SystemInfoPlugin--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,18 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625924;s:8:"%content";s:461:"The SystemInfoPlugin provides access to lower level system information for the platform PhpWiki is installed on.
-
-<verbatim>
- Usage:  <?plugin SystemInfo all ?>
-      or <?plugin SystemInfo pagestats cachestats discspace hitstats ?>
-      or <?plugin SystemInfo version ?>
-      or <?plugin SystemInfo current_theme ?>
-      or <?plugin SystemInfo PHPWIKI_DIR ?>
-</verbatim>
-
-Example:
-
-<?plugin SystemInfo all ?>
-
-
--------------
-
-PhpWikiDocumentation WikiPlugin";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/TemplateExample--1 1.3.14/tests/unit/.testbox/ver_data/TemplateExample--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/TemplateExample--1	2006-06-18 06:20:04.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/TemplateExample--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,25 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625924;s:8:"%content";s:653:"<noinclude>
-The following predefined variables are automatically expanded if existing:
-  pagename
-  mtime     - last modified date + time
-  ctime     - creation date + time
-  author    - last author
-  owner
-  creator   - first author
-  SERVER_URL, DATA_PATH, SCRIPT_NAME, PHPWIKI_BASE_URL and BASE_URL
-</noinclude>
-
-Title: %%title%%   Year: %%year%%
----
-* Pagename: %%pagename%%
-* Author: %%author%%
-* Last modified time: %%mtime%%
-* Created time: %%ctime%%
-* Owner: %%owner%%
-* Creator: %%creator%%
-
-* SERVER_URL: %%SERVER_URL%%
-* DATA_PATH: %%DATA_PATH%%
-* SCRIPT_NAME: %%SCRIPT_NAME%%
-* PHPWIKI_BASE_URL: %%PHPWIKI_BASE_URL%%
-* BASE_URL: %%BASE_URL%%";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/TemplatePlugin--1 1.3.14/tests/unit/.testbox/ver_data/TemplatePlugin--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/TemplatePlugin--1	2006-06-18 06:20:04.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/TemplatePlugin--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,72 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625924;s:8:"%content";s:1816:"!! Synopsis
-
-Template = Parametrized blocks.
-
-Include text from a wiki page and replace certain placeholders by parameters.
-Similiar to CreatePage with the template argument, but at run-time.
-Similiar to the mediawiki templates but not with the "|" parameter seperator.
-
-!!  Usage
-<verbatim>
-  <?plugin Template page=Templates/Footer?>
-  <?plugin Template page=Templates/Film vars="title=SomeFilm&year=1999" ?>
-  {{Templates/Film|title=SomeFilm|year=1999}}
-</verbatim>
-
-!! Plugin Arguments
-Argument|
-  Default Value|
-    Description
-
-page|
-  (empty)|
-    pagename to be included as template
-
-vars|
-  (empty)|
-    optional parameters to be expanded inside the template
-
-! Parameter expansion:
-  vars="var1=value1&var2=value2"
-
-We only support named parameters, not numbered ones as in mediawiki, and
-the placeholder is %%var%% and not {{~{var~}}} as in mediawiki.
-
-The following predefined variables are automatically expanded if existing:
-<verbatim>
-  pagename
-  mtime     - last modified date + time
-  ctime     - creation date + time
-  author    - last author
-  owner
-  creator   - first author
-  SERVER_URL, DATA_PATH, SCRIPT_NAME, PHPWIKI_BASE_URL and BASE_URL
-</verbatim>
-
-<noinclude> .. </noinclude> is stripped
-
-! In work:
-* ENABLE_MARKUP_TEMPLATE = true: (lib/InlineParser.php)
-  Support a mediawiki-style syntax extension which maps
-<verbatim>
-    {{TemplateFilm|title=Some Good Film|year=1999}}
-</verbatim>
-  to
-<verbatim>
-    <?plugin Template page=TemplateFilm vars="title=Some Good Film&year=1999" ?>
-</verbatim>
-
-!! Examples
-
-<verbatim>
-  <?plugin Template page=TemplateExample vars="title=TestTitle" ?>
-</verbatim>
-
-Standard syntax:
-  <?plugin Template page=TemplateExample vars="title=TestTitle" ?>
-
-Shorter syntax:
-  {{TemplateExample|title=TestTitle}}
-
--------------
-PhpWikiDocumentation WikiPlugin";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/TeX2pngPlugin--1 1.3.14/tests/unit/.testbox/ver_data/TeX2pngPlugin--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/TeX2pngPlugin--1	2006-06-18 06:20:04.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/TeX2pngPlugin--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,58 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625924;s:8:"%content";s:2172:"!!Synopsis
-
-WikiPlugin to display mathematical formulae in a Wiki page.
-
-!!Usage
-
-<verbatim>
-<?plugin TeX2png text="$$(a+b)^n=\sum_{k=0}^n{n\choose k}a^k b^{n-k}$$" ?>
-</verbatim>
-
-gives
-
-<?plugin TeX2png text="$$(a+b)^n=\sum_{k=0}^n{n\choose k}a^k b^{n-k}$$" ?>
-
-!!Arguments
-There is only one argument which is the text of the mathematical
-expression. This text *must be* enclosed by a dollar $ within a
-paragraph or two dollars $$ on a separate line. In the last case,
-all is centered.
-
-To write mathematical formulae, the syntax is the one
-of [LaTeX | http://www.latex-project.org].
-
-!!Caveats
-
-This plugin is only to produce readable mathematical formulae. Any
-other text is not allowed : so if an expression is not enclosed by
-dollars then it will be displayed by a red text. It is all the same
-possible to display raw text as <?plugin TeX2png text="$\textrm{\LaTeX}$" ?> by using :
-
-<verbatim>
-<?plugin TeX2png text="$\textrm{\LaTeX}$" ?>
-</verbatim>
-
-This plugin is not able to produce sophisticated mathematicals texts
-with links, cross references... For that, you can use for example
-LaTeX2html.
-
-!!Examples
-
-Some Greeks letters : <?plugin TeX2png text="$\alpha$" ?>, <?plugin TeX2png text="$\beta$" ?>, ... and a formula <?plugin TeX2png text="$\sum_{i=1}^n \frac1{i^2}=\frac{\pi^2}{6}$" ?> to test display in a paragraph.
-
-*Exercise 1* Consider the function <?plugin TeX2png text="$$f(x)=(x^2-4x+3)^{1/2}$$" ?>
-
-#Give the largest real domain for which f(x) is well defined.
-#Give a domain on which the function is one-to-one. Using this domain derive a formula for the inverse function <?plugin TeX2png text="$f^{-1}(x)$" ?>.
-#Calculate the derivative f'(x).
-
-*Exercise 2* Consider the function :
-
-<?plugin TeX2png text="$$f(x) = \int_0^x e^{-t^2}\,dt, x\in\mathbb R$$" ?>
-
-#Show that for all r > 0 :<?plugin TeX2png text="$$\frac{\pi}{2}\int_0^r t  e^{-t^2}\,dt \leq \int_0^r e^{-x^2}\,dx \int_0^r e^{-y^2}\,dy \leq \frac{\pi}{2} \int_0^{\sqrt{2} r} t e^{-t^2}\,dt$$" ?> *Help* : you can use polar coordinates.
-#Hence find the limit of <?plugin TeX2png text="$f(x)$" ?> as x tends <?plugin TeX2png text="to $\infty$" ?>.
-
------
-
-PhpWikiDocumentation WikiPlugin";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/TextFormattingRules--1 1.3.14/tests/unit/.testbox/ver_data/TextFormattingRules--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/TextFormattingRules--1	2006-06-18 06:20:04.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/TextFormattingRules--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,232 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625927;s:8:"%content";s:7689:"<?plugin CreateToc jshide||=1 with_toclink||=1 ?>
-----
-! Synopsis
-TextFormattingRules%%%
-*Emphasis:* <tt>~_</tt> for _italics_, <tt>~*</tt> for *bold*,
-<tt>~_~*</tt> for _*both*_, <tt>~=</tt> for =fixed width=.%%%
-*Lists:* <tt>~*</tt> for bullet lists, <tt>#</tt> for numbered lists,
-_Term<b>:</b>~<new-line> definition_ for definition lists.%%%
-*Preformatted text:* Enclose text in <tt>~<pre>~</pre></tt> or
-<tt>~<verbatim>~</verbatim></tt>.%%%
-*Indented text:* Indent the paragraph with whitespaces.%%%
-*References:* ~JoinCapitalizedWords or use square brackets for a
-<tt>~[page link]</tt> or URL <tt>~[~http://cool.wiki.int/]</tt>.%%%
-*Preventing linking:* Prefix with "<tt>~~</tt>":
-<tt>~~~DoNotHyperlink</tt>, name links like <tt>~[text | URL]</tt>.%%%
-*Misc:* "<tt>!</tt>", "<tt>!!</tt>", "<tt>!!!</tt>" make headings,
-"<tt>~%%%</tt>" or "<tt>~<br></tt>" makes a linebreak,
-"<tt>~----</tt>" makes a horizontal rule.%%%
-*Allowed HTML tags:* <b>b</b> <big>big</big> <i>i</i>
-<small>small</small> <tt>tt</tt> <em>em</em> <strong>strong</strong>
-<abbr>abbr</abbr> <acronym>acronym</acronym> <cite>cite</cite>
-<code>code</code> <dfn>dfn</dfn> <kbd>kbd</kbd> <samp>samp</samp>
-<var>var</var> <sup>sup</sup> <sub>sub</sub>
-
-----
-
-!!! Character Formatting
-
-* All special non-whitespace HTML characters are displayed as-is. Exceptions below.
-* See [Emphasis|TextFormattingRules#Emphasis].
-* There's no syntax for font tags or color attributes.
-* The tilde '~~' is the _Escape Character_:
-** A single tilde '~~' followed by nothing gets rendered as a single tilde. => ~
-** Two tilde '~~~~' get rendered as a single tilde. => ~~
-** A single tilde before a link ('~~http~:~/~/foo.bar') prevents linking.
-   => ~http://foo.bar
-** Two tildes before a link ('~~~~http~:~/~/foo.bar') produce a tilde
-   followed by the hyperlinked URL.
-   => ~~http://foo.bar
-** A tilde inside an URL gets removed, unless it's formatted inside
-   ~[ ~] brackets.
-   Two tildes inside an URL (without brackets) become a single tilde.
-   => [http://foo.bar/~user] or http://foo.bar/~~user
-* Special non-ascii or non-latin characters are printed as-is only if supported
-  by the native wiki CHARSET. Add such characters on a non-supported CHARSET with the RawHtmlPlugin if it is enabled by the Admin and e.g. the &#num; syntax. %%%
-  E.g. These japanese euc-jp chars '&#12363;&#12425; &#26032;&#35215;&#12506;&#12540;&#12472;' on this =<?plugin SystemInfo CHARSET?>= wiki.
-  And with the plugin: <?plugin RawHtml &#12363;&#12425; &#26032;&#35215;&#12506;&#12540;&#12472; ?> %%%
-  And this is how it should like: [http://phpwiki.sourceforge.net/demo/images/chars-releasenotes-japanese.png]
-
-!!! Paragraphs
-
-* Don't indent paragraphs
-* Words wrap and fill as needed
-* Use blank lines as separators
-* Four or more minus signs make a horizontal rule
-* =~%%%= or =~<br>= makes a linebreak (in headings and lists too)
-
-
-!!! Lists
-
-* asterisk for first level
-  * indented asterisk (indent at least two spaces) for second level, etc.
-* Use <tt>~*</tt>, <tt>-</tt>, <tt>+</tt> or <tt>o</tt> for bullet
-  lists, <tt>#</tt> for numbered lists (mix at will)
-* Definition lists:
-  <pre>
-  Term:
-    definition
-  </pre>
-  gives
-  Term:
-    definition
-  as in the =<DL><DT><DD>= list
-* Items may contain multiple paragraphs and other multi-lined content,
-  just indent the items
-
-
-!!! Headings
-
-* '=!=' at the start of a line makes a small heading
-* '=!!=' at the start of a line makes a medium heading
-* '=!!!=' at the start of a line makes a large heading
-
-
-!!! Preformatted text
-
-* Place preformatted lines inside =~<pre>=:
-  <verbatim>
-  <pre>
-  Preformatted text. WikiLinks still work.
-  </pre>
-  </verbatim>
-  gives
-  <pre>
-  Preformatted text. WikiLinks still work.
-  </pre>
-* If you want text with no Wiki interaction, use the =~<verbatim>= tag:
-  <pre>
-  <verbatim>
-  Preformatted text. ~WikiLinks do not work.
-  </verbatim>
-  </pre>
-  gives
-  <verbatim>
-  Preformatted text. WikiLinks do not work.
-  </verbatim>
-
-
-!!!Indented Paragraphs
-
-* Two or more whitespaces signal indented text. Indents may be nested.
-
-    This is an indented block of text.
-
-      This block is even more indented.
-
-* E-mail style block-quoting is supported as well:
-  <pre>
-  > This is block-quoted text.
-  </pre>
-  renders as
-
-  > This is block-quoted text.
-
-
-!!! Emphasis
-
-* Use an underscore (<tt>~_</tt>) for emphasis (usually _italics_)
-* Use an asterisk (<tt>~*</tt>) for strong emphasis (usually *bold*)
-* Mix them at will: *_bold italics_*
-* _Emphasis_ can be used _multiple_ times within a paragraph, but
-  _cannot_ cross paragraph boundaries:
-
-  _this
-
-  will not work_
-
-!!! References
-
-* Hyperlinks to other pages within the Wiki are made by placing the
-  page name in square brackets: [this is a page link] or
-  UsingWikiWords (preferred)
-* Hyperlinks to external pages are done like this:
-  [http://www.wcsb.org/]
-* You can name the links by providing a name, a bar (|) and then the
-  hyperlink or pagename:
-  [PhpWiki home page | http://phpwiki.sourceforge.net/] ---
-  [the front page | HomePage]
-* You can suppress linking to old-style references and URIs by
-  preceding the word with a '<tt>~~</tt>', e.g. ~NotLinkedAsWikiName,
-  ~http://not.linked.to/
-* Also, the old way of linking URL's is still supported: precede URLs
-  with "<tt>http:</tt>", "<tt>ftp:</tt>" or "<tt>mailto:</tt>" to
-  create links automatically as in: http://c2.com/
-* URLs ending with =.png=, =.gif=, or =.jpg= are inlined if in square
-  brackets, by themselves:
-  [http://phpwiki.sourceforge.net/demo/themes/default/images/png.png]
-* In-page #[hyperlinks] are made by placing a named anchor and
-  referring to the anchor in a hyperlink:
-  * Named anchors:
-    * <tt>~#~[foo]</tt>: An anchor around the text "foo" with id
-      "foo".
-    * <tt>~#~[|foo]</tt>: An empty anchor with id "foo".
-    * <tt>~#~[howdy|foo]</tt>: An anchor around the text "howdy" with
-      id "foo".
-  * References to name anchors are made thusly:%%%
-    <tt>~[~#[#hyperlinks]]</tt>, <tt>~[~OtherPage#foo]</tt>,
-    <tt>~[named|~OtherPage#foo]</tt>.
-
-
-!!! Tables
-
-* Definition list style tables are written just like definition lists,
-  except that you replace the trailing colon on the term with a "pipe"
-  (<tt>|</tt>).
-
-  <pre>
-  Term 1 |
-     Definition 1 begins here.
-     Term 1.1 |
-        Definition 1.1
-     Term 1.2 |
-        Definition 1.2
-     This is part of definition 1.
-  Term 2 |
-     Here's definition 2.
-  </pre>
-
-  Term 1 |
-     Definition 1 begins here.
-     Term 1.1 |
-        Definition 1.1
-     Term 1.2 |
-        Definition 1.2
-     This is part of definition 1.
-  Term 2 |
-     Here's definition 2.
-
-* Old-style tables are supported through the OldStyleTablePlugin:
-
-!!! HTML Mark-Up Language
-
-* Some in-line markup is allowed through the use of HTML tags:
-  <b>b</b>, <big>big</big>, <i>i</i>, <small>small</small>,
-  <tt>tt</tt>, <em>em</em>, <strong>strong</strong>,
-  <abbr>abbr</abbr>, <acronym>acronym</acronym>, <cite>cite</cite>,
-  <code>code</code>, <dfn>dfn</dfn>, <kbd>kbd</kbd>,
-  <samp>samp</samp>, <var>var</var>, <sup>sup</sup> and <sub>sub</sub>
-* < and > are themselves
-* The & characters will not work
-
-!!! Creating various kinds of special links
-
-* See [MagicPhpWikiURLs] for gory details on how to write various kind
-  of wiki maintenance and other special links.
-
-!!! Inserting plugins
-
-* Several plugins permit embedding additional functionality to Wiki
-  pages. For example,
-  <verbatim>
-  <?plugin BackLinks page=HomePage info=hits ?>
-  </verbatim>
-  gives
-  <?plugin BackLinks page=HomePage info=hits ?>
-
-* For more information on plugins see WikiPlugin, and PluginManager for a list of all
-  plugins.
-
-----
-
-PhpWikiDocumentation";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/TitleSearch--1 1.3.14/tests/unit/.testbox/ver_data/TitleSearch--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/TitleSearch--1	2006-06-18 06:20:04.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/TitleSearch--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,25 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625927;s:8:"%content";s:697:"<?plugin TitleSearch ?>
-
-----
-
-Additional Searches:
-<?plugin WikiFormRich action=TitleSearch method=GET nobr=1 class=wikiaction
-  editbox[] name=s text=""
-  submit[]
-  checkbox[] name=case_exact
-  pulldown[] name=regex value="auto,none,glob,posix,pcre,sql" ?>
-
-<?plugin WikiFormRich action=FullTextSearch method=GET nobr=1 class=wikiaction
-  editbox[] name=s text=""
-  submit[]
-  checkbox[] name=case_exact
-  pulldown[] name=regex value="auto,none,glob,posix,pcre,sql" ?>
-
-<?plugin WikiFormRich action=FuzzyPages method=GET nobr=1 class=wikiaction
-  editbox[] name=s text=""
-  submit[]
-  checkbox[] name=case_exact ?>
-
-----
-
-<?plugin IncludePage page=FindPage quiet=1 section=Tips sectionhead=1 ?>";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/TranscludePlugin--1 1.3.14/tests/unit/.testbox/ver_data/TranscludePlugin--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/TranscludePlugin--1	2006-06-18 06:20:04.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/TranscludePlugin--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,38 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625927;s:8:"%content";s:1253:"The TranscludePlugin can be used to embed include whole (external) web
-pages within a wiki page.
-
-! Plugin Arguments
-
-=src= |
-  The URL of the page to transclude
-=height= |
-  The (initial) height of the transclusion frame.
-  If, possible, after the transcluded page is loaded,
-  the frame is resized via javascript so that it
-  fits the entire transcluded page.  (See below for more.)
-
-! Bugs / Caveats
-
-o Pages are transcluded using =<iframe>= tags.  Older browsers do not
-  support ''iframe''s.  In that case the user will be presented with a
-  link to the trancluded material.
-
-o When possible, JavaScript code is used to adjust the height of the
-  _iframe_ so that it fits the entire transcluded page.
-  Unfortunately, this seems possible only when the transcluded page
-  comes from the same server as the wiki page.  (This restriction is
-  due to security checks built in to the JavaScript language.)
-
-o The recursion detection code does not currently work.  Be careful to
-  avoid recursive transclusions, or you'll be sorry (or at least
-  amused.)
-
-! Example
-
-<verbatim>
-<?plugin Transclude src="http://phpwiki.sourceforge.net/demo/ChangeLog" ?>
-</verbatim>
-
-will get you
-
-<?plugin Transclude src="http://phpwiki.sourceforge.net/demo/ChangeLog" ?>";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/TranslateText--1 1.3.14/tests/unit/.testbox/ver_data/TranslateText--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/TranslateText--1	2006-06-18 06:20:04.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/TranslateText--1	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625927;s:8:"%content";s:25:"<?plugin TranslateText ?>";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/UnfoldSubpagesPlugin--1 1.3.14/tests/unit/.testbox/ver_data/UnfoldSubpagesPlugin--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/UnfoldSubpagesPlugin--1	2006-06-18 06:20:04.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/UnfoldSubpagesPlugin--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,60 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625927;s:8:"%content";s:2189:"The ~UnfoldSubpages WikiPlugin is used to display all or some subpages
-of the current or a given page.  This gives a overview for a
-WikiBlogPlugin, CalendarPlugin or similar subpages.
-
-Warning: Don't use it with subpages with non-existant sections!
-The section extractor is currently quite unstable.
-
-! Usage:
-<verbatim>
-     <?plugin UnfoldSubpages ?>
-  or <?plugin UnfoldSubpages sortby=-mtime words=50 maxpages=5 ?>
-  or <?plugin UnfoldSubpages quiet=1 smalltitle=1 ?>
-  or <?plugin UnfoldSubpages sections=2 words=100 ?>
-  or <?plugin UnfoldSubpages lines=3 ?>
-  or <?plugin UnfoldSubpages pagename="PhpWikiAdministration"
-              section="Plugin Arguments" sectionhead=1 ?>
-</verbatim>
-
-!! Plugin Arguments:
-<strong>pagename</strong>:
-  Any pagename or if empty the current page. Default: ""
-<strong>quiet</strong>:
-  Print no header.  Default: false
-<strong>sortby</strong>:
-  Sort by + (ASC) or - (DESC) and one column.
-  Multiple columns like sortby="-hits,-mtime" not yet supported.
-  Supported columns: ~[+|-]pagename, ~[+|-]mtime, ~[+|-]hits.
-  Default: "pagename"
-<strong>maxpages</strong>:
-  Maximum number of pages to include or all if not defined.
-  Default: false
-<strong>sections</strong>:
-  Maximum number of sections per page to include or all if not defined.
-  Default: false
-<strong>section</strong>:
-  Include this named section per page only if defined. Default: ""
-<strong>sectionhead</strong>:
-  When including a named section show the heading. Default: false
-<strong>smalltitle</strong>:
-  If set, hide transclusion-title, just have a small link at the start of
-  the page. Default: false
-<strong>words</strong>:
-  Maximum number of words per page to include. Default: false
-<strong>lines</strong>:
-  Maximum number of lines per page to include. Default: false
-<strong>bytes</strong>:
-  Maximum number of bytes per page to include. Default: false
-
-! Deprecated Arguments:
-<strong>pages</strong>:
-  deprecated. renamed to maxpages.
-<strong>sort</strong>:
-  'asc' or 'desc'. deprecated: use "+" or "-" before the column name with sortby.
-
-! Example:
-<?plugin UnfoldSubpages pagename=PgsrcTranslation limit=20 ?>
-
--------------
-
-PhpWikiDocumentation WikiPlugin";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/UpLoad--1 1.3.14/tests/unit/.testbox/ver_data/UpLoad--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/UpLoad--1	2006-06-18 06:20:04.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/UpLoad--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,4 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625927;s:8:"%content";s:114:"__Upload a file which will be accessible by prefixing the filename with "Upload~:".__
-----
-<?plugin UpLoad ?>
-----";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/UpLoadPlugin--1 1.3.14/tests/unit/.testbox/ver_data/UpLoadPlugin--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/UpLoadPlugin--1	2006-06-18 06:20:04.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/UpLoadPlugin--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,41 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625927;s:8:"%content";s:1453:"The UpLoad WikiPlugin displays an editbox and two buttons.
-The first button let's you choose the file to be uploaded at your local filesystem.
-The textvalue of this button is localised from your browser.
-The second "Upload" button actually uploads the given filename to the upload directory.
-This directory is not browsable, any file there may be accessed by using the "Upload~:"
-InterWikiMap prefix to the given filename. This way you can easily inline uploaded images.
-See PhpWiki:InlineUploadedImages
-
-! Usage:
-<verbatim>
-     <?plugin UpLoad ?>
-</verbatim>
-
-!! Plugin Arguments:
-__logfile__:
-  local path. Default: "phpwiki-upload.log"
-  The format is currently HTML - a new <tr> row per entry - and not log file syntax.
-__autolink__:
-  Add the uploaded filename to the list of uploaded files at the page.
-  Default: true
-__page__:
-  The page where the uploaded files are publicly listed, if autolink is true.
-  Default: current page.
-
-! Conflicts:
-
-# The user must be authenticated to be able to upload.
-# The filename may not end with certain disallowed extensions, to prevent from abuse.
-# MAX_FILE_SITE is configured by the config.ini option MAX_UPLOAD_SIZE, which defaults to 16MB.
-  Your webserver and php may add another limit.
-# Already existing uploaded files are NOT overwritten.
-# Certain internal php problems for Windows and MacOSX have been fixed with 1.3.9.
-
-----
-
-! Example:
-<?plugin UpLoad ?>
-
------
-
-PhpWikiDocumentation WikiPlugin";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/UserPreferences--1 1.3.14/tests/unit/.testbox/ver_data/UserPreferences--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/UserPreferences--1	2006-06-18 06:20:04.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/UserPreferences--1	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625927;s:8:"%content";s:26:"<?plugin UserPreferences?>";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/WabiSabi--1 1.3.14/tests/unit/.testbox/ver_data/WabiSabi--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/WabiSabi--1	2006-06-18 06:20:04.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/WabiSabi--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,49 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625927;s:8:"%content";s:1782:"Since wabi-sabi represents a comprehensive Japanese world view or
-aesthetic system, it is difficult to explain precisely in western
-terms.  According to Leonard Koren, wabi-sabi is the most conspicuous
-and characteristic feature of what we think of as traditional Japanese
-beauty and it ''"occupies roughly the same position in the Japanese
-pantheon of aesthetic values as do the Greek ideals of beauty and
-perfection in the West."''
-
-_"Wabi-sabi is a beauty of things imperfect, impermanent, and_
-_incomplete._
-
-_"It is the beauty of things modest and humble._
-
-_"It is the beauty of things unconventional."_
-
-(quoted from "[WABI-SABI: FOR ARTISTS,DESIGNERS, POETS & PHILOSOPHERS | http://www.amazon.com/exec/obidos/tg/detail/-/1880656124/qid=1054098290/sr=1-1/ref=sr_1_1/104-9834820-5562358?v=glance&s=books]," 1994, Leonard Koren)
-
-The concepts of wabi-sabi correlate with the concepts of Zen Buddhism,
-as the first Japanese involved with wabi-sabi were tea masters,
-priests, and monks who practiced Zen. Zen Buddhism originated in
-India, traveled to China in the 6th century, and was first introduced
-in Japan around the 12th century. Zen emphasizes ''"direct, intuitive
-insight into transcendental truth beyond all intellectual
-conception."'' At the core of wabi- sabi is the importance of
-transcending ways of looking and thinking about things/existence.
-
-* All things are impermanent
-* All things are imperfect
-* All things are incomplete
-
-
-(also taken from WABI-SABI: FOR ARTISTS,DESIGNERS, POETS & PHILOSOPHERS, 1994, Leonard Koren):
-
-_Material characteristics of wabi-sabi:_
-
-* _suggestion of natural process_
-* _irregular_
-* _intimate_
-* _unpretentious_
-* _earthy_
-* _simple_
-
-
-
-For more about wabi-sabi, see [http://c2.com/cgi/wiki?WabiSabi].
-
-----
-
-PhpWikiDocumentation";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/WantedPages--1 1.3.14/tests/unit/.testbox/ver_data/WantedPages--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/WantedPages--1	2006-06-18 06:20:05.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/WantedPages--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,12 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625928;s:8:"%content";s:481:"Here is a list of pages that have been cited on this wiki but are not
-yet written. Although they appear to be wanted, they may be
-misspellings of existing pages or pages too trivial to merit creation.
-
-The best course of action for these pages isn't necessarily to create
-a page. Often, it is better to change the references so they are no
-longer ~WikiNames. Where applicable, you can just change the case, add
-spaces or insert an escape character ~~.
-
-----
-
-<?plugin WantedPages?>";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/WhoIsOnline--1 1.3.14/tests/unit/.testbox/ver_data/WhoIsOnline--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/WhoIsOnline--1	2006-06-18 06:20:05.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/WhoIsOnline--1	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625928;s:8:"%content";s:38:"<?plugin WhoIsOnline allow_detail=1 ?>";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/WikiAdminSelect--1 1.3.14/tests/unit/.testbox/ver_data/WikiAdminSelect--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/WikiAdminSelect--1	2006-06-18 06:20:05.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/WikiAdminSelect--1	1969-12-31 18:00:00.000000000 -0600
@@ -1 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625928;s:8:"%content";s:35:"<?plugin WikiAdminSelect s||="*" ?>";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/WikiBlogPlugin--1 1.3.14/tests/unit/.testbox/ver_data/WikiBlogPlugin--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/WikiBlogPlugin--1	2006-06-18 06:20:05.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/WikiBlogPlugin--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,8 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625928;s:8:"%content";s:218:"This simple plugin allows blog-style entries on a page. Try making a few entries, and then look at RecentChanges to get an idea of how things work.
-
-<?plugin WikiBlog ?>
-
-
--------------
-
-PhpWikiDocumentation WikiPlugin";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/WikiPlugin--1 1.3.14/tests/unit/.testbox/ver_data/WikiPlugin--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/WikiPlugin--1	2006-06-18 06:20:05.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/WikiPlugin--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,173 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625928;s:8:"%content";s:6252:"Since PhpWiki-1.3.3 support for ~WikiPlugins is included.
-
-A plugin is some PHP code that
-
-* lives in =phpwiki/lib/plugin/<pluginname>.php=
-* implements the ~WikiPlugin interface by extending that class.
-
-There are many plugins already distributed with PhpWiki. Simply look in the =lib/plugin=
-directory or see the PluginManager list.
-
-To write your own, look at the HelloWorldPlugin (~HelloWorld.php in that directory),
-which is a minimal example of a plugin.
-Publish your self-written plugin at a new PhpWiki page with ~PluginName + *Plugin* appended
-and add a link to [CategoryContributedPlugin | PhpWiki:CategoryContributedPlugin].
-
-A WikiPlugin allows one to easily add new types of dynamic content
-(as well as other functionality) to wiki pages within PhpWiki.
-In this very wiki all actions which are not entirely lowercased
-are implemented using plugins, and some lowercased convenience actions also. (rename, revert, setacl, diff, ...)
-
-(The old-style [MagicPhpWikiURLs] have been replaced by plugins entirely.)
-
-!!!Example
-
-Currently, one invokes a plugin by putting something like:
-
-<verbatim>
-<?plugin AllPages limit=5?>
-</verbatim>
-
-into a regular wiki-page.  That particular example produces a list of
-the first 5 existing pages (via the ~PageList library).
-
-<?plugin AllPages limit=5 ?>
-
-!!!Details
-
-Plugins can take certain named arguments (most do).  The values of
-these arguments can be determined four different ways.  In order of
-precedence:
-
-# The plugin invocation can specify the value for an argument, like so:
-  <verbatim>
-  <?plugin BackLinks page=OtherPage ?>
-  </verbatim>
-
-# The argument can be specified via an HTTP query argument.  This
-  doesn't happen (is not allowed) unless the argument is mentioned in
-  the plugin invocation:
-
-  <verbatim>
-  <?plugin BackLinks page ?>
-  </verbatim>
-
-# Default values specified in the plugin invocation:
-
-  <verbatim>
-  <?plugin BackLinks page||=OtherPage ?>
-  </verbatim>
-
-# The plugin must supply default values for each argument it uses.
-  Such default args may be overriden by URL arguments like so:
-  <verbatim>
-    BackLinks?page=ThisPage&sortby=-mtime
-  </verbatim>
-  (The BackLinks plugin uses the current page as the default value for
-  the ''page'' argument.)
-
-  Most plugins using the ~PageListLibrary inherit their default arguments
-  from the PhpWiki:PageListLibrary.
-
-!! Standard Arguments
-
-Most plugins display a list of pages, via the ~PageListLibrary.
-~PageList provides automatic support for those arguments.
-
-  info, exclude, author, owner, creator, sortby, limit, paging, cols, azhead,
-  comma, commasep, ordered
-
-  For details see the PhpWiki:PageListLibrary documentation.
-
-*exclude* and *pages* accept a list of pages. Either as comma-seperated list,
-supporting glob-style wildcards, or via the <tt><!plugin-list pluginname ~[args~] !></tt>
-invocation syntax, where pluginname might be any plugin returning a pagelist.
-See PhpWiki:PluginList.
-
-!! Basic Plugin Types
-
-All these plugins derive from the WikiPlugin class extending the run method,
-which returns a object tree of HTML objects, and may react on any
-provided arguments from the ~WikiPage (see the args below) or
-optionally overridden by arguments from the url (GET or POST args),
-if defined via '||='.
-
-A basic plugin just needs the run() method, and optionally getName,
-getDescription, getVersion, getDefaultArguments. See the HelloWorldPlugin for a short introduction.
-
-  *plugin* reacts on its arguments and the request and displays arbitrary HTML.
-
-  *plugin-form* is used to display a input type=text box for the default argument *s*.
-
-  *plugin-list* is used as argument to provide a dynamic list of pagenames.
-
-  <verbatim>
-    <?plugin PluginName [args...] ?>
-  </verbatim>
-
-  <verbatim>
-    <?plugin-form PluginName [args...] ?>
-  </verbatim>
-
-  <verbatim>
-    <?plugin PluginName args=<!plugin-list pluginname [args] !> ?>
-  </verbatim>
-
-! The box Method
-
-Themes based on the "sidebar" theme may use the box method of any plugin, which displays a *title*
-and a condensed *content* in a box.
-
-! ~WikiPluginCached
-
-Plugins deriving from the class ~WikiPluginCached must also define the methods getPluginType(),
-optionally getExpire(), managesValidators(), and dependent of the getPluginType the methods
-to display the *possibly cached* result.
-
-  getImage(), getMap() or getHtml(),
-
-optionally also
-
-  getAlt(), getImageType(), embedMap(), embedImg(), embedObject()
-
-See the config.ini PLUGIN_CACHED_* settings and PhpWiki:WikiPluginCached
-
-!! Action Pages
-
-The term *~ActionPage* refers to a page containing a plugin invocation.
-An *action* is together with the *pagename* argument the a basic PhpWiki argument.
-It can both be GET or POST actions. Actions are untranslated, always english.
-Basic (and old) actions are all lowercase, like edit, browse, remove, ...
-Newer actions in PhpWiki:CamelCase are invoked via plugins on their specific action page.
-
-We decoupled actions from plugins via action pages for the following reasons:
-
-# support translated action buttons and customizable action descriptions.
-# customize standard actions by tuning the plugin invocation arguments. override or add plugin defaults.
-# split simple plugins into multiple actions, like RecentChanges/RecentEdits, MostPopular/LeastPopular,
-  AllPages/AllPagesCreatedByMe/AllPagesLastEditedByMe/AllPagesOwnedByMe which differ only in one argument.
-
-* Those actions which have buttons or links in the theme or are referenced in the standard pgsrc
-  pageset require their (possibly localized) actionpages, otherwise the actions will not work.
-* If the localized actionpage is not found the english version is used.
-* If no actionpage is found, it is recommended to do action=upgrade, which imports all missing
-  and required action pages into the database.
-
-So for a hypothetical new ~MyActionPage plugin ~MyActionPage will invoke the plugin and
-~MyActionPagePlugin is the the description.
-
-!!! Existing Plugins
-
-See PluginManager for a detailed list. Most plugins should have their own description page with the name
-*Plugin* appended.
-
-<?plugin BackLinks noheader=1 ?>
-
-!!! Contributed Plugins
-
-See PhpWiki:CategoryContributedPlugin.
-
-<?plugin Backlinks page=CategoryContributedPlugin ?>
-
------
-PhpWikiDocumentation";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/.testbox/ver_data/WikiWikiWeb--1 1.3.14/tests/unit/.testbox/ver_data/WikiWikiWeb--1
--- 1.3.12p3/tests/unit/.testbox/ver_data/WikiWikiWeb--1	2006-06-18 06:20:05.000000000 -0500
+++ 1.3.14/tests/unit/.testbox/ver_data/WikiWikiWeb--1	1969-12-31 18:00:00.000000000 -0600
@@ -1,24 +0,0 @@
-a:6:{s:6:"markup";s:1:"2";s:6:"author";s:6:"a_user";s:9:"author_id";s:6:"a_user";s:8:"pagetype";s:8:"wikitext";s:5:"mtime";i:1150625928;s:8:"%content";s:823:"A WikiWikiWeb is a site where everyone can collaborate on the
-content. The most well-known and widely used Wiki is the Portland
-Pattern Repository at http://c2.com/cgi-bin/wiki?WikiWikiWeb.
-
-You and I will find these statements there particularly relevant:
-
-''The point is to make the EditText form simple and the FindPage
-search fast.''
-
-''In addition to being quick, this site also aspires to Zen ideals
-generally labeled WabiSabi. Zen finds beauty in the imperfect and
-ephemeral. When it comes down to it, that's all you need.''
-
-''The Universe tends toward chaos. The Universe tends toward Wiki.''
-
-You can say hello on RecentVisitors, or read about HowToUseWiki and
-AddingPages. Currently this Wiki has no theme for discussion, so go
-ahead and play with it and have fun!!
-
---SteveWainstead.
-
-----
-
-PhpWikiDocumentation";}
\ No newline at end of file
diff -ruN 1.3.12p3/tests/unit/test.php 1.3.14/tests/unit/test.php
--- 1.3.12p3/tests/unit/test.php	2006-06-18 06:20:06.000000000 -0500
+++ 1.3.14/tests/unit/test.php	2007-07-01 05:11:28.000000000 -0500
@@ -82,6 +82,7 @@
 // available database backends to test:
 $database_backends = array(
                            'file',
+                           'flatfile', // not yet committed
                            'dba',
                            'SQL',   // default backend defined in the config.ini DSN
                            'ADODB', // same backend as defined in the config.ini DSN
@@ -99,7 +100,7 @@
 //TODO: convert cvs test                           
 // For "cvs" see the seperate tests/unit_test_backend_cvs.php (cvs is experimental)
 //TODO: read some database values from config.ini, just use the "test_" prefix
-// "flatfile" testing occurs in "tests/unit/.testbox/"
+// "flatfile" testing occurs in "tests/unit/.testbox/flatfile"
 // "dba" needs the DATABASE_DBA_HANDLER, also in the .textbox directory
 //$database_dba_handler = (substr(PHP_OS,0,3) == 'WIN') ? "db3" : "gdbm";
 // "SQL" and "ADODB" need delete permissions to the test db
@@ -204,6 +205,7 @@
     $dir = $DBParams['directory'];
     switch ($DBParams['dbtype']) {
     case 'file':
+    case 'flatfile':
         assert(!empty($dir));
         foreach (array('latest_ver','links','page_data','ver_data') as $d) {
             purge_dir("$dir/$d");
@@ -212,7 +214,7 @@
     case 'SQL':
     case 'ADODB':
     case 'PDO':
-        foreach ($dbi->_backend->_table_names as $table) {
+        foreach (array_reverse($dbi->_backend->_table_names) as $table) {
             $dbi->genericSqlQuery("DELETE FROM $table");
         }
         break;
@@ -242,22 +244,27 @@
 
     $form = HTML();
     $option = HTML::div(array('class' => 'option'), 
-                        HTML::span(array('style'=>'font-weight: bold','onDblClick'=>'flipAll(\'test[\')'), 'test: '),
+                        HTML::span(array('title' => 'doubleclick to (un)select all', 'style'=>'font-weight: bold; padding: 1px; border: 2px outset;','onDblClick'=>'flipAll(\'test[\')'), 
+                                   ' test: '),
                         HTML::br());
+    $i = 0;
     foreach ($GLOBALS['alltests'] as $s) {
-        $input = array('type' => 'checkbox', 'name' => 'test['.$s.']', 'value' => '1');
+        $id = preg_replace("/\W/", "", $s) . $i++;
+        $input = array('type' => 'checkbox', 'name' => 'test['.$s.']', 'value' => '1', 'id' => $id);
         if (in_array($s,$GLOBALS['runtests'])) $input['checked'] = 'checked';
-        $option->pushContent(HTML::input($input), $s, HTML::br());
+        $option->pushContent(HTML::input($input), HTML::label(array('for' => $id), $s), HTML::br());
     }
     $form->pushContent(HTML::td($option));
 
     $option = HTML::div(array('class' => 'option'), 
-                        HTML::span(array('style'=>'font-weight: bold','onDblClick'=>'flipAll(\'db[\')'), 'db: '),
+                        HTML::span(array('title' => 'doubleclick to (un)select all', 'style'=>'font-weight: bold; padding: 1px; border: 2px outset;', 'onDblClick'=>'flipAll(\'db[\')'), 
+                                   ' db: '),
                         HTML::br());
     foreach ($GLOBALS['database_backends'] as $s) {
-        $input = array('type' => 'checkbox', 'name' => 'db['.$s.']', 'value' => '1');
+        $id = preg_replace("/\W/", "", $s) . $i++;
+        $input = array('type' => 'checkbox', 'name' => 'db['.$s.']', 'value' => '1', 'id' => $id);
         if (in_array($s,$GLOBALS['run_database_backends'])) $input['checked'] = 'checked';
-        $option->pushContent(HTML::input($input), $s, HTML::br());
+        $option->pushContent(HTML::input($input), HTML::label(array('for' => $id), $s), HTML::br());
     }
     $form->pushContent(HTML::td($option));
 
@@ -296,9 +303,9 @@
    }
 }");
     $option = HTML::div(array('class' => 'option'),
-                        HTML::span(array('style'=>'font-weight: bold',
+                        HTML::span(array('title' => 'doubleclick to (un)select all', 'style'=>'font-weight: bold; padding: 1px; border: 2px outset;',
                                          'onDblClick'=>'flipAll(\'_debug[\')'), 
-                                   'debug: '),
+                                   ' debug: '),' ',
                         HTML::input(array('name'=>'debug','id'=>'debug',
                                           'value'=>$debug_level,'size'=>5)),
                         HTML::br());
@@ -310,16 +317,18 @@
                    'APD' 	=> 32,
                    'LOGIN' 	=> 64,
                    'SQL' 	=> 128,
+                   'REMOTE' 	=> 256,
                    ) as $s => $v) {
-        $input = array('type' => 'checkbox', 'name' => '_debug[]', 'value' => $v, 
+        $id = preg_replace("/\W/", "", $s) . $i++;
+        $input = array('type' => 'checkbox', 'name' => '_debug[]', 'value' => $v, 'id' => $id,
                        'onClick' => 'updateDebugEdit(this.form)');
         if ($debug_level & $v) $input['checked'] = 'checked';
-        $option->pushContent(HTML::input($input), "_DEBUG_".$s, HTML::br());
+        $option->pushContent(HTML::input($input), HTML::label(array('for' => $id), "_DEBUG_".$s), HTML::br());
     }
     $form->pushContent(HTML::td($option));
 
     $option = HTML::div(array('class' => 'option'), 
-                        HTML::span(array('style'=>'font-weight: bold'), "level: "),
+                        HTML::span(array('style'=>'font-weight: bold;'), "level: "),
                         HTML::input(array('name'=>'level','id'=>'level',
                                           'value'=>$user_level,'size'=>5)),
                         HTML::br());
@@ -330,10 +339,11 @@
                    'ADMIN' 	=> 10,
                    'UNOBTAINABLE'=> 100,
                    ) as $s => $v) {
-        $input = array('type' => 'radio', 'name' => '_level[]', 'value' => $v,
+        $id = preg_replace("/\W/", "", $s) . $i++;
+        $input = array('type' => 'radio', 'name' => '_level[]', 'value' => $v, 'id' => $id,
                        'onClick' => 'updateLevelEdit(this.form)');
         if ($user_level & $v) $input['checked'] = 'checked';
-        $option->pushContent(HTML::input($input), "WIKIAUTH_".$s, HTML::br());
+        $option->pushContent(HTML::input($input), HTML::label(array('for' => $id), "WIKIAUTH_".$s), HTML::br());
     }
     $form->pushContent(HTML::td($option));
 
@@ -343,7 +353,7 @@
       foreach ($GLOBALS['define'] as $s) {
         if (defined($s)) {
             $input = array('type' => 'edit', 'name' => $s, 'value' => constant($s));
-            $option->pushContent(HTML::input($input), $s, HTML::br());
+            $option->pushContent(HTML::input($input), HTML::label(array('for' => $id), $s), HTML::br());
         }
     }
     if (!empty($input))
@@ -381,12 +391,15 @@
 $user_level  = 1; // BOGO (conflicts with RateIt)
 // use argv (from cli) or tests (from browser) params to run only certain tests
 // avoid pear: Console::Getopt
-$alltests = array('InlineParserTest','HtmlParserTest',
-                  'PageListTest','ListPagesTest',
+$alltests = array(/* valid tests without clean virgin setup */
+                  'InlineParserTest','HtmlParserTest',
+                  'PageListTest','ListPagesTest','XmlRpcTest',
+                  /* virgin setup */
                   'SetupWiki',
+                  /* valid tests only with clean virgin setup */
                   'AllPagesTest','AllUsersTest','OrphanedPagesTest',
-                  'WantedPagesTest',
-                  'TextSearchTest','IncludePageTest',
+                  'WantedPagesTest','TextSearchTest','IncludePageTest',
+                  /* final tests which require all valid pages and consumes > 32MB */
                   'DumpHtml');
 // support db=file db=dba test=SetupWiki test=DumpHtml debug=num -dconstant=value
 // or  db=file,dba test=SetupWiki,DumpHtml debug=num -dconstant=value
@@ -593,7 +606,14 @@
 	$DBParams['dsn'] = preg_replace("/^([^:]+):/", substr($dbtype, 4).":", $DBParams['dsn']);
         echo "dsn: ",$DBParams['dsn'],"\n";
     }
+    // sqlite fix: 
+    if (preg_match('/sqlite$/', $dbtype)) {
+	$DBParams['dsn'] = preg_replace("/127\.0\.0\.1/", '', $DBParams['dsn']);
+        echo "dsn: ",$DBParams['dsn'],"\n";
+    }
     $DBParams['directory']            = $cur_dir . '/.testbox';
+    if ($dbtype == 'flatfile')
+        $DBParams['directory']        = $cur_dir . '/.testbox/flatfile';
     $DBParams['prefix']               = $database_prefix;
     // from config.ini
     //$DBParams['dba_handler']          = $database_dba_handler;
@@ -639,6 +659,23 @@
 if (isset($HTTP_SERVER_VARS['REQUEST_METHOD']))
     echo "</pre>\n";
 
+// $Log: test.php,v $
+// Revision 1.47  2007/01/21 23:31:18  rurban
+// Add XmlRpcTest
+//
+// Revision 1.46  2007/01/21 12:26:38  rurban
+// Improve UI (label, button)
+//
+// Revision 1.45  2007/01/04 16:48:15  rurban
+// Do sqlite
+//
+// Revision 1.44  2006/12/23 11:44:56  rurban
+// deal with strict references and the order of deletion
+//
+// Revision 1.43  2006/06/05 09:35:02  rurban
+// add experimental backend flatfile, minor fixes
+//
+
 // (c-file-style: "gnu")
 // Local Variables:
 // mode: php
@@ -647,4 +684,4 @@
 // c-hanging-comment-ender-p: nil
 // indent-tabs-mode: nil
 // End:   
-?>
\ No newline at end of file
+?>
diff -ruN 1.3.12p3/tests/xmlrpc/xmlrpc-client.php 1.3.14/tests/xmlrpc/xmlrpc-client.php
--- 1.3.12p3/tests/xmlrpc/xmlrpc-client.php	2006-06-18 06:20:06.000000000 -0500
+++ 1.3.14/tests/xmlrpc/xmlrpc-client.php	2007-07-01 05:11:28.000000000 -0500
@@ -171,11 +171,11 @@
 
     //global $wiki_dmap;
 
-    run_test($server, $debug, $output, "wiki.getRPCVersionSupported", '', 2);
+    run_test($server, $debug, $output, "wiki.getRPCVersionSupported", '', 1);
     
     // getRecentChanges of the last day:
-    // Note: crashes with dba on index.php, not on RPC2.php
-    //run_test($server, $debug, $output, "wiki.getRecentChanges", iso8601_encode(time()-86400));
+    // Note: may crash with dba on index.php, not on RPC2.php
+    run_test($server, $debug, $output, "wiki.getRecentChanges", iso8601_encode(time()-86400));
     
     run_test($server, $debug, $output, "wiki.getPage", "HomePage", "* What is a WikiWikiWeb? A description of this application. * Learn HowToUseWiki and learn about AddingPages. * Use the SandBox page to experiment with Wiki pages. * Please sign your name in RecentVisitors. * See RecentChanges for the latest page additions and changes. * Find out which pages are MostPopular. * Read the ReleaseNotes and RecentReleases. * Administer this wiki via PhpWikiAdministration. * See more PhpWikiDocumentation.");
     run_test($server, $debug, $output, "wiki.getPageVersion", array("HomePage", 1));
diff -ruN 1.3.12p3/themes/blog/Kubrick.css 1.3.14/themes/blog/Kubrick.css
--- 1.3.12p3/themes/blog/Kubrick.css	2006-06-18 06:20:07.000000000 -0500
+++ 1.3.14/themes/blog/Kubrick.css	2007-07-01 05:11:29.000000000 -0500
@@ -36,7 +36,7 @@
   background-color: transparent;
   font: bolder 67px/50px  Verdana, Arial, Helvetica, sans-serif;
   letter-spacing: -0.1em;
-  font-variant: condensed; 
+  /*font-variant: condensed;*/ 
 }
 
 #yoursiteheader a:hover, #yoursiteheader a:link, #yoursiteheader a:visited {
@@ -47,7 +47,7 @@
 #actionbar, #editbar {
   background: url("images/actionbarbg.png") no-repeat top center;
   width: 760px;
-  height: 40px;
+  /*height: 40px;*/
 }
 
 #LSResult {
@@ -108,6 +108,16 @@
   margin-left: 30px;
   vertical-align: middle;
 }
+
+#editarea-size {
+  font-size: 9px;
+  margin-top: 0px;
+  margin-left: 20px;
+  margin-right: 10px;
+}
+#editarea-size input {
+  font-size: 9px;
+}
  
 #actionbuttons a {
   padding-right: 0px;
@@ -115,7 +125,8 @@
 }
 
 #pagetrail {
-  margin-left: 19px;
+  margin-left: 19px; 
+  width: 540px;
 }
 
 #pagetrail p {
@@ -139,8 +150,10 @@
 
 #pagetitle, #pagetitle a {
   color: black;
+  padding-left: 20px;
   margin-top: 12px;
   margin-bottom: 4px;
+  width: 550px;
 }
 
 .indexLetterHeading {
@@ -150,7 +163,7 @@
 }
 
 div.wikitext {
-  margin-left: 25px;
+  /*margin-left: 25px;*/
   margin-top: 12px;
 }
 
@@ -179,6 +192,14 @@
   font-size: 0.81em;
 }
 
+#bottom {
+  font-size: 0.81em;
+  border: none;
+  width: 720px;
+  clear: both;
+  margin: 0 20px 0 20px;
+  /*text-align: center;*/
+}
 #footer {
   font-size: 0.81em;
   background-color: #eee;
@@ -190,7 +211,7 @@
   text-align: center;
 }
 
-#footer p {
+#footer p, #bottom p {
   margin: 0;
   padding: 0;
 /*  padding: 20px 0; */
@@ -299,13 +320,30 @@
 .entry p a:visited {
   color: #b85b5a;
 }
-
+/* ie quirks */
 #sidebar {
   font: 1em 'Lucida Grande', Verdana, Arial, Sans-Serif;
+  left:585px;
+  position:absolute;
+  z-index: 2;
+  top: 260px;
   /* top, right, bottom, left */
-  padding: 20px 0 10px 0;
-  margin-left: 535px;
-  width: 200px;
+  padding: 0 10px 10px 0;
+  width: 155px;
+  border: none;
+  overflow: visible;
+  color: black;
+}
+#moz-sidebar {
+  font: 1em 'Lucida Grande', Verdana, Arial, Sans-Serif;
+  margin-left: 560px;
+  position:absolute;
+  z-index: 2;
+  top: 270px;
+  /* top, right, bottom, left */
+  padding: 0 10px 10px 0;
+  width: 155px;
+  background: white;
 }
 
 #sidebar form {
@@ -387,42 +425,65 @@
 
 #searchholder {
   float: right;
-  height: 30px;
+  /*height: 30px;*/
   vertical-align: middle;
   margin-top: 10px;
-  margin-right: 35px;
+  margin-right: 30px;
 }
 
 #livesearch {
-  height: 13px;
-  width: 100px;
+  /*height: 16px;*/
+  width: 150px;
+  font-size:0.8em;
 }
 
-.narrowcolumn, #logincontent, #editcontent {
+#bodyContent {
   float: left;
   padding: 0 0 20px 25px;
   margin: 0px 0 0;
-  width: 490px;
-  }
+  width: 550px;
+  overflow: visible;
+  /* how to define minimal height? */
+  min-height: 490px;
+}
+.narrowcolumn, .wikiblog {
+  width: 550px !important;
+  /*max-width: 550px;*/
+}
+
+#editpage, #edit-content, .wiki-edithelp {
+  /* top, right, bottom, left */
+  padding: 0 0 20px 0;
+  /*margin: 0px 0 0;*/
+  width: 710px;
+  overflow: visible;
+}
+.wiki-edithelp { 
+  font-size: 0.81em; 
+}
+#wikiblog-form div.wiki-edithelp { 
+  width: 550px;
+  font-size:8pt;
+}
 
 .widecolumn {
   padding: 10px 0 20px 0;
   margin: 5px auto;
   width: 450px;
-  }
+}
   
 .post {
   margin: 0 0 40px;
   text-align: justify;
-  }
+}
 
 .widecolumn .post {
   margin: 0;
-  }
+}
 
 .narrowcolumn .postmetadata {
   padding-top: 5px;
-  }
+}
 
 .widecolumn .postmetadata {
   margin: 30px 0;
@@ -444,9 +505,12 @@
   text-decoration: none;
   color: black;
 }
+div.box-data, div.box-data a, div.box-data a:visited, div.box-data a:link {
+  font-size:8pt; 
+}
 
 #sidebar h2, #sidebar .box-title {
-  margin: 5px 0 0;
+  margin: 5px 0 0 0;
   padding: 0;
   color: black;
   text-decoration: none;
@@ -575,17 +639,14 @@
   }
 /* End Entry Lists */
 
-/* correct identation for non-browse actions */
-body p, #editpage, #content table, #content .diff { 
-  margin-left: 40px;
-  margin-right: 20px;
-}
-
 /* Begin Form Elements */
 #searchform {
   text-align: right;
+  display: inline;
+}
+#wikiblog-summary { 
+  font-weight: bold;
 }
-
 /* End Form Elements */
 
 /* Begin Various Tags & Classes */
@@ -628,8 +689,235 @@
 }
 /* End Various Tags & Classes*/
 
+
+/**
+ * Diff Output
+ */
+/* main box */
+.diff {
+  margin-top:    1ex;
+  margin-bottom: 0.5ex;
+  background: white;
+  /* Netscape 4 requires this 1px border.
+     Without it, the paper borders below cause
+     the white background to disappear. */
+  border: 1px #ccc solid;
+  color: black;
+  border-top: 1px solid #494f5d;
+  border-left:  1px solid #494f5d;
+  border-bottom:  1px solid #c6d2de;
+  border-right: 1px solid #c6d2de;
+  padding-top:    1px;
+  padding-bottom: 1px;
+  padding-left:  .125em;
+  padding-right: .125em;
+  padding: 0;
+  /* "paper" borders */
+  /*border-top: 2px #d2d2d2 solid;
+  border-left:  2px #b2b2b2 solid;
+  border-bottom:  2px #e8e6df solid;
+  border-right: 2px #e8e6df solid;*/
+/*  padding-left:  0em; 
+  padding-bottom: 0ex;*/
+/*  border-style: inset;*/
+  /*This breaks Netscape 4: (display does not go full width).
+   * width: auto;
+   */
+  /* I'm not sure what the intent of this was, but it's
+   *  not valid CSS: */
+  /* display: editarea; */
+  clear: both;
+}
+.diff .block {
+  background: #ddd;
+  padding-left: 1em;
+  /* for NS4 */
+  /*border: none;*/
+}
+
+/* individual blocks */
+.diff .context {
+  background: white;
+  /* for NS4 */
+  border: none;
+}
+/* entire difftextblock */
+#difftext {
+  width: 710px;
+  margin-top:    0;
+  margin-bottom: 0;
+  background: white;
+  /* Netscape 4 requires this 1px border.
+     Without it, the paper borders below cause
+     the white background to disappear. */
+  border: 1px black solid;
+  /* "paper" borders */
+  border-top:  1px #e8e6df solid;
+  border-left: 1px #e8e6df solid;
+  border-bottom: 1px #d2d2d2 solid;
+  border-right:  1px #b2b2b2 solid;
+  padding-left:  0em; 
+  padding-right: 0em;
+  padding-top:    0ex;
+  padding-bottom: 0ex;
+  /*This breaks Netscape 4: (display does not go full width).
+   * width: auto;
+   */
+  clear: both;
+}
+/* + - line prefix */
+.diff .block tt {
+  font-weight: normal;
+  font-family: monospace;
+  color: black;
+  /* for NS4 */
+  margin-left: 0;
+  border: none;
+}
+/* changed words */
+.diff del, .diff ins {
+  font-weight: bold;
+  text-decoration: none;
+}
+
+/* blocks containing deleted or added words */
+.diff .original, .diff .deleted,
+.diff .final, .diff .added {
+  background: white;
+}
+/* blocks containing deleted words */
+.diff .original, .diff .deleted {
+  background: #fcc;
+  /* for NS4 */
+  border: none;
+}
+/* blocks containing added words */
+.diff .final, .diff .added {
+  background: #cfc;
+  /* for NS4 */
+  border: none;
+}
+
+/* These don't work in NS4 -- it completely ignores <del> and <ins>. */
+/* deleted words */
+.diff del { background: #f99; }
+/* added words */
+.diff ins { background: #9f9; }
+
+
+/**
+ * PageHistory, Info
+ */
+td.pageinfo { font-weight: bold; }
+.pageinfo-minoredit, .pageinfo-authorid {
+  font-size: smaller;
+  font-style: oblique;
+}
+
 #VisualWikiPlugin img {
-  width: 480px;
+  width: 520px;
   margin-left: 0;
   padding: 0;
-}
\ No newline at end of file
+}
+
+/* plugin BoxRight */
+div.boxright {
+  width: 200px; 
+  right: 10px;
+  padding: 0.5em; 
+  float: right; 
+  border: thin solid #888888; 
+  padding: 0.5em;
+}
+
+/* RssFeed */
+div.rss { margin: 1em; padding: 1em; font-size: 0.9em; background-color: #eeeeee; border: thin dashed #aaa; }
+div.feed { color: #333; margin: -0.5em; margin-bottom: 0em; padding: 0.3em; font-weight: bold; background-color: #f2f2f2; font-size: 1.2em; }
+div.itemdesc {  padding-left: 1em; }
+div.rssitem { border-top: thin dashed #aaa; }
+
+/* SqlResult */
+table.sqlresult { 
+  border: 1px outset gray;
+  background: white;
+  margin: 0.5ex 0.5em;
+  padding: 1px;
+}
+.sqlresult tr.evenrow { background: #eee; }
+.sqlresult tr.oddrow  { background: white; }
+table.sqlresult td {
+  margin: 1px;
+  border: 1px solid gray;
+}
+
+/**
+ * TeX2png plugin
+ */
+img.tex { 
+  border: 0ex;
+  vertical-align: middle; 
+}
+
+/**
+ * PhotoAlbum plugin
+ */
+.boldsmall {
+  font-weight: bold;
+  font-size: 11px;
+}
+/* postnuke css:*/
+.gensmall{font-size:9px}
+.genmed{font-size:11px}
+
+.wikiwyg_toolbar {
+    background: #D3D3D3;
+    border: 1px outset;
+    letter-spacing: 0;
+    padding: 2px;
+}
+
+span.wikiwyg_control_link a {
+    padding-right: 8px;
+}
+
+.wikiwyg_button {
+    background: #D3D3D3;
+    border: 1px solid #D3D3D3;
+    cursor: pointer;
+    width: 20px;
+    height: 20px;
+    vertical-align: bottom;
+}
+
+.wikiwyg_button:hover {
+    border: 1px outset;
+}
+
+.wikiwyg_button:active {
+    border: 1px inset;
+}
+
+.wikiwyg_separator {
+    background: #D3D3D3;
+    border: 1px solid #D3D3D3;
+    width: 9px;
+    height: 20px;
+    vertical-align: bottom;
+}
+
+.wikiwyg_selector {
+    width: 70px;
+}
+
+.wikiwyg_wysiwyg table {
+    border-collapse: collapse;
+    margin-bottom: .2em;
+}
+
+.wikiwyg_wysiwyg table td {
+    border: 1px;
+    border-style: solid;
+    padding: .2em;
+    vertical-align: top;
+}
+
diff -ruN 1.3.12p3/themes/blog/pgsrc/About 1.3.14/themes/blog/pgsrc/About
--- 1.3.12p3/themes/blog/pgsrc/About	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/themes/blog/pgsrc/About	2007-07-01 05:11:29.000000000 -0500
@@ -0,0 +1,13 @@
+Date: Wed, 3 Jan 2007 16:57:56 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: About,v 1.1 2007/01/07 18:47:35 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=About;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+About this blog:
+  ....
\ No newline at end of file
diff -ruN 1.3.12p3/themes/blog/pgsrc/Blog 1.3.14/themes/blog/pgsrc/Blog
--- 1.3.12p3/themes/blog/pgsrc/Blog	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/themes/blog/pgsrc/Blog	2007-07-01 05:11:29.000000000 -0500
@@ -0,0 +1,14 @@
+Date: Wed, 3 Jan 2007 16:57:56 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: Blog,v 1.1 2007/01/07 18:47:35 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=Blog;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+<?plugin BlogArchives ?>
+
+<?plugin WikiBlog ?>
diff -ruN 1.3.12p3/themes/blog/pgsrc/BlogArchives 1.3.14/themes/blog/pgsrc/BlogArchives
--- 1.3.12p3/themes/blog/pgsrc/BlogArchives	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/themes/blog/pgsrc/BlogArchives	2007-07-01 05:11:29.000000000 -0500
@@ -0,0 +1,12 @@
+Date: Wed, 3 Jan 2007 16:57:56 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: BlogArchives,v 1.1 2007/01/07 20:19:47 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=BlogArchives;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+<?plugin BlogArchives ?>
diff -ruN 1.3.12p3/themes/blog/pgsrc/BlogHomePage 1.3.14/themes/blog/pgsrc/BlogHomePage
--- 1.3.12p3/themes/blog/pgsrc/BlogHomePage	2006-06-18 06:20:07.000000000 -0500
+++ 1.3.14/themes/blog/pgsrc/BlogHomePage	1969-12-31 18:00:00.000000000 -0600
@@ -1,12 +0,0 @@
-Date: Mon, 13 Dec 2004 14:27:36 +0100
-Mime-Version: 1.0 (Produced by PhpWiki 1.3.11pre)
-X-Rcs-Id: $Id: BlogHomePage,v 1.1 2004/12/14 21:30:37 rurban Exp $
-Content-Type: application/x-phpwiki;
-  pagename=BlogHomePage;
-  pgsrc_version="2 $Revision: 1.1 $";
-  flags="";
-  markup=2;
-  charset=iso-8859-1
-Content-Transfer-Encoding: binary
-
-<?plugin JournalLast count=7 ?>
diff -ruN 1.3.12p3/themes/blog/pgsrc/CategoryHowTo 1.3.14/themes/blog/pgsrc/CategoryHowTo
--- 1.3.12p3/themes/blog/pgsrc/CategoryHowTo	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/themes/blog/pgsrc/CategoryHowTo	2007-07-01 05:11:29.000000000 -0500
@@ -0,0 +1,12 @@
+Date: Wed, 3 Jan 2007 16:57:56 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: CategoryHowTo,v 1.1 2007/01/07 18:47:35 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=CategoryHowTo;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+{{Template/Category}}
diff -ruN 1.3.12p3/themes/blog/pgsrc/HomePage 1.3.14/themes/blog/pgsrc/HomePage
--- 1.3.12p3/themes/blog/pgsrc/HomePage	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/themes/blog/pgsrc/HomePage	2007-07-01 05:11:29.000000000 -0500
@@ -0,0 +1,12 @@
+Date: Wed, 3 Jan 2007 16:57:56 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: HomePage,v 1.1 2007/01/07 18:47:44 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=HomePage;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+<?plugin BlogJournal ?>
diff -ruN 1.3.12p3/themes/blog/pgsrc/HowTo 1.3.14/themes/blog/pgsrc/HowTo
--- 1.3.12p3/themes/blog/pgsrc/HowTo	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/themes/blog/pgsrc/HowTo	2007-07-01 05:11:29.000000000 -0500
@@ -0,0 +1,12 @@
+Date: Wed, 3 Jan 2007 16:57:56 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: HowTo,v 1.1 2007/01/07 20:19:47 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=HomePage;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+<?plugin BackLinks page=CategoryHowTo cols=3 ?>
diff -ruN 1.3.12p3/themes/blog/pgsrc/PhotoAlbum 1.3.14/themes/blog/pgsrc/PhotoAlbum
--- 1.3.12p3/themes/blog/pgsrc/PhotoAlbum	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/themes/blog/pgsrc/PhotoAlbum	2007-07-01 05:11:29.000000000 -0500
@@ -0,0 +1,12 @@
+Date: Wed, 3 Jan 2007 16:57:56 +0000
+Mime-Version: 1.0 (Produced by PhpWiki 1.3.13)
+X-Rcs-Id: $Id: PhotoAlbum,v 1.1 2007/01/07 20:19:47 rurban Exp $
+Content-Type: application/x-phpwiki;
+  pagename=PhotoAlbum;
+  pgsrc_version="2 $Revision: 1.1 $";
+  flags="";
+  markup=2;
+  charset=iso-8859-1
+Content-Transfer-Encoding: binary
+
+<?plugin PhotoAlbum src=Upload:photos/ mode=tiles ?>
Binary files 1.3.12p3/themes/blog/preview.png and 1.3.14/themes/blog/preview.png differ
diff -ruN 1.3.12p3/themes/blog/templates/actionbar.tmpl 1.3.14/themes/blog/templates/actionbar.tmpl
--- 1.3.12p3/themes/blog/templates/actionbar.tmpl	2006-06-18 06:20:07.000000000 -0500
+++ 1.3.14/themes/blog/templates/actionbar.tmpl	2007-07-01 05:11:29.000000000 -0500
@@ -1,11 +1,5 @@
 <?php // -*-php-*-
-  rcs_id('$Id: actionbar.tmpl,v 1.7 2005/02/11 14:51:02 rurban Exp $');
-if ($user->isAuthenticated()) {
-    if ((!$page->get('locked') || $user->isAdmin()))
-        $EditB = Button("edit");
-    else
-        $EditB = Button("viewsource", _("View Source"));
-}
+  rcs_id('$Id: actionbar.tmpl,v 1.8 2007/01/07 20:19:56 rurban Exp $');
 ?>
 <table summary="Toolbar: Mani Navigation"
        width="100%" cellpadding="0" cellspacing="0" border="0">
@@ -15,12 +9,18 @@
     <?= WikiLink(HOME_PAGE, "known",_("Home")) ?>
     <?=$SEP?><?= WikiLink(_("About")) ?>
     <?=$SEP?><?= WikiLink(_("BlogArchives"),'',_("Archives")) ?>
-    <?=$SEP?><?= WikiLink(_("Photos")) ?>
+    <?=$SEP?><?= WikiLink(_("PhotoAlbum")) ?>
     <?=$SEP?><?= WikiLink(_("HowTo")) ?>
     <?=$SEP?><?= WikiLink(_("RecentChanges")) ?>
     <?=$SEP?><?= Button("PageInfo", _("Info")) ?>
-    <?php if ($user->isAuthenticated()) { ?>
-      <?= $SEP?><?= $EditB ?>
+<?php 
+if ($user->isAuthenticated()) {
+    if (mayAccessPage('edit', $page->getName()))
+        $EditB = Button("edit");
+    else
+        $EditB = Button("viewsource", _("View Source")); 
+?>
+    <?= $SEP?><?= $EditB ?>
     <?php } ?>
   </div>
   </td>
@@ -29,4 +29,3 @@
   </td>
 </tr>
 </table>
-<div id="pagetrail"><p><?=_("Page Trail")?>: <?plugin PageTrail numberlinks=7 ?></p></div>
diff -ruN 1.3.12p3/themes/blog/templates/blogform.tmpl 1.3.14/themes/blog/templates/blogform.tmpl
--- 1.3.12p3/themes/blog/templates/blogform.tmpl	2006-06-18 06:20:07.000000000 -0500
+++ 1.3.14/themes/blog/templates/blogform.tmpl	2007-07-01 05:11:29.000000000 -0500
@@ -1,35 +1,29 @@
-<?php
-  rcs_id('$Id: blogform.tmpl,v 1.1 2004/12/14 21:30:37 rurban Exp $');
+<?php // -*- php -*-
+  rcs_id('$Id: blogform.tmpl,v 1.2 2007/01/07 20:20:19 rurban Exp $');
 ?>
 <div class="wikiblog wikiblog-form">
-<form action="<?=$request->getPostURL()?>" method="post" class="wikiaction"
-      accept-charset="<?=$charset?>">
-  <input type="hidden" name="blog[pagename]" value="<?=$PAGENAME?>" />
-  <?= HiddenInputs($request->getArgs()) ?>
-  <table class="wikiblog-form">
-     <caption><?=
-_("Add a Comment")
-?></caption>
-     <col class="label" width="1*" /><col class="input" width="100*" />
-     <tr><th align="right"><?=
-_("Summary").':'
-?></th>
-         <td><input class="wikitext" type="text" size="60"
-                    maxlength="256" name="blog[summary]" value="" /></td>
-     </tr>
-     <tr><th align="right"><?=
-_("Comment").':'
-?></th>
-         <td><textarea class="blogedit" rows="5" cols="60"
-                       name="blog[body]" wrap="virtual"></textarea></td>
-     </tr>
-     <tr><td colspan="2" align="center" class="submit-button"
-             ><input type="submit" value="<?=
-_("Add Comment")
-?>"
-                     name="blog[addblog]" class="wikiaction" /></td>
-     </tr>
-  </table>
+<form action="<?=$request->getPostURL()?>" method="post" name="editpage"
+      accept-charset="<?=$charset?>" id="wikiblog-form">
+  <input type="hidden" name="edit[pagename]" value="<?=$PAGENAME?>" />
+  <input type="hidden" name="mode" value="add" />
+  <div class="wikiblog-form">
+     <?= _("Headline").': ' ?><br />
+     <input id="wikiblog-summary" class="wikitext" type="text" style="width:540px" size="60"
+                   maxlength="256" name="edit[summary]" value="" />
+     <?= $EDIT_TOOLBAR ?>
+     <a name="editarea"></a>
+     <textarea id="edit-content" class="edit-content" rows="8" style="width:540px"
+               name="edit[content]" wrap="virtual"></textarea>
+     <br />
+     <input id="wikiblog-submit" type="submit" value="<?=_("Add Entry")?>"
+                     name="edit[save]" class="wikiaction" />
+  </div>
+
+<hr noshade="noshade" />
+<div id="newMarkup" class="wiki-edithelp">
+  <p><?= fmt("See %s tips for editing.", WikiLink(_("Help/GoodStyle"))) ?></p>
+  <?plugin IncludePage page=_("Help/TextFormattingRules") section=_("Synopsis") quiet=1?>
+</div>
+<?=$HIDDEN_INPUTS?>
 </form>
 </div>
-
diff -ruN 1.3.12p3/themes/blog/templates/body.tmpl 1.3.14/themes/blog/templates/body.tmpl
--- 1.3.12p3/themes/blog/templates/body.tmpl	2006-06-18 06:20:07.000000000 -0500
+++ 1.3.14/themes/blog/templates/body.tmpl	2007-07-01 05:11:29.000000000 -0500
@@ -1,5 +1,5 @@
 <?php // -*-html-*-
-rcs_id('$Id: body.tmpl,v 1.4 2005/02/03 08:20:51 rurban Exp $');
+rcs_id('$Id: body.tmpl,v 1.5 2007/01/07 20:20:19 rurban Exp $');
 ?>
 <body leftmargin="20" topmargin="0" <?= $WikiTheme->getMoreAttr('body') ?>>
 <!--{{{ Page-->
@@ -11,12 +11,17 @@
 <div id="pagetitle">
 <h1 id="pagetitleText"><?= $HEADER ?></h1></div>
 <!--}}}-->
-
+<div id="bodyContent">
 <?=$CONTENT?>
+</div>
 
+<!--{{{ Bottom errors and debugging info-->
+<div id="bottom">
+<?= Template('bottom') ?>
+</div>
+<!--}}}-->
 <!--{{{ Footer-->
 <div id="footer">
-<?= Template('bottom') ?>
 <?= Template('browse-footer') ?>
 </div><!--}}} Footer-->
 
diff -ruN 1.3.12p3/themes/blog/templates/bottom.tmpl 1.3.14/themes/blog/templates/bottom.tmpl
--- 1.3.12p3/themes/blog/templates/bottom.tmpl	2006-06-18 06:20:07.000000000 -0500
+++ 1.3.14/themes/blog/templates/bottom.tmpl	2007-07-01 05:11:29.000000000 -0500
@@ -1,10 +1,10 @@
 <?php // -*-html-*-
-  rcs_id('$Id: bottom.tmpl,v 1.2 2004/12/15 17:47:32 rurban Exp $');
+  rcs_id('$Id: bottom.tmpl,v 1.3 2007/01/07 20:20:19 rurban Exp $');
 ?>
 <!--span id="bottom" style="margin-left: 25px"-->
 <!-- Add your Disclaimer here -->
 <?php if (!$WikiTheme->DUMP_MODE) { ?>
 <?= $GLOBALS['ErrorManager']->getPostponedErrorsAsHTML() ?>
-<?php if (defined('DEBUG') and DEBUG & 1) { ?><?= Template('debug') ?><?php } ?>
+<?php if (DEBUG & _DEBUG_VERBOSE) { ?><?= Template('debug') ?><?php } ?>
 <?php } ?>
 <!--/span-->
diff -ruN 1.3.12p3/themes/blog/templates/browse-footer.tmpl 1.3.14/themes/blog/templates/browse-footer.tmpl
--- 1.3.12p3/themes/blog/templates/browse-footer.tmpl	2006-06-18 06:20:07.000000000 -0500
+++ 1.3.14/themes/blog/templates/browse-footer.tmpl	2007-07-01 05:11:29.000000000 -0500
@@ -1,9 +1,9 @@
 <?php // -*-html-*-
-  rcs_id('$Id: browse-footer.tmpl,v 1.2 2004/12/15 17:47:32 rurban Exp $');
+  rcs_id('$Id: browse-footer.tmpl,v 1.4 2007/01/07 20:20:19 rurban Exp $');
 ?>
 <!--{{{ Edit Date-->
 <p class="editdate">
-<?php if( $page->getName() != "HomePage") { ?>
+<?php if( $page->getName() != _("HomePage")) { ?>
 <?= $WikiTheme->getOwnerMessage($page) ?>  <?= $WikiTheme->getLastModifiedMessage($revision) ?> <?= $WikiTheme->getAuthorMessage($revision) ?><br />
 <?php } ?>
-This site is powered by <a href="http://phpwiki.sourceforge.net">PhpWiki</a>. Page design based on <a href="http://binarybonsai.com/kubrick/">Kubrick</a>, adapted by <a href="http://the.taoofmac.com">Rui Carmo</a> from an original design by <a href="http://binarybonsai.com">Michael Heilemann</a>.</p><!--}}} Edit Date-->
+This site is powered by <a href="http://phpwiki.sourceforge.net">PhpWiki</a>. Page design based on <a href="http://binarybonsai.com/kubrick/">Kubrick</a>,<br />adapted by <a href="http://the.taoofmac.com">Rui Carmo</a> from an original design by <a href="http://binarybonsai.com">Michael Heilemann</a>.</p><!--}}} Edit Date-->
diff -ruN 1.3.12p3/themes/blog/templates/browse.tmpl 1.3.14/themes/blog/templates/browse.tmpl
--- 1.3.12p3/themes/blog/templates/browse.tmpl	2006-06-18 06:20:07.000000000 -0500
+++ 1.3.14/themes/blog/templates/browse.tmpl	2007-07-01 05:11:29.000000000 -0500
@@ -1,5 +1,5 @@
 <?php // -*-html-*-
-rcs_id('$Id: browse.tmpl,v 1.4 2005/02/03 05:19:48 rurban Exp $');
+rcs_id('$Id: browse.tmpl,v 1.5 2007/01/07 20:20:19 rurban Exp $');
 ?>
 
 <?php if ($revision and !$revision->isCurrent()) { ?>
@@ -23,8 +23,8 @@
 <!--}}} Comments-->
 
 <hr class="printer" noshade="noshade" />
-</div>
 <!--}}} Content-->
+</div>
 
 <!--{{{ Sidebar-->
 <?=Template('sidebar')?>
diff -ruN 1.3.12p3/themes/blog/templates/sidebar.tmpl 1.3.14/themes/blog/templates/sidebar.tmpl
--- 1.3.12p3/themes/blog/templates/sidebar.tmpl	2006-06-18 06:20:07.000000000 -0500
+++ 1.3.14/themes/blog/templates/sidebar.tmpl	2007-07-01 05:11:29.000000000 -0500
@@ -1,17 +1,15 @@
 <?php // -*-html-*-
-rcs_id('$Id: sidebar.tmpl,v 1.2 2005/02/02 19:14:14 rurban Exp $');
+rcs_id('$Id: sidebar.tmpl,v 1.3 2007/01/07 20:20:19 rurban Exp $');
+$id = isBrowserIE() ? 'sidebar' : 'moz-sidebar';
 ?>
-<div id="sidebar">
+<div id="<?=$id?>">
 <?php
   /* Today's Blogs page for the current or admin user, if the subpage is defined. */
-  $UserCalPageTitle = $user->getId() . SUBPAGE_SEPARATOR . _("Blogs");
+  $UserCalPageTitle = $user->getId() . SUBPAGE_SEPARATOR . _("Blog");
   $dbi = $request->getDbh();
   // display flat calender dhtml under the clock
-  if (!$dbi->isWikiPage($UserCalPageTitle)) {
-    if (BLOG_EMPTY_DEFAULT_PREFIX)
-      $UserCalPageTitle = _("Blogs");
-    else
-      $UserCalPageTitle = ADMIN_USER . SUBPAGE_SEPARATOR . _("Blogs");
+  if (!$dbi->isWikiPage($UserCalPageTitle) and BLOG_EMPTY_DEFAULT_PREFIX) {
+      $UserCalPageTitle = _("Blog");
   }
 ?>
 <div class="box">
diff -ruN 1.3.12p3/themes/blog/templates/top.tmpl 1.3.14/themes/blog/templates/top.tmpl
--- 1.3.12p3/themes/blog/templates/top.tmpl	2006-06-18 06:20:07.000000000 -0500
+++ 1.3.14/themes/blog/templates/top.tmpl	2007-07-01 05:11:29.000000000 -0500
@@ -1,5 +1,5 @@
 <?php // -*-html-*-
-rcs_id('$Id: top.tmpl,v 1.2 2005/02/02 19:14:14 rurban Exp $');
+rcs_id('$Id: top.tmpl,v 1.3 2007/01/07 20:20:19 rurban Exp $');
 ?>
 <div id="header">
 <?php if ( $request->getArg('action') == 'browse' ) { ?>
@@ -13,5 +13,6 @@
 <div id="actionbar">
 <?= Template('actionbar') ?>
 </div>
+<div id="pagetrail"><p><?=_("Page Trail")?>: <?plugin PageTrail numberlinks=7 ?></p></div>
 <?php } ?>
 
diff -ruN 1.3.12p3/themes/blog/templates/viewsource.tmpl 1.3.14/themes/blog/templates/viewsource.tmpl
--- 1.3.12p3/themes/blog/templates/viewsource.tmpl	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/themes/blog/templates/viewsource.tmpl	2007-07-01 05:11:29.000000000 -0500
@@ -0,0 +1,28 @@
+<?php // -*-html-*- ?>
+<!-- $Id: viewsource.tmpl,v 1.2 2007/01/02 13:30:28 rurban Exp $ -->
+<?php 
+if (empty($revision)) $revision = $page->getCurrentRevision(false);
+if ($page->get('locked') && !$user->isAdmin()) { ?>
+  <p><strong><?=_("Note:")?></strong>
+  <?=_("This page has been locked by the administrator and cannot be edited.")?>
+  </p>
+  <?php } ?>
+<?php if (! $revision->isCurrent()) { ?>
+  <p><?=_("You are viewing an old revision of this page.")?>
+  <?= Button('edit', _("View the current version"), $page) ?>.
+  </p>
+  <?php } ?>
+<!-- Dummy form else NS4 does not like the textarea -->
+<form method="post" id="editcontent" 
+      action="<?=$request->getPostURL()?>" accept-charset="<?=CHARSET?>">
+<?php /* To clear beyond a larger logo, such as in the Hawaiian theme */ ?>
+<!br clear="all" class="clear-floats" />
+<!-- wrap=virtual is not HTML4, but without it NS4 does not wrap long lines -->
+<textarea class="wikiedit"
+name="content" 
+rows="<?=$request->getPref('editHeight')?>"
+cols="<?=$request->getPref('editWidth')?>"
+readonly="readonly"
+wrap="virtual"><?= $PAGE_SOURCE ?></textarea>
+<?=$HIDDEN_INPUTS?>
+</form>
diff -ruN 1.3.12p3/themes/blog/themeinfo.php 1.3.14/themes/blog/themeinfo.php
--- 1.3.12p3/themes/blog/themeinfo.php	2006-06-18 06:20:07.000000000 -0500
+++ 1.3.14/themes/blog/themeinfo.php	2007-07-01 05:11:29.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-rcs_id('$Id: themeinfo.php,v 1.5 2005/02/03 05:19:48 rurban Exp $');
+rcs_id('$Id: themeinfo.php,v 1.7 2007/07/01 09:36:10 rurban Exp $');
 
 /**
  * This file defines a blog theme for PhpWiki, 
@@ -37,9 +37,17 @@
  */
 
 require_once('lib/Theme.php');
-require_once('themes/Sidebar/themeinfo.php');
-
-class Theme_blog extends Theme_Sidebar {
+// Oh holy shit. This creates the wrong theme, which would result in double initializations.
+// So never derive from themes
+//require_once('themes/Sidebar/themeinfo.php');
+
+class Theme_blog extends Theme {
+
+    function Theme_blog ($theme_name='blog') {
+        $this->Theme($theme_name);
+        $this->calendarInit(true);
+    }
+    
     function _findFile ($file, $missing_okay=false) {
         if (file_exists($this->_path . "themes/".$this->_name."/$file"))
             return "themes/".$this->_name."/$file";
@@ -105,47 +113,50 @@
             $link->setAttr('target', '_top');
         return $link;
     }
+
+    function load() {
+	// CSS file defines fonts, colors and background images for this
+	// style.
+
+	// override sidebar definitions:
+	$this->setDefaultCSS(_("blog"), 'Kubrick.css');
+
+	$this->addButtonAlias(_("(diff)"), "[diff]" );
+	$this->addButtonAlias("...", "alltime");
+
+	$this->setButtonSeparator("");
+
+	/**
+	 * WikiWords can automatically be split by inserting spaces between
+	 * the words. The default is to leave WordsSmashedTogetherLikeSo.
+	 */
+	$this->setAutosplitWikiWords(false);
+
+	/**
+	 * If true (default) show create '?' buttons on not existing pages, even if the 
+	 * user is not signed in.
+	 * If false, anon users get no links and it looks cleaner, but then they 
+	 * cannot easily fix missing pages.
+	 */
+	$this->setAnonEditUnknownLinks(false);
+
+	/*
+	 * You may adjust the formats used for formatting dates and times
+	 * below.  (These examples give the default formats.)
+	 * Formats are given as format strings to PHP strftime() function See
+	 * http://www.php.net/manual/en/function.strftime.php for details.
+	 * Do not include the server's zone (%Z), times are converted to the
+	 * user's time zone.
+	 */
+	//$this->setDateFormat("%B %d, %Y");
+	$this->setDateFormat("%A, %B %e, %Y"); // must not contain time
+	$this->setTimeFormat("%H:%M:%S");
+    }
 }
 
 $WikiTheme = new Theme_blog('blog');
 define("PAGETRAIL_ARROW", "  ");
 
-// CSS file defines fonts, colors and background images for this
-// style.
-
-// override sidebar definitions:
-$WikiTheme->setDefaultCSS(_("blog"), 'Kubrick.css');
-
-$WikiTheme->addButtonAlias(_("(diff)"), "[diff]" );
-$WikiTheme->addButtonAlias("...", "alltime");
-
-$WikiTheme->setButtonSeparator("");
-
-/**
- * WikiWords can automatically be split by inserting spaces between
- * the words. The default is to leave WordsSmashedTogetherLikeSo.
- */
-$WikiTheme->setAutosplitWikiWords(false);
-
-/**
- * If true (default) show create '?' buttons on not existing pages, even if the 
- * user is not signed in.
- * If false, anon users get no links and it looks cleaner, but then they 
- * cannot easily fix missing pages.
- */
-$WikiTheme->setAnonEditUnknownLinks(false);
-
-/*
- * You may adjust the formats used for formatting dates and times
- * below.  (These examples give the default formats.)
- * Formats are given as format strings to PHP strftime() function See
- * http://www.php.net/manual/en/function.strftime.php for details.
- * Do not include the server's zone (%Z), times are converted to the
- * user's time zone.
- */
-//$WikiTheme->setDateFormat("%B %d, %Y");
-$WikiTheme->setDateFormat("%A, %B %e, %Y"); // must not contain time
-$WikiTheme->setTimeFormat("%H:%M:%S");
 
 // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 // (c-file-style: "gnu")
@@ -156,4 +167,4 @@
 // c-hanging-comment-ender-p: nil
 // indent-tabs-mode: nil
 // End:   
-?>
\ No newline at end of file
+?>
diff -ruN 1.3.12p3/themes/Crao/crao.css 1.3.14/themes/Crao/crao.css
--- 1.3.12p3/themes/Crao/crao.css	2006-06-18 06:20:09.000000000 -0500
+++ 1.3.14/themes/Crao/crao.css	2007-07-01 05:11:30.000000000 -0500
@@ -388,6 +388,11 @@
 	margin: 0px;
 	border: 0px none;
 }
+.search-context { background: white; font-style: oblique; }
+.search-term {
+  background: yellow;
+  font-weight: normal;
+}
 #livesearch {
   height: 13px;
   width: 100px;
diff -ruN 1.3.12p3/themes/Crao/templates/actionbar.tmpl 1.3.14/themes/Crao/templates/actionbar.tmpl
--- 1.3.12p3/themes/Crao/templates/actionbar.tmpl	2006-06-18 06:20:09.000000000 -0500
+++ 1.3.14/themes/Crao/templates/actionbar.tmpl	2007-07-01 05:11:30.000000000 -0500
@@ -1,39 +1,39 @@
 <?php // -*-php-*-
-  rcs_id('$Id: actionbar.tmpl,v 1.4 2005/01/25 07:24:17 rurban Exp $');
+  rcs_id('$Id: actionbar.tmpl,v 1.6 2007/02/22 20:12:53 rurban Exp $');
   if (!$page->get('locked') || $user->isAdmin() and $revision)
       $EditB = Button("edit",
                       $revision->isCurrent() ? _("Edit") : _("Edit Old Revision"));
   else
       $EditB = Button("viewsource", _("View Source"));
-  $Sep = $WikiTheme->getButtonSeparator();
+  if (empty($revision)) $revision = $page->getCurrentRevision(false);
 //MSIE needs sticky.js
 ?>
-<div <?= isBrowserIE() ? "class=ie-actionbuttons" : "id=actionbuttons"?>>
+<div <?= isBrowserIE() ? "class=\"ie-actionbuttons\"" : "id=\"actionbuttons\""?>>
 <?= $EditB ?>
 <?php if ($user->isAdmin() or mayAccessPage('change',$page->getName())) { ?>
-<?=$Sep?><?= Button($page->get('locked') ? 'unlock' : 'lock') ?>
+<?=$SEP?><?= Button($page->get('locked') ? 'unlock' : 'lock') ?>
 <?php if (ENABLE_PAGEPERM) { ?>
-<?=$Sep?><?= Button('chown') ?>
-<?=$Sep?><?= Button('setacl') ?>
+<?=$SEP?><?= Button('chown') ?>
+<?=$SEP?><?= Button('setacl') ?>
 <?php }} ?>
 <?php if ($user->isAdmin() or mayAccessPage('remove',$page->getName())) { ?>
-<?=$Sep?><?= Button('remove') ?>
+<?=$SEP?><?= Button('remove') ?>
 <?php } ?>
-<?=$Sep?><?= Button("PageHistory", _("PageHistory")) ?>
-<?=$Sep?><?= Button("diff") ?> 
-<?=$Sep?><?= Button("PageInfo", _("PageInfo")) ?>
+<?=$SEP?><?= Button("PageHistory", _("PageHistory")) ?>
+<?=$SEP?><?= Button("diff") ?> 
+<?=$SEP?><?= Button("PageInfo", _("PageInfo")) ?>
 <?php if ((DEBUG and $request->getArg('action') == 'browse') || $user->isAdmin()) { ?> 
 <!-- Buttons really only for debugging -->
-<?=$Sep?><?= Button("DebugInfo", _("DebugInfo")) ?>
-<?=$Sep?><?= Button("PageDump", _("PageDump")) ?>
+<?=$SEP?><?= Button("DebugInfo", _("DebugInfo")) ?>
+<?=$SEP?><?= Button("PageDump", _("PageDump")) ?>
 <?php $purgeb = Button(array('nocache' => 'purge'),
                        _("PurgeHtmlCache"), $page->getName());
       $purgeb->addTooltip(_("Purge HTML cache for this page. Regenerate from WikiMarkup when next accessed."));
 ?>
-<?=$Sep?><?= $purgeb ?>
+<?=$SEP?><?= $purgeb ?>
     <!-- End debugging buttons -->
 <?php } ?>
 <?php if (defined('USE_EXTERNAL_HTML2PDF') and USE_EXTERNAL_HTML2PDF) { ?> 
-    <?=$Sep?><?= Button("pdf") ?>
+    <?=$SEP?><?= Button("pdf") ?>
 <?php } ?>
 </div>
diff -ruN 1.3.12p3/themes/Crao/templates/browse.tmpl 1.3.14/themes/Crao/templates/browse.tmpl
--- 1.3.12p3/themes/Crao/templates/browse.tmpl	2006-06-18 06:20:09.000000000 -0500
+++ 1.3.14/themes/Crao/templates/browse.tmpl	2007-07-01 05:11:31.000000000 -0500
@@ -1,7 +1,7 @@
 <?php // -*-html-*- ?>
-<!-- $Id: browse.tmpl,v 1.2 2004/06/18 08:40:39 rurban Exp $ -->
+<!-- $Id: browse.tmpl,v 1.4 2007/01/02 13:29:14 rurban Exp $ -->
 
-<?php if (! $revision->isCurrent()) { ?>
+<?php if ($revision and !$revision->isCurrent()) { ?>
   <p><strong><?=_("Note:")?></strong>
      <?=_("You are viewing an old revision of this page.")?>
   <?= Button('browse', _("View the current version"), $page)?>.
diff -ruN 1.3.12p3/themes/Crao/templates/editpage.tmpl 1.3.14/themes/Crao/templates/editpage.tmpl
--- 1.3.12p3/themes/Crao/templates/editpage.tmpl	2006-06-18 06:20:09.000000000 -0500
+++ 1.3.14/themes/Crao/templates/editpage.tmpl	2007-07-01 05:11:31.000000000 -0500
@@ -1,5 +1,5 @@
 <!-- -*-html-*- -->
-<!-- $Id: editpage.tmpl,v 1.6 2005/01/25 07:22:49 rurban Exp $ -->
+<!-- $Id: editpage.tmpl,v 1.10 2007/01/07 18:42:10 rurban Exp $ -->
 <?php if (isset($PREVIEW_CONTENT)) { ?>
   <p><strong><?=_("Preview only!  Changes not saved.")?></strong>
 <!-- FIXME: it would be nice to put a link to the #editarea anchor below,
@@ -35,16 +35,16 @@
     <tr><td><?= $EDIT_TOOLBAR ?></td>
         <td align="right"><div id="editarea-size">
     <?=_("Size").':'?>
-    <label for="pref[editHeight]"><b><?=_("H")?></b></label> <?=$HEIGHT_PREF?> 
-    <label for="pref[editWidth]"><b><?=_("W")?></b></label> <?=$WIDTH_PREF?>
+    <label for="pref-editHeight"><b><?=_("H")?></b></label> <?=$HEIGHT_PREF?> 
+    <label for="pref-editWidth"><b><?=_("W")?></b></label> <?=$WIDTH_PREF?>
     <noscript><?=Button("submit:", _("Adjust"), 'wikiaction')?></noscript>
   </div></td></tr></table>
   <fieldset class="editarea">
   <legend><?=_("Page Content: ")?></legend>
   <a name="editarea"></a><?=$EDIT_TEXTAREA?>
-</fieldset>
+  </fieldset>
 <!-- FIXME: fix layout, move CSS to CSS -->
-  <fieldset class="editarea">
+ <fieldset class="editarea">
     <legend><?=_("Summary").':'?></legend><br />
     <?=$SUMMARY_INPUT?>
   </fieldset>
@@ -55,10 +55,10 @@
   </fieldset> 
   <?php } ?>
   <fieldset class="toolbar"> 
-    <?=$MINOR_EDIT_CB ?> <label for="edit[minor_edit]"><?=_("This is a minor change.")?></label>&nbsp;&nbsp;
+    <?=$MINOR_EDIT_CB ?> <label for="edit-minor_edit"><?=_("This is a minor change.")?></label>&nbsp;&nbsp;
     <?=$OLD_MARKUP_CB?>  <label for="useOldMarkup"><?=_("Use old markup")?></label> <?=$OLD_MARKUP_CONVERT?>
 <?php if ($user->isAdmin()) { ?>
-    <?= $LOCKED_CB ?> <label for="edit:lock"><?=_("Locked")?></label>
+    <?= $LOCKED_CB ?> <label for="edit-locked"><?=_("Locked")?></label>
 <?php } ?>
   </fieldset>
   <fieldset class="toolbar">
@@ -89,13 +89,13 @@
 </script>
 <div id="oldMarkup" class="wiki-edithelp">
 <!-- FIXME: do we need this at all?  If so, it could probably be moved to TextFormattingRules -->
-<p><?= fmt("See %s tips for editing.", WikiLink(_("GoodStyle"))) ?></p>
-<?plugin IncludePage page=_("OldTextFormattingRules") section=_("Synopsis") quiet=1?>
+<p><?= fmt("See %s tips for editing.", WikiLink(_("Help/GoodStyle"))) ?></p>
+<?plugin IncludePage page=_("Help/OldTextFormattingRules") section=_("Synopsis") quiet=1?>
 </div>
 <div id="newMarkup" class="wiki-edithelp">
 <!-- FIXME: do we need this at all?  If so, it could probably be moved to TextFormattingRules -->
-<p><?= fmt("See %s tips for editing.", WikiLink(_("GoodStyle"))) ?></p>
-<?plugin IncludePage page=_("TextFormattingRules") section=_("Synopsis") quiet=1?>
+<p><?= fmt("See %s tips for editing.", WikiLink(_("Help/GoodStyle"))) ?></p>
+<?plugin IncludePage page=_("Help/TextFormattingRules") section=_("Synopsis") quiet=1?>
 </div>
 <?=$HIDDEN_INPUTS?>
 </form>
diff -ruN 1.3.12p3/themes/Crao/templates/signin.tmpl 1.3.14/themes/Crao/templates/signin.tmpl
--- 1.3.12p3/themes/Crao/templates/signin.tmpl	2006-06-18 06:20:09.000000000 -0500
+++ 1.3.14/themes/Crao/templates/signin.tmpl	2007-07-01 05:11:31.000000000 -0500
@@ -1,22 +1,21 @@
 <?php // -*-html-*-
-     rcs_id('$Id: signin.tmpl,v 1.3 2005/10/30 14:27:53 rurban Exp $');
+rcs_id('$Id: signin.tmpl,v 1.4 2007/01/02 13:29:23 rurban Exp $');
 
-     if (empty($FORMNAME))
-         $FORMNAME = 'signin';
-     else
-         $NOFORM = true;
+if (empty($FORMNAME))
+    $FORMNAME = 'signin';
+else
+    $NOFORM = true;
 ?>
 <?php if (empty($NOFORM)) { ?>
-  <form method="post" action="<?= $request->getPostURL() ?>" accept-charset="<?=CHARSET?>" name="<?=$FORMNAME?>">
+  <form method="post" action="<?= $request->getPostURL() ?>" accept-charset="<?=$charset?>" name="<?=$FORMNAME?>">
   <?= HiddenInputs($request->getArgs(), false, array('auth')) ?>
 <?php } ?>
 <?php if ($user->isSignedIn()) {
-  $Sep = $WikiTheme->getButtonSeparator();
   $SignOutB = $WikiTheme->makeButton(_("Sign Out"), "javascript:SignOut();", 'wikiaction');
 ?>
 <span>
   <?= fmt("You are signed in as %s", WikiLink($user->getId(), 'auto')) ?>
-  <?=$Sep?>
+  <?=$SEP?>
 </span>
   <script language="JavaScript" type="text/javascript"><!--
     document.write('<input type="hidden" name="auth[logout]" value="0" />');
@@ -55,12 +54,7 @@
     ?>');
   </script>
   <?= $SignInInput ?>
-  <noscript>
-    <?= Button("submit:auth[login]", _("Sign In"), 'wikiaction')?>
-  </noscript>
-
 <?php } ?>
-
 <?php if (empty($NOFORM)) { ?>
   </form>
 <?php } ?>
diff -ruN 1.3.12p3/themes/Crao/themeinfo.php 1.3.14/themes/Crao/themeinfo.php
--- 1.3.12p3/themes/Crao/themeinfo.php	2006-06-18 06:20:10.000000000 -0500
+++ 1.3.14/themes/Crao/themeinfo.php	2007-07-01 05:11:31.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-rcs_id('$Id: themeinfo.php,v 1.3 2005/09/18 13:04:37 rurban Exp $');
+rcs_id('$Id: themeinfo.php,v 1.4 2007/07/01 09:36:10 rurban Exp $');
 
 /*
  * This file defines the default appearance ("theme") of PhpWiki.
@@ -7,80 +7,84 @@
 
 require_once('lib/Theme.php');
 
-$WikiTheme = new Theme('Crao');
-
-// CSS file defines fonts, colors and background images for this
-// style.  The companion '*-heavy.css' file isn't defined, it's just
-// expected to be in the same directory that the base style is in.
-
-// This should result in phpwiki-printer.css being used when
-// printing or print-previewing with style "PhpWiki" selected.
-$WikiTheme->setDefaultCSS('Crao',
-                      array(''		=> 'crao.css',
-                            'print'	=> ''));
-
-// This allows one to manually select "Printer" style (when browsing page)
-// to see what the printer style looks like.
-//$WikiTheme->addAlternateCSS(_("Printer"), 'phpwiki-printer.css');
-//$WikiTheme->addAlternateCSS(_("Top & bottom toolbars"), 'phpwiki-topbottombars.css');
-//$WikiTheme->addAlternateCSS(_("Modern"), 'phpwiki-modern.css');
-
-
-/**
- * The logo image appears on every page and links to the HomePage.
- */
-//$WikiTheme->addImageAlias('logo', 'logo.png');
-
-/**
- * The Signature image is shown after saving an edited page. If this
- * is not set, any signature defined in index.php will be used. If it
- * is not defined by index.php or in here then the "Thank you for
- * editing..." screen will be omitted.
- */
-
-// Comment this next line out to enable signature.
-$WikiTheme->addImageAlias('signature', false);
-
-/*
- * Link icons.
- */
-$WikiTheme->setLinkIcon('http');
-$WikiTheme->setLinkIcon('https');
-$WikiTheme->setLinkIcon('ftp');
-$WikiTheme->setLinkIcon('mailto');
-$WikiTheme->setLinkIcon('interwiki');
-$WikiTheme->setLinkIcon('*', 'url');
-
-$WikiTheme->setButtonSeparator(HTML::raw("&nbsp;|&nbsp;"));
-
-/**
- * WikiWords can automatically be split by inserting spaces between
- * the words. The default is to leave WordsSmashedTogetherLikeSo.
- */
-$WikiTheme->setAutosplitWikiWords(false);
-
-/*
- * You may adjust the formats used for formatting dates and times
- * below.  (These examples give the default formats.)
- * Formats are given as format strings to PHP strftime() function See
- * http://www.php.net/manual/en/function.strftime.php for details.
- * Do not include the server's zone (%Z), times are converted to the
- * user's time zone.
- */
-//$WikiTheme->setDateFormat("%B %d, %Y");
-//$WikiTheme->setTimeFormat("%I:%M %p");
-
-/*
- * To suppress times in the "Last edited on" messages, give a
- * give a second argument of false:
- */
-//$WikiTheme->setDateFormat("%B %d, %Y", false); 
-$WikiTheme->setDateFormat("%A %e %B %Y"); // must not contain time
-//$WikiTheme->setDateFormat("%x"); // must not contain time
-$WikiTheme->setTimeFormat("%H:%M:%S");
-//$WikiTheme->setTimeFormat("%X");
+class Theme_Crao extends Theme {
 
+    function load() {
+	// CSS file defines fonts, colors and background images for this
+	// style.  The companion '*-heavy.css' file isn't defined, it's just
+	// expected to be in the same directory that the base style is in.
+
+	// This should result in phpwiki-printer.css being used when
+	// printing or print-previewing with style "PhpWiki" selected.
+	$this->setDefaultCSS('Crao',
+				  array(''      => 'crao.css',
+					'print'	=> ''));
+	
+	// This allows one to manually select "Printer" style (when browsing page)
+	// to see what the printer style looks like.
+	//$this->addAlternateCSS(_("Printer"), 'phpwiki-printer.css');
+	//$this->addAlternateCSS(_("Top & bottom toolbars"), 'phpwiki-topbottombars.css');
+	//$this->addAlternateCSS(_("Modern"), 'phpwiki-modern.css');
+
+
+	/**
+	 * The logo image appears on every page and links to the HomePage.
+	 */
+	//$this->addImageAlias('logo', 'logo.png');
+
+	/**
+	 * The Signature image is shown after saving an edited page. If this
+	 * is not set, any signature defined in index.php will be used. If it
+	 * is not defined by index.php or in here then the "Thank you for
+	 * editing..." screen will be omitted.
+	 */
+
+	// Comment this next line out to enable signature.
+	$this->addImageAlias('signature', false);
+
+	/*
+	 * Link icons.
+	 */
+	$this->setLinkIcon('http');
+	$this->setLinkIcon('https');
+	$this->setLinkIcon('ftp');
+	$this->setLinkIcon('mailto');
+	$this->setLinkIcon('interwiki');
+	$this->setLinkIcon('*', 'url');
+
+	$this->setButtonSeparator(HTML::raw("&nbsp;|&nbsp;"));
+
+	/**
+	 * WikiWords can automatically be split by inserting spaces between
+	 * the words. The default is to leave WordsSmashedTogetherLikeSo.
+	 */
+	$this->setAutosplitWikiWords(false);
+
+	/*
+	 * You may adjust the formats used for formatting dates and times
+	 * below.  (These examples give the default formats.)
+	 * Formats are given as format strings to PHP strftime() function See
+	 * http://www.php.net/manual/en/function.strftime.php for details.
+	 * Do not include the server's zone (%Z), times are converted to the
+	 * user's time zone.
+	 */
+	//$this->setDateFormat("%B %d, %Y");
+	//$this->setTimeFormat("%I:%M %p");
+
+	/*
+	 * To suppress times in the "Last edited on" messages, give a
+	 * give a second argument of false:
+	 */
+	//$this->setDateFormat("%B %d, %Y", false); 
+	$this->setDateFormat("%A %e %B %Y"); // must not contain time
+	//$this->setDateFormat("%x"); // must not contain time
+	$this->setTimeFormat("%H:%M:%S");
+	//$this->setTimeFormat("%X");
+	
+    }
+}
 
+$WikiTheme = new Theme_Crao('Crao');
 
 // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 // (c-file-style: "gnu")
diff -ruN 1.3.12p3/themes/default/ASCIIsvg.js 1.3.14/themes/default/ASCIIsvg.js
--- 1.3.12p3/themes/default/ASCIIsvg.js	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/themes/default/ASCIIsvg.js	2007-07-01 05:11:31.000000000 -0500
@@ -0,0 +1,1086 @@
+/* ASCIIsvg.js
+==============
+JavaScript routines to dynamically generate Scalable Vector Graphics
+using a mathematical xy-coordinate system (y increases upwards) and
+very intuitive JavaScript commands (no programming experience required).
+ASCIIsvg.js is good for learning math and illustrating online math texts.
+Works with Internet Explorer+Adobe SVGviewer and SVG enabled Mozilla/Firefox.
+
+Ver 1.2.7 Oct 13, 2005 (c) Peter Jipsen http://www.chapman.edu/~jipsen
+Latest version at http://www.chapman.edu/~jipsen/svg/ASCIIsvg.js
+If you use it on a webpage, please send the URL to jipsen@chapman.edu
+
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or (at
+your option) any later version.
+
+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) 
+for more details.*/
+
+var checkIfSVGavailable = true;
+var notifyIfNoSVG = true;
+var alertIfNoSVG = false;
+var xunitlength = 20;  // pixels
+var yunitlength = 20;  // pixels
+var origin = [0,0];   // in pixels (default is bottom left corner)
+var defaultwidth = 300; defaultheight = 200; defaultborder = 0;
+var border = defaultborder;
+var strokewidth, strokedasharray, stroke, fill;
+var fontstyle, fontfamily, fontsize, fontweight, fontstroke, fontfill;
+var markerstrokewidth = "1";
+var markerstroke = "black";
+var markerfill = "yellow";
+var marker = "none";
+var arrowfill = stroke;
+var dotradius = 4;
+var ticklength = 4;
+var axesstroke = "black";
+var gridstroke = "grey";
+var pointerpos = null;
+var coordinates = null;
+var above = "above";
+var below = "below";
+var left = "left";
+var right = "right";
+var aboveleft = "aboveleft";
+var aboveright = "aboveright";
+var belowleft = "belowleft";
+var belowright = "belowright";
+var cpi = "\u03C0", ctheta = "\u03B8";
+var pi = Math.PI, ln = Math.log, e = Math.E;
+var arcsin = Math.asin, arccos = Math.acos, arctan = Math.atan;
+var sec = function(x) { return 1/Math.cos(x) };
+var csc = function(x) { return 1/Math.sin(x) };
+var cot = function(x) { return 1/Math.tan(x) };
+var xmin, xmax, ymin, ymax, xscl, yscl, 
+    xgrid, ygrid, xtick, ytick, initialized;
+var isIE = document.createElementNS==null;
+var picture, svgpicture, doc, width, height, a, b, c, d, i, n, p, t, x, y;
+var arcsec = function(x) { return arccos(1/x) };
+var arccsc = function(x) { return arcsin(1/x) };
+var arccot = function(x) { return arctan(1/x) };
+var sinh = function(x) { return (Math.exp(x)-Math.exp(-x))/2 };
+var cosh = function(x) { return (Math.exp(x)+Math.exp(-x))/2 };
+var tanh = 
+  function(x) { return (Math.exp(x)-Math.exp(-x))/(Math.exp(x)+Math.exp(-x)) };
+var sech = function(x) { return 1/cosh(x) };
+var csch = function(x) { return 1/sinh(x) };
+var coth = function(x) { return 1/tanh(x) };
+var arcsinh = function(x) { return ln(x+Math.sqrt(x*x+1)) };
+var arccosh = function(x) { return ln(x+Math.sqrt(x*x-1)) };
+var arctanh = function(x) { return ln((1+x)/(1-x))/2 };
+var sech = function(x) { return 1/cosh(x) };
+var csch = function(x) { return 1/sinh(x) };
+var coth = function(x) { return 1/tanh(x) };
+var arcsech = function(x) { return arccosh(1/x) };
+var arccsch = function(x) { return arcsinh(1/x) };
+var arccoth = function(x) { return arctanh(1/x) };
+var sign = function(x) { return (x==0?0:(x<0?-1:1)) };
+
+function factorial(x,n) {
+  if (n==null) n=1;
+  for (var i=x-n; i>0; i-=n) x*=i;
+  return (x<0?NaN:(x==0?1:x));
+}
+
+function C(x,k) {
+  var res=1;
+  for (var i=0; i<k; i++) res*=(x-i)/(k-i);
+  return res;
+}
+
+function chop(x,n) {
+  if (n==null) n=0;
+  return Math.floor(x*Math.pow(10,n))/Math.pow(10,n);
+}
+
+function ran(a,b,n) {
+  if (n==null) n=0;
+  return chop((b+Math.pow(10,-n)-a)*Math.random()+a,n);
+}
+
+function myCreateElementXHTML(t) {
+  if (isIE) return document.createElement(t);
+  else return document.createElementNS("http://www.w3.org/1999/xhtml",t);
+}
+
+function isSVGavailable() {
+  var nd = myCreateElementXHTML("center");
+  nd.appendChild(document.createTextNode("To view the "));
+  var an = myCreateElementXHTML("a");
+  an.appendChild(document.createTextNode("ASCIIsvg"));
+  an.setAttribute("href","http://www.chapman.edu/~jipsen/asciisvg.html");
+  nd.appendChild(an);
+  nd.appendChild(document.createTextNode(" images use Internet Explorer 6+"));
+  an = myCreateElementXHTML("a");
+  an.appendChild(document.createTextNode("Adobe SVGviewer 3.02"));
+  an.setAttribute("href","http://www.adobe.com/svg");
+  nd.appendChild(an);
+  nd.appendChild(document.createTextNode(" or "));
+  an = myCreateElementXHTML("a");
+  an.appendChild(document.createTextNode("SVG enabled Mozilla/Firefox"));
+  an.setAttribute("href",
+    "http://www.chapman.edu/~jipsen/svg/svgenabledmozillafirefox.html");
+  nd.appendChild(an);
+  if (navigator.appName.slice(0,8)=="Netscape") 
+    if (window['SVGElement']) return null;
+    else return nd;
+  else if (navigator.appName.slice(0,9)=="Microsoft")
+    try	{
+      var oSVG=eval("new ActiveXObject('Adobe.SVGCtl.3');");
+        return null;
+    } catch (e) {
+        return nd;
+    }
+  else return nd;
+}
+
+
+function less(x,y) { return x < y }  // used for scripts in XML files
+                                     // since IE does not handle CDATA well
+function setText(st,id) { 
+  var node = document.getElementById(id);
+  if (node!=null)
+    if (node.childNodes.length!=0) node.childNodes[0].nodeValue = st;
+    else node.appendChild(document.createTextNode(st));
+}
+
+function myCreateElementSVG(t) {
+  if (isIE) return doc.createElement(t);
+  else return doc.createElementNS("http://www.w3.org/2000/svg",t);
+}
+
+function getX() {
+  return (doc.getElementById("pointerpos").getAttribute("cx")-origin[0])/xunitlength;
+}
+
+function getY() {
+  return (height-origin[1]-doc.getElementById("pointerpos").getAttribute("cy"))/yunitlength;
+}
+
+function mousemove_listener(evt) {
+  if (svgpicture.getAttribute("xbase")!=null)
+    pointerpos.cx.baseVal.value = evt.clientX-svgpicture.getAttribute("xbase");
+  if (svgpicture.getAttribute("ybase")!=null)
+    pointerpos.cy.baseVal.value = evt.clientY-svgpicture.getAttribute("ybase");
+}
+
+function top_listener(evt) {
+  svgpicture.setAttribute("ybase",evt.clientY);
+}
+
+function bottom_listener(evt) { 
+  svgpicture.setAttribute("ybase",evt.clientY-height+1);
+}
+
+function left_listener(evt) {
+  svgpicture.setAttribute("xbase",evt.clientX);
+}
+
+function right_listener(evt) {
+  svgpicture.setAttribute("xbase",evt.clientX-width+1);
+}
+
+function drawPictures() { // main routine; called after webpage has loaded
+  var src, id, dsvg, onmov, nd, node, ht, index;
+  var pictures = document.getElementsByTagName("textarea");
+  for (index = 0; index<pictures.length; index++)
+    if (pictures[index].className=="ASCIIsvg"){
+      pictures[index].style.display="none";  // hide the textarea
+    }
+  pictures = document.getElementsByTagName("embed");
+  var len = pictures.length;
+ if (checkIfSVGavailable) {
+  nd = isSVGavailable();
+  if (nd != null && notifyIfNoSVG && len>0)
+    if (alertIfNoSVG)
+      alert("To view the SVG pictures in Internet Explorer\n\
+download the free Adobe SVGviewer from www.adobe.com/svg or\n\
+use Firefox 1.5 preview (called Deerpark)");
+    else {
+    var ASbody = document.getElementsByTagName("body")[0];
+    ASbody.insertBefore(nd,ASbody.childNodes[0]);
+  }
+ }
+ if (nd == null) {
+  for (index = 0; index < len; index++) {
+    xmin = null; xmax = null; ymin = null; ymax = null;
+    xscl = null; xgrid = null; yscl = null; ygrid = null;
+    initialized = false;
+    picture = (isIE ? pictures[index] : pictures[0]);
+    src = picture.getAttribute("script");
+    if (src==null) src = "";
+    ht = picture.getAttribute("height");
+    if (ht==null) ht ="";
+   if (ht!="") defaultborder = 25;
+   if (ht=="" || src=="") 
+    if (document.getElementById("picture"+(index+1)+"input")==null) {
+      if (isIE && src.indexOf("nobutton()")==-1)
+        picture.parentNode.insertBefore(myCreateElementXHTML("br"),picture);
+      node = myCreateElementXHTML("textarea");
+      node.setAttribute("rows","10");
+      node.setAttribute("cols","60");
+//      node.setAttribute("style","display:block");
+      if (isIE) src = src.replace(/([^\r])\n/g,"$1\r").slice(1);
+      node.appendChild(document.createTextNode(src));
+      if (src.indexOf("showcode()")==-1) node.style.display = "none";
+      node.setAttribute("id","picture"+(index+1)+"input");
+      picture.parentNode.insertBefore(node,picture);
+
+      if (src.indexOf("nobutton()")==-1) {
+        picture.parentNode.insertBefore(myCreateElementXHTML("br"),picture);
+
+        node = myCreateElementXHTML("button");
+        if (isIE) node.onclick = function() { showHideCode(this) };
+        else node.setAttribute("onclick","showHideCode(this)");
+        node.appendChild(document.createTextNode("Show/Hide"));
+        picture.parentNode.insertBefore(node,picture);
+
+        node = myCreateElementXHTML("button");
+        if (isIE) node.onclick = ASfn[index];
+        else node.setAttribute("onclick","updatePicture("+index+")");
+        node.appendChild(document.createTextNode("Update"));
+        if (src.indexOf("showCode()")==-1) node.style.display = "none";
+        picture.parentNode.insertBefore(node,picture);
+
+/*      node = myCreateElementXHTML("span");
+//      node.setAttribute("id","AScoord"+index);
+        node.appendChild(document.createTextNode("(x,y)"));
+        picture.parentNode.insertBefore(node,picture);
+*/
+        picture.parentNode.insertBefore(myCreateElementXHTML("br"),picture);
+      }
+      if (isIE) picture.onmousemove = ASupdateCoords[index];
+      else picture.setAttribute("onmousemove","updateCoords"+index+"()");
+    } else src = document.getElementById("picture"+(index+1)+"input").value;
+    src = src.replace(/plot\(\x20*([^\"f\[][^\n\r]+?)\,/g,"plot\(\"$1\",");
+    src = src.replace(/plot\(\x20*([^\"f\[][^\n\r]+)\)/g,"plot(\"$1\")");
+    src = src.replace(/([0-9])([a-zA-Z])/g,"$1*$2");
+    src = src.replace(/\)([\(0-9a-zA-Z])/g,"\)*$1");
+//    eval(src.replace(/\s\s/g,";")); //for XML version
+    id = picture.getAttribute("id");
+    dsvg = picture.getAttribute("src");
+    onmov = picture.getAttribute("onmousemove");
+    if (id == null || id == "") {
+      id = "picture"+(index+1);
+      picture.setAttribute("id",id);
+    }
+    try {
+      with (Math) eval(src);
+    } catch(err) {alert(err+"\n"+src)}
+    if (isIE) src = src.replace(/([^\r])\n/g,"$1\r");
+    setText("<embed width=\""+width+"\" height=\""+height+"\" src=\""+
+            dsvg+"\" "+(onmov!=null?"onmousemove=\""+onmov+"\"":"")+
+            (isIE?"\r":"\n")+"script=\'"+src+"\'>",id+"script");
+//    setText(src.replace(/\s\s/g,"\r"),id+"script"); //for XML version
+  }
+ }
+}
+
+function switchTo(id) {
+//alert(id);
+  picture = document.getElementById(id);
+  width = picture.getAttribute("width")-0;
+  height = picture.getAttribute("height")-0;
+  strokewidth = "1" // pixel
+  stroke = "black"; // default line color
+  fill = "none";    // default fill color
+  marker = "none";
+  if ((picture.nodeName == "EMBED" || picture.nodeName == "embed") && isIE) {
+    svgpicture = picture.getSVGDocument().getElementById("root");
+    doc = picture.getSVGDocument();
+  } else {
+    picture.setAttribute("onmousemove","updateCoords"+(id.slice(id.length-1)-1)+"()");
+//alert(picture.getAttribute("onmousemove")+"***");
+    svgpicture = picture;
+    doc = document;
+  }
+  xunitlength = svgpicture.getAttribute("xunitlength")-0;
+  yunitlength = svgpicture.getAttribute("yunitlength")-0;
+  xmin = svgpicture.getAttribute("xmin")-0;
+  xmax = svgpicture.getAttribute("xmax")-0;
+  ymin = svgpicture.getAttribute("ymin")-0;
+  ymax = svgpicture.getAttribute("ymax")-0;
+  origin = [svgpicture.getAttribute("ox")-0,svgpicture.getAttribute("oy")-0];
+}
+
+function updatePicture(obj) {
+//alert(typeof obj)
+  var src = document.getElementById((typeof obj=="string"?
+              obj:"picture"+(obj+1)+"input")).value;
+  xmin = null; xmax = null; ymin = null; ymax = null;
+  xscl = null; xgrid = null; yscl = null; ygrid = null;
+  initialized = false;
+  switchTo((typeof obj=="string"?obj.slice(0,8):"picture"+(obj+1)));
+  src = src.replace(/plot\(\x20*([^\"f\[][^\n\r]+?)\,/g,"plot\(\"$1\",");
+  src = src.replace(/plot\(\x20*([^\"f\[][^\n\r]+)\)/g,"plot(\"$1\")");
+  src = src.replace(/([0-9])([a-zA-Z])/g,"$1*$2");
+  src = src.replace(/\)([\(0-9a-zA-Z])/g,"\)*$1");
+//alert(src);
+  try {
+    with (Math) eval(src);
+  } catch(err) {alert(err+"\n"+src)}
+}
+
+function showHideCode(obj) {
+  var node = obj.nextSibling;
+  while (node != null && node.nodeName != "BUTTON" && 
+    node.nodeName != "button") node = node.nextSibling;
+  if (node.style.display == "none") node.style.display = "";
+  else node.style.display = "none";
+  while (node != null && node.nodeName != "TEXTAREA" && 
+    node.nodeName != "textarea") node = node.previousSibling;
+  if (node.style.display == "none") node.style.display = "";
+  else node.style.display = "none";
+//  updatePicture(node.getAttribute("id"));
+}
+
+function hideCode() { //do nothing
+}
+
+function showcode() { //do nothing
+}
+
+function nobutton() { //do nothing
+}
+
+function setBorder(x) { border = x }
+
+function initPicture(x_min,x_max,y_min,y_max) {
+ if (!initialized) {
+  strokewidth = "1"; // pixel
+  strokedasharray = null;
+  stroke = "black"; // default line color
+  fill = "none";    // default fill color
+  fontstyle = "italic"; // default shape for text labels
+  fontfamily = "times"; // default font
+  fontsize = "16";      // default size
+  fontweight = "normal";
+  fontstroke = "none";  // default font outline color
+  fontfill = "none";    // default font color
+  marker = "none";
+  initialized = true;
+  if (x_min!=null) xmin = x_min;
+  if (x_max!=null) xmax = x_max;
+  if (y_min!=null) ymin = y_min;
+  if (y_max!=null) ymax = y_max;
+  if (xmin==null) xmin = -5;
+  if (xmax==null) xmax = 5;
+ if (typeof xmin != "number" || typeof xmax != "number" || xmin >= xmax) 
+   alert("Picture requires at least two numbers: xmin < xmax");
+ else if (y_max != null && (typeof y_min != "number" || 
+          typeof y_max != "number" || y_min >= y_max))
+   alert("initPicture(xmin,xmax,ymin,ymax) requires numbers ymin < ymax");
+ else {
+  if (width==null) width = picture.getAttribute("width");
+  else picture.setAttribute("width",width);
+  if (width==null || width=="") width=defaultwidth;
+  if (height==null) height = picture.getAttribute("height");
+  else picture.setAttribute("height",height);
+  if (height==null || height=="") height=defaultheight;
+  xunitlength = (width-2*border)/(xmax-xmin);
+  yunitlength = xunitlength;
+//alert(xmin+" "+xmax+" "+ymin+" "+ymax)
+  if (ymin==null) {
+    origin = [-xmin*xunitlength+border,height/2];
+    ymin = -(height-2*border)/(2*yunitlength);
+    ymax = -ymin;
+  } else {
+    if (ymax!=null) yunitlength = (height-2*border)/(ymax-ymin);
+    else ymax = (height-2*border)/yunitlength + ymin;
+    origin = [-xmin*xunitlength+border,-ymin*yunitlength+border];
+  }
+//  if (true ||picture.nodeName == "EMBED" || picture.nodeName == "embed") {
+    if (isIE) {
+      svgpicture = picture.getSVGDocument().getElementById("root");
+      while (svgpicture.childNodes.length()>5) 
+        svgpicture.removeChild(svgpicture.lastChild); 
+      svgpicture.setAttribute("width",width);
+      svgpicture.setAttribute("height",height);
+      doc = picture.getSVGDocument();
+    } else {
+      var qnode = document.createElementNS("http://www.w3.org/2000/svg","svg");
+      qnode.setAttribute("id",picture.getAttribute("id"));
+      qnode.setAttribute("style","display:inline");
+      qnode.setAttribute("width",picture.getAttribute("width"));
+      qnode.setAttribute("height",picture.getAttribute("height"));
+      if (picture.parentNode!=null)
+        picture.parentNode.replaceChild(qnode,picture);
+      else
+        svgpicture.parentNode.replaceChild(qnode,svgpicture);
+      svgpicture = qnode;
+      doc = document;
+      pointerpos = doc.getElementById("pointerpos");
+      if (pointerpos==null) {
+        pointerpos = myCreateElementSVG("circle");
+        pointerpos.setAttribute("id","pointerpos");
+        pointerpos.setAttribute("cx",0);
+        pointerpos.setAttribute("cy",0);
+        pointerpos.setAttribute("r",0.5);
+        pointerpos.setAttribute("fill","red");
+        svgpicture.appendChild(pointerpos);
+      }
+    }
+//  } else {
+//    svgpicture = picture;
+//    doc = document;
+//  }
+  svgpicture.setAttribute("xunitlength",xunitlength);
+  svgpicture.setAttribute("yunitlength",yunitlength);
+  svgpicture.setAttribute("xmin",xmin);
+  svgpicture.setAttribute("xmax",xmax);
+  svgpicture.setAttribute("ymin",ymin);
+  svgpicture.setAttribute("ymax",ymax);
+  svgpicture.setAttribute("ox",origin[0]);
+  svgpicture.setAttribute("oy",origin[1]);
+  var node = myCreateElementSVG("rect");
+  node.setAttribute("x","0");
+  node.setAttribute("y","0");
+  node.setAttribute("width",width);
+  node.setAttribute("height",height);
+  node.setAttribute("style","stroke-width:1;fill:white");
+  svgpicture.appendChild(node);
+  if (!isIE && picture.getAttribute("onmousemove")!=null) {
+    svgpicture.addEventListener("mousemove", mousemove_listener, true);
+    var st = picture.getAttribute("onmousemove");
+    svgpicture.addEventListener("mousemove", eval(st.slice(0,st.indexOf("("))), true);
+    node = myCreateElementSVG("polyline");
+    node.setAttribute("points","0,0 "+width+",0");
+    node.setAttribute("style","stroke:white; stroke-width:3");
+    node.addEventListener("mousemove", top_listener, true);
+    svgpicture.appendChild(node);
+    node = myCreateElementSVG("polyline");
+    node.setAttribute("points","0,"+height+" "+width+","+height);
+    node.setAttribute("style","stroke:white; stroke-width:3");
+    node.addEventListener("mousemove", bottom_listener, true);
+    svgpicture.appendChild(node);
+    node = myCreateElementSVG("polyline");
+    node.setAttribute("points","0,0 0,"+height);
+    node.setAttribute("style","stroke:white; stroke-width:3");
+    node.addEventListener("mousemove", left_listener, true);
+    svgpicture.appendChild(node);
+    node = myCreateElementSVG("polyline");
+    node.setAttribute("points",(width-1)+",0 "+(width-1)+","+height);
+    node.setAttribute("style","stroke:white; stroke-width:3");
+    node.addEventListener("mousemove", right_listener, true);
+    svgpicture.appendChild(node);
+  }
+  border = defaultborder;
+ }
+ }
+}
+
+function line(p,q,id) { // segment connecting points p,q (coordinates in units)
+  var node;
+  if (id!=null) node = doc.getElementById(id);
+  if (node==null) {
+    node = myCreateElementSVG("path");
+    node.setAttribute("id", id);
+    svgpicture.appendChild(node);
+  }
+  node.setAttribute("d","M"+(p[0]*xunitlength+origin[0])+","+
+    (height-p[1]*yunitlength-origin[1])+" "+
+    (q[0]*xunitlength+origin[0])+","+(height-q[1]*yunitlength-origin[1]));
+  node.setAttribute("stroke-width", strokewidth);
+  if (strokedasharray!=null) 
+    node.setAttribute("stroke-dasharray", strokedasharray);
+  node.setAttribute("stroke", stroke);
+  node.setAttribute("fill", fill);
+  if (marker=="dot" || marker=="arrowdot") {
+    ASdot(p,4,markerstroke,markerfill);
+    if (marker=="arrowdot") arrowhead(p,q);
+    ASdot(q,4,markerstroke,markerfill);
+  } else if (marker=="arrow") arrowhead(p,q);
+}
+
+function path(plist,id,c) {
+  if (c==null) c="";
+  var node, st, i;
+  if (id!=null) node = doc.getElementById(id);
+  if (node==null) {
+    node = myCreateElementSVG("path");
+    node.setAttribute("id", id);
+    svgpicture.appendChild(node);
+  }
+  if (typeof plist == "string") st = plist;
+  else {
+    st = "M";
+    st += (plist[0][0]*xunitlength+origin[0])+","+
+          (height-plist[0][1]*yunitlength-origin[1])+" "+c;
+    for (i=1; i<plist.length; i++)
+      st += (plist[i][0]*xunitlength+origin[0])+","+
+            (height-plist[i][1]*yunitlength-origin[1])+" ";
+  }
+  node.setAttribute("d", st);
+  node.setAttribute("stroke-width", strokewidth);
+  if (strokedasharray!=null) 
+    node.setAttribute("stroke-dasharray", strokedasharray);
+  node.setAttribute("stroke", stroke);
+  node.setAttribute("fill", fill);
+  if (marker=="dot" || marker=="arrowdot")
+    for (i=0; i<plist.length; i++)
+      if (c!="C" && c!="T" || i!=1 && i!=2)
+        ASdot(plist[i],4,markerstroke,markerfill);
+}
+
+function curve(plist,id) {
+  path(plist,id,"T");
+}
+
+function circle(center,radius,id) { // coordinates in units
+  var node;
+  if (id!=null) node = doc.getElementById(id);
+  if (node==null) {
+    node = myCreateElementSVG("circle");
+    node.setAttribute("id", id);
+    svgpicture.appendChild(node);
+  }
+  node.setAttribute("cx",center[0]*xunitlength+origin[0]);
+  node.setAttribute("cy",height-center[1]*yunitlength-origin[1]);
+  node.setAttribute("r",radius*xunitlength);
+  node.setAttribute("stroke-width", strokewidth);
+  node.setAttribute("stroke", stroke);
+  node.setAttribute("fill", fill);
+}
+
+function loop(p,d,id) { 
+// d is a direction vector e.g. [1,0] means loop starts in that direction
+  if (d==null) d=[1,0];
+  path([p,[p[0]+d[0],p[1]+d[1]],[p[0]-d[1],p[1]+d[0]],p],id,"C");
+  if (marker=="arrow" || marker=="arrowdot") 
+    arrowhead([p[0]+Math.cos(1.4)*d[0]-Math.sin(1.4)*d[1],
+               p[1]+Math.sin(1.4)*d[0]+Math.cos(1.4)*d[1]],p);
+}
+
+function arc(start,end,radius,id) { // coordinates in units
+  var node, v;
+//alert([fill, stroke, origin, xunitlength, yunitlength, height])
+  if (id!=null) node = doc.getElementById(id);
+  if (radius==null) {
+    v=[end[0]-start[0],end[1]-start[1]];
+    radius = Math.sqrt(v[0]*v[0]+v[1]*v[1]);
+  }
+  if (node==null) {
+    node = myCreateElementSVG("path");
+    node.setAttribute("id", id);
+    svgpicture.appendChild(node);
+  }
+  node.setAttribute("d","M"+(start[0]*xunitlength+origin[0])+","+
+    (height-start[1]*yunitlength-origin[1])+" A"+radius*xunitlength+","+
+     radius*yunitlength+" 0 0,0 "+(end[0]*xunitlength+origin[0])+","+
+    (height-end[1]*yunitlength-origin[1]));
+  node.setAttribute("stroke-width", strokewidth);
+  node.setAttribute("stroke", stroke);
+  node.setAttribute("fill", fill);
+  if (marker=="arrow" || marker=="arrowdot") {
+    u = [(end[1]-start[1])/4,(start[0]-end[0])/4];
+    v = [(end[0]-start[0])/2,(end[1]-start[1])/2];
+//alert([u,v])
+    v = [start[0]+v[0]+u[0],start[1]+v[1]+u[1]];
+  } else v=[start[0],start[1]];
+  if (marker=="dot" || marker=="arrowdot") {
+    ASdot(start,4,markerstroke,markerfill);
+    if (marker=="arrowdot") arrowhead(v,end);
+    ASdot(end,4,markerstroke,markerfill);
+  } else if (marker=="arrow") arrowhead(v,end);
+}
+
+function ellipse(center,rx,ry,id) { // coordinates in units
+  var node;
+  if (id!=null) node = doc.getElementById(id);
+  if (node==null) {
+    node = myCreateElementSVG("ellipse");
+    node.setAttribute("id", id);
+    svgpicture.appendChild(node);
+  }
+  node.setAttribute("cx",center[0]*xunitlength+origin[0]);
+  node.setAttribute("cy",height-center[1]*yunitlength-origin[1]);
+  node.setAttribute("rx",rx*xunitlength);
+  node.setAttribute("ry",ry*yunitlength);
+  node.setAttribute("stroke-width", strokewidth);
+  node.setAttribute("stroke", stroke);
+  node.setAttribute("fill", fill);
+}
+
+function rect(p,q,id,rx,ry) { // opposite corners in units, rounded by radii
+  var node;
+  if (id!=null) node = doc.getElementById(id);
+  if (node==null) {
+    node = myCreateElementSVG("rect");
+    node.setAttribute("id", id);
+    svgpicture.appendChild(node);
+  }
+  node.setAttribute("x",p[0]*xunitlength+origin[0]);
+  node.setAttribute("y",height-q[1]*yunitlength-origin[1]);
+  node.setAttribute("width",(q[0]-p[0])*xunitlength);
+  node.setAttribute("height",(q[1]-p[1])*yunitlength);
+  if (rx!=null) node.setAttribute("rx",rx*xunitlength);
+  if (ry!=null) node.setAttribute("ry",ry*yunitlength);
+  node.setAttribute("stroke-width", strokewidth);
+  node.setAttribute("stroke", stroke);
+  node.setAttribute("fill", fill);
+}
+
+function text(p,st,pos,id,fontsty) {
+  var textanchor = "middle";
+  var dx = 0; var dy = fontsize/3;
+  if (pos!=null) {
+    if (pos.slice(0,5)=="above") dy = -fontsize/2;
+    if (pos.slice(0,5)=="below") dy = fontsize-0;
+    if (pos.slice(0,5)=="right" || pos.slice(5,10)=="right") {
+      textanchor = "start";
+      dx = fontsize/2;
+    }
+    if (pos.slice(0,4)=="left" || pos.slice(5,9)=="left") {
+      textanchor = "end";
+      dx = -fontsize/2;
+    }
+  }
+  var node;
+  if (id!=null) node = doc.getElementById(id);
+  if (node==null) {
+    node = myCreateElementSVG("text");
+    node.setAttribute("id", id);
+    svgpicture.appendChild(node);
+    node.appendChild(doc.createTextNode(st));
+  }
+  node.lastChild.nodeValue = st;
+  node.setAttribute("x",p[0]*xunitlength+origin[0]+dx);
+  node.setAttribute("y",height-p[1]*yunitlength-origin[1]+dy);
+  node.setAttribute("font-style",(fontsty!=null?fontsty:fontstyle));
+  node.setAttribute("font-family",fontfamily);
+  node.setAttribute("font-size",fontsize);
+  node.setAttribute("font-weight",fontweight);
+  node.setAttribute("text-anchor",textanchor);
+  if (fontstroke!="none") node.setAttribute("stroke",fontstroke);
+  if (fontfill!="none") node.setAttribute("fill",fontfill);
+  return p;
+}
+
+function ASdot(center,radius,s,f) { // coordinates in units, radius in pixel
+  if (s==null) s = stroke; if (f==null) f = fill;
+  var node = myCreateElementSVG("circle");
+  node.setAttribute("cx",center[0]*xunitlength+origin[0]);
+  node.setAttribute("cy",height-center[1]*yunitlength-origin[1]);
+  node.setAttribute("r",radius);
+  node.setAttribute("stroke-width", strokewidth);
+  node.setAttribute("stroke", s);
+  node.setAttribute("fill", f);
+  svgpicture.appendChild(node);
+}
+
+function dot(center, typ, label, pos, id) {
+  var node;
+  var cx = center[0]*xunitlength+origin[0];
+  var cy = height-center[1]*yunitlength-origin[1];
+  if (id!=null) node = doc.getElementById(id);
+  if (typ=="+" || typ=="-" || typ=="|") {
+    if (node==null) {
+      node = myCreateElementSVG("path");
+      node.setAttribute("id", id);
+      svgpicture.appendChild(node);
+    }
+    if (typ=="+") {
+      node.setAttribute("d",
+        " M "+(cx-ticklength)+" "+cy+" L "+(cx+ticklength)+" "+cy+
+        " M "+cx+" "+(cy-ticklength)+" L "+cx+" "+(cy+ticklength));
+      node.setAttribute("stroke-width", .5);
+      node.setAttribute("stroke", axesstroke);
+    } else {
+      if (typ=="-") node.setAttribute("d",
+        " M "+(cx-ticklength)+" "+cy+" L "+(cx+ticklength)+" "+cy);
+      else node.setAttribute("d",
+        " M "+cx+" "+(cy-ticklength)+" L "+cx+" "+(cy+ticklength));
+      node.setAttribute("stroke-width", strokewidth);
+      node.setAttribute("stroke", stroke);
+    }
+  } else {
+    if (node==null) {
+      node = myCreateElementSVG("circle");
+      node.setAttribute("id", id);
+      svgpicture.appendChild(node);
+    }
+    node.setAttribute("cx",cx);
+    node.setAttribute("cy",cy);
+    node.setAttribute("r",dotradius);
+    node.setAttribute("stroke-width", strokewidth);
+    node.setAttribute("stroke", stroke);
+    node.setAttribute("fill", (typ=="open"?"white":stroke));
+  }
+  if (label!=null) 
+    text(center,label,(pos==null?"below":pos),(id==null?id:id+"label"))
+}
+
+function arrowhead(p,q) { // draw arrowhead at q (in units)
+  var up;
+  var v = [p[0]*xunitlength+origin[0],height-p[1]*yunitlength-origin[1]];
+  var w = [q[0]*xunitlength+origin[0],height-q[1]*yunitlength-origin[1]];
+  var u = [w[0]-v[0],w[1]-v[1]];
+  var d = Math.sqrt(u[0]*u[0]+u[1]*u[1]);
+  if (d > 0.00000001) {
+    u = [u[0]/d, u[1]/d];
+    up = [-u[1],u[0]];
+    var node = myCreateElementSVG("path");
+    node.setAttribute("d","M "+(w[0]-15*u[0]-4*up[0])+" "+
+      (w[1]-15*u[1]-4*up[1])+" L "+(w[0]-3*u[0])+" "+(w[1]-3*u[1])+" L "+
+      (w[0]-15*u[0]+4*up[0])+" "+(w[1]-15*u[1]+4*up[1])+" z");
+    node.setAttribute("stroke-width", markerstrokewidth);
+    node.setAttribute("stroke", stroke); /*was markerstroke*/
+    node.setAttribute("fill", stroke); /*was arrowfill*/
+    svgpicture.appendChild(node);    
+  }
+}
+
+function chopZ(st) {
+  var k = st.indexOf(".");
+  if (k==-1) return st;
+  for (var i=st.length-1; i>k && st.charAt(i)=="0"; i--);
+  if (i==k) i--;
+  return st.slice(0,i+1);
+}
+
+function grid(dx,dy) { // for backward compatibility
+  axes(dx,dy,null,dx,dy)
+}
+
+function noaxes() {
+  if (!initialized) initPicture();
+}
+
+function axes(dx,dy,labels,gdx,gdy) {
+//xscl=x is equivalent to xtick=x; xgrid=x; labels=true;
+  var x, y, ldx, ldy, lx, ly, lxp, lyp, pnode, st;
+  if (!initialized) initPicture();
+  if (typeof dx=="string") { labels = dx; dx = null; }
+  if (typeof dy=="string") { gdx = dy; dy = null; }
+  if (xscl!=null) {dx = xscl; gdx = xscl; labels = dx}
+  if (yscl!=null) {dy = yscl; gdy = yscl}
+  if (xtick!=null) {dx = xtick}
+  if (ytick!=null) {dy = ytick}
+//alert(null)
+  dx = (dx==null?xunitlength:dx*xunitlength);
+  dy = (dy==null?dx:dy*yunitlength);
+  fontsize = Math.min(dx/2,dy/2,16);//alert(fontsize)
+  ticklength = fontsize/4;
+  if (xgrid!=null) gdx = xgrid;
+  if (ygrid!=null) gdy = ygrid;
+  if (gdx!=null) {
+    gdx = (typeof gdx=="string"?dx:gdx*xunitlength);
+    gdy = (gdy==null?dy:gdy*yunitlength);
+    pnode = myCreateElementSVG("path");
+    st="";
+    for (x = origin[0]; x<width; x = x+gdx)
+      st += " M"+x+",0"+" "+x+","+height;
+    for (x = origin[0]-gdx; x>0; x = x-gdx)
+      st += " M"+x+",0"+" "+x+","+height;
+    for (y = height-origin[1]; y<height; y = y+gdy)
+      st += " M0,"+y+" "+width+","+y;
+    for (y = height-origin[1]-gdy; y>0; y = y-gdy)
+      st += " M0,"+y+" "+width+","+y;
+    pnode.setAttribute("d",st);
+    pnode.setAttribute("stroke-width", .5);
+    pnode.setAttribute("stroke", gridstroke);
+    pnode.setAttribute("fill", fill);
+    svgpicture.appendChild(pnode);
+  }
+  pnode = myCreateElementSVG("path");
+  st="M0,"+(height-origin[1])+" "+width+","+
+    (height-origin[1])+" M"+origin[0]+",0 "+origin[0]+","+height;
+  for (x = origin[0]+dx; x<width; x = x+dx)
+    st += " M"+x+","+(height-origin[1]+ticklength)+" "+x+","+
+           (height-origin[1]-ticklength);
+  for (x = origin[0]-dx; x>0; x = x-dx)
+    st += " M"+x+","+(height-origin[1]+ticklength)+" "+x+","+
+           (height-origin[1]-ticklength);
+  for (y = height-origin[1]+dy; y<height; y = y+dy)
+    st += " M"+(origin[0]+ticklength)+","+y+" "+(origin[0]-ticklength)+","+y;
+  for (y = height-origin[1]-dy; y>0; y = y-dy)
+    st += " M"+(origin[0]+ticklength)+","+y+" "+(origin[0]-ticklength)+","+y;
+  if (labels!=null) with (Math) {
+    ldx = dx/xunitlength;
+    ldy = dy/yunitlength;
+    lx = (xmin>0 || xmax<0?xmin:0);
+    ly = (ymin>0 || ymax<0?ymin:0);
+    lxp = (ly==0?"below":"above");
+    lyp = (lx==0?"left":"right");
+    var ddx = floor(1.1-log(ldx)/log(10))+1;
+    var ddy = floor(1.1-log(ldy)/log(10))+1;
+    for (x = ldx; x<=xmax; x = x+ldx)
+      text([x,ly],chopZ(x.toFixed(ddx)),lxp);
+    for (x = -ldx; xmin<=x; x = x-ldx)
+      text([x,ly],chopZ(x.toFixed(ddx)),lxp);
+    for (y = ldy; y<=ymax; y = y+ldy)
+      text([lx,y],chopZ(y.toFixed(ddy)),lyp);
+    for (y = -ldy; ymin<=y; y = y-ldy)
+      text([lx,y],chopZ(y.toFixed(ddy)),lyp);
+  }
+  pnode.setAttribute("d",st);
+  pnode.setAttribute("stroke-width", .5);
+  pnode.setAttribute("stroke", axesstroke);
+  pnode.setAttribute("fill", fill);
+  svgpicture.appendChild(pnode);
+}
+
+function mathjs(st) {
+  //translate a math formula to js function notation
+  // a^b --> pow(a,b)
+  // na --> n*a
+  // (...)d --> (...)*d
+  // n! --> factorial(n)
+  // sin^-1 --> arcsin etc.
+  //while ^ in string, find term on left and right
+  //slice and concat new formula string
+  st = st.replace(/\s/g,"");
+  if (st.indexOf("^-1")!=-1) {
+    st = st.replace(/sin\^-1/g,"arcsin");
+    st = st.replace(/cos\^-1/g,"arccos");
+    st = st.replace(/tan\^-1/g,"arctan");
+    st = st.replace(/sec\^-1/g,"arcsec");
+    st = st.replace(/csc\^-1/g,"arccsc");
+    st = st.replace(/cot\^-1/g,"arccot");
+    st = st.replace(/sinh\^-1/g,"arcsinh");
+    st = st.replace(/cosh\^-1/g,"arccosh");
+    st = st.replace(/tanh\^-1/g,"arctanh");
+    st = st.replace(/sech\^-1/g,"arcsech");
+    st = st.replace(/csch\^-1/g,"arccsch");
+    st = st.replace(/coth\^-1/g,"arccoth");
+  }
+  st = st.replace(/^e$/g,"(E)");
+  st = st.replace(/^e([^a-zA-Z])/g,"(E)$1");
+  st = st.replace(/([^a-zA-Z])e([^a-zA-Z])/g,"$1(E)$2");
+  st = st.replace(/([0-9])([\(a-zA-Z])/g,"$1*$2");
+  st = st.replace(/\)([\(0-9a-zA-Z])/g,"\)*$1");
+  var i,j,k, ch, nested;
+  while ((i=st.indexOf("^"))!=-1) {
+    //find left argument
+    if (i==0) return "Error: missing argument";
+    j = i-1;
+    ch = st.charAt(j);
+    if (ch>="0" && ch<="9") {// look for (decimal) number
+      j--;
+      while (j>=0 && (ch=st.charAt(j))>="0" && ch<="9") j--;
+      if (ch==".") {
+        j--;
+        while (j>=0 && (ch=st.charAt(j))>="0" && ch<="9") j--;
+      }
+    } else if (ch==")") {// look for matching opening bracket and function name
+      nested = 1;
+      j--;
+      while (j>=0 && nested>0) {
+        ch = st.charAt(j);
+        if (ch=="(") nested--;
+        else if (ch==")") nested++;
+        j--;
+      }
+      while (j>=0 && (ch=st.charAt(j))>="a" && ch<="z" || ch>="A" && ch<="Z")
+        j--;
+    } else if (ch>="a" && ch<="z" || ch>="A" && ch<="Z") {// look for variable
+      j--;
+      while (j>=0 && (ch=st.charAt(j))>="a" && ch<="z" || ch>="A" && ch<="Z")
+        j--;
+    } else { 
+      return "Error: incorrect syntax in "+st+" at position "+j;
+    }
+    //find right argument
+    if (i==st.length-1) return "Error: missing argument";
+    k = i+1;
+    ch = st.charAt(k);
+    if (ch>="0" && ch<="9" || ch=="-") {// look for signed (decimal) number
+      k++;
+      while (k<st.length && (ch=st.charAt(k))>="0" && ch<="9") k++;
+      if (ch==".") {
+        k++;
+        while (k<st.length && (ch=st.charAt(k))>="0" && ch<="9") k++;
+      }
+    } else if (ch=="(") {// look for matching closing bracket and function name
+      nested = 1;
+      k++;
+      while (k<st.length && nested>0) {
+        ch = st.charAt(k);
+        if (ch=="(") nested++;
+        else if (ch==")") nested--;
+        k++;
+      }
+    } else if (ch>="a" && ch<="z" || ch>="A" && ch<="Z") {// look for variable
+      k++;
+      while (k<st.length && (ch=st.charAt(k))>="a" && ch<="z" ||
+               ch>="A" && ch<="Z") k++;
+    } else { 
+      return "Error: incorrect syntax in "+st+" at position "+k;
+    }
+    st = st.slice(0,j+1)+"pow("+st.slice(j+1,i)+","+st.slice(i+1,k)+")"+
+           st.slice(k);
+  }
+  while ((i=st.indexOf("!"))!=-1) {
+    //find left argument
+    if (i==0) return "Error: missing argument";
+    j = i-1;
+    ch = st.charAt(j);
+    if (ch>="0" && ch<="9") {// look for (decimal) number
+      j--;
+      while (j>=0 && (ch=st.charAt(j))>="0" && ch<="9") j--;
+      if (ch==".") {
+        j--;
+        while (j>=0 && (ch=st.charAt(j))>="0" && ch<="9") j--;
+      }
+    } else if (ch==")") {// look for matching opening bracket and function name
+      nested = 1;
+      j--;
+      while (j>=0 && nested>0) {
+        ch = st.charAt(j);
+        if (ch=="(") nested--;
+        else if (ch==")") nested++;
+        j--;
+      }
+      while (j>=0 && (ch=st.charAt(j))>="a" && ch<="z" || ch>="A" && ch<="Z")
+        j--;
+    } else if (ch>="a" && ch<="z" || ch>="A" && ch<="Z") {// look for variable
+      j--;
+      while (j>=0 && (ch=st.charAt(j))>="a" && ch<="z" || ch>="A" && ch<="Z")
+        j--;
+    } else { 
+      return "Error: incorrect syntax in "+st+" at position "+j;
+    }
+    st = st.slice(0,j+1)+"factorial("+st.slice(j+1,i)+")"+st.slice(i+1);
+  }
+  return st;
+}
+
+function plot(fun,x_min,x_max,points,id) {
+  var pth = [];
+  var f = function(x) { return x }, g = fun;
+  var name = null;
+  if (typeof fun=="string") 
+    eval("g = function(x){ with(Math) return "+mathjs(fun)+" }");
+  else if (typeof fun=="object") {
+    eval("f = function(t){ with(Math) return "+mathjs(fun[0])+" }");
+    eval("g = function(t){ with(Math) return "+mathjs(fun[1])+" }");
+  }
+  if (typeof x_min=="string") { name = x_min; x_min = xmin }
+  else name = id;
+  var min = (x_min==null?xmin:x_min);
+  var max = (x_max==null?xmax:x_max);
+  var inc = max-min-0.000001*(max-min);
+  inc = (points==null?inc/200:inc/points);
+  var gt;
+//alert(typeof g(min))
+  for (var t = min; t <= max; t += inc) {
+    gt = g(t);
+    if (!(isNaN(gt)||Math.abs(gt)=="Infinity")) pth[pth.length] = [f(t), gt];
+  }
+  path(pth,name)
+  return p;
+}
+
+function slopefield(fun,dx,dy) {
+  var g = fun;
+  if (typeof fun=="string") 
+    eval("g = function(x,y){ with(Math) return "+mathjs(fun)+" }");
+  var gxy,x,y,u,v,dz;
+  if (dx==null) dx=1;
+  if (dy==null) dy=1;
+  dz = Math.sqrt(dx*dx+dy*dy)/6;
+  var x_min = Math.ceil(xmin/dx);
+  var y_min = Math.ceil(ymin/dy);
+  for (x = x_min; x <= xmax; x += dx)
+    for (y = y_min; y <= ymax; y += dy) {
+      gxy = g(x,y);
+      if (!isNaN(gxy)) {
+        if (Math.abs(gxy)=="Infinity") {u = 0; v = dz;}
+        else {u = dz/Math.sqrt(1+gxy*gxy); v = gxy*u;}
+        line([x-u,y-v],[x+u,y+v]);
+      }
+    }
+}
+
+function updateCoords(ind) {
+  switchTo("picture"+(ind+1));
+  var gx=getX(), gy=getY();
+  if ((xmax-gx)*xunitlength > 6*fontsize || (gy-ymin)*yunitlength > 2*fontsize)
+    text([xmax,ymin],"("+gx.toFixed(2)+", "+gy.toFixed(2)+")",
+         "aboveleft","AScoord"+ind,"");
+  else text([xmax,ymin]," ","aboveleft","AScoord"+ind,"");
+}
+
+function updateCoords0() {updateCoords(0)}
+function updateCoords1() {updateCoords(1)}
+function updateCoords2() {updateCoords(2)}
+function updateCoords3() {updateCoords(3)}
+function updateCoords4() {updateCoords(4)}
+function updateCoords5() {updateCoords(5)}
+function updateCoords6() {updateCoords(6)}
+function updateCoords7() {updateCoords(7)}
+function updateCoords8() {updateCoords(8)}
+function updateCoords9() {updateCoords(9)}
+ASfn = [function() {updatePicture(0)},
+  function() {updatePicture(1)},
+  function() {updatePicture(2)},
+  function() {updatePicture(3)},
+  function() {updatePicture(4)},
+  function() {updatePicture(5)},
+  function() {updatePicture(6)},
+  function() {updatePicture(7)},
+  function() {updatePicture(8)},
+  function() {updatePicture(9)}];
+ASupdateCoords = [function() {updateCoords(0)},
+  function() {updateCoords(1)},
+  function() {updateCoords(2)},
+  function() {updateCoords(3)},
+  function() {updateCoords(4)},
+  function() {updateCoords(5)},
+  function() {updateCoords(6)},
+  function() {updateCoords(7)},
+  function() {updateCoords(8)},
+  function() {updateCoords(9)}];
+
+// GO1.1 Generic onload by Brothercake 
+// http://www.brothercake.com/
+//onload function
+function generic()
+{
+  drawPictures();
+};
+//setup onload function
+if(typeof window.addEventListener != 'undefined')
+{
+  //.. gecko, safari, konqueror and standard
+  window.addEventListener('load', generic, false);
+}
+else if(typeof document.addEventListener != 'undefined')
+{
+  //.. opera 7
+  document.addEventListener('load', generic, false);
+}
+else if(typeof window.attachEvent != 'undefined')
+{
+  //.. win/ie
+  window.attachEvent('onload', generic);
+}
+//** remove this condition to degrade older browsers
+else
+{
+  //.. mac/ie5 and anything else that gets this far
+  //if there's an existing onload function
+  if(typeof window.onload == 'function')
+  {
+    //store it
+    var existing = onload;
+    //add new onload handler
+    window.onload = function()
+    {
+      //call existing onload function
+      existing();
+      //call generic onload function
+      generic();
+    };
+  }
+  else
+  {
+    //setup onload function
+    window.onload = generic;
+  }
+}
Binary files 1.3.12p3/themes/default/buttons/grazr-it.png and 1.3.14/themes/default/buttons/grazr-it.png differ
Binary files 1.3.12p3/themes/default/buttons/rdf_metadata_button_32.png and 1.3.14/themes/default/buttons/rdf_metadata_button_32.png differ
diff -ruN 1.3.12p3/themes/default/IEFixes.css 1.3.14/themes/default/IEFixes.css
--- 1.3.12p3/themes/default/IEFixes.css	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/themes/default/IEFixes.css	2007-07-01 05:11:31.000000000 -0500
@@ -0,0 +1,7 @@
+/*
+** IE Fixes (5.0, 5.5, 6.0)
+*/
+
+#actionbuttons, #signin { font-size: 80% }
+
+td, .hint { font-size: 90% }
Binary files 1.3.12p3/themes/default/images/folderArrowClosed.png and 1.3.14/themes/default/images/folderArrowClosed.png differ
Binary files 1.3.12p3/themes/default/images/folderArrowOpen.png and 1.3.14/themes/default/images/folderArrowOpen.png differ
diff -ruN 1.3.12p3/themes/default/LinkDatabase.xml 1.3.14/themes/default/LinkDatabase.xml
--- 1.3.12p3/themes/default/LinkDatabase.xml	2006-06-18 06:20:12.000000000 -0500
+++ 1.3.14/themes/default/LinkDatabase.xml	1969-12-31 18:00:00.000000000 -0600
@@ -1,4853 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?><!DOCTYPE GraphXML SYSTEM "GraphXML.dtd">
-<GraphXML xmlns:xlink="http://www.w3.org/1999/xlink">
-<graph id="PhpWiki_sidebar">
-<style><line tag="node" class="main" colour="#ffffff"/><line tag="node" class="child" colour="blue"/><line tag="node" class="relation" colour="green"/></style>
-<node name="AddingPages"><label>AddingPages</label><dataref><ref xlink:href="http://reini/wiki/sidebar/AddingPages"/></dataref></node>
-<edge source="AddingPages" target="TextFormattingRules" />
-<edge source="AddingPages" target="PhpWiki" />
-
-<node name="PhpWiki"><label>PhpWiki</label><dataref><ref xlink:href="http://reini/wiki/sidebar/PhpWiki"/></dataref></node>
-<edge source="PhpWiki" target="PhpWiki" />
-
-<node name="TextFormattingRules"><label>TextFormattingRules</label><dataref><ref xlink:href="http://reini/wiki/sidebar/TextFormattingRules"/></dataref></node>
-<edge source="TextFormattingRules" target="TextFormattingRules" />
-<edge source="TextFormattingRules" target="RawHtmlPlugin" />
-<edge source="TextFormattingRules" target="HomePage" />
-<edge source="TextFormattingRules" target="OldStyleTablePlugin" />
-<edge source="TextFormattingRules" target="MagicPhpWikiURLs" />
-<edge source="TextFormattingRules" target="WikiPlugin" />
-<edge source="TextFormattingRules" target="PluginManager" />
-<edge source="TextFormattingRules" target="PhpWikiDocumentation" />
-
-<node name="PhpWikiDocumentation"><label>PhpWikiDocumentation</label><dataref><ref xlink:href="http://reini/wiki/sidebar/PhpWikiDocumentation"/></dataref></node>
-
-<node name="AllPages"><label>AllPages</label><dataref><ref xlink:href="http://reini/wiki/sidebar/AllPages"/></dataref></node>
-<edge source="AllPages" target="OrphanedPages" />
-
-<node name="OrphanedPages"><label>OrphanedPages</label><dataref><ref xlink:href="http://reini/wiki/sidebar/OrphanedPages"/></dataref></node>
-<edge source="OrphanedPages" target="OrphanedPages" />
-
-<node name="AllUsers"><label>AllUsers</label><dataref><ref xlink:href="http://reini/wiki/sidebar/AllUsers"/></dataref></node>
-<edge source="AllUsers" target="PluginManager" />
-<edge source="AllUsers" target="WikiPlugin" />
-<edge source="AllUsers" target="UserPreferences" />
-
-<node name="UserPreferences"><label>UserPreferences</label><dataref><ref xlink:href="http://reini/wiki/sidebar/UserPreferences"/></dataref></node>
-
-<node name="WikiPlugin"><label>WikiPlugin</label><dataref><ref xlink:href="http://reini/wiki/sidebar/WikiPlugin"/></dataref></node>
-<edge source="WikiPlugin" target="PhpWikiDocumentation" />
-<edge source="WikiPlugin" target="AllPagesOwnedByMe" />
-<edge source="WikiPlugin" target="AllPagesLastEditedByMe" />
-<edge source="WikiPlugin" target="AllPagesCreatedByMe" />
-<edge source="WikiPlugin" target="AllPages" />
-<edge source="WikiPlugin" target="MostPopular" />
-<edge source="WikiPlugin" target="RecentEdits" />
-<edge source="WikiPlugin" target="RecentChanges" />
-<edge source="WikiPlugin" target="BackLinks" />
-<edge source="WikiPlugin" target="MagicPhpWikiURLs" />
-<edge source="WikiPlugin" target="WikiPlugin" />
-<edge source="WikiPlugin" target="HelloWorldPlugin" />
-<edge source="WikiPlugin" target="PluginManager" />
-<edge source="WikiPlugin" target="PhpWiki" />
-
-<node name="PluginManager"><label>PluginManager</label><dataref><ref xlink:href="http://reini/wiki/sidebar/PluginManager"/></dataref></node>
-<edge source="PluginManager" target="PhpWikiDocumentation" />
-<edge source="PluginManager" target="GooglePlugin" />
-<edge source="PluginManager" target="RateIt" />
-<edge source="PluginManager" target="RecentReleases" />
-<edge source="PluginManager" target="ProjectSummary" />
-<edge source="PluginManager" target="WhoIsOnline" />
-<edge source="PluginManager" target="TranscludePlugin" />
-<edge source="PluginManager" target="SyntaxHighlighterPlugin" />
-<edge source="PluginManager" target="PhpWeatherPlugin" />
-<edge source="PluginManager" target="PloticusPlugin" />
-<edge source="PluginManager" target="HelloWorldPlugin" />
-<edge source="PluginManager" target="WikiPlugin" />
-<edge source="PluginManager" target="PhpWiki" />
-
-<node name="BackLinks"><label>BackLinks</label><dataref><ref xlink:href="http://reini/wiki/sidebar/BackLinks"/></dataref></node>
-
-<node name="CalendarPlugin"><label>CalendarPlugin</label><dataref><ref xlink:href="http://reini/wiki/sidebar/CalendarPlugin"/></dataref></node>
-<edge source="CalendarPlugin" target="PhpWikiDocumentation" />
-<edge source="CalendarPlugin" target="PhpWiki" />
-<edge source="CalendarPlugin" target="WikiPlugin" />
-<edge source="CalendarPlugin" target="CalendarPlugin" />
-
-<node name="CategoryCategory"><label>CategoryCategory</label><dataref><ref xlink:href="http://reini/wiki/sidebar/CategoryCategory"/></dataref></node>
-
-<node name="CategoryHomePages"><label>CategoryHomePages</label><dataref><ref xlink:href="http://reini/wiki/sidebar/CategoryHomePages"/></dataref></node>
-<edge source="CategoryHomePages" target="CategoryCategory" />
-
-<node name="CommentPlugin"><label>CommentPlugin</label><dataref><ref xlink:href="http://reini/wiki/sidebar/CommentPlugin"/></dataref></node>
-<edge source="CommentPlugin" target="WikiPlugin" />
-<edge source="CommentPlugin" target="CommentPlugin" />
-
-<node name="DebugInfo"><label>DebugInfo</label><dataref><ref xlink:href="http://reini/wiki/sidebar/DebugInfo"/></dataref></node>
-
-<node name="EditText"><label>EditText</label><dataref><ref xlink:href="http://reini/wiki/sidebar/EditText"/></dataref></node>
-
-<node name="ExternalSearchPlugin"><label>ExternalSearchPlugin</label><dataref><ref xlink:href="http://reini/wiki/sidebar/ExternalSearchPlugin"/></dataref></node>
-<edge source="ExternalSearchPlugin" target="WikiPlugin" />
-<edge source="ExternalSearchPlugin" target="PhpWikiDocumentation" />
-<edge source="ExternalSearchPlugin" target="PhpWiki" />
-<edge source="ExternalSearchPlugin" target="InterWikiMap" />
-<edge source="ExternalSearchPlugin" target="InterWiki" />
-<edge source="ExternalSearchPlugin" target="ExternalSearchPlugin" />
-
-<node name="InterWikiMap"><label>InterWikiMap</label><dataref><ref xlink:href="http://reini/wiki/sidebar/InterWikiMap"/></dataref></node>
-<edge source="InterWikiMap" target="PhpWiki" />
-<edge source="InterWikiMap" target="AcadWiki" />
-<edge source="InterWikiMap" target="InterWiki" />
-
-<node name="InterWiki"><label>InterWiki</label><dataref><ref xlink:href="http://reini/wiki/sidebar/InterWiki"/></dataref></node>
-<edge source="InterWiki" target="PhpWikiDocumentation" />
-<edge source="InterWiki" target="CategoryCategory" />
-<edge source="InterWiki" target="PhpWiki" />
-<edge source="InterWiki" target="InterWikiMap" />
-<edge source="InterWiki" target="InterWiki" />
-
-<node name="FindPage"><label>FindPage</label><dataref><ref xlink:href="http://reini/wiki/sidebar/FindPage"/></dataref></node>
-<edge source="FindPage" target="MoreAboutMechanics" />
-<edge source="FindPage" target="RecentChanges" />
-<edge source="FindPage" target="HowToUseWiki" />
-
-<node name="HowToUseWiki"><label>HowToUseWiki</label><dataref><ref xlink:href="http://reini/wiki/sidebar/HowToUseWiki"/></dataref></node>
-<edge source="HowToUseWiki" target="UserPreferences" />
-<edge source="HowToUseWiki" target="TextFormattingRules" />
-<edge source="HowToUseWiki" target="WikiWikiWeb" />
-<edge source="HowToUseWiki" target="AddingPages" />
-
-<node name="RecentChanges"><label>RecentChanges</label><dataref><ref xlink:href="http://reini/wiki/sidebar/RecentChanges"/></dataref></node>
-<edge source="RecentChanges" target="RecentEdits" />
-
-<node name="MoreAboutMechanics"><label>MoreAboutMechanics</label><dataref><ref xlink:href="http://reini/wiki/sidebar/MoreAboutMechanics"/></dataref></node>
-<edge source="MoreAboutMechanics" target="WabiSabi" />
-<edge source="MoreAboutMechanics" target="WikiWikiWeb" />
-<edge source="MoreAboutMechanics" target="PhpWiki" />
-
-<node name="FullRecentChanges"><label>FullRecentChanges</label><dataref><ref xlink:href="http://reini/wiki/sidebar/FullRecentChanges"/></dataref></node>
-<edge source="FullRecentChanges" target="RecentEdits" />
-<edge source="FullRecentChanges" target="RecentChanges" />
-
-<node name="RecentEdits"><label>RecentEdits</label><dataref><ref xlink:href="http://reini/wiki/sidebar/RecentEdits"/></dataref></node>
-<edge source="RecentEdits" target="RecentChanges" />
-
-<node name="FullTextSearch"><label>FullTextSearch</label><dataref><ref xlink:href="http://reini/wiki/sidebar/FullTextSearch"/></dataref></node>
-<edge source="FullTextSearch" target="FindPage" />
-
-<node name="FuzzyPages"><label>FuzzyPages</label><dataref><ref xlink:href="http://reini/wiki/sidebar/FuzzyPages"/></dataref></node>
-<edge source="FuzzyPages" target="FindPage" />
-
-<node name="GoodStyle"><label>GoodStyle</label><dataref><ref xlink:href="http://reini/wiki/sidebar/GoodStyle"/></dataref></node>
-<edge source="GoodStyle" target="WabiSabi" />
-
-<node name="WabiSabi"><label>WabiSabi</label><dataref><ref xlink:href="http://reini/wiki/sidebar/WabiSabi"/></dataref></node>
-
-<node name="HelloWorldPlugin"><label>HelloWorldPlugin</label><dataref><ref xlink:href="http://reini/wiki/sidebar/HelloWorldPlugin"/></dataref></node>
-<edge source="HelloWorldPlugin" target="WikiPlugin" />
-<edge source="HelloWorldPlugin" target="PhpWikiDocumentation" />
-<edge source="HelloWorldPlugin" target="PhpWiki" />
-
-<node name="HomePageAlias"><label>HomePageAlias</label><dataref><ref xlink:href="http://reini/wiki/sidebar/HomePageAlias"/></dataref></node>
-<edge source="HomePageAlias" target="RedirectToPlugin" />
-
-<node name="RedirectToPlugin"><label>RedirectToPlugin</label><dataref><ref xlink:href="http://reini/wiki/sidebar/RedirectToPlugin"/></dataref></node>
-<edge source="RedirectToPlugin" target="PhpWikiDocumentation" />
-<edge source="RedirectToPlugin" target="HomePageAlias" />
-<edge source="RedirectToPlugin" target="HomePage" />
-<edge source="RedirectToPlugin" target="RedirectToPlugin" />
-
-<node name="WikiWikiWeb"><label>WikiWikiWeb</label><dataref><ref xlink:href="http://reini/wiki/sidebar/WikiWikiWeb"/></dataref></node>
-<edge source="WikiWikiWeb" target="SteveWainstead" />
-<edge source="WikiWikiWeb" target="AddingPages" />
-<edge source="WikiWikiWeb" target="HowToUseWiki" />
-<edge source="WikiWikiWeb" target="RecentVisitors" />
-<edge source="WikiWikiWeb" target="WabiSabi" />
-<edge source="WikiWikiWeb" target="FindPage" />
-<edge source="WikiWikiWeb" target="EditText" />
-<edge source="WikiWikiWeb" target="WikiWikiWeb" />
-
-<node name="AcadWiki"><label>AcadWiki</label><dataref><ref xlink:href="http://reini/wiki/sidebar/AcadWiki"/></dataref></node>
-<edge source="AcadWiki" target="WikiWikiWeb" />
-<edge source="AcadWiki" target="ReiniUrban" />
-<edge source="AcadWiki" target="AutoLisp" />
-<edge source="AcadWiki" target="PhpWiki" />
-<edge source="AcadWiki" target="AcadWiki" />
-<edge source="AcadWiki" target="CategoryWikiDevelopment" />
-
-<node name="InterWikiSearch"><label>InterWikiSearch</label><dataref><ref xlink:href="http://reini/wiki/sidebar/InterWikiSearch"/></dataref></node>
-<edge source="InterWikiSearch" target="WikiPlugin" />
-<edge source="InterWikiSearch" target="ExternalSearchPlugin" />
-<edge source="InterWikiSearch" target="InterWikiMap" />
-
-<node name="LikePages"><label>LikePages</label><dataref><ref xlink:href="http://reini/wiki/sidebar/LikePages"/></dataref></node>
-<edge source="LikePages" target="LikePages" />
-
-<node name="LinkIcons"><label>LinkIcons</label><dataref><ref xlink:href="http://reini/wiki/sidebar/LinkIcons"/></dataref></node>
-<edge source="LinkIcons" target="PhpWikiDocumentation" />
-<edge source="LinkIcons" target="InterWiki" />
-<edge source="LinkIcons" target="PhpWiki" />
-<edge source="LinkIcons" target="LinkIcons" />
-
-<node name="MagicPhpWikiURLs"><label>MagicPhpWikiURLs</label><dataref><ref xlink:href="http://reini/wiki/sidebar/MagicPhpWikiURLs"/></dataref></node>
-<edge source="MagicPhpWikiURLs" target="TitleSearch" />
-<edge source="MagicPhpWikiURLs" target="FullTextSearch" />
-<edge source="MagicPhpWikiURLs" target="SandBox" />
-<edge source="MagicPhpWikiURLs" target="PhpWiki" />
-
-<node name="TitleSearch"><label>TitleSearch</label><dataref><ref xlink:href="http://reini/wiki/sidebar/TitleSearch"/></dataref></node>
-<edge source="TitleSearch" target="FindPage" />
-
-<node name="SandBox"><label>SandBox</label><dataref><ref xlink:href="http://reini/wiki/sidebar/SandBox"/></dataref></node>
-
-<node name="CategoryWiki"><label>CategoryWiki</label><dataref><ref xlink:href="http://reini/wiki/sidebar/CategoryWiki"/></dataref></node>
-<edge source="CategoryWiki" target="CategoryWiki" />
-
-<node name="MostPopular"><label>MostPopular</label><dataref><ref xlink:href="http://reini/wiki/sidebar/MostPopular"/></dataref></node>
-
-<node name="NewMarkupTestPage"><label>NewMarkupTestPage</label><dataref><ref xlink:href="http://reini/wiki/sidebar/NewMarkupTestPage"/></dataref></node>
-<edge source="NewMarkupTestPage" target="HomePage" />
-
-<node name="HomePage"><label>HomePage</label><dataref><ref xlink:href="http://reini/wiki/sidebar/HomePage"/></dataref></node>
-<edge source="HomePage" target="PhpWikiAdministration" />
-<edge source="HomePage" target="ReleaseNotes" />
-<edge source="HomePage" target="MostPopular" />
-<edge source="HomePage" target="RecentChanges" />
-<edge source="HomePage" target="RecentVisitors" />
-<edge source="HomePage" target="SandBox" />
-<edge source="HomePage" target="AddingPages" />
-<edge source="HomePage" target="HowToUseWiki" />
-<edge source="HomePage" target="WikiWikiWeb" />
-
-<node name="OldStyleTablePlugin"><label>OldStyleTablePlugin</label><dataref><ref xlink:href="http://reini/wiki/sidebar/OldStyleTablePlugin"/></dataref></node>
-<edge source="OldStyleTablePlugin" target="WikiPlugin" />
-<edge source="OldStyleTablePlugin" target="PhpWikiDocumentation" />
-<edge source="OldStyleTablePlugin" target="OldStyleTablePlugin" />
-
-<node name="PageGroupTest"><label>PageGroupTest</label><dataref><ref xlink:href="http://reini/wiki/sidebar/PageGroupTest"/></dataref></node>
-<edge source="PageGroupTest" target="PageGroupTestFour" />
-<edge source="PageGroupTest" target="PageGroupTestThree" />
-<edge source="PageGroupTest" target="PageGroupTestTwo" />
-<edge source="PageGroupTest" target="PageGroupTestOne" />
-<edge source="PageGroupTest" target="PageGroupTest" />
-
-<node name="PageHistory"><label>PageHistory</label><dataref><ref xlink:href="http://reini/wiki/sidebar/PageHistory"/></dataref></node>
-
-<node name="PageInfo"><label>PageInfo</label><dataref><ref xlink:href="http://reini/wiki/sidebar/PageInfo"/></dataref></node>
-
-<node name="PgsrcTranslation"><label>PgsrcTranslation</label><dataref><ref xlink:href="http://reini/wiki/sidebar/PgsrcTranslation"/></dataref></node>
-<edge source="PgsrcTranslation" target="PhpWikiDocumentation" />
-<edge source="PgsrcTranslation" target="Info" />
-<edge source="PgsrcTranslation" target="Historique" />
-<edge source="PgsrcTranslation" target="Textformateringsregler" />
-<edge source="PgsrcTranslation" target="Gxe4.stboken" />
-<edge source="PgsrcTranslation" target="Framsida" />
-<edge source="PgsrcTranslation" target="Accueil" />
-<edge source="PgsrcTranslation" target="ToverPhpWikiURLs" />
-<edge source="PgsrcTranslation" target="URLMagiquesPhpWiki" />
-<edge source="PgsrcTranslation" target="BacASable" />
-<edge source="PgsrcTranslation" target="MagicPhpWikiURLs" />
-<edge source="PgsrcTranslation" target="KBrown" />
-<edge source="PgsrcTranslation" target="PhpWiki" />
-
-<node name="Rxe9.troLiens"><label>RtroLiens</label><dataref><ref xlink:href="http://reini/wiki/sidebar/R%E9troLiens"/></dataref></node>
-<edge source="Rxe9.troLiens" target="Rxe9.troLiens" />
-
-<node name="xc4.hnlicheSeiten"><label>hnlicheSeiten</label><dataref><ref xlink:href="http://reini/wiki/sidebar/%C4hnlicheSeiten"/></dataref></node>
-<edge source="xc4.hnlicheSeiten" target="xc4.hnlicheSeiten" />
-
-<node name="PagesSemblables"><label>PagesSemblables</label><dataref><ref xlink:href="http://reini/wiki/sidebar/PagesSemblables"/></dataref></node>
-<edge source="PagesSemblables" target="PagesSemblables" />
-
-<node name="SeitenProtokoll"><label>SeitenProtokoll</label><dataref><ref xlink:href="http://reini/wiki/sidebar/SeitenProtokoll"/></dataref></node>
-
-<node name="SeitenInfo"><label>SeitenInfo</label><dataref><ref xlink:href="http://reini/wiki/sidebar/SeitenInfo"/></dataref></node>
-
-<node name="AlleSeiten"><label>AlleSeiten</label><dataref><ref xlink:href="http://reini/wiki/sidebar/AlleSeiten"/></dataref></node>
-<edge source="AlleSeiten" target="VerwaisteSeiten" />
-<edge source="AlleSeiten" target="OrphanedPages" />
-
-<node name="TodasLasPaginas"><label>TodasLasPaginas</label><dataref><ref xlink:href="http://reini/wiki/sidebar/TodasLasPaginas"/></dataref></node>
-
-<node name="ToutesLesPages"><label>ToutesLesPages</label><dataref><ref xlink:href="http://reini/wiki/sidebar/ToutesLesPages"/></dataref></node>
-
-<node name="AlleBenutzer"><label>AlleBenutzer</label><dataref><ref xlink:href="http://reini/wiki/sidebar/AlleBenutzer"/></dataref></node>
-<edge source="AlleBenutzer" target="BenutzerEinstellungen" />
-<edge source="AlleBenutzer" target="WikiPlugin" />
-<edge source="AlleBenutzer" target="PluginManager" />
-
-<node name="PluginCalendrier"><label>PluginCalendrier</label><dataref><ref xlink:href="http://reini/wiki/sidebar/PluginCalendrier"/></dataref></node>
-<edge source="PluginCalendrier" target="PluginCalendrier" />
-<edge source="PluginCalendrier" target="PluginWiki" />
-<edge source="PluginCalendrier" target="PhpWiki" />
-<edge source="PluginCalendrier" target="DocumentationDePhpWiki" />
-
-<node name="SeiteFinden"><label>SeiteFinden</label><dataref><ref xlink:href="http://reini/wiki/sidebar/SeiteFinden"/></dataref></node>
-<edge source="SeiteFinden" target="FuzzySuche" />
-<edge source="SeiteFinden" target="PhpWiki" />
-<edge source="SeiteFinden" target="WikiTechnik" />
-<edge source="SeiteFinden" target="Neuestexc4.nderungen" />
-<edge source="SeiteFinden" target="WieManWikiBenutzt" />
-
-<node name="BuscarPxe1.gina"><label>BuscarPgina</label><dataref><ref xlink:href="http://reini/wiki/sidebar/BuscarP%E1gina"/></dataref></node>
-<edge source="BuscarPxe1.gina" target="ComoUsarWiki" />
-<edge source="BuscarPxe1.gina" target="CambiosRecientes" />
-<edge source="BuscarPxe1.gina" target="MasAcercadeLaMecanica" />
-
-<node name="ChercherUnePage"><label>ChercherUnePage</label><dataref><ref xlink:href="http://reini/wiki/sidebar/ChercherUnePage"/></dataref></node>
-<edge source="ChercherUnePage" target="CommentUtiliserUnWiki" />
-<edge source="ChercherUnePage" target="Dernixe8.resModifs" />
-<edge source="ChercherUnePage" target="Dxe9.tailsTechniques" />
-
-<node name="TrovaPagina"><label>TrovaPagina</label><dataref><ref xlink:href="http://reini/wiki/sidebar/TrovaPagina"/></dataref></node>
-<edge source="TrovaPagina" target="ComeUsareWiki" />
-<edge source="TrovaPagina" target="CambiamentiRecenti" />
-<edge source="TrovaPagina" target="VarieSulFunzionamento" />
-
-<node name="ZoekPagina"><label>ZoekPagina</label><dataref><ref xlink:href="http://reini/wiki/sidebar/ZoekPagina"/></dataref></node>
-<edge source="ZoekPagina" target="HoeWikiTeGebruiken" />
-<edge source="ZoekPagina" target="RecenteVeranderingen" />
-<edge source="ZoekPagina" target="MeerOverTechnieken" />
-
-<node name="Sxf6.kEfterSida"><label>SkEfterSida</label><dataref><ref xlink:href="http://reini/wiki/sidebar/S%F6kEfterSida"/></dataref></node>
-<edge source="Sxf6.kEfterSida" target="HurManAnvxe4.nderWiki" />
-
-<node name="Dernixe8.resModifsComplxe8.tes"><label>DerniresModifsCompltes</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Derni%E8resModifsCompl%E8tes"/></dataref></node>
-<edge source="Dernixe8.resModifsComplxe8.tes" target="Dernixe8.resModifs" />
-<edge source="Dernixe8.resModifsComplxe8.tes" target="xc9.ditionsRxe9.centes" />
-
-<node name="VolltextSuche"><label>VolltextSuche</label><dataref><ref xlink:href="http://reini/wiki/sidebar/VolltextSuche"/></dataref></node>
-<edge source="VolltextSuche" target="SeiteFinden" />
-
-<node name="RechercheEnTexteIntxe9.gral"><label>RechercheEnTexteIntgral</label><dataref><ref xlink:href="http://reini/wiki/sidebar/RechercheEnTexteInt%E9gral"/></dataref></node>
-
-<node name="FuzzySuche"><label>FuzzySuche</label><dataref><ref xlink:href="http://reini/wiki/sidebar/FuzzySuche"/></dataref></node>
-<edge source="FuzzySuche" target="SeiteFinden" />
-
-<node name="StartSeiteAlias"><label>StartSeiteAlias</label><dataref><ref xlink:href="http://reini/wiki/sidebar/StartSeiteAlias"/></dataref></node>
-<edge source="StartSeiteAlias" target="RedirectToPlugin" />
-
-<node name="VerwaisteSeiten"><label>VerwaisteSeiten</label><dataref><ref xlink:href="http://reini/wiki/sidebar/VerwaisteSeiten"/></dataref></node>
-<edge source="VerwaisteSeiten" target="OrphanedPages" />
-<edge source="VerwaisteSeiten" target="WikiPlugin" />
-
-<node name="PagesOrphelines"><label>PagesOrphelines</label><dataref><ref xlink:href="http://reini/wiki/sidebar/PagesOrphelines"/></dataref></node>
-<edge source="PagesOrphelines" target="PagesOrphelines" />
-
-<node name="MeistBesucht"><label>MeistBesucht</label><dataref><ref xlink:href="http://reini/wiki/sidebar/MeistBesucht"/></dataref></node>
-
-<node name="MasPopulares"><label>MasPopulares</label><dataref><ref xlink:href="http://reini/wiki/sidebar/MasPopulares"/></dataref></node>
-
-<node name="LesPlusVisitxe9.es"><label>LesPlusVisites</label><dataref><ref xlink:href="http://reini/wiki/sidebar/LesPlusVisit%E9es"/></dataref></node>
-
-<node name="PiuPopolari"><label>PiuPopolari</label><dataref><ref xlink:href="http://reini/wiki/sidebar/PiuPopolari"/></dataref></node>
-
-<node name="MeestBezocht"><label>MeestBezocht</label><dataref><ref xlink:href="http://reini/wiki/sidebar/MeestBezocht"/></dataref></node>
-
-<node name="MestPopulxe4.r"><label>MestPopulr</label><dataref><ref xlink:href="http://reini/wiki/sidebar/MestPopul%E4r"/></dataref></node>
-
-<node name="PhotoAlbumPlugin"><label>PhotoAlbumPlugin</label><dataref><ref xlink:href="http://reini/wiki/sidebar/PhotoAlbumPlugin"/></dataref></node>
-<edge source="PhotoAlbumPlugin" target="WikiPlugin" />
-<edge source="PhotoAlbumPlugin" target="PhpWikiDocumentation" />
-
-<node name="PhpHighlightPlugin"><label>PhpHighlightPlugin</label><dataref><ref xlink:href="http://reini/wiki/sidebar/PhpHighlightPlugin"/></dataref></node>
-<edge source="PhpHighlightPlugin" target="WikiPlugin" />
-<edge source="PhpHighlightPlugin" target="PhpWikiDocumentation" />
-<edge source="PhpHighlightPlugin" target="SyntaxHighlighterPlugin" />
-<edge source="PhpHighlightPlugin" target="PhpHighlightPlugin" />
-
-<node name="PhpWeatherPlugin"><label>PhpWeatherPlugin</label><dataref><ref xlink:href="http://reini/wiki/sidebar/PhpWeatherPlugin"/></dataref></node>
-<edge source="PhpWeatherPlugin" target="PhpWikiDocumentation" />
-<edge source="PhpWeatherPlugin" target="PhpWeather" />
-<edge source="PhpWeatherPlugin" target="WikiPlugin" />
-
-<node name="RandomPage"><label>RandomPage</label><dataref><ref xlink:href="http://reini/wiki/sidebar/RandomPage"/></dataref></node>
-
-<node name="ZufallsSeite"><label>ZufallsSeite</label><dataref><ref xlink:href="http://reini/wiki/sidebar/ZufallsSeite"/></dataref></node>
-
-<node name="PageAlxe9.atoire"><label>PageAlatoire</label><dataref><ref xlink:href="http://reini/wiki/sidebar/PageAl%E9atoire"/></dataref></node>
-
-<node name="Neuestexc4.nderungen"><label>Neuestenderungen</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Neueste%C4nderungen"/></dataref></node>
-<edge source="Neuestexc4.nderungen" target="Geringfxfc.gigexc4.nderungen" />
-
-<node name="CambiosRecientes"><label>CambiosRecientes</label><dataref><ref xlink:href="http://reini/wiki/sidebar/CambiosRecientes"/></dataref></node>
-<edge source="CambiosRecientes" target="RecentEdits" />
-
-<node name="Dernixe8.resModifs"><label>DerniresModifs</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Derni%E8resModifs"/></dataref></node>
-<edge source="Dernixe8.resModifs" target="xc9.ditionsRxe9.centes" />
-
-<node name="CambiamentiRecenti"><label>CambiamentiRecenti</label><dataref><ref xlink:href="http://reini/wiki/sidebar/CambiamentiRecenti"/></dataref></node>
-<edge source="CambiamentiRecenti" target="RecentEdits" />
-
-<node name="RecenteVeranderingen"><label>RecenteVeranderingen</label><dataref><ref xlink:href="http://reini/wiki/sidebar/RecenteVeranderingen"/></dataref></node>
-<edge source="RecenteVeranderingen" target="RecentEdits" />
-
-<node name="Geringfxfc.gigexc4.nderungen"><label>Geringfgigenderungen</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Geringf%FCgige%C4nderungen"/></dataref></node>
-<edge source="Geringfxfc.gigexc4.nderungen" target="Neuestexc4.nderungen" />
-
-<node name="xc9.ditionsRxe9.centes"><label>ditionsRcentes</label><dataref><ref xlink:href="http://reini/wiki/sidebar/%C9ditionsR%E9centes"/></dataref></node>
-<edge source="xc9.ditionsRxe9.centes" target="Dernixe8.resModifs" />
-
-<node name="TitelSuche"><label>TitelSuche</label><dataref><ref xlink:href="http://reini/wiki/sidebar/TitelSuche"/></dataref></node>
-<edge source="TitelSuche" target="SeiteFinden" />
-
-<node name="RechercheParTitre"><label>RechercheParTitre</label><dataref><ref xlink:href="http://reini/wiki/sidebar/RechercheParTitre"/></dataref></node>
-
-<node name="TranscludePlugin"><label>TranscludePlugin</label><dataref><ref xlink:href="http://reini/wiki/sidebar/TranscludePlugin"/></dataref></node>
-<edge source="TranscludePlugin" target="TranscludePlugin" />
-
-<node name="UpLoad"><label>UpLoad</label><dataref><ref xlink:href="http://reini/wiki/sidebar/UpLoad"/></dataref></node>
-<edge source="UpLoad" target="PluginManager" />
-<edge source="UpLoad" target="WikiPlugin" />
-
-<node name="WantedPages"><label>WantedPages</label><dataref><ref xlink:href="http://reini/wiki/sidebar/WantedPages"/></dataref></node>
-
-<node name="WunschZettelSeiten"><label>WunschZettelSeiten</label><dataref><ref xlink:href="http://reini/wiki/sidebar/WunschZettelSeiten"/></dataref></node>
-
-<node name="KategorieKategorie"><label>KategorieKategorie</label><dataref><ref xlink:href="http://reini/wiki/sidebar/KategorieKategorie"/></dataref></node>
-
-<node name="StartSeite"><label>StartSeite</label><dataref><ref xlink:href="http://reini/wiki/sidebar/StartSeite"/></dataref></node>
-<edge source="StartSeite" target="PhpWikiSystemverwalten" />
-<edge source="StartSeite" target="ReleaseNotes" />
-<edge source="StartSeite" target="MeistBesucht" />
-<edge source="StartSeite" target="Neuestexc4.nderungen" />
-<edge source="StartSeite" target="Gxe4.steBuch" />
-<edge source="StartSeite" target="SandKiste" />
-<edge source="StartSeite" target="SeitenErzeugen" />
-<edge source="StartSeite" target="WieManWikiBenutzt" />
-<edge source="StartSeite" target="WikiWikiWeb" />
-
-<node name="Pxe1.ginaPrincipal"><label>PginaPrincipal</label><dataref><ref xlink:href="http://reini/wiki/sidebar/P%E1ginaPrincipal"/></dataref></node>
-<edge source="Pxe1.ginaPrincipal" target="WikiWikiWeb" />
-<edge source="Pxe1.ginaPrincipal" target="ComoUsarWiki" />
-<edge source="Pxe1.ginaPrincipal" target="AgregarPaginas" />
-<edge source="Pxe1.ginaPrincipal" target="CajaDeArena" />
-<edge source="Pxe1.ginaPrincipal" target="VisitantesRecientes" />
-<edge source="Pxe1.ginaPrincipal" target="CambiosRecientes" />
-<edge source="Pxe1.ginaPrincipal" target="MasPopulares" />
-<edge source="Pxe1.ginaPrincipal" target="PhpWikiAdministration" />
-
-<node name="PaginaPrincipale"><label>PaginaPrincipale</label><dataref><ref xlink:href="http://reini/wiki/sidebar/PaginaPrincipale"/></dataref></node>
-<edge source="PaginaPrincipale" target="WikiWikiWeb" />
-<edge source="PaginaPrincipale" target="ComeUsareWiki" />
-<edge source="PaginaPrincipale" target="AggiungerePagine" />
-<edge source="PaginaPrincipale" target="ScatolaDiSabbia" />
-<edge source="PaginaPrincipale" target="VisitatoriRecenti" />
-<edge source="PaginaPrincipale" target="CambiamentiRecenti" />
-<edge source="PaginaPrincipale" target="PiuPopolari" />
-<edge source="PaginaPrincipale" target="NoteDiRilascio" />
-<edge source="PaginaPrincipale" target="AmministrazioneDiPhpWiki" />
-
-<node name="ThuisPagina"><label>ThuisPagina</label><dataref><ref xlink:href="http://reini/wiki/sidebar/ThuisPagina"/></dataref></node>
-<edge source="ThuisPagina" target="WikiWikiWeb" />
-<edge source="ThuisPagina" target="HoeWikiTeGebruiken" />
-<edge source="ThuisPagina" target="PaginasToevoegen" />
-<edge source="ThuisPagina" target="ZandBak" />
-<edge source="ThuisPagina" target="RecenteBezoekers" />
-<edge source="ThuisPagina" target="RecenteVeranderingen" />
-<edge source="ThuisPagina" target="MeestBezocht" />
-<edge source="ThuisPagina" target="UitgaveNoten" />
-<edge source="ThuisPagina" target="PhpWikiBeheer" />
-
-<node name="Framsida"><label>Framsida</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Framsida"/></dataref></node>
-<edge source="Framsida" target="WikiWikiWeb" />
-<edge source="Framsida" target="HurManAnvxe4.nderWiki" />
-<edge source="Framsida" target="Lxe4.ggaTillSidor" />
-<edge source="Framsida" target="Gxe4.stboken" />
-<edge source="Framsida" target="MestPopulxe4.r" />
-<edge source="Framsida" target="ReleaseNotes" />
-
-<node name="InterWikiKarte"><label>InterWikiKarte</label><dataref><ref xlink:href="http://reini/wiki/sidebar/InterWikiKarte"/></dataref></node>
-<edge source="InterWikiKarte" target="InterWiki" />
-
-<node name="CarteInterWiki"><label>CarteInterWiki</label><dataref><ref xlink:href="http://reini/wiki/sidebar/CarteInterWiki"/></dataref></node>
-<edge source="CarteInterWiki" target="InterWiki" />
-
-<node name="ToverPhpWikiURLs"><label>ToverPhpWikiURLs</label><dataref><ref xlink:href="http://reini/wiki/sidebar/ToverPhpWikiURLs"/></dataref></node>
-<edge source="ToverPhpWikiURLs" target="PhpWiki" />
-<edge source="ToverPhpWikiURLs" target="ZandBak" />
-
-<node name="AlteTextFormatierungsRegeln"><label>AlteTextFormatierungsRegeln</label><dataref><ref xlink:href="http://reini/wiki/sidebar/AlteTextFormatierungsRegeln"/></dataref></node>
-<edge source="AlteTextFormatierungsRegeln" target="TextFormatierungsRegeln" />
-<edge source="AlteTextFormatierungsRegeln" target="AlteTextFormatierungsRegeln" />
-<edge source="AlteTextFormatierungsRegeln" target="OldStyleTablePlugin" />
-<edge source="AlteTextFormatierungsRegeln" target="MagicPhpWikiURLs" />
-<edge source="AlteTextFormatierungsRegeln" target="PhpWikiDokumentation" />
-
-<node name="PhpWikiAdministration"><label>PhpWikiAdministration</label><dataref><ref xlink:href="http://reini/wiki/sidebar/PhpWikiAdministration"/></dataref></node>
-<edge source="PhpWikiAdministration" target="PhpWikiDocumentation" />
-<edge source="PhpWikiAdministration" target="HomePage" />
-<edge source="PhpWikiAdministration" target="SandBox" />
-<edge source="PhpWikiAdministration" target="PhpWikiAdministrationx2f.Chown" />
-<edge source="PhpWikiAdministration" target="PhpWikiAdministrationx2f.Chmod" />
-<edge source="PhpWikiAdministration" target="PhpWikiAdministrationx2f.SetAcl" />
-<edge source="PhpWikiAdministration" target="PhpWikiAdministrationx2f.Replace" />
-<edge source="PhpWikiAdministration" target="PhpWikiAdministrationx2f.Rename" />
-<edge source="PhpWikiAdministration" target="PhpWikiAdministrationx2f.Remove" />
-<edge source="PhpWikiAdministration" target="PhpWiki" />
-
-<node name="AdministrationDePhpWiki"><label>AdministrationDePhpWiki</label><dataref><ref xlink:href="http://reini/wiki/sidebar/AdministrationDePhpWiki"/></dataref></node>
-<edge source="AdministrationDePhpWiki" target="PhpWiki" />
-<edge source="AdministrationDePhpWiki" target="BacASable" />
-<edge source="AdministrationDePhpWiki" target="AdministrationDePhpWikix2f.Supprimer" />
-<edge source="AdministrationDePhpWiki" target="Accueil" />
-<edge source="AdministrationDePhpWiki" target="DocumentationDePhpWiki" />
-
-<node name="AmministrazioneDiPhpWiki"><label>AmministrazioneDiPhpWiki</label><dataref><ref xlink:href="http://reini/wiki/sidebar/AmministrazioneDiPhpWiki"/></dataref></node>
-<edge source="AmministrazioneDiPhpWiki" target="PhpWikiDocumentation" />
-<edge source="AmministrazioneDiPhpWiki" target="HomePage" />
-<edge source="AmministrazioneDiPhpWiki" target="SandBox" />
-<edge source="AmministrazioneDiPhpWiki" target="AmministrazioneDiPhpWikix2f.Rimuovi" />
-<edge source="AmministrazioneDiPhpWiki" target="PhpWiki" />
-
-<node name="PhpWikiBeheer"><label>PhpWikiBeheer</label><dataref><ref xlink:href="http://reini/wiki/sidebar/PhpWikiBeheer"/></dataref></node>
-<edge source="PhpWikiBeheer" target="PhpWiki" />
-<edge source="PhpWikiBeheer" target="SandBox" />
-<edge source="PhpWikiBeheer" target="PhpWikiBeheerx2f.Verwijder" />
-<edge source="PhpWikiBeheer" target="ThuisPagina" />
-
-<node name="PhpWikiAdministrationx2f.Remove"><label>PhpWikiAdministration/Remove</label><dataref><ref xlink:href="http://reini/wiki/sidebar/PhpWikiAdministration/Remove"/></dataref></node>
-
-<node name="TextFormatierungsRegeln"><label>TextFormatierungsRegeln</label><dataref><ref xlink:href="http://reini/wiki/sidebar/TextFormatierungsRegeln"/></dataref></node>
-<edge source="TextFormatierungsRegeln" target="PhpWikiDokumentation" />
-<edge source="TextFormatierungsRegeln" target="WikiPlugin" />
-<edge source="TextFormatierungsRegeln" target="OldStyleTablePlugin" />
-<edge source="TextFormatierungsRegeln" target="StartSeite" />
-<edge source="TextFormatierungsRegeln" target="TextFormatierungsRegeln" />
-
-<node name="ReglasDeFormatoDeTexto"><label>ReglasDeFormatoDeTexto</label><dataref><ref xlink:href="http://reini/wiki/sidebar/ReglasDeFormatoDeTexto"/></dataref></node>
-<edge source="ReglasDeFormatoDeTexto" target="ReglasDeFormatoDeTexto" />
-
-<node name="Rxe8.glesDeFormatageDesTextes"><label>RglesDeFormatageDesTextes</label><dataref><ref xlink:href="http://reini/wiki/sidebar/R%E8glesDeFormatageDesTextes"/></dataref></node>
-<edge source="Rxe8.glesDeFormatageDesTextes" target="Rxe8.glesDeFormatageDesTextes" />
-<edge source="Rxe8.glesDeFormatageDesTextes" target="Accueil" />
-<edge source="Rxe8.glesDeFormatageDesTextes" target="URLMagiquesPhpWiki" />
-<edge source="Rxe8.glesDeFormatageDesTextes" target="DocumentationDePhpWiki" />
-
-<node name="RegoleDiFormattazioneDelTesto"><label>RegoleDiFormattazioneDelTesto</label><dataref><ref xlink:href="http://reini/wiki/sidebar/RegoleDiFormattazioneDelTesto"/></dataref></node>
-<edge source="RegoleDiFormattazioneDelTesto" target="RegoleDiFormattazioneDelTesto" />
-<edge source="RegoleDiFormattazioneDelTesto" target="PaginaPrincipale" />
-
-<node name="TekstFormatteringsRegels"><label>TekstFormatteringsRegels</label><dataref><ref xlink:href="http://reini/wiki/sidebar/TekstFormatteringsRegels"/></dataref></node>
-<edge source="TekstFormatteringsRegels" target="TekstFormatteringsRegels" />
-
-<node name="Textformateringsregler"><label>Textformateringsregler</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Textformateringsregler"/></dataref></node>
-<edge source="Textformateringsregler" target="Textformateringsregler" />
-<edge source="Textformateringsregler" target="Framsida" />
-
-<node name="BenutzerEinstellungen"><label>BenutzerEinstellungen</label><dataref><ref xlink:href="http://reini/wiki/sidebar/BenutzerEinstellungen"/></dataref></node>
-
-<node name="Prxe9.fxe9.rencesUtilisateurs"><label>PrfrencesUtilisateurs</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Pr%E9f%E9rencesUtilisateurs"/></dataref></node>
-
-<node name="GebruikersVoorkeuren"><label>GebruikersVoorkeuren</label><dataref><ref xlink:href="http://reini/wiki/sidebar/GebruikersVoorkeuren"/></dataref></node>
-
-<node name="SeitenErzeugen"><label>SeitenErzeugen</label><dataref><ref xlink:href="http://reini/wiki/sidebar/SeitenErzeugen"/></dataref></node>
-<edge source="SeitenErzeugen" target="PhpWiki" />
-<edge source="SeitenErzeugen" target="TextFormatierungsRegeln" />
-<edge source="SeitenErzeugen" target="PhpWikiDokumentation" />
-
-<node name="AgregarPaginas"><label>AgregarPaginas</label><dataref><ref xlink:href="http://reini/wiki/sidebar/AgregarPaginas"/></dataref></node>
-<edge source="AgregarPaginas" target="PhpWiki" />
-<edge source="AgregarPaginas" target="ReglasDeFormatoDeTexto" />
-
-<node name="AjouterDesPages"><label>AjouterDesPages</label><dataref><ref xlink:href="http://reini/wiki/sidebar/AjouterDesPages"/></dataref></node>
-<edge source="AjouterDesPages" target="PhpWiki" />
-<edge source="AjouterDesPages" target="Rxe8.glesDeFormatageDesTextes" />
-<edge source="AjouterDesPages" target="DocumentationDePhpWiki" />
-
-<node name="AggiungerePagine"><label>AggiungerePagine</label><dataref><ref xlink:href="http://reini/wiki/sidebar/AggiungerePagine"/></dataref></node>
-<edge source="AggiungerePagine" target="RegoleDiFormattazioneDelTesto" />
-
-<node name="PaginasToevoegen"><label>PaginasToevoegen</label><dataref><ref xlink:href="http://reini/wiki/sidebar/PaginasToevoegen"/></dataref></node>
-<edge source="PaginasToevoegen" target="PhpWiki" />
-
-<node name="Lxe4.ggaTillSidor"><label>LggaTillSidor</label><dataref><ref xlink:href="http://reini/wiki/sidebar/L%E4ggaTillSidor"/></dataref></node>
-<edge source="Lxe4.ggaTillSidor" target="PhpWiki" />
-<edge source="Lxe4.ggaTillSidor" target="Textformateringsregler" />
-
-<node name="TextBearbeiten"><label>TextBearbeiten</label><dataref><ref xlink:href="http://reini/wiki/sidebar/TextBearbeiten"/></dataref></node>
-<edge source="TextBearbeiten" target="PhpWikiDokumentation" />
-
-<node name="EditarElTexto"><label>EditarElTexto</label><dataref><ref xlink:href="http://reini/wiki/sidebar/EditarElTexto"/></dataref></node>
-<edge source="EditarElTexto" target="EditarElTexto" />
-
-<node name="xc9.diterLeContenu"><label>diterLeContenu</label><dataref><ref xlink:href="http://reini/wiki/sidebar/%C9diterLeContenu"/></dataref></node>
-<edge source="xc9.diterLeContenu" target="xc9.diterLeContenu" />
-<edge source="xc9.diterLeContenu" target="DocumentationDePhpWiki" />
-
-<node name="ModificaIlTesto"><label>ModificaIlTesto</label><dataref><ref xlink:href="http://reini/wiki/sidebar/ModificaIlTesto"/></dataref></node>
-<edge source="ModificaIlTesto" target="ModificaIlTesto" />
-
-<node name="VeranderTekst"><label>VeranderTekst</label><dataref><ref xlink:href="http://reini/wiki/sidebar/VeranderTekst"/></dataref></node>
-<edge source="VeranderTekst" target="VeranderTekst" />
-
-<node name="RedigeraText"><label>RedigeraText</label><dataref><ref xlink:href="http://reini/wiki/sidebar/RedigeraText"/></dataref></node>
-<edge source="RedigeraText" target="RedigeraText" />
-
-<node name="GuterStil"><label>GuterStil</label><dataref><ref xlink:href="http://reini/wiki/sidebar/GuterStil"/></dataref></node>
-<edge source="GuterStil" target="WabiSabi" />
-
-<node name="BuenEstilo"><label>BuenEstilo</label><dataref><ref xlink:href="http://reini/wiki/sidebar/BuenEstilo"/></dataref></node>
-<edge source="BuenEstilo" target="WabiSabi" />
-
-<node name="StyleCorrect"><label>StyleCorrect</label><dataref><ref xlink:href="http://reini/wiki/sidebar/StyleCorrect"/></dataref></node>
-<edge source="StyleCorrect" target="WabiSabi" />
-<edge source="StyleCorrect" target="DocumentationDePhpWiki" />
-
-<node name="BuonStile"><label>BuonStile</label><dataref><ref xlink:href="http://reini/wiki/sidebar/BuonStile"/></dataref></node>
-<edge source="BuonStile" target="WabiSabi" />
-
-<node name="GoedeStijl"><label>GoedeStijl</label><dataref><ref xlink:href="http://reini/wiki/sidebar/GoedeStijl"/></dataref></node>
-<edge source="GoedeStijl" target="WabiSabi" />
-
-<node name="BraStil"><label>BraStil</label><dataref><ref xlink:href="http://reini/wiki/sidebar/BraStil"/></dataref></node>
-<edge source="BraStil" target="WabiSabi" />
-
-<node name="WieManWikiBenutzt"><label>WieManWikiBenutzt</label><dataref><ref xlink:href="http://reini/wiki/sidebar/WieManWikiBenutzt"/></dataref></node>
-<edge source="WieManWikiBenutzt" target="PhpWiki" />
-<edge source="WieManWikiBenutzt" target="SeitenErzeugen" />
-<edge source="WieManWikiBenutzt" target="WikiWikiWeb" />
-<edge source="WieManWikiBenutzt" target="TextFormatierungsRegeln" />
-<edge source="WieManWikiBenutzt" target="PhpWikiDokumentation" />
-
-<node name="ComoUsarWiki"><label>ComoUsarWiki</label><dataref><ref xlink:href="http://reini/wiki/sidebar/ComoUsarWiki"/></dataref></node>
-<edge source="ComoUsarWiki" target="AgregarPaginas" />
-<edge source="ComoUsarWiki" target="WikiWikiWeb" />
-<edge source="ComoUsarWiki" target="ReglasDeFormatoDeTexto" />
-
-<node name="CommentUtiliserUnWiki"><label>CommentUtiliserUnWiki</label><dataref><ref xlink:href="http://reini/wiki/sidebar/CommentUtiliserUnWiki"/></dataref></node>
-<edge source="CommentUtiliserUnWiki" target="AjouterDesPages" />
-<edge source="CommentUtiliserUnWiki" target="WikiWikiWeb" />
-<edge source="CommentUtiliserUnWiki" target="Rxe8.glesDeFormatageDesTextes" />
-<edge source="CommentUtiliserUnWiki" target="Prxe9.fxe9.rencesUtilisateurs" />
-<edge source="CommentUtiliserUnWiki" target="DocumentationDePhpWiki" />
-
-<node name="ComeUsareWiki"><label>ComeUsareWiki</label><dataref><ref xlink:href="http://reini/wiki/sidebar/ComeUsareWiki"/></dataref></node>
-<edge source="ComeUsareWiki" target="PhpWiki" />
-<edge source="ComeUsareWiki" target="AggiungerePagine" />
-<edge source="ComeUsareWiki" target="WikiWikiWeb" />
-<edge source="ComeUsareWiki" target="RegoleDiFormattazioneDelTesto" />
-
-<node name="HoeWikiTeGebruiken"><label>HoeWikiTeGebruiken</label><dataref><ref xlink:href="http://reini/wiki/sidebar/HoeWikiTeGebruiken"/></dataref></node>
-<edge source="HoeWikiTeGebruiken" target="PaginasToevoegen" />
-<edge source="HoeWikiTeGebruiken" target="WikiWikiWeb" />
-<edge source="HoeWikiTeGebruiken" target="TekstFormatteringsRegels" />
-<edge source="HoeWikiTeGebruiken" target="GebruikersVoorkeuren" />
-
-<node name="HurManAnvxe4.nderWiki"><label>HurManAnvnderWiki</label><dataref><ref xlink:href="http://reini/wiki/sidebar/HurManAnv%E4nderWiki"/></dataref></node>
-<edge source="HurManAnvxe4.nderWiki" target="Lxe4.ggaTillSidor" />
-<edge source="HurManAnvxe4.nderWiki" target="WikiWikiWeb" />
-<edge source="HurManAnvxe4.nderWiki" target="Textformateringsregler" />
-
-<node name="Icxf4.nesDeLien"><label>IcnesDeLien</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Ic%F4nesDeLien"/></dataref></node>
-<edge source="Icxf4.nesDeLien" target="Icxf4.nesDeLien" />
-<edge source="Icxf4.nesDeLien" target="PhpWiki" />
-<edge source="Icxf4.nesDeLien" target="InterWiki" />
-<edge source="Icxf4.nesDeLien" target="LinkIcons" />
-<edge source="Icxf4.nesDeLien" target="DocumentationDePhpWiki" />
-
-<node name="WikiTechnik"><label>WikiTechnik</label><dataref><ref xlink:href="http://reini/wiki/sidebar/WikiTechnik"/></dataref></node>
-<edge source="WikiTechnik" target="PhpWiki" />
-<edge source="WikiTechnik" target="WikiWikiWeb" />
-<edge source="WikiTechnik" target="WabiSabi" />
-<edge source="WikiTechnik" target="PhpWikiDokumentation" />
-
-<node name="MasAcercadeLaMecanica"><label>MasAcercadeLaMecanica</label><dataref><ref xlink:href="http://reini/wiki/sidebar/MasAcercadeLaMecanica"/></dataref></node>
-<edge source="MasAcercadeLaMecanica" target="PhpWiki" />
-<edge source="MasAcercadeLaMecanica" target="WikiWikiWeb" />
-<edge source="MasAcercadeLaMecanica" target="WabiSabi" />
-
-<node name="Dxe9.tailsTechniques"><label>DtailsTechniques</label><dataref><ref xlink:href="http://reini/wiki/sidebar/D%E9tailsTechniques"/></dataref></node>
-<edge source="Dxe9.tailsTechniques" target="PhpWiki" />
-<edge source="Dxe9.tailsTechniques" target="WikiWikiWeb" />
-<edge source="Dxe9.tailsTechniques" target="WabiSabi" />
-<edge source="Dxe9.tailsTechniques" target="DocumentationDePhpWiki" />
-
-<node name="VarieSulFunzionamento"><label>VarieSulFunzionamento</label><dataref><ref xlink:href="http://reini/wiki/sidebar/VarieSulFunzionamento"/></dataref></node>
-<edge source="VarieSulFunzionamento" target="PhpWiki" />
-<edge source="VarieSulFunzionamento" target="WikiWikiWeb" />
-<edge source="VarieSulFunzionamento" target="WabiSabi" />
-
-<node name="MeerOverTechnieken"><label>MeerOverTechnieken</label><dataref><ref xlink:href="http://reini/wiki/sidebar/MeerOverTechnieken"/></dataref></node>
-<edge source="MeerOverTechnieken" target="PhpWiki" />
-<edge source="MeerOverTechnieken" target="WikiWikiWeb" />
-<edge source="MeerOverTechnieken" target="WabiSabi" />
-
-<node name="PhpWikiDokumentation"><label>PhpWikiDokumentation</label><dataref><ref xlink:href="http://reini/wiki/sidebar/PhpWikiDokumentation"/></dataref></node>
-
-<node name="RecentVisitors"><label>RecentVisitors</label><dataref><ref xlink:href="http://reini/wiki/sidebar/RecentVisitors"/></dataref></node>
-
-<node name="Gxe4.steBuch"><label>GsteBuch</label><dataref><ref xlink:href="http://reini/wiki/sidebar/G%E4steBuch"/></dataref></node>
-<edge source="Gxe4.steBuch" target="SteveWainstead" />
-
-<node name="VisitantesRecientes"><label>VisitantesRecientes</label><dataref><ref xlink:href="http://reini/wiki/sidebar/VisitantesRecientes"/></dataref></node>
-<edge source="VisitantesRecientes" target="SteveWainstead" />
-<edge source="VisitantesRecientes" target="KBrown" />
-
-<node name="DerniersVisiteurs"><label>DerniersVisiteurs</label><dataref><ref xlink:href="http://reini/wiki/sidebar/DerniersVisiteurs"/></dataref></node>
-<edge source="DerniersVisiteurs" target="PhpWiki" />
-
-<node name="VisitatoriRecenti"><label>VisitatoriRecenti</label><dataref><ref xlink:href="http://reini/wiki/sidebar/VisitatoriRecenti"/></dataref></node>
-<edge source="VisitatoriRecenti" target="PhpWiki" />
-
-<node name="RecenteBezoekers"><label>RecenteBezoekers</label><dataref><ref xlink:href="http://reini/wiki/sidebar/RecenteBezoekers"/></dataref></node>
-<edge source="RecenteBezoekers" target="SteveWainstead" />
-<edge source="RecenteBezoekers" target="JanNieuwenhuizen" />
-
-<node name="ReleaseNotes"><label>ReleaseNotes</label><dataref><ref xlink:href="http://reini/wiki/sidebar/ReleaseNotes"/></dataref></node>
-<edge source="ReleaseNotes" target="PhpWikiDocumentation" />
-<edge source="ReleaseNotes" target="SteveWainstead" />
-<edge source="ReleaseNotes" target="WikiWikiWeb" />
-<edge source="ReleaseNotes" target="MostPopular" />
-<edge source="ReleaseNotes" target="MagicPhpWikiURLs" />
-<edge source="ReleaseNotes" target="WikiPlugin" />
-<edge source="ReleaseNotes" target="PhpWeather" />
-<edge source="ReleaseNotes" target="VisualWiki" />
-<edge source="ReleaseNotes" target="AllUsers" />
-<edge source="ReleaseNotes" target="InterWikiSearch" />
-<edge source="ReleaseNotes" target="EditMetaData" />
-<edge source="ReleaseNotes" target="InterWiki" />
-<edge source="ReleaseNotes" target="CreatePage" />
-<edge source="ReleaseNotes" target="IncludeSiteMap" />
-<edge source="ReleaseNotes" target="PagePermissions" />
-<edge source="ReleaseNotes" target="WhoIsOnline" />
-<edge source="ReleaseNotes" target="RateIt" />
-<edge source="ReleaseNotes" target="UpLoad" />
-<edge source="ReleaseNotes" target="GoogleLink" />
-<edge source="ReleaseNotes" target="PopularNearby" />
-<edge source="ReleaseNotes" target="PhpWikiAdministration" />
-<edge source="ReleaseNotes" target="ReleaseNotes" />
-<edge source="ReleaseNotes" target="WikiAdminSelect" />
-<edge source="ReleaseNotes" target="AppendTextPlugin" />
-<edge source="ReleaseNotes" target="SearchHighlight" />
-<edge source="ReleaseNotes" target="CreatePagePlugin" />
-<edge source="ReleaseNotes" target="AllPagesOwnedByMe" />
-<edge source="ReleaseNotes" target="AllPagesLastEditedByMe" />
-<edge source="ReleaseNotes" target="AllPagesCreatedByMe" />
-<edge source="ReleaseNotes" target="AllPages" />
-<edge source="ReleaseNotes" target="WikiAdmin" />
-<edge source="ReleaseNotes" target="ListPages" />
-<edge source="ReleaseNotes" target="PloticusPlugin" />
-<edge source="ReleaseNotes" target="OldTextFormattingRules" />
-<edge source="ReleaseNotes" target="SqlResult" />
-<edge source="ReleaseNotes" target="PageDump" />
-<edge source="ReleaseNotes" target="ExternalSearchPlugin" />
-<edge source="ReleaseNotes" target="PhpWiki" />
-<edge source="ReleaseNotes" target="AddCommentPlugin" />
-<edge source="ReleaseNotes" target="GooglePlugin" />
-<edge source="ReleaseNotes" target="UserPreferences" />
-<edge source="ReleaseNotes" target="CreateTocPlugin" />
-<edge source="ReleaseNotes" target="UpLoadPlugin" />
-<edge source="ReleaseNotes" target="RelatedChanges" />
-<edge source="ReleaseNotes" target="TranslateText" />
-<edge source="ReleaseNotes" target="RssFeedPlugin" />
-<edge source="ReleaseNotes" target="PluginManager" />
-
-<node name="NotesDeVersion"><label>NotesDeVersion</label><dataref><ref xlink:href="http://reini/wiki/sidebar/NotesDeVersion"/></dataref></node>
-<edge source="NotesDeVersion" target="PluginWiki" />
-<edge source="NotesDeVersion" target="PhpWiki" />
-<edge source="NotesDeVersion" target="PhpWikiAdministration" />
-<edge source="NotesDeVersion" target="Prxe9.fxe9.rencesUtilisateurs" />
-<edge source="NotesDeVersion" target="URLMagiquesPhpWiki" />
-<edge source="NotesDeVersion" target="LesPlusVisitxe9.es" />
-<edge source="NotesDeVersion" target="SteveWainstead" />
-<edge source="NotesDeVersion" target="DocumentationDePhpWiki" />
-
-<node name="NoteDiRilascio"><label>NoteDiRilascio</label><dataref><ref xlink:href="http://reini/wiki/sidebar/NoteDiRilascio"/></dataref></node>
-<edge source="NoteDiRilascio" target="PhpWiki" />
-<edge source="NoteDiRilascio" target="PiuPopolari" />
-<edge source="NoteDiRilascio" target="SteveWainstead" />
-
-<node name="UitgaveNoten"><label>UitgaveNoten</label><dataref><ref xlink:href="http://reini/wiki/sidebar/UitgaveNoten"/></dataref></node>
-<edge source="UitgaveNoten" target="ReleaseNotes" />
-
-<node name="SandKasten"><label>SandKasten</label><dataref><ref xlink:href="http://reini/wiki/sidebar/SandKasten"/></dataref></node>
-
-<node name="CajaDeArena"><label>CajaDeArena</label><dataref><ref xlink:href="http://reini/wiki/sidebar/CajaDeArena"/></dataref></node>
-
-<node name="BacASable"><label>BacASable</label><dataref><ref xlink:href="http://reini/wiki/sidebar/BacASable"/></dataref></node>
-
-<node name="ScatolaDiSabbia"><label>ScatolaDiSabbia</label><dataref><ref xlink:href="http://reini/wiki/sidebar/ScatolaDiSabbia"/></dataref></node>
-
-<node name="ZandBak"><label>ZandBak</label><dataref><ref xlink:href="http://reini/wiki/sidebar/ZandBak"/></dataref></node>
-
-<node name="SteveWainstead"><label>SteveWainstead</label><dataref><ref xlink:href="http://reini/wiki/sidebar/SteveWainstead"/></dataref></node>
-<edge source="SteveWainstead" target="WikiWikiWeb" />
-
-<node name="TestPage"><label>TestPage</label><dataref><ref xlink:href="http://reini/wiki/sidebar/TestPage"/></dataref></node>
-<edge source="TestPage" target="HomePage" />
-
-<node name="PageDeTests"><label>PageDeTests</label><dataref><ref xlink:href="http://reini/wiki/sidebar/PageDeTests"/></dataref></node>
-<edge source="PageDeTests" target="HomePage" />
-
-<node name="PaginaDiProva"><label>PaginaDiProva</label><dataref><ref xlink:href="http://reini/wiki/sidebar/PaginaDiProva"/></dataref></node>
-<edge source="PaginaDiProva" target="FrontPage" />
-
-<node name="PluginWiki"><label>PluginWiki</label><dataref><ref xlink:href="http://reini/wiki/sidebar/PluginWiki"/></dataref></node>
-<edge source="PluginWiki" target="PhpWiki" />
-<edge source="PluginWiki" target="RecentChanges" />
-<edge source="PluginWiki" target="BackLinks" />
-<edge source="PluginWiki" target="LikePages" />
-<edge source="PluginWiki" target="DebugInfo" />
-<edge source="PluginWiki" target="PhpWikiAdministration" />
-<edge source="PluginWiki" target="MagicPhpWikiURLs" />
-<edge source="PluginWiki" target="CalendarPlugin" />
-<edge source="PluginWiki" target="FullTextSearch" />
-<edge source="PluginWiki" target="MostPopular" />
-<edge source="PluginWiki" target="PageHistory" />
-<edge source="PluginWiki" target="TitleSearch" />
-<edge source="PluginWiki" target="InterWiki" />
-<edge source="PluginWiki" target="WantedPages" />
-<edge source="PluginWiki" target="OrphanedPages" />
-<edge source="PluginWiki" target="FindPage" />
-<edge source="PluginWiki" target="DocumentationDePhpWiki" />
-
-<node name="RolandTrique"><label>RolandTrique</label><dataref><ref xlink:href="http://reini/wiki/sidebar/RolandTrique"/></dataref></node>
-<edge source="RolandTrique" target="PhpWiki" />
-
-<node name="JanNieuwenhuizen"><label>JanNieuwenhuizen</label><dataref><ref xlink:href="http://reini/wiki/sidebar/JanNieuwenhuizen"/></dataref></node>
-<edge source="JanNieuwenhuizen" target="WikiWikiWeb" />
-
-<node name="KBrown"><label>KBrown</label><dataref><ref xlink:href="http://reini/wiki/sidebar/KBrown"/></dataref></node>
-
-<node name="URLMagiquesPhpWiki"><label>URLMagiquesPhpWiki</label><dataref><ref xlink:href="http://reini/wiki/sidebar/URLMagiquesPhpWiki"/></dataref></node>
-<edge source="URLMagiquesPhpWiki" target="PhpWiki" />
-<edge source="URLMagiquesPhpWiki" target="BacASable" />
-<edge source="URLMagiquesPhpWiki" target="DocumentationDePhpWiki" />
-
-<node name="Accueil"><label>Accueil</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Accueil"/></dataref></node>
-<edge source="Accueil" target="WikiWikiWeb" />
-<edge source="Accueil" target="CommentUtiliserUnWiki" />
-<edge source="Accueil" target="AjouterDesPages" />
-<edge source="Accueil" target="BacASable" />
-<edge source="Accueil" target="DerniersVisiteurs" />
-<edge source="Accueil" target="Dernixe8.resModifs" />
-<edge source="Accueil" target="LesPlusVisitxe9.es" />
-<edge source="Accueil" target="NotesDeVersion" />
-<edge source="Accueil" target="ReleaseNotes" />
-<edge source="Accueil" target="AdministrationDePhpWiki" />
-
-<node name="Gxe4.stboken"><label>Gstboken</label><dataref><ref xlink:href="http://reini/wiki/sidebar/G%E4stboken"/></dataref></node>
-<edge source="Gxe4.stboken" target="SteveWainstead" />
-
-<node name="Historique"><label>Historique</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Historique"/></dataref></node>
-
-<node name="Info"><label>Info</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Info"/></dataref></node>
-
-<node name="DocumentationDePhpWiki"><label>DocumentationDePhpWiki</label><dataref><ref xlink:href="http://reini/wiki/sidebar/DocumentationDePhpWiki"/></dataref></node>
-
-<node name="PhpWeather"><label>PhpWeather</label><dataref><ref xlink:href="http://reini/wiki/sidebar/PhpWeather"/></dataref></node>
-
-<node name="SystemInfoPlugin"><label>SystemInfoPlugin</label><dataref><ref xlink:href="http://reini/wiki/sidebar/SystemInfoPlugin"/></dataref></node>
-<edge source="SystemInfoPlugin" target="WikiPlugin" />
-<edge source="SystemInfoPlugin" target="PhpWikiDocumentation" />
-<edge source="SystemInfoPlugin" target="PhpWiki" />
-<edge source="SystemInfoPlugin" target="SystemInfoPlugin" />
-
-<node name="ReiniUrban"><label>ReiniUrban</label><dataref><ref xlink:href="http://reini/wiki/sidebar/ReiniUrban"/></dataref></node>
-<edge source="ReiniUrban" target="AuthInfo" />
-<edge source="ReiniUrban" target="UserPreferences" />
-<edge source="ReiniUrban" target="ReiniUrban" />
-<edge source="ReiniUrban" target="HomePage" />
-
-<node name="AnyUser"><label>AnyUser</label><dataref><ref xlink:href="http://reini/wiki/sidebar/AnyUser"/></dataref></node>
-<edge source="AnyUser" target="AnyUser" />
-
-<node name="VisualWiki"><label>VisualWiki</label><dataref><ref xlink:href="http://reini/wiki/sidebar/VisualWiki"/></dataref></node>
-
-<node name="UserAuthentification"><label>UserAuthentification</label><dataref><ref xlink:href="http://reini/wiki/sidebar/UserAuthentification"/></dataref></node>
-<edge source="UserAuthentification" target="HomePage" />
-<edge source="UserAuthentification" target="UserPreferences" />
-<edge source="UserAuthentification" target="ToDo" />
-<edge source="UserAuthentification" target="PhpWiki" />
-<edge source="UserAuthentification" target="RecentChanges" />
-<edge source="UserAuthentification" target="UserAuthentification" />
-
-<node name="ToDo"><label>ToDo</label><dataref><ref xlink:href="http://reini/wiki/sidebar/ToDo"/></dataref></node>
-<edge source="ToDo" target="WantedPages" />
-<edge source="ToDo" target="ToDo" />
-<edge source="ToDo" target="AccessBlockAttributes" />
-<edge source="ToDo" target="AccessPolylineVertices" />
-<edge source="ToDo" target="AllVisibleObjects" />
-<edge source="ToDo" target="AutoCadEntityAccess" />
-<edge source="ToDo" target="BlockAttributes" />
-<edge source="ToDo" target="BreakLispCommand" />
-<edge source="ToDo" target="BulgeConversion" />
-<edge source="ToDo" target="CenterOfPolyline" />
-<edge source="ToDo" target="ChangeWidthOfMultiplePolylines" />
-<edge source="ToDo" target="CommandBlaDoesNotWork" />
-<edge source="ToDo" target="CreatePolylineOrSpline" />
-<edge source="ToDo" target="DclListboxesWithTabs" />
-<edge source="ToDo" target="DecodeAcis" />
-<edge source="ToDo" target="EntmakeComplexEntity" />
-<edge source="ToDo" target="EntmodEntmakeLayers" />
-<edge source="ToDo" target="ExtendedEntityData" />
-<edge source="ToDo" target="FaqAcknowledgements" />
-<edge source="ToDo" target="FaqDisclaimer" />
-<edge source="ToDo" target="FaqLocations" />
-<edge source="ToDo" target="GloballyChange" />
-<edge source="ToDo" target="JoinMultipleLines" />
-<edge source="ToDo" target="LengthOfPolylines" />
-<edge source="ToDo" target="ModifyBlockAttributes" />
-<edge source="ToDo" target="PlotDialogFromLisp" />
-<edge source="ToDo" target="PolyLines" />
-<edge source="ToDo" target="RecentFaqChanges" />
-<edge source="ToDo" target="ReplaceMultipleBlocks" />
-<edge source="ToDo" target="RevertPolyline" />
-<edge source="ToDo" target="SampleLispPrograms" />
-<edge source="ToDo" target="SelectMultipleFiles" />
-<edge source="ToDo" target="StringManipulation" />
-<edge source="ToDo" target="SymbolToString" />
-<edge source="ToDo" target="UnlimitedNumberOfUserPrompts" />
-<edge source="ToDo" target="UpdateBlockAttributes" />
-<edge source="ToDo" target="UserFaqForCode" />
-<edge source="ToDo" target="ViewportEntity" />
-<edge source="ToDo" target="WriteXyzData" />
-<edge source="ToDo" target="CategoryWikiDevelopment" />
-
-<node name="WikiAdmin"><label>WikiAdmin</label><dataref><ref xlink:href="http://reini/wiki/sidebar/WikiAdmin"/></dataref></node>
-<edge source="WikiAdmin" target="WikiAdmin" />
-
-<node name="WikiAdminSelect"><label>WikiAdminSelect</label><dataref><ref xlink:href="http://reini/wiki/sidebar/WikiAdminSelect"/></dataref></node>
-
-<node name="testx2e.at"><label>test.at</label><dataref><ref xlink:href="http://reini/wiki/sidebar/test.at"/></dataref></node>
-<edge source="testx2e.at" target="testx2e.at" />
-
-<node name="test-at"><label>test-at</label><dataref><ref xlink:href="http://reini/wiki/sidebar/test-at"/></dataref></node>
-<edge source="test-at" target="test-at" />
-
-<node name="it-altx2e.compx2e.streaming"><label>it-alt.comp.streaming</label><dataref><ref xlink:href="http://reini/wiki/sidebar/it-alt.comp.streaming"/></dataref></node>
-<edge source="it-altx2e.compx2e.streaming" target="it-altx2e.compx2e.streaming" />
-
-<node name="UnfoldSubpagesPlugin"><label>UnfoldSubpagesPlugin</label><dataref><ref xlink:href="http://reini/wiki/sidebar/UnfoldSubpagesPlugin"/></dataref></node>
-<edge source="UnfoldSubpagesPlugin" target="PhpWikiDocumentation" />
-<edge source="UnfoldSubpagesPlugin" target="CalendarPlugin" />
-<edge source="UnfoldSubpagesPlugin" target="WikiBlogPlugin" />
-<edge source="UnfoldSubpagesPlugin" target="WikiPlugin" />
-
-<node name="WikiBlogPlugin"><label>WikiBlogPlugin</label><dataref><ref xlink:href="http://reini/wiki/sidebar/WikiBlogPlugin"/></dataref></node>
-<edge source="WikiBlogPlugin" target="WikiPlugin" />
-<edge source="WikiBlogPlugin" target="PhpWikiDocumentation" />
-<edge source="WikiBlogPlugin" target="RecentChanges" />
-
-<node name="RichTablePlugin"><label>RichTablePlugin</label><dataref><ref xlink:href="http://reini/wiki/sidebar/RichTablePlugin"/></dataref></node>
-<edge source="RichTablePlugin" target="WikiPlugin" />
-<edge source="RichTablePlugin" target="PhpWikiDocumentation" />
-<edge source="RichTablePlugin" target="OldStyleTablePlugin" />
-<edge source="RichTablePlugin" target="RichTablePlugin" />
-
-<node name="AuthInfo"><label>AuthInfo</label><dataref><ref xlink:href="http://reini/wiki/sidebar/AuthInfo"/></dataref></node>
-
-<node name="TestUser"><label>TestUser</label><dataref><ref xlink:href="http://reini/wiki/sidebar/TestUser"/></dataref></node>
-<edge source="TestUser" target="TestUser" />
-
-<node name="Dj3000Layout"><label>Dj3000Layout</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Dj3000Layout"/></dataref></node>
-
-<node name="PhpWikiAdministrationx2f.Select"><label>PhpWikiAdministration/Select</label><dataref><ref xlink:href="http://reini/wiki/sidebar/PhpWikiAdministration/Select"/></dataref></node>
-
-<node name="PhpWikiAdministrationx2f.Rename"><label>PhpWikiAdministration/Rename</label><dataref><ref xlink:href="http://reini/wiki/sidebar/PhpWikiAdministration/Rename"/></dataref></node>
-
-<node name="PhpWikiAdministrationx2f.SearchReplace"><label>PhpWikiAdministration/SearchReplace</label><dataref><ref xlink:href="http://reini/wiki/sidebar/PhpWikiAdministration/SearchReplace"/></dataref></node>
-
-<node name="BlaxxBlaxx"><label>BlaxxBlaxx</label><dataref><ref xlink:href="http://reini/wiki/sidebar/BlaxxBlaxx"/></dataref></node>
-<edge source="BlaxxBlaxx" target="x34.41" />
-
-<node name="PhpWikiAdministrationx2f.Chmod"><label>PhpWikiAdministration/Chmod</label><dataref><ref xlink:href="http://reini/wiki/sidebar/PhpWikiAdministration/Chmod"/></dataref></node>
-
-<node name="IncludeSiteMap"><label>IncludeSiteMap</label><dataref><ref xlink:href="http://reini/wiki/sidebar/IncludeSiteMap"/></dataref></node>
-
-<node name="AuthorHistoryPlugin"><label>AuthorHistoryPlugin</label><dataref><ref xlink:href="http://reini/wiki/sidebar/AuthorHistoryPlugin"/></dataref></node>
-<edge source="AuthorHistoryPlugin" target="WikiPlugin" />
-<edge source="AuthorHistoryPlugin" target="PhpWikiDocumentation" />
-
-<node name="CalendarListPlugin"><label>CalendarListPlugin</label><dataref><ref xlink:href="http://reini/wiki/sidebar/CalendarListPlugin"/></dataref></node>
-<edge source="CalendarListPlugin" target="WikiPlugin" />
-<edge source="CalendarListPlugin" target="PhpWikiDocumentation" />
-<edge source="CalendarListPlugin" target="CalendarPlugin" />
-<edge source="CalendarListPlugin" target="CalendarListPlugin" />
-
-<node name="EditMetaDataPlugin"><label>EditMetaDataPlugin</label><dataref><ref xlink:href="http://reini/wiki/sidebar/EditMetaDataPlugin"/></dataref></node>
-<edge source="EditMetaDataPlugin" target="WikiPlugin" />
-<edge source="EditMetaDataPlugin" target="PhpWikiDocumentation" />
-
-<node name="PageDump"><label>PageDump</label><dataref><ref xlink:href="http://reini/wiki/sidebar/PageDump"/></dataref></node>
-<edge source="PageDump" target="PluginManager" />
-<edge source="PageDump" target="TitleSearch" />
-<edge source="PageDump" target="PhpWikiAdministration" />
-
-<node name="PreferencesInfo"><label>PreferencesInfo</label><dataref><ref xlink:href="http://reini/wiki/sidebar/PreferencesInfo"/></dataref></node>
-
-<node name="PhpWikiAdministrationx2f.SetAcl"><label>PhpWikiAdministration/SetAcl</label><dataref><ref xlink:href="http://reini/wiki/sidebar/PhpWikiAdministration/SetAcl"/></dataref></node>
-
-<node name="PhpWikiPoll"><label>PhpWikiPoll</label><dataref><ref xlink:href="http://reini/wiki/sidebar/PhpWikiPoll"/></dataref></node>
-
-<node name="WikiForum"><label>WikiForum</label><dataref><ref xlink:href="http://reini/wiki/sidebar/WikiForum"/></dataref></node>
-
-<node name="WhoIsOnline"><label>WhoIsOnline</label><dataref><ref xlink:href="http://reini/wiki/sidebar/WhoIsOnline"/></dataref></node>
-
-<node name="Diff"><label>Diff</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Diff"/></dataref></node>
-
-<node name="viewsrcx2e.php"><label>viewsrc.php</label><dataref><ref xlink:href="http://reini/wiki/sidebar/viewsrc.php"/></dataref></node>
-<edge source="viewsrcx2e.php" target="viewsrcx2e.php" />
-
-<node name="Blog"><label>Blog</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Blog"/></dataref></node>
-
-<node name="Blogx2f.Blogx2f.2004-02-27x2f.02:14:54x2b.00:00"><label>Blog/Blog/2004-02-27/02:14:54+00:00</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Blog/Blog/2004-02-27/02%3A14%3A54%2B00%3A00"/></dataref></node>
-
-<node name="Blogx2f.Blogx2f.2004-02-27x2f.02:15:06x2b.00:00"><label>Blog/Blog/2004-02-27/02:15:06+00:00</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Blog/Blog/2004-02-27/02%3A15%3A06%2B00%3A00"/></dataref></node>
-
-<node name="Blogx2f.Blogx2f.2004-02-27x2f.02:15:11x2b.00:00"><label>Blog/Blog/2004-02-27/02:15:11+00:00</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Blog/Blog/2004-02-27/02%3A15%3A11%2B00%3A00"/></dataref></node>
-
-<node name="Blogx2f.Blogx2f.2004-02-27x2f.02:15:17x2b.00:00"><label>Blog/Blog/2004-02-27/02:15:17+00:00</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Blog/Blog/2004-02-27/02%3A15%3A17%2B00%3A00"/></dataref></node>
-
-<node name="PageTrailx2e.php"><label>PageTrail.php</label><dataref><ref xlink:href="http://reini/wiki/sidebar/PageTrail.php"/></dataref></node>
-
-<node name="GooglePlugin"><label>GooglePlugin</label><dataref><ref xlink:href="http://reini/wiki/sidebar/GooglePlugin"/></dataref></node>
-
-<node name="SqlResult"><label>SqlResult</label><dataref><ref xlink:href="http://reini/wiki/sidebar/SqlResult"/></dataref></node>
-
-<node name="AuthorHistory"><label>AuthorHistory</label><dataref><ref xlink:href="http://reini/wiki/sidebar/AuthorHistory"/></dataref></node>
-
-<node name="XxXx"><label>XxXx</label><dataref><ref xlink:href="http://reini/wiki/sidebar/XxXx"/></dataref></node>
-<edge source="XxXx" target="XxXx" />
-
-<node name="CategoryGroup"><label>CategoryGroup</label><dataref><ref xlink:href="http://reini/wiki/sidebar/CategoryGroup"/></dataref></node>
-<edge source="CategoryGroup" target="Administrators" />
-
-<node name="Administrators"><label>Administrators</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Administrators"/></dataref></node>
-<edge source="Administrators" target="ReiniUrban" />
-<edge source="Administrators" target="CategoryGroup" />
-<edge source="Administrators" target="XxXx" />
-
-<node name="CreatePage"><label>CreatePage</label><dataref><ref xlink:href="http://reini/wiki/sidebar/CreatePage"/></dataref></node>
-
-<node name="Diagonale2004"><label>Diagonale2004</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Diagonale2004"/></dataref></node>
-
-<node name="Antares"><label>Antares</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Antares"/></dataref></node>
-<edge source="Antares" target="Diagonale2004" />
-
-<node name="IncludePagePlugin"><label>IncludePagePlugin</label><dataref><ref xlink:href="http://reini/wiki/sidebar/IncludePagePlugin"/></dataref></node>
-<edge source="IncludePagePlugin" target="WikiPlugin" />
-<edge source="IncludePagePlugin" target="PhpWikiDocumentation" />
-<edge source="IncludePagePlugin" target="WabiSabi" />
-<edge source="IncludePagePlugin" target="HomePage" />
-<edge source="IncludePagePlugin" target="FrameIncludePlugin" />
-
-<node name="RichTableTest"><label>RichTableTest</label><dataref><ref xlink:href="http://reini/wiki/sidebar/RichTableTest"/></dataref></node>
-
-<node name="AutorenProtokollPlugin"><label>AutorenProtokollPlugin</label><dataref><ref xlink:href="http://reini/wiki/sidebar/AutorenProtokollPlugin"/></dataref></node>
-<edge source="AutorenProtokollPlugin" target="PhpWikiDokumentation" />
-<edge source="AutorenProtokollPlugin" target="StartSeite" />
-<edge source="AutorenProtokollPlugin" target="WikiPlugin" />
-<edge source="AutorenProtokollPlugin" target="SeitenProtokoll" />
-
-<node name="FrameIncludePlugin"><label>FrameIncludePlugin</label><dataref><ref xlink:href="http://reini/wiki/sidebar/FrameIncludePlugin"/></dataref></node>
-<edge source="FrameIncludePlugin" target="WikiPlugin" />
-<edge source="FrameIncludePlugin" target="PhpWikiDocumentation" />
-<edge source="FrameIncludePlugin" target="IncludePagePlugin" />
-
-<node name="RawHtmlPlugin"><label>RawHtmlPlugin</label><dataref><ref xlink:href="http://reini/wiki/sidebar/RawHtmlPlugin"/></dataref></node>
-<edge source="RawHtmlPlugin" target="WikiPlugin" />
-<edge source="RawHtmlPlugin" target="PhpWikiDocumentation" />
-
-<node name="PhpWikiAdministrationx2f.Replace"><label>PhpWikiAdministration/Replace</label><dataref><ref xlink:href="http://reini/wiki/sidebar/PhpWikiAdministration/Replace"/></dataref></node>
-
-<node name="ReiniUrbanx2f.Calendar"><label>ReiniUrban/Calendar</label><dataref><ref xlink:href="http://reini/wiki/sidebar/ReiniUrban/Calendar"/></dataref></node>
-
-<node name="ReiniUrbanx2f.Calendarx2f.2004-03-12"><label>ReiniUrban/Calendar/2004-03-12</label><dataref><ref xlink:href="http://reini/wiki/sidebar/ReiniUrban/Calendar/2004-03-12"/></dataref></node>
-<edge source="ReiniUrbanx2f.Calendarx2f.2004-03-12" target="ReiniUrbanx2f.Calendarx2f.2004-03-12" />
-
-<node name="ReiniUrbanx2f.Calendarx2f.2004-03-11"><label>ReiniUrban/Calendar/2004-03-11</label><dataref><ref xlink:href="http://reini/wiki/sidebar/ReiniUrban/Calendar/2004-03-11"/></dataref></node>
-<edge source="ReiniUrbanx2f.Calendarx2f.2004-03-11" target="ReiniUrbanx2f.Calendarx2f.2004-03-11" />
-
-<node name="ReiniUrbanx2f.Calendarx2f.2004-03-26"><label>ReiniUrban/Calendar/2004-03-26</label><dataref><ref xlink:href="http://reini/wiki/sidebar/ReiniUrban/Calendar/2004-03-26"/></dataref></node>
-<edge source="ReiniUrbanx2f.Calendarx2f.2004-03-26" target="ReiniUrbanx2f.Calendarx2f.2004-03-26" />
-
-<node name="ReiniUrbanx2f.Calendarx2f.2004-03-04"><label>ReiniUrban/Calendar/2004-03-04</label><dataref><ref xlink:href="http://reini/wiki/sidebar/ReiniUrban/Calendar/2004-03-04"/></dataref></node>
-<edge source="ReiniUrbanx2f.Calendarx2f.2004-03-04" target="ReiniUrbanx2f.Calendarx2f.2004-03-04" />
-
-<node name="x5f.WikiTranslation"><label>_WikiTranslation</label><dataref><ref xlink:href="http://reini/wiki/sidebar/_WikiTranslation"/></dataref></node>
-
-<node name="TranslateText"><label>TranslateText</label><dataref><ref xlink:href="http://reini/wiki/sidebar/TranslateText"/></dataref></node>
-
-<node name="ReiniUrbanx2f.ContributedTranslations"><label>ReiniUrban/ContributedTranslations</label><dataref><ref xlink:href="http://reini/wiki/sidebar/ReiniUrban/ContributedTranslations"/></dataref></node>
-<edge source="ReiniUrbanx2f.ContributedTranslations" target="ProjectSummary" />
-<edge source="ReiniUrbanx2f.ContributedTranslations" target="SeitenErzeugen" />
-<edge source="ReiniUrbanx2f.ContributedTranslations" target="AddingPages" />
-<edge source="ReiniUrbanx2f.ContributedTranslations" target="ReiniUrban" />
-
-<node name="WikiPgrscTranslation"><label>WikiPgrscTranslation</label><dataref><ref xlink:href="http://reini/wiki/sidebar/WikiPgrscTranslation"/></dataref></node>
-
-<node name="AddCommentPlugin"><label>AddCommentPlugin</label><dataref><ref xlink:href="http://reini/wiki/sidebar/AddCommentPlugin"/></dataref></node>
-<edge source="AddCommentPlugin" target="PhpWikiDocumentation" />
-<edge source="AddCommentPlugin" target="WikiPlugin" />
-
-<node name="CreateTocPlugin"><label>CreateTocPlugin</label><dataref><ref xlink:href="http://reini/wiki/sidebar/CreateTocPlugin"/></dataref></node>
-<edge source="CreateTocPlugin" target="PhpWikiDocumentation" />
-<edge source="CreateTocPlugin" target="WikiPlugin" />
-
-<node name="AllPagesByDate"><label>AllPagesByDate</label><dataref><ref xlink:href="http://reini/wiki/sidebar/AllPagesByDate"/></dataref></node>
-
-<node name="TocTest"><label>TocTest</label><dataref><ref xlink:href="http://reini/wiki/sidebar/TocTest"/></dataref></node>
-<edge source="TocTest" target="ThirdItem" />
-
-<node name="rurban"><label>rurban</label><dataref><ref xlink:href="http://reini/wiki/sidebar/rurban"/></dataref></node>
-<edge source="rurban" target="UserPreferences" />
-
-<node name="ReiniUrbanx2f.Calendarx2f.2004-02-25"><label>ReiniUrban/Calendar/2004-02-25</label><dataref><ref xlink:href="http://reini/wiki/sidebar/ReiniUrban/Calendar/2004-02-25"/></dataref></node>
-
-<node name="RateIt"><label>RateIt</label><dataref><ref xlink:href="http://reini/wiki/sidebar/RateIt"/></dataref></node>
-
-<node name="HomePagex2f.Comment"><label>HomePage/Comment</label><dataref><ref xlink:href="http://reini/wiki/sidebar/HomePage/Comment"/></dataref></node>
-
-<node name="HomePagex2f.Commentx2f.2004-03-29"><label>HomePage/Comment/2004-03-29</label><dataref><ref xlink:href="http://reini/wiki/sidebar/HomePage/Comment/2004-03-29"/></dataref></node>
-
-<node name="HomePagex2f.Commentx2f.2004-03-30"><label>HomePage/Comment/2004-03-30</label><dataref><ref xlink:href="http://reini/wiki/sidebar/HomePage/Comment/2004-03-30"/></dataref></node>
-
-<node name="ReiniXx"><label>ReiniXx</label><dataref><ref xlink:href="http://reini/wiki/sidebar/ReiniXx"/></dataref></node>
-<edge source="ReiniXx" target="ReiniXx" />
-
-<node name="HomePagex2f.Commentx2f.2004-04-09"><label>HomePage/Comment/2004-04-09</label><dataref><ref xlink:href="http://reini/wiki/sidebar/HomePage/Comment/2004-04-09"/></dataref></node>
-
-<node name="PhpWikiRecentChanges"><label>PhpWikiRecentChanges</label><dataref><ref xlink:href="http://reini/wiki/sidebar/PhpWikiRecentChanges"/></dataref></node>
-
-<node name="PhpWikiHighlightBug"><label>PhpWikiHighlightBug</label><dataref><ref xlink:href="http://reini/wiki/sidebar/PhpWikiHighlightBug"/></dataref></node>
-<edge source="PhpWikiHighlightBug" target="PhpHighlightPlugin" />
-<edge source="PhpWikiHighlightBug" target="PhpWiki" />
-
-<node name="XxXxx2f.Calendar"><label>XxXx/Calendar</label><dataref><ref xlink:href="http://reini/wiki/sidebar/XxXx/Calendar"/></dataref></node>
-
-<node name="RecentReleases"><label>RecentReleases</label><dataref><ref xlink:href="http://reini/wiki/sidebar/RecentReleases"/></dataref></node>
-
-<node name="ProjectSummary"><label>ProjectSummary</label><dataref><ref xlink:href="http://reini/wiki/sidebar/ProjectSummary"/></dataref></node>
-
-<node name="RichTableProblem"><label>RichTableProblem</label><dataref><ref xlink:href="http://reini/wiki/sidebar/RichTableProblem"/></dataref></node>
-<edge source="RichTableProblem" target="RichTableProblemx2f.ContenTs3" />
-
-<node name="x34.41"><label>441</label><dataref><ref xlink:href="http://reini/wiki/sidebar/441"/></dataref></node>
-
-<node name="TestLink"><label>TestLink</label><dataref><ref xlink:href="http://reini/wiki/sidebar/TestLink"/></dataref></node>
-
-<node name="TestLink2"><label>TestLink2</label><dataref><ref xlink:href="http://reini/wiki/sidebar/TestLink2"/></dataref></node>
-<edge source="TestLink2" target="TestLink2" />
-
-<node name="EditiereText"><label>EditiereText</label><dataref><ref xlink:href="http://reini/wiki/sidebar/EditiereText"/></dataref></node>
-
-<node name="Einstellungen"><label>Einstellungen</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Einstellungen"/></dataref></node>
-<edge source="Einstellungen" target="WikiPlugin" />
-<edge source="Einstellungen" target="PluginManager" />
-
-<node name="FrischeSeiten"><label>FrischeSeiten</label><dataref><ref xlink:href="http://reini/wiki/sidebar/FrischeSeiten"/></dataref></node>
-<edge source="FrischeSeiten" target="Geringfxfc.gigexc4.nderungen" />
-
-<node name="GaesteBuch"><label>GaesteBuch</label><dataref><ref xlink:href="http://reini/wiki/sidebar/GaesteBuch"/></dataref></node>
-
-<node name="GleicheSeiten"><label>GleicheSeiten</label><dataref><ref xlink:href="http://reini/wiki/sidebar/GleicheSeiten"/></dataref></node>
-
-<node name="HalloWeltPlugin"><label>HalloWeltPlugin</label><dataref><ref xlink:href="http://reini/wiki/sidebar/HalloWeltPlugin"/></dataref></node>
-<edge source="HalloWeltPlugin" target="PhpWiki" />
-
-<node name="InhaltsVerzeichnisPlugin"><label>InhaltsVerzeichnisPlugin</label><dataref><ref xlink:href="http://reini/wiki/sidebar/InhaltsVerzeichnisPlugin"/></dataref></node>
-<edge source="InhaltsVerzeichnisPlugin" target="WikiPlugin" />
-<edge source="InhaltsVerzeichnisPlugin" target="TextFormattingRules" />
-<edge source="InhaltsVerzeichnisPlugin" target="PhpWikiDokumentation" />
-
-<node name="NeuerKommentarPlugin"><label>NeuerKommentarPlugin</label><dataref><ref xlink:href="http://reini/wiki/sidebar/NeuerKommentarPlugin"/></dataref></node>
-<edge source="NeuerKommentarPlugin" target="WikiPlugin" />
-<edge source="NeuerKommentarPlugin" target="PhpWikiDokumentation" />
-
-<node name="PhpWikiSystemverwalten"><label>PhpWikiSystemverwalten</label><dataref><ref xlink:href="http://reini/wiki/sidebar/PhpWikiSystemverwalten"/></dataref></node>
-<edge source="PhpWikiSystemverwalten" target="StartSeite" />
-<edge source="PhpWikiSystemverwalten" target="PhpWiki" />
-<edge source="PhpWikiSystemverwalten" target="SandKiste" />
-<edge source="PhpWikiSystemverwalten" target="PhpWikiSystemverwaltenx2f.Chmod" />
-<edge source="PhpWikiSystemverwalten" target="PhpWikiSystemverwaltenx2f.Chown" />
-<edge source="PhpWikiSystemverwalten" target="PhpWikiSystemverwaltenx2f.AclSetzen" />
-<edge source="PhpWikiSystemverwalten" target="PhpWikiSystemverwaltenx2f.SuchenErsetzen" />
-<edge source="PhpWikiSystemverwalten" target="PhpWikiSystemverwaltenx2f.Umbenennen" />
-<edge source="PhpWikiSystemverwalten" target="PhpWikiSystemverwaltenx2f.Lxf6.schen" />
-<edge source="PhpWikiSystemverwalten" target="PhpWikiDokumentation" />
-
-<node name="PhpWikiSystemverwaltenx2f.Lxf6.schen"><label>PhpWikiSystemverwalten/Lschen</label><dataref><ref xlink:href="http://reini/wiki/sidebar/PhpWikiSystemverwalten/L%F6schen"/></dataref></node>
-
-<node name="PhpWikiSystemverwaltenx2f.Umbenennen"><label>PhpWikiSystemverwalten/Umbenennen</label><dataref><ref xlink:href="http://reini/wiki/sidebar/PhpWikiSystemverwalten/Umbenennen"/></dataref></node>
-
-<node name="PhpWikiSystemverwaltenx2f.SuchenErsetzen"><label>PhpWikiSystemverwalten/SuchenErsetzen</label><dataref><ref xlink:href="http://reini/wiki/sidebar/PhpWikiSystemverwalten/SuchenErsetzen"/></dataref></node>
-
-<node name="PhpWikiSystemverwaltenx2f.Chmod"><label>PhpWikiSystemverwalten/Chmod</label><dataref><ref xlink:href="http://reini/wiki/sidebar/PhpWikiSystemverwalten/Chmod"/></dataref></node>
-
-<node name="SandKiste"><label>SandKiste</label><dataref><ref xlink:href="http://reini/wiki/sidebar/SandKiste"/></dataref></node>
-<edge source="SandKiste" target="SandKiste" />
-<edge source="SandKiste" target="SandKasten" />
-
-<node name="PhpWikiSystemverwaltenx2f.AclSetzen"><label>PhpWikiSystemverwalten/AclSetzen</label><dataref><ref xlink:href="http://reini/wiki/sidebar/PhpWikiSystemverwalten/AclSetzen"/></dataref></node>
-
-<node name="PhpWikiUmfrage"><label>PhpWikiUmfrage</label><dataref><ref xlink:href="http://reini/wiki/sidebar/PhpWikiUmfrage"/></dataref></node>
-
-<node name="WerIstOnline"><label>WerIstOnline</label><dataref><ref xlink:href="http://reini/wiki/sidebar/WerIstOnline"/></dataref></node>
-
-<node name="AdministrationDePhpWikix2f.Supprimer"><label>AdministrationDePhpWiki/Supprimer</label><dataref><ref xlink:href="http://reini/wiki/sidebar/AdministrationDePhpWiki/Supprimer"/></dataref></node>
-
-<node name="PagesFloues"><label>PagesFloues</label><dataref><ref xlink:href="http://reini/wiki/sidebar/PagesFloues"/></dataref></node>
-
-<node name="WikiForumx2f."><label>WikiForum/</label><dataref><ref xlink:href="http://reini/wiki/sidebar/WikiForum/"/></dataref></node>
-
-<node name="WikiForumx2f.xx"><label>WikiForum/xx</label><dataref><ref xlink:href="http://reini/wiki/sidebar/WikiForum/xx"/></dataref></node>
-
-<node name="WikiForumx2f.xxx2f.2004-04-18"><label>WikiForum/xx/2004-04-18</label><dataref><ref xlink:href="http://reini/wiki/sidebar/WikiForum/xx/2004-04-18"/></dataref></node>
-
-<node name="WikiForumx2f.xxx2f.2004-04-18x2f.05:49:12x2b.02:00"><label>WikiForum/xx/2004-04-18/05:49:12+02:00</label><dataref><ref xlink:href="http://reini/wiki/sidebar/WikiForum/xx/2004-04-18/05%3A49%3A12%2B02%3A00"/></dataref></node>
-
-<node name="CreateTocProblem"><label>CreateTocProblem</label><dataref><ref xlink:href="http://reini/wiki/sidebar/CreateTocProblem"/></dataref></node>
-
-<node name="RelatedChanges"><label>RelatedChanges</label><dataref><ref xlink:href="http://reini/wiki/sidebar/RelatedChanges"/></dataref></node>
-
-<node name="ThirdItem"><label>ThirdItem</label><dataref><ref xlink:href="http://reini/wiki/sidebar/ThirdItem"/></dataref></node>
-<edge source="ThirdItem" target="ThirdItem" />
-
-<node name="PopularNearby"><label>PopularNearby</label><dataref><ref xlink:href="http://reini/wiki/sidebar/PopularNearby"/></dataref></node>
-<edge source="PopularNearby" target="PopularNearby" />
-
-<node name="RichTableProblemx2f.ContenTs3"><label>RichTableProblem/ContenTs3</label><dataref><ref xlink:href="http://reini/wiki/sidebar/RichTableProblem/ContenTs3"/></dataref></node>
-<edge source="RichTableProblemx2f.ContenTs3" target="RichTableProblemx2f.ContenTs3" />
-
-<node name="WikiWikix2f.PagePage"><label>WikiWiki/PagePage</label><dataref><ref xlink:href="http://reini/wiki/sidebar/WikiWiki/PagePage"/></dataref></node>
-<edge source="WikiWikix2f.PagePage" target="WikiWiki" />
-
-<node name="WikiWiki"><label>WikiWiki</label><dataref><ref xlink:href="http://reini/wiki/sidebar/WikiWiki"/></dataref></node>
-
-<node name="CreatePagePlugin"><label>CreatePagePlugin</label><dataref><ref xlink:href="http://reini/wiki/sidebar/CreatePagePlugin"/></dataref></node>
-<edge source="CreatePagePlugin" target="PhpWikiDocumentation" />
-<edge source="CreatePagePlugin" target="WikiPlugin" />
-
-<node name="GoogleLink"><label>GoogleLink</label><dataref><ref xlink:href="http://reini/wiki/sidebar/GoogleLink"/></dataref></node>
-<edge source="GoogleLink" target="PhpWikiDocumentation" />
-<edge source="GoogleLink" target="UserPreferences" />
-<edge source="GoogleLink" target="GoogleLink" />
-
-<node name="PgsrcRefactoring"><label>PgsrcRefactoring</label><dataref><ref xlink:href="http://reini/wiki/sidebar/PgsrcRefactoring"/></dataref></node>
-<edge source="PgsrcRefactoring" target="HomePage" />
-<edge source="PgsrcRefactoring" target="PhpWikiAdministration" />
-<edge source="PgsrcRefactoring" target="PhpWikiDocumentation" />
-<edge source="PgsrcRefactoring" target="AddingPages" />
-<edge source="PgsrcRefactoring" target="EditText" />
-<edge source="PgsrcRefactoring" target="GoodStyle" />
-<edge source="PgsrcRefactoring" target="TextFormattingRules" />
-
-<node name="RssFeedPlugin"><label>RssFeedPlugin</label><dataref><ref xlink:href="http://reini/wiki/sidebar/RssFeedPlugin"/></dataref></node>
-<edge source="RssFeedPlugin" target="PhpWikiDocumentation" />
-<edge source="RssFeedPlugin" target="PhpWikiRss" />
-<edge source="RssFeedPlugin" target="WikiPlugin" />
-
-<node name="PhpWikiRss"><label>PhpWikiRss</label><dataref><ref xlink:href="http://reini/wiki/sidebar/PhpWikiRss"/></dataref></node>
-
-<node name="x5f.AuthInfo"><label>_AuthInfo</label><dataref><ref xlink:href="http://reini/wiki/sidebar/_AuthInfo"/></dataref></node>
-
-<node name="SfNetHomePage"><label>SfNetHomePage</label><dataref><ref xlink:href="http://reini/wiki/sidebar/SfNetHomePage"/></dataref></node>
-<edge source="SfNetHomePage" target="AuthInfo" />
-<edge source="SfNetHomePage" target="PhpWiki" />
-<edge source="SfNetHomePage" target="UserPreferences" />
-<edge source="SfNetHomePage" target="PgsrcTranslation" />
-<edge source="SfNetHomePage" target="WhoIsOnline" />
-<edge source="SfNetHomePage" target="PhpWikiPoll" />
-<edge source="SfNetHomePage" target="AddCommentPlugin" />
-<edge source="SfNetHomePage" target="CreateTocPlugin" />
-<edge source="SfNetHomePage" target="PhpWikiDocumentation" />
-<edge source="SfNetHomePage" target="PhpWikiAdministration" />
-<edge source="SfNetHomePage" target="RecentReleases" />
-<edge source="SfNetHomePage" target="ReleaseNotes" />
-<edge source="SfNetHomePage" target="MostPopular" />
-<edge source="SfNetHomePage" target="RecentChanges" />
-<edge source="SfNetHomePage" target="RecentVisitors" />
-<edge source="SfNetHomePage" target="SandBox" />
-<edge source="SfNetHomePage" target="AddingPages" />
-<edge source="SfNetHomePage" target="HowToUseWiki" />
-<edge source="SfNetHomePage" target="WikiWikiWeb" />
-
-<node name="Blogx2f.Blog"><label>Blog/Blog</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Blog/Blog"/></dataref></node>
-
-<node name="PageGroupTestFour"><label>PageGroupTestFour</label><dataref><ref xlink:href="http://reini/wiki/sidebar/PageGroupTestFour"/></dataref></node>
-<edge source="PageGroupTestFour" target="PageGroupTest" />
-
-<node name="PageGroupTestThree"><label>PageGroupTestThree</label><dataref><ref xlink:href="http://reini/wiki/sidebar/PageGroupTestThree"/></dataref></node>
-
-<node name="PageGroupTestTwo"><label>PageGroupTestTwo</label><dataref><ref xlink:href="http://reini/wiki/sidebar/PageGroupTestTwo"/></dataref></node>
-<edge source="PageGroupTestTwo" target="PageGroupTest" />
-<edge source="PageGroupTestTwo" target="BackLinks" />
-
-<node name="rurbanx2f.Calendar"><label>rurban/Calendar</label><dataref><ref xlink:href="http://reini/wiki/sidebar/rurban/Calendar"/></dataref></node>
-
-<node name="PagePermissions"><label>PagePermissions</label><dataref><ref xlink:href="http://reini/wiki/sidebar/PagePermissions"/></dataref></node>
-<edge source="PagePermissions" target="PhpWiki" />
-<edge source="PagePermissions" target="ToDo" />
-<edge source="PagePermissions" target="AllPages" />
-<edge source="PagePermissions" target="PhpWikiDocumentation" />
-
-<node name="EditMetaData"><label>EditMetaData</label><dataref><ref xlink:href="http://reini/wiki/sidebar/EditMetaData"/></dataref></node>
-
-<node name="LispTest"><label>LispTest</label><dataref><ref xlink:href="http://reini/wiki/sidebar/LispTest"/></dataref></node>
-
-<node name="RecentComments"><label>RecentComments</label><dataref><ref xlink:href="http://reini/wiki/sidebar/RecentComments"/></dataref></node>
-
-<node name="HomePagex2f.Commentx2f.2004-05-14"><label>HomePage/Comment/2004-05-14</label><dataref><ref xlink:href="http://reini/wiki/sidebar/HomePage/Comment/2004-05-14"/></dataref></node>
-
-<node name="HomePagex2f.Commentx2f.2004-05-14x2f.19:36:22x2b.02:00"><label>HomePage/Comment/2004-05-14/19:36:22+02:00</label><dataref><ref xlink:href="http://reini/wiki/sidebar/HomePage/Comment/2004-05-14/19%3A36%3A22%2B02%3A00"/></dataref></node>
-
-<node name="FoafViewer"><label>FoafViewer</label><dataref><ref xlink:href="http://reini/wiki/sidebar/FoafViewer"/></dataref></node>
-
-<node name="WikiSettings"><label>WikiSettings</label><dataref><ref xlink:href="http://reini/wiki/sidebar/WikiSettings"/></dataref></node>
-
-<node name="XxXxx2f.Calendarx2f.2004-05-03"><label>XxXx/Calendar/2004-05-03</label><dataref><ref xlink:href="http://reini/wiki/sidebar/XxXx/Calendar/2004-05-03"/></dataref></node>
-<edge source="XxXxx2f.Calendarx2f.2004-05-03" target="XxXxx2f.Calendarx2f.2004-05-03" />
-
-<node name="XxXxx2f.Calendarx2f.2004-05-04"><label>XxXx/Calendar/2004-05-04</label><dataref><ref xlink:href="http://reini/wiki/sidebar/XxXx/Calendar/2004-05-04"/></dataref></node>
-<edge source="XxXxx2f.Calendarx2f.2004-05-04" target="XxXxx2f.Calendarx2f.2004-05-04" />
-
-<node name="XxXxx2f.Calendarx2f.2004-06-04"><label>XxXx/Calendar/2004-06-04</label><dataref><ref xlink:href="http://reini/wiki/sidebar/XxXx/Calendar/2004-06-04"/></dataref></node>
-<edge source="XxXxx2f.Calendarx2f.2004-06-04" target="XxXxx2f.Calendarx2f.2004-06-04" />
-
-<node name="XxXxx2f.Calendarx2f.2004-06-02"><label>XxXx/Calendar/2004-06-02</label><dataref><ref xlink:href="http://reini/wiki/sidebar/XxXx/Calendar/2004-06-02"/></dataref></node>
-<edge source="XxXxx2f.Calendarx2f.2004-06-02" target="XxXxx2f.Calendarx2f.2004-06-02" />
-
-<node name="XxXxx2f.Calendarx2f.2004-06-01"><label>XxXx/Calendar/2004-06-01</label><dataref><ref xlink:href="http://reini/wiki/sidebar/XxXx/Calendar/2004-06-01"/></dataref></node>
-<edge source="XxXxx2f.Calendarx2f.2004-06-01" target="XxXxx2f.Calendarx2f.2004-06-01" />
-
-<node name="HomePagex2f.Commentx2f.2004-06-06"><label>HomePage/Comment/2004-06-06</label><dataref><ref xlink:href="http://reini/wiki/sidebar/HomePage/Comment/2004-06-06"/></dataref></node>
-
-<node name="x2e.HomePage"><label>.HomePage</label><dataref><ref xlink:href="http://reini/wiki/sidebar/.HomePage"/></dataref></node>
-<edge source="x2e.HomePage" target="x2e.HomePage" />
-
-<node name="FoafViewerPlugin"><label>FoafViewerPlugin</label><dataref><ref xlink:href="http://reini/wiki/sidebar/FoafViewerPlugin"/></dataref></node>
-<edge source="FoafViewerPlugin" target="WikiPlugin" />
-<edge source="FoafViewerPlugin" target="PhpWikiDocumentation" />
-<edge source="FoafViewerPlugin" target="FoafViewerPlugin" />
-
-<node name="PhpWikiAdministrationx2f.Chown"><label>PhpWikiAdministration/Chown</label><dataref><ref xlink:href="http://reini/wiki/sidebar/PhpWikiAdministration/Chown"/></dataref></node>
-
-<node name="PloticusPlugin"><label>PloticusPlugin</label><dataref><ref xlink:href="http://reini/wiki/sidebar/PloticusPlugin"/></dataref></node>
-<edge source="PloticusPlugin" target="WikiPlugin" />
-
-<node name="SyntaxHighlighterPlugin"><label>SyntaxHighlighterPlugin</label><dataref><ref xlink:href="http://reini/wiki/sidebar/SyntaxHighlighterPlugin"/></dataref></node>
-<edge source="SyntaxHighlighterPlugin" target="WikiPlugin" />
-<edge source="SyntaxHighlighterPlugin" target="PhpWikiDocumentation" />
-
-<node name="PageGroupTestOld"><label>PageGroupTestOld</label><dataref><ref xlink:href="http://reini/wiki/sidebar/PageGroupTestOld"/></dataref></node>
-<edge source="PageGroupTestOld" target="PageGroupTestFour" />
-<edge source="PageGroupTestOld" target="PageGroupTestThree" />
-<edge source="PageGroupTestOld" target="PageGroupTestTwo" />
-<edge source="PageGroupTestOld" target="PageGroupTest" />
-
-<node name="FinePageNew"><label>FinePageNew</label><dataref><ref xlink:href="http://reini/wiki/sidebar/FinePageNew"/></dataref></node>
-<edge source="FinePageNew" target="ReiniUrban" />
-
-<node name="TocTest1"><label>TocTest1</label><dataref><ref xlink:href="http://reini/wiki/sidebar/TocTest1"/></dataref></node>
-<edge source="TocTest1" target="TocTest1" />
-
-<node name="TeX2pngPlugin"><label>TeX2pngPlugin</label><dataref><ref xlink:href="http://reini/wiki/sidebar/TeX2pngPlugin"/></dataref></node>
-<edge source="TeX2pngPlugin" target="PhpWikiDocumentation" />
-<edge source="TeX2pngPlugin" target="WikiPlugin" />
-
-<node name="PhpWikiAdministrationx2f.Access"><label>PhpWikiAdministration/Access</label><dataref><ref xlink:href="http://reini/wiki/sidebar/PhpWikiAdministration/Access"/></dataref></node>
-
-<node name="AllPagesByAuthor"><label>AllPagesByAuthor</label><dataref><ref xlink:href="http://reini/wiki/sidebar/AllPagesByAuthor"/></dataref></node>
-
-<node name="AllPagesCreatedByMe"><label>AllPagesCreatedByMe</label><dataref><ref xlink:href="http://reini/wiki/sidebar/AllPagesCreatedByMe"/></dataref></node>
-
-<node name="TestUsers"><label>TestUsers</label><dataref><ref xlink:href="http://reini/wiki/sidebar/TestUsers"/></dataref></node>
-<edge source="TestUsers" target="ReiniUrban" />
-<edge source="TestUsers" target="XxXx" />
-
-<node name="ListPages"><label>ListPages</label><dataref><ref xlink:href="http://reini/wiki/sidebar/ListPages"/></dataref></node>
-
-<node name="InlineParserBug"><label>InlineParserBug</label><dataref><ref xlink:href="http://reini/wiki/sidebar/InlineParserBug"/></dataref></node>
-<edge source="InlineParserBug" target="InlineParserBug" />
-
-<node name="UpLoadPlugin"><label>UpLoadPlugin</label><dataref><ref xlink:href="http://reini/wiki/sidebar/UpLoadPlugin"/></dataref></node>
-<edge source="UpLoadPlugin" target="PhpWikiDocumentation" />
-<edge source="UpLoadPlugin" target="InterWikiMap" />
-<edge source="UpLoadPlugin" target="WikiPlugin" />
-<edge source="UpLoadPlugin" target="UpLoad" />
-
-<node name="AllPagesLastEditedByMe"><label>AllPagesLastEditedByMe</label><dataref><ref xlink:href="http://reini/wiki/sidebar/AllPagesLastEditedByMe"/></dataref></node>
-
-<node name="AllPagesOwnedByMe"><label>AllPagesOwnedByMe</label><dataref><ref xlink:href="http://reini/wiki/sidebar/AllPagesOwnedByMe"/></dataref></node>
-
-<node name="CacheStatus"><label>CacheStatus</label><dataref><ref xlink:href="http://reini/wiki/sidebar/CacheStatus"/></dataref></node>
-
-<node name="AdministrationDePhpWikix2f.Dxe9.finirAcl"><label>AdministrationDePhpWiki/DfinirAcl</label><dataref><ref xlink:href="http://reini/wiki/sidebar/AdministrationDePhpWiki/D%E9finirAcl"/></dataref></node>
-
-<node name="AdministrationDePhpWikix2f.Droits"><label>AdministrationDePhpWiki/Droits</label><dataref><ref xlink:href="http://reini/wiki/sidebar/AdministrationDePhpWiki/Droits"/></dataref></node>
-
-<node name="AdministrationDePhpWikix2f.Remplacer"><label>AdministrationDePhpWiki/Remplacer</label><dataref><ref xlink:href="http://reini/wiki/sidebar/AdministrationDePhpWiki/Remplacer"/></dataref></node>
-
-<node name="AdministrationDePhpWikix2f.Renommer"><label>AdministrationDePhpWiki/Renommer</label><dataref><ref xlink:href="http://reini/wiki/sidebar/AdministrationDePhpWiki/Renommer"/></dataref></node>
-
-<node name="AjouterDesCommentaires"><label>AjouterDesCommentaires</label><dataref><ref xlink:href="http://reini/wiki/sidebar/AjouterDesCommentaires"/></dataref></node>
-<edge source="AjouterDesCommentaires" target="PluginWiki" />
-
-<node name="AliasAccueil"><label>AliasAccueil</label><dataref><ref xlink:href="http://reini/wiki/sidebar/AliasAccueil"/></dataref></node>
-<edge source="AliasAccueil" target="PluginRedirection" />
-
-<node name="PluginRedirection"><label>PluginRedirection</label><dataref><ref xlink:href="http://reini/wiki/sidebar/PluginRedirection"/></dataref></node>
-<edge source="PluginRedirection" target="PluginRedirection" />
-<edge source="PluginRedirection" target="AliasAccueil" />
-<edge source="PluginRedirection" target="DocumentationDePhpWiki" />
-
-<node name="AnciennesRxe8.glesDeFormatage"><label>AnciennesRglesDeFormatage</label><dataref><ref xlink:href="http://reini/wiki/sidebar/AnciennesR%E8glesDeFormatage"/></dataref></node>
-<edge source="AnciennesRxe8.glesDeFormatage" target="PageAccueil" />
-<edge source="AnciennesRxe8.glesDeFormatage" target="AnciennesRxe8.glesDeFormatage" />
-<edge source="AnciennesRxe8.glesDeFormatage" target="Rxe8.glesDeFormatageDesTextes" />
-<edge source="AnciennesRxe8.glesDeFormatage" target="PluginTableauAncienStyle" />
-<edge source="AnciennesRxe8.glesDeFormatage" target="URLMagiquesPhpWiki" />
-<edge source="AnciennesRxe8.glesDeFormatage" target="DocumentationDePhpWiki" />
-
-<node name="PageAccueil"><label>PageAccueil</label><dataref><ref xlink:href="http://reini/wiki/sidebar/PageAccueil"/></dataref></node>
-<edge source="PageAccueil" target="WikiWikiWeb" />
-<edge source="PageAccueil" target="CommentUtiliserUnWiki" />
-<edge source="PageAccueil" target="AjouterDesPages" />
-<edge source="PageAccueil" target="Bacxc0.Sable" />
-<edge source="PageAccueil" target="DerniersVisiteurs" />
-<edge source="PageAccueil" target="Dernixe8.resModifs" />
-<edge source="PageAccueil" target="LesPlusVisitxe9.es" />
-<edge source="PageAccueil" target="NotesDeVersion" />
-<edge source="PageAccueil" target="AdministrationDePhpWiki" />
-
-<node name="DumpTest"><label>DumpTest</label><dataref><ref xlink:href="http://reini/wiki/sidebar/DumpTest"/></dataref></node>
-
-<node name="AdministrationDePhpWikix2f.Chown"><label>AdministrationDePhpWiki/Chown</label><dataref><ref xlink:href="http://reini/wiki/sidebar/AdministrationDePhpWiki/Chown"/></dataref></node>
-
-<node name="PluginTableauAncienStyle"><label>PluginTableauAncienStyle</label><dataref><ref xlink:href="http://reini/wiki/sidebar/PluginTableauAncienStyle"/></dataref></node>
-<edge source="PluginTableauAncienStyle" target="PluginTableauAncienStyle" />
-
-<node name="Bacxc0.Sable"><label>BacSable</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Bac%C0Sable"/></dataref></node>
-
-<node name="Catxe9.gorieCatxe9.gorie"><label>CatgorieCatgorie</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Cat%E9gorieCat%E9gorie"/></dataref></node>
-
-<node name="Catxe9.gorieGroupes"><label>CatgorieGroupes</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Cat%E9gorieGroupes"/></dataref></node>
-
-<node name="Catxe9.goriePagesAccueil"><label>CatgoriePagesAccueil</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Cat%E9goriePagesAccueil"/></dataref></node>
-<edge source="Catxe9.goriePagesAccueil" target="Catxe9.gorieCatxe9.gorie" />
-
-<node name="ChangementsLixe9.s"><label>ChangementsLis</label><dataref><ref xlink:href="http://reini/wiki/sidebar/ChangementsLi%E9s"/></dataref></node>
-
-<node name="ClassezLa"><label>ClassezLa</label><dataref><ref xlink:href="http://reini/wiki/sidebar/ClassezLa"/></dataref></node>
-
-<node name="CommentairesRxe9.cents"><label>CommentairesRcents</label><dataref><ref xlink:href="http://reini/wiki/sidebar/CommentairesR%E9cents"/></dataref></node>
-
-<node name="Dxe9.poserUnFichier"><label>DposerUnFichier</label><dataref><ref xlink:href="http://reini/wiki/sidebar/D%E9poserUnFichier"/></dataref></node>
-<edge source="Dxe9.poserUnFichier" target="PluginWiki" />
-
-<node name="EditerLesMetaDonnxe9.es"><label>EditerLesMetaDonnes</label><dataref><ref xlink:href="http://reini/wiki/sidebar/EditerLesMetaDonn%E9es"/></dataref></node>
-
-<node name="GestionDesPlugins"><label>GestionDesPlugins</label><dataref><ref xlink:href="http://reini/wiki/sidebar/GestionDesPlugins"/></dataref></node>
-<edge source="GestionDesPlugins" target="PhpWiki" />
-<edge source="GestionDesPlugins" target="PluginWiki" />
-<edge source="GestionDesPlugins" target="PluginBonjourLeMonde" />
-<edge source="GestionDesPlugins" target="DocumentationDePhpWiki" />
-
-<node name="PluginBonjourLeMonde"><label>PluginBonjourLeMonde</label><dataref><ref xlink:href="http://reini/wiki/sidebar/PluginBonjourLeMonde"/></dataref></node>
-<edge source="PluginBonjourLeMonde" target="PluginWiki" />
-
-<node name="HistoriqueDeLaPage"><label>HistoriqueDeLaPage</label><dataref><ref xlink:href="http://reini/wiki/sidebar/HistoriqueDeLaPage"/></dataref></node>
-
-<node name="InfosAuthentification"><label>InfosAuthentification</label><dataref><ref xlink:href="http://reini/wiki/sidebar/InfosAuthentification"/></dataref></node>
-
-<node name="InfosDeDxe9.boguage"><label>InfosDeDboguage</label><dataref><ref xlink:href="http://reini/wiki/sidebar/InfosDeD%E9boguage"/></dataref></node>
-
-<node name="InfosSurLaPage"><label>InfosSurLaPage</label><dataref><ref xlink:href="http://reini/wiki/sidebar/InfosSurLaPage"/></dataref></node>
-
-<node name="LienGoogle"><label>LienGoogle</label><dataref><ref xlink:href="http://reini/wiki/sidebar/LienGoogle"/></dataref></node>
-<edge source="LienGoogle" target="LienGoogle" />
-<edge source="LienGoogle" target="Prxe9.fxe9.rencesUtilisateurs" />
-<edge source="LienGoogle" target="DocumentationDePhpWiki" />
-
-<node name="ListeDePages"><label>ListeDePages</label><dataref><ref xlink:href="http://reini/wiki/sidebar/ListeDePages"/></dataref></node>
-
-<node name="ModifsRxe9.centesPhpWiki"><label>ModifsRcentesPhpWiki</label><dataref><ref xlink:href="http://reini/wiki/sidebar/ModifsR%E9centesPhpWiki"/></dataref></node>
-
-<node name="PagesRecherchxe9.es"><label>PagesRecherches</label><dataref><ref xlink:href="http://reini/wiki/sidebar/PagesRecherch%E9es"/></dataref></node>
-
-<node name="PageTestAnciennesMarques"><label>PageTestAnciennesMarques</label><dataref><ref xlink:href="http://reini/wiki/sidebar/PageTestAnciennesMarques"/></dataref></node>
-<edge source="PageTestAnciennesMarques" target="PageAccueil" />
-
-<node name="PageTestNouvellesMarques"><label>PageTestNouvellesMarques</label><dataref><ref xlink:href="http://reini/wiki/sidebar/PageTestNouvellesMarques"/></dataref></node>
-<edge source="PageTestNouvellesMarques" target="PageAccueil" />
-
-<node name="PierrickMeignen"><label>PierrickMeignen</label><dataref><ref xlink:href="http://reini/wiki/sidebar/PierrickMeignen"/></dataref></node>
-<edge source="PierrickMeignen" target="PhpWiki" />
-
-<node name="Pluginxc9.diterMetaData"><label>PluginditerMetaData</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Plugin%C9diterMetaData"/></dataref></node>
-
-<node name="PluginAlbumPhotos"><label>PluginAlbumPhotos</label><dataref><ref xlink:href="http://reini/wiki/sidebar/PluginAlbumPhotos"/></dataref></node>
-<edge source="PluginAlbumPhotos" target="DocumentationDePhpWiki" />
-<edge source="PluginAlbumPhotos" target="PluginWiki" />
-
-<node name="PluginBeauTableau"><label>PluginBeauTableau</label><dataref><ref xlink:href="http://reini/wiki/sidebar/PluginBeauTableau"/></dataref></node>
-<edge source="PluginBeauTableau" target="PluginBeauTableau" />
-<edge source="PluginBeauTableau" target="OldStyleTablePlugin" />
-<edge source="PluginBeauTableau" target="PluginWiki" />
-
-<node name="PluginColorationPhp"><label>PluginColorationPhp</label><dataref><ref xlink:href="http://reini/wiki/sidebar/PluginColorationPhp"/></dataref></node>
-<edge source="PluginColorationPhp" target="PluginColorationPhp" />
-<edge source="PluginColorationPhp" target="PluginWiki" />
-
-<node name="PluginCommenter"><label>PluginCommenter</label><dataref><ref xlink:href="http://reini/wiki/sidebar/PluginCommenter"/></dataref></node>
-<edge source="PluginCommenter" target="PluginCommenter" />
-<edge source="PluginCommenter" target="PluginWiki" />
-
-<node name="PluginCrxe9.erUnePage"><label>PluginCrerUnePage</label><dataref><ref xlink:href="http://reini/wiki/sidebar/PluginCr%E9erUnePage"/></dataref></node>
-<edge source="PluginCrxe9.erUnePage" target="PluginCrxe9.erUnePage" />
-
-<node name="PluginCrxe9.erUneTdm"><label>PluginCrerUneTdm</label><dataref><ref xlink:href="http://reini/wiki/sidebar/PluginCr%E9erUneTdm"/></dataref></node>
-<edge source="PluginCrxe9.erUneTdm" target="PluginCrxe9.erUneTdm" />
-
-<node name="PluginHistoriqueAuteur"><label>PluginHistoriqueAuteur</label><dataref><ref xlink:href="http://reini/wiki/sidebar/PluginHistoriqueAuteur"/></dataref></node>
-
-<node name="PluginHtmlPur"><label>PluginHtmlPur</label><dataref><ref xlink:href="http://reini/wiki/sidebar/PluginHtmlPur"/></dataref></node>
-
-<node name="PluginInclureUnCadre"><label>PluginInclureUnCadre</label><dataref><ref xlink:href="http://reini/wiki/sidebar/PluginInclureUnCadre"/></dataref></node>
-<edge source="PluginInclureUnCadre" target="PluginInclureUnePage" />
-
-<node name="PluginInclureUnePage"><label>PluginInclureUnePage</label><dataref><ref xlink:href="http://reini/wiki/sidebar/PluginInclureUnePage"/></dataref></node>
-<edge source="PluginInclureUnePage" target="PluginInclureUnCadre" />
-<edge source="PluginInclureUnePage" target="PageAccueil" />
-<edge source="PluginInclureUnePage" target="WabiSabi" />
-
-<node name="PluginInfosSystxe8.me"><label>PluginInfosSystme</label><dataref><ref xlink:href="http://reini/wiki/sidebar/PluginInfosSyst%E8me"/></dataref></node>
-<edge source="PluginInfosSystxe8.me" target="PluginInfosSystxe8.me" />
-<edge source="PluginInfosSystxe8.me" target="PhpWiki" />
-
-<node name="PluginInsxe9.rer"><label>PluginInsrer</label><dataref><ref xlink:href="http://reini/wiki/sidebar/PluginIns%E9rer"/></dataref></node>
-<edge source="PluginInsxe9.rer" target="PluginInsxe9.rer" />
-
-<node name="PluginListeDesSousPages"><label>PluginListeDesSousPages</label><dataref><ref xlink:href="http://reini/wiki/sidebar/PluginListeDesSousPages"/></dataref></node>
-<edge source="PluginListeDesSousPages" target="PluginWikiBlog" />
-<edge source="PluginListeDesSousPages" target="PluginCalendrier" />
-<edge source="PluginListeDesSousPages" target="PluginRedirection" />
-<edge source="PluginListeDesSousPages" target="AdministrationDePhpWiki" />
-
-<node name="PluginWikiBlog"><label>PluginWikiBlog</label><dataref><ref xlink:href="http://reini/wiki/sidebar/PluginWikiBlog"/></dataref></node>
-<edge source="PluginWikiBlog" target="PluginWikiBlog" />
-<edge source="PluginWikiBlog" target="Dernixe8.resModifs" />
-
-<node name="PluginListeDuCalendrier"><label>PluginListeDuCalendrier</label><dataref><ref xlink:href="http://reini/wiki/sidebar/PluginListeDuCalendrier"/></dataref></node>
-<edge source="PluginListeDuCalendrier" target="PluginCalendrier" />
-<edge source="PluginListeDuCalendrier" target="PluginWiki" />
-
-<node name="PluginMxe9.txe9.oPhp"><label>PluginMtoPhp</label><dataref><ref xlink:href="http://reini/wiki/sidebar/PluginM%E9t%E9oPhp"/></dataref></node>
-<edge source="PluginMxe9.txe9.oPhp" target="PluginMxe9.txe9.oPhp" />
-<edge source="PluginMxe9.txe9.oPhp" target="PluginWiki" />
-
-<node name="PluginRechercheExterne"><label>PluginRechercheExterne</label><dataref><ref xlink:href="http://reini/wiki/sidebar/PluginRechercheExterne"/></dataref></node>
-<edge source="PluginRechercheExterne" target="PluginRechercheExterne" />
-<edge source="PluginRechercheExterne" target="InterWiki" />
-<edge source="PluginRechercheExterne" target="CarteInterWiki" />
-<edge source="PluginRechercheExterne" target="PhpWiki" />
-<edge source="PluginRechercheExterne" target="DocumentationDePhpWiki" />
-<edge source="PluginRechercheExterne" target="PluginWiki" />
-
-<node name="PluginRessourcesRss"><label>PluginRessourcesRss</label><dataref><ref xlink:href="http://reini/wiki/sidebar/PluginRessourcesRss"/></dataref></node>
-<edge source="PluginRessourcesRss" target="PluginRessourcesRss" />
-<edge source="PluginRessourcesRss" target="PluginWiki" />
-
-<node name="PluginTeX2png"><label>PluginTeX2png</label><dataref><ref xlink:href="http://reini/wiki/sidebar/PluginTeX2png"/></dataref></node>
-<edge source="PluginTeX2png" target="PluginWiki" />
-<edge source="PluginTeX2png" target="DocumentationDePhpWiki" />
-
-<node name="QuiEstEnLigne"><label>QuiEstEnLigne</label><dataref><ref xlink:href="http://reini/wiki/sidebar/QuiEstEnLigne"/></dataref></node>
-
-<node name="Rxe9.cupxe9.rationDeLaPage"><label>RcuprationDeLaPage</label><dataref><ref xlink:href="http://reini/wiki/sidebar/R%E9cup%E9rationDeLaPage"/></dataref></node>
-<edge source="Rxe9.cupxe9.rationDeLaPage" target="AdministrationDePhpWiki" />
-<edge source="Rxe9.cupxe9.rationDeLaPage" target="RechercheParTitre" />
-
-<node name="RechercheInterWiki"><label>RechercheInterWiki</label><dataref><ref xlink:href="http://reini/wiki/sidebar/RechercheInterWiki"/></dataref></node>
-<edge source="RechercheInterWiki" target="CarteInterWiki" />
-<edge source="RechercheInterWiki" target="PluginRechercheExterne" />
-<edge source="RechercheInterWiki" target="PluginWiki" />
-
-<node name="SommaireDuProjet"><label>SommaireDuProjet</label><dataref><ref xlink:href="http://reini/wiki/sidebar/SommaireDuProjet"/></dataref></node>
-
-<node name="SondagePhpWiki"><label>SondagePhpWiki</label><dataref><ref xlink:href="http://reini/wiki/sidebar/SondagePhpWiki"/></dataref></node>
-
-<node name="TestDeCache"><label>TestDeCache</label><dataref><ref xlink:href="http://reini/wiki/sidebar/TestDeCache"/></dataref></node>
-<edge source="TestDeCache" target="TestDeCache" />
-<edge source="TestDeCache" target="PluginWiki" />
-
-<node name="TestGroupeDePages"><label>TestGroupeDePages</label><dataref><ref xlink:href="http://reini/wiki/sidebar/TestGroupeDePages"/></dataref></node>
-<edge source="TestGroupeDePages" target="TestGroupeDePages" />
-<edge source="TestGroupeDePages" target="TestGroupeDePagesx2f.Un" />
-<edge source="TestGroupeDePages" target="TestGroupeDePagesx2f.Deux" />
-<edge source="TestGroupeDePages" target="TestGroupeDePagesx2f.Trois" />
-
-<node name="TestGroupeDePagesx2f.Un"><label>TestGroupeDePages/Un</label><dataref><ref xlink:href="http://reini/wiki/sidebar/TestGroupeDePages/Un"/></dataref></node>
-<edge source="TestGroupeDePagesx2f.Un" target="TestGroupeDePages" />
-
-<node name="TestGroupeDePagesx2f.Deux"><label>TestGroupeDePages/Deux</label><dataref><ref xlink:href="http://reini/wiki/sidebar/TestGroupeDePages/Deux"/></dataref></node>
-<edge source="TestGroupeDePagesx2f.Deux" target="Rxe9.troLiens" />
-<edge source="TestGroupeDePagesx2f.Deux" target="TestGroupeDePages" />
-
-<node name="TestGroupeDePagesx2f.Trois"><label>TestGroupeDePages/Trois</label><dataref><ref xlink:href="http://reini/wiki/sidebar/TestGroupeDePages/Trois"/></dataref></node>
-
-<node name="TousLesUtilisateurs"><label>TousLesUtilisateurs</label><dataref><ref xlink:href="http://reini/wiki/sidebar/TousLesUtilisateurs"/></dataref></node>
-<edge source="TousLesUtilisateurs" target="PluginWiki" />
-
-<node name="TraduireUnTexte"><label>TraduireUnTexte</label><dataref><ref xlink:href="http://reini/wiki/sidebar/TraduireUnTexte"/></dataref></node>
-
-<node name="VersionsRxe9.centes"><label>VersionsRcentes</label><dataref><ref xlink:href="http://reini/wiki/sidebar/VersionsR%E9centes"/></dataref></node>
-
-<node name="VisiteursRxe9.cents"><label>VisiteursRcents</label><dataref><ref xlink:href="http://reini/wiki/sidebar/VisiteursR%E9cents"/></dataref></node>
-<edge source="VisiteursRxe9.cents" target="PhpWiki" />
-
-<node name="ViejoReglasDeFormatoDeTexto"><label>ViejoReglasDeFormatoDeTexto</label><dataref><ref xlink:href="http://reini/wiki/sidebar/ViejoReglasDeFormatoDeTexto"/></dataref></node>
-<edge source="ViejoReglasDeFormatoDeTexto" target="ViejoReglasDeFormatoDeTexto" />
-
-<node name="AlleSeitenEditiertVonMir"><label>AlleSeitenEditiertVonMir</label><dataref><ref xlink:href="http://reini/wiki/sidebar/AlleSeitenEditiertVonMir"/></dataref></node>
-
-<node name="AlleSeitenErzeugtVonMir"><label>AlleSeitenErzeugtVonMir</label><dataref><ref xlink:href="http://reini/wiki/sidebar/AlleSeitenErzeugtVonMir"/></dataref></node>
-
-<node name="AlleSeitenImBesitzVonMir"><label>AlleSeitenImBesitzVonMir</label><dataref><ref xlink:href="http://reini/wiki/sidebar/AlleSeitenImBesitzVonMir"/></dataref></node>
-
-<node name="HochLaden"><label>HochLaden</label><dataref><ref xlink:href="http://reini/wiki/sidebar/HochLaden"/></dataref></node>
-
-<node name="HochLadenPlugin"><label>HochLadenPlugin</label><dataref><ref xlink:href="http://reini/wiki/sidebar/HochLadenPlugin"/></dataref></node>
-<edge source="HochLadenPlugin" target="HochLaden" />
-<edge source="HochLadenPlugin" target="WikiPlugin" />
-<edge source="HochLadenPlugin" target="InterWikiKarte" />
-<edge source="HochLadenPlugin" target="PhpWikiDokumentation" />
-
-<node name="LeereSeiten"><label>LeereSeiten</label><dataref><ref xlink:href="http://reini/wiki/sidebar/LeereSeiten"/></dataref></node>
-
-<node name="ListeSeiten"><label>ListeSeiten</label><dataref><ref xlink:href="http://reini/wiki/sidebar/ListeSeiten"/></dataref></node>
-<edge source="ListeSeiten" target="ListPagesPlugin" />
-
-<node name="ListPagesPlugin"><label>ListPagesPlugin</label><dataref><ref xlink:href="http://reini/wiki/sidebar/ListPagesPlugin"/></dataref></node>
-<edge source="ListPagesPlugin" target="ListPagesPlugin" />
-<edge source="ListPagesPlugin" target="PhpWikiDocumentation" />
-<edge source="ListPagesPlugin" target="WikiPlugin" />
-
-<node name="NeueSeite"><label>NeueSeite</label><dataref><ref xlink:href="http://reini/wiki/sidebar/NeueSeite"/></dataref></node>
-
-<node name="NeueSeitePlugin"><label>NeueSeitePlugin</label><dataref><ref xlink:href="http://reini/wiki/sidebar/NeueSeitePlugin"/></dataref></node>
-<edge source="NeueSeitePlugin" target="WikiPlugin" />
-<edge source="NeueSeitePlugin" target="NeueSeite" />
-
-<node name="PhpWikiSystemverwaltenx2f.Chown"><label>PhpWikiSystemverwalten/Chown</label><dataref><ref xlink:href="http://reini/wiki/sidebar/PhpWikiSystemverwalten/Chown"/></dataref></node>
-
-<node name="SeitenGruppenTest"><label>SeitenGruppenTest</label><dataref><ref xlink:href="http://reini/wiki/sidebar/SeitenGruppenTest"/></dataref></node>
-<edge source="SeitenGruppenTest" target="SeitenGruppenTest" />
-<edge source="SeitenGruppenTest" target="SeitenGruppenTestx2f.Eins" />
-<edge source="SeitenGruppenTest" target="SeitenGruppenTestx2f.Zwei" />
-<edge source="SeitenGruppenTest" target="SeitenGruppenTestx2f.Drei" />
-<edge source="SeitenGruppenTest" target="SeitenGruppenTestx2f.Vier" />
-
-<node name="SeitenGruppenTestx2f.Eins"><label>SeitenGruppenTest/Eins</label><dataref><ref xlink:href="http://reini/wiki/sidebar/SeitenGruppenTest/Eins"/></dataref></node>
-<edge source="SeitenGruppenTestx2f.Eins" target="SeitenGruppenTest" />
-
-<node name="SeitenGruppenTestx2f.Zwei"><label>SeitenGruppenTest/Zwei</label><dataref><ref xlink:href="http://reini/wiki/sidebar/SeitenGruppenTest/Zwei"/></dataref></node>
-<edge source="SeitenGruppenTestx2f.Zwei" target="BackLinks" />
-<edge source="SeitenGruppenTestx2f.Zwei" target="SeitenGruppenTest" />
-
-<node name="SeitenGruppenTestx2f.Drei"><label>SeitenGruppenTest/Drei</label><dataref><ref xlink:href="http://reini/wiki/sidebar/SeitenGruppenTest/Drei"/></dataref></node>
-
-<node name="SeitenGruppenTestx2f.Vier"><label>SeitenGruppenTest/Vier</label><dataref><ref xlink:href="http://reini/wiki/sidebar/SeitenGruppenTest/Vier"/></dataref></node>
-<edge source="SeitenGruppenTestx2f.Vier" target="SeitenGruppenTest" />
-
-<node name="SeiteSpeichern"><label>SeiteSpeichern</label><dataref><ref xlink:href="http://reini/wiki/sidebar/SeiteSpeichern"/></dataref></node>
-<edge source="SeiteSpeichern" target="TitelSuche" />
-<edge source="SeiteSpeichern" target="PluginManager" />
-
-<node name="Verlinktexc4.nderungen"><label>Verlinktenderungen</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Verlinkte%C4nderungen"/></dataref></node>
-
-<node name="AmministrazioneDiPhpWikix2f.Rimuovi"><label>AmministrazioneDiPhpWiki/Rimuovi</label><dataref><ref xlink:href="http://reini/wiki/sidebar/AmministrazioneDiPhpWiki/Rimuovi"/></dataref></node>
-
-<node name="FrontPage"><label>FrontPage</label><dataref><ref xlink:href="http://reini/wiki/sidebar/FrontPage"/></dataref></node>
-<edge source="FrontPage" target="AutoLispFaq" />
-<edge source="FrontPage" target="AutoLispStdlib" />
-<edge source="FrontPage" target="AutoCad" />
-<edge source="FrontPage" target="CustomizationTips" />
-<edge source="FrontPage" target="AcadWiki" />
-<edge source="FrontPage" target="RecentChanges" />
-<edge source="FrontPage" target="ToDo" />
-<edge source="FrontPage" target="WikiWikiWeb" />
-<edge source="FrontPage" target="HowToUseWiki" />
-<edge source="FrontPage" target="AddingPages" />
-<edge source="FrontPage" target="SandBox" />
-<edge source="FrontPage" target="RecentVisitors" />
-<edge source="FrontPage" target="MostPopular" />
-<edge source="FrontPage" target="ReleaseNotes" />
-<edge source="FrontPage" target="WikiWords" />
-<edge source="FrontPage" target="ReiniUrban" />
-
-<node name="TutteLePagine"><label>TutteLePagine</label><dataref><ref xlink:href="http://reini/wiki/sidebar/TutteLePagine"/></dataref></node>
-
-<node name="RicercaDelTesto"><label>RicercaDelTesto</label><dataref><ref xlink:href="http://reini/wiki/sidebar/RicercaDelTesto"/></dataref></node>
-<edge source="RicercaDelTesto" target="FindPage" />
-
-<node name="RicercaSuTutto"><label>RicercaSuTutto</label><dataref><ref xlink:href="http://reini/wiki/sidebar/RicercaSuTutto"/></dataref></node>
-<edge source="RicercaSuTutto" target="FindPage" />
-
-<node name="PhpWikiBeheerx2f.Verwijder"><label>PhpWikiBeheer/Verwijder</label><dataref><ref xlink:href="http://reini/wiki/sidebar/PhpWikiBeheer/Verwijder"/></dataref></node>
-
-<node name="x2e.CategoryInclude"><label>.CategoryInclude</label><dataref><ref xlink:href="http://reini/wiki/sidebar/.CategoryInclude"/></dataref></node>
-<edge source="x2e.CategoryInclude" target="CategoryCategory" />
-
-<node name="AbleakOblique"><label>AbleakOblique</label><dataref><ref xlink:href="http://reini/wiki/sidebar/AbleakOblique"/></dataref></node>
-
-<node name="AbstractiOn"><label>AbstractiOn</label><dataref><ref xlink:href="http://reini/wiki/sidebar/AbstractiOn"/></dataref></node>
-<edge source="AbstractiOn" target="AutoLispStdlib" />
-<edge source="AbstractiOn" target="CategoryStdlib" />
-
-<node name="AutoLispStdlib"><label>AutoLispStdlib</label><dataref><ref xlink:href="http://reini/wiki/sidebar/AutoLispStdlib"/></dataref></node>
-<edge source="AutoLispStdlib" target="AutoLispStdlibReadme" />
-<edge source="AutoLispStdlib" target="AutoLispStdlibQuestionnaire" />
-<edge source="AutoLispStdlib" target="StabiLity" />
-<edge source="AutoLispStdlib" target="ReadAbility" />
-<edge source="AutoLispStdlib" target="PerFormance" />
-<edge source="AutoLispStdlib" target="CompatibiLity" />
-<edge source="AutoLispStdlib" target="ExtendabiLity" />
-<edge source="AutoLispStdlib" target="AutoLispStdlibModules" />
-<edge source="AutoLispStdlib" target="AutoLispStdlibProjects" />
-<edge source="AutoLispStdlib" target="MemoiZation" />
-<edge source="AutoLispStdlib" target="LocalizationIssues" />
-<edge source="AutoLispStdlib" target="PortAbility" />
-<edge source="AutoLispStdlib" target="AutoLispStdlibExtensions" />
-<edge source="AutoLispStdlib" target="STDLIST" />
-<edge source="AutoLispStdlib" target="STDSTR" />
-<edge source="AutoLispStdlib" target="STDFILE" />
-<edge source="AutoLispStdlib" target="STDMATH" />
-<edge source="AutoLispStdlib" target="STDLISP" />
-<edge source="AutoLispStdlib" target="STDPOINT" />
-<edge source="AutoLispStdlib" target="STDTBL" />
-<edge source="AutoLispStdlib" target="STDENT" />
-<edge source="AutoLispStdlib" target="STDMISC" />
-<edge source="AutoLispStdlib" target="STDINIT" />
-<edge source="AutoLispStdlib" target="STDERROR" />
-<edge source="AutoLispStdlib" target="STDTIME" />
-<edge source="AutoLispStdlib" target="STDINPUT" />
-<edge source="AutoLispStdlib" target="STDLOCAL" />
-<edge source="AutoLispStdlib" target="ENTMAKE" />
-<edge source="AutoLispStdlib" target="DICT" />
-<edge source="AutoLispStdlib" target="CategoryStdlib" />
-<edge source="AutoLispStdlib" target="CategoryStdlibModule" />
-<edge source="AutoLispStdlib" target="CategoryStdlibFunction" />
-<edge source="AutoLispStdlib" target="CategoryStdlibExample" />
-
-<node name="CategoryStdlib"><label>CategoryStdlib</label><dataref><ref xlink:href="http://reini/wiki/sidebar/CategoryStdlib"/></dataref></node>
-<edge source="CategoryStdlib" target="AutoLispStdlib" />
-<edge source="CategoryStdlib" target="CategoryStdlib" />
-<edge source="CategoryStdlib" target="CategoryStdlibFunction" />
-<edge source="CategoryStdlib" target="CategoryStdlibModule" />
-<edge source="CategoryStdlib" target="CategoryStdlibExample" />
-<edge source="CategoryStdlib" target="CategoryCategory" />
-
-<node name="AcadRegistryManager"><label>AcadRegistryManager</label><dataref><ref xlink:href="http://reini/wiki/sidebar/AcadRegistryManager"/></dataref></node>
-
-<node name="AutoLisp"><label>AutoLisp</label><dataref><ref xlink:href="http://reini/wiki/sidebar/AutoLisp"/></dataref></node>
-<edge source="AutoLisp" target="DavidBetz" />
-<edge source="AutoLisp" target="DialogControlLanguage" />
-<edge source="AutoLisp" target="VitalLisp" />
-<edge source="AutoLisp" target="VisualLisp" />
-<edge source="AutoLisp" target="AutoLisp" />
-<edge source="AutoLisp" target="XliSp" />
-<edge source="AutoLisp" target="ACOMP" />
-<edge source="AutoLisp" target="VisualBasic" />
-<edge source="AutoLisp" target="JohnWalker" />
-<edge source="AutoLisp" target="WhyLisp" />
-
-<node name="CategoryWikiDevelopment"><label>CategoryWikiDevelopment</label><dataref><ref xlink:href="http://reini/wiki/sidebar/CategoryWikiDevelopment"/></dataref></node>
-<edge source="CategoryWikiDevelopment" target="PhpWiki" />
-<edge source="CategoryWikiDevelopment" target="CategoryCategory" />
-
-<node name="PhpWikiAdministrationx2f.Dump"><label>PhpWikiAdministration/Dump</label><dataref><ref xlink:href="http://reini/wiki/sidebar/PhpWikiAdministration/Dump"/></dataref></node>
-<edge source="PhpWikiAdministrationx2f.Dump" target="PhpWiki" />
-
-<node name="FormTest"><label>FormTest</label><dataref><ref xlink:href="http://reini/wiki/sidebar/FormTest"/></dataref></node>
-
-<node name="UnfoldBlogTest"><label>UnfoldBlogTest</label><dataref><ref xlink:href="http://reini/wiki/sidebar/UnfoldBlogTest"/></dataref></node>
-
-<node name="UnfoldBlogTestx2f.Blog"><label>UnfoldBlogTest/Blog</label><dataref><ref xlink:href="http://reini/wiki/sidebar/UnfoldBlogTest/Blog"/></dataref></node>
-
-<node name="UnfoldBlogTestx2f.Blogx2f.2004-07-03"><label>UnfoldBlogTest/Blog/2004-07-03</label><dataref><ref xlink:href="http://reini/wiki/sidebar/UnfoldBlogTest/Blog/2004-07-03"/></dataref></node>
-
-<node name="UnfoldBlogTestx2f.Blogx2f.2004-07-03x2f.10:18:46x2b.02:00"><label>UnfoldBlogTest/Blog/2004-07-03/10:18:46+02:00</label><dataref><ref xlink:href="http://reini/wiki/sidebar/UnfoldBlogTest/Blog/2004-07-03/10%3A18%3A46%2B02%3A00"/></dataref></node>
-
-<node name="PageGroupTestOne"><label>PageGroupTestOne</label><dataref><ref xlink:href="http://reini/wiki/sidebar/PageGroupTestOne"/></dataref></node>
-<edge source="PageGroupTestOne" target="PageGroupTest" />
-
-<node name="OldMarkupTestPage"><label>OldMarkupTestPage</label><dataref><ref xlink:href="http://reini/wiki/sidebar/OldMarkupTestPage"/></dataref></node>
-<edge source="OldMarkupTestPage" target="HomePage" />
-
-<node name="TestEmptyPage"><label>TestEmptyPage</label><dataref><ref xlink:href="http://reini/wiki/sidebar/TestEmptyPage"/></dataref></node>
-
-<node name="TestEmptyPagex7c."><label>TestEmptyPage|</label><dataref><ref xlink:href="http://reini/wiki/sidebar/TestEmptyPage%7C"/></dataref></node>
-<edge source="TestEmptyPagex7c." target="TestEmptyPagex7c." />
-
-<node name="Testx20.Seite"><label>Test Seite</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Test%20Seite"/></dataref></node>
-<edge source="Testx20.Seite" target="Testx20.Seite" />
-
-<node name="PluginListTest"><label>PluginListTest</label><dataref><ref xlink:href="http://reini/wiki/sidebar/PluginListTest"/></dataref></node>
-
-<node name="Blogx2f.Blogx2f.2004-09-08"><label>Blog/Blog/2004-09-08</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Blog/Blog/2004-09-08"/></dataref></node>
-
-<node name="Blogx2f.Blogx2f.2004-09-08x2f.15:12:24x2b.02:00"><label>Blog/Blog/2004-09-08/15:12:24+02:00</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Blog/Blog/2004-09-08/15%3A12%3A24%2B02%3A00"/></dataref></node>
-
-<node name="Blogx2f.Blogx2f.2004-09-08x2f.15:12:29x2b.02:00"><label>Blog/Blog/2004-09-08/15:12:29+02:00</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Blog/Blog/2004-09-08/15%3A12%3A29%2B02%3A00"/></dataref></node>
-
-<node name="Blogx2f.Blogx2f.2004-09-08x2f.15:12:33x2b.02:00"><label>Blog/Blog/2004-09-08/15:12:33+02:00</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Blog/Blog/2004-09-08/15%3A12%3A33%2B02%3A00"/></dataref></node>
-
-<node name="Blogx2f.Blogx2f.2004-09-08x2f.15:12:40x2b.02:00"><label>Blog/Blog/2004-09-08/15:12:40+02:00</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Blog/Blog/2004-09-08/15%3A12%3A40%2B02%3A00"/></dataref></node>
-
-<node name="Blogx2f.Blogx2f.2004-09-08x2f.15:12:45x2b.02:00"><label>Blog/Blog/2004-09-08/15:12:45+02:00</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Blog/Blog/2004-09-08/15%3A12%3A45%2B02%3A00"/></dataref></node>
-
-<node name="Blogx2f.Blogx2f.2004-09-08x2f.15:12:50x2b.02:00"><label>Blog/Blog/2004-09-08/15:12:50+02:00</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Blog/Blog/2004-09-08/15%3A12%3A50%2B02%3A00"/></dataref></node>
-
-<node name="Blogx2f.Blogx2f.2004-09-08x2f.15:12:55x2b.02:00"><label>Blog/Blog/2004-09-08/15:12:55+02:00</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Blog/Blog/2004-09-08/15%3A12%3A55%2B02%3A00"/></dataref></node>
-
-<node name="Blogx2f.Blogx2f.2004-09-08x2f.15:12:59x2b.02:00"><label>Blog/Blog/2004-09-08/15:12:59+02:00</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Blog/Blog/2004-09-08/15%3A12%3A59%2B02%3A00"/></dataref></node>
-
-<node name="Blogx2f.Blogx2f.2004-09-08x2f.15:13:06x2b.02:00"><label>Blog/Blog/2004-09-08/15:13:06+02:00</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Blog/Blog/2004-09-08/15%3A13%3A06%2B02%3A00"/></dataref></node>
-
-<node name="Blogx2f.Blogx2f.2004-09-08x2f.15:13:10x2b.02:00"><label>Blog/Blog/2004-09-08/15:13:10+02:00</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Blog/Blog/2004-09-08/15%3A13%3A10%2B02%3A00"/></dataref></node>
-
-<node name="Blogx2f.Blogx2f.2004-09-08x2f.15:13:15x2b.02:00"><label>Blog/Blog/2004-09-08/15:13:15+02:00</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Blog/Blog/2004-09-08/15%3A13%3A15%2B02%3A00"/></dataref></node>
-
-<node name="Blogx2f.Blogx2f.2004-09-08x2f.15:13:20x2b.02:00"><label>Blog/Blog/2004-09-08/15:13:20+02:00</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Blog/Blog/2004-09-08/15%3A13%3A20%2B02%3A00"/></dataref></node>
-
-<node name="Blogx2f.Blogx2f.2004-09-08x2f.15:13:26x2b.02:00"><label>Blog/Blog/2004-09-08/15:13:26+02:00</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Blog/Blog/2004-09-08/15%3A13%3A26%2B02%3A00"/></dataref></node>
-
-<node name="Blogx2f.Blogx2f.2004-09-08x2f.15:13:32x2b.02:00"><label>Blog/Blog/2004-09-08/15:13:32+02:00</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Blog/Blog/2004-09-08/15%3A13%3A32%2B02%3A00"/></dataref></node>
-
-<node name="Blogx2f.Blogx2f.2004-09-08x2f.15:13:38x2b.02:00"><label>Blog/Blog/2004-09-08/15:13:38+02:00</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Blog/Blog/2004-09-08/15%3A13%3A38%2B02%3A00"/></dataref></node>
-
-<node name="Blogx2f.Blogx2f.2004-09-08x2f.15:13:43x2b.02:00"><label>Blog/Blog/2004-09-08/15:13:43+02:00</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Blog/Blog/2004-09-08/15%3A13%3A43%2B02%3A00"/></dataref></node>
-
-<node name="Blogx2f.Blogx2f.2004-09-08x2f.15:13:48x2b.02:00"><label>Blog/Blog/2004-09-08/15:13:48+02:00</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Blog/Blog/2004-09-08/15%3A13%3A48%2B02%3A00"/></dataref></node>
-
-<node name="Blogx2f.Blogx2f.2004-09-08x2f.15:13:53x2b.02:00"><label>Blog/Blog/2004-09-08/15:13:53+02:00</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Blog/Blog/2004-09-08/15%3A13%3A53%2B02%3A00"/></dataref></node>
-
-<node name="Blogx2f.Blogx2f.2004-09-08x2f.14:14:27x2b.01:00"><label>Blog/Blog/2004-09-08/14:14:27+01:00</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Blog/Blog/2004-09-08/14%3A14%3A27%2B01%3A00"/></dataref></node>
-
-<node name="Blogx2f.Blogx2f.2004-09-08x2f.14:14:32x2b.01:00"><label>Blog/Blog/2004-09-08/14:14:32+01:00</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Blog/Blog/2004-09-08/14%3A14%3A32%2B01%3A00"/></dataref></node>
-
-<node name="Blogx2f.Blogx2f.2004-09-08x2f.14:14:38x2b.01:00"><label>Blog/Blog/2004-09-08/14:14:38+01:00</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Blog/Blog/2004-09-08/14%3A14%3A38%2B01%3A00"/></dataref></node>
-
-<node name="Blogx2f.Blogx2f.2004-09-08x2f.14:14:43x2b.01:00"><label>Blog/Blog/2004-09-08/14:14:43+01:00</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Blog/Blog/2004-09-08/14%3A14%3A43%2B01%3A00"/></dataref></node>
-
-<node name="Blogx2f.Blogx2f.2004-09-08x2f.14:14:48x2b.01:00"><label>Blog/Blog/2004-09-08/14:14:48+01:00</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Blog/Blog/2004-09-08/14%3A14%3A48%2B01%3A00"/></dataref></node>
-
-<node name="Blogx2f.Blogx2f.2004-09-08x2f.14:14:53x2b.01:00"><label>Blog/Blog/2004-09-08/14:14:53+01:00</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Blog/Blog/2004-09-08/14%3A14%3A53%2B01%3A00"/></dataref></node>
-
-<node name="Blogx2f.Blogx2f.2004-09-08x2f.14:14:58x2b.01:00"><label>Blog/Blog/2004-09-08/14:14:58+01:00</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Blog/Blog/2004-09-08/14%3A14%3A58%2B01%3A00"/></dataref></node>
-
-<node name="Blogx2f.Blogx2f.2004-09-08x2f.14:15:03x2b.01:00"><label>Blog/Blog/2004-09-08/14:15:03+01:00</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Blog/Blog/2004-09-08/14%3A15%3A03%2B01%3A00"/></dataref></node>
-
-<node name="Blogx2f.Blogx2f.2004-09-08x2f.14:15:09x2b.01:00"><label>Blog/Blog/2004-09-08/14:15:09+01:00</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Blog/Blog/2004-09-08/14%3A15%3A09%2B01%3A00"/></dataref></node>
-
-<node name="Blogx2f.Blogx2f.2004-09-08x2f.14:15:15x2b.01:00"><label>Blog/Blog/2004-09-08/14:15:15+01:00</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Blog/Blog/2004-09-08/14%3A15%3A15%2B01%3A00"/></dataref></node>
-
-<node name="Blogx2f.Blogx2f.2004-09-08x2f.14:15:21x2b.01:00"><label>Blog/Blog/2004-09-08/14:15:21+01:00</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Blog/Blog/2004-09-08/14%3A15%3A21%2B01%3A00"/></dataref></node>
-
-<node name="Blogx2f.Blogx2f.2004-09-08x2f.14:15:28x2b.01:00"><label>Blog/Blog/2004-09-08/14:15:28+01:00</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Blog/Blog/2004-09-08/14%3A15%3A28%2B01%3A00"/></dataref></node>
-
-<node name="AcadWikiAnnounce"><label>AcadWikiAnnounce</label><dataref><ref xlink:href="http://reini/wiki/sidebar/AcadWikiAnnounce"/></dataref></node>
-<edge source="AcadWikiAnnounce" target="AcadWiki" />
-<edge source="AcadWikiAnnounce" target="WikiWiki" />
-<edge source="AcadWikiAnnounce" target="PhpWiki" />
-
-<node name="AcadX"><label>AcadX</label><dataref><ref xlink:href="http://reini/wiki/sidebar/AcadX"/></dataref></node>
-<edge source="AcadX" target="VisualBasic" />
-<edge source="AcadX" target="NaziInterface" />
-
-<node name="VisualBasic"><label>VisualBasic</label><dataref><ref xlink:href="http://reini/wiki/sidebar/VisualBasic"/></dataref></node>
-
-<node name="NaziInterface"><label>NaziInterface</label><dataref><ref xlink:href="http://reini/wiki/sidebar/NaziInterface"/></dataref></node>
-<edge source="NaziInterface" target="WorseIsBetter" />
-<edge source="NaziInterface" target="CategoryPattern" />
-
-<node name="AccessBlockAttributes"><label>AccessBlockAttributes</label><dataref><ref xlink:href="http://reini/wiki/sidebar/AccessBlockAttributes"/></dataref></node>
-<edge source="AccessBlockAttributes" target="CategoryFaq" />
-<edge source="AccessBlockAttributes" target="AutoLispFaq" />
-<edge source="AccessBlockAttributes" target="WriteXyzData" />
-<edge source="AccessBlockAttributes" target="ModifyBlockAttributes" />
-<edge source="AccessBlockAttributes" target="STDENT" />
-<edge source="AccessBlockAttributes" target="VladimirNesterovsky" />
-
-<node name="CategoryFaq"><label>CategoryFaq</label><dataref><ref xlink:href="http://reini/wiki/sidebar/CategoryFaq"/></dataref></node>
-<edge source="CategoryFaq" target="AutoLispFaq" />
-<edge source="CategoryFaq" target="CategoryCategory" />
-
-<node name="AutoLispFaq"><label>AutoLispFaq</label><dataref><ref xlink:href="http://reini/wiki/sidebar/AutoLispFaq"/></dataref></node>
-<edge source="AutoLispFaq" target="AcadWiki" />
-<edge source="AutoLispFaq" target="FaqDisclaimer" />
-<edge source="AutoLispFaq" target="ReiniUrban" />
-<edge source="AutoLispFaq" target="AutoLisp" />
-<edge source="AutoLispFaq" target="CAD" />
-<edge source="AutoLispFaq" target="VisualLisp" />
-<edge source="AutoLispFaq" target="VitalLisp" />
-<edge source="AutoLispFaq" target="ACOMP" />
-<edge source="AutoLispFaq" target="NewsGroup" />
-<edge source="AutoLispFaq" target="RulesToLiveBy" />
-<edge source="AutoLispFaq" target="FutureOfAutoLisp" />
-<edge source="AutoLispFaq" target="WhatChangedWithAutoCAD2000" />
-<edge source="AutoLispFaq" target="LatestRelease" />
-<edge source="AutoLispFaq" target="CannotCreateArx" />
-<edge source="AutoLispFaq" target="WhereCanIfind" />
-<edge source="AutoLispFaq" target="NewsgroupArchives" />
-<edge source="AutoLispFaq" target="AutodeskSdk" />
-<edge source="AutoLispFaq" target="BestAutoLispBooks" />
-<edge source="AutoLispFaq" target="OnlineAutoLispDocuments" />
-<edge source="AutoLispFaq" target="AutoLispCodingStyle" />
-<edge source="AutoLispFaq" target="DebugAutoLispPrograms" />
-<edge source="AutoLispFaq" target="AutoLispDebuggers" />
-<edge source="AutoLispFaq" target="ModularStyle" />
-<edge source="AutoLispFaq" target="BreakFunction" />
-<edge source="AutoLispFaq" target="ProtectAutoLisp" />
-<edge source="AutoLispFaq" target="KelvinateAndProtect" />
-<edge source="AutoLispFaq" target="Lisp2C" />
-<edge source="AutoLispFaq" target="AutoLispCompilers" />
-<edge source="AutoLispFaq" target="CommonLisp" />
-<edge source="AutoLispFaq" target="scheme" />
-<edge source="AutoLispFaq" target="AutoLispEditors" />
-<edge source="AutoLispFaq" target="PrettyPrinters" />
-<edge source="AutoLispFaq" target="AutoLispProfilers" />
-<edge source="AutoLispFaq" target="AutoLispProblems" />
-<edge source="AutoLispFaq" target="SortingWithAutoLisp" />
-<edge source="AutoLispFaq" target="ReCursion" />
-<edge source="AutoLispFaq" target="IterAtion" />
-<edge source="AutoLispFaq" target="S__STARTUP" />
-<edge source="AutoLispFaq" target="HowToAutoload" />
-<edge source="AutoLispFaq" target="VariableNumberOfArguments" />
-<edge source="AutoLispFaq" target="StackOverflow" />
-<edge source="AutoLispFaq" target="CommandBlaDoesNotWork" />
-<edge source="AutoLispFaq" target="MultipleDrawings" />
-<edge source="AutoLispFaq" target="ExportVisualLispFunctions" />
-<edge source="AutoLispFaq" target="GeneralHelperFunctions" />
-<edge source="AutoLispFaq" target="ListManipulation" />
-<edge source="AutoLispFaq" target="StringManipulation" />
-<edge source="AutoLispFaq" target="SymbolToString" />
-<edge source="AutoLispFaq" target="AutoCadEntityAccess" />
-<edge source="AutoLispFaq" target="SampleLispPrograms" />
-<edge source="AutoLispFaq" target="GloballyChange" />
-<edge source="AutoLispFaq" target="PlotDialogFromLisp" />
-<edge source="AutoLispFaq" target="EntmodEntmakeLayers" />
-<edge source="AutoLispFaq" target="SelectMultipleFiles" />
-<edge source="AutoLispFaq" target="ReplaceMultipleBlocks" />
-<edge source="AutoLispFaq" target="ViewportEntity" />
-<edge source="AutoLispFaq" target="AllVisibleObjects" />
-<edge source="AutoLispFaq" target="WriteXyzData" />
-<edge source="AutoLispFaq" target="BlockAttributes" />
-<edge source="AutoLispFaq" target="AccessBlockAttributes" />
-<edge source="AutoLispFaq" target="ModifyBlockAttributes" />
-<edge source="AutoLispFaq" target="UpdateBlockAttributes" />
-<edge source="AutoLispFaq" target="EntmakeComplexEntity" />
-<edge source="AutoLispFaq" target="PolyLines" />
-<edge source="AutoLispFaq" target="AccessPolylineVertices" />
-<edge source="AutoLispFaq" target="JoinMultipleLines" />
-<edge source="AutoLispFaq" target="ChangeWidthOfMultiplePolylines" />
-<edge source="AutoLispFaq" target="CreatePolylineOrSpline" />
-<edge source="AutoLispFaq" target="LengthOfPolylines" />
-<edge source="AutoLispFaq" target="RevertPolyline" />
-<edge source="AutoLispFaq" target="CenterOfPolyline" />
-<edge source="AutoLispFaq" target="BulgeConversion" />
-<edge source="AutoLispFaq" target="DclListboxesWithTabs" />
-<edge source="AutoLispFaq" target="ExtendedEntityData" />
-<edge source="AutoLispFaq" target="BreakLispCommand" />
-<edge source="AutoLispFaq" target="UnlimitedNumberOfUserPrompts" />
-<edge source="AutoLispFaq" target="DecodeAcis" />
-<edge source="AutoLispFaq" target="UserFaqForCode" />
-<edge source="AutoLispFaq" target="FaqLocations" />
-<edge source="AutoLispFaq" target="FaqAcknowledgements" />
-<edge source="AutoLispFaq" target="RecentFaqChanges" />
-<edge source="AutoLispFaq" target="AddingPages" />
-<edge source="AutoLispFaq" target="CategoryFaq" />
-
-<node name="WriteXyzData"><label>WriteXyzData</label><dataref><ref xlink:href="http://reini/wiki/sidebar/WriteXyzData"/></dataref></node>
-<edge source="WriteXyzData" target="CategoryFaq" />
-<edge source="WriteXyzData" target="AutoLispFaq" />
-<edge source="WriteXyzData" target="AllVisibleObjects" />
-<edge source="WriteXyzData" target="BlockAttributes" />
-<edge source="WriteXyzData" target="AutoCadEntityAccess" />
-<edge source="WriteXyzData" target="AccessPolylineVertices" />
-
-<node name="ModifyBlockAttributes"><label>ModifyBlockAttributes</label><dataref><ref xlink:href="http://reini/wiki/sidebar/ModifyBlockAttributes"/></dataref></node>
-<edge source="ModifyBlockAttributes" target="CategoryFaq" />
-<edge source="ModifyBlockAttributes" target="AutoLispFaq" />
-<edge source="ModifyBlockAttributes" target="AccessBlockAttributes" />
-<edge source="ModifyBlockAttributes" target="UpdateBlockAttributes" />
-
-<node name="STDENT"><label>STDENT</label><dataref><ref xlink:href="http://reini/wiki/sidebar/STDENT"/></dataref></node>
-<edge source="STDENT" target="AutoLispStdlib" />
-<edge source="STDENT" target="STDINPUT" />
-<edge source="STDENT" target="STDTBL" />
-<edge source="STDENT" target="STDPOINT" />
-<edge source="STDENT" target="ENTMAKE" />
-<edge source="STDENT" target="CategoryStdlibModule" />
-
-<node name="VladimirNesterovsky"><label>VladimirNesterovsky</label><dataref><ref xlink:href="http://reini/wiki/sidebar/VladimirNesterovsky"/></dataref></node>
-<edge source="VladimirNesterovsky" target="CategoryPerson" />
-<edge source="VladimirNesterovsky" target="ADS" />
-<edge source="VladimirNesterovsky" target="VariableNumberOfArguments" />
-<edge source="VladimirNesterovsky" target="PolyLines" />
-<edge source="VladimirNesterovsky" target="RevertPolyline" />
-
-<node name="AccessPolylineVertices"><label>AccessPolylineVertices</label><dataref><ref xlink:href="http://reini/wiki/sidebar/AccessPolylineVertices"/></dataref></node>
-<edge source="AccessPolylineVertices" target="CategoryFaq" />
-<edge source="AccessPolylineVertices" target="AutoLispFaq" />
-<edge source="AccessPolylineVertices" target="PolyLines" />
-<edge source="AccessPolylineVertices" target="JoinMultipleLines" />
-<edge source="AccessPolylineVertices" target="AccessBlockAttributes" />
-<edge source="AccessPolylineVertices" target="UpdateBlockAttributes" />
-<edge source="AccessPolylineVertices" target="LengthOfPolylines" />
-
-<node name="PolyLines"><label>PolyLines</label><dataref><ref xlink:href="http://reini/wiki/sidebar/PolyLines"/></dataref></node>
-<edge source="PolyLines" target="CategoryFaq" />
-<edge source="PolyLines" target="AutoLispFaq" />
-<edge source="PolyLines" target="EntmakeComplexEntity" />
-<edge source="PolyLines" target="AccessPolylineVertices" />
-<edge source="PolyLines" target="JoinMultipleLines" />
-<edge source="PolyLines" target="ChangeWidthOfMultiplePolylines" />
-<edge source="PolyLines" target="CreatePolylineOrSpline" />
-<edge source="PolyLines" target="LengthOfPolylines" />
-<edge source="PolyLines" target="RevertPolyline" />
-<edge source="PolyLines" target="CenterOfPolyline" />
-
-<node name="JoinMultipleLines"><label>JoinMultipleLines</label><dataref><ref xlink:href="http://reini/wiki/sidebar/JoinMultipleLines"/></dataref></node>
-<edge source="JoinMultipleLines" target="CategoryFaq" />
-<edge source="JoinMultipleLines" target="AutoLispFaq" />
-<edge source="JoinMultipleLines" target="AccessPolylineVertices" />
-<edge source="JoinMultipleLines" target="ChangeWidthOfMultiplePolylines" />
-
-<node name="UpdateBlockAttributes"><label>UpdateBlockAttributes</label><dataref><ref xlink:href="http://reini/wiki/sidebar/UpdateBlockAttributes"/></dataref></node>
-<edge source="UpdateBlockAttributes" target="CategoryFaq" />
-<edge source="UpdateBlockAttributes" target="AutoLispFaq" />
-<edge source="UpdateBlockAttributes" target="ModifyBlockAttributes" />
-<edge source="UpdateBlockAttributes" target="EntmakeComplexEntity" />
-
-<node name="LengthOfPolylines"><label>LengthOfPolylines</label><dataref><ref xlink:href="http://reini/wiki/sidebar/LengthOfPolylines"/></dataref></node>
-<edge source="LengthOfPolylines" target="CategoryFaq" />
-<edge source="LengthOfPolylines" target="AutoLispFaq" />
-<edge source="LengthOfPolylines" target="CreatePolylineOrSpline" />
-<edge source="LengthOfPolylines" target="RevertPolyline" />
-<edge source="LengthOfPolylines" target="BulgeConversion" />
-<edge source="LengthOfPolylines" target="AccessPolylineVertices" />
-<edge source="LengthOfPolylines" target="ListManipulation" />
-
-<node name="ACOMP"><label>ACOMP</label><dataref><ref xlink:href="http://reini/wiki/sidebar/ACOMP"/></dataref></node>
-<edge source="ACOMP" target="CategoryFaq" />
-<edge source="ACOMP" target="AutoLispFaq" />
-<edge source="ACOMP" target="Convert" />
-<edge source="ACOMP" target="VitalLisp" />
-<edge source="ACOMP" target="AutoLispCompilers" />
-<edge source="ACOMP" target="ProtectAutoLisp" />
-<edge source="ACOMP" target="AutoLisp" />
-<edge source="ACOMP" target="AutoCad" />
-<edge source="ACOMP" target="VisualLisp" />
-<edge source="ACOMP" target="AutoLispStdlib" />
-<edge source="ACOMP" target="AutoDesk" />
-<edge source="ACOMP" target="ReiniUrban" />
-
-<node name="Convert"><label>Convert</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Convert"/></dataref></node>
-<edge source="Convert" target="CategoryFaq" />
-<edge source="Convert" target="AutoLispFaq" />
-<edge source="Convert" target="KelvinateAndProtect" />
-<edge source="Convert" target="ACOMP" />
-<edge source="Convert" target="ProtectAutoLisp" />
-<edge source="Convert" target="ProtectedLisp" />
-<edge source="Convert" target="CategoryDevelopmentInAutoLisp" />
-<edge source="Convert" target="SoftwareProtection" />
-
-<node name="VitalLisp"><label>VitalLisp</label><dataref><ref xlink:href="http://reini/wiki/sidebar/VitalLisp"/></dataref></node>
-<edge source="VitalLisp" target="CategoryFaq" />
-<edge source="VitalLisp" target="AutoLispFaq" />
-<edge source="VitalLisp" target="ACOMP" />
-<edge source="VitalLisp" target="Lisp2C" />
-<edge source="VitalLisp" target="VisualLisp" />
-<edge source="VitalLisp" target="ProtectAutoLisp" />
-<edge source="VitalLisp" target="AutoLispCompilers" />
-<edge source="VitalLisp" target="BasisSoftware" />
-<edge source="VitalLisp" target="AutoLispEditors" />
-<edge source="VitalLisp" target="CategoryDevelopmentInAutoLisp" />
-<edge source="VitalLisp" target="SoftwareProtection" />
-
-<node name="AutoLispCompilers"><label>AutoLispCompilers</label><dataref><ref xlink:href="http://reini/wiki/sidebar/AutoLispCompilers"/></dataref></node>
-<edge source="AutoLispCompilers" target="CategoryFaq" />
-<edge source="AutoLispCompilers" target="AutoLispFaq" />
-<edge source="AutoLispCompilers" target="VisualLisp" />
-<edge source="AutoLispCompilers" target="ACOMP" />
-<edge source="AutoLispCompilers" target="scheme" />
-<edge source="AutoLispCompilers" target="VitalLisp" />
-<edge source="AutoLispCompilers" target="CommonLisp" />
-<edge source="AutoLispCompilers" target="CannotCreateArx" />
-
-<node name="ProtectAutoLisp"><label>ProtectAutoLisp</label><dataref><ref xlink:href="http://reini/wiki/sidebar/ProtectAutoLisp"/></dataref></node>
-<edge source="ProtectAutoLisp" target="CategoryFaq" />
-<edge source="ProtectAutoLisp" target="AutoLispFaq" />
-<edge source="ProtectAutoLisp" target="PrettyPrinters" />
-<edge source="ProtectAutoLisp" target="Kelvinate" />
-<edge source="ProtectAutoLisp" target="Protect" />
-<edge source="ProtectAutoLisp" target="KelvinateAndProtect" />
-<edge source="ProtectAutoLisp" target="Convert" />
-<edge source="ProtectAutoLisp" target="ACOMP" />
-<edge source="ProtectAutoLisp" target="Lisp2C" />
-<edge source="ProtectAutoLisp" target="VitalLisp" />
-<edge source="ProtectAutoLisp" target="VisualLisp" />
-<edge source="ProtectAutoLisp" target="ReiniUrban" />
-<edge source="ProtectAutoLisp" target="SoftwareProtection" />
-
-<node name="AutoCad"><label>AutoCad</label><dataref><ref xlink:href="http://reini/wiki/sidebar/AutoCad"/></dataref></node>
-<edge source="AutoCad" target="CAD" />
-<edge source="AutoCad" target="AutoDesk" />
-<edge source="AutoCad" target="LatestRelease" />
-<edge source="AutoCad" target="LatestBugfixes" />
-<edge source="AutoCad" target="JohnWalker" />
-
-<node name="VisualLisp"><label>VisualLisp</label><dataref><ref xlink:href="http://reini/wiki/sidebar/VisualLisp"/></dataref></node>
-<edge source="VisualLisp" target="CategoryFaq" />
-<edge source="VisualLisp" target="AutoLispFaq" />
-<edge source="VisualLisp" target="ACOMP" />
-<edge source="VisualLisp" target="AutoLispCompilers" />
-<edge source="VisualLisp" target="VitalLisp" />
-<edge source="VisualLisp" target="CommonLisp" />
-<edge source="VisualLisp" target="ProtectAutoLisp" />
-<edge source="VisualLisp" target="WhatChangedWithAutoCAD2000" />
-<edge source="VisualLisp" target="VisualLisp" />
-<edge source="VisualLisp" target="CategoryDevelopmentInAutoLisp" />
-<edge source="VisualLisp" target="SoftwareProtection" />
-
-<node name="AutoDesk"><label>AutoDesk</label><dataref><ref xlink:href="http://reini/wiki/sidebar/AutoDesk"/></dataref></node>
-<edge source="AutoDesk" target="AutoCad" />
-<edge source="AutoDesk" target="DiscreetLogic" />
-<edge source="AutoDesk" target="SpinOff" />
-<edge source="AutoDesk" target="BuzzsawDotCom" />
-<edge source="AutoDesk" target="JohnWalker" />
-
-<node name="AdaptiveForwardDifferencing"><label>AdaptiveForwardDifferencing</label><dataref><ref xlink:href="http://reini/wiki/sidebar/AdaptiveForwardDifferencing"/></dataref></node>
-<edge source="AdaptiveForwardDifferencing" target="CategoryAlgorithms" />
-
-<node name="CategoryAlgorithms"><label>CategoryAlgorithms</label><dataref><ref xlink:href="http://reini/wiki/sidebar/CategoryAlgorithms"/></dataref></node>
-<edge source="CategoryAlgorithms" target="CategoryCategory" />
-
-<node name="ADN"><label>ADN</label><dataref><ref xlink:href="http://reini/wiki/sidebar/ADN"/></dataref></node>
-<edge source="ADN" target="NDA" />
-<edge source="ADN" target="AutodeskSdk" />
-
-<node name="NDA"><label>NDA</label><dataref><ref xlink:href="http://reini/wiki/sidebar/NDA"/></dataref></node>
-
-<node name="AutodeskSdk"><label>AutodeskSdk</label><dataref><ref xlink:href="http://reini/wiki/sidebar/AutodeskSdk"/></dataref></node>
-<edge source="AutodeskSdk" target="CategoryFaq" />
-<edge source="AutodeskSdk" target="AutoLispFaq" />
-<edge source="AutodeskSdk" target="NewsgroupArchives" />
-<edge source="AutodeskSdk" target="BestAutoLispBooks" />
-<edge source="AutodeskSdk" target="ADS" />
-<edge source="AutodeskSdk" target="ADN" />
-<edge source="AutodeskSdk" target="ObjectARX" />
-<edge source="AutodeskSdk" target="AutoDesk" />
-
-<node name="ADS"><label>ADS</label><dataref><ref xlink:href="http://reini/wiki/sidebar/ADS"/></dataref></node>
-<edge source="ADS" target="AutoCad" />
-<edge source="ADS" target="ObjectARX" />
-<edge source="ADS" target="RuntimeExtension" />
-<edge source="ADS" target="AutoLisp" />
-<edge source="ADS" target="VisualBasic" />
-<edge source="ADS" target="DCL" />
-
-<node name="ObjectARX"><label>ObjectARX</label><dataref><ref xlink:href="http://reini/wiki/sidebar/ObjectARX"/></dataref></node>
-<edge source="ObjectARX" target="ARX" />
-<edge source="ObjectARX" target="AutoDesk" />
-<edge source="ObjectARX" target="RuntimeExtension" />
-<edge source="ObjectARX" target="AutoCad" />
-<edge source="ObjectARX" target="ADS" />
-
-<node name="RuntimeExtension"><label>RuntimeExtension</label><dataref><ref xlink:href="http://reini/wiki/sidebar/RuntimeExtension"/></dataref></node>
-<edge source="RuntimeExtension" target="ObjectARX" />
-
-<node name="DCL"><label>DCL</label><dataref><ref xlink:href="http://reini/wiki/sidebar/DCL"/></dataref></node>
-<edge source="DCL" target="DialogControlLanguage" />
-<edge source="DCL" target="ProteusEngine" />
-
-<node name="AllVisibleObjects"><label>AllVisibleObjects</label><dataref><ref xlink:href="http://reini/wiki/sidebar/AllVisibleObjects"/></dataref></node>
-<edge source="AllVisibleObjects" target="CategoryFaq" />
-<edge source="AllVisibleObjects" target="AutoLispFaq" />
-<edge source="AllVisibleObjects" target="ViewportEntity" />
-<edge source="AllVisibleObjects" target="WriteXyzData" />
-
-<node name="ViewportEntity"><label>ViewportEntity</label><dataref><ref xlink:href="http://reini/wiki/sidebar/ViewportEntity"/></dataref></node>
-<edge source="ViewportEntity" target="CategoryFaq" />
-<edge source="ViewportEntity" target="AutoLispFaq" />
-<edge source="ViewportEntity" target="ReplaceMultipleBlocks" />
-<edge source="ViewportEntity" target="AllVisibleObjects" />
-<edge source="ViewportEntity" target="PixelOffByOneError" />
-
-<node name="Analyzers"><label>Analyzers</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Analyzers"/></dataref></node>
-<edge source="Analyzers" target="CategoryFaq" />
-<edge source="Analyzers" target="AutoLispFaq" />
-<edge source="Analyzers" target="AutoLispEditors" />
-<edge source="Analyzers" target="PrettyPrinters" />
-<edge source="Analyzers" target="VisualLisp" />
-<edge source="Analyzers" target="WhereCanIfind" />
-<edge source="Analyzers" target="CategoryDevelopmentInAutoLisp" />
-
-<node name="AutoLispEditors"><label>AutoLispEditors</label><dataref><ref xlink:href="http://reini/wiki/sidebar/AutoLispEditors"/></dataref></node>
-<edge source="AutoLispEditors" target="CategoryFaq" />
-<edge source="AutoLispEditors" target="AutoLispFaq" />
-<edge source="AutoLispEditors" target="AutoLispCompilers" />
-<edge source="AutoLispEditors" target="Analyzers" />
-<edge source="AutoLispEditors" target="VisualLisp" />
-<edge source="AutoLispEditors" target="Emacs" />
-<edge source="AutoLispEditors" target="WhereCanIfind" />
-<edge source="AutoLispEditors" target="CategoryDevelopmentInAutoLisp" />
-
-<node name="PrettyPrinters"><label>PrettyPrinters</label><dataref><ref xlink:href="http://reini/wiki/sidebar/PrettyPrinters"/></dataref></node>
-<edge source="PrettyPrinters" target="CategoryFaq" />
-<edge source="PrettyPrinters" target="AutoLispFaq" />
-<edge source="PrettyPrinters" target="Analyzers" />
-<edge source="PrettyPrinters" target="AutoLispProblems" />
-<edge source="PrettyPrinters" target="AutoLispEditors" />
-<edge source="PrettyPrinters" target="AutodeskSdk" />
-<edge source="PrettyPrinters" target="WhereCanIfind" />
-<edge source="PrettyPrinters" target="VisualLisp" />
-<edge source="PrettyPrinters" target="VitalLisp" />
-<edge source="PrettyPrinters" target="Emacs" />
-<edge source="PrettyPrinters" target="CategoryDevelopmentInAutoLisp" />
-
-<node name="WhereCanIfind"><label>WhereCanIfind</label><dataref><ref xlink:href="http://reini/wiki/sidebar/WhereCanIfind"/></dataref></node>
-<edge source="WhereCanIfind" target="CategoryFaq" />
-<edge source="WhereCanIfind" target="AutoLispFaq" />
-<edge source="WhereCanIfind" target="CannotCreateArx" />
-<edge source="WhereCanIfind" target="NewsgroupArchives" />
-<edge source="WhereCanIfind" target="TenLinks" />
-<edge source="WhereCanIfind" target="UpFront" />
-<edge source="WhereCanIfind" target="ReiniUrban" />
-<edge source="WhereCanIfind" target="HotTipHarry" />
-<edge source="WhereCanIfind" target="AcadX" />
-<edge source="WhereCanIfind" target="VladimirNesterovsky" />
-<edge source="WhereCanIfind" target="DotCom" />
-
-<node name="CategoryDevelopmentInAutoLisp"><label>CategoryDevelopmentInAutoLisp</label><dataref><ref xlink:href="http://reini/wiki/sidebar/CategoryDevelopmentInAutoLisp"/></dataref></node>
-<edge source="CategoryDevelopmentInAutoLisp" target="AutoLisp" />
-<edge source="CategoryDevelopmentInAutoLisp" target="CategoryDevelopment" />
-<edge source="CategoryDevelopmentInAutoLisp" target="CategoryDevelopmentInAutoLisp" />
-<edge source="CategoryDevelopmentInAutoLisp" target="CategoryDevelopmentInVisualBasic" />
-<edge source="CategoryDevelopmentInAutoLisp" target="CategoryDevelopmentInC" />
-<edge source="CategoryDevelopmentInAutoLisp" target="CategoryDevelopmentInCpp" />
-<edge source="CategoryDevelopmentInAutoLisp" target="CategoryDevelopmentInLisp" />
-<edge source="CategoryDevelopmentInAutoLisp" target="CategoryDevelopmentInPerl" />
-<edge source="CategoryDevelopmentInAutoLisp" target="CategoryCategory" />
-
-<node name="AntiPattern"><label>AntiPattern</label><dataref><ref xlink:href="http://reini/wiki/sidebar/AntiPattern"/></dataref></node>
-<edge source="AntiPattern" target="AntiPattern" />
-<edge source="AntiPattern" target="TypicalProblem" />
-<edge source="AntiPattern" target="VendorLockin" />
-<edge source="AntiPattern" target="ToDo" />
-<edge source="AntiPattern" target="CategoryPattern" />
-
-<node name="TypicalProblem"><label>TypicalProblem</label><dataref><ref xlink:href="http://reini/wiki/sidebar/TypicalProblem"/></dataref></node>
-<edge source="TypicalProblem" target="TypicalProblem" />
-<edge source="TypicalProblem" target="AntiPattern" />
-<edge source="TypicalProblem" target="WhereIsThisKeyOnThisShxx" />
-<edge source="TypicalProblem" target="CategoryPattern" />
-
-<node name="VendorLockin"><label>VendorLockin</label><dataref><ref xlink:href="http://reini/wiki/sidebar/VendorLockin"/></dataref></node>
-<edge source="VendorLockin" target="AntiPattern" />
-
-<node name="CategoryPattern"><label>CategoryPattern</label><dataref><ref xlink:href="http://reini/wiki/sidebar/CategoryPattern"/></dataref></node>
-<edge source="CategoryPattern" target="AntiPattern" />
-<edge source="CategoryPattern" target="CategoryCategory" />
-
-<node name="ARX"><label>ARX</label><dataref><ref xlink:href="http://reini/wiki/sidebar/ARX"/></dataref></node>
-<edge source="ARX" target="AutoCad" />
-<edge source="ARX" target="RuntimeExtension" />
-<edge source="ARX" target="ObjectARX" />
-
-<node name="CAD"><label>CAD</label><dataref><ref xlink:href="http://reini/wiki/sidebar/CAD"/></dataref></node>
-<edge source="CAD" target="CAM" />
-
-<node name="LatestRelease"><label>LatestRelease</label><dataref><ref xlink:href="http://reini/wiki/sidebar/LatestRelease"/></dataref></node>
-<edge source="LatestRelease" target="LatestBugfixes" />
-<edge source="LatestRelease" target="VisualLisp" />
-<edge source="LatestRelease" target="ToDo" />
-
-<node name="LatestBugfixes"><label>LatestBugfixes</label><dataref><ref xlink:href="http://reini/wiki/sidebar/LatestBugfixes"/></dataref></node>
-<edge source="LatestBugfixes" target="LatestRelease" />
-
-<node name="JohnWalker"><label>JohnWalker</label><dataref><ref xlink:href="http://reini/wiki/sidebar/JohnWalker"/></dataref></node>
-<edge source="JohnWalker" target="AutoDesk" />
-<edge source="JohnWalker" target="AutoCad" />
-
-<node name="AutoCadEntityAccess"><label>AutoCadEntityAccess</label><dataref><ref xlink:href="http://reini/wiki/sidebar/AutoCadEntityAccess"/></dataref></node>
-<edge source="AutoCadEntityAccess" target="CategoryFaq" />
-<edge source="AutoCadEntityAccess" target="AutoLispFaq" />
-<edge source="AutoCadEntityAccess" target="SymbolToString" />
-<edge source="AutoCadEntityAccess" target="SampleLispPrograms" />
-<edge source="AutoCadEntityAccess" target="STDENT" />
-<edge source="AutoCadEntityAccess" target="ModifyBlockAttributes" />
-
-<node name="SymbolToString"><label>SymbolToString</label><dataref><ref xlink:href="http://reini/wiki/sidebar/SymbolToString"/></dataref></node>
-<edge source="SymbolToString" target="CategoryFaq" />
-<edge source="SymbolToString" target="AutoLispFaq" />
-<edge source="SymbolToString" target="StringManipulation" />
-<edge source="SymbolToString" target="AutoCadEntityAccess" />
-<edge source="SymbolToString" target="STDINIT" />
-
-<node name="SampleLispPrograms"><label>SampleLispPrograms</label><dataref><ref xlink:href="http://reini/wiki/sidebar/SampleLispPrograms"/></dataref></node>
-<edge source="SampleLispPrograms" target="CategoryFaq" />
-<edge source="SampleLispPrograms" target="AutoLispFaq" />
-<edge source="SampleLispPrograms" target="AutoCadEntityAccess" />
-<edge source="SampleLispPrograms" target="GloballyChange" />
-<edge source="SampleLispPrograms" target="PlotDialogFromLisp" />
-<edge source="SampleLispPrograms" target="EntmodEntmakeLayers" />
-<edge source="SampleLispPrograms" target="SelectMultipleFiles" />
-<edge source="SampleLispPrograms" target="ReplaceMultipleBlocks" />
-<edge source="SampleLispPrograms" target="ViewportEntity" />
-<edge source="SampleLispPrograms" target="AllVisibleObjects" />
-<edge source="SampleLispPrograms" target="WriteXyzData" />
-
-<node name="AutoCADLandDevelopmentDesktop"><label>AutoCADLandDevelopmentDesktop</label><dataref><ref xlink:href="http://reini/wiki/sidebar/AutoCADLandDevelopmentDesktop"/></dataref></node>
-<edge source="AutoCADLandDevelopmentDesktop" target="AutoCADMap" />
-<edge source="AutoCADLandDevelopmentDesktop" target="AutodeskCADOverlay" />
-<edge source="AutoCADLandDevelopmentDesktop" target="COGO" />
-
-<node name="AutoCADMap"><label>AutoCADMap</label><dataref><ref xlink:href="http://reini/wiki/sidebar/AutoCADMap"/></dataref></node>
-<edge source="AutoCADMap" target="GIS" />
-
-<node name="AutodeskCADOverlay"><label>AutodeskCADOverlay</label><dataref><ref xlink:href="http://reini/wiki/sidebar/AutodeskCADOverlay"/></dataref></node>
-<edge source="AutodeskCADOverlay" target="Vectorization" />
-
-<node name="COGO"><label>COGO</label><dataref><ref xlink:href="http://reini/wiki/sidebar/COGO"/></dataref></node>
-<edge source="COGO" target="GIS" />
-
-<node name="AutoCadLibraryPath"><label>AutoCadLibraryPath</label><dataref><ref xlink:href="http://reini/wiki/sidebar/AutoCadLibraryPath"/></dataref></node>
-
-<node name="AutoCadMagazines"><label>AutoCadMagazines</label><dataref><ref xlink:href="http://reini/wiki/sidebar/AutoCadMagazines"/></dataref></node>
-<edge source="AutoCadMagazines" target="CADALYST" />
-
-<node name="CADALYST"><label>CADALYST</label><dataref><ref xlink:href="http://reini/wiki/sidebar/CADALYST"/></dataref></node>
-<edge source="CADALYST" target="AutoCadMagazines" />
-
-<node name="GIS"><label>GIS</label><dataref><ref xlink:href="http://reini/wiki/sidebar/GIS"/></dataref></node>
-
-<node name="DiscreetLogic"><label>DiscreetLogic</label><dataref><ref xlink:href="http://reini/wiki/sidebar/DiscreetLogic"/></dataref></node>
-
-<node name="SpinOff"><label>SpinOff</label><dataref><ref xlink:href="http://reini/wiki/sidebar/SpinOff"/></dataref></node>
-
-<node name="BuzzsawDotCom"><label>BuzzsawDotCom</label><dataref><ref xlink:href="http://reini/wiki/sidebar/BuzzsawDotCom"/></dataref></node>
-<edge source="BuzzsawDotCom" target="AutoDesk" />
-<edge source="BuzzsawDotCom" target="DotCom" />
-<edge source="BuzzsawDotCom" target="SpinOff" />
-<edge source="BuzzsawDotCom" target="RedSpark" />
-<edge source="BuzzsawDotCom" target="PointA" />
-
-<node name="Vectorization"><label>Vectorization</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Vectorization"/></dataref></node>
-<edge source="Vectorization" target="RasterToVector" />
-
-<node name="NewsgroupArchives"><label>NewsgroupArchives</label><dataref><ref xlink:href="http://reini/wiki/sidebar/NewsgroupArchives"/></dataref></node>
-<edge source="NewsgroupArchives" target="CategoryFaq" />
-<edge source="NewsgroupArchives" target="AutoLispFaq" />
-<edge source="NewsgroupArchives" target="WhereCanIfind" />
-<edge source="NewsgroupArchives" target="AutodeskSdk" />
-
-<node name="BestAutoLispBooks"><label>BestAutoLispBooks</label><dataref><ref xlink:href="http://reini/wiki/sidebar/BestAutoLispBooks"/></dataref></node>
-<edge source="BestAutoLispBooks" target="CategoryFaq" />
-<edge source="BestAutoLispBooks" target="AutoLispFaq" />
-<edge source="BestAutoLispBooks" target="AutodeskSdk" />
-<edge source="BestAutoLispBooks" target="OnlineAutoLispDocuments" />
-<edge source="BestAutoLispBooks" target="CommonLisp" />
-<edge source="BestAutoLispBooks" target="StructureAndInterpretationOfComputerPrograms" />
-<edge source="BestAutoLispBooks" target="NewsGroups" />
-
-<node name="DavidBetz"><label>DavidBetz</label><dataref><ref xlink:href="http://reini/wiki/sidebar/DavidBetz"/></dataref></node>
-<edge source="DavidBetz" target="XliSp" />
-
-<node name="DialogControlLanguage"><label>DialogControlLanguage</label><dataref><ref xlink:href="http://reini/wiki/sidebar/DialogControlLanguage"/></dataref></node>
-<edge source="DialogControlLanguage" target="DCL" />
-<edge source="DialogControlLanguage" target="AutoLispLegacy" />
-<edge source="DialogControlLanguage" target="WhyDCLisBetter" />
-<edge source="DialogControlLanguage" target="ObjectDCL" />
-
-<node name="XliSp"><label>XliSp</label><dataref><ref xlink:href="http://reini/wiki/sidebar/XliSp"/></dataref></node>
-<edge source="XliSp" target="DavidBetz" />
-<edge source="XliSp" target="AutoLisp" />
-
-<node name="WhyLisp"><label>WhyLisp</label><dataref><ref xlink:href="http://reini/wiki/sidebar/WhyLisp"/></dataref></node>
-
-<node name="AutoLispCodingStyle"><label>AutoLispCodingStyle</label><dataref><ref xlink:href="http://reini/wiki/sidebar/AutoLispCodingStyle"/></dataref></node>
-<edge source="AutoLispCodingStyle" target="CategoryFaq" />
-<edge source="AutoLispCodingStyle" target="AutoLispFaq" />
-<edge source="AutoLispCodingStyle" target="OnlineAutoLispDocuments" />
-<edge source="AutoLispCodingStyle" target="DebugAutoLispPrograms" />
-<edge source="AutoLispCodingStyle" target="CountlessParentheses" />
-<edge source="AutoLispCodingStyle" target="PrettyPrinters" />
-<edge source="AutoLispCodingStyle" target="AutodeskSdk" />
-<edge source="AutoLispCodingStyle" target="BlockAttributes" />
-<edge source="AutoLispCodingStyle" target="ReadAbility" />
-<edge source="AutoLispCodingStyle" target="AccessPolylineVertices" />
-
-<node name="OnlineAutoLispDocuments"><label>OnlineAutoLispDocuments</label><dataref><ref xlink:href="http://reini/wiki/sidebar/OnlineAutoLispDocuments"/></dataref></node>
-<edge source="OnlineAutoLispDocuments" target="CategoryFaq" />
-<edge source="OnlineAutoLispDocuments" target="AutoLispFaq" />
-<edge source="OnlineAutoLispDocuments" target="BestAutoLispBooks" />
-<edge source="OnlineAutoLispDocuments" target="AutoLispCodingStyle" />
-<edge source="OnlineAutoLispDocuments" target="AutoLispTutorials" />
-<edge source="OnlineAutoLispDocuments" target="ReiniUrban" />
-<edge source="OnlineAutoLispDocuments" target="WinHelp" />
-<edge source="OnlineAutoLispDocuments" target="HtmlHelp" />
-<edge source="OnlineAutoLispDocuments" target="VisualLisp" />
-<edge source="OnlineAutoLispDocuments" target="WhereCanIfind" />
-<edge source="OnlineAutoLispDocuments" target="VitalLisp" />
-<edge source="OnlineAutoLispDocuments" target="AutoLispEditors" />
-
-<node name="DebugAutoLispPrograms"><label>DebugAutoLispPrograms</label><dataref><ref xlink:href="http://reini/wiki/sidebar/DebugAutoLispPrograms"/></dataref></node>
-<edge source="DebugAutoLispPrograms" target="CategoryFaq" />
-<edge source="DebugAutoLispPrograms" target="AutoLispFaq" />
-<edge source="DebugAutoLispPrograms" target="AutoLispCodingStyle" />
-<edge source="DebugAutoLispPrograms" target="AutoLispDebuggers" />
-<edge source="DebugAutoLispPrograms" target="ModularStyle" />
-<edge source="DebugAutoLispPrograms" target="BreakFunction" />
-
-<node name="CountlessParentheses"><label>CountlessParentheses</label><dataref><ref xlink:href="http://reini/wiki/sidebar/CountlessParentheses"/></dataref></node>
-<edge source="CountlessParentheses" target="AutoLispEditors" />
-
-<node name="BlockAttributes"><label>BlockAttributes</label><dataref><ref xlink:href="http://reini/wiki/sidebar/BlockAttributes"/></dataref></node>
-<edge source="BlockAttributes" target="CategoryFaq" />
-<edge source="BlockAttributes" target="AutoLispFaq" />
-<edge source="BlockAttributes" target="WriteXyzData" />
-<edge source="BlockAttributes" target="AccessBlockAttributes" />
-<edge source="BlockAttributes" target="ModifyBlockAttributes" />
-<edge source="BlockAttributes" target="UpdateBlockAttributes" />
-<edge source="BlockAttributes" target="EntmakeComplexEntity" />
-
-<node name="ReadAbility"><label>ReadAbility</label><dataref><ref xlink:href="http://reini/wiki/sidebar/ReadAbility"/></dataref></node>
-<edge source="ReadAbility" target="AutoLispCodingStyle" />
-<edge source="ReadAbility" target="PrettyPrinters" />
-<edge source="ReadAbility" target="AutoLispStdlib" />
-<edge source="ReadAbility" target="CompatibiLity" />
-<edge source="ReadAbility" target="StackOverflow" />
-<edge source="ReadAbility" target="IterAtion" />
-<edge source="ReadAbility" target="ReCursion" />
-<edge source="ReadAbility" target="StabiLity" />
-<edge source="ReadAbility" target="PerFormance" />
-<edge source="ReadAbility" target="ExtendabiLity" />
-
-<node name="scheme"><label>scheme</label><dataref><ref xlink:href="http://reini/wiki/sidebar/scheme"/></dataref></node>
-<edge source="scheme" target="StructureAndInterpretationOfComputerPrograms" />
-
-<node name="CommonLisp"><label>CommonLisp</label><dataref><ref xlink:href="http://reini/wiki/sidebar/CommonLisp"/></dataref></node>
-<edge source="CommonLisp" target="CategoryFaq" />
-<edge source="CommonLisp" target="AutoLispFaq" />
-<edge source="CommonLisp" target="VisualLisp" />
-<edge source="CommonLisp" target="AutoLispEditors" />
-<edge source="CommonLisp" target="AutoLispCompilers" />
-<edge source="CommonLisp" target="ForeignFunctionInterface" />
-<edge source="CommonLisp" target="scheme" />
-
-<node name="CannotCreateArx"><label>CannotCreateArx</label><dataref><ref xlink:href="http://reini/wiki/sidebar/CannotCreateArx"/></dataref></node>
-<edge source="CannotCreateArx" target="CategoryFaq" />
-<edge source="CannotCreateArx" target="AutoLispFaq" />
-<edge source="CannotCreateArx" target="WhatChangedWithAutoCAD2000" />
-<edge source="CannotCreateArx" target="WhereCanIfind" />
-<edge source="CannotCreateArx" target="VisualLisp" />
-<edge source="CannotCreateArx" target="VitalLisp" />
-<edge source="CannotCreateArx" target="RunTimeSystem" />
-<edge source="CannotCreateArx" target="ARX" />
-
-<node name="AutoLispDebuggers"><label>AutoLispDebuggers</label><dataref><ref xlink:href="http://reini/wiki/sidebar/AutoLispDebuggers"/></dataref></node>
-<edge source="AutoLispDebuggers" target="CategoryFaq" />
-<edge source="AutoLispDebuggers" target="AutoLispFaq" />
-<edge source="AutoLispDebuggers" target="DebugAutoLispPrograms" />
-<edge source="AutoLispDebuggers" target="ModularStyle" />
-<edge source="AutoLispDebuggers" target="VisualLisp" />
-<edge source="AutoLispDebuggers" target="VitalLisp" />
-<edge source="AutoLispDebuggers" target="ACOMP" />
-<edge source="AutoLispDebuggers" target="AutoLispCompilers" />
-
-<node name="ModularStyle"><label>ModularStyle</label><dataref><ref xlink:href="http://reini/wiki/sidebar/ModularStyle"/></dataref></node>
-<edge source="ModularStyle" target="CategoryFaq" />
-<edge source="ModularStyle" target="AutoLispFaq" />
-<edge source="ModularStyle" target="AutoLispDebuggers" />
-<edge source="ModularStyle" target="BreakFunction" />
-
-<node name="Emacs"><label>Emacs</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Emacs"/></dataref></node>
-<edge source="Emacs" target="VisualLisp" />
-
-<node name="FaqDisclaimer"><label>FaqDisclaimer</label><dataref><ref xlink:href="http://reini/wiki/sidebar/FaqDisclaimer"/></dataref></node>
-<edge source="FaqDisclaimer" target="CategoryFaq" />
-<edge source="FaqDisclaimer" target="AutoLispFaq" />
-<edge source="FaqDisclaimer" target="UserFaqForCode" />
-<edge source="FaqDisclaimer" target="FaqLocations" />
-<edge source="FaqDisclaimer" target="GeneralHelperFunctions" />
-
-<node name="NewsGroup"><label>NewsGroup</label><dataref><ref xlink:href="http://reini/wiki/sidebar/NewsGroup"/></dataref></node>
-<edge source="NewsGroup" target="NewsGroup" />
-<edge source="NewsGroup" target="NewsGroups" />
-<edge source="NewsGroup" target="NewsgroupArchives" />
-
-<node name="RulesToLiveBy"><label>RulesToLiveBy</label><dataref><ref xlink:href="http://reini/wiki/sidebar/RulesToLiveBy"/></dataref></node>
-
-<node name="FutureOfAutoLisp"><label>FutureOfAutoLisp</label><dataref><ref xlink:href="http://reini/wiki/sidebar/FutureOfAutoLisp"/></dataref></node>
-<edge source="FutureOfAutoLisp" target="CategoryFaq" />
-<edge source="FutureOfAutoLisp" target="AutoLispFaq" />
-<edge source="FutureOfAutoLisp" target="WhatChangedWithAutoCAD2000" />
-<edge source="FutureOfAutoLisp" target="VisualBasic" />
-<edge source="FutureOfAutoLisp" target="AutoLisp" />
-<edge source="FutureOfAutoLisp" target="VisualLisp" />
-
-<node name="WhatChangedWithAutoCAD2000"><label>WhatChangedWithAutoCAD2000</label><dataref><ref xlink:href="http://reini/wiki/sidebar/WhatChangedWithAutoCAD2000"/></dataref></node>
-<edge source="WhatChangedWithAutoCAD2000" target="CategoryFaq" />
-<edge source="WhatChangedWithAutoCAD2000" target="AutoLispFaq" />
-<edge source="WhatChangedWithAutoCAD2000" target="FutureOfAutoLisp" />
-<edge source="WhatChangedWithAutoCAD2000" target="CannotCreateArx" />
-<edge source="WhatChangedWithAutoCAD2000" target="VisualLisp" />
-<edge source="WhatChangedWithAutoCAD2000" target="VitalLisp" />
-<edge source="WhatChangedWithAutoCAD2000" target="VisualLisp5WhitePaper" />
-<edge source="WhatChangedWithAutoCAD2000" target="LatestRelease" />
-
-<node name="BreakFunction"><label>BreakFunction</label><dataref><ref xlink:href="http://reini/wiki/sidebar/BreakFunction"/></dataref></node>
-<edge source="BreakFunction" target="CategoryFaq" />
-<edge source="BreakFunction" target="AutoLispFaq" />
-<edge source="BreakFunction" target="ModularStyle" />
-<edge source="BreakFunction" target="ProtectAutoLisp" />
-<edge source="BreakFunction" target="DebugAutoLispPrograms" />
-
-<node name="KelvinateAndProtect"><label>KelvinateAndProtect</label><dataref><ref xlink:href="http://reini/wiki/sidebar/KelvinateAndProtect"/></dataref></node>
-<edge source="KelvinateAndProtect" target="CategoryFaq" />
-<edge source="KelvinateAndProtect" target="AutoLispFaq" />
-<edge source="KelvinateAndProtect" target="Protect" />
-<edge source="KelvinateAndProtect" target="Convert" />
-<edge source="KelvinateAndProtect" target="ProtectAutoLisp" />
-<edge source="KelvinateAndProtect" target="Kelvinate" />
-<edge source="KelvinateAndProtect" target="CategoryDevelopmentInAutoLisp" />
-<edge source="KelvinateAndProtect" target="SoftwareProtection" />
-
-<node name="Lisp2C"><label>Lisp2C</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Lisp2C"/></dataref></node>
-<edge source="Lisp2C" target="CategoryFaq" />
-<edge source="Lisp2C" target="AutoLispFaq" />
-<edge source="Lisp2C" target="VitalLisp" />
-<edge source="Lisp2C" target="VisualLisp" />
-<edge source="Lisp2C" target="ProtectAutoLisp" />
-<edge source="Lisp2C" target="AutoLisp" />
-<edge source="Lisp2C" target="CategoryDevelopmentInAutoLisp" />
-<edge source="Lisp2C" target="CategoryDevelopmentInC" />
-
-<node name="AutoLispProfilers"><label>AutoLispProfilers</label><dataref><ref xlink:href="http://reini/wiki/sidebar/AutoLispProfilers"/></dataref></node>
-<edge source="AutoLispProfilers" target="CategoryFaq" />
-<edge source="AutoLispProfilers" target="AutoLispFaq" />
-<edge source="AutoLispProfilers" target="PrettyPrinters" />
-<edge source="AutoLispProfilers" target="AutoLispProblems" />
-<edge source="AutoLispProfilers" target="VladimirNesterovsky" />
-
-<node name="AutoLispProblems"><label>AutoLispProblems</label><dataref><ref xlink:href="http://reini/wiki/sidebar/AutoLispProblems"/></dataref></node>
-<edge source="AutoLispProblems" target="CategoryFaq" />
-<edge source="AutoLispProblems" target="AutoLispFaq" />
-<edge source="AutoLispProblems" target="PrettyPrinters" />
-<edge source="AutoLispProblems" target="SortingWithAutoLisp" />
-<edge source="AutoLispProblems" target="WhatChangedWithAutoCAD2000" />
-<edge source="AutoLispProblems" target="DCL" />
-<edge source="AutoLispProblems" target="VisualLisp" />
-<edge source="AutoLispProblems" target="VitalLisp" />
-<edge source="AutoLispProblems" target="ObjectARX" />
-<edge source="AutoLispProblems" target="ADS" />
-<edge source="AutoLispProblems" target="AccessPolylineVertices" />
-<edge source="AutoLispProblems" target="VisualBasic" />
-<edge source="AutoLispProblems" target="ACOMP" />
-<edge source="AutoLispProblems" target="StackOverflow" />
-<edge source="AutoLispProblems" target="CategoryDevelopmentInAutoLisp" />
-
-<node name="SortingWithAutoLisp"><label>SortingWithAutoLisp</label><dataref><ref xlink:href="http://reini/wiki/sidebar/SortingWithAutoLisp"/></dataref></node>
-<edge source="SortingWithAutoLisp" target="CategoryFaq" />
-<edge source="SortingWithAutoLisp" target="AutoLispFaq" />
-<edge source="SortingWithAutoLisp" target="AutoLispProblems" />
-<edge source="SortingWithAutoLisp" target="ReCursion" />
-<edge source="SortingWithAutoLisp" target="AutoDesk" />
-
-<node name="ReCursion"><label>ReCursion</label><dataref><ref xlink:href="http://reini/wiki/sidebar/ReCursion"/></dataref></node>
-<edge source="ReCursion" target="CategoryFaq" />
-<edge source="ReCursion" target="AutoLispFaq" />
-<edge source="ReCursion" target="SortingWithAutoLisp" />
-<edge source="ReCursion" target="IterAtion" />
-<edge source="ReCursion" target="ReCursion" />
-
-<node name="IterAtion"><label>IterAtion</label><dataref><ref xlink:href="http://reini/wiki/sidebar/IterAtion"/></dataref></node>
-<edge source="IterAtion" target="CategoryFaq" />
-<edge source="IterAtion" target="AutoLispFaq" />
-<edge source="IterAtion" target="ReCursion" />
-<edge source="IterAtion" target="VladimirNesterovsky" />
-
-<node name="S__STARTUP"><label>S__STARTUP</label><dataref><ref xlink:href="http://reini/wiki/sidebar/S__STARTUP"/></dataref></node>
-<edge source="S__STARTUP" target="CategoryFaq" />
-<edge source="S__STARTUP" target="AutoLispFaq" />
-<edge source="S__STARTUP" target="IterAtion" />
-<edge source="S__STARTUP" target="HowToAutoload" />
-<edge source="S__STARTUP" target="AutoCadLibraryPath" />
-<edge source="S__STARTUP" target="ACOMP" />
-
-<node name="HowToAutoload"><label>HowToAutoload</label><dataref><ref xlink:href="http://reini/wiki/sidebar/HowToAutoload"/></dataref></node>
-<edge source="HowToAutoload" target="CategoryFaq" />
-<edge source="HowToAutoload" target="AutoLispFaq" />
-<edge source="HowToAutoload" target="VariableNumberOfArguments" />
-<edge source="HowToAutoload" target="ACOMP" />
-
-<node name="VariableNumberOfArguments"><label>VariableNumberOfArguments</label><dataref><ref xlink:href="http://reini/wiki/sidebar/VariableNumberOfArguments"/></dataref></node>
-<edge source="VariableNumberOfArguments" target="CategoryFaq" />
-<edge source="VariableNumberOfArguments" target="CategoryDevelopmentInAutoLisp" />
-<edge source="VariableNumberOfArguments" target="AutoLispFaq" />
-<edge source="VariableNumberOfArguments" target="HowToAutoload" />
-<edge source="VariableNumberOfArguments" target="StackOverflow" />
-<edge source="VariableNumberOfArguments" target="ReiniUrban" />
-<edge source="VariableNumberOfArguments" target="VladimirNesterovsky" />
-<edge source="VariableNumberOfArguments" target="AutodeskSdk" />
-<edge source="VariableNumberOfArguments" target="AutoLisp" />
-<edge source="VariableNumberOfArguments" target="VisualLisp" />
-<edge source="VariableNumberOfArguments" target="CommonLisp" />
-<edge source="VariableNumberOfArguments" target="ADS" />
-
-<node name="StackOverflow"><label>StackOverflow</label><dataref><ref xlink:href="http://reini/wiki/sidebar/StackOverflow"/></dataref></node>
-<edge source="StackOverflow" target="CategoryFaq" />
-<edge source="StackOverflow" target="AutoLispFaq" />
-<edge source="StackOverflow" target="VariableNumberOfArguments" />
-<edge source="StackOverflow" target="CommandBlaDoesNotWork" />
-<edge source="StackOverflow" target="VitalLisp" />
-<edge source="StackOverflow" target="VisualLisp" />
-<edge source="StackOverflow" target="RunTimeSystem" />
-<edge source="StackOverflow" target="StackSize" />
-<edge source="StackOverflow" target="ConversionToIterative" />
-
-<node name="CommandBlaDoesNotWork"><label>CommandBlaDoesNotWork</label><dataref><ref xlink:href="http://reini/wiki/sidebar/CommandBlaDoesNotWork"/></dataref></node>
-<edge source="CommandBlaDoesNotWork" target="CategoryFaq" />
-<edge source="CommandBlaDoesNotWork" target="AutoLispFaq" />
-<edge source="CommandBlaDoesNotWork" target="StackOverflow" />
-<edge source="CommandBlaDoesNotWork" target="MultipleDrawings" />
-<edge source="CommandBlaDoesNotWork" target="ObjectARX" />
-<edge source="CommandBlaDoesNotWork" target="HowToAutoload" />
-
-<node name="MultipleDrawings"><label>MultipleDrawings</label><dataref><ref xlink:href="http://reini/wiki/sidebar/MultipleDrawings"/></dataref></node>
-<edge source="MultipleDrawings" target="CategoryFaq" />
-<edge source="MultipleDrawings" target="AutoLispFaq" />
-<edge source="MultipleDrawings" target="CommandBlaDoesNotWork" />
-<edge source="MultipleDrawings" target="ExportVisualLispFunctions" />
-<edge source="MultipleDrawings" target="MultipleDrawings" />
-
-<node name="ExportVisualLispFunctions"><label>ExportVisualLispFunctions</label><dataref><ref xlink:href="http://reini/wiki/sidebar/ExportVisualLispFunctions"/></dataref></node>
-<edge source="ExportVisualLispFunctions" target="CategoryFaq" />
-<edge source="ExportVisualLispFunctions" target="AutoLispFaq" />
-<edge source="ExportVisualLispFunctions" target="MultipleDrawings" />
-<edge source="ExportVisualLispFunctions" target="GeneralHelperFunctions" />
-<edge source="ExportVisualLispFunctions" target="AutoLispProblems" />
-<edge source="ExportVisualLispFunctions" target="VisualLisp" />
-
-<node name="GeneralHelperFunctions"><label>GeneralHelperFunctions</label><dataref><ref xlink:href="http://reini/wiki/sidebar/GeneralHelperFunctions"/></dataref></node>
-<edge source="GeneralHelperFunctions" target="CategoryFaq" />
-<edge source="GeneralHelperFunctions" target="AutoLispFaq" />
-<edge source="GeneralHelperFunctions" target="ExportVisualLispFunctions" />
-<edge source="GeneralHelperFunctions" target="ListManipulation" />
-<edge source="GeneralHelperFunctions" target="AutoLispStdlib" />
-<edge source="GeneralHelperFunctions" target="WhereCanIfind" />
-<edge source="GeneralHelperFunctions" target="AutodeskSdk" />
-<edge source="GeneralHelperFunctions" target="StringManipulation" />
-<edge source="GeneralHelperFunctions" target="SymbolToString" />
-<edge source="GeneralHelperFunctions" target="AutoCadEntityAccess" />
-
-<node name="ListManipulation"><label>ListManipulation</label><dataref><ref xlink:href="http://reini/wiki/sidebar/ListManipulation"/></dataref></node>
-<edge source="ListManipulation" target="CategoryFaq" />
-<edge source="ListManipulation" target="AutoLispFaq" />
-<edge source="ListManipulation" target="GeneralHelperFunctions" />
-<edge source="ListManipulation" target="StringManipulation" />
-<edge source="ListManipulation" target="STDLIST" />
-<edge source="ListManipulation" target="VladimirNesterovsky" />
-
-<node name="StringManipulation"><label>StringManipulation</label><dataref><ref xlink:href="http://reini/wiki/sidebar/StringManipulation"/></dataref></node>
-<edge source="StringManipulation" target="CategoryFaq" />
-<edge source="StringManipulation" target="AutoLispFaq" />
-<edge source="StringManipulation" target="ListManipulation" />
-<edge source="StringManipulation" target="SymbolToString" />
-<edge source="StringManipulation" target="STDSTR" />
-<edge source="StringManipulation" target="AutoLispStdlib" />
-
-<node name="GloballyChange"><label>GloballyChange</label><dataref><ref xlink:href="http://reini/wiki/sidebar/GloballyChange"/></dataref></node>
-<edge source="GloballyChange" target="CategoryFaq" />
-<edge source="GloballyChange" target="AutoLispFaq" />
-<edge source="GloballyChange" target="GloballyChange" />
-<edge source="GloballyChange" target="EntmodEntmakeLayers" />
-<edge source="GloballyChange" target="WhereCanIfind" />
-<edge source="GloballyChange" target="BlockAttributes" />
-<edge source="GloballyChange" target="PolyLines" />
-<edge source="GloballyChange" target="BulgeConversion" />
-<edge source="GloballyChange" target="ModifyBlockAttributes" />
-
-<node name="PlotDialogFromLisp"><label>PlotDialogFromLisp</label><dataref><ref xlink:href="http://reini/wiki/sidebar/PlotDialogFromLisp"/></dataref></node>
-<edge source="PlotDialogFromLisp" target="CategoryFaq" />
-<edge source="PlotDialogFromLisp" target="AutoLispFaq" />
-<edge source="PlotDialogFromLisp" target="GloballyChange" />
-<edge source="PlotDialogFromLisp" target="EntmodEntmakeLayers" />
-
-<node name="EntmodEntmakeLayers"><label>EntmodEntmakeLayers</label><dataref><ref xlink:href="http://reini/wiki/sidebar/EntmodEntmakeLayers"/></dataref></node>
-<edge source="EntmodEntmakeLayers" target="CategoryFaq" />
-<edge source="EntmodEntmakeLayers" target="AutoLispFaq" />
-<edge source="EntmodEntmakeLayers" target="PlotDialogFromLisp" />
-<edge source="EntmodEntmakeLayers" target="SelectMultipleFiles" />
-<edge source="EntmodEntmakeLayers" target="STDTBL" />
-<edge source="EntmodEntmakeLayers" target="ENTMAKE" />
-
-<node name="SelectMultipleFiles"><label>SelectMultipleFiles</label><dataref><ref xlink:href="http://reini/wiki/sidebar/SelectMultipleFiles"/></dataref></node>
-<edge source="SelectMultipleFiles" target="CategoryFaq" />
-<edge source="SelectMultipleFiles" target="AutoLispFaq" />
-<edge source="SelectMultipleFiles" target="EntmodEntmakeLayers" />
-<edge source="SelectMultipleFiles" target="ReplaceMultipleBlocks" />
-<edge source="SelectMultipleFiles" target="ToDo" />
-
-<node name="ReplaceMultipleBlocks"><label>ReplaceMultipleBlocks</label><dataref><ref xlink:href="http://reini/wiki/sidebar/ReplaceMultipleBlocks"/></dataref></node>
-<edge source="ReplaceMultipleBlocks" target="CategoryFaq" />
-<edge source="ReplaceMultipleBlocks" target="AutoLispFaq" />
-<edge source="ReplaceMultipleBlocks" target="SelectMultipleFiles" />
-<edge source="ReplaceMultipleBlocks" target="ViewportEntity" />
-
-<node name="EntmakeComplexEntity"><label>EntmakeComplexEntity</label><dataref><ref xlink:href="http://reini/wiki/sidebar/EntmakeComplexEntity"/></dataref></node>
-<edge source="EntmakeComplexEntity" target="CategoryFaq" />
-<edge source="EntmakeComplexEntity" target="AutoLispFaq" />
-<edge source="EntmakeComplexEntity" target="UpdateBlockAttributes" />
-<edge source="EntmakeComplexEntity" target="PolyLines" />
-<edge source="EntmakeComplexEntity" target="ENTMAKE" />
-
-<node name="ChangeWidthOfMultiplePolylines"><label>ChangeWidthOfMultiplePolylines</label><dataref><ref xlink:href="http://reini/wiki/sidebar/ChangeWidthOfMultiplePolylines"/></dataref></node>
-<edge source="ChangeWidthOfMultiplePolylines" target="CategoryFaq" />
-<edge source="ChangeWidthOfMultiplePolylines" target="AutoLispFaq" />
-<edge source="ChangeWidthOfMultiplePolylines" target="JoinMultipleLines" />
-<edge source="ChangeWidthOfMultiplePolylines" target="CreatePolylineOrSpline" />
-
-<node name="CreatePolylineOrSpline"><label>CreatePolylineOrSpline</label><dataref><ref xlink:href="http://reini/wiki/sidebar/CreatePolylineOrSpline"/></dataref></node>
-<edge source="CreatePolylineOrSpline" target="CategoryFaq" />
-<edge source="CreatePolylineOrSpline" target="AutoLispFaq" />
-<edge source="CreatePolylineOrSpline" target="ChangeWidthOfMultiplePolylines" />
-<edge source="CreatePolylineOrSpline" target="LengthOfPolylines" />
-<edge source="CreatePolylineOrSpline" target="ENTMAKE" />
-
-<node name="RevertPolyline"><label>RevertPolyline</label><dataref><ref xlink:href="http://reini/wiki/sidebar/RevertPolyline"/></dataref></node>
-<edge source="RevertPolyline" target="CategoryFaq" />
-<edge source="RevertPolyline" target="AutoLispFaq" />
-<edge source="RevertPolyline" target="LengthOfPolylines" />
-<edge source="RevertPolyline" target="CenterOfPolyline" />
-<edge source="RevertPolyline" target="AutoLispStdlib" />
-
-<node name="CenterOfPolyline"><label>CenterOfPolyline</label><dataref><ref xlink:href="http://reini/wiki/sidebar/CenterOfPolyline"/></dataref></node>
-<edge source="CenterOfPolyline" target="CategoryFaq" />
-<edge source="CenterOfPolyline" target="AutoLispFaq" />
-<edge source="CenterOfPolyline" target="RevertPolyline" />
-<edge source="CenterOfPolyline" target="BulgeConversion" />
-<edge source="CenterOfPolyline" target="STDPOINT" />
-
-<node name="BulgeConversion"><label>BulgeConversion</label><dataref><ref xlink:href="http://reini/wiki/sidebar/BulgeConversion"/></dataref></node>
-<edge source="BulgeConversion" target="CategoryFaq" />
-<edge source="BulgeConversion" target="AutoLispFaq" />
-<edge source="BulgeConversion" target="CenterOfPolyline" />
-<edge source="BulgeConversion" target="DclListboxesWithTabs" />
-<edge source="BulgeConversion" target="BestAutoLispBooks" />
-
-<node name="DclListboxesWithTabs"><label>DclListboxesWithTabs</label><dataref><ref xlink:href="http://reini/wiki/sidebar/DclListboxesWithTabs"/></dataref></node>
-<edge source="DclListboxesWithTabs" target="CategoryFaq" />
-<edge source="DclListboxesWithTabs" target="AutoLispFaq" />
-<edge source="DclListboxesWithTabs" target="BulgeConversion" />
-<edge source="DclListboxesWithTabs" target="ExtendedEntityData" />
-<edge source="DclListboxesWithTabs" target="STDSTR" />
-
-<node name="ExtendedEntityData"><label>ExtendedEntityData</label><dataref><ref xlink:href="http://reini/wiki/sidebar/ExtendedEntityData"/></dataref></node>
-<edge source="ExtendedEntityData" target="CategoryFaq" />
-<edge source="ExtendedEntityData" target="AutoLispFaq" />
-<edge source="ExtendedEntityData" target="DclListboxesWithTabs" />
-<edge source="ExtendedEntityData" target="BreakLispCommand" />
-<edge source="ExtendedEntityData" target="DICT" />
-
-<node name="BreakLispCommand"><label>BreakLispCommand</label><dataref><ref xlink:href="http://reini/wiki/sidebar/BreakLispCommand"/></dataref></node>
-<edge source="BreakLispCommand" target="CategoryFaq" />
-<edge source="BreakLispCommand" target="AutoLispFaq" />
-<edge source="BreakLispCommand" target="ExtendedEntityData" />
-<edge source="BreakLispCommand" target="UnlimitedNumberOfUserPrompts" />
-
-<node name="UnlimitedNumberOfUserPrompts"><label>UnlimitedNumberOfUserPrompts</label><dataref><ref xlink:href="http://reini/wiki/sidebar/UnlimitedNumberOfUserPrompts"/></dataref></node>
-<edge source="UnlimitedNumberOfUserPrompts" target="CategoryFaq" />
-<edge source="UnlimitedNumberOfUserPrompts" target="AutoLispFaq" />
-<edge source="UnlimitedNumberOfUserPrompts" target="BreakLispCommand" />
-<edge source="UnlimitedNumberOfUserPrompts" target="DecodeAcis" />
-<edge source="UnlimitedNumberOfUserPrompts" target="AutomaticPurge" />
-<edge source="UnlimitedNumberOfUserPrompts" target="STDMISC" />
-
-<node name="DecodeAcis"><label>DecodeAcis</label><dataref><ref xlink:href="http://reini/wiki/sidebar/DecodeAcis"/></dataref></node>
-<edge source="DecodeAcis" target="CategoryFaq" />
-<edge source="DecodeAcis" target="AutoLispFaq" />
-<edge source="DecodeAcis" target="UnlimitedNumberOfUserPrompts" />
-<edge source="DecodeAcis" target="UserFaqForCode" />
-
-<node name="UserFaqForCode"><label>UserFaqForCode</label><dataref><ref xlink:href="http://reini/wiki/sidebar/UserFaqForCode"/></dataref></node>
-<edge source="UserFaqForCode" target="CategoryFaq" />
-<edge source="UserFaqForCode" target="AutoLispFaq" />
-<edge source="UserFaqForCode" target="DecodeAcis" />
-<edge source="UserFaqForCode" target="FaqDisclaimer" />
-
-<node name="FaqLocations"><label>FaqLocations</label><dataref><ref xlink:href="http://reini/wiki/sidebar/FaqLocations"/></dataref></node>
-<edge source="FaqLocations" target="CategoryFaq" />
-<edge source="FaqLocations" target="AutoLispFaq" />
-<edge source="FaqLocations" target="FaqDisclaimer" />
-<edge source="FaqLocations" target="FaqAcknowledgements" />
-<edge source="FaqLocations" target="AcadWiki" />
-<edge source="FaqLocations" target="AutoDesk" />
-
-<node name="FaqAcknowledgements"><label>FaqAcknowledgements</label><dataref><ref xlink:href="http://reini/wiki/sidebar/FaqAcknowledgements"/></dataref></node>
-<edge source="FaqAcknowledgements" target="CategoryFaq" />
-<edge source="FaqAcknowledgements" target="AutoLispFaq" />
-<edge source="FaqAcknowledgements" target="FaqLocations" />
-<edge source="FaqAcknowledgements" target="RecentFaqChanges" />
-<edge source="FaqAcknowledgements" target="ReiniUrban" />
-
-<node name="RecentFaqChanges"><label>RecentFaqChanges</label><dataref><ref xlink:href="http://reini/wiki/sidebar/RecentFaqChanges"/></dataref></node>
-<edge source="RecentFaqChanges" target="CategoryFaq" />
-<edge source="RecentFaqChanges" target="AutoLispFaq" />
-<edge source="RecentFaqChanges" target="FaqAcknowledgements" />
-
-<node name="AutoLispLegacy"><label>AutoLispLegacy</label><dataref><ref xlink:href="http://reini/wiki/sidebar/AutoLispLegacy"/></dataref></node>
-<edge source="AutoLispLegacy" target="AutoLispLegacy" />
-<edge source="AutoLispLegacy" target="AutoLisp" />
-<edge source="AutoLispLegacy" target="WhatChangedWithAutoCAD2000" />
-<edge source="AutoLispLegacy" target="PolyLines" />
-<edge source="AutoLispLegacy" target="DialogControlLanguage" />
-
-<node name="AutoLispStdlibReadme"><label>AutoLispStdlibReadme</label><dataref><ref xlink:href="http://reini/wiki/sidebar/AutoLispStdlibReadme"/></dataref></node>
-<edge source="AutoLispStdlibReadme" target="HtmlHelp" />
-
-<node name="AutoLispStdlibQuestionnaire"><label>AutoLispStdlibQuestionnaire</label><dataref><ref xlink:href="http://reini/wiki/sidebar/AutoLispStdlibQuestionnaire"/></dataref></node>
-
-<node name="StabiLity"><label>StabiLity</label><dataref><ref xlink:href="http://reini/wiki/sidebar/StabiLity"/></dataref></node>
-<edge source="StabiLity" target="CategoryStdlib" />
-<edge source="StabiLity" target="AutoLispStdlib" />
-<edge source="StabiLity" target="StabiLity" />
-<edge source="StabiLity" target="CompatibiLity" />
-<edge source="StabiLity" target="PerFormance" />
-<edge source="StabiLity" target="ReadAbility" />
-<edge source="StabiLity" target="ExtendabiLity" />
-<edge source="StabiLity" target="ADS" />
-<edge source="StabiLity" target="LocalizationIssues" />
-<edge source="StabiLity" target="StackOverflow" />
-<edge source="StabiLity" target="IterAtion" />
-
-<node name="PerFormance"><label>PerFormance</label><dataref><ref xlink:href="http://reini/wiki/sidebar/PerFormance"/></dataref></node>
-<edge source="PerFormance" target="AutoLispStdlib" />
-<edge source="PerFormance" target="ReadAbility" />
-
-<node name="CompatibiLity"><label>CompatibiLity</label><dataref><ref xlink:href="http://reini/wiki/sidebar/CompatibiLity"/></dataref></node>
-<edge source="CompatibiLity" target="AutoLispStdlib" />
-
-<node name="ExtendabiLity"><label>ExtendabiLity</label><dataref><ref xlink:href="http://reini/wiki/sidebar/ExtendabiLity"/></dataref></node>
-<edge source="ExtendabiLity" target="CategoryStdlib" />
-<edge source="ExtendabiLity" target="AutoLispStdlib" />
-<edge source="ExtendabiLity" target="PerFormance" />
-<edge source="ExtendabiLity" target="ExtensioNs" />
-<edge source="ExtendabiLity" target="ExtendabiLity" />
-
-<node name="AutoLispStdlibModules"><label>AutoLispStdlibModules</label><dataref><ref xlink:href="http://reini/wiki/sidebar/AutoLispStdlibModules"/></dataref></node>
-<edge source="AutoLispStdlibModules" target="AutoLispStdlibProjects" />
-<edge source="AutoLispStdlibModules" target="CategoryStdlib" />
-<edge source="AutoLispStdlibModules" target="CategoryDevelopmentInAutoLisp" />
-
-<node name="AutoLispStdlibProjects"><label>AutoLispStdlibProjects</label><dataref><ref xlink:href="http://reini/wiki/sidebar/AutoLispStdlibProjects"/></dataref></node>
-<edge source="AutoLispStdlibProjects" target="STDINIT2" />
-<edge source="AutoLispStdlibProjects" target="STDMATH" />
-<edge source="AutoLispStdlibProjects" target="STDLOCAL" />
-<edge source="AutoLispStdlibProjects" target="STDMISC" />
-
-<node name="MemoiZation"><label>MemoiZation</label><dataref><ref xlink:href="http://reini/wiki/sidebar/MemoiZation"/></dataref></node>
-<edge source="MemoiZation" target="STDINIT" />
-<edge source="MemoiZation" target="CategoryStdlib" />
-<edge source="MemoiZation" target="CategoryDevelopmentInAutoLisp" />
-
-<node name="LocalizationIssues"><label>LocalizationIssues</label><dataref><ref xlink:href="http://reini/wiki/sidebar/LocalizationIssues"/></dataref></node>
-<edge source="LocalizationIssues" target="STDERROR" />
-<edge source="LocalizationIssues" target="STDTIME" />
-<edge source="LocalizationIssues" target="STDLOCAL" />
-<edge source="LocalizationIssues" target="CategoryStdlib" />
-<edge source="LocalizationIssues" target="CategoryDevelopmentInAutoLisp" />
-
-<node name="PortAbility"><label>PortAbility</label><dataref><ref xlink:href="http://reini/wiki/sidebar/PortAbility"/></dataref></node>
-<edge source="PortAbility" target="STDINIT" />
-<edge source="PortAbility" target="CategoryStdlib" />
-<edge source="PortAbility" target="CategoryDevelopmentInAutoLisp" />
-
-<node name="AutoLispStdlibExtensions"><label>AutoLispStdlibExtensions</label><dataref><ref xlink:href="http://reini/wiki/sidebar/AutoLispStdlibExtensions"/></dataref></node>
-<edge source="AutoLispStdlibExtensions" target="AutoLispStdlib" />
-<edge source="AutoLispStdlibExtensions" target="ENTMAKE" />
-<edge source="AutoLispStdlibExtensions" target="DICT" />
-<edge source="AutoLispStdlibExtensions" target="DCL" />
-<edge source="AutoLispStdlibExtensions" target="CategoryStdlib" />
-<edge source="AutoLispStdlibExtensions" target="CategoryDevelopment" />
-
-<node name="STDLIST"><label>STDLIST</label><dataref><ref xlink:href="http://reini/wiki/sidebar/STDLIST"/></dataref></node>
-<edge source="STDLIST" target="AutoLispStdlib" />
-<edge source="STDLIST" target="STDSTR" />
-<edge source="STDLIST" target="STDLISP" />
-<edge source="STDLIST" target="STDPOINT" />
-<edge source="STDLIST" target="CategoryStdlibModule" />
-
-<node name="STDSTR"><label>STDSTR</label><dataref><ref xlink:href="http://reini/wiki/sidebar/STDSTR"/></dataref></node>
-<edge source="STDSTR" target="AutoLispStdlib" />
-<edge source="STDSTR" target="STDMODUL" />
-<edge source="STDSTR" target="STDLIST" />
-<edge source="STDSTR" target="CategoryStdlibModule" />
-
-<node name="STDFILE"><label>STDFILE</label><dataref><ref xlink:href="http://reini/wiki/sidebar/STDFILE"/></dataref></node>
-<edge source="STDFILE" target="AutoLispStdlib" />
-<edge source="STDFILE" target="STDLISP" />
-<edge source="STDFILE" target="STDINIT2" />
-<edge source="STDFILE" target="CategoryStdlibModule" />
-
-<node name="STDMATH"><label>STDMATH</label><dataref><ref xlink:href="http://reini/wiki/sidebar/STDMATH"/></dataref></node>
-<edge source="STDMATH" target="AutoLispStdlib" />
-<edge source="STDMATH" target="STDINIT2" />
-<edge source="STDMATH" target="STDPOINT" />
-<edge source="STDMATH" target="CategoryStdlibModule" />
-
-<node name="STDLISP"><label>STDLISP</label><dataref><ref xlink:href="http://reini/wiki/sidebar/STDLISP"/></dataref></node>
-<edge source="STDLISP" target="AutoLispStdlib" />
-<edge source="STDLISP" target="STDLIST" />
-<edge source="STDLISP" target="STDFILE" />
-<edge source="STDLISP" target="CategoryStdlibModule" />
-
-<node name="STDPOINT"><label>STDPOINT</label><dataref><ref xlink:href="http://reini/wiki/sidebar/STDPOINT"/></dataref></node>
-<edge source="STDPOINT" target="AutoLispStdlib" />
-<edge source="STDPOINT" target="STDMATH" />
-<edge source="STDPOINT" target="STDTIME" />
-<edge source="STDPOINT" target="STDLIST" />
-<edge source="STDPOINT" target="STDENT" />
-<edge source="STDPOINT" target="CategoryStdlibModule" />
-
-<node name="STDTBL"><label>STDTBL</label><dataref><ref xlink:href="http://reini/wiki/sidebar/STDTBL"/></dataref></node>
-<edge source="STDTBL" target="AutoLispStdlib" />
-<edge source="STDTBL" target="STDENT" />
-<edge source="STDTBL" target="STDMISC" />
-<edge source="STDTBL" target="STDINPUT" />
-<edge source="STDTBL" target="CategoryStdlibModule" />
-
-<node name="STDMISC"><label>STDMISC</label><dataref><ref xlink:href="http://reini/wiki/sidebar/STDMISC"/></dataref></node>
-<edge source="STDMISC" target="AutoLispStdlib" />
-<edge source="STDMISC" target="STDTBL" />
-<edge source="STDMISC" target="STDERROR" />
-<edge source="STDMISC" target="CategoryStdlibModule" />
-
-<node name="STDINIT"><label>STDINIT</label><dataref><ref xlink:href="http://reini/wiki/sidebar/STDINIT"/></dataref></node>
-<edge source="STDINIT" target="AutoLispStdlib" />
-<edge source="STDINIT" target="STDMODUL" />
-<edge source="STDINIT" target="CategoryStdlibModule" />
-
-<node name="STDERROR"><label>STDERROR</label><dataref><ref xlink:href="http://reini/wiki/sidebar/STDERROR"/></dataref></node>
-<edge source="STDERROR" target="AutoLispStdlib" />
-<edge source="STDERROR" target="STDMISC" />
-<edge source="STDERROR" target="ENTMAKE" />
-<edge source="STDERROR" target="CategoryStdlibModule" />
-
-<node name="STDTIME"><label>STDTIME</label><dataref><ref xlink:href="http://reini/wiki/sidebar/STDTIME"/></dataref></node>
-<edge source="STDTIME" target="AutoLispStdlib" />
-<edge source="STDTIME" target="STDPOINT" />
-<edge source="STDTIME" target="STDINPUT" />
-<edge source="STDTIME" target="CategoryStdlibModule" />
-
-<node name="STDINPUT"><label>STDINPUT</label><dataref><ref xlink:href="http://reini/wiki/sidebar/STDINPUT"/></dataref></node>
-<edge source="STDINPUT" target="AutoLispStdlib" />
-<edge source="STDINPUT" target="STDTIME" />
-<edge source="STDINPUT" target="STDENT" />
-<edge source="STDINPUT" target="CategoryStdlibModule" />
-
-<node name="STDLOCAL"><label>STDLOCAL</label><dataref><ref xlink:href="http://reini/wiki/sidebar/STDLOCAL"/></dataref></node>
-<edge source="STDLOCAL" target="AutoLispStdlib" />
-<edge source="STDLOCAL" target="STDERROR" />
-<edge source="STDLOCAL" target="ENTMAKE" />
-<edge source="STDLOCAL" target="CategoryStdlibModule" />
-
-<node name="ENTMAKE"><label>ENTMAKE</label><dataref><ref xlink:href="http://reini/wiki/sidebar/ENTMAKE"/></dataref></node>
-<edge source="ENTMAKE" target="AutoLispStdlib" />
-<edge source="ENTMAKE" target="STDLOCAL" />
-<edge source="ENTMAKE" target="DICT" />
-<edge source="ENTMAKE" target="CategoryStdlibModule" />
-
-<node name="DICT"><label>DICT</label><dataref><ref xlink:href="http://reini/wiki/sidebar/DICT"/></dataref></node>
-<edge source="DICT" target="AutoLispStdlib" />
-<edge source="DICT" target="ENTMAKE" />
-<edge source="DICT" target="CategoryStdlibModule" />
-
-<node name="CategoryStdlibModule"><label>CategoryStdlibModule</label><dataref><ref xlink:href="http://reini/wiki/sidebar/CategoryStdlibModule"/></dataref></node>
-<edge source="CategoryStdlibModule" target="AutoLispStdlib" />
-<edge source="CategoryStdlibModule" target="CategoryStdlib" />
-<edge source="CategoryStdlibModule" target="CategoryStdlibFunction" />
-<edge source="CategoryStdlibModule" target="CategoryStdlibModule" />
-<edge source="CategoryStdlibModule" target="CategoryStdlibExample" />
-<edge source="CategoryStdlibModule" target="CategoryCategory" />
-
-<node name="CategoryStdlibFunction"><label>CategoryStdlibFunction</label><dataref><ref xlink:href="http://reini/wiki/sidebar/CategoryStdlibFunction"/></dataref></node>
-<edge source="CategoryStdlibFunction" target="AutoLispStdlib" />
-<edge source="CategoryStdlibFunction" target="CategoryStdlib" />
-<edge source="CategoryStdlibFunction" target="CategoryStdlibFunction" />
-<edge source="CategoryStdlibFunction" target="CategoryStdlibModule" />
-<edge source="CategoryStdlibFunction" target="CategoryStdlibExample" />
-<edge source="CategoryStdlibFunction" target="CategoryCategory" />
-
-<node name="CategoryStdlibExample"><label>CategoryStdlibExample</label><dataref><ref xlink:href="http://reini/wiki/sidebar/CategoryStdlibExample"/></dataref></node>
-<edge source="CategoryStdlibExample" target="AutoLispStdlib" />
-<edge source="CategoryStdlibExample" target="CategoryStdlib" />
-<edge source="CategoryStdlibExample" target="CategoryStdlibFunction" />
-<edge source="CategoryStdlibExample" target="CategoryStdlibModule" />
-<edge source="CategoryStdlibExample" target="CategoryStdlibExample" />
-<edge source="CategoryStdlibExample" target="CategoryCategory" />
-
-<node name="CategoryDevelopment"><label>CategoryDevelopment</label><dataref><ref xlink:href="http://reini/wiki/sidebar/CategoryDevelopment"/></dataref></node>
-<edge source="CategoryDevelopment" target="CategoryDevelopment" />
-<edge source="CategoryDevelopment" target="CategoryDevelopmentInAutoLisp" />
-<edge source="CategoryDevelopment" target="CategoryDevelopmentInVisualBasic" />
-<edge source="CategoryDevelopment" target="CategoryDevelopmentInC" />
-<edge source="CategoryDevelopment" target="CategoryDevelopmentInCpp" />
-<edge source="CategoryDevelopment" target="CategoryDevelopmentInLisp" />
-<edge source="CategoryDevelopment" target="CategoryDevelopmentInPerl" />
-<edge source="CategoryDevelopment" target="CategoryCategory" />
-
-<node name="STDINIT2"><label>STDINIT2</label><dataref><ref xlink:href="http://reini/wiki/sidebar/STDINIT2"/></dataref></node>
-<edge source="STDINIT2" target="AutoLispStdlib" />
-<edge source="STDINIT2" target="STDFILE" />
-<edge source="STDINIT2" target="STDMATH" />
-<edge source="STDINIT2" target="CategoryStdlib" />
-
-<node name="HtmlHelp"><label>HtmlHelp</label><dataref><ref xlink:href="http://reini/wiki/sidebar/HtmlHelp"/></dataref></node>
-<edge source="HtmlHelp" target="HtmlHelp" />
-<edge source="HtmlHelp" target="WinHelp" />
-
-<node name="AutoLispTutorials"><label>AutoLispTutorials</label><dataref><ref xlink:href="http://reini/wiki/sidebar/AutoLispTutorials"/></dataref></node>
-<edge source="AutoLispTutorials" target="AutoLispFaq" />
-<edge source="AutoLispTutorials" target="BestAutoLispBooks" />
-<edge source="AutoLispTutorials" target="AutoLisp" />
-<edge source="AutoLispTutorials" target="AutodeskSdk" />
-<edge source="AutoLispTutorials" target="OtherTutorials" />
-
-<node name="OtherTutorials"><label>OtherTutorials</label><dataref><ref xlink:href="http://reini/wiki/sidebar/OtherTutorials"/></dataref></node>
-<edge source="OtherTutorials" target="VisualBasic" />
-
-<node name="AutomaticPurge"><label>AutomaticPurge</label><dataref><ref xlink:href="http://reini/wiki/sidebar/AutomaticPurge"/></dataref></node>
-<edge source="AutomaticPurge" target="UnlimitedNumberOfUserPrompts" />
-<edge source="AutomaticPurge" target="TableData" />
-
-<node name="TableData"><label>TableData</label><dataref><ref xlink:href="http://reini/wiki/sidebar/TableData"/></dataref></node>
-<edge source="TableData" target="TableData" />
-<edge source="TableData" target="ExtendedEntityData" />
-<edge source="TableData" target="AutomaticPurge" />
-
-<node name="BabelFishx2e.html"><label>BabelFish.html</label><dataref><ref xlink:href="http://reini/wiki/sidebar/BabelFish.html"/></dataref></node>
-
-<node name="BadSoftware"><label>BadSoftware</label><dataref><ref xlink:href="http://reini/wiki/sidebar/BadSoftware"/></dataref></node>
-<edge source="BadSoftware" target="CategoryPattern" />
-
-<node name="BasisSoftware"><label>BasisSoftware</label><dataref><ref xlink:href="http://reini/wiki/sidebar/BasisSoftware"/></dataref></node>
-<edge source="BasisSoftware" target="ACOMP" />
-<edge source="BasisSoftware" target="AutoLisp" />
-<edge source="BasisSoftware" target="VitalLisp" />
-<edge source="BasisSoftware" target="VisualLisp" />
-
-<node name="StructureAndInterpretationOfComputerPrograms"><label>StructureAndInterpretationOfComputerPrograms</label><dataref><ref xlink:href="http://reini/wiki/sidebar/StructureAndInterpretationOfComputerPrograms"/></dataref></node>
-<edge source="StructureAndInterpretationOfComputerPrograms" target="NewsGroup" />
-
-<node name="NewsGroups"><label>NewsGroups</label><dataref><ref xlink:href="http://reini/wiki/sidebar/NewsGroups"/></dataref></node>
-<edge source="NewsGroups" target="NewsGroups" />
-<edge source="NewsGroups" target="NewsgroupArchives" />
-
-<node name="BestThingsInLifeAreFree"><label>BestThingsInLifeAreFree</label><dataref><ref xlink:href="http://reini/wiki/sidebar/BestThingsInLifeAreFree"/></dataref></node>
-
-<node name="BezierForms"><label>BezierForms</label><dataref><ref xlink:href="http://reini/wiki/sidebar/BezierForms"/></dataref></node>
-<edge source="BezierForms" target="CategoryAlgorithms" />
-
-<node name="BumpMapping"><label>BumpMapping</label><dataref><ref xlink:href="http://reini/wiki/sidebar/BumpMapping"/></dataref></node>
-<edge source="BumpMapping" target="DisplacementMapping" />
-<edge source="BumpMapping" target="CategoryAlgorithms" />
-
-<node name="DisplacementMapping"><label>DisplacementMapping</label><dataref><ref xlink:href="http://reini/wiki/sidebar/DisplacementMapping"/></dataref></node>
-<edge source="DisplacementMapping" target="BumpMapping" />
-<edge source="DisplacementMapping" target="CategoryAlgorithms" />
-
-<node name="DotCom"><label>DotCom</label><dataref><ref xlink:href="http://reini/wiki/sidebar/DotCom"/></dataref></node>
-<edge source="DotCom" target="UpFront" />
-
-<node name="RedSpark"><label>RedSpark</label><dataref><ref xlink:href="http://reini/wiki/sidebar/RedSpark"/></dataref></node>
-<edge source="RedSpark" target="DotCom" />
-
-<node name="PointA"><label>PointA</label><dataref><ref xlink:href="http://reini/wiki/sidebar/PointA"/></dataref></node>
-<edge source="PointA" target="DotCom" />
-
-<node name="CAM"><label>CAM</label><dataref><ref xlink:href="http://reini/wiki/sidebar/CAM"/></dataref></node>
-<edge source="CAM" target="EncyclopaediaBritannica" />
-<edge source="CAM" target="CAD" />
-<edge source="CAM" target="CIM" />
-
-<node name="CadNewsLetters"><label>CadNewsLetters</label><dataref><ref xlink:href="http://reini/wiki/sidebar/CadNewsLetters"/></dataref></node>
-<edge source="CadNewsLetters" target="NewsLetter" />
-<edge source="CadNewsLetters" target="CAD" />
-<edge source="CadNewsLetters" target="AutoCad" />
-<edge source="CadNewsLetters" target="UpFront" />
-<edge source="CadNewsLetters" target="TenLinks" />
-
-<node name="NewsLetter"><label>NewsLetter</label><dataref><ref xlink:href="http://reini/wiki/sidebar/NewsLetter"/></dataref></node>
-<edge source="NewsLetter" target="EncyclopaediaBritannica" />
-<edge source="NewsLetter" target="CadNewsLetters" />
-
-<node name="UpFront"><label>UpFront</label><dataref><ref xlink:href="http://reini/wiki/sidebar/UpFront"/></dataref></node>
-<edge source="UpFront" target="CadNewsLetters" />
-<edge source="UpFront" target="TenLinks" />
-
-<node name="TenLinks"><label>TenLinks</label><dataref><ref xlink:href="http://reini/wiki/sidebar/TenLinks"/></dataref></node>
-
-<node name="EncyclopaediaBritannica"><label>EncyclopaediaBritannica</label><dataref><ref xlink:href="http://reini/wiki/sidebar/EncyclopaediaBritannica"/></dataref></node>
-<edge source="EncyclopaediaBritannica" target="InterWiki" />
-<edge source="EncyclopaediaBritannica" target="MagicPhpWikiURLs" />
-
-<node name="CIM"><label>CIM</label><dataref><ref xlink:href="http://reini/wiki/sidebar/CIM"/></dataref></node>
-<edge source="CIM" target="CAD" />
-<edge source="CIM" target="CAM" />
-
-<node name="RunTimeSystem"><label>RunTimeSystem</label><dataref><ref xlink:href="http://reini/wiki/sidebar/RunTimeSystem"/></dataref></node>
-<edge source="RunTimeSystem" target="VisualBasic" />
-<edge source="RunTimeSystem" target="VisualLisp" />
-
-<node name="CascadingStyleSheets"><label>CascadingStyleSheets</label><dataref><ref xlink:href="http://reini/wiki/sidebar/CascadingStyleSheets"/></dataref></node>
-
-<node name="CategoryCustomization"><label>CategoryCustomization</label><dataref><ref xlink:href="http://reini/wiki/sidebar/CategoryCustomization"/></dataref></node>
-<edge source="CategoryCustomization" target="AutoCad" />
-<edge source="CategoryCustomization" target="CategoryCategory" />
-
-<node name="CategoryDevelopmentInVisualBasic"><label>CategoryDevelopmentInVisualBasic</label><dataref><ref xlink:href="http://reini/wiki/sidebar/CategoryDevelopmentInVisualBasic"/></dataref></node>
-<edge source="CategoryDevelopmentInVisualBasic" target="VisualBasic" />
-<edge source="CategoryDevelopmentInVisualBasic" target="CategoryDevelopment" />
-<edge source="CategoryDevelopmentInVisualBasic" target="CategoryDevelopmentInAutoLisp" />
-<edge source="CategoryDevelopmentInVisualBasic" target="CategoryDevelopmentInVisualBasic" />
-<edge source="CategoryDevelopmentInVisualBasic" target="CategoryDevelopmentInC" />
-<edge source="CategoryDevelopmentInVisualBasic" target="CategoryDevelopmentInCpp" />
-<edge source="CategoryDevelopmentInVisualBasic" target="CategoryDevelopmentInLisp" />
-<edge source="CategoryDevelopmentInVisualBasic" target="CategoryDevelopmentInPerl" />
-<edge source="CategoryDevelopmentInVisualBasic" target="CategoryCategory" />
-
-<node name="CategoryDevelopmentInC"><label>CategoryDevelopmentInC</label><dataref><ref xlink:href="http://reini/wiki/sidebar/CategoryDevelopmentInC"/></dataref></node>
-<edge source="CategoryDevelopmentInC" target="CategoryDevelopment" />
-<edge source="CategoryDevelopmentInC" target="CategoryDevelopmentInAutoLisp" />
-<edge source="CategoryDevelopmentInC" target="CategoryDevelopmentInVisualBasic" />
-<edge source="CategoryDevelopmentInC" target="CategoryDevelopmentInC" />
-<edge source="CategoryDevelopmentInC" target="CategoryDevelopmentInCpp" />
-<edge source="CategoryDevelopmentInC" target="CategoryDevelopmentInLisp" />
-<edge source="CategoryDevelopmentInC" target="CategoryDevelopmentInPerl" />
-<edge source="CategoryDevelopmentInC" target="CategoryCategory" />
-
-<node name="CategoryDevelopmentInCpp"><label>CategoryDevelopmentInCpp</label><dataref><ref xlink:href="http://reini/wiki/sidebar/CategoryDevelopmentInCpp"/></dataref></node>
-<edge source="CategoryDevelopmentInCpp" target="CategoryDevelopment" />
-<edge source="CategoryDevelopmentInCpp" target="CategoryDevelopmentInAutoLisp" />
-<edge source="CategoryDevelopmentInCpp" target="CategoryDevelopmentInVisualBasic" />
-<edge source="CategoryDevelopmentInCpp" target="CategoryDevelopmentInC" />
-<edge source="CategoryDevelopmentInCpp" target="CategoryDevelopmentInCpp" />
-<edge source="CategoryDevelopmentInCpp" target="CategoryDevelopmentInLisp" />
-<edge source="CategoryDevelopmentInCpp" target="CategoryDevelopmentInPerl" />
-<edge source="CategoryDevelopmentInCpp" target="CategoryCategory" />
-
-<node name="CategoryDevelopmentInLisp"><label>CategoryDevelopmentInLisp</label><dataref><ref xlink:href="http://reini/wiki/sidebar/CategoryDevelopmentInLisp"/></dataref></node>
-<edge source="CategoryDevelopmentInLisp" target="CommonLisp" />
-<edge source="CategoryDevelopmentInLisp" target="scheme" />
-<edge source="CategoryDevelopmentInLisp" target="CategoryDevelopment" />
-<edge source="CategoryDevelopmentInLisp" target="CategoryDevelopmentInAutoLisp" />
-<edge source="CategoryDevelopmentInLisp" target="CategoryDevelopmentInVisualBasic" />
-<edge source="CategoryDevelopmentInLisp" target="CategoryDevelopmentInC" />
-<edge source="CategoryDevelopmentInLisp" target="CategoryDevelopmentInCpp" />
-<edge source="CategoryDevelopmentInLisp" target="CategoryDevelopmentInLisp" />
-<edge source="CategoryDevelopmentInLisp" target="CategoryDevelopmentInPerl" />
-<edge source="CategoryDevelopmentInLisp" target="CategoryCategory" />
-
-<node name="CategoryDevelopmentInPerl"><label>CategoryDevelopmentInPerl</label><dataref><ref xlink:href="http://reini/wiki/sidebar/CategoryDevelopmentInPerl"/></dataref></node>
-<edge source="CategoryDevelopmentInPerl" target="CategoryDevelopment" />
-<edge source="CategoryDevelopmentInPerl" target="CategoryDevelopmentInAutoLisp" />
-<edge source="CategoryDevelopmentInPerl" target="CategoryDevelopmentInVisualBasic" />
-<edge source="CategoryDevelopmentInPerl" target="CategoryDevelopmentInC" />
-<edge source="CategoryDevelopmentInPerl" target="CategoryDevelopmentInCpp" />
-<edge source="CategoryDevelopmentInPerl" target="CategoryDevelopmentInLisp" />
-<edge source="CategoryDevelopmentInPerl" target="CategoryDevelopmentInPerl" />
-<edge source="CategoryDevelopmentInPerl" target="CategoryCategory" />
-
-<node name="CategoryPerson"><label>CategoryPerson</label><dataref><ref xlink:href="http://reini/wiki/sidebar/CategoryPerson"/></dataref></node>
-<edge source="CategoryPerson" target="CategoryCategory" />
-
-<node name="ChangeLog"><label>ChangeLog</label><dataref><ref xlink:href="http://reini/wiki/sidebar/ChangeLog"/></dataref></node>
-<edge source="ChangeLog" target="WikiToDo" />
-<edge source="ChangeLog" target="AcadWiki" />
-<edge source="ChangeLog" target="PhpWiki" />
-<edge source="ChangeLog" target="WantedPages" />
-<edge source="ChangeLog" target="OrphanedPages" />
-<edge source="ChangeLog" target="FrontPage" />
-<edge source="ChangeLog" target="RecentChanges" />
-<edge source="ChangeLog" target="RandomPage" />
-<edge source="ChangeLog" target="UserPreferences" />
-<edge source="ChangeLog" target="MagicPhpWikiURLs" />
-<edge source="ChangeLog" target="TestImageLinks" />
-<edge source="ChangeLog" target="FindPage" />
-<edge source="ChangeLog" target="CategoryWikiDevelopment" />
-
-<node name="WikiToDo"><label>WikiToDo</label><dataref><ref xlink:href="http://reini/wiki/sidebar/WikiToDo"/></dataref></node>
-<edge source="WikiToDo" target="PhpWiki" />
-<edge source="WikiToDo" target="AcadWiki" />
-<edge source="WikiToDo" target="ChangeLog" />
-<edge source="WikiToDo" target="ReiniUrban" />
-<edge source="WikiToDo" target="InterWiki" />
-<edge source="WikiToDo" target="MagicPhpWikiURLs" />
-<edge source="WikiToDo" target="UserPreferences" />
-<edge source="WikiToDo" target="RecentChanges" />
-<edge source="WikiToDo" target="CategoryWikiDevelopment" />
-
-<node name="TestImageLinks"><label>TestImageLinks</label><dataref><ref xlink:href="http://reini/wiki/sidebar/TestImageLinks"/></dataref></node>
-<edge source="TestImageLinks" target="TestPage" />
-
-<node name="CircleScanConversion"><label>CircleScanConversion</label><dataref><ref xlink:href="http://reini/wiki/sidebar/CircleScanConversion"/></dataref></node>
-<edge source="CircleScanConversion" target="CategoryAlgorithms" />
-
-<node name="ClosedGUI"><label>ClosedGUI</label><dataref><ref xlink:href="http://reini/wiki/sidebar/ClosedGUI"/></dataref></node>
-<edge source="ClosedGUI" target="CustomizationFriendly" />
-<edge source="ClosedGUI" target="ClosedGUI" />
-<edge source="ClosedGUI" target="AutoDesk" />
-<edge source="ClosedGUI" target="DialogControlLanguage" />
-
-<node name="CustomizationFriendly"><label>CustomizationFriendly</label><dataref><ref xlink:href="http://reini/wiki/sidebar/CustomizationFriendly"/></dataref></node>
-<edge source="CustomizationFriendly" target="TypicalProblem" />
-<edge source="CustomizationFriendly" target="WhereIsThisKeyOnThisShxx" />
-<edge source="CustomizationFriendly" target="AutoCad" />
-<edge source="CustomizationFriendly" target="CustomizationFriendly" />
-<edge source="CustomizationFriendly" target="Emacs" />
-<edge source="CustomizationFriendly" target="ClosedGUI" />
-<edge source="CustomizationFriendly" target="CategoryPattern" />
-<edge source="CustomizationFriendly" target="CategoryCustomization" />
-
-<node name="ForeignFunctionInterface"><label>ForeignFunctionInterface</label><dataref><ref xlink:href="http://reini/wiki/sidebar/ForeignFunctionInterface"/></dataref></node>
-<edge source="ForeignFunctionInterface" target="KissStyle" />
-<edge source="ForeignFunctionInterface" target="DoTheRightThing" />
-
-<node name="CompileMenuBitmapDLL"><label>CompileMenuBitmapDLL</label><dataref><ref xlink:href="http://reini/wiki/sidebar/CompileMenuBitmapDLL"/></dataref></node>
-<edge source="CompileMenuBitmapDLL" target="Emacs" />
-
-<node name="ComputationalGeometry"><label>ComputationalGeometry</label><dataref><ref xlink:href="http://reini/wiki/sidebar/ComputationalGeometry"/></dataref></node>
-<edge source="ComputationalGeometry" target="ToDo" />
-<edge source="ComputationalGeometry" target="CategoryAlgorithms" />
-
-<node name="ConstructiveSolidGeometry"><label>ConstructiveSolidGeometry</label><dataref><ref xlink:href="http://reini/wiki/sidebar/ConstructiveSolidGeometry"/></dataref></node>
-<edge source="ConstructiveSolidGeometry" target="CategoryAlgorithms" />
-
-<node name="ConversionToIterative"><label>ConversionToIterative</label><dataref><ref xlink:href="http://reini/wiki/sidebar/ConversionToIterative"/></dataref></node>
-<edge source="ConversionToIterative" target="VitalLisp" />
-<edge source="ConversionToIterative" target="VisualLisp" />
-<edge source="ConversionToIterative" target="AutoLispStdlib" />
-
-<node name="ProtectedLisp"><label>ProtectedLisp</label><dataref><ref xlink:href="http://reini/wiki/sidebar/ProtectedLisp"/></dataref></node>
-<edge source="ProtectedLisp" target="AutoLisp" />
-<edge source="ProtectedLisp" target="Protect" />
-<edge source="ProtectedLisp" target="Convert" />
-<edge source="ProtectedLisp" target="AutoLispFaq" />
-<edge source="ProtectedLisp" target="ProtectAutoLisp" />
-<edge source="ProtectedLisp" target="SoftwareProtection" />
-<edge source="ProtectedLisp" target="CategoryDevelopmentInAutoLisp" />
-
-<node name="SoftwareProtection"><label>SoftwareProtection</label><dataref><ref xlink:href="http://reini/wiki/sidebar/SoftwareProtection"/></dataref></node>
-<edge source="SoftwareProtection" target="EducationalSoftwareProtection" />
-<edge source="SoftwareProtection" target="LegalSoftwareProtection" />
-<edge source="SoftwareProtection" target="TechnicalSoftwareProtection" />
-<edge source="SoftwareProtection" target="IntellectualProperty" />
-<edge source="SoftwareProtection" target="CategoryDevelopment" />
-
-<node name="CurvedSurfaces"><label>CurvedSurfaces</label><dataref><ref xlink:href="http://reini/wiki/sidebar/CurvedSurfaces"/></dataref></node>
-<edge source="CurvedSurfaces" target="CategoryAlgorithms" />
-
-<node name="CurveFitting"><label>CurveFitting</label><dataref><ref xlink:href="http://reini/wiki/sidebar/CurveFitting"/></dataref></node>
-<edge source="CurveFitting" target="CategoryAlgorithms" />
-
-<node name="WhereIsThisKeyOnThisShxx"><label>WhereIsThisKeyOnThisShxx</label><dataref><ref xlink:href="http://reini/wiki/sidebar/WhereIsThisKeyOnThisShxx"/></dataref></node>
-<edge source="WhereIsThisKeyOnThisShxx" target="TypicalProblem" />
-<edge source="WhereIsThisKeyOnThisShxx" target="CustomizationFriendly" />
-<edge source="WhereIsThisKeyOnThisShxx" target="WhereIsThisKeyOnThisShxx" />
-
-<node name="CustomizationTips"><label>CustomizationTips</label><dataref><ref xlink:href="http://reini/wiki/sidebar/CustomizationTips"/></dataref></node>
-<edge source="CustomizationTips" target="CustomizationFriendly" />
-<edge source="CustomizationTips" target="CompileMenuBitmapDLL" />
-<edge source="CustomizationTips" target="AutomaticPurge" />
-<edge source="CustomizationTips" target="RasterToVector" />
-<edge source="CustomizationTips" target="PolylineReduction" />
-
-<node name="RasterToVector"><label>RasterToVector</label><dataref><ref xlink:href="http://reini/wiki/sidebar/RasterToVector"/></dataref></node>
-<edge source="RasterToVector" target="AutodeskCADOverlay" />
-
-<node name="PolylineReduction"><label>PolylineReduction</label><dataref><ref xlink:href="http://reini/wiki/sidebar/PolylineReduction"/></dataref></node>
-<edge source="PolylineReduction" target="CategoryCustomization" />
-<edge source="PolylineReduction" target="MeshSmoothing" />
-<edge source="PolylineReduction" target="SurfaceFitting" />
-
-<node name="ProteusEngine"><label>ProteusEngine</label><dataref><ref xlink:href="http://reini/wiki/sidebar/ProteusEngine"/></dataref></node>
-<edge source="ProteusEngine" target="DialogControlLanguage" />
-
-<node name="DelaunayTetrahedralisation"><label>DelaunayTetrahedralisation</label><dataref><ref xlink:href="http://reini/wiki/sidebar/DelaunayTetrahedralisation"/></dataref></node>
-<edge source="DelaunayTetrahedralisation" target="CategoryAlgorithms" />
-
-<node name="DelaunayTriangulation"><label>DelaunayTriangulation</label><dataref><ref xlink:href="http://reini/wiki/sidebar/DelaunayTriangulation"/></dataref></node>
-<edge source="DelaunayTriangulation" target="CategoryAlgorithms" />
-<edge source="DelaunayTriangulation" target="AutoCad" />
-
-<node name="WhyDCLisBetter"><label>WhyDCLisBetter</label><dataref><ref xlink:href="http://reini/wiki/sidebar/WhyDCLisBetter"/></dataref></node>
-<edge source="WhyDCLisBetter" target="DCL" />
-<edge source="WhyDCLisBetter" target="VendorLockin" />
-
-<node name="ObjectDCL"><label>ObjectDCL</label><dataref><ref xlink:href="http://reini/wiki/sidebar/ObjectDCL"/></dataref></node>
-<edge source="ObjectDCL" target="AutoLisp" />
-<edge source="ObjectDCL" target="ObjectARX" />
-<edge source="ObjectDCL" target="VisualBasic" />
-
-<node name="DigitalLineDrawing"><label>DigitalLineDrawing</label><dataref><ref xlink:href="http://reini/wiki/sidebar/DigitalLineDrawing"/></dataref></node>
-<edge source="DigitalLineDrawing" target="CategoryAlgorithms" />
-
-<node name="DoTheRightThing"><label>DoTheRightThing</label><dataref><ref xlink:href="http://reini/wiki/sidebar/DoTheRightThing"/></dataref></node>
-<edge source="DoTheRightThing" target="KissStyle" />
-<edge source="DoTheRightThing" target="WorseIsBetter" />
-<edge source="DoTheRightThing" target="CommonLisp" />
-<edge source="DoTheRightThing" target="scheme" />
-
-<node name="KissStyle"><label>KissStyle</label><dataref><ref xlink:href="http://reini/wiki/sidebar/KissStyle"/></dataref></node>
-<edge source="KissStyle" target="WorseIsBetter" />
-<edge source="KissStyle" target="DoTheRightThing" />
-
-<node name="WorseIsBetter"><label>WorseIsBetter</label><dataref><ref xlink:href="http://reini/wiki/sidebar/WorseIsBetter"/></dataref></node>
-<edge source="WorseIsBetter" target="DoTheRightThing" />
-<edge source="WorseIsBetter" target="KissStyle" />
-<edge source="WorseIsBetter" target="NaziInterface" />
-
-<node name="EducationalSoftwareProtection"><label>EducationalSoftwareProtection</label><dataref><ref xlink:href="http://reini/wiki/sidebar/EducationalSoftwareProtection"/></dataref></node>
-<edge source="EducationalSoftwareProtection" target="SoftwareProtection" />
-<edge source="EducationalSoftwareProtection" target="LegalSoftwareProtection" />
-<edge source="EducationalSoftwareProtection" target="CategoryDevelopment" />
-
-<node name="LegalSoftwareProtection"><label>LegalSoftwareProtection</label><dataref><ref xlink:href="http://reini/wiki/sidebar/LegalSoftwareProtection"/></dataref></node>
-<edge source="LegalSoftwareProtection" target="CategoryDevelopment" />
-
-<node name="EfficientAntialiasing"><label>EfficientAntialiasing</label><dataref><ref xlink:href="http://reini/wiki/sidebar/EfficientAntialiasing"/></dataref></node>
-<edge source="EfficientAntialiasing" target="CategoryAlgorithms" />
-
-<node name="EliminatingPixelOverdraw"><label>EliminatingPixelOverdraw</label><dataref><ref xlink:href="http://reini/wiki/sidebar/EliminatingPixelOverdraw"/></dataref></node>
-<edge source="EliminatingPixelOverdraw" target="CategoryAlgorithms" />
-
-<node name="ExtensioNs"><label>ExtensioNs</label><dataref><ref xlink:href="http://reini/wiki/sidebar/ExtensioNs"/></dataref></node>
-<edge source="ExtensioNs" target="AutoLispStdlibExtensions" />
-
-<node name="FeudalPriorityTrees"><label>FeudalPriorityTrees</label><dataref><ref xlink:href="http://reini/wiki/sidebar/FeudalPriorityTrees"/></dataref></node>
-<edge source="FeudalPriorityTrees" target="CategoryAlgorithms" />
-
-<node name="FractalImageCompression"><label>FractalImageCompression</label><dataref><ref xlink:href="http://reini/wiki/sidebar/FractalImageCompression"/></dataref></node>
-<edge source="FractalImageCompression" target="CategoryAlgorithms" />
-
-<node name="WikiWords"><label>WikiWords</label><dataref><ref xlink:href="http://reini/wiki/sidebar/WikiWords"/></dataref></node>
-<edge source="WikiWords" target="WikiWikiWeb" />
-
-<node name="GetPathnameOfVLX"><label>GetPathnameOfVLX</label><dataref><ref xlink:href="http://reini/wiki/sidebar/GetPathnameOfVLX"/></dataref></node>
-<edge source="GetPathnameOfVLX" target="VisualLisp" />
-<edge source="GetPathnameOfVLX" target="CategoryDevelopmentInAutoLisp" />
-
-<node name="HotTipHarry"><label>HotTipHarry</label><dataref><ref xlink:href="http://reini/wiki/sidebar/HotTipHarry"/></dataref></node>
-
-<node name="WinHelp"><label>WinHelp</label><dataref><ref xlink:href="http://reini/wiki/sidebar/WinHelp"/></dataref></node>
-<edge source="WinHelp" target="WinHelp" />
-<edge source="WinHelp" target="HtmlHelp" />
-
-<node name="IndexingScheme"><label>IndexingScheme</label><dataref><ref xlink:href="http://reini/wiki/sidebar/IndexingScheme"/></dataref></node>
-<edge source="IndexingScheme" target="IndexingScheme" />
-<edge source="IndexingScheme" target="AcadWiki" />
-<edge source="IndexingScheme" target="FrontPage" />
-<edge source="IndexingScheme" target="RecentChanges" />
-<edge source="IndexingScheme" target="CategoryCategory" />
-<edge source="IndexingScheme" target="AllPages" />
-<edge source="IndexingScheme" target="MostPopular" />
-<edge source="IndexingScheme" target="WantedPages" />
-<edge source="IndexingScheme" target="OrphanedPages" />
-<edge source="IndexingScheme" target="FindPage" />
-<edge source="IndexingScheme" target="RandomPage" />
-
-<node name="IntellectualProperty"><label>IntellectualProperty</label><dataref><ref xlink:href="http://reini/wiki/sidebar/IntellectualProperty"/></dataref></node>
-
-<node name="IntelliCad"><label>IntelliCad</label><dataref><ref xlink:href="http://reini/wiki/sidebar/IntelliCad"/></dataref></node>
-
-<node name="InvertibleObjectRotation"><label>InvertibleObjectRotation</label><dataref><ref xlink:href="http://reini/wiki/sidebar/InvertibleObjectRotation"/></dataref></node>
-<edge source="InvertibleObjectRotation" target="CategoryAlgorithms" />
-
-<node name="IsosurfaceGeneration"><label>IsosurfaceGeneration</label><dataref><ref xlink:href="http://reini/wiki/sidebar/IsosurfaceGeneration"/></dataref></node>
-<edge source="IsosurfaceGeneration" target="CategoryAlgorithms" />
-
-<node name="Kelvinate"><label>Kelvinate</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Kelvinate"/></dataref></node>
-<edge source="Kelvinate" target="CategoryFaq" />
-<edge source="Kelvinate" target="AutoLispFaq" />
-<edge source="Kelvinate" target="ProtectAutoLisp" />
-<edge source="Kelvinate" target="Protect" />
-<edge source="Kelvinate" target="AutodeskSdk" />
-<edge source="Kelvinate" target="WhereCanIfind" />
-<edge source="Kelvinate" target="PrettyPrinters" />
-<edge source="Kelvinate" target="JohnWalker" />
-<edge source="Kelvinate" target="ObfuscAtor" />
-<edge source="Kelvinate" target="ProtectionByObfuscation" />
-
-<node name="Protect"><label>Protect</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Protect"/></dataref></node>
-<edge source="Protect" target="CategoryFaq" />
-<edge source="Protect" target="AutoLispFaq" />
-<edge source="Protect" target="Kelvinate" />
-<edge source="Protect" target="KelvinateAndProtect" />
-<edge source="Protect" target="ProtectAutoLisp" />
-<edge source="Protect" target="AutodeskSdk" />
-<edge source="Protect" target="WhereCanIfind" />
-<edge source="Protect" target="CategoryDevelopmentInAutoLisp" />
-<edge source="Protect" target="SoftwareProtection" />
-
-<node name="ObfuscAtor"><label>ObfuscAtor</label><dataref><ref xlink:href="http://reini/wiki/sidebar/ObfuscAtor"/></dataref></node>
-<edge source="ObfuscAtor" target="SoftwareProtection" />
-<edge source="ObfuscAtor" target="ProtectionByObfuscation" />
-
-<node name="ProtectionByObfuscation"><label>ProtectionByObfuscation</label><dataref><ref xlink:href="http://reini/wiki/sidebar/ProtectionByObfuscation"/></dataref></node>
-<edge source="ProtectionByObfuscation" target="SoftwareProtection" />
-<edge source="ProtectionByObfuscation" target="AntiPattern" />
-
-<node name="KindaOverkill"><label>KindaOverkill</label><dataref><ref xlink:href="http://reini/wiki/sidebar/KindaOverkill"/></dataref></node>
-<edge source="KindaOverkill" target="ForeignFunctionInterface" />
-<edge source="KindaOverkill" target="KissStyle" />
-<edge source="KindaOverkill" target="DoTheRightThing" />
-<edge source="KindaOverkill" target="WorseIsBetter" />
-
-<node name="LargeFootprint"><label>LargeFootprint</label><dataref><ref xlink:href="http://reini/wiki/sidebar/LargeFootprint"/></dataref></node>
-
-<node name="LevelOfDetail"><label>LevelOfDetail</label><dataref><ref xlink:href="http://reini/wiki/sidebar/LevelOfDetail"/></dataref></node>
-<edge source="LevelOfDetail" target="CategoryAlgorithms" />
-
-<node name="MeshSmoothing"><label>MeshSmoothing</label><dataref><ref xlink:href="http://reini/wiki/sidebar/MeshSmoothing"/></dataref></node>
-<edge source="MeshSmoothing" target="PolylineReduction" />
-
-<node name="MetaSearchEngine"><label>MetaSearchEngine</label><dataref><ref xlink:href="http://reini/wiki/sidebar/MetaSearchEngine"/></dataref></node>
-<edge source="MetaSearchEngine" target="MagicPhpWikiURLs" />
-
-<node name="MultipleAxisInterpolation"><label>MultipleAxisInterpolation</label><dataref><ref xlink:href="http://reini/wiki/sidebar/MultipleAxisInterpolation"/></dataref></node>
-<edge source="MultipleAxisInterpolation" target="CategoryAlgorithms" />
-
-<node name="MultiresolutionAnalysis"><label>MultiresolutionAnalysis</label><dataref><ref xlink:href="http://reini/wiki/sidebar/MultiresolutionAnalysis"/></dataref></node>
-<edge source="MultiresolutionAnalysis" target="CategoryAlgorithms" />
-
-<node name="NURBS"><label>NURBS</label><dataref><ref xlink:href="http://reini/wiki/sidebar/NURBS"/></dataref></node>
-<edge source="NURBS" target="CategoryAlgorithms" />
-
-<node name="OnlineTranslators"><label>OnlineTranslators</label><dataref><ref xlink:href="http://reini/wiki/sidebar/OnlineTranslators"/></dataref></node>
-
-<node name="OpenContentLicense"><label>OpenContentLicense</label><dataref><ref xlink:href="http://reini/wiki/sidebar/OpenContentLicense"/></dataref></node>
-<edge source="OpenContentLicense" target="AcadWiki" />
-
-<node name="OpenGLAndDirect3D"><label>OpenGLAndDirect3D</label><dataref><ref xlink:href="http://reini/wiki/sidebar/OpenGLAndDirect3D"/></dataref></node>
-<edge source="OpenGLAndDirect3D" target="CategoryAlgorithms" />
-
-<node name="OpticalEffectsWithinWater"><label>OpticalEffectsWithinWater</label><dataref><ref xlink:href="http://reini/wiki/sidebar/OpticalEffectsWithinWater"/></dataref></node>
-<edge source="OpticalEffectsWithinWater" target="CategoryAlgorithms" />
-
-<node name="OptimisingBspTreeTraversal"><label>OptimisingBspTreeTraversal</label><dataref><ref xlink:href="http://reini/wiki/sidebar/OptimisingBspTreeTraversal"/></dataref></node>
-<edge source="OptimisingBspTreeTraversal" target="CategoryAlgorithms" />
-
-<node name="ParametricLineClipping"><label>ParametricLineClipping</label><dataref><ref xlink:href="http://reini/wiki/sidebar/ParametricLineClipping"/></dataref></node>
-<edge source="ParametricLineClipping" target="CategoryAlgorithms" />
-
-<node name="PartialLocks"><label>PartialLocks</label><dataref><ref xlink:href="http://reini/wiki/sidebar/PartialLocks"/></dataref></node>
-<edge source="PartialLocks" target="ReiniUrban" />
-
-<node name="PerspectiveProjection"><label>PerspectiveProjection</label><dataref><ref xlink:href="http://reini/wiki/sidebar/PerspectiveProjection"/></dataref></node>
-<edge source="PerspectiveProjection" target="CategoryAlgorithms" />
-
-<node name="PixelOffByOneError"><label>PixelOffByOneError</label><dataref><ref xlink:href="http://reini/wiki/sidebar/PixelOffByOneError"/></dataref></node>
-
-<node name="PolygonScanConversion"><label>PolygonScanConversion</label><dataref><ref xlink:href="http://reini/wiki/sidebar/PolygonScanConversion"/></dataref></node>
-<edge source="PolygonScanConversion" target="CategoryAlgorithms" />
-
-<node name="SurfaceFitting"><label>SurfaceFitting</label><dataref><ref xlink:href="http://reini/wiki/sidebar/SurfaceFitting"/></dataref></node>
-
-<node name="PotentialVisibleSets"><label>PotentialVisibleSets</label><dataref><ref xlink:href="http://reini/wiki/sidebar/PotentialVisibleSets"/></dataref></node>
-<edge source="PotentialVisibleSets" target="CategoryAlgorithms" />
-
-<node name="ProjectiveTextureMapping"><label>ProjectiveTextureMapping</label><dataref><ref xlink:href="http://reini/wiki/sidebar/ProjectiveTextureMapping"/></dataref></node>
-<edge source="ProjectiveTextureMapping" target="CategoryAlgorithms" />
-
-<node name="QuadraturePrefiltering"><label>QuadraturePrefiltering</label><dataref><ref xlink:href="http://reini/wiki/sidebar/QuadraturePrefiltering"/></dataref></node>
-<edge source="QuadraturePrefiltering" target="CategoryAlgorithms" />
-
-<node name="Quaternions"><label>Quaternions</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Quaternions"/></dataref></node>
-<edge source="Quaternions" target="CategoryAlgorithms" />
-
-<node name="RadiosityMethods"><label>RadiosityMethods</label><dataref><ref xlink:href="http://reini/wiki/sidebar/RadiosityMethods"/></dataref></node>
-<edge source="RadiosityMethods" target="CategoryAlgorithms" />
-
-<node name="RalphGrabowski"><label>RalphGrabowski</label><dataref><ref xlink:href="http://reini/wiki/sidebar/RalphGrabowski"/></dataref></node>
-<edge source="RalphGrabowski" target="UpFront" />
-
-<node name="RegularExpressions"><label>RegularExpressions</label><dataref><ref xlink:href="http://reini/wiki/sidebar/RegularExpressions"/></dataref></node>
-<edge source="RegularExpressions" target="VisualBasic" />
-<edge source="RegularExpressions" target="ToDo" />
-
-<node name="ReinaldoTogores"><label>ReinaldoTogores</label><dataref><ref xlink:href="http://reini/wiki/sidebar/ReinaldoTogores"/></dataref></node>
-<edge source="ReinaldoTogores" target="VladimirNesterovsky" />
-<edge source="ReinaldoTogores" target="PolylineReduction" />
-
-<node name="ReinventingTheWheel"><label>ReinventingTheWheel</label><dataref><ref xlink:href="http://reini/wiki/sidebar/ReinventingTheWheel"/></dataref></node>
-
-<node name="RichTextFormat"><label>RichTextFormat</label><dataref><ref xlink:href="http://reini/wiki/sidebar/RichTextFormat"/></dataref></node>
-<edge source="RichTextFormat" target="RTF" />
-
-<node name="RTF"><label>RTF</label><dataref><ref xlink:href="http://reini/wiki/sidebar/RTF"/></dataref></node>
-<edge source="RTF" target="RichTextFormat" />
-<edge source="RTF" target="WinHelp" />
-
-<node name="ShadowRenderingAlgorithms"><label>ShadowRenderingAlgorithms</label><dataref><ref xlink:href="http://reini/wiki/sidebar/ShadowRenderingAlgorithms"/></dataref></node>
-<edge source="ShadowRenderingAlgorithms" target="CategoryAlgorithms" />
-
-<node name="TechnicalSoftwareProtection"><label>TechnicalSoftwareProtection</label><dataref><ref xlink:href="http://reini/wiki/sidebar/TechnicalSoftwareProtection"/></dataref></node>
-<edge source="TechnicalSoftwareProtection" target="SoftwareProtection" />
-<edge source="TechnicalSoftwareProtection" target="CategoryDevelopment" />
-
-<node name="Splines"><label>Splines</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Splines"/></dataref></node>
-<edge source="Splines" target="CategoryAlgorithms" />
-
-<node name="StackSize"><label>StackSize</label><dataref><ref xlink:href="http://reini/wiki/sidebar/StackSize"/></dataref></node>
-
-<node name="STDMODUL"><label>STDMODUL</label><dataref><ref xlink:href="http://reini/wiki/sidebar/STDMODUL"/></dataref></node>
-<edge source="STDMODUL" target="AutoLispStdlib" />
-<edge source="STDMODUL" target="STDINIT" />
-<edge source="STDMODUL" target="STDSTR" />
-<edge source="STDMODUL" target="CategoryStdlibModule" />
-
-<node name="SurfaceApproximationUsingWavelets"><label>SurfaceApproximationUsingWavelets</label><dataref><ref xlink:href="http://reini/wiki/sidebar/SurfaceApproximationUsingWavelets"/></dataref></node>
-<edge source="SurfaceApproximationUsingWavelets" target="CategoryAlgorithms" />
-
-<node name="SurfaceDetailAugmentation"><label>SurfaceDetailAugmentation</label><dataref><ref xlink:href="http://reini/wiki/sidebar/SurfaceDetailAugmentation"/></dataref></node>
-<edge source="SurfaceDetailAugmentation" target="CategoryAlgorithms" />
-
-<node name="ThreeLiner"><label>ThreeLiner</label><dataref><ref xlink:href="http://reini/wiki/sidebar/ThreeLiner"/></dataref></node>
-
-<node name="TrilinearMIPMapping"><label>TrilinearMIPMapping</label><dataref><ref xlink:href="http://reini/wiki/sidebar/TrilinearMIPMapping"/></dataref></node>
-<edge source="TrilinearMIPMapping" target="CategoryAlgorithms" />
-
-<node name="VisualLisp5WhitePaper"><label>VisualLisp5WhitePaper</label><dataref><ref xlink:href="http://reini/wiki/sidebar/VisualLisp5WhitePaper"/></dataref></node>
-<edge source="VisualLisp5WhitePaper" target="AutoLispProblems" />
-<edge source="VisualLisp5WhitePaper" target="CannotCreateArx" />
-<edge source="VisualLisp5WhitePaper" target="AutoLisp" />
-<edge source="VisualLisp5WhitePaper" target="VisualLisp" />
-<edge source="VisualLisp5WhitePaper" target="AutoDesk" />
-<edge source="VisualLisp5WhitePaper" target="GetPathnameOfVLX" />
-
-<node name="VisualTour"><label>VisualTour</label><dataref><ref xlink:href="http://reini/wiki/sidebar/VisualTour"/></dataref></node>
-<edge source="VisualTour" target="VisualTour" />
-
-<node name="VolumeRendering"><label>VolumeRendering</label><dataref><ref xlink:href="http://reini/wiki/sidebar/VolumeRendering"/></dataref></node>
-<edge source="VolumeRendering" target="CategoryAlgorithms" />
-
-<node name="VoxelBasedRendering"><label>VoxelBasedRendering</label><dataref><ref xlink:href="http://reini/wiki/sidebar/VoxelBasedRendering"/></dataref></node>
-<edge source="VoxelBasedRendering" target="CategoryAlgorithms" />
-
-<node name="WhatIs"><label>WhatIs</label><dataref><ref xlink:href="http://reini/wiki/sidebar/WhatIs"/></dataref></node>
-
-<node name="WikiErase"><label>WikiErase</label><dataref><ref xlink:href="http://reini/wiki/sidebar/WikiErase"/></dataref></node>
-
-<node name="Acadx2f.ChangeLog"><label>Acad/ChangeLog</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/ChangeLog"/></dataref></node>
-<edge source="Acadx2f.ChangeLog" target="WikiToDo" />
-<edge source="Acadx2f.ChangeLog" target="AcadWiki" />
-<edge source="Acadx2f.ChangeLog" target="PhpWiki" />
-<edge source="Acadx2f.ChangeLog" target="WantedPages" />
-<edge source="Acadx2f.ChangeLog" target="OrphanedPages" />
-<edge source="Acadx2f.ChangeLog" target="FrontPage" />
-<edge source="Acadx2f.ChangeLog" target="RecentChanges" />
-<edge source="Acadx2f.ChangeLog" target="RandomPage" />
-<edge source="Acadx2f.ChangeLog" target="UserPreferences" />
-<edge source="Acadx2f.ChangeLog" target="MagicPhpWikiURLs" />
-<edge source="Acadx2f.ChangeLog" target="TestImageLinks" />
-<edge source="Acadx2f.ChangeLog" target="FindPage" />
-<edge source="Acadx2f.ChangeLog" target="CategoryWikiDevelopment" />
-
-<node name="Acadx2f.ChangeWidthOfMultiplePolylines"><label>Acad/ChangeWidthOfMultiplePolylines</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/ChangeWidthOfMultiplePolylines"/></dataref></node>
-<edge source="Acadx2f.ChangeWidthOfMultiplePolylines" target="CategoryFaq" />
-<edge source="Acadx2f.ChangeWidthOfMultiplePolylines" target="AutoLispFaq" />
-<edge source="Acadx2f.ChangeWidthOfMultiplePolylines" target="JoinMultipleLines" />
-<edge source="Acadx2f.ChangeWidthOfMultiplePolylines" target="CreatePolylineOrSpline" />
-
-<node name="Acadx2f.CircleScanConversion"><label>Acad/CircleScanConversion</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/CircleScanConversion"/></dataref></node>
-<edge source="Acadx2f.CircleScanConversion" target="CategoryAlgorithms" />
-
-<node name="Acadx2f.ClosedGUI"><label>Acad/ClosedGUI</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/ClosedGUI"/></dataref></node>
-<edge source="Acadx2f.ClosedGUI" target="CustomizationFriendly" />
-<edge source="Acadx2f.ClosedGUI" target="ClosedGUI" />
-<edge source="Acadx2f.ClosedGUI" target="AutoDesk" />
-<edge source="Acadx2f.ClosedGUI" target="DialogControlLanguage" />
-
-<node name="Acadx2f.CommandBlaDoesNotWork"><label>Acad/CommandBlaDoesNotWork</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/CommandBlaDoesNotWork"/></dataref></node>
-<edge source="Acadx2f.CommandBlaDoesNotWork" target="CategoryFaq" />
-<edge source="Acadx2f.CommandBlaDoesNotWork" target="AutoLispFaq" />
-<edge source="Acadx2f.CommandBlaDoesNotWork" target="StackOverflow" />
-<edge source="Acadx2f.CommandBlaDoesNotWork" target="MultipleDrawings" />
-<edge source="Acadx2f.CommandBlaDoesNotWork" target="ObjectARX" />
-<edge source="Acadx2f.CommandBlaDoesNotWork" target="HowToAutoload" />
-
-<node name="Acadx2f.CommonLisp"><label>Acad/CommonLisp</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/CommonLisp"/></dataref></node>
-<edge source="Acadx2f.CommonLisp" target="CategoryFaq" />
-<edge source="Acadx2f.CommonLisp" target="AutoLispFaq" />
-<edge source="Acadx2f.CommonLisp" target="VisualLisp" />
-<edge source="Acadx2f.CommonLisp" target="AutoLispEditors" />
-<edge source="Acadx2f.CommonLisp" target="AutoLispCompilers" />
-<edge source="Acadx2f.CommonLisp" target="ForeignFunctionInterface" />
-<edge source="Acadx2f.CommonLisp" target="scheme" />
-
-<node name="Acadx2f.CompatibiLity"><label>Acad/CompatibiLity</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/CompatibiLity"/></dataref></node>
-<edge source="Acadx2f.CompatibiLity" target="AutoLispStdlib" />
-
-<node name="Acadx2f.CompileMenuBitmapDLL"><label>Acad/CompileMenuBitmapDLL</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/CompileMenuBitmapDLL"/></dataref></node>
-<edge source="Acadx2f.CompileMenuBitmapDLL" target="Emacs" />
-
-<node name="Acadx2f.ComputationalGeometry"><label>Acad/ComputationalGeometry</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/ComputationalGeometry"/></dataref></node>
-<edge source="Acadx2f.ComputationalGeometry" target="ToDo" />
-<edge source="Acadx2f.ComputationalGeometry" target="CategoryAlgorithms" />
-
-<node name="Acadx2f.ConstructiveSolidGeometry"><label>Acad/ConstructiveSolidGeometry</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/ConstructiveSolidGeometry"/></dataref></node>
-<edge source="Acadx2f.ConstructiveSolidGeometry" target="CategoryAlgorithms" />
-
-<node name="Acadx2f.ConversionToIterative"><label>Acad/ConversionToIterative</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/ConversionToIterative"/></dataref></node>
-<edge source="Acadx2f.ConversionToIterative" target="VitalLisp" />
-<edge source="Acadx2f.ConversionToIterative" target="VisualLisp" />
-<edge source="Acadx2f.ConversionToIterative" target="AutoLispStdlib" />
-
-<node name="Acadx2f.Convert"><label>Acad/Convert</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/Convert"/></dataref></node>
-<edge source="Acadx2f.Convert" target="CategoryFaq" />
-<edge source="Acadx2f.Convert" target="AutoLispFaq" />
-<edge source="Acadx2f.Convert" target="KelvinateAndProtect" />
-<edge source="Acadx2f.Convert" target="ACOMP" />
-<edge source="Acadx2f.Convert" target="ProtectAutoLisp" />
-<edge source="Acadx2f.Convert" target="ProtectedLisp" />
-<edge source="Acadx2f.Convert" target="CategoryDevelopmentInAutoLisp" />
-<edge source="Acadx2f.Convert" target="SoftwareProtection" />
-
-<node name="Acadx2f.CountlessParentheses"><label>Acad/CountlessParentheses</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/CountlessParentheses"/></dataref></node>
-<edge source="Acadx2f.CountlessParentheses" target="AutoLispEditors" />
-
-<node name="Acadx2f.CreatePolylineOrSpline"><label>Acad/CreatePolylineOrSpline</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/CreatePolylineOrSpline"/></dataref></node>
-<edge source="Acadx2f.CreatePolylineOrSpline" target="CategoryFaq" />
-<edge source="Acadx2f.CreatePolylineOrSpline" target="AutoLispFaq" />
-<edge source="Acadx2f.CreatePolylineOrSpline" target="ChangeWidthOfMultiplePolylines" />
-<edge source="Acadx2f.CreatePolylineOrSpline" target="LengthOfPolylines" />
-<edge source="Acadx2f.CreatePolylineOrSpline" target="ENTMAKE" />
-
-<node name="Acadx2f.CurvedSurfaces"><label>Acad/CurvedSurfaces</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/CurvedSurfaces"/></dataref></node>
-<edge source="Acadx2f.CurvedSurfaces" target="CategoryAlgorithms" />
-
-<node name="Acadx2f.CurveFitting"><label>Acad/CurveFitting</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/CurveFitting"/></dataref></node>
-<edge source="Acadx2f.CurveFitting" target="CategoryAlgorithms" />
-
-<node name="Acadx2f.CustomizationFriendly"><label>Acad/CustomizationFriendly</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/CustomizationFriendly"/></dataref></node>
-<edge source="Acadx2f.CustomizationFriendly" target="TypicalProblem" />
-<edge source="Acadx2f.CustomizationFriendly" target="WhereIsThisKeyOnThisShxx" />
-<edge source="Acadx2f.CustomizationFriendly" target="AutoCad" />
-<edge source="Acadx2f.CustomizationFriendly" target="CustomizationFriendly" />
-<edge source="Acadx2f.CustomizationFriendly" target="Emacs" />
-<edge source="Acadx2f.CustomizationFriendly" target="ClosedGUI" />
-<edge source="Acadx2f.CustomizationFriendly" target="CategoryPattern" />
-<edge source="Acadx2f.CustomizationFriendly" target="CategoryCustomization" />
-
-<node name="Acadx2f.CustomizationTips"><label>Acad/CustomizationTips</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/CustomizationTips"/></dataref></node>
-<edge source="Acadx2f.CustomizationTips" target="CustomizationFriendly" />
-<edge source="Acadx2f.CustomizationTips" target="CompileMenuBitmapDLL" />
-<edge source="Acadx2f.CustomizationTips" target="AutomaticPurge" />
-<edge source="Acadx2f.CustomizationTips" target="RasterToVector" />
-<edge source="Acadx2f.CustomizationTips" target="PolylineReduction" />
-
-<node name="Acadx2f.DavidBetz"><label>Acad/DavidBetz</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/DavidBetz"/></dataref></node>
-<edge source="Acadx2f.DavidBetz" target="XliSp" />
-
-<node name="Acadx2f.DCL"><label>Acad/DCL</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/DCL"/></dataref></node>
-<edge source="Acadx2f.DCL" target="DialogControlLanguage" />
-<edge source="Acadx2f.DCL" target="ProteusEngine" />
-
-<node name="Acadx2f.DclListboxesWithTabs"><label>Acad/DclListboxesWithTabs</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/DclListboxesWithTabs"/></dataref></node>
-<edge source="Acadx2f.DclListboxesWithTabs" target="CategoryFaq" />
-<edge source="Acadx2f.DclListboxesWithTabs" target="AutoLispFaq" />
-<edge source="Acadx2f.DclListboxesWithTabs" target="BulgeConversion" />
-<edge source="Acadx2f.DclListboxesWithTabs" target="ExtendedEntityData" />
-<edge source="Acadx2f.DclListboxesWithTabs" target="STDSTR" />
-
-<node name="Acadx2f.DebugAutoLispPrograms"><label>Acad/DebugAutoLispPrograms</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/DebugAutoLispPrograms"/></dataref></node>
-<edge source="Acadx2f.DebugAutoLispPrograms" target="CategoryFaq" />
-<edge source="Acadx2f.DebugAutoLispPrograms" target="AutoLispFaq" />
-<edge source="Acadx2f.DebugAutoLispPrograms" target="AutoLispCodingStyle" />
-<edge source="Acadx2f.DebugAutoLispPrograms" target="AutoLispDebuggers" />
-<edge source="Acadx2f.DebugAutoLispPrograms" target="ModularStyle" />
-<edge source="Acadx2f.DebugAutoLispPrograms" target="BreakFunction" />
-
-<node name="Acadx2f.DecodeAcis"><label>Acad/DecodeAcis</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/DecodeAcis"/></dataref></node>
-<edge source="Acadx2f.DecodeAcis" target="CategoryFaq" />
-<edge source="Acadx2f.DecodeAcis" target="AutoLispFaq" />
-<edge source="Acadx2f.DecodeAcis" target="UnlimitedNumberOfUserPrompts" />
-<edge source="Acadx2f.DecodeAcis" target="UserFaqForCode" />
-
-<node name="Acadx2f.DelaunayTetrahedralisation"><label>Acad/DelaunayTetrahedralisation</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/DelaunayTetrahedralisation"/></dataref></node>
-<edge source="Acadx2f.DelaunayTetrahedralisation" target="CategoryAlgorithms" />
-
-<node name="Acadx2f.DelaunayTriangulation"><label>Acad/DelaunayTriangulation</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/DelaunayTriangulation"/></dataref></node>
-<edge source="Acadx2f.DelaunayTriangulation" target="CategoryAlgorithms" />
-<edge source="Acadx2f.DelaunayTriangulation" target="AutoCad" />
-
-<node name="Acadx2f.DialogControlLanguage"><label>Acad/DialogControlLanguage</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/DialogControlLanguage"/></dataref></node>
-<edge source="Acadx2f.DialogControlLanguage" target="DCL" />
-<edge source="Acadx2f.DialogControlLanguage" target="AutoLispLegacy" />
-<edge source="Acadx2f.DialogControlLanguage" target="WhyDCLisBetter" />
-<edge source="Acadx2f.DialogControlLanguage" target="ObjectDCL" />
-
-<node name="Acadx2f.DICT"><label>Acad/DICT</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/DICT"/></dataref></node>
-<edge source="Acadx2f.DICT" target="AutoLispStdlib" />
-<edge source="Acadx2f.DICT" target="ENTMAKE" />
-<edge source="Acadx2f.DICT" target="CategoryStdlibModule" />
-
-<node name="Acadx2f.DigitalLineDrawing"><label>Acad/DigitalLineDrawing</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/DigitalLineDrawing"/></dataref></node>
-<edge source="Acadx2f.DigitalLineDrawing" target="CategoryAlgorithms" />
-
-<node name="Acadx2f.DiscreetLogic"><label>Acad/DiscreetLogic</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/DiscreetLogic"/></dataref></node>
-
-<node name="Acadx2f.DisplacementMapping"><label>Acad/DisplacementMapping</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/DisplacementMapping"/></dataref></node>
-<edge source="Acadx2f.DisplacementMapping" target="BumpMapping" />
-<edge source="Acadx2f.DisplacementMapping" target="CategoryAlgorithms" />
-
-<node name="Acadx2f.DotCom"><label>Acad/DotCom</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/DotCom"/></dataref></node>
-<edge source="Acadx2f.DotCom" target="UpFront" />
-
-<node name="Acadx2f.DoTheRightThing"><label>Acad/DoTheRightThing</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/DoTheRightThing"/></dataref></node>
-<edge source="Acadx2f.DoTheRightThing" target="KissStyle" />
-<edge source="Acadx2f.DoTheRightThing" target="WorseIsBetter" />
-<edge source="Acadx2f.DoTheRightThing" target="CommonLisp" />
-<edge source="Acadx2f.DoTheRightThing" target="scheme" />
-
-<node name="Acadx2f.EducationalSoftwareProtection"><label>Acad/EducationalSoftwareProtection</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/EducationalSoftwareProtection"/></dataref></node>
-<edge source="Acadx2f.EducationalSoftwareProtection" target="SoftwareProtection" />
-<edge source="Acadx2f.EducationalSoftwareProtection" target="LegalSoftwareProtection" />
-<edge source="Acadx2f.EducationalSoftwareProtection" target="CategoryDevelopment" />
-
-<node name="Acadx2f.EfficientAntialiasing"><label>Acad/EfficientAntialiasing</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/EfficientAntialiasing"/></dataref></node>
-<edge source="Acadx2f.EfficientAntialiasing" target="CategoryAlgorithms" />
-
-<node name="Acadx2f.EliminatingPixelOverdraw"><label>Acad/EliminatingPixelOverdraw</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/EliminatingPixelOverdraw"/></dataref></node>
-<edge source="Acadx2f.EliminatingPixelOverdraw" target="CategoryAlgorithms" />
-
-<node name="Acadx2f.Emacs"><label>Acad/Emacs</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/Emacs"/></dataref></node>
-<edge source="Acadx2f.Emacs" target="VisualLisp" />
-
-<node name="Acadx2f.EncyclopaediaBritannica"><label>Acad/EncyclopaediaBritannica</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/EncyclopaediaBritannica"/></dataref></node>
-<edge source="Acadx2f.EncyclopaediaBritannica" target="InterWiki" />
-<edge source="Acadx2f.EncyclopaediaBritannica" target="MagicPhpWikiURLs" />
-
-<node name="Acadx2f.ENTMAKE"><label>Acad/ENTMAKE</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/ENTMAKE"/></dataref></node>
-<edge source="Acadx2f.ENTMAKE" target="AutoLispStdlib" />
-<edge source="Acadx2f.ENTMAKE" target="STDLOCAL" />
-<edge source="Acadx2f.ENTMAKE" target="DICT" />
-<edge source="Acadx2f.ENTMAKE" target="CategoryStdlibModule" />
-
-<node name="Acadx2f.EntmakeComplexEntity"><label>Acad/EntmakeComplexEntity</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/EntmakeComplexEntity"/></dataref></node>
-<edge source="Acadx2f.EntmakeComplexEntity" target="CategoryFaq" />
-<edge source="Acadx2f.EntmakeComplexEntity" target="AutoLispFaq" />
-<edge source="Acadx2f.EntmakeComplexEntity" target="UpdateBlockAttributes" />
-<edge source="Acadx2f.EntmakeComplexEntity" target="PolyLines" />
-<edge source="Acadx2f.EntmakeComplexEntity" target="ENTMAKE" />
-
-<node name="Acadx2f.EntmodEntmakeLayers"><label>Acad/EntmodEntmakeLayers</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/EntmodEntmakeLayers"/></dataref></node>
-<edge source="Acadx2f.EntmodEntmakeLayers" target="CategoryFaq" />
-<edge source="Acadx2f.EntmodEntmakeLayers" target="AutoLispFaq" />
-<edge source="Acadx2f.EntmodEntmakeLayers" target="PlotDialogFromLisp" />
-<edge source="Acadx2f.EntmodEntmakeLayers" target="SelectMultipleFiles" />
-<edge source="Acadx2f.EntmodEntmakeLayers" target="STDTBL" />
-<edge source="Acadx2f.EntmodEntmakeLayers" target="ENTMAKE" />
-
-<node name="Acadx2f.ExportVisualLispFunctions"><label>Acad/ExportVisualLispFunctions</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/ExportVisualLispFunctions"/></dataref></node>
-<edge source="Acadx2f.ExportVisualLispFunctions" target="CategoryFaq" />
-<edge source="Acadx2f.ExportVisualLispFunctions" target="AutoLispFaq" />
-<edge source="Acadx2f.ExportVisualLispFunctions" target="MultipleDrawings" />
-<edge source="Acadx2f.ExportVisualLispFunctions" target="GeneralHelperFunctions" />
-<edge source="Acadx2f.ExportVisualLispFunctions" target="AutoLispProblems" />
-<edge source="Acadx2f.ExportVisualLispFunctions" target="VisualLisp" />
-
-<node name="Acadx2f.ExtendabiLity"><label>Acad/ExtendabiLity</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/ExtendabiLity"/></dataref></node>
-<edge source="Acadx2f.ExtendabiLity" target="CategoryStdlib" />
-<edge source="Acadx2f.ExtendabiLity" target="AutoLispStdlib" />
-<edge source="Acadx2f.ExtendabiLity" target="PerFormance" />
-<edge source="Acadx2f.ExtendabiLity" target="ExtensioNs" />
-<edge source="Acadx2f.ExtendabiLity" target="ExtendabiLity" />
-
-<node name="Acadx2f.ExtendedEntityData"><label>Acad/ExtendedEntityData</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/ExtendedEntityData"/></dataref></node>
-<edge source="Acadx2f.ExtendedEntityData" target="CategoryFaq" />
-<edge source="Acadx2f.ExtendedEntityData" target="AutoLispFaq" />
-<edge source="Acadx2f.ExtendedEntityData" target="DclListboxesWithTabs" />
-<edge source="Acadx2f.ExtendedEntityData" target="BreakLispCommand" />
-<edge source="Acadx2f.ExtendedEntityData" target="DICT" />
-
-<node name="Acadx2f.ExtensioNs"><label>Acad/ExtensioNs</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/ExtensioNs"/></dataref></node>
-<edge source="Acadx2f.ExtensioNs" target="AutoLispStdlibExtensions" />
-
-<node name="Acadx2f.FaqAcknowledgements"><label>Acad/FaqAcknowledgements</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/FaqAcknowledgements"/></dataref></node>
-<edge source="Acadx2f.FaqAcknowledgements" target="CategoryFaq" />
-<edge source="Acadx2f.FaqAcknowledgements" target="AutoLispFaq" />
-<edge source="Acadx2f.FaqAcknowledgements" target="FaqLocations" />
-<edge source="Acadx2f.FaqAcknowledgements" target="RecentFaqChanges" />
-<edge source="Acadx2f.FaqAcknowledgements" target="ReiniUrban" />
-
-<node name="Acadx2f.FaqDisclaimer"><label>Acad/FaqDisclaimer</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/FaqDisclaimer"/></dataref></node>
-<edge source="Acadx2f.FaqDisclaimer" target="CategoryFaq" />
-<edge source="Acadx2f.FaqDisclaimer" target="AutoLispFaq" />
-<edge source="Acadx2f.FaqDisclaimer" target="UserFaqForCode" />
-<edge source="Acadx2f.FaqDisclaimer" target="FaqLocations" />
-<edge source="Acadx2f.FaqDisclaimer" target="GeneralHelperFunctions" />
-
-<node name="Acadx2f.FaqLocations"><label>Acad/FaqLocations</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/FaqLocations"/></dataref></node>
-<edge source="Acadx2f.FaqLocations" target="CategoryFaq" />
-<edge source="Acadx2f.FaqLocations" target="AutoLispFaq" />
-<edge source="Acadx2f.FaqLocations" target="FaqDisclaimer" />
-<edge source="Acadx2f.FaqLocations" target="FaqAcknowledgements" />
-<edge source="Acadx2f.FaqLocations" target="AcadWiki" />
-<edge source="Acadx2f.FaqLocations" target="AutoDesk" />
-
-<node name="Acadx2f.FeudalPriorityTrees"><label>Acad/FeudalPriorityTrees</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/FeudalPriorityTrees"/></dataref></node>
-<edge source="Acadx2f.FeudalPriorityTrees" target="CategoryAlgorithms" />
-
-<node name="Acadx2f.FindPage"><label>Acad/FindPage</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/FindPage"/></dataref></node>
-<edge source="Acadx2f.FindPage" target="HowToUseWiki" />
-<edge source="Acadx2f.FindPage" target="RecentChanges" />
-<edge source="Acadx2f.FindPage" target="CategoryCategory" />
-<edge source="Acadx2f.FindPage" target="IndexingScheme" />
-<edge source="Acadx2f.FindPage" target="AllPages" />
-<edge source="Acadx2f.FindPage" target="MostPopular" />
-<edge source="Acadx2f.FindPage" target="RandomPage" />
-<edge source="Acadx2f.FindPage" target="MoreAboutMechanics" />
-<edge source="Acadx2f.FindPage" target="ToDo" />
-<edge source="Acadx2f.FindPage" target="MetaSearchEngine" />
-<edge source="Acadx2f.FindPage" target="InterWiki" />
-
-<node name="Acadx2f.ForeignFunctionInterface"><label>Acad/ForeignFunctionInterface</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/ForeignFunctionInterface"/></dataref></node>
-<edge source="Acadx2f.ForeignFunctionInterface" target="KissStyle" />
-<edge source="Acadx2f.ForeignFunctionInterface" target="DoTheRightThing" />
-
-<node name="Acadx2f.FractalImageCompression"><label>Acad/FractalImageCompression</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/FractalImageCompression"/></dataref></node>
-<edge source="Acadx2f.FractalImageCompression" target="CategoryAlgorithms" />
-
-<node name="Acadx2f.FrontPage"><label>Acad/FrontPage</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/FrontPage"/></dataref></node>
-<edge source="Acadx2f.FrontPage" target="AutoLispFaq" />
-<edge source="Acadx2f.FrontPage" target="AutoLispStdlib" />
-<edge source="Acadx2f.FrontPage" target="AutoCad" />
-<edge source="Acadx2f.FrontPage" target="CustomizationTips" />
-<edge source="Acadx2f.FrontPage" target="AcadWiki" />
-<edge source="Acadx2f.FrontPage" target="RecentChanges" />
-<edge source="Acadx2f.FrontPage" target="ToDo" />
-<edge source="Acadx2f.FrontPage" target="WikiWikiWeb" />
-<edge source="Acadx2f.FrontPage" target="HowToUseWiki" />
-<edge source="Acadx2f.FrontPage" target="AddingPages" />
-<edge source="Acadx2f.FrontPage" target="SandBox" />
-<edge source="Acadx2f.FrontPage" target="RecentVisitors" />
-<edge source="Acadx2f.FrontPage" target="MostPopular" />
-<edge source="Acadx2f.FrontPage" target="ReleaseNotes" />
-<edge source="Acadx2f.FrontPage" target="WikiWords" />
-<edge source="Acadx2f.FrontPage" target="ReiniUrban" />
-
-<node name="Acadx2f.FutureOfAutoLisp"><label>Acad/FutureOfAutoLisp</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/FutureOfAutoLisp"/></dataref></node>
-<edge source="Acadx2f.FutureOfAutoLisp" target="CategoryFaq" />
-<edge source="Acadx2f.FutureOfAutoLisp" target="AutoLispFaq" />
-<edge source="Acadx2f.FutureOfAutoLisp" target="WhatChangedWithAutoCAD2000" />
-<edge source="Acadx2f.FutureOfAutoLisp" target="VisualBasic" />
-<edge source="Acadx2f.FutureOfAutoLisp" target="AutoLisp" />
-<edge source="Acadx2f.FutureOfAutoLisp" target="VisualLisp" />
-
-<node name="Acadx2f.GeneralHelperFunctions"><label>Acad/GeneralHelperFunctions</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/GeneralHelperFunctions"/></dataref></node>
-<edge source="Acadx2f.GeneralHelperFunctions" target="CategoryFaq" />
-<edge source="Acadx2f.GeneralHelperFunctions" target="AutoLispFaq" />
-<edge source="Acadx2f.GeneralHelperFunctions" target="ExportVisualLispFunctions" />
-<edge source="Acadx2f.GeneralHelperFunctions" target="ListManipulation" />
-<edge source="Acadx2f.GeneralHelperFunctions" target="AutoLispStdlib" />
-<edge source="Acadx2f.GeneralHelperFunctions" target="WhereCanIfind" />
-<edge source="Acadx2f.GeneralHelperFunctions" target="AutodeskSdk" />
-<edge source="Acadx2f.GeneralHelperFunctions" target="StringManipulation" />
-<edge source="Acadx2f.GeneralHelperFunctions" target="SymbolToString" />
-<edge source="Acadx2f.GeneralHelperFunctions" target="AutoCadEntityAccess" />
-
-<node name="Acadx2f.GetPathnameOfVLX"><label>Acad/GetPathnameOfVLX</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/GetPathnameOfVLX"/></dataref></node>
-<edge source="Acadx2f.GetPathnameOfVLX" target="VisualLisp" />
-<edge source="Acadx2f.GetPathnameOfVLX" target="CategoryDevelopmentInAutoLisp" />
-
-<node name="Acadx2f.GIS"><label>Acad/GIS</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/GIS"/></dataref></node>
-
-<node name="Acadx2f.GloballyChange"><label>Acad/GloballyChange</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/GloballyChange"/></dataref></node>
-<edge source="Acadx2f.GloballyChange" target="CategoryFaq" />
-<edge source="Acadx2f.GloballyChange" target="AutoLispFaq" />
-<edge source="Acadx2f.GloballyChange" target="GloballyChange" />
-<edge source="Acadx2f.GloballyChange" target="EntmodEntmakeLayers" />
-<edge source="Acadx2f.GloballyChange" target="WhereCanIfind" />
-<edge source="Acadx2f.GloballyChange" target="BlockAttributes" />
-<edge source="Acadx2f.GloballyChange" target="PolyLines" />
-<edge source="Acadx2f.GloballyChange" target="BulgeConversion" />
-<edge source="Acadx2f.GloballyChange" target="ModifyBlockAttributes" />
-
-<node name="Acadx2f.HotTipHarry"><label>Acad/HotTipHarry</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/HotTipHarry"/></dataref></node>
-
-<node name="Acadx2f.HowToAutoload"><label>Acad/HowToAutoload</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/HowToAutoload"/></dataref></node>
-<edge source="Acadx2f.HowToAutoload" target="CategoryFaq" />
-<edge source="Acadx2f.HowToAutoload" target="AutoLispFaq" />
-<edge source="Acadx2f.HowToAutoload" target="VariableNumberOfArguments" />
-<edge source="Acadx2f.HowToAutoload" target="ACOMP" />
-
-<node name="Acadx2f.HowToUseWiki"><label>Acad/HowToUseWiki</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/HowToUseWiki"/></dataref></node>
-<edge source="Acadx2f.HowToUseWiki" target="AddingPages" />
-<edge source="Acadx2f.HowToUseWiki" target="WikiWikiWeb" />
-<edge source="Acadx2f.HowToUseWiki" target="TextFormattingRules" />
-
-<node name="Acadx2f.HtmlHelp"><label>Acad/HtmlHelp</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/HtmlHelp"/></dataref></node>
-<edge source="Acadx2f.HtmlHelp" target="HtmlHelp" />
-<edge source="Acadx2f.HtmlHelp" target="WinHelp" />
-
-<node name="Acadx2f.IndexingScheme"><label>Acad/IndexingScheme</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/IndexingScheme"/></dataref></node>
-<edge source="Acadx2f.IndexingScheme" target="IndexingScheme" />
-<edge source="Acadx2f.IndexingScheme" target="AcadWiki" />
-<edge source="Acadx2f.IndexingScheme" target="FrontPage" />
-<edge source="Acadx2f.IndexingScheme" target="RecentChanges" />
-<edge source="Acadx2f.IndexingScheme" target="CategoryCategory" />
-<edge source="Acadx2f.IndexingScheme" target="AllPages" />
-<edge source="Acadx2f.IndexingScheme" target="MostPopular" />
-<edge source="Acadx2f.IndexingScheme" target="WantedPages" />
-<edge source="Acadx2f.IndexingScheme" target="OrphanedPages" />
-<edge source="Acadx2f.IndexingScheme" target="FindPage" />
-<edge source="Acadx2f.IndexingScheme" target="RandomPage" />
-
-<node name="Acadx2f.IntellectualProperty"><label>Acad/IntellectualProperty</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/IntellectualProperty"/></dataref></node>
-
-<node name="Acadx2f.IntelliCad"><label>Acad/IntelliCad</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/IntelliCad"/></dataref></node>
-
-<node name="Acadx2f.InvertibleObjectRotation"><label>Acad/InvertibleObjectRotation</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/InvertibleObjectRotation"/></dataref></node>
-<edge source="Acadx2f.InvertibleObjectRotation" target="CategoryAlgorithms" />
-
-<node name="Acadx2f.IsosurfaceGeneration"><label>Acad/IsosurfaceGeneration</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/IsosurfaceGeneration"/></dataref></node>
-<edge source="Acadx2f.IsosurfaceGeneration" target="CategoryAlgorithms" />
-
-<node name="Acadx2f.IterAtion"><label>Acad/IterAtion</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/IterAtion"/></dataref></node>
-<edge source="Acadx2f.IterAtion" target="CategoryFaq" />
-<edge source="Acadx2f.IterAtion" target="AutoLispFaq" />
-<edge source="Acadx2f.IterAtion" target="ReCursion" />
-<edge source="Acadx2f.IterAtion" target="VladimirNesterovsky" />
-
-<node name="Acadx2f.JohnWalker"><label>Acad/JohnWalker</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/JohnWalker"/></dataref></node>
-<edge source="Acadx2f.JohnWalker" target="AutoDesk" />
-<edge source="Acadx2f.JohnWalker" target="AutoCad" />
-
-<node name="Acadx2f.JoinMultipleLines"><label>Acad/JoinMultipleLines</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/JoinMultipleLines"/></dataref></node>
-<edge source="Acadx2f.JoinMultipleLines" target="CategoryFaq" />
-<edge source="Acadx2f.JoinMultipleLines" target="AutoLispFaq" />
-<edge source="Acadx2f.JoinMultipleLines" target="AccessPolylineVertices" />
-<edge source="Acadx2f.JoinMultipleLines" target="ChangeWidthOfMultiplePolylines" />
-
-<node name="Acadx2f.Kelvinate"><label>Acad/Kelvinate</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/Kelvinate"/></dataref></node>
-<edge source="Acadx2f.Kelvinate" target="CategoryFaq" />
-<edge source="Acadx2f.Kelvinate" target="AutoLispFaq" />
-<edge source="Acadx2f.Kelvinate" target="ProtectAutoLisp" />
-<edge source="Acadx2f.Kelvinate" target="Protect" />
-<edge source="Acadx2f.Kelvinate" target="AutodeskSdk" />
-<edge source="Acadx2f.Kelvinate" target="WhereCanIfind" />
-<edge source="Acadx2f.Kelvinate" target="PrettyPrinters" />
-<edge source="Acadx2f.Kelvinate" target="JohnWalker" />
-<edge source="Acadx2f.Kelvinate" target="ObfuscAtor" />
-<edge source="Acadx2f.Kelvinate" target="ProtectionByObfuscation" />
-
-<node name="Acadx2f.KelvinateAndProtect"><label>Acad/KelvinateAndProtect</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/KelvinateAndProtect"/></dataref></node>
-<edge source="Acadx2f.KelvinateAndProtect" target="CategoryFaq" />
-<edge source="Acadx2f.KelvinateAndProtect" target="AutoLispFaq" />
-<edge source="Acadx2f.KelvinateAndProtect" target="Protect" />
-<edge source="Acadx2f.KelvinateAndProtect" target="Convert" />
-<edge source="Acadx2f.KelvinateAndProtect" target="ProtectAutoLisp" />
-<edge source="Acadx2f.KelvinateAndProtect" target="Kelvinate" />
-<edge source="Acadx2f.KelvinateAndProtect" target="CategoryDevelopmentInAutoLisp" />
-<edge source="Acadx2f.KelvinateAndProtect" target="SoftwareProtection" />
-
-<node name="Acadx2f.KindaOverkill"><label>Acad/KindaOverkill</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/KindaOverkill"/></dataref></node>
-<edge source="Acadx2f.KindaOverkill" target="ForeignFunctionInterface" />
-<edge source="Acadx2f.KindaOverkill" target="KissStyle" />
-<edge source="Acadx2f.KindaOverkill" target="DoTheRightThing" />
-<edge source="Acadx2f.KindaOverkill" target="WorseIsBetter" />
-
-<node name="Acadx2f.KissStyle"><label>Acad/KissStyle</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/KissStyle"/></dataref></node>
-<edge source="Acadx2f.KissStyle" target="WorseIsBetter" />
-<edge source="Acadx2f.KissStyle" target="DoTheRightThing" />
-
-<node name="Acadx2f.LargeFootprint"><label>Acad/LargeFootprint</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/LargeFootprint"/></dataref></node>
-
-<node name="Acadx2f.LatestBugfixes"><label>Acad/LatestBugfixes</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/LatestBugfixes"/></dataref></node>
-<edge source="Acadx2f.LatestBugfixes" target="LatestRelease" />
-
-<node name="Acadx2f.LatestRelease"><label>Acad/LatestRelease</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/LatestRelease"/></dataref></node>
-<edge source="Acadx2f.LatestRelease" target="LatestBugfixes" />
-<edge source="Acadx2f.LatestRelease" target="VisualLisp" />
-<edge source="Acadx2f.LatestRelease" target="ToDo" />
-
-<node name="Acadx2f.LegalSoftwareProtection"><label>Acad/LegalSoftwareProtection</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/LegalSoftwareProtection"/></dataref></node>
-<edge source="Acadx2f.LegalSoftwareProtection" target="CategoryDevelopment" />
-
-<node name="Acadx2f.LengthOfPolylines"><label>Acad/LengthOfPolylines</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/LengthOfPolylines"/></dataref></node>
-<edge source="Acadx2f.LengthOfPolylines" target="CategoryFaq" />
-<edge source="Acadx2f.LengthOfPolylines" target="AutoLispFaq" />
-<edge source="Acadx2f.LengthOfPolylines" target="CreatePolylineOrSpline" />
-<edge source="Acadx2f.LengthOfPolylines" target="RevertPolyline" />
-<edge source="Acadx2f.LengthOfPolylines" target="BulgeConversion" />
-<edge source="Acadx2f.LengthOfPolylines" target="AccessPolylineVertices" />
-<edge source="Acadx2f.LengthOfPolylines" target="ListManipulation" />
-
-<node name="Acadx2f.LevelOfDetail"><label>Acad/LevelOfDetail</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/LevelOfDetail"/></dataref></node>
-<edge source="Acadx2f.LevelOfDetail" target="CategoryAlgorithms" />
-
-<node name="Acadx2f.Lisp2C"><label>Acad/Lisp2C</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/Lisp2C"/></dataref></node>
-<edge source="Acadx2f.Lisp2C" target="CategoryFaq" />
-<edge source="Acadx2f.Lisp2C" target="AutoLispFaq" />
-<edge source="Acadx2f.Lisp2C" target="VitalLisp" />
-<edge source="Acadx2f.Lisp2C" target="VisualLisp" />
-<edge source="Acadx2f.Lisp2C" target="ProtectAutoLisp" />
-<edge source="Acadx2f.Lisp2C" target="AutoLisp" />
-<edge source="Acadx2f.Lisp2C" target="CategoryDevelopmentInAutoLisp" />
-<edge source="Acadx2f.Lisp2C" target="CategoryDevelopmentInC" />
-
-<node name="Acadx2f.ListManipulation"><label>Acad/ListManipulation</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/ListManipulation"/></dataref></node>
-<edge source="Acadx2f.ListManipulation" target="CategoryFaq" />
-<edge source="Acadx2f.ListManipulation" target="AutoLispFaq" />
-<edge source="Acadx2f.ListManipulation" target="GeneralHelperFunctions" />
-<edge source="Acadx2f.ListManipulation" target="StringManipulation" />
-<edge source="Acadx2f.ListManipulation" target="STDLIST" />
-<edge source="Acadx2f.ListManipulation" target="VladimirNesterovsky" />
-
-<node name="Acadx2f.LocalizationIssues"><label>Acad/LocalizationIssues</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/LocalizationIssues"/></dataref></node>
-<edge source="Acadx2f.LocalizationIssues" target="STDERROR" />
-<edge source="Acadx2f.LocalizationIssues" target="STDTIME" />
-<edge source="Acadx2f.LocalizationIssues" target="STDLOCAL" />
-<edge source="Acadx2f.LocalizationIssues" target="CategoryStdlib" />
-<edge source="Acadx2f.LocalizationIssues" target="CategoryDevelopmentInAutoLisp" />
-
-<node name="Acadx2f.MagicPhpWikiURLs"><label>Acad/MagicPhpWikiURLs</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/MagicPhpWikiURLs"/></dataref></node>
-<edge source="Acadx2f.MagicPhpWikiURLs" target="PhpWiki" />
-<edge source="Acadx2f.MagicPhpWikiURLs" target="SandBox" />
-<edge source="Acadx2f.MagicPhpWikiURLs" target="InterWiki" />
-<edge source="Acadx2f.MagicPhpWikiURLs" target="ReiniUrban" />
-
-<node name="Acadx2f.MemoiZation"><label>Acad/MemoiZation</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/MemoiZation"/></dataref></node>
-<edge source="Acadx2f.MemoiZation" target="STDINIT" />
-<edge source="Acadx2f.MemoiZation" target="CategoryStdlib" />
-<edge source="Acadx2f.MemoiZation" target="CategoryDevelopmentInAutoLisp" />
-
-<node name="Acadx2f.MeshSmoothing"><label>Acad/MeshSmoothing</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/MeshSmoothing"/></dataref></node>
-<edge source="Acadx2f.MeshSmoothing" target="PolylineReduction" />
-
-<node name="Acadx2f.MetaSearchEngine"><label>Acad/MetaSearchEngine</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/MetaSearchEngine"/></dataref></node>
-<edge source="Acadx2f.MetaSearchEngine" target="MagicPhpWikiURLs" />
-
-<node name="Acadx2f.ModifyBlockAttributes"><label>Acad/ModifyBlockAttributes</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/ModifyBlockAttributes"/></dataref></node>
-<edge source="Acadx2f.ModifyBlockAttributes" target="CategoryFaq" />
-<edge source="Acadx2f.ModifyBlockAttributes" target="AutoLispFaq" />
-<edge source="Acadx2f.ModifyBlockAttributes" target="AccessBlockAttributes" />
-<edge source="Acadx2f.ModifyBlockAttributes" target="UpdateBlockAttributes" />
-
-<node name="Acadx2f.ModularStyle"><label>Acad/ModularStyle</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/ModularStyle"/></dataref></node>
-<edge source="Acadx2f.ModularStyle" target="CategoryFaq" />
-<edge source="Acadx2f.ModularStyle" target="AutoLispFaq" />
-<edge source="Acadx2f.ModularStyle" target="AutoLispDebuggers" />
-<edge source="Acadx2f.ModularStyle" target="BreakFunction" />
-
-<node name="Acadx2f.MultipleAxisInterpolation"><label>Acad/MultipleAxisInterpolation</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/MultipleAxisInterpolation"/></dataref></node>
-<edge source="Acadx2f.MultipleAxisInterpolation" target="CategoryAlgorithms" />
-
-<node name="Acadx2f.MultipleDrawings"><label>Acad/MultipleDrawings</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/MultipleDrawings"/></dataref></node>
-<edge source="Acadx2f.MultipleDrawings" target="CategoryFaq" />
-<edge source="Acadx2f.MultipleDrawings" target="AutoLispFaq" />
-<edge source="Acadx2f.MultipleDrawings" target="CommandBlaDoesNotWork" />
-<edge source="Acadx2f.MultipleDrawings" target="ExportVisualLispFunctions" />
-<edge source="Acadx2f.MultipleDrawings" target="MultipleDrawings" />
-
-<node name="Acadx2f.MultiresolutionAnalysis"><label>Acad/MultiresolutionAnalysis</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/MultiresolutionAnalysis"/></dataref></node>
-<edge source="Acadx2f.MultiresolutionAnalysis" target="CategoryAlgorithms" />
-
-<node name="Acadx2f.NaziInterface"><label>Acad/NaziInterface</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/NaziInterface"/></dataref></node>
-<edge source="Acadx2f.NaziInterface" target="WorseIsBetter" />
-<edge source="Acadx2f.NaziInterface" target="CategoryPattern" />
-
-<node name="Acadx2f.NDA"><label>Acad/NDA</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/NDA"/></dataref></node>
-
-<node name="Acadx2f.NewsGroup"><label>Acad/NewsGroup</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/NewsGroup"/></dataref></node>
-<edge source="Acadx2f.NewsGroup" target="NewsGroup" />
-<edge source="Acadx2f.NewsGroup" target="NewsGroups" />
-<edge source="Acadx2f.NewsGroup" target="NewsgroupArchives" />
-
-<node name="Acadx2f.NewsgroupArchives"><label>Acad/NewsgroupArchives</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/NewsgroupArchives"/></dataref></node>
-<edge source="Acadx2f.NewsgroupArchives" target="CategoryFaq" />
-<edge source="Acadx2f.NewsgroupArchives" target="AutoLispFaq" />
-<edge source="Acadx2f.NewsgroupArchives" target="WhereCanIfind" />
-<edge source="Acadx2f.NewsgroupArchives" target="AutodeskSdk" />
-
-<node name="Acadx2f.NewsGroups"><label>Acad/NewsGroups</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/NewsGroups"/></dataref></node>
-<edge source="Acadx2f.NewsGroups" target="NewsGroups" />
-<edge source="Acadx2f.NewsGroups" target="NewsgroupArchives" />
-
-<node name="Acadx2f.NewsLetter"><label>Acad/NewsLetter</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/NewsLetter"/></dataref></node>
-<edge source="Acadx2f.NewsLetter" target="EncyclopaediaBritannica" />
-<edge source="Acadx2f.NewsLetter" target="CadNewsLetters" />
-
-<node name="Acadx2f.NURBS"><label>Acad/NURBS</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/NURBS"/></dataref></node>
-<edge source="Acadx2f.NURBS" target="CategoryAlgorithms" />
-
-<node name="Acadx2f.ObfuscAtor"><label>Acad/ObfuscAtor</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/ObfuscAtor"/></dataref></node>
-<edge source="Acadx2f.ObfuscAtor" target="SoftwareProtection" />
-<edge source="Acadx2f.ObfuscAtor" target="ProtectionByObfuscation" />
-
-<node name="Acadx2f.ObjectARX"><label>Acad/ObjectARX</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/ObjectARX"/></dataref></node>
-<edge source="Acadx2f.ObjectARX" target="ARX" />
-<edge source="Acadx2f.ObjectARX" target="AutoDesk" />
-<edge source="Acadx2f.ObjectARX" target="RuntimeExtension" />
-<edge source="Acadx2f.ObjectARX" target="AutoCad" />
-<edge source="Acadx2f.ObjectARX" target="ADS" />
-
-<node name="Acadx2f.ObjectDCL"><label>Acad/ObjectDCL</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/ObjectDCL"/></dataref></node>
-<edge source="Acadx2f.ObjectDCL" target="AutoLisp" />
-<edge source="Acadx2f.ObjectDCL" target="ObjectARX" />
-<edge source="Acadx2f.ObjectDCL" target="VisualBasic" />
-
-<node name="Acadx2f.OnlineAutoLispDocuments"><label>Acad/OnlineAutoLispDocuments</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/OnlineAutoLispDocuments"/></dataref></node>
-<edge source="Acadx2f.OnlineAutoLispDocuments" target="CategoryFaq" />
-<edge source="Acadx2f.OnlineAutoLispDocuments" target="AutoLispFaq" />
-<edge source="Acadx2f.OnlineAutoLispDocuments" target="BestAutoLispBooks" />
-<edge source="Acadx2f.OnlineAutoLispDocuments" target="AutoLispCodingStyle" />
-<edge source="Acadx2f.OnlineAutoLispDocuments" target="AutoLispTutorials" />
-<edge source="Acadx2f.OnlineAutoLispDocuments" target="ReiniUrban" />
-<edge source="Acadx2f.OnlineAutoLispDocuments" target="WinHelp" />
-<edge source="Acadx2f.OnlineAutoLispDocuments" target="HtmlHelp" />
-<edge source="Acadx2f.OnlineAutoLispDocuments" target="VisualLisp" />
-<edge source="Acadx2f.OnlineAutoLispDocuments" target="WhereCanIfind" />
-<edge source="Acadx2f.OnlineAutoLispDocuments" target="VitalLisp" />
-<edge source="Acadx2f.OnlineAutoLispDocuments" target="AutoLispEditors" />
-
-<node name="Acadx2f.OnlineTranslators"><label>Acad/OnlineTranslators</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/OnlineTranslators"/></dataref></node>
-
-<node name="Acadx2f.OpenContentLicense"><label>Acad/OpenContentLicense</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/OpenContentLicense"/></dataref></node>
-<edge source="Acadx2f.OpenContentLicense" target="AcadWiki" />
-
-<node name="Acadx2f.OpenGLAndDirect3D"><label>Acad/OpenGLAndDirect3D</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/OpenGLAndDirect3D"/></dataref></node>
-<edge source="Acadx2f.OpenGLAndDirect3D" target="CategoryAlgorithms" />
-
-<node name="Acadx2f.OpticalEffectsWithinWater"><label>Acad/OpticalEffectsWithinWater</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/OpticalEffectsWithinWater"/></dataref></node>
-<edge source="Acadx2f.OpticalEffectsWithinWater" target="CategoryAlgorithms" />
-
-<node name="Acadx2f.OptimisingBspTreeTraversal"><label>Acad/OptimisingBspTreeTraversal</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/OptimisingBspTreeTraversal"/></dataref></node>
-<edge source="Acadx2f.OptimisingBspTreeTraversal" target="CategoryAlgorithms" />
-
-<node name="Acadx2f.OtherTutorials"><label>Acad/OtherTutorials</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/OtherTutorials"/></dataref></node>
-<edge source="Acadx2f.OtherTutorials" target="VisualBasic" />
-
-<node name="Acadx2f.ParametricLineClipping"><label>Acad/ParametricLineClipping</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/ParametricLineClipping"/></dataref></node>
-<edge source="Acadx2f.ParametricLineClipping" target="CategoryAlgorithms" />
-
-<node name="Acadx2f.PartialLocks"><label>Acad/PartialLocks</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/PartialLocks"/></dataref></node>
-<edge source="Acadx2f.PartialLocks" target="ReiniUrban" />
-
-<node name="Acadx2f.PerFormance"><label>Acad/PerFormance</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/PerFormance"/></dataref></node>
-<edge source="Acadx2f.PerFormance" target="AutoLispStdlib" />
-<edge source="Acadx2f.PerFormance" target="ReadAbility" />
-
-<node name="Acadx2f.PerspectiveProjection"><label>Acad/PerspectiveProjection</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/PerspectiveProjection"/></dataref></node>
-<edge source="Acadx2f.PerspectiveProjection" target="CategoryAlgorithms" />
-
-<node name="Acadx2f.PixelOffByOneError"><label>Acad/PixelOffByOneError</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/PixelOffByOneError"/></dataref></node>
-
-<node name="Acadx2f.PlotDialogFromLisp"><label>Acad/PlotDialogFromLisp</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/PlotDialogFromLisp"/></dataref></node>
-<edge source="Acadx2f.PlotDialogFromLisp" target="CategoryFaq" />
-<edge source="Acadx2f.PlotDialogFromLisp" target="AutoLispFaq" />
-<edge source="Acadx2f.PlotDialogFromLisp" target="GloballyChange" />
-<edge source="Acadx2f.PlotDialogFromLisp" target="EntmodEntmakeLayers" />
-
-<node name="Acadx2f.PointA"><label>Acad/PointA</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/PointA"/></dataref></node>
-<edge source="Acadx2f.PointA" target="DotCom" />
-
-<node name="Acadx2f.PolygonScanConversion"><label>Acad/PolygonScanConversion</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/PolygonScanConversion"/></dataref></node>
-<edge source="Acadx2f.PolygonScanConversion" target="CategoryAlgorithms" />
-
-<node name="Acadx2f.PolylineReduction"><label>Acad/PolylineReduction</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/PolylineReduction"/></dataref></node>
-<edge source="Acadx2f.PolylineReduction" target="CategoryCustomization" />
-<edge source="Acadx2f.PolylineReduction" target="MeshSmoothing" />
-<edge source="Acadx2f.PolylineReduction" target="SurfaceFitting" />
-
-<node name="Acadx2f.PolyLines"><label>Acad/PolyLines</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/PolyLines"/></dataref></node>
-<edge source="Acadx2f.PolyLines" target="CategoryFaq" />
-<edge source="Acadx2f.PolyLines" target="AutoLispFaq" />
-<edge source="Acadx2f.PolyLines" target="EntmakeComplexEntity" />
-<edge source="Acadx2f.PolyLines" target="AccessPolylineVertices" />
-<edge source="Acadx2f.PolyLines" target="JoinMultipleLines" />
-<edge source="Acadx2f.PolyLines" target="ChangeWidthOfMultiplePolylines" />
-<edge source="Acadx2f.PolyLines" target="CreatePolylineOrSpline" />
-<edge source="Acadx2f.PolyLines" target="LengthOfPolylines" />
-<edge source="Acadx2f.PolyLines" target="RevertPolyline" />
-<edge source="Acadx2f.PolyLines" target="CenterOfPolyline" />
-
-<node name="Acadx2f.PortAbility"><label>Acad/PortAbility</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/PortAbility"/></dataref></node>
-<edge source="Acadx2f.PortAbility" target="STDINIT" />
-<edge source="Acadx2f.PortAbility" target="CategoryStdlib" />
-<edge source="Acadx2f.PortAbility" target="CategoryDevelopmentInAutoLisp" />
-
-<node name="Acadx2f.PotentialVisibleSets"><label>Acad/PotentialVisibleSets</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/PotentialVisibleSets"/></dataref></node>
-<edge source="Acadx2f.PotentialVisibleSets" target="CategoryAlgorithms" />
-
-<node name="Acadx2f.PrettyPrinters"><label>Acad/PrettyPrinters</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/PrettyPrinters"/></dataref></node>
-<edge source="Acadx2f.PrettyPrinters" target="CategoryFaq" />
-<edge source="Acadx2f.PrettyPrinters" target="AutoLispFaq" />
-<edge source="Acadx2f.PrettyPrinters" target="Analyzers" />
-<edge source="Acadx2f.PrettyPrinters" target="AutoLispProblems" />
-<edge source="Acadx2f.PrettyPrinters" target="AutoLispEditors" />
-<edge source="Acadx2f.PrettyPrinters" target="AutodeskSdk" />
-<edge source="Acadx2f.PrettyPrinters" target="WhereCanIfind" />
-<edge source="Acadx2f.PrettyPrinters" target="VisualLisp" />
-<edge source="Acadx2f.PrettyPrinters" target="VitalLisp" />
-<edge source="Acadx2f.PrettyPrinters" target="Emacs" />
-<edge source="Acadx2f.PrettyPrinters" target="CategoryDevelopmentInAutoLisp" />
-
-<node name="Acadx2f.ProjectiveTextureMapping"><label>Acad/ProjectiveTextureMapping</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/ProjectiveTextureMapping"/></dataref></node>
-<edge source="Acadx2f.ProjectiveTextureMapping" target="CategoryAlgorithms" />
-
-<node name="Acadx2f.Protect"><label>Acad/Protect</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/Protect"/></dataref></node>
-<edge source="Acadx2f.Protect" target="CategoryFaq" />
-<edge source="Acadx2f.Protect" target="AutoLispFaq" />
-<edge source="Acadx2f.Protect" target="Kelvinate" />
-<edge source="Acadx2f.Protect" target="KelvinateAndProtect" />
-<edge source="Acadx2f.Protect" target="ProtectAutoLisp" />
-<edge source="Acadx2f.Protect" target="AutodeskSdk" />
-<edge source="Acadx2f.Protect" target="WhereCanIfind" />
-<edge source="Acadx2f.Protect" target="CategoryDevelopmentInAutoLisp" />
-<edge source="Acadx2f.Protect" target="SoftwareProtection" />
-
-<node name="Acadx2f.ProtectAutoLisp"><label>Acad/ProtectAutoLisp</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/ProtectAutoLisp"/></dataref></node>
-<edge source="Acadx2f.ProtectAutoLisp" target="CategoryFaq" />
-<edge source="Acadx2f.ProtectAutoLisp" target="AutoLispFaq" />
-<edge source="Acadx2f.ProtectAutoLisp" target="PrettyPrinters" />
-<edge source="Acadx2f.ProtectAutoLisp" target="Kelvinate" />
-<edge source="Acadx2f.ProtectAutoLisp" target="Protect" />
-<edge source="Acadx2f.ProtectAutoLisp" target="KelvinateAndProtect" />
-<edge source="Acadx2f.ProtectAutoLisp" target="Convert" />
-<edge source="Acadx2f.ProtectAutoLisp" target="ACOMP" />
-<edge source="Acadx2f.ProtectAutoLisp" target="Lisp2C" />
-<edge source="Acadx2f.ProtectAutoLisp" target="VitalLisp" />
-<edge source="Acadx2f.ProtectAutoLisp" target="VisualLisp" />
-<edge source="Acadx2f.ProtectAutoLisp" target="ReiniUrban" />
-<edge source="Acadx2f.ProtectAutoLisp" target="SoftwareProtection" />
-
-<node name="Acadx2f.ProtectedLisp"><label>Acad/ProtectedLisp</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/ProtectedLisp"/></dataref></node>
-<edge source="Acadx2f.ProtectedLisp" target="AutoLisp" />
-<edge source="Acadx2f.ProtectedLisp" target="Protect" />
-<edge source="Acadx2f.ProtectedLisp" target="Convert" />
-<edge source="Acadx2f.ProtectedLisp" target="AutoLispFaq" />
-<edge source="Acadx2f.ProtectedLisp" target="ProtectAutoLisp" />
-<edge source="Acadx2f.ProtectedLisp" target="SoftwareProtection" />
-<edge source="Acadx2f.ProtectedLisp" target="CategoryDevelopmentInAutoLisp" />
-
-<node name="Acadx2f.ProtectionByObfuscation"><label>Acad/ProtectionByObfuscation</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/ProtectionByObfuscation"/></dataref></node>
-<edge source="Acadx2f.ProtectionByObfuscation" target="SoftwareProtection" />
-<edge source="Acadx2f.ProtectionByObfuscation" target="AntiPattern" />
-
-<node name="Acadx2f.ProteusEngine"><label>Acad/ProteusEngine</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/ProteusEngine"/></dataref></node>
-<edge source="Acadx2f.ProteusEngine" target="DialogControlLanguage" />
-
-<node name="Acadx2f.QuadraturePrefiltering"><label>Acad/QuadraturePrefiltering</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/QuadraturePrefiltering"/></dataref></node>
-<edge source="Acadx2f.QuadraturePrefiltering" target="CategoryAlgorithms" />
-
-<node name="Acadx2f.Quaternions"><label>Acad/Quaternions</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/Quaternions"/></dataref></node>
-<edge source="Acadx2f.Quaternions" target="CategoryAlgorithms" />
-
-<node name="Acadx2f.RadiosityMethods"><label>Acad/RadiosityMethods</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/RadiosityMethods"/></dataref></node>
-<edge source="Acadx2f.RadiosityMethods" target="CategoryAlgorithms" />
-
-<node name="Acadx2f.RalphGrabowski"><label>Acad/RalphGrabowski</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/RalphGrabowski"/></dataref></node>
-<edge source="Acadx2f.RalphGrabowski" target="UpFront" />
-
-<node name="Acadx2f.RasterToVector"><label>Acad/RasterToVector</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/RasterToVector"/></dataref></node>
-<edge source="Acadx2f.RasterToVector" target="AutodeskCADOverlay" />
-
-<node name="Acadx2f.ReadAbility"><label>Acad/ReadAbility</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/ReadAbility"/></dataref></node>
-<edge source="Acadx2f.ReadAbility" target="AutoLispCodingStyle" />
-<edge source="Acadx2f.ReadAbility" target="PrettyPrinters" />
-<edge source="Acadx2f.ReadAbility" target="AutoLispStdlib" />
-<edge source="Acadx2f.ReadAbility" target="CompatibiLity" />
-<edge source="Acadx2f.ReadAbility" target="StackOverflow" />
-<edge source="Acadx2f.ReadAbility" target="IterAtion" />
-<edge source="Acadx2f.ReadAbility" target="ReCursion" />
-<edge source="Acadx2f.ReadAbility" target="StabiLity" />
-<edge source="Acadx2f.ReadAbility" target="PerFormance" />
-<edge source="Acadx2f.ReadAbility" target="ExtendabiLity" />
-
-<node name="Acadx2f.RecentFaqChanges"><label>Acad/RecentFaqChanges</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/RecentFaqChanges"/></dataref></node>
-<edge source="Acadx2f.RecentFaqChanges" target="CategoryFaq" />
-<edge source="Acadx2f.RecentFaqChanges" target="AutoLispFaq" />
-<edge source="Acadx2f.RecentFaqChanges" target="FaqAcknowledgements" />
-
-<node name="Acadx2f.RecentVisitors"><label>Acad/RecentVisitors</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/RecentVisitors"/></dataref></node>
-<edge source="Acadx2f.RecentVisitors" target="PhpWiki" />
-<edge source="Acadx2f.RecentVisitors" target="ReiniUrban" />
-<edge source="Acadx2f.RecentVisitors" target="EncyclopaediaBritannica" />
-<edge source="Acadx2f.RecentVisitors" target="ReinaldoTogores" />
-
-<node name="Acadx2f.ReCursion"><label>Acad/ReCursion</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/ReCursion"/></dataref></node>
-<edge source="Acadx2f.ReCursion" target="CategoryFaq" />
-<edge source="Acadx2f.ReCursion" target="AutoLispFaq" />
-<edge source="Acadx2f.ReCursion" target="SortingWithAutoLisp" />
-<edge source="Acadx2f.ReCursion" target="IterAtion" />
-<edge source="Acadx2f.ReCursion" target="ReCursion" />
-
-<node name="Acadx2f.RedSpark"><label>Acad/RedSpark</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/RedSpark"/></dataref></node>
-<edge source="Acadx2f.RedSpark" target="DotCom" />
-
-<node name="Acadx2f.RegularExpressions"><label>Acad/RegularExpressions</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/RegularExpressions"/></dataref></node>
-<edge source="Acadx2f.RegularExpressions" target="VisualBasic" />
-<edge source="Acadx2f.RegularExpressions" target="ToDo" />
-
-<node name="Acadx2f.ReinaldoTogores"><label>Acad/ReinaldoTogores</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/ReinaldoTogores"/></dataref></node>
-<edge source="Acadx2f.ReinaldoTogores" target="VladimirNesterovsky" />
-<edge source="Acadx2f.ReinaldoTogores" target="PolylineReduction" />
-
-<node name="Acadx2f.ReiniUrban"><label>Acad/ReiniUrban</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/ReiniUrban"/></dataref></node>
-<edge source="Acadx2f.ReiniUrban" target="AcadWiki" />
-<edge source="Acadx2f.ReiniUrban" target="ReiniUrban" />
-<edge source="Acadx2f.ReiniUrban" target="CategoryPerson" />
-
-<node name="Acadx2f.ReinventingTheWheel"><label>Acad/ReinventingTheWheel</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/ReinventingTheWheel"/></dataref></node>
-
-<node name="Acadx2f.ReleaseNotes"><label>Acad/ReleaseNotes</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/ReleaseNotes"/></dataref></node>
-<edge source="Acadx2f.ReleaseNotes" target="ReiniUrban" />
-<edge source="Acadx2f.ReleaseNotes" target="PhpWiki" />
-<edge source="Acadx2f.ReleaseNotes" target="MostPopular" />
-<edge source="Acadx2f.ReleaseNotes" target="SteveWainstead" />
-
-<node name="Acadx2f.ReplaceMultipleBlocks"><label>Acad/ReplaceMultipleBlocks</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/ReplaceMultipleBlocks"/></dataref></node>
-<edge source="Acadx2f.ReplaceMultipleBlocks" target="CategoryFaq" />
-<edge source="Acadx2f.ReplaceMultipleBlocks" target="AutoLispFaq" />
-<edge source="Acadx2f.ReplaceMultipleBlocks" target="SelectMultipleFiles" />
-<edge source="Acadx2f.ReplaceMultipleBlocks" target="ViewportEntity" />
-
-<node name="Acadx2f.RevertPolyline"><label>Acad/RevertPolyline</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/RevertPolyline"/></dataref></node>
-<edge source="Acadx2f.RevertPolyline" target="CategoryFaq" />
-<edge source="Acadx2f.RevertPolyline" target="AutoLispFaq" />
-<edge source="Acadx2f.RevertPolyline" target="LengthOfPolylines" />
-<edge source="Acadx2f.RevertPolyline" target="CenterOfPolyline" />
-<edge source="Acadx2f.RevertPolyline" target="AutoLispStdlib" />
-
-<node name="Acadx2f.RichTextFormat"><label>Acad/RichTextFormat</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/RichTextFormat"/></dataref></node>
-<edge source="Acadx2f.RichTextFormat" target="RTF" />
-
-<node name="Acadx2f.RTF"><label>Acad/RTF</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/RTF"/></dataref></node>
-<edge source="Acadx2f.RTF" target="RichTextFormat" />
-<edge source="Acadx2f.RTF" target="WinHelp" />
-
-<node name="Acadx2f.RulesToLiveBy"><label>Acad/RulesToLiveBy</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/RulesToLiveBy"/></dataref></node>
-
-<node name="Acadx2f.RuntimeExtension"><label>Acad/RuntimeExtension</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/RuntimeExtension"/></dataref></node>
-<edge source="Acadx2f.RuntimeExtension" target="ObjectARX" />
-
-<node name="Acadx2f.RunTimeSystem"><label>Acad/RunTimeSystem</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/RunTimeSystem"/></dataref></node>
-<edge source="Acadx2f.RunTimeSystem" target="VisualBasic" />
-<edge source="Acadx2f.RunTimeSystem" target="VisualLisp" />
-
-<node name="Acadx2f.SampleLispPrograms"><label>Acad/SampleLispPrograms</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/SampleLispPrograms"/></dataref></node>
-<edge source="Acadx2f.SampleLispPrograms" target="CategoryFaq" />
-<edge source="Acadx2f.SampleLispPrograms" target="AutoLispFaq" />
-<edge source="Acadx2f.SampleLispPrograms" target="AutoCadEntityAccess" />
-<edge source="Acadx2f.SampleLispPrograms" target="GloballyChange" />
-<edge source="Acadx2f.SampleLispPrograms" target="PlotDialogFromLisp" />
-<edge source="Acadx2f.SampleLispPrograms" target="EntmodEntmakeLayers" />
-<edge source="Acadx2f.SampleLispPrograms" target="SelectMultipleFiles" />
-<edge source="Acadx2f.SampleLispPrograms" target="ReplaceMultipleBlocks" />
-<edge source="Acadx2f.SampleLispPrograms" target="ViewportEntity" />
-<edge source="Acadx2f.SampleLispPrograms" target="AllVisibleObjects" />
-<edge source="Acadx2f.SampleLispPrograms" target="WriteXyzData" />
-
-<node name="Acadx2f.scheme"><label>Acad/scheme</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/scheme"/></dataref></node>
-<edge source="Acadx2f.scheme" target="StructureAndInterpretationOfComputerPrograms" />
-
-<node name="Acadx2f.SelectMultipleFiles"><label>Acad/SelectMultipleFiles</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/SelectMultipleFiles"/></dataref></node>
-<edge source="Acadx2f.SelectMultipleFiles" target="CategoryFaq" />
-<edge source="Acadx2f.SelectMultipleFiles" target="AutoLispFaq" />
-<edge source="Acadx2f.SelectMultipleFiles" target="EntmodEntmakeLayers" />
-<edge source="Acadx2f.SelectMultipleFiles" target="ReplaceMultipleBlocks" />
-<edge source="Acadx2f.SelectMultipleFiles" target="ToDo" />
-
-<node name="Acadx2f.ShadowRenderingAlgorithms"><label>Acad/ShadowRenderingAlgorithms</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/ShadowRenderingAlgorithms"/></dataref></node>
-<edge source="Acadx2f.ShadowRenderingAlgorithms" target="CategoryAlgorithms" />
-
-<node name="Acadx2f.SoftwareProtection"><label>Acad/SoftwareProtection</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/SoftwareProtection"/></dataref></node>
-<edge source="Acadx2f.SoftwareProtection" target="EducationalSoftwareProtection" />
-<edge source="Acadx2f.SoftwareProtection" target="LegalSoftwareProtection" />
-<edge source="Acadx2f.SoftwareProtection" target="TechnicalSoftwareProtection" />
-<edge source="Acadx2f.SoftwareProtection" target="IntellectualProperty" />
-<edge source="Acadx2f.SoftwareProtection" target="CategoryDevelopment" />
-
-<node name="Acadx2f.SortingWithAutoLisp"><label>Acad/SortingWithAutoLisp</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/SortingWithAutoLisp"/></dataref></node>
-<edge source="Acadx2f.SortingWithAutoLisp" target="CategoryFaq" />
-<edge source="Acadx2f.SortingWithAutoLisp" target="AutoLispFaq" />
-<edge source="Acadx2f.SortingWithAutoLisp" target="AutoLispProblems" />
-<edge source="Acadx2f.SortingWithAutoLisp" target="ReCursion" />
-<edge source="Acadx2f.SortingWithAutoLisp" target="AutoDesk" />
-
-<node name="Acadx2f.SpinOff"><label>Acad/SpinOff</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/SpinOff"/></dataref></node>
-
-<node name="Acadx2f.Splines"><label>Acad/Splines</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/Splines"/></dataref></node>
-<edge source="Acadx2f.Splines" target="CategoryAlgorithms" />
-
-<node name="Acadx2f.StabiLity"><label>Acad/StabiLity</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/StabiLity"/></dataref></node>
-<edge source="Acadx2f.StabiLity" target="CategoryStdlib" />
-<edge source="Acadx2f.StabiLity" target="AutoLispStdlib" />
-<edge source="Acadx2f.StabiLity" target="StabiLity" />
-<edge source="Acadx2f.StabiLity" target="CompatibiLity" />
-<edge source="Acadx2f.StabiLity" target="PerFormance" />
-<edge source="Acadx2f.StabiLity" target="ReadAbility" />
-<edge source="Acadx2f.StabiLity" target="ExtendabiLity" />
-<edge source="Acadx2f.StabiLity" target="ADS" />
-<edge source="Acadx2f.StabiLity" target="LocalizationIssues" />
-<edge source="Acadx2f.StabiLity" target="StackOverflow" />
-<edge source="Acadx2f.StabiLity" target="IterAtion" />
-
-<node name="Acadx2f.StackOverflow"><label>Acad/StackOverflow</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/StackOverflow"/></dataref></node>
-<edge source="Acadx2f.StackOverflow" target="CategoryFaq" />
-<edge source="Acadx2f.StackOverflow" target="AutoLispFaq" />
-<edge source="Acadx2f.StackOverflow" target="VariableNumberOfArguments" />
-<edge source="Acadx2f.StackOverflow" target="CommandBlaDoesNotWork" />
-<edge source="Acadx2f.StackOverflow" target="VitalLisp" />
-<edge source="Acadx2f.StackOverflow" target="VisualLisp" />
-<edge source="Acadx2f.StackOverflow" target="RunTimeSystem" />
-<edge source="Acadx2f.StackOverflow" target="StackSize" />
-<edge source="Acadx2f.StackOverflow" target="ConversionToIterative" />
-
-<node name="Acadx2f.StackSize"><label>Acad/StackSize</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/StackSize"/></dataref></node>
-
-<node name="Acadx2f.STDENT"><label>Acad/STDENT</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/STDENT"/></dataref></node>
-<edge source="Acadx2f.STDENT" target="AutoLispStdlib" />
-<edge source="Acadx2f.STDENT" target="STDINPUT" />
-<edge source="Acadx2f.STDENT" target="STDTBL" />
-<edge source="Acadx2f.STDENT" target="STDPOINT" />
-<edge source="Acadx2f.STDENT" target="ENTMAKE" />
-<edge source="Acadx2f.STDENT" target="CategoryStdlibModule" />
-
-<node name="Acadx2f.STDERROR"><label>Acad/STDERROR</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/STDERROR"/></dataref></node>
-<edge source="Acadx2f.STDERROR" target="AutoLispStdlib" />
-<edge source="Acadx2f.STDERROR" target="STDMISC" />
-<edge source="Acadx2f.STDERROR" target="ENTMAKE" />
-<edge source="Acadx2f.STDERROR" target="CategoryStdlibModule" />
-
-<node name="Acadx2f.STDFILE"><label>Acad/STDFILE</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/STDFILE"/></dataref></node>
-<edge source="Acadx2f.STDFILE" target="AutoLispStdlib" />
-<edge source="Acadx2f.STDFILE" target="STDLISP" />
-<edge source="Acadx2f.STDFILE" target="STDINIT2" />
-<edge source="Acadx2f.STDFILE" target="CategoryStdlibModule" />
-
-<node name="Acadx2f.STDINIT"><label>Acad/STDINIT</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/STDINIT"/></dataref></node>
-<edge source="Acadx2f.STDINIT" target="AutoLispStdlib" />
-<edge source="Acadx2f.STDINIT" target="STDMODUL" />
-<edge source="Acadx2f.STDINIT" target="CategoryStdlibModule" />
-
-<node name="Acadx2f.STDINIT2"><label>Acad/STDINIT2</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/STDINIT2"/></dataref></node>
-<edge source="Acadx2f.STDINIT2" target="AutoLispStdlib" />
-<edge source="Acadx2f.STDINIT2" target="STDFILE" />
-<edge source="Acadx2f.STDINIT2" target="STDMATH" />
-<edge source="Acadx2f.STDINIT2" target="CategoryStdlib" />
-
-<node name="Acadx2f.STDINPUT"><label>Acad/STDINPUT</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/STDINPUT"/></dataref></node>
-<edge source="Acadx2f.STDINPUT" target="AutoLispStdlib" />
-<edge source="Acadx2f.STDINPUT" target="STDTIME" />
-<edge source="Acadx2f.STDINPUT" target="STDENT" />
-<edge source="Acadx2f.STDINPUT" target="CategoryStdlibModule" />
-
-<node name="Acadx2f.STDLISP"><label>Acad/STDLISP</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/STDLISP"/></dataref></node>
-<edge source="Acadx2f.STDLISP" target="AutoLispStdlib" />
-<edge source="Acadx2f.STDLISP" target="STDLIST" />
-<edge source="Acadx2f.STDLISP" target="STDFILE" />
-<edge source="Acadx2f.STDLISP" target="CategoryStdlibModule" />
-
-<node name="Acadx2f.STDLIST"><label>Acad/STDLIST</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/STDLIST"/></dataref></node>
-<edge source="Acadx2f.STDLIST" target="AutoLispStdlib" />
-<edge source="Acadx2f.STDLIST" target="STDSTR" />
-<edge source="Acadx2f.STDLIST" target="STDLISP" />
-<edge source="Acadx2f.STDLIST" target="STDPOINT" />
-<edge source="Acadx2f.STDLIST" target="CategoryStdlibModule" />
-
-<node name="Acadx2f.STDLOCAL"><label>Acad/STDLOCAL</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/STDLOCAL"/></dataref></node>
-<edge source="Acadx2f.STDLOCAL" target="AutoLispStdlib" />
-<edge source="Acadx2f.STDLOCAL" target="STDERROR" />
-<edge source="Acadx2f.STDLOCAL" target="ENTMAKE" />
-<edge source="Acadx2f.STDLOCAL" target="CategoryStdlibModule" />
-
-<node name="Acadx2f.STDMATH"><label>Acad/STDMATH</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/STDMATH"/></dataref></node>
-<edge source="Acadx2f.STDMATH" target="AutoLispStdlib" />
-<edge source="Acadx2f.STDMATH" target="STDINIT2" />
-<edge source="Acadx2f.STDMATH" target="STDPOINT" />
-<edge source="Acadx2f.STDMATH" target="CategoryStdlibModule" />
-
-<node name="Acadx2f.STDMISC"><label>Acad/STDMISC</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/STDMISC"/></dataref></node>
-<edge source="Acadx2f.STDMISC" target="AutoLispStdlib" />
-<edge source="Acadx2f.STDMISC" target="STDTBL" />
-<edge source="Acadx2f.STDMISC" target="STDERROR" />
-<edge source="Acadx2f.STDMISC" target="CategoryStdlibModule" />
-
-<node name="Acadx2f.STDMODUL"><label>Acad/STDMODUL</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/STDMODUL"/></dataref></node>
-<edge source="Acadx2f.STDMODUL" target="AutoLispStdlib" />
-<edge source="Acadx2f.STDMODUL" target="STDINIT" />
-<edge source="Acadx2f.STDMODUL" target="STDSTR" />
-<edge source="Acadx2f.STDMODUL" target="CategoryStdlibModule" />
-
-<node name="Acadx2f.STDPOINT"><label>Acad/STDPOINT</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/STDPOINT"/></dataref></node>
-<edge source="Acadx2f.STDPOINT" target="AutoLispStdlib" />
-<edge source="Acadx2f.STDPOINT" target="STDMATH" />
-<edge source="Acadx2f.STDPOINT" target="STDTIME" />
-<edge source="Acadx2f.STDPOINT" target="STDLIST" />
-<edge source="Acadx2f.STDPOINT" target="STDENT" />
-<edge source="Acadx2f.STDPOINT" target="CategoryStdlibModule" />
-
-<node name="Acadx2f.STDSTR"><label>Acad/STDSTR</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/STDSTR"/></dataref></node>
-<edge source="Acadx2f.STDSTR" target="AutoLispStdlib" />
-<edge source="Acadx2f.STDSTR" target="STDMODUL" />
-<edge source="Acadx2f.STDSTR" target="STDLIST" />
-<edge source="Acadx2f.STDSTR" target="CategoryStdlibModule" />
-
-<node name="Acadx2f.STDTBL"><label>Acad/STDTBL</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/STDTBL"/></dataref></node>
-<edge source="Acadx2f.STDTBL" target="AutoLispStdlib" />
-<edge source="Acadx2f.STDTBL" target="STDENT" />
-<edge source="Acadx2f.STDTBL" target="STDMISC" />
-<edge source="Acadx2f.STDTBL" target="STDINPUT" />
-<edge source="Acadx2f.STDTBL" target="CategoryStdlibModule" />
-
-<node name="Acadx2f.STDTIME"><label>Acad/STDTIME</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/STDTIME"/></dataref></node>
-<edge source="Acadx2f.STDTIME" target="AutoLispStdlib" />
-<edge source="Acadx2f.STDTIME" target="STDPOINT" />
-<edge source="Acadx2f.STDTIME" target="STDINPUT" />
-<edge source="Acadx2f.STDTIME" target="CategoryStdlibModule" />
-
-<node name="Acadx2f.StringManipulation"><label>Acad/StringManipulation</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/StringManipulation"/></dataref></node>
-<edge source="Acadx2f.StringManipulation" target="CategoryFaq" />
-<edge source="Acadx2f.StringManipulation" target="AutoLispFaq" />
-<edge source="Acadx2f.StringManipulation" target="ListManipulation" />
-<edge source="Acadx2f.StringManipulation" target="SymbolToString" />
-<edge source="Acadx2f.StringManipulation" target="STDSTR" />
-<edge source="Acadx2f.StringManipulation" target="AutoLispStdlib" />
-
-<node name="Acadx2f.StructureAndInterpretationOfComputerPrograms"><label>Acad/StructureAndInterpretationOfComputerPrograms</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/StructureAndInterpretationOfComputerPrograms"/></dataref></node>
-<edge source="Acadx2f.StructureAndInterpretationOfComputerPrograms" target="NewsGroup" />
-
-<node name="Acadx2f.SurfaceApproximationUsingWavelets"><label>Acad/SurfaceApproximationUsingWavelets</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/SurfaceApproximationUsingWavelets"/></dataref></node>
-<edge source="Acadx2f.SurfaceApproximationUsingWavelets" target="CategoryAlgorithms" />
-
-<node name="Acadx2f.SurfaceDetailAugmentation"><label>Acad/SurfaceDetailAugmentation</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/SurfaceDetailAugmentation"/></dataref></node>
-<edge source="Acadx2f.SurfaceDetailAugmentation" target="CategoryAlgorithms" />
-
-<node name="Acadx2f.SurfaceFitting"><label>Acad/SurfaceFitting</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/SurfaceFitting"/></dataref></node>
-
-<node name="Acadx2f.SymbolToString"><label>Acad/SymbolToString</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/SymbolToString"/></dataref></node>
-<edge source="Acadx2f.SymbolToString" target="CategoryFaq" />
-<edge source="Acadx2f.SymbolToString" target="AutoLispFaq" />
-<edge source="Acadx2f.SymbolToString" target="StringManipulation" />
-<edge source="Acadx2f.SymbolToString" target="AutoCadEntityAccess" />
-<edge source="Acadx2f.SymbolToString" target="STDINIT" />
-
-<node name="Acadx2f.S__STARTUP"><label>Acad/S__STARTUP</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/S__STARTUP"/></dataref></node>
-<edge source="Acadx2f.S__STARTUP" target="CategoryFaq" />
-<edge source="Acadx2f.S__STARTUP" target="AutoLispFaq" />
-<edge source="Acadx2f.S__STARTUP" target="IterAtion" />
-<edge source="Acadx2f.S__STARTUP" target="HowToAutoload" />
-<edge source="Acadx2f.S__STARTUP" target="AutoCadLibraryPath" />
-<edge source="Acadx2f.S__STARTUP" target="ACOMP" />
-
-<node name="Acadx2f.TableData"><label>Acad/TableData</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/TableData"/></dataref></node>
-<edge source="Acadx2f.TableData" target="TableData" />
-<edge source="Acadx2f.TableData" target="ExtendedEntityData" />
-<edge source="Acadx2f.TableData" target="AutomaticPurge" />
-
-<node name="Acadx2f.TechnicalSoftwareProtection"><label>Acad/TechnicalSoftwareProtection</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/TechnicalSoftwareProtection"/></dataref></node>
-<edge source="Acadx2f.TechnicalSoftwareProtection" target="SoftwareProtection" />
-<edge source="Acadx2f.TechnicalSoftwareProtection" target="CategoryDevelopment" />
-
-<node name="Acadx2f.TenLinks"><label>Acad/TenLinks</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/TenLinks"/></dataref></node>
-
-<node name="Acadx2f.TestImageLinks"><label>Acad/TestImageLinks</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/TestImageLinks"/></dataref></node>
-<edge source="Acadx2f.TestImageLinks" target="TestPage" />
-
-<node name="Acadx2f.ThreeLiner"><label>Acad/ThreeLiner</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/ThreeLiner"/></dataref></node>
-
-<node name="Acadx2f.ToDo"><label>Acad/ToDo</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/ToDo"/></dataref></node>
-<edge source="Acadx2f.ToDo" target="WantedPages" />
-<edge source="Acadx2f.ToDo" target="ToDo" />
-<edge source="Acadx2f.ToDo" target="AccessBlockAttributes" />
-<edge source="Acadx2f.ToDo" target="AccessPolylineVertices" />
-<edge source="Acadx2f.ToDo" target="AllVisibleObjects" />
-<edge source="Acadx2f.ToDo" target="AutoCadEntityAccess" />
-<edge source="Acadx2f.ToDo" target="BlockAttributes" />
-<edge source="Acadx2f.ToDo" target="BreakLispCommand" />
-<edge source="Acadx2f.ToDo" target="BulgeConversion" />
-<edge source="Acadx2f.ToDo" target="CenterOfPolyline" />
-<edge source="Acadx2f.ToDo" target="ChangeWidthOfMultiplePolylines" />
-<edge source="Acadx2f.ToDo" target="CommandBlaDoesNotWork" />
-<edge source="Acadx2f.ToDo" target="CreatePolylineOrSpline" />
-<edge source="Acadx2f.ToDo" target="DclListboxesWithTabs" />
-<edge source="Acadx2f.ToDo" target="DecodeAcis" />
-<edge source="Acadx2f.ToDo" target="EntmakeComplexEntity" />
-<edge source="Acadx2f.ToDo" target="EntmodEntmakeLayers" />
-<edge source="Acadx2f.ToDo" target="ExtendedEntityData" />
-<edge source="Acadx2f.ToDo" target="FaqAcknowledgements" />
-<edge source="Acadx2f.ToDo" target="FaqDisclaimer" />
-<edge source="Acadx2f.ToDo" target="FaqLocations" />
-<edge source="Acadx2f.ToDo" target="GloballyChange" />
-<edge source="Acadx2f.ToDo" target="JoinMultipleLines" />
-<edge source="Acadx2f.ToDo" target="LengthOfPolylines" />
-<edge source="Acadx2f.ToDo" target="ModifyBlockAttributes" />
-<edge source="Acadx2f.ToDo" target="PlotDialogFromLisp" />
-<edge source="Acadx2f.ToDo" target="PolyLines" />
-<edge source="Acadx2f.ToDo" target="RecentFaqChanges" />
-<edge source="Acadx2f.ToDo" target="ReplaceMultipleBlocks" />
-<edge source="Acadx2f.ToDo" target="RevertPolyline" />
-<edge source="Acadx2f.ToDo" target="SampleLispPrograms" />
-<edge source="Acadx2f.ToDo" target="SelectMultipleFiles" />
-<edge source="Acadx2f.ToDo" target="StringManipulation" />
-<edge source="Acadx2f.ToDo" target="SymbolToString" />
-<edge source="Acadx2f.ToDo" target="UnlimitedNumberOfUserPrompts" />
-<edge source="Acadx2f.ToDo" target="UpdateBlockAttributes" />
-<edge source="Acadx2f.ToDo" target="UserFaqForCode" />
-<edge source="Acadx2f.ToDo" target="ViewportEntity" />
-<edge source="Acadx2f.ToDo" target="WriteXyzData" />
-<edge source="Acadx2f.ToDo" target="CategoryWikiDevelopment" />
-
-<node name="Acadx2f.TrilinearMIPMapping"><label>Acad/TrilinearMIPMapping</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/TrilinearMIPMapping"/></dataref></node>
-<edge source="Acadx2f.TrilinearMIPMapping" target="CategoryAlgorithms" />
-
-<node name="Acadx2f.TypicalProblem"><label>Acad/TypicalProblem</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/TypicalProblem"/></dataref></node>
-<edge source="Acadx2f.TypicalProblem" target="TypicalProblem" />
-<edge source="Acadx2f.TypicalProblem" target="AntiPattern" />
-<edge source="Acadx2f.TypicalProblem" target="WhereIsThisKeyOnThisShxx" />
-<edge source="Acadx2f.TypicalProblem" target="CategoryPattern" />
-
-<node name="Acadx2f.UnlimitedNumberOfUserPrompts"><label>Acad/UnlimitedNumberOfUserPrompts</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/UnlimitedNumberOfUserPrompts"/></dataref></node>
-<edge source="Acadx2f.UnlimitedNumberOfUserPrompts" target="CategoryFaq" />
-<edge source="Acadx2f.UnlimitedNumberOfUserPrompts" target="AutoLispFaq" />
-<edge source="Acadx2f.UnlimitedNumberOfUserPrompts" target="BreakLispCommand" />
-<edge source="Acadx2f.UnlimitedNumberOfUserPrompts" target="DecodeAcis" />
-<edge source="Acadx2f.UnlimitedNumberOfUserPrompts" target="AutomaticPurge" />
-<edge source="Acadx2f.UnlimitedNumberOfUserPrompts" target="STDMISC" />
-
-<node name="Acadx2f.UpdateBlockAttributes"><label>Acad/UpdateBlockAttributes</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/UpdateBlockAttributes"/></dataref></node>
-<edge source="Acadx2f.UpdateBlockAttributes" target="CategoryFaq" />
-<edge source="Acadx2f.UpdateBlockAttributes" target="AutoLispFaq" />
-<edge source="Acadx2f.UpdateBlockAttributes" target="ModifyBlockAttributes" />
-<edge source="Acadx2f.UpdateBlockAttributes" target="EntmakeComplexEntity" />
-
-<node name="Acadx2f.UpFront"><label>Acad/UpFront</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/UpFront"/></dataref></node>
-<edge source="Acadx2f.UpFront" target="CadNewsLetters" />
-<edge source="Acadx2f.UpFront" target="TenLinks" />
-
-<node name="Acadx2f.UserFaqForCode"><label>Acad/UserFaqForCode</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/UserFaqForCode"/></dataref></node>
-<edge source="Acadx2f.UserFaqForCode" target="CategoryFaq" />
-<edge source="Acadx2f.UserFaqForCode" target="AutoLispFaq" />
-<edge source="Acadx2f.UserFaqForCode" target="DecodeAcis" />
-<edge source="Acadx2f.UserFaqForCode" target="FaqDisclaimer" />
-
-<node name="Acadx2f.UserPreferences"><label>Acad/UserPreferences</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/UserPreferences"/></dataref></node>
-<edge source="Acadx2f.UserPreferences" target="UserPreferences" />
-<edge source="Acadx2f.UserPreferences" target="CategoryWikiDevelopment" />
-
-<node name="Acadx2f.VariableNumberOfArguments"><label>Acad/VariableNumberOfArguments</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/VariableNumberOfArguments"/></dataref></node>
-<edge source="Acadx2f.VariableNumberOfArguments" target="CategoryFaq" />
-<edge source="Acadx2f.VariableNumberOfArguments" target="CategoryDevelopmentInAutoLisp" />
-<edge source="Acadx2f.VariableNumberOfArguments" target="AutoLispFaq" />
-<edge source="Acadx2f.VariableNumberOfArguments" target="HowToAutoload" />
-<edge source="Acadx2f.VariableNumberOfArguments" target="StackOverflow" />
-<edge source="Acadx2f.VariableNumberOfArguments" target="ReiniUrban" />
-<edge source="Acadx2f.VariableNumberOfArguments" target="VladimirNesterovsky" />
-<edge source="Acadx2f.VariableNumberOfArguments" target="AutodeskSdk" />
-<edge source="Acadx2f.VariableNumberOfArguments" target="AutoLisp" />
-<edge source="Acadx2f.VariableNumberOfArguments" target="VisualLisp" />
-<edge source="Acadx2f.VariableNumberOfArguments" target="CommonLisp" />
-<edge source="Acadx2f.VariableNumberOfArguments" target="ADS" />
-
-<node name="Acadx2f.Vectorization"><label>Acad/Vectorization</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/Vectorization"/></dataref></node>
-<edge source="Acadx2f.Vectorization" target="RasterToVector" />
-
-<node name="Acadx2f.VendorLockin"><label>Acad/VendorLockin</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/VendorLockin"/></dataref></node>
-<edge source="Acadx2f.VendorLockin" target="AntiPattern" />
-
-<node name="Acadx2f.ViewportEntity"><label>Acad/ViewportEntity</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/ViewportEntity"/></dataref></node>
-<edge source="Acadx2f.ViewportEntity" target="CategoryFaq" />
-<edge source="Acadx2f.ViewportEntity" target="AutoLispFaq" />
-<edge source="Acadx2f.ViewportEntity" target="ReplaceMultipleBlocks" />
-<edge source="Acadx2f.ViewportEntity" target="AllVisibleObjects" />
-<edge source="Acadx2f.ViewportEntity" target="PixelOffByOneError" />
-
-<node name="Acadx2f.VisualBasic"><label>Acad/VisualBasic</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/VisualBasic"/></dataref></node>
-
-<node name="Acadx2f.VisualLisp"><label>Acad/VisualLisp</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/VisualLisp"/></dataref></node>
-<edge source="Acadx2f.VisualLisp" target="CategoryFaq" />
-<edge source="Acadx2f.VisualLisp" target="AutoLispFaq" />
-<edge source="Acadx2f.VisualLisp" target="ACOMP" />
-<edge source="Acadx2f.VisualLisp" target="AutoLispCompilers" />
-<edge source="Acadx2f.VisualLisp" target="VitalLisp" />
-<edge source="Acadx2f.VisualLisp" target="CommonLisp" />
-<edge source="Acadx2f.VisualLisp" target="ProtectAutoLisp" />
-<edge source="Acadx2f.VisualLisp" target="WhatChangedWithAutoCAD2000" />
-<edge source="Acadx2f.VisualLisp" target="VisualLisp" />
-<edge source="Acadx2f.VisualLisp" target="CategoryDevelopmentInAutoLisp" />
-<edge source="Acadx2f.VisualLisp" target="SoftwareProtection" />
-
-<node name="Acadx2f.VisualLisp5WhitePaper"><label>Acad/VisualLisp5WhitePaper</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/VisualLisp5WhitePaper"/></dataref></node>
-<edge source="Acadx2f.VisualLisp5WhitePaper" target="AutoLispProblems" />
-<edge source="Acadx2f.VisualLisp5WhitePaper" target="CannotCreateArx" />
-<edge source="Acadx2f.VisualLisp5WhitePaper" target="AutoLisp" />
-<edge source="Acadx2f.VisualLisp5WhitePaper" target="VisualLisp" />
-<edge source="Acadx2f.VisualLisp5WhitePaper" target="AutoDesk" />
-<edge source="Acadx2f.VisualLisp5WhitePaper" target="GetPathnameOfVLX" />
-
-<node name="Acadx2f.VisualTour"><label>Acad/VisualTour</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/VisualTour"/></dataref></node>
-<edge source="Acadx2f.VisualTour" target="VisualTour" />
-
-<node name="Acadx2f.VladimirNesterovsky"><label>Acad/VladimirNesterovsky</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/VladimirNesterovsky"/></dataref></node>
-<edge source="Acadx2f.VladimirNesterovsky" target="CategoryPerson" />
-<edge source="Acadx2f.VladimirNesterovsky" target="ADS" />
-<edge source="Acadx2f.VladimirNesterovsky" target="VariableNumberOfArguments" />
-<edge source="Acadx2f.VladimirNesterovsky" target="PolyLines" />
-<edge source="Acadx2f.VladimirNesterovsky" target="RevertPolyline" />
-
-<node name="Acadx2f.VolumeRendering"><label>Acad/VolumeRendering</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/VolumeRendering"/></dataref></node>
-<edge source="Acadx2f.VolumeRendering" target="CategoryAlgorithms" />
-
-<node name="Acadx2f.VoxelBasedRendering"><label>Acad/VoxelBasedRendering</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/VoxelBasedRendering"/></dataref></node>
-<edge source="Acadx2f.VoxelBasedRendering" target="CategoryAlgorithms" />
-
-<node name="Acadx2f.WhatChangedWithAutoCAD2000"><label>Acad/WhatChangedWithAutoCAD2000</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/WhatChangedWithAutoCAD2000"/></dataref></node>
-<edge source="Acadx2f.WhatChangedWithAutoCAD2000" target="CategoryFaq" />
-<edge source="Acadx2f.WhatChangedWithAutoCAD2000" target="AutoLispFaq" />
-<edge source="Acadx2f.WhatChangedWithAutoCAD2000" target="FutureOfAutoLisp" />
-<edge source="Acadx2f.WhatChangedWithAutoCAD2000" target="CannotCreateArx" />
-<edge source="Acadx2f.WhatChangedWithAutoCAD2000" target="VisualLisp" />
-<edge source="Acadx2f.WhatChangedWithAutoCAD2000" target="VitalLisp" />
-<edge source="Acadx2f.WhatChangedWithAutoCAD2000" target="VisualLisp5WhitePaper" />
-<edge source="Acadx2f.WhatChangedWithAutoCAD2000" target="LatestRelease" />
-
-<node name="Acadx2f.WhereCanIfind"><label>Acad/WhereCanIfind</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/WhereCanIfind"/></dataref></node>
-<edge source="Acadx2f.WhereCanIfind" target="CategoryFaq" />
-<edge source="Acadx2f.WhereCanIfind" target="AutoLispFaq" />
-<edge source="Acadx2f.WhereCanIfind" target="CannotCreateArx" />
-<edge source="Acadx2f.WhereCanIfind" target="NewsgroupArchives" />
-<edge source="Acadx2f.WhereCanIfind" target="TenLinks" />
-<edge source="Acadx2f.WhereCanIfind" target="UpFront" />
-<edge source="Acadx2f.WhereCanIfind" target="ReiniUrban" />
-<edge source="Acadx2f.WhereCanIfind" target="HotTipHarry" />
-<edge source="Acadx2f.WhereCanIfind" target="AcadX" />
-<edge source="Acadx2f.WhereCanIfind" target="VladimirNesterovsky" />
-<edge source="Acadx2f.WhereCanIfind" target="DotCom" />
-
-<node name="Acadx2f.WhereIsThisKeyOnThisShxx"><label>Acad/WhereIsThisKeyOnThisShxx</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/WhereIsThisKeyOnThisShxx"/></dataref></node>
-<edge source="Acadx2f.WhereIsThisKeyOnThisShxx" target="TypicalProblem" />
-<edge source="Acadx2f.WhereIsThisKeyOnThisShxx" target="CustomizationFriendly" />
-<edge source="Acadx2f.WhereIsThisKeyOnThisShxx" target="WhereIsThisKeyOnThisShxx" />
-
-<node name="Acadx2f.WhyDCLisBetter"><label>Acad/WhyDCLisBetter</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/WhyDCLisBetter"/></dataref></node>
-<edge source="Acadx2f.WhyDCLisBetter" target="DCL" />
-<edge source="Acadx2f.WhyDCLisBetter" target="VendorLockin" />
-
-<node name="Acadx2f.WhyLisp"><label>Acad/WhyLisp</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/WhyLisp"/></dataref></node>
-
-<node name="Acadx2f.WikiErase"><label>Acad/WikiErase</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/WikiErase"/></dataref></node>
-
-<node name="Acadx2f.WikiToDo"><label>Acad/WikiToDo</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/WikiToDo"/></dataref></node>
-<edge source="Acadx2f.WikiToDo" target="PhpWiki" />
-<edge source="Acadx2f.WikiToDo" target="AcadWiki" />
-<edge source="Acadx2f.WikiToDo" target="ChangeLog" />
-<edge source="Acadx2f.WikiToDo" target="ReiniUrban" />
-<edge source="Acadx2f.WikiToDo" target="InterWiki" />
-<edge source="Acadx2f.WikiToDo" target="MagicPhpWikiURLs" />
-<edge source="Acadx2f.WikiToDo" target="UserPreferences" />
-<edge source="Acadx2f.WikiToDo" target="RecentChanges" />
-<edge source="Acadx2f.WikiToDo" target="CategoryWikiDevelopment" />
-
-<node name="Acadx2f.WikiWiki"><label>Acad/WikiWiki</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/WikiWiki"/></dataref></node>
-
-<node name="Acadx2f.WikiWikiWeb"><label>Acad/WikiWikiWeb</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/WikiWikiWeb"/></dataref></node>
-<edge source="Acadx2f.WikiWikiWeb" target="WikiWikiWeb" />
-<edge source="Acadx2f.WikiWikiWeb" target="WikiErase" />
-<edge source="Acadx2f.WikiWikiWeb" target="RecentVisitors" />
-<edge source="Acadx2f.WikiWikiWeb" target="HowToUseWiki" />
-<edge source="Acadx2f.WikiWikiWeb" target="EditText" />
-<edge source="Acadx2f.WikiWikiWeb" target="AddingPages" />
-<edge source="Acadx2f.WikiWikiWeb" target="ReiniUrban" />
-
-<node name="Acadx2f.WikiWords"><label>Acad/WikiWords</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/WikiWords"/></dataref></node>
-<edge source="Acadx2f.WikiWords" target="WikiWikiWeb" />
-
-<node name="Acadx2f.WorseIsBetter"><label>Acad/WorseIsBetter</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/WorseIsBetter"/></dataref></node>
-<edge source="Acadx2f.WorseIsBetter" target="DoTheRightThing" />
-<edge source="Acadx2f.WorseIsBetter" target="KissStyle" />
-<edge source="Acadx2f.WorseIsBetter" target="NaziInterface" />
-
-<node name="Acadx2f.WriteXyzData"><label>Acad/WriteXyzData</label><dataref><ref xlink:href="http://reini/wiki/sidebar/Acad/WriteXyzData"/></dataref></node>
-<edge source="Acadx2f.WriteXyzData" target="CategoryFaq" />
-<edge source="Acadx2f.WriteXyzData" target="AutoLispFaq" />
-<edge source="Acadx2f.WriteXyzData" target="AllVisibleObjects" />
-<edge source="Acadx2f.WriteXyzData" target="BlockAttributes" />
-<edge source="Acadx2f.WriteXyzData" target="AutoCadEntityAccess" />
-<edge source="Acadx2f.WriteXyzData" target="AccessPolylineVertices" />
-
-<node name="AllComma"><label>AllComma</label><dataref><ref xlink:href="http://reini/wiki/sidebar/AllComma"/></dataref></node>
-
-<node name="DebianBugs"><label>DebianBugs</label><dataref><ref xlink:href="http://reini/wiki/sidebar/DebianBugs"/></dataref></node>
-<edge source="DebianBugs" target="PhpWiki" />
-
-<node name="ReiniUrbanx2f.Calendarx2f.2004-09-23"><label>ReiniUrban/Calendar/2004-09-23</label><dataref><ref xlink:href="http://reini/wiki/sidebar/ReiniUrban/Calendar/2004-09-23"/></dataref></node>
-<edge source="ReiniUrbanx2f.Calendarx2f.2004-09-23" target="ReiniUrbanx2f.Calendarx2f.2004-09-23" />
-
-<node name="x"><label>x</label><dataref><ref xlink:href="http://reini/wiki/sidebar/x"/></dataref></node>
-
-<node name="SearchHighlight"><label>SearchHighlight</label><dataref><ref xlink:href="http://reini/wiki/sidebar/SearchHighlight"/></dataref></node>
-
-<node name="SortHits"><label>SortHits</label><dataref><ref xlink:href="http://reini/wiki/sidebar/SortHits"/></dataref></node>
-
-<node name="rurbanx2f.Calendarx2f.2004-10-12"><label>rurban/Calendar/2004-10-12</label><dataref><ref xlink:href="http://reini/wiki/sidebar/rurban/Calendar/2004-10-12"/></dataref></node>
-<edge source="rurbanx2f.Calendarx2f.2004-10-12" target="rurbanx2f.Calendarx2f.2004-10-12" />
-
-<node name="rurbanx2f.Calendarx2f.2004-10-06"><label>rurban/Calendar/2004-10-06</label><dataref><ref xlink:href="http://reini/wiki/sidebar/rurban/Calendar/2004-10-06"/></dataref></node>
-<edge source="rurbanx2f.Calendarx2f.2004-10-06" target="rurbanx2f.Calendarx2f.2004-10-06" />
-
-<node name="RecentReferrer"><label>RecentReferrer</label><dataref><ref xlink:href="http://reini/wiki/sidebar/RecentReferrer"/></dataref></node>
-
-<node name="RecentReferrers"><label>RecentReferrers</label><dataref><ref xlink:href="http://reini/wiki/sidebar/RecentReferrers"/></dataref></node>
-
-<node name="SearchHighlightPlugin"><label>SearchHighlightPlugin</label><dataref><ref xlink:href="http://reini/wiki/sidebar/SearchHighlightPlugin"/></dataref></node>
-<edge source="SearchHighlightPlugin" target="WikiPlugin" />
-
-<node name="OldTextFormattingRules"><label>OldTextFormattingRules</label><dataref><ref xlink:href="http://reini/wiki/sidebar/OldTextFormattingRules"/></dataref></node>
-<edge source="OldTextFormattingRules" target="PhpWikiDocumentation" />
-<edge source="OldTextFormattingRules" target="MagicPhpWikiURLs" />
-<edge source="OldTextFormattingRules" target="OldStyleTablePlugin" />
-<edge source="OldTextFormattingRules" target="HomePage" />
-<edge source="OldTextFormattingRules" target="OldTextFormattingRules" />
-
-<node name="ModeratedPage"><label>ModeratedPage</label><dataref><ref xlink:href="http://reini/wiki/sidebar/ModeratedPage"/></dataref></node>
-<edge source="ModeratedPage" target="WikiPlugin" />
-<edge source="ModeratedPage" target="PhpWikiDocumentation" />
-<edge source="ModeratedPage" target="UserPreferences" />
-<edge source="ModeratedPage" target="ModeratedPage" />
-
-<node name="WikiFormRichTest"><label>WikiFormRichTest</label><dataref><ref xlink:href="http://reini/wiki/sidebar/WikiFormRichTest"/></dataref></node>
-<edge source="WikiFormRichTest" target="CommentPlugin" />
-<edge source="WikiFormRichTest" target="CalendarPlugin" />
-
-<node name="AppendText"><label>AppendText</label><dataref><ref xlink:href="http://reini/wiki/sidebar/AppendText"/></dataref></node>
-
-<node name="AppendTextPlugin"><label>AppendTextPlugin</label><dataref><ref xlink:href="http://reini/wiki/sidebar/AppendTextPlugin"/></dataref></node>
-<edge source="AppendTextPlugin" target="AppendText" />
-<edge source="AppendTextPlugin" target="WikiPlugin" />
-<edge source="AppendTextPlugin" target="AddCommentPlugin" />
-
-<node name="LinkDatabase" class="main"><label>LinkDatabase</label><dataref><ref xlink:href="http://reini/wiki/sidebar/LinkDatabase"/></dataref></node>
-
-<node name="PageGroupTestx2f.One"><label>PageGroupTest/One</label><dataref><ref xlink:href="http://reini/wiki/sidebar/PageGroupTest/One"/></dataref></node>
-<edge source="PageGroupTestx2f.One" target="PageGroupTest" />
-
-<node name="ReiniUrbanx2f.Blog"><label>ReiniUrban/Blog</label><dataref><ref xlink:href="http://reini/wiki/sidebar/ReiniUrban/Blog"/></dataref></node>
-
-<node name="ReiniUrbanx2f.Blogx2f.2004-12-13"><label>ReiniUrban/Blog/2004-12-13</label><dataref><ref xlink:href="http://reini/wiki/sidebar/ReiniUrban/Blog/2004-12-13"/></dataref></node>
-
-<node name="ReiniUrbanx2f.Blogx2f.2004-12-13x2f.12:28:50x2b.01:00"><label>ReiniUrban/Blog/2004-12-13/12:28:50+01:00</label><dataref><ref xlink:href="http://reini/wiki/sidebar/ReiniUrban/Blog/2004-12-13/12%3A28%3A50%2B01%3A00"/></dataref></node>
-
-<node name="BlogHomePage"><label>BlogHomePage</label><dataref><ref xlink:href="http://reini/wiki/sidebar/BlogHomePage"/></dataref></node>
-
-</graph>
-</GraphXML>
-
diff -ruN 1.3.12p3/themes/default/moacdropdown/css/dropdown.css 1.3.14/themes/default/moacdropdown/css/dropdown.css
--- 1.3.12p3/themes/default/moacdropdown/css/dropdown.css	2006-06-18 06:20:12.000000000 -0500
+++ 1.3.14/themes/default/moacdropdown/css/dropdown.css	2007-07-01 05:11:32.000000000 -0500
@@ -11,8 +11,8 @@
 /*	border-color: buttonshadow buttonhighlight buttonhighlight buttonshadow;*/
 	border-color: #aaa #eee #eee #aaa;
 	background-color: buttonface;
-	overflow: show;
-	box-sizing: border-box;
+	/*overflow: show;*/
+	/*box-sizing: border-box;*/
 	-moz-box-sizing: border-box;
 }
 
@@ -27,7 +27,7 @@
 	padding: 0px;
 	clear: none;
 	float: left;
-	box-sizing: border-box;
+	/*box-sizing: border-box;*/
 	-moz-box-sizing: border-box;
 }
 
@@ -36,7 +36,7 @@
 {
 	background-color: #b41b00;
 	-moz-box-sizing: border-box;
-	box-sizing: border-box;
+	/*box-sizing: border-box;*/
 }
 
 div.acinputContainer input.button
@@ -51,7 +51,7 @@
 	background-repeat: no-repeat; 
 	background-position: 2px 2px;
 	-moz-box-sizing: border-box;
-	box-sizing: border-box;
+	/*box-sizing: border-box;*/
 }
 
 input.dropdown
@@ -129,7 +129,7 @@
 ul.autocomplete li
 {
 	padding				: 0px;
-	paddnig-left		: 5px;
+	padding-left		: 5px;
 	background-position : 2px 0px;
 	background-repeat	: no-repeat;
 
@@ -157,20 +157,21 @@
 	/*
 	background-color	: #fcbdb6;
 	color				: #fff;
-	*/
 	background-color	: #0d94df;
+	*/
 	color				: #fff;
 
-	background-color: #f00;
-	background-image: url( ../i/conf.gif );
+	background-color: /*#f00;*/ #004ba6;
+/*	background-image: url( ../i/conf.gif );
 	background-position: center right;
 	background-repeat: no-repeat;
+*/
 }
 
 ul.autocomplete li a:hover.selected
 {
 	border				: 1px solid #e0e0e0;
 	color				: white;
-	background-color	: #f00;
+	background-color	: /*#f00;*/ #004ba6;
 	background-image: none;
 }
diff -ruN 1.3.12p3/themes/default/moacdropdown/examples.html 1.3.14/themes/default/moacdropdown/examples.html
--- 1.3.12p3/themes/default/moacdropdown/examples.html	2006-06-18 06:20:12.000000000 -0500
+++ 1.3.14/themes/default/moacdropdown/examples.html	2007-07-01 05:11:32.000000000 -0500
@@ -91,7 +91,7 @@
 					<input class="dropdown" autocomplete="off" id="inputer2" style="width: 250px;" acdropdown="true" autocomplete_list="array:emails" autocomplete_list_sort="true" autocomplete_matchsubstring="true">
 					<br/>
 					<br/>
-<textarea name="code" language="xml">
+<textarea name="code" language="xml" cols="60" rows="6">
 &lt;input class="dropdown" autocomplete="off" id="inputer2" style="width: 250px;" <span class="hilite">acdropdown="true" autocomplete_list="array:emails" autocomplete_list_sort="true" autocomplete_matchsubstring="true"</span>&gt;
 </textarea>
 					<br/>
@@ -106,7 +106,7 @@
 					</span>
 					<br/>
 					<br/>
-<textarea name="code" language="xml">
+<textarea name="code" language="xml" cols="60" rows="6">
 &lt;input class="dropdown" autocomplete="off" id="inputer2" style="width: 250px;" acdropdown="true" autocomplete_list="array:emails" autocomplete_list_sort="true" autocomplete_matchsubstring="true"&gt;
 </textarea>
 				</div>
@@ -130,7 +130,7 @@
 					<br/>
 					<a href="#" target="codeblock:monthDaysToggleCode">code</a>
 					<div id="monthDaysToggleCode" class="code">
-<textarea name="code" language="xml">
+<textarea name="code" language="xml" cols="60" rows="6">
 &lt;input class="dropdown" autocomplete="off" id="inputer4" style="width: 250px;" acdropdown="true" autocomplete_list="array:months"&gt;
 <br/>
 &lt;input value="set to days" onclick="document.getElementById('inputer4').hAutocomplete.setListArray( days ); document.getElementById('inputer4').focus()" type="button"&gt;
@@ -150,7 +150,7 @@
 					<br/>
 					<a href="#" target="codeblock:autocompleteCountriesCode">code</a>
 					<div id="autocompleteCountriesCode" class="code">
-<textarea name="code" language="xml">
+<textarea name="code" language="xml" cols="60" rows="6">
 &lt;input class="dropdown" autocomplete="off" style="width: 250px;" acdropdown="true" autocomplete_list="array:aCountries" autocomplete_format="formatCountries" autocomplete_complete="true"&gt;
 </textarea>
 					</div>
@@ -881,7 +881,7 @@
 					<br/>
 					<a href="#" target="codeblock:autocompleteCountriesSelectCode">code</a>
 					<div id="autocompleteCountriesSelectCode" class="code">
-<textarea name="code" language="xml">
+<textarea name="code" language="xml" cols="60" rows="6">
 &lt;select acdropdown=true name=country&gt;
 &lt;option value="af" &gt;Afghanistan
 ...
@@ -895,11 +895,11 @@
 					Gmail like autocomplete. You can separate the items by comma. The option autocomplete_forcecorrect="true" is used so if a text typed does not match any item the last typed characters (those which after adding them the list with suggestions was empty) are marked
 					<br/>
 					<br/>
-<textarea class="dropdown" cols="70" autocomplte="off" acdropdown="true" autocomplete_list="array:emails" autocomplete_complete="true" autocomplete_matchsubstring="true" autocomplete_forcecorrect="true"></textarea>
+<textarea class="dropdown" cols="70" autocomplete="off" acdropdown="true" autocomplete_list="array:emails" autocomplete_complete="true" autocomplete_matchsubstring="true" autocomplete_forcecorrect="true"></textarea>
 					<a href="#" target="codeblock:gmailLikeCode">code</a>
 					<div id="gmailLikeCode" class="code">
-<textarea name="code" language="xml">
-&lt;textarea class="dropdown" cols="70" autocomplte="off" acdropdown="true" autocomplete_list="array:emails" autocomplete_complete="true" autocomplete_matchsubstring="true" autocomplete_forcecorrect="true"&gt;&lt;/textarea&gt;
+<textarea name="code" language="xml" cols="60" rows="6">
+&lt;textarea class="dropdown" cols="70" autocomplete="off" acdropdown="true" autocomplete_list="array:emails" autocomplete_complete="true" autocomplete_matchsubstring="true" autocomplete_forcecorrect="true"&gt;&lt;/textarea&gt;
 </textarea>
 					</div>
 				</div>
@@ -914,7 +914,7 @@
 
 					<a href="#" target="codeblock:toggleRemoteLoadingCode">code</a>
 					<div id="toggleRemoteLoadingCode" class="code">
-<textarea name="code" language="xml">
+<textarea name="code" language="xml" cols="60" rows="6">
 &lt;input class="" id="autocomplete_remote" acdropdown="true" autocomplete_list="url:get.php?s=[S]&l=10" tabindex="2" name="testURL"&gt;
 </textarea>
 					</div>
diff -ruN 1.3.12p3/themes/default/moacdropdown/js/acdropdown.js 1.3.14/themes/default/moacdropdown/js/acdropdown.js
--- 1.3.12p3/themes/default/moacdropdown/js/acdropdown.js	2006-06-18 06:20:13.000000000 -0500
+++ 1.3.14/themes/default/moacdropdown/js/acdropdown.js	2007-07-01 05:11:33.000000000 -0500
@@ -8,12 +8,15 @@
 //	:: if you want to use this code PLEASE send me a note
 //	:: and please keep this disclaimer intact
 //
+//  xmlrpc support by Reini Urban for PhpWiki, 2006-12-29
 
 function cAutocomplete( sInputId )
 {
 	this.init( sInputId )
 }
 
+xmlrpc_url = data_path + '/RPC2.php'
+
 cAutocomplete.CS_NAME = 'Autocomplete component'
 cAutocomplete.CS_OBJ_NAME = 'AC_COMPONENT'
 cAutocomplete.CS_LIST_PREFIX = 'ACL_'
@@ -47,8 +50,8 @@
 cAutocomplete.CN_HEIGHT_FIX = 2
 
 cAutocomplete.CN_CLEAR_TIMEOUT = 300
-cAutocomplete.CN_SHOW_TIMEOUT = 300
-cAutocomplete.CN_REMOTE_SHOW_TIMEOUT = 500
+cAutocomplete.CN_SHOW_TIMEOUT = 400
+cAutocomplete.CN_REMOTE_SHOW_TIMEOUT = 1000
 cAutocomplete.CN_MARK_TIMEOUT = 400
 
 cAutocomplete.hListDisplayed = null
@@ -125,6 +128,8 @@
 
 cAutocomplete.prototype.init = function( sInputId )
 {
+    this.bDebug = false
+    /*this.bDebug = true*/
 	this.sInputId = sInputId
 	this.sListId = cAutocomplete.CS_LIST_PREFIX + sInputId
 
@@ -142,7 +147,7 @@
 
 	//if I transform a select option or the supplied array is associative I create a hidden input
 	//with the name of the original input and replace the original input's name
-	this.bAssociative = false
+	this.bAssociative = true
 	this.sHiddenInputId = null
 	this.bHasButton = false
 
@@ -174,7 +179,7 @@
 	var sMatchSubstring = document.getElementById( this.sInputId ).getAttribute( 'autocomplete_matchsubstring' )
 	if( sMatchSubstring != null && sMatchSubstring.length > 0 )
 	{
-		this.bMatchSubstring = true
+		this.bMatchSubstring = eval( sMatchSubstring )
 	}
 
 	//autocomplete with the first option from the list
@@ -192,7 +197,8 @@
 	{
 		this.formatOptions = eval( sFormatFunction )
 	}
-	//onselect callback function - get called when a new option is selected
+	//onselect callback function - get called when a new option is selected, either by changing the focus in the list by using the keyboard or by 
+	//clicking on it with the mouse
 	this.onSelect = null
 	var sOnSelectFunction = document.getElementById( this.sInputId ).getAttribute( 'autocomplete_onselect' )
 	if( sOnSelectFunction != null && sOnSelectFunction.length > 0 )
@@ -200,21 +206,10 @@
 		this.onSelect = eval( sOnSelectFunction )
 	}
 
-	//I assume that we always have the associative type
-	//you can turn it off only with the autocomplete_assoc=false attribute
-	this.bAssociative = true
-	var sAssociative = document.getElementById( this.sInputId ).getAttribute( 'autocomplete_assoc' )
-	if( sAssociative != null && sAssociative.length > 0 )
-	{
-		if( sAssociative == 'false' )
-		{
-			this.bAssociative = false
-		}
-	}
-
-	//if we have remote list then we postpone the list creation
+	//if we have remote list then we postpone the list creation and set associative off
 	if( this.getListArrayType() == 'url' || this.getListArrayType() == 'xmlrpc' )
 	{
+	        this.bAssociative = false
 		this.bRemoteList = true
 		this.sListURL = this.getListURL()
 		this.hXMLHttp = XmlHttp.create()
@@ -225,6 +220,16 @@
 	{
 		this.bRemoteList = false
 	}
+
+	//you can turn associative type on or off (separate name-value pairs) 
+	//with the autocomplete_assoc="true" or "false" attribute.
+	//for remote search it is off
+	var sAssociative = document.getElementById( this.sInputId ).getAttribute( 'autocomplete_assoc' )
+	if( sAssociative != null && sAssociative.length > 0 )
+	{
+	    this.bAssociative = eval( sAssociative )
+	}
+
 	this.initListArray()
 	this.initListContainer()
 	//this.createList()
@@ -240,13 +245,18 @@
 	var hContainer = document.getElementById( this.sListId )
 	hContainer.hAutocomplete = this
 
-	//any element (and it's children) with display:none have offset values of 0 (in mozilla)
-	var hOWInput = hInput.cloneNode( true )
-	hOWInput.style.position = 'absolute'
-	hOWInput.style.top = '-1000px'
-	document.body.appendChild( hOWInput )
-	var nWidth = hOWInput.offsetWidth
-	document.body.removeChild( hOWInput )
+	//any element ( and it's children ) with display:none have offset values of 0 ( in mozilla )
+	var nWidth = hInput.offsetWidth
+	if( !nWidth || nWidth == 0 )
+	{
+		//any element ( and it's children ) with display:none have offset values of 0 ( in mozilla )
+		var hOWInput = hInput.cloneNode( true )
+		hOWInput.style.position = 'absolute'
+		hOWInput.style.top = '-1000px'
+		document.body.appendChild( hOWInput )
+		var nWidth = hOWInput.offsetWidth
+		document.body.removeChild( hOWInput ) 
+ 	}
 
 	var sInputName = hInput.name
 	var hForm = hInput.form
@@ -320,7 +330,7 @@
 
 		hNewInput.type = 'text'
 		hNewInput.value = sValue
-		hNewInput.style.width = nWidth-20
+		hNewInput.style.width = nWidth-22
 		hNewInput.className = cAutocomplete.CS_INPUT_CLASSNAME
 		hNewInput.tabIndex = hInput.tabIndex
 		hNewInput.hAutocomplete = this
@@ -370,10 +380,12 @@
 		if( hForm.attachEvent )
 		{
 			hForm.attachEvent( 'onsubmit', cAutocomplete.onFormSubmit )
+			if (this.bDebug) { this.debug ("attachEvent added") }
 		}
 		else if( hForm.addEventListener )
 		{
 			hForm.addEventListener( 'submit', cAutocomplete.onFormSubmit, false )
+			if (this.bDebug) { this.debug ("addEventListener") }
 		}
 	}
 }
@@ -443,15 +455,32 @@
 
 	var hArr = this.aData
 	var nI = 0
+	var sRealText
 	for( hArrKey in hArr )
 	{
 		sArrEl = hArr[ hArrKey ]
 		hListItem = document.createElement( 'LI' )
 		hListItemLink = document.createElement( 'A' )
 		hListItemLink.setAttribute( 'itemvalue', hArrKey )
+
+		/* so you can attach data to the element */
+		/* it's a hack but seems to work */
+		var sArrData = sArrEl.split( cAutocomplete.CS_ARRAY_SEPARATOR )
+		if( sArrData.length > 1 )
+		{
+			this.aData[ hArrKey ] = sArrData[ 0 ]
+			hListItemLink.setAttribute( 'itemdata', sArrEl.substring( sArrEl.indexOf( cAutocomplete.CS_ARRAY_SEPARATOR ) + 1 ) )
+			sRealText = sArrData[ 0 ]
+		}
+		else
+		{
+			sRealText = sArrEl
+		}
+		/* end of attach data to the element */
+
 		hListItemLink.href = '#'
-		hListItemLink.appendChild( document.createTextNode( sArrEl ) )
-		hListItemLink.realText = sArrEl
+		hListItemLink.appendChild( document.createTextNode( sRealText ) )
+		hListItemLink.realText = sRealText
 		if( nI == this.nSelectedItemIdx )
 		{
 			this.hActiveSelection = hListItemLink
@@ -459,7 +488,7 @@
 		}
 		hListItem.appendChild( hListItemLink )
 		hList.appendChild( hListItem )
-		this.aSearchData[ nI++ ] = sArrEl.toLowerCase()
+		this.aSearchData[ nI++ ] = sRealText.toLowerCase()
 	}
 	var hSecondBorder = hContainer.firstChild.firstChild
 	hSecondBorder.appendChild( hList )
@@ -496,26 +525,28 @@
 
 		switch( sArrayType )
 		{
-			case 'array'	:	hArr = eval( sAA.substring( 6 ) )
-								break
-
-			case 'list'		:	hArr = new Array()
-								var hTmpArray = sAA.substring( 5 ).split( '|' )
-								var aValueArr
-								for( hKey in hTmpArray )
-								{
-									aValueArr = hTmpArray[ hKey ].split( cAutocomplete.CS_ARRAY_SEPARATOR )
-									if( aValueArr.length == 1 )
-									{
-										hArr[ hKey ] = hTmpArray[ hKey ]
-										this.bAssociative = false
-									}
-									else
-									{
-										hArr[ aValueArr[ 0 ] ] = aValueArr[ 1 ]
-									}
-								}
-								break
+			case 'array'	:
+			hArr = eval( sAA.substring( 6 ) )
+			break
+
+			case 'list'	:
+			hArr = new Array()
+			var hTmpArray = sAA.substring( 5 ).split( '|' )
+			var aValueArr
+			for( hKey in hTmpArray )
+			    {
+				aValueArr = hTmpArray[ hKey ].split( cAutocomplete.CS_ARRAY_SEPARATOR )
+				if( aValueArr.length == 1 )
+				    {
+					hArr[ hKey ] = hTmpArray[ hKey ]
+					this.bAssociative = false
+				    }
+				else
+				    {
+					hArr[ aValueArr[ 0 ] ] = aValueArr[ 1 ]
+				    }
+			    }
+			break
 		}
 		if( sAAS != null && eval( sAAS ) )
 		{
@@ -582,11 +613,11 @@
 	{
 		if(  sAA.indexOf( 'url:' ) >= 0 )
 		{
-			return sAA.substring( 4 )
+		    return sAA.substring( 4 )
 		}
 		if(  sAA.indexOf( 'xmlrpc:' ) >= 0 )
 		{
-			return sAA.substring( 7 )
+		    return sAA.substring( 7 )
 		}
 	}
 }
@@ -596,29 +627,107 @@
 	this.sListURL = sURL;
 }
 
-cAutocomplete.onXmlHttpLoad = function( hThis )
+cAutocomplete.prototype.onXmlHttpLoad = function( )
+{
+    if( this.hXMLHttp.readyState == 4 )
+	{
+	    var hError = this.hXMLHttp.parseError
+	    if( hError && hError.errorCode != 0 )
+		{
+		    alert( hError.reason )
+		}
+	    else
+		{
+		    this.afterRemoteLoad()
+		}
+	}
+}
+
+cAutocomplete.prototype.onXMLRPCHttpLoad = function( )
 {
-	if( hThis.hXMLHttp.readyState == 4 )
+	if( this.hXMLHttp.readyState == 4 )
 	{
-		var hError = hThis.hXMLHttp.parseError
+		var hError = this.hXMLHttp.parseError
 		if( hError && hError.errorCode != 0 )
 		{
 			alert( hError.reason )
 		}
 		else
 		{
-		    if (hthis.bXMLRPC)
-		    {
-			hThis.afterRemoteLoadXMLRPC()
-		    }
-		    else 
-		    {
-			hThis.afterRemoteLoad()
-		    }
+			this.afterRemoteLoadXMLRPC()
 		}
 	}
 }
 
+cAutocomplete.prototype.loadXMLRPCListArray = function()
+{
+	// encoding: "xmlrpc:wiki.titleSearch [S] 4"
+	// or "xmlrpc:http://localhost/wiki/?wiki.titleSearch [S] 4"
+	//    encode the methodname as optional query_arg and the args space seperated
+	var sURL = this.sListURL
+	var aMethodArgs = sURL.split( ' ' )
+	var sMethodName = aMethodArgs[ 0 ]
+	var sStartWith = this.getStringForAutocompletion( this.sActiveValue, this.nInsertPoint )
+	sStartWith = sStartWith.replace( /^\s/, '' )
+	sStartWith = sStartWith.replace( /\s$/, '' )
+
+	if( sMethodName.indexOf( '?' ) > 0 )
+	    {
+		sMethodName = sMethodName.replace( '/^.+\?/', '' )
+		sURL = sURL.replace( '/\?.+$/', '' )
+	    }
+	else
+	    {
+		sURL = xmlrpc_url
+	    }
+
+	if (sMethodName.length < 1) 
+	    { 
+		var hInput = document.getElementById( this.sInputId )
+		hInput.value = this.sActiveValue
+		return
+	    }
+
+	// Construct the xmlrpc request.
+	// Which charset to send? for sure we get back utf-8
+	var sRequest = '<?xml version=\'1.0\' encoding="utf-8" ?>\n'
+	sRequest += '<methodCall><methodName>'+sMethodName+'</methodName>\n'
+	if (aMethodArgs.length <= 1) // the first arg is the name
+	    {
+		sRequest += '<params/>\n'
+	    }
+	else
+	    {
+		sRequest += '<params>\n'
+		for( var nI = 1; nI < aMethodArgs.length; nI++ )
+		    {
+			var sArg = aMethodArgs[ nI ];
+			//this.debug('sMethodName: "'+sMethodName+'" sArg['+nI+']: "'+sArg+'"')
+			if( sArg.indexOf( '[S]' ) >= 0 )
+			    {
+				//this.debug('sArg['+nI+']: "'+sArg+'" sStartWith: "'+sStartWith+'"')
+				sArg = sArg.replace( '[S]', sStartWith )
+			    }
+			// We could parse a prepended "(int)" cast.
+			// Can only do string args so far
+			sRequest += '<param><value><string>'
+			sRequest += sArg
+			sRequest += '</string></value></param>\n'
+		    }
+		sRequest += '</params>\n'
+	    }
+	sRequest += '</methodCall>'
+	if (this.bDebug) {
+	    this.debug('url: "'+sURL+'" sRequest: "'+sRequest.substring(20)+'"')
+	    /*sURL += '?start_debug=1'*/
+	}
+	this.hXMLHttp.open( 'POST', sURL, true )
+	var hAC = this
+	this.hXMLHttp.onreadystatechange = function() { hAC.onXMLRPCHttpLoad() }
+	/*this.hXMLHttp.onreadystatechange = new Function( 'var sAC = "'+this.sObjName+'"; cAutocomplete.onXMLRPCHttpLoad( eval( sAC ) )' )*/
+	this.hXMLHttp.send( sRequest )
+}
+
 cAutocomplete.prototype.loadListArray = function()
 {
 	var sURL = this.sListURL
@@ -634,7 +743,9 @@
 		sURL += this.sActiveValue
 	}
 	this.hXMLHttp.open( 'GET', sURL, true )
-	this.hXMLHttp.onreadystatechange = new Function( 'var sAC = "'+this.sObjName+'"; cAutocomplete.onXmlHttpLoad( eval( sAC ) )' )
+
+	var hAC = this
+	this.hXMLHttp.onreadystatechange = function() { hAC.onXmlHttpLoad() }
 	this.hXMLHttp.send( null )
 }
 
@@ -647,15 +758,15 @@
 	var aValueArr
 	for( hKey in hTmpArray )
 	{
-		aValueArr = hTmpArray[ hKey ].split( cAutocomplete.CS_ARRAY_SEPARATOR )
-		if( aValueArr.length == 1 )
-		{
-			hArr[ hKey ] = hTmpArray[ hKey ]
-		}
-		else
-		{
-			hArr[ aValueArr[ 0 ] ] = aValueArr[ 1 ]
-		}
+	    aValueArr = hTmpArray[ hKey ].split( cAutocomplete.CS_ARRAY_SEPARATOR )
+	    if( aValueArr.length == 1 )
+	    {
+		hArr[ hKey ] = hTmpArray[ hKey ]
+	    }
+	    else
+	    {
+		hArr[ aValueArr[ 0 ] ] = hTmpArray[ hKey ].substr( hTmpArray[ hKey ].indexOf( cAutocomplete.CS_ARRAY_SEPARATOR ) + 1 )
+	    }
 	}
 
 	hInput.className = ''
@@ -669,12 +780,26 @@
 	var hInput = document.getElementById( this.sInputId )
 
 	var hArr = new Array()
-	/* how does the response XML look like? */
-	var hTmpArray = this.hXMLHttp.documentElement.getElementsByTagName("array");
-	for( hKey in hTmpArray )
-	{
-	    if (hTmpArray[ hKey ].getAttribute("string"))
-	        hArr[ hKey ] = hTmpArray[ hKey ].getAttribute("string")
+	sResult = this.hXMLHttp.responseText
+	if ( this.bDebug ) {
+	    this.debug( "response: "+sResult.substring(70,190) )
+	}
+	sResult.replace('\n','');
+	sResult.replace('\r','');
+        var hKey = 0
+	var i = sResult.indexOf('<string>')
+	while (i >= 0) {
+	    var j
+	    sResult = sResult.substring(i+8)
+	    j = sResult.indexOf('</string>')
+	    hArr[ hKey ] = sResult.substring(0, j)
+	    // TODO: convert it from utf-8 to result charset and encoding
+	    //this.debug( 'i:'+i+' j:'+j+' "'+hArr[ hKey ]+'"' )
+	    /*if( hArr[ hKey ] == hArr[ hKey-1 ] )
+	      return*/
+	    hKey += 1
+	    sResult = sResult.substring(j+9)
+	    i = sResult.indexOf('<string>')
 	}
 
 	hInput.className = ''
@@ -690,7 +815,7 @@
 	var hInput = document.getElementById( this.sInputId )
 	this.sActiveValue = hInput.value
 
-	//check if this was invoked by a key that did not change the value
+	// Check if this was invoked by a key that did not change the value
 	var sST = this.getStringForAutocompletion( this.sActiveValue, this.nInsertPoint )
 	var sLST = this.getStringForAutocompletion( this.sLastActiveValue, this.nInsertPoint )
 
@@ -699,9 +824,11 @@
 		if( this.bRemoteList )
 		{
 			hInput.className = 'search'
-			hInput.readonly = true
-			hInput.value = 'please wait...'
-			this.loadListArray()
+			//hInput.readonly = true
+			// TODO: print please wait somewhere else
+			// hInput.value = 'please wait...'
+			// hInput.value = this.sListURL
+			this.bXMLRPC ? this.loadXMLRPCListArray() : this.loadListArray()
 			return
 		}
 		this.updateAndShowList( bFullList )
@@ -1037,7 +1164,8 @@
 {
 	var hContainer = document.getElementById( this.sListId )
 	hContainer.style.visibility = 'hidden'
-	cAutocomplete.hListDisplayed = null
+	hContainer.style.display = 'none'
+	this.hListDisplayed = null
 }
 
 cAutocomplete.prototype.markAutocompletedValue = function()
@@ -1062,7 +1190,10 @@
 	{
 		clearTimeout( this.hMarkRangeTimeout )
 	}
-	this.hMarkRangeTimeout = setTimeout( 'cAutocomplete.markInputRange2("'+hInput.id+'")', cAutocomplete.CN_MARK_TIMEOUT )
+	this.hMarkRangeTimeout = setTimeout( function() { 
+						 cAutocomplete.markInputRange2( hInput.id ) 
+						     }
+					     , cAutocomplete.CN_MARK_TIMEOUT )
 	//cAutocomplete.markInputRange( hInput, nStartPos, nEndPos )
 }
 
@@ -1082,6 +1213,33 @@
 	}
 }
 
+cAutocomplete.prototype.selectOptionByValue = function( sValue )
+{
+	if( this.bListUpdated )
+	{
+		this.createList()
+	}
+
+	sValue = sValue.toLowerCase()
+	
+	var hContainer = document.getElementById( this.sListId )
+	var hList = hContainer.getElementsByTagName( 'UL' )[ 0 ]
+	var nItemsLength = hList.childNodes.length
+
+	var nSelectedIndex = -1
+	for( var nI = 0; nI < nItemsLength; nI++ )
+	{
+		if( this.aSearchData[ nI ].indexOf( sValue ) == 0 )
+		{
+			nSelectedIndex = nI
+		}
+	}
+	if( nSelectedIndex >=0 )
+	{
+		this.selectOption( hList.childNodes[ nSelectedIndex ].getElementsByTagName( 'A' )[ 0 ] )
+	}
+}
+
 cAutocomplete.prototype.selectOption = function( hNewOption )
 {
 	if( this.hActiveSelection )
@@ -1120,8 +1278,10 @@
 		}
 		else
 		{
+		    var aPos = this.getInsertPos( this.sLastActiveValue, this.nInsertPoint, this.hActiveSelection.realText )
 			hInput.value = this.insertString( this.sActiveValue, this.nInsertPoint, this.hActiveSelection.realText )
-			cAutocomplete.setInputCaretPosition( hInput, this.nInsertPoint )
+			//cAutocomplete.setInputCaretPosition( hInput, this.nInsertPoint )
+			cAutocomplete.setInputCaretPosition( hInput, aPos[ 1 ] )
 		}
 
 		this.sActiveValue = hInput.value
@@ -1198,6 +1358,18 @@
 	return null
 }
 
+cAutocomplete.prototype.debug = function(s)
+{
+    if (this.bDebug) {
+	var hInput = document.getElementById( this.sInputId )
+	var hContainer = document.createElement( 'DIV' )
+	hContainer.className = 'debug'
+	hContainer.innerHTML = s
+	hInput.form.appendChild( hContainer )
+	/*alert(s)*/
+    }
+}
+
 cAutocomplete.onInputKeyDown = function ( hEvent )
 {
 	if( hEvent == null )
@@ -1214,15 +1386,17 @@
 	{
 		var hLI = null
 		var hLINext = null
-		//the new active selection
+		// The new active selection
 		if( ( hEvent.keyCode == 13 ) || ( hEvent.keyCode == 27 ) )
 		{
 			var bItemSelected = hEvent.keyCode == 13 ? true : false
 			hAC.clearList()
+			if (hAC.bDebug) { hAC.debug ("key "+hEvent.keyCode+" new active selection") }
 		}
 		if( hEvent.keyCode == 38 )
 		{
 			//up key pressed
+			if (hAC.bDebug) { hAC.debug ("key "+hEvent.keyCode+" up") }
 			hLINext = hAC.getPrevDisplayedItem( hAC.hActiveSelection )
 			if( hLINext != null )
 			{
@@ -1247,6 +1421,7 @@
 		else if ( hEvent.keyCode == 40 )
 		{
 			//down key pressed
+			if (hAC.bDebug) { hAC.debug ("key "+hEvent.keyCode+" down") }
 			hLINext = hAC.getNextDisplayedItem( hAC.hActiveSelection )
 			if( hLINext != null )
 			{
@@ -1272,12 +1447,21 @@
 	if( hInput.form )
 	{
 		hInput.form.bLocked = true
+		if (hAC.bDebug) { hAC.debug ("onInputKeyDown form blocked") }
 	}
-	if ( hEvent.keyCode == 13 || hEvent.keyCode == 27 )
+	if ( hEvent.keyCode == 13 || hEvent.keyCode == 27 || hEvent.keyCode == 38 || hEvent.keyCode == 40 )
 	{
 		if( hEvent.preventDefault )
 		{
-			hEvent.preventDefault()
+		    hEvent.preventDefault()
+		    /*
+		    if (hEvent.keyCode == 13) {
+			if (hAC.bDebug) { hAC.debug ("preventDefault: return true") }
+			return true
+		    }
+		    */
+		} else {
+		    if (hAC.bDebug) { hAC.debug ("no preventDefault return false") }
 		}
 		hEvent.cancelBubble = true
 		hEvent.returnValue = false
@@ -1287,7 +1471,7 @@
 
 cAutocomplete.onInputKeyPress = function ( hEvent )
 {
-	if ( hEvent.keyCode == 13 )
+	if ( hEvent.keyCode == 13 || hEvent.keyCode == 38 || hEvent.keyCode == 40 )
 	{
 		if( hEvent.preventDefault )
 		{
@@ -1331,26 +1515,33 @@
 					break
 		case 32	:
 		case 46	:
-		case 37	:
-		case 39	:
+		//case 37	:
+		//case 39	:
 		case 35	:
 		case 36	:	break;
-		default	:	if( hEvent.keyCode < 48 )
-					{
-						if( hEvent.preventDefault )
-						{
-							hEvent.preventDefault()
-						}
-						hEvent.cancelBubble = true
-						hEvent.returnValue = false
-						return false
-					}
-					break
+		default	:	
+		if( hEvent.keyCode < 48 )
+		{
+		    if( hEvent.preventDefault )
+		    {
+			hEvent.preventDefault()
+		    }
+		    /*
+		    if (hEvent.keyCode == 13) {
+			return true
+		    }
+		    */
+		    if (hAC.bDebug) { hAC.debug ("keyUp: hEvent.returnValue = false") }
+		    hEvent.cancelBubble = true
+		    hEvent.returnValue = false
+		    return false
+		}
+		break
 	}
 
-	if( this.hMarkRangeTimeout != null )
+	if( hAC.hMarkRangeTimeout != null )
 	{
-		clearTimeout( this.hMarkRangeTimeout )
+		clearTimeout( hAC.hMarkRangeTimeout )
 	}
 
 	if( hAC.hShowTimeout )
@@ -1358,8 +1549,9 @@
 		clearTimeout( hAC.hShowTimeout )
 		hAC.hShowTimeout = null
 	}
-	var nTimeout = this.bRemoteList ? cAutocomplete.CN_REMOTE_SHOW_TIMEOUT : cAutocomplete.CN_SHOW_TIMEOUT
-	hAC.hShowTimeout = setTimeout( hAC.hObj+'.prepareList()', nTimeout )
+	var nTimeout = hAC.bRemoteList ? cAutocomplete.CN_REMOTE_SHOW_TIMEOUT : cAutocomplete.CN_SHOW_TIMEOUT
+	hAC.hShowTimeout = setTimeout( function(){ hAC.prepareList() }, nTimeout )
+	if (hAC.bDebug) { hAC.debug ("setTimeout "+nTimeout) }
 }
 
 cAutocomplete.onInputBlur = function( hEvent )
@@ -1376,7 +1568,7 @@
 	var hAC = hElement.hAutocomplete
 	if( !hAC.hClearTimeout )
 	{
-		hAC.hClearTimeout = setTimeout( hAC.hObj+'.clearList()', cAutocomplete.CN_CLEAR_TIMEOUT )
+		hAC.hClearTimeout = setTimeout( function(){ hAC.clearList() }, cAutocomplete.CN_CLEAR_TIMEOUT )
 	}
 }
 
@@ -1499,7 +1691,7 @@
 	var hAC = hElement.hAutocomplete
 	if( !hAC.hClearTimeout )
 	{
-		hAC.hClearTimeout = setTimeout( hAC.hObj+'.clearList()', cAutocomplete.CN_CLEAR_TIMEOUT )
+		hAC.hClearTimeout = setTimeout( function() { hAC.clearList() }, cAutocomplete.CN_CLEAR_TIMEOUT )
 	}
 }
 
@@ -1539,6 +1731,8 @@
 	{
 		hEvent.preventDefault()
 	}
+	/*var hAC = hElement.hAutocomplete
+	  if (hAC.bDebug) { hAC.debug ("onItemClick") }*/
 	hEvent.cancelBubble = true
 	hEvent.returnValue = false
 	return false
@@ -1557,6 +1751,7 @@
 	{
 		return
 	}
+	if (hAC.bDebug) { hAC.debug ("onButtonClick") }
 	hAC.prepareList( true )
 	var hInput = document.getElementById( hAC.sInputId )
 	hInput.focus()
@@ -1571,6 +1766,8 @@
 	var hElement = ( hEvent.srcElement ) ? hEvent.srcElement : hEvent.originalTarget
 	if( hElement.bLocked )
 	{
+	    var hAC = hElement.hAutocomplete
+	    if (hAC.bDebug) { hAC.debug ("onSubmit: hElement.bLocked") }
 		hElement.bLocked = false
 		hEvent.returnValue = false
 		if( hEvent.preventDefault )
diff -ruN 1.3.12p3/themes/default/moacdropdown/js/Makefile 1.3.14/themes/default/moacdropdown/js/Makefile
--- 1.3.12p3/themes/default/moacdropdown/js/Makefile	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/themes/default/moacdropdown/js/Makefile	2007-07-01 05:11:33.000000000 -0500
@@ -0,0 +1,5 @@
+ALLSRC=mobrowser.js modomevent.js modomt.js modomext.js getobject2.js xmlextras.js acdropdown.js
+
+../../moacdropdown.js: $(ALLSRC)
+	cat $(ALLSRC) > $@
+	perl -pi~ -e 's/^\s+//; s(//.*)();' $@
diff -ruN 1.3.12p3/themes/default/moacdropdown/js/modomt.js 1.3.14/themes/default/moacdropdown/js/modomt.js
--- 1.3.12p3/themes/default/moacdropdown/js/modomt.js	2006-06-18 06:20:13.000000000 -0500
+++ 1.3.14/themes/default/moacdropdown/js/modomt.js	2007-07-01 05:11:33.000000000 -0500
@@ -1,259 +1,259 @@
-//
-//  This script was created
-//  by Mircho Mirev
-//  mo /mo@momche.net/
-//
-//	:: feel free to use it BUT
-//	:: if you want to use this code PLEASE send me a note
-//	:: and please keep this disclaimer intact
-//
-
-if ( document.ELEMENT_NODE == null )
-{
-	document.ELEMENT_NODE = 1
-	document.TEXT_NODE = 3
-}
-
-
-function getSubNodeByName( hNode, sNodeName )
-{
-	if( hNode != null )
-	{
-		var nNc = 0
-		var nC	= 0
-		var hNodeChildren = hNode.childNodes
-		var hCNode = null
-		while( nC < hNodeChildren.length )
-		{
-			hCNode = hNodeChildren.item( nC++ )
-			if( ( hCNode.nodeType == 1 ) && ( hCNode.nodeName.toLowerCase() == sNodeName ) )
-			{
-				return hCNode
-			}
-		}
-	}
-	return null
-}
-
-function getPrevNodeSibling( hNode )
-{
-	if( hNode != null )
-	{
-		do {
-			hNode = hNode.previousSibling
-		} while( hNode != null && hNode.nodeType != 1 )
-		return hNode
-	}
-}
-
-function getNextNodeSibling( hNode )
-{
-	if( hNode != null )
-	{
-		do {
-			hNode = hNode.nextSibling
-		} while( hNode != null && hNode.nodeType != 1 )
-		return hNode
-	}
-}
-
-function getLastSubNodeByName( hNode, sNodeName )
-{
-	if( hNode != null )
-	{
-		var nNc = 0
-		var nC	= 0
-		var hNodeChildren = hNode.childNodes
-		var hCNode = null
-		var nLength = hNodeChildren.length - 1
-		while( nLength >=0  )
-		{
-			hCNode = hNodeChildren.item( nLength )
-			if( ( hCNode.nodeType == 1 ) && ( hCNode.nodeName.toLowerCase() == sNodeName ) )
-			{
-				return hCNode
-			}
-			nLength--
-		}
-	}
-	return null
-}
-
-function getSubNodeByProperty( hNode, sProperty, sPropValue )
-{
-	if( hNode != null )
-	{
-		var nNc = 0
-		var nC	= 0
-		var hNodeChildren = hNode.childNodes
-		var hCNode = null
-		var sAttribute
-		var hProp 
-		sPropValue = sPropValue.toLowerCase()
-		while( nC < hNodeChildren.length )
-		{
-			hCNode = hNodeChildren.item( nC++ )
-			if( hCNode.nodeType == document.ELEMENT_NODE )
-			{
-				hProp = eval( 'hCNode.'+sProperty )
-				if( typeof( sPropValue ) != 'undefined' )
-				{
-					if( hProp.toLowerCase() == sPropValue )
-					{
-						return hCNode
-					}
-				}
-				else
-				{
-					return hCNode
-				}
-			}
-			nNc++
-		}
-	}
-	return null
-}
-
-function findAttribute( hNode, sAtt )
-{
-	sAtt = sAtt.toLowerCase()
-	for( var nI = 0; nI < hNode.attributes.length; nI++ )
-	{
-		if( hNode.attributes.item( nI ).nodeName.toLowerCase() == sAtt )
-		{
-			return hNode.attributes.item( nI ).nodeValue
-		}
-	}
-	return null
-}
-
-function getSubNodeByAttribute( hNode, sAtt, sAttValue )
-{
-	if( hNode != null )
-	{
-		var nNc = 0
-		var nC	= 0
-		var hNodeChildren = hNode.childNodes
-		var hCNode = null
-		var sAttribute
-		sAttValue = sAttValue.toLowerCase()
-		while( nC < hNodeChildren.length )
-		{
-			hCNode = hNodeChildren.item( nC++ )
-			if( hCNode.nodeType == document.ELEMENT_NODE )
-			{
-				sAttribute = hCNode.getAttribute( sAtt )
-				if( sAttribute && sAttribute.toLowerCase() == sAttValue )
-				return hCNode
-			}
-			nNc++
-		}
-	}
-	return null
-}
-
-function getLastSubNodeByAttribute( hNode, sAtt, sAttValue )
-{
-	if( hNode != null )
-	{
-		var nNc = 0
-		var nC	= 0
-		var hNodeChildren = hNode.childNodes
-		var hCNode = null
-		var nLength = hNodeChildren.length - 1
-		while( nLength >= 0 )
-		{
-			hCNode = hNodeChildren.item( nLength )
-			if( hCNode.nodeType == document.ELEMENT_NODE )
-			{
-				sAttribute = hCNode.getAttribute( sAtt )
-				if( sAttribute && sAttribute.toLowerCase() == sAttValue )
-				return hCNode
-			}
-			nLength--
-		}
-	}
-	return null
-}
-
-function getParentByTagName( hNode, sParentTagName )
-{
-	while( ( hNode.tagName ) && !( /(body|html)/i.test( hNode.tagName ) ) )
-	{
-		if( hNode.tagName == sParentTagName )
-		{
-			return hNode
-		}
-		hNode = hNode.parentNode
-	}
-	return null
-}
-
-function getParentByAttribute( hNode, sAtt, sAttValue )
-{
-	while( ( hNode.tagName ) && !( /(body|html)/i.test( hNode.tagName ) ) )
-	{
-		//opera strangely returns non null result sometimes
-		var sAttr = hNode.getAttribute( sAtt )
-		if( sAttr != null && sAttr.toString().length > 0 )
-		{	
-			if( sAttValue !== null )
-			{
-				if( sAttr == sAttValue )
-				{
-					return hNode
-				}
-			}
-			else
-			{
-				return hNode
-			}
-		}
-		hNode = hNode.parentNode
-	}
-	return null
-}
-
-function getParentByProperty( hNode, sProperty, sPropValue )
-{
-	while( ( hNode.tagName ) && !( /(body|html)/i.test( hNode.tagName ) ) )
-	{
-		//opera strangely returns non null result sometimes
-		var hProp = eval( 'hNode.'+sProperty )
-		if( hProp != null && hProp.toString().length > 0 )
-		{	
-			if( sPropValue !== null )
-			{
-				if( hProp == sPropValue )
-				{
-					return hNode
-				}
-			}
-			else
-			{
-				return hNode
-			}
-		}
-		hNode = hNode.parentNode
-	}
-	return null
-}
-
-
-function getNodeText( hNode )
-{
-	if( hNode == null )
-	{
-		return ''
-	}
-	var sRes
-	if( hNode.hasChildNodes() )
-	{
-		sRes = hNode.childNodes.item(0).nodeValue
-	}
-	else
-	{
-		sRes = hNode.text
-	}
-	return sRes
-}
\ No newline at end of file
+//
+//  This script was created
+//  by Mircho Mirev
+//  mo /mo@momche.net/
+//
+//	:: feel free to use it BUT
+//	:: if you want to use this code PLEASE send me a note
+//	:: and please keep this disclaimer intact
+//
+
+if ( document.ELEMENT_NODE == null )
+{
+	document.ELEMENT_NODE = 1
+	document.TEXT_NODE = 3
+}
+
+
+function getSubNodeByName( hNode, sNodeName )
+{
+	if( hNode != null )
+	{
+		var nNc = 0
+		var nC	= 0
+		var hNodeChildren = hNode.childNodes
+		var hCNode = null
+		while( nC < hNodeChildren.length )
+		{
+			hCNode = hNodeChildren.item( nC++ )
+			if( ( hCNode.nodeType == 1 ) && ( hCNode.nodeName.toLowerCase() == sNodeName ) )
+			{
+				return hCNode
+			}
+		}
+	}
+	return null
+}
+
+function getPrevNodeSibling( hNode )
+{
+	if( hNode != null )
+	{
+		do {
+			hNode = hNode.previousSibling
+		} while( hNode != null && hNode.nodeType != 1 )
+		return hNode
+	}
+}
+
+function getNextNodeSibling( hNode )
+{
+	if( hNode != null )
+	{
+		do {
+			hNode = hNode.nextSibling
+		} while( hNode != null && hNode.nodeType != 1 )
+		return hNode
+	}
+}
+
+function getLastSubNodeByName( hNode, sNodeName )
+{
+	if( hNode != null )
+	{
+		var nNc = 0
+		var nC	= 0
+		var hNodeChildren = hNode.childNodes
+		var hCNode = null
+		var nLength = hNodeChildren.length - 1
+		while( nLength >=0  )
+		{
+			hCNode = hNodeChildren.item( nLength )
+			if( ( hCNode.nodeType == 1 ) && ( hCNode.nodeName.toLowerCase() == sNodeName ) )
+			{
+				return hCNode
+			}
+			nLength--
+		}
+	}
+	return null
+}
+
+function getSubNodeByProperty( hNode, sProperty, sPropValue )
+{
+	if( hNode != null )
+	{
+		var nNc = 0
+		var nC	= 0
+		var hNodeChildren = hNode.childNodes
+		var hCNode = null
+		var sAttribute
+		var hProp 
+		sPropValue = sPropValue.toLowerCase()
+		while( nC < hNodeChildren.length )
+		{
+			hCNode = hNodeChildren.item( nC++ )
+			if( hCNode.nodeType == document.ELEMENT_NODE )
+			{
+				hProp = eval( 'hCNode.'+sProperty )
+				if( typeof( sPropValue ) != 'undefined' )
+				{
+					if( hProp.toLowerCase() == sPropValue )
+					{
+						return hCNode
+					}
+				}
+				else
+				{
+					return hCNode
+				}
+			}
+			nNc++
+		}
+	}
+	return null
+}
+
+function findAttribute( hNode, sAtt )
+{
+	sAtt = sAtt.toLowerCase()
+	for( var nI = 0; nI < hNode.attributes.length; nI++ )
+	{
+		if( hNode.attributes.item( nI ).nodeName.toLowerCase() == sAtt )
+		{
+			return hNode.attributes.item( nI ).nodeValue
+		}
+	}
+	return null
+}
+
+function getSubNodeByAttribute( hNode, sAtt, sAttValue )
+{
+	if( hNode != null )
+	{
+		var nNc = 0
+		var nC	= 0
+		var hNodeChildren = hNode.childNodes
+		var hCNode = null
+		var sAttribute
+		sAttValue = sAttValue.toLowerCase()
+		while( nC < hNodeChildren.length )
+		{
+			hCNode = hNodeChildren.item( nC++ )
+			if( hCNode.nodeType == document.ELEMENT_NODE )
+			{
+				sAttribute = hCNode.getAttribute( sAtt )
+				if( sAttribute && sAttribute.toLowerCase() == sAttValue )
+				return hCNode
+			}
+			nNc++
+		}
+	}
+	return null
+}
+
+function getLastSubNodeByAttribute( hNode, sAtt, sAttValue )
+{
+	if( hNode != null )
+	{
+		var nNc = 0
+		var nC	= 0
+		var hNodeChildren = hNode.childNodes
+		var hCNode = null
+		var nLength = hNodeChildren.length - 1
+		while( nLength >= 0 )
+		{
+			hCNode = hNodeChildren.item( nLength )
+			if( hCNode.nodeType == document.ELEMENT_NODE )
+			{
+				sAttribute = hCNode.getAttribute( sAtt )
+				if( sAttribute && sAttribute.toLowerCase() == sAttValue )
+				return hCNode
+			}
+			nLength--
+		}
+	}
+	return null
+}
+
+function getParentByTagName( hNode, sParentTagName )
+{
+	while( ( hNode.tagName ) && !( /(body|html)/i.test( hNode.tagName ) ) )
+	{
+		if( hNode.tagName == sParentTagName )
+		{
+			return hNode
+		}
+		hNode = hNode.parentNode
+	}
+	return null
+}
+
+function getParentByAttribute( hNode, sAtt, sAttValue )
+{
+	while( ( hNode.tagName ) && !( /(body|html)/i.test( hNode.tagName ) ) )
+	{
+		//opera strangely returns non null result sometimes
+		var sAttr = hNode.getAttribute( sAtt )
+		if( sAttr != null && sAttr.toString().length > 0 )
+		{	
+			if( sAttValue !== null )
+			{
+				if( sAttr == sAttValue )
+				{
+					return hNode
+				}
+			}
+			else
+			{
+				return hNode
+			}
+		}
+		hNode = hNode.parentNode
+	}
+	return null
+}
+
+function getParentByProperty( hNode, sProperty, sPropValue )
+{
+	while( ( hNode.tagName ) && !( /(body|html)/i.test( hNode.tagName ) ) )
+	{
+		//opera strangely returns non null result sometimes
+		var hProp = eval( 'hNode.'+sProperty )
+		if( hProp != null && hProp.toString().length > 0 )
+		{	
+			if( sPropValue !== null )
+			{
+				if( hProp == sPropValue )
+				{
+					return hNode
+				}
+			}
+			else
+			{
+				return hNode
+			}
+		}
+		hNode = hNode.parentNode
+	}
+	return null
+}
+
+
+function getNodeText( hNode )
+{
+	if( hNode == null )
+	{
+		return ''
+	}
+	var sRes
+	if( hNode.hasChildNodes() )
+	{
+		sRes = hNode.childNodes.item(0).nodeValue
+	}
+	else
+	{
+		sRes = hNode.text
+	}
+	return sRes
+}
diff -ruN 1.3.12p3/themes/default/moacdropdown/js/xmlextras.js 1.3.14/themes/default/moacdropdown/js/xmlextras.js
--- 1.3.12p3/themes/default/moacdropdown/js/xmlextras.js	2006-06-18 06:20:13.000000000 -0500
+++ 1.3.14/themes/default/moacdropdown/js/xmlextras.js	2007-07-01 05:11:33.000000000 -0500
@@ -1,149 +1,149 @@
-//<script>
-//////////////////
-// Helper Stuff //
-//////////////////
-
-// used to find the Automation server name
-function getDomDocumentPrefix() {
-	if (getDomDocumentPrefix.prefix)
-		return getDomDocumentPrefix.prefix;
-	
-	var prefixes = ["MSXML2", "Microsoft", "MSXML", "MSXML3"];
-	var o;
-	for (var i = 0; i < prefixes.length; i++) {
-		try {
-			// try to create the objects
-			o = new ActiveXObject(prefixes[i] + ".DomDocument");
-			return getDomDocumentPrefix.prefix = prefixes[i];
-		}
-		catch (ex) {};
-	}
-	
-	throw new Error("Could not find an installed XML parser");
-}
-
-function getXmlHttpPrefix() {
-	if (getXmlHttpPrefix.prefix)
-		return getXmlHttpPrefix.prefix;
-	
-	var prefixes = ["MSXML2", "Microsoft", "MSXML", "MSXML3"];
-	var o;
-	for (var i = 0; i < prefixes.length; i++) {
-		try {
-			// try to create the objects
-			o = new ActiveXObject(prefixes[i] + ".XmlHttp");
-			return getXmlHttpPrefix.prefix = prefixes[i];
-		}
-		catch (ex) {};
-	}
-	
-	throw new Error("Could not find an installed XML parser");
-}
-
-//////////////////////////
-// Start the Real stuff //
-//////////////////////////
-
-
-// XmlHttp factory
-function XmlHttp() {}
-
-XmlHttp.create = function () {
-	try {
-		if (window.XMLHttpRequest) {
-			var req = new XMLHttpRequest();
-			
-			// some versions of Moz do not support the readyState property
-			// and the onreadystate event so we patch it!
-			if (req.readyState == null) {
-				req.readyState = 1;
-				req.addEventListener("load", function () {
-					req.readyState = 4;
-					if (typeof req.onreadystatechange == "function")
-						req.onreadystatechange();
-				}, false);
-			}
-			
-			return req;
-		}
-		if (window.ActiveXObject) {
-			return new ActiveXObject(getXmlHttpPrefix() + ".XmlHttp");
-		}
-	}
-	catch (ex) {}
-	// fell through
-	throw new Error("Your browser does not support XmlHttp objects");
-};
-
-// XmlDocument factory
-function XmlDocument() {}
-
-XmlDocument.create = function () {
-	try {
-		// DOM2
-		if (document.implementation && document.implementation.createDocument) {
-			var doc = document.implementation.createDocument("", "", null);
-			
-			// some versions of Moz do not support the readyState property
-			// and the onreadystate event so we patch it!
-			if (doc.readyState == null) {
-				doc.readyState = 1;
-				doc.addEventListener("load", function () {
-					doc.readyState = 4;
-					if (typeof doc.onreadystatechange == "function")
-						doc.onreadystatechange();
-				}, false);
-			}
-			
-			return doc;
-		}
-		if (window.ActiveXObject)
-			return new ActiveXObject(getDomDocumentPrefix() + ".DomDocument");
-	}
-	catch (ex) {}
-	throw new Error("Your browser does not support XmlDocument objects");
-};
-
-// Create the loadXML method and xml getter for Mozilla
-if (window.DOMParser &&
-	window.XMLSerializer &&
-	window.Node && Node.prototype && Node.prototype.__defineGetter__) {
-
-	// XMLDocument did not extend the Document interface in some versions
-	// of Mozilla. Extend both!
-	//XMLDocument.prototype.loadXML = 
-	Document.prototype.loadXML = function (s) {
-		
-		// parse the string to a new doc	
-		var doc2 = (new DOMParser()).parseFromString(s, "text/xml");
-		
-		// remove all initial children
-		while (this.hasChildNodes())
-			this.removeChild(this.lastChild);
-			
-		// insert and import nodes
-		for (var i = 0; i < doc2.childNodes.length; i++) {
-			this.appendChild(this.importNode(doc2.childNodes[i], true));
-		}
-	};
-	
-	
-	/*
-	 * xml getter
-	 *
-	 * This serializes the DOM tree to an XML String
-	 *
-	 * Usage: var sXml = oNode.xml
-	 *
-	 */
-	// XMLDocument did not extend the Document interface in some versions
-	// of Mozilla. Extend both!
-	/*
-	XMLDocument.prototype.__defineGetter__("xml", function () {
-		return (new XMLSerializer()).serializeToString(this);
-	});
-	*/
-	Document.prototype.__defineGetter__("xml", function () {
-		return (new XMLSerializer()).serializeToString(this);
-	});
-}
\ No newline at end of file
+//<script>
+//////////////////
+// Helper Stuff //
+//////////////////
+
+// used to find the Automation server name
+function getDomDocumentPrefix() {
+	if (getDomDocumentPrefix.prefix)
+		return getDomDocumentPrefix.prefix;
+	
+	var prefixes = ["MSXML2", "Microsoft", "MSXML", "MSXML3"];
+	var o;
+	for (var i = 0; i < prefixes.length; i++) {
+		try {
+			// try to create the objects
+			o = new ActiveXObject(prefixes[i] + ".DomDocument");
+			return getDomDocumentPrefix.prefix = prefixes[i];
+		}
+		catch (ex) {};
+	}
+	
+	throw new Error("Could not find an installed XML parser");
+}
+
+function getXmlHttpPrefix() {
+	if (getXmlHttpPrefix.prefix)
+		return getXmlHttpPrefix.prefix;
+	
+	var prefixes = ["MSXML2", "Microsoft", "MSXML", "MSXML3"];
+	var o;
+	for (var i = 0; i < prefixes.length; i++) {
+		try {
+			// try to create the objects
+			o = new ActiveXObject(prefixes[i] + ".XmlHttp");
+			return getXmlHttpPrefix.prefix = prefixes[i];
+		}
+		catch (ex) {};
+	}
+	
+	throw new Error("Could not find an installed XML parser");
+}
+
+//////////////////////////
+// Start the Real stuff //
+//////////////////////////
+
+
+// XmlHttp factory
+function XmlHttp() {}
+
+XmlHttp.create = function () {
+	try {
+		if (window.XMLHttpRequest) {
+			var req = new XMLHttpRequest();
+			
+			// some versions of Moz do not support the readyState property
+			// and the onreadystate event so we patch it!
+			if (req.readyState == null) {
+				req.readyState = 1;
+				req.addEventListener("load", function () {
+					req.readyState = 4;
+					if (typeof req.onreadystatechange == "function")
+						req.onreadystatechange();
+				}, false);
+			}
+			
+			return req;
+		}
+		if (window.ActiveXObject) {
+			return new ActiveXObject(getXmlHttpPrefix() + ".XmlHttp");
+		}
+	}
+	catch (ex) {}
+	// fell through
+	throw new Error("Your browser does not support XmlHttp objects");
+};
+
+// XmlDocument factory
+function XmlDocument() {}
+
+XmlDocument.create = function () {
+	try {
+		// DOM2
+		if (document.implementation && document.implementation.createDocument) {
+			var doc = document.implementation.createDocument("", "", null);
+			
+			// some versions of Moz do not support the readyState property
+			// and the onreadystate event so we patch it!
+			if (doc.readyState == null) {
+				doc.readyState = 1;
+				doc.addEventListener("load", function () {
+					doc.readyState = 4;
+					if (typeof doc.onreadystatechange == "function")
+						doc.onreadystatechange();
+				}, false);
+			}
+			
+			return doc;
+		}
+		if (window.ActiveXObject)
+			return new ActiveXObject(getDomDocumentPrefix() + ".DomDocument");
+	}
+	catch (ex) {}
+	throw new Error("Your browser does not support XmlDocument objects");
+};
+
+// Create the loadXML method and xml getter for Mozilla
+if (window.DOMParser &&
+	window.XMLSerializer &&
+	window.Node && Node.prototype && Node.prototype.__defineGetter__) {
+
+	// XMLDocument did not extend the Document interface in some versions
+	// of Mozilla. Extend both!
+	//XMLDocument.prototype.loadXML = 
+	Document.prototype.loadXML = function (s) {
+		
+		// parse the string to a new doc	
+		var doc2 = (new DOMParser()).parseFromString(s, "text/xml");
+		
+		// remove all initial children
+		while (this.hasChildNodes())
+			this.removeChild(this.lastChild);
+			
+		// insert and import nodes
+		for (var i = 0; i < doc2.childNodes.length; i++) {
+			this.appendChild(this.importNode(doc2.childNodes[i], true));
+		}
+	};
+	
+	
+	/*
+	 * xml getter
+	 *
+	 * This serializes the DOM tree to an XML String
+	 *
+	 * Usage: var sXml = oNode.xml
+	 *
+	 */
+	// XMLDocument did not extend the Document interface in some versions
+	// of Mozilla. Extend both!
+	/*
+	XMLDocument.prototype.__defineGetter__("xml", function () {
+		return (new XMLSerializer()).serializeToString(this);
+	});
+	*/
+	Document.prototype.__defineGetter__("xml", function () {
+		return (new XMLSerializer()).serializeToString(this);
+	});
+}
diff -ruN 1.3.12p3/themes/default/moacdropdown/xmlrpc.txt 1.3.14/themes/default/moacdropdown/xmlrpc.txt
--- 1.3.12p3/themes/default/moacdropdown/xmlrpc.txt	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/themes/default/moacdropdown/xmlrpc.txt	2007-07-01 05:11:33.000000000 -0500
@@ -0,0 +1,58 @@
+How to encode the xmlrpc request in acdropdown?
+ 
+short form (local server):
+  "xmlrpc:wiki.titleSearch [S] 4"
+
+long form (remote server):
+  "xmlrpc:http://localhost/wiki/?wiki.titleSearch [S] 4"
+
+encode the methodname as optional query_arg and the args space seperated
+args can only be strings
+
+
+The xmlrpc request looks like:
+
+POST url
+
+<?xml version='1.0' encoding="iso-8859-1" ?>
+<methodCall>
+<methodName>wiki.titleSearch</methodName>
+<params>
+ <param>
+  <value>
+   <string>^Page</string>
+  </value>
+ </param>
+ <param>
+  <value>
+    <string>4</string>
+  </value>
+ </param>
+</params>
+</methodCall>
+
+
+The xmlrpc response XML looks like this:
+
+Content-Type: application/xml
+
+<?xml version='1.0' encoding="iso-8859-1" ?>
+<methodResponse>
+<params>
+ <param>
+  <value>
+   <array>
+    <data>
+     <value>
+      <string>Page 1</string>
+     </value>
+     <value>
+      <string>Page 2</string>
+     </value>
+    </data>
+   </array>
+  </value>
+ </param>
+</params>
+</methodResponse>
+
diff -ruN 1.3.12p3/themes/default/moacdropdown.js 1.3.14/themes/default/moacdropdown.js
--- 1.3.12p3/themes/default/moacdropdown.js	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/themes/default/moacdropdown.js	2007-07-01 05:11:33.000000000 -0500
@@ -0,0 +1,2430 @@
+/*
+*	mo's browser checker
+*	heavily based on the v1 library
+*	mo / mircho@hotmail.com
+*	please keep this note here
+*/
+
+function cBrowser() {
+var userAgent = navigator.userAgent.toLowerCase()
+this.version = parseInt(navigator.appVersion)
+this.subVersion = parseFloat(navigator.appVersion)
+this.ns  = ((userAgent.indexOf('mozilla')!=-1) && ((userAgent.indexOf('spoofer')==-1) && (userAgent.indexOf('compatible') == -1)))
+this.ns2 = (this.ns && (this.version == 2))
+this.ns3 = (this.ns && (this.version == 3))
+this.ns4b = (this.ns && (this.subVersion < 4.04))
+this.ns4 = (this.ns && (this.version == 4))
+this.ns5 = (this.ns && (this.version == 5))
+this.ie   = (userAgent.indexOf('msie') != -1)
+this.ie3  = (this.ie && (this.version == 2))
+this.ie4  = (this.ie && (this.version == 4) && (userAgent.indexOf('msie 4.')!=-1))
+this.ie5  = (this.ie && (this.version == 4) && (userAgent.indexOf('msie 5.0')!=-1))
+this.ie55 = (this.ie && (this.version == 4) && (userAgent.indexOf('msie 5.5')!=-1))
+this.ie6 = (this.ie && (this.version == 4) && (userAgent.indexOf('msie 6.0')!=-1))
+this.op3 = (userAgent.indexOf('opera') != -1)
+this.win   = (userAgent.indexOf('win')!=-1)
+this.mac   = (userAgent.indexOf('mac')!=-1)
+this.unix  = (userAgent.indexOf('x11')!=-1)
+this.name = navigator.appName
+this.dom = this.ns5 || this.ie5 || this.ie55 || this.ie6
+}
+var bw = new cBrowser()
+
+
+
+
+
+
+
+
+
+cDomEvent = {
+e 		: null,
+type	: '',
+button	: 0,
+key		: 0,
+x		: 0,
+y		: 0,
+pagex	: 0,
+pagey	: 0,
+target	: null,
+from	: null,
+to		: null
+}
+cDomEvent.init = function( e )
+{
+if( bw.ie ) e = window.event
+this.e = e
+this.type = e.type
+this.button = ( bw.ns4 ) ? e.which : e.button
+this.key = ( bw.ns4 ) ? e.which : e.keyCode
+this.target = ( e.srcElement ) ? e.srcElement : e.originalTarget 
+this.from = ( bw.ns5 ) ? e.originalTarget : ( bw.ie ) ? e.fromElement : null
+this.to  = ( bw.ns5 ) ? e.currentTarget : ( bw.ie ) ? e.toElement : null
+this.x = ( bw.ns ) ? e.layerX : e.offsetX
+this.y = ( bw.ns ) ? e.layerY : e.offsetY
+this.screenX = e.screenX
+this.screenY = e.screenY
+this.pageX = ( bw.ns ) ? e.pageX : e.x + document.body.scrollLeft
+this.pageY = ( bw.ns ) ? e.pageY : e.y + document.body.scrollTop
+}
+cDomEvent.addEvent = function( hElement, sEvent, handler, bCapture )
+{
+if( hElement.addEventListener )
+{
+hElement.addEventListener( sEvent, handler, bCapture )
+return true
+}
+else if( hElement.attachEvent )
+{
+return hElement.attachEvent( 'on'+sEvent, handler )
+}
+else if( bw.ie4 || bw.ns4 )
+{
+if( bw.ns4 ) eval( 'hElement.captureEvents( Event.'+sEvent.toUpperCase()+' )' )
+eval( 'hElement.on'+sEvent+' = '+handler )
+}
+else
+{
+alert('Not implemented yet!')
+}
+}
+cDomEvent.removeEvent = function( hElement, sEvent, handler, bCapture )
+{
+if( hElement.addEventListener )
+{
+hElement.removeEventListener( sEvent, handler, bCapture )
+return true
+}
+else if( hElement.attachEvent )
+{
+return hElement.detachEvent( 'on'+sEvent, handler )
+}
+else if( bw.ie4 || bw.ns4 )
+{
+eval( 'hElement.on'+sEvent+' = null' )
+}
+else
+{
+alert('Not implemented yet!')
+}
+}
+
+function MouseButton()
+{
+if( bw.ns4 )
+{
+this.left = 1
+this.middle = 2
+this.right = 3
+}
+else if( bw.ns5 )
+{
+this.left = 0
+this.middle = 1
+this.right = 2
+}
+else if( bw.ie )
+{
+this.left = 1
+this.middle = 4
+this.right = 2
+}
+}
+var MB = new MouseButton()
+
+
+
+
+
+
+
+
+if ( document.ELEMENT_NODE == null )
+{
+document.ELEMENT_NODE = 1
+document.TEXT_NODE = 3
+}
+function getSubNodeByName( hNode, sNodeName )
+{
+if( hNode != null )
+{
+var nNc = 0
+var nC	= 0
+var hNodeChildren = hNode.childNodes
+var hCNode = null
+while( nC < hNodeChildren.length )
+{
+hCNode = hNodeChildren.item( nC++ )
+if( ( hCNode.nodeType == 1 ) && ( hCNode.nodeName.toLowerCase() == sNodeName ) )
+{
+return hCNode
+}
+}
+}
+return null
+}
+function getPrevNodeSibling( hNode )
+{
+if( hNode != null )
+{
+do {
+hNode = hNode.previousSibling
+} while( hNode != null && hNode.nodeType != 1 )
+return hNode
+}
+}
+function getNextNodeSibling( hNode )
+{
+if( hNode != null )
+{
+do {
+hNode = hNode.nextSibling
+} while( hNode != null && hNode.nodeType != 1 )
+return hNode
+}
+}
+function getLastSubNodeByName( hNode, sNodeName )
+{
+if( hNode != null )
+{
+var nNc = 0
+var nC	= 0
+var hNodeChildren = hNode.childNodes
+var hCNode = null
+var nLength = hNodeChildren.length - 1
+while( nLength >=0  )
+{
+hCNode = hNodeChildren.item( nLength )
+if( ( hCNode.nodeType == 1 ) && ( hCNode.nodeName.toLowerCase() == sNodeName ) )
+{
+return hCNode
+}
+nLength--
+}
+}
+return null
+}
+function getSubNodeByProperty( hNode, sProperty, sPropValue )
+{
+if( hNode != null )
+{
+var nNc = 0
+var nC	= 0
+var hNodeChildren = hNode.childNodes
+var hCNode = null
+var sAttribute
+var hProp 
+sPropValue = sPropValue.toLowerCase()
+while( nC < hNodeChildren.length )
+{
+hCNode = hNodeChildren.item( nC++ )
+if( hCNode.nodeType == document.ELEMENT_NODE )
+{
+hProp = eval( 'hCNode.'+sProperty )
+if( typeof( sPropValue ) != 'undefined' )
+{
+if( hProp.toLowerCase() == sPropValue )
+{
+return hCNode
+}
+}
+else
+{
+return hCNode
+}
+}
+nNc++
+}
+}
+return null
+}
+function findAttribute( hNode, sAtt )
+{
+sAtt = sAtt.toLowerCase()
+for( var nI = 0; nI < hNode.attributes.length; nI++ )
+{
+if( hNode.attributes.item( nI ).nodeName.toLowerCase() == sAtt )
+{
+return hNode.attributes.item( nI ).nodeValue
+}
+}
+return null
+}
+function getSubNodeByAttribute( hNode, sAtt, sAttValue )
+{
+if( hNode != null )
+{
+var nNc = 0
+var nC	= 0
+var hNodeChildren = hNode.childNodes
+var hCNode = null
+var sAttribute
+sAttValue = sAttValue.toLowerCase()
+while( nC < hNodeChildren.length )
+{
+hCNode = hNodeChildren.item( nC++ )
+if( hCNode.nodeType == document.ELEMENT_NODE )
+{
+sAttribute = hCNode.getAttribute( sAtt )
+if( sAttribute && sAttribute.toLowerCase() == sAttValue )
+return hCNode
+}
+nNc++
+}
+}
+return null
+}
+function getLastSubNodeByAttribute( hNode, sAtt, sAttValue )
+{
+if( hNode != null )
+{
+var nNc = 0
+var nC	= 0
+var hNodeChildren = hNode.childNodes
+var hCNode = null
+var nLength = hNodeChildren.length - 1
+while( nLength >= 0 )
+{
+hCNode = hNodeChildren.item( nLength )
+if( hCNode.nodeType == document.ELEMENT_NODE )
+{
+sAttribute = hCNode.getAttribute( sAtt )
+if( sAttribute && sAttribute.toLowerCase() == sAttValue )
+return hCNode
+}
+nLength--
+}
+}
+return null
+}
+function getParentByTagName( hNode, sParentTagName )
+{
+while( ( hNode.tagName ) && !( /(body|html)/i.test( hNode.tagName ) ) )
+{
+if( hNode.tagName == sParentTagName )
+{
+return hNode
+}
+hNode = hNode.parentNode
+}
+return null
+}
+function getParentByAttribute( hNode, sAtt, sAttValue )
+{
+while( ( hNode.tagName ) && !( /(body|html)/i.test( hNode.tagName ) ) )
+{
+
+var sAttr = hNode.getAttribute( sAtt )
+if( sAttr != null && sAttr.toString().length > 0 )
+{	
+if( sAttValue !== null )
+{
+if( sAttr == sAttValue )
+{
+return hNode
+}
+}
+else
+{
+return hNode
+}
+}
+hNode = hNode.parentNode
+}
+return null
+}
+function getParentByProperty( hNode, sProperty, sPropValue )
+{
+while( ( hNode.tagName ) && !( /(body|html)/i.test( hNode.tagName ) ) )
+{
+
+var hProp = eval( 'hNode.'+sProperty )
+if( hProp != null && hProp.toString().length > 0 )
+{	
+if( sPropValue !== null )
+{
+if( hProp == sPropValue )
+{
+return hNode
+}
+}
+else
+{
+return hNode
+}
+}
+hNode = hNode.parentNode
+}
+return null
+}
+function getNodeText( hNode )
+{
+if( hNode == null )
+{
+return ''
+}
+var sRes
+if( hNode.hasChildNodes() )
+{
+sRes = hNode.childNodes.item(0).nodeValue
+}
+else
+{
+sRes = hNode.text
+}
+return sRes
+}
+
+
+
+
+
+
+
+
+
+
+
+function cDomExtension( hParent, aSelectors, hInitFunction )
+{
+this.hParent = hParent
+this.aSelectors = aSelectors
+this.hInitFunction = hInitFunction
+}
+cDomExtensionManager = 
+{
+aExtensions : new Array()
+}
+cDomExtensionManager.register = function( hDomExtension )
+{
+cDomExtensionManager.aExtensions.push( hDomExtension )
+}
+cDomExtensionManager.initSelector = function( hParent, sSelector, hInitFunction )
+{
+var hSelectorRegEx
+var hAttributeRegEx
+var aSelectorData
+var aAttributeData
+var sAttribute 
+hSelectorRegEx = /([a-z0-9_]*)\[?([^\]]*)\]?/i
+hAttributeRegEx = /([a-z0-9_]*)([\*\^\$]?)(=?)(([a-z0-9_=]*))/i
+if( hSelectorRegEx.test( sSelector ) && !/[@#\.]/.test( sSelector ) )
+{
+aSelectorData = hSelectorRegEx.exec( sSelector )
+if( aSelectorData[ 1 ] != '' )
+{
+hGroup  = hParent.getElementsByTagName( aSelectorData[ 1 ].toLowerCase() )
+for( nI = 0; nI < hGroup.length; nI ++ )
+{
+hGroup[ nI ].markExt = true
+}
+for( nI = 0; nI < hGroup.length; nI ++ )
+{
+if( !hGroup[ nI ].markExt )
+{
+continue
+}
+else
+{
+hGroup[ nI ].markExt = false
+}
+if( aSelectorData[ 2 ] == '' )
+{
+if( hGroup[ nI ].tagName.toLowerCase() == aSelectorData[ 1 ].toLowerCase()  )
+{
+hInitFunction( hGroup[ nI ] )
+}
+}
+else
+{
+aAttributeData = hAttributeRegEx.exec( aSelectorData[ 2 ] )
+if( aAttributeData[ 1 ] == 'class' )
+{
+sAttribute = hGroup[ nI ].className
+}
+else
+{
+sAttribute = hGroup[ nI ].getAttribute( aAttributeData[ 1 ] )
+}
+if( sAttribute != null && sAttribute.length > 0 )
+{
+if( aAttributeData[ 3 ] == '=' )
+{
+if( aAttributeData[ 2 ] == '' )
+{
+if( sAttribute == aAttributeData[4] )
+{
+hInitFunction( hGroup[ nI ] )
+}
+}
+else
+{
+switch( aAttributeData[ 2 ] )
+{
+case '^' :	if( sAttribute.indexOf( aAttributeData[ 4 ] ) == 0 )
+{
+hInitFunction( hGroup[ nI ] )
+}
+break
+case '$' :	if( sAttribute.lastIndexOf( aAttributeData[ 4 ] ) == sAttribute.length - aAttributeData[ 4 ].length )
+{
+hInitFunction( hGroup[ nI ] )
+}
+break
+case '*' :	if( sAttribute.indexOf( aAttributeData[ 4 ] ) >= 0 )
+{
+hInitFunction( hGroup[ nI ] )
+}
+break
+}
+}
+}
+else
+{
+hInitFunction( hGroup[ nI ] )
+}
+}
+}
+}
+
+return
+}
+}
+hSelectorRegEx = /([a-z0-9_]*)([\.#@]?)([a-z0-9_=~]*)/i
+hAttributeRegEx = /([a-z0-9_]*)([=~])?([a-z0-9_]*)/i
+aSelectorData = hSelectorRegEx.exec( sSelector )
+if( aSelectorData[ 1 ] != '' )
+{
+var hGroup  = hParent.getElementsByTagName( aSelectorData[ 1 ] )
+for( nI = 0; nI < hGroup.length; nI ++ )
+{
+hGroup[ nI ].markExt = true
+}
+for( nI = 0; nI < hGroup.length; nI ++ )
+{
+if( !hGroup[ nI ].markExt )
+{
+continue
+}
+else
+{
+hGroup[ nI ].markExt = false
+}
+if( aSelectorData[ 2 ] != '' )
+{
+switch( aSelectorData[ 2 ] )
+{
+case '.' : 	if( hGroup[ nI ].className == aSelectorData[ 3 ] )
+{
+hInitFunction( hGroup[ nI ] )
+}
+break
+case '#' : 	if( hGroup[ nI ].id == aSelectorData[ 3 ] )
+{
+hInitFunction( hGroup[ nI ] )
+}
+break
+case '@' : 	aAttributeData = hAttributeRegEx.exec( aSelectorData[ 3 ] )
+sAttribute = hGroup[ nI ].getAttribute( aAttributeData[ 1 ] )
+if(  sAttribute != null && sAttribute.length > 0  )
+{					
+if( aAttributeData[ 3 ] != '' )
+{
+if( aAttributeData[ 2 ] == '=' )
+{
+if( sAttribute == aAttributeData[ 3 ] )
+{
+hInitFunction( hGroup[ nI ] )
+}
+}
+else /* the case is like ~ */
+{
+if( sAttribute.indexOf( aAttributeData[ 3 ] ) >= 0 )
+{
+hInitFunction( hGroup[ nI ] )
+}
+}
+}
+else
+{
+hInitFunction( hGroup[ nI ] )
+}
+}
+break
+}
+}
+}
+}
+}
+cDomExtensionManager.initialize = function()
+{
+var hDomExtension = null
+var aSelectors
+for( var nKey in cDomExtensionManager.aExtensions )
+{
+aSelectors = cDomExtensionManager.aExtensions[ nKey ].aSelectors
+for( var nKey2 in aSelectors )
+{
+cDomExtensionManager.initSelector( cDomExtensionManager.aExtensions[ nKey ].hParent, aSelectors[ nKey2 ], cDomExtensionManager.aExtensions[ nKey ].hInitFunction )
+}
+}
+}
+if( window.addEventListener )
+{
+window.addEventListener( 'load', cDomExtensionManager.initialize, false )
+}
+else if( window.attachEvent )
+{
+window.attachEvent( 'onload', cDomExtensionManager.initialize )
+}
+
+
+
+function cDomObject( sId )
+{
+if( bw.dom || bw.ie )
+{
+this.hElement = document.getElementById( sId )
+this.hStyle = this.hElement.style
+}
+}
+cDomObject.prototype.getWidth = function( )
+{
+return  cDomObject.getWidth( this.hElement )
+}
+cDomObject.getWidth = function( hElement )
+{
+if( hElement.currentStyle )
+{
+var nWidth = parseInt( hElement.currentStyle.width )
+if( isNaN( nWidth ) )
+{
+return parseInt( hElement.offsetWidth )
+}
+else
+{
+return nWidth
+}
+}
+else
+{
+return parseInt( hElement.offsetWidth )
+}
+}
+cDomObject.prototype.getHeight = function( )
+{
+return  cDomObject.getHeight( this.hElement )
+}
+cDomObject.getHeight = function( hElement )
+{
+if( hElement.currentStyle )
+{
+var nHeight = parseInt( hElement.currentStyle.height )
+if( isNaN( nHeight ) )
+{
+return parseInt( hElement.offsetHeight )
+}
+else
+{
+return nHeight
+}
+}
+else
+{
+return parseInt( hElement.offsetHeight )
+}
+}
+cDomObject.prototype.getLeft = function()
+{
+return cDomObject.getLeft( this.hElement )
+}
+cDomObject.getLeft = function( hElement )
+{
+return parseInt( hElement.offsetLeft )
+}
+cDomObject.prototype.getTop = function( )
+{
+return cDomObject.getTop( this.hElement )
+}
+cDomObject.getTop = function( hElement )
+{
+return parseInt( hElement.offsetTop )
+}
+
+
+
+
+cDomObject.getOffsetParam = function( hElement, sParam, hLimitParent )
+{
+var nRes = 0
+if( hLimitParent == null )
+{
+hLimitParent = document.body.parentElement
+}
+while( hElement != hLimitParent )
+{
+nRes += eval( 'hElement.' + sParam )
+if( !hElement.offsetParent ) { break }
+hElement = hElement.offsetParent
+}
+return nRes
+}
+
+
+
+
+cDomObject.getScrollOffset = function( hElement, sParam, hLimitParent  )
+{
+nRes = 0
+if( hLimitParent == null )
+{
+hLimitParent = document.body.parentElement
+}
+while( hElement != hLimitParent )
+{
+nRes += eval( 'hElement.scroll' + sParam )
+if( !hElement.offsetParent ) { break }
+hElement = hElement.parentNode
+}
+return nRes
+}
+
+
+
+
+function getDomDocumentPrefix() {
+if (getDomDocumentPrefix.prefix)
+return getDomDocumentPrefix.prefix;
+var prefixes = ["MSXML2", "Microsoft", "MSXML", "MSXML3"];
+var o;
+for (var i = 0; i < prefixes.length; i++) {
+try {
+
+o = new ActiveXObject(prefixes[i] + ".DomDocument");
+return getDomDocumentPrefix.prefix = prefixes[i];
+}
+catch (ex) {};
+}
+throw new Error("Could not find an installed XML parser");
+}
+function getXmlHttpPrefix() {
+if (getXmlHttpPrefix.prefix)
+return getXmlHttpPrefix.prefix;
+var prefixes = ["MSXML2", "Microsoft", "MSXML", "MSXML3"];
+var o;
+for (var i = 0; i < prefixes.length; i++) {
+try {
+
+o = new ActiveXObject(prefixes[i] + ".XmlHttp");
+return getXmlHttpPrefix.prefix = prefixes[i];
+}
+catch (ex) {};
+}
+throw new Error("Could not find an installed XML parser");
+}
+
+
+
+
+function XmlHttp() {}
+XmlHttp.create = function () {
+try {
+if (window.XMLHttpRequest) {
+var req = new XMLHttpRequest();
+
+
+if (req.readyState == null) {
+req.readyState = 1;
+req.addEventListener("load", function () {
+req.readyState = 4;
+if (typeof req.onreadystatechange == "function")
+req.onreadystatechange();
+}, false);
+}
+return req;
+}
+if (window.ActiveXObject) {
+return new ActiveXObject(getXmlHttpPrefix() + ".XmlHttp");
+}
+}
+catch (ex) {}
+
+throw new Error("Your browser does not support XmlHttp objects");
+};
+
+function XmlDocument() {}
+XmlDocument.create = function () {
+try {
+
+if (document.implementation && document.implementation.createDocument) {
+var doc = document.implementation.createDocument("", "", null);
+
+
+if (doc.readyState == null) {
+doc.readyState = 1;
+doc.addEventListener("load", function () {
+doc.readyState = 4;
+if (typeof doc.onreadystatechange == "function")
+doc.onreadystatechange();
+}, false);
+}
+return doc;
+}
+if (window.ActiveXObject)
+return new ActiveXObject(getDomDocumentPrefix() + ".DomDocument");
+}
+catch (ex) {}
+throw new Error("Your browser does not support XmlDocument objects");
+};
+
+if (window.DOMParser &&
+window.XMLSerializer &&
+window.Node && Node.prototype && Node.prototype.__defineGetter__) {
+
+
+
+Document.prototype.loadXML = function (s) {
+
+var doc2 = (new DOMParser()).parseFromString(s, "text/xml");
+
+while (this.hasChildNodes())
+this.removeChild(this.lastChild);
+
+for (var i = 0; i < doc2.childNodes.length; i++) {
+this.appendChild(this.importNode(doc2.childNodes[i], true));
+}
+};
+/*
+* xml getter
+*
+* This serializes the DOM tree to an XML String
+*
+* Usage: var sXml = oNode.xml
+*
+*/
+
+
+/*
+XMLDocument.prototype.__defineGetter__("xml", function () {
+return (new XMLSerializer()).serializeToString(this);
+});
+*/
+Document.prototype.__defineGetter__("xml", function () {
+return (new XMLSerializer()).serializeToString(this);
+});
+}
+
+
+
+
+
+
+
+
+
+
+
+function cAutocomplete( sInputId )
+{
+this.init( sInputId )
+}
+xmlrpc_url = data_path + '/RPC2.php'
+cAutocomplete.CS_NAME = 'Autocomplete component'
+cAutocomplete.CS_OBJ_NAME = 'AC_COMPONENT'
+cAutocomplete.CS_LIST_PREFIX = 'ACL_'
+cAutocomplete.CS_BUTTON_PREFIX = 'ACB_'
+cAutocomplete.CS_INPUT_PREFIX = 'AC_'
+cAutocomplete.CS_HIDDEN_INPUT_PREFIX = 'ACH_'
+cAutocomplete.CS_INPUT_CLASSNAME = 'dropdown'
+cAutocomplete.CB_AUTOINIT = true
+cAutocomplete.CB_AUTOCOMPLETE = false
+cAutocomplete.CB_FORCECORRECT = false
+
+cAutocomplete.CB_MATCHSUBSTRING = false
+cAutocomplete.CS_SEPARATOR = ','
+
+cAutocomplete.CS_ARRAY_SEPARATOR = ','
+
+
+cAutocomplete.CB_MATCHSTRINGBEGIN = true
+cAutocomplete.CN_OFFSET_TOP = 2
+cAutocomplete.CN_OFFSET_LEFT = -1
+cAutocomplete.CN_LINE_HEIGHT = 19
+cAutocomplete.CN_NUMBER_OF_LINES = 10
+cAutocomplete.CN_HEIGHT_FIX = 2
+cAutocomplete.CN_CLEAR_TIMEOUT = 300
+cAutocomplete.CN_SHOW_TIMEOUT = 400
+cAutocomplete.CN_REMOTE_SHOW_TIMEOUT = 1000
+cAutocomplete.CN_MARK_TIMEOUT = 400
+cAutocomplete.hListDisplayed = null
+cAutocomplete.nCount = 0
+cAutocomplete.autoInit = function()
+{
+var nI = 0
+var hACE = null
+var sLangAtt
+var nInputsLength = document.getElementsByTagName( 'INPUT' ).length
+for( nI = 0; nI < nInputsLength; nI++ )
+{
+if( document.getElementsByTagName( 'INPUT' )[ nI ].type.toLowerCase() == 'text' )
+{
+sLangAtt = document.getElementsByTagName( 'INPUT' )[ nI ].getAttribute( 'acdropdown' )
+if( sLangAtt != null && sLangAtt.length > 0 )
+{
+if( document.getElementsByTagName( 'INPUT' )[ nI ].id == null || document.getElementsByTagName( 'INPUT' )[ nI ].id.length == 0 )
+{
+document.getElementsByTagName( 'INPUT' )[ nI ].id = cAutocomplete.CS_OBJ_NAME + cAutocomplete.nCount
+}
+hACE = new cAutocomplete( document.getElementsByTagName( 'INPUT' )[ nI ].id )
+}
+}
+}
+var nTALength = document.getElementsByTagName( 'TEXTAREA' ).length
+for( nI = 0; nI < nTALength; nI++ )
+{
+sLangAtt = document.getElementsByTagName( 'TEXTAREA' )[ nI ].getAttribute( 'acdropdown' )
+if( sLangAtt != null && sLangAtt.length > 0 )
+{
+if( document.getElementsByTagName( 'TEXTAREA' )[ nI ].id == null || document.getElementsByTagName( 'TEXTAREA' )[ nI ].id.length == 0 )
+{
+document.getElementsByTagName( 'TEXTAREA' )[ nI ].id = cAutocomplete.CS_OBJ_NAME + cAutocomplete.nCount
+}
+hACE = new cAutocomplete( document.getElementsByTagName( 'TEXTAREA' )[ nI ].id )
+}
+}
+var nSelectsLength = document.getElementsByTagName( 'SELECT' ).length
+var aSelect = null
+for( nI = 0; nI < nSelectsLength; nI++ )
+{
+aSelect = document.getElementsByTagName( 'SELECT' )[ nI ]
+sLangAtt = aSelect.getAttribute( 'acdropdown' )
+if( sLangAtt != null && sLangAtt.length > 0 )
+{
+if( aSelect.id == null || aSelect.id.length == 0 )
+{
+aSelect.id = cAutocomplete.CS_OBJ_NAME + cAutocomplete.nCount
+}
+hACE = new cAutocomplete( aSelect.id )
+nSelectsLength--
+nI--
+}
+}
+}
+if( cAutocomplete.CB_AUTOINIT )
+{
+if( window.attachEvent )
+{
+window.attachEvent( 'onload', cAutocomplete.autoInit )
+}
+else if( window.addEventListener )
+{
+window.addEventListener( 'load', cAutocomplete.autoInit, false )
+}
+}
+cAutocomplete.prototype.init = function( sInputId )
+{
+this.bDebug = false
+/*this.bDebug = true*/
+this.sInputId = sInputId
+this.sListId = cAutocomplete.CS_LIST_PREFIX + sInputId
+this.sObjName = cAutocomplete.CS_OBJ_NAME + '_obj_' + (cAutocomplete.nCount++)
+this.hObj = this.sObjName
+this.hActiveSelection = null
+this.nSelectedItemIdx = -1
+
+this.sLastActiveValue = ''
+this.sActiveValue = ''
+this.bListDisplayed = false
+this.nItemsDisplayed = 0
+
+
+this.bAssociative = true
+this.sHiddenInputId = null
+this.bHasButton = false
+
+this.aData = null
+
+this.aSearchData = new Array()
+this.bSorted = false
+
+this.nLastMatchLength = 0
+this.bForceCorrect = cAutocomplete.CB_FORCECORRECT
+var sForceCorrect = document.getElementById( this.sInputId ).getAttribute( 'autocomplete_forcecorrect' )
+if( sForceCorrect != null && sForceCorrect.length > 0 )
+{
+this.bForceCorrect = eval( sForceCorrect )
+}
+
+this.bMatchBegin = cAutocomplete.CB_MATCHSTRINGBEGIN
+var sMatchBegin = document.getElementById( this.sInputId ).getAttribute( 'autocomplete_matchbegin' )
+if( sMatchBegin != null && sMatchBegin.length > 0 )
+{
+this.bMatchBegin = eval( sMatchBegin )
+}
+
+this.bMatchSubstring = cAutocomplete.CB_MATCHSUBSTRING
+var sMatchSubstring = document.getElementById( this.sInputId ).getAttribute( 'autocomplete_matchsubstring' )
+if( sMatchSubstring != null && sMatchSubstring.length > 0 )
+{
+this.bMatchSubstring = eval( sMatchSubstring )
+}
+
+this.bAutoComplete = cAutocomplete.CB_AUTOCOMPLETE
+this.bAutocompleted = false
+var sAutoComplete = document.getElementById( this.sInputId ).getAttribute( 'autocomplete_complete' )
+if( sAutoComplete != null && sAutoComplete.length > 0 )
+{
+this.bAutoComplete = eval( sAutoComplete )
+}
+
+this.formatOptions = null
+var sFormatFunction = document.getElementById( this.sInputId ).getAttribute( 'autocomplete_format' )
+if( sFormatFunction != null && sFormatFunction.length > 0 )
+{
+this.formatOptions = eval( sFormatFunction )
+}
+
+
+this.onSelect = null
+var sOnSelectFunction = document.getElementById( this.sInputId ).getAttribute( 'autocomplete_onselect' )
+if( sOnSelectFunction != null && sOnSelectFunction.length > 0 )
+{
+this.onSelect = eval( sOnSelectFunction )
+}
+
+if( this.getListArrayType() == 'url' || this.getListArrayType() == 'xmlrpc' )
+{
+this.bAssociative = false
+this.bRemoteList = true
+this.sListURL = this.getListURL()
+this.hXMLHttp = XmlHttp.create()
+this.bXMLRPC = (this.getListArrayType() == 'xmlrpc')
+}
+else
+{
+this.bRemoteList = false
+}
+
+
+
+var sAssociative = document.getElementById( this.sInputId ).getAttribute( 'autocomplete_assoc' )
+if( sAssociative != null && sAssociative.length > 0 )
+{
+this.bAssociative = eval( sAssociative )
+}
+this.initListArray()
+this.initListContainer()
+
+this.initInput()
+eval( this.hObj + '= this' )
+}
+cAutocomplete.prototype.initInput = function()
+{
+var hInput = document.getElementById( this.sInputId )
+hInput.hAutocomplete = this
+var hContainer = document.getElementById( this.sListId )
+hContainer.hAutocomplete = this
+
+var nWidth = hInput.offsetWidth
+if( !nWidth || nWidth == 0 )
+{
+
+var hOWInput = hInput.cloneNode( true )
+hOWInput.style.position = 'absolute'
+hOWInput.style.top = '-1000px'
+document.body.appendChild( hOWInput )
+var nWidth = hOWInput.offsetWidth
+document.body.removeChild( hOWInput ) 
+}
+var sInputName = hInput.name
+var hForm = hInput.form
+var bHasButton = false
+var sHiddenValue = hInput.value
+var sValue = hInput.type.toLowerCase() == 'text' ? hInput.value : ''
+var sHasButton = hInput.getAttribute( 'autocomplete_button' )
+if( sHasButton != null && sHasButton.length > 0 )
+{
+bHasButton = true
+}
+
+if( hInput.type.toLowerCase() == 'select-one' )
+{
+bHasButton = true
+if( hInput.selectedIndex >= 0 )
+{
+sHiddenValue = hInput.options[ hInput.selectedIndex ].value
+sValue = hInput.options[ hInput.selectedIndex ].text
+}
+}
+
+if( hForm )
+{
+var hHiddenInput = document.createElement( 'INPUT' )
+hHiddenInput.id = cAutocomplete.CS_HIDDEN_INPUT_PREFIX + this.sInputId
+hHiddenInput.type = 'hidden'
+hForm.appendChild( hHiddenInput )
+if( this.bAssociative )
+{
+hHiddenInput.name = sInputName
+hInput.name = cAutocomplete.CS_INPUT_PREFIX + sInputName
+}
+else
+{
+hHiddenInput.name = cAutocomplete.CS_INPUT_PREFIX + sInputName
+}
+hHiddenInput.value = sHiddenValue
+this.sHiddenInputId = hHiddenInput.id
+}
+if( bHasButton )
+{
+this.bHasButton = true
+var hInputContainer = document.createElement( 'DIV' )
+hInputContainer.className = 'acinputContainer'
+hInputContainer.style.width = nWidth
+var hInputButton = document.createElement( 'INPUT' )
+hInputButton.id = cAutocomplete.CS_BUTTON_PREFIX + this.sInputId
+hInputButton.type = 'button'
+hInputButton.className = 'button'
+hInputButton.tabIndex = hInput.tabIndex + 1
+hInputButton.hAutocomplete = this
+var hNewInput = document.createElement( 'INPUT' )
+if( this.bAssociative )
+{
+hNewInput.name = cAutocomplete.CS_INPUT_PREFIX + sInputName
+}
+else
+{
+hNewInput.name = sInputName
+}
+hNewInput.type = 'text'
+hNewInput.value = sValue
+hNewInput.style.width = nWidth-22
+hNewInput.className = cAutocomplete.CS_INPUT_CLASSNAME
+hNewInput.tabIndex = hInput.tabIndex
+hNewInput.hAutocomplete = this
+hInputContainer.appendChild( hNewInput )
+hInputContainer.appendChild( hInputButton )
+hInput.parentNode.replaceChild( hInputContainer, hInput )
+hNewInput.id = this.sInputId
+hInput = hNewInput
+}
+if( hInput.attachEvent )
+{
+hInput.attachEvent( 'onkeyup', cAutocomplete.onInputKeyUp )
+hInput.attachEvent( 'onkeyup', cAutocomplete.saveCaretPosition )
+hInput.attachEvent( 'onkeydown', cAutocomplete.onInputKeyDown )
+hInput.attachEvent( 'onblur', cAutocomplete.onInputBlur )
+hInput.attachEvent( 'onfocus', cAutocomplete.onInputFocus )
+if( hInputButton )
+{
+hInputButton.attachEvent( 'onclick', cAutocomplete.onButtonClick )
+}
+}
+else if( hInput.addEventListener )
+{
+hInput.addEventListener( 'keyup', cAutocomplete.onInputKeyUp, false )
+hInput.addEventListener( 'keyup', cAutocomplete.saveCaretPosition, false )
+hInput.addEventListener( 'keydown', cAutocomplete.onInputKeyDown, false )
+hInput.addEventListener( 'keypress', cAutocomplete.onInputKeyPress, false )
+hInput.addEventListener( 'blur', cAutocomplete.onInputBlur, false )
+hInput.addEventListener( 'focus', cAutocomplete.onInputFocus, false )
+if( hInputButton )
+{
+hInputButton.addEventListener( 'click', cAutocomplete.onButtonClick, false )
+}
+}
+
+hInput.setAttribute( 'autocomplete', 'OFF' )
+if( hForm )
+{
+if( hForm.attachEvent )
+{
+hForm.attachEvent( 'onsubmit', cAutocomplete.onFormSubmit )
+if (this.bDebug) { this.debug ("attachEvent added") }
+}
+else if( hForm.addEventListener )
+{
+hForm.addEventListener( 'submit', cAutocomplete.onFormSubmit, false )
+if (this.bDebug) { this.debug ("addEventListener") }
+}
+}
+}
+cAutocomplete.prototype.initListContainer = function()
+{
+var hInput = document.getElementById( this.sInputId )
+var hContainer = document.createElement( 'DIV' )
+hContainer.className = 'autocomplete_holder'
+hContainer.id = this.sListId
+hContainer.style.zIndex = 10000 + cAutocomplete.nCount
+hContainer.hAutocomplete = this
+var hFirstBorder =  document.createElement( 'DIV' )
+hFirstBorder.className = 'autocomplete_firstborder'
+var hSecondBorder =  document.createElement( 'DIV' )
+hSecondBorder.className = 'autocomplete_secondborder'
+var hList = document.createElement( 'UL' )
+hList.className = 'autocomplete'
+hSecondBorder.appendChild( hList )
+hFirstBorder.appendChild( hSecondBorder )
+hContainer.appendChild( hFirstBorder )
+document.body.appendChild( hContainer )
+if( hContainer.attachEvent )
+{
+hContainer.attachEvent( 'onblur', cAutocomplete.onListBlur )
+hContainer.attachEvent( 'onfocus', cAutocomplete.onListFocus )
+}
+else if( hInput.addEventListener )
+{
+hContainer.addEventListener( 'blur', cAutocomplete.onListBlur, false )
+hContainer.addEventListener( 'focus', cAutocomplete.onListFocus, false )
+}
+if( hContainer.attachEvent )
+{
+hContainer.attachEvent( 'onclick', cAutocomplete.onItemClick )
+}
+else if( hContainer.addEventListener )
+{
+hContainer.addEventListener( 'click', cAutocomplete.onItemClick, false )
+}
+}
+cAutocomplete.prototype.createList = function()
+{
+var hInput = document.getElementById( this.sInputId )
+var hContainer = document.getElementById( this.sListId )
+var hList = hContainer.getElementsByTagName( 'UL' )[0]
+if( hList )
+{
+hList = hList.parentNode.removeChild( hList )
+while( hList.hasChildNodes() )
+{
+hList.removeChild( hList.childNodes[ 0 ] )
+}
+}
+var hListItem = null
+var hListItemLink = null
+var hArrKey = null
+var sArrEl = null
+var hArr = this.aData
+var nI = 0
+var sRealText
+for( hArrKey in hArr )
+{
+sArrEl = hArr[ hArrKey ]
+hListItem = document.createElement( 'LI' )
+hListItemLink = document.createElement( 'A' )
+hListItemLink.setAttribute( 'itemvalue', hArrKey )
+/* so you can attach data to the element */
+/* it's a hack but seems to work */
+var sArrData = sArrEl.split( cAutocomplete.CS_ARRAY_SEPARATOR )
+if( sArrData.length > 1 )
+{
+this.aData[ hArrKey ] = sArrData[ 0 ]
+hListItemLink.setAttribute( 'itemdata', sArrEl.substring( sArrEl.indexOf( cAutocomplete.CS_ARRAY_SEPARATOR ) + 1 ) )
+sRealText = sArrData[ 0 ]
+}
+else
+{
+sRealText = sArrEl
+}
+/* end of attach data to the element */
+hListItemLink.href = '#'
+hListItemLink.appendChild( document.createTextNode( sRealText ) )
+hListItemLink.realText = sRealText
+if( nI == this.nSelectedItemIdx )
+{
+this.hActiveSelection = hListItemLink
+this.hActiveSelection.className = 'selected'
+}
+hListItem.appendChild( hListItemLink )
+hList.appendChild( hListItem )
+this.aSearchData[ nI++ ] = sRealText.toLowerCase()
+}
+var hSecondBorder = hContainer.firstChild.firstChild
+hSecondBorder.appendChild( hList )
+this.bListUpdated = false
+}
+/* list array functions */
+cAutocomplete.prototype.initListArray = function()
+{
+var hInput = document.getElementById( this.sInputId )
+var hArr = null
+if( hInput.type.toLowerCase() == 'select-one' )
+{
+hArr = new Object()
+for( var nI = 0; nI < hInput.options.length; nI++ )
+{
+hArrKey = hInput.options.item( nI ).value
+sArrEl = hInput.options.item( nI ).text
+hArr[ hArrKey ] = sArrEl
+if( hInput.options.item( nI ).selected )
+{
+this.nSelectedItemIdx = nI
+}
+}
+}
+else
+{
+var sAA = hInput.getAttribute( 'autocomplete_list' )
+var sAAS = hInput.getAttribute( 'autocomplete_list_sort' )
+var sArrayType = this.getListArrayType()
+switch( sArrayType )
+{
+case 'array'	:
+hArr = eval( sAA.substring( 6 ) )
+break
+case 'list'	:
+hArr = new Array()
+var hTmpArray = sAA.substring( 5 ).split( '|' )
+var aValueArr
+for( hKey in hTmpArray )
+{
+aValueArr = hTmpArray[ hKey ].split( cAutocomplete.CS_ARRAY_SEPARATOR )
+if( aValueArr.length == 1 )
+{
+hArr[ hKey ] = hTmpArray[ hKey ]
+this.bAssociative = false
+}
+else
+{
+hArr[ aValueArr[ 0 ] ] = aValueArr[ 1 ]
+}
+}
+break
+}
+if( sAAS != null && eval( sAAS ) )
+{
+this.bSorted = true
+this.aData = hArr.sort()
+hArr = hArr.sort()
+}
+}
+this.setArray( hArr )
+}
+cAutocomplete.prototype.setArray = function( sArray )
+{
+if( typeof sArray == 'string' )
+{
+this.aData = eval( sArray )
+}
+else
+{
+this.aData = sArray
+}
+this.bListUpdated = true
+}
+
+
+
+cAutocomplete.prototype.setListArray = function( sArray )
+{
+this.setArray( sArray )
+this.updateAndShowList()
+}
+cAutocomplete.prototype.getListArrayType = function()
+{
+var hInput = document.getElementById( this.sInputId )
+var sAA = hInput.getAttribute( 'autocomplete_list' )
+if( sAA != null && sAA.length > 0 )
+{
+if( sAA.indexOf( 'array:' ) >= 0 )
+{
+return 'array'
+}
+else if(  sAA.indexOf( 'list:' ) >= 0 )
+{
+return 'list'
+}
+else if(  sAA.indexOf( 'url:' ) >= 0 )
+{
+return 'url'
+}
+else if(  sAA.indexOf( 'xmlrpc:' ) >= 0 )
+{
+return 'xmlrpc'
+}
+}
+}
+cAutocomplete.prototype.getListURL = function()
+{
+var hInput = document.getElementById( this.sInputId )
+var sAA = hInput.getAttribute( 'autocomplete_list' )
+if( sAA != null && sAA.length > 0 )
+{
+if(  sAA.indexOf( 'url:' ) >= 0 )
+{
+return sAA.substring( 4 )
+}
+if(  sAA.indexOf( 'xmlrpc:' ) >= 0 )
+{
+return sAA.substring( 7 )
+}
+}
+}
+cAutocomplete.prototype.setListURL = function( sURL )
+{
+this.sListURL = sURL;
+}
+cAutocomplete.prototype.onXmlHttpLoad = function( )
+{
+if( this.hXMLHttp.readyState == 4 )
+{
+var hError = this.hXMLHttp.parseError
+if( hError && hError.errorCode != 0 )
+{
+alert( hError.reason )
+}
+else
+{
+this.afterRemoteLoad()
+}
+}
+}
+cAutocomplete.prototype.onXMLRPCHttpLoad = function( )
+{
+if( this.hXMLHttp.readyState == 4 )
+{
+var hError = this.hXMLHttp.parseError
+if( hError && hError.errorCode != 0 )
+{
+alert( hError.reason )
+}
+else
+{
+this.afterRemoteLoadXMLRPC()
+}
+}
+}
+cAutocomplete.prototype.loadXMLRPCListArray = function()
+{
+
+
+
+var sURL = this.sListURL
+var aMethodArgs = sURL.split( ' ' )
+var sMethodName = aMethodArgs[ 0 ]
+var sStartWith = this.getStringForAutocompletion( this.sActiveValue, this.nInsertPoint )
+sStartWith = sStartWith.replace( /^\s/, '' )
+sStartWith = sStartWith.replace( /\s$/, '' )
+if( sMethodName.indexOf( '?' ) > 0 )
+{
+sMethodName = sMethodName.replace( '/^.+\?/', '' )
+sURL = sURL.replace( '/\?.+$/', '' )
+}
+else
+{
+sURL = xmlrpc_url
+}
+if (sMethodName.length < 1) 
+{ 
+var hInput = document.getElementById( this.sInputId )
+hInput.value = this.sActiveValue
+return
+}
+
+
+var sRequest = '<?xml version=\'1.0\' encoding="utf-8" ?>\n'
+sRequest += '<methodCall><methodName>'+sMethodName+'</methodName>\n'
+if (aMethodArgs.length <= 1) 
+{
+sRequest += '<params/>\n'
+}
+else
+{
+sRequest += '<params>\n'
+for( var nI = 1; nI < aMethodArgs.length; nI++ )
+{
+var sArg = aMethodArgs[ nI ];
+
+if( sArg.indexOf( '[S]' ) >= 0 )
+{
+
+sArg = sArg.replace( '[S]', sStartWith )
+}
+
+
+sRequest += '<param><value><string>'
+sRequest += sArg
+sRequest += '</string></value></param>\n'
+}
+sRequest += '</params>\n'
+}
+sRequest += '</methodCall>'
+if (this.bDebug) {
+this.debug('url: "'+sURL+'" sRequest: "'+sRequest.substring(20)+'"')
+/*sURL += '?start_debug=1'*/
+}
+this.hXMLHttp.open( 'POST', sURL, true )
+var hAC = this
+this.hXMLHttp.onreadystatechange = function() { hAC.onXMLRPCHttpLoad() }
+/*this.hXMLHttp.onreadystatechange = new Function( 'var sAC = "'+this.sObjName+'"; cAutocomplete.onXMLRPCHttpLoad( eval( sAC ) )' )*/
+this.hXMLHttp.send( sRequest )
+}
+cAutocomplete.prototype.loadListArray = function()
+{
+var sURL = this.sListURL
+var sStartWith = this.getStringForAutocompletion( this.sActiveValue, this.nInsertPoint )
+sStartWith = sStartWith.replace( /^\s/, '' )
+sStartWith = sStartWith.replace( /\s$/, '' )
+if( sURL.indexOf( '[S]' ) >= 0 )
+{
+sURL = sURL.replace( '[S]', sStartWith )
+}
+else
+{
+sURL += this.sActiveValue
+}
+this.hXMLHttp.open( 'GET', sURL, true )
+var hAC = this
+this.hXMLHttp.onreadystatechange = function() { hAC.onXmlHttpLoad() }
+this.hXMLHttp.send( null )
+}
+cAutocomplete.prototype.afterRemoteLoad = function()
+{
+var hInput = document.getElementById( this.sInputId )
+var hArr = new Array()
+var hTmpArray = this.hXMLHttp.responseText.split( '|' )
+var aValueArr
+for( hKey in hTmpArray )
+{
+aValueArr = hTmpArray[ hKey ].split( cAutocomplete.CS_ARRAY_SEPARATOR )
+if( aValueArr.length == 1 )
+{
+hArr[ hKey ] = hTmpArray[ hKey ]
+}
+else
+{
+hArr[ aValueArr[ 0 ] ] = hTmpArray[ hKey ].substr( hTmpArray[ hKey ].indexOf( cAutocomplete.CS_ARRAY_SEPARATOR ) + 1 )
+}
+}
+hInput.className = ''
+hInput.readonly = false
+hInput.value = this.sActiveValue
+this.setListArray( hArr )
+}
+cAutocomplete.prototype.afterRemoteLoadXMLRPC = function()
+{
+var hInput = document.getElementById( this.sInputId )
+var hArr = new Array()
+sResult = this.hXMLHttp.responseText
+if ( this.bDebug ) {
+this.debug( "response: "+sResult.substring(70,190) )
+}
+sResult.replace('\n','');
+sResult.replace('\r','');
+var hKey = 0
+var i = sResult.indexOf('<string>')
+while (i >= 0) {
+var j
+sResult = sResult.substring(i+8)
+j = sResult.indexOf('</string>')
+hArr[ hKey ] = sResult.substring(0, j)
+
+
+/*if( hArr[ hKey ] == hArr[ hKey-1 ] )
+return*/
+hKey += 1
+sResult = sResult.substring(j+9)
+i = sResult.indexOf('<string>')
+}
+hInput.className = ''
+hInput.readonly = false
+hInput.value = this.sActiveValue
+this.setListArray( hArr )
+}
+/**/
+cAutocomplete.prototype.prepareList = function( bFullList )
+{
+var hInput = document.getElementById( this.sInputId )
+this.sActiveValue = hInput.value
+
+var sST = this.getStringForAutocompletion( this.sActiveValue, this.nInsertPoint )
+var sLST = this.getStringForAutocompletion( this.sLastActiveValue, this.nInsertPoint )
+if( sLST != sST || bFullList || !this.bListDisplayed || this.bMatchSubstring  )
+{
+if( this.bRemoteList )
+{
+hInput.className = 'search'
+
+
+
+
+this.bXMLRPC ? this.loadXMLRPCListArray() : this.loadListArray()
+return
+}
+this.updateAndShowList( bFullList )
+}
+}
+cAutocomplete.prototype.updateAndShowList = function( bFullList )
+{
+var hContainer = document.getElementById( this.sListId )
+var hList = hContainer.getElementsByTagName( 'UL' )[ 0 ]
+var hInput = document.getElementById( this.sInputId )
+if( this.bListUpdated )
+{
+this.createList()
+}
+
+var sST = this.bMatchSubstring ? this.getStringForAutocompletion( this.sActiveValue, this.nInsertPoint ) : this.sActiveValue
+var sLST = this.bMatchSubstring ? this.getStringForAutocompletion( this.sLastActiveValue, this.nInsertPoint ) : this.sLastActiveValue
+
+
+if( sST == sLST )
+{
+if( !this.bMatchSubstring )
+{
+bFullList = true
+}
+}
+this.filterOptions( bFullList )
+if( this.nItemsDisplayed == 0 )
+{
+if( this.bForceCorrect )
+{
+var aPos = this.getInsertPos( this.sActiveValue, this.nInsertPoint, '' )
+cAutocomplete.markInputRange( hInput, this.nLastMatchLength, aPos[0] )
+}
+}
+this.sLastActiveValue = this.sActiveValue
+if( this.nItemsDisplayed > 0 )
+{
+if( !bFullList || this.bMatchSubstring )
+{
+this.deselectOption()
+}
+if( this.bAutoComplete && this.nItemsDisplayed == 1 )
+{
+
+var sStartWith = this.getStringForAutocompletion( this.sActiveValue, this.nInsertPoint )
+var sItemText = hList.getElementsByTagName( 'LI' )[ this.nFirstDisplayed ].getElementsByTagName( 'A' )[ 0 ].realText
+if( sStartWith.toLowerCase() == sItemText.toLowerCase() )
+{
+this.selectOption( hList.getElementsByTagName( 'LI' )[ this.nFirstDisplayed ].getElementsByTagName( 'A' )[ 0 ] )
+this.hideOptions()
+
+return
+}
+}
+if( this.bAutoComplete && !bFullList )
+{
+this.selectOption( hList.getElementsByTagName( 'LI' )[ this.nFirstDisplayed ].getElementsByTagName( 'A' )[ 0 ] )
+}
+this.showList()
+}
+else
+{
+this.clearList()
+}
+}
+cAutocomplete.prototype.showList = function()
+{
+if( cAutocomplete.hListDisplayed )
+{
+cAutocomplete.hListDisplayed.clearList()
+}
+var hInput = document.getElementById( this.sInputId )
+var nTop = cDomObject.getOffsetParam( hInput, 'offsetTop' )
+var nLeft = cDomObject.getOffsetParam( hInput, 'offsetLeft' )
+var hContainer = document.getElementById( this.sListId )
+var hList = hContainer.getElementsByTagName( 'UL' )[ 0 ]
+if( this.bHasButton )
+{
+hContainer.style.width = document.getElementById( this.sInputId ).parentNode.offsetWidth
+}
+else
+{
+hContainer.style.width = document.getElementById( this.sInputId ).offsetWidth
+}
+var nNumLines = ( this.nItemsDisplayed < cAutocomplete.CN_NUMBER_OF_LINES ) ? this.nItemsDisplayed : cAutocomplete.CN_NUMBER_OF_LINES;
+hList.style.height = nNumLines * cAutocomplete.CN_LINE_HEIGHT + cAutocomplete.CN_HEIGHT_FIX + 'px'
+hContainer.style.top = nTop + hInput.offsetHeight + cAutocomplete.CN_OFFSET_TOP + 'px'
+hContainer.style.left = nLeft + cAutocomplete.CN_OFFSET_LEFT + 'px'
+hContainer.style.display = 'none'
+hContainer.style.visibility = 'visible'
+hContainer.style.display = 'block'
+cAutocomplete.hListDisplayed = this
+this.bListDisplayed = true
+}
+cAutocomplete.prototype.binarySearch = function( sFilter )
+{
+var nLow = 0
+var nHigh = this.aSearchData.length - 1
+var nMid
+var nTry, nLastTry
+var sData
+var nLen = sFilter.length
+var lastTry
+while ( nLow <= nHigh )
+{
+nMid = ( nLow + nHigh ) / 2
+nTry = ( nMid < 1 ) ? 0 : parseInt( nMid )
+sData = this.aSearchData[ nTry ].substr( 0, nLen )
+if ( sData < sFilter )
+{
+nLow = nTry + 1
+continue
+}
+if ( sData > sFilter )
+{
+nHigh = nTry - 1
+continue
+}
+if ( sData == sFilter )
+{
+nHigh = nTry - 1
+nLastTry = nTry
+continue
+}
+return nTry
+}
+if ( typeof ( nLastTry ) != "undefined" )
+{
+return nLastTry
+}
+else
+{
+return null
+}
+}
+cAutocomplete.prototype.getStringForAutocompletion = function( sString, nPos )
+{
+if( sString == null || sString.length == 0 )
+{
+return ''
+}
+if( this.bMatchSubstring )
+{
+var nStartPos = sString.lastIndexOf( cAutocomplete.CS_SEPARATOR, nPos - 1 )
+nStartPos = nStartPos < 0 ? 0 : nStartPos
+var nEndPos = sString.indexOf( cAutocomplete.CS_SEPARATOR, nPos )
+nEndPos = nEndPos < 0 ? sString.length : nEndPos
+var sStr = sString.substr( nStartPos, nEndPos - nStartPos )
+sStr = sStr.replace( /^(\,?)(\s*)(\S*)(\s*)(\,?)$/g, '$3' )
+return sStr
+}
+else
+{
+return sString
+}
+}
+cAutocomplete.prototype.insertString = function( sString, nPos, sInsert )
+{
+if( this.bMatchSubstring )
+{
+var nStartPos = sString.lastIndexOf( cAutocomplete.CS_SEPARATOR, nPos - 1 )
+nStartPos = nStartPos < 0 ? 0 : nStartPos
+var nEndPos = sString.indexOf( cAutocomplete.CS_SEPARATOR, nPos )
+nEndPos = nEndPos < 0 ? sString.length : nEndPos
+var sStr = sString.substr( nStartPos, nEndPos - nStartPos )
+sStr = sStr.replace( /^(\,?)(\s*)(\S?[\S\s]*\S?)(\s*)(\,?)$/g, '$1$2'+sInsert+'$4$5' )
+sStr = sString.substr( 0, nStartPos ) + sStr + sString.substr( nEndPos )
+return sStr
+}
+else
+{
+return sInsert
+}
+}
+cAutocomplete.prototype.getInsertPos = function( sString, nPos, sInsert )
+{
+nPos = nPos == null ? 0 : nPos
+var nStartPos = sString.lastIndexOf( cAutocomplete.CS_SEPARATOR, nPos - 1 )
+nStartPos = nStartPos < 0 ? 0 : nStartPos
+var nEndPos = sString.indexOf( cAutocomplete.CS_SEPARATOR, nPos )
+nEndPos = nEndPos < 0 ? sString.length : nEndPos
+var sStr = sString.substr( nStartPos, nEndPos - nStartPos )
+sStr = sStr.replace( /^(\,?)(\s*)(\S?[\S\s]*\S?)(\s*)(\,?)$/g, '$1$2'+sInsert )
+return [ nPos, nStartPos + sStr.length ]
+}
+cAutocomplete.prototype.filterOptions = function( bShowAll )
+{
+if( this.hActiveSelection && !bShowAll )
+{
+this.hActiveSelection.className = ''
+}
+if( typeof bShowAll == 'undefined' )
+{
+bShowAll = false
+}
+var hInput = document.getElementById( this.sInputId )
+var sStartWith = this.getStringForAutocompletion( this.sActiveValue, this.nInsertPoint )
+if( bShowAll )
+{
+sStartWith = ''
+}
+var hContainer = document.getElementById( this.sListId )
+var hList = hContainer.getElementsByTagName( 'UL' )[ 0 ]
+var nItemsLength = hList.childNodes.length
+var hLinkItem = null
+var nCount = 0
+var hParent = hList.parentNode
+var hList = hList.parentNode.removeChild( hList )
+var hTItems = hList.childNodes
+this.nItemsDisplayed = 0
+if( sStartWith.length == 0 )
+{
+for( var nI = 0; nI < nItemsLength; nI++ )
+{
+if( this.formatOptions )
+{
+hTItems[ nI ].childNodes[0].innerHTML = this.formatOptions( hTItems[ nI ].childNodes[0].realText, nI )
+}
+hTItems[ nI ].style.display = 'block'
+}
+nCount = nItemsLength
+if( nItemsLength > 0 )
+{
+this.nFirstDisplayed = 0
+this.nLastDisplayed = nItemsLength - 1
+}
+else
+{
+this.nFirstDisplayed = this.nLastDisplayed = -1
+}
+
+var aPos = this.getInsertPos( this.sActiveValue, this.nInsertPoint, sStartWith )
+this.nLastMatchLength = aPos[0]
+}
+else
+{
+this.nFirstDisplayed = this.nLastDisplayed = -1
+sStartWith = sStartWith.toLowerCase()
+var bEnd = false
+if( this.bSorted && this.bMatchBegin )
+{
+var nStartAt = this.binarySearch( sStartWith )
+for( var nI = 0; nI < nItemsLength; nI++ )
+{
+hTItems[ nI ].style.display = 'none'
+if( nI >= nStartAt && !bEnd )
+{
+if( !bEnd && this.aSearchData[ nI ].indexOf( sStartWith ) != 0 )
+{
+bEnd = true
+continue
+}
+if( this.formatOptions )
+{
+hTItems[ nI ].childNodes[0].innerHTML = this.formatOptions( hTItems[ nI ].childNodes[0].realText, nI )
+}
+hTItems[ nI ].style.display = 'block'
+nCount++
+if( this.nFirstDisplayed < 0 )
+{
+this.nFirstDisplayed = nI
+}
+this.nLastDisplayed = nI
+}
+}
+}
+else
+{
+for( var nI = 0; nI < nItemsLength; nI++ )
+{
+hTItems[ nI ].style.display = 'none'
+if( ( this.bMatchBegin && this.aSearchData[ nI ].indexOf( sStartWith ) == 0 ) || ( !this.bMatchBegin && this.aSearchData[ nI ].indexOf( sStartWith ) >= 0 ) )
+{
+if( this.formatOptions )
+{
+hTItems[ nI ].childNodes[0].innerHTML = this.formatOptions( hTItems[ nI ].childNodes[0].realText, nI )
+}
+hTItems[ nI ].style.display = 'block'
+nCount++
+if( this.nFirstDisplayed < 0 )
+{
+this.nFirstDisplayed = nI
+}
+this.nLastDisplayed = nI
+}
+}
+}
+if( nCount > 0 )
+{
+
+var aPos = this.getInsertPos( this.sActiveValue, this.nInsertPoint, sStartWith )
+this.nLastMatchLength = aPos[0]
+}
+}
+hParent.appendChild( hList )
+this.nItemsDisplayed = nCount
+}
+cAutocomplete.prototype.hideOptions = function()
+{
+var hContainer = document.getElementById( this.sListId )
+hContainer.style.visibility = 'hidden'
+hContainer.style.display = 'none'
+this.hListDisplayed = null
+}
+cAutocomplete.prototype.markAutocompletedValue = function()
+{
+var hInput = document.getElementById( this.sInputId )
+var sValue = this.hActiveSelection.realText
+if( this.bMatchSubstring )
+{
+var aPos = this.getInsertPos( this.sLastActiveValue, this.nInsertPoint, sValue )
+var nStartPos = aPos[ 0 ]
+var nEndPos = aPos[ 1 ]
+}
+else
+{
+var nStartPos = this.nInsertPoint
+var nEndPos = sValue.length
+}
+this.nStartAC = nStartPos
+this.nEndAC = nEndPos
+if( this.hMarkRangeTimeout != null )
+{
+clearTimeout( this.hMarkRangeTimeout )
+}
+this.hMarkRangeTimeout = setTimeout( function() { 
+cAutocomplete.markInputRange2( hInput.id ) 
+}
+, cAutocomplete.CN_MARK_TIMEOUT )
+
+}
+cAutocomplete.prototype.selectOptionByIndex = function( nOptionIndex )
+{
+if( this.bListUpdated )
+{
+this.createList()
+}
+var hContainer = document.getElementById( this.sListId )
+var hList = hContainer.getElementsByTagName( 'UL' )[ 0 ]
+var nItemsLength = hList.childNodes.length
+if( nOptionIndex >=0 && nOptionIndex < nItemsLength )
+{
+this.selectOption( hList.childNodes[ nOptionIndex ].getElementsByTagName( 'A' )[ 0 ] )
+}
+}
+cAutocomplete.prototype.selectOptionByValue = function( sValue )
+{
+if( this.bListUpdated )
+{
+this.createList()
+}
+sValue = sValue.toLowerCase()
+var hContainer = document.getElementById( this.sListId )
+var hList = hContainer.getElementsByTagName( 'UL' )[ 0 ]
+var nItemsLength = hList.childNodes.length
+var nSelectedIndex = -1
+for( var nI = 0; nI < nItemsLength; nI++ )
+{
+if( this.aSearchData[ nI ].indexOf( sValue ) == 0 )
+{
+nSelectedIndex = nI
+}
+}
+if( nSelectedIndex >=0 )
+{
+this.selectOption( hList.childNodes[ nSelectedIndex ].getElementsByTagName( 'A' )[ 0 ] )
+}
+}
+cAutocomplete.prototype.selectOption = function( hNewOption )
+{
+if( this.hActiveSelection )
+{
+if( this.hActiveSelection == hNewOption )
+{
+return
+}
+else
+{
+this.hActiveSelection.className = ''
+}
+}
+this.hActiveSelection = hNewOption
+var hInput = document.getElementById( this.sInputId )
+if( this.hActiveSelection != null )
+{
+if( this.sHiddenInputId != null )
+{
+if( this.bMatchSubstring )
+{
+document.getElementById( this.sHiddenInputId ).value = this.hActiveSelection.getAttribute( 'itemvalue' )
+}
+else
+{
+document.getElementById( this.sHiddenInputId ).value = this.hActiveSelection.getAttribute( 'itemvalue' )
+}
+}
+this.hActiveSelection.className = 'selected'
+if( this.bAutoComplete )
+{
+hInput.value = this.insertString( this.sLastActiveValue, this.nInsertPoint, this.hActiveSelection.realText )
+this.bAutocompleted = true
+this.markAutocompletedValue()
+}
+else
+{
+var aPos = this.getInsertPos( this.sLastActiveValue, this.nInsertPoint, this.hActiveSelection.realText )
+hInput.value = this.insertString( this.sActiveValue, this.nInsertPoint, this.hActiveSelection.realText )
+
+cAutocomplete.setInputCaretPosition( hInput, aPos[ 1 ] )
+}
+this.sActiveValue = hInput.value
+if( this.onSelect )
+{
+this.onSelect()
+}
+}
+else
+{
+hInput.value = this.sActiveValue
+cAutocomplete.setInputCaretPosition( hInput, this.nInsertPoint )
+}
+}
+cAutocomplete.prototype.deselectOption = function( )
+{
+if( this.hActiveSelection != null )
+{
+this.hActiveSelection.className = ''
+this.hActiveSelection = null
+}
+}
+cAutocomplete.prototype.clearList = function()
+{
+
+this.hideOptions()
+this.bListDisplayed = false
+}
+cAutocomplete.prototype.getPrevDisplayedItem = function( hItem )
+{
+if( hItem == null )
+{
+var hContainer = document.getElementById( this.sListId )
+hItem = hContainer.getElementsByTagName( 'UL' )[ 0 ].childNodes.item( hContainer.getElementsByTagName( 'UL' )[ 0 ].childNodes.length - 1 )
+}
+else
+{
+hItem = getPrevNodeSibling( hItem.parentNode )
+}
+while( hItem != null )
+{
+if( hItem.style.display == 'block' )
+{
+return hItem
+}
+hItem = hItem.previousSibling
+}
+return null
+}
+cAutocomplete.prototype.getNextDisplayedItem = function( hItem )
+{
+if( hItem == null )
+{
+var hContainer = document.getElementById( this.sListId )
+hItem = hContainer.getElementsByTagName( 'UL' )[ 0 ].childNodes.item( 0 )
+}
+else
+{
+hItem =  getNextNodeSibling( hItem.parentNode )
+}
+while( hItem != null )
+{
+if( hItem.style.display == 'block' )
+{
+return hItem
+}
+hItem = hItem.nextSibling
+}
+return null
+}
+cAutocomplete.prototype.debug = function(s)
+{
+if (this.bDebug) {
+var hInput = document.getElementById( this.sInputId )
+var hContainer = document.createElement( 'DIV' )
+hContainer.className = 'debug'
+hContainer.innerHTML = s
+hInput.form.appendChild( hContainer )
+/*alert(s)*/
+}
+}
+cAutocomplete.onInputKeyDown = function ( hEvent )
+{
+if( hEvent == null )
+{
+hEvent = window.event
+}
+var hElement = ( hEvent.srcElement ) ? hEvent.srcElement : hEvent.originalTarget
+var hAC = hElement.hAutocomplete
+var hContainer = document.getElementById( hAC.sListId )
+var hInput = document.getElementById( hAC.sInputId )
+var hList = hContainer.getElementsByTagName( 'UL' )[ 0 ]
+var hEl = getParentByTagName( hElement, 'A' )
+if( hContainer != null && hAC.bListDisplayed )
+{
+var hLI = null
+var hLINext = null
+
+if( ( hEvent.keyCode == 13 ) || ( hEvent.keyCode == 27 ) )
+{
+var bItemSelected = hEvent.keyCode == 13 ? true : false
+hAC.clearList()
+if (hAC.bDebug) { hAC.debug ("key "+hEvent.keyCode+" new active selection") }
+}
+if( hEvent.keyCode == 38 )
+{
+
+if (hAC.bDebug) { hAC.debug ("key "+hEvent.keyCode+" up") }
+hLINext = hAC.getPrevDisplayedItem( hAC.hActiveSelection )
+if( hLINext != null )
+{
+hAC.selectOption( hLINext.childNodes.item(0) )
+if( hAC.nItemsDisplayed > cAutocomplete.CN_NUMBER_OF_LINES )
+{
+if( hList.scrollTop < 5 && hLINext.offsetTop > hList.offsetHeight )
+{
+hList.scrollTop = hList.scrollHeight - hList.offsetHeight
+}
+if( hLINext.offsetTop - hList.scrollTop < 0 )
+{
+hList.scrollTop -= hLINext.offsetHeight
+}
+}
+}
+else
+{
+hAC.selectOption( null )
+}
+}
+else if ( hEvent.keyCode == 40 )
+{
+
+if (hAC.bDebug) { hAC.debug ("key "+hEvent.keyCode+" down") }
+hLINext = hAC.getNextDisplayedItem( hAC.hActiveSelection )
+if( hLINext != null )
+{
+hAC.selectOption( hLINext.childNodes.item(0) )
+if( hAC.nItemsDisplayed > cAutocomplete.CN_NUMBER_OF_LINES )
+{
+if( hList.scrollTop > 0 && hList.scrollTop > hLINext.offsetTop )
+{
+hList.scrollTop = 0
+}
+if( Math.abs( hLINext.offsetTop - hList.scrollTop - hList.offsetHeight ) < 5 )
+{
+hList.scrollTop += hLINext.offsetHeight
+}
+}
+}
+else
+{
+hAC.selectOption( null )
+}
+}
+}
+if( hInput.form )
+{
+hInput.form.bLocked = true
+if (hAC.bDebug) { hAC.debug ("onInputKeyDown form blocked") }
+}
+if ( hEvent.keyCode == 13 || hEvent.keyCode == 27 || hEvent.keyCode == 38 || hEvent.keyCode == 40 )
+{
+if( hEvent.preventDefault )
+{
+hEvent.preventDefault()
+/*
+if (hEvent.keyCode == 13) {
+if (hAC.bDebug) { hAC.debug ("preventDefault: return true") }
+return true
+}
+*/
+} else {
+if (hAC.bDebug) { hAC.debug ("no preventDefault return false") }
+}
+hEvent.cancelBubble = true
+hEvent.returnValue = false
+return false
+}
+}
+cAutocomplete.onInputKeyPress = function ( hEvent )
+{
+if ( hEvent.keyCode == 13 || hEvent.keyCode == 38 || hEvent.keyCode == 40 )
+{
+if( hEvent.preventDefault )
+{
+hEvent.preventDefault()
+}
+hEvent.cancelBubble = true
+hEvent.returnValue = false
+return false
+}
+}
+cAutocomplete.onInputKeyUp = function ( hEvent )
+{
+if( hEvent == null )
+{
+hEvent = window.event
+}
+var hElement = ( hEvent.srcElement ) ? hEvent.srcElement : hEvent.originalTarget
+var hAC = hElement.hAutocomplete
+var hInput = document.getElementById( hAC.sInputId )
+
+switch( hEvent.keyCode )
+{
+case 8	:	if( hAC.bAutoComplete && hAC.bAutocompleted )
+{
+hAC.bAutocompleted = false
+return false
+}
+break
+case 38	:
+case 40	:	if( hAC.bListDisplayed )
+{
+if( hEvent.preventDefault )
+{
+hEvent.preventDefault()
+}
+hEvent.cancelBubble = true
+hEvent.returnValue = false
+return false
+}
+break
+case 32	:
+case 46	:
+
+
+case 35	:
+case 36	:	break;
+default	:	
+if( hEvent.keyCode < 48 )
+{
+if( hEvent.preventDefault )
+{
+hEvent.preventDefault()
+}
+/*
+if (hEvent.keyCode == 13) {
+return true
+}
+*/
+if (hAC.bDebug) { hAC.debug ("keyUp: hEvent.returnValue = false") }
+hEvent.cancelBubble = true
+hEvent.returnValue = false
+return false
+}
+break
+}
+if( hAC.hMarkRangeTimeout != null )
+{
+clearTimeout( hAC.hMarkRangeTimeout )
+}
+if( hAC.hShowTimeout )
+{
+clearTimeout( hAC.hShowTimeout )
+hAC.hShowTimeout = null
+}
+var nTimeout = hAC.bRemoteList ? cAutocomplete.CN_REMOTE_SHOW_TIMEOUT : cAutocomplete.CN_SHOW_TIMEOUT
+hAC.hShowTimeout = setTimeout( function(){ hAC.prepareList() }, nTimeout )
+if (hAC.bDebug) { hAC.debug ("setTimeout "+nTimeout) }
+}
+cAutocomplete.onInputBlur = function( hEvent )
+{
+if( hEvent == null )
+{
+hEvent = window.event
+}
+var hElement = ( hEvent.srcElement ) ? hEvent.srcElement : hEvent.originalTarget
+if( hElement.form )
+{
+hElement.form.bLocked = false
+}
+var hAC = hElement.hAutocomplete
+if( !hAC.hClearTimeout )
+{
+hAC.hClearTimeout = setTimeout( function(){ hAC.clearList() }, cAutocomplete.CN_CLEAR_TIMEOUT )
+}
+}
+cAutocomplete.onInputFocus = function( hEvent )
+{
+if( hEvent == null )
+{
+hEvent = window.event
+}
+var hElement = ( hEvent.srcElement ) ? hEvent.srcElement : hEvent.originalTarget
+var hAC = hElement.hAutocomplete
+if( hAC.hClearTimeout )
+{
+clearTimeout( hAC.hClearTimeout )
+hAC.hClearTimeout = null
+}
+}
+cAutocomplete.saveCaretPosition = function( hEvent )
+{
+if( hEvent == null )
+{
+hEvent = window.event
+}
+var hElement = ( hEvent.srcElement ) ? hEvent.srcElement : hEvent.originalTarget
+var hAC = hElement.hAutocomplete
+var hInput = document.getElementById( hAC.sInputId )
+
+if( hEvent.keyCode != 38 && hEvent.keyCode != 40 )
+{
+hAC.nInsertPoint = cAutocomplete.getInputCaretPosition( hInput )
+}
+}
+cAutocomplete.getInputCaretPosition = function( hInput )
+{
+if( typeof hInput.selectionStart != 'undefined' )
+{
+if( hInput.selectionStart == hInput.selectionEnd )
+{
+return hInput.selectionStart
+}
+else
+{
+return hInput.selectionStart
+}
+}
+else if( hInput.createTextRange )
+{
+var hSelRange = document.selection.createRange()
+if( hInput.tagName.toLowerCase() == 'textarea' )
+{
+var hSelBefore = hSelRange.duplicate()
+var hSelAfter = hSelRange.duplicate()
+hSelRange.moveToElementText( hInput )
+hSelBefore.setEndPoint( 'StartToStart', hSelRange )
+return hSelBefore.text.length
+}
+else
+{
+hSelRange.moveStart( 'character', -1*hInput.value.length )
+var nLen = hSelRange.text.length
+return nLen
+}
+}
+return null
+}
+cAutocomplete.setInputCaretPosition = function( hInput, nPosition )
+{
+if ( hInput.setSelectionRange )
+{
+hInput.setSelectionRange( nPosition ,nPosition )
+}
+else if ( hInput.createTextRange )
+{
+var hRange = hInput.createTextRange()
+hRange.moveStart( 'character', nPosition )
+hRange.moveEnd( 'character', nPosition )
+hRange.collapse(true)
+hRange.select()
+}
+}
+cAutocomplete.markInputRange = function( hInput, nStartPos, nEndPos )
+{
+if( hInput.setSelectionRange )
+{
+hInput.focus()
+hInput.setSelectionRange( nStartPos, nEndPos )
+}
+else if( hInput.createTextRange )
+{
+var hRange = hInput.createTextRange()
+hRange.collapse(true)
+hRange.moveStart( 'character', nStartPos )
+hRange.moveEnd( 'character', nEndPos - nStartPos )
+hRange.select()
+}
+}
+cAutocomplete.markInputRange2 = function( sInputId )
+{
+var hInput = document.getElementById( sInputId )
+var nStartPos = hInput.hAutocomplete.nStartAC
+var nEndPos = hInput.hAutocomplete.nEndAC
+cAutocomplete.markInputRange( hInput, nStartPos, nEndPos )
+}
+cAutocomplete.onListBlur = function( hEvent )
+{
+if( hEvent == null )
+{
+hEvent = window.event
+}
+var hElement = ( hEvent.srcElement ) ? hEvent.srcElement : hEvent.originalTarget
+hElement = getParentByProperty( hElement, 'className', 'autocomplete_holder' )
+var hAC = hElement.hAutocomplete
+if( !hAC.hClearTimeout )
+{
+hAC.hClearTimeout = setTimeout( function() { hAC.clearList() }, cAutocomplete.CN_CLEAR_TIMEOUT )
+}
+}
+cAutocomplete.onListFocus = function( hEvent )
+{
+if( hEvent == null )
+{
+hEvent = window.event
+}
+var hElement = ( hEvent.srcElement ) ? hEvent.srcElement : hEvent.originalTarget
+hElement = getParentByProperty( hElement, 'className', 'autocomplete_holder' )
+var hAC = hElement.hAutocomplete
+if( hAC.hClearTimeout )
+{
+clearTimeout( hAC.hClearTimeout )
+hAC.hClearTimeout = null
+}
+}
+cAutocomplete.onItemClick = function( hEvent )
+{
+if( hEvent == null )
+{
+hEvent = window.event
+}
+var hElement = ( hEvent.srcElement ) ? hEvent.srcElement : hEvent.originalTarget
+var hContainer = getParentByProperty( hElement, 'className', 'autocomplete_holder' )
+var hEl = getParentByTagName( hElement, 'A' )
+if( hContainer != null )
+{
+var hAC = hContainer.hAutocomplete
+hAC.selectOption( hEl )
+document.getElementById( hAC.sInputId ).focus()
+hAC.clearList()
+}
+if( hEvent.preventDefault )
+{
+hEvent.preventDefault()
+}
+/*var hAC = hElement.hAutocomplete
+if (hAC.bDebug) { hAC.debug ("onItemClick") }*/
+hEvent.cancelBubble = true
+hEvent.returnValue = false
+return false
+}
+cAutocomplete.onButtonClick = function ( hEvent )
+{
+if( hEvent == null )
+{
+hEvent = window.event
+}
+var hElement = ( hEvent.srcElement ) ? hEvent.srcElement : hEvent.originalTarget
+var hAC = hElement.hAutocomplete
+var hInput = document.getElementById( hAC.sInputId )
+if( hInput.disabled )
+{
+return
+}
+if (hAC.bDebug) { hAC.debug ("onButtonClick") }
+hAC.prepareList( true )
+var hInput = document.getElementById( hAC.sInputId )
+hInput.focus()
+}
+cAutocomplete.onFormSubmit = function ( hEvent )
+{
+if( hEvent == null )
+{
+hEvent = window.event
+}
+var hElement = ( hEvent.srcElement ) ? hEvent.srcElement : hEvent.originalTarget
+if( hElement.bLocked )
+{
+var hAC = hElement.hAutocomplete
+if (hAC.bDebug) { hAC.debug ("onSubmit: hElement.bLocked") }
+hElement.bLocked = false
+hEvent.returnValue = false
+if( hEvent.preventDefault )
+{
+hEvent.preventDefault()
+}
+return false
+}
+}
diff -ruN 1.3.12p3/themes/default/phpwiki.css 1.3.14/themes/default/phpwiki.css
--- 1.3.12p3/themes/default/phpwiki.css	2006-06-18 06:20:13.000000000 -0500
+++ 1.3.14/themes/default/phpwiki.css	2007-07-01 05:11:33.000000000 -0500
@@ -1,5 +1,5 @@
 /**
- * $Id: phpwiki.css,v 1.49 2005/04/11 19:41:23 rurban Exp $
+ * $Id: phpwiki.css,v 1.60 2007/05/30 21:58:18 rurban Exp $
  *
  * This incarnation of this stylesheet is a complete rewrite from the
  * ground up.
@@ -62,7 +62,7 @@
 div.wikitext {
   margin-top:    1ex;
   margin-bottom: 0.5ex;
-  background: white;
+  background-color: white;
   /* Netscape 4 requires this 1px border.
      Without it, the paper borders below cause
      the white background to disappear. */
@@ -81,8 +81,26 @@
    */
   clear: both;
 }
+/* for the login template */
+div#browse  {
+  margin-top:    1px;
+  margin-bottom: 0.5px;
+  /*background: #dddddd;*/
+}
+
 /* .interwiki-map thead td { text-decoration: underline; } */
 
+/*
+** RecentChanges
+*/
+.pageinfo-majoredit { 
+	font-weight: bold;
+}
+.wiki-summary {
+  	font-size: 94%;
+  	font-style: italic;
+}
+
 /* Mozilla RecentChanges Sidebar */
 body.sidebar {
   font-size: smaller;
@@ -104,7 +122,7 @@
 div.wikiaction { background-color: #eee; }
 /* div.wikiadmin { background-color: #fee; } */
 form.wikiadmin div { background-color: #fee; }
-
+form.wikiformrich { background-color: #eee; }
 
 /**
  * Link styles
@@ -114,29 +132,45 @@
   /* font-weight: normal; */
   font-weight: bold;
 }
+.wiki relation, .named-wiki relation, .wiki attribute, .named-wiki attribute {
+  font-style: oblique;
+  /* font-weight: normal; */
+  font-weight: bold;
+}
+
+span.relation-symbol {
+    font-weight: bold;
+    font-family: monospace;
+    letter-spacing: 0.1em;
+}
 
 /* Action buttons */
 a.wikiaction, a.wikiadmin, a.wiki-rc-action, a.wikiunsafe,
 input.wikiaction, input.button, input.wikiadmin {
-  text-decoration: none;
-  font-family: Arial, Helvetica, sans-serif;
-  /* don't wrap text buttons */
-  white-space: nowrap;
-  /*font-size: inherit; */
+    text-decoration: none;
+    font-family: Arial, Helvetica, sans-serif;
+    /* don't wrap text buttons */
+    white-space: nowrap;
+    /* font-size: inherit; */
 }
 
-a.wikiaction, a.wikiaction:visited, input.wikiaction, input.button { background-color: #ddd; }
+a.wikiaction, a.wikiaction:visited, input.wikiaction, input.button { 
+    background-color: #ddd; 
+}
 
 .wikiunsafe { background-color: #fcc; }
 
-a.wikiadmin, a.wikiadmin:visited, input.wikiadmin  { background-color: #fdd; }
+a.wikiadmin, a.wikiadmin:visited, input.wikiadmin  { 
+    background-color: #fdd; 
+}
 
 /* Unknown links */
 .wikiunknown, .named-wikiunknown {
   font-weight: normal;
   font-size: 100%;
 }
- /* QuestionMark #600 */
+
+/* QuestionMark #600 */
 .wikiunknown a, .named-wikiunknown a {
   color: #447;
   background-color: #eee;
@@ -280,9 +314,14 @@
 #toolbar { padding:0px; }
 
 /**
+ * Search
+ */
+#searchholder { display: inline; }
+
+/**
  * Search Results
  */
-.search-context { background: white; }
+.search-context { background: white; font-style: oblique; }
 .search-term {
   background: yellow;
   font-weight: normal;
@@ -849,12 +888,22 @@
 .forumline{background:#ffffff;color:#000000;border:1px solid #006699}
 
 /* Sidebar */
-.box { background:#ffffff; border: 1px solid #888888 }
-.box-title { font-weight: normal; /*font-size: 11pt; */ background-color: #ccc; color: black; /*font-style: menu;*/ text-align: center; }
-.box-data { width: 160px; font-size: 9pt; font-weight: normal; }
+.box { background:#ffffff; border: 1px solid silver }
+.box-title { font-family: Tahoma; font-weight: normal; /*font-size: 11pt; */ background-color: #ccc; color: black; /*font-style: menu;*/ text-align: center; border: none; padding: 2px 0 2px 0;}
+.box-data { width: 160px; font-size: 9pt; font-weight: normal; border: none; }
 .box-data .wiki { font-weight: normal; }
 td.sidebar { border-spacing: 0px; margin: 0ex;}
 
+/* plugin BoxRight */
+div.boxright {
+  width: 200px; 
+  right: 10px;
+  padding: 0.5em; 
+  float: right; 
+  border: thin solid #888888; 
+  padding: 0.5em;
+}
+
 /* RssFeed */
 div.rss { margin: 1em; padding: 1em; font-size: 0.9em; background-color: #eeeeee; border: thin dashed #aaa; }
 div.feed { color: #333; margin: -0.5em; margin-bottom: 0em; padding: 0.3em; font-weight: bold; background-color: #f2f2f2; font-size: 1.2em; }
@@ -891,6 +940,61 @@
   font-size: 11px;
 }
 
+
+.wikiwyg_toolbar {
+    background: #D3D3D3;
+    border: 1px outset;
+    letter-spacing: 0;
+    padding: 2px;
+}
+
+span.wikiwyg_control_link a {
+    padding-right: 8px;
+}
+
+.wikiwyg_button {
+    background: #D3D3D3;
+    border: 1px solid #D3D3D3;
+    cursor: pointer;
+    width: 20px;
+    height: 20px;
+    vertical-align: bottom;
+}
+
+.wikiwyg_button:hover {
+    border: 1px outset;
+}
+
+.wikiwyg_button:active {
+    border: 1px inset;
+}
+
+.wikiwyg_separator {
+    background: #D3D3D3;
+    border: 1px solid #D3D3D3;
+    width: 9px;
+    height: 20px;
+    vertical-align: bottom;
+}
+
+.wikiwyg_selector {
+    width: 70px;
+}
+
+.wikiwyg_wysiwyg table {
+    border-collapse: collapse;
+    margin-bottom: .2em;
+}
+
+.wikiwyg_wysiwyg table td {
+    border: 1px;
+    border-style: solid;
+    padding: .2em;
+    vertical-align: top;
+}
+
+
+
 /* For emacs users
  *
  * Local Variables:
diff -ruN 1.3.12p3/themes/default/templates/actionbar.tmpl 1.3.14/themes/default/templates/actionbar.tmpl
--- 1.3.12p3/themes/default/templates/actionbar.tmpl	2006-06-18 06:20:13.000000000 -0500
+++ 1.3.14/themes/default/templates/actionbar.tmpl	2007-07-01 05:11:33.000000000 -0500
@@ -1,6 +1,7 @@
 <?php // -*-php-*-
-rcs_id('$Id: actionbar.tmpl,v 1.36 2005/04/23 11:43:44 rurban Exp $');
+rcs_id('$Id: actionbar.tmpl,v 1.39 2007/01/02 13:29:14 rurban Exp $');
 ?>
+<?php if (!$WikiTheme->DUMP_MODE) { ?>
 <?php /* I would like not to have to use these tables, and managed to
        * get this stuff to work more or less correctly using
        * CSSs float:left; and float:right;.  However float:right; seems
@@ -21,8 +22,9 @@
     <?php if (ENABLE_PAGEPERM and mayAccessPage('change', $page->getName())) { ?>
       <?=$SEP?><?= Button('chown') ?>
       <?=$SEP?><?= Button('setacl') ?>
+      <?=$SEP?><?= Button('rename') ?>
     <?php }} ?>
-    <?php if ($user->isAdmin() or mayAccessPage('remove', $page->getName())) { ?>
+    <?php if ($revision and ($user->isAdmin() or mayAccessPage('remove', $page->getName()))) { ?>
       <?=$SEP?><?= Button('revert',_("Revert"), $revision->isCurrent() ? $page->GetRevisionBefore() : $revision) ?>
       <?=$SEP?><?= Button('remove') ?>
     <?php } ?>
@@ -59,3 +61,4 @@
 <?php } ?>
 </tr>
 </table>
+<?php } ?>
diff -ruN 1.3.12p3/themes/default/templates/addcomment.tmpl 1.3.14/themes/default/templates/addcomment.tmpl
--- 1.3.12p3/themes/default/templates/addcomment.tmpl	2006-06-18 06:20:13.000000000 -0500
+++ 1.3.14/themes/default/templates/addcomment.tmpl	2007-07-01 05:11:33.000000000 -0500
@@ -1,5 +1,5 @@
-<?php
-  rcs_id('$Id: addcomment.tmpl,v 1.4 2004/06/04 20:34:11 rurban Exp $');
+<?php // -*- php -*-
+  rcs_id('$Id: addcomment.tmpl,v 1.6 2007/01/20 11:23:47 rurban Exp $');
   $request->setArg('action',false);
 ?>
 <div class="wikicomment wikicomment-form">
@@ -8,8 +8,8 @@
   <input type="hidden" name="comment[pagename]" value="<?=$PAGENAME?>" />
   <?= HiddenInputs($request->getArgs()) ?>
   <table class="wikicomment-form">
-     <tr><td><textarea class="commentedit" rows="3" cols="55"
-                       name="comment[body]" wrap="virtual"></textarea></td>
+     <tr><td width="100%"><textarea class="commentedit" rows="3" cols="55"
+                       name="comment[content]" wrap="virtual"></textarea></td>
          <td class="submit-button"><input type="submit" value="<?=
 _("Add Comment")
 ?>"
@@ -18,4 +18,3 @@
   </table>
 </form>
 </div>
-
diff -ruN 1.3.12p3/themes/default/templates/blogform.tmpl 1.3.14/themes/default/templates/blogform.tmpl
--- 1.3.12p3/themes/default/templates/blogform.tmpl	2006-06-18 06:20:13.000000000 -0500
+++ 1.3.14/themes/default/templates/blogform.tmpl	2007-07-01 05:11:33.000000000 -0500
@@ -1,35 +1,29 @@
 <?php // -*- php -*-
-  rcs_id('$Id: blogform.tmpl,v 1.6 2005/02/02 19:01:04 rurban Exp $');
+  rcs_id('$Id: blogform.tmpl,v 1.7 2007/01/07 20:20:28 rurban Exp $');
 ?>
 <div class="wikiblog wikiblog-form">
-<form action="<?=$request->getPostURL()?>" method="post" class="wikiaction"
-      accept-charset="<?=$charset?>">
-  <input type="hidden" name="blog[pagename]" value="<?=$PAGENAME?>" />
-  <?= HiddenInputs($request->getArgs()) ?>
-  <table class="wikiblog-form">
-     <caption><?=
-_("Add a Comment")
-?></caption>
-     <col class="label" width="1*" /><col class="input" width="100*" />
-     <tr><th align="right"><?=
-_("Summary").':'
-?></th>
-         <td><input class="wikitext" type="text" size="60"
-                    maxlength="256" name="blog[summary]" value="" /></td>
-     </tr>
-     <tr><th align="right"><?=
-_("Comment").':'
-?></th>
-         <td><textarea class="blogedit" rows="5" cols="60"
-                       name="blog[body]" wrap="virtual"></textarea></td>
-     </tr>
-     <tr><td colspan="2" align="center" class="submit-button"
-             ><input type="submit" value="<?=
-_("Add Comment")
-?>"
-                     name="blog[addblog]" class="wikiaction" /></td>
-     </tr>
-  </table>
+<form action="<?=$request->getPostURL()?>" method="post" name="editpage"
+      accept-charset="<?=$charset?>" id="wikiblog-form">
+  <input type="hidden" name="edit[pagename]" value="<?=$PAGENAME?>" />
+  <input type="hidden" name="mode" value="add" />
+  <div class="wikiblog-form">
+     <?= _("Headline").': ' ?><br />
+     <input id="wikiblog-summary" class="wikitext" type="text" style="width:540px" size="60"
+                   maxlength="256" name="edit[summary]" value="" />
+     <?= $EDIT_TOOLBAR ?>
+     <a name="editarea"></a>
+     <textarea id="edit-content" class="edit-content" rows="8" style="width:540px"
+               name="edit[content]" wrap="virtual"></textarea>
+     <br />
+     <input id="wikiblog-submit" type="submit" value="<?=_("Add Entry")?>"
+                     name="edit[save]" class="wikiaction" />
+  </div>
+
+<hr noshade="noshade" />
+<div id="newMarkup" class="wiki-edithelp">
+  <p><?= fmt("See %s tips for editing.", WikiLink(_("Help/GoodStyle"))) ?></p>
+  <?plugin IncludePage page=_("Help/TextFormattingRules") section=_("Synopsis") quiet=1?>
+</div>
+<?=$HIDDEN_INPUTS?>
 </form>
 </div>
-
diff -ruN 1.3.12p3/themes/default/templates/body.tmpl 1.3.14/themes/default/templates/body.tmpl
--- 1.3.12p3/themes/default/templates/body.tmpl	2006-06-18 06:20:13.000000000 -0500
+++ 1.3.14/themes/default/templates/body.tmpl	2007-07-01 05:11:33.000000000 -0500
@@ -1,5 +1,5 @@
 <?php // -*-html-*-
-rcs_id('$Id: body.tmpl,v 1.35 2004/12/19 18:28:59 rurban Exp $');
+rcs_id('$Id: body.tmpl,v 1.36 2006/12/08 07:17:22 rurban Exp $');
 ?>
 <body<?= $WikiTheme->getMoreAttr('body') ?>>
 
@@ -7,7 +7,9 @@
   <?= Template('top') ?>
 </div>
 <div id="content">
+
 <?= $CONTENT ?>
+
 </div>
 <?= Template('bottom') ?>
 </body>
diff -ruN 1.3.12p3/themes/default/templates/bottom.tmpl 1.3.14/themes/default/templates/bottom.tmpl
--- 1.3.12p3/themes/default/templates/bottom.tmpl	2006-06-18 06:20:13.000000000 -0500
+++ 1.3.14/themes/default/templates/bottom.tmpl	2007-07-01 05:11:33.000000000 -0500
@@ -3,7 +3,7 @@
 ?>
 <!-- Add your Disclaimer here -->
 <?php if (!$WikiTheme->DUMP_MODE) { ?>
-<?= $WARNINGS ?>
+<?= empty($WARNINGS) ? '' : $WARNINGS ?>
 <?= $GLOBALS['ErrorManager']->getPostponedErrorsAsHTML() ?>
 <?php if (defined('DEBUG') and DEBUG & 1) { ?><?= Template('debug') ?><?php } ?>
 <?php } ?>
diff -ruN 1.3.12p3/themes/default/templates/comment.tmpl 1.3.14/themes/default/templates/comment.tmpl
--- 1.3.12p3/themes/default/templates/comment.tmpl	2006-06-18 06:20:13.000000000 -0500
+++ 1.3.14/themes/default/templates/comment.tmpl	2007-07-01 05:11:33.000000000 -0500
@@ -1,5 +1,5 @@
-<!-- $Id: comment.tmpl,v 1.5 2004/06/14 11:26:52 rurban Exp $ -->
-<?php
+<?php // -*- php -*-
+rcs_id('$Id: comment.tmpl,v 1.7 2007/01/20 11:23:58 rurban Exp $');
 $CDATE = $WikiTheme->formatDateTime($COMMENT_CTIME);
 $buttons = $modified = '';
 
@@ -7,7 +7,7 @@
     $buttons = HTML::small(array('class' => 'floatleft'),
                            Button('edit', false, $page));
     if ($user->isAdmin())
-      $buttons->pushContent(Button('remove', false, $page));
+	$buttons->pushContent($SEP, Button('remove', false, $page));
 }
 
 // This is a hack, but since we only have a fake PageRevision,
@@ -15,7 +15,7 @@
 if ($rev->get('mtime') != $COMMENT_CTIME) {
     $mtime = $WikiTheme->formatDateTime($rev->get('mtime'));
     $modified = HTML::small(array('class' => 'floatright'),
-			    fmt("Comment modified on %s by %s",
+			    fmt("Modified on %s by %s",
 				$mtime, $rev->get('author')));
 }
 ?>
diff -ruN 1.3.12p3/themes/default/templates/debug.tmpl 1.3.14/themes/default/templates/debug.tmpl
--- 1.3.12p3/themes/default/templates/debug.tmpl	2006-06-18 06:20:13.000000000 -0500
+++ 1.3.14/themes/default/templates/debug.tmpl	2007-07-01 05:11:33.000000000 -0500
@@ -1,5 +1,5 @@
 <?php // -*-html-*-
-  rcs_id('$Id: debug.tmpl,v 1.17 2005/02/02 19:02:54 rurban Exp $');
+  rcs_id('$Id: debug.tmpl,v 1.18 2007/01/04 16:48:58 rurban Exp $');
 ?>
 <?php global $RUNTIMER; ?>
 <table width="%100" border="0" cellpadding="0" cellspacing="0">
@@ -16,9 +16,8 @@
 </div>
 </td><td>
 <span class="debug"><?=fmt("Page Execution took %s seconds", $RUNTIMER->getStats())?>
-<? $mem = getMemoryUsage(); 
-if ($mem) { ?>
-<?= fmt(", Memory: %s", $mem) ?>
+<? $mem = @getMemoryUsage(); if ($mem) { ?>
+  <?= fmt(", Memory: %s", $mem) ?>
 <? } ?>
 </span>
 </td></tr></table>
diff -ruN 1.3.12p3/themes/default/templates/dialog.tmpl 1.3.14/themes/default/templates/dialog.tmpl
--- 1.3.12p3/themes/default/templates/dialog.tmpl	2006-06-18 06:20:14.000000000 -0500
+++ 1.3.14/themes/default/templates/dialog.tmpl	2007-07-01 05:11:33.000000000 -0500
@@ -1,5 +1,5 @@
-<?php
-rcs_id('$Id: dialog.tmpl,v 1.5 2004/06/14 11:26:52 rurban Exp $');
+<?php // -*-html-*-
+rcs_id('$Id: dialog.tmpl,v 1.6 2007/01/04 16:49:08 rurban Exp $');
 /* 
  * A "popup" dialog.  (Though it doesn't pop up yet.)
  */
@@ -24,6 +24,10 @@
 <div class="message"><?=$CONTENT?></div>
 <p class="buttons"><?=$BUTTONS?></a></p>
 </div>
+<?php if (!$WikiTheme->DUMP_MODE) { ?>
+  <?= empty($WARNINGS) ? '' : $WARNINGS ?>
+  <?= $GLOBALS['ErrorManager']->getPostponedErrorsAsHTML() ?>
+<?php } ?>
 </body>
 <?php
 if (defined('DEBUG') and DEBUG) {
diff -ruN 1.3.12p3/themes/default/templates/editpage.tmpl 1.3.14/themes/default/templates/editpage.tmpl
--- 1.3.12p3/themes/default/templates/editpage.tmpl	2006-06-18 06:20:14.000000000 -0500
+++ 1.3.14/themes/default/templates/editpage.tmpl	2007-07-01 05:11:33.000000000 -0500
@@ -1,5 +1,5 @@
 <!-- -*-html-*- -->
-<!-- $Id: editpage.tmpl,v 1.57 2005/05/06 17:53:20 rurban Exp $ -->
+<!-- $Id: editpage.tmpl,v 1.61 2007/01/07 18:42:10 rurban Exp $ -->
 <?php if (isset($PREVIEW_CONTENT)) { ?>
   <p><strong><?=_("Preview only!  Changes not saved.")?></strong>
 <!-- FIXME: it would be nice to put a link to the #editarea anchor below,
@@ -37,14 +37,14 @@
     <tr><td><?= $EDIT_TOOLBAR ?></td>
         <td align="right"><div id="editarea-size">
     <?=_("Size").':'?>
-    <label for="pref[editHeight]"><b><?=_("H")?></b></label> <?=$HEIGHT_PREF?> 
-    <label for="pref[editWidth]"><b><?=_("W")?></b></label> <?=$WIDTH_PREF?>
+    <label for="pref-editHeight"><b><?=_("H")?></b></label> <?=$HEIGHT_PREF?> 
+    <label for="pref-editWidth"><b><?=_("W")?></b></label> <?=$WIDTH_PREF?>
     <noscript><?=Button("submit:", _("Adjust"), 'wikiaction')?></noscript>
   </div></td></tr></table>
   <a name="editarea"></a><?=$EDIT_TEXTAREA?>
 <!-- FIXME: fix layout, move CSS to CSS -->
 <div class="toolbar" style="text-align: center;">
-  <label for="edit[summary]"><?=_("Summary").':'?></label> <?=$SUMMARY_INPUT?>
+  <label for="edit-summary"><?=_("Summary").':'?></label> <?=$SUMMARY_INPUT?>
 </div>
 <?php if (ENABLE_CAPTCHA) { ?>
 <div class="toolbar" style="text-align: center;">
@@ -56,7 +56,7 @@
        cellpadding="0" cellspacing="0" border="0">
 <tr valign="middle">
   <td> 
-    <?=$MINOR_EDIT_CB ?> <label for="edit[minor_edit]"><?=_("This is a minor change.")?></label><br />
+    <?=$MINOR_EDIT_CB ?> <label for="edit-minor_edit"><?=_("This is a minor change.")?></label><br />
     <?=$OLD_MARKUP_CB?>  <label for="useOldMarkup"><?=_("Use old markup")?></label> <?=$OLD_MARKUP_CONVERT?>
   </td>
   <td align="center">
@@ -64,13 +64,14 @@
     <?php if ($SAVE_B)  { ?> 
       <?=$SEP?><?= $SAVE_B ?>
     <?php } ?>
+    <?=$SEP?><?= $CHANGES_B ?>
   </td>
   <td>&nbsp; <?=$AUTHOR_MESSAGE?></td>
 </tr>
 <tr>
   <td>
     <?php if ($user->isAdmin()) { ?> 
-    <?= $LOCKED_CB ?> <label for="edit[lock]"><?=_("Locked")?></label>
+    <?= $LOCKED_CB ?> <label for="edit-locked"><?=_("Locked")?></label>
     <?php } ?>
   </td>
   <td colspan="2" align="right">
@@ -79,16 +80,10 @@
     <?php } ?>
   </td>
 </tr>
-<?php if (0) {
-// Not yet supported within the same request. 
-// Better use a button to the external UpLoad page. 
-// Or fix action=edit to handle the uploaded filename within the same request.
-?>
-<tr>
-  <td colspan="3"><?plugin UpLoad ?></td>
-</tr>
-<?php } ?>
 </table>
+<?=$HIDDEN_INPUTS?>
+</form>
+<div style="width:100%;text-align:center;"><?plugin UpLoad autolink=false mode=edit size=30 ?></div>
 
 <hr noshade="noshade" />
 
@@ -110,16 +105,14 @@
 
 <div id="oldMarkup" class="wiki-edithelp">
 <!-- FIXME: do we need this at all?  If so, it could probably be moved to TextFormattingRules -->
-<p><?= fmt("See %s tips for editing.", WikiLink(_("GoodStyle"))) ?></p>
-<?plugin IncludePage page=_("OldTextFormattingRules") section=_("Synopsis") quiet=1?>
+<p><?= fmt("See %s tips for editing.", WikiLink(_("Help/GoodStyle"))) ?></p>
+<?plugin IncludePage page=_("Help/OldTextFormattingRules") section=_("Synopsis") quiet=1?>
 </div>
 <div id="newMarkup" class="wiki-edithelp">
 <!-- FIXME: do we need this at all?  If so, it could probably be moved to TextFormattingRules -->
-<p><?= fmt("See %s tips for editing.", WikiLink(_("GoodStyle"))) ?></p>
-<?plugin IncludePage page=_("TextFormattingRules") section=_("Synopsis") quiet=1?>
+<p><?= fmt("See %s tips for editing.", WikiLink(_("Help/GoodStyle"))) ?></p>
+<?plugin IncludePage page=_("Help/TextFormattingRules") section=_("Synopsis") quiet=1?>
 </div>
-<?=$HIDDEN_INPUTS?>
-</form>
 
 <script language="JavaScript1.3" type="text/javascript">
 <!--
diff -ruN 1.3.12p3/themes/default/templates/head.tmpl 1.3.14/themes/default/templates/head.tmpl
--- 1.3.12p3/themes/default/templates/head.tmpl	2006-06-18 06:20:14.000000000 -0500
+++ 1.3.14/themes/default/templates/head.tmpl	2007-07-01 05:11:33.000000000 -0500
@@ -1,5 +1,5 @@
 <?php  // -*-html-*-
-  rcs_id('$Id: head.tmpl,v 1.22 2005/01/25 07:15:47 rurban Exp $');
+  rcs_id('$Id: head.tmpl,v 1.23 2005/10/10 20:02:54 rurban Exp $');
 ?>
 <head>
 <?php if (ENABLE_XHTML_XML and strstr($request->get('HTTP_ACCEPT'),'application/xhtml+xml')) { ?>
@@ -7,8 +7,8 @@
 <?php } else { ?>
 <meta http-equiv="Content-Type" content="text/html; charset=<?=$charset?>" />
 <?php } ?>
-<meta http-equiv="content-language" content="<?=$GLOBALS['LANG']?>" />
 <meta http-equiv="Content-Style-Type" content="text/css" />
+<meta http-equiv="Content-Language" content="<?=$GLOBALS['LANG']?>" />
 <?php $ROBOTS_CONTENT = isset($ROBOTS_META) ? $ROBOTS_META : "noindex,nofollow"; ?>
 <meta name="robots" content="<?= $ROBOTS_CONTENT ?>" />
 <?php if (!empty($PAGE_DESCRIPTION)) { ?>
@@ -120,6 +120,9 @@
 <?php
 // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                         
 // $Log: head.tmpl,v $
+// Revision 1.23  2005/10/10 20:02:54  rurban
+// add one more header
+//
 // Revision 1.22  2005/01/25 07:15:47  rurban
 // fix ROBOTS_META warning, break xgettext strings, add log as comment
 //
diff -ruN 1.3.12p3/themes/default/templates/htmldump.tmpl 1.3.14/themes/default/templates/htmldump.tmpl
--- 1.3.12p3/themes/default/templates/htmldump.tmpl	2006-06-18 06:20:14.000000000 -0500
+++ 1.3.14/themes/default/templates/htmldump.tmpl	2007-07-01 05:11:34.000000000 -0500
@@ -1,5 +1,5 @@
 <?php  // -*-html-*-
-rcs_id('$Id: htmldump.tmpl,v 1.6 2005/02/04 13:25:08 rurban Exp $');
+rcs_id('$Id: htmldump.tmpl,v 1.8 2007/01/02 13:28:16 rurban Exp $');
 /*
  * This template is used only for html file dumps, and is responsible
  * mainly for the outer level <html> stuff and the and <head>.
@@ -10,7 +10,7 @@
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
-<meta http-equiv="Content-Type" content="text/html; charset=<?=CHARSET?>" />
+<meta http-equiv="Content-Type" content="text/html; charset=<?=$charset?>" />
 <?php /**
        * Additional navigation links are provided here in the html header for browsers
        * which support them: Mozilla, iCab, Amaya (and certain versions of Opera??).
@@ -22,7 +22,25 @@
 <link rel="help" title="<?=_("HowToUseWiki")?>" href="<?=WikiURL(_("HowToUseWiki"))?>" />
 <link rel="copyright" title="<?=COPYRIGHTPAGE_TITLE?>" href="<?=COPYRIGHTPAGE_URL?>" />
 <link rel="author" title="<?=AUTHORPAGE_TITLE?>" href="<?=AUTHORPAGE_URL?>" />
+<meta http-equiv="Content-Style-Type" content="text/css" />
+<meta http-equiv="Content-Language" content="<?=$GLOBALS['LANG']?>" />
+<?php $ROBOTS_CONTENT = isset($ROBOTS_META) ? $ROBOTS_META : "noindex,nofollow"; ?>
+<meta name="robots" content="<?= $ROBOTS_CONTENT ?>" />
+<?php if (!empty($PAGE_DESCRIPTION)) { ?>
+<meta name="description" content="<?=$PAGE_DESCRIPTION?>" />
+<?php } ?>
+<?php if (!empty($PAGE_KEYWORDS)) { ?>
+<meta name="keywords" content="<?=$PAGE_KEYWORDS?>" />
+<?php } ?>
+<meta name="language" content="<?=$GLOBALS['LANG']?>" />
+<meta name="document-type" content="Public" />
+<meta name="document-rating" content="General" />
+<meta name="generator" content="PhpWiki" />
+<meta name="PHPWIKI_VERSION" content="<?=PHPWIKI_VERSION?>" />
 
+<?php if (!empty($relative_base)) { ?>
+<base href="<?=$relative_base?>" />
+<?php } ?>
 <?= $WikiTheme->getCSS() ?>
 <?php
   // avoid redundant bookmark title for custom home page
diff -ruN 1.3.12p3/themes/default/templates/info.tmpl 1.3.14/themes/default/templates/info.tmpl
--- 1.3.12p3/themes/default/templates/info.tmpl	2006-06-18 06:20:14.000000000 -0500
+++ 1.3.14/themes/default/templates/info.tmpl	2007-07-01 05:11:34.000000000 -0500
@@ -1,7 +1,7 @@
 <?php // -*-php-*- ?>
-<!-- $Id: info.tmpl,v 1.18 2005/02/02 19:02:10 rurban Exp $ -->
+<!-- $Id: info.tmpl,v 1.19 2007/01/02 13:30:36 rurban Exp $ -->
 <?php
-
+if (empty($revision)) $revision = $page->getCurrentRevision(false);
 $modifed = $WikiTheme->formatDateTime($revision->get('mtime'));
 
 $dbi = $request->getDbh();
@@ -38,8 +38,7 @@
 
 $summary = HTML::textarea(array('name' => 'summary',
                                 'class' => 'summary',
-                                /* use fixed dimensions? */
-                                'rows' => $request->getPref('editHeight')/4,
+                                'rows' => 3,
                                 'cols' => $request->getPref('editWidth')/2,
                                 'readonly' => 'readonly',
                                 'wrap' => 'virtual'), /* for Netscape 4 */
@@ -160,6 +159,9 @@
 <?php
 // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                         
 // $Log: info.tmpl,v $
+// Revision 1.19  2007/01/02 13:30:36  rurban
+// bring in revision, use fixed summary height
+//
 // Revision 1.18  2005/02/02 19:02:10  rurban
 // link author
 //
diff -ruN 1.3.12p3/themes/default/templates/login.tmpl 1.3.14/themes/default/templates/login.tmpl
--- 1.3.12p3/themes/default/templates/login.tmpl	2006-06-18 06:20:14.000000000 -0500
+++ 1.3.14/themes/default/templates/login.tmpl	2007-07-01 05:11:34.000000000 -0500
@@ -1,5 +1,5 @@
 <?php // -*-php-*- ?>
-<!-- $Id: login.tmpl,v 1.35 2004/11/05 21:03:27 rurban Exp $ -->
+<!-- $Id: login.tmpl,v 1.36 2007/01/04 16:49:18 rurban Exp $ -->
 <!-- The login form -->
 <?php if ($fail_message) { ?>
   <p><strong><?=$fail_message?></strong></p>
@@ -24,9 +24,9 @@
               $t .= " ($fail)";
       }
     } else
-      $t .= sprintf("  USER_AUTH_ORDER: %s", join(" => ", $GLOBALS['USER_AUTH_ORDER']));
-    $t .= sprintf(",  USER_AUTH_POLICY: %s", USER_AUTH_POLICY)
-       . sprintf(",  PASSWORD_LENGTH_MINIMUM: %s", PASSWORD_LENGTH_MINIMUM);
+	$t .= sprintf("  USER_AUTH_ORDER: %s", join(" => ", $GLOBALS['USER_AUTH_ORDER']));
+        $t .= sprintf(",  USER_AUTH_POLICY: %s", USER_AUTH_POLICY)
+            . sprintf(",  PASSWORD_LENGTH_MINIMUM: %s", PASSWORD_LENGTH_MINIMUM);
   }
   echo asXML(HTML::div(array('class' => 'debug'),$t));
   echo "<br />\n";
diff -ruN 1.3.12p3/themes/default/templates/navbar.tmpl 1.3.14/themes/default/templates/navbar.tmpl
--- 1.3.12p3/themes/default/templates/navbar.tmpl	2006-06-18 06:20:14.000000000 -0500
+++ 1.3.14/themes/default/templates/navbar.tmpl	2007-07-01 05:11:34.000000000 -0500
@@ -1,5 +1,5 @@
 <?php // -*-php-*-
-  rcs_id('$Id: navbar.tmpl,v 1.41 2005/04/06 06:41:05 rurban Exp $');
+  rcs_id('$Id: navbar.tmpl,v 1.42 2006/09/06 06:08:37 rurban Exp $');
 ?>
 <!-- The top navigation/search bar -->
 <form action="<?= WikiURL(
diff -ruN 1.3.12p3/themes/default/templates/savepage.tmpl 1.3.14/themes/default/templates/savepage.tmpl
--- 1.3.12p3/themes/default/templates/savepage.tmpl	2006-06-18 06:20:14.000000000 -0500
+++ 1.3.14/themes/default/templates/savepage.tmpl	2007-07-01 05:11:34.000000000 -0500
@@ -1,5 +1,5 @@
 <?php // -*-html-*- ?>
-<!-- $Id: savepage.tmpl,v 1.10 2004/12/10 03:05:58 rurban Exp $ -->
+<!-- $Id: savepage.tmpl,v 1.11 2006/12/22 01:47:55 rurban Exp $ -->
 <?php
     $signatureURL = $WikiTheme->getImageURL('signature');
 ?>
@@ -7,7 +7,7 @@
 <?=_("Your careful attention to detail is much appreciated.")?></p>
 
 <?php if (!empty($WARNINGS)) { ?>
-  <p><strong><?=_("Warning!")?></strong> <?= $WARNINGS ?></p>
+  <p><?= $WARNINGS ?></p>
 <?php } ?>
 
 <?php if ($signatureURL) { ?>
diff -ruN 1.3.12p3/themes/default/templates/search.tmpl 1.3.14/themes/default/templates/search.tmpl
--- 1.3.12p3/themes/default/templates/search.tmpl	2006-06-18 06:20:14.000000000 -0500
+++ 1.3.14/themes/default/templates/search.tmpl	2007-07-01 05:11:34.000000000 -0500
@@ -1,33 +1,37 @@
 <!--{{{ LiveSearch --> <? // -*- php -*- ?>
 <div id="searchholder">
 <form id="searchform" name="searchform" action="<?= WikiURL(_("TitleSearch"))?>"
-      method="get" accept-charset="<?=$charset?>">
-<?php if (! USE_PATH_INFO) { ?>
+      method="get" accept-charset="<?=$charset?>" style="display:inline" class="searchform">
+<?php 
+$s = $request->getArg('s') ? $request->getArg('s') : _("Search");
+$p = $WikiTheme->tooltipAccessKeyPrefix();
+if (! USE_PATH_INFO) { ?>
 <input type="hidden" name="pagename" value="<?= _("TitleSearch")?>" />
 <?php } ?>
 <input type="hidden" name="auto_redirect" value="1" />
-<input name="s" size="12" maxlength="256"
-   value="<?=_("Search")?>"
+<?= $SEARCH_BEFORE ?> 
+<input name="s" size="16" maxlength="256"
+   value="<?=$s?>"
    onfocus="if (this.value == '<?=_("Search")?>') {this.value = '';}"
    onmouseout="window.status=''; return true;" 
    onmouseover="window.status='<?=_("Quick Search")?>'; return true;"
-<?php if (defined("ENABLE_LIVESEARCH") and ENABLE_LIVESEARCH) { ?>
-   type="text" id="livesearch" 
-   title="<?=_("LiveSearch")?>" 
+   accesskey="f"
+<?php if (0 and ENABLE_ACDROPDOWN) { ?>
+   class="dropdown" id="searchInput" title="<?=_("LiveSearch") . " [$p-f]"?>" 
+   style="width:115px;"
+   acdropdown="true" autocomplete_complete="false" autocomplete_matchsubstring="false"
+   autocomplete_list="xmlrpc:wiki.titleSearch [S] 4" />
+<?php } elseif (ENABLE_LIVESEARCH) { ?>
+   type="text" id="livesearch" title="<?=_("LiveSearch") . " [$p-f]"?>" 
    onKeypress="liveSearchStart()"
    onblur="setTimeout('closeResults()',2000); if (this.value == '') {this.value = '<?=_("Search")?>';}" />
    <br/>
    <div id="LSResult">
    </div>
-<?php } elseif(defined("ENABLE_ACDROPDOWN") and ENABLE_ACDROPDOWN) { ?>
-   title="<?=_("LiveSearch")?>"
-   class="dropdown" id="autocomplete_remote" acdropdown="true" 
-   autocomplete_list="url:<?= WikiURL(_("TitleSearch"),array("format"=>"livesearch")) ?>&s=^[S]"
-   autocomplete_matchsubstring="true" />
 <?php } else { ?>
-   type="text" id="livesearch" 
-   title="<?=_("TitleSearch")?>" /> 
-<?php } ?>
+   type="text" id="search" 
+   title="<?=_("TitleSearch")  . " [$p-f]"?>" /> 
+<?php } ?> <?= $SEARCH_AFTER ?>
 </form>
 </div>
-<!--}}}-->
+<!--}}}-->
\ No newline at end of file
diff -ruN 1.3.12p3/themes/default/templates/signin.tmpl 1.3.14/themes/default/templates/signin.tmpl
--- 1.3.12p3/themes/default/templates/signin.tmpl	2006-06-18 06:20:14.000000000 -0500
+++ 1.3.14/themes/default/templates/signin.tmpl	2007-07-01 05:11:34.000000000 -0500
@@ -1,5 +1,5 @@
 <?php // -*-php-*-
-rcs_id('$Id: signin.tmpl,v 1.34 2005/02/02 19:01:04 rurban Exp $');
+rcs_id('$Id: signin.tmpl,v 1.35 2007/01/02 13:29:23 rurban Exp $');
 
 if (empty($FORMNAME))
     $FORMNAME = 'signin';
@@ -23,7 +23,7 @@
     document.write(\''.AsXML($SignOutB).'\');');
 ?>
   <?= fmt("Authenticated as %s", WikiLink($user->getAuthenticatedId(), 'auto')) ?>
-  <?=$Sep?><?=$SignOutJS?>
+  <?=$SEP?><?=$SignOutJS?>
   <noscript><?= Button("submit:auth[logout]", _("Sign Out"), 'wikiaction') ?></noscript>
 <?php } else {
     $SignInInput = HTML::input(array('type' => 'text',
@@ -58,12 +58,7 @@
   <?= $SignInJS ?>
   <?= Button("submit:auth[login]", _("Sign in as:"), 'wikiaction')?>
   <?= $SignInInput ?>
-<?php /* // sf.net bug #950841 "Sign In:" button appears twice
-  <noscript>
-    <?= Button("submit:auth[login]", _("Sign in as:"), 'wikiaction')?>
-  </noscript>
-*/ ?>
 <?php } ?>
 <?php if (empty($NOFORM)) { ?>
   </form>
-<?php } ?>
\ No newline at end of file
+<?php } ?>
diff -ruN 1.3.12p3/themes/default/templates/userprefs.tmpl 1.3.14/themes/default/templates/userprefs.tmpl
--- 1.3.12p3/themes/default/templates/userprefs.tmpl	2006-06-18 06:20:14.000000000 -0500
+++ 1.3.14/themes/default/templates/userprefs.tmpl	2007-07-01 05:11:34.000000000 -0500
@@ -1,5 +1,5 @@
 <?php // -*-html-*- ?>
-<!-- $Id: userprefs.tmpl,v 1.57 2005/06/05 05:38:02 rurban Exp $ -->
+<!-- $Id: userprefs.tmpl,v 1.58 2007/05/29 16:57:22 rurban Exp $ -->
 <?php
 // Todo: Move the logic and code to the plugin
 // This is very experimental and the read-only part an ugly hack so far.
@@ -13,9 +13,10 @@
     $isForm = false;
 }
 $time = time();
-$user = &$request->getUser();
-$pref = &$request->_prefs;
+$user =& $request->getUser();
+$pref =& $request->_prefs;
 
+if (!$pref) return;
 $offset = $pref->get('timeOffset');
 $serverTime = $time - $offset * 3600;
 if ( $isForm )
diff -ruN 1.3.12p3/themes/default/templates/viewsource.tmpl 1.3.14/themes/default/templates/viewsource.tmpl
--- 1.3.12p3/themes/default/templates/viewsource.tmpl	2006-06-18 06:20:14.000000000 -0500
+++ 1.3.14/themes/default/templates/viewsource.tmpl	2007-07-01 05:11:34.000000000 -0500
@@ -1,12 +1,12 @@
 <?php // -*-html-*- ?>
-<!-- $Id: viewsource.tmpl,v 1.24 2005/10/30 16:11:09 rurban Exp $ -->
+<!-- $Id: viewsource.tmpl,v 1.25 2007/01/02 13:29:14 rurban Exp $ -->
 
 <?php if ($page->get('locked') && !$user->isAdmin()) { ?>
   <p><strong><?=_("Note:")?></strong>
   <?=_("This page has been locked by the administrator and cannot be edited.")?>
   </p>
   <?php } ?>
-<?php if (! $revision->isCurrent()) { ?>
+<?php if ($revision and !$revision->isCurrent()) { ?>
   <p><?=_("You are viewing an old revision of this page.")?>
   <?= Button('edit', _("View the current version"), $page) ?>.
   </p>
diff -ruN 1.3.12p3/themes/default/templates/wikiblog.tmpl 1.3.14/themes/default/templates/wikiblog.tmpl
--- 1.3.12p3/themes/default/templates/wikiblog.tmpl	2006-06-18 06:20:14.000000000 -0500
+++ 1.3.14/themes/default/templates/wikiblog.tmpl	2007-07-01 05:11:34.000000000 -0500
@@ -1,14 +1,13 @@
 <?php // -*- php -*-
-rcs_id('$Id: wikiblog.tmpl,v 1.5 2005/02/04 11:48:01 rurban Exp $');
+rcs_id('$Id: wikiblog.tmpl,v 1.6 2007/01/20 11:24:06 rurban Exp $');
 $CDATE = $WikiTheme->formatDateTime($BLOG_CTIME);
-
 $buttons = $modified = '';
 
 if ($user->isAdmin() or $user->getId() == $BLOG_CREATOR) {
     $buttons = HTML::small(array('class' => 'floatleft'),
                            Button('edit', false, $page));
     if ($user->isAdmin()) {
-      $buttons->pushContent(Button('remove', false, $page));
+	$buttons->pushContent($SEP, Button('remove', false, $page));
     }
 }
 
@@ -16,12 +15,12 @@
 // we can't get the version.
 if ($rev->get('mtime') != $BLOG_CTIME) {
     $modified = HTML::small(array('class' => 'floatright'),
-			    fmt("Comment modified on %s by %s",
+			    fmt("Modified on %s by %s",
 				$WikiTheme->formatDateTime($rev->get('mtime')), 
                                 WikiLink($rev->get('author'))));
 }
 ?>
-<div title="<?= fmt("Comments on %s by %s.", $BLOG_PARENT, $BLOG_CREATOR)?>"
+<div title="<?= fmt("Entry on %s by %s.", $BLOG_PARENT, $BLOG_CREATOR)?>"
      class="wikiblog wikitext">
   <!-- <div class="wikiblog-header">
     <strong class="floatleft"><?= WikiLink($page, 'known', $CDATE) ?></strong>
diff -ruN 1.3.12p3/themes/default/themeinfo.php 1.3.14/themes/default/themeinfo.php
--- 1.3.12p3/themes/default/themeinfo.php	2006-06-18 06:20:14.000000000 -0500
+++ 1.3.14/themes/default/themeinfo.php	2007-07-01 05:11:34.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-rcs_id('$Id: themeinfo.php,v 1.35 2005/09/18 13:04:37 rurban Exp $');
+rcs_id('$Id: themeinfo.php,v 1.37 2007/07/01 09:36:10 rurban Exp $');
 
 /*
  * This file defines the default appearance ("theme") of PhpWiki.
@@ -9,111 +9,6 @@
 
 $WikiTheme = new Theme('default');
 
-// CSS file defines fonts, colors and background images for this
-// style.  The companion '*-heavy.css' file isn't defined, it's just
-// expected to be in the same directory that the base style is in.
-
-// This should result in phpwiki-printer.css being used when
-// printing or print-previewing with style "PhpWiki" or "MacOSX" selected.
-$WikiTheme->setDefaultCSS('PhpWiki',
-                       array(''      => 'phpwiki.css',
-                             'print' => 'phpwiki-printer.css'));
-
-// This allows one to manually select "Printer" style (when browsing page)
-// to see what the printer style looks like.
-$WikiTheme->addAlternateCSS(_("Printer"), 'phpwiki-printer.css', 'print, screen');
-$WikiTheme->addAlternateCSS(_("Top & bottom toolbars"), 'phpwiki-topbottombars.css');
-$WikiTheme->addAlternateCSS(_("Modern"), 'phpwiki-modern.css');
-
-/**
- * The logo image appears on every page and links to the HomePage.
- */
-$WikiTheme->addImageAlias('logo', WIKI_NAME . 'Logo.png');
-
-/**
- * The Signature image is shown after saving an edited page. If this
- * is set to false then the "Thank you for editing..." screen will
- * be omitted.
- */
-
-$WikiTheme->addImageAlias('signature', WIKI_NAME . "Signature.png");
-// Uncomment this next line to disable the signature.
-//$WikiTheme->addImageAlias('signature', false);
-
-/*
- * Link icons.
- */
-$WikiTheme->setLinkIcon('http');
-$WikiTheme->setLinkIcon('https');
-$WikiTheme->setLinkIcon('ftp');
-$WikiTheme->setLinkIcon('mailto');
-$WikiTheme->setLinkIcon('interwiki');
-$WikiTheme->setLinkIcon('wikiuser');
-$WikiTheme->setLinkIcon('*', 'url');
-
-$WikiTheme->setButtonSeparator("\n | ");
-
-/**
- * WikiWords can automatically be split by inserting spaces between
- * the words. The default is to leave WordsSmashedTogetherLikeSo.
- */
-$WikiTheme->setAutosplitWikiWords(false);
-
-/**
- * Layout improvement with dangling links for mostly closed wiki's:
- * If false, only users with edit permissions will be presented the 
- * special wikiunknown class with "?" and Tooltip.
- * If true (default), any user will see the ?, but will be presented 
- * the PrintLoginForm on a click.
- */
-//$WikiTheme->setAnonEditUnknownLinks(false);
-
-/*
- * You may adjust the formats used for formatting dates and times
- * below.  (These examples give the default formats.)
- * Formats are given as format strings to PHP strftime() function See
- * http://www.php.net/manual/en/function.strftime.php for details.
- * Do not include the server's zone (%Z), times are converted to the
- * user's time zone.
- *
- * Suggestion for french: 
- *   $WikiTheme->setDateFormat("%A %e %B %Y");
- *   $WikiTheme->setTimeFormat("%H:%M:%S");
- * Suggestion for capable php versions, using the server locale:
- *   $WikiTheme->setDateFormat("%x");
- *   $WikiTheme->setTimeFormat("%X");
- */
-//$WikiTheme->setDateFormat("%B %d, %Y");
-//$WikiTheme->setTimeFormat("%I:%M %p");
-
-/*
- * To suppress times in the "Last edited on" messages, give a
- * give a second argument of false:
- */
-//$WikiTheme->setDateFormat("%B %d, %Y", false); 
-
-
-/**
- * Custom UserPreferences:
- * A list of name => _UserPreference class pairs.
- * Rationale: Certain themes should be able to extend the predefined list 
- * of preferences. Display/editing is done in the theme specific userprefs.tmpl
- * but storage/sanification/update/... must be extended to the Get/SetPreferences methods.
- * See themes/wikilens/themeinfo.php
- */
-//$WikiTheme->customUserPreference(); 
-
-/**
- * Register custom PageList type and define custom PageList classes.
- * Rationale: Certain themes should be able to extend the predefined list 
- * of pagelist types. E.g. certain plugins, like MostPopular might use 
- * info=pagename,hits,rating
- * which displays the rating column whenever the wikilens theme is active.
- * See themes/wikilens/themeinfo.php
- */
-// 
-//$WikiTheme->addPageListColumn(); 
-
 // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 // (c-file-style: "gnu")
 // Local Variables:
@@ -123,4 +18,4 @@
 // c-hanging-comment-ender-p: nil
 // indent-tabs-mode: nil
 // End:   
-?>
\ No newline at end of file
+?>
diff -ruN 1.3.12p3/themes/default/toolbar.js 1.3.14/themes/default/toolbar.js
--- 1.3.12p3/themes/default/toolbar.js	2006-06-18 06:20:14.000000000 -0500
+++ 1.3.14/themes/default/toolbar.js	2007-07-01 05:11:34.000000000 -0500
@@ -1,5 +1,5 @@
 // Toolbar JavaScript support functions. Taken from mediawiki 
-// $Id: toolbar.js,v 1.12 2005/09/28 18:51:03 rurban Exp $
+// $Id: toolbar.js,v 1.15 2007/06/02 18:40:16 rurban Exp $
 
 // Un-trap us from framesets
 if( window.top != window ) window.top.location = window.location;
@@ -28,18 +28,18 @@
 
 // This function generates a popup list to select from. 
 // In an external window so far, but we really want that as acdropdown pulldown, hence the name.
-// plugins, pagenames, categories, templates. 
-// not with document.write because we cannot use self.opener then.
+//   plugins, pagenames, categories, templates. 
+// Not with document.write because we cannot use self.opener then.
 //function addPulldown(imageFile, speedTip, pages) {
 //  addButton(imageFile, speedTip, "showPulldown", pages);
 //  return;
 //}
 // pages is either an array of strings or an array of array(name,value)
-function showPulldown(title, pages, okbutton, closebutton) {
-  height = new String(Math.min(270, 70 + (pages.length * 12))); // 270 or smaller
-  pullwin = window.open('','','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=yes,copyhistory=no,height='+height+',width=180');
+function showPulldown(title, pages, okbutton, closebutton, fromid) {
+  height = new String(Math.min(315, 80 + (pages.length * 12))); // 270 or smaller
+  pullwin = window.open('','','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=yes,copyhistory=no,height='+height+',width=200');
   pullwin.window.document.write('<html><head><title>'+escapeQuotes(title)+'</title><style type=\"text/css\"><'+'!'+'-- body {font-family:Tahoma,Arial,Helvetica,sans-serif;font-size:10pt;background-color:#dddddd;} input { font-weight:bold;margin-left:2px;margin-right:2px;} option {font-size:9pt} #buttons { background-color:#dddddd;padding-right:10px;width:180px;} --'+'></style></head>');
-  pullwin.window.document.write('\n<body bgcolor=\"#dddddd\"><form><div id=\"buttons\"><input type=\"button\" value=\"'+okbutton+'\" onclick=\"if(self.opener)self.opener.do_pulldown(document.forms[0].select.value); return false;\"><input type=\"button\" value=\"'+closebutton+'\" onclick=\"self.close(); return false;\"></div>\n<select style=\"margin-top:10px;\" name=\"select\" size=\"'+((pages.length>20)?'20':new String(pages.length))+'\" ondblclick=\"if(self.opener)self.opener.do_pulldown(document.forms[0].select.value); return false;\">');
+  pullwin.window.document.write('\n<body bgcolor=\"#dddddd\"><form><div id=\"buttons\"><input type=\"button\" value=\"'+okbutton+'\" onclick=\"if(self.opener)self.opener.do_pulldown(document.forms[0].select.value,\''+fromid+'\'); return false;\"><input type=\"button\" value=\"'+closebutton+'\" onClick=\"self.close(); return false;\"></div>\n<select style=\"margin-top:10px;width:190px;\" name=\"select\" size=\"'+((pages.length>20)?'20':new String(pages.length))+'\" onDblClick=\"if(self.opener)self.opener.do_pulldown(document.forms[0].select.value,\''+fromid+'\'); return false;\">');
   for (i=0; i<pages.length; i++){
     if (typeof pages[i] == 'string')
       pullwin.window.document.write('<option value="'+pages[i]+'">'+escapeQuotes(pages[i])+'</option>\n');
@@ -50,9 +50,16 @@
   pullwin.window.document.close();
   return false;
 }
-function do_pulldown(value) {
-  insertTags(value, '', '\n');
-  return;
+function do_pulldown(text,fromid) {
+    // do special actions dependent on fromid: tb-categories
+    if (fromid == 'tb-categories') {
+	var txtarea = document.getElementById('edit-content');
+	text = unescapeSpecial(text)
+	txtarea.value += '\n'+text;
+    } else {
+	insertTags(text, '', '\n');
+    }
+    return;
 }
 function addInfobox(infoText) {
   // if no support for changing selection, add a small copy & paste field
@@ -80,31 +87,35 @@
   text=text.replace(re,"&quot;");
   return text;
 }
+function unescapeSpecial(text) {
+    // IE
+    var re=new RegExp('%0A',"g");
+    text = text.replace(re,'\n');
+    var re=new RegExp('%22',"g");
+    text = text.replace(re,'"');
+    var re=new RegExp('%27',"g");
+    text = text.replace(re,'\'');
+    var re=new RegExp('%09',"g");
+    text = text.replace(re,'    ');
+    var re=new RegExp('%7C',"g");
+    text = text.replace(re,'|');
+    var re=new RegExp('%5B',"g");
+    text = text.replace(re,'[');
+    var re=new RegExp('%5D',"g");
+    text = text.replace(re,']');
+    var re=new RegExp('%5C',"g");
+    text = text.replace(re,'\\');
+    return text;
+}
+
 // apply tagOpen/tagClose to selection in textarea,
 // use sampleText instead of selection if there is none
 // copied and adapted from phpBB
 function insertTags(tagOpen, tagClose, sampleText) {
   //f=document.getElementById('editpage');
-  var txtarea = document.getElementById('edit[content]');
+  var txtarea = document.getElementById('edit-content');
   // var txtarea = document.editpage.edit[content];
-  
-  // IE
-  var re=new RegExp('%0A',"g");
-  tagOpen = tagOpen.replace(re,'\n');
-  var re=new RegExp('%22',"g");
-  tagOpen = tagOpen.replace(re,'"');
-  var re=new RegExp('%27',"g");
-  tagOpen = tagOpen.replace(re,'\'');
-  var re=new RegExp('%09',"g");
-  tagOpen = tagOpen.replace(re,'    ');
-  var re=new RegExp('%7C',"g");
-  tagOpen = tagOpen.replace(re,'|');
-  var re=new RegExp('%5B',"g");
-  tagOpen = tagOpen.replace(re,'[');
-  var re=new RegExp('%5D',"g");
-  tagOpen = tagOpen.replace(re,']');
-  var re=new RegExp('%5C',"g");
-  tagOpen = tagOpen.replace(re,'\\');
+  tagOpen = unescapeSpecial(tagOpen)
 
   if(document.selection) {
     var theSelection = document.selection.createRange().text;
@@ -116,7 +127,7 @@
     } else {
       document.selection.createRange().text = tagOpen + theSelection + tagClose;
     }
-    // Mozilla -- disabled because it induces a scrolling bug which makes it virtually unusable
+    // Mozilla -- this induces a scrolling bug which makes it virtually unusable
   } else if(txtarea.selectionStart || txtarea.selectionStart == '0') {
     var startPos = txtarea.selectionStart;
     var endPos = txtarea.selectionEnd;
@@ -148,3 +159,79 @@
   // reposition cursor if possible
   if (txtarea.createTextRange) txtarea.caretPos = document.selection.createRange().duplicate();
 }
+
+// JS_SEARCHREPLACE from walterzorn.de
+var f, sr_undo, replacewin, undo_buffer=new Array(), undo_buffer_index=0;
+
+function define_f() {
+   f=document.getElementById('editpage')
+   f.editarea=document.getElementById('edit-content')
+   sr_undo=document.getElementById('sr_undo')
+   undo_enable(false)
+   f.editarea.focus()
+}
+function undo_enable(bool) {
+   if (bool) {
+     sr_undo.src=uri_undo_btn
+     sr_undo.alt=msg_undo_alt
+     sr_undo.disabled = false
+   } else {
+       sr_undo.src=uri_undo_d_btn
+       sr_undo.alt=msg_undo_d_alt
+       sr_undo.disabled = true
+       if(sr_undo.blur) sr_undo.blur();
+   }
+}
+function replace() {
+   replacewin = window.open('','','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=yes,copyhistory=no,height=90,width=450');
+   replacewin.window.document.write('<html><head><title>'+msg_repl_title+"</title><style type=\"text/css\"><'+'!'+'-- body, input {font-family:Tahoma,Arial,Helvetica,sans-serif;font-size:10pt;font-weight:bold;} td {font-size:9pt}  --'+'></style></head><body bgcolor=\"#dddddd\" onload=\"if(document.forms[0].searchinput.focus) document.forms[0].searchinput.focus(); return false;\"><form><center><table><tr><td align=\"right\">"+msg_repl_search+":</td><td align=\"left\"><input type=\"text\" name=\"searchinput\" size=\"45\" maxlength=\"500\"></td></tr><tr><td align=\"right\">"+msg_repl_replace_with+":</td><td align=\"left\"><input type=\"text\" name=\"replaceinput\" size=\"45\" maxlength=\"500\"></td></tr><tr><td colspan=\"2\" align=\"center\"><input type=\"button\" value=\" "+msg_repl_ok+" \" onclick=\"if(self.opener)self.opener.do_replace(); return false;\">&nbsp;&nbsp;&nbsp;<input type=\"button\" value=\""+msg_repl_close+"\" onclick=\"self.close(); return false;\"></td></tr></table></center></form></body></html>");
+   replacewin.window.document.close();
+   return false;
+}
+function do_replace() {
+   var txt = undo_buffer[undo_buffer_index]=f.editarea.value
+   var searchinput = new RegExp(replacewin.document.forms[0].searchinput.value,'g')
+   var replaceinput = replacewin.document.forms[0].replaceinput.value
+   if (searchinput==''||searchinput==null) {
+      if (replacewin) replacewin.window.document.forms[0].searchinput.focus();
+      return;
+   }
+   var z_repl=txt.match(searchinput)? txt.match(searchinput).length : 0;
+   txt=txt.replace(searchinput,replaceinput);
+   searchinput=searchinput.toString().substring(1,searchinput.toString().length-2);
+   msg_replfound = msg_replfound.replace('\1', searchinput).replace('\2', z_repl).replace('\3', replaceinput)
+   msg_replnot = msg_replnot.replace('%s', searchinput)
+   result(z_repl, msg_replfound, txt, msg_replnot);
+   replacewin.window.focus();
+   replacewin.window.document.forms[0].searchinput.focus();
+   return false;
+}
+function result(count,question,value_txt,alert_txt) {
+   if (count>0) {
+      if(window.confirm(question)==true) {
+         f.editarea.value=value_txt;
+         undo_save();
+         undo_enable(true);
+      }
+   } else {
+       alert(alert_txt);
+   }
+}
+function do_undo() {
+   if(undo_buffer_index==0) return;
+   else if(undo_buffer_index>0) {
+      f.editarea.value=undo_buffer[undo_buffer_index-1];
+      undo_buffer[undo_buffer_index]=null;
+      undo_buffer_index--;
+      if(undo_buffer_index==0) {
+         alert(msg_do_undo);
+         undo_enable(false);
+      }
+   }
+}
+//save a snapshot in the undo buffer
+function undo_save() {
+   undo_buffer[undo_buffer_index]=f.editarea.value;
+   undo_buffer_index++;
+   undo_enable(true);
+}
diff -ruN 1.3.12p3/themes/Hawaiian/Hawaiian.css 1.3.14/themes/Hawaiian/Hawaiian.css
--- 1.3.12p3/themes/Hawaiian/Hawaiian.css	2006-06-18 06:20:15.000000000 -0500
+++ 1.3.14/themes/Hawaiian/Hawaiian.css	2007-07-01 05:11:34.000000000 -0500
@@ -1,5 +1,5 @@
 /**
- * $Id: Hawaiian.css,v 1.27 2004/05/14 10:52:44 rurban Exp $
+ * $Id: Hawaiian.css,v 1.28 2007/01/20 18:20:41 rurban Exp $
  *
  * This incarnation of this stylesheet is a complete rewrite from the
  * ground up. It has not yet been tested against NS4.
@@ -428,6 +428,50 @@
   clear: both;
 }
 
+/**
+ * Search Results
+ */
+.search-context { background: white; font-style: oblique; }
+.search-term {
+  background: yellow;
+  font-weight: normal;
+}
+#LSResult {
+  position: absolute;
+  text-align: left;
+  display: none;
+  z-index: 100;
+  background-color: white;
+  border: 1px solid #d0d0d0; 
+  font-size: 9px;
+  overflow: hidden;
+}
+#LSHighlight {
+  background-color: #f08000;
+}
+#LSResult .evenrow {
+  background-color: #f0f0f0;
+} 
+#LSREsult .oddrow {
+} 
+.LSEnd {
+  text-align: right;
+}
+.LSRow:hover {
+  background-color: white;
+}
+.LSRow {
+  padding: 1px;
+} 
+ul.LSRes {
+  margin: 0px;
+  padding: 0px;
+}
+li.LSRow {
+  margin: 0px;
+  list-style-image: none;
+}
+
 /* For emacs users
  *
  * Local Variables:
diff -ruN 1.3.12p3/themes/Hawaiian/themeinfo.php 1.3.14/themes/Hawaiian/themeinfo.php
--- 1.3.12p3/themes/Hawaiian/themeinfo.php	2006-06-18 06:20:15.000000000 -0500
+++ 1.3.14/themes/Hawaiian/themeinfo.php	2007-07-01 05:11:35.000000000 -0500
@@ -1,6 +1,6 @@
 <?php
 
-rcs_id('$Id: themeinfo.php,v 1.26 2004/06/14 11:26:48 rurban Exp $');
+rcs_id('$Id: themeinfo.php,v 1.27 2007/07/01 09:36:10 rurban Exp $');
 
 /**
  * WikiWiki Hawaiian theme for PhpWiki.
@@ -18,70 +18,73 @@
                                                 $this->getImageURL('uhhbackground.jpg')))));
         return $css;
     }
-}
-$WikiTheme = new Theme_Hawaiian('Hawaiian');
-
-// CSS file defines fonts, colors and background images for this
-// style.  The companion '*-heavy.css' file isn't defined, it's just
-// expected to be in the same directory that the base style is in.
-
-$WikiTheme->setDefaultCSS('Hawaiian', 'Hawaiian.css');
-$WikiTheme->addAlternateCSS(_("Printer"), 'phpwiki-printer.css', 'print, screen');
-$WikiTheme->addAlternateCSS(_("Modern"), 'phpwiki-modern.css');
-$WikiTheme->addAlternateCSS('PhpWiki', 'phpwiki.css');
-
-/**
- * The logo image appears on every page and links to the HomePage.
- */
-$WikiTheme->addImageAlias('logo', 'PalmBeach.jpg');
-$WikiTheme->addImageAlias('logo', WIKI_NAME . 'Logo.png');
 
-/**
- * The Signature image is shown after saving an edited page. If this
- * is set to false then the "Thank you for editing..." screen will
- * be omitted.
- */
-//$WikiTheme->addImageAlias('signature', 'SubmersiblePiscesV.jpg');
-$WikiTheme->addImageAlias('signature', 'WaterFall.jpg');
-$WikiTheme->addImageAlias('signature', WIKI_NAME . "Signature.png");
-// Uncomment this next line to disable the signature.
-//$WikiTheme->addImageAlias('signature', false);
-
-// If you want to see more than just the waterfall let a random
-// picture be chosen for the signature image:
-//include_once($WikiTheme->file('lib/random.php'));
-include_once("themes/$WikiTheme->_name/lib/random.php");
-$imgSet = new randomImage($WikiTheme->file("images/pictures"));
-$imgFile = "pictures/" . $imgSet->filename;
-$WikiTheme->addImageAlias('signature', $imgFile);
+    function load() {
+	// CSS file defines fonts, colors and background images for this
+	// style.  The companion '*-heavy.css' file isn't defined, it's just
+	// expected to be in the same directory that the base style is in.
+
+	$this->setDefaultCSS('Hawaiian', 'Hawaiian.css');
+	$this->addAlternateCSS(_("Printer"), 'phpwiki-printer.css', 'print, screen');
+	$this->addAlternateCSS(_("Modern"), 'phpwiki-modern.css');
+	$this->addAlternateCSS('PhpWiki', 'phpwiki.css');
+
+	/**
+	 * The logo image appears on every page and links to the HomePage.
+	 */
+	$this->addImageAlias('logo', 'PalmBeach.jpg');
+	$this->addImageAlias('logo', WIKI_NAME . 'Logo.png');
+
+	/**
+	 * The Signature image is shown after saving an edited page. If this
+	 * is set to false then the "Thank you for editing..." screen will
+	 * be omitted.
+	 */
+	//$this->addImageAlias('signature', 'SubmersiblePiscesV.jpg');
+	$this->addImageAlias('signature', 'WaterFall.jpg');
+	$this->addImageAlias('signature', WIKI_NAME . "Signature.png");
+	// Uncomment this next line to disable the signature.
+	//$this->addImageAlias('signature', false);
+
+	// If you want to see more than just the waterfall let a random
+	// picture be chosen for the signature image:
+	//include_once($this->file('lib/random.php'));
+	include_once("themes/$this->_name/lib/random.php");
+	$imgSet = new randomImage($this->file("images/pictures"));
+	$imgFile = "pictures/" . $imgSet->filename;
+	$this->addImageAlias('signature', $imgFile);
+
+	//To test out the randomization just use logo instead of signature
+	//$this->addImageAlias('logo', $imgFile);
+
+	/*
+	 * Link Icons
+	 */
+	$this->setLinkIcon('interwiki');
+	$this->setLinkIcon('*', 'flower.png');
+
+	$this->setButtonSeparator(' ');
+
+	/**
+	 * WikiWords can automatically be split by inserting spaces between
+	 * the words. The default is to leave WordsSmashedTogetherLikeSo.
+	 */
+	$this->setAutosplitWikiWords(true);
+
+	/*
+	 * You may adjust the formats used for formatting dates and times
+	 * below.  (These examples give the default formats.)
+	 * Formats are given as format strings to PHP strftime() function See
+	 * http://www.php.net/manual/en/function.strftime.php for details.
+	 * Do not include the server's zone (%Z), times are converted to the
+	 * user's time zone.
+	 */
+	//$this->setDateFormat("%B %d, %Y");	    // must not contain time
 
-//To test out the randomization just use logo instead of signature
-//$WikiTheme->addImageAlias('logo', $imgFile);
-
-/*
- * Link Icons
- */
-$WikiTheme->setLinkIcon('interwiki');
-$WikiTheme->setLinkIcon('*', 'flower.png');
-
-$WikiTheme->setButtonSeparator(' ');
-
-/**
- * WikiWords can automatically be split by inserting spaces between
- * the words. The default is to leave WordsSmashedTogetherLikeSo.
- */
-$WikiTheme->setAutosplitWikiWords(true);
-
-/*
- * You may adjust the formats used for formatting dates and times
- * below.  (These examples give the default formats.)
- * Formats are given as format strings to PHP strftime() function See
- * http://www.php.net/manual/en/function.strftime.php for details.
- * Do not include the server's zone (%Z), times are converted to the
- * user's time zone.
- */
-//$WikiTheme->setDateFormat("%B %d, %Y");	    // must not contain time
+    }
+}
 
+$WikiTheme = new Theme_Hawaiian('Hawaiian');
 
 // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 // (c-file-style: "gnu")
Binary files 1.3.12p3/themes/MacOSX/buttons/de/Alte+Version+Bearbeiten.png and 1.3.14/themes/MacOSX/buttons/de/Alte+Version+Bearbeiten.png differ
Binary files 1.3.12p3/themes/MacOSX/buttons/de/%C4hnlicheSeiten.png and 1.3.14/themes/MacOSX/buttons/de/%C4hnlicheSeiten.png differ
Binary files 1.3.12p3/themes/MacOSX/buttons/de/Neueste%C4nderungen.png and 1.3.14/themes/MacOSX/buttons/de/Neueste%C4nderungen.png differ
Binary files 1.3.12p3/themes/MacOSX/buttons/de/SeiteFinden.png and 1.3.14/themes/MacOSX/buttons/de/SeiteFinden.png differ
Binary files 1.3.12p3/themes/MacOSX/buttons/de/Seite+L%F6schen.png and 1.3.14/themes/MacOSX/buttons/de/Seite+L%F6schen.png differ
Binary files 1.3.12p3/themes/MacOSX/buttons/de/SeitenProtokoll.png and 1.3.14/themes/MacOSX/buttons/de/SeitenProtokoll.png differ
Binary files 1.3.12p3/themes/MacOSX/buttons/en/Admin.png and 1.3.14/themes/MacOSX/buttons/en/Admin.png differ
Binary files 1.3.12p3/themes/MacOSX/buttons/en/DebugInfo.png and 1.3.14/themes/MacOSX/buttons/en/DebugInfo.png differ
Binary files 1.3.12p3/themes/MacOSX/buttons/en/Sign+in+as%3A.png and 1.3.14/themes/MacOSX/buttons/en/Sign+in+as%3A.png differ
Binary files 1.3.12p3/themes/MacOSX/buttons/en/Sign+in+as%3A.png.lnk and 1.3.14/themes/MacOSX/buttons/en/Sign+in+as%3A.png.lnk differ
diff -ruN 1.3.12p3/themes/MacOSX/MacOSX.css 1.3.14/themes/MacOSX/MacOSX.css
--- 1.3.12p3/themes/MacOSX/MacOSX.css	2006-06-18 06:20:21.000000000 -0500
+++ 1.3.14/themes/MacOSX/MacOSX.css	2007-07-01 05:11:38.000000000 -0500
@@ -1,5 +1,5 @@
 /*
- $Id: MacOSX.css,v 1.39 2004/05/14 10:52:44 rurban Exp $
+ $Id: MacOSX.css,v 1.41 2007/02/17 14:16:07 rurban Exp $
 
  Classes:
 
@@ -463,13 +463,53 @@
 }
 
 /**
+ * Search
+ */
+#searchholder { display: inline; }
+
+/**
  * Search Results
  */
-.search-context { background: white; }
+.search-context { background: white; font-style: oblique; }
 .search-term {
   background: #9bdaff;
   font-weight: normal;
 }
+#LSResult {
+  position: absolute;
+  text-align: left;
+  display: none;
+  z-index: 100;
+  background-color: white;
+  border: 1px solid #d0d0d0; 
+  font-size: 9px;
+  overflow: hidden;
+}
+#LSHighlight {
+  background-color: #f08000;
+}
+#LSResult .evenrow {
+  background-color: #f0f0f0;
+} 
+#LSREsult .oddrow {
+} 
+.LSEnd {
+  text-align: right;
+}
+.LSRow:hover {
+  background-color: white;
+}
+.LSRow {
+  padding: 1px;
+} 
+ul.LSRes {
+  margin: 0px;
+  padding: 0px;
+}
+li.LSRow {
+  margin: 0px;
+  list-style-image: none;
+}
 
 .clear-floats {
   clear: both;
@@ -584,6 +624,335 @@
   margin-bottom: 0;
 }
 
+/* IncludePage plugin */
+.transclusion-title {
+  text-align: right;
+  font-style: oblique;
+  font-size:  smaller;
+  text-decoration: underline;
+  margin-bottom: 0.25ex;
+  margin-right:  0.25em;
+} 
+.transclusion, .wiki-edithelp {
+  font-size: smaller;
+}
+.transclusion {
+  border: 1px solid gray;
+  padding-left:  0.8em; 
+  padding-right: 0.8em; 
+  padding-top:     0px;
+  padding-bottom:  0px;
+  margin-left:   0.25em;
+  margin-right:  0.25em;
+  margin-bottom: 0.1ex;
+}
+.wiki-edithelp {
+  background: white;
+  border: medium solid #fff8dc; /* darker ivory */
+  padding-left:  0.5em;
+  padding-right: 0.5em;
+  padding-top:    0.75ex;
+  padding-bottom: 0.75ex;
+  margin-left:  0;
+  margin-right: 0;
+  margin-top: 1ex;
+  margin-bottom: 1ex;
+}
+.wiki-edithelp .wiki {
+  /* color: #5454ff;*/
+}
+.wiki-edithelp p {
+  font-family: Arial, Helvetica, sans-serif;
+  padding-left:  0.5em;
+  padding-right: 0.5em;
+  padding-top:    0.5ex;
+  padding-bottom: 0.5ex;
+  margin: 0;
+}
+/**
+ * PageHistory, Info
+ */
+td.pageinfo { font-weight: bold; }
+.pageinfo-minoredit, .pageinfo-authorid {
+  font-size: smaller;
+  font-style: oblique;
+}
+
+
+/**
+ * Other
+ */
+.printer, .no-css { display: none; }
+
+/* Disabled Plugins */
+.disabled-plugin
+{
+  clear: both;
+  margin: 1ex 0;
+  padding: 0;
+}
+.disabled-plugin .title {
+  color: #400;
+  background-color: inherit;
+  font-size: x-small;
+  text-align: right;
+  padding: 0 0.5em;
+}
+.disabled-plugin pre {
+  color: black;
+  background: #ddd;
+  margin: 0;
+  padding: 0.3ex 0.5em;
+}
+
+/* "(Redirected from ...)" message. */
+span.redirectfrom {
+  font-size: small;
+  font-style: oblique;
+  font-weight: normal;
+  padding-left: 1em;
+}
+
+/*
+ * "E-mail" style blockquote
+ */
+blockquote.mail-style-quote {
+  border-left: medium #284 solid;
+  padding-left: 1em;
+  margin-left: 0;
+  margin-right: 0;
+}
+.mail-style-quote blockquote.mail-style-quote {
+  margin-left: -0.6em;
+}
+
+
+/*
+ * wikiblog
+ */
+.floatleft { float: left; }
+.floatright { float: right; }
+
+div.wikiblog {
+  /* border: thin black solid; */
+  margin: 1ex 2em;
+  padding: 0 0;
+}
+div.wikiblog > div {
+  margin: 0 0;
+  padding: 0.5ex 0.5em;
+}
+div.wikiblog-header {
+  /* background-color: #ccf; */
+}
+div.wikiblog > div.wikiblog-footer {
+  /* background-color: #eee; */
+  padding: 0.2ex 0.5em;
+}
+h3.wikiblog-summary {
+  font-size: medium;
+  font-weight: bold;
+  margin: 0 0 1ex 0;
+}
+
+div.wikiblog.wikiblog-form {
+  /* background-color: #eee; */
+}
+
+table.wikiblog-form {
+  width: auto;
+  border-collapse: collapse;
+  margin: 0.25em 0;
+}
+.wikiblog-form caption {
+  /* background-color: #ccf; */
+  caption-side: top;
+  font-weight: bold;
+  text-align: left;
+  padding: 0.5ex 0.5em;
+}
+.wikiblog-form th {
+  vertical-align: top;
+  text-align: right;
+  padding: 0 0 0.3em 0.5em;
+}
+.wikiblog-form td {
+  padding: 0.25em 0.5em;
+}
+.wikiblog-form td.submit-button {
+  padding: 0;
+}
+.wikiblog-form input[type=text],
+.wikiblog-form textarea {
+  margin: 0 0;
+  width: 100%;
+}
+div.wikicomment div.wikicomment-footer {
+  padding: 0.2ex 0.5em;
+}
+div.wikicomment div.wikicomment-footer named-wiki {
+  font-size: small;
+}
+table.interwiki-map {
+  margin: 1em 2em;
+}
+.interwiki-map th {
+  text-decoration: underline;
+  text-align: left;
+  padding-left: 1em;
+}
+.interwiki-map td.interwiki-url {
+  padding-left: 2em;
+}
+.interwiki-map th.interwiki-url {
+  padding-left: 3em;
+}
+
+.dialog {
+  background-color: #cdf;
+  color: black;
+  margin: 2em auto 2em auto;
+  border: thin black solid;
+  width: 50%;
+}
+.dialog h1, .dialog p, .dialog div {
+  text-align: center;
+}
+.dialog h1 {
+  font-size: large;
+  margin: 0.5em 0 1em 0;
+}
+.dialog div.message {
+  background-color: white;
+  color: black;
+  color: black;
+  margin: 0 1em;
+  padding: 0.5em 0.5em;
+}
+.dialog p.buttons {
+  margin: 1em 0 0.5em 0;
+}
+
+
+
+/* postnuke css:*/
+.gensmall{font-size:10px}
+.genmed{font-size:11px}
+td.cat{font-weight:bold;letter-spacing:1px;color:#000000;background: url(./images/cellpic1.png);height:27px}
+/* Main table cell colours and backgrounds */
+td.row1{background:#eaedf4;color:#000000}
+td.row2{background:#d9e2ec;color:#000000}
+td.row3{background:#cad9ea;color:#000000}
+td.spacerow{background:#cad9ea;color:#000000}
+
+/* This is the outline round the main forum tables */
+.forumline{background:#ffffff;color:#000000;border:1px solid #006699}
+
+/* Sidebar */
+.box { background:#ffffff; border: 1px solid silver }
+.box-title { font-family: Tahoma; font-weight: normal; /*font-size: 11pt; */ background-color: #ccc; color: black; /*font-style: menu;*/ text-align: center; border: none; padding: 2px 0 2px 0;}
+.box-data { width: 160px; font-size: 9pt; font-weight: normal; border: none; }
+.box-data .wiki { font-weight: normal; }
+td.sidebar { border-spacing: 0px; margin: 0ex;}
+
+/* plugin BoxRight */
+div.boxright {
+  width: 200px; 
+  right: 10px;
+  padding: 0.5em; 
+  float: right; 
+  border: thin solid #888888; 
+  padding: 0.5em;
+}
+
+/* RssFeed */
+div.rss { margin: 1em; padding: 1em; font-size: 0.9em; background-color: #eeeeee; border: thin dashed #aaa; }
+div.feed { color: #333; margin: -0.5em; margin-bottom: 0em; padding: 0.3em; font-weight: bold; background-color: #f2f2f2; font-size: 1.2em; }
+div.itemdesc {  padding-left: 1em; }
+div.rssitem { border-top: thin dashed #aaa; }
+
+/* SqlResult */
+table.sqlresult { 
+  border: 1px outset gray;
+  background: white;
+  margin: 0.5ex 0.5em;
+  padding: 1px;
+}
+.sqlresult tr.evenrow { background: #eee; }
+.sqlresult tr.oddrow  { background: white; }
+table.sqlresult td {
+  margin: 1px;
+  border: 1px solid gray;
+}
+
+/**
+ * TeX2png plugin
+ */
+img.tex { 
+  border: 0ex;
+  vertical-align: middle; 
+}
+
+/**
+ * PhotoAlbum plugin
+ */
+.boldsmall {
+  font-weight: bold;
+  font-size: 11px;
+}
+
+
+.wikiwyg_toolbar {
+    background: #D3D3D3;
+    border: 1px outset;
+    letter-spacing: 0;
+    padding: 2px;
+}
+
+span.wikiwyg_control_link a {
+    padding-right: 8px;
+}
+
+.wikiwyg_button {
+    background: #D3D3D3;
+    border: 1px solid #D3D3D3;
+    cursor: pointer;
+    width: 20px;
+    height: 20px;
+    vertical-align: bottom;
+}
+
+.wikiwyg_button:hover {
+    border: 1px outset;
+}
+
+.wikiwyg_button:active {
+    border: 1px inset;
+}
+
+.wikiwyg_separator {
+    background: #D3D3D3;
+    border: 1px solid #D3D3D3;
+    width: 9px;
+    height: 20px;
+    vertical-align: bottom;
+}
+
+.wikiwyg_selector {
+    width: 70px;
+}
+
+.wikiwyg_wysiwyg table {
+    border-collapse: collapse;
+    margin-bottom: .2em;
+}
+
+.wikiwyg_wysiwyg table td {
+    border: 1px;
+    border-style: solid;
+    padding: .2em;
+    vertical-align: top;
+}
 
 /* For emacs users
  *
diff -ruN 1.3.12p3/themes/MacOSX/themeinfo.php 1.3.14/themes/MacOSX/themeinfo.php
--- 1.3.12p3/themes/MacOSX/themeinfo.php	2006-06-18 06:20:21.000000000 -0500
+++ 1.3.14/themes/MacOSX/themeinfo.php	2007-07-01 05:11:38.000000000 -0500
@@ -1,5 +1,5 @@
 <?php //-*-php-*-
-rcs_id('$Id: themeinfo.php,v 1.55 2004/06/14 11:26:49 rurban Exp $');
+rcs_id('$Id: themeinfo.php,v 1.56 2007/07/01 09:36:10 rurban Exp $');
 
 /**
  * A PhpWiki theme inspired by the Aqua appearance of Mac OS X.
@@ -85,75 +85,77 @@
 
         return $link;
     }
+
+    function load() {
+	// CSS file defines fonts, colors and background images for this
+	// style.  The companion '*-heavy.css' file isn't defined, it's just
+	// expected to be in the same directory that the base style is in.
+
+	// This should result in phpwiki-printer.css being used when
+	// printing or print-previewing with style "PhpWiki" or "MacOSX" selected.
+	$this->setDefaultCSS('MacOSX',
+				  array(''      => 'MacOSX.css',
+					'print' => 'phpwiki-printer.css'));
+
+	// This allows one to manually select "Printer" style (when browsing page)
+	// to see what the printer style looks like.
+	$this->addAlternateCSS(_("Printer"), 'phpwiki-printer.css', 'print, screen');
+	$this->addAlternateCSS(_("Top & bottom toolbars"), 'MacOSX-topbottombars.css');
+
+	/**
+	 * The logo image appears on every page and links to the HomePage.
+	 */
+	$this->addImageAlias('logo', WIKI_NAME . 'Logo.png');
+
+	/**
+	 * The Signature image is shown after saving an edited page. If this
+	 * is set to false then the "Thank you for editing..." screen will
+	 * be omitted.
+	 */
+	$this->addImageAlias('signature', WIKI_NAME . "Signature.png");
+	// Uncomment this next line to disable the signature.
+	//$this->addImageAlias('signature', false);
+
+	/*
+	 * Link icons.
+	 */
+	$this->setLinkIcon('http');
+	$this->setLinkIcon('https');
+	$this->setLinkIcon('ftp');
+	$this->setLinkIcon('mailto');
+	$this->setLinkIcon('interwiki');
+	$this->setLinkIcon('wikiuser');
+	$this->setLinkIcon('*', 'url');
+
+	$this->setButtonSeparator(""); //use no separator instead of default
+
+	$this->addButtonAlias('?', 'uww');
+	$this->addButtonAlias(_("Lock Page"), "Lock Page");
+	$this->addButtonAlias(_("Unlock Page"), "Unlock Page");
+	$this->addButtonAlias(_("Page Locked"), "Page Locked");
+	$this->addButtonAlias("...", "alltime");
+
+	/**
+	 * WikiWords can automatically be split by inserting spaces between
+	 * the words. The default is to leave WordsSmashedTogetherLikeSo.
+	 */
+	//$this->setAutosplitWikiWords(false);
+
+	/*
+	 * You may adjust the formats used for formatting dates and times
+	 * below.  (These examples give the default formats.)
+	 * Formats are given as format strings to PHP strftime() function See
+	 * http://www.php.net/manual/en/function.strftime.php for details.
+	 * Do not include the server's zone (%Z), times are converted to the
+	 * user's time zone.
+	 */
+	$this->setDateFormat("%A, %B %d, %Y"); // must not contain time
+	$this->setTimeFormat("%I:%M:%S %p");
+    }
 }
 
 $WikiTheme = new Theme_MacOSX('MacOSX');
 
-// CSS file defines fonts, colors and background images for this
-// style.  The companion '*-heavy.css' file isn't defined, it's just
-// expected to be in the same directory that the base style is in.
-
-// This should result in phpwiki-printer.css being used when
-// printing or print-previewing with style "PhpWiki" or "MacOSX" selected.
-$WikiTheme->setDefaultCSS('MacOSX',
-                       array(''      => 'MacOSX.css',
-                             'print' => 'phpwiki-printer.css'));
-
-// This allows one to manually select "Printer" style (when browsing page)
-// to see what the printer style looks like.
-$WikiTheme->addAlternateCSS(_("Printer"), 'phpwiki-printer.css', 'print, screen');
-$WikiTheme->addAlternateCSS(_("Top & bottom toolbars"), 'MacOSX-topbottombars.css');
-
-/**
- * The logo image appears on every page and links to the HomePage.
- */
-$WikiTheme->addImageAlias('logo', WIKI_NAME . 'Logo.png');
-
-/**
- * The Signature image is shown after saving an edited page. If this
- * is set to false then the "Thank you for editing..." screen will
- * be omitted.
- */
-$WikiTheme->addImageAlias('signature', WIKI_NAME . "Signature.png");
-// Uncomment this next line to disable the signature.
-//$WikiTheme->addImageAlias('signature', false);
-
-/*
- * Link icons.
- */
-$WikiTheme->setLinkIcon('http');
-$WikiTheme->setLinkIcon('https');
-$WikiTheme->setLinkIcon('ftp');
-$WikiTheme->setLinkIcon('mailto');
-$WikiTheme->setLinkIcon('interwiki');
-$WikiTheme->setLinkIcon('wikiuser');
-$WikiTheme->setLinkIcon('*', 'url');
-
-$WikiTheme->setButtonSeparator(""); //use no separator instead of default
-
-$WikiTheme->addButtonAlias('?', 'uww');
-$WikiTheme->addButtonAlias(_("Lock Page"), "Lock Page");
-$WikiTheme->addButtonAlias(_("Unlock Page"), "Unlock Page");
-$WikiTheme->addButtonAlias(_("Page Locked"), "Page Locked");
-$WikiTheme->addButtonAlias("...", "alltime");
-
-/**
- * WikiWords can automatically be split by inserting spaces between
- * the words. The default is to leave WordsSmashedTogetherLikeSo.
- */
-//$WikiTheme->setAutosplitWikiWords(false);
-
-/*
- * You may adjust the formats used for formatting dates and times
- * below.  (These examples give the default formats.)
- * Formats are given as format strings to PHP strftime() function See
- * http://www.php.net/manual/en/function.strftime.php for details.
- * Do not include the server's zone (%Z), times are converted to the
- * user's time zone.
- */
-$WikiTheme->setDateFormat("%A, %B %d, %Y"); // must not contain time
-$WikiTheme->setTimeFormat("%I:%M:%S %p");
-
 // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 // (c-file-style: "gnu")
 // Local Variables:
diff -ruN 1.3.12p3/themes/MonoBook/commonPrint.css 1.3.14/themes/MonoBook/commonPrint.css
--- 1.3.12p3/themes/MonoBook/commonPrint.css	2006-06-18 06:20:21.000000000 -0500
+++ 1.3.14/themes/MonoBook/commonPrint.css	2007-07-01 05:11:38.000000000 -0500
@@ -72,7 +72,7 @@
 div.tleft {
     float: left;
     margin-right:0.5em;
-    border: 0.5em 1.4em 0.8em 0;
+    border-width: 0.5em 1.4em 0.8em 0;
 }
 
 /* table standards */
@@ -102,7 +102,13 @@
 div#f-copyrightico,
 li#f-viewcount,
 li#f-about,
-li#f-disclaimer {
+li#f-disclaimer,
+div#xhtml-validator,
+li#pt-logout,
+li#pt-login,
+div#p-logo,
+div.hint,
+span.debug {
     /* Hides all the elements irrelevant for printing */
     display: none;
 }
diff -ruN 1.3.12p3/themes/MonoBook/IE55Fixes.css 1.3.14/themes/MonoBook/IE55Fixes.css
--- 1.3.12p3/themes/MonoBook/IE55Fixes.css	2006-06-18 06:20:21.000000000 -0500
+++ 1.3.14/themes/MonoBook/IE55Fixes.css	2007-07-01 05:11:38.000000000 -0500
@@ -1,27 +1,27 @@
 /* IE5.5/win- only fixes */
 
 #column-content { 
-    float: none; 
-    margin-left: 0;
-    height: 1%;
+	float: none; 
+	margin-left: 0;
+	height: 1%;
 }
 #column-content #content {
-    position: relative;
-    z-index: 5;
-    margin-left: 12.2em;
-    margin-top: 3em;
-    height: 1%;
+	position: relative;
+	z-index: 5;
+	margin-left: 12.2em;
+	margin-top: 3em;
+	height: 1%;
 }
 #column-one {
-    position: absolute;
-    top: 0;
-    left: 0;
-    z-index: 4;
-    width: 100%;
+	position: absolute;
+	z-index: 4;
+	top: 0;
+	left: 0;
+	width: 100%;
 }
 #footer {
-    margin-left: 13.6em;
-    border-left: 1px solid #fabd23;
+	margin-left: 13.6em;
+	border-left: 1px solid #fabd23;
 }
 
 /*#bodyContent div,
@@ -29,44 +29,47 @@
 
 #p-personal { padding-bottom: 0.1em; }
 
-body { font-size: xx-small; }
+body {	font-size: xx-small; }
+
+pre {	font-size: x-small; }
 
 #p-cactions {
-    width: 76% !important;
-    z-index: 3 !important;
-    float: none;
+	width: 76% !important;
+	z-index: 3 !important;
+	float: none;
 }
 #p-cactions li {
-    float: left;
-    padding-top: 0;
-    padding-bottom: 0 !important;
-    height: 0.9em;
+	float: left;
+	padding-top: 0;
+	padding-bottom: 0 !important;
+	height: 0.9em;
 }
 #p-cactions li a {
-    display: block;
-    padding-bottom: 0.045em;
+	display: block;
+	padding-bottom: 0.045em;
 }
 #p-cactions li.selected a {
-    padding-bottom: 0.17em;
+	padding-bottom: 0.17em;
+	padding-bottom: 0.17em !important;
 }
 #p-cactions li a:hover {
-    padding-bottom: 0.17em;
+	padding-bottom: 0.17em;
 }
 .portlet {
-    overflow:hidden;
+	overflow:hidden;
 }
 #bodyContent a.external {
-    background: url(external.png) center right no-repeat;
-    padding-right: 13px;
+	background: url(external.png) center right no-repeat;
+	padding-right: 13px;
 }
 /* show the hand */
 #p-logo a,
 #p-logo a:hover {
-    cursor: pointer;
+	cursor: pointer;
 }
 .visualClear {
-    width:90%;
-    height: 1px;
-    padding:0;
-    margin:0;
+	width:90%;
+	height: 1px;
+	padding:0;
+	margin:0;
 }
diff -ruN 1.3.12p3/themes/MonoBook/IE60Fixes.css 1.3.14/themes/MonoBook/IE60Fixes.css
--- 1.3.12p3/themes/MonoBook/IE60Fixes.css	2006-06-18 06:20:21.000000000 -0500
+++ 1.3.14/themes/MonoBook/IE60Fixes.css	2007-07-01 05:11:38.000000000 -0500
@@ -2,74 +2,85 @@
 /* content area */ 
 /* workaround for various ie float bugs */
 #column-content { 
-    float: none; 
-    margin-left: 0;
-    height: 1%;
+	float: none; 
+	margin-left: 0;
+	height: 1%;
 }
 #column-content #content {
-    margin-left: 12.2em;
-    margin-top: 3em;
-    height: 1%;
+	margin-left: 12.2em;
+	margin-top: 3em;
+	height: 1%;
 }
 #column-one {
-    position: absolute;
-    top: 0;
-    left: 0;
-    z-index: 4;
+	position: absolute;
+	z-index: 4;
+	top: 0;
+	left: 0;
 }
 #footer {
-    margin-left: 13.6em;
-    border-left: 1px solid #fabd23;
+	margin-left: 13.6em;
+	border-left: 1px solid #fabd23;
 }
 
+body, pre { font-size: x-small; }
+
 /* the tabs */
 
 #p-cactions {
-    z-index: 3;
+	z-index: 3;
 }
 
 #p-cactions li {
-    float: left;
-    padding-top: 0;
-    padding-bottom: 0 !important;
-    height: 0.9em;
+	padding-bottom: 0 !important;
+	border: none;
+	background-color: transparent;
+	cursor: default;
+	float: none !important;
 }
 #p-cactions li a {
-    display: block;
-    padding-bottom: 0.045em;
+	display: inline-block !important;
+	vertical-align: top;
+	padding-bottom: 0;
+	border: solid #aaa;
+	border-width: 1px 1px 0;
 }
 #p-cactions li.selected a {
-    padding-bottom: 0.17em;
+	border-color: #fabd23;
+	padding-bottom: 0.17em !important;
 }
 #p-cactions li a:hover {
-    padding-bottom: 0.17em;
+	padding-bottom: 0.17em;
+}
+#p-navigation a {
+	display: inline-block;
+	width: 100%;
 }
 #portal-personaltools {
-    padding-bottom: 0.1em;
+	padding-bottom: 0.1em;
 }
 #bodyContent a.external {
-    background: url(external.png) center right no-repeat;
-    padding-right: 13px;
+	background: url(images/external.png) center right no-repeat;
+	padding-right: 13px;
 }
 
 /* show the hand */
 #p-logo a,
 #p-logo a:hover {
-    cursor: pointer;
+	cursor: pointer;
 }
 div.visualClear {
-    width:100%;
-    line-height: 0;
+	width:100%;
+	line-height: 0;
 }
 textarea {
-    overflow: auto;
-    width: 96%;
+	width: 96%;
 }
 
 div.editsection,
 #catlinks,
 div.tright,
 div.tleft {
-    position: relative;
+	position: relative;
 }
 /*{ border:1px solid Red !important;}*/
+
diff -ruN 1.3.12p3/themes/MonoBook/IE70Fixes.css 1.3.14/themes/MonoBook/IE70Fixes.css
--- 1.3.12p3/themes/MonoBook/IE70Fixes.css	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/themes/MonoBook/IE70Fixes.css	2007-07-01 05:11:38.000000000 -0500
@@ -0,0 +1,74 @@
+/* 7.0 - only fixes */
+/* content area */ 
+/* workaround for various ie float bugs */
+
+/* This bit is needed to make links clickable... WTF */
+#column-content #content {
+	margin-left: 12.2em;
+	margin-top: 3em;
+	height: 1%;
+}
+
+.rtl #column-one {
+	/* For some reason it tries to inherit the padding-top into every div,
+	 * and I can't figure out how to get it back off.
+	 */
+	padding-top: 0;
+}
+.rtl #column-one #p-navigation {
+	margin-top: 160px;
+}
+
+/* the tabs */
+
+#p-cactions {
+	z-index: 3;
+}
+
+#p-cactions li {
+	padding-bottom: 0 !important;
+	border: none;
+	background-color: transparent;
+	cursor: default;
+	float: none !important;
+}
+
+#p-cactions li a {
+	display: inline-block !important;
+	vertical-align: top;
+	padding-bottom: 0;
+	border: solid #aaa;
+	border-width: 1px 1px 0;
+}
+#p-cactions li.selected a {
+	border-color: #fabd23;
+	padding-bottom: 0.17em !important;
+}
+#p-cactions li a:hover {
+	padding-bottom: 0.17em !important;
+}
+#p-navigation a {
+	display: inline-block;
+	width: 100%;
+}
+#portal-personaltools {
+	padding-bottom: 0.1em;
+}
+textarea {
+	width: 96%;
+}
+
+/*
+div.editsection,
+#catlinks,
+div.tright,
+div.tleft {
+	position: relative;
+}
+*/
+
+
+#footer li {
+	/* Work around bug with inline <li> tags with right margins and nowrap */
+	margin-right: 0;
+}
Binary files 1.3.12p3/themes/MonoBook/images/wiki_stamp.png and 1.3.14/themes/MonoBook/images/wiki_stamp.png differ
diff -ruN 1.3.12p3/themes/MonoBook/main.css 1.3.14/themes/MonoBook/main.css
--- 1.3.12p3/themes/MonoBook/main.css	2006-06-18 06:20:22.000000000 -0500
+++ 1.3.14/themes/MonoBook/main.css	2007-07-01 05:11:39.000000000 -0500
@@ -1,33 +1,41 @@
 /*
-** Mediawiki 'monobook' style sheet for CSS2-capable browsers.
-** Copyright Gabriel Wicke - http://www.aulinx.de/
+** MediaWiki 'monobook' style sheet for CSS2-capable browsers.
+** Copyright Gabriel Wicke - http://wikidev.net/
+** License: GPL (http://www.gnu.org/copyleft/gpl.html)
 **
-** Based on http://www.positioniseverything.net/ordered-floats.html by Big John
-** and the Plone 2.0 styles, see http://plone.org/.
-** Alexander Limi - http://www.plonesolutions.com
-** additional plone work:
-** Joe Geldart & Tom Croucher - http://www.netalleynetworks.com, Michael Zeltner - http://niij.org,
-** Geir Bækholt - http://www.plonesolutions.com
+** Loosely based on http://www.positioniseverything.net/ordered-floats.html by Big John
+** and the Plone 2.0 styles, see http://plone.org/ (Alexander Limi, Joe Geldart & Tom Croucher,
+** Michael Zeltner and Geir Bækholt)
 ** All you guys rock :)
+** Added phpwiki integration: Reini Urban, based on the phpwiki.css 
+** by Jeff Dairiki
 */
 
 #column-content {
-    width: 100%;
-    float: right;
-    margin: 0 0 0.6em -12.2em;
-    padding:0;
+	width: 100%;
+	float: right;
+	margin: 0 0 .6em -12.2em;
+	padding: 0;
+	height: 1%;
 }
 #content {
-    margin: 2.8em 0 0 12.2em;
-    padding: 0em 1em 1.5em 1em;
-    background: White;
-    border: 1px solid #aaaaaa;
-    border-right: none;
-    line-height: 1.5em;
-    position: relative;
-    z-index: 2;
+	position: relative;
+	z-index: 2;
+	margin: 2.8em 0 0 12.2em;
+	padding: 0 1em 1.5em 1em;
+	background: white;
+	color: black;
+	border: 1px solid #aaa;
+	border-right: none;
+	line-height: 1.5em;
+}
+#column-one {
+	position: absolute;
+	/*z-index: 3;*/
+	padding-top: 160px;
+	top: 0;
+	left: 0;
 }
-#column-one { padding-top: 160px; }
 /* the left column width is specified in class .portlet */
 
 /* Font size:
@@ -37,445 +45,771 @@
 */
 
 body {
-    font: x-small sans-serif;
-    background: #f9f9f9 url("images/headbg.jpg") 0px 0px no-repeat;
-    color: Black;
-    margin: 0;
-    padding: 0;
+	font: small sans-serif;
+	background: #f9f9f9 url("images/headbg.jpg") 0 0 no-repeat;
+	color: black;
+	margin: 0;
+	padding: 0;
 }
 
 /* scale back up to a sane default */
 #globalWrapper {
-    font-size:127%;
-    width: 100%;
-    margin: 0;
-    padding: 0;
+	font-size: 127%;
+	width: 100%;
+	margin: 0;
+	padding: 0;
+}
+.visualClear {
+	clear: both;
 }
-.visualClear { clear: both; }
 
 /* general styles */
 
 table {
-    font-size: 100%;
-    background: White;
+  	font-size: 100%;
+	color: black;
 }
 a {
-    text-decoration: none;
-    color: #004ba6;
-    background: none;
-}
-a:visited { color: #5a3696; }
-a:active { color: Orange; }
-a:hover { text-decoration: underline; }
-a.stub { color: #772233; }
-a.new { color:#ba0000; }
+	text-decoration: none;
+	color: #002bb8;
+	background: none;
+}
+a:visited {
+	color: #5a3696;
+}
+a:active {
+	color: #faa700;
+}
+a:hover {
+	text-decoration: underline;
+}
+a.stub {
+	color: #772233;
+}
+a.new, #p-personal a.new {
+	color: #ba0000;
+}
+a.new:visited, #p-personal a.new:visited {
+	color: #a55858;
+}
 
 img {
-    border: none;
-    vertical-align: middle;
+	border: none;
+	vertical-align: middle;
 }
 p {
-    margin: 0.4em 0em 0.7em 0em;
-    line-height: 1.5em;
+	margin: .4em 0 .5em 0;
+	line-height: 1.5em;
+}
+p img {
+	margin: 0;
 }
-
-p img { margin: 0; }
 
 hr {
-    height: 1px;
-    color: #aaaaaa;
-    background-color: #aaaaaa;
-    border: 0;
-    margin: 0.2em 0 0.2em 0;
+	height: 1px;
+	color: #aaa;
+	background-color: #aaa;
+	border: 0;
+	margin: .2em 0 .2em 0;
 }
 
 h1, h2, h3, h4, h5, h6 {
-    color: Black;
-    background: none;
-    font-weight: normal;
-    margin: 0;
-    padding-top: 0.5em;
-    padding-bottom: 0.17em;
-    border-bottom: 1px solid #aaaaaa;
+	color: black;
+	background: none;
+	font-weight: bold;
+	font-family: Tahoma, sans-serif;
+	margin: 0;
+	padding-top: 0.5em;
+	padding-bottom: 0.17em;
+	border-bottom: 1px solid #aaa;
 }
 h1 { font-size: 188%; }
 h2 { font-size: 150%; }
-h3, h4, h5, h6 { 
-    border-bottom: none;
-    font-weight: bold;
-}
 h3 { font-size: 132%; }
 h4 { font-size: 116%; }
 h5 { font-size: 100%; }
 h6 { font-size: 80%;  }
-
+h4, h5, h6 { 
+	border-bottom: none;
+	font-weight: normal;
+}
 ul { 
-    line-height: 1.5em;
-    list-style-type: square;
-    margin: 0.3em 0 0 1.5em;
-    padding:0;
-    list-style-image: url("images/bullet.png");
+	line-height: 1.5em;
+	list-style-type: square;
+	margin: 0.3em 0 0 1.5em;
+	padding:0;
+	list-style-image: url("images/bullet.png");
 }
 ol {
-    line-height: 1.5em;
-    margin: 0.3em 0 0 3.2em;
-    padding:0;
+	line-height: 1.5em;
+	margin: 0.3em 0 0 3.2em;
+	padding:0;
+	list-style-image: none;
+}
+li {	margin-bottom: 0.1em; }
+dt { 
+  	font-weight: bold; 
+	margin-bottom: .1em;
+}
+dl {
+	margin-top: .2em;
+	margin-bottom: .5em;
 }
-li { margin-bottom: 0.1em; }
-dt { font-weight: bold; }
 dd {
-    line-height: 1.5em;
-    margin-bottom: 0.8em;
-    margin-left: 2em;
+	line-height: 1.5em;
+	margin-left: 2em;
+	margin-bottom: .1em;
 }
 
 fieldset {
-    border: 1px solid #2f6fab;
-    margin: 1em 0em 1em 0em;
-    padding: 0em 1em 1em 1em;
-    line-height: 1.5em;
+	border: 1px solid #2f6fab;
+	margin: 1em 0 1em 0;
+	padding: 0 1em 1em 1em;
+	line-height: 1.5em;
 }
 legend {
-    background: White;
-    padding: 0.5em;
-    font-size: 95%;
+	/*background: white;*/
+	padding: 0.5em;
+	font-size: 95%;
 }
 form {
-    border: none;
-    margin: 0;
+	border: none;
+	margin: 0;
 }
 
 textarea {
-    border: 1px solid #2f6fab;  
-    color: Black;
-    background-color: white;
-    width: 100%;
-    padding: 0.1em;
-    overflow: auto;
-}
-/* hide this from ie/mac and konq2.2 */
-@media All {
-    head:first-child+body input {
-        visibility: visible;
-        border: 1px solid #2f6fab;  
-        color: Black;
-        background-color: white;
-        vertical-align: middle;
-        padding: 0.2em;
-    }
+	width: 100%;
+	padding: .1em;
 }
+
 input.historysubmit {
-    padding: 0 0.3em 0.3em 0.3em !important;
-    font-size: 94%;
-    cursor: pointer;
-    height: 1.7em !important;
-    margin-left: 1.6em;
+	padding: 0 0.3em 0.3em 0.3em !important;
+	font-size: 94%;
+	cursor: pointer;
+	height: 1.7em !important;
+	margin-left: 1.6em;
 }
-input[type="radio"],
-input[type="checkbox"] { border:none; }
 select {
-    border: 1px solid #2f6fab;  
-    color: Black;
-    vertical-align: top;
+	vertical-align: top;
 }
 abbr, acronym, .explain {
-    border-bottom: 1px dotted Black;
-    color: Black;
-    background: none;
-    cursor: help;
+	border-bottom: 1px dotted black;
+	color: black;
+	background: none;
+	cursor: help;
 }
 q {
-    font-family: Times, "Times New Roman", serif;
-    font-style: italic;
+	font-family: Times, "Times New Roman", serif;
+	font-style: italic;
 }
 /* disabled for now
 blockquote {
-    font-family: Times, "Times New Roman", serif;
-    font-style: italic;
+	font-family: Times, "Times New Roman", serif;
+	font-style: italic;
 }*/
-code { background-color: #f9f9f9; }
+code {
+	background-color: #f9f9f9;
+}
 pre {
-    padding: 1em;
-    border: 1px dashed #2f6fab;
-    color: Black;
-    background-color: #f9f9f9;
-    line-height: 1.1em;
+	padding: 1em;
+	border: 1px dashed #2f6fab;
+	color: black;
+	background-color: #f9f9f9;
+	line-height: 1.1em;
 }
 
-
 /*
 ** the main content area
 */
 
 #siteSub { display: none; }
+#jump-to-nav {
+	display: none;
+}
 #contentSub {
-    font-size: 84%;
-    line-height: 1.2em;
-    margin: 0 0 1.4em 1em;
-    color: #7d7d7d;
-    width: auto;
+	font-size: 84%;
+	line-height: 1.2em;
+	margin: 0 0 1.4em 1em;
+	color: #7d7d7d;
+	width: auto;
 }
 span.subpages { display: block; }
 
 /* Some space under the headers in the content area */
-#bodyContent h1,
-#bodyContent h2,
-#bodyContent h3,
-#bodyContent h4,
-#bodyContent h5 {
-    margin-bottom:0.8em;
+#bodyContent h1, #bodyContent h2 {
+	margin-bottom: .6em;
+}
+#bodyContent h3, #bodyContent h4, #bodyContent h5 {
+	margin-bottom: .3em;
 }
 .firstHeading { margin-bottom:0.1em; }
 
 /* user notification thing */
 .usermessage {
-    background-color: #ffce7b;
-    border: 1px solid #ffa500;
-    color: Black;
-    font-weight: bold;
-    margin: 2em 0em 1em 0em;
-    padding: 0.5em 1em;
-    vertical-align: middle;
+	background-color: #ffce7b;
+	border: 1px solid #ffa500;
+	color: black;
+	font-weight: bold;
+	margin: 2em 0 1em;
+	padding: .5em 1em;
+	vertical-align: middle;
+}
+#siteNotice {
+	text-align: center;
+	font-size: 95%;
+	padding: 0 .9em;
+}
+#siteNotice p {
+	margin: 0;
+	padding: 0;
 }
 .error {
-    color: red;
-    font-size: larger;
+	color: red;
+	font-size: larger;
+}
+.errorbox, .successbox {
+	font-size: larger;
+	border: 2px solid;
+	padding: .5em 1em;
+	float: left;
+	margin-bottom: 2em;
+	color: #000;
+}
+.errorbox {
+	border-color: red;
+	background-color: #fff2f2;
+}
+.successbox {
+	border-color: green;
+	background-color: #dfd;
+}
+.errorbox h2, .successbox h2 {
+	font-size: 1em;
+	font-weight: bold;
+	display: inline;
+	margin: 0 .5em 0 0;
+	border: none;
 }
+
 #catlinks {
-    border:1px solid #aaaaaa;
-    background-color:#f9f9f9;
-    padding:5px;
-    margin-top: 1em;
+	border: 1px solid #aaa;
+	background-color: #f9f9f9;
+	padding: 5px;
+	margin-top: 1em;
+	clear: both;
 }
 /* currently unused, intended to be used by a metadata box
 in the bottom-right corner of the content area */
 .documentDescription {
-    /* The summary text describing the document */
-    font-weight: bold;
-    display: block;
-    margin: 1em 0em;
-    line-height: 1.5em;
+	/* The summary text describing the document */
+	font-weight: bold;
+	display: block;
+	margin: 1em 0;
+	line-height: 1.5em;
 }
 .documentByLine {
-    text-align: right;
-    font-size: 90%;
-    clear: both;
-    font-weight: normal;
-    color: #76797c;
+	text-align: right;
+	font-size: 90%;
+	clear: both;
+	font-weight: normal;
+	color: #76797c;
 }
 
 /* emulate center */
 .center {
-    width: 100%;
-    text-align: center;
+	width: 100%;
+	text-align: center;
 }
 *.center * {
-    margin-left: auto;
-    margin-right: auto;
+	margin-left: auto;
+	margin-right: auto;
+}
+/* small for tables and similar */
+.small, .small * {
+	font-size: 94%;
+}
+table.small {
+	font-size: 100%;
 }
-
 
 /*
 ** content styles
 */
-
-#toc { 
-    /*border:1px solid #2f6fab;*/
-    border:1px solid #aaaaaa;
-    background-color:#f9f9f9;
-    padding:5px;
-    font-size: 95%;
-}
-#toc .tocindent { margin-left: 2em; }
-#toc .tocline { margin-bottom: 0px; }
-#toc p { margin: 0 }
-#toc .toctoggle { font-size: 94%; }
-#toc .editsection { 
-    margin-top: 0.7em; 
-    font-size: 94%;
+#toc,
+.toc {
+  	width: 200px;
+	border: 1px solid #aaa;
+	background-color: #f9f9f9;
+	padding: 5px;
+	font-size: 95%;
+  	float: right;
+  	clear: right;
+}
+#toc h2,
+.toc h2 {
+	display: inline;
+	border: none;
+	padding: 0;
+	font-size: 110%;
+	font-weight: bold;
+}
+.toc #toclist {
+	width: auto;
+	border: none;
+}
+#toc #toctitle,
+.toc #toctitle,
+#toc .toctitle,
+.toc .toctitle {
+	text-align: center;
+}
+/*
+#toc ul,
+.toc ul {
+	list-style-type: none;
+	list-style-image: none;
+	margin-left: 0;
+	padding-left: 0;
+	text-align: left;
+}
+*/
+#toc ul,
+.toc ul {
+	width: auto;
+	border: none;
+	line-height: 1.5em;
+	list-style-type: square;
+	list-style-image: url("images/bullet.png");
+	font-size: 95%;
+	margin-left: 5px;
+	padding-left: 5px;
+}
+#toc ul ul,
+.toc ul ul {
+	margin: 0 0 0 2em;
+}
+#toc .toctoggle,
+.toc .toctoggle {
+	font-size: 94%;
+}
+
+.mw-warning {
+	border: 1px solid #aaa;
+	background-color: #f9f9f9;
+	padding: 5px;
+	font-size: 95%;
+}
+.mw-warning {
+	margin-left: 50px;
+	margin-right: 50px;
+	text-align: center;
 }
 
 /* images */
-div.floatright { 
-    float: right; 
-    margin: 0;
-    position:relative;
-    border: 0.5em solid White;
-    border-width: 0.5em 0 0.8em 1.4em;
-}
-div.floatright p { font-style: italic;} 
-div.floatleft { 
-    float: left; 
-    margin: 0.3em 0.5em 0.5em 0;
-    position:relative;
-    border: 0.5em solid White;
-    border-width: 0.5em 1.4em 0.8em 0;
+div.floatright, table.floatright {
+	clear: right;
+	float: right;
+	position: relative;
+	margin: 0 0 .5em .5em;
+	border: 0;
+/*
+	border: .5em solid white;
+	border-width: .5em 0 .8em 1.4em;
+*/
+}
+div.floatright p { font-style: italic; }
+div.floatleft, table.floatleft {
+	float: left;
+	position: relative;
+	margin: 0 .5em .5em 0;
+	border: 0;
+/*
+	margin: .3em .5em .5em 0;
+	border: .5em solid white;
+	border-width: .5em 1.4em .8em 0;
+*/
 }
-div.floatleft p { font-style: italic; } 
+div.floatleft p { font-style: italic; }
 /* thumbnails */
 div.thumb {
-    margin-bottom: 0.5em;
-    border-style: solid; border-color: White;
-    width: auto;
+	margin-bottom: .5em;
+	border-style: solid;
+	border-color: white;
+	width: auto;
 }
 div.thumb div {
-    border:1px solid #cccccc;
-    padding: 3px !important;
-    background-color:#f9f9f9;
-    font-size: 94%;
-    text-align: center;
+	border: 1px solid #ccc;
+	padding: 3px !important;
+	background-color: #f9f9f9;
+	font-size: 94%;
+	text-align: center;
+	overflow: hidden;
 }
 div.thumb div a img {
-    border:1px solid #cccccc;
+	border: 1px solid #ccc;
 }
 div.thumb div div.thumbcaption {
-    border: none;
-    text-align: left;
-    padding: 0.3em 0 0.1em 0;
+	border: none;
+	text-align: left;
+	line-height: 1.4em;
+	padding: .3em 0 .1em 0;
 }
 div.magnify {
-    float: right;
-    border: none !important;
-    background: none !important;
+	float: right;
+	border: none !important;
+	background: none !important;
 }
 div.magnify a, div.magnify img {
-    display: block;
-    border: none !important;
-    background: none !important;
+	display: block;
+	border: none !important;
+	background: none !important;
+}
+div.tright {
+	clear: right;
+	float: right;
+	border-width: .5em 0 .8em 1.4em;
+}
+div.tleft {
+	float: left;
+	margin-right: .5em;
+	border-width: .5em 1.4em .8em 0;
 }
 
-.urlexpansion,
 .hiddenStructure {
-    display: none;
+	display: none;
+	speak: none;
 }
-img.tex { vertical-align: middle; }
+img.tex {
+	vertical-align: middle;
+}
+span.texhtml {
+	font-family: serif;
+}
+
 /*
 ** classes for special content elements like town boxes
 ** intended to be referenced directly from the wiki src
 */
+
+/*
+** User styles
+*/
 /* table standards */
 table.rimage {
-    float:right; 
-    width:1pt; 
-    position:relative;
-    margin-left:1em; 
-    margin-bottom:1em;
-    text-align:center;
-}
-div.tright {
-    float: right;
-    border-width: 0.5em 0 0.8em 1.4em;
-}
-div.tleft {
-    float: left;
-    margin-right:0.5em;
-    border: 0.5em 1.4em 0.8em 0;
+	float: right;
+	position: relative;
+	margin-left: 1em;
+	margin-bottom: 1em;
+	text-align: center;
+}
+.toccolours {
+	border: 1px solid #aaa;
+	background-color: #f9f9f9;
+	padding: 5px;
+	font-size: 95%;
 }
-
 div.townBox {
-    position:relative;
-    float:right;
-    background:White;
-    margin-left:1em;
-    border: 1px solid Grey;
-    padding:0.3em;
-    width: 200px;
-    overflow: hidden;
-    clear: right;
+	position: relative;
+	float: right;
+	background: white;
+	margin-left: 1em;
+	border: 1px solid gray;
+	padding: .3em;
+	width: 200px;
+	overflow: hidden;
+	clear: right;
 }
 div.townBox dl {
-    padding: 0;
-    margin: 0 0 0.3em 0; 
-    font-size: 96%;
+	padding: 0;
+	margin: 0 0 .3em;
+	font-size: 96%;
 }
 div.townBox dl dt {
-    background: none;
-    margin: 0.4em 0 0 0;
+	background: none;
+	margin: .4em 0 0;
 }
 div.townBox dl dd {
-    margin: 0.1em 0 0 1.1em;
-    background-color: #f3f3f3;
+	margin: .1em 0 0 1.1em;
+	background-color: #f3f3f3;
 }
 
 /*
 ** edit views etc
 */
-
 .special li {
-    line-height: 1.4em;
-    margin: 0;
-    padding: 0;
+	line-height: 1.4em;
+	margin: 0;
+	padding: 0;
 }
 
+/*
+** RecentChanges
+*/
+.pageinfo-majoredit { 
+	font-weight: normal; /*bold;*/
+}
+.wiki-summary {
+		font-size: 94%;
+		font-style: italic;
+}
 
 /* Page history styling */
 /* the auto-generated edit comments */
-.autocomment { color: gray; }
-#pagehistory span.user { 
-    margin-left: 1.4em;
-    margin-right: 0.4em;
-}
-#pagehistory span.minor { font-weight: bold; }
-#pagehistory li { border: 1px solid White; }
-#pagehistory li.selected { 
-    background-color:#f9f9f9;
-    border:1px dashed #aaaaaa;
-}
-/*
-** Diff rendering
-*/
-table.diff { background:white; }
-td.diff-otitle { background:#ffffff; }
-td.diff-ntitle { background:#ffffff; }
-td.diff-addedline { background:#ccffcc; }
-td.diff-deletedline { background:#ffffaa; }
-td.diff-context { background:#eeeeee; }
+.autocomment {
+	color: gray;
+}
+#pagehistory span.user {
+	margin-left: 1.4em;
+	margin-right: .4em;
+}
+#pagehistory span.minor {
+	font-weight: bold;
+}
+#pagehistory li {
+	border: 1px solid white;
+}
+#pagehistory li.selected {
+	background-color: #f9f9f9;
+	border: 1px dashed #aaa;
+}
+
+/*
+** Diff rendering (unused)
+*/
+table.diff, td.diff-otitle, td.diff-ntitle {
+	background-color: white;
+}
+td.diff-addedline {
+	background: #cfc;
+	font-size: smaller;
+}
+td.diff-deletedline {
+	background: #ffa;
+	font-size: smaller;
+}
+td.diff-context {
+	background: #eee;
+	font-size: smaller;
+}
+span.diffchange {
+	color: red;
+	font-weight: bold;
+}
+
+/**
+ * Diff Output
+ */
+/* main box */
+.diff {
+	margin-top:    1ex;
+	margin-bottom: 0.5ex;
+	background: white;
+	/* Netscape 4 requires this 1px border.
+	 Without it, the paper borders below cause
+	 the white background to disappear. */
+	border: 1px #ccc solid;
+	color: black;
+	border-top: 1px solid #494f5d;
+	border-left:  1px solid #494f5d;
+	border-bottom:  1px solid #c6d2de;
+	border-right: 1px solid #c6d2de;
+	padding-top:    1px;
+	padding-bottom: 1px;
+	padding-left:  .125em;
+	padding-right: .125em;
+	padding: 0;
+	/* "paper" borders */
+	/*border-top: 2px #d2d2d2 solid;
+	border-left:  2px #b2b2b2 solid;
+	border-bottom:  2px #e8e6df solid;
+	border-right: 2px #e8e6df solid;*/
+/*  border-style: inset;*/
+	/*This breaks Netscape 4: (display does not go full width).
+	 * width: auto;
+	 */
+	/* I'm not sure what the intent of this was, but it's
+	 *  not valid CSS: */
+	/* display: editarea; */
+	clear: both;
+}
+.diff .block {
+	background: #ddd;
+	padding-left: 1em;
+	/* for NS4 */
+	/*border: none;*/
+}
+
+/* individual blocks */
+.diff .context {
+	background: white;
+	/* for NS4 */
+	border: none;
+}
+/* entire difftextblock */
+.difftext {
+	margin-top:    0;
+	margin-bottom: 0;
+	background: white;
+	/* Netscape 4 requires this 1px border.
+	 Without it, the paper borders below cause
+	 the white background to disappear. */
+	border: 1px black solid;
+	/* "paper" borders */
+	border-top:  1px #e8e6df solid;
+	border-left: 1px #e8e6df solid;
+	border-bottom: 1px #d2d2d2 solid;
+	border-right:  1px #b2b2b2 solid;
+	padding-left:  0em; 
+	padding-right: 0em;
+	padding-top:    0ex;
+	padding-bottom: 0ex;
+	/*This breaks Netscape 4: (display does not go full width).
+	 * width: auto;
+	 */
+	clear: both;
+}
+/* + - line prefix */
+.diff .block tt {
+	font-weight: normal;
+	font-family: monospace;
+	color: black;
+	/* for NS4 */
+	margin-left: 0;
+	border: none;
+}
+/* changed words */
+.diff del, .diff ins {
+	font-weight: bold;
+	text-decoration: none;
+}
+
+/* blocks containing deleted or added words */
+.diff .original, .diff .deleted,
+.diff .final, .diff .added {
+	background: white;
+}
+/* blocks containing deleted words */
+.diff .original, .diff .deleted {
+	background: #fcc;
+	/* for NS4 */
+	border: none;
+}
+/* blocks containing added words */
+.diff .final, .diff .added {
+	background: #cfc;
+	/* for NS4 */
+	border: none;
+}
+
+/* These don't work in NS4 -- it completely ignores <del> and <ins>. */
+/* deleted words */
+.diff del { background: #f99; }
+/* added words */
+.diff ins { background: #9f9; }
+
+/**
+ * PageHistory, Info
+ */
+td.pageinfo { font-weight: bold; }
+.pageinfo-minoredit, .pageinfo-authorid {
+	font-size: smaller;
+	font-style: oblique;
+}
+
+/**
+ * Calendar plugin
+ */
+table.cal {
+	border: 1px outset gray;
+	background: white;
+	margin: 0.5ex 0.5em;
+	padding: 1px;
+	/* For Mozilla */
+	empty-cells: hide;
+} 
+
+/* cells */
+table.cal td {
+	background: white;
+	text-align: right;
+} 
+
+/* Month-name header */
+table.cal-header { font-size: larger; }
+table.cal-header tr, table.cal-header td { text-align: center; }
+.cal-arrow {
+	font-weight: bold;
+	text-decoration: none;
+}
+
+/* Day-names header */
+table.cal tbody tr .cal-dayname {  }
+.cal-dayname td {
+	text-align: center;
+	font-size: smaller;
+	text-decoration: underline;
+}
+
+/* Individual days */
+a.cal-hide { text-decoration: none; }
+
+/* Today */
+ /* cell */
+table.cal td.cal-today {
+	margin: 1px;
+	border: 1px solid gray;
+}
+ /* text */
+table.cal td.cal-today a.cal-hide {  }
 
 /* 
 ** keep the whitespace in front of the ^=, hides rule from konqueror
 ** this is css3, the validator doesn't like it when validating as css2 
 */
-#bodyContent a[href ^="http://"],
+#bodyContent a.external,
 #bodyContent a[href ^="gopher://"] {
-    background: url("images/url.png") center right no-repeat;
-    padding-right: 13px;
+	background: url("images/url.png") center right no-repeat;
+	padding-right: 13px;
 }
 #bodyContent a[href ^="https://"],
 .link-https {
-    background: url("images/lock_icon.png") center right no-repeat;
-    padding-right: 16px;
+	background: url("images/lock_icon.png") center right no-repeat;
+	padding-right: 16px;
 }
 #bodyContent a[href ^="mailto:"],
 .link-mailto {
-    background: url("images/mail_icon.png") center right no-repeat;
-    padding-right: 18px;
+	background: url("images/mail_icon.png") center right no-repeat;
+	padding-right: 18px;
 }
 #bodyContent a[href ^="news://"] {
-    background: url("images/news_icon.png") center right no-repeat;
-    padding-right: 18px;
+	background: url("images/news_icon.png") center right no-repeat;
+	padding-right: 18px;
 }
 #bodyContent a[href ^="ftp://"],
 .link-ftp {
-    background: url("images/file_icon.png") center right no-repeat;
-    padding-right: 18px;
+	background: url("images/file_icon.png") center right no-repeat;
+	padding-right: 18px;
 }
 #bodyContent a[href ^="irc://"],
 .link-irc {
-    background: url("images/discussionitem_icon.png")  center right no-repeat;
-    padding-right: 18px;
+	background: url("images/discussionitem_icon.png")  center right no-repeat;
+	padding-right: 18px;
 }
 /* disable interwiki styling */
-#bodyContent a.extiw {
-    color: #3366bb;
-    background: none;
-    padding: 0;
+#bodyContent a.extiw,
+#bodyContent a.extiw:active {
+	color: #36b;
+	background: none;
+	padding: 0;
+}
+#bodyContent a.external {
+	color: #36b;
 }
-#bodyContent a.external { color: #3366bb; }
 /* this can be used in the content area to switch off
 special external link styling */
 #bodyContent .plainlinks a {
-    background: none;
-    padding: 0;
+	background: none !important;
+	padding: 0 !important;
 }
 /*
 ** Structural Elements
@@ -485,340 +819,396 @@
 ** general portlet styles (elements in the quickbar)
 */
 .portlet {
-    border: none;
-    margin: 0 0 0.5em 0em;
-    float: none;
-    padding: 0;
-    width: 11.6em;
-    overflow: hidden;
+	border: none;
+	margin: 0 0 .5em;
+	padding: 0;
+	float: none;
+	width: 11.6em;
+	overflow: hidden;
 }
 .portlet h4 {
-    font-size: 95%;
-    font-weight: normal;
-    white-space: nowrap;
+	font-size: 95%;
+	font-weight: normal;
+	white-space: nowrap;
 }
 .portlet h5 { 
-    background: transparent;
-    padding: 0em 1em 0em 0.5em;
-    text-transform: lowercase;
-    display: inline;
-    font-size: 91%;
-    height: 1em;
-    font-weight: normal;
-    white-space: nowrap;
+	background: transparent;
+	padding: 0em 1em 0em 0.5em;
+	text-transform: lowercase;
+	display: inline;
+	font-size: 91%;
+	height: 1em;
+	font-weight: normal;
+	white-space: nowrap;
 }
 .portlet h6 { 
-    background: #ffae2e;
-    border: 1px solid #2f6fab;
-    border-style: solid solid none solid;
-    padding: 0em 1em 0em 1em;
-    text-transform: lowercase;
-    display: block;
-    font-size: 1em;
-    height: 1.2em;
-    font-weight: normal;
-    white-space: nowrap;
+	background: #ffae2e;
+	border: 1px solid #2f6fab;
+	border-style: solid solid none solid;
+	padding: 0em 1em 0em 1em;
+	text-transform: lowercase;
+	display: block;
+	font-size: 1em;
+	height: 1.2em;
+	font-weight: normal;
+	white-space: nowrap;
 }
 .pBody {
-    font-size: 95%;
-    background: White;
-    border-collapse: collapse;
-    border: 1px solid #aaaaaa;
-    padding: 0 0.8em 0.3em 0.5em;
-}
-.portlet h1, 
-.portlet h2, 
-.portlet h3, 
+	font-size: 95%;
+	background-color: white;
+	color: black;
+	border-collapse: collapse;
+	border: 1px solid #aaa;
+	padding: 0 .8em .3em .5em;
+}
+.portlet h1,
+.portlet h2,
+.portlet h3,
 .portlet h4 {
-    margin: 0;
-    padding: 0;
+	margin: 0;
+	padding: 0;
 }
 .portlet ul {
-    line-height: 1.5em;
-    list-style-type: square;
-    list-style-image: url("images/bullet.png");
-    font-size:95%;
+	line-height: 1.5em;
+	list-style-type: square;
+	list-style-image: url("images/bullet.png");
+	font-size:95%;
 }
 .portlet li {
-    padding:0;
-    margin: 0 0 0 0;
-    margin-bottom: 0;
+	padding:0;
+	margin: 0 0 0 0;
+	margin-bottom: 0;
 }
 
 /* 
 ** Logo properties 
+ * Optionally at the right also an image
 */
 
 #p-logo {
-    z-index: 3;
-    position:absolute; /*needed to use z-index */
-    top: 0;
-    left: 0;
-    height: 155px;
-    width: 12em;
-    overflow: visible;
+	position: absolute; /*needed to use z-index */
+	z-index: 3;
+	top: 0;
+	left: 0;
+	height: 155px;
+	width: 12em;
+	overflow: visible;
+}
+#p-logo h5 {
+	display: none;
 }
-#p-logo h5 { display: none; }
 #p-logo a,
 #p-logo a:hover {
-    display: block;
-    height: 155px;
-    width: 12.2em;
-    background-repeat: no-repeat;
-    background-position: 35% 50% !important;
-    text-decoration: none;
+	display: block;
+	height: 155px;
+	width: 12.2em;
+	background-repeat: no-repeat;
+	background-position: 35% 50% !important;
+	text-decoration: none;
+}
+/* At the right we put a small "wiki star" */
+#img-logo-right {
+	position: absolute;
+	z-index: 4;
+	top:  0;
+	right: 0;
+	height: 86px;
+	width: 86px;
+	background: url("images/wiki_stamp.png") left no-repeat;
+	background-repeat: no-repeat;
+	overflow: visible;
 }
 
 /*
 ** the navigation portlet
 */
 
-#p-nav {
-    position:relative;
-    z-index:3;
+#p-navigation {
+	position: relative;
+	z-index: 3;
+}
+#p-navigation .pBody {
+	padding-right: 0;
+}
+
+#p-navigation a {
+	display: block;
 }
 
+#p-navigation li.active a, #p-navigation li.active a:hover {
+	text-decoration: none;
+	display: inline;
+	font-weight: bold;
+}
+
+
 /*
 ** Search portlet
 */
 #p-search {
-    position:relative;
-    z-index:3;
-}    
-#p-search .pBody {
-    text-align: center;
+	position:relative;
+	z-index: 3;
 }
 input.searchButton {
-    margin-top:1px;
-    padding: 0 0.4em !important;
-    font-size: 95%;
-    cursor: pointer;
-    background-color: White;
-    border: 1px solid #2f6fab;  
-}
-
-#searchInput {
-    border: 1px solid #2f6fab;  
-    width:10.9em;
-    margin: 0 0 0 0;
-    font-size: 95%;
+	margin-top:1px;
+	padding: 0 0.4em !important;
+	font-size: 95%;
+	cursor: pointer;
+	background-color: White;
+	border: 1px solid #2f6fab;
+}
+#searchGoButton {
+	padding-left: .5em;
+	padding-right: .5em;
+	font-weight: bold;
+}
+/*#searchInput, */
+#livesearch, #p-search input.dropdown {
+	text-align: left;
+	width: 9.9em;
+	/*margin: 0;*/
+	font-size: 95%;
 }
-
-
 #p-search .pBody {
-    padding: 0.5em 0.4em 0.4em 0.4em;
+	padding: .5em .4em .4em .4em;
+	text-align: center;
 }
 
-
-/* 
+/*
 ** the personal toolbar
 */
 
 #p-personal {
-    width:100%;
-    white-space:nowrap;
-    padding:0 0 0 0;
-    margin:0;
-    position:absolute;
-    left:0px;
-    top:0px;
-    z-index: 0;
-    border: none;
-    background: none;
-    overflow: visible;
-    line-height: 1.2em;
+	position:absolute;
+	z-index: 4;
+	width:40em;
+	white-space:nowrap;
+	padding:0 0 0 0;
+	margin:0;
+	right: 90px;
+	top:0.1em;
+	border: none;
+	overflow: visible;
+	color: black;
+	line-height: 1.2em;
 }
 
 #p-personal h5 {
-    display:none;
+	display:none;
 }
 #p-personal .portlet,
 #p-personal .pBody {
-    padding:0;
-    margin:0;
-    border: none;
-    z-index:0;
-    overflow: visible;
-    background: none;
+	z-index: 0;
+	padding:0;
+	margin:0;
+	border: none;
+	overflow: visible;
+	background: none;
 }
 /* this is the ul contained in the portlet */
 #p-personal ul {
-    border: none;
-    line-height: 1.4em;
-    color: #2f6fab;
-    padding: 0em 2em 0 3em;
-    margin: 0;
-    text-align: right;
-    text-transform: lowercase;
-    list-style: none;
-    z-index:0;
-    background: none;
+	z-index: 0;
+	border: none;
+	line-height: 1.5em;
+	color: #2f6fab;
+	padding: 0em 2em 0 3em;
+	margin: 0;
+	text-align: right;
+	/*text-transform: lowercase;*/
+	list-style: none;
+	background: none;
+	cursor: default;
 }
 #p-personal li {
-    z-index:0;
-    border:none;
-    padding:0;
-    display: inline;
-    color: #2f6fab;
-    margin-left: 1em;
-    line-height: 1.2em;
-    background: none;
+	z-index: 0;
+	border:none;
+	padding:0;
+	display: inline;
+	color: #2f6fab;
+	margin-left: 1em;
+	line-height: 1.2em;
+	background: none;
+}
+#p-personal li.active {
+	font-weight: bold;
 }
 #p-personal li a {
-    text-decoration: none;
-    color: #005896;
-    padding-bottom: 0.2em;
-    background: none;
+	text-decoration: none;
+	color: #005896;
+	padding-bottom: 0.2em;
+	background: none;
 }
 #p-personal li a:hover {
-    background-color: White;
-    padding-bottom: 0.2em;
-    text-decoration: none;
+	background-color: white;
+	padding-bottom: .2em;
+	text-decoration: none;
+}
+#p-personal li.active a:hover {
+	background-color: transparent;
 }
-
 /* the icon in front of the user name, single quotes
 in bg url to hide it from iemac */
 li#pt-userpage,
 li#pt-anonuserpage,
 li#pt-login {
-    background:  url('images/wikiuser.png') top left no-repeat;
-    background-repeat: no-repeat;
-    padding-left: 20px;
-    text-transform: none;
+	/*background:  url('images/wikiuser.png') top left bottom no-repeat;*/
+	background:  url('images/wikiuser.png') left no-repeat;
+	background-repeat: no-repeat;
+	padding-left: 20px;
+	text-transform: none;
 }
 #p-personal a.new { color:#ba0000; }
 
 /*
-** the page-related actions- page/talk, edit etc 
+** the page-related actions- page/talk, edit etc
 */
-
 #p-cactions {
-    position:absolute;
-    top: 1.3em;
-    left: 11.5em;
-    margin: 0;
-    white-space:nowrap;
-    width: 76%;
-    line-height: 1.1em;
-    overflow: visible;
-    background: none;
-    border-collapse: collapse;
-    padding-left: 1em;
-    list-style: none;
-    font-size: 95%;
+	position: absolute;
+	/*z-index: 1;*/ /* important! */
+	top: 1.3em;
+	left: 11.5em;
+	margin: 0;
+	white-space: nowrap;
+	width: 76%;
+	line-height: 1.1em;
+	overflow: visible;
+	background: none;
+	border-collapse: collapse;
+	padding-left: 1em;
+	list-style: none;
+	font-size: 95%;
+}
+#p-cactions .hiddenStructure {
+	display: none;
 }
-#p-cactions .hiddenStructure { display: none; }
 #p-cactions ul {
-    list-style: none;
+	list-style: none;
 }
 #p-cactions li {
-    display: inline;
-    border: 1px solid #aaaaaa;
-    border-bottom: none;
-    padding: 0 0 0.1em 0;
-    margin: 0 0.3em 0 0;
-    overflow: visible;
-    background: White;
+	display: inline;
+	border: 1px solid #aaa;
+	border-bottom: none;
+	padding: 0 0 .1em 0;
+	margin: 0 .3em 0 0;
+	overflow: visible;
+	background: white;
 }
 #p-cactions li.selected {
-    border-color: #fabd23;
-    padding: 0 0 0.2em 0;
+	border-color: #fabd23;
+	padding: 0 0 0.2em 0 !important;
 }
 #p-cactions li a {
-    background-color: White;
-    color: #0014a6;
-    border: none;
-    padding: 0 0.8em 0.3em 0.8em;
-    text-decoration: none;
-    /*text-transform: lowercase;*/
-    position: relative;
-    z-index: 0;
-    margin: 0;
+	position: relative;
+	z-index: 0;
+	background-color: #fbfbfb;
+	color: #002bb8;
+	border: none;
+	padding: 0 .8em .3em;
+	text-decoration: none;
+	/*text-transform: lowercase;*/
+	margin: 0;
+}
+#p-cactions li.selected a {
+	z-index: 3;
+	background-color: #fff;
+	padding: 0 1em 0.2em;
 }
-#p-cactions .selected a { z-index: 3; }
-#p-cactions .new a { color:#ba0000; }
-#p-cactions li a:hover {
-    z-index: 3;
-    text-decoration: none;
+#p-cactions .new a {
+	color: #ba0000;
 }
-#p-cactions h5 { display: none; }
-#p-cactions li.istalk { margin-right: 0; }
-#p-cactions li.istalk a { padding-right: 0.5em; }
-#p-cactions #ca-addsection a { 
-    padding-left: 0.4em;
-    padding-right: 0.4em;
+#p-cactions li a:hover {
+	z-index: 3;
+	text-decoration: none;
+	background-color: #dedede;
+}
+#p-cactions h5 {
+	display: none;
+}
+#p-cactions li.istalk {
+	margin-right: 0;
+}
+#p-cactions li.istalk a {
+	padding-right: .5em;
+}
+#p-cactions #ca-addsection a {
+	padding-left: .4em;
+	padding-right: .4em;
 }
 /* offsets to distinguish the tab groups */
-li#ca-talk { margin-right: 1.6em; }
-li#ca-watch { margin-left: 1.6em; }
-
+li#ca-talk {
+	margin-right: 1.6em;
+}
+li#ca-watch, li#ca-unwatch, li#ca-varlang-0, li#ca-print {
+	margin-left: 1.6em;
+}
 
 /*
 ** the remaining portlets
 */
 #p-tbx,
 #p-lang {
-    position:relative;
-    z-index:3;
+	position: relative;
+	z-index: 3;
 }
 
 /*
 ** footer
 */
 #footer {
-    background-color: White;
-    border-top: 1px solid #fabd23;
-    border-bottom: 1px solid #fabd23;
-    margin: 0.6em 0em 1em 0em;
-    padding: 0.4em 0em 1.2em 0em;
-    text-align: center;
-    font-size: 90%;
+	background-color: white;
+	border-top: 1px solid #fabd23;
+	border-bottom: 1px solid #fabd23;
+	margin: .6em 0 1em 0;
+	border-left: 1px solid #fabd23;
+	margin-left: 13.6em;
+	padding: .4em 0 1.2em 0;
+	text-align: center;
+	font-size: 90%;
 }
 #footer li {
-    display: inline;
-    margin: 0 1.3em;
+	display: inline;
+	margin: 0 1.3em;
 }
 /* hide from incapable browsers */
 head:first-child+body #footer li { white-space: nowrap; }
-
 #f-poweredbyico, #f-copyrightico {
-    margin: 0 8px;
-    /*vertical-align: middle;*/
-    height: 31px;
-    position: relative;
-    top: -31px; /* Bump it up just a tad */
+	margin: 0 8px;
+	/*vertical-align: middle;*/
+	height: 31px;
+	position: relative;
+	top: -31px; /* Bump it up just a tad */
 }
 #f-poweredbyico {
-    float: right;
+	float: right;
 }
 #f-copyrightico {
-    float: left;
+	float: left;
 }
 
 /* js pref toc */
 #preftoc { 
-    float: left;
-    margin: 1em 1em 1em 1em;
-    width: 13em;
+	float: left;
+	margin: 1em 1em 1em 1em;
+	width: 13em;
 }
 #preftoc li { border: 1px solid White; }
 #preftoc li.selected { 
-    background-color:#f9f9f9;
-    border:1px dashed #aaaaaa;
+	background-color:#f9f9f9;
+	border:1px dashed #aaaaaa;
 }
 #preftoc a,
 #preftoc a:active {
-    display: block;
-    color: #0014a6;
+	display: block;
+	color: #0014a6;
 }
 #prefcontrol { 
-    clear: both;
-    float: left;
-    margin-top: 1em;
+	clear: both;
+	float: left;
+	margin-top: 1em;
 }
 div.prefsectiontip { 
-    font-size: 95%;
-    margin-top: 1em;
+	font-size: 95%;
+	margin-top: 1em;
 }
 fieldset.operaprefsection { margin-left: 15em }
 
@@ -831,8 +1221,8 @@
 /* tabs: border on the a, not the div */
 * > html #p-cactions li { border:none; }
 * > html #p-cactions li a {
-    border: 1px solid #aaaaaa;
-    border-bottom: none;
+	border: 1px solid #aaa;
+	border-bottom: none;
 }
 * > html #p-cactions li.selected a { border-color: #fabd23; }
 /* footer icons need a fixed width */
@@ -840,38 +1230,598 @@
 * > html #f-copyrightico { width: 88px; }
 * > html #bodyContent,
 * > html #bodyContent pre {
-    overflow-x: auto;
-    width: 100%;
-    padding-bottom: 25px;
+	overflow-x: auto;
+	width: 100%;
+	padding-bottom: 25px;
 }
 
 /* more IE fixes */
 /* float/negative margin brokenness */
 * html #footer {margin-top: 0;}
 * html #column-content {
-    display: inline;
-    margin-bottom: 0;
+	display: inline;
+	margin-bottom: 0;
 }
 * html div.editsection { font-size: smaller; }
 #pagehistory li.selected { position: relative; }
 
-/* debugging tool.. */
-/*div{ border:1px solid #000000;}*/
-
-#siteNotice {
-    border: 1px solid red;
-}
-
-
 /* Mac IE 5.0 fix; floated content turns invisible */
 * > html #column-content {
-    float: none;
+	float: none;
 }
 * > html #column-one {
-    position: absolute;
-    left: 0;
-    top: 0;
+	position: absolute;
+	left: 0;
+	top: 0;
 }
 * > html #footer {
-    margin-left: 13.2em;
+	margin-left: 13.2em;
+}
+.redirectText {
+	font-size: 150%;
+	margin: 5px;
+}
+
+.printfooter {
+	display: none;
+}
+
+.not-patrolled {
+	background-color: #ffa;
+}
+div.patrollink {
+	font-size: 75%;
+	text-align: right;
+}
+span.newpage, span.minor, span.searchmatch, span.bot {
+	font-weight: bold;
+}
+span.unpatrolled {
+	font-weight: bold;
+	color: red;
+}
+
+span.searchmatch {
+	color: red;
+}
+.sharedUploadNotice {
+	font-style: italic;
 }
+
+span.updatedmarker {
+	color: black;
+	background-color: #0f0;
+}
+span.newpageletter {
+	font-weight: bold;
+	color: black;
+	background-color: yellow;
+}
+span.minoreditletter {
+	color: black;
+	background-color: #c5ffe6;
+}
+
+table.gallery {
+	border: 1px solid #ccc;
+	margin: 2px;
+	padding: 2px;
+	background-color: white;
+}
+
+table.gallery tr {
+	vertical-align: top;
+}
+
+table.gallery td {
+	vertical-align: top;
+	background-color: #f9f9f9;
+	border: solid 2px white;
+}
+
+table.gallery td.galleryheader {
+	text-align: center;
+	font-weight: bold;
+}
+
+div.gallerybox {
+	margin: 2px;
+	width:  150px;
+}
+
+div.gallerybox div.thumb {
+	text-align: center;
+	border: 1px solid #ccc;
+	margin: 2px;
+}
+
+div.gallerytext {
+	font-size: 94%;
+	padding: 2px 4px;
+}
+
+span.comment {
+	font-style: italic;
+}
+
+span.changedby {
+	font-size: 95%;
+}
+
+.previewnote {
+	text-indent: 3em;
+	color: #c00;
+	border-bottom: 1px solid #aaa;
+	padding-bottom: 1em;
+	margin-bottom: 1em;
+}
+
+.previewnote p {
+	margin: 0;
+	padding: 0;
+}
+
+.editExternally {
+	border: 1px solid gray;
+	background-color: #ffffff;
+	padding: 3px;
+	margin-top: 0.5em;
+	float: left;
+	font-size: small;
+	text-align: center;
+}
+.editExternallyHelp {
+	font-style: italic;
+	color: gray;
+}
+
+li span.deleted, span.history-deleted {
+	text-decoration: line-through;
+	color: #888;
+	font-style: italic;
+}
+
+.toggle {
+	margin-left: 2em;
+	text-indent: -2em;
+}
+
+/* Classes for EXIF data display */
+table.mw_metadata {
+	font-size: 0.8em;
+	margin-left: 0.5em;
+	margin-bottom: 0.5em;
+	width: 300px;
+}
+
+table.mw_metadata caption {
+	font-weight: bold;
+}
+
+table.mw_metadata th {
+	font-weight: normal;
+}
+
+table.mw_metadata td {
+	padding: 0.1em;
+}
+
+table.mw_metadata {
+	border: none;
+	border-collapse: collapse;
+}
+
+table.mw_metadata td, table.mw_metadata th {
+	text-align: center;
+	border: 1px solid #aaaaaa;
+	padding-left: 0.1em;
+	padding-right: 0.1em;
+}
+
+table.mw_metadata th {
+	background-color: #f9f9f9;
+}
+
+table.mw_metadata td {
+	background-color: #fcfcfc;
+}
+
+table.collapsed tr.collapsable {
+	display: none;
+}
+
+
+/* filetoc */
+ul#filetoc {
+	text-align: center;
+	border: 1px solid #aaaaaa;
+	background-color: #f9f9f9;
+	padding: 5px;
+	font-size: 95%;
+	margin-bottom: 0.5em;
+	margin-left: 0;
+	margin-right: 0;
+}
+
+#filetoc li {
+	display: inline;
+	list-style-type: none;
+	padding-right: 2em;
+}
+
+/* @bug 1714 */
+input#wpSave, input#wpDiff {
+	margin-right: 0.33em;
+}
+
+#editform .editOptions {
+	display: inline;
+}
+
+#wpSave {
+	font-weight: bold;
+}
+
+/* Classes for article validation */
+
+table.revisionform_default {
+	border: 1px solid #000000;
+}
+
+table.revisionform_focus {
+	border: 1px solid #000000;
+	background-color:#00BBFF;
+}
+
+tr.revision_tr_default {
+	background-color:#EEEEEE;
+}
+
+tr.revision_tr_first {
+	background-color:#DDDDDD;
+}
+
+p.revision_saved {
+	color: green;
+	font-weight:bold;
+}
+
+#mw_trackbacks {
+	border: solid 1px #bbbbff;
+	background-color: #eeeeff;
+	padding: 0.2em;
+}
+
+
+/* Allmessages table */
+
+#allmessagestable th {
+	background-color: #b2b2ff;
+}
+
+#allmessagestable tr.orig {
+	background-color: #ffe2e2;
+}
+
+#allmessagestable tr.new {
+	background-color: #e2ffe2;
+}
+
+#allmessagestable tr.def {
+	background-color: #f0f0ff;
+}
+
+
+/* noarticletext */
+div.noarticletext {
+	border: 1px solid #ccc;
+	background: #fff;
+	padding: .2em 1em;
+	color: #000;
+}
+
+div#searchTargetContainer {
+	left:       10px;
+	top:        10px;
+	width:      90%;
+	background: white;
+}
+
+div#searchTarget {
+	padding:    3px;
+	margin:     5px;
+	background: #F0F0F0;
+	border:     solid 1px blue;
+}
+
+div#searchTarget ul li {
+	list-style: none;
+}
+
+div#searchTarget ul li:before {
+	color: orange;
+	content: "\00BB \0020";
+}
+
+div.multipageimagenavbox {
+	 border: solid 1px silver;
+	 padding: 4px;
+	 margin: 1em;
+	 -moz-border-radius: 6px;
+	 background: #f0f0f0;
+}
+
+div.multipageimagenavbox div.thumb {
+	 border: none;
+	 margin-left: 2em;
+	 margin-right: 2em;
+}
+
+div.multipageimagenavbox hr {
+	 margin: 6px;
+}
+
+table.multipageimage td {
+	 text-align: center;
+}
+
+/*
+	Table pager (e.g. Special:Imagelist)
+	- remove underlines from the navigation link
+	- collapse borders
+	- set the borders to outsets (similar to Special:Allmessages)
+	- remove line wrapping for all td and th, set background color
+	- restore line wrapping for the last two table cells (description and size)
+*/
+.TablePager_nav a { text-decoration: none; }
+.TablePager { border-collapse: collapse; }
+.TablePager, .TablePager td, .TablePager th { 
+	border: 0.15em solid #777777;
+	padding: 0 0.15em 0 0.15em;
+}
+.TablePager th { background-color: #eeeeff }
+.TablePager td { background-color: #ffffff }
+.TablePager tr:hover td { background-color: #eeeeff }
+
+.imagelist td, .imagelist th { white-space: nowrap }
+.imagelist .TablePager_col_links { background-color: #eeeeff }
+.imagelist .TablePager_col_img_description { white-space: normal }
+.imagelist th.TablePager_sort { background-color: #ccccff }
+
+/**
+ * PhpWiki Tables
+ */
+.pagelist { }
+.pagelist thead td {
+	background: #e8e8e8;
+	text-decoration: none;
+	font-weight: bold;
+	font-size: smaller;
+}
+.pagelist thead td u { text-decoration: none; }
+.pagelist tr.evenrow { background: #eee; }
+.pagelist tr.oddrow  { background: white; }
+th.gridbutton {
+	background-color: ThreedLightShadow;
+	color: black;
+	font-family: Tahoma, sans-serif, Arial, Helvetica;
+	font-size: small;
+	font-weight: normal;
+	/*font-style: menu;*/
+	white-space: nowrap;
+	margin: 5px 0px;
+	max-height: 24px;
+	padding: 5px 0px 5px 0px;
+	border-width: 1px;
+	border-style: solid;
+	border-color: ThreedHighlight ThreedDarkShadow ThreedDarkShadow ThreedHighlight;
+}
+input.gridbutton, a.gridbutton, a:hover.gridbutton, a:visited.gridbutton {
+	text-decoration: none;
+	font-size: small;
+	font-weight: normal;
+	/*font-style: menu;*/
+	font-family: Tahoma, sans-serif, Arial, Helvetica;
+	background-color: ThreedLightShadow;
+	color: black;
+}
+
+.wikipaging { font-size: 80% }
+.wikipaging-disabled { color: #999 }
+
+/* <?plugin RawHtml <div class="boxright"> </div> */
+
+div.boxright {
+	width: 200px; 
+	right: 10px;
+	padding: 0.5em; 
+	float: right; 
+	border: thin solid #888888; 
+	padding: 0.5em;
+}
+
+div#bottom {   
+	margin-left:   12.2em;
+}
+/* PHP Warnings */
+div.errors {
+	color: black;
+	background: #eee;
+	margin-top:    1em;
+	margin-bottom: 1em;
+	padding-left:  0.8em; 
+	padding-right: 0.8em; 
+	padding-top:    0.8ex;
+	padding-bottom: 0;
+	border: medium solid red;
+	clear: both;
+}
+h4.errors {
+	color: red;
+	margin:  0;
+	padding: 0;
+	text-decoration: underline;
+}
+div.warning {
+	color: black;
+	background: #eee;
+	margin-top:    1em;
+	margin-bottom: 1em;
+	padding-left:  0.8em; 
+	padding-right: 0.8em; 
+	padding-top:    0.8ex;
+	padding-bottom: 0;
+	border: thin solid blue;
+	clear: both;
+}
+.error { font-family: monospace; font-size: 120%; }
+.error ul { font-family: monospace; }
+
+/* Debug */
+.debug {
+	color: black;
+	background: white;
+	font-family: monospace;
+	font-size: smaller;
+	margin: 1ex 0;
+	padding: 0.5ex 0.5em;
+	border: medium solid #fff8dc; /* darker ivory */
+}
+/* Hints */
+.hint {
+	color: black;
+	background: #eeeeee;
+	 /* font-size: smaller; */
+	font-style: italic;
+	margin-left: 3em;
+	padding: 0.5ex 0.5em;
+	border: thin solid #aaaaaa;
+}
+span.hint {
+	padding: 0;
+}
+/* Disabled Plugins */
+.disabled-plugin
+{
+	clear: both;
+	margin: 1ex 0;
+	padding: 0;
+}
+.disabled-plugin .title {
+	color: #400;
+	background-color: inherit;
+	font-size: x-small;
+	text-align: right;
+	padding: 0 0.5em;
+}
+.disabled-plugin pre {
+	color: black;
+	background: #ddd;
+	margin: 0;
+	padding: 0.3ex 0.5em;
+}
+
+/* "(Redirected from ...)" message. */
+span.redirectfrom {
+	font-size: small;
+	font-style: oblique;
+	font-weight: normal;
+	padding-left: 1em;
+}
+.search-context { background: white; font-style: oblique; }
+.search-term {
+	background: yellow;
+	font-weight: normal;
+}
+
+a.spell-wrong {
+	color:#ba0000; 
+	background: yellow;
+}
+span.spell-wrong {
+	color:#ba0000; 
+}
+
+
+/**
+ * Wiki Forms
+ * 
+ * The div inside the wikiadmin upload form does not
+ * have a class yet, so it must be referenced indirectly
+ */
+/* div.wikiaction { background-color: #eee; } */
+/* div.wikiadmin { background-color: #fee; } */
+/* form.wikiadmin div { background-color: #fee; } */
+form.wikiformrich { background-color: #eee; }
+
+/**
+ * Link styles
+ */
+.wiki, .named-wiki {
+	text-decoration: none;
+	font-weight: normal;
+	/* font-weight: bold; */
+}
+.wiki relation, .named-wiki relation, .wiki attribute, .named-wiki attribute {
+	font-style: oblique;
+	/* font-weight: normal; */
+	font-weight: bold;
+}
+
+span.relation-symbol {
+	font-weight: bold;
+	font-family: monospace;
+	letter-spacing: 0.1em;
+}
+
+/* Action buttons */
+a.wikiaction, a.wikiadmin, a.wiki-rc-action, a.wikiunsafe,
+input.wikiaction, input.button, input.wikiadmin {
+	text-decoration: none;
+	font-family: Arial, Helvetica, sans-serif;
+	/* don't wrap text buttons */
+	white-space: nowrap;
+	/*font-size: inherit; */
+}
+
+/*
+a.wikiaction, a.wikiaction:visited, input.wikiaction, input.button { 
+	background-color: #ddd; 
+}
+*/
+
+.wikiunsafe { background-color: #fcc; }
+
+/*
+a.wikiadmin, a.wikiadmin:visited, input.wikiadmin  { 
+	background-color: #fdd; 
+}
+*/
+
+/* Unknown links */
+.wikiunknown, .named-wikiunknown {
+	font-weight: normal;
+	font-size: 100%;
+}
+ /* QuestionMark #600 */
+.wikiunknown a, .named-wikiunknown a {
+	color: #447;
+	background-color: #eee;
+	text-decoration: none;
+	font-weight: normal;
+	font-size: smaller;
+}
+
+/* Backlinks */
+.backlinks {
+	text-decoration: underline;
+	color: #006;
+}
+h1 .backlinks { text-decoration: underline; }
+
+/* Interwiki links */
+/* .wikipage  { font-weight: bold; } */
+.wikipage  { font-weight: normal; }
+.interwiki { text-decoration: none; }
+.interwiki, i.interwiki .wikipage, em .interwiki .wikipage { font-style: oblique; }
+.interwiki .wikipage, i .interwiki, em .interwiki { font-style: normal; }
Binary files 1.3.12p3/themes/MonoBook/preview.png and 1.3.14/themes/MonoBook/preview.png differ
diff -ruN 1.3.12p3/themes/MonoBook/templates/actionbar.tmpl 1.3.14/themes/MonoBook/templates/actionbar.tmpl
--- 1.3.12p3/themes/MonoBook/templates/actionbar.tmpl	2006-06-18 06:20:22.000000000 -0500
+++ 1.3.14/themes/MonoBook/templates/actionbar.tmpl	2007-07-01 05:11:39.000000000 -0500
@@ -1,62 +1,78 @@
 <?php // -*-php-*- ?>
-<!-- $Id: actionbar.tmpl,v 1.6 2005/08/28 11:10:15 rurban Exp $ -->
+<!-- $Id: actionbar.tmpl,v 1.14 2007/06/02 20:34:12 rurban Exp $ -->
 <?php
-$dbh = $request->getDbh();
-$Sep = HTML::raw("<li>");
+  //$p = $WikiTheme->tooltipAccessKeyPrefix();
+  $dbh = $request->getDbh();
+  $isAdmin = $user->isAdmin();
+  $pagename = $page->getName();
+  $isActionPage = $request->_isActionPage($pagename, false);
+  $isBrowse = $request->getArg('action') == 'browse';
 ?>
-<div id="p-cactions" class="portlet">
-    <h5>Views</h5>
-    <ul>
-    <?php if ((!$page->get('locked') || $user->isAdmin()) and $revision) { ?>
-      <?= Button("edit", $revision->isCurrent() ? _("Edit") : _("Edit Old Revision")) ?>
-    <?php } else { ?>
-      <?= Button("viewsource", _("View Source")) ?>
-    <?php } ?>
-    <?php if (!string_ends_with($page->getName(), _("Discussion"))) { ?>
-    <?php 
-	$talk = new WikiPageName('Talk:'.$page->getName());
-        if ($dbh->isWikiPage($talk->getName())) { ?>
-	  <?=$Sep?><?= Button(array('action'=>'browse'), _("Discussion"), $talk->getName()) ?>
+<div class="portlet" id="p-cactions">
+  <h5>Views</h5>
+  <ul>
+    <?php if (!string_ends_with($pagename, _("Discussion"))) { ?>
+    <?php $talk = new WikiPageName('Talk:'.$pagename); ?>
+      <?= ActionButton(array(),
+		       $isActionPage ? _("ActionPage") : _("Article"), 
+		       $talk->getParent(), array('class'=>$isBrowse ? "selected" : "", 'title' => "View the page [alt-c]")) ?>
+      <?php if (!$isActionPage) { ?>
+        <?php if ($dbh->isWikiPage($talk->getName())) { ?>
+	  <?= ActionButton(array('action'=>'browse'), _("Discussion"), $talk->getName()) ?>
         <?php } else { ?>
-	  <?=$Sep?><?= Button(array('action'=>'create',
-                              'template'=>'TemplateTalk'),
-			  _("Discussion"), $talk->getName()) ?>
+	  <?= ActionButton(array('action'=>'create',
+				 'template'=>_("TemplateTalk")),
+			   _("Discussion"), $talk->getName()) ?>
         <?php } ?>
+      <?php } ?>
+    <?php } else {
+      $talk = new WikiPageName($pagename); ?>
+      <?= ActionButton(array(),$isActionPage ? _("ActionPage") : _("Article"), $talk->getParent(), array('title' => "View the page [alt-c]")) ?>
+      <?= ActionButton(array(),_("Discussion"), $talk->getParent(), array('class'=>$isBrowse ? "selected" : "")) ?>
+    <?php } ?>
+    <?php if (($isAdmin or mayAccessPage('edit', $pagename)) and $revision) { ?>
+    <?= ActionButton("edit", $revision->isCurrent() ? _("Edit") : _("Edit Old Revision"), false, 
+		     array('title' => "You can edit this page. Please use the preview button before saving. [alt-e]")) ?>
     <?php } else { ?>
-      <?php $talk = new WikiPageName($page->getName()); ?>
-      <?=$Sep?><?= Button(array(),_("Article"), $talk->getParent()) ?>
+      <?= ActionButton("viewsource", _("View Source")) ?>
+    <?php } ?>
+    <?= ActionButton(_("PageHistory"),_("History"),false,array('title'=>"Past versions of this page. [alt-h]")) ?>
+    <?= ActionButton("diff") ?> 
+    <? if ( $user->isSignedIn() ) { ?>
+      <?= ActionButton("WatchPage", _("Watch"), false, 
+		       array('title'=>"Add/Remove this to/from the list of pages you're monitoring for changes [alt-l]")) ?>
     <?php } ?>
+  </ul>
+</div>
+<div class="portlet" id="p-tbx">
+  <h5>Special Actions</h5>
+  <div class="pBody">
+  <ul>
     <? if ( $user->isSignedIn() ) { ?>
-     <?php if ($user->isAdmin() or mayAccessPage('change', $page->getName())) { ?>
-      <?=$Sep?><?= Button($page->get('locked') ? 'unlock' : 'lock') ?>
-     <?php if (ENABLE_PAGEPERM and mayAccessPage('change', $page->getName())) { ?>
-      <?=$Sep?><?= Button('chown') ?>
-      <?=$Sep?><?= Button('setacl') ?>
+     <?php if ($isAdmin or mayAccessPage('change', $pagename)) { ?>
+      <?= ActionButton($page->get('locked') ? 'unlock' : 'lock') ?>
+      <?= ActionButton('rename') ?>
+      <?php if (ENABLE_PAGEPERM and mayAccessPage('change', $pagename)) { ?>
+       <?= ActionButton('chown') ?>
+       <?= ActionButton('setacl') ?>
      <?php }} ?>
-     <?php if ($user->isAdmin() or mayAccessPage('remove', $page->getName())) { ?>
-      <?=$Sep?><?= Button('revert',_("Revert"), $revision->isCurrent() ? $page->GetRevisionBefore() : $revision) ?>
-      <?=$Sep?><?= Button('remove') ?>
+     <?php if (!empty($revision) and ($isAdmin or mayAccessPage('remove', $pagename))) { ?>
+      <?= ActionButton('revert',_("Revert"), $revision->isCurrent() ? $page->GetRevisionBefore() : $revision) ?>
+      <?= ActionButton('remove') ?>
      <?php } ?>
     <?php } ?>
-    <?=$Sep?><?= Button(array('action'=>'PageInfo'),
-                        _("Info"),$page->getName()) ?>
-<?php 
-    if (((defined('DEBUG') and DEBUG and $request->getArg('action') == 'browse')) || $user->isAdmin()) { ?> 
-      <!-- Buttons really only for debugging -->
-      <?=$Sep?><?= Button(_("PageHistory")) ?>
-      <?=$Sep?><?= Button("diff") ?> 
-      <?=$Sep?><?= Button(_("PageDump")) ?>
-<?php
-    if (DEBUG & _DEBUG_SQL and USECACHE) {
+    <?= ActionButton(array('action'=>_("PageInfo")),
+                        _("Info"), $pagename) ?>
+    <?= ActionButton(_("PageHistory")) ?>
+    <?= ActionButton(_("AuthorHistory")) ?>
+    <?= ActionButton("diff") ?> 
+    <?= ActionButton(_("PageDump")) ?>
+    <?php if (DEBUG & _DEBUG_SQL and USECACHE) {
       $PurgeCache = Button(array('nocache' => 'purge'),
-                     _("PurgeHtmlCache"), $page->getName());
-      $PurgeCache->addTooltip(_("Purge HTML cache for this page. Regenerate from WikiMarkup when next accessed."));
-?>
-      <?=$Sep?><?= $PurgeCache ?>
-<?php } ?>
-      <!-- End debugging buttons -->
+                     _("PurgeHtmlCache"), $pagename);
+      $PurgeCache->addTooltip(_("Purge HTML cache for this page. Regenerate from WikiMarkup when next accessed.")); ?>
+      <?= $PurgeCache ?>
     <?php } ?>
-  <?php if (defined('USE_EXTERNAL_HTML2PDF') and USE_EXTERNAL_HTML2PDF) { ?> 
-    <?=$Sep?><?= Button("pdf") ?>
-  <?php } ?>
+  </div>
+  </ul>
 </div>
diff -ruN 1.3.12p3/themes/MonoBook/templates/body.tmpl 1.3.14/themes/MonoBook/templates/body.tmpl
--- 1.3.12p3/themes/MonoBook/templates/body.tmpl	2006-06-18 06:20:22.000000000 -0500
+++ 1.3.14/themes/MonoBook/templates/body.tmpl	2007-07-01 05:11:39.000000000 -0500
@@ -1,32 +1,36 @@
 <?php // -*-html-*-
-rcs_id('$Id: body.tmpl,v 1.2 2004/06/14 11:26:49 rurban Exp $');
+rcs_id('$Id: body.tmpl,v 1.7 2007/03/18 17:36:05 rurban Exp $');
 // Todo: set the body attr dynamically. here class="ns-2" for mozilla
 ?>
-  <body <?= $WikiTheme->getMoreAttr('body') ?>>
+<body <?= $WikiTheme->getMoreAttr('body') ?>>
     <div id="global-wrapper">
       <div id="column-content">
 	<div id="content">
 	  <?= Template('top') ?>
 	  <div id="bodyContent">
 	    <?= $CONTENT ?>
+
 	    <!-- end content -->
 	    <div class="visualClear"></div>
 	  </div>
 	</div>
+	<?php if (empty($NOSIGNIN)) { ?>
+	  <?= Template('signin') ?>
+	<?php } ?>
+	<?= Template('logo') ?>
       </div>
       <div id="column-one">
-	<?= Template('logo') ?>
+	<?= Template('navbar') ?>
 	<?php if (empty($GLOBALS['HIDE_TOOLBARS'])) { ?>
 	  <?= Template('actionbar') ?>
+	  <?= Template('tags') ?>
 	<?php } ?>
-	<?= Template('navbar') ?>
-	<?php if (empty($NOSIGNIN)) { ?>
-	<div class="portlet" id="p-personal" align="right">
-	  <?= Template('signin') ?></div>
-	<?php } ?>
-	<div>
-	  <?= Template('bottom') ?>
-	</div>
+      </div>
+      <div id="footer"><?php // for top & bottom toolbars stylesheet ?>
+        <?= Template('browse-footer') ?>
+      </div>
+      <div id="bottom">
+	<?= Template('bottom') ?>
       </div>
     </div>
-  </body>
+</body>
diff -ruN 1.3.12p3/themes/MonoBook/templates/browse.tmpl 1.3.14/themes/MonoBook/templates/browse.tmpl
--- 1.3.12p3/themes/MonoBook/templates/browse.tmpl	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/themes/MonoBook/templates/browse.tmpl	2007-07-01 05:11:39.000000000 -0500
@@ -0,0 +1,15 @@
+<?php // -*-html-*-
+rcs_id('$Id: browse.tmpl,v 1.1 2006/12/02 13:35:04 rurban Exp $');
+?>
+
+<?php if ($revision and !$revision->isCurrent()) { ?>
+  <p><strong><?=_("Note:")?></strong>
+     <?=_("You are viewing an old revision of this page.")?>
+  <?= Button('browse', _("View the current version"), $page)?>.
+  </p>
+<?php } ?>
+<?php if (!empty($redirected)) { ?>
+  <p><?= $redirected ?></p>
+<?php } ?>
+
+<?=$CONTENT?>
diff -ruN 1.3.12p3/themes/MonoBook/templates/editpage.tmpl 1.3.14/themes/MonoBook/templates/editpage.tmpl
--- 1.3.12p3/themes/MonoBook/templates/editpage.tmpl	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/themes/MonoBook/templates/editpage.tmpl	2007-07-01 05:11:39.000000000 -0500
@@ -0,0 +1,2 @@
+<div id="contentSub"></div>
+<?= Template("default/editpage") ?>
diff -ruN 1.3.12p3/themes/MonoBook/templates/info.tmpl 1.3.14/themes/MonoBook/templates/info.tmpl
--- 1.3.12p3/themes/MonoBook/templates/info.tmpl	2006-06-18 06:20:22.000000000 -0500
+++ 1.3.14/themes/MonoBook/templates/info.tmpl	2007-07-01 05:11:39.000000000 -0500
@@ -1,7 +1,7 @@
 <?php // -*-php-*- ?>
-<!-- $Id: info.tmpl,v 1.3 2005/08/28 11:04:08 rurban Exp $ -->
+<!-- $Id: info.tmpl,v 1.4 2007/01/02 13:29:14 rurban Exp $ -->
 <?php
-
+if (empty($revision)) $revision = $page->getCurrentRevision(false);
 $modifed = $WikiTheme->formatDateTime($revision->get('mtime'));
 
 $author = $revision->get('author');
@@ -186,6 +186,9 @@
 <?php
 // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                         
 // $Log: info.tmpl,v $
+// Revision 1.4  2007/01/02 13:29:14  rurban
+// fix revision can be empty
+//
 // Revision 1.3  2005/08/28 11:04:08  rurban
 // fix Article link, reorder Discussion before admin actions, use default SEP in info, custom Sep in actionbar
 //
diff -ruN 1.3.12p3/themes/MonoBook/templates/logo.tmpl 1.3.14/themes/MonoBook/templates/logo.tmpl
--- 1.3.12p3/themes/MonoBook/templates/logo.tmpl	2006-06-18 06:20:22.000000000 -0500
+++ 1.3.14/themes/MonoBook/templates/logo.tmpl	2007-07-01 05:11:39.000000000 -0500
@@ -1,2 +1,3 @@
 <div class="portlet" id="p-logo"><a class="wikilink" href="<?=WikiURL(HOME_PAGE)?>" target="_top"><img src="<?= $WikiTheme->getImageURL('logo') ?>" id="logo-img" border="0" alt="<?=
 fmt(_("%s: %s"), WIKI_NAME, HOME_PAGE) ?>" /></a></div>
+<div id="_img-logo-right" />
diff -ruN 1.3.12p3/themes/MonoBook/templates/navbar.tmpl 1.3.14/themes/MonoBook/templates/navbar.tmpl
--- 1.3.12p3/themes/MonoBook/templates/navbar.tmpl	2006-06-18 06:20:22.000000000 -0500
+++ 1.3.14/themes/MonoBook/templates/navbar.tmpl	2007-07-01 05:11:39.000000000 -0500
@@ -1,53 +1,81 @@
-<?php // -*-html-*- ?>
-<!-- $Id: navbar.tmpl,v 1.2 2004/06/14 11:26:49 rurban Exp $ -->
+<?php // -*-php-*- ?>
+<!-- $Id: navbar.tmpl,v 1.10 2007/06/02 18:49:18 rurban Exp $ -->
 <?php
 // With MonoBook it is similar to Sidebar, named boxes at the left.
-// navigation, search, toolbox
+// actionbuttons, navigation, search, toolbox
+$p = $WikiTheme->tooltipAccessKeyPrefix();
 ?>
 <!-- The left navigation/search bar -->
-<div class="portlet" id="p-nav">
+<!-- Here you should add favorite Links and Categories -->
+<div class="portlet" id="p-navigation">
   <h5>Navigation</h5>
   <div class="pBody">
     <ul>
       <li id="n-mainpage"><?= WikiLink(HOME_PAGE) ?></li>
-      <li id="t-recentchanges"><?= WikiLink(_("RecentChanges")) ?></li>
-      <li id="t-recentcomments"><?= WikiLink(_("RecentComments")) ?></li>
+      <li><? $link = WikiLink(_("RecentChanges"), "",_("RecentChanges")); $link->setAttr("accesskey","r"); $link->addTooltip(_("The list of recent changes in the wiki.")." [$p-r]"); ?><?= $link ?></li>
+      <li id="n-recentcomments"><?= WikiLink(_("RecentComments")) ?></li>
+      <li id="n-recentnewpages"><?= WikiLink(_("RecentNewPages")) ?></li>
+      <li id="n-likepages"><?= Button(array('action'=>'LikePages'),_("Like Pages"), $page->getName()) ?></li>
       <li id="n-randompage"><?= WikiLink(_("RandomPage")) ?></li>
-      <li id="n-help"><a href="http://www.phpwiki.org/PhpWikiDocumentation">Help</a></li>
+<li id="n-help"><?= WikiLink(_("PhpWikiDocumentation"),"",_("Help")) ?></li>
     </ul>
   </div>
 </div>
-<div id="p-search" class="portlet">
+
+<div class="portlet" id="p-search">
   <h5>Search</h5>
   <div class="pBody">
-    <form action="<?= WikiURL(_("TitleSearch"))?>"
+<?= Template("search",
+             array('SEARCH_BEFORE' => WikiLink(_("FindPage")),
+		   'SEARCH_AFTER' => HTML::input(array('id' => 'searchGoButton',
+						       'type'=>'submit',
+						       'value'=>_("Go"))))) ?>
+<!-- <form action="<?= WikiURL(_("TitleSearch"))?>"
       method="get" accept-charset="<?=$charset?>">
-      <?= WikiLink(_("FindPage"), "searchButton","Search:") ?>
+      <?= WikiLink(_("FindPage"), "searchButton",_("Search:")) ?>
       <input type="hidden" name="auto_redirect" value="1" />
       <input type="text"  name="s" size="12" maxlength="256"
 	      title='<?=_("Quick Search")?>'
 	      onmouseover="window.status='<?=_("Quick Search")?>'; return true;"
 	      onmouseout="window.status=''; return true;" />
     </form>
+-->
   </div>
 </div>
+
 <div class="portlet" id="p-tb">
   <h5>Toolbox</h5>
   <div class="pBody">
     <ul>
-      <?php if (!empty($revision)) { ?>
-      <li id="t-whatlinkshere"><?= Button(array('action'=>'LikePages'),_("Like Pages"), $page->getName()) ?></li>
+    <?php if ($revision) { ?>
       <li id="t-whatlinkshere"><?= Button(array('action'=>'BackLinks'), _("What links here"), $page->getName()) ?></li>
-      <?php } ?>
-      <?php $links = $page->getPageLinks(); if ($links->count() > 1) { ?>
-    <li id="t-recentchangeslinked"><?= $WikiTheme->makeLinkButton($revision,_("RelatedChanges"),_("RelatedChanges")) ?></li>
+    <?php } ?>
+    <?php $links = $page->getPageLinks(); if ($links->count() > 1) { ?>
+      <li id="t-recentchangeslinked"><?= $WikiTheme->makeLinkButton($revision,_("RelatedChanges"),_("RelatedChanges")) ?></li>
     <?php } ?> 
-    <?php if (!empty($user) && $user->isAdmin()) { ?>
-    <li><?= WikiLink(_("PhpWikiAdministration"), "","Administration") ?></li>
+    <?php if ($user->isAdmin()) { ?>
+      <li><?= WikiLink(_("PhpWikiAdministration"), "", _("Administration")) ?></li>
+    <?php } ?>
+    <?php if ($user->isSignedIn()) { ?>
+      <li><? $link = WikiLink(_("UpLoad"),"",_("Upload file")); $link->setAttr("accesskey","u"); $link->addTooltip(_("Upload images or media files")." [$p-u]"); ?><?= $link ?></li>
+      <li><?= WikiLink(_("UserPreferences"), "",_("Preferences")) ?></li>
     <?php } ?>
-    <?php if (!empty($user) && $user->isSignedIn()) { ?>
-    <li><?= WikiLink(_("UserPreferences"), "","Preferences") ?></li>
+    <li>
+      <?php $PrintableLink = $WikiTheme->makeButton(_("Printable version"), "javascript:PrinterStylesheet();", 'wikiaction'); ?>
+<script type="text/javascript"><!--
+document.write('<?= $PrintableLink ?>'); // -->
+</script>
+<noscript>
+  <?= $WikiTheme->makeButton(_("Printable version"), "?format=printable", 'wikiaction') ?>
+</noscript>
+</li>
+    <?php if (defined('USE_EXTERNAL_HTML2PDF') and USE_EXTERNAL_HTML2PDF) { 
+      // Do not display the pdf icon
+      $btn = new Button(_("Display as Pdf"), WikiURL($page->getName(), array('action' => 'pdf')), 'wikiaction');
+      ?>
+      <li><?= $btn ?></li>
     <?php } ?>
+    <li><?= WikiLink(_("AllPages")) ?></li>
   </ul>
   </div>
 </div>
diff -ruN 1.3.12p3/themes/MonoBook/templates/signin.tmpl 1.3.14/themes/MonoBook/templates/signin.tmpl
--- 1.3.12p3/themes/MonoBook/templates/signin.tmpl	2006-06-18 06:20:22.000000000 -0500
+++ 1.3.14/themes/MonoBook/templates/signin.tmpl	2007-07-01 05:11:39.000000000 -0500
@@ -1,70 +1,20 @@
 <?php // -*-php-*-
-rcs_id('$Id: signin.tmpl,v 1.1 2004/06/19 12:10:11 rurban Exp $');
-
-if (empty($FORMNAME))
-    $FORMNAME = 'signin';
-else
-    $NOFORM = true;
+rcs_id('$Id: signin.tmpl,v 1.5 2007/01/20 11:42:05 rurban Exp $'); ?>
+<?php // On MonoBook we do away with only GET urls, no form.
+  $sp = HTML::Raw("&nbsp;"); $id = $user->UserName();
 ?>
-<?php if (empty($NOFORM)) { ?>
-  <form method="post" action="<?= $request->getPostURL() ?>" accept-charset="<?=$charset?>" name="<?=$FORMNAME?>">
-  <?= HiddenInputs($request->getArgs(), false, array('auth')) ?>
-<?php } ?>
-<?php 
-if ($user->isAuthenticated()) {
-    $Sep = $WikiTheme->getButtonSeparator();
-    $SignOutB = $WikiTheme->makeButton(_("Sign Out"), "javascript:SignOut();", 'wikiaction');
-?>
-  <?= fmt("Authenticated as %s", WikiLink($user->getAuthenticatedId(), 'auto')) ?>
-  <?=$Sep?>
-  <script language="JavaScript" type="text/javascript"><!--
-    document.write('<input type="hidden" name="auth[logout]" value="0" />');
-    function SignOut() { 
-      var form = document.forms["<?=$FORMNAME?>"];
-      form.elements["auth[logout]"].value = 1;
-      form.submit();
-    }
-    document.write('<?=$SignOutB?>'); // -->
-  </script>
-  <noscript>
-    <?= Button("submit:auth[logout]", _("Sign Out"), 'wikiaction') ?>
-  </noscript>
-<?php } else {
-    $SignInInput = HTML::input(array('type' => 'text',
-				     'name' => "auth[userid]",
-				     'size' => 12,
-				     'maxlength' => 256,
-				     'onchange' => "SignIn(this.form,false);"));
-    $SignInInput->addTooltip(_("Enter your UserId to sign in"));
-    $userid = $user->getId();
-    if ($user->isSignedIn()) {
-        echo sprintf(_("Signed as %s"), 
-		     asXml(HTML::a(array(
-				       'href'=>'#',
-				       'title' => sprintf(_("Click to authenticate as %s"), $userid),
-				       'onclick'=>'SignIn(document.forms["'.$FORMNAME.'"],"'.$userid.'");'),
-				 $userid)));
-    }
-?>
-  <script type="text/javascript"> <!--
-     function SignIn(form,userid) {
-      <?php if (defined('EDITING_POLICY') and $request->_dbi->isWikiPage(EDITING_POLICY)) { ?>
-      if (window.focus) {
-        window.open('<?= WikiUrl(EDITING_POLICY) ?>',<!-- url -->
-                    'PleaseReadThisFirst',<!-- window name -->
-                    'width=600,height=430,scrollbars=yes,resizable=yes,toolbar=yes');
-      }
-      <?php } ?>
-      if (userid) {
-        form.elements["auth[userid]"].value = userid;
-      }
-      form.submit();
-    }
-    //-->
-  </script>
-  <?= Button("submit:auth[login]", _("Sign in as:"), 'wikiaction')?>
-  <?= $SignInInput ?>
+<div class="portlet" id="p-personal"><div class="pBody">
+ <ul>
+  <?php if ($user->isAuthenticated()) { ?>
+  <li id="pt-userpage"><?= WikiLink($id, 'auto', HTML($sp,$id,$sp)) ?></li>
+  <li><?= HTML::a(array('href'=>'?auth[logout]=1'),$sp,_("Logout"),$sp) ?></li>
+  <?php } else { ?>
+  <!-- Login or Register -->
+  <?php if ($id) { ?>
+    <li id="pt-userpage"><?= WikiLink($id, 'auto', HTML($sp,$id,$sp)) ?></li>
+  <?php } ?>
+  <li id="pt-login"><?= HTML::a(array('href'=>'?auth[login]=1'),$sp,_("Login"),$sp) ?></a></li>
   <?php } ?>
-<?php if (empty($NOFORM)) { ?>
-  </form>
-<?php } ?>
+  </li>
+ </ul>
+</div></div>
diff -ruN 1.3.12p3/themes/MonoBook/templates/tags.tmpl 1.3.14/themes/MonoBook/templates/tags.tmpl
--- 1.3.12p3/themes/MonoBook/templates/tags.tmpl	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/themes/MonoBook/templates/tags.tmpl	2007-07-01 05:11:39.000000000 -0500
@@ -0,0 +1,10 @@
+<?php // -*-php-*- 
+?>
+<!-- $Id: tags.tmpl,v 1.1 2007/03/18 17:36:05 rurban Exp $ -->
+<!-- list of most popular categories -->
+<div class="portlet" id="p-tags">
+  <h5>Favorite Categories</h5>
+  <div class="pBody">
+    <?plugin PopularTags ?>
+  </div>
+</div>
diff -ruN 1.3.12p3/themes/MonoBook/themeinfo.php 1.3.14/themes/MonoBook/themeinfo.php
--- 1.3.12p3/themes/MonoBook/themeinfo.php	2006-06-18 06:20:22.000000000 -0500
+++ 1.3.14/themes/MonoBook/themeinfo.php	2007-07-01 05:11:39.000000000 -0500
@@ -1,17 +1,18 @@
 <?php
-rcs_id('$Id: themeinfo.php,v 1.5 2005/09/15 05:59:45 rurban Exp $');
+rcs_id('$Id: themeinfo.php,v 1.10 2007/07/01 09:36:10 rurban Exp $');
 /**
  * The new mediawiki (Wikipedia.org) default style.
  * Mediawiki 'monobook' style sheet for CSS2-capable browsers.
  * Copyright Gabriel Wicke - http://www.aulinx.de/
  * See main.css for more.
  *
- * Problems: IE: buttons, comment textarea, signin is at the left.
+ * Problems with IE: signin is at the left.
  *
  * We don't (yet) support all mediawiki UI options, but we try to.
  * Besides that, maybe the mediawiki folks will see how much better phpwiki 
  * will scale, esp. with a true database, not just mysql.
- * Technically phpwiki has about 2-3 years advantage.
+ * Technically phpwiki has about 2-3 years advantage and our plugins 
+ * cannot destroy the layout.
  * Anyway, the WikiParser perl module (and our php version) will be able to import
  * and convert back and forth.
  */
@@ -19,9 +20,33 @@
 if (!defined("ENABLE_MARKUP_TEMPLATE"))
     define("ENABLE_MARKUP_TEMPLATE", true);
 
-class Theme_MonoBook extends Theme {
+function ActionButton ($action, $label = false, $page_or_rev = false, $options = false) {
+    global $WikiTheme;
+    global $request;
+    if (is_array($action)) {
+        $attr = $action;
+        $act = isset($attr['action']) ? $attr['action'] : 'browse';
+    } else 
+        $act = $action;
+    $class = is_safe_action($act) ? 'named-wiki' : 'wikiadmin';
+    /* if selected action is current then prepend selected */
+    $curract = $request->getArg("action");
+    if ($curract == $act and $curract != 'browse')
+        $class = "selected $class";
+    if (!empty($options['class'])) {
+        if ($curract == 'browse')
+            $class = "$class ".$options['class'];
+        else
+            $class = $options['class'];
+    }
+    return HTML::li(array('class' => $class), 
+                    $WikiTheme->makeActionButton($action, $label, $page_or_rev, $options));
+}
 
-    function makeActionButton ($action, $label = false, $page_or_rev = false) {
+class Theme_MonoBook extends Theme {
+    
+    /* this adds selected to the class */
+    function makeActionButton ($action, $label = false, $page_or_rev = false, $options = false) {
         extract($this->_get_name_and_rev($page_or_rev));
 
         if (is_array($action)) {
@@ -31,7 +56,14 @@
         else
             $attr['action'] = $action;
 
-        $class = is_safe_action($action) ? 'named-wiki' : 'wikiadmin';
+        $class = is_safe_action($action) ? /*'named-wiki'*/'new' : 'wikiadmin';
+        /* if selected action is current then prepend selected */
+        global $request;
+        if ($request->getArg("action") == $action)
+            $class = "selected $class";
+            //$class = "selected";
+        if (!empty($options['class']))
+            $class = $options['class'];
         if (!$label)
             $label = $this->_labelForAction($action);
 
@@ -41,102 +73,128 @@
         if ($action == 'browse')
             unset($attr['action']);
 
-        return $this->makeButton($label, WikiURL($pagename, $attr), $class);
+        $options = $this->fixAccesskey($options);
+        return $this->makeButton($label, WikiURL($pagename, $attr), $class, $options);
     }
-}
 
-$WikiTheme = new Theme_MonoBook('MonoBook');
-$WikiTheme->addMoreHeaders(JavaScript('',array('src' => $WikiTheme->_findData("wikibits.js"))));
-if (isBrowserIE()) {
-    $WikiTheme->addMoreHeaders($WikiTheme->_CSSlink(0,
-        $WikiTheme->_findFile('IEFixes.css'),'all'));
-    $WikiTheme->addMoreHeaders("\n");
-    $WikiTheme->addMoreHeaders(JavaScript('',array('src' => $WikiTheme->_findData("IEFixes.js"))));
-    $WikiTheme->addMoreHeaders("\n");
-    $WikiTheme->addMoreHeaders(HTML::Raw('<meta http-equiv="imagetoolbar" content="no" />'));
+    function load() {
+	$this->addMoreHeaders(JavaScript("var ta;\nvar skin = '".$this->_name."';\n"));
+	$this->addMoreHeaders(JavaScript('',array('src' => $this->_findData("wikibits.js"))));
+	if (isBrowserIE()) {
+	    $ver = browserVersion();
+	    if ($ver > 5.1 and $ver < 5.9)
+		$this->addMoreHeaders($this->_CSSlink(0,$this->_findFile('IE55Fixes.css'),'all'));
+	    elseif ($ver > 5.5 and $ver < 7.0)
+		$this->addMoreHeaders($this->_CSSlink(0,$this->_findFile('IE60Fixes.css'),'all'));
+	    elseif ($ver >= 7.0)
+		$this->addMoreHeaders($this->_CSSlink(0,$this->_findFile('IE70Fixes.css'),'all'));
+	    else
+		$this->addMoreHeaders($this->_CSSlink(0,$this->_findFile('IE50Fixes.css'),'all'));
+	    unset($ver);
+	    $this->addMoreHeaders("\n");
+	    $this->addMoreHeaders(JavaScript('',array('src' => $this->_findData("IEFixes.js"))));
+	    $this->addMoreHeaders("\n");
+	    $this->addMoreHeaders(HTML::Raw('<meta http-equiv="imagetoolbar" content="no" />'));
+	} 
+	// better done in wikibits.js
+	/*elseif (isBrowserSafari()) {
+	  $this->addMoreHeaders($this->_CSSlink(0,$this->_findFile('IEMacFixes.css'),'all'));
+	  } elseif (isBrowserKonqueror()) {
+	  $this->addMoreHeaders($this->_CSSlink(0,$this->_findFile('KHTMLFixes.css'),'all'));
+	  } elseif (isBrowserOpera()) {
+	  $this->addMoreHeaders($this->_CSSlink
+	  (0,
+	  isBrowserOpera(7) ? $this->_findFile('Opera7Fixes.css')
+	  : $this->_findFile('Opera6Fixes.css'),'all'));
+	  }
+	*/
+	// TODO: IEMAC, KHTML, Opera6, Opera7
+	$this->addMoreAttr('body', "class-ns-0", HTML::Raw('class="ns-0"'));
+
+	// CSS file defines fonts, colors and background images for this
+	// style.  The companion '*-heavy.css' file isn't defined, it's just
+	// expected to be in the same directory that the base style is in.
+
+	// This should result in phpwiki-printer.css being used when
+	// printing or print-previewing with style "PhpWiki" or "MacOSX" selected.
+	$this->setDefaultCSS('PhpWiki',
+			     array(''      => 'monobook.css',
+				   'print' => 'commonPrint.css'));
+
+	// This allows one to manually select "Printer" style (when browsing page)
+	// to see what the printer style looks like.
+	$this->addAlternateCSS(_("Printer"), 'commonPrint.css', 'print, screen');
+	$this->addAlternateCSS(_("Top & bottom toolbars"), 'phpwiki-topbottombars.css');
+	$this->addAlternateCSS(_("Modern"), 'phpwiki-modern.css');
+
+	/**
+	 * The logo image appears on every page and links to the HomePage.
+	 */
+	$this->addImageAlias('logo', 'MonoBook-Logo.png');
+	//$this->addImageAlias('logo', WIKI_NAME . 'Logo.png');
+
+	/**
+	 * The Signature image is shown after saving an edited page. If this
+	 * is set to false then the "Thank you for editing..." screen will
+	 * be omitted.
+	 */
+	
+	$this->addImageAlias('signature', "Signature.png");
+	// Uncomment this next line to disable the signature.
+	$this->addImageAlias('signature', false);
+	
+	/*
+	 * Link icons.
+	 */
+	/*
+	  $this->setLinkIcon('http');
+	  $this->setLinkIcon('https');
+	  $this->setLinkIcon('ftp');
+	  $this->setLinkIcon('mailto');
+	  //$this->setLinkIcon('interwiki');
+	  */
+	$this->setLinkIcon('wikiuser');
+	//$this->setLinkIcon('*', 'url');
+	// front or after
+	//$this->setLinkIconAttr('after');
+	
+	//$this->setButtonSeparator("\n | ");
+
+	/**
+	 * WikiWords can automatically be split by inserting spaces between
+	 * the words. The default is to leave WordsSmashedTogetherLikeSo.
+	 */
+	//$this->setAutosplitWikiWords(false);
+
+	/**
+	 * Layout improvement with dangling links for mostly closed wiki's:
+	 * If false, only users with edit permissions will be presented the 
+	 * special wikiunknown class with "?" and Tooltip.
+	 * If true (default), any user will see the ?, but will be presented 
+	 * the PrintLoginForm on a click.
+	 */
+	$this->setAnonEditUnknownLinks(false);
+
+	/*
+	 * You may adjust the formats used for formatting dates and times
+	 * below.  (These examples give the default formats.)
+	 * Formats are given as format strings to PHP strftime() function See
+	 * http://www.php.net/manual/en/function.strftime.php for details.
+	 * Do not include the server's zone (%Z), times are converted to the
+	 * user's time zone.
+	 */
+	$this->setDateFormat("%B %d, %Y");
+	$this->setTimeFormat("%H:%M");
+
+	/*
+	 * To suppress times in the "Last edited on" messages, give a
+	 * give a second argument of false:
+	 */
+	//$this->setDateFormat("%B %d, %Y", false); 
+    }
 }
-$WikiTheme->addMoreAttr('body', "class-ns-0", HTML::Raw('class="ns-0"'));
-
-// CSS file defines fonts, colors and background images for this
-// style.  The companion '*-heavy.css' file isn't defined, it's just
-// expected to be in the same directory that the base style is in.
-
-// This should result in phpwiki-printer.css being used when
-// printing or print-previewing with style "PhpWiki" or "MacOSX" selected.
-$WikiTheme->setDefaultCSS('PhpWiki',
-                       array(''      => 'monobook.css',
-                             'print' => 'commonPrint.css'));
-
-// This allows one to manually select "Printer" style (when browsing page)
-// to see what the printer style looks like.
-$WikiTheme->addAlternateCSS(_("Printer"), 'commonPrint.css', 'print, screen');
-$WikiTheme->addAlternateCSS(_("Top & bottom toolbars"), 'phpwiki-topbottombars.css');
-$WikiTheme->addAlternateCSS(_("Modern"), 'phpwiki-modern.css');
-
-/**
- * The logo image appears on every page and links to the HomePage.
- */
-$WikiTheme->addImageAlias('logo', 'MonoBook-Logo.png');
-//$WikiTheme->addImageAlias('logo', WIKI_NAME . 'Logo.png');
-
-/**
- * The Signature image is shown after saving an edited page. If this
- * is set to false then the "Thank you for editing..." screen will
- * be omitted.
- */
 
-$WikiTheme->addImageAlias('signature', "Signature.png");
-// Uncomment this next line to disable the signature.
-$WikiTheme->addImageAlias('signature', false);
-
-/*
- * Link icons.
- */
-/*
-$WikiTheme->setLinkIcon('http');
-$WikiTheme->setLinkIcon('https');
-$WikiTheme->setLinkIcon('ftp');
-$WikiTheme->setLinkIcon('mailto');
-//$WikiTheme->setLinkIcon('interwiki');
-*/
-$WikiTheme->setLinkIcon('wikiuser');
-//$WikiTheme->setLinkIcon('*', 'url');
-// front or after
-//$WikiTheme->setLinkIconAttr('after');
-
-//$WikiTheme->setButtonSeparator("\n | ");
-
-/**
- * WikiWords can automatically be split by inserting spaces between
- * the words. The default is to leave WordsSmashedTogetherLikeSo.
- */
-//$WikiTheme->setAutosplitWikiWords(false);
-
-/**
- * Layout improvement with dangling links for mostly closed wiki's:
- * If false, only users with edit permissions will be presented the 
- * special wikiunknown class with "?" and Tooltip.
- * If true (default), any user will see the ?, but will be presented 
- * the PrintLoginForm on a click.
- */
-$WikiTheme->setAnonEditUnknownLinks(false);
-
-/*
- * You may adjust the formats used for formatting dates and times
- * below.  (These examples give the default formats.)
- * Formats are given as format strings to PHP strftime() function See
- * http://www.php.net/manual/en/function.strftime.php for details.
- * Do not include the server's zone (%Z), times are converted to the
- * user's time zone.
- */
-$WikiTheme->setDateFormat("%B %d, %Y");
-$WikiTheme->setTimeFormat("%H:%M");
-
-/*
- * To suppress times in the "Last edited on" messages, give a
- * give a second argument of false:
- */
-//$WikiTheme->setDateFormat("%B %d, %Y", false); 
+$WikiTheme = new Theme_MonoBook('MonoBook');
 
 // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 // (c-file-style: "gnu")
diff -ruN 1.3.12p3/themes/MonoBook/wikibits.js 1.3.14/themes/MonoBook/wikibits.js
--- 1.3.12p3/themes/MonoBook/wikibits.js	2006-06-18 06:20:22.000000000 -0500
+++ 1.3.14/themes/MonoBook/wikibits.js	2007-07-01 05:11:39.000000000 -0500
@@ -207,7 +207,7 @@
 }
 
 function showTocToggle(show,hide) {
-	if(document.getElementById) {
+	if (document.getElementById) {
 		document.writeln('<span class=\'toctoggle\'>[<a href="javascript:toggleToc()" class="internal">' +
 		'<span id="showlink" style="display:none;">' + show + '</span>' +
 		'<span id="hidelink">' + hide + '</span>'
@@ -361,3 +361,25 @@
 	// reposition cursor if possible
 	if (txtarea.createTextRange) txtarea.caretPos = document.selection.createRange().duplicate();
 }
+
+// This script was provided for free by
+// http://www.howtocreate.co.uk/tutorials/javascript/domcss
+// See http://www.howtocreate.co.uk/jslibs/termsOfUse.html
+function getAllSheets() {
+  if( !window.ScriptEngine && navigator.__ice_version ) { return document.styleSheets; }
+  if( document.getElementsByTagName ) { var Lt = document.getElementsByTagName('link'), St = document.getElementsByTagName('style');
+  } else if( document.styleSheets && document.all ) { var Lt = document.all.tags('LINK'), St = document.all.tags('STYLE');
+  } else { return []; } for( var x = 0, os = []; Lt[x]; x++ ) {
+    var rel = Lt[x].rel ? Lt[x].rel : Lt[x].getAttribute ? Lt[x].getAttribute('rel') : '';
+    if( typeof( rel ) == 'string' && rel.toLowerCase().indexOf('style') + 1 ) { os[os.length] = Lt[x]; }
+  } for( var x = 0; St[x]; x++ ) { os[os.length] = St[x]; } return os;
+}
+function changeStyle() {
+  for( var x = 0, ss = getAllSheets(); ss[x]; x++ ) {
+    if( ss[x].title ) { ss[x].disabled = true; }
+    for( var y = 0; y < arguments.length; y++ ) {
+     if( ss[x].title == arguments[y] ) { ss[x].disabled = false; }
+} } }
+function PrinterStylesheet() {
+  changeStyle('Printer');
+}
diff -ruN 1.3.12p3/themes/Portland/templates/actionbar.tmpl 1.3.14/themes/Portland/templates/actionbar.tmpl
--- 1.3.12p3/themes/Portland/templates/actionbar.tmpl	2006-06-18 06:20:22.000000000 -0500
+++ 1.3.14/themes/Portland/templates/actionbar.tmpl	2007-07-01 05:11:39.000000000 -0500
@@ -1,23 +1,19 @@
-<?php // -*-html-*- ?>
-<!-- $Id: actionbar.tmpl,v 1.20 2004/06/14 11:26:50 rurban Exp $ -->
+<?php // -*-php-*- ?>
+<!-- $Id: actionbar.tmpl,v 1.21 2007/01/02 13:29:40 rurban Exp $ -->
 <?php
-  $Sep = $WikiTheme->getButtonSeparator();
-
-  if (!$page->get('locked') || $user->isAdmin())
+  if ($revision and (!$page->get('locked') || $user->isAdmin()))
       $EditB = Button("edit",
                       $revision->isCurrent() ? _("EditText") : _("Edit Old Revision"));
   else
       $EditB = Button("viewsource", _("View Source"));
   $EditB = fmt("%s of this page", $EditB);
-
+  if (empty($revision)) $revision = $page->getCurrentRevision(false);
 ?>
-
 <?= $EditB ?> 
-<a href="<?=WikiURL($revision,array('action'=>'diff'))?>"
-   ><?= $WikiTheme->getLastModifiedMessage($revision) ?></a>
-	<?=$Sep?><?= Button("PageHistory", _("PageHistory")) ?>
-    <?=$Sep?><?= Button("PageInfo", _("PageInfo")) ?>
+<a href="<?=WikiURL($revision,array('action'=>'diff'))?>"><?= $WikiTheme->getLastModifiedMessage($revision) ?></a>
+    <?=$SEP?><?= Button("PageHistory", _("PageHistory")) ?>
+    <?=$SEP?><?= Button("PageInfo", _("PageInfo")) ?>
 <?php if (defined('DEBUG') && DEBUG || $user->isAdmin()) { ?>
-	<?=$Sep?><?= Button("DebugInfo", _("DebugInfo")) ?> <!-- For debugging only, really -->
+    <?=$SEP?><?= Button("DebugInfo", _("DebugInfo")) ?> <!-- For debugging only, really -->
 <?php } ?>
 <br />
diff -ruN 1.3.12p3/themes/Portland/templates/browse.tmpl 1.3.14/themes/Portland/templates/browse.tmpl
--- 1.3.12p3/themes/Portland/templates/browse.tmpl	2006-06-18 06:20:23.000000000 -0500
+++ 1.3.14/themes/Portland/templates/browse.tmpl	2007-07-01 05:11:39.000000000 -0500
@@ -1,11 +1,11 @@
 <?php // -*-html-*- ?>
-<!-- $Id: browse.tmpl,v 1.6 2003/02/27 23:55:51 dairiki Exp $ -->
+<!-- $Id: browse.tmpl,v 1.7 2007/01/02 13:29:14 rurban Exp $ -->
 <?php
 ?>
 
 <br clear="all" class="clear-floats" />
 
-<?php if (! $revision->isCurrent()) { ?>
+<?php if ($revision and !$revision->isCurrent()) { ?>
   <p><strong><?=_("Note:")?></strong>
      <?=_("You are viewing an old revision of this page.")?>
      <?= WikiLink($page, 'existing', _("View the current version"))?>.</p>
diff -ruN 1.3.12p3/themes/Portland/templates/editpage.tmpl 1.3.14/themes/Portland/templates/editpage.tmpl
--- 1.3.12p3/themes/Portland/templates/editpage.tmpl	2006-06-18 06:20:23.000000000 -0500
+++ 1.3.14/themes/Portland/templates/editpage.tmpl	2007-07-01 05:11:39.000000000 -0500
@@ -1,5 +1,5 @@
 <!-- -*-html-*- -->
-<!-- $Id: editpage.tmpl,v 1.22 2005/09/28 19:00:24 rurban Exp $ -->
+<!-- $Id: editpage.tmpl,v 1.23 2007/01/02 13:27:51 rurban Exp $ -->
 <?php /*
  * FIXME: Hack!
  * The funky URL used for the form action parameter is bogus.
@@ -38,10 +38,6 @@
 <br />
 <?=_("Summary")?>: <?= $SUMMARY_INPUT ?>
 <br />
-<?php if (ENABLE_CAPTCHA) { ?>
-  <?php echo $CAPTCHA_IMAGE ?><br/>
-  <?php echo $CAPTCHA_LABEL ?><?= $CAPTCHA_INPUT ?><br/>
-<?php } ?>
 <?= fmt("Author will be logged as %s.", HTML::em($user->getId())) ?>
 <br />
 <?= $MINOR_EDIT_CB ?>
@@ -81,13 +77,13 @@
 
 <div id="oldMarkup" class="wiki-edithelp">
 <!-- FIXME: do we need this at all?  If so, it could probably be moved to TextFormattingRules -->
-<p><?= fmt("See %s tips for editing.", WikiLink(_("GoodStyle"))) ?></p>
-<?plugin IncludePage page=_("OldTextFormattingRules") section=_("Synopsis") quiet=1?>
+<p><?= fmt("See %s tips for editing.", WikiLink(_("Help/GoodStyle"))) ?></p>
+<?plugin IncludePage page=_("Help/OldTextFormattingRules") section=_("Synopsis") quiet=1?>
 </div>
 <div id="newMarkup" class="wiki-edithelp">
 <!-- FIXME: do we need this at all?  If so, it could probably be moved to TextFormattingRules -->
-<p><?= fmt("See %s tips for editing.", WikiLink(_("GoodStyle"))) ?></p>
-<?plugin IncludePage page=_("TextFormattingRules") section=_("Synopsis") quiet=1?>
+<p><?= fmt("See %s tips for editing.", WikiLink(_("Help/GoodStyle"))) ?></p>
+<?plugin IncludePage page=_("Help/TextFormattingRules") section=_("Synopsis") quiet=1?>
 </div>
 <?=$HIDDEN_INPUTS?>
 </form>
diff -ruN 1.3.12p3/themes/Portland/templates/navbar.tmpl 1.3.14/themes/Portland/templates/navbar.tmpl
--- 1.3.12p3/themes/Portland/templates/navbar.tmpl	2006-06-18 06:20:23.000000000 -0500
+++ 1.3.14/themes/Portland/templates/navbar.tmpl	2007-07-01 05:11:39.000000000 -0500
@@ -1,17 +1,14 @@
 <?php // -*-html-*- ?>
-<!-- $Id: navbar.tmpl,v 1.10 2004/06/14 11:26:50 rurban Exp $ -->
-<?php
-  $Sep = $WikiTheme->getButtonSeparator();
-?>
+<!-- $Id: navbar.tmpl,v 1.11 2007/01/02 13:29:40 rurban Exp $ -->
 <!-- The bottom navigation/search bar -->
 
     <?= WikiLink(_("FindPage"), "button") ?> by searching
-    <?php if (!empty($revision)) { ?>
+    <?php if ($revision) { ?>
       (or browse <?= Button("LikePages", _("LikePages")) ?>)
     <?php } ?>
     <?php if ($user->isAdmin()) { ?>
-     <?=$Sep?><?= Button($page->get('locked') ? 'unlock' : 'lock')?>
-     <?=$Sep?><?= Button('remove') ?>
+     <?=$SEP?><?= Button($page->get('locked') ? 'unlock' : 'lock')?>
+     <?=$SEP?><?= Button('remove') ?>
     <?php } ?>
    <hr />
 <!-- I would like not to have to use these tables, and managed to
@@ -26,8 +23,8 @@
 <tr valign="baseline">
   <td>
    <?= WikiLink(_("RecentChanges"), "button") ?>
-    <?php if (!empty($user) && $user->isAdmin()) { ?>
-     <?=$Sep?><?= WikiLink(_("PhpWikiAdministration"), "button") ?>
+    <?php if ($user->isAdmin()) { ?>
+     <?=$SEP?><?= WikiLink(_("PhpWikiAdministration"), "button") ?>
     <?php } ?>
   </td>
   <td align="right">
diff -ruN 1.3.12p3/themes/Portland/templates/viewsource.tmpl 1.3.14/themes/Portland/templates/viewsource.tmpl
--- 1.3.12p3/themes/Portland/templates/viewsource.tmpl	2006-06-18 06:20:23.000000000 -0500
+++ 1.3.14/themes/Portland/templates/viewsource.tmpl	2007-07-01 05:11:39.000000000 -0500
@@ -1,12 +1,12 @@
 <!-- -*-html-*- -->
-<!-- $Id: viewsource.tmpl,v 1.15 2004/06/14 11:26:50 rurban Exp $ -->
+<!-- $Id: viewsource.tmpl,v 1.16 2007/01/02 13:29:14 rurban Exp $ -->
 
 <?php if ($page->get('locked') && !$user->isAdmin()) { ?>
   <p><strong><?=_("Note:")?></strong>
   <?=_("This page has been locked by the administrator and cannot be edited.")?></p>
 <?php } ?>
 
-<?php if (! $revision->isCurrent()) { ?>
+<?php if ($revision and !$revision->isCurrent()) { ?>
   <p><?=_("You are viewing an old revision of this page.")?>
   <?= Button('viewsource', _("View the current version"), $page)?>.</p>
 <?php } ?>
diff -ruN 1.3.12p3/themes/Portland/themeinfo.php 1.3.14/themes/Portland/themeinfo.php
--- 1.3.12p3/themes/Portland/themeinfo.php	2006-06-18 06:20:23.000000000 -0500
+++ 1.3.14/themes/Portland/themeinfo.php	2007-07-01 05:11:39.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-rcs_id('$Id: themeinfo.php,v 1.12 2005/01/20 10:09:27 rurban Exp $');
+rcs_id('$Id: themeinfo.php,v 1.13 2007/07/01 09:36:10 rurban Exp $');
 
 /*
  * This file defines an appearance ("theme") of PhpWiki similar to the Portland Pattern Repository.
@@ -8,6 +8,7 @@
 require_once('lib/Theme.php');
 
 class Theme_Portland extends Theme {
+
     function linkUnknownWikiWord($wikiword, $linktext = '') {
         global $request;
         if (isa($wikiword, 'WikiPageName')) {
@@ -47,60 +48,63 @@
             return false;       // use default
         return '_Portland_PageHistory_Formatter';
     }
-}
-
-$WikiTheme = new Theme_Portland('Portland');
 
-// CSS file defines fonts, colors and background images for this
-// style.  The companion '*-heavy.css' file isn't defined, it's just
-// expected to be in the same directory that the base style is in.
-
-$WikiTheme->setDefaultCSS('Portland', 'portland.css');
-$WikiTheme->addAlternateCSS(_("Printer"), 'phpwiki-printer.css', 'print, screen');
-$WikiTheme->addAlternateCSS(_("Modern"), 'phpwiki-modern.css');
-$WikiTheme->addAlternateCSS('PhpWiki', 'phpwiki.css');
-
-/**
- * The logo image appears on every page and links to the HomePage.
- */
-$WikiTheme->addImageAlias('logo', WIKI_NAME . 'logo.png');
-
-/**
- * The Signature image is shown after saving an edited page. If this
- * is set to false then the "Thank you for editing..." screen will
- * be omitted.
- */
-$WikiTheme->addImageAlias('signature', WIKI_NAME . "Signature.png");
-// Uncomment this next line to disable the signature.
-//$WikiTheme->addImageAlias('signature', false);
+    function load() {
+	// CSS file defines fonts, colors and background images for this
+	// style.  The companion '*-heavy.css' file isn't defined, it's just
+	// expected to be in the same directory that the base style is in.
+
+	$this->setDefaultCSS('Portland', 'portland.css');
+	$this->addAlternateCSS(_("Printer"), 'phpwiki-printer.css', 'print, screen');
+	$this->addAlternateCSS(_("Modern"), 'phpwiki-modern.css');
+	$this->addAlternateCSS('PhpWiki', 'phpwiki.css');
+
+	/**
+	 * The logo image appears on every page and links to the HomePage.
+	 */
+	$this->addImageAlias('logo', WIKI_NAME . 'logo.png');
+
+	/**
+	 * The Signature image is shown after saving an edited page. If this
+	 * is set to false then the "Thank you for editing..." screen will
+	 * be omitted.
+	 */
+	$this->addImageAlias('signature', WIKI_NAME . "Signature.png");
+	// Uncomment this next line to disable the signature.
+	//$this->addImageAlias('signature', false);
+
+	/*
+	 * Link icons.
+	 */
+	//$this->setLinkIcon('http');
+	//$this->setLinkIcon('https');
+	//$this->setLinkIcon('ftp');
+	//$this->setLinkIcon('mailto');
+	//$this->setLinkIcon('interwiki');
+	//$this->setLinkIcon('*', 'url');
+
+	$this->setButtonSeparator(' ');
+
+	/**
+	 * WikiWords can automatically be split by inserting spaces between
+	 * the words. The default is to leave WordsSmashedTogetherLikeSo.
+	 */
+	$this->setAutosplitWikiWords(false);
+
+	/*
+	 * You may adjust the formats used for formatting dates and times
+	 * below.  (These examples give the default formats.)
+	 * Formats are given as format strings to PHP strftime() function See
+	 * http://www.php.net/manual/en/function.strftime.php for details.
+	 * Do not include the server's zone (%Z), times are converted to the
+	 * user's time zone.
+	 */
+	$this->setDateFormat("%B %d, %Y", false);
 
-/*
- * Link icons.
- */
-//$WikiTheme->setLinkIcon('http');
-//$WikiTheme->setLinkIcon('https');
-//$WikiTheme->setLinkIcon('ftp');
-//$WikiTheme->setLinkIcon('mailto');
-//$WikiTheme->setLinkIcon('interwiki');
-//$WikiTheme->setLinkIcon('*', 'url');
-
-$WikiTheme->setButtonSeparator(' ');
-
-/**
- * WikiWords can automatically be split by inserting spaces between
- * the words. The default is to leave WordsSmashedTogetherLikeSo.
- */
-$WikiTheme->setAutosplitWikiWords(false);
+    }
+}
 
-/*
- * You may adjust the formats used for formatting dates and times
- * below.  (These examples give the default formats.)
- * Formats are given as format strings to PHP strftime() function See
- * http://www.php.net/manual/en/function.strftime.php for details.
- * Do not include the server's zone (%Z), times are converted to the
- * user's time zone.
- */
-$WikiTheme->setDateFormat("%B %d, %Y", false);
+$WikiTheme = new Theme_Portland('Portland');
 
 
 // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
diff -ruN 1.3.12p3/themes/shamino_com/shamino_com.css 1.3.14/themes/shamino_com/shamino_com.css
--- 1.3.12p3/themes/shamino_com/shamino_com.css	2006-06-18 06:20:23.000000000 -0500
+++ 1.3.14/themes/shamino_com/shamino_com.css	2007-07-01 05:11:39.000000000 -0500
@@ -1,5 +1,5 @@
 /**
- * $Id: shamino_com.css,v 1.2 2005/09/15 05:57:53 rurban Exp $
+ * $Id: shamino_com.css,v 1.4 2007/01/20 18:20:42 rurban Exp $
  *
  * shamino.com style sheet based on the original Wiki
  *
@@ -24,6 +24,7 @@
 }
 
 #content { 
+    font-size: 10pt;
     font-family: sans-serif; 
     font-weight: normal;
     font-style: normal;
@@ -31,8 +32,8 @@
     padding: 1em 10px 1em 10px;
 }
 
-.wikitext, p, form, ul, dd, dl, li, td { 
-    font-size: small;
+.wikitext, .wiki, p, form, ul, dd, dl, li, td { 
+    /*font-size: 10pt;*/
     line-height: 150%;
     color: #111111; 
     margin: 0px;
@@ -47,7 +48,7 @@
 }
 
 dd {
-    font-size: x-small;
+    font-size: 9pt;
     text-align:right;
     padding:0px;
     margin:0px;
@@ -90,7 +91,7 @@
 input.numeric { text-align: right; }
 input {     
   font-family: sans-serif; 
-  font-size: small;
+  font-size: 10pt;
   font-style: normal;
   font-weight: normal;
 }
@@ -98,7 +99,7 @@
 textarea { 
   text-decoration:none;
   font-family: sans-serif; 
-  font-size: small;
+  font-size: 10pt;
   font-style: normal;
   font-weight: normal;
 }
@@ -114,6 +115,7 @@
   text-align:left;
 }
 
+a.wiki { font-weight:normal; }
 a:link { font-weight:normal; color:#445566; text-decoration:none }
 a:visited { font-weight:normal; color:#445566; text-decoration:none }
 a:hover { font-weight:normal; color:#445566; text-decoration:underline }
@@ -122,25 +124,37 @@
 
 .main { padding: 0px; border: 0px; margin:0px; }
 .maintable { padding: 0px; border: 0px; margin:0px; }
-.menu { font-size: x-small; padding: 10px; padding-top:0px; border: 0px; margin:0px; }
+.menu { font-size: 9pt; padding: 10px; padding-top:0px; border: 0px; margin:0px; }
 .box { background-color: #eeeeee; border: 1px solid #dcdcdc; color: #111111; padding: 0px; position: absolute; }
 .bar { background-color: #eeeeee; color: #111111; font-weight: bold; padding: 2px 1em 2px 1em; }
 
 .wikilink { color: #5555CC; text-decoration:none; font-style:normal; }
-.wikinavbar { border-bottom: 1px #999999 solid; padding: 2px; font-size: xx-small; }
-.toolbar { border-top: 1px #999999 solid; padding: 2px; font-size: xx-small; }
-.debug { padding: 2px; margin-left:10px; font-size: xx-small; }
-.wikinavbar a.wikilink, .toolbar a.wikilink, .editdate, #xhtml-validator a.wikilink { font-size: xx-small; }
+.wikinavbar { border-bottom: 1px #999999 solid; padding: 2px; font-size: 8pt; }
+.toolbar { border-top: 1px #999999 solid; padding: 2px; font-size: 8pt; }
+.debug { padding: 2px; margin-left:10px; font-size: 8pt; }
+.wikinavbar a.wikilink, .toolbar a.wikilink, .editdate, #xhtml-validator a.wikilink { font-size: 8pt; }
+#content a.wiki { font-size: 9pt; }
 .wikiaction { color: #5555CC; text-decoration:none; font-style:normal; }
 .wiki { color: #5555CC; text-decoration:none; font-style:normal; }
 .backlinks { color: #5555CC; text-decoration:none; font-style:normal; }
 /* .header { font-size: x-small; border-top: 1px #999999 solid; padding:10px; padding-top:5px; padding-bottom:5px; } */
 
-#header { font-size: xx-small; margin-left:4px; }
-.signin, .signin a.wiki, .signin a.wikiaction { font-size: xx-small; }
+#header { font-size: 8pt; margin-left:4px; }
+.signin, .signin a.wiki, .signin a.wikiaction { font-size: 8pt; }
 .top { font-size: 75%; margin:4px; }
 .plugin { margin:0px; }
 
 div#logo {
   float: right;
 }
+
+div.boxright { width: 200px; right: 10px; padding: 0.5em; float: right; border: thin solid #888888; padding: 0.5em; }
+
+/**
+ * Search Results
+ */
+.search-context { background: white; font-style: oblique; }
+.search-term {
+  background: yellow;
+  font-weight: normal;
+}
diff -ruN 1.3.12p3/themes/shamino_com/templates/actionbar.tmpl 1.3.14/themes/shamino_com/templates/actionbar.tmpl
--- 1.3.12p3/themes/shamino_com/templates/actionbar.tmpl	2006-06-18 06:20:23.000000000 -0500
+++ 1.3.14/themes/shamino_com/templates/actionbar.tmpl	2007-07-01 05:11:39.000000000 -0500
@@ -1,24 +1,24 @@
 <?php // -*-php-*-
-  $Sep = $WikiTheme->getButtonSeparator();
+if (empty($revision)) $revision = $page->getCurrentRevision(false);
 ?>
-<!-- $Id: actionbar.tmpl,v 1.1 2004/12/19 17:34:19 rurban Exp $ -->
+<!-- $Id: actionbar.tmpl,v 1.2 2007/01/02 13:29:40 rurban Exp $ -->
 <?= Button(array('action'=>'PageInfo'),_("PageInfo"),$page->getName()) ?>
-<?=$Sep?><?= Button("edit", $revision->isCurrent() ? _("Edit") : _("Edit Old Revision")) ?>
+<?=$SEP?><?= Button("edit", $revision->isCurrent() ? _("Edit") : _("Edit Old Revision")) ?>
 <?php if ($user->isAdmin() or mayAccessPage('change',$page->getName())) { ?>
-  <?=$Sep?><?= Button($page->get('locked') ? 'unlock' : 'lock') ?>
+  <?=$SEP?><?= Button($page->get('locked') ? 'unlock' : 'lock') ?>
   <?php if (ENABLE_PAGEPERM) { ?>
-     <?=$Sep?><?= Button('chown') ?>
-     <?=$Sep?><?= Button('setacl') ?>
+     <?=$SEP?><?= Button('chown') ?>
+     <?=$SEP?><?= Button('setacl') ?>
   <?php } ?>
 <?php } ?>
 <?php if ($user->isAdmin() or mayAccessPage('remove',$page->getName())) { ?>
-   <?=$Sep?><?= Button('remove') ?>
+   <?=$SEP?><?= Button('remove') ?>
 <?php } ?>
 <?php if (!empty($user) && $user->isAdmin()) { ?>
-  <?=$Sep?><?= WikiLink(_("PhpWikiAdministration"), "","Admin") ?>
+  <?=$SEP?><?= WikiLink(_("PhpWikiAdministration"), "","Admin") ?>
   <!-- Buttons really only for debugging. See info for more -->
-  <?=$Sep?><?= Button(_("PageHistory")) ?>
-  <?=$Sep?><?= Button("diff") ?>
-  <?=$Sep?><?= Button(_("PageDump")) ?>
+  <?=$SEP?><?= Button(_("PageHistory")) ?>
+  <?=$SEP?><?= Button("diff") ?>
+  <?=$SEP?><?= Button(_("PageDump")) ?>
   <!-- End debugging buttons -->
 <?php } ?>
diff -ruN 1.3.12p3/themes/shamino_com/templates/browse-footer.tmpl 1.3.14/themes/shamino_com/templates/browse-footer.tmpl
--- 1.3.12p3/themes/shamino_com/templates/browse-footer.tmpl	2006-06-18 06:20:23.000000000 -0500
+++ 1.3.14/themes/shamino_com/templates/browse-footer.tmpl	2007-07-01 05:11:39.000000000 -0500
@@ -1,5 +1,5 @@
 <?php // -*-html-*-
-  rcs_id('$Id: browse-footer.tmpl,v 1.2 2004/12/19 17:42:46 rurban Exp $');
+  rcs_id('$Id: browse-footer.tmpl,v 1.3 2007/01/02 13:28:48 rurban Exp $');
 ?>
 <div class="toolbar">
 <?php if (empty($GLOBALS['HIDE_TOOLBARS'])) { ?>
@@ -8,5 +8,5 @@
 <?php } ?>
   <span class="editdate"><?= $WikiTheme->getOwnerMessage($page) ?>  <?= $WikiTheme->getLastModifiedMessage($revision) ?> <?= $WikiTheme->getAuthorMessage($revision) ?></span>
 <br />
-<a href="<?= PHPWIKI_BASE_URL ?>"><?=WIKI_NAME?></a> created with <a href="http://phpwiki.org/">PhpWiki</a>  1998-2004 | <?= WikiLink(_("TermsOfUse")) ?>
+<a href="<?= PHPWIKI_BASE_URL ?>"><?=WIKI_NAME?></a> created with <a href="http://phpwiki.org/">PhpWiki</a>  1998-2007 | <?= WikiLink(_("TermsOfUse")) ?>
 </div>
diff -ruN 1.3.12p3/themes/shamino_com/templates/debug.tmpl 1.3.14/themes/shamino_com/templates/debug.tmpl
--- 1.3.12p3/themes/shamino_com/templates/debug.tmpl	2006-06-18 06:20:23.000000000 -0500
+++ 1.3.14/themes/shamino_com/templates/debug.tmpl	2007-07-01 05:11:39.000000000 -0500
@@ -1,10 +1,13 @@
 <?php // -*-html-*-
-  rcs_id('$Id: debug.tmpl,v 1.1 2004/12/19 17:34:19 rurban Exp $');
+  rcs_id('$Id: debug.tmpl,v 1.2 2007/01/02 13:28:56 rurban Exp $');
 ?>
 <!-- shamino.com debug -->
 <div class="debug">
 <?php global $RUNTIMER; ?>
 <span id="xhtml-validator"><a class="wikilink" href="http://validator.w3.org/check/referer" target="_top">Valid XHTML 1.0</a> &nbsp; <a class="wikilink" href="http://jigsaw.w3.org/css-validator/check/referer" target="_top">Valid CSS</a>
 </span>
-  <span><?=fmt("Page Execution took %s seconds", $RUNTIMER->getStats())?></span></div>
+  <span><?=fmt("Page Execution took %s seconds", $RUNTIMER->getStats()) ?>
+<?php $mem = @getMemoryUsage(); if ($mem) { ?>
+  <?=fmt(", Memory: %s", $mem) ?>
+<?php } ?></span></div>
 <br clear="all" class="clear-floats" />
diff -ruN 1.3.12p3/themes/shamino_com/templates/info.tmpl 1.3.14/themes/shamino_com/templates/info.tmpl
--- 1.3.12p3/themes/shamino_com/templates/info.tmpl	2006-06-18 06:20:23.000000000 -0500
+++ 1.3.14/themes/shamino_com/templates/info.tmpl	2007-07-01 05:11:39.000000000 -0500
@@ -1,219 +1,2 @@
-<?php // -*-php-*- ?>
-<!-- $Id: info.tmpl,v 1.1 2004/12/19 17:34:19 rurban Exp $ -->
-<?php
-
-$modifed = $WikiTheme->formatDateTime($revision->get('mtime'));
-
-$author = $revision->get('author');
-global $WikiNameRegexp;
-$dbi = $request->getDbh();
-$author = $revision->get('author');
-$authorLink = $author;
-if (preg_match("/^$WikiNameRegexp\$/", $author) && $dbi->isWikiPage($author))
-    $authorLink = WikiLink($author);
-
-$authorId = $revision->get('author_id');
-$version = $revision->getVersion();
-$hits = $page->get('hits');
-
-$is_minor_edit = $revision->get('is_minor_edit') ? _("minor edit") : false;
-if ($minor_flag = $is_minor_edit) {
-    $minor_flag = HTML(" ",
-                       HTML::span(array('class' => 'pageinfo-minoredit'),
-                                  "(" . _("minor edit") . ")"));
-}
-
-/* better way to do this? */
-$bytes = strlen($revision->_data['%content']);
-if ($bytes < 1024 )
-    $size = fmt("%s bytes", $bytes);
-else {
-    $kb = round($bytes / 1024, 1);
-    $size = fmt("%s Kb (%s bytes)", $kb, $bytes);
-}
-// Count words
-preg_match_all('/\\w+\\W*/', $revision->_data['%content'], $whitespacematches);
-if (1 == $c = count_all($whitespacematches))
-  $wordcount = fmt("1 word");
-else
-  $wordcount = fmt("%s words", $c);
-
-
-$markupVersion = ($markupVersion = $revision->get('markup'))
-               ? fmt("Version %s", $markupVersion)
-               : _("Original (1.2 or 1.0)");
-
-$summary = HTML::textarea(array('name' => 'summary',
-                                'class' => 'summary',
-                                'rows' => 3,
-                                'cols' => $request->getPref('editWidth')/2,
-                                'readonly' => 'readonly',
-                                'wrap' => 'virtual'), /* for Netscape 4 */
-                          $revision->get('summary'));
-
-if ($is_current = $revision->isCurrent()) {
-
-    $LOCKED_CB = HTML::input(array('type' => 'checkbox',
-                                   'name' => 'edit[locked]',
-                                   'disabled' => !$user->isadmin(),
-                                   'checked'  => $page->get('locked')));
-
-    // Not sure if I want to keep this... --Carsten
-    if ($user->isadmin()) {
-        $lockunlock = $page->get('locked') ? 'unlock' : 'lock';
-        $clickcheckbUrl = WikiURL($revision, array('action' => $lockunlock));
-        $clickcheckb = "location.href='$clickcheckbUrl'";
-
-        $LOCKED_CB->setAttr('onclick', $clickcheckb);
-    }
-
-    $label['date'] = _("Last Modified").':';
-    $label['author'] = _("Last Author").':';
-    $label['summary'] = _("Last Summary").':';
-
-} else {
-    $label['date'] = _("Saved on:");
-    $label['author'] = _("Author").':';
-    $label['summary'] = _("Summary").':';
-}
-
-$tableSummary = fmt("Statistics about %s.", $page->getName());
-$Sep = $WikiTheme->getButtonSeparator();
-
-?>
-
-<!-- FIXME: move table formatting to css -->
-<table summary="<?= $tableSummary ?>" class="pageinfo"
-       border="0" cellspacing="0" cellpadding="3">
-
-<?php if (!$is_current) { ?>
-  <tr>
-    <td align="right" class="pageinfo"><?=_("Supplanted on:")?></td>
-    <td><?= $WikiTheme->formatDateTime($revision->get('_supplanted')) ?></td>
-  </tr>
-<?php } ?>
-
-  <tr>
-    <td align="right" nowrap="nowrap" class="pageinfo"><?= $label['date'] ?></td>
-    <td><?= $modifed ?><?= $minor_flag ?></td>
-  </tr>
-  <tr>
-    <td align="right" class="pageinfo"><?= $label['author'] ?></td>
-    <td><?= $authorLink ?>
-      <?php if (! ($author == $authorId)) { ?>
-        <span class="pageinfo-authorid">(<?= $authorId ?>)</span>
-      <?php } ?></td>
-  </tr>
-  <tr>
-    <td align="right" class="pageinfo"><?=_("Page Version:")?></td>
-    <td><?= $version ?></td>
-  </tr>
-  <tr>
-    <td align="right" class="pageinfo"><?=_("Markup:")?></td>
-    <td><?= $markupVersion ?></td>
-  </tr>
-  <tr>
-    <td align="right" class="pageinfo"><?=_("Size:")?></td>
-    <td><?= $wordcount ?>, <?= $size ?></td>
-  </tr>
-<?php if ($is_current) { ?>
-  <tr>
-    <td align="right" class="pageinfo"><?= _("Hits:") ?></td>
-    <td><?= $hits ?></td>
-  </tr>
-<?php } ?>
-  <tr>
-    <td align="right" valign="top" class="pageinfo"><?= $label['summary'] ?></td>
-    <td><?= $summary ?></td>
-  </tr>
-<?php if ($is_current) { ?>
-  <tr>
-    <td align="right"><?= $LOCKED_CB ?></td>
-    <td class="pageinfo"><?=_("Locked")?></td>
-  </tr>
-<?php } ?>
-
-<?php // determine page type
-if (HOME_PAGE == $page->getName()) {
-    $pagetype []= sprintf('%s %s', WIKI_NAME, _("home page"));
-}
-if (0 && $page->isUserPage($include_empty=true)) {
-    $pagetype []= _("User page");
-}
-if (@$request->isActionPage($page->getName())) {
-    $pagetype []= _("Action page");
-}
-if ($page->get('pagetype') == 'wikiblog') {
-    $pagetype []= _("Blog page");
-}
-if ($page->getName() == _("InterWikiMap")) {
-    $pagetype []= _("InterWikiMap");
-}
-if (0 and isSubPage($page->getName())) {
-    $pagetype []= _("Subpage");
-} ?>
-
-<?php if (!empty($pagetype)) { $pagetype = implode(", ", $pagetype); ?>
-  <tr>
-    <td align="right" class="pageinfo"><?=_("Page Type:")?></td>
-    <td align="left"><?=$pagetype?></td>
-  </tr>
-<?php } ?>
-</table>
-<div id="actionbuttons">
-    <?= Button("edit", $revision->isCurrent() ? _("Edit") : _("Edit Old Revision")) ?>
-    <?=$Sep?><?= Button("viewsource", _("View Source")) ?>
-    <?=$Sep?><?= Button("PageHistory", _("PageHistory")) ?>
-    <?=$Sep?><?= Button("AuthorHistory", _("AuthorHistory")) ?>
-    <?=$Sep?><?= Button(_("PageDump")) ?>
-    <?=$Sep?><?= Button("Diff") ?>
-    <?=$Sep?><?= Button(array('action'=>'diff','previous' => 'minor'),_("Diff previous Revision"),$page->getName()) ?>
-    <?=$Sep?><?= Button(array('action'=>'diff','previous' => 'author'),_("Diff previous Author"),$page->getName()) ?>
-<?php if ((defined('DEBUG') && DEBUG) || $user->isAdmin()) { ?>
-    <!-- Buttons really only for debugging -->
-    <?=$Sep?><?= Button("DebugInfo", _("DebugInfo")) ?>
-<?php
-     $PurgeCache = Button(array('nocache' => 'purge'),
-                     _("PurgeHtmlCache"), $page->getName());
-     $PurgeCache->addTooltip(_("Purge HTML cache for this page. Regenerate from WikiMarkup when next accessed."));
-?>
-    <?=$Sep?><?= $PurgeCache ?>
-    <!-- End debugging buttons -->
-<?php } ?>
-  </div>
-
-<?php
-// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-// $Log: info.tmpl,v $
-// Revision 1.1  2004/12/19 17:34:19  rurban
-// Add a minimalistic design by walter rafelsberger
-// See http://www.shamino.com/wiki/
-//   Tiny actionbar: PageInfo, Edit and
-//     all other actionbars buttons in info.tmpl,
-//   Signin only implictly after Edit.
-//   Tiny navbar: without buttons, just links
-//
-// Revision 1.3  2004/06/14 11:26:53  rurban
-// renamed global $Theme to $WikiTheme (gforge nameclash)
-//
-// Revision 1.2  2004/05/18 14:47:21  rurban
-// Simplified strings for easier translation
-//
-// Revision 1.1  2004/03/01 09:38:01  rurban
-// Theme with less buttons and shorter descriptions:
-//   More behind "Info"
-//
-// Revision 1.15  2003/12/11 19:38:29  carstenklapp
-// Internal change: Fix PHP Warning: Call-time pass-by-reference has been deprecated
-//
-// Revision 1.14  2003/11/29 20:13:38  carstenklapp
-// Internal change: Refactored ByteFormatter code into a new function in
-// stdlib (now used by PageList too).
-//
-// Revision 1.13  2003/02/21 04:24:48  dairiki
-// Fix <td> </td> nesting. (Was generating invalid HTML.)
-//
-// Revision 1.12  2003/01/11 22:54:28  carstenklapp
-// Added Page type field displayed for special pages.
-//
-?>
\ No newline at end of file
+<?= Template("default/info") ?>
+<?= Template("actionbar") ?>
diff -ruN 1.3.12p3/themes/shamino_com/templates/signin.tmpl 1.3.14/themes/shamino_com/templates/signin.tmpl
--- 1.3.12p3/themes/shamino_com/templates/signin.tmpl	2006-06-18 06:20:23.000000000 -0500
+++ 1.3.14/themes/shamino_com/templates/signin.tmpl	2007-07-01 05:11:40.000000000 -0500
@@ -1,5 +1,5 @@
 <?php // -*-php-*-
-rcs_id('$Id: signin.tmpl,v 1.1 2004/12/19 17:34:19 rurban Exp $');
+rcs_id('$Id: signin.tmpl,v 1.2 2007/01/02 13:29:31 rurban Exp $');
 // signin only implicitly by clicking "Edit"
 if (empty($FORMNAME))
     $FORMNAME = 'signin';
@@ -11,7 +11,6 @@
   <?= HiddenInputs($request->getArgs(), false, array('auth')) ?>
 <?php }
 if ($user->isAuthenticated()) {
-    $Sep = $WikiTheme->getButtonSeparator();
     $SignOutB = $WikiTheme->makeButton(_("Sign Out"), "javascript:SignOut();", 'wikiaction');
     $SignOutJS = JavaScript('
     document.write(\'<input type="hidden" name="auth[logout]" value="0" />\');
@@ -23,11 +22,11 @@
     document.write(\''.AsXML($SignOutB).'\');');
 ?>
   <span class="signin"><?= fmt("Authenticated as %s", WikiLink($user->getAuthenticatedId(), 'auto')) ?>
-  <?=$Sep?><?=$SignOutJS?></span>
+  <?=$SEP?><?=$SignOutJS?></span>
   <noscript>
     <span class="signin"><?= Button("submit:auth[logout]", _("Sign Out"), 'wikiaction') ?></span>
   </noscript>
 <?php } ?>
 <?php if (empty($NOFORM)) { ?>
   </form>
-<?php } ?>
\ No newline at end of file
+<?php } ?>
diff -ruN 1.3.12p3/themes/shamino_com/themeinfo.php 1.3.14/themes/shamino_com/themeinfo.php
--- 1.3.12p3/themes/shamino_com/themeinfo.php	2006-06-18 06:20:23.000000000 -0500
+++ 1.3.14/themes/shamino_com/themeinfo.php	2007-07-01 05:11:40.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-rcs_id('$Id: themeinfo.php,v 1.1 2004/12/19 17:34:19 rurban Exp $');
+rcs_id('$Id: themeinfo.php,v 1.2 2007/07/01 09:36:10 rurban Exp $');
 /**
  * A minimalistic design by walter rafelsberger
  * See http://www.shamino.com/wiki/
@@ -37,85 +37,88 @@
 
         return $this->makeButton($label, WikiURL($pagename, $attr), $class);
     }
+
+    function load() {
+	// CSS file defines fonts, colors and background images for this
+	// style.  The companion '*-heavy.css' file isn't defined, it's just
+	// expected to be in the same directory that the base style is in.
+
+	// This should result in phpwiki-printer.css being used when
+	// printing or print-previewing with style "PhpWiki" or "MacOSX" selected.
+	$this->setDefaultCSS('PhpWiki',
+				  array(''      => 'shamino_com.css',
+					'print' => 'phpwiki-printer.css'));
+
+	// This allows one to manually select "Printer" style (when browsing page)
+	// to see what the printer style looks like.
+	$this->addAlternateCSS(_("Printer"), 'phpwiki-printer.css', 'print, screen');
+	$this->addAlternateCSS(_("Top & bottom toolbars"), 'phpwiki-topbottombars.css');
+	$this->addAlternateCSS(_("Modern"), 'phpwiki-modern.css');
+
+	/**
+	 * The logo image appears on every page and links to the HomePage.
+	 */
+	//$this->addImageAlias('logo', WIKI_NAME . 'Logo.png');
+
+	/**
+	 * The Signature image is shown after saving an edited page. If this
+	 * is set to false then the "Thank you for editing..." screen will
+	 * be omitted.
+	 */
+
+	//$this->addImageAlias('signature', WIKI_NAME . "Signature.png");
+	// Uncomment this next line to disable the signature.
+	$this->addImageAlias('signature', false);
+
+	/*
+	 * Link icons.
+	 */
+	//$this->setLinkIcon('http');
+	//$this->setLinkIcon('https');
+	//$this->setLinkIcon('ftp');
+	//$this->setLinkIcon('mailto');
+	//$this->setLinkIcon('interwiki');
+	//$this->setLinkIcon('wikiuser');
+	//$this->setLinkIcon('*', 'url');
+
+	//$this->setButtonSeparator("\n | ");
+
+	/**
+	 * WikiWords can automatically be split by inserting spaces between
+	 * the words. The default is to leave WordsSmashedTogetherLikeSo.
+	 */
+	//$this->setAutosplitWikiWords(false);
+
+	/**
+	 * Layout improvement with dangling links for mostly closed wiki's:
+	 * If false, only users with edit permissions will be presented the 
+	 * special wikiunknown class with "?" and Tooltip.
+	 * If true (default), any user will see the ?, but will be presented 
+	 * the PrintLoginForm on a click.
+	 */
+	$this->setAnonEditUnknownLinks(false);
+
+	/*
+	 * You may adjust the formats used for formatting dates and times
+	 * below.  (These examples give the default formats.)
+	 * Formats are given as format strings to PHP strftime() function See
+	 * http://www.php.net/manual/en/function.strftime.php for details.
+	 * Do not include the server's zone (%Z), times are converted to the
+	 * user's time zone.
+	 */
+	$this->setDateFormat("%B %d, %Y");
+	$this->setTimeFormat("%H:%M");
+
+	/*
+	 * To suppress times in the "Last edited on" messages, give a
+	 * give a second argument of false:
+	 */
+	//$this->setDateFormat("%B %d, %Y", false); 
+    }
 }
 
 $WikiTheme = new Theme_shamino_com('shamino_com');
 
-// CSS file defines fonts, colors and background images for this
-// style.  The companion '*-heavy.css' file isn't defined, it's just
-// expected to be in the same directory that the base style is in.
-
-// This should result in phpwiki-printer.css being used when
-// printing or print-previewing with style "PhpWiki" or "MacOSX" selected.
-$WikiTheme->setDefaultCSS('PhpWiki',
-                       array(''      => 'shamino_com.css',
-                             'print' => 'phpwiki-printer.css'));
-
-// This allows one to manually select "Printer" style (when browsing page)
-// to see what the printer style looks like.
-$WikiTheme->addAlternateCSS(_("Printer"), 'phpwiki-printer.css', 'print, screen');
-$WikiTheme->addAlternateCSS(_("Top & bottom toolbars"), 'phpwiki-topbottombars.css');
-$WikiTheme->addAlternateCSS(_("Modern"), 'phpwiki-modern.css');
-
-/**
- * The logo image appears on every page and links to the HomePage.
- */
-//$WikiTheme->addImageAlias('logo', WIKI_NAME . 'Logo.png');
-
-/**
- * The Signature image is shown after saving an edited page. If this
- * is set to false then the "Thank you for editing..." screen will
- * be omitted.
- */
-
-//$WikiTheme->addImageAlias('signature', WIKI_NAME . "Signature.png");
-// Uncomment this next line to disable the signature.
-$WikiTheme->addImageAlias('signature', false);
-
-/*
- * Link icons.
- */
-//$WikiTheme->setLinkIcon('http');
-//$WikiTheme->setLinkIcon('https');
-//$WikiTheme->setLinkIcon('ftp');
-//$WikiTheme->setLinkIcon('mailto');
-//$WikiTheme->setLinkIcon('interwiki');
-//$WikiTheme->setLinkIcon('wikiuser');
-//$WikiTheme->setLinkIcon('*', 'url');
-
-//$WikiTheme->setButtonSeparator("\n | ");
-
-/**
- * WikiWords can automatically be split by inserting spaces between
- * the words. The default is to leave WordsSmashedTogetherLikeSo.
- */
-//$WikiTheme->setAutosplitWikiWords(false);
-
-/**
- * Layout improvement with dangling links for mostly closed wiki's:
- * If false, only users with edit permissions will be presented the 
- * special wikiunknown class with "?" and Tooltip.
- * If true (default), any user will see the ?, but will be presented 
- * the PrintLoginForm on a click.
- */
-$WikiTheme->setAnonEditUnknownLinks(false);
-
-/*
- * You may adjust the formats used for formatting dates and times
- * below.  (These examples give the default formats.)
- * Formats are given as format strings to PHP strftime() function See
- * http://www.php.net/manual/en/function.strftime.php for details.
- * Do not include the server's zone (%Z), times are converted to the
- * user's time zone.
- */
-$WikiTheme->setDateFormat("%B %d, %Y");
-$WikiTheme->setTimeFormat("%H:%M");
-
-/*
- * To suppress times in the "Last edited on" messages, give a
- * give a second argument of false:
- */
-//$WikiTheme->setDateFormat("%B %d, %Y", false); 
 
 // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 // (c-file-style: "gnu")
@@ -126,4 +129,4 @@
 // c-hanging-comment-ender-p: nil
 // indent-tabs-mode: nil
 // End:   
-?>
\ No newline at end of file
+?>
diff -ruN 1.3.12p3/themes/Sidebar/sidebar.css 1.3.14/themes/Sidebar/sidebar.css
--- 1.3.12p3/themes/Sidebar/sidebar.css	2006-06-18 06:20:25.000000000 -0500
+++ 1.3.14/themes/Sidebar/sidebar.css	2007-07-01 05:11:41.000000000 -0500
@@ -1,5 +1,5 @@
 /**
- * $Id: sidebar.css,v 1.29 2005/02/04 13:25:07 rurban Exp $
+ * $Id: sidebar.css,v 1.30 2007/01/13 23:42:20 rurban Exp $
  *
  * This incarnation of this stylesheet is a complete rewrite from the
  * ground up.
@@ -18,7 +18,7 @@
  * General settings
  */
 body {
-  background: #fffff0;
+  background: #ffffff;
   font-family: Arial, Helvetica, sans-serif;
   font-size: 85%; /* The default is too large. But enlarge monospace below */
   margin: 0 0 0 0;
@@ -44,6 +44,7 @@
   /*  position: fixed; */
   left: 1ex;
   top:  1ex;
+  margin: 0;
 }
 /*
 div#clock {
@@ -60,7 +61,7 @@
 h1 {
   /*  position: fixed; */
   top: 0;
-  background: ivory;
+  /*background: ivory;*/
   padding-top:    0.5ex;
   padding-bottom: 0.5ex;
   padding-left:   0.25em;
@@ -77,9 +78,9 @@
  */
 #navbar hr, #actionbar hr { display: none; }
 #actionbuttons, #signin { line-height: 2.4ex; }
-#navbuttons input { margin-bottom: 0.5ex; }
+/* #navbuttons input { margin-bottom: 0.5ex; } */
 .sidebar { line-height: 1em; }
-/*#navbuttons { top: 5.5ex; }*/
+/* #navbuttons { top: 5.5ex; } */
 
 /* backlinks button */
 .sidebar a.wikiadmin, .sidebar a.wikiaction { 
@@ -111,6 +112,33 @@
 /* div#signin { position: fixed; bottom: 0; } */
 div#signin { margin-bottom: 1ex; }
 
+
+/**
+ * Search
+ */
+div#searchholder {
+  display: inline; 
+  position: relative;
+}
+#searchGoButton { 
+  background-color: #fff;
+  border: none;
+  padding: 0 0 0 0;
+  height: 15px;
+  width: 15px;
+  -moz-appearance: none;
+  -moz-box-sizing: auto;
+  -moz-border-radius: 0;
+  line-height: 1em;
+  position: absolute;
+  top: 5px;
+  left: 132px;
+}
+#livesearch { 
+  position: relative;
+  margin-left: 0.5em;
+}
+
 /**
  * Last edited
  *
@@ -177,7 +205,9 @@
   color: black;
 }
 div.box-title a:hover {
-  background-color: #def;
+  padding: 0 4px 0 4px;
+  background-color: ThreedLightShadow;
+  border: 1px outset;
 }
 
 /* smaller sidebar links */
@@ -188,7 +218,9 @@
 }
 
 div.box-data a:hover {
-  background-color: #def;
+  background-color: ThreedLightShadow;
+    /*background-color: #def;*/
+  border: 1px outset;
 }
 /* For emacs users
  *
diff -ruN 1.3.12p3/themes/Sidebar/templates/navbar.tmpl 1.3.14/themes/Sidebar/templates/navbar.tmpl
--- 1.3.12p3/themes/Sidebar/templates/navbar.tmpl	2006-06-18 06:20:25.000000000 -0500
+++ 1.3.14/themes/Sidebar/templates/navbar.tmpl	2007-07-01 05:11:41.000000000 -0500
@@ -1,27 +1,17 @@
 <?php // -*-php-*-
-    rcs_id('$Id: navbar.tmpl,v 1.10 2005/04/06 06:41:05 rurban Exp $');
+    rcs_id('$Id: navbar.tmpl,v 1.11 2007/01/13 23:42:20 rurban Exp $');
     $split = $WikiTheme->_autosplitWikiWords;
     $WikiTheme->setAutosplitWikiWords(true);
 ?>
 <!-- The top navigation/search bar -->
-<form action="<?= WikiURL(_("TitleSearch"))?>" target="_top"
-      method="get" accept-charset="<?=$charset?>" style="display:inline">
 <div id="navbuttons">
 <!-- &middot; ?= WikiLink(_("RecentChanges"), "button") ? -->
-<input type="hidden" name="auto_redirect" value="1" />
-<?php if (! USE_PATH_INFO) { ?>
-<input type="hidden" name="pagename" value="<?=_("TitleSearch")?>" />
-<?php } ?>
-<input type="text"  name="s" size="12" maxlength="256"
-             title='<?=_("Quick Search")?>'
-             onmouseover="window.status='<?=_("Quick Search")?>'; return true;"
-             onmouseout="window.status=''; return true;" /><? 
-// remove the class from the href AND img for the annoying box
-$button = Button(_("TitleSearch"));
-$button->setAttr('class', false);
-if (isset($button->_content[0])) $button->_content[0]->setAttr('class', false);
-echo $button->asXml();
-?><?=$SEP?><?= WikiLink(_("FindPage"), "button",_("Full Search")) ?>
+<?= Template("search",
+	     array('SEARCH_AFTER' => 
+		   HTML::button(array('type' => 'submit', 'id' => 'searchGoButton'),
+				HTML::img(array('src' => $WikiTheme->getImageURL("search"),
+						'alt' => 'search'))))) ?>
+<?=$SEP?><?= WikiLink(_("FindPage"), "button",_("Full Search")) ?>
 <?php 
 if (ENABLE_DISCUSSION_LINK) { // This requires Talk: map to end in "/Discussion"
   if (!string_ends_with($page->getName(), _("Discussion"))) { ?>
@@ -38,4 +28,3 @@
 <?=$SEP?><?= WikiLink(_("PhpWikiAdministration"), "button", _("Admin")) ?>
 <?php }
 $WikiTheme->setAutosplitWikiWords($split); ?></div>
-</form>
\ No newline at end of file
diff -ruN 1.3.12p3/themes/Sidebar/templates/signin.tmpl 1.3.14/themes/Sidebar/templates/signin.tmpl
--- 1.3.12p3/themes/Sidebar/templates/signin.tmpl	2006-06-18 06:20:25.000000000 -0500
+++ 1.3.14/themes/Sidebar/templates/signin.tmpl	2007-07-01 05:11:41.000000000 -0500
@@ -1,5 +1,5 @@
 <?php // -*-php-*-
-rcs_id('$Id: signin.tmpl,v 1.4 2004/06/14 11:26:51 rurban Exp $');
+rcs_id('$Id: signin.tmpl,v 1.5 2007/01/02 13:29:31 rurban Exp $');
 
 if (empty($FORMNAME))
     $FORMNAME = 'signin';
@@ -12,11 +12,10 @@
 <?php } ?>
 <?php
 if ($user->isAuthenticated()) {
-    $Sep = $WikiTheme->getButtonSeparator();
     $SignOutB = $WikiTheme->makeButton(_("Sign Out"), "javascript:SignOut();", 'wikiaction');
 ?>
   <?= fmt("User: %s", WikiLink($user->getAuthenticatedId(), 'auto')) ?>
-  <?=$Sep?>
+  <?=$SEP?>
   <script language="JavaScript" type="text/javascript"><!--
     document.write('<input type="hidden" name="auth[logout]" value="0" />');
     function SignOut() {
@@ -71,4 +70,4 @@
 <?php } ?>
 <?php if (empty($NOFORM)) { ?>
   </form>
-<?php } ?>
\ No newline at end of file
+<?php } ?>
diff -ruN 1.3.12p3/themes/Sidebar/themeinfo.php 1.3.14/themes/Sidebar/themeinfo.php
--- 1.3.12p3/themes/Sidebar/themeinfo.php	2006-06-18 06:20:25.000000000 -0500
+++ 1.3.14/themes/Sidebar/themeinfo.php	2007-07-01 05:11:41.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-rcs_id('$Id: themeinfo.php,v 1.24 2005/08/06 13:26:25 rurban Exp $');
+rcs_id('$Id: themeinfo.php,v 1.27 2007/07/01 09:36:10 rurban Exp $');
 
 /*
  * This file defines the Sidebar appearance ("theme") of PhpWiki,
@@ -14,8 +14,7 @@
 class Theme_Sidebar extends Theme {
 
     function Theme_Sidebar ($theme_name='Sidebar') {
-        parent::Theme($theme_name);
-
+        $this->Theme($theme_name);
         $this->calendarInit(true);
     }
 
@@ -30,150 +29,74 @@
         return parent::findTemplate($name);
     }
 
-    function calendarLink($date = false) {
-        return $this->calendarBase() . SUBPAGE_SEPARATOR . 
-               strftime("%Y-%m-%d", $date ? $date : time());
-    }
-
-    function calendarBase() {
-        static $UserCalPageTitle = false;
-        global $request;
-
-        if (!$UserCalPageTitle) 
-            $UserCalPageTitle = $request->_user->getId() . 
-                                SUBPAGE_SEPARATOR . _("Calendar");
-        if (!$UserCalPageTitle)
-            $UserCalPageTitle = (BLOG_EMPTY_DEFAULT_PREFIX ? '' 
-                                 : ($request->_user->getId() . SUBPAGE_SEPARATOR)) . "Blog";
-        return $UserCalPageTitle;
-    }
-
-    function calendarInit($force = false) {
-        $dbi = $GLOBALS['request']->getDbh();
-        // display flat calender dhtml in the sidebar
-        if ($force or $dbi->isWikiPage($this->calendarBase())) {
-            $jslang = @$GLOBALS['LANG'];
-            $this->addMoreHeaders
-                (
-                 $this->_CSSlink(0, 
-                                 $this->_findFile('jscalendar/calendar-phpwiki.css'), 'all'));
-            $this->addMoreHeaders
-                (JavaScript('',
-                            array('src' => $this->_findData('jscalendar/calendar'.(DEBUG?'':'_stripped').'.js'))));
-            if (!($langfile = $this->_findData("jscalendar/lang/calendar-$jslang.js")))
-                $langfile = $this->_findData("jscalendar/lang/calendar-en.js");
-            $this->addMoreHeaders(JavaScript('',array('src' => $langfile)));
-            $this->addMoreHeaders
-                (JavaScript('',
-                            array('src' => 
-                                  $this->_findData('jscalendar/calendar-setup'.(DEBUG?'':'_stripped').'.js'))));
-
-            // Get existing date entries for the current user
-            require_once("lib/TextSearchQuery.php");
-            $iter = $dbi->titleSearch(new TextSearchQuery("^".$this->calendarBase().SUBPAGE_SEPARATOR, true, "auto"));
-            $existing = array();
-            while ($page = $iter->next()) {
-                if ($page->exists())
-                    $existing[] = basename($page->_pagename);
-            }
-            if (!empty($existing)) {
-                $js_exist = '{"'.join('":1,"',$existing).'":1}';
-                //var SPECIAL_DAYS = {"2004-05-11":1,"2004-05-12":1,"2004-06-01":1}
-                $this->addMoreHeaders(JavaScript('
-// This table holds the existing calender entries for the current user
-// calculated from the database
-var SPECIAL_DAYS = '.$js_exist.';
-// This function returns true if the date exists in SPECIAL_DAYS
-function dateExists(date, y, m, d) {
-    var year = date.getFullYear();
-    m = m + 1;
-    m = m < 10 ? "0" + m : m;  // integer, 0..11
-    d = d < 10 ? "0" + d : d;  // integer, 1..31
-    var date = year+"-"+m+"-"+d;
-    var exists = SPECIAL_DAYS[date];
-    if (!exists) return false;
-    else return true;
-}
-// This is the actual date status handler. 
-// Note that it receives the date object as well as separate 
-// values of year, month and date.
-function dateStatusFunc(date, y, m, d) {
-    if (dateExists(date, y, m, d)) return "existing";
-    else return false;
-}'));
-            }
-            else {
-                $this->addMoreHeaders(JavaScript('
-function dateStatusFunc(date, y, m, d) { return false;}'));
-            }
-        }
+    function load() {
+	// CSS file defines fonts, colors and background images for this
+	// style.  The companion '*-heavy.css' file isn't defined, it's just
+	// expected to be in the same directory that the base style is in.
+
+	$this->setDefaultCSS(_("Sidebar"), 'sidebar.css');
+	//$this->addAlternateCSS('PhpWiki', 'phpwiki.css');
+	//$this->setDefaultCSS('PhpWiki', 'phpwiki.css');
+	$this->addAlternateCSS(_("Printer"), 'phpwiki-printer.css', 'print, screen');
+	$this->addAlternateCSS(_("Modern"), 'phpwiki-modern.css');
+
+	/**
+	 * The logo image appears on every page and links to the HomePage.
+	 */
+	//$this->addImageAlias('logo', 'logo.png');
+
+	/**
+	 * The Signature image is shown after saving an edited page. If this
+	 * is not set, any signature defined in index.php will be used. If it
+	 * is not defined by index.php or in here then the "Thank you for
+	 * editing..." screen will be omitted.
+	 */
+
+	// Comment this next line out to enable signature.
+	$this->addImageAlias('signature', false);
+
+	$this->addImageAlias('search', 'search.png');
+
+	/*
+	 * Link icons.
+	 */
+	$this->setLinkIcon('http');
+	$this->setLinkIcon('https');
+	$this->setLinkIcon('ftp');
+	$this->setLinkIcon('mailto');
+	$this->setLinkIcon('interwiki');
+	$this->setLinkIcon('*', 'url');
+
+	//$this->setButtonSeparator(' | ');
+
+	/**
+	 * WikiWords can automatically be split by inserting spaces between
+	 * the words. The default is to leave WordsSmashedTogetherLikeSo.
+	 */
+	$this->setAutosplitWikiWords(true);
+
+	/**
+	 * If true (default) show create '?' buttons on not existing pages, even if the 
+	 * user is not signed in.
+	 * If false, anon users get no links and it looks cleaner, but then they 
+	 * cannot easily fix missing pages.
+	 */
+	$this->setAnonEditUnknownLinks(false);
+
+	/*
+	 * You may adjust the formats used for formatting dates and times
+	 * below.  (These examples give the default formats.)
+	 * Formats are given as format strings to PHP strftime() function See
+	 * http://www.php.net/manual/en/function.strftime.php for details.
+	 * Do not include the server's zone (%Z), times are converted to the
+	 * user's time zone.
+	 */
+	//$this->setDateFormat("%B %d, %Y");
     }
 }
 
 $WikiTheme = new Theme_Sidebar('Sidebar');
 
-// CSS file defines fonts, colors and background images for this
-// style.  The companion '*-heavy.css' file isn't defined, it's just
-// expected to be in the same directory that the base style is in.
-
-$WikiTheme->setDefaultCSS(_("Sidebar"), 'sidebar.css');
-//$WikiTheme->addAlternateCSS('PhpWiki', 'phpwiki.css');
-//$WikiTheme->setDefaultCSS('PhpWiki', 'phpwiki.css');
-$WikiTheme->addAlternateCSS(_("Printer"), 'phpwiki-printer.css', 'print, screen');
-$WikiTheme->addAlternateCSS(_("Modern"), 'phpwiki-modern.css');
-
-/**
- * The logo image appears on every page and links to the HomePage.
- */
-//$WikiTheme->addImageAlias('logo', 'logo.png');
-
-/**
- * The Signature image is shown after saving an edited page. If this
- * is not set, any signature defined in index.php will be used. If it
- * is not defined by index.php or in here then the "Thank you for
- * editing..." screen will be omitted.
- */
-
-// Comment this next line out to enable signature.
-$WikiTheme->addImageAlias('signature', false);
-
-/*
- * Link icons.
- */
-$WikiTheme->setLinkIcon('http');
-$WikiTheme->setLinkIcon('https');
-$WikiTheme->setLinkIcon('ftp');
-$WikiTheme->setLinkIcon('mailto');
-$WikiTheme->setLinkIcon('interwiki');
-$WikiTheme->setLinkIcon('*', 'url');
-
-//$WikiTheme->setButtonSeparator(' | ');
-
-/**
- * WikiWords can automatically be split by inserting spaces between
- * the words. The default is to leave WordsSmashedTogetherLikeSo.
- */
-$WikiTheme->setAutosplitWikiWords(true);
-
-/**
- * If true (default) show create '?' buttons on not existing pages, even if the 
- * user is not signed in.
- * If false, anon users get no links and it looks cleaner, but then they 
- * cannot easily fix missing pages.
- */
-$WikiTheme->setAnonEditUnknownLinks(false);
-
-/*
- * You may adjust the formats used for formatting dates and times
- * below.  (These examples give the default formats.)
- * Formats are given as format strings to PHP strftime() function See
- * http://www.php.net/manual/en/function.strftime.php for details.
- * Do not include the server's zone (%Z), times are converted to the
- * user's time zone.
- */
-//$WikiTheme->setDateFormat("%B %d, %Y");
-
-
 // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 // (c-file-style: "gnu")
 // Local Variables:
@@ -183,4 +106,4 @@
 // c-hanging-comment-ender-p: nil
 // indent-tabs-mode: nil
 // End:   
-?>
\ No newline at end of file
+?>
diff -ruN 1.3.12p3/themes/smaller/phpwiki.css 1.3.14/themes/smaller/phpwiki.css
--- 1.3.12p3/themes/smaller/phpwiki.css	2006-06-18 06:20:25.000000000 -0500
+++ 1.3.14/themes/smaller/phpwiki.css	2007-07-01 05:11:41.000000000 -0500
@@ -1,5 +1,5 @@
 /**
- * $Id: phpwiki.css,v 1.3 2005/06/22 05:20:47 rurban Exp $
+ * $Id: phpwiki.css,v 1.6 2006/09/06 06:13:50 rurban Exp $
  * We have two possibilities to override the default:
  * 1. import is ns4 incompatible
  * 2. add a 2nd css in themeinfo.php
@@ -12,22 +12,26 @@
  */
 body {
   /* ivory #ffe #fffff0*/
-  background: #fffff0;
+  background: #dddddd;
+  /* background: #000099; */
   font-family: Arial, Helvetica, sans-serif;
   font-size: 80%; /* The default is too large. But enlarge monospace below */
-  margin: 1.5ex 1em;
+  /*margin: 1.5ex 1em; */
 }
 
 /**
  * Link styles
  */
+/*
 .wiki, .named-wiki {
   text-decoration: none;
   font-weight: normal;
 }
+*/
 
 h1 { margin: 0; font-size: 140% }
 pre { font-size: 110% }
+td { font-size: 80% }
 
 /* For emacs users
  *
diff -ruN 1.3.12p3/themes/smaller/templates/actionbar.tmpl 1.3.14/themes/smaller/templates/actionbar.tmpl
--- 1.3.12p3/themes/smaller/templates/actionbar.tmpl	2006-06-18 06:20:25.000000000 -0500
+++ 1.3.14/themes/smaller/templates/actionbar.tmpl	2007-07-01 05:11:41.000000000 -0500
@@ -1,5 +1,6 @@
 <?php // -*-php-*-
-rcs_id('$Id: actionbar.tmpl,v 1.6 2005/04/23 11:43:44 rurban Exp $');
+rcs_id('$Id: actionbar.tmpl,v 1.9 2007/01/02 13:29:14 rurban Exp $');
+if (!$WikiTheme->DUMP_MODE) {
 // Only [Info] button when not signed in.
 // The rest behind Info
 ?>
@@ -13,19 +14,20 @@
 <tr valign="baseline">
   <td>
   <div id="actionbuttons">
-    <?php if ( $user->isSignedIn()) { ?>
-      <?php if ((!$page->get('locked') || $user->isAdmin()) and $revision) { ?>
-        <?= Button("edit", $revision->isCurrent() ? _("Edit") : _("Edit Old Revision")) ?>
-      <?php } else { ?>
-        <?= Button("viewsource", _("View Source")) ?>
+     <?php if ((!$page->get('locked') || $user->isAdmin()) and $revision) { ?>
+       <?= Button("edit", $revision->isCurrent() ? _("Edit") : _("Edit Old Revision")) ?>
+     <?php } else { ?>
+       <?= Button("viewsource", _("View Source")) ?>
      <?php } ?>
-     <?php if ($user->isAdmin() or mayAccessPage('change', $page->getName())) { ?>
-      <?=$SEP?><?= Button($page->get('locked') ? 'unlock' : 'lock') ?>
-      <?php if (ENABLE_PAGEPERM and mayAccessPage('change', $page->getName())) { ?>
+     <?php if ( $user->isSignedIn()) { ?>
+      <?php if ($user->isAdmin() or mayAccessPage('change', $page->getName())) { ?>
+       <?=$SEP?><?= Button($page->get('locked') ? 'unlock' : 'lock') ?>
+       <?php if (ENABLE_PAGEPERM and mayAccessPage('change', $page->getName())) { ?>
         <?=$SEP?><?= Button('chown') ?>
         <?=$SEP?><?= Button('setacl') ?>
+        <?=$SEP?><?= Button('rename') ?>
      <?php }} ?>
-     <?php if ($user->isAdmin() or mayAccessPage('remove', $page->getName())) { ?>
+     <?php if ($revision and ($user->isAdmin() or mayAccessPage('remove', $page->getName()))) { ?>
       <?=$SEP?><?= Button('revert',_("Revert"), $revision->isCurrent() ? $page->GetRevisionBefore() : $revision) ?>
       <?=$SEP?><?= Button('remove') ?>
      <?php } ?>
@@ -50,4 +52,5 @@
   </td>
 <?php } ?>
 </tr>
-</table>
\ No newline at end of file
+</table>
+<?php } ?>
diff -ruN 1.3.12p3/themes/smaller/templates/signin.tmpl 1.3.14/themes/smaller/templates/signin.tmpl
--- 1.3.12p3/themes/smaller/templates/signin.tmpl	2006-06-18 06:20:26.000000000 -0500
+++ 1.3.14/themes/smaller/templates/signin.tmpl	2007-07-01 05:11:41.000000000 -0500
@@ -1,5 +1,5 @@
 <?php // -*-php-*-
-rcs_id('$Id: signin.tmpl,v 1.6 2005/02/02 18:54:16 rurban Exp $');
+rcs_id('$Id: signin.tmpl,v 1.7 2005/10/30 14:27:53 rurban Exp $');
 
 if (empty($FORMNAME))
     $FORMNAME = 'signin';
diff -ruN 1.3.12p3/themes/smaller/themeinfo.php 1.3.14/themes/smaller/themeinfo.php
--- 1.3.12p3/themes/smaller/themeinfo.php	2006-06-18 06:20:26.000000000 -0500
+++ 1.3.14/themes/smaller/themeinfo.php	2007-07-01 05:11:41.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-rcs_id('$Id: themeinfo.php,v 1.5 2006/02/22 06:51:37 rurban Exp $');
+rcs_id('$Id: themeinfo.php,v 1.6 2007/07/01 09:36:10 rurban Exp $');
 /**
  * tiny actionbar, only Edit (if signed in) and Info => PageInfo,
  *   all other Actionbars buttons in info.tmpl
@@ -33,91 +33,10 @@
 
         return $this->makeButton($label, WikiURL($pagename, $attr), $class);
     }
+    
 }
 
 $WikiTheme = new Theme_smaller('smaller');
-// CSS file defines fonts, colors and background images for this
-// style.  The companion '*-heavy.css' file isn't defined, it's just
-// expected to be in the same directory that the base style is in.
-
-// This should result in phpwiki-printer.css being used when
-// printing or print-previewing with style "PhpWiki" or "MacOSX" selected.
-$WikiTheme->setDefaultCSS('PhpWiki',
-                       array(''      => 'phpwiki.css',
-                             'print' => 'phpwiki-printer.css'));
-
-// This allows one to manually select "Printer" style (when browsing page)
-// to see what the printer style looks like.
-$WikiTheme->addAlternateCSS(_("Printer"), 'phpwiki-printer.css', 'print, screen');
-$WikiTheme->addAlternateCSS(_("Top & bottom toolbars"), 'phpwiki-topbottombars.css');
-$WikiTheme->addAlternateCSS(_("Modern"), 'phpwiki-modern.css');
-
-if (isBrowserIE()) {
-    $WikiTheme->addMoreHeaders($WikiTheme->_CSSlink(0,
-        $WikiTheme->_findFile('IEFixes.css'),'all'));
-    $WikiTheme->addMoreHeaders("\n");
-}
-
-/**
- * The logo image appears on every page and links to the HomePage.
- */
-$WikiTheme->addImageAlias('logo', WIKI_NAME . 'Logo.png');
-
-/**
- * The Signature image is shown after saving an edited page. If this
- * is set to false then the "Thank you for editing..." screen will
- * be omitted.
- */
-
-$WikiTheme->addImageAlias('signature', WIKI_NAME . "Signature.png");
-// Uncomment this next line to disable the signature.
-$WikiTheme->addImageAlias('signature', false);
-
-/*
- * Link icons.
- */
-//$WikiTheme->setLinkIcon('http');
-$WikiTheme->setLinkIcon('https');
-$WikiTheme->setLinkIcon('ftp');
-$WikiTheme->setLinkIcon('mailto');
-//$WikiTheme->setLinkIcon('interwiki');
-//$WikiTheme->setLinkIcon('wikiuser');
-//$WikiTheme->setLinkIcon('*', 'url');
-
-//$WikiTheme->setButtonSeparator("\n | ");
-
-/**
- * WikiWords can automatically be split by inserting spaces between
- * the words. The default is to leave WordsSmashedTogetherLikeSo.
- */
-$WikiTheme->setAutosplitWikiWords(false);
-
-/**
- * Layout improvement with dangling links for mostly closed wiki's:
- * If false, only users with edit permissions will be presented the 
- * special wikiunknown class with "?" and Tooltip.
- * If true (default), any user will see the ?, but will be presented 
- * the PrintLoginForm on a click.
- */
-$WikiTheme->setAnonEditUnknownLinks(false);
-
-/*
- * You may adjust the formats used for formatting dates and times
- * below.  (These examples give the default formats.)
- * Formats are given as format strings to PHP strftime() function See
- * http://www.php.net/manual/en/function.strftime.php for details.
- * Do not include the server's zone (%Z), times are converted to the
- * user's time zone.
- */
-$WikiTheme->setDateFormat("%B %d, %Y");
-$WikiTheme->setTimeFormat("%H:%M");
-
-/*
- * To suppress times in the "Last edited on" messages, give a
- * give a second argument of false:
- */
-//$WikiTheme->setDateFormat("%B %d, %Y", false); 
-
 
 // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 // (c-file-style: "gnu")
diff -ruN 1.3.12p3/themes/SpaceWiki/SpaceWiki.css 1.3.14/themes/SpaceWiki/SpaceWiki.css
--- 1.3.12p3/themes/SpaceWiki/SpaceWiki.css	2006-06-18 06:20:26.000000000 -0500
+++ 1.3.14/themes/SpaceWiki/SpaceWiki.css	2007-07-01 05:11:41.000000000 -0500
@@ -1,5 +1,5 @@
 /**
- * $Id: SpaceWiki.css,v 1.7 2004/05/14 10:52:44 rurban Exp $
+ * $Id: SpaceWiki.css,v 1.8 2007/01/20 18:20:41 rurban Exp $
  *
  * This theme will probably be renamed something like "Space" to
  * avoid any potential copyright issues.
@@ -587,6 +587,14 @@
 .clear-floats {
   clear: both;
 }
+/**
+ * Search Results
+ */
+.search-context { background: white; font-style: oblique; }
+.search-term {
+  background: yellow;
+  font-weight: normal;
+}
 
 /* For emacs users
  *
diff -ruN 1.3.12p3/themes/SpaceWiki/themeinfo.php 1.3.14/themes/SpaceWiki/themeinfo.php
--- 1.3.12p3/themes/SpaceWiki/themeinfo.php	2006-06-18 06:20:26.000000000 -0500
+++ 1.3.14/themes/SpaceWiki/themeinfo.php	2007-07-01 05:11:41.000000000 -0500
@@ -1,6 +1,6 @@
 <?php // -*-php-*-
 
-rcs_id('$Id: themeinfo.php,v 1.5 2005/01/26 21:11:54 uckelman Exp $');
+rcs_id('$Id: themeinfo.php,v 1.6 2007/07/01 09:36:10 rurban Exp $');
 
 /**
  * This theme is by design completely css-based so unfortunately it
@@ -18,6 +18,7 @@
 require_once('lib/Theme.php');
 
 class Theme_SpaceWiki extends Theme {
+
     function getRecentChangesFormatter ($format) {
         include_once($this->file('lib/RecentChanges.php'));
         if (preg_match('/^rss|^sidebar/', $format))
@@ -31,54 +32,57 @@
             return false;       // use default
         return '_SpaceWiki_PageHistory_Formatter';
     }
+    
+    function load() {
+	// CSS file defines fonts, colors and background images for this
+	// style.  The companion '*-heavy.css' file isn't defined, it's just
+	// expected to be in the same directory that the base style is in.
+
+	$this->setDefaultCSS('SpaceWiki', 'SpaceWiki.css');
+	$this->addAlternateCSS(_("Printer"), 'phpwiki-printer.css', 'print, screen');
+	$this->addAlternateCSS(_("Modern"), 'phpwiki-modern.css');
+	$this->addAlternateCSS('PhpWiki', 'phpwiki.css');
+
+	/**
+	 * The logo image appears on every page and links to the HomePage.
+	 */
+	//$this->addImageAlias('logo', 'logo.png');
+	$this->addImageAlias('logo', 'Ufp-logo.jpg');
+	$this->addImageAlias('logo', WIKI_NAME . 'Logo.png');
+
+	/**
+	 * The Signature image is shown after saving an edited page. If this
+	 * is set to false then the "Thank you for editing..." screen will
+	 * be omitted.
+	 */
+	$this->addImageAlias('signature', 'lights.png');
+	$this->addImageAlias('signature', WIKI_NAME . "Signature.png");
+	// Uncomment this next line to disable the signature.
+	//$this->addImageAlias('signature', false);
+
+	$this->addImageAlias('hr', 'hr.png');
+
+	$this->setButtonSeparator(" ");
+
+	/**
+	 * WikiWords can automatically be split by inserting spaces between
+	 * the words. The default is to leave WordsSmashedTogetherLikeSo.
+	 */
+	//$this->setAutosplitWikiWords(false);
+
+	/**
+	 * The "stardate" format here is really just metricdate.24hourtime. A
+	 * "real" date2startdate conversion function might be fun but not very
+	 * useful on a wiki.
+	 */
+	$this->setTimeFormat("%H%M%S");
+	$this->setDateFormat("%Y%m%d"); // must not contain time
+
+    }
 }
 
 $WikiTheme = new Theme_SpaceWiki('SpaceWiki');
 
-// CSS file defines fonts, colors and background images for this
-// style.  The companion '*-heavy.css' file isn't defined, it's just
-// expected to be in the same directory that the base style is in.
-
-$WikiTheme->setDefaultCSS('SpaceWiki', 'SpaceWiki.css');
-$WikiTheme->addAlternateCSS(_("Printer"), 'phpwiki-printer.css', 'print, screen');
-$WikiTheme->addAlternateCSS(_("Modern"), 'phpwiki-modern.css');
-$WikiTheme->addAlternateCSS('PhpWiki', 'phpwiki.css');
-
-/**
- * The logo image appears on every page and links to the HomePage.
- */
-//$WikiTheme->addImageAlias('logo', 'logo.png');
-$WikiTheme->addImageAlias('logo', 'Ufp-logo.jpg');
-$WikiTheme->addImageAlias('logo', WIKI_NAME . 'Logo.png');
-
-/**
- * The Signature image is shown after saving an edited page. If this
- * is set to false then the "Thank you for editing..." screen will
- * be omitted.
- */
-$WikiTheme->addImageAlias('signature', 'lights.png');
-$WikiTheme->addImageAlias('signature', WIKI_NAME . "Signature.png");
-// Uncomment this next line to disable the signature.
-//$WikiTheme->addImageAlias('signature', false);
-
-$WikiTheme->addImageAlias('hr', 'hr.png');
-
-$WikiTheme->setButtonSeparator(" ");
-
-/**
- * WikiWords can automatically be split by inserting spaces between
- * the words. The default is to leave WordsSmashedTogetherLikeSo.
- */
-//$WikiTheme->setAutosplitWikiWords(false);
-
-/**
- * The "stardate" format here is really just metricdate.24hourtime. A
- * "real" date2startdate conversion function might be fun but not very
- * useful on a wiki.
- */
-$WikiTheme->setTimeFormat("%H%M%S");
-$WikiTheme->setDateFormat("%Y%m%d"); // must not contain time
-
 
 // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 // (c-file-style: "gnu")
diff -ruN 1.3.12p3/themes/wikilens/templates/body.tmpl 1.3.14/themes/wikilens/templates/body.tmpl
--- 1.3.12p3/themes/wikilens/templates/body.tmpl	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/themes/wikilens/templates/body.tmpl	2007-07-01 05:11:42.000000000 -0500
@@ -0,0 +1,34 @@
+<?php // -*-php-*-
+rcs_id('$Id: body.tmpl,v 1.1 2007/01/21 23:19:52 rurban Exp $');
+?>
+<body<?= $WikiTheme->getMoreAttr('body') ?>>
+
+<table><tr><td colspan="2" class="header">
+<div id="header">
+  <?= Template('top') ?>
+</div>
+</td></tr>
+<tr valign="top"><td class="leftnav" width="120">
+<div class="toolbar">
+  <?= Template('navbar') ?>
+</div>
+<hr>
+<?plugin IncludePage page="LeftbarContent" quiet="true" ?>
+</td><td class="content">
+
+<!-- Page title -->
+<h1><?= $HEADER ?>
+<?php if (!empty($user) && $user->isSignedIn()) {
+  $loader = new WikiPluginLoader();
+  printXML(HTML::Raw("&nbsp;&nbsp;"));
+  printXML($loader->expandPI("<"."?plugin RateIt ?".">", $request, $dbi->_markup));
+} ?> </h1>
+
+<div id="content">
+
+<?= $CONTENT ?>
+
+</div>
+<?= Template('bottom') ?>
+</td></tr></table>
+</body>
diff -ruN 1.3.12p3/themes/wikilens/templates/navbar.tmpl 1.3.14/themes/wikilens/templates/navbar.tmpl
--- 1.3.12p3/themes/wikilens/templates/navbar.tmpl	2006-06-18 06:20:27.000000000 -0500
+++ 1.3.14/themes/wikilens/templates/navbar.tmpl	2007-07-01 05:11:42.000000000 -0500
@@ -1,49 +1,42 @@
-<?php // -*-html-*-
-    rcs_id('$Id: navbar.tmpl,v 1.5 2004/11/15 16:04:35 rurban Exp $');
-
-    $s = $WikiTheme->getButtonSeparator();
+<?php // -*-php-*-
+  rcs_id('$Id: navbar.tmpl,v 1.6 2007/01/21 23:19:52 rurban Exp $');
+  $NSEP = HTML::br();
 ?>
-<!-- The top navigation/search bar -->
-<form action="<?= WikiURL(_("TitleSearch"))?>" target="_top"
-      method="get" accept-charset="<?=CHARSET?>">
-  <div id="navbuttons">
-   <?= WikiLink(_("RecentChanges"), "button") ?>
-   <?=$s?><?= WikiLink(_("FindPage"), "button") ?> :
-   <input type="hidden" name="auto_redirect" value="1" />
-      <?php if (! USE_PATH_INFO) { ?>
-      <input type="hidden" name="pagename" value="<?=
-_("TitleSearch")?>" />
-      <?php } ?>
-      <input type="hidden" name="nocache" value="purge" />
-      <input type="text"  name="s" size="20" maxlength="256"
-             title='<?=_("Quick Search")?>'
-             onmouseover="window.status='<?=
-_("Quick Search")?>'; return true;"
-             onmouseout="window.status=''; return true;" />
-    <?php if (!empty($revision)) { ?>
-     <?=$s?><?= Button("LikePages", _("LikePages")) ?>
-     <?=$s?><?= Button("BackLinks", _("BackLinks")) ?>
-    <?php } ?>
-    <?php if (!empty($user)) { ?>
-     <?=$s?>
-<?php
-$loader = new WikiPluginLoader();
-printXML($loader->expandPI("<"."?plugin RateIt ?".">", $request, $dbi->_markup));
-?>
-    <?php
-      /* Today's calendar page for the user, if the Calender subpage is defined. */
-      $UserCalPageTitle = $user->getId() . SUBPAGE_SEPARATOR . _("Calendar");
-      $dbi = $request->getDbh();
-      if ($dbi->isWikiPage($UserCalPageTitle)) {
+<!-- The left navigation/search bar -->
+<div id="navbuttons">
+<?php if (ENABLE_DISCUSSION_LINK) { ?>
+<?php // This requires Talk: map to end in "/Discussion"
+  if (!string_ends_with($page->getName(), _("Discussion"))) { ?>
+    <?=$NSEP?><?= WikiLink(new WikiPagename('Talk:'.$page->getName(), $page->getName()), 
+               'button', _("Discussion")) ?>
+  <?php } else { ?>
+    <?=$NSEP?><?= Button(array(),_("Article"),$page->getName()) ?>
+  <?php } ?>
+  <?=$NSEP?>
+<?php } ?>
+<?= WikiLink(_("RecentChanges"), "button") ?>
+<?=$NSEP?><?= Template('search', 
+		      array('SEARCH_BEFORE' => HTML::Button(_("FindPage"))))
+?><?php if (!empty($revision)) { ?>
+<?=$NSEP?><?= $WikiTheme->makeLinkButton($revision,_("LikePages"),_("LikePages")) 
+?><?=$NSEP?><?= $WikiTheme->makeLinkButton($revision,_("BackLinks"),_("BackLinks"))
+?><?=$NSEP?><?= WikiLink(_("UserPreferences"), 'button',_("Preferences")) ?><?php
+    /* Today's calendar page for the user, if the Calender subpage is defined. */
+    $UserCalPageTitle = $user->getId() . SUBPAGE_SEPARATOR . _("Calendar");
+    $dbi = $request->getDbh();
+    if ($dbi->isWikiPage($UserCalPageTitle)) {
         $UserCalPageTodayTitle = $UserCalPageTitle . SUBPAGE_SEPARATOR . strftime("%Y-%m-%d", time());
-        ?>
-     <?=$s?><?= WikiLink($UserCalPageTodayTitle, "button", _("Today")) ?>
-      <?php } ?>
-      <?php if (!empty($user) && $user->isAdmin()) { ?>
-     <?=$s?><?= WikiLink(_("PhpWikiAdministration"), "button", _("Admin")) ?>
-      <?php } ?>
-    <?php } ?></div>
-    <hr>
-      <!-- <''?plugin IncludePage page="LeftbarContent" quiet="true" ?''> -->
-
-</form>
\ No newline at end of file
+        //$UserCalPageTodayUrl = WikiURL($UserCalPageTodayTitle);
+?><?=$NSEP?><?= WikiLink($UserCalPageTodayTitle, "button", _("Today")) ?>
+<?php }} ?><?php if (!empty($user) && $user->isAdmin()) { ?>
+<?=$NSEP?><?= WikiLink(_("PhpWikiAdministration"), "button", _("Admin")) ?>
+<?php } ?></div>
+<?php if (DEBUG & 2) {
+        if (isset($links)) {
+            $p = $links->next();
+            $s = $p->_pagename;
+            while ($p = $links->next()) { $s .= ', ' . $p->_pagename; }
+            echo asXML(HTML::strong("PageLinks: "),$s ? HTML::em($s) : HTML::em('<none>'));
+        }
+} ?>
+</div>
diff -ruN 1.3.12p3/themes/wikilens/templates/newuserwelcomepage.tmpl 1.3.14/themes/wikilens/templates/newuserwelcomepage.tmpl
--- 1.3.12p3/themes/wikilens/templates/newuserwelcomepage.tmpl	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/themes/wikilens/templates/newuserwelcomepage.tmpl	2007-07-01 05:11:42.000000000 -0500
@@ -0,0 +1,30 @@
+<?php // -*-php-*-
+  rcs_id('$Id: newuserwelcomepage.tmpl,v 1.2 2004/09/09 15:40:18 syilek Exp $');
+  $dbi = $request->getDbh();
+?>
+<div>
+<h2>Welcome <?= $FRIEND ?></h2>
+<p>Welcome to <?= WIKI_NAME ?>.  A good place to learn about <?= WIKI_NAME ?> is to check out the <a href="<?= WikiUrl(WIKI_NAME.'/'
+._("Tutorial"), '', true); ?>"><?= WIKI_NAME ?> Tutorial</a></p>
+<br />
+<?php if ($PAGE1 || $PAGE2 || $PAGE3) { ?>
+Here are pages on WikiLens that <?= $SENDER ?> thinks you will be interested in:<br />
+<?php
+    for ($u = 1; $u <= 3; $u ++) {
+      $temp = "PAGE".$u;
+      $pagename = $$temp;
+      if ($dbi->isWikiPage($pagename)) {
+?>
+        <a href="<?= WikiUrl($pagename, '', true); ?>"><?= $pagename ?></a><br>
+<?php
+      }
+    }
+  }
+?>
+<br />
+<?php if ($dbi->isWikiPage($SENDERUSERNAME)) { ?>
+<p>Also, <?= $SENDER; ?> has his own homepage at <?= WIKI_NAME ?>: <a href="<?= WikiUrl($SENDERUSERNAME, '', true); ?>"><?= $SENDER ?>'s page</a></p> 
+<?php } ?>
+<br>
+<p>To create your own login on WikiLens, you can <a href="<?= WikiUrl('NewUserRegister', '', true) ?>">Register</a></p> 
+</div>
diff -ruN 1.3.12p3/themes/wikilens/templates/top.tmpl 1.3.14/themes/wikilens/templates/top.tmpl
--- 1.3.12p3/themes/wikilens/templates/top.tmpl	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/themes/wikilens/templates/top.tmpl	2007-07-01 05:11:42.000000000 -0500
@@ -0,0 +1,13 @@
+<?php // -*-php-*-
+rcs_id('$Id: top.tmpl,v 1.1 2007/01/21 23:19:52 rurban Exp $');
+global $HIDE_TOOLBARS;
+if (!$HIDE_TOOLBARS) { ?>
+<!-- The logo -->
+<div id="logo" style="height: 51px; 
+     background-image: url(<?=$WikiTheme->getImageURL('splice')?>); background-repeat: repeat-x;"
+><a class="wikilink" 
+    href="<?=WikiURL(HOME_PAGE)?>" target="_top"
+    ><img src="<?=$WikiTheme->getImageURL('logo')?>" id="logo-img"
+      border="0" alt="<?=fmt(_("%s: %s"), WIKI_NAME, HOME_PAGE) ?>" align="right" /></a>
+</div>
+<?php } ?>
diff -ruN 1.3.12p3/themes/wikilens/themeinfo.php 1.3.14/themes/wikilens/themeinfo.php
--- 1.3.12p3/themes/wikilens/themeinfo.php	2006-06-18 06:20:27.000000000 -0500
+++ 1.3.14/themes/wikilens/themeinfo.php	2007-07-01 05:11:42.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-rcs_id('$Id: themeinfo.php,v 1.8 2004/06/18 15:17:19 rurban Exp $');
+rcs_id('$Id: themeinfo.php,v 1.10 2007/07/01 09:36:10 rurban Exp $');
 /**
  * The wikilens theme is just a normal Theme (can be based on any, here based on default),
  * which additionally loads some wikilens libraries.
@@ -7,84 +7,89 @@
  */
 require_once('lib/Theme.php');
 
-$WikiTheme = new Theme('wikilens');
+class Theme_Wikilens extends Theme {
 
-// CSS file defines fonts, colors and background images for this
-// style.  The companion '*-heavy.css' file isn't defined, it's just
-// expected to be in the same directory that the base style is in.
-
-// This should result in phpwiki-printer.css being used when
-// printing or print-previewing with style "PhpWiki" or "MacOSX" selected.
-$WikiTheme->setDefaultCSS('PhpWiki',
-                       array(''      => 'phpwiki.css',
-                             'print' => 'phpwiki-printer.css'));
-
-// This allows one to manually select "Printer" style (when browsing page)
-// to see what the printer style looks like.
-$WikiTheme->addAlternateCSS(_("Printer"), 'phpwiki-printer.css', 'print, screen');
-$WikiTheme->addAlternateCSS(_("Top & bottom toolbars"), 'phpwiki-topbottombars.css');
-$WikiTheme->addAlternateCSS(_("Modern"), 'phpwiki-modern.css');
+    function load() {
+	// CSS file defines fonts, colors and background images for this
+	// style.  The companion '*-heavy.css' file isn't defined, it's just
+	// expected to be in the same directory that the base style is in.
+
+	// This should result in phpwiki-printer.css being used when
+	// printing or print-previewing with style "PhpWiki" or "MacOSX" selected.
+	$this->setDefaultCSS('PhpWiki',
+				  array(''      => 'wikilens.css',
+					'print' => 'phpwiki-printer.css'));
+
+	// This allows one to manually select "Printer" style (when browsing page)
+	// to see what the printer style looks like.
+	$this->addAlternateCSS(_("Printer"), 'phpwiki-printer.css', 'print, screen');
+	$this->addAlternateCSS(_("Top & bottom toolbars"), 'phpwiki-topbottombars.css');
+	$this->addAlternateCSS(_("Modern"), 'phpwiki-modern.css');
+
+	/**
+	 * The logo image appears on every page and links to the HomePage.
+	 */
+	$this->addImageAlias('logo', WIKI_NAME . 'Logo.png');
+
+	/**
+	 * The Signature image is shown after saving an edited page. If this
+	 * is set to false then the "Thank you for editing..." screen will
+	 * be omitted.
+	 */
+
+	$this->addImageAlias('signature', WIKI_NAME . "Signature.png");
+	// Uncomment this next line to disable the signature.
+	$this->addImageAlias('signature', false);
+
+	/*
+	 * Link icons.
+	 */
+	//$this->setLinkIcon('http');
+	$this->setLinkIcon('https');
+	$this->setLinkIcon('ftp');
+	$this->setLinkIcon('mailto');
+	//$this->setLinkIcon('interwiki');
+	$this->setLinkIcon('wikiuser');
+	//$this->setLinkIcon('*', 'url');
+
+	//$this->setButtonSeparator(HTML::br());
+
+	/**
+	 * WikiWords can automatically be split by inserting spaces between
+	 * the words. The default is to leave WordsSmashedTogetherLikeSo.
+	 */
+	//$this->setAutosplitWikiWords(false);
+
+	/**
+	 * Layout improvement with dangling links for mostly closed wiki's:
+	 * If false, only users with edit permissions will be presented the 
+	 * special wikiunknown class with "?" and Tooltip.
+	 * If true (default), any user will see the ?, but will be presented 
+	 * the PrintLoginForm on a click.
+	 */
+	$this->setAnonEditUnknownLinks(false);
+
+	/*
+	 * You may adjust the formats used for formatting dates and times
+	 * below.  (These examples give the default formats.)
+	 * Formats are given as format strings to PHP strftime() function See
+	 * http://www.php.net/manual/en/function.strftime.php for details.
+	 * Do not include the server's zone (%Z), times are converted to the
+	 * user's time zone.
+	 */
+	$this->setDateFormat("%B %d, %Y");
+	$this->setTimeFormat("%H:%M");
+
+	/*
+	 * To suppress times in the "Last edited on" messages, give a
+	 * give a second argument of false:
+	 */
+	//$this->setDateFormat("%B %d, %Y", false); 
 
-/**
- * The logo image appears on every page and links to the HomePage.
- */
-$WikiTheme->addImageAlias('logo', WIKI_NAME . 'Logo.png');
-
-/**
- * The Signature image is shown after saving an edited page. If this
- * is set to false then the "Thank you for editing..." screen will
- * be omitted.
- */
-
-$WikiTheme->addImageAlias('signature', WIKI_NAME . "Signature.png");
-// Uncomment this next line to disable the signature.
-$WikiTheme->addImageAlias('signature', false);
-
-/*
- * Link icons.
- */
-//$WikiTheme->setLinkIcon('http');
-$WikiTheme->setLinkIcon('https');
-$WikiTheme->setLinkIcon('ftp');
-$WikiTheme->setLinkIcon('mailto');
-//$WikiTheme->setLinkIcon('interwiki');
-$WikiTheme->setLinkIcon('wikiuser');
-//$WikiTheme->setLinkIcon('*', 'url');
-
-//$WikiTheme->setButtonSeparator("\n | ");
-
-/**
- * WikiWords can automatically be split by inserting spaces between
- * the words. The default is to leave WordsSmashedTogetherLikeSo.
- */
-//$WikiTheme->setAutosplitWikiWords(false);
-
-/**
- * Layout improvement with dangling links for mostly closed wiki's:
- * If false, only users with edit permissions will be presented the 
- * special wikiunknown class with "?" and Tooltip.
- * If true (default), any user will see the ?, but will be presented 
- * the PrintLoginForm on a click.
- */
-$WikiTheme->setAnonEditUnknownLinks(false);
-
-/*
- * You may adjust the formats used for formatting dates and times
- * below.  (These examples give the default formats.)
- * Formats are given as format strings to PHP strftime() function See
- * http://www.php.net/manual/en/function.strftime.php for details.
- * Do not include the server's zone (%Z), times are converted to the
- * user's time zone.
- */
-$WikiTheme->setDateFormat("%B %d, %Y");
-$WikiTheme->setTimeFormat("%H:%M");
-
-/*
- * To suppress times in the "Last edited on" messages, give a
- * give a second argument of false:
- */
-//$WikiTheme->setDateFormat("%B %d, %Y", false); 
+    }
+}
 
+$WikiTheme = new Theme_Wikilens('wikilens');
 require_once("lib/wikilens/CustomPrefs.php");
 require_once("lib/wikilens/PageListColumns.php");
 
diff -ruN 1.3.12p3/themes/wikilens/wikilens.css 1.3.14/themes/wikilens/wikilens.css
--- 1.3.12p3/themes/wikilens/wikilens.css	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/themes/wikilens/wikilens.css	2007-07-01 05:11:42.000000000 -0500
@@ -0,0 +1,56 @@
+/**
+ * $Id: wikilens.css,v 1.1 2007/01/21 23:26:09 rurban Exp $
+ * We have two possibilities to override the default:
+ * 1. import is ns4 incompatible
+ * 2. add a 2nd css in themeinfo.php
+ */
+
+@import url(../default/phpwiki.css);
+
+/**
+ * WikiLens overrides
+ */
+body {
+  /* ivory #ffe #fffff0*/
+  background: #FEFEFE;
+  font-size: 90%; /* The default is too large. But enlarge monospace below */
+  margin: 0;
+}
+
+div.wikitext {
+  margin-top:    0px;
+  margin-bottom: 0px;
+  background: #FEFEFE;
+}
+
+td.leftnav {
+  background: #F3F3F7;
+  padding: 8px;
+  /* "paper" borders */
+  padding-left:  0.3em;
+  padding-right: 0.2em;
+  padding-top:    0.5ex;
+  padding-bottom: 0.5ex;
+  margin: 0px;
+  border-right: 1px lavender solid;
+  border-bottom: 1px lavender solid;
+  width: fixed;
+}
+
+#logo img {
+  margin: 0;
+  float: left;
+  border: 0;
+}
+
+#toolbar {
+  margin: 1.5ex 1em 0 1em;
+}
+
+/* For emacs users
+ *
+ * Local Variables:
+ * mode: c
+ * c-file-style: cc-mode
+ * End:
+ */
diff -ruN 1.3.12p3/themes/Wordpress/templates/actionbar.tmpl 1.3.14/themes/Wordpress/templates/actionbar.tmpl
--- 1.3.12p3/themes/Wordpress/templates/actionbar.tmpl	2006-06-18 06:20:28.000000000 -0500
+++ 1.3.14/themes/Wordpress/templates/actionbar.tmpl	2007-07-01 05:11:42.000000000 -0500
@@ -1,5 +1,5 @@
 <?php // -*-php-*- ?>
-<!-- $Id: actionbar.tmpl,v 1.5 2005/09/11 15:23:08 rurban Exp $ -->
+<!-- $Id: actionbar.tmpl,v 1.6 2007/01/02 13:30:28 rurban Exp $ -->
 <div id="actionbar">
 
 <?php
@@ -9,6 +9,7 @@
   else
       $EditB = Button("viewsource", _("View Source"));
   // $EditB = fmt("%s of this page", $EditB);
+  if (empty($revision)) $revision = $page->getCurrentRevision(false);
 ?>
 
  <ul>
@@ -86,7 +87,7 @@
          <?plugin-form FullTextSearch formsize=20 ?>
        </li>
        <li>
-         <?php if (!empty($revision)) { ?>
+         <?php if ($revision) { ?>
            <?= Button("LikePages", _("LikePages")) ?>
          <?php } ?>
        </li>
@@ -98,4 +99,4 @@
      </ul>
    </li>
  </ul>
-</div>
\ No newline at end of file
+</div>
diff -ruN 1.3.12p3/themes/Wordpress/templates/browse.tmpl 1.3.14/themes/Wordpress/templates/browse.tmpl
--- 1.3.12p3/themes/Wordpress/templates/browse.tmpl	2006-06-18 06:20:28.000000000 -0500
+++ 1.3.14/themes/Wordpress/templates/browse.tmpl	2007-07-01 05:11:42.000000000 -0500
@@ -1,11 +1,11 @@
 <?php // -*-html-*- ?>
-<!-- $Id: browse.tmpl,v 1.1 2004/04/10 08:02:22 rurban Exp $ -->
+<!-- $Id: browse.tmpl,v 1.2 2007/01/02 13:29:14 rurban Exp $ -->
 <?php
 ?>
 
 <br clear="all" class="clear-floats" />
 
-<?php if (! $revision->isCurrent()) { ?>
+<?php if ($revision and !$revision->isCurrent()) { ?>
   <p><strong><?=_("Note:")?></strong>
      <?=_("You are viewing an old revision of this page.")?>
      <?= WikiLink($page, 'existing', _("View the current version"))?>.</p>
diff -ruN 1.3.12p3/themes/Wordpress/templates/editpage.tmpl 1.3.14/themes/Wordpress/templates/editpage.tmpl
--- 1.3.12p3/themes/Wordpress/templates/editpage.tmpl	2006-06-18 06:20:28.000000000 -0500
+++ 1.3.14/themes/Wordpress/templates/editpage.tmpl	2007-07-01 05:11:42.000000000 -0500
@@ -1,5 +1,5 @@
 <!-- -*-html-*- -->
-<!-- $Id: editpage.tmpl,v 1.4 2005/09/28 19:00:24 rurban Exp $ -->
+<!-- $Id: editpage.tmpl,v 1.7 2007/01/07 18:42:10 rurban Exp $ -->
 <?php /*
  * FIXME: Hack!
  * The funky URL used for the form action parameter is bogus.
@@ -36,15 +36,13 @@
     <tr><td><?= $EDIT_TOOLBAR ?></td>
         <td align="right"><div id="editarea-size">
     <?=_("Size").':'?>
-    <label for="pref[editHeight]"><b><?=_("H")?></b></label> <?=$HEIGHT_PREF?> 
-    <label for="pref[editWidth]"><b><?=_("W")?></b></label> <?=$WIDTH_PREF?>
+    <label for="pref-editHeight"><b><?=_("H")?></b></label> <?=$HEIGHT_PREF?> 
+    <label for="pref-editWidth"><b><?=_("W")?></b></label> <?=$WIDTH_PREF?>
     <noscript><?=Button("submit:", _("Adjust"), 'wikiaction')?></noscript>
   </div></td></tr></table>
-<br />
-  <?=$OLD_MARKUP_CB?>  <?=_("Use old markup")?>
 </p>
 <a name="editarea" id="editarea"><?=$EDIT_TEXTAREA?></a>
-<br />
+<br /><small>
 <?=_("Summary")?>: <?= $SUMMARY_INPUT ?>
 <br />
 <?php if (ENABLE_CAPTCHA) { ?>
@@ -54,10 +52,16 @@
 <?= fmt("Author will be logged as %s.", HTML::em($user->getId())) ?>
 <br />
 <?= $MINOR_EDIT_CB ?>
-<?= fmt("I'm just doing minor edits. Please divert the usual logging to %s instead.",
-        WikiLink(_("RecentEdits"))) ?>
+  <label for="edit-minor_edit">
+  <?= fmt("I'm just doing minor edits. Please divert the usual logging to %s instead.",
+        WikiLink(_("RecentEdits"))) ?></label>
+<br />
+<?=$OLD_MARKUP_CB?> <label for="useOldMarkup"><?=_("Use old markup")?> </label> <?=$OLD_MARKUP_CONVERT?> 
+  <?php if ($user->isAdmin()) { ?> 
+    <?=$SEP?><?= $LOCKED_CB ?> <label for="edit-locked"><?=_("Locked")?></label>
+   <?php } ?>
+</small>
 <br />
-
 <?php if (isset($PREVIEW_CONTENT)) { ?>
   <hr />
   <p><strong><?=_("Preview only!  Changes not saved.")?></strong></p>
@@ -83,13 +87,13 @@
 
 <div id="oldMarkup" class="wiki-edithelp">
 <!-- FIXME: do we need this at all?  If so, it could probably be moved to TextFormattingRules -->
-<p><?= fmt("See %s tips for editing.", WikiLink(_("GoodStyle"))) ?></p>
-<?plugin IncludePage page=_("OldTextFormattingRules") section=_("Synopsis") quiet=1?>
+<p><?= fmt("See %s tips for editing.", WikiLink(_("Help/GoodStyle"))) ?></p>
+<?plugin IncludePage page=_("Help/OldTextFormattingRules") section=_("Synopsis") quiet=1?>
 </div>
 <div id="newMarkup" class="wiki-edithelp">
 <!-- FIXME: do we need this at all?  If so, it could probably be moved to TextFormattingRules -->
-<p><?= fmt("See %s tips for editing.", WikiLink(_("GoodStyle"))) ?></p>
-<?plugin IncludePage page=_("TextFormattingRules") section=_("Synopsis") quiet=1?>
+<p><?= fmt("See %s tips for editing.", WikiLink(_("Help/GoodStyle"))) ?></p>
+<?plugin IncludePage page=_("Help/TextFormattingRules") section=_("Synopsis") quiet=1?>
 </div>
 <?=$HIDDEN_INPUTS?>
 </form>
diff -ruN 1.3.12p3/themes/Wordpress/templates/signin.tmpl 1.3.14/themes/Wordpress/templates/signin.tmpl
--- 1.3.12p3/themes/Wordpress/templates/signin.tmpl	2006-06-18 06:20:28.000000000 -0500
+++ 1.3.14/themes/Wordpress/templates/signin.tmpl	2007-07-01 05:11:42.000000000 -0500
@@ -1,6 +1,6 @@
 <?php // -*-php-*-
 // MPickering: modified; this will be enclosed within an ul
-rcs_id('$Id: signin.tmpl,v 1.3 2004/06/14 11:26:51 rurban Exp $');
+rcs_id('$Id: signin.tmpl,v 1.4 2007/01/02 13:29:31 rurban Exp $');
 
 if (empty($FORMNAME))
     $FORMNAME = 'signin';
@@ -14,12 +14,11 @@
 <?php } ?>
 <?php
 if ($user->isAuthenticated()) {
-    $Sep = $WikiTheme->getButtonSeparator();
     $SignOutB = $WikiTheme->makeButton(_("Sign Out"), "javascript:SignOut();", 'wikiaction');
 ?>
 <span>
   <?= fmt("Authenticated as %s", WikiLink($user->getAuthenticatedId(), 'auto')) ?>
-  <?=$Sep?>
+  <?=$SEP?>
 </span>
   <script language="JavaScript" type="text/javascript"><!--
     document.write('<br /><input type="hidden" name="auth[logout]" value="0" />');
@@ -76,4 +75,4 @@
 <?php if (empty($NOFORM)) { ?>
   </form>
  </li>
-<?php } ?>
\ No newline at end of file
+<?php } ?>
diff -ruN 1.3.12p3/themes/Wordpress/templates/viewsource.tmpl 1.3.14/themes/Wordpress/templates/viewsource.tmpl
--- 1.3.12p3/themes/Wordpress/templates/viewsource.tmpl	2006-06-18 06:20:28.000000000 -0500
+++ 1.3.14/themes/Wordpress/templates/viewsource.tmpl	2007-07-01 05:11:43.000000000 -0500
@@ -1,9 +1,11 @@
 <!-- -*-html-*- -->
-<!-- $Id: viewsource.tmpl,v 1.3 2004/06/14 11:26:51 rurban Exp $ -->
+<!-- $Id: viewsource.tmpl,v 1.4 2007/01/02 13:30:28 rurban Exp $ -->
 
 <div class="wikitext" id="viewform">
 
-<?php if ($page->get('locked') && !$user->isAdmin()) { ?>
+<?php 
+if (empty($revision)) $revision = $page->getCurrentRevision(false);
+if ($page->get('locked') && !$user->isAdmin()) { ?>
   <p><strong><?=_("Note:")?></strong>
   <?=_("This page has been locked by the administrator and cannot be edited.")?></p>
 <?php } ?>
diff -ruN 1.3.12p3/themes/Wordpress/themeinfo.php 1.3.14/themes/Wordpress/themeinfo.php
--- 1.3.12p3/themes/Wordpress/themeinfo.php	2006-06-18 06:20:28.000000000 -0500
+++ 1.3.14/themes/Wordpress/themeinfo.php	2007-07-01 05:11:43.000000000 -0500
@@ -1,5 +1,5 @@
 <?php
-rcs_id('$Id: themeinfo.php,v 1.5 2005/01/20 10:09:27 rurban Exp $');
+rcs_id('$Id: themeinfo.php,v 1.6 2007/07/01 09:36:10 rurban Exp $');
 
 /*
  * This file defines an appearance ("theme") of PhpWiki similar to the 
@@ -10,6 +10,7 @@
 require_once('lib/Theme.php');
 
 class Theme_Wordpress extends Theme {
+
     function linkUnknownWikiWord($wikiword, $linktext = '') {
         global $request;
         if (isa($wikiword, 'WikiPageName')) {
@@ -49,60 +50,62 @@
             return false;       // use default
         return '_Wordpress_PageHistory_Formatter';
     }
+
+    function load() {
+	// CSS file defines fonts, colors and background images for this
+	// style.  The companion '*-heavy.css' file isn't defined, it's just
+	// expected to be in the same directory that the base style is in.
+
+	$this->setDefaultCSS('Wordpress', 'Wordpress.css');
+	$this->addAlternateCSS(_("Printer"), 'phpwiki-printer.css', 'print, screen');
+	$this->addAlternateCSS(_("Modern"), 'phpwiki-modern.css');
+	$this->addAlternateCSS('PhpWiki', 'phpwiki.css');
+
+	/**
+	 * The logo image appears on every page and links to the HomePage.
+	 */
+	//$this->addImageAlias('logo', 'logo.png');
+
+	/**
+	 * The Signature image is shown after saving an edited page. If this
+	 * is not set, any signature defined in index.php will be used. If it
+	 * is not defined by index.php or in here then the "Thank you for
+	 * editing..." screen will be omitted.
+	 */
+	$this->addImageAlias('signature', 'signature.png');
+
+	/*
+	 * Link icons.
+	 */
+	//$this->setLinkIcon('http');
+	//$this->setLinkIcon('https');
+	//$this->setLinkIcon('ftp');
+	//$this->setLinkIcon('mailto');
+	//$this->setLinkIcon('interwiki');
+	//$this->setLinkIcon('*', 'url');
+
+	$this->setButtonSeparator(' ');
+
+	/**
+	 * WikiWords can automatically be split by inserting spaces between
+	 * the words. The default is to leave WordsSmashedTogetherLikeSo.
+	 */
+	$this->setAutosplitWikiWords(false);
+
+	/*
+	 * You may adjust the formats used for formatting dates and times
+	 * below.  (These examples give the default formats.)
+	 * Formats are given as format strings to PHP strftime() function See
+	 * http://www.php.net/manual/en/function.strftime.php for details.
+	 * Do not include the server's zone (%Z), times are converted to the
+	 * user's time zone.
+	 */
+	$this->setDateFormat("%B %d, %Y", false);
+    }
 }
 
 $WikiTheme = new Theme_Wordpress('Wordpress');
 
-// CSS file defines fonts, colors and background images for this
-// style.  The companion '*-heavy.css' file isn't defined, it's just
-// expected to be in the same directory that the base style is in.
-
-$WikiTheme->setDefaultCSS('Wordpress', 'Wordpress.css');
-$WikiTheme->addAlternateCSS(_("Printer"), 'phpwiki-printer.css', 'print, screen');
-$WikiTheme->addAlternateCSS(_("Modern"), 'phpwiki-modern.css');
-$WikiTheme->addAlternateCSS('PhpWiki', 'phpwiki.css');
-
-/**
- * The logo image appears on every page and links to the HomePage.
- */
-//$WikiTheme->addImageAlias('logo', 'logo.png');
-
-/**
- * The Signature image is shown after saving an edited page. If this
- * is not set, any signature defined in index.php will be used. If it
- * is not defined by index.php or in here then the "Thank you for
- * editing..." screen will be omitted.
- */
-$WikiTheme->addImageAlias('signature', 'signature.png');
-
-/*
- * Link icons.
- */
-//$WikiTheme->setLinkIcon('http');
-//$WikiTheme->setLinkIcon('https');
-//$WikiTheme->setLinkIcon('ftp');
-//$WikiTheme->setLinkIcon('mailto');
-//$WikiTheme->setLinkIcon('interwiki');
-//$WikiTheme->setLinkIcon('*', 'url');
-
-$WikiTheme->setButtonSeparator(' ');
-
-/**
- * WikiWords can automatically be split by inserting spaces between
- * the words. The default is to leave WordsSmashedTogetherLikeSo.
- */
-$WikiTheme->setAutosplitWikiWords(false);
-
-/*
- * You may adjust the formats used for formatting dates and times
- * below.  (These examples give the default formats.)
- * Formats are given as format strings to PHP strftime() function See
- * http://www.php.net/manual/en/function.strftime.php for details.
- * Do not include the server's zone (%Z), times are converted to the
- * user's time zone.
- */
-$WikiTheme->setDateFormat("%B %d, %Y", false);
-
 
 // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 // (c-file-style: "gnu")
diff -ruN 1.3.12p3/themes/Wordpress/Wordpress.css 1.3.14/themes/Wordpress/Wordpress.css
--- 1.3.12p3/themes/Wordpress/Wordpress.css	2006-06-18 06:20:28.000000000 -0500
+++ 1.3.14/themes/Wordpress/Wordpress.css	2007-07-01 05:11:43.000000000 -0500
@@ -1,10 +1,7 @@
 /**
- * $Id: Wordpress.css,v 1.4 2005/01/26 20:49:32 uckelman Exp $
+ * $Id: Wordpress.css,v 1.7 2007/01/20 18:20:41 rurban Exp $
  *
- * PhpWiki's Portland style sheet based on the original Wiki
- *
- * Styles are kept to a minimum, so the page will mostly appear
- * according to the browser's default font settings.
+ * PhpWiki's Wordpress style sheet contributed by Mike Pickering
  */
 
 /* 
@@ -168,7 +165,7 @@
 
 #actionbar ul li {
         font: italic normal 100% 'Times New Roman', Times, serif;
-        letter-spacing: 100%;
+        letter-spacing: 0.1em;
         margin-top: 10px;
         padding-bottom: 2px; /*border-bottom: dotted 1px #ccc;*/
 }
@@ -186,7 +183,7 @@
 #actionbar ul ul li {
         border: 0;
         font: normal 70% Verdana, sans-serif;
-        letter-spacing: 100%;
+        letter-spacing: 0;
         margin-top: 0;
         padding: 0 0 1px 12px;
 }
@@ -214,7 +211,7 @@
 .cal a {
         /* display: block; */
         text-decoration: none;
-        font: normal;
+        font-style: normal;
 }
 
 .cal a:hover {
@@ -290,3 +287,697 @@
   background-color: #fff;
   border: 1px solid ButtonFace;
 }
+#editarea-size {
+  margin-top: 1ex;
+  text-align: right;
+  font-size: smaller;
+}
+#search-replace {
+  margin-top: 1ex;
+  text-align: left;
+  font-size: smaller;
+}
+#toolbar { padding:0px; }
+
+/**
+ * Search Results
+ */
+.search-context { background: white; font-style: oblique; }
+.search-term {
+  background: yellow;
+  font-weight: normal;
+}
+#LSResult {
+  position: absolute;
+  text-align: left;
+  display: none;
+  z-index: 100;
+  background-color: white;
+  border: 1px solid #d0d0d0; 
+  font-size: 9px;
+  overflow: hidden;
+}
+#LSHighlight {
+  background-color: #f08000;
+}
+#LSResult .evenrow {
+  background-color: #f0f0f0;
+} 
+#LSREsult .oddrow {
+} 
+.LSEnd {
+  text-align: right;
+}
+.LSRow:hover {
+  background-color: white;
+}
+.LSRow {
+  padding: 1px;
+} 
+ul.LSRes {
+  margin: 0px;
+  padding: 0px;
+}
+li.LSRow {
+  margin: 0px;
+  list-style-image: none;
+}
+
+/* IncludePage plugin */
+.transclusion-title {
+  text-align: right;
+  font-style: oblique;
+  font-size:  smaller;
+  text-decoration: underline;
+  margin-bottom: 0.25ex;
+  margin-right:  0.25em;
+} 
+.transclusion, .wiki-edithelp {
+  font-size: smaller;
+}
+.transclusion {
+  border: 1px solid gray;
+  padding-left:  0.8em; 
+  padding-right: 0.8em; 
+  padding-top:     0px;
+  padding-bottom:  0px;
+  margin-left:   0.25em;
+  margin-right:  0.25em;
+  margin-bottom: 0.1ex;
+}
+.wiki-edithelp {
+  background: white;
+  border: medium solid #fff8dc; /* darker ivory */
+  padding-left:  0.5em;
+  padding-right: 0.5em;
+  padding-top:    0.75ex;
+  padding-bottom: 0.75ex;
+  margin-left:  0;
+  margin-right: 0;
+  margin-top: 1ex;
+  margin-bottom: 1ex;
+}
+.wiki-edithelp .wiki {
+  /* color: #5454ff;*/
+}
+.wiki-edithelp p {
+  font-family: Arial, Helvetica, sans-serif;
+  padding-left:  0.5em;
+  padding-right: 0.5em;
+  padding-top:    0.5ex;
+  padding-bottom: 0.5ex;
+  margin: 0;
+}
+
+
+/**
+ * Calendar plugin
+ */
+table.cal {
+  border: 1px outset gray;
+  background: white;
+  margin: 0.5ex 0.5em;
+  padding: 1px;
+  /* For Mozilla */
+  empty-cells: hide;
+} 
+
+/* cells */
+table.cal td {
+  background: white;
+  text-align: right;
+} 
+
+/* Month-name header */
+table.cal-header { font-size: larger; }
+table.cal-header tr, table.cal-header td { text-align: center; }
+.cal-arrow {
+  font-weight: bold;
+  text-decoration: none;
+}
+
+/* Day-names header */
+table.cal tbody tr .cal-dayname {  }
+.cal-dayname td {
+  text-align: center;
+  font-size: smaller;
+  text-decoration: underline;
+}
+
+/* Individual days */
+a.cal-hide { text-decoration: none; }
+
+/* Today */
+ /* cell */
+table.cal td.cal-today {
+  margin: 1px;
+  border: 1px solid gray;
+}
+ /* text */
+table.cal td.cal-today a.cal-hide {  }
+
+/**
+ * Diff Output
+ */
+/* main box */
+.diff {
+  margin-top:    1ex;
+  margin-bottom: 0.5ex;
+  background: white;
+  /* Netscape 4 requires this 1px border.
+     Without it, the paper borders below cause
+     the white background to disappear. */
+  border: 1px #ccc solid;
+  color: black;
+  border-top: 1px solid #494f5d;
+  border-left:  1px solid #494f5d;
+  border-bottom:  1px solid #c6d2de;
+  border-right: 1px solid #c6d2de;
+  padding-top:    1px;
+  padding-bottom: 1px;
+  padding-left:  .125em;
+  padding-right: .125em;
+  padding: 0;
+  /* "paper" borders */
+  /*border-top: 2px #d2d2d2 solid;
+  border-left:  2px #b2b2b2 solid;
+  border-bottom:  2px #e8e6df solid;
+  border-right: 2px #e8e6df solid;*/
+/*  padding-left:  0em; 
+  padding-bottom: 0ex;*/
+/*  border-style: inset;*/
+  /*This breaks Netscape 4: (display does not go full width).
+   * width: auto;
+   */
+  /* I'm not sure what the intent of this was, but it's
+   *  not valid CSS: */
+  /* display: editarea; */
+  clear: both;
+}
+.diff .block {
+  background: #ddd;
+  padding-left: 1em;
+  /* for NS4 */
+  /*border: none;*/
+}
+
+/* individual blocks */
+.diff .context {
+  background: white;
+  /* for NS4 */
+  border: none;
+}
+/* entire difftextblock */
+.difftext {
+  margin-top:    0;
+  margin-bottom: 0;
+  background: white;
+  /* Netscape 4 requires this 1px border.
+     Without it, the paper borders below cause
+     the white background to disappear. */
+  border: 1px black solid;
+  /* "paper" borders */
+  border-top:  1px #e8e6df solid;
+  border-left: 1px #e8e6df solid;
+  border-bottom: 1px #d2d2d2 solid;
+  border-right:  1px #b2b2b2 solid;
+  padding-left:  0em; 
+  padding-right: 0em;
+  padding-top:    0ex;
+  padding-bottom: 0ex;
+  /*This breaks Netscape 4: (display does not go full width).
+   * width: auto;
+   */
+  clear: both;
+}
+/* + - line prefix */
+.diff .block tt {
+  font-weight: normal;
+  font-family: monospace;
+  color: black;
+  /* for NS4 */
+  margin-left: 0;
+  border: none;
+}
+/* changed words */
+.diff del, .diff ins {
+  font-weight: bold;
+  text-decoration: none;
+}
+
+/* blocks containing deleted or added words */
+.diff .original, .diff .deleted,
+.diff .final, .diff .added {
+  background: white;
+}
+/* blocks containing deleted words */
+.diff .original, .diff .deleted {
+  background: #fcc;
+  /* for NS4 */
+  border: none;
+}
+/* blocks containing added words */
+.diff .final, .diff .added {
+  background: #cfc;
+  /* for NS4 */
+  border: none;
+}
+
+/* These don't work in NS4 -- it completely ignores <del> and <ins>. */
+/* deleted words */
+.diff del { background: #f99; }
+/* added words */
+.diff ins { background: #9f9; }
+
+
+/**
+ * PageHistory, Info
+ */
+td.pageinfo { font-weight: bold; }
+.pageinfo-minoredit, .pageinfo-authorid {
+  font-size: smaller;
+  font-style: oblique;
+}
+
+
+/**
+ * Other
+ */
+.printer, .no-css { display: none; }
+
+/* PHP Warnings */
+div.errors {
+  color: black;
+  background: #eee;
+  margin-top:    1em;
+  margin-bottom: 1em;
+  padding-left:  0.8em; 
+  padding-right: 0.8em; 
+  padding-top:    0.8ex;
+  padding-bottom: 0;
+  border: medium solid red;
+  clear: both;
+}
+h4.errors {
+  color: red;
+  margin:  0;
+  padding: 0;
+  text-decoration: underline;
+}
+div.warning {
+  color: black;
+  background: #eee;
+  margin-top:    1em;
+  margin-bottom: 1em;
+  padding-left:  0.8em; 
+  padding-right: 0.8em; 
+  padding-top:    0.8ex;
+  padding-bottom: 0;
+  border: thin solid blue;
+  clear: both;
+}
+.error { font-family: monospace; font-size: 120%; }
+.error ul { font-family: monospace; }
+
+/* Debug */
+.debug {
+  color: black;
+  background: white;
+  font-family: monospace;
+  font-size: smaller;
+  margin: 1ex 0;
+  padding: 0.5ex 0.5em;
+  border: medium solid #fff8dc; /* darker ivory */
+}
+
+/* Hints */
+.hint {
+  color: black;
+  background: #eeeeee;
+   /* font-size: smaller; */
+  font-style: italic;
+  margin-left: 3em;
+  padding: 0.5ex 0.5em;
+  border: thin solid #aaaaaa;
+}
+span.hint {
+  padding: 0;
+}
+
+/* Disabled Plugins */
+.disabled-plugin
+{
+  clear: both;
+  margin: 1ex 0;
+  padding: 0;
+}
+.disabled-plugin .title {
+  color: #400;
+  background-color: inherit;
+  font-size: x-small;
+  text-align: right;
+  padding: 0 0.5em;
+}
+.disabled-plugin pre {
+  color: black;
+  background: #ddd;
+  margin: 0;
+  padding: 0.3ex 0.5em;
+}
+
+/* "(Redirected from ...)" message. */
+span.redirectfrom {
+  font-size: small;
+  font-style: oblique;
+  font-weight: normal;
+  padding-left: 1em;
+}
+
+
+/*
+ * Vertical margins around block elements.
+ */
+
+p { margin: 1em 0; }		/* Normal ("loose") paragraphs */
+li p, dd p, td p { margin: 1ex 0; } /* Paragraphs within lists are a little tighter. */
+  
+/* ul, ol, dl { margin: 0.2ex 0; }	/* A little room around lists. */
+/* li ul, li ol, li dl,
+dd ul, dd ol, dd dl { margin: 0 0; } /* but not around sub-lists. */
+
+/* Normal ("loose") list elements */
+li.tightenable { margin: 1em 0; }
+dt.tightenable { margin-top: 1em; }
+dd.tightenable { margin-bottom: 1.5ex; }
+
+  
+li.tightenable.top,
+dt.tightenable.top,
+dd.tightenable.top {
+  margin-top: 0.2ex;
+}
+li li.tightenable.top {
+  margin-top: 0;
+}
+li.tightenable.bottom,
+dd.tightenable.bottom {
+  margin-bottom: 0.2ex;
+}
+li li.tightenable.bottom {
+  margin-bottom: 0;
+}
+
+.tightenable.top {
+  margin-top: 0;
+}
+.tightenable.bottom {
+  margin-bottom: 0;
+}
+
+/*
+ * "DL tables"
+ */
+.wiki-dl-table {
+  border-collapse: collapse;
+  border: 2px #444 solid;
+}
+.wiki-dl-table tr {
+  border-top: 2px #444 solid;
+  border-bottom: 2px #444 solid;
+  border-left: none; 
+  border-right: none; 
+}
+.wiki-dl-table tr.tightenable.top {
+  border-top: 1px #444 solid;
+}
+.wiki-dl-table tr.tightenable.bottom {
+  border-bottom: 1px #444 solid;
+}
+.wiki-dl-table th,
+.wiki-dl-table td {
+  padding: 0.25em 0.5em;
+}
+.wiki-dl-table th {
+  vertical-align: top;
+  text-align: right;
+  border-right: 1px #444 solid;
+  border-left: none;
+  border-top: none;
+  border-bottom: none;
+}
+.wiki-dl-table td {
+  border: none;
+}
+
+/*
+ * "E-mail" style blockquote
+ */
+blockquote.mail-style-quote {
+  border-left: medium #284 solid;
+  padding-left: 1em;
+  margin-left: 0;
+  margin-right: 0;
+}
+.mail-style-quote blockquote.mail-style-quote {
+  margin-left: -0.6em;
+}
+
+
+/*
+ * wikiblog
+ */
+.floatleft { float: left; }
+.floatright { float: right; }
+
+div.wikiblog {
+  /* border: thin black solid; */
+  margin: 1ex 2em;
+  padding: 0 0;
+}
+div.wikiblog > div {
+  margin: 0 0;
+  padding: 0.5ex 0.5em;
+}
+div.wikiblog-header {
+  /* background-color: #ccf; */
+}
+div.wikiblog > div.wikiblog-footer {
+  /* background-color: #eee; */
+  padding: 0.2ex 0.5em;
+}
+h3.wikiblog-summary {
+  font-size: medium;
+  font-weight: bold;
+  margin: 0 0 1ex 0;
+}
+
+div.wikiblog.wikiblog-form {
+  /* background-color: #eee; */
+}
+
+table.wikiblog-form {
+  width: auto;
+  border-collapse: collapse;
+  margin: 0.25em 0;
+}
+.wikiblog-form caption {
+  /* background-color: #ccf; */
+  caption-side: top;
+  font-weight: bold;
+  text-align: left;
+  padding: 0.5ex 0.5em;
+}
+.wikiblog-form th {
+  vertical-align: top;
+  text-align: right;
+  padding: 0 0 0.3em 0.5em;
+}
+.wikiblog-form td {
+  padding: 0.25em 0.5em;
+}
+.wikiblog-form td.submit-button {
+  padding: 0;
+}
+.wikiblog-form input[type=text],
+.wikiblog-form textarea {
+  margin: 0 0;
+  width: 100%;
+}
+div.wikicomment div.wikicomment-footer {
+  padding: 0.2ex 0.5em;
+}
+div.wikicomment div.wikicomment-footer named-wiki {
+  font-size: small;
+}
+table.interwiki-map {
+  margin: 1em 2em;
+}
+.interwiki-map th {
+  text-decoration: underline;
+  text-align: left;
+  padding-left: 1em;
+}
+.interwiki-map td.interwiki-url {
+  padding-left: 2em;
+}
+.interwiki-map th.interwiki-url {
+  padding-left: 3em;
+}
+
+.dialog {
+  background-color: #cdf;
+  color: black;
+  margin: 2em auto 2em auto;
+  border: thin black solid;
+  width: 50%;
+}
+.dialog h1, .dialog p, .dialog div {
+  text-align: center;
+}
+.dialog h1 {
+  font-size: large;
+  margin: 0.5em 0 1em 0;
+}
+.dialog div.message {
+  background-color: white;
+  color: black;
+  color: black;
+  margin: 0 1em;
+  padding: 0.5em 0.5em;
+}
+.dialog p.buttons {
+  margin: 1em 0 0.5em 0;
+}
+
+
+.clear-floats {
+  clear: both;
+}
+
+
+/* postnuke css:*/
+.gensmall{font-size:10px}
+.genmed{font-size:11px}
+td.cat{font-weight:bold;letter-spacing:1px;color:#000000;background: url(./images/cellpic1.png);height:27px}
+/* Main table cell colours and backgrounds */
+td.row1{background:#eaedf4;color:#000000}
+td.row2{background:#d9e2ec;color:#000000}
+td.row3{background:#cad9ea;color:#000000}
+td.spacerow{background:#cad9ea;color:#000000}
+
+/* This is the outline round the main forum tables */
+.forumline{background:#ffffff;color:#000000;border:1px solid #006699}
+
+/* Sidebar */
+.box { background:#ffffff; border: 1px solid silver }
+.box-title { font-family: Tahoma; font-weight: normal; /*font-size: 11pt; */ background-color: #ccc; color: black; /*font-style: menu;*/ text-align: center; border: none; padding: 2px 0 2px 0;}
+.box-data { width: 160px; font-size: 9pt; font-weight: normal; border: none; }
+.box-data .wiki { font-weight: normal; }
+td.sidebar { border-spacing: 0px; margin: 0ex;}
+
+/* plugin BoxRight */
+div.boxright {
+  width: 200px; 
+  right: 10px;
+  padding: 0.5em; 
+  float: right; 
+  border: thin solid #888888; 
+  padding: 0.5em;
+}
+
+/* RssFeed */
+div.rss { margin: 1em; padding: 1em; font-size: 0.9em; background-color: #eeeeee; border: thin dashed #aaa; }
+div.feed { color: #333; margin: -0.5em; margin-bottom: 0em; padding: 0.3em; font-weight: bold; background-color: #f2f2f2; font-size: 1.2em; }
+div.itemdesc {  padding-left: 1em; }
+div.rssitem { border-top: thin dashed #aaa; }
+
+/* SqlResult */
+table.sqlresult { 
+  border: 1px outset gray;
+  background: white;
+  margin: 0.5ex 0.5em;
+  padding: 1px;
+}
+.sqlresult tr.evenrow { background: #eee; }
+.sqlresult tr.oddrow  { background: white; }
+table.sqlresult td {
+  margin: 1px;
+  border: 1px solid gray;
+}
+
+/**
+ * TeX2png plugin
+ */
+img.tex { 
+  border: 0ex;
+  vertical-align: middle; 
+}
+
+/**
+ * PhotoAlbum plugin
+ */
+.boldsmall {
+  font-weight: bold;
+  font-size: 11px;
+}
+
+
+.wikiwyg_toolbar {
+    background: #D3D3D3;
+    border: 1px outset;
+    letter-spacing: 0;
+    padding: 2px;
+}
+
+span.wikiwyg_control_link a {
+    padding-right: 8px;
+}
+
+.wikiwyg_button {
+    background: #D3D3D3;
+    border: 1px solid #D3D3D3;
+    cursor: pointer;
+    width: 20px;
+    height: 20px;
+    vertical-align: bottom;
+}
+
+.wikiwyg_button:hover {
+    border: 1px outset;
+}
+
+.wikiwyg_button:active {
+    border: 1px inset;
+}
+
+.wikiwyg_separator {
+    background: #D3D3D3;
+    border: 1px solid #D3D3D3;
+    width: 9px;
+    height: 20px;
+    vertical-align: bottom;
+}
+
+.wikiwyg_selector {
+    width: 70px;
+}
+
+.wikiwyg_wysiwyg table {
+    border-collapse: collapse;
+    margin-bottom: .2em;
+}
+
+.wikiwyg_wysiwyg table td {
+    border: 1px;
+    border-style: solid;
+    padding: .2em;
+    vertical-align: top;
+}
+
+/* For emacs users
+ *
+ * Local Variables:
+ * mode: c
+ * c-file-style: cc-mode
+ * End:
+ */
diff -ruN 1.3.12p3/TODO 1.3.14/TODO
--- 1.3.12p3/TODO	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/TODO	2007-07-01 05:11:43.000000000 -0500
@@ -0,0 +1,162 @@
+short-term TODO:
+* Sidebar: merge AVL theme (internal MonoBook derivate with customizable box states) with Sidebar
+* fix session loss on php-5.2 (with or without DB_SESSION)
+* clarify issues with pagenames: "," breaks PageList. Escape with "~" or "\"?
+* fix Wikiwys with prettyurl, link labels and killing plugin args
+* ranked FullTextSearch (besides postgresql)
+* ImportMediaWiki, ImportRdf, ImportOwl, ExportMediaWiki, ExportRdf, ExportOwl
+* WikiUser/OpenID (from DokuWiki)
+* more meta stuff: OpenSearch, format=dc (Dublin Core)
+* format=mm (FreeMind) for RecentChanges, SemanticWeb's and simple PageList's. 
+  See http://wikkawiki.org/FreeMind. Maybe format=mmap for the commercial MindMap.
+* format=printable (?) for non js/dom
+* WatchList (?)
+* Spellcheck AJAX backend (see DokuWiki)
+* GeSHi Highlighter plugin
+
+TODO for 1.4.0:
+architecture:
+* Optimization: try template_lite or try simple regex replacements as before.
+* Add some xml syntax for plugins: 
+  <IncludePages pages=<!plugin-list BackLinks !> />
+  <BackLink include_self=false />
+  And/or fix PLUGIN_MARKUP_MAP aliases which break the InlineParser.
+* Fix postgresql stored procedures.
+* Move serialized data from page_data / version_data to seperate SQL columns.
+* WikiDB hooks. (?)
+* Content expansion hooks in transformer. (SearchHighlight)
+* Convert RecentChanges to PageList as source for format options. 
+  Generic rss, rdf handling.
+* embedd basic RDF in XHTML (dc, foaf, ...) for GRDDL. 
+* Do Microformats automatically? It's a stupid hack so support it only optionally.
+  ToDo: for Calendar, CalendarList, FoafPlugin
+
+new:
+* stabilize WYSIWYG converters
+* HtmlParser and importer plugins (word, excel, html, interwiki)
+* SemanticWeb link parser+db update, plugins: SemanticSearchAdvanced, SPARQL (php5 only)
+  include or support rdfapi? or write our own Sparql parser? (see pOWL OntoWiki)
+* ATOM (experimentally done), TrackBack, PingBack services (take it from DokuWiki)
+* finish Blog theme
+* lang: mapping
+* fix ENABLE_MARKUP_DIVSPAN
+* WikiUser/EMailConfirm (?)
+
+fixes:
+* fix pagelist nopage unification (store just key as names?)
+* pcre textsearch with multiple words: order-independency
+* SQL textsearch with multiple words: AND 
+  (the two new failing unit tests)
+* fix textsearch optimize with "word -word -word"
+
+OLDER TODO's:
+Maybe (probably defer):
+* CalendarList/UnfoldSubpages/Blog changes should update links to the basepage.
+* Warn other editors
+* http://www.movabletype.org/docs/mttrackback.html, http://umsu.de/beta-blogger/
+* http://www.hixie.ch/specs/pingback/pingback, http://umsu.de/beta-blogger/
+* Other languages: check page for [de:pagename] pseudo-interwiki links?
+* pagerank algo: HITS http://www2002.org/CDROM/refereed/643/node1.html
+  FractalNavigation (pagetrail analysis)
+* fix more wikilens libs and plugins, layout improvements (header, sidebar include)
+* format=rdf and a new owl PageType (similar to InterWikiMap)
+  to statically define predicates used by PhpWiki:SemanticWeb
+  (semantically enriched links, like interwiki links).
+* SqlResult paging (finished?)
+* plugin\WikiAdminSetAclSimple, Chmod
+* plugin\NewUserWelcomePage.php (some better template solution)
+* plugin\SearchHighlight
+* logfile stuff:
+*   plugin\RecentReferrers
+*   WikiAccessRestrictions
+* SpamAssassinIntegration
+
+already done lately:
+* PgsrcTranslation slowness (update_locale?)
+* overlarge session data
+* handle empty DEFAULT_LANGUAGE: proper client detection
+* fix glob errors
+* display login page on "$action is disallowed on this wiki for user ..."
+* remove "Invalid username" warning on "sign in as" button click
+* themes/blog, BlogArchivesPlugin
+* test WikiPluginCached support for image maps and svg, swf, eps, ...
+  defer header logic
+* don't print php notices and warnings as red errors.
+  just green or grey
+* rewrite OldTextFormattingRules, AnciennesR%E8glesDeFormatage
+  for proper importing
+* PageChangeNotification other actions also (rename, remove).
+  better subject on create.
+* do all unit tests:
+  all langs, all db backends, all pages import and export
+* javascript search&replace
+* pdf button when an external html2pdf app is defined
+  (enabled at PhpWikiDemo)
+* enhanced WikiPluginCached (static, ondemand)
+* added LdapSearchPlugin 
+* more PageList options
+
+2004-11-10 20:25:13 rurban
+* optimize increaseHitCount, esp. for mysql.
+* prepend dirs to the include_path (phpwiki_dir for faster searches)
+* Pear_DB version logic (awful but needed)
+* fix broken ADODB quote
+* _extract_page_data simplification
+
+2004-11-10 16:24:58 rurban
+* requires newer Pear_DB (as the internal one): quote() uses now escapeSimple for strings
+* ACCESS_LOG_SQL: fix cause request not yet initialized
+* WikiDB: moved SQL specific methods upwards
+* new Pear_DB quoting: same as ADODB and as newer Pear_DB.
+  fixes all around: WikiGroup, WikiUserNew SQL methods, SQL logging
+
+2004-11-09 18:10:22 rurban
+* revert to the wikidb ref passing. there's no memory abuse there.
+* use new wikidb->_cache->_id_cache[] instead of wikidb->_iwpcache, to effectively
+  store page ids with getPageLinks (GleanDescription) of all existing pages, which 
+  are also needed at the rendering for linkExistingWikiWord().
+  pass options to pageiterator.
+  use this cache also for _get_pageid()
+  This saves about 8 SELECT count per page (num all pagelinks).
+* fix passing of all page fields to the pageiterator.
+* fix overlarge session data which got broken with the latest ACCESS_LOG_SQL changes
+
+1.3.11 Goals:
+
+    * fix more sf.net bugs and patches (90%)
+    * fix LDAP with USER_AUTH_POLICY=old (100%)
+    * ADODB lock and transaction fixes (50%)
+    * some more theme beautification, new crao and nuke theme, 
+      cut or split long sidebar links somehow (100%)
+    * add some basic Recommender engine to enable rating recommendations, 
+      fix metadata getAvg and test it. (100%)
+    * fix metadata RateIt methods and RateIt usergroups, (100%)
+    * rewrite WikiGroup to be current_user independent to be able 
+      to ask for group membership of any user. (100%)
+    * more action=upgrade (diffs, multi-page interface) (60%)
+    * finish PdfOutput plugin and button (80%)
+    * add editpage javascript toolbar (100%)
+    * try the php-internal soap extension, test SOAP, fix GooglePlugin+AmazonPlugin (0%)
+    * iniconfig helpers (Joby?) (0%)
+    * improve more plugins caching (90%)
+
+    * change remove_page in WikiDb API, so that RecentChanges displays it.
+      (just purge all revisions?)
+    * rename global $Theme to $WikiTheme (gforge nameclash) (100%)
+
+1.4.0 Goals:
+
+    * fix WikiAdminSetAcl (least common ACL denominator) (100%)
+    * enable ACL's in the mime dumps (100%)
+    * force strict PagePermissions on all plugins, which require now 
+      admin and some more administrative actions (90%)
+    * complete full paging support (limit=, prev/next buttons in PageList) (95%)
+      fix paging in MostPopular
+    * fix possibly remaining WikiGroup problems (100%)
+    * fix possibly remaining RateIt problems (50%)
+    * finalize PdfOutput (0%)
+      external works fine
+    * finalize editpage javascript toolbar (80%)
+      fix search/replace bug (100%)
+    * finalize SOAP support (0%)
+    * better utf-8 support (50%)
diff -ruN 1.3.12p3/UPGRADING 1.3.14/UPGRADING
--- 1.3.12p3/UPGRADING	1969-12-31 18:00:00.000000000 -0600
+++ 1.3.14/UPGRADING	2007-07-01 05:11:43.000000000 -0500
@@ -0,0 +1,160 @@
+To migrate to a new phpwiki installation you might want to backup your old pages 
+(best via a zip dump), configure your new installation, and restore the old 
+pages in PhpWikiAdministration. 
+UPGRADING from 1.3.7 on requires just ?action=upgrade.
+
+Can't unpack bad cached markup. Probably php_zlib extension not loaded.
+=======================================================================
+Sign in as ADMIN_USER, go to PhpWikiAdministration#Purge_Markup_Cache
+and click on the [Purge Cache] button.
+
+?action=upgrade
+===============
+To upgrade default pages, the database and some config settings 
+add "?action=upgrade" to your HomePage url and press "Enter", which will
+do most of the upgrades automatically.
+
+You might need to enter the DBADMIN_USER and DBADMIN_PASSWD in 
+config/config.ini for SQL databases and default permissions.
+
+The importer looks at the Date header of the page. In your current wikidb 
+against the creation date of the pgsrc, you want to import.
+If you changed your pages after I changed the pgsrc pages, 
+they will not be upgraded.
+
+Or just upgrade your configuration as described below.
+
+UPGRADING since 1.3.11
+======================
+?action=upgrade should be enough.
+
+UPGRADING since 1.3.10
+======================
+?action=upgrade should be enough.
+
+UPGRADING from 1.3.9
+======================
+At first you have to manually create a config/config.ini based on 
+config-dist.ini and your previous index.php. We don't have a script,
+to do that automatically.
+
+mysql:
+  ALTER TABLE page CHANGE id id INT NOT NULL AUTO_INCREMENT;
+NOTE: ?action=upgrade does this also, if your mysql user has the 
+ALTER permissions or DBADMIN_USER and DBADMIN_PASSWD are set.
+
+UPGRADING from 1.3.7
+======================
+mysql + postgres:
+  ALTER TABLE session ADD sess_ip CHAR(15) NOT NULL;
+  CREATE INDEX sess_date ON session (sess_date); 
+
+postgres:
+  New pref and session tables have been added for more 
+  efficiency.
+
+user and themes:
+
+WikiUser and signin.tmpl changed from $user->getId() to 
+$user->getAuthenticatedId()
+Authenticated reflects the level (confirmed by password), 
+Signed just the username (possibly by cookie only)
+
+pgsrc:
+
+To upgrade not-existing pages add "?action=upgrade" to 
+your HomePage url and press "Enter", which will
+add all fresh pages from pgsrc to your pageset.
+If you deleted some pages on purpose, you'll have to removed 
+them again with PhpWikiAdminisstration/Remove then.
+
+There's no smart "Merge Diffs" yet to upgrade existing docs,
+this will come with the next release. Also upgrading the
+database automatically.
+
+UPGRADING from 1.2.x
+======================
+FIXME: WARNING WARNING: The schemas used by the new databases
+are completely incompatible with schemas in any previous version
+(i.e. before release 1.3.1 of PhpWiki).  If you install this new
+PhpWiki, you must start with a new empty database (currently
+either mysql, postgres or dba).  (It will be filled with the
+usual default pages.)
+
+FIXME: add more.
+
+Here's an excerpt from a note I posted on phpwiki-talk with my 
+recommendation on how to move a wiki from and older version of 
+PhpWiki to a 1.3.x PhpWiki:
+
+From: Jeff Dairiki <dairiki@dairiki.org>
+Cc: phpwiki-talk@lists.sourceforge.net
+Date: Fri, 9 Nov 2001 11:33:18 -0800
+
+> Now, say I want to migrate all my 1.2.1 pages. I need to do a zip dump 
+> (does the admin page let me do that?) and then.... what?
+ 
+It's still a bit of a messy process at this point.  Here's my suggestion.
+
+1. Start 1.3.x with an empty database.  Browse the FrontPage.  This should
+fill the wiki with the distributed default 1.3.x pgsrc.  (You've probably
+already gotten this far.)
+
+2. Make a zip dump of your 1.2 wiki.  If the contents of
+PhpWikiAdministration are correct there should be a links 
+(near the top) which will do that for you.  You need to be
+in admin mode, though.  This means you must have set an
+admin user and passwd in admin.php, and you should be browsing
+through a URL like:
+  http://path.to.your/wiki/admin.php?PhpWikiAdministration
+(If your PhpWikAdministration page is broken, then
+  http://path.to.your/wiki/admin.php?zip=all
+should get you a zip dump.)
+
+WARNING! WARNING! WARNING!  There is a bug in releases 1.2.0
+and 1.2.1 of PhpWiki which results in corrupt zip dumps if
+you are using the DBA, DBM or flat-file backends.  If you
+are using one of those backends you should make sure to
+fix that bug (see note below) before making the zip dump.
+
+
+3. Now upload your zip dump to your new 1.3 wiki.  (First you need to
+have set the admin user/passwd in the new index.php.)  You should
+be able to use the "Upload File" form on the PhpWikiAdministration
+page.
+
+
+If that works, the pages from your 1.2 wiki have now overwritten
+the 1.3 pages (though the 1.3 pages are still saved in the archive).
+This will break a bunch of 1.3 functionality until you restore
+the page contents.  Of the top of my head, some pages for which 
+this will be an issue are:
+  MostPopular, RecentChanges, PhpWikiAdministration,
+  MagicPhpWikiURLs, and ReleaseNotes.
+
+To restore these pages to the original (1.3) contents:
+
+4a. Login as the administration user (using the SignIn button at the
+bottom right corner of the page.)  (You need to do this because
+some of the pages which need fixing are locked.)
+
+4b. Browse to a page which needs restoring.  Hit the "History" button
+(at the bottom of the page).  This should get you a list of all
+archived versions of the page.
+
+4c. Browse to the archive 1.3 version of the page (probably version 
+number 1) by clicking on the version number of the desired version.
+
+4d. Click the "Edit old revision" button (bottom of page).  This should
+get you to the edit form.
+
+4e. Click the "Save" button.  This should save the archived page contents
+as the current contents.
+
+We really need to figure out a way to simplify this process, but, for now,
+that's what you gotta do.
+
+An older note on the same subject can be found at:
+  http://sourceforge.net/forum/message.php?msg_id=107858
+
+$Id: UPGRADING,v 1.10 2006/02/22 21:03:01 rurban Exp $
