Fix the GlobalTitleFail debug notice for HTMLButtonFields
authormainframe98 <k.s.werf@hotmail.com>
Wed, 8 Aug 2018 10:45:04 +0000 (11:45 +0100)
committermainframe98 <k.s.werf@hotmail.com>
Wed, 8 Aug 2018 10:45:04 +0000 (11:45 +0100)
These occur when buttonlabel-message is set. HTMLButtonField
parses the message in its constructor, but at that point the
context (provided by the form field by HTMLForm::$mParent) is
not yet available. The constructor of HTMLForm assigns $mParent,
but that constructor is only called after the button label
message is parsed.

Bug: T201497
Change-Id: I021c9ecf3bc934f2cf55ec100e799c1c12e7bc01

includes/htmlform/fields/HTMLButtonField.php

index 7f7f718..84719a7 100644 (file)
@@ -34,6 +34,11 @@ class HTMLButtonField extends HTMLFormField {
 
        public function __construct( $info ) {
                $info['nodata'] = true;
+
+               $this->setShowEmptyLabel( false );
+
+               parent::__construct( $info );
+
                if ( isset( $info['flags'] ) ) {
                        $this->mFlags = $info['flags'];
                }
@@ -55,10 +60,6 @@ class HTMLButtonField extends HTMLFormField {
                } elseif ( isset( $info['buttonlabel-raw'] ) ) {
                        $this->buttonLabel = $info['buttonlabel-raw'];
                }
-
-               $this->setShowEmptyLabel( false );
-
-               parent::__construct( $info );
        }
 
        public function getInputHTML( $value ) {