fix IDE warnings

This commit is contained in:
Ralf Becker 2014-11-14 07:46:34 +00:00
parent 223455b7aa
commit 8787fe6774

View File

@ -139,18 +139,19 @@ class vfs_stream_wrapper implements iface_stream_wrapper
/** /**
* Resolve the given path according to our fstab AND symlinks * Resolve the given path according to our fstab AND symlinks
* *
* @param string $path * @param string $_path
* @param boolean $file_exists =true true if file needs to exists, false if not * @param boolean $file_exists =true true if file needs to exists, false if not
* @param boolean $resolve_last_symlink =true * @param boolean $resolve_last_symlink =true
* @param array|boolean &$stat=null on return: stat of existing file or false for non-existing files * @param array|boolean &$stat=null on return: stat of existing file or false for non-existing files
* @return string|boolean false if the url cant be resolved, should not happen if fstab has a root entry * @return string|boolean false if the url cant be resolved, should not happen if fstab has a root entry
*/ */
static function resolve_url_symlinks($path,$file_exists=true,$resolve_last_symlink=true,&$stat=null) static function resolve_url_symlinks($_path,$file_exists=true,$resolve_last_symlink=true,&$stat=null)
{ {
$path = self::get_path($path); $path = self::get_path($_path);
if (!($stat = self::url_stat($path,$resolve_last_symlink?0:STREAM_URL_STAT_LINK)) && !$file_exists) if (!($stat = self::url_stat($path,$resolve_last_symlink?0:STREAM_URL_STAT_LINK)) && !$file_exists)
{ {
$url = null;
$stat = self::check_symlink_components($path,0,$url); $stat = self::check_symlink_components($path,0,$url);
if (self::LOG_LEVEL > 1) $log = " (check_symlink_components('$path',0,'$url') = $stat)"; if (self::LOG_LEVEL > 1) $log = " (check_symlink_components('$path',0,'$url') = $stat)";
} }
@ -170,17 +171,17 @@ class vfs_stream_wrapper implements iface_stream_wrapper
/** /**
* Resolve the given path according to our fstab * Resolve the given path according to our fstab
* *
* @param string $path * @param string $_path
* @param boolean $do_symlink =true is a direct match allowed, default yes (must be false for a lstat or readlink!) * @param boolean $do_symlink =true is a direct match allowed, default yes (must be false for a lstat or readlink!)
* @param boolean $use_symlinkcache =true * @param boolean $use_symlinkcache =true
* @param boolean $replace_user_pass_host =true replace $user,$pass,$host in url, default true, if false result is not cached * @param boolean $replace_user_pass_host =true replace $user,$pass,$host in url, default true, if false result is not cached
* @return string|boolean false if the url cant be resolved, should not happen if fstab has a root entry * @return string|boolean false if the url cant be resolved, should not happen if fstab has a root entry
*/ */
static function resolve_url($path,$do_symlink=true,$use_symlinkcache=true,$replace_user_pass_host=true) static function resolve_url($_path,$do_symlink=true,$use_symlinkcache=true,$replace_user_pass_host=true)
{ {
static $cache = array(); static $cache = array();
$path = self::get_path($path); $path = self::get_path($_path);
// we do some caching here // we do some caching here
if (isset($cache[$path]) && $replace_user_pass_host) if (isset($cache[$path]) && $replace_user_pass_host)
@ -194,7 +195,7 @@ class vfs_stream_wrapper implements iface_stream_wrapper
$path = self::symlinkCache_resolve($path,$do_symlink); $path = self::symlinkCache_resolve($path,$do_symlink);
} }
// setting default user, passwd and domain, if it's not contained int the url // setting default user, passwd and domain, if it's not contained int the url
static $defaults; static $defaults=null;
if (is_null($defaults)) if (is_null($defaults))
{ {
$defaults = array( $defaults = array(
@ -252,7 +253,7 @@ class vfs_stream_wrapper implements iface_stream_wrapper
*/ */
static function mount_url($fullurl) static function mount_url($fullurl)
{ {
foreach(array_reverse(self::$fstab) as $mounted => $url) foreach(array_reverse(self::$fstab) as $url)
{ {
list($url_no_query) = explode('?',$url); list($url_no_query) = explode('?',$url);
if (substr($fullurl,0,1+strlen($url_no_query)) === $url_no_query.'/') if (substr($fullurl,0,1+strlen($url_no_query)) === $url_no_query.'/')
@ -284,8 +285,10 @@ class vfs_stream_wrapper implements iface_stream_wrapper
*/ */
function stream_open ( $path, $mode, $options, &$opened_path ) function stream_open ( $path, $mode, $options, &$opened_path )
{ {
unset($opened_path); // not used but required by function signature
$this->opened_stream = null; $this->opened_stream = null;
$stat = null;
if (!($url = self::resolve_url_symlinks($path,$mode[0]=='r',true,$stat))) if (!($url = self::resolve_url_symlinks($path,$mode[0]=='r',true,$stat)))
{ {
return false; return false;
@ -508,7 +511,7 @@ class vfs_stream_wrapper implements iface_stream_wrapper
$ret = stream_copy_to_stream($from,$to) !== false; $ret = stream_copy_to_stream($from,$to) !== false;
fclose($from); fclose($from);
fclose($to); fclose($to);
if ($ret) $ru = self::unlink($path_from); if ($ret) self::unlink($path_from);
} }
else else
{ {
@ -575,6 +578,7 @@ class vfs_stream_wrapper implements iface_stream_wrapper
*/ */
static function rmdir ( $path, $options ) static function rmdir ( $path, $options )
{ {
unset($options); // not uses but required by function signature
if (!($url = self::resolve_url_symlinks($path))) if (!($url = self::resolve_url_symlinks($path)))
{ {
return false; return false;
@ -661,6 +665,7 @@ class vfs_stream_wrapper implements iface_stream_wrapper
} }
else else
{ {
$time = null;
return $name($url,$time); return $name($url,$time);
} }
} }
@ -831,7 +836,7 @@ class vfs_stream_wrapper implements iface_stream_wrapper
$this->opened_dir_writable = egw_vfs::check_access($this->opened_dir_url,egw_vfs::WRITABLE); $this->opened_dir_writable = egw_vfs::check_access($this->opened_dir_url,egw_vfs::WRITABLE);
// check our fstab if we need to add some of the mountpoints // check our fstab if we need to add some of the mountpoints
$basepath = self::parse_url($path,PHP_URL_PATH); $basepath = self::parse_url($path,PHP_URL_PATH);
foreach(self::$fstab as $mounted => $url) foreach(array_keys(self::$fstab) as $mounted)
{ {
if (((egw_vfs::dirname($mounted) == $basepath || egw_vfs::dirname($mounted).'/' == $basepath) && $mounted != '/') && if (((egw_vfs::dirname($mounted) == $basepath || egw_vfs::dirname($mounted).'/' == $basepath) && $mounted != '/') &&
// only return children readable by the user, if dir is not writable // only return children readable by the user, if dir is not writable
@ -906,7 +911,7 @@ class vfs_stream_wrapper implements iface_stream_wrapper
$url = egw_vfs::PREFIX.$lpath; $url = egw_vfs::PREFIX.$lpath;
if (self::LOG_LEVEL > 1) error_log(__METHOD__."($path,$flags) symlif (substr($path,-1) == '/' && $path != '/') $path = substr($path,0,-1); // remove trailing slash eg. added by WebDAVink found and resolved to $url"); if (self::LOG_LEVEL > 1) error_log(__METHOD__."($path,$flags) symlif (substr($path,-1) == '/' && $path != '/') $path = substr($path,0,-1); // remove trailing slash eg. added by WebDAVink found and resolved to $url");
// try reading the stat of the link // try reading the stat of the link
if ($stat = self::url_stat($lpath, STREAM_URL_STAT_QUIET, false, true, $check_symlink_depth-1)) if (($stat = self::url_stat($lpath, STREAM_URL_STAT_QUIET, false, true, $check_symlink_depth-1)))
{ {
if(isset($stat['url'])) $url = $stat['url']; // if stat returns an url use that, as there might be more links ... if(isset($stat['url'])) $url = $stat['url']; // if stat returns an url use that, as there might be more links ...
self::symlinkCache_add($path,$url); self::symlinkCache_add($path,$url);
@ -940,7 +945,7 @@ class vfs_stream_wrapper implements iface_stream_wrapper
'account_name' => basename($path), 'account_name' => basename($path),
); );
call_user_func(array('vfs_home_hooks',$hook_data['location']),$hook_data); call_user_func(array('vfs_home_hooks',$hook_data['location']),$hook_data);
$hook_data = null; unset($hook_data);
$stat = self::url_stat($path,$flags,false); $stat = self::url_stat($path,$flags,false);
} }
if (!$stat && $check_symlink_components) // check if there's a symlink somewhere inbetween the path if (!$stat && $check_symlink_components) // check if there's a symlink somewhere inbetween the path
@ -956,14 +961,14 @@ class vfs_stream_wrapper implements iface_stream_wrapper
return $stat; return $stat;
// Todo: if we hide non readables, we should return false on url_stat for consitency (if dir is not writabel) /* Todo: if we hide non readables, we should return false on url_stat for consitency (if dir is not writabel)
// Problem: this does NOT stop (calles itself infinit recursive)! // Problem: this does NOT stop (calles itself infinit recursive)!
if (self::HIDE_UNREADABLES && !egw_vfs::check_access($path,egw_vfs::READABLE,$stat) && if (self::HIDE_UNREADABLES && !egw_vfs::check_access($path,egw_vfs::READABLE,$stat) &&
!egw_vfs::check_access(egw_vfs::dirname($path,egw_vfs::WRITABLE))) !egw_vfs::check_access(egw_vfs::dirname($path,egw_vfs::WRITABLE)))
{ {
return false; return false;
} }
return $stat; return $stat;*/
} }
/** /**
@ -1020,12 +1025,12 @@ class vfs_stream_wrapper implements iface_stream_wrapper
/** /**
* Add a resolved symlink to cache * Add a resolved symlink to cache
* *
* @param string $path vfs path * @param string $_path vfs path
* @param string $target target path * @param string $target target path
*/ */
static protected function symlinkCache_add($path,$target) static protected function symlinkCache_add($_path,$target)
{ {
$path = self::get_path($path); $path = self::get_path($_path);
if (isset(self::$symlink_cache[$path])) return; // nothing to do if (isset(self::$symlink_cache[$path])) return; // nothing to do
@ -1041,11 +1046,11 @@ class vfs_stream_wrapper implements iface_stream_wrapper
/** /**
* Remove a resolved symlink from cache * Remove a resolved symlink from cache
* *
* @param string $path vfs path * @param string $_path vfs path
*/ */
static protected function symlinkCache_remove($path) static protected function symlinkCache_remove($_path)
{ {
$path = self::get_path($path); $path = self::get_path($_path);
unset(self::$symlink_cache[$path]); unset(self::$symlink_cache[$path]);
if (self::LOG_LEVEL > 1) error_log(__METHOD__."($path) cache now ".array2string(self::$symlink_cache)); if (self::LOG_LEVEL > 1) error_log(__METHOD__."($path) cache now ".array2string(self::$symlink_cache));
@ -1056,14 +1061,14 @@ class vfs_stream_wrapper implements iface_stream_wrapper
* *
* The cache is sorted from longer to shorter pathes. * The cache is sorted from longer to shorter pathes.
* *
* @param string $path * @param string $_path
* @param boolean $do_symlink =true is a direct match allowed, default yes (must be false for a lstat or readlink!) * @param boolean $do_symlink =true is a direct match allowed, default yes (must be false for a lstat or readlink!)
* @return string target or path, if path not found * @return string target or path, if path not found
*/ */
static public function symlinkCache_resolve($path,$do_symlink=true) static public function symlinkCache_resolve($_path,$do_symlink=true)
{ {
// remove vfs scheme, but no other schemes (eg. filesystem!) // remove vfs scheme, but no other schemes (eg. filesystem!)
$path = self::get_path($path); $path = self::get_path($_path);
$strlen_path = strlen($path); $strlen_path = strlen($path);