Publish MaintenanceShell v0.4.0: Rewrite
* Fix various security issues
- Use in_array on the directory scan instead of
sanitising $script and doing file_exists.
- Catch the output of the maintenance script with AJAX
and output it as a text node instead of echo'ing it raw
unescaped between <pre> and </pre>, which can cause html
escape issues with the output of the maintenance script.
* Phase out hacks in main php file, in favour of using regular
MediaWiki interfaces for:
- i18n messages
- user tokens
- user permissions
* Use FormSpecialPage to automatically take care of:
- Visual layout and creation of HTML <form> output
- User token handling
- Input validation
- User block status, rights and permissions checking
- Simple <select> drop down menu instead of <table>
of <a> links.
* Use ResourceLoader for delivery of javascript/css
* Implement basic parser for the cli arguments instead of
the manual regexing, also adding unit tests for many
edge cases that the old regex didn't support.
To run:
$ cd mw/core/tests/phpunit;
$ php phpunit.php ../../extensions/MaintenanceShell/;
* Config changes:
- Removed obsolete $wgMaintenanceShellLang
- Renamed $maintenance_path to $wgMaintenanceShellPath
* Cleaned up directory structure and file naming to
latest MediaWiki extension recommendations and coding
style conventions.
11 files changed