Class: I2CE FormStorage Mechanism: Difference between revisions

From IHRIS Wiki
No edit summary
No edit summary
Line 9: Line 9:
** [[Class: I2CE_FormStorage_magicdata | I2CE_FormStorage_magicdata]]
** [[Class: I2CE_FormStorage_magicdata | I2CE_FormStorage_magicdata]]
*Location: Part of the module [[I2CE Module List#forms-storage|forms-storage]] in the package [https://launchpad.net/i2ce I2CE]
*Location: Part of the module [[I2CE Module List#forms-storage|forms-storage]] in the package [https://launchpad.net/i2ce I2CE]
*Source: Defined in the file [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.1-release/annotate/head:/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php]
*Source: Defined in the file [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php#L33 modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php] on line 33
*Author: Carl Leitner <litlfred@ibiblio.org>
*Author: Carl Leitner <litlfred@ibiblio.org>
*Since: v3.2.0
*Since: v3.2.0
Line 29: Line 29:
===$name===
===$name===
The short name for this storage mechanism
The short name for this storage mechanism
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php#L58 i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php] on line 58
*Type: protected [http://www.php.net/manual/en/language.types.string.php string ] $name
*Type: protected [http://www.php.net/manual/en/language.types.string.php string ] $name


===$global_options===
===$global_options===
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php#L64 i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php] on line 64
*Type: protected $global_options
*Type: protected $global_options


===$ordering===
===$ordering===
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php#L283 i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php] on line 283
*Type: protected $ordering
*Type: protected $ordering


Line 40: Line 43:
===FF_IG_setSequence()===
===FF_IG_setSequence()===
Set FormField_INT_GENERATE sequence
Set FormField_INT_GENERATE sequence
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php#L583 i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php] on line 583
*Signature: public function FF_IG_setSequence($form_field)
*Signature: public function FF_IG_setSequence($form_field)
*Parameters:
*Parameters:
Line 46: Line 50:
===FF_populateHistory()===
===FF_populateHistory()===
populate FormField history.  By default does nothing.
populate FormField history.  By default does nothing.
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php#L593 i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php] on line 593
*Signature: public function FF_populateHistory($form_field)
*Signature: public function FF_populateHistory($form_field)
*Parameters:
*Parameters:
Line 51: Line 56:
===FF_save()===
===FF_save()===
Save the FormField to the database.
Save the FormField to the database.
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php#L573 i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php] on line 573
*Signature: public function FF_save($form_field,$do_check,$user)
*Signature: public function FF_save($form_field,$do_check,$user)
*Parameters:
*Parameters:
Line 59: Line 65:
===__construct()===
===__construct()===
The constructor for the storage mechanism
The constructor for the storage mechanism
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php#L71 i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php] on line 71
*Signature: public function __construct($name,$global_options)
*Signature: public function __construct($name,$global_options)
*Parameters:
*Parameters:
Line 66: Line 73:
===compareFormsByFields()===
===compareFormsByFields()===
Compares two forms to see which is greater based on the field ordering set in $this->ordering @param $form1 @param $form2
Compares two forms to see which is greater based on the field ordering set in $this->ordering @param $form1 @param $form2
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php#L290 i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php] on line 290
*Signature: protected function compareFormsByFields($form1,$form2)
*Signature: protected function compareFormsByFields($form1,$form2)
*Parameters:
*Parameters:
Line 73: Line 81:
===delete()===
===delete()===
Deletes a form from the entry tables.
Deletes a form from the entry tables.
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php#L608 i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php] on line 608
*Signature: public function delete($form,$transact,$complete,$deleted_records)
*Signature: public function delete($form,$transact,$complete,$deleted_records)
*Parameters:
*Parameters:
Line 82: Line 91:
===getFormsById()===
===getFormsById()===
Generates a SQL to select the required fields. @param callback $field_refernece_callback.  A callback function whose first arguement is the form, the second arguements is the field and which returns the way the field value should be references as a field.  If the callback is null (the default) then the reference used is "$form+$field"
Generates a SQL to select the required fields. @param callback $field_refernece_callback.  A callback function whose first arguement is the form, the second arguements is the field and which returns the way the field value should be references as a field.  If the callback is null (the default) then the reference used is "$form+$field"
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php#L222 i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php] on line 222
*Signature: public function getFormsById($form,$parent,$where_data,$ordering,$limit)
*Signature: public function getFormsById($form,$parent,$where_data,$ordering,$limit)
*Parameters:
*Parameters:
Line 95: Line 105:
===getIdsAsChild()===
===getIdsAsChild()===
Gets the id's for the given child for this form.
Gets the id's for the given child for this form.
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php#L347 i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php] on line 347
*Signature: public function getIdsAsChild($form_name,$parent_form_id,$order_by,$where,$limit)
*Signature: public function getIdsAsChild($form_name,$parent_form_id,$order_by,$where,$limit)
*Parameters:
*Parameters:
Line 104: Line 115:
*Returns: [http://www.php.net/manual/en/language.types.array.php array ]
*Returns: [http://www.php.net/manual/en/language.types.array.php array ]
===getLimitedFields()===
===getLimitedFields()===
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php#L453 i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php] on line 453
*Signature: protected function getLimitedFields($expr)
*Signature: protected function getLimitedFields($expr)
*Parameters:
*Parameters:
Line 109: Line 121:
===getRecords()===
===getRecords()===
Return an array of all the record ids for a given form.
Return an array of all the record ids for a given form.
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php#L98 i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php] on line 98
*Signature: abstract public function getRecords($form)
*Signature: abstract public function getRecords($form)
*Parameters:
*Parameters:
Line 115: Line 128:
===isWritable()===
===isWritable()===
Checks to see if this storage mechansim implements the writing methods. You need to override this in a subclass that implements writable
Checks to see if this storage mechansim implements the writing methods. You need to override this in a subclass that implements writable
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php#L105 i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php] on line 105
*Signature: abstract public function isWritable()
*Signature: abstract public function isWritable()
*Returns: [http://www.php.net/manual/en/language.types.boolean.php boolean ]
*Returns: [http://www.php.net/manual/en/language.types.boolean.php boolean ]
===listDisplayFields()===
===listDisplayFields()===
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php#L416 i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php] on line 416
*Signature: public function listDisplayFields($form,$fields,$parent,$where_data,$ordering,$limit,$mod_time)
*Signature: public function listDisplayFields($form,$fields,$parent,$where_data,$ordering,$limit,$mod_time)
*Parameters:
*Parameters:
Line 134: Line 149:
*Returns: [http://www.php.net/manual/en/language.pseudo-types.php mixed ]<br/>an array with key id's and value and array of values.  the array of values has as keys the fields with their corresponding value.
*Returns: [http://www.php.net/manual/en/language.pseudo-types.php mixed ]<br/>an array with key id's and value and array of values.  the array of values has as keys the fields with their corresponding value.
===listFields()===
===listFields()===
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php#L375 i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php] on line 375
*Signature: public function listFields($form,$fields,$parent,$where_data,$ordering,$limit,$mod_time)
*Signature: public function listFields($form,$fields,$parent,$where_data,$ordering,$limit,$mod_time)
*Parameters:
*Parameters:
Line 151: Line 167:
===lookupDisplayField()===
===lookupDisplayField()===
Looks up the description of the item based on the code. This is the default method that most implementations of lookup () use.  It finds the description of the object based on the code and saves it in the cache  and returns it.
Looks up the description of the item based on the code. This is the default method that most implementations of lookup () use.  It finds the description of the object based on the code and saves it in the cache  and returns it.
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php#L169 i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php] on line 169
*Signature: public function lookupDisplayField($form,$id,$fields,$delim)
*Signature: public function lookupDisplayField($form,$id,$fields,$delim)
*Parameters:
*Parameters:
Line 160: Line 177:
===lookupField()===
===lookupField()===
Looks up the description of the item based on the code. This is the default method that most implementations of lookup () use.  It finds the description of the object based on the code and saves it in the cache  and returns it.
Looks up the description of the item based on the code. This is the default method that most implementations of lookup () use.  It finds the description of the object based on the code and saves it in the cache  and returns it.
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php#L130 i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php] on line 130
*Signature: public function lookupField($form,$id,$fields,$delim)
*Signature: public function lookupField($form,$id,$fields,$delim)
*Parameters:
*Parameters:
Line 169: Line 187:
===populate()===
===populate()===
Populate the member variables of the object from the database.
Populate the member variables of the object from the database.
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php#L89 i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php] on line 89
*Signature: abstract public function populate($form)
*Signature: abstract public function populate($form)
*Parameters:
*Parameters:
Line 174: Line 193:
===populateHistory()===
===populateHistory()===
Populate the member variables of the object from the database.
Populate the member variables of the object from the database.
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php#L199 i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php] on line 199
*Signature: public function populateHistory($form)
*Signature: public function populateHistory($form)
*Parameters:
*Parameters:
Line 179: Line 199:
===save()===
===save()===
Save a form object into entry tables. If this functio is over-written, it should include the fuzzy method call foreach ($form as $field) { $field->save(true/false, $user) }
Save a form object into entry tables. If this functio is over-written, it should include the fuzzy method call foreach ($form as $field) { $field->save(true/false, $user) }
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php#L551 i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php] on line 551
*Signature: public function save($form,$user,$transact)
*Signature: public function save($form,$user,$transact)
*Parameters:
*Parameters:
Line 185: Line 206:
** [http://www.php.net/manual/en/language.types.boolean.php boolean ] $transact
** [http://www.php.net/manual/en/language.types.boolean.php boolean ] $transact
===search()===
===search()===
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php#L492 i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php] on line 492
*Signature: public function search($form,$parent,$where_data,$ordering,$limit)
*Signature: public function search($form,$parent,$where_data,$ordering,$limit)
*Parameters:
*Parameters:

Revision as of 08:50, 10 November 2009

This article describes the abstract class I2CE_FormStorage_Mechanism.

@filesource Class I2CE_Module_FormStorage_Mechanism

Constants

I2CE_FormStorage_Mechanism::CHANGE_INITIAL

Constant signifying an initial entry. Defined as: 1

I2CE_FormStorage_Mechanism::CHANGE_VERIFY

Constant signifying a verified entry. Defined as: 2

I2CE_FormStorage_Mechanism::CHANGE_CORRECTION

Constant signifying a corrected entry. Defined as: 3

I2CE_FormStorage_Mechanism::CHANGE_UPDATE

Constant signifying an updated entry. Defined as: 4

Variables

$name

The short name for this storage mechanism

$global_options

$ordering

Methods

FF_IG_setSequence()

Set FormField_INT_GENERATE sequence

FF_populateHistory()

populate FormField history. By default does nothing.

FF_save()

Save the FormField to the database.

__construct()

The constructor for the storage mechanism

compareFormsByFields()

Compares two forms to see which is greater based on the field ordering set in $this->ordering @param $form1 @param $form2

delete()

Deletes a form from the entry tables.

getFormsById()

Generates a SQL to select the required fields. @param callback $field_refernece_callback. A callback function whose first arguement is the form, the second arguements is the field and which returns the way the field value should be references as a field. If the callback is null (the default) then the reference used is "$form+$field"

  • Defined in i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php on line 222
  • Signature: public function getFormsById($form,$parent,$where_data,$ordering,$limit)
  • Parameters:
    • string $form
      The form we are select from
    • boolean $parent
      Defaults to false. If true, we include the parent id as a referenced field. If it is scalar and non-boolean, it is consider to be the ID of the parent, and then we get all forms with parent the given id.
    • mixed $where_data
      array or class implementing ArrayAccess, Iterator, and Countable (e.g. MagicDataNode) . the where data.
      • Default Value: array()
    • array $ordering
      An array of fields to order by. Defaults to the empty array. Prepend a - to order by in descending order.
      • Default Value: array()
    • mixed $limit
      Defaults to false. It true, returns only one result. If an integer it is the numeber of records to limit to. If it is as an array of two integers, it is the offset and then number of results to limit to.
      • Default Value: false
  • Returns: array
    with keys id's and values the I2CE_Form instance.

getIdsAsChild()

Gets the id's for the given child for this form.

getLimitedFields()

getRecords()

Return an array of all the record ids for a given form.

isWritable()

Checks to see if this storage mechansim implements the writing methods. You need to override this in a subclass that implements writable

listDisplayFields()

  • Defined in i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php on line 416
  • Signature: public function listDisplayFields($form,$fields,$parent,$where_data,$ordering,$limit,$mod_time)
  • Parameters:
    • string $form
      THe form name
    • array $fields
      of string. The fields we want returned
    • boolean $parent
      Defaults to false. If it is scalar and non-boolean, it is consider to be the ID of the parent, and then we get all forms with parent the given id. If true, we return the parent as one of the fields.
      • Default Value: false
    • array $where_data
      contains the where clause information about this form or a nested
      • Default Value: array()
    • array $ordering
      An array of fields to order by. Defaults to the empty array. Prepend a - to order by in descending order.
      • Default Value: array()
    • mixed $limit
      Defaults to false. It true, returns only one result. If an integer it is the numeber of records to limit to. If it is as an array of two integers, it is the offset and then number of results to limit to.
      • Default Value: false
    • integer $mod_time
      Defaults to -1. If non-negative, we only list the requested fields for an id if at least one of them has a modification time greater than or equal to $mod_time. If the form storage has no way of tracking modifucation time, all entries are listed.
      • Default Value: -1
  • Returns: mixed
    an array with key id's and value and array of values. the array of values has as keys the fields with their corresponding value.

listFields()

  • Defined in i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php on line 375
  • Signature: public function listFields($form,$fields,$parent,$where_data,$ordering,$limit,$mod_time)
  • Parameters:
    • string $form
      THe form name
    • array $fields
      of string. The fields we want returned
    • boolean $parent
      Defaults to false. If it is scalar and non-boolean, it is consider to be the ID of the parent, and then we get all forms with parent the given id. If true, we return the parent as one of the fields.
      • Default Value: false
    • array $where_data
      contains the where clause information about this form or a nested
      • Default Value: array()
    • array $ordering
      An array of fields to order by. Defaults to the empty array. Prepend a - to order by in descending order.
      • Default Value: array()
    • mixed $limit
      Defaults to false. It true, returns only one result. If an integer it is the numeber of records to limit to. If it is as an array of two integers, it is the offset and then number of results to limit to.
      • Default Value: false
    • integer $mod_time
      Defaults to -1. If non-negative, we only list the requested fields for an id if at least one of them has a modification time greater than or equal to $mod_time. If the form storage has no way of tracking modifucation time, all entries are listed.
      • Default Value: -1
  • Returns: mixed
    an array with key id's and value and array of values. the array of values has as keys the fields with their corresponding value.

lookupDisplayField()

Looks up the description of the item based on the code. This is the default method that most implementations of lookup () use. It finds the description of the object based on the code and saves it in the cache and returns it.

lookupField()

Looks up the description of the item based on the code. This is the default method that most implementations of lookup () use. It finds the description of the object based on the code and saves it in the cache and returns it.

populate()

Populate the member variables of the object from the database.

populateHistory()

Populate the member variables of the object from the database.

save()

Save a form object into entry tables. If this functio is over-written, it should include the fuzzy method call foreach ($form as $field) { $field->save(true/false, $user) }

search()

  • Defined in i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php on line 492
  • Signature: public function search($form,$parent,$where_data,$ordering,$limit)
  • Parameters:
    • string $form
      The form name.
    • boolean $parent
      Defaults to false. If it is scalar and non-boolean, it is consider to be the ID of the parent, and then we get all forms with parent the given id.
      • Default Value: false
    • mixed $where_data
      array or class implementing ArrayAccess, Iterator, and Countable (e.g. MagicDataNode) . the where data.
      • Default Value: array()
    • array $ordering
      An array of fields to order by. Defaults to the empty array. Prepend a - to order by in descending order.
      • Default Value: array()
    • mixed $limit
      Defaults to false. It true, returns only one result. If an integer it is the numeber of records to limit to. If it is as an array of two integers, it is the offset and then number of results to limit to.
      • Default Value: false
  • Returns: mixed
    an array of matching form ids. However, ff $limit_one is true or 1 or array ($offset,1) then then we return either the id or false, if none found or there was an error.

Inherited Methods

_hasMethod()

This public method is inherited from I2CE_Fuzzy->_hasMethod()

Inherited Fuzzy Methods

userMessage()

This method is inherited from I2CE_Fuzzy->userMessage()