diff --git a/SeedDMS_Core/Core/inc.ClassDMS.php b/SeedDMS_Core/Core/inc.ClassDMS.php
index e261466ec..2e4d7368c 100644
--- a/SeedDMS_Core/Core/inc.ClassDMS.php
+++ b/SeedDMS_Core/Core/inc.ClassDMS.php
@@ -1959,8 +1959,9 @@ class SeedDMS_Core_DMS {
*/
function search($query, $limit=0, $offset=0, $logicalmode='AND', $searchin=array(), $startFolder=null, $owner=null, $status = array(), $creationstartdate=array(), $creationenddate=array(), $modificationstartdate=array(), $modificationenddate=array(), $categories=array(), $attributes=array(), $mode=0x3, $expirationstartdate=array(), $expirationenddate=array(), $reception=array()) { /* {{{ */
$orderby = '';
+ $revisionstartdate = $revisionenddate = '';
if(is_array($query)) {
- foreach(array('limit', 'offset', 'logicalmode', 'searchin', 'startFolder', 'owner', 'status', 'creationstartdate', 'creationenddate', 'modificationstartdate', 'modificationenddate', 'categories', 'attributes', 'mode', 'expirationstartdate', 'expirationenddate', 'reception') as $paramname)
+ foreach(array('limit', 'offset', 'logicalmode', 'searchin', 'startFolder', 'owner', 'status', 'creationstartdate', 'creationenddate', 'modificationstartdate', 'modificationenddate', 'categories', 'attributes', 'mode', 'revisionstartdate', 'revisionenddate', 'expirationstartdate', 'expirationenddate', 'reception') as $paramname)
${$paramname} = isset($query[$paramname]) ? $query[$paramname] : ${$paramname};
foreach(array('orderby') as $paramname)
${$paramname} = isset($query[$paramname]) ? $query[$paramname] : '';
@@ -2264,6 +2265,23 @@ class SeedDMS_Core_DMS {
$searchCreateDate .= "`tblDocumentContent`.`date` <= ".$stopdate;
}
}
+ $searchRevisionDate = "";
+ if ($revisionstartdate) {
+ $startdate = $revisionstartdate['year'].'-'.$revisionstartdate["month"].'-'.$revisionstartdate["day"];
+ if ($startdate) {
+ if($searchRevisionDate)
+ $searchRevisionDate .= " AND ";
+ $searchRevisionDate .= "`tblDocumentContent`.`revisiondate` >= '".$startdate."'";
+ }
+ }
+ if ($revisionenddate) {
+ $stopdate = $revisionenddate["year"].'-'.$revisionenddate["month"].'-'.$revisionenddate["day"];
+ if ($stopdate) {
+ if($searchRevisionDate)
+ $searchRevisionDate .= " AND ";
+ $searchRevisionDate .= "`tblDocumentContent`.`revisiondate` <= '".$stopdate."'";
+ }
+ }
$searchExpirationDate = '';
if ($expirationstartdate) {
$startdate = SeedDMS_Core_DMS::makeTimeStamp($expirationstartdate['hour'], $expirationstartdate['minute'], $expirationstartdate['second'], $expirationstartdate['year'], $expirationstartdate["month"], $expirationstartdate["day"]);
@@ -2330,6 +2348,9 @@ class SeedDMS_Core_DMS {
if (strlen($searchCreateDate)>0) {
$searchQuery .= " AND (".$searchCreateDate.")";
}
+ if (strlen($searchRevisionDate)>0) {
+ $searchQuery .= " AND (".$searchRevisionDate.")";
+ }
if (strlen($searchExpirationDate)>0) {
$searchQuery .= " AND (".$searchExpirationDate.")";
}
@@ -2363,7 +2384,7 @@ class SeedDMS_Core_DMS {
}
}
- if($searchKey || $searchOwner || $searchCategories || $searchCreateDate || $searchExpirationDate || $searchAttributes || $status || $reception) {
+ if($searchKey || $searchOwner || $searchCategories || $searchCreateDate || $searchRevisionDate || $searchExpirationDate || $searchAttributes || $status || $reception) {
// Count the number of rows that the search will produce.
$resArr = $this->db->getResultArray("SELECT COUNT(*) AS num FROM (SELECT DISTINCT `tblDocuments`.`id` ".$searchQuery.") a");
$totalDocs = 0;
diff --git a/SeedDMS_Core/package.xml b/SeedDMS_Core/package.xml
index 91c7d489c..7e6aecfc9 100644
--- a/SeedDMS_Core/package.xml
+++ b/SeedDMS_Core/package.xml
@@ -24,7 +24,7 @@
GPL License
-- no changes, just keep same version as seeddms application
+- add searching for revision date