Current configuration on the wiki
Find a file
Dreamy Jazz eabb13833f Define ApiQuery::isWriteMode
Why:
* ApiQueryBase subclasses may define a ::isWriteMode override, as
  the API call may need to write to the DB.
** This is the case for the CheckUser extension, where the
   'checkuser' API creates a log entry that allows users to audit
   usage of the API.
* ApiQuery currently does not define a implementation of
  ::isWriteMode, which means that the definitions by any class
  that extends ApiQueryBase currently do nothing.
* ApiQuery::isWriteMode should be defined and work in a similar
  way to ApiQuery::isReadMode, so that subclasses of ApiQueryBase
  can have their definitions of ::isWriteMode respected.

What:
* Define ApiQuery::isWriteMode in a similar way to how ApiQuery
  ::isReadMode is written, but also inspecting the modules that
  are used through the 'list' and 'prop' params.
* Add tests for ApiQuery::isWriteMode.

Bug: T361951
Change-Id: Idf1c8f95df58a861404e0c89507c885ec4554793
2024-04-05 16:56:04 +01:00
.phan build: Fix line indents 2024-03-11 00:14:16 +01:00
cache Update Apache config syntax in .htaccess files 2024-03-23 23:36:31 -04:00
docs Merge "Update wgAutoCreateTempUser config defaults" 2024-04-04 09:34:11 +00:00
extensions docs: Don't point people to deprecated Diffusion copies of gerrit repos 2023-04-03 10:27:57 -04:00
images Set "X-Content-Type-Options: nosniff" header in images/.htaccess 2023-02-24 23:59:22 -05:00
includes Define ApiQuery::isWriteMode 2024-04-05 16:56:04 +01:00
languages Localisation updates from https://translatewiki.net. 2024-04-04 09:04:41 +02:00
maintenance Fix use of ReplaceQueryBuilder::rows 2024-04-01 23:57:03 +02:00
mw-config Namespace includes/context 2024-02-08 11:07:01 -05:00
resources mediawiki.special: Move all Special:Block styles to 'block.less' 2024-04-04 01:48:02 +00:00
skins docs: Don't point people to deprecated Diffusion copies of gerrit repos 2023-04-03 10:27:57 -04:00
tests Define ApiQuery::isWriteMode 2024-04-05 16:56:04 +01:00
.dockerignore
.editorconfig Fix .editorconfig for tests/parser/ directory 2024-02-27 17:35:16 +01:00
.eslintignore .eslintignore: Remove jquery.tipsy reference 2024-01-16 21:11:39 +00:00
.eslintrc.json
.fresnel.yml
.gitattributes .gitattributes: Ship docker-compose.yml to the tarball 2022-11-30 09:37:13 -05:00
.gitignore Merge "maintenance: Remove dev folder" 2024-01-01 20:24:44 +00:00
.gitmessage git: Introduce .gitmessage 2023-05-21 14:20:31 +03:00
.gitreview
.mailmap CREDITS: Fix various duplicates 2024-03-14 11:53:13 -07:00
.phpcs.xml build: Fix line indents 2024-03-11 00:14:16 +01:00
.stylelintrc.json Login page: Use Codex CSS components 2023-07-06 17:20:17 -07:00
.svgo.config.js build: Update SVGO to v3.0.2 2023-06-15 12:24:22 -07:00
.vsls.json build: Upgrade eslint-config-wikimedia from 0.22.1 to 0.24.0 2023-02-07 10:17:30 -05:00
api.php Namespace includes/context 2024-02-08 11:07:01 -05:00
autoload.php Merge "Introduce entry point classes for media files." 2024-04-03 15:50:32 +00:00
CODE_OF_CONDUCT.md
composer.json Bump wikimedia/parsoid to 0.19.0-a24 2024-04-01 08:04:14 +05:30
composer.local.json-sample
COPYING
CREDITS CREDITS: Fix various duplicates 2024-03-14 11:53:13 -07:00
DEVELOPERS.md DEVELOPERS.md: fix formatting in bullet list 2024-01-19 09:11:25 +01:00
docker-compose.yml docker: Update apache2 image to one with a /view rewrite rule 2023-07-20 15:32:51 -04:00
FAQ
Gruntfile.js build: Simplify --qunit-watch logic 2024-03-27 02:08:08 +00:00
HISTORY HISTORY: Add 1.39.7/1.40.3/1.41.1 2024-03-28 23:36:49 +00:00
img_auth.php Namespace includes/context 2024-02-08 11:07:01 -05:00
index.php Namespace includes/context 2024-02-08 11:07:01 -05:00
INSTALL docs: Update old mailman references to postorius 2024-03-20 14:21:16 +00:00
jsdoc-plugin-allow-dots-in-modules.js jsdoc: Support dots in '@module <name>' and '@exports <name>' 2024-02-07 20:41:54 +00:00
jsdoc.js docs: Remove remaining jsdoc exclusions 2024-03-21 15:16:22 -07:00
load.php ResourceLoader: Follow-up creation of ResourceLoaderEntryPoint 2024-02-22 22:30:39 +00:00
opensearch_desc.php Use namespaced classes 2023-12-11 16:07:18 +01:00
package-lock.json Update eslint-plugin-vue to 9.23.0 2024-03-21 15:36:11 -07:00
package.json Update eslint-plugin-vue to 9.23.0 2024-03-21 15:36:11 -07:00
phpunit.xml.dist phpunit: Determine what extensions to load in unit tests via config 2023-09-25 23:03:48 +00:00
README.md docs: Link to "Local development quickstart" in README 2024-01-22 13:58:11 +00:00
RELEASE-NOTES-1.42 Update wgAutoCreateTempUser config defaults 2024-04-03 16:25:47 +00:00
rest.php Rest: Turn Rest\EntryPoint into a MediaWikiEntryPoint subclass 2024-03-12 14:37:18 +01:00
SECURITY
thumb.php Introduce entry point classes for media files. 2024-03-30 21:14:05 +01:00
thumb_handler.php Introduce entry point classes for media files. 2024-03-30 21:14:05 +01:00
UPGRADE Update DEVELOPERS.md and UPGRADE with new way to use update.php 2023-06-16 12:33:56 +00:00

MediaWiki

MediaWiki is a free and open-source wiki software package written in PHP. It serves as the platform for Wikipedia and the other Wikimedia projects, used by hundreds of millions of people each month. MediaWiki is localised in over 350 languages and its reliability and robust feature set have earned it a large and vibrant community of third-party users and developers.

MediaWiki is:

  • feature-rich and extensible, both on-wiki and with hundreds of extensions;
  • scalable and suitable for both small and large sites;
  • simple to install, working on most hardware/software combinations; and
  • available in your language.

For system requirements, installation, and upgrade details, see the files RELEASE-NOTES, INSTALL, and UPGRADE.

MediaWiki is the result of global collaboration and cooperation. The CREDITS file lists technical contributors to the project. The COPYING file explains MediaWiki's copyright and license (GNU General Public License, version 2 or later). Many thanks to the Wikimedia community for testing and suggestions.