Merge "Use our fork of less.php" into REL1_31
[lhc/web/wiklou.git] / maintenance / shell.php
index 5df5b54..c8a8a45 100644 (file)
@@ -36,6 +36,7 @@
 
 use MediaWiki\Logger\LoggerFactory;
 use MediaWiki\Logger\ConsoleSpi;
+use MediaWiki\MediaWikiServices;
 
 require_once __DIR__ . '/Maintenance.php';
 
@@ -57,7 +58,7 @@ class MediaWikiShell extends Maintenance {
 
        public function execute() {
                if ( !class_exists( \Psy\Shell::class ) ) {
-                       $this->error( 'PsySH not found. Please run composer with the --dev option.', 1 );
+                       $this->fatalError( 'PsySH not found. Please run composer with the --dev option.' );
                }
 
                $traverser = new \PhpParser\NodeTraverser();
@@ -83,21 +84,17 @@ class MediaWikiShell extends Maintenance {
                $d = intval( $this->getOption( 'd' ) );
                if ( $d > 0 ) {
                        LoggerFactory::registerProvider( new ConsoleSpi );
+                       // Some services hold Logger instances in object properties
+                       MediaWikiServices::resetGlobalInstance();
                }
                if ( $d > 1 ) {
                        # Set DBO_DEBUG (equivalent of $wgDebugDumpSql)
-                       # XXX copy pasted from eval.php :(
-                       $lb = wfGetLB();
-                       $serverCount = $lb->getServerCount();
-                       for ( $i = 0; $i < $serverCount; $i++ ) {
-                               $server = $lb->getServerInfo( $i );
-                               $server['flags'] |= DBO_DEBUG;
-                               $lb->setServerInfo( $i, $server );
-                       }
+                       wfGetDB( DB_MASTER )->setFlag( DBO_DEBUG );
+                       wfGetDB( DB_REPLICA )->setFlag( DBO_DEBUG );
                }
        }
 
 }
 
-$maintClass = 'MediaWikiShell';
+$maintClass = MediaWikiShell::class;
 require_once RUN_MAINTENANCE_IF_MAIN;