Smalyshev has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/235132

Change subject: Add wfShellWikiCmd hook like in main Mediawiki config to make 
--wiki work properly.
......................................................................

Add wfShellWikiCmd hook like in main Mediawiki config to make --wiki work 
properly.

Bug: T110941
Change-Id: Ie99e98e6931cff1daa8b53fb5457b3bd7542854a
---
M puppet/modules/mediawiki/templates/docroot/w/MWMultiVersion.php.erb
M puppet/modules/mediawiki/templates/multiwiki/CommonSettings.php.erb
2 files changed, 23 insertions(+), 1 deletion(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/vagrant 
refs/changes/32/235132/1

diff --git 
a/puppet/modules/mediawiki/templates/docroot/w/MWMultiVersion.php.erb 
b/puppet/modules/mediawiki/templates/docroot/w/MWMultiVersion.php.erb
index 688b503..15234e1 100644
--- a/puppet/modules/mediawiki/templates/docroot/w/MWMultiVersion.php.erb
+++ b/puppet/modules/mediawiki/templates/docroot/w/MWMultiVersion.php.erb
@@ -141,12 +141,32 @@
                return $this->db;
        }
 
-       public function getMediawikiRoot() {
+   public function getMediawikiRoot() {
                global $wgMediawikiRoot;
                return $wgMediawikiRoot[$this->db];
        }
 
        /**
+       * Handler for the wfShellMaintenanceCmd hook.
+       * This converts shell commands like "php $IP/maintenance/foo.php" into
+       * commands that use the "MWScript.php" wrapper, for example:
+       * "php /srv/mediawiki-staging/multiversion/MWScript.php 
maintenance/foo.php"
+       *
+       * @param &$script string
+       * @param &$params Array
+       * @param &$options Array
+       * @return boolean
+       */
+   public static function onWfShellMaintenanceCmd( &$script, array &$params, 
array &$options ) {
+          global $IP;
+          if ( strpos( $script, "{$IP}/" ) === 0 ) {
+                  $script = substr( $script, strlen( "{$IP}/" ) );
+                  $options['wrapper'] = __DIR__ . '/MWScript.php';
+          }
+          return true;
+       }
+
+       /**
         * Check if this wiki is *not* specified in a cdb file
         * located at /usr/local/apache/common-local/wikiversions.cdb.
         * @return bool
diff --git 
a/puppet/modules/mediawiki/templates/multiwiki/CommonSettings.php.erb 
b/puppet/modules/mediawiki/templates/multiwiki/CommonSettings.php.erb
index 6d9cb45..ce00c18 100644
--- a/puppet/modules/mediawiki/templates/multiwiki/CommonSettings.php.erb
+++ b/puppet/modules/mediawiki/templates/multiwiki/CommonSettings.php.erb
@@ -17,6 +17,8 @@
        $multiVersion = MWMultiVersion::initializeForWiki( '<%= 
scope['::mediawiki::db_name'] %>' );
 }
 
+$wgHooks['wfShellWikiCmd'][] = 'MWMultiVersion::onWfShellMaintenanceCmd';
+
 // This must be set *after* the DefaultSettings.php inclusion
 $wgDBname = $multiVersion->getDatabase();
 

-- 
To view, visit https://gerrit.wikimedia.org/r/235132
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ie99e98e6931cff1daa8b53fb5457b3bd7542854a
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/vagrant
Gerrit-Branch: master
Gerrit-Owner: Smalyshev <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to