diff options
Diffstat (limited to 'includes/htmlform/HTMLCheckField.php')
-rw-r--r-- | includes/htmlform/HTMLCheckField.php | 46 |
1 files changed, 15 insertions, 31 deletions
diff --git a/includes/htmlform/HTMLCheckField.php b/includes/htmlform/HTMLCheckField.php index 5f70362a..4942327f 100644 --- a/includes/htmlform/HTMLCheckField.php +++ b/includes/htmlform/HTMLCheckField.php @@ -20,28 +20,19 @@ class HTMLCheckField extends HTMLFormField { $attr['class'] = $this->mClass; } - if ( $this->mParent->isVForm() ) { - // Nest checkbox inside label. - return Html::rawElement( 'label', - array( - 'class' => 'mw-ui-checkbox-label' - ), - Xml::check( $this->mName, $value, $attr ) . $this->mLabel ); - } else { - $chkLabel = Xml::check( $this->mName, $value, $attr ) - . ' ' - . Html::rawElement( 'label', array( 'for' => $this->mID ), $this->mLabel ); - - if ( $wgUseMediaWikiUIEverywhere ) { - $chkLabel = Html::rawElement( - 'div', - array( 'class' => 'mw-ui-checkbox' ), - $chkLabel - ); - } + $chkLabel = Xml::check( $this->mName, $value, $attr ) + . ' ' + . Html::rawElement( 'label', array( 'for' => $this->mID ), $this->mLabel ); - return $chkLabel; + if ( $wgUseMediaWikiUIEverywhere || $this->mParent instanceof VFormHTMLForm ) { + $chkLabel = Html::rawElement( + 'div', + array( 'class' => 'mw-ui-checkbox' ), + $chkLabel + ); } + + return $chkLabel; } /** @@ -67,23 +58,16 @@ class HTMLCheckField extends HTMLFormField { * @return string */ function loadDataFromRequest( $request ) { - $invert = false; - if ( isset( $this->mParams['invert'] ) && $this->mParams['invert'] ) { - $invert = true; - } + $invert = isset( $this->mParams['invert'] ) && $this->mParams['invert']; // GetCheck won't work like we want for checks. // Fetch the value in either one of the two following case: // - we have a valid token (form got posted or GET forged by the user) // - checkbox name has a value (false or true), ie is not null if ( $request->getCheck( 'wpEditToken' ) || $request->getVal( $this->mName ) !== null ) { - // XOR has the following truth table, which is what we want - // INVERT VALUE | OUTPUT - // true true | false - // false true | true - // false false | false - // true false | true - return $request->getBool( $this->mName ) xor $invert; + return $invert + ? !$request->getBool( $this->mName ) + : $request->getBool( $this->mName ); } else { return $this->getDefault(); } |