protected function decodePostVarSets($pageId, array &$pathSegments) { $requestVariables = array(); if (count($pathSegments) > 0) { $allPostVarSets = array_filter((array) $this->configuration->get('postVarSets')); $postVarSets = $this->getConfigurationForPostVars($allPostVarSets, $pageId); $previousValue = ''; while (count($pathSegments) > 0) { $postVarSetKey = array_shift($pathSegments); if (!isset($postVarSets[$postVarSetKey]) || !is_array($postVarSets[$postVarSetKey])) { $this->handleNonExistingPostVarSet($pageId, $postVarSetKey, $pathSegments); } else { $postVarSetConfiguration = $postVarSets[$postVarSetKey]; // Note: we do not support aliases for postVarSets! if (is_array($postVarSetConfiguration)) { foreach ($postVarSetConfiguration as $postVarConfiguration) { $this->decodeSingleVariable($postVarConfiguration, $pathSegments, $requestVariables, $previousValue); } } } } } return $requestVariables; }