mirror of
https://git.code.sf.net/p/seeddms/code
synced 2025-05-09 13:06:14 +00:00
Merge branch 'seeddms-5.1.x' into seeddms-6.0.x
This commit is contained in:
commit
971dc536f7
|
@ -1,5 +1,5 @@
|
||||||
WebDAV
|
WebDAV
|
||||||
-----------------------------------------------
|
========
|
||||||
|
|
||||||
SeedDMS has support for WebDAV which allows to easily add, delete,
|
SeedDMS has support for WebDAV which allows to easily add, delete,
|
||||||
move, copy and modify documents. All operating systems have support
|
move, copy and modify documents. All operating systems have support
|
||||||
|
@ -29,7 +29,7 @@ the content of document or creating a new
|
||||||
version if a document is saved.
|
version if a document is saved.
|
||||||
|
|
||||||
Configuring davfs2
|
Configuring davfs2
|
||||||
===================
|
-------------------
|
||||||
|
|
||||||
On Linux it is quite simple to mount the SeedDMS WebDAV server with
|
On Linux it is quite simple to mount the SeedDMS WebDAV server with
|
||||||
davfs2. Just place a line like the following in your /etc/fstab
|
davfs2. Just place a line like the following in your /etc/fstab
|
||||||
|
@ -51,15 +51,14 @@ and possibly add your login data to /etc/davfs2/secrets
|
||||||
/media/webdav admin secret
|
/media/webdav admin secret
|
||||||
|
|
||||||
Making applications work with WebDAV
|
Making applications work with WebDAV
|
||||||
=====================================
|
-------------------------------------
|
||||||
|
|
||||||
Various programms have differnt strategies to save files to disc and
|
Various programms have differnt strategies to save files to disc and
|
||||||
prevent data lost under all circumstances. Those strategies often don't
|
prevent data lost under all circumstances. Those strategies often don't
|
||||||
work very well an a WebDAV-Server. The following will list some of those
|
work very well an a WebDAV-Server. The following will list some of those
|
||||||
strategies.
|
strategies.
|
||||||
|
|
||||||
VIM
|
### VIM
|
||||||
=========================
|
|
||||||
|
|
||||||
vim does a lot more than just reading and writing the file you want
|
vim does a lot more than just reading and writing the file you want
|
||||||
to edit. It creates swap and backup files for data recovery if vim crashes
|
to edit. It creates swap and backup files for data recovery if vim crashes
|
||||||
|
@ -69,7 +68,7 @@ swap file at all or create it outside the WebDAV server. A second problem
|
||||||
arises from how vim modifіes the file you are editing. Before a file
|
arises from how vim modifіes the file you are editing. Before a file
|
||||||
is saved a backup is created by renaming the file to the same name with a
|
is saved a backup is created by renaming the file to the same name with a
|
||||||
'~' at the end and writing the file content into a new
|
'~' at the end and writing the file content into a new
|
||||||
file with the name of the original file. Afterwards vim deleteѕ the backup
|
file with the name of the original file. Afterwards vim deletes the backup
|
||||||
file. On a regular file system you
|
file. On a regular file system you
|
||||||
won't see a difference between the file before and after saving, though
|
won't see a difference between the file before and after saving, though
|
||||||
it is actually a new one. In SeedDMS you won't notice a difference either
|
it is actually a new one. In SeedDMS you won't notice a difference either
|
||||||
|
@ -89,11 +88,10 @@ set nowritebackup
|
||||||
set noswapfile
|
set noswapfile
|
||||||
|
|
||||||
Creating the backup file in a directory outside of WebDAV doesn't help in
|
Creating the backup file in a directory outside of WebDAV doesn't help in
|
||||||
this case, because it still does the file renaming which is turned of by
|
this case, because it still does the file renaming which is turned off by
|
||||||
'nowritebackup'.
|
'nowritebackup'.
|
||||||
|
|
||||||
cdaver
|
### cdaver
|
||||||
========
|
|
||||||
|
|
||||||
cadaver is a webdav client similar to classical command line based ftp clients.
|
cadaver is a webdav client similar to classical command line based ftp clients.
|
||||||
It can be used to browse through the folders, downloads and uploads files, and
|
It can be used to browse through the folders, downloads and uploads files, and
|
||||||
|
|
|
@ -663,14 +663,17 @@ class HTTP_WebDAV_Server_SeedDMS extends HTTP_WebDAV_Server
|
||||||
|
|
||||||
$tmp = explode(';', $mimetype);
|
$tmp = explode(';', $mimetype);
|
||||||
$mimetype = $tmp[0];
|
$mimetype = $tmp[0];
|
||||||
|
$lastDotIndex = strrpos($name, ".");
|
||||||
|
if($lastDotIndex === false) $fileType = ".";
|
||||||
|
else $fileType = substr($name, $lastDotIndex);
|
||||||
switch($mimetype) {
|
switch($mimetype) {
|
||||||
case 'application/pdf';
|
case 'application/pdf':
|
||||||
$fileType = ".pdf";
|
$fileType = ".pdf";
|
||||||
break;
|
break;
|
||||||
default:
|
case 'text/plain':
|
||||||
$lastDotIndex = strrpos($name, ".");
|
if($fileType == '.md')
|
||||||
if($lastDotIndex === false) $fileType = ".";
|
$mimetype = 'text/markdown';
|
||||||
else $fileType = substr($name, $lastDotIndex);
|
break;
|
||||||
}
|
}
|
||||||
if($this->logger)
|
if($this->logger)
|
||||||
$this->logger->log('PUT: file is of type '.$mimetype, PEAR_LOG_INFO);
|
$this->logger->log('PUT: file is of type '.$mimetype, PEAR_LOG_INFO);
|
||||||
|
@ -698,7 +701,7 @@ class HTTP_WebDAV_Server_SeedDMS extends HTTP_WebDAV_Server
|
||||||
unlink($tmpFile);
|
unlink($tmpFile);
|
||||||
return "403 Forbidden";
|
return "403 Forbidden";
|
||||||
} else {
|
} else {
|
||||||
/* Check if the new version iѕ identical to the current version.
|
/* Check if the new version is identical to the current version.
|
||||||
* In that case just update the modification date
|
* In that case just update the modification date
|
||||||
*/
|
*/
|
||||||
$lc = $document->getLatestContent();
|
$lc = $document->getLatestContent();
|
||||||
|
|
Loading…
Reference in New Issue
Block a user