Class: I2CE FormStorage entry (4.1.7)
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.7-release
- 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 1168
- 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 1102
- 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 1190
- 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 1127
- 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 1244
- 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 1042
- 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 565
- 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 1314
- 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 1353
- 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 502
- 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 304
- 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 530
- 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 464
- 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 1397
- 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 1386
- 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 1282
- 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 924
- 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 820
- 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 762
- 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 784
- 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 699
- 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 672
- 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 728
- Signature: protected function prepareSetupFormStatement($type)
- Parameters:
- string $type
- Returns: boolean
save()
Save a form object into entry tables.
- Defined in i2ce/modules/Forms/modules/FormStorage/modules/FormStorageEntry/lib/I2CE_FormStorage_entry.php on line 835
- 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 605
- 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()