ToDoLog ŻŻŻŻŻŻŻ R1.03a - CoreSplit and cutting a few older features - GetText support/emulation replaces ewiki_t() - full security review (htmlentities on bare $action and page $titles) - getting rid of JavaScript for image uploads - ... ChangeLog ŻŻŻŻŻŻŻŻŻ R1.02b - 10-06-2005 * parts of the documentation have been moved into the new doc/ directory and new information snippets have been added: AdminTasksSql, LinkSpammers, MagicFields, SetupTool, Acronyms, ... * all regular plugins are now accompanied by .meta description files for more efficient management, dependency resolution and other purposes, a description of the simplistic format is in [doc/PluginMetaData] * three plugins (downloads, subpage) had to be renamed for filename uniquenes * the older SetupWizard has been adapted * a new console setup tool has been added, for faster config.php creation and monsterwiki plugin melting * the "ewiki.ini" scheme has been introduced for simpler configuration * many syntax and typo fixes * new fragments/ (printhint, head/core) * clickableimages patch documented and fixed, * new plugins: ini, diff_gnu_safemode (Menno Lodder), manpage export, userdb_xprofile, ext_multi (database-multiplex), ext_subwiki (database fragmentation and API level), debug/xerror, helptext, msg, limitlinks, anacron, captcha, feedparse, xml, http, http_cache, sync, libxprofile, webdav, upgrade.php (PHP5 compatibility/emulation), a_nofollow, new_nofollow, link targets, tabel_colspan (Marc Schiffbauer), AddComment, InlineFrame, FarInclude, RegisterSpam mpi, Syndicate (uses new feedparse backend), antibot_captcha, anitbot_checkbox and other anti-spam triggers, arrowadmin (Menno Lodder), pluginmetadata * new _ARCHIVE flag introduced (yet unused) * fixes in plugins: userdb_sql, toc, tex (Francois), email_protect (multi- engaging now prevented) * SqlQuery and BrainFuck mpi plugins are disabled again, escaping and back-conversion were added in the mpi core * multiple fixes to "db/any" for Postgres compatibility (a.o. Josh More/ AllianceT) * flat_files database backend had a non-critical fixed (redundant content:) * introduction of _config[ua] string and X-Server response header * the cron scripts have been extended and partly fixed * t_revert was corrected * introduced InterWiki plugins for neighbor pages, near links, sisterpages (all using the metadb data file) * completed first minimal WebDAV interface * splitting of the ewiki.php core script (future ver) has been prepared * internal changes: $title can be overriden from _interwiki() link tweak plugins, interxhtml URL checking fixed, _script_url() has been tweaked again (jbw), format bock 0x0040 flag handling fixed (Marc Schiffbauer), fix for random {flags} clearing in _PROTECTED_MODE, slightly larger default for "edit_box_size", WikiRegex underscore fix, image extension URL check, fix in ewiki_db::GETALL, ewiki_stripentities(), ewiki_form(), * patch for userdb_ldap and method_http authentication methods (AllianceT) R1.02a - 27-08-2004 * the database interface was overhauled (much cOOler now) * new CSS class names fragment the final pages more precisely * some typecasting was introduced to work around PHP5s changed array_merge() additions: * introduced general html head includes in fragments/ ** "meta.php" inserts tags from entries of {meta}{meta} box ** "core.php" adds NOINDEX to robots meta tags for old page ?versions= * added "z.php" script as general dispatcher for application interfaces like WikiToXmlRpc and OpenSearch, a general XML-RPC lib now is included * OpenSearch interface for cross-site scanning was added (MySQL only) * BannedLinks (defacing unwanted URLs) and BlockedLinks against vandalism, optionally with future-proof whois lookups against commercial spammers * spellcheck plugins were moved, and a new aspell variant was added * QuickDiff action * rss action plugin and general RSS/Atom feed output support (with TCN) * aview/aedit_ plugins were moved into their own edit/ directory * blog support via multiple plugins or as mpi_ extension as contributed by Wojciech Jan Kalka * edit/ plugin for setting the AuthorName on the fly, one to set certain page flags (_MINOR or _HIDDEN) and one to set changelog entries * lock and warn plugins for concurrect edits * link-validating RefererLog and PingBack plugins * TimeStampMarkup, Short|Wiki links, support for for abbreviations in braces, a plugin for TeX markup (uses MimeTeX and inserts .gif images) * XFN plugin (XHTML Friends Network) * mpi_honeypot, mpi_addlink, enhanced mpi_insert * MiniDump, WikiDump2 * DocBook filter added for TextUpload plugin * refreshed administration tools/ suite, which also introduced WikiCommander (a NC-lookalike database control tool), an ewikictl web-based frontend, and advent of the tools/cron.d/ scripts changes: * renewed init-pages/ and default (index) page name is now "FrontPage" * PATH_INFO is enabled per default again for Apache servers * added User-Agent logging * {meta} info is now displayed more verbose on info/ pages * commonly used ...&action=view URLs can now be enabled more easily * produces more XHTML like tags (at least
and ) * _DB_F_HTML flag is now preserved on changes * new page rendering block flag 0x0400 to decode < and > again * logging of failed auth calls * CommunityWiki: and WikiFeatures: are now in the default interwiki list * introduction of obscured (=numeric) error message numbers for security leak misconfigurations * Image resize plugins are now called regardless of filesize to allow for resizing by width and height; a more advanced variant was added * spages/ now holds AbandonedPages, HitCounter, LeastPopular, LinkLessPages, OrphanedPages, PageLinks, PageRefs, PageSize, WantedPages and WordIndex, but the "PageIndex" is now a core feature * SetupWizard moved into tools/ * spages now tries to serve binary files (images) internals: * new _DB_F_MINOR page flag (respected on RecentChanges) * ewiki_script_url() now works as enhanced alias to ewiki_script() * _list_pages() got new list call parameter format * extended ewiki_interwiki() for non-hyperlink uses (XML meta data, XFN) * ewiki_author_html() deciphers the {author} field now fixes: * fixed [noinlineimage.png#] support, ewikictl --rm pattern matching, search_highlight to not downcase found words, serious bug in StaticPages plugin, reworked link_regex to not break at question mark, sub-links and fixed chunking on info/ page, removed dependency on mysql_ping, core script made slightly more E_NOTICE clean, fixed action pages for emptied page versions (not showing up on info/ and info/ now coming up instead of edit/ box), and fixes for auth/ and in auth-liveuser/ plugins R1.01e - 20-05-2004 * default page is now called "FrontPage" (previously just "ErfurtWiki") * added Dutch page translations, as contributed by Koen Roggemans * the new flat file database plugin 'dzf2' is quicker, stores compressed files and is plattform intercompatible * new, general and user interface plugins were added: markup/abbr, db/zip, aedit_pageimage, aedit_templates, fpage_copyright, fpage_logo (Andy), imgfile_naming (orig file names instead of md5md5md5-internal://), subwiki (database fragmentation), instanturls, instanturl_find, input_trimming, meta (new plugin framework) and builtincategories, f_title; * also a usemod/moinmoin-lookalike RecentChanges page plugin together with a plugin to specify a {meta} log entry; * the new "raw" action plugin allows to retrieve the plain Wiki page source * added markup plugins include: naturallists, table_rowspan, update_format * mpi plugin framework was overhauled, new additions include: mpi_brainfuck, mpi_embed, mpi_settitle, mpi_sqlquery, mpi_survey (for user polls) * overhauled liveuser authentication plugin framework * initial [.SubPage] linking support (suggested by Timm) * init plugin now overrides builtin database INIT, email protection plugin now mostly disables itself if human validated * fixed licensing issues, GPL plugins now separate * code fixes include: _script_url() web server port patch (Christian Buck), fixes for PHPs incomplete session.trans_sid feature, _protected_mode and security fixes, image linking fixed, and table markup is more forgiving now (allows spaces after the trailing | dash, but not for the first row), fileupload javascript error, corrected _preview newline handling, space indentation closing and

code changed, _format() block splitting, edit_box_size setting (missed $e_config), removal of all pass-by-reference calls * internal/API changes: _UP_PARENTID for image uploads, ewiki_lowercase() is now a core function (moved from PowerSearch), normalized
output from ["edit_form_append"], new ewiki_new_data() to create empty page $data hashes, CSS page (class) names are mangled for more standards compliance, internal "create" action for auth plugins, introduction of _HIDDEN flag * allowed for enumerated lists with html tag type="" attribute * provide a RSS feed for UpdatedPages * edit/ page and for CSS class and style instructions with the new "@@" markup * plugins/markup_css_singleat allows for CSS divs with a single @ * added plugins/patchsave to support concurrent page changes (GNU diff+patch) * all www accessible tools/ have been renamed, the backup and the restore tools are now wrappers around ewikictl * new plugins: aview_imgappend, spages (read static pages from a directory), title_calendar (Andy), action_extracttodo (Andy), admin/control (for renaming pages and flag changing), admin/page_searchcache (creates db text entries from dynamic pages) * notify plugin is now language aware * fix for ewiki_control_links() to honor the $action param (Andy), the senseless tag was removed (Culley), the {meta} field now gets saved correctly for _TEXT database entries (Andy) * introduction of $ewiki_config[] which strips some data things from the $ewiki_plugins[] array, and will further replace some of the constants * added plugin hooks ["list_transform"], ["page_final"] * renaming of _page_title to _split_title, and _print_title to _add_title, added _make_title() to return a html string with optional link per cfg. * moved and renamed multiple plugins into plugins/contrib/, and also made all mpi stuff go into plugins/mpi/ * added the GNU GPL with a note to the plugins/contrib/ directory * extended email_protect plugin to hide addresses for diff/ and info/ also * ewiki_page_view() now contains the printing code for ordinary wiki pages * {meta} is now automatically un/serialized() in the database layer * rendering_pre was replaced by markup_code * most example layouts went into examples/, re-added examples/yourthemes.php * php-patches/array_merge for PHP5 beta2 support (with lots of error messages) R1.01a - 04-08-2003 * markup changes: ** typewriter like fonts will be used for text enclosed in == (previously spaces to the left were used for that) ** text is now right aligned with ">>" to the left ** added markup for preformatted text:

 at the very beginning of a line
   starts a paragraph and a 
(also lowercase) ends it again (the empty lines markup has been removed during development) ** added SPACEs/TAB indentation support (CSS only) ** anchors are now defined placing the hash sign before the square brackets #[anchornane], and that anchor can then be jumped to using [#anchorname] * fixed/removed define() from default config.php which prevented binary uploads * fixed internal://md5sum filename generation for uploaded binary/image files * new plugins are: aview_backlinks, link_target_blank, page_wantedpages, page_interwikimap, aview_linktree (which shows path from current to index page), page_wikiuserlogin (to add an author name for page savers), markup_paragraphs, imgresize_magick, fun_wella, spellcheck2 (AndyFundinger), aview_control2, link_css, link_icons, binary_store (keeps uploaded files separate from real database), pluginloader (for action and page plugins) * renamed plugins/downloads_view.php to aview_downloads.php * added mpi_phpwiki, which emulates AllPages, AllUsers * changed all EWIKI_T_ constants into an array, which can now be accessed via the more flexible "ewiki_t()" function * finished read only access with plugins/db_phpwiki13.php, guessworking write access is now also available, but disabled per default * the ewiki_log() function is now used for debug messages * InterWiki:Links are working again (seems they got broken previously) * changed _binary_save_image() to handle binary and image files different * extracted the squirrel image from example-1.php, so it works in '97 browsers * the new example-1 wiki wrapper has support for an editable MainMenu * implemented core ewiki_auth() using permission levels in _PROTECTED_MODE, added plugins: auth_user_array, auth_method_http, auth_perm_ring and auth_perm_old for compatibility * added/activated fragments/strike_register_globals.php * the plugin task "url_link" has been renamed to "link_url" to follow the new and more consistent naming scheme * the admin interface scripts (tools/) are now access restricted per default * added Last-Modified: HTTP header (edit date of current page) * email_protect &version= bug fixed, cookie is now set once access is granted * introduced reliable global $ewiki_id * fixed some "&" page name problems * fixed MySQL database action "SEARCH" * ewiki_script() unifies URL generation from $action,$id,EWIKI_SCRIPT and also allows to work around some design flaws and unreliabilities * fixed Refresh: HTTP header, which lead IE to reload constantly after save * plugins/calendar.php localized to en_ (APF) * the meaning of the EWIKI_LOGLEVEL setting has changed R1.00f - 20-05-2003 * USE_PATH_INFO now defaults to off, due to the many broken Apache versions * added str_rot17 to make email_protect links valid for one session only * fixed string conversion bug in _p_ordered_list once more (Carsten) * added initial db_phpwiki13.php plugin (read-only) * added page_since_updates.php (Carsten) * renaming of plugins/fancy_indexing.php to listpages_tbl.php * added listpages_br.php, listpages_ul.php (previously part of core ewiki.php) * allowed for ~PhpWiki13 ~WikiWordEscaping * new markup for [http://link "entitling"], because dashes hurt table markup * international characters` html entities (Ӓ) are now reconverted * added page version holes support in db_flat_files * added DELETE and SQL subfunctions in db interface (for tools/) * db field 'meta' is now a serialized() array with http headers / bonus data * added plugins/downloads.php, which allows files to be saved and retrieved * added plugins/mime_magic.php (GPL code) * changes in default distribution: index.php removed, config.php added, and example-1.php is now set as DirectoryIndex in .htaccess and .nwaccess * added otherwise unused EWIKI_VERSION constant (as requested by Beate ;) * merged db_fast_files into db_flat_files (both formats can be used together) * added plugins/page_aboutplugins.php * now allows for wiki page title splitting (as seen in other WikiWare) * extended download plugin to support page attachments * renamed plugins/pagediff.php to diff.php * added plugins/downloads_view.php to show attachments below a page * added plugins/page_scandisk.php * fixed the missing email_protection of the edit box * added redirection after edit/save * added plugins/notify.php which can send a mail whenever a page gets edited * added page diff plugin which is powered by the GNU diff util (more reliable) * added page anchor support (define [#anchor] and link [WikiPage#anchor]) * added tools/ewikictl * added plugins/fancy_list_dict.php to enhance WordIndex and PageIndex * renamed most ["page"] plugins to plugins/page_*.php * reworked _binary_save_image() and moved _resize_image_gd() into a plugin * added image width= and height= support in _link_regex_callback() and the database plugins for mysql and adodb (dba and dbff are unsupported) * images can now be rescaled by appending "?x=..&y=.." to [url] references * fixed a _scan_wikiwords / pre parsing bug with colons R1.00e - 06-04-2003 * db_fast_files for serialized()/gzencoded() files contributed by Carsten Senf * added error output for database initialization * added edit mode cancel link * added edit-textarea resizing JavaScript link * added small README.de * fixed bug with repeatedly reconcatenated $ewiki_author string * fixed fputs() bug in db_flat_files, which lead to PHP4.1 incompatibility (reported by Beate Paland) * workaround for PATH_INFO bug of Apache+CGI_PHP * added page plugin: RandomPage * added spellcheck plugin, which is accessible with the [preview] button (it uses the ispell/aspell programs or PHP's pspell extension) * added diff plugin, which shows changed parts between two page versions * added markup emulation plugin for parts of BBcode (from phpBB) * fixed Win32 filenames bug in db_flat_files / db_fast_files (Carsten) * added dba/dbm database plugin * added plugins/calendar.php (Carsten) * made uploading of binary files now possible by config constant * added email address protection plugin (against automated spambots) * fixed ?edit=1&forced_version= bug * added (markup) for image alignment * added support for ^Oldwikilink markup R1.00d - 20-03-2003 * added plugins: PageIndex, ImageGallery, PowerSearch * added plugins to emulate markup of PhpWiki, sfWiki, miki * added mpi_multimedia plugin to reference non-image files * added markup plugin for generating footnotes * added tools/ewiki_backdown.php (for inserting backup/initial pages) * added shared tools/ewiki_tools_config.php (database activation) * added Content-Disposition (2183) HTTP header output for easier page saving * HTTP "From:" request header gets now saved if $ewiki_author is unset * made "/cgi/request.php?WikiPageName" possible (ISINDEX method) * fixed double "FIND" database query, now the arrays to be queried for are merged rather than the resulting arrays of the db query - speed improvement * tools/ewiki_backup.php now can save in different formats * lowercased all generated HTML * renamed complex tables plugin * added more pages in .de lang * urlencoding and decoding now configurable (for PATH_INFO usage) * added http authentication include script * the format core now searches and renders email-addresses in the text R1.00c - 06-03-2003 * wikimarkup for tables now included * added interWiki links (simple variant) * allowed chars in WikiPageNames now configurable (for l10n purposes) * rudimentary but general pluginterface for various tasks * unified $internal_pages and $page_actions into the pluginterface * plugin for LikePages (as in WardsWiki:) * db_flat_files is now a plugin * fancy lists plugin (