From e9d52182674e179e745c9922c699ba097286cbb1 Mon Sep 17 00:00:00 2001 From: Daniel Kraus Date: Wed, 4 Jun 2014 13:57:23 +0200 Subject: [PATCH] Detect location of Maintenance.php in CLI script. --- LinkTitles.cli.php | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/LinkTitles.cli.php b/LinkTitles.cli.php index baaa43d..71c6fd6 100755 --- a/LinkTitles.cli.php +++ b/LinkTitles.cli.php @@ -20,11 +20,31 @@ * MA 02110-1301, USA. */ -// Include the maintenance base class from: +// Attempt to include the maintenance base class from: // $wgScriptPath/maintenance/Maintenance.php // Our script is normally located at: // $wgScriptPath/extensions/LinkTitles/LinkTitles.cli.php -require_once( "/home/daniel/Documents/Kommunikation/Wiki/maintenance/Maintenance.php" ); +$maintenanceScript = dirname( __FILE__ ) . "/../../maintenance/Maintenance.php"; +if ( file_exists( $maintenanceScript ) ) { + require_once $maintenanceScript; +} +else +{ + // Did not find the script where we expected it (maybe because we are a + // symlinked file -- __FILE__ resolves symbolic links). + $maintenanceScript = dirname( __FILE__ ) . "/Maintenance.php"; + if ( file_exists( $maintenanceScript ) ) { + require_once $maintenanceScript; + } + else + { + die("FATAL: Could not locate Maintenance.php.\n" . + "You may want to create a symbolic link named Maintenance.php in this directory\n" . + "which points to /extensions/Maintenance.php\n" . + "Ex.: ln -s /var/www/wiki/extensions/Maintenance.php\n\n"); + } +}; + require_once( dirname( __FILE__ ) . "/LinkTitles.body.php" ); class LinkTitlesCli extends Maintenance {