diff --git a/inc/inc.ClassSession.php b/inc/inc.ClassSession.php index 78f796a0b..a9940d938 100644 --- a/inc/inc.ClassSession.php +++ b/inc/inc.ClassSession.php @@ -473,8 +473,11 @@ class SeedDMS_SessionMgr { * * @return array list of sessions */ - function getUserSessions($user) { /* {{{ */ + function getUserSessions($user, $limit=0) { /* {{{ */ $queryStr = "SELECT * FROM `tblSessions` WHERE `userID`=".$user->getID(); + $queryStr .= " ORDER BY `lastAccess` DESC"; + if($limit > 0) + $queryStr .= " LIMIT ".(int) $limit; $resArr = $this->db->getResultArray($queryStr); if (is_bool($resArr) && $resArr == false) return false; diff --git a/inc/inc.ClassSettings.php b/inc/inc.ClassSettings.php index f8122b31a..51ddd472b 100644 --- a/inc/inc.ClassSettings.php +++ b/inc/inc.ClassSettings.php @@ -184,6 +184,8 @@ class Settings { /* {{{ */ var $_enableOwnerRevApp = false; // enable/disable listing logged in user as reviewer/approver var $_enableSelfRevApp = false; + // enable/disable hidden user as reviewer/approver + var $_enableHiddenRevApp = false; // enable/disable update of a review/approval by the reviewer/approver var $_enableUpdateRevApp = false; // enable/disable removal of a review/approval by the admiistrator diff --git a/out/out.AddDocument.php b/out/out.AddDocument.php index 9e7d3e331..e911efa09 100644 --- a/out/out.AddDocument.php +++ b/out/out.AddDocument.php @@ -80,6 +80,7 @@ if($view) { $view->setParam('enableownerreceipt', $settings->_enableOwnerReceipt); $view->setParam('enableselfreceipt', $settings->_enableSelfReceipt); $view->setParam('libraryfolder', $libfolder); + $view->setParam('enablehiddenrevapp', $settings->_enableHiddenRevApp); $view->setParam('dropfolderdir', $settings->_dropFolderDir); $view->setParam('dropfolderfile', isset($_REQUEST["dropfolderfileform1"]) ?$_REQUEST["dropfolderfileform1"] : ''); $view->setParam('workflowmode', $settings->_workflowMode); diff --git a/out/out.SetReviewersApprovers.php b/out/out.SetReviewersApprovers.php index 22d9fce22..56cc6a5a1 100644 --- a/out/out.SetReviewersApprovers.php +++ b/out/out.SetReviewersApprovers.php @@ -69,6 +69,7 @@ if($view) { $view->setParam('enableadminrevapp', $settings->_enableAdminRevApp); $view->setParam('enableownerrevapp', $settings->_enableOwnerRevApp); $view->setParam('enableselfrevapp', $settings->_enableSelfRevApp); + $view->setParam('enablehiddenrevapp', $settings->_enableHiddenRevApp); $view->setParam('accessobject', $accessop); $view($_GET); exit; diff --git a/out/out.UpdateDocument.php b/out/out.UpdateDocument.php index c80d8870f..1c736de9e 100644 --- a/out/out.UpdateDocument.php +++ b/out/out.UpdateDocument.php @@ -75,6 +75,7 @@ if($view) { $view->setParam('enableselfrevapp', $settings->_enableSelfRevApp); $view->setParam('enablereceiptworkflow', $settings->_enableReceiptWorkflow); $view->setParam('enableselfreceipt', $settings->_enableSelfReceipt); + $view->setParam('enablehiddenrevapp', $settings->_enableHiddenRevApp); $view->setParam('dropfolderdir', $settings->_dropFolderDir); $view->setParam('workflowmode', $settings->_workflowMode); $view->setParam('presetexpiration', $settings->_presetExpirationDate); diff --git a/views/bootstrap/class.AddDocument.php b/views/bootstrap/class.AddDocument.php index 871716492..be12b4e08 100644 --- a/views/bootstrap/class.AddDocument.php +++ b/views/bootstrap/class.AddDocument.php @@ -161,6 +161,7 @@ console.log(params); $enableadminreceipt = $this->params['enableadminreceipt']; $enableownerreceipt = $this->params['enableownerreceipt']; $enableselfreceipt = $this->params['enableselfreceipt']; + $enablehiddenrevapp = $this->params['enablehiddenrevapp']; $strictformcheck = $this->params['strictformcheck']; $nodocumentformfields = $this->params['nodocumentformfields']; $dropfolderdir = $this->params['dropfolderdir']; @@ -531,6 +532,7 @@ console.log(params); $options = array(); foreach ($docAccess["users"] as $usr) { + if(!$enablehiddenrevapp && $usr->isHidden()) continue; if (!$enableselfrevapp && $usr->getID()==$user->getID()) continue; $mandatory=false; foreach ($res as $r) if ($r['reviewerUserID']==$usr->getID()) $mandatory=true; @@ -649,6 +651,7 @@ console.log(params); $options = array(); foreach ($docAccess["users"] as $usr) { + if(!$enablehiddenrevapp && $usr->isHidden()) continue; if (!$enableselfrevapp && $usr->getID()==$user->getID()) continue; $mandatory=false; diff --git a/views/bootstrap/class.SetReviewersApprovers.php b/views/bootstrap/class.SetReviewersApprovers.php index fcfe2a192..c06df8c74 100644 --- a/views/bootstrap/class.SetReviewersApprovers.php +++ b/views/bootstrap/class.SetReviewersApprovers.php @@ -41,6 +41,7 @@ class SeedDMS_View_SetReviewersApprovers extends SeedDMS_Theme_Style { $enableadminrevapp = $this->params['enableadminrevapp']; $enableownerrevapp = $this->params['enableownerrevapp']; $enableselfrevapp = $this->params['enableselfrevapp']; + $enablehiddenrevapp = $this->params['enablehiddenrevapp']; $overallStatus = $content->getStatus(); $owner = $document->getOwner(); @@ -115,6 +116,7 @@ class SeedDMS_View_SetReviewersApprovers extends SeedDMS_Theme_Style { break; } } else { + if(!$enablehiddenrevapp && $usr->isHidden()) continue; if (!$enableselfrevapp && $usr->getID()==$user->getID()) continue; $options[] = array($usr->getID(), htmlspecialchars($usr->getLogin() . " - ". $usr->getFullName())); } @@ -256,6 +258,7 @@ class SeedDMS_View_SetReviewersApprovers extends SeedDMS_Theme_Style { } } else { + if(!$enablehiddenrevapp && $usr->isHidden()) continue; if (!$enableselfrevapp && $usr->getID()==$user->getID()) continue; $options[] = array($usr->getID(), htmlspecialchars($usr->getLogin() . " - ". $usr->getFullName())); } diff --git a/views/bootstrap/class.UpdateDocument.php b/views/bootstrap/class.UpdateDocument.php index 0d59ab82c..b000d5ae5 100644 --- a/views/bootstrap/class.UpdateDocument.php +++ b/views/bootstrap/class.UpdateDocument.php @@ -143,6 +143,7 @@ console.log(element); $enableselfrevapp = $this->params['enableselfrevapp']; $enablereceiptworkflow = $this->params['enablereceiptworkflow']; $enableselfreceipt = $this->params['enableselfreceipt']; + $enablehiddenrevapp = $this->params['enablehiddenrevapp']; $dropfolderdir = $this->params['dropfolderdir']; $workflowmode = $this->params['workflowmode']; $presetexpiration = $this->params['presetexpiration']; @@ -349,6 +350,7 @@ console.log(element); $res=$user->getMandatoryReviewers(); $options = array(); foreach ($docAccess["users"] as $usr) { + if(!$enablehiddenrevapp && $usr->isHidden()) continue; if (!$enableselfrevapp && $usr->getID()==$user->getID()) continue; $mandatory=false; foreach ($res as $r) if ($r['reviewerUserID']==$usr->getID()) $mandatory=true; @@ -519,6 +521,7 @@ console.log(element); $options = array(); $res=$user->getMandatoryApprovers(); foreach ($docAccess["users"] as $usr) { + if(!$enablehiddenrevapp && $usr->isHidden()) continue; if (!$enableselfrevapp && $usr->getID()==$user->getID()) continue; $mandatory=false; diff --git a/views/bootstrap/class.UserList.php b/views/bootstrap/class.UserList.php index ecbe044f8..f97f6d89f 100644 --- a/views/bootstrap/class.UserList.php +++ b/views/bootstrap/class.UserList.php @@ -68,7 +68,7 @@ class SeedDMS_View_UserList extends SeedDMS_Theme_Style { isDisabled() ? " class=\"error\"" : "").">"; + echo "isDisabled() ? " class=\"table-error error\"" : ( $currUser->isHidden() ? " class=\"table-warning warning\"" : "")).">"; echo ""; if ($currUser->hasImage()) print "html_url('UserImage', array('userid'=>$currUser->getId()))."\" >"; @@ -112,7 +112,7 @@ class SeedDMS_View_UserList extends SeedDMS_Theme_Style { printMLText("password_expired"); } } - $sessions = $sessionmgr->getUserSessions($currUser); + $sessions = $sessionmgr->getUserSessions($currUser, 10); if($sessions) { foreach($sessions as $session) { echo "
".getMLText('lastaccess').": ".getLongReadableDate($session->getLastAccess());