+
+ /**
+ * Re-build an URL parts array generated by parse_url()
+ *
+ * @param string $parts Array of URL parts
+ *
+ * @return string URL
+ */
+ protected static function http_build_url($parts)
+ {
+ $scheme = isset($parts['scheme'])
+ ? $parts['scheme'] . '://' : '';
+ $host = isset($parts['host'])
+ ? $parts['host'] : '';
+ $port = isset($parts['port'])
+ ? ':' . $parts['port'] : '';
+ $user = isset($parts['user'])
+ ? $parts['user'] : '';
+ $pass = isset($parts['pass'])
+
+ ? ':' . $parts['pass'] : '';
+ $pass = ($user || $pass)
+ ? "$pass@" : '';
+ $path = isset($parts['path'])
+ ? $parts['path'] : '';
+ $query = isset($parts['query'])
+ ? '?' . $parts['query'] : '';
+ $fragment = isset($parts['fragment'])
+ ? '#' . $parts['fragment'] : '';
+ return "$scheme$user$pass$host$port$path$query$fragment";
+ }