Skip to content
Snippets Groups Projects
Commit faf91600 authored by Jaime Perez Crespo's avatar Jaime Perez Crespo
Browse files

Move SimpleSAML_Utilities::parseQueryString() to...

Move SimpleSAML_Utilities::parseQueryString() to SimpleSAML\Utils\HTTP::parseQueryString() and deprecate the former.
parent 3703d50a
No related branches found
No related tags found
No related merge requests found
......@@ -939,33 +939,10 @@ class SimpleSAML_Utilities {
/**
* Parse a query string into an array.
*
* This function parses a query string into an array, similar to the way the builtin
* 'parse_str' works, except it doesn't handle arrays, and it doesn't do "magic quotes".
*
* Query parameters without values will be set to an empty string.
*
* @param $query_string The query string which should be parsed.
* @return The query string as an associative array.
* @deprecated This method will be removed in SSP 2.0. Please use SimpleSAML\Utils\HTTP::parseQueryString() instead.
*/
public static function parseQueryString($query_string) {
assert('is_string($query_string)');
$res = array();
foreach(explode('&', $query_string) as $param) {
$param = explode('=', $param);
$name = urldecode($param[0]);
if(count($param) === 1) {
$value = '';
} else {
$value = urldecode($param[1]);
}
$res[$name] = $value;
}
return $res;
return \SimpleSAML\Utils\HTTP::parseQueryString($query_string);
}
......
......@@ -87,4 +87,40 @@ class HTTP
}
return $port;
}
/**
* Parse a query string into an array.
*
* This function parses a query string into an array, similar to the way the builtin 'parse_str' works, except it
* doesn't handle arrays, and it doesn't do "magic quotes".
*
* Query parameters without values will be set to an empty string.
*
* @param string $query_string The query string which should be parsed.
*
* @return array The query string as an associative array.
* @throws \SimpleSAML_Error_Exception If $query_string is not a string.
*
* @author Olav Morken, UNINETT AS <olav.morken@uninett.no>
*/
public static function parseQueryString($query_string)
{
if (!is_string($query_string)) {
throw new \SimpleSAML_Error_Exception('Invalid input parameters');
}
$res = array();
foreach (explode('&', $query_string) as $param) {
$param = explode('=', $param);
$name = urldecode($param[0]);
if (count($param) === 1) {
$value = '';
} else {
$value = urldecode($param[1]);
}
$res[$name] = $value;
}
return $res;
}
}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment