Why: * When using a HTMLFormField that has accepts the options-messages parameter, the message keys are the key and the value is either an array of options or the name of the value. * However, when converting the message key to the translated text it is possible for two or more message keys to have the same translation (for example T19746 and T347314). This causes only one of the duplicate items to be displayed in the options list. * As such, an logstash error should be raised when this happens so that, when debugging a missing option, the error can be found and lead to the issue being found quickly. For example, in T347314 it took several months for the issue to be found and solved. What: * In HTMLFormField::lookupOptionsKeys, add code to check if the translated text for the message key already exists in the array of translated text to option value. If it does, then create a logstash error and skip adding the item to the array (as it will override the already added item). * Also do this in LogEventsList and UsersPager, where the code passes the options using the 'options' key and uses the HTMLSelectFieldand. This means that HTMLFormField ::lookupOptionsKeys will not be called and as such need the same code to handle the duplicate values. Bug: T360326 Change-Id: Ifdeb917f7034967feed7a3b86aabec3c4d49bcc6 |
||
|---|---|---|
| .phan | ||
| cache | ||
| docs | ||
| extensions | ||
| images | ||
| includes | ||
| languages | ||
| maintenance | ||
| mw-config | ||
| resources | ||
| skins | ||
| tests | ||
| .dockerignore | ||
| .editorconfig | ||
| .eslintignore | ||
| .eslintrc.json | ||
| .fresnel.yml | ||
| .gitattributes | ||
| .gitignore | ||
| .gitmessage | ||
| .gitreview | ||
| .mailmap | ||
| .phpcs.xml | ||
| .stylelintrc.json | ||
| .svgo.config.js | ||
| .vsls.json | ||
| api.php | ||
| autoload.php | ||
| CODE_OF_CONDUCT.md | ||
| composer.json | ||
| composer.local.json-sample | ||
| COPYING | ||
| CREDITS | ||
| DEVELOPERS.md | ||
| docker-compose.yml | ||
| FAQ | ||
| Gruntfile.js | ||
| HISTORY | ||
| img_auth.php | ||
| index.php | ||
| INSTALL | ||
| jsdoc-plugin-allow-dots-in-modules.js | ||
| jsdoc.js | ||
| load.php | ||
| opensearch_desc.php | ||
| package-lock.json | ||
| package.json | ||
| phpunit.xml.dist | ||
| README.md | ||
| RELEASE-NOTES-1.42 | ||
| rest.php | ||
| SECURITY | ||
| thumb.php | ||
| thumb_handler.php | ||
| UPGRADE | ||
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.
- Ready to get started?
- Setting up your local development environment?
- Looking for the technical manual?
- Seeking help from a person?
- Looking to file a bug report or a feature request?
- Interested in helping out?
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.