includes/functions.php
Thu, 01 Jul 2010 20:24:19 -0400 Dan Fuhry First shot at switching to database revision numbers separate from release version number. There are probably bugs, especially related to migration.
Mon, 28 Jun 2010 10:43:04 -0400 Dan Fuhry SECURITY: Multiple XSS in Special:ChangeStyle. Reported by Mesut Timur of Mavituna Security - thanks! Also removed my stand-in for ucfirst().
Sun, 16 May 2010 21:35:43 -0400 Dan Added the ability to trust XFF (X-Forwarded-For) headers.
Sun, 02 May 2010 23:15:18 -0400 Dan Added a box on Admin:UploadConfig showing the value of upload_max_filesize.
Sun, 28 Mar 2010 23:10:46 -0400 Dan Going ahead with the switch to tabs. This is a major coding standards change! If any unusual parser bugs show up, check this changeset. Converted all .php, .js, .tpl, .css, and .json files and did basic testing.
Sun, 28 Mar 2010 21:49:26 -0400 Dan Introduced configurability for gzip compression. Fixes issue 18.
Sat, 20 Mar 2010 16:05:38 -0400 Dan Fixed "unapproved" status taking precedence over "spam" flag in comment submit and some display related bugs in comments.js
Sun, 07 Feb 2010 17:07:42 -0500 Dan URL sanitizer: disabled uppercase letters in URL hex character codes (it was causing conflicts with the Windows/Apache 2.2 alt namespace separator). Thanks Techokami for finding and reporting this bug.
Wed, 06 Jan 2010 02:02:51 -0500 Dan Fixed some bugs with account activation, especially if you're a half-logged-in vegetable.
Tue, 05 Jan 2010 09:56:00 -0500 Dan Fixed ENANO_VERSION under databaseless template class
Mon, 28 Dec 2009 16:53:19 -0500 Dan Fixed oversanitation of multiple XHTML closing tags in a row
Fri, 18 Dec 2009 21:21:59 -0500 Dan OK screw that, put the crypto backend check in functions.
Thu, 17 Dec 2009 04:26:21 -0500 Dan JSON preparser: fixed corruption of strings that include the exact pattern word, comma, space, word, colon
Sat, 12 Dec 2009 15:43:23 -0500 Dan Set up more sensible defaults (UTC, DST off) for timezone preferences. Also modified enano_date() to properly include GMT offsets when timezone characters are used. Fixes issue 4.
Mon, 09 Nov 2009 09:18:29 -0500 Dan which(): added silencer to shut up errors on servers with open_basedir restriction
Sat, 26 Sep 2009 15:21:51 -0400 Dan More blank-urlname bugfixes, this time involving internal links
Sun, 20 Sep 2009 02:51:54 -0400 Dan Functions: fixed HTML sanitizer to properly preprocess <code> one-liners
Fri, 11 Sep 2009 09:55:24 -0400 Dan Damn it! gzip_output() was not checking for gzip support in the browser, fixed.
Fri, 21 Aug 2009 20:37:18 -0400 Dan A bit of shuffling around code related to determining the page title from the URL. It's done in common now, and $paths becomes more of an information repository rather than an information gatherer. Note: This BREAKS $paths->fullpage/$paths->getParam() in *_preloader!
Fri, 21 Aug 2009 15:37:23 -0400 Dan Functions: silenced PHP warnings on ob_* functions
Thu, 20 Aug 2009 20:01:55 -0400 Dan Fixed some upgrade bugs; added support for choosing one's own date/time formats; rebrand as 1.1.7
Wed, 29 Jul 2009 11:48:54 -0400 Dan Tweaked URL sanitizing a bit to make Enanium work better.
Mon, 06 Jul 2009 11:26:21 -0400 Dan Fixed decode_unicode_url() trying to parse non-hex %uXXXX sequences
Sun, 21 Jun 2009 00:20:32 -0400 Dan First implementation of new parser; Text_Wiki is now gone. VERY BETA! WiP.
Thu, 14 May 2009 11:34:24 -0400 Dan A few safety changes to tolerate no $session when it's not available
Sun, 10 May 2009 15:52:53 -0400 Dan Wikitext redirects should work again + get_redirect() added to Namespace_* to allow plugins to extend
Tue, 05 May 2009 00:10:26 -0400 Dan Made some more changes to the way namespaces are handled, for optimization purposes. This is a bit of a structural reorganization: $paths->pages is obsoleted in its entirety; calculating page existence and metadata is now the job of the Namespace_* backend class. There are many things in PageProcessor that should be reorganized, and page actions in general should really be rethought. This is probably the beginning of a long process that will be taking place over the course of the betas.
Wed, 15 Apr 2009 19:44:47 -0400 Dan New, beautiful, rethought Admin:Home. No, really, you'll like it.
Tue, 14 Apr 2009 21:02:13 -0400 Dan Finished core of log display interface including filter management. There is still a bit of a to-do list, especially regarding rollbacks and reuploads.
Mon, 13 Apr 2009 14:43:28 -0400 Dan New page protection UI. Both miniPrompt and failsafe HTML.
Sat, 11 Apr 2009 22:32:45 -0400 Dan When changing namespace of a File: page, associated files are now deleted. Also fixed some issues with image scaling.
Sat, 21 Mar 2009 14:33:22 -0400 Dan Some fixes to paginator (pagination control code moved to separate function)
Sat, 14 Mar 2009 14:06:02 -0400 Dan Added support for alternate port numbers on database servers. Also in install-cli, merged in new sysreqs functionality.
Mon, 02 Mar 2009 16:46:10 -0500 Dan Redesigned installer sysreqs page to cover more features, be more comprehensive, and look better
Thu, 26 Feb 2009 01:06:58 -0500 Dan setConfig() will now delete config values if the second parameter is explicitly set to false
Mon, 16 Feb 2009 16:17:25 -0500 Dan Major redesign of rendering pipeline that separates pages saved with MCE from pages saved with the plaintext editor (full description in long commit message)
Sun, 25 Jan 2009 21:18:05 -0500 Dan Added (very basic) spam filtering plugin support. Plugins can mark a message as spam by hooking into the spam check API, which is documented in functions.php. No spam checking functionality is built-in.
Sat, 17 Jan 2009 15:16:36 -0500 Dan SECURITY: Fix XSS under IE in closing tags (shared sanitizer)
Sun, 04 Jan 2009 00:55:40 -0500 Dan Two big commits in one day I know, but redid password storage to use HMAC-SHA1. Consolidated much AES processing to three core methods in session that should handle everything automagically. Installation works; upgrades should. Rebranded as 1.1.6.
Sat, 03 Jan 2009 18:11:18 -0500 Dan Major underlying changes to namespace handling. Each namespace is handled by its own class which extends Namespace_Default. Much greater customization/pluggability potential, at the possible expense of some code reusing (though code reusing has been avoided thus far). Also a bit better handling of page passwords [SECURITY].
Wed, 31 Dec 2008 08:40:38 -0500 Dan Redid error handler (it was causing some problems with gzip enabled)
Sun, 21 Dec 2008 04:26:56 -0500 Dan Fixed timezone preference setting not fully implemented; added ability for users to select their own rank from a list of possible ranks based on group membership and user level
Fri, 19 Dec 2008 21:27:51 -0500 Dan Added support for IPv6 IP ranges... ehh, not easy.
Sat, 29 Nov 2008 00:20:57 -0500 Dan Added a new search API that allows much easier registration of search results. Basically you give the engine a table, a few columns to look at, and tell it how to format the results and you're done.
Sat, 15 Nov 2008 18:23:25 -0500 Dan Added ability to have alternate main page for members
Sat, 08 Nov 2008 22:32:43 -0500 Dan Fixed attempt at gzip compression after headers sent; hopefully safely escape args to scale_image() instead of erroring out
Sun, 21 Sep 2008 09:01:27 -0400 Dan Added initial support for DST. Rules are defined in constants.php and are extensible.
Tue, 16 Sep 2008 08:22:47 -0400 Dan Fixed IPv6 address match (the one from phpBB3 did not work)
Mon, 11 Aug 2008 22:31:04 -0400 Dan Rebranded as 1.1.5 (Caoineag alpha 5) and fixed a couple bugs related to CDN support in template_nodb and installerUI. Updated readme.
Mon, 28 Jul 2008 13:06:36 -0600 Dan Fixed improperly set up gzencode() replacement; fixed bad regexp in scale_image() security check
Wed, 23 Jul 2008 11:02:29 -0500 Dan Made grinding_halt() exit with status 1 for POSIX compatibility; jscompress.php utility now accepts non-CDN websites
Wed, 09 Jul 2008 22:40:41 -0400 Dan Added Gravatar support! And it's really configurable too.
Wed, 09 Jul 2008 21:04:51 -0400 Dan Added "default" option for getConfig() and made setConfig() only set if the new value is different
Wed, 09 Jul 2008 17:47:57 -0400 Dan Completed work (we hope) on CacheManager admin page
Wed, 09 Jul 2008 13:20:49 -0400 Dan Fixed gzip output - no longer depends on ob_gzhandler(), uses gzencode() now with a failsafe available if gzencode() is not available. Public function gzip_output() remains unchanged.
Mon, 07 Jul 2008 03:52:16 -0400 Dan Moved enano_safe_array_merge() to functions.php as comment.php depends on it
Mon, 07 Jul 2008 02:46:44 -0400 Dan Added purge_all_caches() routine to functions.php. Temporary, will be discarded once the new cache code is implemented
Wed, 02 Jul 2008 22:15:55 -0400 Dan More optimization work. Moved special page init functions to common instead of common_post hook. Allowed paths to cache page metadata on filesystem. Phased out the redundancy in $paths->pages that paired a number with every urlname as foreach loops are allowed now (and have been for some time). Fixed missing includes for several functions. Rewrote str_replace_once to be a lot more efficient.
Wed, 02 Jul 2008 19:36:44 -0400 Dan Another sweep from the optimization monster.
Tue, 24 Jun 2008 23:37:23 -0400 Dan Majorly reworked Javascript runtime stuff to use on-demand loading.
Sun, 22 Jun 2008 18:13:59 -0400 Dan Initial progress towards converting auto-completion framework to Spry. Not currently in a very working state.
Mon, 16 Jun 2008 19:04:33 -0400 Dan Fixed two bugs in paginator: noisy warning when rows run out and empty strings not being treated as valid from formatting functions
Sun, 15 Jun 2008 01:38:33 -0400 Dan Fixed title not being set properly in redirect()
Sun, 15 Jun 2008 01:30:00 -0400 Dan Renamed some functions (that were new in this release anyway) due to compatibility broken with PunBB bridge
Sat, 07 Jun 2008 22:50:31 -0400 Dan Made ajaxReset() call the actual requested title instead of effective title; fixed (again) template compiler bug not matching certain tags (probably PCRE bug)
Sat, 07 Jun 2008 12:46:18 -0400 Dan Got initial CSRF token framework implemented and sample implementation added in Special:Logout; removing Javascript compression engine from aggressive_optimize_html() and instead calling JavascriptCompressor class from js-compressor.php
Sat, 24 May 2008 23:40:42 -0400 Dan More work done on effective permissions API, namely reporting of page group and usergroup names
Mon, 05 May 2008 20:06:37 -0400 Dan Added ETag support and increased caching settings to try and speed the system up. Result of a YSlow audit.
Sun, 04 May 2008 21:57:48 -0400 Dan Massive commit with various changes. Added user ranks system (no admin interface yet) and ability for users to have custom user titles. Made cron framework accept fractions of hours through floating-point intervals. Modifed ACL editor to use miniPrompt framework for close confirmation box. Made avatar system use a special page as opposed to fetching the files directly for caching reasons.
Mon, 14 Apr 2008 12:13:12 -0400 Dan Rebrand as 1.1.4 (Caoineag alpha 4)
Sat, 12 Apr 2008 17:57:58 -0400 Dan Huge improvements to the template_nodb class and surrounding code; moved template compiler core to its own non-classed function to allow code re-use
Sun, 06 Apr 2008 15:30:39 -0400 Dan Started work on the new plugin manager and associated management code. Very incomplete at this point and not usable.
Tue, 18 Mar 2008 14:32:40 -0400 Dan Fixed some stray version numbers (again!); added support for Diffie-Hellman logins in the normal login form (not AJAX) - even works in IE
Sun, 16 Mar 2008 16:06:59 -0400 Dan Added support for embedding language data into plugins; updated all version numbers on plugin files
Sat, 15 Mar 2008 00:17:26 -0400 Dan Added basic CLI support for the Enano API. Loads automatically, just include common.php as normal. REVISION 500!!! :-D
Thu, 06 Mar 2008 22:45:41 -0500 Dan Hopefully completed rewrite and localization of rollback backend and interface
Thu, 06 Mar 2008 20:52:51 -0500 Dan Added $no_wrapper parameter to die_semicritical, useful for some upcoming PageProcessor tweaks.
Sun, 02 Mar 2008 22:52:23 -0500 Dan Added modal dialog support for page editor; added customizability for breadcrumbs (thanks to Manoj for idea)
Sun, 02 Mar 2008 19:32:19 -0500 Dan Implemented password reset (albeit hackishly) into the new login API; added dummy window.console object to hopefully reduce errors when Firebug isn't around; fixed the longstanding ACL dismiss/close button bug; fixed a couple undefined variables in mailer; fixed PHP error on attempted opening of /dev/(u)random in rijndael.php; clarified documentation for PageProcessor::update_page(); fixed some logic problems in theme ACL code; disabled CAPTCHA debug
Sat, 01 Mar 2008 18:57:07 -0500 Dan Fixed the fact that cron just didn't work at all (brain fart that day or something)
Fri, 22 Feb 2008 12:51:53 -0500 Dan Merging fixes and updates from stable branch
Sun, 27 Jan 2008 23:43:24 -0500 Dan Fixed case where HTML comments were getting stripped when opening tag not followed by whitespace (<!--foo--> was stripped, <!-- foo --> was not, neither is stripped now)
Wed, 20 Feb 2008 14:38:39 -0500 Dan Added support for Diffie-Hellman key exchange during login. w00t!
Sat, 16 Feb 2008 16:56:08 -0500 Dan Some memory usage improvements, I think. PHP is being weird to me.
Mon, 11 Feb 2008 14:33:31 -0500 Dan Rebrand as 1.1.2; made upgrade framework functional
Fri, 08 Feb 2008 23:20:20 -0500 Dan Added some basic timezone support; DST support is still to come.
Tue, 29 Jan 2008 23:15:44 -0500 Dan Localization is FINISHED, DAMN IT HELLAH YEAH! OVER WITH! Man, it feels to get that off my chest. Release is in under 48 hours, folks. And we're ready for it.
Tue, 29 Jan 2008 16:19:51 -0500 Dan Rebranded source code as 1.1.1; added TinyMCE ACL rule as per Vadi's request: http://forum.enanocms.org/viewtopic.php?f=7&t=54
Sun, 27 Jan 2008 23:45:53 -0500 Dan Profiling enabled for RenderMan's wikiformat routine; [minor] made HTML from profiler more pretty
Sun, 27 Jan 2008 23:44:02 -0500 Dan Fixed case where HTML comments were getting stripped when opening tag not followed by whitespace (<!--foo--> was stripped, <!-- foo --> was not, neither is stripped now)
Sun, 27 Jan 2008 22:57:40 -0500 Dan Got Enano to load even if there are no plugins; added caching for decrypted session keys to significantly improve performance (in theory at least)
Sat, 26 Jan 2008 15:42:32 -0500 Dan Removed stray debugging info from ACL editor success notification; added ability for guests to set language on URI (?lang=eng); added html_in_pages ACL type and separated from php_in_pages so HTML can be embedded but not PHP; rewote portions of the path manager to better abstract URL input; added Zend Framework into list of BSD-licensed libraries; localized some remaining strings; got the migration script working, but just barely; fixed display bug in Special:Contributions; localized Main Page button in admin panel
Sat, 26 Jan 2008 11:51:19 -0500 Dan Finished (or nearly finished) the admin language CP
Thu, 24 Jan 2008 22:08:51 -0500 Dan [minor] silenced errors to ob_gzhandler()
Thu, 24 Jan 2008 22:06:09 -0500 Dan A number of scattered changes. Profiler added and only enabled in debug mode (currently on), but awfully useful for fixing performance in the future. Started work on Admin:LangManager
Wed, 23 Jan 2008 12:48:22 -0500 Dan Improved compatibility with PostgreSQL and fixed a number of installer bugs; fixed missing "meta" category declaration in language files
Mon, 21 Jan 2008 15:37:28 -0500 Dan Started localization on User CP. Localized pagination, password strength, and various other small widgets. Fixed bug in path manager causing return of fullpage from get_page_id_from_url() even when namespace is Special.
Mon, 21 Jan 2008 10:09:48 -0500 Dan Implemented IP logging for comments and registration
Thu, 03 Jan 2008 00:53:33 -0500 Dan WiP commit for admin panel localization. All modules up to Admin:UserManager (working down the list) are localized except Admin:ThemeManager, which is due for a rewrite
Sun, 30 Dec 2007 01:13:24 -0500 Dan Localized the first parts of the admin panel. As a consequence, also wrote a brand new Admin:PageManager that doesn't suck like the old one did.
Thu, 27 Dec 2007 22:09:33 -0500 Dan Replaced TinyMCE 2.x with 3.0 beta 3. Supports everything but IE. Also rewrote the editor interface completely from the ground up.
Wed, 26 Dec 2007 00:37:26 -0500 Dan More localization work. Resolved major issue with JSON parser not parsing files over ~50KB. Switched JSON parser to the one from the Zend Framework (BSD licensed). Forced to split enano.json into five different files.
Thu, 20 Dec 2007 22:23:07 -0500 Dan Added initial avatar support. Currently rather feature complete except for admin controls for avatar.
Wed, 19 Dec 2007 22:55:40 -0500 Dan Redid merge, the previous one had a few problems
Wed, 19 Dec 2007 17:15:48 -0500 Dan Fixed: $paths->page_id not set when the page doesn't exist; finally fixed garbled page names for IP addresses
Tue, 18 Dec 2007 23:44:55 -0500 Dan Many changes. Installer with PostgreSQL is broken badly and will be for some time.
Sat, 15 Dec 2007 18:10:14 -0500 Dan SURPRISE! Preliminary PostgreSQL support added. The required schema file is not present in this commit and will be included at a later date. No installer support is implemented. Also in this commit: several fixes including <!-- SYSMSG ... --> was broken in template compiler; set fixed width on included images to prevent the thumbnail box from getting huge; added a much more friendly interface to AJAX responses that are invalid JSON
Wed, 12 Dec 2007 21:37:23 -0500 Dan Rebrand as 1.0.3 (Dyrad)
Tue, 11 Dec 2007 19:15:26 -0500 Dan Fixed focus of AJAX login form fields in IE; removed stale/unused call to $template->makeParserText() in paginate_array(); added hook page_create_request to possibly help control creation of pages of certain namespaces from plugins; fixed critical bug in user CP that prevented plugins from adding custom CP modules
Fri, 07 Dec 2007 16:42:22 -0500 Dan Merging in changes from stable
Mon, 03 Dec 2007 17:36:25 -0500 Dan Deprecated debugConsole and removed all calls to it. Added a lot of comments to common.php. Added support for "anonymous pages" that are created when the Enano API is loaded from an external script. Fixed missing border-bottom on Type 2 sidebar blocks in Oxygen.
Sun, 02 Dec 2007 16:00:10 -0500 Dan Merging in the newly stable Coblynau
Wed, 28 Nov 2007 14:47:42 -0500 Dan Oops, never merged in updates from ee1fc84f12a8 (240)
Wed, 28 Nov 2007 14:46:03 -0500 Dan Hopefully now all calls to escape() are replaced with ajaxEscape() in response to Tomasz's forum post; remove deprecated version of show_category_info() from functions.php
Sun, 25 Nov 2007 19:23:50 -0500 Dan Nothing special. ksort()ing list of allowed filetypes in the admin panel to make editing the list marginally easier
Wed, 21 Nov 2007 21:03:48 -0500 Dan Merging in updates and improvements from stable
Wed, 21 Nov 2007 20:14:14 -0500 Dan Re-sync Oxygen and Mint and Oxygen simple with Oxygen main; a couple improvements to the redirect-on-no-config code
Wed, 21 Nov 2007 15:10:57 -0500 Dan Searching sucks, and Enano's search algorithm was complete bullcrap. So I rewrote it. No, it does not use Google search technology. Like they have a patent for using the Arial font on search result pages anyway.
Sun, 18 Nov 2007 20:37:08 -0500 Dan Merging in fixes and updates from stable
Sun, 18 Nov 2007 18:44:55 -0500 Dan Major fixes to the ban system - large IP match lists don't slow down the server miserably anymore.
less more (0) -120 tip