app\helpers\Utility::getUrlQueryString PHP Method

getUrlQueryString() public static method

getUrlQueryString This method is able to return a complete url, including its GET variables, even if they have changes.
public static getUrlQueryString ( [array] $refine, [string] $key, [string] $value ) : [string]
$refine [array]
$key [string]
$value [string]
return [string]
    public static function getUrlQueryString($refine, $key, $value)
    {
        $query = '';
        $passed = false;
        foreach ($refine as $_key => $_value) {
            if ($_key != 'category_name') {
                //validating no category name in the url
                if ($_key == $key) {
                    $query .= $_key . '=' . urlencode($value) . '&';
                    $passed = true;
                } else {
                    //if there is a category the category value is built
                    $_value = $_key == 'category' ? $_value . '|' . $refine['category_name'] : $_value;
                    $query .= $_key . '=' . urlencode($_value) . '&';
                }
            }
        }
        /*
         * if it is a new var to be added, it is added at the end
         */
        if (!$passed) {
            $query .= $key . '=' . urlencode($value) . '&';
        }
        return rtrim($query, '&');
    }