diff --git a/3rdparty/smb4php/smb.php b/3rdparty/smb4php/smb.php index c50b26b935eba0a6d6ad7524a73f6be411a80837..c080c1b590fd2409c3d1178f152de774de4d5af7 100644 --- a/3rdparty/smb4php/smb.php +++ b/3rdparty/smb4php/smb.php @@ -229,6 +229,8 @@ class smb { } function addstatcache ($url, $info) { + $url = str_replace('//', '/', $url); + $url = rtrim($url, '/'); global $__smb_cache; $is_file = (strpos ($info['attr'],'D') === FALSE); $s = ($is_file) ? stat ('/etc/passwd') : stat ('/tmp'); @@ -238,11 +240,15 @@ class smb { } function getstatcache ($url) { + $url = str_replace('//', '/', $url); + $url = rtrim($url, '/'); global $__smb_cache; return isset ($__smb_cache['stat'][$url]) ? $__smb_cache['stat'][$url] : FALSE; } function clearstatcache ($url='') { + $url = str_replace('//', '/', $url); + $url = rtrim($url, '/'); global $__smb_cache; if ($url == '') $__smb_cache['stat'] = array (); else unset ($__smb_cache['stat'][$url]); } @@ -358,16 +364,22 @@ class smb_stream_wrapper extends smb { # cache function adddircache ($url, $content) { + $url = str_replace('//', '/', $url); + $url = rtrim($url, '/'); global $__smb_cache; return $__smb_cache['dir'][$url] = $content; } function getdircache ($url) { + $url = str_replace('//', '/', $url); + $url = rtrim($url, '/'); global $__smb_cache; return isset ($__smb_cache['dir'][$url]) ? $__smb_cache['dir'][$url] : FALSE; } function cleardircache ($url='') { + $url = str_replace('//', '/', $url); + $url = rtrim($url, '/'); global $__smb_cache; if ($url == ''){ $__smb_cache['dir'] = array ();