mirror of
https://github.com/EGroupware/egroupware.git
synced 2024-11-23 08:23:12 +01:00
HTTP_WebDAV_Server 1.0.0RC6 changes without Server.php changes comming later
This commit is contained in:
parent
3112bd98c5
commit
399c835f11
@ -382,6 +382,19 @@ class egw_vfs extends vfs_stream_wrapper
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check if file is hidden: name starts with a '.' or is Thumbs.db
|
||||||
|
*
|
||||||
|
* @param string $path
|
||||||
|
* @return boolean
|
||||||
|
*/
|
||||||
|
public static function is_hidden($path)
|
||||||
|
{
|
||||||
|
$file = self::basename($path);
|
||||||
|
|
||||||
|
return $file[0] == '.' || $file == 'Thumbs.db';
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* find = recursive search over the filesystem
|
* find = recursive search over the filesystem
|
||||||
*
|
*
|
||||||
@ -481,7 +494,7 @@ class egw_vfs extends vfs_stream_wrapper
|
|||||||
{
|
{
|
||||||
if ($file == '.' || $file == '..') continue; // ignore current and parent dir!
|
if ($file == '.' || $file == '..') continue; // ignore current and parent dir!
|
||||||
|
|
||||||
if (($file[0] == '.' || $file == 'Thumbs.db') && !$options['hidden']) continue; // ignore hidden files
|
if (self::is_hidden($file) && !$options['hidden']) continue; // ignore hidden files
|
||||||
|
|
||||||
$file = self::concat($path,$file);
|
$file = self::concat($path,$file);
|
||||||
|
|
||||||
|
@ -62,16 +62,9 @@ class vfs_webdav_server extends HTTP_WebDAV_Server_Filesystem
|
|||||||
// special treatment for litmus compliance test
|
// special treatment for litmus compliance test
|
||||||
// reply on its identifier header
|
// reply on its identifier header
|
||||||
// not needed for the test itself but eases debugging
|
// not needed for the test itself but eases debugging
|
||||||
if (function_exists('apache_request_headers'))
|
if (isset($this->_SERVER['HTTP_X_LITMUS'])) {
|
||||||
{
|
error_log("Litmus test ".$this->_SERVER['HTTP_X_LITMUS']);
|
||||||
foreach (apache_request_headers() as $key => $value)
|
header("X-Litmus-reply: ".$this->_SERVER['HTTP_X_LITMUS']);
|
||||||
{
|
|
||||||
if (stristr($key, 'litmus'))
|
|
||||||
{
|
|
||||||
error_log("Litmus test $value");
|
|
||||||
header('X-Litmus-reply: '.$value);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
// let the base class do all the work
|
// let the base class do all the work
|
||||||
HTTP_WebDAV_Server::ServeRequest();
|
HTTP_WebDAV_Server::ServeRequest();
|
||||||
@ -260,6 +253,10 @@ class vfs_webdav_server extends HTTP_WebDAV_Server_Filesystem
|
|||||||
$info['props'][] = HTTP_WebDAV_Server::mkprop ('creationdate', filectime($fspath));
|
$info['props'][] = HTTP_WebDAV_Server::mkprop ('creationdate', filectime($fspath));
|
||||||
$info['props'][] = HTTP_WebDAV_Server::mkprop ('getlastmodified', filemtime($fspath));
|
$info['props'][] = HTTP_WebDAV_Server::mkprop ('getlastmodified', filemtime($fspath));
|
||||||
|
|
||||||
|
// Microsoft extensions: last access time and 'hidden' status
|
||||||
|
$info["props"][] = HTTP_WebDAV_Server::mkprop("lastaccessed", fileatime($fspath));
|
||||||
|
$info["props"][] = HTTP_WebDAV_Server::mkprop("ishidden", egw_vfs::is_hidden($fspath));
|
||||||
|
|
||||||
// type and size (caller already made sure that path exists)
|
// type and size (caller already made sure that path exists)
|
||||||
if (is_dir($fspath)) {
|
if (is_dir($fspath)) {
|
||||||
// directory (WebDAV collection)
|
// directory (WebDAV collection)
|
||||||
@ -354,6 +351,28 @@ class vfs_webdav_server extends HTTP_WebDAV_Server_Filesystem
|
|||||||
return egw_vfs::mime_content_type($path);
|
return egw_vfs::mime_content_type($path);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check if path is readable by current user
|
||||||
|
*
|
||||||
|
* @param string $fspath
|
||||||
|
* @return boolean
|
||||||
|
*/
|
||||||
|
function _is_readable($fspath)
|
||||||
|
{
|
||||||
|
return egw_vfs::is_readable($fspath);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check if path is writable by current user
|
||||||
|
*
|
||||||
|
* @param string $fspath
|
||||||
|
* @return boolean
|
||||||
|
*/
|
||||||
|
function _is_writable($fspath)
|
||||||
|
{
|
||||||
|
return egw_vfs::is_writable($fspath);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* PROPPATCH method handler
|
* PROPPATCH method handler
|
||||||
*
|
*
|
||||||
@ -472,7 +491,7 @@ class vfs_webdav_server extends HTTP_WebDAV_Server_Filesystem
|
|||||||
{
|
{
|
||||||
return egw_vfs::checkLock($path);
|
return egw_vfs::checkLock($path);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* GET method handler for directories
|
* GET method handler for directories
|
||||||
*
|
*
|
||||||
|
Loading…
Reference in New Issue
Block a user