Merge branch 'seeddms-4.3.13' into develop

This commit is contained in:
Uwe Steinmann 2014-11-24 19:42:18 +01:00
commit 8809086014
3 changed files with 90 additions and 69 deletions

View File

@ -5,6 +5,10 @@
- fix saving multi value attributes without a maximum number of values
- webdav sets propper modification time
- add button to select all log files for removal
- deleted folders and documents on the clipboard don't crash seeddms anymore
when moving into a different folder (Bug #186)
- Download of documents whose content is gone will not be possible anymore
(Bug #185)
--------------------------------------------------------------------------------
Changes in version 4.3.12

View File

@ -43,25 +43,67 @@ if ($targetFolder->getAccessMode($user) < M_READWRITE) {
$clipboard = $session->getClipboard();
foreach($clipboard['docs'] as $documentid) {
$document = $dms->getDocument($documentid);
$oldFolder = $document->getFolder();
if($document) {
$oldFolder = $document->getFolder();
if ($document->getAccessMode($user) < M_READWRITE) {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("access_denied"));
if ($document->getAccessMode($user) < M_READWRITE) {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("access_denied"));
}
if ($targetid != $oldFolder->getID()) {
if ($document->setFolder($targetFolder)) {
// Send notification to subscribers.
if($notifier) {
$notifyList = $document->getNotifyList();
$subject = "document_moved_email_subject";
$message = "document_moved_email_body";
$params = array();
$params['name'] = $document->getName();
$params['old_folder_path'] = $oldFolder->getFolderPathPlain();
$params['new_folder_path'] = $targetFolder->getFolderPathPlain();
$params['username'] = $user->getFullName();
$params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID();
$params['sitename'] = $settings->_siteName;
$params['http_root'] = $settings->_httpRoot;
$notifier->toList($user, $notifyList["users"], $subject, $message, $params);
foreach ($notifyList["groups"] as $grp) {
$notifier->toGroup($user, $grp, $subject, $message, $params);
}
// if user is not owner send notification to owner
if ($user->getID() != $document->getOwner()->getID())
$notifier->toIndividual($user, $document->getOwner(), $subject, $message, $params);
}
$session->removeFromClipboard($document);
} else {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("error_occured"));
}
} else {
$session->removeFromClipboard($document);
}
}
}
if ($targetid != $oldFolder->getID()) {
if ($document->setFolder($targetFolder)) {
foreach($clipboard['folders'] as $folderid) {
$folder = $dms->getFolder($folderid);
if($folder) {
if ($folder->getAccessMode($user) < M_READWRITE) {
UI::exitError(getMLText("folder_title", array("foldername" => $folder->getName())),getMLText("access_denied"));
}
$oldFolder = $folder->getParent();
if ($folder->setParent($targetFolder)) {
// Send notification to subscribers.
if($notifier) {
$notifyList = $document->getNotifyList();
$subject = "document_moved_email_subject";
$message = "document_moved_email_body";
$notifyList = $folder->getNotifyList();
$subject = "folder_moved_email_subject";
$message = "folder_moved_email_body";
$params = array();
$params['name'] = $document->getName();
$params['name'] = $folder->getName();
$params['old_folder_path'] = $oldFolder->getFolderPathPlain();
$params['new_folder_path'] = $targetFolder->getFolderPathPlain();
$params['username'] = $user->getFullName();
$params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID();
$params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewFolder.php?folderid=".$folder->getID();
$params['sitename'] = $settings->_siteName;
$params['http_root'] = $settings->_httpRoot;
$notifier->toList($user, $notifyList["users"], $subject, $message, $params);
@ -69,53 +111,14 @@ foreach($clipboard['docs'] as $documentid) {
$notifier->toGroup($user, $grp, $subject, $message, $params);
}
// if user is not owner send notification to owner
if ($user->getID() != $document->getOwner()->getID())
$notifier->toIndividual($user, $document->getOwner(), $subject, $message, $params);
}
$session->removeFromClipboard($document);
if ($user->getID() != $folder->getOwner()->getID())
$notifier->toIndividual($user, $folder->getOwner(), $subject, $message, $params);
}
$session->removeFromClipboard($folder);
} else {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("error_occured"));
UI::exitError(getMLText("folder_title", array("foldername" => $folder->getName())),getMLText("error_occured"));
}
} else {
$session->removeFromClipboard($document);
}
}
foreach($clipboard['folders'] as $folderid) {
$folder = $dms->getFolder($folderid);
if ($folder->getAccessMode($user) < M_READWRITE) {
UI::exitError(getMLText("folder_title", array("foldername" => $folder->getName())),getMLText("access_denied"));
}
$oldFolder = $folder->getParent();
if ($folder->setParent($targetFolder)) {
// Send notification to subscribers.
if($notifier) {
$notifyList = $folder->getNotifyList();
$subject = "folder_moved_email_subject";
$message = "folder_moved_email_body";
$params = array();
$params['name'] = $folder->getName();
$params['old_folder_path'] = $oldFolder->getFolderPathPlain();
$params['new_folder_path'] = $targetFolder->getFolderPathPlain();
$params['username'] = $user->getFullName();
$params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewFolder.php?folderid=".$folder->getID();
$params['sitename'] = $settings->_siteName;
$params['http_root'] = $settings->_httpRoot;
$notifier->toList($user, $notifyList["users"], $subject, $message, $params);
foreach ($notifyList["groups"] as $grp) {
$notifier->toGroup($user, $grp, $subject, $message, $params);
}
// if user is not owner send notification to owner
if ($user->getID() != $folder->getOwner()->getID())
$notifier->toIndividual($user, $folder->getOwner(), $subject, $message, $params);
}
$session->removeFromClipboard($folder);
} else {
UI::exitError(getMLText("folder_title", array("foldername" => $folder->getName())),getMLText("error_occured"));
}
}

View File

@ -316,16 +316,21 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style {
*/
$previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidthdetail);
$previewer->createPreview($latestContent);
if ($viewonlinefiletypes && in_array(strtolower($latestContent->getFileType()), $viewonlinefiletypes))
print "<a target=\"_blank\" href=\"../op/op.ViewOnline.php?documentid=".$documentid."&version=". $latestContent->getVersion()."\">";
else
print "<a href=\"../op/op.Download.php?documentid=".$documentid."&version=".$latestContent->getVersion()."\">";
if ($file_exists) {
if ($viewonlinefiletypes && in_array(strtolower($latestContent->getFileType()), $viewonlinefiletypes)) {
print "<a target=\"_blank\" href=\"../op/op.ViewOnline.php?documentid=".$documentid."&version=". $latestContent->getVersion()."\">";
} else {
print "<a href=\"../op/op.Download.php?documentid=".$documentid."&version=".$latestContent->getVersion()."\">";
}
}
if($previewer->hasPreview($latestContent)) {
print("<img class=\"mimeicon\" width=\"".$previewwidthdetail."\" src=\"../op/op.Preview.php?documentid=".$document->getID()."&version=".$latestContent->getVersion()."&width=".$previewwidthdetail."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">");
} else {
print "<img class=\"mimeicon\" src=\"".$this->getMimeIcon($latestContent->getFileType())."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">";
}
print "</a>";
if ($file_exists) {
print "</a>";
}
print "</td>\n";
print "<td><ul class=\"actions unstyled\">\n";
@ -908,17 +913,22 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style {
print "<tr>\n";
print "<td nowrap>";
if ($viewonlinefiletypes && in_array(strtolower($version->getFileType()), $viewonlinefiletypes))
print "<a target=\"_blank\" href=\"../op/op.ViewOnline.php?documentid=".$documentid."&version=".$version->getVersion()."\">";
else
print "<a href=\"../op/op.Download.php?documentid=".$documentid."&version=".$version->getVersion()."\">";
if($file_exists) {
if ($viewonlinefiletypes && in_array(strtolower($version->getFileType()), $viewonlinefiletypes)) {
print "<a target=\"_blank\" href=\"../op/op.ViewOnline.php?documentid=".$documentid."&version=".$version->getVersion()."\">";
} else {
print "<a href=\"../op/op.Download.php?documentid=".$documentid."&version=".$version->getVersion()."\">";
}
}
$previewer->createPreview($version);
if($previewer->hasPreview($version)) {
print("<img class=\"mimeicon\" width=\"".$previewwidthdetail."\" src=\"../op/op.Preview.php?documentid=".$document->getID()."&version=".$version->getVersion()."&width=".$previewwidthdetail."\" title=\"".htmlspecialchars($version->getMimeType())."\">");
} else {
print "<img class=\"mimeicon\" src=\"".$this->getMimeIcon($version->getFileType())."\" title=\"".htmlspecialchars($version->getMimeType())."\">";
}
print "</a>\n";
if($file_exists) {
print "</a>\n";
}
print "</td>\n";
print "<td><ul class=\"unstyled\">\n";
print "<li>".$version->getOriginalFileName()."</li>\n";
@ -996,16 +1006,20 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style {
print "<tr>";
print "<td>";
$previewer->createPreview($file, $previewwidthdetail);
if ($viewonlinefiletypes && in_array(strtolower($file->getFileType()), $viewonlinefiletypes))
print "<a target=\"_blank\" href=\"../op/op.ViewOnline.php?documentid=".$documentid."&file=". $file->getID()."\">";
else
print "<a href=\"../op/op.Download.php?documentid=".$documentid."&file=".$file->getID()."\">";
if($file_exists) {
if ($viewonlinefiletypes && in_array(strtolower($file->getFileType()), $viewonlinefiletypes))
print "<a target=\"_blank\" href=\"../op/op.ViewOnline.php?documentid=".$documentid."&file=". $file->getID()."\">";
else
print "<a href=\"../op/op.Download.php?documentid=".$documentid."&file=".$file->getID()."\">";
}
if($previewer->hasPreview($file)) {
print("<img class=\"mimeicon\" width=\"".$previewwidthdetail."\" src=\"../op/op.Preview.php?documentid=".$document->getID()."&file=".$file->getID()."&width=".$previewwidthdetail."\" title=\"".htmlspecialchars($file->getMimeType())."\">");
} else {
print "<img class=\"mimeicon\" src=\"".$this->getMimeIcon($file->getFileType())."\" title=\"".htmlspecialchars($file->getMimeType())."\">";
}
print "</a>";
if($file_exists) {
print "</a>";
}
print "</td>";
print "<td><ul class=\"unstyled\">\n";