Extension:MaintenanceShell

MaintenanceShell provides access to the Maintenance scripts via a Special Page.

''Maintenance scripts are powerful tools which can have a significant impact on your wiki. Many of them require users to have access to the file system. Do not grant rights to the MaintenanceShell lightly.''

Usage
You can access the MaintananceShell through Special Pages (Special:SpecialPages), then:
 * 1) Chose the script from the list.
 * 2) Fill in the command line settings as if you were typing the commands via a terminal shell.
 * 3) Submit the form.

Working directories
The default working directory for the maintenance scripts is yourwikidir/maintenance/. You may override this value using $wgMaintenanceShellDir.

You may also use the magic word &#123;&#123;ROOT}} in the command line area. It will be replaced with the full path to the root folder of the web server. Default folder of the MaintenanceShell script: &#123;&#123;ROOT}}/w/extensions/MaintenanceShell/

Downloads

 * MaintenanceShell 0.3.1 - 11:59, 6 June 2010 (UTC)


 * MaintenanceShell 0.3.0 - 18:14, 23 May 2010 (UTC)


 * MaintenanceShell 0.2.4 - 22:14, 9 May 2010 (UTC)


 * MaintenanceShell 0.2.3 - 00:55, 8 May 2010 (UTC)


 * MaintenanceShell 0.2.2 - 01:13, 19 June 2009 (UTC)


 * MaintenanceShell 0.2.1 - 02:56, 2 June 2009 (UTC)


 * MaintenanceShell 0.2.0 - 13:29, 30 May 2009 (UTC)


 * MaintenanceShell 0.1.0 - 16:11, 29 May 2009 (UTC)

Installation
To install this extension:
 * 1) Download the installation package.
 * 2) Unzip and place all files in yourwikidir/extensions/MaintenanceShell/.
 * 3) Add the following to LocalSettings.php:

Note: The require_once line MUST be the last line of your Localsettings.php to ensure all settings are loaded when the MaintenanceShell is run.

User rights
MaintenanceShell adds a new user right called maintenanceshell, which a user must be granted before they can access the MaintenanceShell page. You may add the right to an existing group, or assign it to a new group and add users to that group. Place the following code in Localsettings.php:

Existing group: New user group:

v0.3.1

 * Fixed a small bug with the exit callback function introduced in 0.3.0

v0.3.0

 * Fixed XSS and CSRF vulnerabilities

v0.2.4

 * Fixed IE related bug

v0.2.3

 * Moved all strings to the language file to allow for localization
 * Includes German language localization
 * Fixed some minor bugs

v0.2.2

 * Included support for double quote marks ("") which allow for parameters with spaces as well as parameters with null values.
 * Added a few links to relevant info on the maintenance shell page.

v0.2.1

 * Fixed some minor bugs
 * Added message notifying user when MaintenanceShell is incorrectly configured.

v0.2.0

 * Replaced buggy and annoying password system with Mediawiki based authentication
 * Changed look of interface slightly

v0.1.0

 * First public release

Errors with Mediawiki 1.16
Starting with 1.16, Mediawiki requires the PHP directive register_argc_argv to be enabled in order to run the maintenance scripts. You can enable register_argc_argv in your php.ini file or with a directive in your .htaccess file, depending on your host's configuration.

For php.ini: register_argc_argv=1

For .htaccess: php_value register_argc_argv 1

Errors in commandLine.inc
commandLine.inc is provided with your Mediawiki installation in 1.15 or lower. Depending on your error settings you may see some warning and notice messages emited from commandLine.inc when you run scripts using MaintenanceShell. You can edit commandLine.inc in two places to hide these errors.

Line 27
Change define('MEDIAWIKI',true); To @ define('MEDIAWIKI',true);

Line 115
Change if ( file_exists .... To if ( @ file_exists ....