Fix SpecialPageFactory list handling
authorBrad Jorsch <bjorsch@wikimedia.org>
Wed, 1 Oct 2014 03:20:04 +0000 (23:20 -0400)
committerBrad Jorsch <bjorsch@wikimedia.org>
Wed, 1 Oct 2014 17:58:08 +0000 (13:58 -0400)
commite8419973ef0c8cd6ff8969060abe2d4985d81770
tree2278235d6bd9ea3eb06a366f654aab7a1cff9af6
parent0f6ddf6dd4e1a80f5093b5af203f6379d9c01b77
Fix SpecialPageFactory list handling

* Since Ic917c7d8/I7420b9ec, SpecialPageFactory doesn't properly cache
  SpecialPageFactory::$list.
* SpecialPageFactory::resetList() has never really worked right, it
  loses all the core special pages.
* SpecialPageFactory::getAliasListObject() could be called recursively
  from a SpecialPage_initList hook. There's no particular reason to fail
  it, just allow the original call to override the result of the
  recursive one and hope it works.

Change-Id: I7adb346eab00d5849d087ddff75230a35be3ee8f
includes/specialpage/SpecialPageFactory.php
tests/phpunit/includes/specialpage/SpecialPageFactoryTest.php