blueshoes php application framework and cms            core_html
[ class tree: core_html ] [ index: core_html ] [ all elements ]

Class: Bs_FormFieldRadio

Source Location: /core/html/form/Bs_FormFieldRadio.class.php

Class Overview

Bs_Object
   |
   --Bs_FormElement
      |
      --Bs_FormField
         |
         --Bs_FormFieldRadio

RADIO Form Field Class


Author(s):

Version:

  • 4.3.$Revision: 1.4 $ $Date: 2003/10/29 17:48:39 $

Copyright:

  • blueshoes.org

Variables

Methods


Child classes:

Bs_FormFieldRadioJs
RADIO Form Field Class using the javascript radio component.
Bs_FormFieldSex
SEX Form Field Class

Inherited Variables

Class: Bs_FormField

Bs_FormField::$additionalCheck
Bs_FormField::$additionalTags
Bs_FormField::$advancedStyles
Bs_FormField::$bsDataInfo
Bs_FormField::$bsDataManipulation
Bs_FormField::$bsDataManipVar
Bs_FormField::$bsDataType
Bs_FormField::$case
Bs_FormField::$codePostLoad
Bs_FormField::$codePostManipulate
Bs_FormField::$codePostReceive
Bs_FormField::$dbAttributes
Bs_FormField::$dbAutoIncrement
Bs_FormField::$dbDataType
Bs_FormField::$dbFieldName
Bs_FormField::$dbForeignKey
Bs_FormField::$dbIndexFulltext
Bs_FormField::$dbKey
Bs_FormField::$dbNotNull
Bs_FormField::$dbPrimaryKey
Bs_FormField::$dbUnique
Bs_FormField::$defaultErrorMessage
Bs_FormField::$direction
Bs_FormField::$editability
Bs_FormField::$enforce
Bs_FormField::$equalTo
Bs_FormField::$errorMessage
Bs_FormField::$errorType
Bs_FormField::$events
Bs_FormField::$explodeEval
Bs_FormField::$fieldType
Bs_FormField::$isUsed
Bs_FormField::$level
Bs_FormField::$maxLength
Bs_FormField::$minLength
Bs_FormField::$must
Bs_FormField::$mustBeUnique
Bs_FormField::$mustContain
Bs_FormField::$mustEndWith
Bs_FormField::$mustIf
Bs_FormField::$mustOneOf
Bs_FormField::$mustOneOfIf
Bs_FormField::$mustStartWith
Bs_FormField::$notContain
Bs_FormField::$notEndWith
Bs_FormField::$notEqualTo
Bs_FormField::$notStartWith
Bs_FormField::$onEnter
Bs_FormField::$onlyIf
Bs_FormField::$onlyOneOf
Bs_FormField::$onlyOneOfIf
Bs_FormField::$regularExpression
Bs_FormField::$remove
Bs_FormField::$removeI
Bs_FormField::$replace
Bs_FormField::$replaceI
Bs_FormField::$saveToDb
Bs_FormField::$styles
Bs_FormField::$trim
Bs_FormField::$valueDefault
Bs_FormField::$valueDefaultType
Bs_FormField::$valueDisplay
Bs_FormField::$valueInternal
Bs_FormField::$valueReceived
Bs_FormField::$_Bs_String
Bs_FormField::$_explodeArray
Bs_FormField::$_must

Inherited Methods

Class: Bs_FormField

Bs_FormField::Bs_FormField()
Constructor.
Bs_FormField::addEnforceCheckbox()
add enforce checkbox if needed.
Bs_FormField::applyOnEnterBehavior()
merges the onEnter javascript call into the events array if needed.
Bs_FormField::getAdvancedStyle()
returns the advanced style for the given key.
Bs_FormField::getAdvancedStyleHelper()
returns the advanced style for the field itself or the caption, taking the current mode into account.
Bs_FormField::getCaption()
Return the caption string (for the current language).
Bs_FormField::getCaptionForFormOutput()
returns the caption string to use in the form output. so expect html here and not plaintext.
Bs_FormField::getDbDataType()
returns the db datatype to use for this field.
Bs_FormField::getDbFieldName()
returns the db field name you should use for this field.
Bs_FormField::getElement()
Return some html code to display all the exploded fields on a website in a form.
Bs_FormField::getError()
returns the error message for the current field, or an empty string if no error.
Bs_FormField::getErrorMessage()
returns a textual error message for the given error type.
Bs_FormField::getField()
overwrite this method in your subclass.
Bs_FormField::getFieldAsHidden()
Return some html code to send to the client. same as getField() but returns the field like a hidden field, no matter what field type it is.
Bs_FormField::getHelp()
returns the help text
Bs_FormField::getLabel()
Return the label tag (for the current language).
Bs_FormField::getOnEnterBehavior()
tells how this form field should behave when the user hits enter.
Bs_FormField::getOnEnterCode()
returns some javascript code (the call) to behave the way the coder wants.
Bs_FormField::getValue()
returns the value.
Bs_FormField::hasJavascript()
tells whether the client browser has javascript support or not.
Bs_FormField::inputManipulate()
manipulate the user inputs according to the object vars.
Bs_FormField::inputValidate()
validate the user inputs according to the object vars.
Bs_FormField::isExplodable()
tells if this is an explodable field.
Bs_FormField::isFilledIn()
tells if the user filled in this field *somehow*. does not tell if the input was ok/accepted.
Bs_FormField::isMust()
tells if the field has to be filled in according to the current settings.
Bs_FormField::postManipulateTrigger()
gets called after the user input has been set to the form fields, and the needed automatic manipulations have been done.
Bs_FormField::postReceiveTrigger()
gets called right after the user input has been set to the form fields.
Bs_FormField::setExplode()
explode this field into multiple ones?
Bs_FormField::shouldPersist()
tells if the received value should be persisted (used) this time.
Bs_FormField::unpersistTrigger()
gets executed automatically in some circumstances:
  • by the ObjPersister. read there for more info.
Bs_FormField::validateAdditionalCheck()
additionalCheck
Bs_FormField::validateDataType()
bsDataType/bsDataInfo
Bs_FormField::validateEqualTo()
equalTo
Bs_FormField::validateMaxLength()
checks the maxLength case.
Bs_FormField::validateMinLength()
checks the minLength case.
Bs_FormField::validateMust()
must
Bs_FormField::validateMustBeUnique()
checks the mustBeUnique case. the check is made non-case-sensitive.
Bs_FormField::validateMustContain()
mustContain
Bs_FormField::validateMustEndWith()
mustEndWith
Bs_FormField::validateMustStartWith()
mustStartWith
Bs_FormField::validateNotContain()
notContain
Bs_FormField::validateNotEndWith()
notEndWith
Bs_FormField::validateNotEqualTo()
notEqualTo
Bs_FormField::validateNotStartWith()
notStartWith
Bs_FormField::validateOnlyIf()
onlyIf
Bs_FormField::validateOnlyOneOf()
onlyOneOf
Bs_FormField::validateRegularExpression()
regularExpression

Class: Bs_FormElement

Bs_FormElement::Bs_FormElement()
Constructor.
Bs_FormElement::getCaption()
Return the caption string (for the current language).
Bs_FormElement::getCaptionForFormOutput()
returns the caption. here in Bs_FormElement it's the same getCaption() but in Bs_FormField which overwrites these methods it makes a difference.
Bs_FormElement::getElement()
Return some html code to display the element on a website in a form.
Bs_FormElement::getElementLayout()
returns the layout string for this element.
Bs_FormElement::getLanguageDependentValue()
returns the value of a [language dependant] [object] var for the current or given language.
Bs_FormElement::getLevel()
returns the level this element belongs to.
Bs_FormElement::getVisibility()
returns how this field/element should be visible and editable to the user.
Bs_FormElement::hasFormObject()
tells if we have a reference to a form object where we can grab some information.
Bs_FormElement::setFormObject()
set a reference to a form object.

Class: Bs_Object

Bs_Object::Bs_Object()
Bs_Object::getErrors()
Basic error handling: Get *all* errors as string array from the global Bs_Error-error stack.
Bs_Object::getLastError()
Basic error handling: Get last error string from the global Bs_Error-error stack.
Bs_Object::getLastErrors()
Basic error handling: Get last errors string array from the global Bs_Error-error stack sinc last call of getLastErrors().
Bs_Object::persist()
Persists this object by serializing it and saving it to a file with unique name.
Bs_Object::setError()
Basic error handling: Push an error string on the global Bs_Error-error stack.
Bs_Object::toHtml()
Dumps the content of this object to a string using PHP's var_dump().
Bs_Object::toString()
Dumps the content of this object to a string using PHP's var_dump().
Bs_Object::unpersist()
Fetches an object that was persisted with persist()

Class Details

[line 42]
RADIO Form Field Class

 example tag('s):
    male
    female
 

what's special about the HTML-radio tag?

   there can (should) be more than one element with exactly the same name in HTML. this is how they get
   grouped together. only one of the radio buttons can be selected at a time.
   - all the following object vars are of no use and thus ignored (mainly because the user
     cannot change the values at all, he can only select them):
      - bsDataType         - mustContain
      - bsDataInfo         - notContain
      - minLength          - mustBeUnique
      - [maxLength]        - regularExpression
      - mustStartWith      - trim
      - notStartWith       - remove
      - mustEndWith        - replace
      - notEndWith         - case
 

no dependencies here.




Tags:

copyright:  blueshoes.org
pattern:  singleton: (pseudostatic)
access:  public
version:  4.3.$Revision: 1.4 $ $Date: 2003/10/29 17:48:39 $
author:  andrej arn <at blueshoes dot org>


[ Top ]


Class Variables

$align =  'v'

[line 112]

how to align the options.

 'v' = vertical: (default)
     value 1
     value 2
     value 3

 'h' = horizontal:
     value 1, value 2, value 3
 




Tags:

var:  (char)

Type:   string


[ Top ]

$optionsEval =

[line 95]

php code to be evaluated. has to return an array (hash or vector) that will be used for the option tags of this select field.

the code is executed in $this->_prepareOptions() so it's in the scope of a method of this object. this means you can use vars from here etc. usually a string, can be a hash because it's language dependant.




Tags:

see:  Bs_FormFieldRadio::_prepareOptions(), var $optionsType, var $optionsHard, var $_options

Type:   mixed


[ Top ]

$optionsHard =

[line 83]

the options that are selectable for the user.

     the following data structures are allowed:
       array('1'=>'one', '2'=>'two', '3'=>'three');
       array('en'=>array('1'=>'one','2'=>'two','3'=>'three'), 'de'=>array('1'=>'eins','2'=>'zwei','3'=>'drei'), 'fr'=>array('1'=>'un','2'=>'deux','3'=>'trois'));
     while these are not:
       'one';
       array('one', 'two', 'three');
       array('en'=>'one', 'de'=>'eins', 'fr'=>'un');
       array('en'=>array('one','two','three'), 'de'=>array('eins','zwei','drei'), 'fr'=>array('un','deux','trois'));
       array('1'=>array('en'=>'one', 'de'=>'eins'), '2'=>array('en'=>'two', 'de'=>'zwei'));
     because it would not be possible to know the difference sometimes.
     you always need key=>val, even if the key and the value is the same.
 




Tags:

see:  Bs_FormFieldRadio::_prepareOptions(), var $optionsType, var $optionsEval, var $_options

Type:   array


[ Top ]

$optionsType =

[line 54]

how to fill in the options for this radio button.

one of 'eval' or 'hard'. if not set, the one var that is used is used :) if both are used (speaking of $optionsHard and $optionsEval) then $optionsHard is the default.




Tags:

see:  Bs_FormFieldRadio::_prepareOptions(), var $optionsHard, var $optionsEval, var $_options

Type:   string


[ Top ]



Class Methods


constructor Bs_FormFieldRadio [line 118]

Bs_FormFieldRadio Bs_FormFieldRadio( )

Constructor.



[ Top ]

method getField [line 143]

string &getField( [mixed $explodeKey = NULL], [bool $addEnforceCheckbox = TRUE], [array $elementList = null])

Return some html code to display the field on a website in a form.

overwrites parent method.




Tags:

return:  some html code
todo:  use the explodeKey param here. dunno why that's not implemented.
see:  $this->getFieldAsHidden(), $this->addEnforceCheckbox()
access:  public


Overridden in child classes as:

Bs_FormFieldRadioJs::getField()
Return some html code to display the field on a website in a form.

Overrides Bs_FormField::getField() (overwrite this method in your subclass.)

Parameters:

mixed   $explodeKey   (int or string, not used here (2do))
bool   $addEnforceCheckbox   default is TRUE. adds the enforce checkbox automatically, if needed. see (parent::)addEnforceCheckbox().
array   $elementList   (see getRadios())

[ Top ]

method getOptionStringForValue [line 332]

string getOptionStringForValue( mixed $value, [string $lang = null])

returns the displayed value for an internal value.

example: you have <option value="ca">Canada</option> getOptionStringForValue('ca') returns 'Canada'.

BIG NOTE: this method is (and should be) identical in Bs_FormFieldRadio and Bs_FormFieldSelect.




Tags:

return:  (empty string if that value is not defined. so you won't know if it was 'not found' or empty.)
access:  public


Parameters:

mixed   $value   (string or so)
string   $lang   (...)

[ Top ]

method getRadios [line 228]

string getRadios( string $fieldName, [array $elementList = null], [bool $editable = TRUE])

returns html code for the radio option buttons.

param elementList: if you want to fetch just some or just one option, you can give the keys of them here. default is NULL which makes the method return all options.




Tags:

return:  (html code)


Overridden in child classes as:

Bs_FormFieldSex::getRadios()
returns html code for the radio option buttons.

Parameters:

string   $fieldName  
array   $elementList   (see above)
bool   $editable   (if the radio options should be editable or not. default is TRUE. if FALSE then images will be sent instead of form fields. option added in bs4.3.)

[ Top ]

method inputManipulate [line 406]

void inputManipulate( )

overwrite parent method cause we don't want to manipulate anything here.



Tags:

access:  public


Overrides Bs_FormField::inputManipulate() (manipulate the user inputs according to the object vars.)

[ Top ]

method inputValidate [line 428]

mixed inputValidate( [mixed $paramValue = NULL])

validate the user inputs according to the object vars.

overwrites parent method. read manual there. additional information: the order for data validation is: (-- means check omitted here)

   1) must           5) --mustStartWith     9) --mustContain    13) --mustBeUnique
   2) onlyOneOf      6) --notStartWith     10) --notContain     14) --regularExpression
   3) --minLength    7) --mustEndWith      11) --equalTo
   4) --maxLength    8) --notEndWith       12) --notEqualTo
 




Tags:

access:  public


Overrides Bs_FormField::inputValidate() (validate the user inputs according to the object vars.)

Parameters:

mixed   $paramValue   (only used internally!!!)

[ Top ]

method _prepareOptions [line 459]

void _prepareOptions( )

sets $this->_options based on the vars $optionsHard and $optionsEval.



Tags:

see:  var $optionsType, var $optionsHard, var $optionsEval, var $_options
todo:  security hole here. we should use the concept of evalWrap(). i want to have it executed here and not there so we're in this object's scope.


[ Top ]


Documentation generated on Mon, 29 Dec 2003 21:10:03 +0100 by phpDocumentor 1.2.3