<nowiki> or <!-- .. --> tags would cause it to miscount section
numbers. Parser::extractTags modified to allow stripping HTML comments
as well. Note: Presently HTML comments are completeley removed from
the output using preg_replace. Should they ever be rendered instead,
Parser::extractTags should be used.
currently which make it a dubious thing to try to do). Fix HTML for
error display on move. Add error class to style sheets. Fix error call
in protect. Remove dupe function that was moved from skin to output.
print command on a regular page will actually use the print stylesheet.
Explicitly following the printable link will also show the printable view
on screen.
CAVEATS: IE/Win may oversimplify the link style in what should be colored
or underlined text. Page title is not shown in Nostalgia skin printable
view. Part of the footer is duplicated in the output and will be visible in a styleless
user agent (lynx, really old Netscape, etc). Some render options aren't
totally handled right for printable, such as ? brokenlinks.
Also, section edit links are now available in diff view if the dest rev is
the current revision.
Some misc code clean-up and formatting as well.
* Split MediaWiki namespace into MediaWiki and Template (requires changes to all language files)
* Purge links to on edit of Template namespace
* General refactoring of purging and cache invalidation code
This saves trouble in a number of places where we can now do joins with the link tables to get other info (such as cur_is_redirect!) as well as the name, and fewer bits need to be juggled on page renaming, as outgoing links no longer have to be changed (cur_id remains the same when a page is renamed).
rebuildLinks.inc and some of the tools in the 'maintenance page' still need to be updated to work with the new setup. (Special:Maintenance needs a *lot* of cleanup in general. It's kind of a catch-all of vaguely defined features which suck performance like a hydroelectric dam.)
Also I've slipped in some extra debug code. And, I think 'indexes.sql' is a big waste of time and should all be moved into tables.sql. Building indexes separately doesn't help on InnoDB and won't do anything on MyISAM either if you're just going to replace the table after it's built with an imported one from a dump which creates it with indexes.
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
* Misc. bugs fixed in DatabaseFunctions.php and Skin.php.
* install-utils, install and update utilise Database objects instead of handling their own connections
* schema change for RC improvement -- added rc_type, rc_moved_to_title and rc_moved_to_ns
Adds compressOld.php to batch-compress existing entries.
Article::getRevisionText will do decompression on a given row if
necessary (marked by old_flags). Requires zlib.
* Made updating of page view stats faster my buffering them in a
HEAP table until many pages can be updated at once.
tables.sql:
* hitcounter table
patch-hitcounter.sql:
* hitcounter table
update.php:
* Creating hitcounter table when necessary
execution starts and ends in wiki.phtml, giving the code a somewhat
more predictable flow.
OutputPage.php:
* Added disable() method to Output class.
* Replaced exit() call in checkLastModified() with "return true" (thereby
altering its contract quite severly).
* reportTime() now only returns elapsed time, code with side effects
moved to logProfilingData() in GlobalFunctions.php.
GlobalFunctions.php:
* Added function logProfilingData() which does most of what
OutputPage->reportTime() used to do.
Article.php:
* Replaced exit() in checkLastModified() with "return true" (thereby altering
its contract quite severly).
* replaced implicit exit in calls to checkLastModified() and tryFileCache()
with returns.
LogPage.php:
* replaced implicit exit() with return in call to checkLastModified()
SpecialRecentchanges.php:
* replaced implicit exit() with return in call to checkLastModified()
wiki.phtml:
* Single call to logProfilingData() at the end of the request.
adding the conflict check to the UPDATE on cur and moving it up before
the INSERT to old. Should throw edit conflict instead of overwriting
a different revision.
and add support for showing the cached version of a page if unable to
contact the database.
Also add 'Vary: Accept-Encoding' to headers for every output, just to
make sure.
- 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)
2) fixed edit section bug (would not trigger on <h[1-6]> elements
3) show/hide javascript toggle text changes when clicked
4) toc centered, smaller font
HOWEVER, the session cookie seems to override our cache control. May need to
mess with this to get things working smoothly.
Also, caching + gzip may be a difficult combination.
2) Hide section edit links for old revisions
3) Changed layout of section edit links
4) added info to editing screen when you are editing a section
5) removed toc from main page
instead of the whole one
* "Table of contents" feature that is displayed above the article if that
preference is enabled and there are more than three headings
* Rewrote auto-numbering code
* Automatic insertion of anchors into every page
* minor fixes to update.php
If an article with less than 500 characters is to be deleted, at most the
first 150 characters are automatically suggested as a deletion reason. This
should automate the frequent practice of pasting the text of nonsense
articles into the deletion reason.
If an article with a history is to be deleted, a warning is inserted,
linking to the article history (so as to avoid accidentally deleting a
vandalized page with a valid history).
If a blanked article with a history is to be deleted, and the next earlier
revision contains less than 500 characters, at most the first 150 characters
are automatically suggested as a deletion reason. Nonsense pages are often
blanked, just checking the current revision for nonsense is not good enough.
New texts in Language.php for this feature:
- excontent, exblank, exbeforeblank, historywarning