Class: I2CE FormField DATE TIME: Difference between revisions

From IHRIS Wiki
No edit summary
No edit summary
Line 2: Line 2:
*Extends the class: [[Class: I2CE_FormField_DB_DATE | I2CE_FormField_DB_DATE]].
*Extends the class: [[Class: I2CE_FormField_DB_DATE | I2CE_FormField_DB_DATE]].
*Parent Classses:  [[Class: I2CE_FormField_DB_DATE | I2CE_FormField_DB_DATE]] [[Class: I2CE_FormField | I2CE_FormField]] [[Class: I2CE_Fuzzy | I2CE_Fuzzy]]
*Parent Classses:  [[Class: I2CE_FormField_DB_DATE | I2CE_FormField_DB_DATE]] [[Class: I2CE_FormField | I2CE_FormField]] [[Class: I2CE_Fuzzy | I2CE_Fuzzy]]
*Location: Part of the module [[iHRIS Module List#forms|forms]] in the package [https://launchpad.net/i2ce I2CE]
*Location: Part of the module [[I2CE Module List#forms|forms]] in the package [https://launchpad.net/i2ce I2CE]
*Source: Defined in the file [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.0-release/annotate/head:/modules/Forms/lib/fields/I2CE_FormField_DATE_TIME.php modules/Forms/lib/fields/I2CE_FormField_DATE_TIME.php]
*Source: Defined in the file [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.0-release/annotate/head:/modules/Forms/lib/fields/I2CE_FormField_DATE_TIME.php modules/Forms/lib/fields/I2CE_FormField_DATE_TIME.php]
*Author: Luke Duncan <lduncan@intrahealth.org>
*Author: Luke Duncan <lduncan@intrahealth.org>
Line 35: Line 35:
*Parameters:
*Parameters:
** [http://www.php.net/manual/en/language.pseudo-types.php mixed ] $value
** [http://www.php.net/manual/en/language.pseudo-types.php mixed ] $value
==Inherited Methods==
===__construct()===
This public method is inherited from [[Class: I2CE_FormField_DB_DATE#__construct() | I2CE_FormField_DB_DATE->__construct()]]
===compare()===
This public method is inherited from [[Class: I2CE_FormField_DB_DATE#compare() | I2CE_FormField_DB_DATE->compare()]]
===getDBValue()===
This public method is inherited from [[Class: I2CE_FormField_DB_DATE#getDBValue() | I2CE_FormField_DB_DATE->getDBValue()]]
===getDisplayValue()===
This public method is inherited from [[Class: I2CE_FormField_DB_DATE#getDisplayValue() | I2CE_FormField_DB_DATE->getDisplayValue()]]
===getYearRange()===
This public method is inherited from [[Class: I2CE_FormField_DB_DATE#getYearRange() | I2CE_FormField_DB_DATE->getYearRange()]]
===isSameValue()===
This public method is inherited from [[Class: I2CE_FormField_DB_DATE#isSameValue() | I2CE_FormField_DB_DATE->isSameValue()]]
===isValid()===
This public method is inherited from [[Class: I2CE_FormField_DB_DATE#isValid() | I2CE_FormField_DB_DATE->isValid()]]
===issetValue()===
This public method is inherited from [[Class: I2CE_FormField_DB_DATE#issetValue() | I2CE_FormField_DB_DATE->issetValue()]]
===setYearRange()===
This public method is inherited from [[Class: I2CE_FormField_DB_DATE#setYearRange() | I2CE_FormField_DB_DATE->setYearRange()]]
===addHistory()===
This public method is inherited from [[Class: I2CE_FormField#addHistory() | I2CE_FormField->addHistory()]]
===createField()===
This public method is inherited from [[Class: I2CE_FormField#createField() | I2CE_FormField->createField()]]
===firstHistory()===
This public method is inherited from [[Class: I2CE_FormField#firstHistory() | I2CE_FormField->firstHistory()]]
===getAttribute()===
This public method is inherited from [[Class: I2CE_FormField#getAttribute() | I2CE_FormField->getAttribute()]]
===getDBType()===
This public method is inherited from [[Class: I2CE_FormField#getDBType() | I2CE_FormField->getDBType()]]
===getDisplayNode()===
This public method is inherited from [[Class: I2CE_FormField#getDisplayNode() | I2CE_FormField->getDisplayNode()]]
===getDisplays()===
This public method is inherited from [[Class: I2CE_FormField#getDisplays() | I2CE_FormField->getDisplays()]]
===getForm()===
This public method is inherited from [[Class: I2CE_FormField#getForm() | I2CE_FormField->getForm()]]
===getHTMLName()===
This public method is inherited from [[Class: I2CE_FormField#getHTMLName() | I2CE_FormField->getHTMLName()]]
===getHeader()===
This public method is inherited from [[Class: I2CE_FormField#getHeader() | I2CE_FormField->getHeader()]]
===getHref()===
This public method is inherited from [[Class: I2CE_FormField#getHref() | I2CE_FormField->getHref()]]
===getInvalid()===
This public method is inherited from [[Class: I2CE_FormField#getInvalid() | I2CE_FormField->getInvalid()]]
===getMDB2Type()===
This public method is inherited from [[Class: I2CE_FormField#getMDB2Type() | I2CE_FormField->getMDB2Type()]]
===getName()===
This public method is inherited from [[Class: I2CE_FormField#getName() | I2CE_FormField->getName()]]
===getOption()===
This public method is inherited from [[Class: I2CE_FormField#getOption() | I2CE_FormField->getOption()]]
===getString()===
This public method is inherited from [[Class: I2CE_FormField#getString() | I2CE_FormField->getString()]]
===getTypeString()===
This public method is inherited from [[Class: I2CE_FormField#getTypeString() | I2CE_FormField->getTypeString()]]
===getValue()===
This public method is inherited from [[Class: I2CE_FormField#getValue() | I2CE_FormField->getValue()]]
===hasAttribute()===
This public method is inherited from [[Class: I2CE_FormField#hasAttribute() | I2CE_FormField->hasAttribute()]]
===hasDisplay()===
This public method is inherited from [[Class: I2CE_FormField#hasDisplay() | I2CE_FormField->hasDisplay()]]
===hasHeader()===
This public method is inherited from [[Class: I2CE_FormField#hasHeader() | I2CE_FormField->hasHeader()]]
===hasInvalid()===
This public method is inherited from [[Class: I2CE_FormField#hasInvalid() | I2CE_FormField->hasInvalid()]]
===hasNextHistory()===
This public method is inherited from [[Class: I2CE_FormField#hasNextHistory() | I2CE_FormField->hasNextHistory()]]
===hasOption()===
This public method is inherited from [[Class: I2CE_FormField#hasOption() | I2CE_FormField->hasOption()]]
===isInDB()===
This public method is inherited from [[Class: I2CE_FormField#isInDB() | I2CE_FormField->isInDB()]]
===nextHistory()===
This public method is inherited from [[Class: I2CE_FormField#nextHistory() | I2CE_FormField->nextHistory()]]
===processDOM()===
This public method is inherited from [[Class: I2CE_FormField#processDOM() | I2CE_FormField->processDOM()]]
===setAttribute()===
This public method is inherited from [[Class: I2CE_FormField#setAttribute() | I2CE_FormField->setAttribute()]]
===setForm()===
This public method is inherited from [[Class: I2CE_FormField#setForm() | I2CE_FormField->setForm()]]
===setFromDB()===
This public method is inherited from [[Class: I2CE_FormField#setFromDB() | I2CE_FormField->setFromDB()]]
===setHeaders()===
This public method is inherited from [[Class: I2CE_FormField#setHeaders() | I2CE_FormField->setHeaders()]]
===setHref()===
This public method is inherited from [[Class: I2CE_FormField#setHref() | I2CE_FormField->setHref()]]
===setInvalid()===
This public method is inherited from [[Class: I2CE_FormField#setInvalid() | I2CE_FormField->setInvalid()]]
===unsetValue()===
This public method is inherited from [[Class: I2CE_FormField#unsetValue() | I2CE_FormField->unsetValue()]]
===displayInvalid()===
This protected method is inherited from [[Class: I2CE_FormField#displayInvalid() | I2CE_FormField->displayInvalid()]]
===getElement()===
This protected method is inherited from [[Class: I2CE_FormField#getElement() | I2CE_FormField->getElement()]]
===getOptionsByPath()===
This protected method is inherited from [[Class: I2CE_FormField#getOptionsByPath() | I2CE_FormField->getOptionsByPath()]]
===optionsHasPath()===
This protected method is inherited from [[Class: I2CE_FormField#optionsHasPath() | I2CE_FormField->optionsHasPath()]]
===setElement()===
This protected method is inherited from [[Class: I2CE_FormField#setElement() | I2CE_FormField->setElement()]]
===_hasMethod()===
This public method is inherited from [[Class: I2CE_Fuzzy#_hasMethod() | I2CE_Fuzzy->_hasMethod()]]
==Inherited Variables==
===$start_year===
Theis protected variable is inherited from [[Class: I2CE_FormField_DB_DATE#$start_year | I2CE_FormField_DB_DATE->$start_year]]
===$end_year===
Theis protected variable is inherited from [[Class: I2CE_FormField_DB_DATE#$end_year | I2CE_FormField_DB_DATE->$end_year]]
===$name===
Theis protected variable is inherited from [[Class: I2CE_FormField#$name | I2CE_FormField->$name]]
===$options===
Theis protected variable is inherited from [[Class: I2CE_FormField#$options | I2CE_FormField->$options]]
===$value===
Theis protected variable is inherited from [[Class: I2CE_FormField#$value | I2CE_FormField->$value]]
===$headers===
Theis protected variable is inherited from [[Class: I2CE_FormField#$headers | I2CE_FormField->$headers]]
===$href===
Theis protected variable is inherited from [[Class: I2CE_FormField#$href | I2CE_FormField->$href]]
===$form===
Theis protected variable is inherited from [[Class: I2CE_FormField#$form | I2CE_FormField->$form]]
===$history===
Theis protected variable is inherited from [[Class: I2CE_FormField#$history | I2CE_FormField->$history]]
===$history_idx===
Theis protected variable is inherited from [[Class: I2CE_FormField#$history_idx | I2CE_FormField->$history_idx]]
===$attributes===
Theis protected variable is inherited from [[Class: I2CE_FormField#$attributes | I2CE_FormField->$attributes]]
===$invalid===
Theis protected variable is inherited from [[Class: I2CE_FormField#$invalid | I2CE_FormField->$invalid]]
==Inherited Fuzzy Methods==
===generateLimit_in()===
This method is inherited from [[Class: I2CE_FormField_DB_DATE#generateLimit_in() | I2CE_FormField_DB_DATE->generateLimit_in()]]
===generateLimit_greaterthan_now()===
This method is inherited from [[Class: I2CE_FormField_DB_DATE#generateLimit_greaterthan_now() | I2CE_FormField_DB_DATE->generateLimit_greaterthan_now()]]
===generateLimit_lessthan_now()===
This method is inherited from [[Class: I2CE_FormField_DB_DATE#generateLimit_lessthan_now() | I2CE_FormField_DB_DATE->generateLimit_lessthan_now()]]
===checkLimit_in()===
This method is inherited from [[Class: I2CE_FormField_DB_DATE#checkLimit_in() | I2CE_FormField_DB_DATE->checkLimit_in()]]
===checkLimitString_in()===
This method is inherited from [[Class: I2CE_FormField_DB_DATE#checkLimitString_in() | I2CE_FormField_DB_DATE->checkLimitString_in()]]
===getLimitMenu_in()===
This method is inherited from [[Class: I2CE_FormField_DB_DATE#getLimitMenu_in() | I2CE_FormField_DB_DATE->getLimitMenu_in()]]
===processLimitMenu_in()===
This method is inherited from [[Class: I2CE_FormField_DB_DATE#processLimitMenu_in() | I2CE_FormField_DB_DATE->processLimitMenu_in()]]
===checkLimit_greaterthan_now()===
This method is inherited from [[Class: I2CE_FormField_DB_DATE#checkLimit_greaterthan_now() | I2CE_FormField_DB_DATE->checkLimit_greaterthan_now()]]
===checkLimitString_greaterthan_now()===
This method is inherited from [[Class: I2CE_FormField_DB_DATE#checkLimitString_greaterthan_now() | I2CE_FormField_DB_DATE->checkLimitString_greaterthan_now()]]
===getLimitMenu_greaterthan_now()===
This method is inherited from [[Class: I2CE_FormField_DB_DATE#getLimitMenu_greaterthan_now() | I2CE_FormField_DB_DATE->getLimitMenu_greaterthan_now()]]
===processLimitMenu_greaterthan_now()===
This method is inherited from [[Class: I2CE_FormField_DB_DATE#processLimitMenu_greaterthan_now() | I2CE_FormField_DB_DATE->processLimitMenu_greaterthan_now()]]
===checkLimit_lessthan_now()===
This method is inherited from [[Class: I2CE_FormField_DB_DATE#checkLimit_lessthan_now() | I2CE_FormField_DB_DATE->checkLimit_lessthan_now()]]
===checkLimitString_lessthan_now()===
This method is inherited from [[Class: I2CE_FormField_DB_DATE#checkLimitString_lessthan_now() | I2CE_FormField_DB_DATE->checkLimitString_lessthan_now()]]
===getLimitMenu_lessthan_now()===
This method is inherited from [[Class: I2CE_FormField_DB_DATE#getLimitMenu_lessthan_now() | I2CE_FormField_DB_DATE->getLimitMenu_lessthan_now()]]
===processLimitMenu_lessthan_now()===
This method is inherited from [[Class: I2CE_FormField_DB_DATE#processLimitMenu_lessthan_now() | I2CE_FormField_DB_DATE->processLimitMenu_lessthan_now()]]
===cachedTableReference()===
This method is inherited from [[Class: I2CE_FormField#cachedTableReference() | I2CE_FormField->cachedTableReference()]]
===isNumeric()===
This method is inherited from [[Class: I2CE_FormField#isNumeric() | I2CE_FormField->isNumeric()]]
===getLimitStyles()===
This method is inherited from [[Class: I2CE_FormField#getLimitStyles() | I2CE_FormField->getLimitStyles()]]
===generateLimit()===
This method is inherited from [[Class: I2CE_FormField#generateLimit() | I2CE_FormField->generateLimit()]]
===generateLimit_null()===
This method is inherited from [[Class: I2CE_FormField#generateLimit_null() | I2CE_FormField->generateLimit_null()]]
===generateLimit_not_null()===
This method is inherited from [[Class: I2CE_FormField#generateLimit_not_null() | I2CE_FormField->generateLimit_not_null()]]
===generateLimit_null_not_null()===
This method is inherited from [[Class: I2CE_FormField#generateLimit_null_not_null() | I2CE_FormField->generateLimit_null_not_null()]]
===checkLimit_null()===
This method is inherited from [[Class: I2CE_FormField#checkLimit_null() | I2CE_FormField->checkLimit_null()]]
===checkLimit_not_null()===
This method is inherited from [[Class: I2CE_FormField#checkLimit_not_null() | I2CE_FormField->checkLimit_not_null()]]
===checkLimit_null_not_null()===
This method is inherited from [[Class: I2CE_FormField#checkLimit_null_not_null() | I2CE_FormField->checkLimit_null_not_null()]]
===checkLimitString_null()===
This method is inherited from [[Class: I2CE_FormField#checkLimitString_null() | I2CE_FormField->checkLimitString_null()]]
===checkLimitString_not_null()===
This method is inherited from [[Class: I2CE_FormField#checkLimitString_not_null() | I2CE_FormField->checkLimitString_not_null()]]
===checkLimitString_null_not_null()===
This method is inherited from [[Class: I2CE_FormField#checkLimitString_null_not_null() | I2CE_FormField->checkLimitString_null_not_null()]]
===getLimitMenu_null()===
This method is inherited from [[Class: I2CE_FormField#getLimitMenu_null() | I2CE_FormField->getLimitMenu_null()]]
===getLimitMenu_not_null()===
This method is inherited from [[Class: I2CE_FormField#getLimitMenu_not_null() | I2CE_FormField->getLimitMenu_not_null()]]
===getLimitMenu_null_not_null()===
This method is inherited from [[Class: I2CE_FormField#getLimitMenu_null_not_null() | I2CE_FormField->getLimitMenu_null_not_null()]]
===processLimitMenu_null()===
This method is inherited from [[Class: I2CE_FormField#processLimitMenu_null() | I2CE_FormField->processLimitMenu_null()]]
===processLimitMenu_not_null()===
This method is inherited from [[Class: I2CE_FormField#processLimitMenu_not_null() | I2CE_FormField->processLimitMenu_not_null()]]
===processLimitMenu_null_not_null()===
This method is inherited from [[Class: I2CE_FormField#processLimitMenu_null_not_null() | I2CE_FormField->processLimitMenu_null_not_null()]]
===generateLimit_max_parent()===
This method is inherited from [[Class: I2CE_FormField#generateLimit_max_parent() | I2CE_FormField->generateLimit_max_parent()]]
===generateLimit_min_parent()===
This method is inherited from [[Class: I2CE_FormField#generateLimit_min_parent() | I2CE_FormField->generateLimit_min_parent()]]
===generateLimit_max_parent_form()===
This method is inherited from [[Class: I2CE_FormField#generateLimit_max_parent_form() | I2CE_FormField->generateLimit_max_parent_form()]]
===generateLimit_min_parent_form()===
This method is inherited from [[Class: I2CE_FormField#generateLimit_min_parent_form() | I2CE_FormField->generateLimit_min_parent_form()]]
===getLimitMenu_max_parent()===
This method is inherited from [[Class: I2CE_FormField#getLimitMenu_max_parent() | I2CE_FormField->getLimitMenu_max_parent()]]
===getLimitMenu_min_parent()===
This method is inherited from [[Class: I2CE_FormField#getLimitMenu_min_parent() | I2CE_FormField->getLimitMenu_min_parent()]]
===getLimitMenu_max_parent_form()===
This method is inherited from [[Class: I2CE_FormField#getLimitMenu_max_parent_form() | I2CE_FormField->getLimitMenu_max_parent_form()]]
===getLimitMenu_min_parent_form()===
This method is inherited from [[Class: I2CE_FormField#getLimitMenu_min_parent_form() | I2CE_FormField->getLimitMenu_min_parent_form()]]
===processLimitMenu_max_parent()===
This method is inherited from [[Class: I2CE_FormField#processLimitMenu_max_parent() | I2CE_FormField->processLimitMenu_max_parent()]]
===processLimitMenu_min_parent()===
This method is inherited from [[Class: I2CE_FormField#processLimitMenu_min_parent() | I2CE_FormField->processLimitMenu_min_parent()]]
===processLimitMenu_max_parent_form()===
This method is inherited from [[Class: I2CE_FormField#processLimitMenu_max_parent_form() | I2CE_FormField->processLimitMenu_max_parent_form()]]
===processLimitMenu_min_parent_form()===
This method is inherited from [[Class: I2CE_FormField#processLimitMenu_min_parent_form() | I2CE_FormField->processLimitMenu_min_parent_form()]]
===save()===
This method is inherited from [[Class: I2CE_FormField#save() | I2CE_FormField->save()]]
===populateHistory()===
This method is inherited from [[Class: I2CE_FormField#populateHistory() | I2CE_FormField->populateHistory()]]
===userMessage()===
This method is inherited from [[Class: I2CE_Fuzzy#userMessage() | I2CE_Fuzzy->userMessage()]]
==Fuzzy Methods==
==Fuzzy Methods==
===generateLimit_equals()===
===generateLimit_equals()===

Revision as of 13:08, 19 October 2009

This article describes the class I2CE_FormField_DATE_TIME.

Class for defining all the database fields used by a object.

Methods

getFromDB()

Return the value of this field from the database format for the given type @param integer $type The type of the field to be returned.

  • Signature: public function getFromDB($value)
  • Parameters:

processDOMEditable()

  • Signature: public function processDOMEditable($node,$template,$form_node)
  • Parameters:
    • $node
    • $template
    • $form_node

processDOMNotEditable()

  • Signature: public function processDOMNotEditable($node,$template,$form_node)
  • Parameters:
    • $node
    • $template
    • $form_node

setFromPost()

Sets the value of this field from the posted form.

  • Signature: public function setFromPost($post)
  • Parameters:
    • array $post
      The $_POST array holding the values for this form.

setValue()

Sets the value of this field.

  • Signature: public function setValue($value)
  • Parameters:

Fuzzy Methods

generateLimit_equals()

This method is implemented by I2CE_Module_FormLimits->DATE_generateLimit_DATE_TIME_equals()

checkLimit_equals()

This method is implemented by I2CE_Module_FormLimits->DATE_checkLimit_DATE_TIME_equals()

checkLimitString_equals()

This method is implemented by I2CE_Module_FormLimits->DATE_checkLimit_DATE_TIME_equals()

getLimitMenu_equals()

This method is implemented by I2CE_Module_FormLimits->DATE_getLimitMenu_DATE_TIME_equals()

processLimitMenu_equals()

This method is implemented by I2CE_Module_FormLimits->DATE_processLimitMenu_DATE_TIME_equals()

generateLimit_greaterthan()

This method is implemented by I2CE_Module_FormLimits->DATE_generateLimit_DATE_TIME_greaterthan()

checkLimit_greaterthan()

This method is implemented by I2CE_Module_FormLimits->DATE_checkLimit_DATE_TIME_greaterthan()

checkLimitString_greaterthan()

This method is implemented by I2CE_Module_FormLimits->DATE_checkLimit_DATE_TIME_greaterthan()

getLimitMenu_greaterthan()

This method is implemented by I2CE_Module_FormLimits->DATE_getLimitMenu_DATE_TIME_greaterthan()

processLimitMenu_greaterthan()

This method is implemented by I2CE_Module_FormLimits->DATE_processLimitMenu_DATE_TIME_greaterthan()

generateLimit_lessthan()

This method is implemented by I2CE_Module_FormLimits->DATE_generateLimit_DATE_TIME_lessthan()

checkLimit_lessthan()

This method is implemented by I2CE_Module_FormLimits->DATE_checkLimit_DATE_TIME_lessthan()

checkLimitString_lessthan()

This method is implemented by I2CE_Module_FormLimits->DATE_checkLimit_DATE_TIME_lessthan()

getLimitMenu_lessthan()

This method is implemented by I2CE_Module_FormLimits->DATE_getLimitMenu_DATE_TIME_lessthan()

processLimitMenu_lessthan()

This method is implemented by I2CE_Module_FormLimits->DATE_processLimitMenu_DATE_TIME_lessthan()

generateLimit_greaterthan_equals()

This method is implemented by I2CE_Module_FormLimits->DATE_generateLimit_DATE_TIME_greaterthan_equals()

checkLimit_greaterthan_equals()

This method is implemented by I2CE_Module_FormLimits->DATE_checkLimit_DATE_TIME_greaterthan_equals()

checkLimitString_greaterthan_equals()

This method is implemented by I2CE_Module_FormLimits->DATE_checkLimit_DATE_TIME_greaterthan_equals()

getLimitMenu_greaterthan_equals()

This method is implemented by I2CE_Module_FormLimits->DATE_getLimitMenu_DATE_TIME_greaterthan_equals()

processLimitMenu_greaterthan_equals()

This method is implemented by I2CE_Module_FormLimits->DATE_processLimitMenu_DATE_TIME_greaterthan_equals()

generateLimit_lessthan_equals()

This method is implemented by I2CE_Module_FormLimits->DATE_generateLimit_DATE_TIME_lessthan_equals()

checkLimit_lessthan_equals()

This method is implemented by I2CE_Module_FormLimits->DATE_checkLimit_DATE_TIME_lessthan_equals()

checkLimitString_lessthan_equals()

This method is implemented by I2CE_Module_FormLimits->DATE_checkLimit_DATE_TIME_lessthan_equals()

getLimitMenu_lessthan_equals()

This method is implemented by I2CE_Module_FormLimits->DATE_getLimitMenu_DATE_TIME_lessthan_equals()

processLimitMenu_lessthan_equals()

This method is implemented by I2CE_Module_FormLimits->DATE_processLimitMenu_DATE_TIME_lessthan_equals()

getLimitMenu_between()

This method is implemented by I2CE_Module_FormLimits->DATE_getLimitMenu_DATE_TIME_between()

generateLimit_between()

This method is implemented by I2CE_Module_FormLimits->DATE_generateLimit_DATE_TIME_between()

checkLimit_between()

This method is implemented by I2CE_Module_FormLimits->DATE_checkLimit_DATE_TIME_between()

checkLimitString_between()

This method is implemented by I2CE_Module_FormLimits->DATE_checkLimitString_DATE_TIME_between()

processLimitMenu_between()

This method is implemented by I2CE_Module_FormLimits->DATE_processLimitMenu_DATE_TIME_between()