From: <ral...@us...> - 2011-07-29 10:56:03
|
Author: ralfbecker Date: Fri Jul 29 12:55:56 2011 New Revision: 35840 URL: http://svn.stylite.de/viewvc/egroupware?rev=35840&view=rev Log: HTTP_WebDAV_Server 1.0.0RC6 changes: set default host name if just a destination path is given instead of a full URL (PEAR bug #12500) Modified: trunk/egw-pear/HTTP/WebDAV/Server.php Modified: trunk/egw-pear/HTTP/WebDAV/Server.php URL: http://svn.stylite.de/viewvc/egroupware/trunk/egw-pear/HTTP/WebDAV/Server.php?rev=35840&r1=35839&r2=35840&view=diff ============================================================================== --- trunk/egw-pear/HTTP/WebDAV/Server.php (original) +++ trunk/egw-pear/HTTP/WebDAV/Server.php Fri Jul 29 12:55:56 2011 @@ -1943,13 +1943,20 @@ $options["depth"] = "infinity"; } + $http_header_host = preg_replace("/:80$/", "", $this->_SERVER["HTTP_HOST"]); + $url = parse_url($this->_SERVER["HTTP_DESTINATION"]); $path = urldecode($url["path"]); - $http_host = $url["host"]; - if (isset($url["port"]) && $url["port"] != 80) - $http_host.= ":".$url["port"]; - - $http_header_host = preg_replace("/:80$/", "", $this->_SERVER["HTTP_HOST"]); + + if (isset($url["host"])) { + // TODO check url scheme, too + $http_host = $url["host"]; + if (isset($url["port"]) && $url["port"] != 80) + $http_host.= ":".$url["port"]; + } else { + // only path given, set host to self + $http_host == $http_header_host; + } if ($http_host == $http_header_host && !strncmp($this->_SERVER["SCRIPT_NAME"], $path, |