Brion Vibber [Wed, 1 Dec 2004 01:22:36 +0000 (01:22 +0000)]
(bug 961) Treat languages without names more cleanly
Brion Vibber [Tue, 30 Nov 2004 08:00:17 +0000 (08:00 +0000)]
Allowed HTML list has been frozen for some time, and we're trying not to add new tags.
Evan Prodromou [Tue, 30 Nov 2004 05:45:56 +0000 (05:45 +0000)]
Added hooks for watching and unwatching articles. Documented in
hooks.doc, and an example in Syslog extension.
Antoine Musso [Tue, 30 Nov 2004 05:22:39 +0000 (05:22 +0000)]
Fix bug bugzilla.wikimedia.org/show_bug.cgi?id=671
* allow <abbr> and <acronym>
Evan Prodromou [Mon, 29 Nov 2004 18:25:30 +0000 (18:25 +0000)]
Removed CVS keywords from files, to make merging between branches
easier. Interpolated keywords cause lots of conflicts and headaches at
merge time for older (<1.12.x) CVS versions.
Evan Prodromou [Mon, 29 Nov 2004 17:58:28 +0000 (17:58 +0000)]
Make User::newFromName set the user object's ID attribute, so it can
be used for other methods and lazy loading. Previously, you had to use
the class method idForName and assign its value using setId(). Since
all the code that was using newFromName was doing this, it seems like
client programs want a "real" User returned from newFromName. Replaced
client code that was doing newFromName, idForName, setId with just
newFromName. This doesn't seem to break newFromName's semantics; it
seems intuitive (to me) that the user object returned from newFromName
should be usable as returned.
Evan Prodromou [Mon, 29 Nov 2004 17:36:13 +0000 (17:36 +0000)]
Another step in removing deferred updates. Removed the UserTalkUpdate
module and moved user talk modification code to User (it's read in
User, should probably be written in User, too). Changed calling code
in Article to update the user directly, rather than using the
UserTalkUpdate class. Tested with logged-in and not-logged-in users.
Zheng Zhu [Mon, 29 Nov 2004 15:32:42 +0000 (15:32 +0000)]
slightly more informative error message
Zheng Zhu [Mon, 29 Nov 2004 15:24:02 +0000 (15:24 +0000)]
fix typo
Tim Starling [Mon, 29 Nov 2004 12:36:43 +0000 (12:36 +0000)]
made connection errors work again
Tim Starling [Mon, 29 Nov 2004 11:26:24 +0000 (11:26 +0000)]
parse() function, simplifying calling of the parser by supplying options from OutputPage
Evan Prodromou [Mon, 29 Nov 2004 05:52:26 +0000 (05:52 +0000)]
Since updates are no longer truly deferred, replaced code for adding
UserUpdate's to the deferred list with in-place code for updating the
user. Removed UserUpdate.php from CVS and from UpdateClasses.php.
Evan Prodromou [Mon, 29 Nov 2004 04:23:12 +0000 (04:23 +0000)]
Added hook events for "E-mail this user" feature. Documented in
hooks.doc, and added a sample hook to Syslog extension.
Brion Vibber [Mon, 29 Nov 2004 04:00:05 +0000 (04:00 +0000)]
RC patrol fixlet: include rcid in 'diff' link in enhanced mode, for individually-shown edits
Zheng Zhu [Mon, 29 Nov 2004 03:34:20 +0000 (03:34 +0000)]
typo
Zheng Zhu [Mon, 29 Nov 2004 02:42:58 +0000 (02:42 +0000)]
try all variants when displaying search results.
Zheng Zhu [Mon, 29 Nov 2004 02:36:27 +0000 (02:36 +0000)]
explode with limit
Zheng Zhu [Mon, 29 Nov 2004 02:14:54 +0000 (02:14 +0000)]
correct parsing of info line for CONV ALL query
Zheng Zhu [Mon, 29 Nov 2004 01:46:23 +0000 (01:46 +0000)]
better support for multiple language variants when displaying the search result.
Zheng Zhu [Mon, 29 Nov 2004 01:22:44 +0000 (01:22 +0000)]
added convertForSearchResult() so that search results are correctly shown for languages that support multiple variants
Evan Prodromou [Sun, 28 Nov 2004 07:06:25 +0000 (07:06 +0000)]
Added "unknown action" event, so that extensions can define new
actions and handle them. Documented in hooks.doc, but not really
appropriate for the Syslog extension, so ignored.
Evan Prodromou [Sun, 28 Nov 2004 06:45:24 +0000 (06:45 +0000)]
Add event hooks for article save. Documented in hooks.doc, and example
in Syslog extension.
Evan Prodromou [Sun, 28 Nov 2004 06:15:22 +0000 (06:15 +0000)]
Add event hooking for article deletion. Add a hook for article
deletion in the Syslog extension to test/demonstrate/whatever.
Document the events in hooks.doc.
Brion Vibber [Sun, 28 Nov 2004 04:16:24 +0000 (04:16 +0000)]
For now, at least, language links are written in HTML due to Latin-1 silliness. Don't escape them again...
Brion Vibber [Sun, 28 Nov 2004 04:05:05 +0000 (04:05 +0000)]
Profiling points
Brion Vibber [Sun, 28 Nov 2004 03:29:50 +0000 (03:29 +0000)]
Loop invariant optimization: skip further checks for subpages on namespaces where subpages aren't allowed. Saves ~20ms on [[List of Royal Navy ship names]] on my test rig.
Brion Vibber [Sun, 28 Nov 2004 02:46:52 +0000 (02:46 +0000)]
Avoid undefined string index notice on {{}}
Evan Prodromou [Sun, 28 Nov 2004 00:51:43 +0000 (00:51 +0000)]
Per brion's suggestion, changed <? to <?php in Syslog, and change
functions to strings in Syslog and hooks.doc examples.
Evan Prodromou [Sun, 28 Nov 2004 00:20:37 +0000 (00:20 +0000)]
Added hook events for article protection. Added sample code to Syslog
extensions, and documented in hooks.doc.
Evan Prodromou [Sat, 27 Nov 2004 23:57:55 +0000 (23:57 +0000)]
Added event-hooking code for blocking users and IPs. Added a handler
to the Syslog extension for blocked users to test this event. Added
documentation for the event to hooks.doc.
Evan Prodromou [Sat, 27 Nov 2004 23:10:05 +0000 (23:10 +0000)]
Add an extension for logging MediaWiki events to the system logger
(syslog). Although intended to be useful, it's more of a testbed for
event hooks than anything else. For a first pass, started logging user
login and user logout events. Had to add hooks-running code to the
login and logout modules, but that's kind of the point. Documented the
three events added in hooks.doc.
Evan Prodromou [Sat, 27 Nov 2004 21:43:06 +0000 (21:43 +0000)]
Add a system of hooks to allow third-party code to run before, after, or
instead of -- MediaWiki code for particular events (article rollback,
user ban, etc.). Framework is in place; hooks are not yet in place
in the mainline code.
Brion Vibber [Sat, 27 Nov 2004 13:40:58 +0000 (13:40 +0000)]
Have the skin cache the highlightbroken and hover options to avoid asking the user object on every link format. This can save a chunk of time on pages with obscenely many links (~50ms on my test box with [[List of Royal Navy ship names]])
Brion Vibber [Sat, 27 Nov 2004 13:25:39 +0000 (13:25 +0000)]
Bold changed words in diff output, per recommendation in bug 777
Brion Vibber [Sat, 27 Nov 2004 12:21:16 +0000 (12:21 +0000)]
Light optimization on Skin::makeLinkObj(). Shaves about 40ms off of [[List of Royal Navy ship names]] on my test rig (over 2500 links!)
Brion Vibber [Sat, 27 Nov 2004 09:03:16 +0000 (09:03 +0000)]
Slight adjustment to self-interwiki fix: disallow empty title links
Brion Vibber [Sat, 27 Nov 2004 08:31:21 +0000 (08:31 +0000)]
Submit local-interwiki links to namespace splitting, and disallow additional interwikis on them (as this actually creates unreachable local links).
Some minor optimizations. Removed :image check from newFromText as the parser deals with this.
Brion Vibber [Sat, 27 Nov 2004 06:38:41 +0000 (06:38 +0000)]
Adjust memory usage stats for overhead as well. Fixed accidental doubling of per-call stats on some calls
Brion Vibber [Sat, 27 Nov 2004 05:53:32 +0000 (05:53 +0000)]
Compensate for overhead of profiled subcalls in each function, to give less distorted figures.
Brion Vibber [Sat, 27 Nov 2004 02:45:36 +0000 (02:45 +0000)]
Reduce total profiling overhead by about 6%, and internal overhead by about 40%
Tim Starling [Sat, 27 Nov 2004 00:09:01 +0000 (00:09 +0000)]
Correct name for Nauruan according to en.wikipedia.org/w/wiki.phtml?title=User_talk:Tim_Starling&diff=
7885309&oldid=
7875798
Brion Vibber [Fri, 26 Nov 2004 12:10:24 +0000 (12:10 +0000)]
Tell regexp parser to use extra analysis on external link regexp;
this saves about 10ms on [[Zuiderzee Works]] on my test rig.
Brion Vibber [Fri, 26 Nov 2004 11:47:09 +0000 (11:47 +0000)]
Cache title lookups in Title::newFromText(). In pages with many duplicate links this can save time normalizing and parsing title text.
Brion Vibber [Fri, 26 Nov 2004 10:49:46 +0000 (10:49 +0000)]
Tell regexp engine to do extra analysis on doBlockLevels() paragraph-level
HTML checking. This speeds up this part of the operation from about 30ms
to about 7ms in Zuiderzee_Works on my test rig.
Brion Vibber [Thu, 25 Nov 2004 23:49:52 +0000 (23:49 +0000)]
Fix indentation, add profiling points
Brion Vibber [Thu, 25 Nov 2004 22:46:41 +0000 (22:46 +0000)]
Mark the default skin in the preferences list. People get lost, and 'MonoBook' or whatever is not exactly obvious.
Brion Vibber [Thu, 25 Nov 2004 22:42:33 +0000 (22:42 +0000)]
Suppress hidden files from skin list; some backup and magic-filesystem-stuff systems put junk in there.
Brion Vibber [Thu, 25 Nov 2004 22:02:30 +0000 (22:02 +0000)]
(bug 934) List each category on a page only once.
Dan Keshet's patch (http://bugzilla.wikipedia.org/attachment.cgi?id=134&action=view) plus an added version check on parser cache objects, to automatically discard cached objects using the incompatible older format.
Domas Mituzas [Thu, 25 Nov 2004 14:20:35 +0000 (14:20 +0000)]
PostgreSQL/Tsearch2 full-text-index initial support
Brion Vibber [Thu, 25 Nov 2004 13:52:56 +0000 (13:52 +0000)]
Move edit toolbar generation code from the Skin to the EditPage user interface, where it belongs.
Brion Vibber [Thu, 25 Nov 2004 13:47:17 +0000 (13:47 +0000)]
Split recentchanges and image history list formatters from Skin, where they never really belonged. No skin overrides these things, and they just waste server time loading and parsing the code for every page hit where they're not needed.
Brion Vibber [Thu, 25 Nov 2004 13:41:33 +0000 (13:41 +0000)]
Whoops
Brion Vibber [Thu, 25 Nov 2004 13:06:40 +0000 (13:06 +0000)]
Avoid a lot of wasted time parsing and reparsing titles and fetching and refetching messages on every line of potentially hundreds or thousands shown.
Brion Vibber [Thu, 25 Nov 2004 12:34:48 +0000 (12:34 +0000)]
* Avoid a lot of needless reparsing of titles coming out of the database
* Stash message lookups used on every row (potentially used hundreds or thousands of times during the script run)
* Fix undefined variable notice by removing mysterious unused line of code
Brion Vibber [Thu, 25 Nov 2004 12:18:46 +0000 (12:18 +0000)]
* Force index selection, MySQL may pick cur_namespace when using the new namespace selector, which is bad bad mojo on a large site
* Fix missing </div> tag which broke layout
Brion Vibber [Thu, 25 Nov 2004 11:54:07 +0000 (11:54 +0000)]
Profiling points. Avoid reparsing of titles which came out of the database. Snip off extract, no point in wasteful extra string copying (snort)
Brion Vibber [Thu, 25 Nov 2004 06:20:01 +0000 (06:20 +0000)]
Add site-wide options to disable all e-mail functions or only user-to-user email.
Brion Vibber [Thu, 25 Nov 2004 06:19:21 +0000 (06:19 +0000)]
Profile point
Brion Vibber [Thu, 25 Nov 2004 06:04:16 +0000 (06:04 +0000)]
Separate the HTML guts of the user login form into a template to keep the code more or less legibile.
Brion Vibber [Thu, 25 Nov 2004 06:02:17 +0000 (06:02 +0000)]
Remove redundant operations
Brion Vibber [Thu, 25 Nov 2004 05:31:49 +0000 (05:31 +0000)]
Rearrange the new template system a bit to make things less verbose in most cases, and easier to reuse...
Zheng Zhu [Thu, 25 Nov 2004 03:17:05 +0000 (03:17 +0000)]
convert to simplified Chinese before for searching and indexing.
Zheng Zhu [Thu, 25 Nov 2004 03:04:50 +0000 (03:04 +0000)]
Really show the desired number of lines per hit.
Brion Vibber [Wed, 24 Nov 2004 22:40:38 +0000 (22:40 +0000)]
Convert to UTF-8; fix for short open tags off; remove some redundant and unused bits.
Brion Vibber [Wed, 24 Nov 2004 22:31:48 +0000 (22:31 +0000)]
Avoid 'undefined index' notices
Andre Engels [Wed, 24 Nov 2004 14:05:04 +0000 (14:05 +0000)]
Adapted version - this is for li:, not nl:, also syntax updated at several places
Shane King [Wed, 24 Nov 2004 12:55:48 +0000 (12:55 +0000)]
Added the ability to protect a page from moves but not from edits. See
bug #868.
Andre Engels [Wed, 24 Nov 2004 12:53:15 +0000 (12:53 +0000)]
Language file for Limburgian, created by Dutch/Limburgian user Guaka
Shane King [Wed, 24 Nov 2004 12:41:45 +0000 (12:41 +0000)]
Allow filtering of Special:Contributions by namespace. Originally intended
so as to allow filtering of user image uploads, see bug #905.
Brion Vibber [Wed, 24 Nov 2004 12:02:22 +0000 (12:02 +0000)]
Recentchanges optimization: avoid a lot of senseless parsing of link text coming out of the database, stash message lookups done in every line, and don't do two date formats when we only care about one.
Brion Vibber [Wed, 24 Nov 2004 11:43:42 +0000 (11:43 +0000)]
Remove some redundant checks; if these ever failed, PHP would have first thrown an error about not having required parameters to the function.
Brion Vibber [Wed, 24 Nov 2004 10:27:49 +0000 (10:27 +0000)]
Have Title::makeTitle() do the space to underscore replacement so it can be used on user_text fields directly without fuss.
Brion Vibber [Wed, 24 Nov 2004 10:26:38 +0000 (10:26 +0000)]
Ensure ObjectCache.php is included (by default it's not if the main config has memcached turned on)
Brion Vibber [Wed, 24 Nov 2004 09:57:03 +0000 (09:57 +0000)]
Add profiling points, and disable output instead of abrupt exit (so things like the profiling actually work!)
Brion Vibber [Tue, 23 Nov 2004 12:57:32 +0000 (12:57 +0000)]
(bug 482) Don't print TOC box when hidden. Patch by Shane King (bugzilla.wikipedia.org/show_bug.cgi?id=482)
Brion Vibber [Tue, 23 Nov 2004 07:41:07 +0000 (07:41 +0000)]
Profiling points etc
Brion Vibber [Tue, 23 Nov 2004 07:38:42 +0000 (07:38 +0000)]
Legibility, profiling points, comments, tweaking. Removed unused isLog() function, replaced some Namespace::getXXX with NS_XXX
Brion Vibber [Tue, 23 Nov 2004 07:25:22 +0000 (07:25 +0000)]
* Sort the profiling log output so the slowest is at the bottom; it's easier to read the log this way.
* Add min and max execution times for each function
Brion Vibber [Tue, 23 Nov 2004 06:38:11 +0000 (06:38 +0000)]
Inner loop optimization: when rendering a wiki page, Language::ucfirst() gets called for every link. Using the faster ASCII function when possible saves a little time on longer pages.
Brion Vibber [Tue, 23 Nov 2004 05:36:40 +0000 (05:36 +0000)]
Switch do_html_entity_decode() from using strtr() to preg_replace(), which is much faster on the common case (no match).
On pages with a large number of links (hundreds) this actually made up about 1/10 of the time spent in Parser::replaceInternalLinks().
Brion Vibber [Tue, 23 Nov 2004 05:28:06 +0000 (05:28 +0000)]
Make sure wfProfileIn is available for testing, in case some silly function uses it
Zheng Zhu [Tue, 23 Nov 2004 01:31:54 +0000 (01:31 +0000)]
Try again to fix wrong variable scope...
Zheng Zhu [Mon, 22 Nov 2004 22:10:34 +0000 (22:10 +0000)]
segment() should only do segmentation, and let the caller do the conversion to hex.
Zheng Zhu [Mon, 22 Nov 2004 22:03:13 +0000 (22:03 +0000)]
Still need to convert UTF8 to a hex string for search.
Zheng Zhu [Mon, 22 Nov 2004 21:43:46 +0000 (21:43 +0000)]
forgot global...
Zheng Zhu [Mon, 22 Nov 2004 21:14:38 +0000 (21:14 +0000)]
Convert a link to all variants before checking for existence. The reduce the number of connections made to zhdaemon.
Zheng Zhu [Mon, 22 Nov 2004 21:10:18 +0000 (21:10 +0000)]
added convertToAllVariants() to query zhdaemon for all variants.
Brion Vibber [Mon, 22 Nov 2004 10:05:11 +0000 (10:05 +0000)]
Inner loop optimization: reverse order of conditions for language variant link check, so the condition short-circuits correctly and we can skip the expensive per-link lookup.
Brion Vibber [Mon, 22 Nov 2004 06:50:37 +0000 (06:50 +0000)]
Profiling points; some swapping of wfMsg for wfMsgForContent
Brion Vibber [Mon, 22 Nov 2004 06:49:58 +0000 (06:49 +0000)]
Forgot to commit this: enable parser cache by default
Brion Vibber [Mon, 22 Nov 2004 06:45:01 +0000 (06:45 +0000)]
* Remove unnecessary {{ns:#}} vars. The generic names are already replaced by the title/linking code, and the variable replacement overhead for links in the skin is relatively high for parser-cache hits.
* Disable the site support link by default, as in earlier versions. (Now via "-" in the name to match others)
* Fix a deletion log link to new system
Brion Vibber [Mon, 22 Nov 2004 05:12:50 +0000 (05:12 +0000)]
Don't use setOption() in loadDefaultFromLanguage, as this triggers some slow reloading.
Code style tweaks and profiling points.
Brion Vibber [Mon, 22 Nov 2004 05:09:32 +0000 (05:09 +0000)]
Use the content language's linktrail
Zheng Zhu [Mon, 22 Nov 2004 04:19:57 +0000 (04:19 +0000)]
Updated conversion table
Zheng Zhu [Mon, 22 Nov 2004 04:19:25 +0000 (04:19 +0000)]
fix error in last commit
Zheng Zhu [Mon, 22 Nov 2004 04:13:31 +0000 (04:13 +0000)]
small fixes
Zheng Zhu [Mon, 22 Nov 2004 04:13:08 +0000 (04:13 +0000)]
Updated manual tables
Brion Vibber [Mon, 22 Nov 2004 01:33:47 +0000 (01:33 +0000)]
Use compression in the objectcache table if zlib support is available.
Since we'll be using this for the parser cache when memcached is not
set up, we'll want to actually put junk in there and saving space is nice.
Brion Vibber [Mon, 22 Nov 2004 01:16:44 +0000 (01:16 +0000)]
Let the parser cache use the objectcache table if memcached isn't set up,
and enable it by default. This provides significant speedups on medium
to long pages, though for busier sites the garbage collection probably
should be adjusted.
Brion Vibber [Sun, 21 Nov 2004 14:07:24 +0000 (14:07 +0000)]
Avoid asking for the day, month etc name messages and the total number of articles over and over. InitialiseVariables() gets called during message transformations, so this saves several milliseconds of startup time which can be a significant portion of execution time on ParserCache'd page views.