public function get_url(array $parameters, array $to_remove = array()) { $url_params = $this->get_parameters(); foreach ($parameters as $parameter => $value) { $url_params[$parameter] = $value; } foreach ($to_remove as $param) { unset($url_params[$param]); } $query_args = array(); foreach ($this->query_args as $query_arg => $value) { if (is_array($value)) { $value = implode(',', $value); } if ($value == strip_tags($value)) { // Check if value doesn't contain HTML (XSS protection) $query_args[] = $query_arg . '=' . $value; } } $query_args[] = $this->arg_id . '=' . UrlSerializedParameterEncoder::encode($url_params); return '?' . implode('&', $query_args); }
private static function assertSerializeEquals($unserialized_map, $serialized_string) { self::assertEquals($serialized_string, UrlSerializedParameterEncoder::encode($unserialized_map)); }