forked from extern/egroupware
Fixed SQL error now giving an exception: it's caused by
vfs_stream_wrapper::get_path() returning an url without path (sqlfs://default <-- no trailing slash), which causes sqlfs_stream_wrapper::url_stat() to be called for an empty path, which gives the sql error.
This commit is contained in:
parent
9a5c0f8d9c
commit
078edd98fd
@ -969,6 +969,10 @@ class sqlfs_stream_wrapper implements iface_stream_wrapper
|
|||||||
{
|
{
|
||||||
$path = substr($path,0,-1);
|
$path = substr($path,0,-1);
|
||||||
}
|
}
|
||||||
|
if (empty($path))
|
||||||
|
{
|
||||||
|
return false; // is invalid and gives sql error
|
||||||
|
}
|
||||||
// check if we already have the info from the last dir_open call, as the old vfs reads it anyway from the db
|
// check if we already have the info from the last dir_open call, as the old vfs reads it anyway from the db
|
||||||
if (self::$stat_cache && isset(self::$stat_cache[$path]) && (is_null($eacl_access) || self::$stat_cache[$path] !== false))
|
if (self::$stat_cache && isset(self::$stat_cache[$path]) && (is_null($eacl_access) || self::$stat_cache[$path] !== false))
|
||||||
{
|
{
|
||||||
|
@ -1018,15 +1018,19 @@ class vfs_stream_wrapper implements iface_stream_wrapper
|
|||||||
*/
|
*/
|
||||||
static protected function get_path($path,$only_remove_scheme=self::SCHEME)
|
static protected function get_path($path,$only_remove_scheme=self::SCHEME)
|
||||||
{
|
{
|
||||||
if ($path[0] != '/' && (!$only_remove_scheme || parse_url($path,PHP_URL_SCHEME) == $only_remove_scheme))
|
$url_parts = parse_url($path);
|
||||||
|
if ($path[0] != '/' && (!$only_remove_scheme || $url_parts['scheme'] == $only_remove_scheme))
|
||||||
{
|
{
|
||||||
$path = parse_url($path,PHP_URL_PATH);
|
$path = $url_parts['path'];
|
||||||
}
|
}
|
||||||
// remove trailing slashes eg. added by WebDAV
|
// remove trailing slashes eg. added by WebDAV
|
||||||
|
if ($url_parts['path'] != '/')
|
||||||
|
{
|
||||||
while (substr($path,-1) == '/' && $path != '/')
|
while (substr($path,-1) == '/' && $path != '/')
|
||||||
{
|
{
|
||||||
$path = substr($path,0,-1);
|
$path = substr($path,0,-1);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
return $path;
|
return $path;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user