Class: I2CE FormStorage
This article desrcibes the class I2CE_FormStorage which extends the class I2CE_Module It is contained in the module forms-storage in the package I2CE
The class is defined in the file: modules/Forms/modules/FormStorage/lib/I2CE_FormStorage.php
I2CE_Module_FormStorage @subpackage Core
- Author: Carl Leitner <litlfred@ibiblio.org>
- Since: 3.2
Variables
$componentized_forms
A cached list of componentized forms. of string, the form names
- Type: static protected y $componentized_forms
$storage
An array with a cache of the storage type for a form.
- Type: static protected y $storage
$storageMechs
An array with a cache of the storage mechanisms
- Type: static protected y $storageMechs
Methods
FF_IG_save()
Save the FormField to the database. @param I2CE_User I2CE_User The user saving this data.
- Signature: public function FF_IG_save($form_field,$do_check,$user)
- Returns: boolean
Parameters:
- $form_field
- boolean $do_check
A flag to determine if a check should be made for the same value being saved. - $user
FF_IG_setSequence()
Set the value of this field to the next sequence for the form field.
- Signature: public function FF_IG_setSequence($form_field)
Parameters:
- I2CE_FormField_INT_GENERATE $form_field
FF_SP_save()
Save the FormField_STRING_PASS to the database. @param I2CE_User I2CE_User The user saving this data.
- Signature: public function FF_SP_save($form_field,$do_check,$user)
- Returns: boolean
Parameters:
- I2CE_FormField_STRING_PASS $form_field
- boolean $do_check
A flag to determine if a check should be made for the same value being saved. - $user
FF_populateHistory()
Populate the history of entries for the form field if the storage module handles history.
- Signature: public function FF_populateHistory($form_field)
- Returns: boolean
Parameters:
- I2CE_FormField $form_field
FF_save()
Save the FormField to the database. @param I2CE_User I2CE_User The user saving this data.
- Signature: public function FF_save($form_field,$do_check,$user)
- Returns: boolean
Parameters:
- I2CE_FormField $form_field
- boolean $do_check
A flag to determine if a check should be made for the same value being saved. - $user
addChild()
add the given child to the form for this object. @param string the id of this form
- Signature: public function addChild($form,$form_name,$id)
Parameters:
delete()
Delete a form object. table. default: false
- Signature: public function delete($form,$transact,$complete,$no_history)
- Returns: boolean
Parameters:
- I2CE_Form $form
- boolean $transact
a flag to use transactions or not. default: true- Default Value: true
- boolean $complete
a flag to determine if a complete delete should happen. default: false- Default Value: false
- boolean $no_history
a flag to determine if the record should not go to the deleted_records- Default Value: false
getChildIds()
Gets the id's for the given child for this form. If it is as an array of two integers, it is the offset and then number of results to limit to.
- Signature: public function getChildIds($form,$child_form_name,$order_by,$where,$limit)
- Returns: array
Parameters:
- I2CE_Form $form
- string $child_form_name
the child form name - mixed $order_by
A string or array of strings. The fields to oreder by . defaults to empty array.- Default Value: array()
- $where
- 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.- Default Value: false
getComponentizedForms()
static function which gets a list of all componentized forms
- Signature: static public function getComponentizedForms($use_cache)
- Returns: array of string, the componentized forms
Parameters:
- boolean $use_cache
Use the cached value of the list for componentized forms if possible. Defualts to true- Default Value: true
getHooks()
- Signature: static public function getHooks()
getMechanismByStorage()
Returns the storage mechanism for the given storage type.
- Signature: static public function getMechanismByStorage($storage)
- Returns: I2CE_FormStorage_Mechanism or false on failure
Parameters:
- string $storage
getMethods()
- Signature: static public function getMethods()
getMigratedValue()
Get the new value for a field that has been migrated.
- Signature: static public function getMigratedValue($migrate_node,$form,$old_id,$field,$map_form)
- Returns: string
Parameters:
- I2CE_MagicDataNode $migrate_node
- string $form
- mixed $old_id
- string $field
- mixed $map_form
getNewMigratedValue()
Get the new migrated value for from the old value. @param mixed $old_id
- Signature: static public function getNewMigratedValue($migrate_node,$map_form,$old_value,$old_amt)
- Returns: mixed
Parameters:
- I2CE_MagicDataNode $migrate_node
- string $map_form
- $old_value
- integer $old_amt
For currency data this is the amount- Default Value: 0
getOldMigratedValue()
Get the old value for a field that has been migrated.
- Signature: static public function getOldMigratedValue($migrate_node,$form,$old_id,$field,$map_form)
- Returns: array array( 'map_form', 'old_value' );
Parameters:
- I2CE_MagicDataNode $migrate_node
- string $form
- mixed $old_id
- string $field
- mixed $map_form
getRecords()
Return an array of all the record ids for a given form.
- Signature: public function getRecords($factory,$form_name)
- Returns: array
Parameters:
- I2CE_FormFactory $factory
- $form_name
getStorage()
Return the storage class for the given form.
- Signature: static public function getStorage($form_name,$no_cache)
- Returns: string
Parameters:
getStorageMechanism()
- Signature: static public function getStorageMechanism($form_name,$no_cache)
- Returns: I2CE_FormStorage_Mechanism or false on failure
Parameters:
isComponentized()
static function to determine if a form is componentized
- Signature: static public function isComponentized($form)
- Returns: boolean
Parameters:
- string $form
isComponentizedForm()
Fuzzy method to check if a form instance is componentized
- Signature: public function isComponentizedForm($formClass)
- Returns: boolean
Parameters:
- I2CE_Form $formClass
isWritable()
Check to see if this form is considered to be writable.
- Signature: static public function isWritable($form)
Parameters:
- mixed $form
string, I2CE_Form or I2CE_FormField
listDisplayFields()
Lists the display values for a field and then we get all forms with parent the given id. If it is as an array of two integers, it is the offset and then number of results to limit to. time greater than or equal to $mod_time. If the form storage has no way of tracking modifucation time, all entries are listed.
- Signature: static public function listDisplayFields($form,$fields,$parent,$where_data,$ordering,$limit,$mod_time)
- 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.
Parameters:
- string $form
The form name - array $fields
of string. The fields we want returned - boolean $parent
Defaults to false. If it is scalar and non-boolean, it is consider to be the ID of the parent,- Default Value: false
- mixed $where_data
Either I2CE_MagicDataNode or array. 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.- 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- Default Value: -1
listFields()
and then we get all forms with parent the given id. If it is as an array of two integers, it is the offset and then number of results to limit to. time greater than or equal to $mod_time. If the form storage has no way of tracking modifucation time, all entries are listed.
- Signature: static public function listFields($form,$fields,$parent,$where_data,$ordering,$limit,$mod_time)
- 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.
Parameters:
- string $form
The form name - array $fields
of string. The fields we want returned - boolean $parent
Defaults to false. If it is scalar and non-boolean, it is consider to be the ID of the parent,- Default Value: false
- mixed $where_data
Either I2CE_MagicDataNode or array. 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.- 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- Default Value: -1
lookupDisplayField()
Looks up the display value of the item based on the code.
This is the default method that most implementations of {@link lookup()} use. It finds the description of the object based on the code and saves it in the {@link cache} and returns it. than one. If false , then we return as an array. Defaults to '-'
- Signature: static public function lookupDisplayField($form,$id,$fields,$delim)
- Returns: string or false on failure
Parameters:
- string $form
The name of the form in the database. - integer $id
The code of the entry to lookup. - mixed $fields
A field or an array of fields to look up and return. Defaults to 'name'- Default Value: array('name')
- string $delim
The delimiter to put between returned fields if there are more- Default Value: '-'
lookupField()
Looks up the dbvalue of the item based on the code.
This is the default method that most implementations of {@link lookup()} use. It finds the description of the object based on the code and saves it in the {@link cache} and returns it. than one. If false , then we return as an array. Defaults to '-'
- Signature: static public function lookupField($form,$id,$fields,$delim)
- Returns: string or false on failure
Parameters:
- string $form
The name of the form in the database. - integer $id
The code of the entry to lookup. - mixed $fields
A field or an array of fields to look up and return. Defaults to 'name'- Default Value: array('name')
- string $delim
The delimiter to put between returned fields if there are more- Default Value: '-'
migrateField()
Migrate field data from an old setMap reference to a new MAP form field type. The old data should have been saved in a migrate_data magic data (see {@link storeMigrateData}). Optionally the field list can be: array( "field" => array( "prev_field" => "prev_map_form" ) ) The field will get the old value from the list of fields (with mapped forms) for when the field name was changed.
- Signature: static public function migrateField($form_name,$field_list,$migrate_path,$user)
- Returns: boolean
Parameters:
- string $form_name
- array $field_list
The list of fields that need to be changed as an array of field => map_form. - string $migrate_path
Where the migrate data has been saved. - I2CE_User $user
The user to save the new form field.
migrateForm()
Migrate a given form from one storage method to the current storage method. This should only be used when upgrading a module that moved a form storage from one type to another. the migrate path to convert the data. Format is array( "field" => "map_form" ) These forms and fields should have already been passed to {@link storeMigrateData} so the data can be retrieved from there.
- Signature: static public function migrateForm($form_name,$storage,$user,$migrate_path,$id_field,$skip_fields,$migrate_fields,$callback)
- Returns: boolean
Parameters:
- string $form_name
- string $storage
The old storage mechanism - I2CE_User $user
The user object to use to save the new forms. - string $migrate_path
The full path in MagicData to save the old to new mappings.- Default Value: false
- string $id_field
The old field name to use the value of for the new form id.- Default Value: false
- array $skip_fields
A list of fields to not migrate to the new form.- Default Value: array()
- array $migrate_fields
A list of fields that have already been migrated and need to use- Default Value: array()
- $callback
- Default Value: null
populate()
Populate a form object.
- Signature: public function populate($form)
Parameters:
- I2CE_Form $form
populateChild()
Populate all instances of the given child form for this object. - array( "-start_date", "name" ). Defaults to null in which case if get the default sort order that is registered for the type (which defaults to none) @param mixed @where an aarray of where information to limit getting the child id's by. If null, we get the default limits for the type (which defaults to none)
- Signature: public function populateChild($form,$form_name,$order_by,$where,$type)
Parameters:
- I2CE_Form $form
- string $form_name
: The form name to populate - mixed $order_by
A field or array of fields to sort by. Preceded by "-" to sort in reverse order.- Default Value: null
- $where
- Default Value: null
- string $type
Defaults to 'default'- Default Value: 'default'
populateChildren()
Populate the given child form for this object. - array( "demographic", "contact" ) Defaults to empty array - array( "contact" => "contact_type" )
- Signature: public function populateChildren($form,$forms,$orderBy)
Parameters:
- I2CE_Form $form
- mixed $forms
A string or an array such, the form names (the child forms to populate) - array $orderBy
An associative array of form names with an array of either string, field to sort by or an array of the fields- Default Value: array()
populateFirst()
Populate the first child of a form object based on the given field
- Signature: public function populateFirst($form,$forms)
Parameters:
- I2CE_Form $form
- array $forms
an associative array with keys form names and values field names or ordering array- Default Value: array()
populateHistory()
Populate Last of a form object.
- Signature: public function populateHistory($form)
Parameters:
- I2CE_Form $form
populateLast()
Populate the last child of a form object based on the given field
- Signature: public function populateLast($form,$forms)
Parameters:
- I2CE_Form $form
- array $forms
an associative array with keys form names and values field names or ordering array- Default Value: array()
save()
Save a form object.
- Signature: public function save($form,$user,$transact)
Parameters:
search()
and then we get all forms with parent the given id. If it is as an array of two integers, it is the offset and then number of results to limit to.
- Signature: static public function search($form,$parent,$where_data,$ordering,$limit)
- 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. 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,- Default Value: false
- mixed $where_data
array or class implementing ArrayAccess, Iterator, and Countable (e.g. MagicDataNode) . the where data.- Default Value: array()
- mixed $ordering
An field or 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.- Default Value: false
setChangeType()
Set the change type for the given form. If this method isn't called then the change type will be I2CE_FormStorage::CHANGE_UPDATE
- Signature: public function setChangeType($form,$change_type,$field)
Parameters:
- I2CE_Form $form
- integer $change_type
: the change type to set Defautls to I2CE_FormStorage::CHANGE_UPDATE- Default Value: I2CE_FormStorage_Mechanism::CHANGE_UPDATE
- string $field
Defaults to 'default'. optional field name to set the change type to.- Default Value: 'default'
storeMigrateData()
Save the given fields to the given magic data node so it can later be referenced when migrating the form. array( "form_name" => array( "field1", "field2" ) );
- Signature: static public function storeMigrateData($forms,$migrate_path)
Parameters:
- array $forms
An array of forms with an array of fields for each: - string $migrate_path
The path in magic data to save the data
validate_formfield()
Hooked Function to check if a field is unique or unique restricted to a certain field
- Signature: public function validate_formfield($field_obj)
- Returns: boolean
Parameters:
- I2CE_FormField $field_obj
Inherited Fuzzy Methods
launchBackgroundProcess()
This method is inherited from I2CE_Module->launchBackgroundProcess()
launchBackgroundPHPScript()
This method is inherited from I2CE_Module->launchBackgroundPHPScript()
launchBackgroundPage()
This method is inherited from I2CE_Module->launchBackgroundPage()
userMessage()
This method is inherited from I2CE_Fuzzy->userMessage()