When I want to import an image that has been already imported in the Mediawiki and then deleted (or renamed), it fails:
[25376f7e] /plugins/mediawiki/wiki/sanbox/index.php?title=Sp%C3%A9cial:T%C3%A9l%C3%A9verser Exception from line 219 of /usr/share/mediawiki-tuleap-123/includes/upload/UploadStash.php: key '18slg3bwwfxk.8egaef.1.png' is not in a proper format
Backtrace:
#0 /usr/share/mediawiki-tuleap-123/includes/upload/UploadBase.php(853): UploadStash->stashFile()
#1 /usr/share/mediawiki-tuleap-123/includes/upload/UploadBase.php(866): UploadBase->stashFile()
#2 /usr/share/mediawiki-tuleap-123/includes/upload/UploadBase.php(875): UploadBase->stashFileGetKey()
#3 /usr/share/mediawiki-tuleap-123/includes/specials/SpecialUpload.php(347): UploadBase->stashSession()
#4 /usr/share/mediawiki-tuleap-123/includes/specials/SpecialUpload.php(448): SpecialUpload->showUploadWarning()
#5 /usr/share/mediawiki-tuleap-123/includes/specials/SpecialUpload.php(185): SpecialUpload->processUpload()
#6 /usr/share/mediawiki-tuleap-123/includes/specialpage/SpecialPage.php(379): SpecialUpload->execute()
#7 /usr/share/mediawiki-tuleap-123/includes/specialpage/SpecialPageFactory.php(503): SpecialPage->run()
#8 /usr/share/mediawiki-tuleap-123/includes/Wiki.php(285): SpecialPageFactory::executePath()
#9 /usr/share/mediawiki-tuleap-123/includes/Wiki.php(588): MediaWiki->performRequest()
#10 /usr/share/mediawiki-tuleap-123/includes/Wiki.php(447): MediaWiki->main()
#11 /usr/share/mediawiki-tuleap-123/index.php(46): MediaWiki->run()
#12 /usr/share/tuleap/plugins/mediawiki/www/index.php(22): require_once(string)
#13 {main}
Steps to reproduce:
- Import a PNG image in the mediawiki
- Delete the image you've just imported
- Import the image again
Workaround:
Check the option to ignore warnings.
The bug occurs when Mediawiki wants to advice you that you try to insert a file with an existing history.
Details:
I think the regular expression
const KEY_FORMAT_REGEX = '/^[\w-\.]+\.\w*$/';
is incorrect (I would rather see '/^[\w\-\.]+\.\w*$/'
).