From 9999f6d57c62cc6d13938540a67bdfb3ce4d0cdd Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 20 Apr 2016 15:45:53 +0200 Subject: [PATCH 01/13] include missing files, set accessobject for view --- out/out.EditOnline.php | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/out/out.EditOnline.php b/out/out.EditOnline.php index d911bf87b..4e6d70969 100644 --- a/out/out.EditOnline.php +++ b/out/out.EditOnline.php @@ -20,14 +20,19 @@ include("../inc/inc.Settings.php"); include("../inc/inc.LogInit.php"); -include("../inc/inc.DBInit.php"); include("../inc/inc.Language.php"); +include("../inc/inc.Init.php"); +include("../inc/inc.Extension.php"); +include("../inc/inc.DBInit.php"); include("../inc/inc.ClassUI.php"); include("../inc/inc.ClassAccessOperation.php"); include("../inc/inc.Authentication.php"); -$documentid = $_GET["documentid"]; +$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME'])); +$view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user)); +$accessop = new SeedDMS_AccessOperation($dms, $user, $settings); +$documentid = $_GET["documentid"]; if (!isset($documentid) || !is_numeric($documentid) || intval($documentid)<1) { UI::exitError(getMLText("document_title", array("documentname" => getMLText("invalid_doc_id"))),getMLText("invalid_doc_id")); } @@ -72,13 +77,8 @@ if (!isset($settings->_editOnlineFileTypes) || !is_array($settings->_editOnlineF } */ -/* Create object for checking access to certain operations */ -$accessop = new SeedDMS_AccessOperation($dms, $user, $settings); - $folder = $document->getFolder(); -$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME'])); -$view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user)); if($view) { $view->setParam('document', $document); $view->setParam('version', $content); From ae1bbffc64ab1f425e762c6d9914365ceaa3df4f Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 20 Apr 2016 15:46:36 +0200 Subject: [PATCH 02/13] fix link to out.EditOnline.php and out.RemoveVersion.php --- views/bootstrap/class.ViewDocument.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/views/bootstrap/class.ViewDocument.php b/views/bootstrap/class.ViewDocument.php index be6cb87d5..e66cbade9 100644 --- a/views/bootstrap/class.ViewDocument.php +++ b/views/bootstrap/class.ViewDocument.php @@ -524,13 +524,13 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style { print ""; print ""; print ""; print ""; echo ""; @@ -686,9 +686,9 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style { if($accessop->mayReview($document)) { if ($is_reviewer && $r["status"]==0) { - print "
  • getVersion()."&reviewid=".$r['reviewID']."\" class=\"btn btn-mini\">".getMLText("add_review")."
  • "; + print "
  • ".$this->html_link('ReviewDocument', array('documentid'=>$documentid, 'version'=>$latestContent->getVersion(), 'reviewid'=>$r['reviewID']), array('class'=>'btn btn-mini'), getMLText("add_review"), false, true)."
  • "; }else if (($updateUser==$user)&&(($r["status"]==1)||($r["status"]==-1))&&(!$document->hasExpired())){ - print "
  • getVersion()."&reviewid=".$r['reviewID']."\" class=\"btn btn-mini\">".getMLText("edit")."
  • "; + print "
  • ".$this->html_link('ReviewDocument', array('documentid'=>$documentid, 'version'=>$latestContent->getVersion(), 'reviewid'=>$r['reviewID']), array('class'=>'btn btn-mini'), getMLText("edit"), false, true)."
  • "; } } @@ -755,9 +755,9 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style { if($accessop->mayApprove($document)) { if ($is_approver && $a['status'] == 0 /*$status["status"]==S_DRAFT_APP*/) { - print "
  • getVersion()."&approveid=".$a['approveID']."\">".getMLText("add_approval")."
  • "; + print "
  • ".$this->html_link('ApproveDocument', array('documentid'=>$documentid, 'version'=>$latestContent->getVersion(), 'approveid'=>$a['approveID']), array('class'=>'btn btn-mini'), getMLText("add_approval"), false, true)."
  • "; }else if (($updateUser==$user)&&(($a["status"]==1)||($a["status"]==-1))&&(!$document->hasExpired())){ - print "
  • getVersion()."&approveid=".$a['approveID']."\">".getMLText("edit")."
  • "; + print "
  • ".$this->html_link('ApproveDocument', array('documentid'=>$documentid, 'version'=>$latestContent->getVersion(), 'approveid'=>$a['approveID']), array('class'=>'btn btn-mini'), getMLText("edit"), false, true)."
  • "; } } @@ -1040,9 +1040,9 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style { if($accessop->mayReceipt($document)) { if ($is_recipient && $r["status"]==0) { - print "
  • getVersion()."&receiptid=".$r['receiptID']."\" class=\"btn btn-mini\">".getMLText("add_receipt")."
  • "; + print "
  • ".$this->html_link('ReceiptDocument', array('documentid'=>$documentid, 'version'=>$latestContent->getVersion(), 'receiptid'=>$r['receiptID']), array('class'=>'btn btn-mini'), getMLText("add_receipt"), false, true)."
  • "; }else if (($updateUser==$user)&&(($r["status"]==1)||($r["status"]==-1))&&(!$document->hasExpired())){ - print "
  • getVersion()."&receiptid=".$r['receiptID']."\" class=\"btn btn-mini\">".getMLText("edit")."
  • "; + print "
  • ".$this->html_link('ReceiptDocument', array('documentid'=>$documentid, 'version'=>$latestContent->getVersion(), 'receiptid'=>$r['receiptID']), array('class'=>'btn btn-mini'), getMLText("edit"), false, true)."
  • "; } } @@ -1150,9 +1150,9 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style { if($accessop->mayRevise($document)) { if ($is_recipient && $r["status"]==0) { - print "
  • getVersion()."&revisionid=".$r['revisionID']."\" class=\"btn btn-mini\">".getMLText("add_revision")."
  • "; + print "
  • ".$this->html_link('ReviseDocument', array('documentid'=>$documentid, 'version'=>$latestContent->getVersion(), 'revisionid'=>$r['revisionID']), array('class'=>'btn btn-mini'), getMLText("add_revision"), false, true)."
  • "; } elseif (($updateUser==$user)&&(($r["status"]==1)||($r["status"]==-1))&&(!$document->hasExpired())){ - print "
  • getVersion()."&revisionid=".$r['revisionID']."\" class=\"btn btn-mini\">".getMLText("edit")."
  • "; + print "
  • ".$this->html_link('ReviseDocument', array('documentid'=>$documentid, 'version'=>$latestContent->getVersion(), 'revisionid'=>$r['revisionID']), array('class'=>'btn btn-mini'), getMLText("edit"), false, true)."
  • "; } } @@ -1261,15 +1261,15 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style { * user if enableVersionDeletion is on */ if($accessop->mayRemoveVersion($document)) { - print "
  • getVersion()."\">".getMLText("rm_version")."
  • "; + print "
  • ".$this->html_link('RemoveVersion', array('documentid'=>$documentid, 'version'=>$version->getVersion()), array(), "".getMLText("rm_version"), false, true)."
  • "; } if($accessop->mayEditComment($document)) { - print "
  • getID()."&version=".$version->getVersion()."\">".getMLText("edit_comment")."
  • "; + print "
  • ".$this->html_link('EditComment', array('documentid'=>$documentid, 'version'=>$version->getVersion()), array(), "".getMLText("edit_comment"), false, true)."
  • "; } if($accessop->mayEditAttributes($document)) { - print "
  • getID()."&version=".$latestContent->getVersion()."\">".getMLText("edit_attributes")."
  • "; + print "
  • ".$this->html_link('EditAttributes', array('documentid'=>$documentid, 'version'=>$version->getVersion()), array(), "".getMLText("edit_attributes"), false, true)."
  • "; } - print "
  • ".getMLText("details")."
  • "; + print "
  • ".$this->html_link('DocumentVersionDetail', array('documentid'=>$documentid, 'version'=>$version->getVersion()), array(), "".getMLText("details"), false, true)."
  • "; print ""; print "\n\n"; } @@ -1351,7 +1351,7 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style { else printMLText("no_attached_files"); if ($document->getAccessMode($user) >= M_READWRITE){ - print "\n"; + print "\n"; } $this->contentContainerEnd(); ?> From 0ece3ef69a2c3813e077498d3f9be16ba560abbc Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 20 Apr 2016 18:10:55 +0200 Subject: [PATCH 08/13] fix edit attributes of older versions link always pointed to latest version --- views/bootstrap/class.ViewDocument.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/views/bootstrap/class.ViewDocument.php b/views/bootstrap/class.ViewDocument.php index c6aa2efd2..cecd8cbc9 100644 --- a/views/bootstrap/class.ViewDocument.php +++ b/views/bootstrap/class.ViewDocument.php @@ -962,7 +962,7 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style { print "
  • getID()."&version=".$version->getVersion()."\">".getMLText("edit_comment")."
  • "; } if($accessop->mayEditAttributes()) { - print "
  • getID()."&version=".$latestContent->getVersion()."\">".getMLText("edit_attributes")."
  • "; + print "
  • getID()."&version=".$version->getVersion()."\">".getMLText("edit_attributes")."
  • "; } print "
  • ".getMLText("details")."
  • "; print ""; From ac2be17814e296dbc34740d7f284f689c1e7c98b Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 20 Apr 2016 20:01:59 +0200 Subject: [PATCH 09/13] set url for approval request email (Closes: #259) --- op/op.ReviewDocument.php | 1 + 1 file changed, 1 insertion(+) diff --git a/op/op.ReviewDocument.php b/op/op.ReviewDocument.php index fe3ea55af..259e5d298 100644 --- a/op/op.ReviewDocument.php +++ b/op/op.ReviewDocument.php @@ -341,6 +341,7 @@ if ($_POST["reviewStatus"]==-1){ $params['username'] = $user->getFullName(); $params['sitename'] = $settings->_siteName; $params['http_root'] = $settings->_httpRoot; + $params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); foreach ($docApprovalStatus as $dastat) { if ($dastat["status"] == 0) { From 54ac2db57bf15c99e280fb72b3aec2a96db25ac6 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 20 Apr 2016 20:03:21 +0200 Subject: [PATCH 10/13] add entry for 4.3.26 --- CHANGELOG | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG b/CHANGELOG index 687568daa..f64b32310 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -6,6 +6,7 @@ header to be send to early (Closes: #252, #254) - regular users with sufficient access rights may remove documents via webdav - fix error in utils/indexer.php when new documents were indexed +- set url in approval request email after reviewing a document (Closes #259) -------------------------------------------------------------------------------- Changes in version 4.3.25 From aee1ff2fcb2e35348105bf859e1d3080cb3651cc Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 21 Apr 2016 13:32:37 +0200 Subject: [PATCH 11/13] inform notifier of new document too --- op/op.AddDocument.php | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/op/op.AddDocument.php b/op/op.AddDocument.php index c8aebc69e..42a8e5487 100644 --- a/op/op.AddDocument.php +++ b/op/op.AddDocument.php @@ -394,7 +394,8 @@ for ($file_num=0;$file_numgetNotifyList(); + $notifyList1 = $folder->getNotifyList(); + $notifyList2 = $document->getNotifyList(); $subject = "new_document_email_subject"; $message = "new_document_email_body"; @@ -408,8 +409,12 @@ for ($file_num=0;$file_num_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->toList($user, $notifyList1["users"], $subject, $message, $params); + foreach ($notifyList1["groups"] as $grp) { + $notifier->toGroup($user, $grp, $subject, $message, $params); + } + $notifier->toList($user, $notifyList2["users"], $subject, $message, $params); + foreach ($notifyList2["groups"] as $grp) { $notifier->toGroup($user, $grp, $subject, $message, $params); } From a6cdb2015a994c5a6858e01a7d0d36e7a9dd40cc Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 21 Apr 2016 13:34:13 +0200 Subject: [PATCH 12/13] notify groups and users of new document as well --- op/op.AddDocument.php | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/op/op.AddDocument.php b/op/op.AddDocument.php index 375494c75..86e4fe18c 100644 --- a/op/op.AddDocument.php +++ b/op/op.AddDocument.php @@ -333,7 +333,8 @@ for ($file_num=0;$file_numgetNotifyList(); + $notifyList1 = $folder->getNotifyList(); + $notifyList2 = $document->getNotifyList(); $subject = "new_document_email_subject"; $message = "new_document_email_body"; @@ -347,8 +348,12 @@ for ($file_num=0;$file_num_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->toList($user, $notifyList1["users"], $subject, $message, $params); + foreach ($notifyList1["groups"] as $grp) { + $notifier->toGroup($user, $grp, $subject, $message, $params); + } + $notifier->toList($user, $notifyList2["users"], $subject, $message, $params); + foreach ($notifyList2["groups"] as $grp) { $notifier->toGroup($user, $grp, $subject, $message, $params); } From 083f0bb192464d99fdf90ddfb06c36a7f1f32fe9 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 21 Apr 2016 13:46:11 +0200 Subject: [PATCH 13/13] add entry for 4.3.26 --- CHANGELOG | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG b/CHANGELOG index f64b32310..8f163fb21 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -7,6 +7,7 @@ - regular users with sufficient access rights may remove documents via webdav - fix error in utils/indexer.php when new documents were indexed - set url in approval request email after reviewing a document (Closes #259) +- inform groups and users watching a new document too (Closes #260) -------------------------------------------------------------------------------- Changes in version 4.3.25