function _getElNamesRecursive($element) {
        if (is_string($element)) {
            if (!$this->elementExists($element)) {
                return array();
            }
            $element = $this->getElement($element);
        }

        if (is_a($element, 'HTML_QuickForm_group')) {
            $elsInGroup = $element->getElements();
            $elNames = array();
            foreach ($elsInGroup as $elInGroup){
                if (is_a($elInGroup, 'HTML_QuickForm_group')) {
                    // Groups nested in groups: append the group name to the element and then change it back.
                    // We will be appending group name again in MoodleQuickForm_group::export_for_template().
                    $oldname = $elInGroup->getName();
                    if ($element->_appendName) {
                        $elInGroup->setName($element->getName() . '[' . $oldname . ']');
                    }
                    $elNames = array_merge($elNames, $this->_getElNamesRecursive($elInGroup));
                    $elInGroup->setName($oldname);
                } else {
                    $elNames[] = $element->getElementName($elInGroup->getName());
                }
            }

        } else if (is_a($element, 'HTML_QuickForm_header')) {
            return array();

        } else if (is_a($element, 'HTML_QuickForm_hidden')) {
            return array();

        } else if (method_exists($element, 'getPrivateName') &&
                !($element instanceof HTML_QuickForm_advcheckbox)) {
            // The advcheckbox element implements a method called getPrivateName,
            // but in a way that is not compatible with the generic API, so we
            // have to explicitly exclude it.
            return array($element->getPrivateName());

        } else {
            $elNames = array($element->getName());
        }

        return $elNames;
    }
function _getElNamesRecursive($element) {
        if (is_string($element)) {
            if (!$this->elementExists($element)) {
                return array();
            }
            $element = $this->getElement($element);
        }

        if (is_a($element, 'HTML_QuickForm_group')) {
            $elsInGroup = $element->getElements();
            $elNames = array();
            foreach ($elsInGroup as $elInGroup){
                if (is_a($elInGroup, 'HTML_QuickForm_group')) {
                    // Groups nested in groups: append the group name to the element and then change it back.
                    // We will be appending group name again in MoodleQuickForm_group::export_for_template().
                    $oldname = $elInGroup->getName();
                    if ($element->_appendName) {
                        $elInGroup->setName($element->getName() . '[' . $oldname . ']');
                    }
                    $elNames = array_merge($elNames, $this->_getElNamesRecursive($elInGroup));
                    $elInGroup->setName($oldname);
                } else {
                    $elNames[] = $element->getElementName($elInGroup->getName());
                }
            }

        } else if (is_a($element, 'HTML_QuickForm_header')) {
            return array();

        } else if (is_a($element, 'HTML_QuickForm_hidden')) {
            return array();

        } else if (method_exists($element, 'getPrivateName') &&
                !($element instanceof HTML_QuickForm_advcheckbox)) {
            // The advcheckbox element implements a method called getPrivateName,
            // but in a way that is not compatible with the generic API, so we
            // have to explicitly exclude it.
            return array($element->getPrivateName());

        } else {
            $elNames = array($element->getName());
        }

        return $elNames;
    }
function _getElNamesRecursive ( $ element ) { if ( is_string ( $ element ) ) { if ( ! $ this -> elementExists ( $ element ) ) { return array ( ) ; } $ element = $ this -> getElement ( $ element ) ; } if ( is_a ( $ element , 'HTML_QuickForm_group' ) ) { $ elsInGroup = $ element -> getElements ( ) ; $ elNames = array ( ) ; foreach ( $ elsInGroup as $ elInGroup ) { if ( is_a ( $ elInGroup , 'HTML_QuickForm_group' ) ) { // Groups nested in groups: append the group name to the element and then change it back. // We will be appending group name again in MoodleQuickForm_group::export_for_template(). $ oldname = $ elInGroup -> getName ( ) ; if ( $ element -> _appendName ) { $ elInGroup -> setName ( $ element -> getName ( ) . '[' . $ oldname . ']' ) ; } $ elNames = array_merge ( $ elNames , $ this -> _getElNamesRecursive ( $ elInGroup ) ) ; $ elInGroup -> setName ( $ oldname ) ; } else { $ elNames [ ] = $ element -> getElementName ( $ elInGroup -> getName ( ) ) ; } } } else if ( is_a ( $ element , 'HTML_QuickForm_header' ) ) { return array ( ) ; } else if ( is_a ( $ element , 'HTML_QuickForm_hidden' ) ) { return array ( ) ; } else if ( method_exists ( $ element , 'getPrivateName' ) && ! ( $ element instanceof HTML_QuickForm_advcheckbox ) ) { // The advcheckbox element implements a method called getPrivateName, // but in a way that is not compatible with the generic API, so we // have to explicitly exclude it. return array ( $ element -> getPrivateName ( ) ) ; } else { $ elNames = array ( $ element -> getName ( ) ) ; } return $ elNames ; }
Get names of element or elements in a group.

@param HTML_QuickForm_group|element $element element group or element object
@return array
Get names of element or elements in a group .