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

From IHRIS Wiki
(Created page with '{{otherversions|Class: I2CE_FormStorage_DB}} This article describes the ''abstract'' class ''I2CE_FormStorage_DB'' . *Extends the class: [[Class: I2CE_FormStorage_Mechanism (Deve…')
 
No edit summary
 
(One intermediate revision by one other user not shown)
Line 7: Line 7:
** [[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]]
*Location: Part of the module [[I2CE Module List (Development)#forms-storage|forms-storage]] in the package [https://launchpad.net/i2ce I2CE] 4.0-dev
*Location: Part of the module [[I2CE Module List (Development)#forms-storage|forms-storage]] in the package [https://launchpad.net/i2ce I2CE] 4.1-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_DB.php#L33 modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_DB.php] on line 33
*Source: Defined in the file [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.1-dev/annotate/head:/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_DB.php#L33 modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_DB.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 15: Line 15:
===$db===
===$db===
The database object
The database object
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0-dev/annotate/head:/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_DB.php#L40 i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_DB.php] on line 40
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.1-dev/annotate/head:/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_DB.php#L40 i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_DB.php] on line 40
*Type: protected MDB2 $db
*Type: protected MDB2 $db


Line 21: Line 21:
===FF_populateHistory()===
===FF_populateHistory()===
Populate the history of entries for the form field if the storage module handles history.
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_DB.php#L225 i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_DB.php] on line 225
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.1-dev/annotate/head:/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_DB.php#L258 i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_DB.php] on line 258
*Signature: public function FF_populateHistory($form_field)
*Signature: public function FF_populateHistory($form_field)
*Parameters:
*Parameters:
Line 28: Line 28:
===__construct()===
===__construct()===
Construct this module class
Construct this module class
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0-dev/annotate/head:/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_DB.php#L49 i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_DB.php] on line 49
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.1-dev/annotate/head:/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_DB.php#L49 i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_DB.php] on line 49
*Signature: public function __construct($name,$options)
*Signature: public function __construct($name,$options)
*Parameters:
*Parameters:
Line 35: Line 35:
===getFields()===
===getFields()===
Generates a SQL to select the required fields. @param mixed $expr array or class implementing ArrayAccess, Iterator, and Countable (e.g. MagicDataNode) . the where data. @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 mixed $expr array or class implementing ArrayAccess, Iterator, and Countable (e.g. MagicDataNode) . the where data. @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_DB.php#L295 i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_DB.php] on line 295
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.1-dev/annotate/head:/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_DB.php#L330 i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_DB.php] on line 330
*Signature: public function getFields($form,$fields,$parent,$where_data,$ordering,$limit,$field_reference_callback,$mod_time)
*Signature: public function getFields($form,$fields,$parent,$where_data,$ordering,$limit,$field_reference_callback,$mod_time,$user)
*Parameters:
*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.string.php string ] $form <br/>The form we are select from
** [http://www.php.net/manual/en/language.types.array.php array ] $fields <br/>of string.  the fields that we want to select.  the keys are the fields names, the values are what we wish to select them as.
** [http://www.php.net/manual/en/language.types.array.php array ] $fields <br/>of string.  the fields that we want to select.  the keys are the fields names, the values are what we wish to select them as. 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"
***Default Value: array()
***Default Value: array()
** [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.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.
Line 52: Line 52:
** 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 $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 $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.types.string.php string ]<br/>the SQL Query needed to get the form/field data or false on failure.
*Returns: [http://www.php.net/manual/en/language.types.string.php string ]<br/>the SQL Query needed to get the form/field data or false on failure.
===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_DB.php#L394 i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_DB.php] on line 394
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.1-dev/annotate/head:/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_DB.php#L429 i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_DB.php] on line 429
*Signature: public function getIdsAsChild($form,$parent_form_id,$order_by,$where,$limit)
*Signature: public function getIdsAsChild($form,$parent_form_id,$order_by,$where,$limit)
*Parameters:
*Parameters:
Line 66: Line 68:
===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_DB.php#L253 i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_DB.php] on line 253
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.1-dev/annotate/head:/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_DB.php#L286 i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_DB.php] on line 286
*Signature: public function getRecords($form)
*Signature: public function getRecords($form)
*Parameters:
*Parameters:
Line 73: Line 75:
===getRequiredFieldsQuery()===
===getRequiredFieldsQuery()===
Construct a query (to be used as a sub-select) to view the fields of the given form.  It always will return the id of the form as well @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"
Construct a query (to be used as a sub-select) to view the fields of the given form.  It always will return the id of the form as well @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_DB.php#L71 i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_DB.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_DB.php#L72 i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_DB.php] on line 72
*Signature: abstract public function getRequiredFieldsQuery($form,$fields,$id,$parent,$field_reference_callback,$mod_time)
*Signature: abstract public function getRequiredFieldsQuery($form,$fields,$id,$parent,$field_reference_callback,$mod_time,$user)
*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
** [http://www.php.net/manual/en/language.pseudo-types.php mixed ] $fields <br/>Either a string, the field, or an array of string, the fields.
** [http://www.php.net/manual/en/language.pseudo-types.php mixed ] $fields <br/>Either a string, the field, or an array of string, the fields. Can also include the special field "last_modified" to get the last modification time on any of the fields
** [http://www.php.net/manual/en/language.pseudo-types.php mixed ] $id <br/>Defaults to null.  If non-null it is the id that we wish to limit to.
** [http://www.php.net/manual/en/language.pseudo-types.php mixed ] $id <br/>Defaults to null.  If non-null it is the id that we wish to limit to.
***Default Value: null
***Default Value: null
Line 86: Line 88:
** 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.types.string.php string ]<br/>the query or false on failed.
*Returns: [http://www.php.net/manual/en/language.types.string.php string ]<br/>the query or false on failed.
===globalFieldUpdateBySQL()===
update value of each  instanceo  of a given form field by a pho function call @param {I2CE_FormField} $form_field
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.1-dev/annotate/head:/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_DB.php#L88 i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_DB.php] on line 88
*Signature: public function globalFieldUpdateBySQL($form_field,$where,$set_sql)
*Parameters:
**$form_field
** [http://www.php.net/manual/en/language.types.array.php array ] $where <br/>Array of where data
** [http://www.php.net/manual/en/language.types.string.php string ] $set_sql <br/>sql used to update the field
===hasGlobalFieldUpdateBySql()===
Check to see if there is a quick field update implemented
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.1-dev/annotate/head:/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_DB.php#L78 i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_DB.php] on line 78
*Signature: public function hasGlobalFieldUpdateBySql()
*Returns: true<br/>if there is a method to quickly update all instances of a given field via SQL
===listDisplayFields()===
===listDisplayFields()===
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0-dev/annotate/head:/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_DB.php#L533 i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_DB.php] on line 533
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.1-dev/annotate/head:/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_DB.php#L585 i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_DB.php] on line 585
*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
** [http://www.php.net/manual/en/language.types.string.php string ] $form
** [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.array.php array ] $fields <br/>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"
** [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.
** [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  
***Default Value: false  
Line 103: Line 120:
** 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_DB.php#L474 i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_DB.php] on line 474
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.1-dev/annotate/head:/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_DB.php#L523 i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_DB.php] on line 523
*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:
** [http://www.php.net/manual/en/language.types.string.php string ] $form
** [http://www.php.net/manual/en/language.types.string.php string ] $form
** [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.array.php array ] $fields <br/>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"
** [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.
** [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  
***Default Value: false  
Line 123: Line 142:
===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_DB.php#L174 i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_DB.php] on line 174
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.1-dev/annotate/head:/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_DB.php#L203 i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_DB.php] on line 203
*Signature: public function lookupDisplayField($form,$id,$fields,$delim)
*Signature: public function lookupDisplayField($form,$id,$fields,$delim)
*Parameters:
*Parameters:
Line 133: Line 152:
===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_DB.php#L129 i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_DB.php] on line 129
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.1-dev/annotate/head:/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_DB.php#L158 i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_DB.php] on line 158
*Signature: public function lookupField($form,$id,$fields,$delim)
*Signature: public function lookupField($form,$id,$fields,$delim)
*Parameters:
*Parameters:
Line 143: Line 162:
===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_DB.php#L80 i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_DB.php] on line 80
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.1-dev/annotate/head:/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_DB.php#L99 i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_DB.php] on line 99
*Signature: public function populate($form)
*Signature: public function populate($form)
*Parameters:
*Parameters:
Line 149: Line 168:
===queryLastListCount()===
===queryLastListCount()===
Query the last list count and set it in FormStorage
Query the last list count and set it in FormStorage
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0-dev/annotate/head:/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_DB.php#L593 i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_DB.php] on line 593
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.1-dev/annotate/head:/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_DB.php#L645 i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_DB.php] on line 645
*Signature: protected function queryLastListCount($form)
*Signature: protected function queryLastListCount($form)
*Parameters:
*Parameters:
** [http://www.php.net/manual/en/language.types.string.php string ] $form <br/>The form name to set.
** [http://www.php.net/manual/en/language.types.string.php string ] $form <br/>The form name to set.
===search()===
===search()===
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0-dev/annotate/head:/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_DB.php#L421 i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_DB.php] on line 421
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.1-dev/annotate/head:/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_DB.php#L460 i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_DB.php] on line 460
*Signature: public function search($form,$parent,$where_data,$ordering,$limit)
*Signature: public function search($form,$parent,$where_data,$ordering,$limit)
*Parameters:
*Parameters:
Line 173: Line 192:
===FF_save()===
===FF_save()===
This public method is inherited from [[Class: I2CE_FormStorage_Mechanism (Development)#FF_save() | I2CE_FormStorage_Mechanism->FF_save()]]
This public method is inherited from [[Class: I2CE_FormStorage_Mechanism (Development)#FF_save() | I2CE_FormStorage_Mechanism->FF_save()]]
===changeID()===
This public method is inherited from [[Class: I2CE_FormStorage_Mechanism (Development)#changeID() | I2CE_FormStorage_Mechanism->changeID()]]


===delete()===
===delete()===
Line 179: Line 201:
===getFormsById()===
===getFormsById()===
This public method is inherited from [[Class: I2CE_FormStorage_Mechanism (Development)#getFormsById() | I2CE_FormStorage_Mechanism->getFormsById()]]
This public method is inherited from [[Class: I2CE_FormStorage_Mechanism (Development)#getFormsById() | I2CE_FormStorage_Mechanism->getFormsById()]]
===globalFieldUpdateByFunction()===
This public method is inherited from [[Class: I2CE_FormStorage_Mechanism (Development)#globalFieldUpdateByFunction() | I2CE_FormStorage_Mechanism->globalFieldUpdateByFunction()]]
===hasRecord()===
This public method is inherited from [[Class: I2CE_FormStorage_Mechanism (Development)#hasRecord() | I2CE_FormStorage_Mechanism->hasRecord()]]


===isWritable()===
===isWritable()===
Line 185: Line 213:
===populateHistory()===
===populateHistory()===
This public method is inherited from [[Class: I2CE_FormStorage_Mechanism (Development)#populateHistory() | I2CE_FormStorage_Mechanism->populateHistory()]]
This public method is inherited from [[Class: I2CE_FormStorage_Mechanism (Development)#populateHistory() | I2CE_FormStorage_Mechanism->populateHistory()]]
===release()===
This public method is inherited from [[Class: I2CE_FormStorage_Mechanism (Development)#release() | I2CE_FormStorage_Mechanism->release()]]


===save()===
===save()===

Latest revision as of 08:14, 6 May 2015


This article describes the abstract class I2CE_FormStorage_DB .

@filesource Class I2CE_Module_FormStorage_DB

Variables

$db

The database object

Methods

FF_populateHistory()

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

__construct()

Construct this module class

getFields()

Generates a SQL to select the required fields. @param mixed $expr array or class implementing ArrayAccess, Iterator, and Countable (e.g. MagicDataNode) . the where data. @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_DB.php on line 330
  • Signature: public function getFields($form,$fields,$parent,$where_data,$ordering,$limit,$field_reference_callback,$mod_time,$user)
  • Parameters:
    • string $form
      The form we are select from
    • array $fields
      of string. the fields that we want to select. the keys are the fields names, the values are what we wish to select them as. 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"
      • Default Value: array()
    • 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.
    • $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
    • $field_reference_callback
      • Default Value: null
    • 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 $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: string
    the SQL Query needed to get the form/field data or false on failure.

getIdsAsChild()

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

  • Defined in i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_DB.php on line 429
  • Signature: public function getIdsAsChild($form,$parent_form_id,$order_by,$where,$limit)
  • Parameters:
    • string $form
    • mixed $parent_form_id
      the prent form and 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: array

getRecords()

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

getRequiredFieldsQuery()

Construct a query (to be used as a sub-select) to view the fields of the given form. It always will return the id of the form as well @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_DB.php on line 72
  • Signature: abstract public function getRequiredFieldsQuery($form,$fields,$id,$parent,$field_reference_callback,$mod_time,$user)
  • Parameters:
    • string $form
    • mixed $fields
      Either a string, the field, or an array of string, the fields. Can also include the special field "last_modified" to get the last modification time on any of the fields
    • mixed $id
      Defaults to null. If non-null it is the id that we wish to limit to.
      • Default Value: null
    • 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.
      • Default Value: false
    • $field_reference_callback
      • Default Value: null
    • 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: string
    the query or false on failed.

globalFieldUpdateBySQL()

update value of each instanceo of a given form field by a pho function call @param {I2CE_FormField} $form_field

hasGlobalFieldUpdateBySql()

Check to see if there is a quick field update implemented

listDisplayFields()

  • Defined in i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_DB.php on line 585
  • Signature: public function listDisplayFields($form,$fields,$parent,$where_data,$ordering,$limit,$mod_time,$user)
  • Parameters:
    • string $form
    • 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_DB.php on line 523
  • Signature: public function listFields($form,$fields,$parent,$where_data,$ordering,$limit,$mod_time)
  • Parameters:
    • string $form
    • 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.

  • Defined in i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_DB.php on line 203
  • Signature: public function lookupDisplayField($form,$id,$fields,$delim)
  • Parameters:
    • string $form
      The name of the form in the database.
    • integer $id
      The code of the entry to lookup.
    • array $fields
      A list of fields to look up and return.
    • string $delim
      The delimiter to put between returned fields if there are more than one. If false, it returns it as an array.
  • Returns: string
    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 i2ce/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_DB.php on line 158
  • Signature: public function lookupField($form,$id,$fields,$delim)
  • Parameters:
    • string $form
      The name of the form in the database.
    • integer $id
      The code of the entry to lookup.
    • array $fields
      A list of fields to look up and return.
    • string $delim
      The delimiter to put between returned fields if there are more than one. If false, it returns it as an array.
  • Returns: string
    false on failure

populate()

Populate the member variables of the object from the database.

queryLastListCount()

Query the last list count and set it in FormStorage

search()

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

FF_IG_setSequence()

This public method is inherited from I2CE_FormStorage_Mechanism->FF_IG_setSequence()

FF_save()

This public method is inherited from I2CE_FormStorage_Mechanism->FF_save()

changeID()

This public method is inherited from I2CE_FormStorage_Mechanism->changeID()

delete()

This public method is inherited from I2CE_FormStorage_Mechanism->delete()

getFormsById()

This public method is inherited from I2CE_FormStorage_Mechanism->getFormsById()

globalFieldUpdateByFunction()

This public method is inherited from I2CE_FormStorage_Mechanism->globalFieldUpdateByFunction()

hasRecord()

This public method is inherited from I2CE_FormStorage_Mechanism->hasRecord()

isWritable()

This public method is inherited from I2CE_FormStorage_Mechanism->isWritable()

populateHistory()

This public method is inherited from I2CE_FormStorage_Mechanism->populateHistory()

release()

This public method is inherited from I2CE_FormStorage_Mechanism->release()

save()

This public method is inherited from I2CE_FormStorage_Mechanism->save()

setStorageOptions()

This public method is inherited from I2CE_FormStorage_Mechanism->setStorageOptions()

compareFormsByFields()

This protected method is inherited from I2CE_FormStorage_Mechanism->compareFormsByFields()

getLimitedFields()

This protected method is inherited from I2CE_FormStorage_Mechanism->getLimitedFields()

getStorageOptions()

This protected method is inherited from I2CE_FormStorage_Mechanism->getStorageOptions()

_hasMethod()

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

Inherited Variables

$name

Theis protected variable is inherited from I2CE_FormStorage_Mechanism->$name

$global_options

Theis protected variable is inherited from I2CE_FormStorage_Mechanism->$global_options

$storage_options_cache

Theis protected variable is inherited from I2CE_FormStorage_Mechanism->$storage_options_cache

$ordering

Theis protected variable is inherited from I2CE_FormStorage_Mechanism->$ordering

Inherited Fuzzy Methods

userMessage()

This method is inherited from I2CE_Fuzzy->userMessage()