Class: I2CE FormStorage: Difference between revisions

From IHRIS Wiki
(Created page with 'This article desrcibes the class '''I2CE_FormStorage'''which extends the class I2CE_Module It is contained in the module [[iHRIS Module List#forms-storag…')
 
No edit summary
Line 393: Line 393:
===launchBackgroundProcess()===
===launchBackgroundProcess()===
This method is inherited from [[Class: I2CE_Module#launchBackgroundProcess() | I2CE_Module->launchBackgroundProcess()]]
This method is inherited from [[Class: I2CE_Module#launchBackgroundProcess() | I2CE_Module->launchBackgroundProcess()]]
===launchBackgroundPHPScript()===
===launchBackgroundPHPScript()===
This method is inherited from [[Class: I2CE_Module#launchBackgroundPHPScript() | I2CE_Module->launchBackgroundPHPScript()]]
This method is inherited from [[Class: I2CE_Module#launchBackgroundPHPScript() | I2CE_Module->launchBackgroundPHPScript()]]
===launchBackgroundPage()===
===launchBackgroundPage()===
This method is inherited from [[Class: I2CE_Module#launchBackgroundPage() | I2CE_Module->launchBackgroundPage()]]
This method is inherited from [[Class: I2CE_Module#launchBackgroundPage() | I2CE_Module->launchBackgroundPage()]]
===userMessage()===
===userMessage()===
This method is inherited from [[Class: I2CE_Fuzzy#userMessage() | I2CE_Fuzzy->userMessage()]]
This method is inherited from [[Class: I2CE_Fuzzy#userMessage() | I2CE_Fuzzy->userMessage()]]

Revision as of 19:42, 16 October 2009

This article desrcibes the class I2CE_FormStoragewhich 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 @package I2CE @subpackage Core @author Carl Leitner <litlfred@ibiblio.org>

@version 3.2 @since 3.2 @access public

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:

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:

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:

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.

Parameters:

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:

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:

getRecords()

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

  • Signature: public function getRecords($factory,$form_name)
  • Returns: array

Parameters:

getStorage()

Return the storage class for the given form.

  • Signature: static public function getStorage($form_name,$no_cache)
  • Returns: string

Parameters:

  • string $form_name
  • boolean $no_cache
    Check from the source, not the cached array
    • Default Value: false

getStorageMechanism()

Parameters:

  • string $form_name
  • boolean $no_cache
    Check from the source, not the cached array
    • Default Value: false

isComponentized()

static function to determine if a form is componentized

  • Signature: static public function isComponentized($form)
  • Returns: boolean

Parameters:

isComponentizedForm()

Fuzzy method to check if a form instance is componentized

  • Signature: public function isComponentizedForm($formClass)
  • Returns: boolean

Parameters:

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:

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:

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:

  • I2CE_Form $form
  • I2CE_User $user
  • boolean $transact
    Defaults to true.
    • Default Value: true

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:

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()