protected function parseConfigurations(array $forms)
    {
        // get count of elements
        $countForms = count($forms[0]);

        // iterate single form(s) and prepare data
        for ($i = 0; $i < $countForms; ++$i) {

            // extract properties of form
            $properties = $this->parsePropertiesFromHtml($forms[1][$i]);

            // build new structure
            $configuration = $this->prepareStructureAndData($properties);

            // get Id
            $id = $this->getId($configuration['properties']);

            // store info about current processed form
            #$this->_currentForm = $id;

            // inject Id
            $configuration['properties']['id'] = $id;

            // build identifier for template
            $templateIdentifier = $this->buildTemplateIdentifier($id);

            // SO we know which form is processed so insert placeholder for this
            // form into input html and store it as template
            $this->template = str_replace(
                $forms[1][$i], // lookup  @was $forms[0][$i]
                $templateIdentifier, // replace
                $this->template // subject
            );

            // store in result
            $setup = [
                'form'     => [['tag' => 'form', 'properties' => $configuration['properties']]],
                'elements' => [],
            ];

            // now parse elements from inside <form>
            $elements = $this->parseFormTagsFromHtml($forms[2][$i]);

            // now parse element configuration
            $setup['elements'] = $this->parseElements($elements);

            $result[] = $setup;
        }

        return $result;
    }
protected function parseConfigurations(array $forms)
    {
        // get count of elements
        $countForms = count($forms[0]);

        // iterate single form(s) and prepare data
        for ($i = 0; $i < $countForms; ++$i) {

            // extract properties of form
            $properties = $this->parsePropertiesFromHtml($forms[1][$i]);

            // build new structure
            $configuration = $this->prepareStructureAndData($properties);

            // get Id
            $id = $this->getId($configuration['properties']);

            // store info about current processed form
            #$this->_currentForm = $id;

            // inject Id
            $configuration['properties']['id'] = $id;

            // build identifier for template
            $templateIdentifier = $this->buildTemplateIdentifier($id);

            // SO we know which form is processed so insert placeholder for this
            // form into input html and store it as template
            $this->template = str_replace(
                $forms[1][$i], // lookup  @was $forms[0][$i]
                $templateIdentifier, // replace
                $this->template // subject
            );

            // store in result
            $setup = [
                'form'     => [['tag' => 'form', 'properties' => $configuration['properties']]],
                'elements' => [],
            ];

            // now parse elements from inside <form>
            $elements = $this->parseFormTagsFromHtml($forms[2][$i]);

            // now parse element configuration
            $setup['elements'] = $this->parseElements($elements);

            $result[] = $setup;
        }

        return $result;
    }
protected function parseConfigurations ( array $ forms ) { // get count of elements $ countForms = count ( $ forms [ 0 ] ) ; // iterate single form(s) and prepare data for ( $ i = 0 ; $ i < $ countForms ; ++ $ i ) { // extract properties of form $ properties = $ this -> parsePropertiesFromHtml ( $ forms [ 1 ] [ $ i ] ) ; // build new structure $ configuration = $ this -> prepareStructureAndData ( $ properties ) ; // get Id $ id = $ this -> getId ( $ configuration [ 'properties' ] ) ; // store info about current processed form #$this->_currentForm = $id; // inject Id $ configuration [ 'properties' ] [ 'id' ] = $ id ; // build identifier for template $ templateIdentifier = $ this -> buildTemplateIdentifier ( $ id ) ; // SO we know which form is processed so insert placeholder for this // form into input html and store it as template $ this -> template = str_replace ( $ forms [ 1 ] [ $ i ] , // lookup  @was $forms[0][$i] $ templateIdentifier , // replace $ this -> template // subject ) ; // store in result $ setup = [ 'form' => [ [ 'tag' => 'form' , 'properties' => $ configuration [ 'properties' ] ] ] , 'elements' => [ ] , ] ; // now parse elements from inside <form> $ elements = $ this -> parseFormTagsFromHtml ( $ forms [ 2 ] [ $ i ] ) ; // now parse element configuration $ setup [ 'elements' ] = $ this -> parseElements ( $ elements ) ; $ result [ ] = $ setup ; } return $ result ; }
Parses configuration-sets out of passed form-HTML.

@author Benjamin Carl <opensource@clickalicious.de>

@param array $forms

@return array The resulting structure
Parses configuration - sets out of passed form - HTML .