getConfiguration: Don't bail when a valid variable is set null
authorErik Bernhardson <ebernhardson@wikimedia.org>
Thu, 21 Sep 2017 19:18:57 +0000 (12:18 -0700)
committerErik Bernhardson <ebernhardson@wikimedia.org>
Thu, 21 Sep 2017 19:19:50 +0000 (12:19 -0700)
isset() will return false with a value is null. Null is an acceptable
result for a configuration variable, so switch to array_key_exists.

Change-Id: I11a3feb07d2bdc7ee30975014db29365086f89bc

maintenance/getConfiguration.php

index 3c679e6..65ffe14 100644 (file)
@@ -101,7 +101,7 @@ class GetConfiguration extends Maintenance {
                        foreach ( $this->settings_list as $name ) {
                                if ( !preg_match( '/^wg[A-Z]/', $name ) ) {
                                        throw new MWException( "Variable '$name' does start with 'wg'." );
-                               } elseif ( !isset( $GLOBALS[$name] ) ) {
+                               } elseif ( !array_key_exists( $name, $GLOBALS ) ) {
                                        throw new MWException( "Variable '$name' is not set." );
                                } elseif ( !$this->isAllowedVariable( $GLOBALS[$name] ) ) {
                                        throw new MWException( "Variable '$name' includes non-array, non-scalar, items." );