Commit graph

1096 commits

Author SHA1 Message Date
Bartosz Dziewoński
7d04663398 Split includes/Pager.php
Change-Id: I67fcffca4e3de081a895deb1a285a5545940ece9
2014-08-23 14:25:02 +02:00
umherirrender
fbba43358e Split RevisionDeleteAbstracts.php to separate files
Same as I244a66fe19c089df4bcabcf745536d99b2103bc4

Change-Id: I90cea070a8e24d82f0675f122c79326988351e08
2014-08-20 19:08:33 +02:00
jenkins-bot
a15fe7dd93 Merge "Turn HTMLBlockedUsersItemSelect into HTMLSelectLimitField" 2014-08-15 21:40:32 +00:00
withoutaname
e53c6dbd8d actions: Move SubmitAction class out of EditAction.php
Straight move, except for the slight change in the comparison operator
for session_id().

Change-Id: I9404f48ee75ff3d3655f2f5b75a05d66f334b80d
2014-08-12 22:26:54 +00:00
Kunal Mehta
eb37e9d1ff Introduce SkinFactory
Modeled similar to ConfigFactory, this lets skins
register themselves via a callback, allowing for
proper dependency injection.

Loading via $wgValidSkinNames is still supported,
but considered "legacy", not deprecated though.

Skin::newFromKey is now deprecated (and had only
one caller in an extension, which I'll update
afterwards).

Change-Id: I1960483f87c2ef55c994545239b728fa376f17f4
2014-08-09 21:40:54 +01:00
Tom Arrow
9ae72401fa Split SkinFallback and SkinfallbackTemplate
Change-Id: I55c866c08d4f442021c43068efe64be871afb96b
2014-08-09 12:17:08 +00:00
addshore
880e496a30 Split PoolCounterWorkViaCallback into own file
Change-Id: I9c920cd03351a2b2b155247d58fbb2280d4d3775
2014-08-09 00:44:59 +01:00
Kunal Mehta
d2a82fcb60 Add JSONContent and handler from EventLogging
As was discussed at the architecture summit, a basic JSON content
class which handles validation and basic display. Not intended to
be used directly, but for extensions to subclass.

Co-Authored-By: addshore <addshorewiki@gmail.com>
Change-Id: Ifcde9bcd0efcf15a3ab692dd2a0a3038559e0254
2014-08-08 23:31:26 +00:00
Reedy
be02da8e1a Split RevisionDelete.php to separate files
Change-Id: I244a66fe19c089df4bcabcf745536d99b2103bc4
2014-08-07 20:46:46 +00:00
Chad Horohoe
af87cb4a3f Remove score display from search engine
Scores are an internal metric that should not be exposed to
users, plus most backends fail to even support it.

Removes PostgresSearch*-specific result classes as they're not
needed anymore.

Change-Id: I00acaabad0565b9a5b3524c992feea366eb74bcc
2014-08-07 14:19:37 +01:00
addshore
3263900481 Split UnwatchAction into own class
Change-Id: Ief650c115237214345bef7733d33967f0e042521
2014-08-07 01:40:35 +01:00
addshore
f902738503 Split UnprotectAction into own file
Change-Id: Ibde9dca89631522a25e2f0eef2790c2654a2bbd9
2014-08-07 01:33:12 +01:00
Bartosz Dziewoński
0b191ba970 Use a special fallback skin when selected skin is unavailable
It just displays a helpful message that explains why and how to
install and enable skins. There is no navigation nor other basic page
elements (like the logo or site notice), since this is not intended to
be a fully functional skin.

Bug: 68332
Change-Id: Id14fbb8733cd8fbb912a724ac658f5e7244364b5
2014-08-06 16:41:36 +00:00
withoutaname
72462041c0 Move PasswordError under includes/password/ file
Change-Id: I7256325492b2f6451223714efb8b3e07fca9ee3e
2014-07-29 02:07:50 -07:00
Bartosz Dziewoński
3971d0646c resourceloader: Allow skins to provide additional styles for any module
The newly introduced $wgResourceModuleSkinStyles global enables skins to
provide additional stylesheets to existing ResourceLoader module.

This both makes it easier (or at all possible) to override default
styles and lowers the style footprint by making it possible not to
load styles unused on most pages.

----

Example:

Use the file 'foo-styles.css' for the 'mediawiki.foo' module when using
the MySkin skin:

  $wgResourceModuleSkinStyles['myskin'] = array(
    'mediawiki.foo' => 'foo-styles.css',
    'remoteSkinPath' => 'MySkin',
    'localBasePath' => __DIR__,
  );

For detailed documentation, see the doc comment in DefaultSettings.php.
For a practical usage example, see Vector.php.

----

Implementation notes:

* The values defined in $wgResourceModuleSkinStyles are embedded into
  the modules as late as possible (in ResourceLoader::register()).
* Only plain file modules are supported, setting module skin styles
  for other module types has no effect.
* ResourceLoader and ResourceLoaderFileModule now support loading
  files from arbitrary paths to make this possible, defined using
  ResourceLoaderFilePath objects.
  * This required some adjustments in seemingly unrelated places for
    code which didn't handle the paths fully correctly before.
* ResourceLoader and ResourceLoaderFileModule are now a bit more
  tightly coupled than before :(
* Included a tiny example change for the Vector skin, a lot more of
  similar cleanup is possible and planned for the future.
* Many of the non-essential mediawiki.* modules defined in
  Resources.php should be using `'skinStyles' => array( 'default' => … )`
  instead of `'styles' => …` to allow more customizations, this is
  also planned for the future after auditing which ones would actually
  benefit from this.

Change-Id: Ica4ff9696b490e35f60288d7ce1295766c427e87
2014-07-29 00:53:41 +02:00
Tyler Anthony Romeo
95a8974c6b
Added password hashing API
Deprecated the old User::crypt, et. al password hashing
system and implemented an extensible password hashing
API.

The new Password class allows registering of child classes
and provides factory functions for creating new Password
objects. The built-in hash types are the old MediaWiki MD5
types, which are for backwards-compatibility only, and bcrypt.

Also included is support for wrapping existing hashes as well
as encrypting passwords with a configured encryption key.

Bug: 54948
Bug: 28419
Change-Id: I0a9c972931a0eff0cfb2619cef3ddffd03710285
2014-07-27 15:51:18 -04:00
This, that and the other
13ea23c484 Remove unused XMLReader2 class
Undocumented and unused within core. Was previously used in WikiImporter,
but that use was removed in r81437.

Change-Id: I45f4ff3fae19a7d9c1a0dacb2e02d53ee4bdaefb
2014-07-26 11:53:51 +10:00
Aaron Schulz
094d901b88 Refactored duplicated code into JobRunner.php
* Also added an async flag to SpecialRunJobs so that it can be
  set to false to get a JSON blob back with a regular 200 status.

Change-Id: I2f5763e017684c3c61f3d3f27ddf7f7834bdfce2
2014-07-25 17:28:10 +00:00
umherirrender
1c68a1ee86 Cleanup some docs (includes/*.php)
- Swap "$variable type" to "type $variable"
- Added missing types
- Fixed spacing inside docs
- Makes beginning of @param/@return/@var/@throws in capital
- Changed some types to match the more common spelling

Change-Id: I783e4dbfe5f6f98b32b9a03ccf6439e13e132bcc
2014-07-24 19:42:24 +02:00
jenkins-bot
2896cf38d6 Merge "Integrate Special:MyLanguage from the Translate extension" 2014-07-23 22:23:56 +00:00
withoutaname
6080ded0cc Remove deprecated class StubContLang
Change-Id: I4569f5d59018f0d5082888fdc737cf30370bcbdd
2014-07-22 22:07:04 -07:00
Max Semenik
062cfffeb2 Integrate Special:MyLanguage from the Translate extension
In practice, this means the MediaWiki canonical way to uniquely and
humanly name translation pages on a multilingual wiki becomes
$source_page_title + '/' + $target_language_code, irrespective of
the enabling of the navigational subtitle and of the relative
titles (..) syntax for linking and transcluding, which are unrelated
and keep being controlled by $wgNamespacesWithSubpages.

This syntax has been prevalent on most wikis including mediawiki.org
since at least 2009, also thanks to #titleparts in ParserFunctions.

The part of the special page's functionality that made links to it red
when destination page wasn't present will be integrated with a follow-up
commit because they require more performance work.

I'm also including some Title tests that were written for testing the
redlinking functionality but are useful in general.

Bug: 66762
Change-Id: I520077c931431b5919e0208f75c20b5b25f3159d
2014-07-22 11:33:15 -07:00
Aaron Schulz
b8c038f678 Redo WhatLinksHere query and add a *_from_namespace field to link tables
* Also tweaked the query so MySQL avoids doing a page_name
  index scan when it should start with the link table index
* Added population script (triggered by update.php)
* Also removed uniqueness from some indexes where it is redundant
* Renamed two confusing variables

Bug: 60618
Change-Id: Icca99b6ae0ef76cb77695faf82c615516191da36
2014-07-21 12:04:56 -07:00
withoutaname
3702d19788 Remove deprecated RawPage class
Change-Id: I7a75a09de934250604317983a4446ecaa9fa6550
2014-07-20 22:58:44 -07:00
jenkins-bot
897c7fce96 Merge "Collation: Workaround for incorrect collation of Estonian" 2014-07-21 05:05:50 +00:00
withoutaname
071353c89a Remove deprecated HistoryPage class
Change-Id: I3db4d5a1a2c574a73e2fcfe1fd1da49f3570e4b6
2014-07-21 04:54:40 +00:00
Bartosz Dziewoński
638801374b Collation: Workaround for incorrect collation of Estonian
'W' and 'V' should not be considered the same letter for the purposes
of collation in modern Estonian. We work around this by replacing 'W'
and 'w' with 'ᴡ' U+1D21 'LATIN LETTER SMALL CAPITAL W' for sortkey
generation, which is collated like 'W' and is not tailored to have the
same primary weight as 'V' in Estonian.

Bug: 54168
Change-Id: I3e8031b9d1dc18fdb7595fb9fd23e5f930106fa4
2014-07-20 21:11:38 +02:00
Kunal Mehta
126fb8d157 OutputPage: Support foreign module sources in makeResourceLoaderLink
To do so, created ResourceLoader::createLoaderURL(), which takes a
ResourceLoaderContext object. ResourceLoader::makeLoaderURL() was
deprecated.

While reviewing usage of the old function, many of the callers only
differed by one or two parameters from their respective
ResourceLoaderContext object. To simplify that use case, I created
DerivativeResourceLoaderContext, based of off DerivativeContext for
IContextSource.

Change-Id: I961c641ab953153057be3e3b8cf6c07435e9a0b0
2014-07-19 23:44:00 +00:00
withoutaname
d1e0959eef Move CacheHelper to includes/cache/ folder
Change-Id: I13c9cf1be7fe0d436ea1a5d23f162abac7d97a29
2014-07-18 19:45:05 +00:00
jenkins-bot
f8de918277 Merge "In AutoLoader, move LC and UserCache to includes/cache section" 2014-07-16 18:34:11 +00:00
withoutaname
f0311de2bd In AutoLoader, move LC and UserCache to includes/cache section
Change-Id: I22d2dbe105d30c78d2d6622e708b9f1344c9cff4
2014-07-16 11:08:37 -07:00
withoutaname
2be66e38e2 Move ChangesFeed to includes/changes/ folder
Change-Id: I4ec541e8fe4234970972904592af2e11375e974d
2014-07-15 17:30:46 -07:00
Timo Tijhof
8ad5719e2c Rename MWNamespace, MWDebug and MWTidy files to match their class
Change-Id: I3e6d13ce366861c865401dde272bc2834a1de670
2014-07-15 20:59:39 +00:00
Kunal Mehta
22906ba398 Turn HTMLBlockedUsersItemSelect into HTMLSelectLimitField
Makes it a "real" HTMLForm option that other code can re-use

Change-Id: If0fb7332daf991b790bbf87e825229dccb10b360
2014-07-13 22:44:39 +00:00
withoutaname
aef531f6d4 Rename Wiki.php to MediaWiki.php
This only renames the file, not the class itself.

Change-Id: I53dfa5ae98c8f45b32f911419217692cfd760cd7
2014-07-13 01:22:30 -07:00
withoutaname
0367d94952 Fold RevertFileAction class into RevertAction
RevertAction was simply a dummy class for outputting an error message
if the action was not done in the file namespace. I've instead
moved RevertFileAction to RevertAction and threw an exception
from within checkCanExecute().

Change-Id: I7b87de60680009bf4e74d33342cbe81cc0d211b5
2014-07-13 02:16:58 +00:00
withoutaname
471dc139e9 Remove MWInit class file Init.php
Change-Id: I370b9d68d412c8f47b68be2b54ec1e86b7c06fd7
2014-07-11 18:44:26 +02:00
umherirrender
2df720d88b Remove deprecated class FormatExif
Deprecated and warnings since 1.18

Change-Id: I2461383bb2d3c5fc00ffb5f45bc8e931ed9acb58
2014-07-04 07:12:59 +00:00
jenkins-bot
9a88ac6836 Merge "Move QueryPage and abstract subclasses to specialpage folder" 2014-06-29 00:34:39 +00:00
Kunal Grover
50144cd02a First version of Page Language selector
Special page PageLanguage to set the page language of a page.
To enable the feature, set $wgPageLanguageUseDB to true
and assign the 'pagelang' user right to a user group.

Bug: 35489
Change-Id: I0f82b146fbe948f917c1c5d29f7469644d797e80
2014-06-27 23:27:07 +00:00
Kevin Israel
ffa3518ed5 Move QueryPage and abstract subclasses to specialpage folder
... now that f508561f7b ("Moved $wgQueryPages stuff out of the global
scope and into a function") has been merged, which eliminated hardcoding
of the pathname except in the AutoLoader.

WantedQueryPage is moved to a separate file.

Bug: 60445
Change-Id: If2019492722083819b82afa6302670b94b181098
2014-06-24 20:03:21 -04:00
withoutaname
ad1d07f34f Rename Parser_DiffTest class to ParserDiffTest
Change-Id: I5fca44a3fffbc60a66be32fad9ed6d1713056d81
2014-06-22 13:14:01 -07:00
withoutaname
32ac391331 Move implementations of Page to separate file
Moved implementations of the Page interface, including subclasses
of WikiPage and Article, to a separate /includes/page file.
Separated PoolWorkArticleView to the includes/poolcounter file.

Change-Id: I4557eab76e0cb12d9d7f93644c5831bdd5b472b0
2014-06-22 07:56:16 +00:00
Bartosz Dziewoński
ec1ccf4367 Separate MonoBook skin from core
This makes it behave exactly like a custom skin.

* Renamed directory to reflect skin name.
* Split skin classes to separate PHP files.
* Removed core autoloader entries for skin classes.
* Changed the hack in Setup.php to require_once the skin PHP file, as
  the skin is now registered there.
* Extracted skin-specific localisation messages.
* Extracted skin-specific resources.

Change-Id: Ife9926d12b6baaa84cd2aa9a415f1183415863c8
2014-06-21 00:01:05 +02:00
Bartosz Dziewoński
a96afeb262 Separate Vector skin from core
This makes it behave exactly like a custom skin, with the caveat that
it is still hardcoded in several places :(, most notably lots of
skinStyles in Resources.php, the installer and some tests.

* Renamed directory to reflect skin name.
* Split skin classes to separate PHP files.
* Removed core autoloader entries for skin classes.
* Changed the hack in Setup.php to require_once the skin PHP file, as
  the skin is now registered there.
* Extracted skin-specific localisation messages.
* Extracted skin-specific resources. Did not touch skinStyles yet.
* Hacked up the installer not to fall over entirely if Vector is
  missing.
* Adjusted hardcoded paths in some more places...

Change-Id: Idfffc1430790b3a104cc9835a6367137bcbf0e4e
2014-06-21 00:01:04 +02:00
Chad Horohoe
9643a0a92d Remove SearchResultTooMany
Only worked for Postgres, and only worked halfway at that. Result
sets could be false for many reasons. No results, bad query, database
went to Mars. We shouldn't assume they're always "too many results."

Leave it up to the normal query error logging and move on.

Change-Id: Ieddd163e440ae54b152541d727c1afdbc4ab4fbd
2014-06-20 10:36:47 -07:00
jenkins-bot
af2c2b6331 Merge "Capitalise Message in SpecialAllMessages files" 2014-06-17 08:54:46 +00:00
Reedy
a161ea79a2 Rename SpecialAllpages to SpecialAllPages
Change-Id: Ic137bc7adbc4a9ed96448ba0fee4807b67b3112d
2014-06-16 18:36:04 +01:00
Reedy
2dc420dd2a Capitalise Message in SpecialAllMessages files
No internal changes to Special:Allmessage etc made

Change-Id: I21a164af0b6ec123bf654cd1e4e7085b1192f067
2014-06-16 18:25:53 +01:00
Bartosz Dziewoński
9e6827d7b5 Don't use autodiscovery for core skins, move them to separate directories
Step one on the way to killing the autodiscovery mechanism and making
the core skins less intertwined with core.

This only moves the files and fixes hardcoded paths throughout core.
Any further changes will be done in separate patch(es).

Moved files:
* skins/MonoBook.php → skins/monobook/MonoBook.php
* skins/Vector.php   → skins/vector/Vector.php

Bug: 65748
Change-Id: Ib4bdda5ed3c133fce0113eb17fa39950aa812f87
2014-06-10 02:49:17 +00:00