Removed anonymous function to support PHP 5.2

This commit is contained in:
Evan Seguin
2012-08-14 11:50:39 -07:00
parent 2ca6703c69
commit eff530a5fa

View File

@@ -32,18 +32,26 @@ class UrlUtils {
$parameters = array(); $parameters = array();
} }
// Remove null parameters // Remove null parameters
$parameters = array_filter($parameters, function($value) { return !is_null($value); }); $keys = array_keys($parameters);
for ($i = 0;$i<count($keys);$i++) {
$key = $keys[$i];
if ($parameters[$key] === null) {
unset($parameters[$key]);
} else {
$parameters[$key] = (string)$parameters[$key];
}
}
$finalUrl = $url; $finalUrl = $url;
$matches = null; $matches = null;
$match = preg_match_all(PLACEHOLDER_REGEX, $url, $matches); $match = preg_match_all(PLACEHOLDER_REGEX, $url, $matches);
if (!empty($matches) && count($matches) > 1) { if (!empty($matches) && count($matches) > 1) {
$bracketedMatches = $matches[0]; $bracketedMatches = $matches[0];
$plainMatches = $matches[1]; $plainMatches = $matches[1];
foreach ($plainMatches as $index => $key) { foreach ($plainMatches as $index => $key) {
if (array_key_exists($key, $parameters)) { if (array_key_exists($key, $parameters)) {
$finalUrl = str_replace($bracketedMatches[$index], rawurlencode($parameters[$key]), $finalUrl); $finalUrl = str_replace($bracketedMatches[$index], rawurlencode($parameters[$key]), $finalUrl);
unset($parameters[$key]); unset($parameters[$key]);
} else { } else {
$finalUrl = preg_replace("/&?[\w]*=?\{" . $key . "\}/", "", $finalUrl); $finalUrl = preg_replace("/&?[\w]*=?\{" . $key . "\}/", "", $finalUrl);
@@ -76,7 +84,7 @@ class UrlUtils {
foreach ($queryStringParameters as $queryStringParameter) { foreach ($queryStringParameters as $queryStringParameter) {
$queryStringParameterParts = explode("=", $queryStringParameter); $queryStringParameterParts = explode("=", $queryStringParameter);
if (count($queryStringParameterParts) > 1) { if (count($queryStringParameterParts) > 1) {
list($paramKey, $paramValue) = $queryStringParameterParts; list($paramKey, $paramValue) = $queryStringParameterParts;
if (!self::isPlaceHolder($paramValue)) { if (!self::isPlaceHolder($paramValue)) {
$parameters[$paramKey] = $paramValue; $parameters[$paramKey] = $paramValue;
} }