BxDolJoinProcessor::genHiddenFieldsArray PHP Method

genHiddenFieldsArray() public method

public genHiddenFieldsArray ( $aHiddenFields = [] )
    function genHiddenFieldsArray($aHiddenFields = array())
    {
        //retrieve next page
        $iPageInd = (int) array_search($this->iPage, $this->aPages);
        $iNextInd = $iPageInd + 1;
        if (array_key_exists($iNextInd, $this->aPages)) {
            $sNextPage = $this->aPages[$iNextInd];
        } else {
            $sNextPage = 'done';
        }
        // insert next page
        $aHiddenFields['join_page'] = $sNextPage;
        //echoDbg( $this -> aValues );
        // insert entered values
        $iHumans = $this->bCouple ? 2 : 1;
        for ($iHuman = 0; $iHuman < $iHumans; $iHuman++) {
            foreach ($this->aPages as $iPage) {
                if ($iPage == $this->iPage) {
                    break;
                }
                // we are on this page
                $aBlocks = $this->oPF->aArea[$iPage];
                foreach ($aBlocks as $aBlock) {
                    foreach ($aBlock['Items'] as $aItem) {
                        $sItemName = $aItem['Name'];
                        if (isset($this->aValues[$iHuman][$sItemName])) {
                            $mValue = $this->aValues[$iHuman][$sItemName];
                            switch ($aItem['Type']) {
                                case 'pass':
                                    $aHiddenFields[$sItemName . '_confirm[' . $iHuman . ']'] = $mValue;
                                case 'text':
                                case 'area':
                                case 'html_area':
                                case 'date':
                                case 'datetime':
                                case 'select_one':
                                case 'num':
                                    $aHiddenFields[$sItemName . '[' . $iHuman . ']'] = $mValue;
                                    break;
                                case 'select_set':
                                    foreach ($mValue as $iInd => $sValue) {
                                        $aHiddenFields[$sItemName . '[' . $iHuman . '][' . $iInd . ']'] = $sValue;
                                    }
                                    break;
                                case 'range':
                                    $aHiddenFields[$sItemName . '[' . $iHuman . '][0]'] = $mValue[0];
                                    $aHiddenFields[$sItemName . '[' . $iHuman . '][1]'] = $mValue[1];
                                    break;
                                case 'bool':
                                    $aHiddenFields[$sItemName . '[' . $iHuman . ']'] = $mValue ? 'yes' : '';
                                    break;
                                case 'system':
                                    switch ($aItem['Name']) {
                                        case 'Couple':
                                        case 'TermsOfUse':
                                            $aHiddenFields[$sItemName] = $mValue ? 'yes' : '';
                                            break;
                                        case 'Captcha':
                                            $aHiddenFields[$sItemName] = $mValue;
                                            break;
                                        case 'ProfilePhoto':
                                            $aHiddenFields['ProfilePhoto_tmp'] = $mValue;
                                            break;
                                    }
                                    break;
                            }
                        }
                    }
                }
            }
        }
        return $aHiddenFields;
    }