diff --git a/docs/en/changelogs/3.0.0.md b/docs/en/changelogs/3.0.0.md index bd911ce56..10fc47a47 100644 --- a/docs/en/changelogs/3.0.0.md +++ b/docs/en/changelogs/3.0.0.md @@ -84,6 +84,14 @@ as well as the HTML form element itself. +### FormField constructor argument changes ### + +In order to enforce a consistent parameter order in core [api:FormField] subclasses, +its no longer possible to set the following optional attributes via constructor arguments: +`$form`, `$maxLength`, `$rightTitle`, `$rows`/`$cols` (for `TextareaField` and `HtmlEditorField`) +and `$folderName` (for `FileField` and `SimpleImageField`). +Please use the appropriate setters on the form field instance instead. + ### Restructured files and folders ### In order to make the `sapphire` framework useable without the `cms` module, diff --git a/forms/CountryDropdownField.php b/forms/CountryDropdownField.php index e7309972c..6c0d8520e 100644 --- a/forms/CountryDropdownField.php +++ b/forms/CountryDropdownField.php @@ -12,7 +12,7 @@ class CountryDropdownField extends DropdownField { protected $defaultToVisitorCountry = true; - function __construct($name, $title = null, $source = null, $value = "", $form=null) { + function __construct($name, $title = null, $source = null, $value = "") { if(!is_array($source)) $source = Geoip::getCountryDropDown(); if(!$value) $value = Geoip::visitor_country(); diff --git a/forms/DateField.php b/forms/DateField.php index b67070368..5b0a91281 100644 --- a/forms/DateField.php +++ b/forms/DateField.php @@ -87,7 +87,7 @@ class DateField extends TextField { */ protected $valueObj = null; - function __construct($name, $title = null, $value = null, $form = null, $rightTitle = null) { + function __construct($name, $title = null, $value = null) { if(!$this->locale) { $this->locale = i18n::get_locale(); } diff --git a/forms/FormField.php b/forms/FormField.php index 0a72df373..ec18696ff 100644 --- a/forms/FormField.php +++ b/forms/FormField.php @@ -100,10 +100,8 @@ class FormField extends RequestHandler { * @param name The internal field name, passed to forms. * @param title The field label. * @param value The value of the field. - * @param form Reference to the container form - * @param maxLength The Maximum length of the attribute */ - function __construct($name, $title = null, $value = null, $form = null, $rightTitle = null) { + function __construct($name, $title = null, $value = null) { $this->name = $name; $this->title = ($title === null) ? $name : $title; diff --git a/forms/HeaderField.php b/forms/HeaderField.php index a8c90fff5..696df8cb1 100644 --- a/forms/HeaderField.php +++ b/forms/HeaderField.php @@ -14,7 +14,7 @@ class HeaderField extends DatalessField { */ protected $headingLevel = 2; - function __construct($name, $title = null, $headingLevel = 2, $form = null) { + function __construct($name, $title = null, $headingLevel = 2) { // legacy handling for old parameters: $title, $heading, ... // instead of new handling: $name, $title, $heading, ... $args = func_get_args(); @@ -29,7 +29,7 @@ class HeaderField extends DatalessField { if($headingLevel) $this->headingLevel = $headingLevel; - parent::__construct($name, $title, null, $form); + parent::__construct($name, $title); } public function getHeadingLevel() { diff --git a/forms/LabelField.php b/forms/LabelField.php index 33d8f00a8..6f6974e35 100644 --- a/forms/LabelField.php +++ b/forms/LabelField.php @@ -16,7 +16,7 @@ class LabelField extends DatalessField { * @param string $title * @param Form $form */ - function __construct($name, $title, $form = null) { + function __construct($name, $title) { // legacy handling for old parameters: $title, $heading, ... // instead of new handling: $name, $title, $heading, ... $args = func_get_args(); @@ -26,7 +26,7 @@ class LabelField extends DatalessField { $form = (isset($args[3])) ? $args[3] : null; } - parent::__construct($name, $title, $form); + parent::__construct($name, $title); } } \ No newline at end of file diff --git a/forms/ListboxField.php b/forms/ListboxField.php index 6c1c42002..43e0b4e37 100644 --- a/forms/ListboxField.php +++ b/forms/ListboxField.php @@ -51,10 +51,10 @@ class ListboxField extends DropdownField { * @param int $size Optional size of the select element * @param form The parent form */ - function __construct($name, $title = '', $source = array(), $value = '', $size = null, $multiple = false, $form = null) { + function __construct($name, $title = '', $source = array(), $value = '', $size = null, $multiple = false) { if($size) $this->size = $size; if($multiple) $this->multiple = $multiple; - parent::__construct($name, $title, $source, $value, $form); + parent::__construct($name, $title, $source, $value); } /** diff --git a/forms/MoneyField.php b/forms/MoneyField.php index f9a54a13d..091f2c3c6 100644 --- a/forms/MoneyField.php +++ b/forms/MoneyField.php @@ -32,12 +32,12 @@ class MoneyField extends FormField { */ protected $fieldCurrency = null; - function __construct($name, $title = null, $value = "", $form = null) { + function __construct($name, $title = null, $value = "") { // naming with underscores to prevent values from actually being saved somewhere $this->fieldAmount = new NumericField("{$name}[Amount]", _t('MoneyField.FIELDLABELAMOUNT', 'Amount')); $this->fieldCurrency = $this->FieldCurrency($name); - parent::__construct($name, $title, $value, $form); + parent::__construct($name, $title, $value); } /** diff --git a/forms/PhoneNumberField.php b/forms/PhoneNumberField.php index 59defb192..9e1493582 100644 --- a/forms/PhoneNumberField.php +++ b/forms/PhoneNumberField.php @@ -17,14 +17,13 @@ class PhoneNumberField extends FormField { protected $countryCode; protected $ext; - public function __construct( $name, $title = null, $value = '', $extension = null, - $areaCode = null, $countryCode = null, $form = null ) { + public function __construct( $name, $title = null, $value = '', $extension = null, $areaCode = null, $countryCode = null) { $this->areaCode = $areaCode; $this->ext = $extension; $this->countryCode = $countryCode; - parent::__construct( $name, $title, $value, $form ); + parent::__construct($name, $title, $value); } public function Field() {