* Name all sources and track them inside the entries. This should be
fully backwards-compatible with previous configuration format,
since numbers may be a legitimate source names as well.
* Introduce $wgTitleBlacklistUsernameSources as a variable which allows
to specify which sources may be used for filtering usernames.
Change-Id: Ia2702370c85f317c763e345c8f92cb38e23e4196
I've fixed four issue with the API of this extension:
1. The extension always assumed the user wants to override the
blacklist, if he's allowed to do so, but that's not the case.
Introduced 'tbnooverride' to prevent that.
2. The API used actions not internally supported by
TitleBlacklistEntry::matches() which made it impossible to check
whether an account name is ok, if the regexp which would prevent
this was set to new account only. Therefore I've introduced the
new action 'new-account'.
3. Same as 2 for the 'upload'
4. The API always returned the 'titleblacklist-forbidden-edit'
message, even if there was a more suitable one. Fixed that.
Example:
https://meta.wikimedia.org/w/api.php?action=titleblacklist&tbtitle=User:Steward&tbaction=create
(this should match the expression .*steward.* <newaccountonly> on
https://meta.wikimedia.org/wiki/Title_blacklist but it doesn't)
Furthermore I've adjusted the unit tests slightly to test whether
tboverride works and whether <newaccountonly> works.
Change-Id: I2d948c84de39c6ee1c1eea7e6cd7b31506d6cb92