Class: I2CE FormStorage entry (Development)
This article describes the class I2CE_FormStorage_entry .
- Extends the class: I2CE_FormStorage_DB.
- Location: Part of the module forms-storage-entry in the package I2CE 4.1-dev
- Source: Defined in the file modules/Forms/modules/FormStorage/modules/FormStorageEntry/lib/I2CE_FormStorage_entry.php on line 38
- Author: Carl Leitner <litlfred@ibiblio.org> / Luke Duncan <lduncan@intrahealth.org>
- Since: 3.2
I2CE_FormStorage_entry
Variables
$prepared
A list of all prepared statements for working with entry data.
- Defined in i2ce/modules/Forms/modules/FormStorage/modules/FormStorageEntry/lib/I2CE_FormStorage_entry.php on line 43
- Type: static protected array $prepared
$callback
A list of all cached callback functions.
- Defined in i2ce/modules/Forms/modules/FormStorage/modules/FormStorageEntry/lib/I2CE_FormStorage_entry.php on line 48
- Type: static protected array $callback
$form_field_data_cache
Keys are form names values are arrays with keys fields and values an array for the form field id and details
- Defined in i2ce/modules/Forms/modules/FormStorage/modules/FormStorageEntry/lib/I2CE_FormStorage_entry.php on line 54
- Type: protected array $form_field_data_cache
$form_id_cache
Keys are form names values are their id's
- Defined in i2ce/modules/Forms/modules/FormStorage/modules/FormStorageEntry/lib/I2CE_FormStorage_entry.php on line 59
- Type: protected array $form_id_cache
Methods
FF_IG_setSequence()
Set the value of this field to the next sequence for the form field.
- Defined in i2ce/modules/Forms/modules/FormStorage/modules/FormStorageEntry/lib/I2CE_FormStorage_entry.php on line 1222
- Signature: public function FF_IG_setSequence($form_field)
- Parameters:
- I2CE_FormField $form_field
FF_isSameValue()
Checks to see if the value of the form field is the same as in the db
- Defined in i2ce/modules/Forms/modules/FormStorage/modules/FormStorageEntry/lib/I2CE_FormStorage_entry.php on line 1156
- Signature: protected function FF_isSameValue($form_field,$do_check)
- Parameters:
- I2CE_FormField $form_field
- boolean $do_check
- Returns: boolean
FF_populateHistory()
Populate the history of entries for the form field if the storage module handles history.
- Defined in i2ce/modules/Forms/modules/FormStorage/modules/FormStorageEntry/lib/I2CE_FormStorage_entry.php on line 1244
- Signature: public function FF_populateHistory($form_field)
- Parameters:
- I2CE_FormField $form_field
- Returns: boolean
FF_save()
Save the FormField to the database.
- Defined in i2ce/modules/Forms/modules/FormStorage/modules/FormStorageEntry/lib/I2CE_FormStorage_entry.php on line 1181
- Signature: public function FF_save($form_field,$do_check,$user)
- Parameters:
- I2CE_FormField $form_field
- boolean $do_check
A flag to determine if a check should be made for the same value being saved. - I2CE_User $user
The user saving this data.
- Returns: boolean
__construct()
- Defined in i2ce/modules/Forms/modules/FormStorage/modules/FormStorageEntry/lib/I2CE_FormStorage_entry.php on line 62
- Signature: public function __construct($name,$options)
- Parameters:
- $name
- $options
_getRequiredFieldsQuery()
Worker method to 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/modules/FormStorageEntry/lib/I2CE_FormStorage_entry.php on line 133
- Signature: protected function _getRequiredFieldsQuery($form,$fields,$id,$parent,$field_reference_callback,$mod_time,$last_entry,$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
- boolean $last_entry
Detaults to true. Set to false to construct query on entry table- Default Value: true
- 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.
changeID()
Change the id of the given form
- Defined in i2ce/modules/Forms/modules/FormStorage/modules/FormStorageEntry/lib/I2CE_FormStorage_entry.php on line 1298
- Signature: public function changeID($form,$oldid,$newid)
- Parameters:
- Returns: boolean.
true on success
createCallback()
Create a callback function or return it from the cache if it already exists.
- Defined in i2ce/modules/Forms/modules/FormStorage/modules/FormStorageEntry/lib/I2CE_FormStorage_entry.php on line 80
- Signature: static protected function createCallback($code)
- Parameters:
- string $code
The code for the function
- string $code
- Returns: string
delete()
Deletes a form from the entry tables.
- Defined in i2ce/modules/Forms/modules/FormStorage/modules/FormStorageEntry/lib/I2CE_FormStorage_entry.php on line 1094
- Signature: public function delete($form,$transact)
- Parameters:
- Returns: boolean
fieldDetails()
Return an array of DB details for a given field to be used to build queries for that field.
- Defined in i2ce/modules/Forms/modules/FormStorage/modules/FormStorageEntry/lib/I2CE_FormStorage_entry.php on line 613
- Signature: protected function fieldDetails($form,$field,$field_count,$table_prefix,$table,$join_field)
- Parameters:
- string $form
The form. - string $field
The field being looked up. - integer $field_count
If you're building a query with multiple fields this is the count for the table alias.- Default Value: 1
- string $table_prefix
The table alias prefix to go along with the field count.- Default Value: "e"
- string $table
The table to do the lookups on. This will most often be last_entry but in some cases you may want to use entry instead.- Default Value: "last_entry"
- string $join_field
The join field to use for the table's record field to join on. By default it will use the first last_entry (e1) record field.- Default Value: null
- string $form
- Returns: array
generateReferenceCallback_1()
Generate the reference callback for the given form and field (Type 1) id=>id parent=>parent last_modified=>last_modified $field => `$field` (or NULL) @param string $field
- Defined in i2ce/modules/Forms/modules/FormStorage/modules/FormStorageEntry/lib/I2CE_FormStorage_entry.php on line 1368
- Signature: protected function generateReferenceCallback_1($form,$fields)
- Parameters:
- string $form
- $fields
- Returns: callable
generateReferenceCallback_2()
Generate the reference callback for the given form and field (Type 2) id=>recod.id parent => CONCAT(record.parent_form , '|', record.parent_id) last_modified => record.last_modified $field => last_entry.{$fieldtype}_value (e.g. last_entry.string_value) or NULL @param string $field
- Defined in i2ce/modules/Forms/modules/FormStorage/modules/FormStorageEntry/lib/I2CE_FormStorage_entry.php on line 1408
- Signature: protected function generateReferenceCallback_2($form,$fields)
- Parameters:
- string $form
- $fields
- Returns: callable
getFieldId()
Return the id for the field in the field table. If the field doesn't currently exist then it will be created.
- Defined in i2ce/modules/Forms/modules/FormStorage/modules/FormStorageEntry/lib/I2CE_FormStorage_entry.php on line 530
- Signature: protected function getFieldId($name,$type)
- Parameters:
- Returns: integer
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/modules/FormStorageEntry/lib/I2CE_FormStorage_entry.php on line 325
- 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.- 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
- string $form
- Returns: string
the SQL Query needed to get the form/field data or false on failure.
getFormFieldIdAndType()
Return the form field id for the given form and field and the data type for that field. @param string $form The name of the form. @param string $field The name of the field.
- Defined in i2ce/modules/Forms/modules/FormStorage/modules/FormStorageEntry/lib/I2CE_FormStorage_entry.php on line 578
- Signature: protected function getFormFieldIdAndType($form_name,$field_name)
- Parameters:
- $form_name
- $field_name
- Returns: array
or null on failure
getFormId()
Returns the id from the form table in the database. If the form doesn't currently exist then it will be created and the new id will be returned.
- Defined in i2ce/modules/Forms/modules/FormStorage/modules/FormStorageEntry/lib/I2CE_FormStorage_entry.php on line 492
- Signature: protected function getFormId($form,$nocreate)
- Parameters:
- Returns: integer
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/modules/FormStorageEntry/lib/I2CE_FormStorage_entry.php on line 114
- Signature: 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 instance of a given form field by a sql function call
- Defined in i2ce/modules/Forms/modules/FormStorage/modules/FormStorageEntry/lib/I2CE_FormStorage_entry.php on line 1453
- Signature: public function globalFieldUpdateBySQL($form_field,$where,$set_sql)
- Parameters:
- I2CE_FormField $form_field
- array $where
Array of where data - string $set_sql
sql used to update the field
hasGlobalFieldUpdateBySQL()
Check to see if there is a quick field update implemented
- Defined in i2ce/modules/Forms/modules/FormStorage/modules/FormStorageEntry/lib/I2CE_FormStorage_entry.php on line 1442
- Signature: public function hasGlobalFieldUpdateBySQL()
- Returns: true
if there is a method to quickly update all instances of a given field via SQL
hasRecord()
Checks if the given record exists.
- Defined in i2ce/modules/Forms/modules/FormStorage/modules/FormStorageEntry/lib/I2CE_FormStorage_entry.php on line 1336
- Signature: public function hasRecord($form_name,$form_id)
- Parameters:
- Returns: array
isWritable()
Checks to see if this storage mechansim implements the writing methods.
- Defined in i2ce/modules/Forms/modules/FormStorage/modules/FormStorageEntry/lib/I2CE_FormStorage_entry.php on line 94
- Signature: public function isWritable()
massDelete()
Deletes a list of records from the database from a list of child form ids and a list of form ids. Any records that are deleted will also delete all child forms. For example, you can pass a list of demographic forms with a parent of person and it will delete the person records and all children. You can also simply pass the list of person records. The ids shouldn't have the form name included.
- Defined in i2ce/modules/Forms/modules/FormStorage/modules/FormStorageEntry/lib/I2CE_FormStorage_entry.php on line 974
- Signature: static public function massDelete($records,$children,$calculate,$transact)
- Parameters:
- Returns: mixed
populateHistory()
Populates the history of each field given to the method.
- Defined in i2ce/modules/Forms/modules/FormStorage/modules/FormStorageEntry/lib/I2CE_FormStorage_entry.php on line 868
- Signature: public function populateHistory($form)
- Parameters:
- I2CE_Form $form
prepareCheckStatement()
Prepare the check statements for the given field type
- Defined in i2ce/modules/Forms/modules/FormStorage/modules/FormStorageEntry/lib/I2CE_FormStorage_entry.php on line 810
- Signature: protected function prepareCheckStatement($type_string)
- Parameters:
- string $type_string
- Returns: boolean
prepareDeleteStatement()
Prepare the delete statements for records and entries. @param $delete_type The type of delete statement to prepare.
- Defined in i2ce/modules/Forms/modules/FormStorage/modules/FormStorageEntry/lib/I2CE_FormStorage_entry.php on line 832
- Signature: protected function prepareDeleteStatement($delete_type)
- Parameters:
- $delete_type
- Returns: boolean
prepareRecordStatement()
Prepare the record table save statements for insert or update.
- Defined in i2ce/modules/Forms/modules/FormStorage/modules/FormStorageEntry/lib/I2CE_FormStorage_entry.php on line 747
- Signature: protected function prepareRecordStatement($type)
- Parameters:
- string $type
- Returns: boolean
prepareSaveStatement()
Prepare the save statement for the given field type.
- Defined in i2ce/modules/Forms/modules/FormStorage/modules/FormStorageEntry/lib/I2CE_FormStorage_entry.php on line 720
- Signature: protected function prepareSaveStatement($field_type_db,$field_type_string,$field_type_mdb2)
- Parameters:
- Returns: boolean
prepareSetupFormStatement()
Prepare the setupForm statements for select and delete.
- Defined in i2ce/modules/Forms/modules/FormStorage/modules/FormStorageEntry/lib/I2CE_FormStorage_entry.php on line 776
- Signature: protected function prepareSetupFormStatement($type)
- Parameters:
- string $type
- Returns: boolean
release()
Release any resourced held by this form storage mechanism for the indicated form
- Defined in i2ce/modules/Forms/modules/FormStorage/modules/FormStorageEntry/lib/I2CE_FormStorage_entry.php on line 557
- Signature: public function release($form)
- Parameters:
- string $form
save()
Save a form object into entry tables.
- Defined in i2ce/modules/Forms/modules/FormStorage/modules/FormStorageEntry/lib/I2CE_FormStorage_entry.php on line 883
- Signature: public function save($form,$user,$transact)
- Parameters:
setupForm()
Populates the form and field ids for all the fields for this form. If the form or fields don't exist yet they will be created.
- Defined in i2ce/modules/Forms/modules/FormStorage/modules/FormStorageEntry/lib/I2CE_FormStorage_entry.php on line 653
- Signature: protected function setupForm($form)
- Parameters:
- I2CE_Form $form
Inherited Methods
getIdsAsChild()
This public method is inherited from I2CE_FormStorage_DB->getIdsAsChild()
getRecords()
This public method is inherited from I2CE_FormStorage_DB->getRecords()
hasGlobalFieldUpdateBySql()
This public method is inherited from I2CE_FormStorage_DB->hasGlobalFieldUpdateBySql()
listDisplayFields()
This public method is inherited from I2CE_FormStorage_DB->listDisplayFields()
listFields()
This public method is inherited from I2CE_FormStorage_DB->listFields()
lookupDisplayField()
This public method is inherited from I2CE_FormStorage_DB->lookupDisplayField()
lookupField()
This public method is inherited from I2CE_FormStorage_DB->lookupField()
populate()
This public method is inherited from I2CE_FormStorage_DB->populate()
search()
This public method is inherited from I2CE_FormStorage_DB->search()
queryLastListCount()
This protected method is inherited from I2CE_FormStorage_DB->queryLastListCount()
getFormsById()
This public method is inherited from I2CE_FormStorage_Mechanism->getFormsById()
globalFieldUpdateByFunction()
This public method is inherited from I2CE_FormStorage_Mechanism->globalFieldUpdateByFunction()
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
$db
Theis protected variable is inherited from I2CE_FormStorage_DB->$db
$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()