MDL-65069 mod_forum: Remove unused code and additional dev docs.
[moodle.git] / lib / form / submit.php
index 23c1ff7..d44b1a2 100644 (file)
@@ -49,7 +49,11 @@ class MoodleQuickForm_submit extends HTML_QuickForm_submit implements templatabl
     protected $primary;
 
     /**
-     * Any class apart from 'btn' would be override with this content
+     * Any class apart from 'btn' would be overridden with this content.
+     *
+     * By default, submit buttons will utilize the btn-primary OR btn-secondary classes. However there are cases where we
+     * require a submit button with different stylings (e.g. btn-link). In these cases, $customclassoverride will override
+     * the defaults mentioned previously and utilize the provided class(es).
      *
      * @var string $customclassoverride Custom class override for the input element
      */
@@ -62,8 +66,11 @@ class MoodleQuickForm_submit extends HTML_QuickForm_submit implements templatabl
      * @param string $value (optional) field label
      * @param string $attributes (optional) Either a typical HTML attribute string or an associative array
      * @param bool|null $primary Is this button a primary button?
+     * @param array $options Options to further customise the submit button. Currently accepted options are:
+     *                  customclassoverride String The CSS class to use for the button instead of the standard
+     *                                             btn-primary and btn-secondary classes.
      */
-    public function __construct($elementName=null, $value=null, $attributes=null, $primary = null) {
+    public function __construct($elementName=null, $value=null, $attributes=null, $primary = null, $options = []) {
         parent::__construct($elementName, $value, $attributes);
 
         // Fallback to legacy behaviour if no value specified.
@@ -73,11 +80,7 @@ class MoodleQuickForm_submit extends HTML_QuickForm_submit implements templatabl
             $this->primary = $primary;
         }
 
-        $class = $this->getAttribute('customclassoverride');
-        if ($class) {
-            $this->removeAttribute('customclassoverride');
-            $this->customclassoverride = $class;
-        }
+        $this->customclassoverride = $options['customclassoverride'] ?? false;
     }
 
     /**
@@ -146,7 +149,7 @@ class MoodleQuickForm_submit extends HTML_QuickForm_submit implements templatabl
         }
 
         if ($this->customclassoverride) {
-            $context['customclass'] = $this->customclassoverride;
+            $context['customclassoverride'] = $this->customclassoverride;
         }
         return $context;
     }