From 421bf3e81a52c8de16816d6af1fdad80b376a373 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Fri, 7 Aug 2015 10:13:47 +0200 Subject: [PATCH 1/2] add hooks (pre|post)DocumentInfos --- views/bootstrap/class.ViewDocument.php | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/views/bootstrap/class.ViewDocument.php b/views/bootstrap/class.ViewDocument.php index fb622af4b..d2e237d60 100644 --- a/views/bootstrap/class.ViewDocument.php +++ b/views/bootstrap/class.ViewDocument.php @@ -184,6 +184,9 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style { contentHeading(getMLText("document_infos")); $this->contentContainerStart(); + $txt = $this->callHook('preDocumentInfos', $document); + if(is_string($txt)) + echo $txt; $txt = $this->callHook('documentInfos', $document); if(is_string($txt)) echo $txt; @@ -302,6 +305,9 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style { callHook('postDocumentInfos', $document); + if(is_string($txt)) + echo $txt; $this->contentContainerEnd(); ?> From 482143c04f89ec8b7db30284d2eceeabcc58bb27 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Fri, 7 Aug 2015 13:11:50 +0200 Subject: [PATCH 2/2] pass $dms to contructor of SeedDMS_AccessOperation --- inc/inc.ClassAccessOperation.php | 9 ++++++++- op/op.ApproveDocument.php | 2 +- op/op.ReviewDocument.php | 2 +- out/out.AddFile.php | 2 +- out/out.ApproveDocument.php | 2 +- out/out.DocumentAccess.php | 2 +- out/out.DocumentNotify.php | 2 +- out/out.DocumentVersionDetail.php | 2 +- out/out.EditAttributes.php | 2 +- out/out.EditComment.php | 2 +- out/out.EditDocument.php | 2 +- out/out.MoveDocument.php | 2 +- out/out.OverrideContentStatus.php | 2 +- out/out.RemoveDocument.php | 2 +- out/out.RemoveDocumentFile.php | 2 +- out/out.RemoveVersion.php | 2 +- out/out.RemoveWorkflowFromDocument.php | 2 +- out/out.ReviewDocument.php | 2 +- out/out.RewindWorkflow.php | 2 +- out/out.RunSubWorkflow.php | 2 +- out/out.SetExpires.php | 2 +- out/out.SetReviewersApprovers.php | 2 +- out/out.SetWorkflow.php | 2 +- out/out.TriggerWorkflow.php | 2 +- out/out.UpdateDocument.php | 2 +- out/out.ViewDocument.php | 2 +- 26 files changed, 33 insertions(+), 26 deletions(-) diff --git a/inc/inc.ClassAccessOperation.php b/inc/inc.ClassAccessOperation.php index d2e053d4a..b4d968c79 100644 --- a/inc/inc.ClassAccessOperation.php +++ b/inc/inc.ClassAccessOperation.php @@ -21,6 +21,12 @@ * @version Release: @package_version@ */ class SeedDMS_AccessOperation { + /** + * @var object $dms reference to dms + * @access protected + */ + private $obj; + /** * @var object $obj object being accessed * @access protected @@ -39,7 +45,8 @@ class SeedDMS_AccessOperation { */ private $settings; - function __construct($obj, $user, $settings) { /* {{{ */ + function __construct($dms, $obj, $user, $settings) { /* {{{ */ + $this->dms = $dms; $this->obj = $obj; $this->user = $user; $this->settings = $settings; diff --git a/op/op.ApproveDocument.php b/op/op.ApproveDocument.php index 0429255fe..f6e758196 100644 --- a/op/op.ApproveDocument.php +++ b/op/op.ApproveDocument.php @@ -71,7 +71,7 @@ if ($latestContent->getVersion()!=$version) { } /* Create object for checking access to certain operations */ -$accessop = new SeedDMS_AccessOperation($document, $user, $settings); +$accessop = new SeedDMS_AccessOperation($dms, $document, $user, $settings); // verify if document may be approved if (!$accessop->mayApprove()){ diff --git a/op/op.ReviewDocument.php b/op/op.ReviewDocument.php index 291032eb9..eb76bc03b 100644 --- a/op/op.ReviewDocument.php +++ b/op/op.ReviewDocument.php @@ -68,7 +68,7 @@ if ($latestContent->getVersion()!=$version) { } /* Create object for checking access to certain operations */ -$accessop = new SeedDMS_AccessOperation($document, $user, $settings); +$accessop = new SeedDMS_AccessOperation($dms, $document, $user, $settings); // verify if document may be reviewed if (!$accessop->mayReview()){ diff --git a/out/out.AddFile.php b/out/out.AddFile.php index 9b24685d6..4df8cb7f3 100644 --- a/out/out.AddFile.php +++ b/out/out.AddFile.php @@ -45,7 +45,7 @@ if ($document->getAccessMode($user) < M_READWRITE) { } /* Create object for checking access to certain operations */ -$accessop = new SeedDMS_AccessOperation($document, $user, $settings); +$accessop = new SeedDMS_AccessOperation($dms, $document, $user, $settings); $tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME'])); $view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user, 'folder'=>$folder, 'document'=>$document, 'strictformcheck'=>$settings->_strictFormCheck, 'enablelargefileupload'=>$settings->_enableLargeFileUpload)); diff --git a/out/out.ApproveDocument.php b/out/out.ApproveDocument.php index f891a589f..e50c1eaed 100644 --- a/out/out.ApproveDocument.php +++ b/out/out.ApproveDocument.php @@ -41,7 +41,7 @@ if (!is_object($document)) { $folder = $document->getFolder(); /* Create object for checking access to certain operations */ -$accessop = new SeedDMS_AccessOperation($document, $user, $settings); +$accessop = new SeedDMS_AccessOperation($dms, $document, $user, $settings); if ($document->getAccessMode($user) < M_READ) { UI::exitError(getMLText("document_title", array("documentname" => htmlspecialchars($document->getName()))),getMLText("access_denied")); diff --git a/out/out.DocumentAccess.php b/out/out.DocumentAccess.php index c634e2160..8b6407533 100644 --- a/out/out.DocumentAccess.php +++ b/out/out.DocumentAccess.php @@ -47,7 +47,7 @@ $allUsers = $dms->getAllUsers($settings->_sortUsersInList); $allGroups = $dms->getAllGroups(); /* Create object for checking access to certain operations */ -$accessop = new SeedDMS_AccessOperation($document, $user, $settings); +$accessop = new SeedDMS_AccessOperation($dms, $document, $user, $settings); $tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME'])); $view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user, 'folder'=>$folder, 'document'=>$document, 'allusers'=>$allUsers, 'allgroups'=>$allGroups)); diff --git a/out/out.DocumentNotify.php b/out/out.DocumentNotify.php index f8b4f7ab7..6038af05b 100644 --- a/out/out.DocumentNotify.php +++ b/out/out.DocumentNotify.php @@ -45,7 +45,7 @@ if ($document->getAccessMode($user) < M_READ) { } /* Create object for checking access to certain operations */ -$accessop = new SeedDMS_AccessOperation($document, $user, $settings); +$accessop = new SeedDMS_AccessOperation($dms, $document, $user, $settings); $tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME'])); $view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user, 'folder'=>$folder, 'document'=>$document, 'sortusersinlist'=>$settings->_sortUsersInList)); diff --git a/out/out.DocumentVersionDetail.php b/out/out.DocumentVersionDetail.php index 6e3346967..e88182a41 100644 --- a/out/out.DocumentVersionDetail.php +++ b/out/out.DocumentVersionDetail.php @@ -67,7 +67,7 @@ if ($latestContent->getVersion()==$version->getVersion()) { $folder = $document->getFolder(); /* Create object for checking access to certain operations */ -$accessop = new SeedDMS_AccessOperation($document, $user, $settings); +$accessop = new SeedDMS_AccessOperation($dms, $document, $user, $settings); $tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME'])); $view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user, 'folder'=>$folder, 'document'=>$document, 'version'=>$version, 'viewonlinefiletypes'=>$settings->_viewOnlineFileTypes, 'enableversionmodification'=>$settings->_enableVersionModification, 'previewwidthdetail'=>$settings->_previewWidthDetail, 'cachedir'=>$settings->_cacheDir)); diff --git a/out/out.EditAttributes.php b/out/out.EditAttributes.php index ec8336d17..064544227 100644 --- a/out/out.EditAttributes.php +++ b/out/out.EditAttributes.php @@ -46,7 +46,7 @@ if (!is_object($version)) { $folder = $document->getFolder(); /* Create object for checking access to certain operations */ -$accessop = new SeedDMS_AccessOperation($document, $user, $settings); +$accessop = new SeedDMS_AccessOperation($dms, $document, $user, $settings); $attrdefs = $dms->getAllAttributeDefinitions(array(SeedDMS_Core_AttributeDefinition::objtype_documentcontent, SeedDMS_Core_AttributeDefinition::objtype_all)); diff --git a/out/out.EditComment.php b/out/out.EditComment.php index 11a159e9d..63ab52bfb 100644 --- a/out/out.EditComment.php +++ b/out/out.EditComment.php @@ -51,7 +51,7 @@ if (!is_object($version)) { $folder = $document->getFolder(); /* Create object for checking access to certain operations */ -$accessop = new SeedDMS_AccessOperation($document, $user, $settings); +$accessop = new SeedDMS_AccessOperation($dms, $document, $user, $settings); $tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME'])); $view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user, 'folder'=>$folder, 'document'=>$document, 'version'=>$version, 'strictformcheck'=>$settings->_strictFormCheck)); diff --git a/out/out.EditDocument.php b/out/out.EditDocument.php index 73f5a35ae..3d0985e16 100644 --- a/out/out.EditDocument.php +++ b/out/out.EditDocument.php @@ -51,7 +51,7 @@ $folder = $document->getFolder(); $attrdefs = $dms->getAllAttributeDefinitions(array(SeedDMS_Core_AttributeDefinition::objtype_document, SeedDMS_Core_AttributeDefinition::objtype_all)); /* Create object for checking access to certain operations */ -$accessop = new SeedDMS_AccessOperation($document, $user, $settings); +$accessop = new SeedDMS_AccessOperation($dms, $document, $user, $settings); $tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME'])); $view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user, 'folder'=>$folder, 'document'=>$document, 'attrdefs'=>$attrdefs, 'strictformcheck'=>$settings->_strictFormCheck, 'orderby'=>$settings->_sortFoldersDefault)); diff --git a/out/out.MoveDocument.php b/out/out.MoveDocument.php index 79c1d4ce9..65bec8a26 100644 --- a/out/out.MoveDocument.php +++ b/out/out.MoveDocument.php @@ -64,7 +64,7 @@ if(isset($_GET['targetid']) && $_GET['targetid']) { $folder = $document->getFolder(); /* Create object for checking access to certain operations */ -$accessop = new SeedDMS_AccessOperation($document, $user, $settings); +$accessop = new SeedDMS_AccessOperation($dms, $document, $user, $settings); $tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME'])); $view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user, 'folder'=>$folder, 'document'=>$document, 'target'=>$target)); diff --git a/out/out.OverrideContentStatus.php b/out/out.OverrideContentStatus.php index c08ad15ae..2b5e24083 100644 --- a/out/out.OverrideContentStatus.php +++ b/out/out.OverrideContentStatus.php @@ -62,7 +62,7 @@ if ($overallStatus["status"] == S_REJECTED || $overallStatus["status"] == S_EXPI $folder = $document->getFolder(); /* Create object for checking access to certain operations */ -$accessop = new SeedDMS_AccessOperation($document, $user, $settings); +$accessop = new SeedDMS_AccessOperation($dms, $document, $user, $settings); $tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME'])); $view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user, 'folder'=>$folder, 'document'=>$document, 'version'=>$content)); diff --git a/out/out.RemoveDocument.php b/out/out.RemoveDocument.php index c50fe933a..f4accdcbf 100644 --- a/out/out.RemoveDocument.php +++ b/out/out.RemoveDocument.php @@ -51,7 +51,7 @@ if($document->isLocked()) { $folder = $document->getFolder(); /* Create object for checking access to certain operations */ -$accessop = new SeedDMS_AccessOperation($document, $user, $settings); +$accessop = new SeedDMS_AccessOperation($dms, $document, $user, $settings); $tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME'])); $view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user, 'folder'=>$folder, 'document'=>$document)); diff --git a/out/out.RemoveDocumentFile.php b/out/out.RemoveDocumentFile.php index b727ef47f..553148079 100644 --- a/out/out.RemoveDocumentFile.php +++ b/out/out.RemoveDocumentFile.php @@ -53,7 +53,7 @@ if (($document->getAccessMode($user) < M_ALL)&&($user->getID()!=$file->getUserID $folder = $document->getFolder(); /* Create object for checking access to certain operations */ -$accessop = new SeedDMS_AccessOperation($document, $user, $settings); +$accessop = new SeedDMS_AccessOperation($dms, $document, $user, $settings); $tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME'])); $view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user, 'folder'=>$folder, 'document'=>$document, 'file'=>$file)); diff --git a/out/out.RemoveVersion.php b/out/out.RemoveVersion.php index 64e02b3cf..faa0cea33 100644 --- a/out/out.RemoveVersion.php +++ b/out/out.RemoveVersion.php @@ -60,7 +60,7 @@ if (!is_object($version)) { $folder = $document->getFolder(); /* Create object for checking access to certain operations */ -$accessop = new SeedDMS_AccessOperation($document, $user, $settings); +$accessop = new SeedDMS_AccessOperation($dms, $document, $user, $settings); $tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME'])); $view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user, 'folder'=>$folder, 'document'=>$document, 'version'=>$version)); diff --git a/out/out.RemoveWorkflowFromDocument.php b/out/out.RemoveWorkflowFromDocument.php index 70157f778..074425b4d 100644 --- a/out/out.RemoveWorkflowFromDocument.php +++ b/out/out.RemoveWorkflowFromDocument.php @@ -60,7 +60,7 @@ if (!is_object($workflow)) { $folder = $document->getFolder(); /* Create object for checking access to certain operations */ -$accessop = new SeedDMS_AccessOperation($document, $user, $settings); +$accessop = new SeedDMS_AccessOperation($dms, $document, $user, $settings); $tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME'])); $view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user, 'folder'=>$folder, 'document'=>$document, 'version'=>$version)); diff --git a/out/out.ReviewDocument.php b/out/out.ReviewDocument.php index 9059ca291..063f53de3 100644 --- a/out/out.ReviewDocument.php +++ b/out/out.ReviewDocument.php @@ -60,7 +60,7 @@ if ($latestContent->getVersion()!=$version) { } /* Create object for checking access to certain operations */ -$accessop = new SeedDMS_AccessOperation($document, $user, $settings); +$accessop = new SeedDMS_AccessOperation($dms, $document, $user, $settings); // verify if document may be reviewed if (!$accessop->mayReview()){ diff --git a/out/out.RewindWorkflow.php b/out/out.RewindWorkflow.php index 70157f778..074425b4d 100644 --- a/out/out.RewindWorkflow.php +++ b/out/out.RewindWorkflow.php @@ -60,7 +60,7 @@ if (!is_object($workflow)) { $folder = $document->getFolder(); /* Create object for checking access to certain operations */ -$accessop = new SeedDMS_AccessOperation($document, $user, $settings); +$accessop = new SeedDMS_AccessOperation($dms, $document, $user, $settings); $tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME'])); $view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user, 'folder'=>$folder, 'document'=>$document, 'version'=>$version)); diff --git a/out/out.RunSubWorkflow.php b/out/out.RunSubWorkflow.php index e4adbc5ca..8105e566a 100644 --- a/out/out.RunSubWorkflow.php +++ b/out/out.RunSubWorkflow.php @@ -65,7 +65,7 @@ if (!is_object($subworkflow)) { $folder = $document->getFolder(); /* Create object for checking access to certain operations */ -$accessop = new SeedDMS_AccessOperation($document, $user, $settings); +$accessop = new SeedDMS_AccessOperation($dms, $document, $user, $settings); $tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME'])); $view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user, 'folder'=>$folder, 'document'=>$document, 'version'=>$version, 'subworkflow'=>$subworkflow)); diff --git a/out/out.SetExpires.php b/out/out.SetExpires.php index db1001446..df3c1b878 100644 --- a/out/out.SetExpires.php +++ b/out/out.SetExpires.php @@ -44,7 +44,7 @@ if ($document->getAccessMode($user) < M_READWRITE) { $folder = $document->getFolder(); /* Create object for checking access to certain operations */ -$accessop = new SeedDMS_AccessOperation($document, $user, $settings); +$accessop = new SeedDMS_AccessOperation($dms, $document, $user, $settings); $tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME'])); $view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user, 'folder'=>$folder, 'document'=>$document)); diff --git a/out/out.SetReviewersApprovers.php b/out/out.SetReviewersApprovers.php index fd9ff089b..dd181da1b 100644 --- a/out/out.SetReviewersApprovers.php +++ b/out/out.SetReviewersApprovers.php @@ -64,7 +64,7 @@ if ($overallStatus["status"]!=S_DRAFT_REV && $overallStatus["status"]!=S_DRAFT_A $folder = $document->getFolder(); /* Create object for checking access to certain operations */ -$accessop = new SeedDMS_AccessOperation($document, $user, $settings); +$accessop = new SeedDMS_AccessOperation($dms, $document, $user, $settings); $tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME'])); $view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user, 'folder'=>$folder, 'document'=>$document, 'version'=>$content, 'enableadminrevapp'=>$settings->_enableAdminRevApp, 'enableownerrevapp'=>$settings->_enableOwnerRevApp, 'enableselfrevapp'=>$settings->_enableSelfRevApp)); diff --git a/out/out.SetWorkflow.php b/out/out.SetWorkflow.php index d90094e21..0b6aa6216 100644 --- a/out/out.SetWorkflow.php +++ b/out/out.SetWorkflow.php @@ -51,7 +51,7 @@ if (!is_object($version)) { $folder = $document->getFolder(); /* Create object for checking access to certain operations */ -$accessop = new SeedDMS_AccessOperation($document, $user, $settings); +$accessop = new SeedDMS_AccessOperation($dms, $document, $user, $settings); $tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME'])); $view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user, 'folder'=>$folder, 'document'=>$document, 'version'=>$version)); diff --git a/out/out.TriggerWorkflow.php b/out/out.TriggerWorkflow.php index cce0e6cb9..4c8a2de7b 100644 --- a/out/out.TriggerWorkflow.php +++ b/out/out.TriggerWorkflow.php @@ -61,7 +61,7 @@ if (!is_object($transition)) { $folder = $document->getFolder(); /* Create object for checking access to certain operations */ -$accessop = new SeedDMS_AccessOperation($document, $user, $settings); +$accessop = new SeedDMS_AccessOperation($dms, $document, $user, $settings); $tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME'])); $view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user, 'folder'=>$folder, 'document'=>$document, 'version'=>$version, 'transition'=>$transition)); diff --git a/out/out.UpdateDocument.php b/out/out.UpdateDocument.php index a764bee17..af3ee1384 100644 --- a/out/out.UpdateDocument.php +++ b/out/out.UpdateDocument.php @@ -58,7 +58,7 @@ if($settings->_quota > 0) { $folder = $document->getFolder(); /* Create object for checking access to certain operations */ -$accessop = new SeedDMS_AccessOperation($document, $user, $settings); +$accessop = new SeedDMS_AccessOperation($dms, $document, $user, $settings); $tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME'])); $view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user, 'folder'=>$folder, 'document'=>$document, 'strictformcheck'=>$settings->_strictFormCheck, 'enablelargefileupload'=>$settings->_enableLargeFileUpload, 'enableadminrevapp'=>$settings->_enableAdminRevApp, 'enableownerrevapp'=>$settings->_enableOwnerRevApp, 'enableselfrevapp'=>$settings->_enableSelfRevApp, 'dropfolderdir'=>$settings->_dropFolderDir, 'workflowmode'=>$settings->_workflowMode, 'presetexpiration'=>$settings->_presetExpirationDate)); diff --git a/out/out.ViewDocument.php b/out/out.ViewDocument.php index ecf0aedbf..29e62eae8 100644 --- a/out/out.ViewDocument.php +++ b/out/out.ViewDocument.php @@ -49,7 +49,7 @@ if (!is_object($document)) { } /* Create object for checking access to certain operations */ -$accessop = new SeedDMS_AccessOperation($document, $user, $settings); +$accessop = new SeedDMS_AccessOperation($dms, $document, $user, $settings); $folder = $document->getFolder();