Current configuration on the wiki
Find a file
thiemowmde c5541bfa71 parser: Replace exception with /J modifier in MagicWordArray
The extra code that scans for duplicates and throws an exception was
added via I95dea67 in 2017. I'm not entrirely sure why. This should
be impossible in all relevant real-world scenarios. Maybe it happened
in a local dev scenario?

Even if, duplicates are harmless. Let me explain:

The only way a duplicate can end here is when the same magic word is
added twice to the $this->names array. The only thing that happens
then is that the resulting regex contains one of the sub-patterns
twice. It doesn't matter which one matches. We know these subpatterns
are identical. Unfortunately the PCRE compiler doesn't know and
assumes duplicate names are a problem. We have two options to fix
this: Strip duplicates in $this->names with array_unique() or tell
the PCRE compiler that duplicates are ok with the /J modifier.

I would like to avoid the extra, potentially expensive array_unique()
because, as said, duplicates never happen in real-world scenarios.

The /J modifier is supported since PHP 7.2.

Change-Id: I5f113abdbb44354fcc01be7f36fbc7d07f75876c
2023-10-27 12:48:03 +02:00
.phan GlobalFunctions: Minor clean up of wfMkdirParents() 2023-10-19 19:30:42 -07:00
cache
docs EditRecovery: Add $wgEditRecoveryExpiry config var 2023-10-23 10:37:43 +01:00
extensions
images
includes parser: Replace exception with /J modifier in MagicWordArray 2023-10-27 12:48:03 +02:00
languages Localisation updates from https://translatewiki.net. 2023-10-27 08:23:09 +02:00
maintenance Improve uses of ->where( array_merge( … ) ) in query builders 2023-10-26 19:44:02 +02:00
mw-config
resources Merge "Edit Recovery: only save when form contents has changed" 2023-10-25 11:09:27 +00:00
skins
tests parser: Replace exception with /J modifier in MagicWordArray 2023-10-27 12:48:03 +02:00
.dockerignore
.editorconfig
.eslintignore
.eslintrc.json
.fresnel.yml
.gitattributes
.gitignore
.gitmessage
.gitreview
.mailmap .mailmap: Add and switch to Bartosz Dziewoński's new primary 2023-10-24 10:18:12 -04:00
.phpcs.xml Bump codesniffer to 42.0.0 2023-09-27 15:06:32 -04: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
api.php
autoload.php lib/virtualrest: Drop the virtualrest library 2023-10-23 11:02:59 +01:00
CODE_OF_CONDUCT.md
composer.json Update OOUI to v0.48.2 2023-10-24 16:38:54 -04:00
composer.local.json-sample
COPYING
CREDITS Prepare active branch following REL1_41 cut, labelling as 1.42-alpha 2023-10-09 22:11:03 -04:00
DEVELOPERS.md DEVELOPERS.md: Corrections for documentation on mounting extension directories 2023-09-07 09:24:25 +02: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: Fix file name for stylelintrc.json in grunt-watch 2023-07-04 21:32:23 +02:00
HISTORY Prepare active branch following REL1_41 cut, labelling as 1.42-alpha 2023-10-09 22:11:03 -04:00
img_auth.php Reorg: Move WebRequest to includes\Request 2023-09-11 21:44:34 +01:00
index.php
INSTALL Prepare active branch following REL1_41 cut, labelling as 1.42-alpha 2023-10-09 22:11:03 -04:00
jsduck.json resources: Remove jquery.color, jquery.fullscreen, and jquery.form 2023-10-07 01:46:09 +00:00
load.php Centralize logic behind building ChronologyProtector object 2023-08-30 18:44:09 +00:00
opensearch_desc.php
package-lock.json tests: Upgrade QUnit from v2.19.4 to v2.20.0 2023-10-20 15:06:30 -04:00
package.json tests: Upgrade QUnit from v2.19.4 to v2.20.0 2023-10-20 15:06:30 -04: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
RELEASE-NOTES-1.41 Merge "filebackend: Allow uploading files up to 32 GB with FSFileBackend" 2023-10-25 17:24:22 +00:00
RELEASE-NOTES-1.42 parser: deprecate unused MagicWord::getId, improve docs and tests 2023-10-26 16:07:20 +01:00
rest.php
SECURITY
thumb.php Use Authority in thumb.php 2023-10-06 17:13:18 +00:00
thumb_handler.php
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.