Class: I2CE FormStorage Mechanism (Development): Difference between revisions

From IHRIS Wiki
No edit summary
No edit summary
 
Line 3: Line 3:
*Extends the class: [[Class: I2CE_Fuzzy (Development) | I2CE_Fuzzy]].
*Extends the class: [[Class: I2CE_Fuzzy (Development) | I2CE_Fuzzy]].
*Child Classes:
*Child Classes:
** [[Class: I2CE_FormStorage_userform (Development) | I2CE_FormStorage_userform]]
** [[Class: I2CE_FormStorage_DB (Development) | I2CE_FormStorage_DB]]
** [[Class: I2CE_FormStorage_DB (Development) | I2CE_FormStorage_DB]]
*** [[Class: I2CE_FormStorage_entry (Development) | I2CE_FormStorage_entry]]
*** [[Class: I2CE_FormStorage_entry (Development) | I2CE_FormStorage_entry]]
Line 8: Line 9:
*** [[Class: I2CE_FormStorage_magicdata (Development) | I2CE_FormStorage_magicdata]]
*** [[Class: I2CE_FormStorage_magicdata (Development) | I2CE_FormStorage_magicdata]]
*** [[Class: I2CE_FormStorage_multi_flat (Development) | I2CE_FormStorage_multi_flat]]
*** [[Class: I2CE_FormStorage_multi_flat (Development) | I2CE_FormStorage_multi_flat]]
** [[Class: I2CE_FormStorage_CSV (Development) | I2CE_FormStorage_CSV]]
** [[Class: I2CE_FormStorage_LDAP (Development) | I2CE_FormStorage_LDAP]]
** [[Class: I2CE_FormStorage_eval (Development) | I2CE_FormStorage_eval]]
** [[Class: I2CE_FormStorage_eval (Development) | I2CE_FormStorage_eval]]
** [[Class: I2CE_FormStorage_File_Base (Development) | I2CE_FormStorage_File_Base]]
*** [[Class: I2CE_FormStorage_CSV (Development) | I2CE_FormStorage_CSV]]
*** [[Class: I2CE_FormStorage_XML_BASE (Development) | I2CE_FormStorage_XML_BASE]]
**** [[Class: I2CE_FormStorage_SDMXHD (Development) | I2CE_FormStorage_SDMXHD]]
**** [[Class: I2CE_FormStorage_SDMX_CrossSectional (Development) | I2CE_FormStorage_SDMX_CrossSectional]]
**** [[Class: I2CE_FormStorage_XML (Development) | I2CE_FormStorage_XML]]
** [[Class: I2CE_FormStorage_magicdata (Development) | I2CE_FormStorage_magicdata]]
** [[Class: I2CE_FormStorage_magicdata (Development) | I2CE_FormStorage_magicdata]]
** [[Class: I2CE_FormStorage_XML_BASE (Development) | I2CE_FormStorage_XML_BASE]]
*Location: Part of the module [[I2CE Module List (Development)#forms-storage|forms-storage]] in the package [https://launchpad.net/i2ce I2CE] 4.1-dev
*** [[Class: I2CE_FormStorage_SDMXHD (Development) | I2CE_FormStorage_SDMXHD]]
*Source: Defined in the file [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.1-dev/annotate/head:/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php#L33 modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php] on line 33
*** [[Class: I2CE_FormStorage_SDMX_CrossSectional (Development) | I2CE_FormStorage_SDMX_CrossSectional]]
*** [[Class: I2CE_FormStorage_XML (Development) | I2CE_FormStorage_XML]]
*Location: Part of the module [[I2CE Module List (Development)#forms-storage|forms-storage]] in the package [https://launchpad.net/i2ce I2CE] 4.0-dev
*Source: Defined in the file [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0-dev/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 36: Line 39:
===$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-dev/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
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.1-dev/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-dev/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
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.1-dev/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


===$storage_options_cache===
===$storage_options_cache===
of I2CE_MagicDataNodes.  The keys are the names of forms which have flat storage.
of I2CE_MagicDataNodes.  The keys are the names of forms which have flat storage.
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0-dev/annotate/head:/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php#L114 i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php] on line 114
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.1-dev/annotate/head:/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php#L149 i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php] on line 149
*Type: protected [http://www.php.net/manual/en/language.types.array.php array ] $storage_options_cache
*Type: protected [http://www.php.net/manual/en/language.types.array.php array ] $storage_options_cache


===$ordering===
===$ordering===
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0-dev/annotate/head:/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php#L350 i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php] on line 350
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.1-dev/annotate/head:/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php#L407 i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php] on line 407
*Type: protected $ordering
*Type: protected $ordering


Line 55: Line 58:
===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-dev/annotate/head:/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php#L656 i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php] on line 656
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.1-dev/annotate/head:/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php#L756 i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php] on line 756
*Signature: public function FF_IG_setSequence($form_field)
*Signature: public function FF_IG_setSequence($form_field)
*Parameters:
*Parameters:
Line 61: Line 64:
*Returns: [http://www.php.net/manual/en/language.types.boolean.php boolean ]
*Returns: [http://www.php.net/manual/en/language.types.boolean.php boolean ]
===FF_populateHistory()===
===FF_populateHistory()===
populate FormField history.  By default does nothing.
Populate the history of entries for the form field if the storage module handles history.
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0-dev/annotate/head:/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php#L666 i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php] on line 666
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.1-dev/annotate/head:/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php#L768 i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php] on line 768
*Signature: public function FF_populateHistory($form_field)
*Signature: public function FF_populateHistory($form_field)
*Parameters:
*Parameters:
** [[Class: I2CE_FormField (Development) | I2CE_FormField]] $form_field
** [[Class: I2CE_FormField (Development) | I2CE_FormField]] $form_field
*Returns: [http://www.php.net/manual/en/language.types.boolean.php boolean ]
===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-dev/annotate/head:/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php#L646 i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php] on line 646
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.1-dev/annotate/head:/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php#L746 i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php] on line 746
*Signature: public function FF_save($form_field,$do_check,$user)
*Signature: public function FF_save($form_field,$do_check,$user)
*Parameters:
*Parameters:
Line 77: Line 81:
===__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-dev/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
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.1-dev/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 83: Line 87:
** [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
** [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()
***Default Value: array()
===changeID()===
Change the id of the given form
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.1-dev/annotate/head:/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php#L684 i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php] on line 684
*Signature: public function changeID($form,$oldid,$newid)
*Parameters:
** [http://www.php.net/manual/en/language.types.string.php string ] $form
** [http://www.php.net/manual/en/language.pseudo-types.php mixed ] $oldid
** [http://www.php.net/manual/en/language.pseudo-types.php mixed ] $newid
*Returns: boolean.<br/>true on success
===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-dev/annotate/head:/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php#L357 i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php] on line 357
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.1-dev/annotate/head:/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php#L414 i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php] on line 414
*Signature: protected function compareFormsByFields($form1,$form2)
*Signature: protected function compareFormsByFields($form1,$form2)
*Parameters:
*Parameters:
Line 93: Line 106:
===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-dev/annotate/head:/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php#L681 i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php] on line 681
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.1-dev/annotate/head:/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php#L793 i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php] on line 793
*Signature: public function delete($form,$transact,$complete,$deleted_records)
*Signature: public function delete($form,$transact)
*Parameters:
*Parameters:
** [[Class: I2CE_Form (Development) | I2CE_Form]] $form
** [[Class: I2CE_Form (Development) | 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 ] $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 ]
*Returns: [http://www.php.net/manual/en/language.types.boolean.php boolean ]
===getFormsById()===
===getFormsById()===
Gets 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"
Gets 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-dev/annotate/head:/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php#L289 i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php] on line 289
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.1-dev/annotate/head:/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php#L346 i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php] on line 346
*Signature: public function getFormsById($form,$parent,$where_data,$ordering,$limit)
*Signature: public function getFormsById($form,$parent,$where_data,$ordering,$limit)
*Parameters:
*Parameters:
Line 117: Line 128:
===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-dev/annotate/head:/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php#L414 i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php] on line 414
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.1-dev/annotate/head:/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php#L471 i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php] on line 471
*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 127: Line 138:
*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-dev/annotate/head:/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php#L526 i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php] on line 526
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.1-dev/annotate/head:/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php#L589 i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php] on line 589
*Signature: protected function getLimitedFields($expr)
*Signature: protected function getLimitedFields($expr)
*Parameters:
*Parameters:
Line 133: Line 144:
===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-dev/annotate/head:/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php#L165 i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php] on line 165
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.1-dev/annotate/head:/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php#L211 i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php] on line 211
*Signature: abstract public function getRecords($form)
*Signature: abstract public function getRecords($form)
*Parameters:
*Parameters:
Line 140: Line 151:
===getStorageOptions()===
===getStorageOptions()===
Gets the storage options for the given form.
Gets the storage options for the given form.
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0-dev/annotate/head:/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php#L83 i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php] on line 83
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.1-dev/annotate/head:/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php#L118 i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php] on line 118
*Signature: protected function getStorageOptions($form)
*Signature: protected function getStorageOptions($form)
*Parameters:
*Parameters:
** [http://www.php.net/manual/en/language.types.string.php string ] $form
** [http://www.php.net/manual/en/language.types.string.php string ] $form
*Returns: [http://www.php.net/manual/en/language.pseudo-types.php mixed ]<br/>I2CE_MagicDataNode of flat storage options on success, false on failure.
*Returns: [http://www.php.net/manual/en/language.pseudo-types.php mixed ]<br/>I2CE_MagicDataNode of flat storage options on success, false on failure.
===globalFieldUpdateByFunction()===
update value of each  instanceo  of a given form field by a pho function call
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.1-dev/annotate/head:/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php#L83 i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php] on line 83
*Signature: public function globalFieldUpdateByFunction($form_field,$where,$set_func)
*Parameters:
** [[Class: I2CE_FormField (Development) | I2CE_FormField]] $form_field
** [http://www.php.net/manual/en/language.types.array.php array ] $where <br/>Array of where data
** callable $set_func
===hasRecord()===
Checks if the given record exists.
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.1-dev/annotate/head:/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php#L235 i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php] on line 235
*Signature: public function hasRecord($form_name,$form_id)
*Parameters:
** [http://www.php.net/manual/en/language.types.string.php string ] $form_name
** [http://www.php.net/manual/en/language.types.string.php string ] $form_id
*Returns: [http://www.php.net/manual/en/language.types.array.php array ]
===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-dev/annotate/head:/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php#L172 i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php] on line 172
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.1-dev/annotate/head:/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php#L218 i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php] on line 218
*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-dev/annotate/head:/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php#L486 i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php] on line 486
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.1-dev/annotate/head:/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php#L549 i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php] on line 549
*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,$user)
*Parameters:
*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.string.php string ] $form <br/>THe form name
Line 166: Line 193:
** 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.
** 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
***Default Value: -1
** [http://www.php.net/manual/en/language.pseudo-types.php mixed ] $user <br/>The user id of the user to limit the results to so it only returns results limited to that user.  This can be a single value or an array
***Default Value: false
*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-dev/annotate/head:/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php#L442 i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php] on line 442
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.1-dev/annotate/head:/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php#L499 i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php] on line 499
*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 186: Line 215:
===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-dev/annotate/head:/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php#L236 i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php] on line 236
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.1-dev/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: public function lookupDisplayField($form,$id,$fields,$delim)
*Signature: public function lookupDisplayField($form,$id,$fields,$delim)
*Parameters:
*Parameters:
Line 196: Line 225:
===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-dev/annotate/head:/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php#L197 i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php] on line 197
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.1-dev/annotate/head:/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php#L251 i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php] on line 251
*Signature: public function lookupField($form,$id,$fields,$delim)
*Signature: public function lookupField($form,$id,$fields,$delim)
*Parameters:
*Parameters:
Line 206: Line 235:
===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-dev/annotate/head:/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php#L156 i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php] on line 156
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.1-dev/annotate/head:/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php#L202 i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php] on line 202
*Signature: abstract public function populate($form)
*Signature: abstract public function populate($form)
*Parameters:
*Parameters:
Line 212: Line 241:
===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-dev/annotate/head:/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php#L266 i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php] on line 266
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.1-dev/annotate/head:/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php#L320 i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php] on line 320
*Signature: public function populateHistory($form)
*Signature: public function populateHistory($form)
*Parameters:
*Parameters:
** [[Class: I2CE_Form (Development) | I2CE_Form]] $form
** [[Class: I2CE_Form (Development) | I2CE_Form]] $form
===release()===
Release any resourced held by this form storage mechanism for the indicated form
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.1-dev/annotate/head:/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php#L182 i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php] on line 182
*Signature: public function release($form)
*Parameters:
** [http://www.php.net/manual/en/language.types.string.php string ] $form
===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-dev/annotate/head:/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php#L624 i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php] on line 624
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.1-dev/annotate/head:/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php#L724 i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php] on line 724
*Signature: public function save($form,$user,$transact)
*Signature: public function save($form,$user,$transact)
*Parameters:
*Parameters:
Line 225: Line 260:
** [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-dev/annotate/head:/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php#L565 i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php] on line 565
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.1-dev/annotate/head:/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php#L628 i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php] on line 628
*Signature: public function search($form,$parent,$where_data,$ordering,$limit)
*Signature: public function search($form,$parent,$where_data,$ordering,$limit)
*Parameters:
*Parameters:
Line 240: Line 275:
===setStorageOptions()===
===setStorageOptions()===
Public set the more storage options for a given form
Public set the more storage options for a given form
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0-dev/annotate/head:/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php#L122 i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php] on line 122
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.1-dev/annotate/head:/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php#L157 i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php] on line 157
*Signature: public function setStorageOptions($form,$storageOptions)
*Signature: public function setStorageOptions($form,$storageOptions)
*Parameters:
*Parameters:

Latest revision as of 09:14, 6 May 2015


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

$storage_options_cache

of I2CE_MagicDataNodes. The keys are the names of forms which have flat storage.

$ordering

Methods

FF_IG_setSequence()

Set FormField_INT_GENERATE sequence

FF_populateHistory()

Populate the history of entries for the form field if the storage module handles history.

FF_save()

Save the FormField to the database.

__construct()

The constructor for the storage mechanism

changeID()

Change the id of the given form

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()

Gets 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 346
  • 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.

getStorageOptions()

Gets the storage options for the given form.

globalFieldUpdateByFunction()

update value of each instanceo of a given form field by a pho function call

hasRecord()

Checks if the given record exists.

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 549
  • Signature: public function listDisplayFields($form,$fields,$parent,$where_data,$ordering,$limit,$mod_time,$user)
  • Parameters:
    • string $form
      THe form name
    • array $fields
      of string. The fields we want returned Can include the special field 'last_modified' to get the last modification time for any of the fields of that form which is returned in the format "Y-m-d H:i:s"
    • 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
    • mixed $user
      The user id of the user to limit the results to so it only returns results limited to that user. This can be a single value or an array
      • Default Value: false
  • 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 499
  • 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. Can include the special field 'last_modified' to get the last modification time for any of the fields of that form which is returned in the format "Y-m-d H:i:s"
    • 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.

release()

Release any resourced held by this form storage mechanism for the indicated 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) }

search()

  • Defined in i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php on line 628
  • 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.

setStorageOptions()

Public set the more storage options for a given form

Inherited Methods

_hasMethod()

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

Inherited Fuzzy Methods

userMessage()

This method is inherited from I2CE_Fuzzy->userMessage()