If you request LogEventList to display the combination of 2 log types, and one of
[lhc/web/wiklou.git] / includes / HTMLForm.php
index f883967..5c0d7db 100644 (file)
@@ -186,7 +186,7 @@ class HTMLForm extends ContextSource {
         * done already.
         * @deprecated since 1.18 load modules with ResourceLoader instead
         */
-       static function addJS() { }
+       static function addJS() { wfDeprecated( __METHOD__, '1.18' ); }
 
        /**
         * Initialise a new Object for the field
@@ -493,7 +493,7 @@ class HTMLForm extends ContextSource {
 
                $html = '';
                if( $this->getMethod() == 'post' ){
-                       $html .= Html::hidden( 'wpEditToken', $this->getUser()->editToken(), array( 'id' => 'wpEditToken' ) ) . "\n";
+                       $html .= Html::hidden( 'wpEditToken', $this->getUser()->getEditToken(), array( 'id' => 'wpEditToken' ) ) . "\n";
                        $html .= Html::hidden( 'title', $this->getTitle()->getPrefixedText() ) . "\n";
                }
 
@@ -891,7 +891,7 @@ abstract class HTMLFormField {
                }
 
                if ( isset( $this->mValidationCallback ) ) {
-                       return call_user_func( $this->mValidationCallback, $value, $alldata );
+                       return call_user_func( $this->mValidationCallback, $value, $alldata, $this->mParent );
                }
 
                return true;
@@ -899,7 +899,7 @@ abstract class HTMLFormField {
 
        function filter( $value, $alldata ) {
                if ( isset( $this->mFilterCallback ) ) {
-                       $value = call_user_func( $this->mFilterCallback, $value, $alldata );
+                       $value = call_user_func( $this->mFilterCallback, $value, $alldata, $this->mParent );
                }
 
                return $value;
@@ -1376,7 +1376,10 @@ class HTMLCheckField extends HTMLFormField {
                }
 
                // GetCheck won't work like we want for checks.
-               if ( $request->getCheck( 'wpEditToken' ) || $this->mParent->getMethod() != 'post' ) {
+               // 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