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()) { /* {{{ */
$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;

View File

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