|
|
(23 intermediate revisions by the same user not shown) |
Line 1: |
Line 1: |
| This article desrcibes the1 class ''I2CE_FormStorage_Mechanism''.
| | #REDIRECT [[Class: I2CE_FormStorage_Mechanism (4.1.7)]] |
| *Extends the class: [[Class: I2CE_Fuzzy | I2CE_Fuzzy]].
| |
| *Location: Part of the module [[iHRIS Module List#forms-storage|forms-storage]] in the package [https://launchpad.net/i2ce I2CE]
| |
| *Source: Defined in the file [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.0-release/annotate/head:/modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php modules/Forms/modules/FormStorage/lib/I2CE_FormStorage_Mechanism.php]
| |
| *Author: Carl Leitner <litlfred@ibiblio.org>
| |
| *Since: v3.2.0
| |
| @filesource Class I2CE_Module_FormStorage_Mechanism
| |
| ==Constants==
| |
| ===I2CE_FormStorage_Mechanism::CHANGE_INITIAL===
| |
| Constant signifying an initial entry.
| |
| Defined as: 1
| |
| ===I2CE_FormStorage_Mechanism::CHANGE_VERIFY===
| |
| Constant signifying a verified entry.
| |
| Defined as: 2
| |
| ===I2CE_FormStorage_Mechanism::CHANGE_CORRECTION===
| |
| Constant signifying a corrected entry.
| |
| Defined as: 3
| |
| ===I2CE_FormStorage_Mechanism::CHANGE_UPDATE===
| |
| Constant signifying an updated entry.
| |
| Defined as: 4
| |
| ==Variables==
| |
| ===$name===
| |
| The short name for this storage mechanism
| |
| *Type: protected ng $name
| |
| | |
| ===$global_options===
| |
| *Type: protected $global_options
| |
| | |
| ===$ordering===
| |
| *Type: protected $ordering
| |
| | |
| ==Methods==
| |
| ===FF_IG_setSequence()===
| |
| Set FormField_INT_GENERATE sequence
| |
| *Signature: public function FF_IG_setSequence($form_field)
| |
| *Returns: [http://www.php.net/manual/en/language.types.boolean.php boolean ]
| |
| Parameters:
| |
| * [[Class: I2CE_FormField_INT_GENERATE | I2CE_FormField_INT_GENERATE]] $form_field
| |
| ===FF_populateHistory()===
| |
| populate FormField history. By default does nothing.
| |
| *Signature: public function FF_populateHistory($form_field)
| |
| Parameters:
| |
| * [[Class: I2CE_FormField | I2CE_FormField]] $form_field
| |
| ===FF_save()===
| |
| Save the FormField to the database.
| |
| *Signature: public function FF_save($form_field,$do_check,$user)
| |
| *Returns: [http://www.php.net/manual/en/language.types.boolean.php boolean ]
| |
| Parameters:
| |
| * [[Class: I2CE_FormField | I2CE_FormField]] $form_field
| |
| * [http://www.php.net/manual/en/language.types.boolean.php boolean ] $do_check<br/>: A flag to determine if a check should be made for the same value being saved.
| |
| * [[Class: I2CE_User | I2CE_User]] $user<br/>: The user saving this data.
| |
| ===__construct()===
| |
| The constructor for the storage mechanism
| |
| the same across all all forms which share a commone storage mechanisms
| |
| *Signature: public function __construct($name,$global_options)
| |
| Parameters:
| |
| * [http://www.php.net/manual/en/language.types.string.php string ] $name
| |
| * [http://www.php.net/manual/en/language.types.array.php array ] $global_options<br/>Default to empty array. The array of options that are
| |
| **Default Value: array()
| |
| ===compareFormsByFields()===
| |
| Compares two forms to see which is greater based on the field ordering set in $this->ordering
| |
| @param $form1
| |
| @param $form2
| |
| *Signature: protected function compareFormsByFields($form1,$form2)
| |
| *Returns: [http://www.php.net/manual/en/language.types.integer.php int ]
| |
| Parameters:
| |
| *$form1
| |
| *$form2
| |
| ===delete()===
| |
| Deletes a form from the entry tables.
| |
| table. default: false
| |
| *Signature: public function delete($form,$transact,$complete,$deleted_records)
| |
| *Returns: [http://www.php.net/manual/en/language.types.boolean.php boolean ]
| |
| Parameters:
| |
| * [[Class: I2CE_Form | I2CE_Form]] $form
| |
| * [http://www.php.net/manual/en/language.types.boolean.php boolean ] $transact<br/>: a flag to use transactions or not. default: true
| |
| * [http://www.php.net/manual/en/language.types.boolean.php boolean ] $complete<br/>: a flag to determine if a complete delete should happen. default: false
| |
| * [http://www.php.net/manual/en/language.types.boolean.php boolean ] $deleted_records<br/>: a flag to determine if the record should not go to the deleted_records
| |
| ===getFormsById()===
| |
| Generates a SQL to select the required fields.
| |
| 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.
| |
| If it is as an array of two integers, it is the offset and then number of results to limit to.
| |
| @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"
| |
| *Signature: public function getFormsById($form,$parent,$where_data,$ordering,$limit)
| |
| *Returns: [http://www.php.net/manual/en/language.types.array.php array ] with keys id's and values the I2CE_Form instance.
| |
| Parameters:
| |
| * [http://www.php.net/manual/en/language.types.string.php string ] $form<br/>The form we are select from
| |
| * [http://www.php.net/manual/en/language.types.boolean.php boolean ] $parent<br/>Defaults to false. If true, we include the parent id as a referenced field.
| |
| * [http://www.php.net/manual/en/language.pseudo-types.php mixed ] $where_data<br/>array or class implementing ArrayAccess, Iterator, and Countable (e.g. MagicDataNode) . the where data.
| |
| **Default Value: array()
| |
| * [http://www.php.net/manual/en/language.types.array.php array ] $ordering<br/>An array of fields to order by. Defaults to the empty array. Prepend a - to order by in descending order.
| |
| **Default Value: array()
| |
| * [http://www.php.net/manual/en/language.pseudo-types.php mixed ] $limit<br/>Defaults to false. It true, returns only one result. If an integer it is the numeber of records to limit to.
| |
| **Default Value: false
| |
| ===getIdsAsChild()===
| |
| Gets the id's for the given child for this form.
| |
| @param array/string: an optional orderBy array of fields
| |
| @param array where
| |
| @param integer: A limit of the number of children ids to return
| |
| *Signature: public function getIdsAsChild($form_name,$parent_form_id,$order_by,$where,$limit)
| |
| *Returns: [http://www.php.net/manual/en/language.types.array.php array ]
| |
| Parameters:
| |
| * [http://www.php.net/manual/en/language.types.string.php string ] $form_name
| |
| * [http://www.php.net/manual/en/language.pseudo-types.php mixed ] $parent_form_id<br/>the prent form id
| |
| *$order_by
| |
| *$where
| |
| *$limit
| |
| ===getLimitedFields()===
| |
| *Signature: protected function getLimitedFields($expr)
| |
| Parameters:
| |
| *$expr
| |
| ===getRecords()===
| |
| Return an array of all the record ids for a given form.
| |
| *Signature: abstract public function getRecords($form)
| |
| *Returns: [http://www.php.net/manual/en/language.types.array.php array ]
| |
| Parameters:
| |
| * [http://www.php.net/manual/en/language.types.string.php string ] $form
| |
| ===isWritable()===
| |
| Checks to see if this storage mechansim implements the writing methods.
| |
| You need to override this in a subclass that implements writable
| |
| *Signature: abstract public function isWritable()
| |
| *Returns: [http://www.php.net/manual/en/language.types.boolean.php boolean ]
| |
| ===listDisplayFields()===
| |
| and then we get all forms with parent the given id. If true, we return the parent as one of the fields.
| |
| 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: public function listDisplayFields($form,$fields,$parent,$where_data,$ordering,$limit,$mod_time)
| |
| *Returns: [http://www.php.net/manual/en/language.pseudo-types.php 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:
| |
| * [http://www.php.net/manual/en/language.types.string.php string ] $form<br/>THe form name
| |
| * [http://www.php.net/manual/en/language.types.array.php array ] $fields<br/>of string. The fields we want returned
| |
| * [http://www.php.net/manual/en/language.types.boolean.php boolean ] $parent<br/>Defaults to false. If it is scalar and non-boolean, it is consider to be the ID of the parent,
| |
| **Default Value: false
| |
| * [http://www.php.net/manual/en/language.types.array.php array ] $where_data<br/>contains the where clause information about this form or a nested
| |
| **Default Value: array()
| |
| * [http://www.php.net/manual/en/language.types.array.php array ] $ordering<br/>An array of fields to order by. Defaults to the empty array. Prepend a - to order by in descending order.
| |
| **Default Value: array()
| |
| * [http://www.php.net/manual/en/language.pseudo-types.php mixed ] $limit<br/>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<br/>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 true, we return the parent as one of the fields.
| |
| 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: public function listFields($form,$fields,$parent,$where_data,$ordering,$limit,$mod_time)
| |
| *Returns: [http://www.php.net/manual/en/language.pseudo-types.php 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:
| |
| * [http://www.php.net/manual/en/language.types.string.php string ] $form<br/>THe form name
| |
| * [http://www.php.net/manual/en/language.types.array.php array ] $fields<br/>of string. The fields we want returned
| |
| * [http://www.php.net/manual/en/language.types.boolean.php boolean ] $parent<br/>Defaults to false. If it is scalar and non-boolean, it is consider to be the ID of the parent,
| |
| **Default Value: false
| |
| * [http://www.php.net/manual/en/language.types.array.php array ] $where_data<br/>contains the where clause information about this form or a nested
| |
| **Default Value: array()
| |
| * [http://www.php.net/manual/en/language.types.array.php array ] $ordering<br/>An array of fields to order by. Defaults to the empty array. Prepend a - to order by in descending order.
| |
| **Default Value: array()
| |
| * [http://www.php.net/manual/en/language.pseudo-types.php mixed ] $limit<br/>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<br/>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 description 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 cache and returns it.
| |
| than one. If false, returns the values as an array.
| |
| *Signature: public function lookupDisplayField($form,$id,$fields,$delim)
| |
| *Returns: [http://www.php.net/manual/en/language.types.string.php string ] false on failure
| |
| Parameters:
| |
| * [http://www.php.net/manual/en/language.types.string.php string ] $form<br/>The name of the form in the database.
| |
| * integer $id<br/>The code of the entry to lookup.
| |
| * [http://www.php.net/manual/en/language.types.array.php array ] $fields<br/>A list of fields to look up and return.
| |
| * [http://www.php.net/manual/en/language.types.string.php string ] $delim<br/>The delimiter to put between returned fields if there are more
| |
| ===lookupField()===
| |
| Looks up the description 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 cache and returns it.
| |
| than one. If false, returns the values as an array.
| |
| *Signature: public function lookupField($form,$id,$fields,$delim)
| |
| *Returns: [http://www.php.net/manual/en/language.types.string.php string ] false on failure
| |
| Parameters:
| |
| * [http://www.php.net/manual/en/language.types.string.php string ] $form<br/>The name of the form in the database.
| |
| * integer $id<br/>The code of the entry to lookup.
| |
| * [http://www.php.net/manual/en/language.types.array.php array ] $fields<br/>A list of fields to look up and return.
| |
| * [http://www.php.net/manual/en/language.types.string.php string ] $delim<br/>The delimiter to put between returned fields if there are more
| |
| ===populate()===
| |
| Populate the member variables of the object from the database.
| |
| *Signature: abstract public function populate($form)
| |
| Parameters:
| |
| * [[Class: I2CE_Form | I2CE_Form]] $form
| |
| ===populateHistory()===
| |
| Populate the member variables of the object from the database.
| |
| *Signature: public function populateHistory($form)
| |
| Parameters:
| |
| * [[Class: I2CE_Form | I2CE_Form]] $form
| |
| ===save()===
| |
| Save a form object into entry tables.
| |
| If this functio is over-written, it should include the fuzzy method call
| |
| foreach ($form as $field) {
| |
| $field->save(true/false, $user)
| |
| }
| |
| *Signature: public function save($form,$user,$transact)
| |
| Parameters:
| |
| * [[Class: I2CE_Form | I2CE_Form]] $form
| |
| * [[Class: I2CE_User | I2CE_User]] $user
| |
| * [http://www.php.net/manual/en/language.types.boolean.php boolean ] $transact
| |
| ===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: public function search($form,$parent,$where_data,$ordering,$limit)
| |
| *Returns: [http://www.php.net/manual/en/language.pseudo-types.php 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:
| |
| * [http://www.php.net/manual/en/language.types.string.php string ] $form<br/>The form name.
| |
| * [http://www.php.net/manual/en/language.types.boolean.php boolean ] $parent<br/>Defaults to false. If it is scalar and non-boolean, it is consider to be the ID of the parent,
| |
| **Default Value: false
| |
| * [http://www.php.net/manual/en/language.pseudo-types.php mixed ] $where_data<br/>array or class implementing ArrayAccess, Iterator, and Countable (e.g. MagicDataNode) . the where data.
| |
| **Default Value: array()
| |
| * [http://www.php.net/manual/en/language.types.array.php array ] $ordering<br/>An array of fields to order by. Defaults to the empty array. Prepend a - to order by in descending order.
| |
| **Default Value: array()
| |
| * [http://www.php.net/manual/en/language.pseudo-types.php mixed ] $limit<br/>Defaults to false. It true, returns only one result. If an integer it is the numeber of records to limit to.
| |
| **Default Value: false
| |
| ==Inherited Fuzzy Methods==
| |
| ===userMessage()===
| |
| This method is inherited from [[Class: I2CE_Fuzzy#userMessage() | I2CE_Fuzzy->userMessage()]]
| |
| | |
| | |
| [[Category:Class Documentation]]
| |