Class: I2CE FormStorage DB: Difference between revisions

From IHRIS Wiki
No edit summary
 
(17 intermediate revisions by the same user not shown)
Line 1: Line 1:
This article desrcibes the1 class ''I2CE_FormStorage_DB''.
#REDIRECT [[Class: I2CE_FormStorage_DB (4.1.7)]]
*Extends the class: [[Class: I2CE_FormStorage_Mechanism | I2CE_FormStorage_Mechanism]].
*Parent Classses:  [[Class: I2CE_FormStorage_Mechanism | I2CE_FormStorage_Mechanism]] [[Class: I2CE_Fuzzy | I2CE_Fuzzy]]
*Child Classes:
** [[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]]
*Location: Part of the module [[iHRIS 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.0-release/annotate/head:/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_DB.php modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_DB.php]
*Author: Carl Leitner <litlfred@ibiblio.org>
*Since: v3.2.0
@filesource Class I2CE_Module_FormStorage_DB
==Variables==
===$db===
The database object
*Type: protected MDB2 $db
 
==Methods==
===FF_populateHistory()===
Populate the history of entries for the form field if the storage module handles history.
*Signature: public function FF_populateHistory($form_field)
*Parameters:
** [[Class: I2CE_FormField | I2CE_FormField]] $form_field
*Returns: [http://www.php.net/manual/en/language.types.boolean.php boolean ]
===__construct()===
Construct this module class
*Signature: public function __construct($name,$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 ] $options
===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"
*Signature: public function getFields($form,$fields,$parent,$where_data,$ordering,$limit,$field_reference_callback,$mod_time)
*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.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.
***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.
**$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
**$field_reference_callback
***Default Value: null
** 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
*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()===
Gets the id's for the given child for this form.
*Signature: public function getIdsAsChild($form,$parent_form_id,$order_by,$where,$limit)
*Parameters:
** [http://www.php.net/manual/en/language.types.string.php string ] $form
** [http://www.php.net/manual/en/language.pseudo-types.php mixed ] $parent_form_id <br/>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: [http://www.php.net/manual/en/language.types.array.php array ]
===getRecords()===
Return an array of all the record ids for a given form.
*Signature: 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 ]
===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"
*Signature: abstract public function getRequiredFieldsQuery($form,$fields,$id,$parent,$field_reference_callback,$mod_time)
*Parameters:
** [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 ] $id <br/>Defaults to null.  If non-null it is the id that we wish to limit to.
***Default Value: null
** [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.
***Default Value: false
**$field_reference_callback
***Default Value: null
** 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.types.string.php string ]<br/>the query or false on failed.
===listDisplayFields()===
*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
** [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()===
*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
** [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.
*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, it returns it 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.
*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, it returns it 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.
*Signature: public function populate($form)
*Parameters:
** [[Class: I2CE_Form | I2CE_Form]] $form
===search()===
*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==
===FF_IG_setSequence()===
This public method is inherited from [[Class: I2CE_FormStorage_Mechanism#FF_IG_setSequence() | I2CE_FormStorage_Mechanism->FF_IG_setSequence()]]
 
===FF_save()===
This public method is inherited from [[Class: I2CE_FormStorage_Mechanism#FF_save() | I2CE_FormStorage_Mechanism->FF_save()]]
 
===delete()===
This public method is inherited from [[Class: I2CE_FormStorage_Mechanism#delete() | I2CE_FormStorage_Mechanism->delete()]]
 
===getFormsById()===
This public method is inherited from [[Class: I2CE_FormStorage_Mechanism#getFormsById() | I2CE_FormStorage_Mechanism->getFormsById()]]
 
===isWritable()===
This public method is inherited from [[Class: I2CE_FormStorage_Mechanism#isWritable() | I2CE_FormStorage_Mechanism->isWritable()]]
 
===populateHistory()===
This public method is inherited from [[Class: I2CE_FormStorage_Mechanism#populateHistory() | I2CE_FormStorage_Mechanism->populateHistory()]]
 
===save()===
This public method is inherited from [[Class: I2CE_FormStorage_Mechanism#save() | I2CE_FormStorage_Mechanism->save()]]
 
===compareFormsByFields()===
This protected method is inherited from [[Class: I2CE_FormStorage_Mechanism#compareFormsByFields() | I2CE_FormStorage_Mechanism->compareFormsByFields()]]
 
===getLimitedFields()===
This protected method is inherited from [[Class: I2CE_FormStorage_Mechanism#getLimitedFields() | I2CE_FormStorage_Mechanism->getLimitedFields()]]
 
===_hasMethod()===
This public method is inherited from [[Class: I2CE_Fuzzy#_hasMethod() | I2CE_Fuzzy->_hasMethod()]]
==Inherited Variables==
===$name===
Theis protected variable is inherited from [[Class: I2CE_FormStorage_Mechanism#$name | I2CE_FormStorage_Mechanism->$name]]
 
===$global_options===
Theis protected variable is inherited from [[Class: I2CE_FormStorage_Mechanism#$global_options | I2CE_FormStorage_Mechanism->$global_options]]
 
===$ordering===
Theis protected variable is inherited from [[Class: I2CE_FormStorage_Mechanism#$ordering | I2CE_FormStorage_Mechanism->$ordering]]
==Inherited Fuzzy Methods==
===userMessage()===
This method is inherited from [[Class: I2CE_Fuzzy#userMessage() | I2CE_Fuzzy->userMessage()]]
 
 
[[Category:Class Documentation]]

Latest revision as of 08:39, 23 August 2013