src/Ease/Html/Form.php
public function changeActionParameter($parametersToChange, $replace = true)
    {
        if (is_array($parametersToChange) && count($parametersToChange)) {
            foreach ($parametersToChange as $paramName => $paramValue) {
                if ($paramValue === true) {
                    unset($parametersToChange[$paramName]);
                }
            }
            $targetParts        = explode('&',
                str_replace('&&', '&', str_replace('?', '&', $this->formTarget)));
            $formTargetComputed = '';
            if (is_array($targetParts) && count($targetParts)) {
                $targetPartsValues = [];
                foreach ($targetParts as $targetPart) {
                    if (!strstr($targetPart, '=')) {
                        $formTargetComputed .= $targetPart;
                        continue;
                    }
                    list($targetPartName, $targetPartValue) = explode('=',
                        $targetPart);
                    if ($targetPartValue === true) {
                        continue;
                    }
                    $targetPartsValues[$targetPartName] = $targetPartValue;
                }
            }
            if ($replace === true) {
                $newTargPartVals = array_merge($targetPartsValues,
                    $parametersToChange);
            } else {
                $newTargPartVals = array_merge($parametersToChange,
                    $targetPartsValues);
            }
            $glueSign = '?';
            foreach ($newTargPartVals as $newTargetPartsValName => $newTargetPartsValue) {
                $formTargetComputed .= $glueSign.urlencode($newTargetPartsValName).'='.urlencode($newTargetPartsValue);
                $glueSign           = '&';
            }
            $this->setFormTarget($formTargetComputed);
        }
    }
public function changeActionParameter($parametersToChange, $replace = true)
    {
        if (is_array($parametersToChange) && count($parametersToChange)) {
            foreach ($parametersToChange as $paramName => $paramValue) {
                if ($paramValue === true) {
                    unset($parametersToChange[$paramName]);
                }
            }
            $targetParts        = explode('&',
                str_replace('&&', '&', str_replace('?', '&', $this->formTarget)));
            $formTargetComputed = '';
            if (is_array($targetParts) && count($targetParts)) {
                $targetPartsValues = [];
                foreach ($targetParts as $targetPart) {
                    if (!strstr($targetPart, '=')) {
                        $formTargetComputed .= $targetPart;
                        continue;
                    }
                    list($targetPartName, $targetPartValue) = explode('=',
                        $targetPart);
                    if ($targetPartValue === true) {
                        continue;
                    }
                    $targetPartsValues[$targetPartName] = $targetPartValue;
                }
            }
            if ($replace === true) {
                $newTargPartVals = array_merge($targetPartsValues,
                    $parametersToChange);
            } else {
                $newTargPartVals = array_merge($parametersToChange,
                    $targetPartsValues);
            }
            $glueSign = '?';
            foreach ($newTargPartVals as $newTargetPartsValName => $newTargetPartsValue) {
                $formTargetComputed .= $glueSign.urlencode($newTargetPartsValName).'='.urlencode($newTargetPartsValue);
                $glueSign           = '&';
            }
            $this->setFormTarget($formTargetComputed);
        }
    }
Změní jeden nebo více parametrů v ACTION url formuláře.

@param array $parametersToChange pole parametrů
@param bool  $replace            přepisovat již existující