Current configuration on the wiki
Find a file
Thalia c67f181dd4 Introduce infrastructure for partial blocks for actions
This adds a new type of block restriction for actions, which extends
AbstractRestriction. Like page and namespace restrictions, action
restrictions are stored in the ipblocks_restrictions table.

Blockable actions are defined in a BlockActionInfo service, with a
method for getting all the blockable actions, getAllBlockActions.

Action blocks are checked for in PermissionManager::checkUserBlock
using DatabaseBlock::appliesToRight. To make this work, this patch
also removes the 'edit' case from AbstractBlock::appliesToRight,
which always returned true. This was incorrect, as blocks do not
always apply to edit, so cases that called appliesToRight('edit')
were fixed before this commit. appliesToRight('edit') now returns
null (i.e. unsure), which is correct because it is not possible to
determine whether a block applies to editing a particular page
without knowing what that page is, and appliesToRight doesn't know
that page.

There are some flags on sitewide blocks that predate partial blocks,
which block particular actions: 'createaccount' and 'sendemail'.
These are still handled in AbstractBlock::appliesToRight, and are
still checked for separately in the peripheral components.

The feature flag $wgEnablePartialActionBlocks must set to true to
enable partial action blocks.

Bug: T279556
Bug: T6995
Change-Id: I17962bb7c4247a12c722e7bc6bcaf8c36efd8600
2021-04-27 21:53:13 +01:00
.phan Exclude includes/PHPVersionCheck.php from phan scanning 2021-03-29 15:16:06 -07:00
.pipeline
cache
docs Drop two unused Perl scripts 2021-03-27 11:47:48 +01:00
extensions
images
includes Introduce infrastructure for partial blocks for actions 2021-04-27 21:53:13 +01:00
languages Introduce infrastructure for partial blocks for actions 2021-04-27 21:53:13 +01:00
maintenance Merge "resourceloader: Move most of mw.log from startup to mediawiki.base" 2021-04-26 11:28:57 +00:00
mw-config Installer: Simplify stylesheet 2021-04-20 00:53:13 +00:00
resources Introduce infrastructure for partial blocks for actions 2021-04-27 21:53:13 +01:00
skins
tests Introduce infrastructure for partial blocks for actions 2021-04-27 21:53:13 +01:00
.dockerignore
.editorconfig
.eslintignore Add polyfills for ES6 array methods 2021-04-21 14:43:27 -07:00
.eslintrc.json
.fresnel.yml
.gitattributes
.gitignore
.gitreview
.mailmap Merge "Add .mailmap entry for 01miki10" 2021-04-06 18:50:18 +00:00
.phpcs.xml .phpcs.xml: Replace useage of whitelist in comments 2021-04-18 16:22:58 +01:00
.stylelintrc.json
.travis.yml
.vsls.json
api.php
autoload.php Drop hard-deprecated CacheHelper classes 2021-04-20 12:56:01 +00:00
CODE_OF_CONDUCT.md
composer.json Update psr/container and wikimedia/object-factory 2021-04-25 19:35:54 +00:00
composer.local.json-sample
COPYING
CREDITS CREDITS: Update for REL1_36 2021-04-10 17:14:12 -07:00
DEVELOPERS.md
docker-compose.yml
FAQ
Gruntfile.js
HISTORY HISTORY: Add 1.31.13, 1.31.14, 1.35.2 2021-04-08 23:27:46 +01:00
img_auth.php
index.php
INSTALL Prepare for REL1_36 cut, labelling master as 1.37-alpha 2021-04-06 23:03:22 +00:00
jsduck.json Add polyfills for ES6 array methods 2021-04-21 14:43:27 -07:00
load.php Reapply Content-Length deferred updates patches 2021-04-08 09:25:56 +00:00
opensearch_desc.php
package-lock.json build: Update eslint-config-wikimedia to 0.20.0 2021-04-08 19:05:31 -07:00
package.json build: Update eslint-config-wikimedia to 0.20.0 2021-04-08 19:05:31 -07:00
phpunit.xml.dist
README.md
RELEASE-NOTES-1.36 resourceloader: Add $wgIncludejQueryMigrate option 2021-04-24 03:01:23 +01:00
RELEASE-NOTES-1.37 Update psr/container and wikimedia/object-factory 2021-04-25 19:35:54 +00:00
rest.php
SECURITY
thumb.php
thumb_handler.php
UPGRADE UPGRADE: Remove nbsp, replace with a space 2021-04-08 18:32:57 -07: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.