Instantiable class representing one optigroup element for conditional branching.
More...
|
| add_attributes ($attributes) |
| Adding attributes is forbidden.
|
|
| add_child ($element) |
|
| add_final_elements ($attributes) |
| Adding final elements is forbidden.
|
|
| add_optigroup ($optigroup) |
|
| clean_value () |
|
| clean_values () |
|
| destroy () |
| Destroy all circular references.
|
|
| get_attribute ($name) |
|
| get_attributes () |
| Public API starts here.
|
|
| get_child ($name) |
|
| get_children () |
|
| 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_name () |
| Public API starts here.
|
|
| get_optigroup () |
|
| get_parent () |
|
| get_value () |
|
| is_set () |
|
| process ($processor) |
| This function will call to the corresponding processor method in other to make them perform the desired tasks.
|
|
| set_value ($value) |
|
| to_string ($showvalue=false) |
|
|
| add_children ($elements) |
|
| add_used ($element) |
| Recalculate all the used elements in the optigroup, observing restrictions and passing the new used to outer level.
|
|
| check_and_set_used ($element) |
|
| find_element_by_path ($path) |
|
| find_first_parent_by_name ($name) |
|
| get_grandoptigroupelement_or_grandparent () |
|
| get_grandparent () |
|
| get_new_attribute ($name) |
| Instantiating attributes is forbidden.
|
|
| get_new_final_element ($name) |
| Instantiating final elements is forbidden.
|
|
| get_used () |
|
| is_multiple () |
|
| set_parent ($element) |
| Set the parent of the optigroup and, at the same time, process all the condition params in all the childs.
|
|
| set_used ($used) |
|
| validate_name ($name) |
|
Instantiable class representing one optigroup element for conditional branching.
- Copyright
- 2010 onwards Eloy Lafuente (stronk7)
- License
- http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
TODO: Finish phpdocs
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.