Commit graph

2182 commits

Author SHA1 Message Date
Siddharth VP bf1d6b3e93 Remove gadgets-edit right, use core editsite{css,js,json} rights instead
With GadgetDefinitionNamespaceRepo, there should be separate rights for
editing gadget json as opposed to editing gadget css/js, so that admins
can be granted the former, while the latter remains restricted to
int-admins.

Reusing the MW core rights for site CSS/JS/JSON seems to make the most
sense here. Protection is now applied via GetUserPermissionsErrors hook
rather than as namespace protection.

For editing any non-CSS/JS/JSON pages in the namespace, editsitejs right
is required.

Bug: T298834
Change-Id: I6ffd5e9467774f1e79ccdce8b6b4739f07be2da8
2023-12-05 20:37:59 +05:30
Translation updater bot 493a7a5dd3 Localisation updates from https://translatewiki.net.
Change-Id: I11b4ef8d7146ea5b8a634636ae6d611183b12441
2023-12-05 09:14:46 +01:00
Translation updater bot 00c22e468d Localisation updates from https://translatewiki.net.
Change-Id: I62f3cfadb62019b716f5c9f51a9010c577b48507
2023-12-04 09:04:15 +01:00
Translation updater bot a79ae63c8a Localisation updates from https://translatewiki.net.
Change-Id: I5916d03bd6b986c3eb75146e0f388d06e8f0bd38
2023-12-01 09:39:34 +01:00
Siddharth VP adda8a6649 Show gadget definition validation warnings in Special:Gadgets
Bug: T298334
Change-Id: Id241125b9b8abfb971dfa600ab0df9c6047f2b32
2023-11-30 21:59:04 +00:00
Translation updater bot ceb5a9174a Localisation updates from https://translatewiki.net.
Change-Id: I5190cb31a7028bbfbdd94c5d7993eff06ed071e1
2023-11-30 09:37:59 +01:00
Translation updater bot 9fd869c7a2 Localisation updates from https://translatewiki.net.
Change-Id: I07ccb4abc4772ee8be8ed84c6b256917e1a5cbcf
2023-11-29 08:31:03 +01:00
Translation updater bot 49a12c47e0 Localisation updates from https://translatewiki.net.
Change-Id: Iae953cfe01b3deb01787ee62658352bacc6ae47f
2023-11-27 08:32:21 +01:00
thiemowmde c4680366ac Various PHP code cleanups
… e.g. using modern syntax, or avoiding unnecessarily complex
language features. For example, we don't need to call count() when
all we care about is the boolean "is empty/not empty" information.

Change-Id: I13ae802f64627a79b29d1e57ad71486cb2fb977f
2023-11-22 09:53:48 +01:00
thiemowmde ba496f7f4a Remove meaningless trim() from MediaWikiGadgetsDefinitionRepo
This can't do anything for two reasons:
* There are no spaces in the string after the str_replace. There is
  nothing to trim.
* The regular expression above guarantees the string starts and ends
  with alphanumeric characters. There can't be anything to trim, not
  even underscores.

Change-Id: Iea40aafaa2457cdee9d05f105978627d38d9d5b8
2023-11-20 13:44:08 +01:00
Translation updater bot 2dda194930 Localisation updates from https://translatewiki.net.
Change-Id: I952087d038745e95ebcb52f932a827c073b25aa4
2023-11-13 08:40:55 +01:00
Translation updater bot a6bd9144ac Localisation updates from https://translatewiki.net.
Change-Id: Iee39d6c6330d81431ffc8216d59c7ac7bd8fb199
2023-11-08 13:07:36 +01:00
Translation updater bot b1413814c2 Localisation updates from https://translatewiki.net.
Change-Id: I79ef1b6113b7d037c989906e675b8127be4ab771
2023-11-06 08:56:19 +01:00
Translation updater bot 40d75e5ac5 Localisation updates from https://translatewiki.net.
Change-Id: I86361ee316a11cd3abf99c8a1da4bef67b59ba4b
2023-10-31 09:08:59 +01:00
Timo Tijhof d12bf68c25 docs: Make PHP file headers more consistent
* A fixed license header for the file.

* Move class descriptions, doc tags, author/copyright to the
  class block. Remove MW-core specific "ingroup" tags such as
  "SpecialPage" which has no meaning in an extension and are not
  used by Doxygen.
  Ref https://gerrit.wikimedia.org/r/q/message:ingroup

Change-Id: I13d9b0ff7a3150180196c9fa58f8a321b14edd22
2023-10-30 18:10:58 -04:00
jenkins-bot 1ebcbafc89 Merge "Namespace special page classes" 2023-10-30 18:42:37 +00:00
Translation updater bot b7dd0f13ef Localisation updates from https://translatewiki.net.
Change-Id: Ibb6418b354a7855c84f06295e850346364149e45
2023-10-30 17:59:19 +01:00
Siddharth VP a7309d2b1f Namespace special page classes
Change-Id: I005f6674c9cc80c5c9e26ae84acfbceebb43734e
2023-10-30 21:13:41 +05:30
Translation updater bot 319d422398 Localisation updates from https://translatewiki.net.
Change-Id: I6066ae836d62f1e775bb51a9812d16f1ba7d9e86
2023-10-23 09:50:38 +02:00
Translation updater bot 03086af912 Localisation updates from https://translatewiki.net.
Change-Id: I5728c9fcfef16a3dafc9454da7af0df14a2873c3
2023-10-19 08:42:03 +02:00
Translation updater bot a41504a35e Localisation updates from https://translatewiki.net.
Change-Id: I964d878120eb5c6322eaafa16b10fee211dd3764
2023-10-11 08:45:33 +02:00
Translation updater bot 01e10d087f Localisation updates from https://translatewiki.net.
Change-Id: I3138832673c480df0de80eabbc995d5b3d94ba2b
2023-10-10 08:52:13 +02:00
Translation updater bot 6419638558 Localisation updates from https://translatewiki.net.
Change-Id: I873f4d3a742895e56ec8bb7bf3eeea946049808a
2023-10-09 08:56:01 +02:00
Translation updater bot 6221493052 Localisation updates from https://translatewiki.net.
Change-Id: Ie5a41080ecc5ac1d4e16f830aa28b868591a2c80
2023-10-04 09:08:16 +02:00
Translation updater bot c8e21c9f1d Localisation updates from https://translatewiki.net.
Change-Id: I503126feeed44e3768fa423e9d5ca7f152506666
2023-10-02 10:57:19 +02:00
Translation updater bot 2d525ce1c9 Localisation updates from https://translatewiki.net.
Change-Id: Ic5f986af6a9f022eb8afe71ef6f3769a8dbaccaa
2023-09-26 08:43:55 +02:00
Translation updater bot 81dc3dd6f5 Localisation updates from https://translatewiki.net.
Change-Id: I9d0c8fb0f71850781d1dd0d44a7c8d34607dc3da
2023-09-25 08:46:19 +02:00
jenkins-bot 8284344e6e Merge "Add support for content models in definitions" 2023-09-22 23:29:53 +00:00
Translation updater bot 08860aabdc Localisation updates from https://translatewiki.net.
Change-Id: Ib0b01c291aa4389f1a5443cb7a4dc57868a7a9f4
2023-09-22 08:46:54 +02:00
Siddharth VP 72cbb64069 Add support for content models in definitions
Adds a contentModels option to gadget definitions to restrict gadgets to
run in pages of the given content models only.

Use-cases include gadgets for tabular data[1] (for Tabular
.JsonConfig model), for editing map data[2] (for Map.JsonConfig model),
and for showing links in code pages[3] (restricted to javascript, css,
json, and scribunto models), as well as common gadgets like ProveIt[4]
which can be restricted to wikitext model.

[1]: https://commons.wikimedia.org/wiki/MediaWiki:Gadget-TabularImportExport.js
[2]: https://fr.wikipedia.org/wiki/MediaWiki:Gadget-KartoEditor.js
[3]: https://en.wiktionary.org/wiki/MediaWiki:Gadget-CodeLinks.js
[4]: https://commons.wikimedia.org/wiki/Help:Gadget-ProveIt

Bug: T204201
Bug: T63007
Change-Id: I7dcfc21d674ead8d710e7f77d13bf18bcad15079
2023-09-21 22:27:22 +05:30
Translation updater bot 3c50a61ebe Localisation updates from https://translatewiki.net.
Change-Id: Ia00896b807bb2bc9d9dbd17c0d8ddfca68b85bef
2023-09-21 10:15:48 +02:00
brandonxlf ec69cea0e3 Add support for namespaces in definitions
Adds a "namespaces" option to the gadget definition, which takes a
list of namespace IDs. Enabled gadgets will only load when the
viewed page is in one of the required namespaces.

Bug: T204201
Bug: T63007
Change-Id: I7f797e35352b242ad78704074e98c6569a1adf91
2023-09-20 14:50:33 -07:00
Timo Tijhof 5aaa843a28 tests: Enforce parity between Gadget::serializeDefinition and toArray
Follows-up 087ab65e24 (Ieae6706537). To avoid silent mistakes such
as during development of T63007 (I7f797e35352b242).

Bug: T303194
Change-Id: If675f8d02ed3fee768af3d2b4912249319ae9ef4
2023-09-20 14:41:33 -07:00
Translation updater bot 35179b9d7e Localisation updates from https://translatewiki.net.
Change-Id: I9a055c34fb1c3a3c1fe7b9d309cd078cda7ddd2a
2023-09-20 08:55:12 +02:00
Translation updater bot 314f1caff3 Localisation updates from https://translatewiki.net.
Change-Id: I8927b3d0c2a7e7b1b007e58a0cecbcc51b75d864
2023-09-19 09:25:28 +02:00
jenkins-bot 30e5766dd0 Merge "Hide gadgets on Special:Preferences when forcesafemode=true" 2023-09-18 22:13:11 +00:00
Translation updater bot 944255f58e Localisation updates from https://translatewiki.net.
Change-Id: I975802592b20dcb6444bb8ae801088f47c20b25b
2023-09-18 08:43:19 +02:00
Translation updater bot f1eeb43578 Localisation updates from https://translatewiki.net.
Change-Id: Ibd5677caf992908569f433f2b4732c8a32e791a0
2023-09-11 09:03:45 +02:00
Dringsim e292854740 Hide gadgets on Special:Preferences when forcesafemode=true
See https://gerrit.wikimedia.org/r/c/mediawiki/core/+/940156/comments/bdd88839_f9bdd28a

Bug: T342347
Depends-On: I6f2d024c01cdb1d7305ff024996175eb2656d0a8
Change-Id: Ia72bb33a3fd559cd5a30a44f736b0d3040843323
2023-09-08 17:15:15 +00:00
jsn 929bfc6404 Preserve Gadget prefs when they can't be enabled
- Always define gadget enable/disable preferences
- Show a gadget's preference when it can be enabled

Bug: T341421
Change-Id: If32eecebccf2c9b557d7dde273b7faf7118a7ac3
2023-09-06 19:32:31 -05:00
Translation updater bot 5e7dbab637 Localisation updates from https://translatewiki.net.
Change-Id: I16c3a8535c65ebf8534ea208c3d48289da400328
2023-09-06 08:42:04 +02:00
Translation updater bot 63629b4f3a Localisation updates from https://translatewiki.net.
Change-Id: I89a3c3e32fc2cee75f5d04a07e75fbfe9b6c4e3b
2023-09-01 09:02:55 +02:00
Translation updater bot d89d269d83 Localisation updates from https://translatewiki.net.
Change-Id: Ib3fb2b64bfbae982ab1aa671c9b17395b0c33949
2023-08-28 09:30:05 +02:00
Translation updater bot 6c37ea1bd0 Localisation updates from https://translatewiki.net.
Change-Id: I0e5127d6accdcb333d253cc8b6de6d23d090d36e
2023-08-21 08:47:46 +02:00
jenkins-bot c21d23006e Merge "Replace some moved Title class uses, now MediaWiki\Title\Title" 2023-08-19 09:05:36 +00:00
James D. Forrester 38084b1ea6 build: Update MediaWiki requirement to 1.41
All extensions in the MediaWiki tarball are expected to track MediaWiki's release directly.

Change-Id: I3f82a96139d4d5754898224016867683ef358289
2023-08-19 13:19:53 +08:00
gerritbot b9da596fe8 Replace some moved Title class uses, now MediaWiki\Title\Title
Bug: T321681
Change-Id: I9b9c59a564e81daf01bb99d48dc81c9357e94acc
2023-08-19 04:15:51 +00:00
Umherirrender 7f95440c4d Use HookHandlers for CodeEditor hook
This requires 1.41 for the interface (added in 4d6a470a)

Bug: T271014
Change-Id: Ic486f44bd9215ac7dad5bc70d7dca1e9aad470de
2023-08-16 05:30:40 +00:00
Translation updater bot 636c4482b3 Localisation updates from https://translatewiki.net.
Change-Id: I4374c8f442acbcbef480410d591edc1f502df470
2023-08-15 08:25:55 +02:00
Translation updater bot 847b5733a0 Localisation updates from https://translatewiki.net.
Change-Id: Ic046e7260f8ca8ac1472462c8c63700648bfdf49
2023-08-14 09:17:41 +02:00