Instantiable class representing one optigroup element for conditional branching.
More...
|
| __construct ($name, $final_elements=null, $conditionparam=null, $conditionvalue=null) |
| Constructor - instantiates one backup_optigroup_element.
|
|
| add_add_optigroup ($optigroup) |
| Adding optigroups is forbidden.
|
|
| add_attributes ($attributes) |
| Adding attributes is forbidden.
|
|
| add_child ($element) |
|
| add_final_elements ($final_elements) |
|
| add_optigroup ($optigroup) |
|
| annotate_files ($component, $filearea, $elementname, $filesctxid=null) |
|
| annotate_ids ($itemname, $elementname) |
|
| clean_value () |
|
| clean_values () |
|
| condition_matches () |
| Evaluate the condition, returning if matches (true) or no (false)
|
|
| destroy () |
| Destroy all circular references.
|
|
| fill_values ($values) |
| Simple filler that, matching by name, will fill both attributes and final elements depending of this nested element, debugging info about non-matching elements and/or elements present in both places.
|
|
| get_attribute ($name) |
|
| get_attributes () |
| Public API starts here.
|
|
| get_child ($name) |
|
| get_children () |
|
| get_condition_param () |
|
| get_condition_value () |
|
| get_counter () |
|
| get_file_annotations () |
| Returns one array containing the element in the @backup_structure and the areas to be searched.
|
|
| get_final_element ($name) |
|
| get_final_elements () |
| Public API starts here.
|
|
| get_level () |
| Return the level of this element, that will be, the level of the parent (doesn't consume level) (note this os only a "cosmetic" effect (to_string) as fact as the real responsible for this is the corresponding structure_processor for the final output.
|
|
| get_logs () |
| Returns the logs.
|
|
| get_name () |
| Public API starts here.
|
|
| get_optigroup () |
|
| get_parent () |
|
| get_results () |
| Returns the results.
|
|
| get_source_array () |
|
| get_source_sql () |
|
| get_source_table () |
|
| get_source_table_sortby () |
|
| get_value () |
|
| is_set () |
|
| process ($processor) |
| process one optigroup_element
|
|
| set_condition ($conditionparam, $conditionvalue) |
| Sets the condition for this optigroup.
|
|
| set_source_alias ($dbname, $finalelementname) |
|
| set_source_array ($arr) |
|
| set_source_sql ($sql, $params) |
|
| set_source_table ($table, $params, $sortby=null) |
|
| set_value ($value) |
|
| to_string ($showvalue=false) |
|
|
| add_log ($message, $level, $a=null, $depth=null, $display=false) |
| Saves a log message to an array.
|
|
| add_result ($result) |
| Saves the results to an array.
|
|
| add_used ($element) |
|
| check_and_set_used ($element) |
|
| convert_sql_params ($params) |
|
| convert_table_params ($params) |
|
| find_element ($param) |
|
| find_element_by_path ($path) |
|
| find_first_parent_by_name ($name) |
|
| get_grandoptigroupelement_or_grandparent () |
|
| get_grandparent () |
|
| get_iterator ($processor) |
| Returns one PHP iterator over each "ocurrence" of this nested element (array or DB recordset).
|
|
| get_new_attribute ($name) |
| Instantiating attributes is forbidden.
|
|
| get_new_final_element ($name) |
| Returns one instace of the @final_element class to work with when final_elements are added simply by name.
|
|
| get_used () |
|
| set_parent ($element) |
| Set the parent of the optigroup_element and, at the same time, process the condition param.
|
|
| set_used ($used) |
|
| validate_name ($name) |
|
Instantiable class representing one optigroup element for conditional branching.
Objects of this class are internally nested elements, so they support having both final elements and children (more nested elements) and are able to have one source and all the stuff supported by nested elements. Their main differences are:
- Support for conditional execution, using simple equality checks with outer values.
- Don't have representation in the hierarchy, so:
- Their level is the level of the parent of their enclosing optigroup.
- Act as one "path bridge" when looking for parent path values
- They don't support attributes
Their main use is to allow conditional branching, basically for optional submodules like question types, assignment subtypes... where different subtrees of information must be exported. It's correct to assume that each submodule will define its own optigroup_element for backup purposes.