Class: I2CE FormStorage: Difference between revisions

From IHRIS Wiki
No edit summary
No edit summary
Line 60: Line 60:
*Parameters:
*Parameters:
** [[Class: I2CE_Form | I2CE_Form]] $form
** [[Class: I2CE_Form | I2CE_Form]] $form
** [http://www.php.net/manual/en/language.types.string.php string ] $form_name <br/>: The form name to add @param string  the id of this form
** [http://www.php.net/manual/en/language.types.string.php string ] $form_name <br/>The form name to add @param string  the id of this form
**$id  
**$id  
===delete()===
===delete()===
Line 265: Line 265:
*Parameters:
*Parameters:
** [[Class: I2CE_Form | I2CE_Form]] $form
** [[Class: I2CE_Form | I2CE_Form]] $form
** [http://www.php.net/manual/en/language.types.string.php string ] $form_name <br/>: The form name to populate
** [http://www.php.net/manual/en/language.types.string.php string ] $form_name <br/>The form name to populate
** [http://www.php.net/manual/en/language.pseudo-types.php mixed ] $order_by <br/>A field or array  of fields to sort by.  Preceded by "-" to sort in reverse order. - 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)
** [http://www.php.net/manual/en/language.pseudo-types.php mixed ] $order_by <br/>A field or array  of fields to sort by.  Preceded by "-" to sort in reverse order. - 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)
***Default Value: null
***Default Value: null
Line 325: Line 325:
*Parameters:
*Parameters:
** [[Class: I2CE_Form | I2CE_Form]] $form
** [[Class: I2CE_Form | I2CE_Form]] $form
** integer $change_type <br/>: the change type to set Defautls to I2CE_FormStorage::CHANGE_UPDATE
** integer $change_type <br/>the change type to set Defautls to I2CE_FormStorage::CHANGE_UPDATE
***Default Value: I2CE_FormStorage_Mechanism::CHANGE_UPDATE
***Default Value: I2CE_FormStorage_Mechanism::CHANGE_UPDATE
** [http://www.php.net/manual/en/language.types.string.php string ] $field <br/>Defaults to 'default'.  optional field name to set the change type to.
** [http://www.php.net/manual/en/language.types.string.php string ] $field <br/>Defaults to 'default'.  optional field name to set the change type to.
Line 341: Line 341:
** [[Class: I2CE_FormField | I2CE_FormField]] $field_obj
** [[Class: I2CE_FormField | I2CE_FormField]] $field_obj
*Returns: [http://www.php.net/manual/en/language.types.boolean.php boolean ]
*Returns: [http://www.php.net/manual/en/language.types.boolean.php boolean ]
==Inherited Methods==
===__construct()===
This public method is inherited from [[Class: I2CE_Module#__construct() | I2CE_Module->__construct()]]
===action_configure()===
This public method is inherited from [[Class: I2CE_Module#action_configure() | I2CE_Module->action_configure()]]
===action_disable()===
This public method is inherited from [[Class: I2CE_Module#action_disable() | I2CE_Module->action_disable()]]
===action_enable()===
This public method is inherited from [[Class: I2CE_Module#action_enable() | I2CE_Module->action_enable()]]
===action_initialize()===
This public method is inherited from [[Class: I2CE_Module#action_initialize() | I2CE_Module->action_initialize()]]
===conflict_external()===
This public method is inherited from [[Class: I2CE_Module#conflict_external() | I2CE_Module->conflict_external()]]
===getCLIHooks()===
This public method is inherited from [[Class: I2CE_Module#getCLIHooks() | I2CE_Module->getCLIHooks()]]
===getCLIMethods()===
This public method is inherited from [[Class: I2CE_Module#getCLIMethods() | I2CE_Module->getCLIMethods()]]
===getConfig()===
This public method is inherited from [[Class: I2CE_Module#getConfig() | I2CE_Module->getConfig()]]
===getHooks()===
This public method is inherited from [[Class: I2CE_Module#getHooks() | I2CE_Module->getHooks()]]
===getMethods()===
This public method is inherited from [[Class: I2CE_Module#getMethods() | I2CE_Module->getMethods()]]
===post_update()===
This public method is inherited from [[Class: I2CE_Module#post_update() | I2CE_Module->post_update()]]
===pre_upgrade()===
This public method is inherited from [[Class: I2CE_Module#pre_upgrade() | I2CE_Module->pre_upgrade()]]
===requirement_external()===
This public method is inherited from [[Class: I2CE_Module#requirement_external() | I2CE_Module->requirement_external()]]
===upgrade()===
This public method is inherited from [[Class: I2CE_Module#upgrade() | I2CE_Module->upgrade()]]
===_hasMethod()===
This public method is inherited from [[Class: I2CE_Fuzzy#_hasMethod() | I2CE_Fuzzy->_hasMethod()]]
==Inherited Fuzzy Methods==
==Inherited Fuzzy Methods==
===launchBackgroundProcess()===
===launchBackgroundProcess()===

Revision as of 13:03, 17 October 2009

This article desrcibes the class I2CE_FormStorage.

I2CE_Module_FormStorage

Variables

$componentized_forms

A cached list of componentized forms. array of string, the form names

  • Type: static protected static $componentized_forms

$storage

An array with a cache of the storage type for a form.

  • Type: static protected array $storage

$storageMechs

An array with a cache of the storage mechanisms

  • Type: static protected array $storageMechs

Methods

FF_IG_save()

Save the FormField to the database.

  • Signature: public function FF_IG_save($form_field,$do_check,$user)
  • Parameters:
    • $form_field
    • boolean $do_check
      A flag to determine if a check should be made for the same value being saved. @param I2CE_User I2CE_User The user saving this data.
    • $user
  • Returns: boolean

FF_IG_setSequence()

Set the value of this field to the next sequence for the form field.

FF_SP_save()

Save the FormField_STRING_PASS to the database.

  • Signature: public function FF_SP_save($form_field,$do_check,$user)
  • 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. @param I2CE_User I2CE_User The user saving this data.
    • $user
  • Returns: boolean

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:
  • Returns: boolean

FF_save()

Save the FormField to the database.

  • 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. @param I2CE_User I2CE_User The user saving this data.
    • $user
  • Returns: boolean

addChild()

add the given child to the form for this object.

  • Signature: public function addChild($form,$form_name,$id)
  • Parameters:
    • I2CE_Form $form
    • string $form_name
      The form name to add @param string the id of this form
    • $id

delete()

Delete a form object.

  • Signature: public function delete($form,$transact,$complete,$no_history)
  • 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 table. default: false
      • Default Value: false
  • Returns: boolean

getChildIds()

Gets the id's for the given child for this form.

  • Signature: public function getChildIds($form,$child_form_name,$order_by,$where,$limit)
  • 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. 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: array

getComponentizedForms()

static function which gets a list of all componentized forms

  • Signature: static public function getComponentizedForms($use_cache)
  • Parameters:
    • boolean $use_cache
      Use the cached value of the list for componentized forms if possible. Defualts to true
      • Default Value: true
  • Returns: array
    of string, the componentized forms

getHooks()

  • Signature: static public function getHooks()

getMechanismByStorage()

Returns the storage mechanism for the given storage type.

getMethods()

  • Signature: static public function getMethods()

getMigratedValue()

Get the new value for a field that has been migrated.

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)
  • Parameters:
    • I2CE_MagicDataNode $migrate_node
    • string $map_form
    • $old_value
    • integer $old_amt
      For currency data this is the amount
      • Default Value: 0
  • Returns: mixed

getOldMigratedValue()

Get the old value for a field that has been migrated.

getRecords()

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

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

getStorage()

Return the storage class for the given form.

  • Signature: static public function getStorage($form_name,$no_cache)
  • Parameters:
    • string $form_name
    • boolean $no_cache
      Check from the source, not the cached array
      • Default Value: false
  • Returns: string

getStorageMechanism()

  • Signature: static public function getStorageMechanism($form_name,$no_cache)
  • Parameters:
    • string $form_name
    • boolean $no_cache
      Check from the source, not the cached array
      • Default Value: false
  • Returns: I2CE_FormStorage_Mechanism
    or false on failure

isComponentized()

static function to determine if a form is componentized

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

isComponentizedForm()

Fuzzy method to check if a form instance is componentized

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

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

  • Signature: static public function listDisplayFields($form,$fields,$parent,$where_data,$ordering,$limit,$mod_time)
  • 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, and then we get all forms with parent the given id.
      • 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. 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
      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: 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.

listFields()

  • Signature: static public function listFields($form,$fields,$parent,$where_data,$ordering,$limit,$mod_time)
  • 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, and then we get all forms with parent the given id.
      • 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. 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
      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: 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.

lookupDisplayField()

Looks up the display value 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: static public function lookupDisplayField($form,$id,$fields,$delim)
  • 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 than one. If false , then we return as an array. Defaults to '-'
      • Default Value: '-'
  • Returns: string
    or false on failure

lookupField()

Looks up the dbvalue 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: static public function lookupField($form,$id,$fields,$delim)
  • 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 than one. If false , then we return as an array. Defaults to '-'
      • Default Value: '-'
  • Returns: string
    or false on failure

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 storeMigrateData ).

  • Signature: static public function migrateField($form_name,$field_list,$migrate_path,$user)
  • Parameters:
    • string $form_name
    • array $field_list
      The list of fields that need to be changed as an array of field => map_form. 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.
    • string $migrate_path
      Where the migrate data has been saved.
    • I2CE_User $user
      The user to save the new form field.
  • Returns: boolean

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.

  • Signature: static public function migrateForm($form_name,$storage,$user,$migrate_path,$id_field,$skip_fields,$migrate_fields,$callback)
  • 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 the migrate path to convert the data. Format is array( "field" => "map_form" ) These forms and fields should have already been passed to storeMigrateData so the data can be retrieved from there.
      • Default Value: array()
    • $callback
      • Default Value: null
  • Returns: boolean

populate()

Populate a form object.

  • Signature: public function populate($form)
  • Parameters:

populateChild()

Populate all instances of the given child form for this object.

  • 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. - 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)
      • Default Value: null
    • $where
      • Default Value: null
    • string $type
      Defaults to 'default'
      • Default Value: 'default'

populateChildren()

Populate the given child form for this object.

  • 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( "demographic", "contact" )
    • array $orderBy
      An associative array of form names with an array of either string, field to sort by or an array of the fields Defaults to empty array - array( "contact" => "contact_type" )
      • 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:

search()

  • Signature: static public function search($form,$parent,$where_data,$ordering,$limit)
  • 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, and then we get all forms with parent the given id.
      • 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. 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: 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.

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.

  • Signature: static public function storeMigrateData($forms,$migrate_path)
  • Parameters:
    • array $forms
      An array of forms with an array of fields for each: array( "form_name" => array( "field1", "field2" ) );
    • 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

Inherited Methods

__construct()

This public method is inherited from I2CE_Module->__construct()

action_configure()

This public method is inherited from I2CE_Module->action_configure()

action_disable()

This public method is inherited from I2CE_Module->action_disable()

action_enable()

This public method is inherited from I2CE_Module->action_enable()

action_initialize()

This public method is inherited from I2CE_Module->action_initialize()

conflict_external()

This public method is inherited from I2CE_Module->conflict_external()

getCLIHooks()

This public method is inherited from I2CE_Module->getCLIHooks()

getCLIMethods()

This public method is inherited from I2CE_Module->getCLIMethods()

getConfig()

This public method is inherited from I2CE_Module->getConfig()

getHooks()

This public method is inherited from I2CE_Module->getHooks()

getMethods()

This public method is inherited from I2CE_Module->getMethods()

post_update()

This public method is inherited from I2CE_Module->post_update()

pre_upgrade()

This public method is inherited from I2CE_Module->pre_upgrade()

requirement_external()

This public method is inherited from I2CE_Module->requirement_external()

upgrade()

This public method is inherited from I2CE_Module->upgrade()

_hasMethod()

This public method is inherited from I2CE_Fuzzy->_hasMethod()

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