Class: I2CE FormStorage entry (Development)

From IHRIS Wiki
Revision as of 08:14, 6 May 2015 by Sovello (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)


This article describes the class I2CE_FormStorage_entry .

I2CE_FormStorage_entry

Variables

$prepared

A list of all prepared statements for working with entry data.

$callback

A list of all cached callback functions.

$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

$form_id_cache

Keys are form names values are their id's

Methods

FF_IG_setSequence()

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

FF_isSameValue()

Checks to see if the value of the form field is the same as in the db

FF_populateHistory()

Populate the history of entries for the form field if the storage module handles history.

FF_save()

Save the FormField to the database.

__construct()

_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

createCallback()

Create a callback function or return it from the cache if it already exists.

delete()

Deletes a form from the entry tables.

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
  • 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

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

getFieldId()

Return the id for the field in the field table. If the field doesn't currently exist then it will be created.

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
  • 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.

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.

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

hasGlobalFieldUpdateBySQL()

Check to see if there is a quick field update implemented

hasRecord()

Checks if the given record exists.

isWritable()

Checks to see if this storage mechansim implements the writing methods.

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.

populateHistory()

Populates the history of each field given to the method.

prepareCheckStatement()

Prepare the check statements for the given field type

prepareDeleteStatement()

Prepare the delete statements for records and entries. @param $delete_type The type of delete statement to prepare.

prepareRecordStatement()

Prepare the record table save statements for insert or update.

prepareSaveStatement()

Prepare the save statement for the given field type.

prepareSetupFormStatement()

Prepare the setupForm statements for select and delete.

release()

Release any resourced held by this form storage mechanism for the indicated form

save()

Save a form object into entry tables.

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.

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