X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=maintenance%2FconvertExtensionToRegistration.php;h=7c87e1012648b30c65dc4c973d3b30fa444670b7;hb=6cc415a26e219af87661f8a1de7e758a065a1060;hp=aab20879d4f3d8765d1fd03a8f7f566790688c8c;hpb=f826f2f5f6facdce2c92dcb9e70bb0cf20ff9db0;p=lhc%2Fweb%2Fwiklou.git diff --git a/maintenance/convertExtensionToRegistration.php b/maintenance/convertExtensionToRegistration.php index aab20879d4..7c87e10126 100644 --- a/maintenance/convertExtensionToRegistration.php +++ b/maintenance/convertExtensionToRegistration.php @@ -59,6 +59,7 @@ class ConvertExtensionToRegistration extends Maintenance { $this->addArg( 'path', 'Location to the PHP entry point you wish to convert', /* $required = */ true ); $this->addOption( 'skin', 'Whether to write to skin.json', false, false ); + $this->addOption( 'config-prefix', 'Custom prefix for configuration settings', false, true ); } protected function getAllGlobals() { @@ -92,6 +93,10 @@ class ConvertExtensionToRegistration extends Maintenance { $this->dir = dirname( realpath( $this->getArg( 0 ) ) ); $this->json = []; $globalSettings = $this->getAllGlobals(); + $configPrefix = $this->getOption( 'config-prefix', 'wg' ); + if ( $configPrefix !== 'wg' ) { + $this->json['config']['_prefix'] = $configPrefix; + } foreach ( $vars as $name => $value ) { $realName = substr( $name, 2 ); // Strip 'wg' if ( $realName === false ) { @@ -113,9 +118,14 @@ class ConvertExtensionToRegistration extends Maintenance { $this->noLongerSupportedGlobals[$realName] . '). ' . "Please update the entry point before convert to registration.\n" ); $this->hasWarning = true; - } elseif ( strpos( $name, 'wg' ) === 0 ) { + } elseif ( strpos( $name, $configPrefix ) === 0 ) { // Most likely a config setting - $this->json['config'][$realName] = $value; + $this->json['config'][substr( $name, strlen( $configPrefix ) )] = $value; + } elseif ( $configPrefix !== 'wg' && strpos( $name, 'wg' ) === 0 ) { + // Warn about this + $this->output( 'Warning: Skipped global "' . $name . '" (' . + 'config prefix is "' . $configPrefix . '"). ' . + "Please check that this setting isn't needed.\n" ); } }