Commit graph

226 commits

Author SHA1 Message Date
daniel
4f0b2f4241 Allow callback functions for creating SpecialPages.
This enables factory functions to be registered for special
pages, as an alterative to giving a class name. This follows the
same rationale as Ieb85493a7765, which introduced factory functions
for API modules.

Change-Id: Ia2107dc5af7869187ba5dc02a1bef46d6801e138
2014-09-18 14:47:34 +02:00
Bartosz Dziewoński
49edf82e05 ApiQuerySiteinfo: Use proper localised skin display names if available
Based on the code in Preferences::generateSkinOptions(). This should
probably be turned into a helper method one day…

Bug: 48953
Change-Id: Ib85a783bd19de8a59e7b81a4203a05b786e67772
2014-09-15 13:03:01 +00:00
jenkins-bot
8959a09b8f Merge "Prevent "Notice: Undefined index" in ApiQuerySiteinfo" 2014-09-15 03:13:39 +00:00
Jackmcbarn
d01b01c6cc Don't list nonexistent groups as addable or removable
You can't add or remove a group that doesn't exist, so don't claim that
it's possible on Special:ListGroupRights or the API.

Change-Id: I02d3f00142ca1cb0cdcbf30e79fecb3c96e96405
2014-09-14 22:48:01 -04:00
Marius Hoch
01ca947a06 Prevent "Notice: Undefined index" in ApiQuerySiteinfo
$row['iw_trans'] wont be set if $wgInterwikiCache is used.

Change-Id: Iea1041b9c699667c251442ed7f4c95e3ba550e7c
2014-09-15 04:33:16 +02:00
umherirrender
589f9ecbb7 Add missing space to autodoc of meta=siteinfo&siprop=languages
Change-Id: I56ba3b3282ea747b47016558513f96ca597e28d7
2014-09-01 05:05:20 +00:00
jenkins-bot
914e7e2b5d Merge "Indicate the actual version of HHVM in use" 2014-08-27 22:42:12 +00:00
Bryan Davis
9cd7d691cb Check for existence of iw_local in Interwiki::getAllPrefixes
Interwiki::getAllPrefixes only sets the iw_local member in a response
row if $local is set to a non-null value. Under certain error
reporting conditions, the unqualified access to the array key leads to
warnings such as "message repeated 1471 times: [ #012Notice: Undefined
index: iw_trans in ...".

Change-Id: Ibf434dc9c362984cad76ae6bdb29de826974d81e
2014-08-21 20:24:25 -06:00
umherirrender
a203032d00 Docs: compatability -> compatibility
https://en.wiktionary.org/wiki/compatability

Change-Id: I71d82ae04d4b17609a1d5a7eec4497115e64972e
2014-08-13 19:39:07 +02:00
Brad Jorsch
f0a6435f3b API: Remove action=paraminfo 'props' and 'errors' result properties
The format for 'props' was never specified and the list for 'errors' is
impossible to keep updated when considering that many errors come from
MediaWiki backend code and extension hook functions. And since there
doesn't seem to be any real use case for either of these, let's just
kill both of them instead of wasting effort on trying to fix them.

Note that neither getResultProperties nor getPossibleErrors are called
from any extensions in gerrit, and none of the other deprecated methods
are called outside of the implementations of those two methods. Removing
the obsolete methods is left to the maintainers of the extensions, as
keeping them hurts nothing and is needed to maintain compatibility with
earlier versions of MediaWiki.

Change-Id: Ie11a401d60c834059fbf1b5625ca8ea093b3337c
2014-08-07 16:51:19 +01:00
Kevin Israel
b0751af753 Indicate the actual version of HHVM in use
Strings like "5.6.99-hhvm" are not version numbers but merely
a way for HHVM to pass version checks. They should not be
displayed in the UI.

This affects Special:Version, the API (action=query&meta=siteinfo),
the installer welcome page, and the debug toolbar.

Follows-up d09ab9001f.

Change-Id: Ia99dca64779e9c4eaddf5f0e0101674d029b8d55
2014-08-05 16:36:47 -04:00
umherirrender
53c420e278 Fixed spacing
- use tab as indent instead of spaces
- Added space after closures "function"
- Added spaces around string_concat
- Added newline inside empty blocks
- Removed four spaces after comma

Change-Id: I4425b0c6a69b36f40acfea6511b8950cf09ce2b2
2014-07-20 21:41:41 +02:00
umherirrender
2b021dc48a Fixed spacing
- Added/removed spaces around parenthesis
- Added space after switch/if/foreach
- changed else if to elseif

Change-Id: I99cda543e0e077320091addd75c188cb6e3a42c2
2014-07-19 23:12:10 +02:00
Chad Horohoe
a4334bbef5 Use PHP_VERSION constant instead of phpversion() function call
Change-Id: Ifb3d1bd92d6abaa561e7337b311b4cb10c38a2b6
2014-07-09 16:46:35 -07:00
This, that and the other
848c335371 Expose $wgLocalInterwikis via the API
This will hopefully be useful to Parsoid.

Bug: 66709
Change-Id: I67d789172d4c6b786ed781f80e513692b3ae4119
2014-06-22 15:26:28 +10:00
Bartosz Dziewoński
326f3f450c Add a 'namemsg' parameter to $wgExtensionCredits for localizable names
Works similarly to 'description' and 'descriptionmsg', but 'name'
is still required because of weird shenanigans Special:Version does.
(And would be a good idea anyway for backwards-compatibility with
older MediaWikis.)

The primary use-case is skins (which have already traditionally had
translateable names in MediaWiki, but weren't always shown on
Special:Version), but there's no reason why regular extensions can't
use this too.

Skins which already have a translated name for Special:Preferences
('skinname-<skin>' messages) can reuse the same message here.

Change-Id: Iae6f770a8fe1968670429c22aefc1ae55e8dba6f
2014-06-21 13:13:44 +02:00
This, that and the other
7665f7d767 Allow interlanguage link prefixes that are not language codes
$wgExtraInterlanguageLinkPrefixes holds a list of interwiki prefixes to be
treated as language codes if $wgInterwikiMagic is true.

To set the display text for the interlanguage links generated by this
code, you need to create MediaWiki:Interlanguage-link-foo, where "foo" is
the interwiki prefix.  To provide a friendly site name for the link title
text, use MediaWiki:Interlanguage-link-sitename-foo.  On the WMF cluster,
these messages could be set using the WikimediaMessages extension.

Information about extra language links (in the site language only) is
provided via the API in meta=siteinfo&prop=interwikimap.

Bug: 32189
Change-Id: I3d04760e2d9fb3320bb71e3d5ad115eed54a899c
2014-06-20 11:29:05 +10:00
C. Scott Ananian
3f9d79ebe0 The siteinfo API uses '' as an attribute value, not true.
Bug: 66723
Change-Id: Ibef772a72bac6b700ba2a3725832f50b057bf503
2014-06-17 10:54:15 -04:00
Reedy
e48ecbc524 Switch API to use Config classes
Only done where globals are config (so not $wgParser, $wgContLang etc)

Change-Id: Ic39cdd858cfb9096a2bc09618f97e64270d76f13
2014-06-15 23:56:38 +01:00
C. Scott Ananian
87e0aa3441 Indicate whether interwiki links can use protocol-relative URLs.
Change-Id: I17360e44f0be7490357bc9bc7af27d0a950012de
2014-05-19 15:26:44 -07:00
Thiemo Mättig
23632a4ecd Use precise ApiMain/ApiQuery type hints in all API modules
Which type is used depends on the ApiModuleManager responsible for
the API module. There are two managers, one in ApiMain and one in
ApiQuery. Both contain a list of API modules they instantiate.
Both use $this as the first parameter in the constructors of the
individual modules. There is no other regular way to instantiate the
modules, so we know the type must either be ApiMain or ApiQuery.

The lists don't intersect.

I would have prefered the naming scheme $mainModule for ApiMain
modules and $queryModule for ApiQuery modules but since this
doesn't add much I left the shorter variable names untouched.

Change-Id: Ie6bf19150f1c9b619655a06a8e051412665e54db
2014-05-16 11:07:23 -04:00
jenkins-bot
ac971d9a06 Merge "Add $wgServerName" 2014-05-09 10:18:09 +00:00
Ori Livneh
72c0ce43a8 Add $wgServerName
This partially reverts r73950 which removed $wgServerName on the ground that it
was only used for {{SERVERNAME}}. When it was pointed out that $wgServerName was
also used by several extensions, the response was not to restore the variable, but
to proceed to remove it from extensions as well.

It is a useful variable to have, as the discussion on Id819246a9 makes clear
(see Tim's comment on PS12 and Timo's reply). So let's reintroduce it, and expose
it in mw.config and ApiQuerySiteInfo as well.

Change-Id: I40a6fd427d38c64c628f70a2f407b145443ea204
2014-05-09 11:53:56 +02:00
Antoine Musso
5e3a3412ba API: Expose git branch in siteinfo
For browser testing, I need a reliable way to determine the branch in use
on a target wiki.  One could parse the generator name forged when
querying the siteinfo, but that yields:

 MediaWiki 1.24alpha  instead of master
 MediaWiki 1.24wmf2   instead of wmf/1.24wmf2

I am not really willing to reverse engineer the version to figure out
the branch, instead just expose it over the API.

Bug: 62509
Change-Id: If3db8f480ce0d590522741d40fb8e43b753efb41
2014-05-07 00:25:51 +00:00
Brad Jorsch
986d3ef2c1 API: Check return value from $gitInfo->getHeadCommitDate()
action=query&meta=siteinfo&siprop=extensions calls
$gitInfo->getHeadCommitDate() to attempt to find the commit date, but
does not check whether that function returned false before using the
value. This resulted in displaying the current date for "vcs-date" when
the function failed.

Bug: 64821
Change-Id: Ic39a74abe5160b3b7fbfb7c15323328d6b317560
2014-05-05 10:23:30 -04:00
jenkins-bot
83a1cf573f Merge "Rename Skin::getUsableSkins() to Skin::getAllowedSkins()" 2014-04-13 00:30:53 +00:00
addshore
719d7a2f03 Add final period to API module descriptions
Change-Id: Icae68c1ab1fd0006e00a3a9a56ae8f831d3d0d45
2014-03-10 09:04:08 +00:00
Bartosz Dziewoński
b73b5883d4 ApiQuerySiteinfo: Add prop=restrictions for protection information
As pointed out on VPT, we previously had no way to find out about these.

This just dumps the raw config variables for now. They are documented
in DefaultSettings as having some magic applied to them when used,
maybe we should apply this magic here too, or in Setup.php?

https://en.wikipedia.org/w/index.php?title=Wikipedia:Village_pump_(technical)&oldid=594218538#API_query_to_list_available_protection_levels_for_a_wiki.3F

Change-Id: I4c1303f2a6fe6b60b44e960cc1253c555fc658dc
2014-02-06 16:51:37 +01:00
Siebrand Mazeland
f077c4b1d6 Update formatting
Change-Id: I18aff576262479c9bb1c56eb8e1d1aaae200e4b1
2014-02-06 09:27:05 +01:00
Siebrand Mazeland
0cef781886 Fix CodeSniffer errors and warnings
Change-Id: Idc74e34634d88625773fb8f73315f61edfa67e28
2014-02-05 11:20:17 +01:00
jenkins-bot
c6df6a527c Merge "Propagate the favicon information to getInfo()" 2014-01-30 20:44:49 +00:00
Reedy
ba25a53c4f API: Remove obsolete wgRightsCode from siteinfo
This was apparently a companion to $wgRightsPage, $wgRightsUrl,
$wgRightsText, and $wgRightsIcon, added in r3148.

But even then it was commented out as "not yet used", and appears to
have eventually disappeared without ever having been used.

Change-Id: I63f4393c22912f04e4ea690ebb1cd02bae65faab
2014-01-24 07:05:31 +00:00
gilles
aae0344ce0 Propagate the favicon information to getInfo()
This is needed by MultimediaViewer to show a relevant icon next to the foreign repo link to the description page

Change-Id: Id02743b036a2b88677d76613a73787874f5e448b
Mingle: Multimedia card #107
2014-01-17 17:06:44 +01:00
Gergő Tisza
b28f0af08b Add $wgFavicon to siteinfo API
This would be used by MultimediaViewer to show an icon next to the
link to the description page (and probably makes sense to include
$wgFavicon if $wgLogo is there, anyway).

Bug: 59925
Change-Id: Ibdad9c3d2b515fbfdcd458db9b061f4d4d375180
2014-01-13 11:00:53 +00:00
jenkins-bot
a5a6f595db Merge "Add licensing for extensions to Special:Version" 2014-01-04 00:42:28 +00:00
Matt Walker
357eb3d488 Add licensing for extensions to Special:Version
Allow extensions to register a software license and present
this on the Special:Version page. A new $wgExtensionCredits
parameter has been introduced for this purpose: 'license-name'.

This will also automatically pick up the presense of additional
licensing and/or credits files. If ((AUTHORS)|(CREDITS))(\.txt)?
exists in the extension base directory a credits link will be
created. If ((LICENSE)|(COPYING))(\.txt)? exists a license link
will be created.

The API has also been updated to produce VCS information and present
links to the license/credits files.

Bug: 48418
Change-Id: I388f3b630462f1909f30751c987f7af585e98881
2014-01-03 11:02:54 -08:00
Brad Jorsch
5c620805cc API: Include variant name in meta=siteinfo
For languages with variants, we're already returning the list of variant
codes in meta=siteinfo&siprop=general. Clients may have use for the
variant's human-readable name too, and we can easily add it to the
datastructure.

Change-Id: I6c7ebf43a699a0b2346cb0fdeef6487217992f5c
2013-12-27 16:25:34 -05:00
Brad Jorsch
30306c37e7 API: Add image sizes and default user prefs to meta=siteinfo
Bug: 58217
Change-Id: I33fc64681bc6924324d254b676686f3a6dee2769
2013-12-09 13:08:39 -05:00
Siebrand Mazeland
a37e466918 Fix CodeSniffer errors and warnings on yet more API classes
Change-Id: I67739a0b7c456f3684abea84833753e79a485c07
2013-11-15 17:53:10 +00:00
Siebrand Mazeland
dadbe23810 I'm in your API classes updating your formatting
Change-Id: I6087573dfdc6edcd63062508056ebcf3502e03f2
2013-11-14 18:28:26 +00:00
jenkins-bot
da4dab226d Merge "Expose iw_trans in siteinfo API interwikimap prop" 2013-11-09 00:56:53 +00:00
Brad Jorsch
db9c4cb3cf Remove linkprefix message, add $linkPrefixCharset
The existing "linkprefix" message is unlikely to be accurately
customized by message translators (as shown by the fact that, of the 10
distinct customizations prior to Iaa7eaa44 (which made them even more
complicated), 3 were broken or entirely ineffective, 1 was half
ineffective, and 2 more seem to have included the Latin-1 Supplement by
accident) or by local wiki admins. So, like linktrail before it, let's
move it out of the system messages and into a separate language
variable.

At the same time, let's make it a simple character set (like
$wgLegalTitleChars) rather than a complicated regular expression. The
complicated regex now lives in the parser.

This also adjusts the output of the API's action=query&meta=siteinfo and
adds an accessor parallel to the linkTrail accessor to Language.

Note the following changes that are not simply extracting the existing
charset from the linkprefix message for $linkPrefixCharset:
* The En message matched all non-ASCII UTF-8 characters by matching the
  component bytes (\\x80-\\xff). The new character set is equivalent.
* Various languages were identical to En and so have no $linkPrefixCharset
  set. These are: Ary Az Ce Ga Id Ka Kiu Km Ltg Mk Ms Ne Nn Ro Roa_tara Sc Si
  Sr_ec Sr_el Tl Tt_cyrl Tt_latn Ug_arab War
* Cu, Uk, and Udm are changed to match any number of „ or « in the prefix.
* Cv tried to include "«" that was redundant to the range \\x80-\\xff
  (see En comment). This was removed.
* Diq was entirely bogus, and so was removed.
* Gu included many additional UTF-8 characters that are redundant to the
  range \\x80-\\xff (see En comment). These were removed, and the
  resulting character set is equivalent to En.
* Mt has been broken since it was introduced in r37242. The charset used is
  equivalent to the broken regex.

Bug: 56031
Change-Id: I3369851b33113fc118a1bace38f3ac310cdd9725
2013-10-29 19:06:15 -04:00
Bartosz Dziewoński
1fc831c2d8 Expose iw_trans in siteinfo API interwikimap prop
It is already exposed by the Interwiki extension, deployed on all
Wikimedia wikis. I don't see why we would not expose it here.

Change-Id: I61712bac7a2ab5672a79de866617af2915b9e41b
2013-10-25 19:10:32 +00:00
Kunal Mehta
370f4c4618 Add APIQuerySiteInfoStatisticsInfo hook
Allows extensions to modify the output of
action=query&meta=siteinfo&siprop=statstics

Accompanies the SpecialStatsAddExtra hook for Special:Statistics

Change-Id: I712748077a0ac2fb729bfe3b6616ac4981cb754e
2013-10-11 19:12:21 -07:00
jenkins-bot
b28a59a0e9 Merge "API: Add output of wgLogo to meta=siteinfo" 2013-10-04 19:39:06 +00:00
Brion Vibber
3cfc7d5df1 Remove duplicate file extensions from output messages
If a file type was added to $wgFileExtensions by both local configuration
and defaults in an extension (eg TimedMediaHandler and LocalSettings.php
both adding 'ogg' and 'ogv') it was being listed twice in the UI messages
listing acceptable types.

Runs array_unique() over the array on various outputs.

Bug: 54378
Change-Id: I14cd098d8b27099f8f803630535f33549740295c
2013-09-27 17:49:21 +00:00
Brad Jorsch
53d586ccfc API: Add output of wgLogo to meta=siteinfo
Bug: 54428
Change-Id: I0ee576828e298dba76734315408838f61dfa95d2
2013-09-24 09:31:41 -04:00
MatmaRex
df8ec1e216 No spaces after (casts)
Also removed some unnecessary ones. I think I've caught them all.

The spaceless version already appears in core ~300 times (after
accounting for false positives when grepping). Some consistency would
be nice.

Change-Id: I607655b5f4366e66dc78730d5fd2f57ed8776cae
2013-09-04 20:05:43 +02:00
Erick Guan
025ff3ca6e Sort namespace aliases by id in appendNamespaceAliases for pretty output
Bug: 45382
Change-Id: I8850eac676f219482d380a0c4a9cad1009285c68
2013-08-28 15:28:03 +00:00
umherirrender
24bfde2710 Fix spacing and break some lines
Change-Id: Ia57685d8858e02e399ad5c75ce64d12609d340ac
2013-08-24 17:06:25 +02:00