// TODO: Divide off modules starting with "user", and add the user parameter to them
$query = array(
'lang' => $wgLang->getCode(),
- 'debug' => ( $wgRequest->getBool( 'debug' ) && $wgRequest->getVal( 'debug' ) == 'true' ) ? 'true' : 'false',
+ 'debug' => $wgRequest->getFuzzyBool( 'debug' ) ? 'true' : 'false',
'skin' => $wgUser->getSkin()->getSkinName(),
'only' => $only,
);
$scripts .= Skin::makeGlobalVariablesScript( $sk->getSkinName() ) . "\n";
// Script and Messages "only"
- if ( $wgRequest->getBool( 'debug' ) && $wgRequest->getVal( 'debug' ) !== 'false' ) {
+ if ( $wgRequest->getFuzzyBool( 'debug' ) ) {
// Scripts
foreach ( $this->getModuleScripts() as $name ) {
$scripts .= self::makeResourceLoaderLink( $sk, $name, 'scripts' );
}
// Support individual script requests in debug mode
- if ( $wgRequest->getBool( 'debug' ) && $wgRequest->getVal( 'debug' ) !== 'false' ) {
+ if ( $wgRequest->getFuzzyBool( 'debug' ) ) {
foreach ( $this->getModuleStyles() as $name ) {
$tags[] = self::makeResourceLoaderLink( $sk, $name, 'styles' );
}
$this->direction = $request->getVal( 'dir' );
$this->skin = $request->getVal( 'skin' );
$this->user = $request->getVal( 'user' );
- $this->debug = $request->getBool( 'debug' ) && $request->getVal( 'debug' ) === 'true';
+ $this->debug = $request->getFuzzyBool( 'debug' );
$this->only = $request->getVal( 'only' );
$this->version = $request->getVal( 'version' );
public function getBool( $name, $default = false ) {
return $this->getVal( $name, $default ) ? true : false;
}
+
+ /**
+ * Fetch a boolean value from the input or return $default if not set.
+ * Unlike getBool, the string "false" will result in boolean false, which is
+ * useful when interpreting information sent from JavaScript.
+ *
+ * @param $name String
+ * @param $default Boolean
+ * @return Boolean
+ */
+ public function getFuzzyBool( $name, $default = false ) {
+ return $this->getBool( $name, $default ) && $this->getVal( $name ) !== 'false';
+ }
/**
* Return true if the named value is set in the input, whatever that