Skip to content

Commit

Permalink
API CHANGE Don't allow specifying $form as constructor argument in va…
Browse files Browse the repository at this point in the history
…rious form fields, use setForm() instead (to achieve a cleaner API with less confusing parameter order)
  • Loading branch information
chillu committed Jan 2, 2012
1 parent 3c5c04c commit cc32957
Show file tree
Hide file tree
Showing 9 changed files with 21 additions and 16 deletions.
8 changes: 8 additions & 0 deletions docs/en/changelogs/3.0.0.md
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,14 @@ as well as the HTML form element itself.
<input type="checkbox" class="checkbox extraClass".../>
</div>

### 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,
Expand Down
2 changes: 1 addition & 1 deletion forms/CountryDropdownField.php
Original file line number Diff line number Diff line change
Expand Up @@ -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();

Expand Down
2 changes: 1 addition & 1 deletion forms/DateField.php
Original file line number Diff line number Diff line change
Expand Up @@ -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();
}
Expand Down
4 changes: 1 addition & 3 deletions forms/FormField.php
Original file line number Diff line number Diff line change
Expand Up @@ -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;

Expand Down
4 changes: 2 additions & 2 deletions forms/HeaderField.php
Original file line number Diff line number Diff line change
Expand Up @@ -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();
Expand All @@ -29,7 +29,7 @@ function __construct($name, $title = null, $headingLevel = 2, $form = null) {

if($headingLevel) $this->headingLevel = $headingLevel;

parent::__construct($name, $title, null, $form);
parent::__construct($name, $title);
}

public function getHeadingLevel() {
Expand Down
4 changes: 2 additions & 2 deletions forms/LabelField.php
Original file line number Diff line number Diff line change
Expand Up @@ -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();
Expand All @@ -26,7 +26,7 @@ function __construct($name, $title, $form = null) {
$form = (isset($args[3])) ? $args[3] : null;
}

parent::__construct($name, $title, $form);
parent::__construct($name, $title);
}

}
4 changes: 2 additions & 2 deletions forms/ListboxField.php
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}

/**
Expand Down
4 changes: 2 additions & 2 deletions forms/MoneyField.php
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}

/**
Expand Down
5 changes: 2 additions & 3 deletions forms/PhoneNumberField.php
Original file line number Diff line number Diff line change
Expand Up @@ -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() {
Expand Down

0 comments on commit cc32957

Please sign in to comment.