* Remove some unused and some useless functions from GlobalSettings.php
* wfEscapeHTML() replaced with PHP built-in htmlspecialchars().
* Moved some functions into Parser.php and Image.php
* accesskeys and tooltips moved to js, needs to be customized/localized at MediaWiki:Monobook.js. Saves many calls to wfMsg, reduces page size, shows access key prefix depending on browser/os. Easy to customize by changing the ta array.
* skinphptal underline and justification wired up to produce generated css
* MediaWiki:Skin.css used for anons as well
* addcss call removed from header
* separate js var file included that holds things like the stylepath and the tooltip/accesskey array
* rtl css included from generated css
or in user preferences. The field remains in the database, however, and
classes such as User still use it. It's just hidden from the user interface.
The configuration variable is $wgAllowRealName, which defaults to TRUE.
Admins can set it to false if they need to.
It was kind of a chop-shop job, but I'm pretty sure that clever hackers
won't be able to force in a real name anywhere.
I haven't yet made display of real names in the RDF optional; I figure
that's a lower priority.
Automatic or manual collapsing and expanding of long pages.
Pages can be collapsed automatically according to a size threshold
set in the user preferences. Pages can be collapsed manually by clicking
the "Collapse" link in the TOC.
When a page is collapsed, only the intro & TOC are displayed. The
individual TOC lines link to section views, which can be individually edited
(classic section editing).
Section editing/viewing behavior has also been improved. When a section
with subsections is viewed or edited, all subsections are also loaded.
Known issues:
- After saving a section, we return to the full article view
rather than the section view, even if we previously were in section view
mode.
- Should work with Standard and Monobook, not tested with Cologne Blue yet.
- In Monobook, no backlink to the mother article is shown during section
viewing (Gabriel, can you fix that?)
browsers and requires use of an XML content type; try setting
$wgMimeType = "application/xhtml+xml" and use Mozilla).
Rearranged a couple things in prefs.
Did some refactoring in Math.php to remove some duplicated code and
figure out what is going on.
to add this field.
User.php stores and fetches the field, and has accessors for it.
User login allows setting the field on account creation.
The Preferences page allows changing the real name.
The labels are available for the real name, and the explanation of the email
field on login has been expanded to include an explanation of the real name
field, too.
Update script checks for the field, and adds it if it's missing.
* Add 'pagetitle' message to customize the HTML page title format (eg, "$1 - Wikipedia Encyclopedia")
* Some XHTML fixes to Nostalgia skin, prefs
* Removing the unfinished Smarty skins, renamed Standard to Classic
* Remove "gnunote" message in favor of general "copyright" msg, which is filled with the link & name in $wgRightsPage/$wgRightsURL and $wgRightsText
* Support a copyright-related icon as $wgRightsIcon (includes sample gnu-fdl.png)
* Show "Powered by MediaWiki" icon in footer (poweredby_mediawiki_88x31.png by Dan Carlson)
object to encapsulate the handling of get/post variables:
The following grab something out of $_REQUEST. The first parameter is the
variable name and is required. The second is an optional default value:
$wgRequest->getVal() - any type, returns NULL if no default given
$wgRequest->getInt() - forced integer, 0 default
$wgRequest->getText() - runs through $wgLang->recodeInput()
$wgRequest->getBool() - return true/false
$wgRequest->getCheck() - returns true if the var is set, even if to ""
$wgRequest strips slashes at initialization if necessary.
Also in this fine object:
$wgRequest->wasPosted() - returns false if this wasn't a real form post,
so we can protect against faked submissions in get urls.
There's still plenty of work to do, not everything uses the new functions
yet. To test the strict mode, do define('DEBUG_GLOBALS', 1);
practical, clear methods:
Title::getLocalURL() - "/wiki/index.php/Foobar" or "/wiki/index.php?title=Foobar&action=edit"
Title::getFullUrl() - ditto with $wgServer on the front
Title::getInternalUrl() - ditto with $wgInternalServer on the front (for some squid-related functions)
Title::escapeLocalUrl() - local URL escaped for HTML output
Title::escapeFullUrl() - full URL escaped for HTML output
All take an optional query parameter.
Title::getURL(), wfFullUrl() and wfFullUrlE() are now officially
deprecated and will result in instant death. wfLocalUrl() and wfLocalUrlE()
will be killed shortly; they are still used in the language files.
* Converted many instances of globals from the query to $_REQUEST
* Renamed near-useless Title::getURL() to Title::getPartialURL()
* Created new Title::getURL(), to replace wfLocalUrl, wfLocalUrlE, wfFullUrl and wfFullUrlE. Replaced most instances throughout the code
* In Parser.php, generalised stripping of <nowiki>, <pre> and <math> to allow more general use such as nesting
* Moved body of Article::preSaveTransform to Parser.php
* Put lots of comments in Title.php
- smaller headlines in standard skin
- slightly smaller font for menu links
- headlines have thin gray underline
- thinner borders
- footer in blue box
2) Skin changes:
- changed default color for non-article pages
- removed "Special pages" dropdown -- takes space,
causes display bugs and is hardly used
3) Preferences:
- put all checkbox prefs in a table so they are
properly aligned
4) Section editing:
- new option for editing sections by right clicking
titles (onContextMenu); works in Mozilla & IE
- new functionality for appending text to pages, currently
displayed only for Talk pages as "Post a comment"
(summary field becomes comment subject)
changes to the preferences form, a new key in the LanguageXX.php files
(defaultns) and a new global config variable in DefaultSettings.php
($wgNamespacesToBeSearchedDefault).
I also killed a bug that produced an errorneous SQL command when the user
failed to check any namespaces to search in the search form. The updated
implementation searched the main namespace if no checkbox is checked.