add searching fro revision date

This commit is contained in:
Uwe Steinmann 2021-01-29 14:19:44 +01:00
parent 935d8a7b68
commit aa8290e03b
2 changed files with 24 additions and 3 deletions

View File

@ -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()) { /* {{{ */ 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 = ''; $orderby = '';
$revisionstartdate = $revisionenddate = '';
if(is_array($query)) { 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}; ${$paramname} = isset($query[$paramname]) ? $query[$paramname] : ${$paramname};
foreach(array('orderby') as $paramname) foreach(array('orderby') as $paramname)
${$paramname} = isset($query[$paramname]) ? $query[$paramname] : ''; ${$paramname} = isset($query[$paramname]) ? $query[$paramname] : '';
@ -2264,6 +2265,23 @@ class SeedDMS_Core_DMS {
$searchCreateDate .= "`tblDocumentContent`.`date` <= ".$stopdate; $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 = ''; $searchExpirationDate = '';
if ($expirationstartdate) { if ($expirationstartdate) {
$startdate = SeedDMS_Core_DMS::makeTimeStamp($expirationstartdate['hour'], $expirationstartdate['minute'], $expirationstartdate['second'], $expirationstartdate['year'], $expirationstartdate["month"], $expirationstartdate["day"]); $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) { if (strlen($searchCreateDate)>0) {
$searchQuery .= " AND (".$searchCreateDate.")"; $searchQuery .= " AND (".$searchCreateDate.")";
} }
if (strlen($searchRevisionDate)>0) {
$searchQuery .= " AND (".$searchRevisionDate.")";
}
if (strlen($searchExpirationDate)>0) { if (strlen($searchExpirationDate)>0) {
$searchQuery .= " AND (".$searchExpirationDate.")"; $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. // 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"); $resArr = $this->db->getResultArray("SELECT COUNT(*) AS num FROM (SELECT DISTINCT `tblDocuments`.`id` ".$searchQuery.") a");
$totalDocs = 0; $totalDocs = 0;

View File

@ -24,7 +24,7 @@
</stability> </stability>
<license uri="http://opensource.org/licenses/gpl-license">GPL License</license> <license uri="http://opensource.org/licenses/gpl-license">GPL License</license>
<notes> <notes>
- no changes, just keep same version as seeddms application - add searching for revision date
</notes> </notes>
<contents> <contents>
<dir baseinstalldir="SeedDMS" name="/"> <dir baseinstalldir="SeedDMS" name="/">