Class: I2CE Form

From IHRIS Wiki
Revision as of 08:49, 10 November 2009 by Litlfred (talk | contribs)

This article describes the class I2CE_Form.

Abstract class for objects using the class that interact with a database and HTML form. This class has a few default functions that are used when interacting with the template engine in setting up form values and displaying the data for objects that tie directly to database tables.

Variables

$form_name

The name of this form for the database.

$display_name

The text name of this form for display.

$fields

The list of fields with all the information about each field.

$parent

String or boolean (false) The form and id of the parent record for this form if there is one. Of the form "$form|$id"

$id

The record id for this entry.

$children

An array of children objects for this form. It is an array of arrays. The first being an associative array with the name of the form, the second level is a simple array of the objects.

$attributes

A list of attributes for this form.

$parent_forms

parent_forms. The array with keys form names and values which are arrays of form names, the form names which the form's parent id can take values in

Methods

__construct()

Create a new instance of a I2CE_Form object.

__get()

Return the form field value from the $fields array.

__isset()

Check to see if a form field value has been set.

__set()

Set the form field value in the $fields array.

__unset()

Unset a form field.

addChildForm()

Add a child form object to this forms list of children.

addField()

Adds a field to this form.

addFormFields()

cleanup()

Clean up all the fields for this form. This will unset all the fields associated with this form. This will remove all circular references to this form so it can be cleaned up by the garbage collector. This should only be called when the form is no longer needed. Trying to access it after this may cause unexpected results or errors.

clearFields()

Remove fields from the form. This is to be used when only certain fields of the form are being dealt with so the others can be removed to save processing.

  • Defined in i2ce/modules/Forms/lib/I2CE_Form.php on line 734
  • Signature: public function clearFields($fields,$keep)
  • Parameters:
    • array $fields
      The fields being worked with.
    • boolean $keep
      A flag to determine if the given fields should be removed or all except the given fields.
      • Default Value: true

current()

Return the current value for the $fields array for iterating through the form fields.

displayField()

Display the field in the given node.

form()

Return the form name for this form.

getAllowedParentForms()

Gets the allowed parent forms for a given form

  • Defined in i2ce/modules/Forms/lib/I2CE_Form.php on line 213
  • Signature: static public function getAllowedParentForms($form,$use_cache)
  • Parameters:
    • string $form
    • boolean $use_cache
      Defaults to true in which case we cached result of finding parent forms
      • Default Value: true
  • Returns: array
    of string, the form names.

getAttribute()

Return the attribute value for a given attribute.

getChildForms()

Get the registered child forms for this form.

getChildFormsByForm()

Get the registered child forms for the given form.

  • Defined in i2ce/modules/Forms/lib/I2CE_Form.php on line 171
  • Signature: static public function getChildFormsByForm($form)
  • Parameters:
    • string $form
      The form to get the children of.
  • Returns: array
    The list of child form names registered for the form.

getChildren()

Get the added children for this form

  • Defined in i2ce/modules/Forms/lib/I2CE_Form.php on line 185
  • Signature: public function getChildren($form)
  • Parameters:
    • string $form
      Defaults to null, in which case we get all children. otherwise we get the popoluated children with the specified form
      • Default Value: null
  • Returns: array
    If $form is null, it is an array with keys the form names and values array of the children of that form type. If $form is set, then it is an array of the forms of type $form

getDisplayName()

Return the display name for this form object.

getField()

Return the I2CE_FormField for the given field name.

getFieldNames()

Get the names of all the fields added in this form

getFormFieldsData()

getFormId()

Returns the form id for this record.

getHTMLName()

Return the value for the name attribute to be used for this field in a form.

getId()

Returns the id for this record.

getParent()

Return the parent id for this record. If there isn't a parent record set then return the id for this record.

  • Defined in i2ce/modules/Forms/lib/I2CE_Form.php on line 453
  • Signature: public function getParent()
  • Returns: mixed.
    false if there is no parent id or string a parent id of the form "$form|$id"

getParentForm()

Return the name of the parent form for this record. If there isn't a parent record set then return the id for this record.

getParentID()

Return the parent id for this record. If there isn't a parent record set then return the id for this record.

getQueryDisplay()

Return the values of all the fields that are set.

getQueryFields()

Return all the fields as an associative array

getQueryString()

Return all the fields as a query string to be sent to a URL

hasAttribute()

Return true if a given attribute exists for this form.

hasInvalid()

Checks to see if any fields of form has in invalid message

key()

Return the current key for the $fields array for iterating through the form fields.

listFields()

  • Defined in i2ce/modules/Forms/lib/I2CE_Form.php on line 1012
  • Signature: static public function listFields($form,$fields,$where_data,$ordering,$limit)
  • Parameters:
    • string $form
      The form name
    • array $fields
      of string. The fields we want returned
    • 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
  • 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.

load()

Load the member variables from an array

  • Defined in i2ce/modules/Forms/lib/I2CE_Form.php on line 803
  • Signature: public function load($post,$loadID,$populate_on_set_id)
  • Parameters:
    • array $post
      The Post vairables. Usually from an http request.
    • boolean $loadID
      Defaults to true. If true, and there is exactly one of entry in the array $post['forms'][$this->form_name], we set the values of the form's field, id and parent from that entry. If false, we set the values from $post['forms'][$this->form_name][$this->getID()] if it is present
      • Default Value: true
    • $populate_on_set_id
      • Default Value: true

lookupArray()

Lookup a given id in the given array.

next()

Advance the internal pointer for the $fields array for iterating through the form fields.

processDOM()

Process the DOM for this form.

removeField()

Removes a field from this form. @param array $args The arguments for this field

reset()

Reset this object to its original state.

rewind()

Rewind the internal pointer for the $fields array for iterating through the form fields.

search()

@param 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.

  • Defined in i2ce/modules/Forms/lib/I2CE_Form.php on line 973
  • Signature: static public function search($form,$where_data,$ordering,$limit_one)
  • Parameters:
    • string $form
      The form name.
    • 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()
    • $limit_one
      • 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.

setAttribute()

Set an attribute for this form.

setDisplayName()

Set the display name for this form object.

setForm()

Set the form name for this form object.

setFromPost()

Load the member variables from an array The array can contain the keys 'id', 'parent', 'fields'. The later of which is an array indexed by field names and which contains the values of the field

  • Defined in i2ce/modules/Forms/lib/I2CE_Form.php on line 755
  • Signature: public function setFromPost($post,$populate_on_set_id)
  • Parameters:
    • array $post
      The post object is passed as a reference
    • $populate_on_set_id
      • Default Value: false

setId()

Set the id for this record.

setParent()

Set the parent id for this record

  • Defined in i2ce/modules/Forms/lib/I2CE_Form.php on line 497
  • Signature: public function setParent($parent,$set_id)
  • Parameters:
    • mixed $parent
      string or I2CE_Form
    • boolean $set_id
      If the parent will only have one child object then you can set the id by setting this to true.
      • Default Value: false

valid()

Check to see if the current internal pointer for the $fields array is valid.

validate()

Validate all fields that are marked as required or unique. This will check all the fields in this form and if they're required or unique it will perform the required checks

Inherited Methods

_hasMethod()

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

Inherited Fuzzy Methods

userMessage()

This method is inherited from I2CE_Fuzzy->userMessage()

Fuzzy Methods

isNumeric()

This method is implemented by I2CE_Module_CustomReports->isNumeric()

getLimitStyles()

This method is implemented by I2CE_Module_FormLimits->getLimitStyles()

checkLimit()

This method is implemented by I2CE_Module_FormLimits->checkLimit()

checkWhereClause()

This method is implemented by I2CE_Module_FormLimits->checkWhereClause()

createCheckFunction()

This method is implemented by I2CE_Module_FormLimits->createCheckFunction()

createCheckLimitString()

This method is implemented by I2CE_Module_FormLimits->createCheckLimitString()

generateLimit()

This method is implemented by I2CE_Module_FormLimits->generateLimit()

generateWhereClause()

This method is implemented by I2CE_Module_FormLimits->generateWhereClause()

processLimit()

This method is implemented by I2CE_Module_FormLimits->processLimit()

getDisplayedExistingLimit()

This method is implemented by I2CE_Module_FormLimits->getDisplayedExistingLimit()

isComponentized()

This method is implemented by I2CE_FormStorage->isComponentizedForm()

addChild()

This method is implemented by I2CE_FormStorage->addChild()

getChildIds()

This method is implemented by I2CE_FormStorage->getChildIds()

getStorage()

This method is implemented by I2CE_FormStorage->getStorage()

isWritable()

This method is implemented by I2CE_FormStorage->isWritable()

populate()

This method is implemented by I2CE_FormStorage->populate()

populateChild()

This method is implemented by I2CE_FormStorage->populateChild()

populateChildren()

This method is implemented by I2CE_FormStorage->populateChildren()

populateFirst()

This method is implemented by I2CE_FormStorage->populateFirst()

populateHistory()

This method is implemented by I2CE_FormStorage->populateHistory()

populateLast()

This method is implemented by I2CE_FormStorage->populateLast()

delete()

This method is implemented by I2CE_FormStorage->delete()

save()

This method is implemented by I2CE_FormStorage->save()

setChangeType()

This method is implemented by I2CE_FormStorage->setChangeType()