Class: I2CE FormStorage Mechanism: Difference between revisions

From IHRIS Wiki
No edit summary
Line 1: Line 1:
This article describes the ''abstract'' class ''I2CE_FormStorage_Mechanism''.
#REDIRECT [[Class: I2CE_FormStorage_Mechanism (4.0.3)]]
*Extends the class: [[Class: I2CE_Fuzzy | I2CE_Fuzzy]].
*Child Classes:
** [[Class: I2CE_FormStorage_DB | I2CE_FormStorage_DB]]
*** [[Class: I2CE_FormStorage_entry | I2CE_FormStorage_entry]]
*** [[Class: I2CE_FormStorage_Flat | I2CE_FormStorage_Flat]]
*** [[Class: I2CE_FormStorage_magicdata | I2CE_FormStorage_magicdata]]
*** [[Class: I2CE_FormStorage_multi_flat | I2CE_FormStorage_multi_flat]]
** [[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]
*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>
*Since: v3.2.0
@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
*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
 
===$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
 
===$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
 
==Methods==
===FF_IG_setSequence()===
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)
*Parameters:
** [[Class: I2CE_FormField_INT_GENERATE | I2CE_FormField_INT_GENERATE]] $form_field
*Returns: [http://www.php.net/manual/en/language.types.boolean.php boolean ]
===FF_populateHistory()===
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)
*Parameters:
** [[Class: I2CE_FormField | I2CE_FormField]] $form_field
===FF_save()===
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)
*Parameters:
** [[Class: I2CE_FormField | I2CE_FormField]] $form_field
** [http://www.php.net/manual/en/language.types.boolean.php boolean ] $do_check <br/>A flag to determine if a check should be made for the same value being saved.
** [[Class: I2CE_User | I2CE_User]] $user <br/>The user saving this data.
*Returns: [http://www.php.net/manual/en/language.types.boolean.php boolean ]
===__construct()===
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)
*Parameters:
** [http://www.php.net/manual/en/language.types.string.php string ] $name
** [http://www.php.net/manual/en/language.types.array.php array ] $global_options <br/>Default to empty array. The array of options that are the same across all all forms which share a commone storage mechanisms
***Default Value: array()
===compareFormsByFields()===
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)
*Parameters:
**$form1
**$form2
*Returns: [http://www.php.net/manual/en/language.types.integer.php int ]
===delete()===
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)
*Parameters:
** [[Class: I2CE_Form | I2CE_Form]] $form
** [http://www.php.net/manual/en/language.types.boolean.php boolean ] $transact <br/>a flag to use transactions or not. default: true
** [http://www.php.net/manual/en/language.types.boolean.php boolean ] $complete <br/>a flag to determine if a complete delete should happen.  default: false
** [http://www.php.net/manual/en/language.types.boolean.php boolean ] $deleted_records <br/>a flag to determine if the record should not go to the deleted_records table. default: false
*Returns: [http://www.php.net/manual/en/language.types.boolean.php boolean ]
===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 [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)
*Parameters:
** [http://www.php.net/manual/en/language.types.string.php string ] $form <br/>The form we are select from
** [http://www.php.net/manual/en/language.types.boolean.php boolean ] $parent <br/>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.
** [http://www.php.net/manual/en/language.pseudo-types.php mixed ] $where_data <br/>array or class implementing ArrayAccess, Iterator, and Countable (e.g. MagicDataNode) . the where data.
***Default Value: array()
** [http://www.php.net/manual/en/language.types.array.php array ] $ordering <br/>An array of fields to order by.  Defaults to the empty array.  Prepend a - to order by in descending order.
***Default Value: array()
** [http://www.php.net/manual/en/language.pseudo-types.php mixed ] $limit <br/>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: [http://www.php.net/manual/en/language.types.array.php array ]<br/>with keys id's and values the I2CE_Form instance.
===getIdsAsChild()===
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)
*Parameters:
** [http://www.php.net/manual/en/language.types.string.php string ] $form_name
** [http://www.php.net/manual/en/language.pseudo-types.php mixed ] $parent_form_id <br/>the prent form id @param  array/string: an optional orderBy array of fields @param array  where @param integer: A limit of the number of children ids to return
**$order_by
**$where
**$limit
*Returns: [http://www.php.net/manual/en/language.types.array.php array ]
===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)
*Parameters:
**$expr
===getRecords()===
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)
*Parameters:
** [http://www.php.net/manual/en/language.types.string.php string ] $form
*Returns: [http://www.php.net/manual/en/language.types.array.php array ]
===isWritable()===
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()
*Returns: [http://www.php.net/manual/en/language.types.boolean.php boolean ]
===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)
*Parameters:
** [http://www.php.net/manual/en/language.types.string.php string ] $form <br/>THe form name
** [http://www.php.net/manual/en/language.types.array.php array ] $fields <br/>of string. The fields we want returned
** [http://www.php.net/manual/en/language.types.boolean.php boolean ] $parent <br/>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
** [http://www.php.net/manual/en/language.types.array.php array ] $where_data <br/>contains the  where clause information about this form or a nested
***Default Value: array()
** [http://www.php.net/manual/en/language.types.array.php array ] $ordering <br/>An array of fields to order by.  Defaults to the empty array.  Prepend a - to order by in descending order.
***Default Value: array()
** [http://www.php.net/manual/en/language.pseudo-types.php mixed ] $limit <br/>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 <br/>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: [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()===
*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)
*Parameters:
** [http://www.php.net/manual/en/language.types.string.php string ] $form <br/>THe form name
** [http://www.php.net/manual/en/language.types.array.php array ] $fields <br/>of string. The fields we want returned
** [http://www.php.net/manual/en/language.types.boolean.php boolean ] $parent <br/>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
** [http://www.php.net/manual/en/language.types.array.php array ] $where_data <br/>contains the  where clause information about this form or a nested
***Default Value: array()
** [http://www.php.net/manual/en/language.types.array.php array ] $ordering <br/>An array of fields to order by.  Defaults to the empty array.  Prepend a - to order by in descending order.
***Default Value: array()
** [http://www.php.net/manual/en/language.pseudo-types.php mixed ] $limit <br/>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 <br/>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: [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.
===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.
*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)
*Parameters:
** [http://www.php.net/manual/en/language.types.string.php string ] $form <br/>The name of the form in the database.
** integer $id <br/>The code of the entry to lookup.
** [http://www.php.net/manual/en/language.types.array.php array ] $fields <br/>A list of fields to look up and return.
** [http://www.php.net/manual/en/language.types.string.php string ] $delim <br/>The delimiter to put between returned fields if there are more than one.  If false, returns the values as an array.
*Returns: [http://www.php.net/manual/en/language.types.string.php string ]<br/>false on failure
===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.
*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)
*Parameters:
** [http://www.php.net/manual/en/language.types.string.php string ] $form <br/>The name of the form in the database.
** integer $id <br/>The code of the entry to lookup.
** [http://www.php.net/manual/en/language.types.array.php array ] $fields <br/>A list of fields to look up and return.
** [http://www.php.net/manual/en/language.types.string.php string ] $delim <br/>The delimiter to put between returned fields if there are more than one.  If false, returns the values as an array.
*Returns: [http://www.php.net/manual/en/language.types.string.php string ]<br/>false on failure
===populate()===
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)
*Parameters:
** [[Class: I2CE_Form | I2CE_Form]] $form
===populateHistory()===
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)
*Parameters:
** [[Class: I2CE_Form | I2CE_Form]] $form
===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) }
*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)
*Parameters:
** [[Class: I2CE_Form | I2CE_Form]] $form
** [[Class: I2CE_User | I2CE_User]] $user
** [http://www.php.net/manual/en/language.types.boolean.php boolean ] $transact
===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)
*Parameters:
** [http://www.php.net/manual/en/language.types.string.php string ] $form <br/>The form name.
** [http://www.php.net/manual/en/language.types.boolean.php boolean ] $parent <br/>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
** [http://www.php.net/manual/en/language.pseudo-types.php mixed ] $where_data <br/>array or class implementing ArrayAccess, Iterator, and Countable (e.g. MagicDataNode) . the where data.
***Default Value: array()
** [http://www.php.net/manual/en/language.types.array.php array ] $ordering <br/>An array of fields to order by.  Defaults to the empty array.  Prepend a - to order by in descending order.
***Default Value: array()
** [http://www.php.net/manual/en/language.pseudo-types.php mixed ] $limit <br/>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: [http://www.php.net/manual/en/language.pseudo-types.php mixed ]<br/>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 [[Class: I2CE_Fuzzy#_hasMethod() | I2CE_Fuzzy->_hasMethod()]]
==Inherited Fuzzy Methods==
===userMessage()===
This method is inherited from [[Class: I2CE_Fuzzy#userMessage() | I2CE_Fuzzy->userMessage()]]
 
 
[[Category:Class Documentation]]

Revision as of 15:16, 10 March 2010