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 {