mirror of
https://git.code.sf.net/p/seeddms/code
synced 2025-07-15 17:08:11 +00:00
Merge branch 'seeddms-5.1.x' into seeddms-6.0.x
This commit is contained in:
commit
c638258a10
|
@ -1801,6 +1801,7 @@ class SeedDMS_Search { /* {{{ */
|
|||
}
|
||||
$revised['from'] = $revisionstartts;
|
||||
}
|
||||
$this->searchparams['revisionstartdate'] = $revisionstartdate;
|
||||
if(!empty($get["revisiondateend"])) {
|
||||
$revisionendts = makeTsFromDate($get["revisiondateend"]);
|
||||
$revisionenddate = array('year'=>(int)date('Y', $revisionendts), 'month'=>(int)date('m', $revisionendts), 'day'=>(int)date('d', $revisionendts), 'hour'=>23, 'minute'=>59, 'second'=>59);
|
||||
|
@ -1809,6 +1810,7 @@ class SeedDMS_Search { /* {{{ */
|
|||
}
|
||||
$revised['to'] = $revisionendts;
|
||||
}
|
||||
$this->searchparams['revisionenddate'] = $revisionenddate;
|
||||
/* }}} */
|
||||
|
||||
/* Status date {{{ */
|
||||
|
@ -1822,6 +1824,7 @@ class SeedDMS_Search { /* {{{ */
|
|||
if ($statusstartdate && !checkdate($statusstartdate['month'], $statusstartdate['day'], $statusstartdate['year'])) {
|
||||
UI::exitError(getMLText("search"),getMLText("invalid_status_date_start"));
|
||||
}
|
||||
$this->searchparams['statusstartdate'] = $statusstartdate;
|
||||
|
||||
if(!empty($get["statusdateend"])) {
|
||||
$statusendts = makeTsFromDate($get["statusdateend"]);
|
||||
|
@ -1843,6 +1846,7 @@ class SeedDMS_Search { /* {{{ */
|
|||
UI::exitError(getMLText("search"),getMLText("invalid_expiration_date_start"));
|
||||
}
|
||||
}
|
||||
$this->searchparams['expstartdate'] = $expstartdate;
|
||||
if(!empty($get["expirationend"])) {
|
||||
$expendts = makeTsFromDate($get["expirationend"]);
|
||||
$expenddate = array('year'=>(int)date('Y', $expendts), 'month'=>(int)date('m', $expendts), 'day'=>(int)date('d', $expendts), 'hour'=>23, 'minute'=>59, 'second'=>59);
|
||||
|
@ -1850,12 +1854,14 @@ class SeedDMS_Search { /* {{{ */
|
|||
UI::exitError(getMLText("search"),getMLText("invalid_expiration_date_end"));
|
||||
}
|
||||
}
|
||||
$this->searchparams['expenddate'] = $expenddate;
|
||||
/* }}} */
|
||||
|
||||
$reception = array();
|
||||
if (isset($get["reception"])){
|
||||
$reception = $get["reception"];
|
||||
}
|
||||
$this->searchparams['reception'] = $reception;
|
||||
|
||||
/* Do not search for folders if result shall be filtered by status.
|
||||
* If this is not done, unexplainable results will be delivered.
|
||||
|
@ -1987,32 +1993,32 @@ class SeedDMS_Search { /* {{{ */
|
|||
// ---------------- Start searching -----------------------------------------
|
||||
$startTime = $this->getTime();
|
||||
$resArr = $this->dms->search(array(
|
||||
'query'=>$query,
|
||||
'query'=>$this->searchparams['query'],
|
||||
'limit'=>0,
|
||||
'offset'=>0,
|
||||
'logicalmode'=>$mode,
|
||||
'searchin'=>$searchin,
|
||||
'startFolder'=>$startFolder,
|
||||
'owner'=>$ownerobjs,
|
||||
'status'=>$status,
|
||||
'mimetype'=>$mimetype,
|
||||
'creationstartdate'=>$created['from'],
|
||||
'creationenddate'=>$created['to'],
|
||||
'modificationstartdate'=>$modified['from'],
|
||||
'modificationenddate'=>$modified['to'],
|
||||
'filesizestart'=>$filesize['from'],
|
||||
'filesizeend'=>$filesize['to'],
|
||||
'categories'=>$categories,
|
||||
'attributes'=>$attributes,
|
||||
'mode'=>$resultmode,
|
||||
'expirationstartdate'=>$expstartdate ? $expstartdate : array(),
|
||||
'expirationenddate'=>$expenddate ? $expenddate : array(),
|
||||
'revisionstartdate'=>$revisionstartdate ? $revisionstartdate : array(),
|
||||
'revisionenddate'=>$revisionenddate ? $revisionenddate : array(),
|
||||
'reception'=>$reception,
|
||||
'statusstartdate'=>$statusstartdate ? $statusstartdate : array(),
|
||||
'statusenddate'=>$statusenddate ? $statusenddate : array(),
|
||||
'orderby'=>$orderby
|
||||
'logicalmode'=>$this->searchparams['mode'],
|
||||
'searchin'=>$this->searchparams['searchin'],
|
||||
'startFolder'=>$this->searchparams['startFolder'],
|
||||
'owner'=>$this->searchparams['ownerobjs'],
|
||||
'status'=>$this->searchparams['status'],
|
||||
'mimetype'=>$this->searchparams['mimetype'],
|
||||
'creationstartdate'=>$this->searchparams['created']['from'],
|
||||
'creationenddate'=>$this->searchparams['created']['to'],
|
||||
'modificationstartdate'=>$this->searchparams['modified']['from'],
|
||||
'modificationenddate'=>$this->searchparams['modified']['to'],
|
||||
'filesizestart'=>$this->searchparams['filesize']['from'],
|
||||
'filesizeend'=>$this->searchparams['filesize']['to'],
|
||||
'categories'=>$this->searchparams['categories'],
|
||||
'attributes'=>$this->searchparams['attributes'],
|
||||
'mode'=>$this->searchparams['resultmode'],
|
||||
'expirationstartdate'=>$this->searchparams['expstartdate'],
|
||||
'expirationenddate'=>$this->searchparams['expenddate'],
|
||||
'revisionstartdate'=>$this->searchparams['revisionstartdate'],
|
||||
'revisionenddate'=>$this->searchparams['revisionenddate'],
|
||||
'reception'=>$this->searchparams['reception'],
|
||||
'statusstartdate'=>$this->searchparams['statusstartdate'],
|
||||
'statusenddate'=>$this->searchparams['statusenddate'],
|
||||
'orderby'=>$this->searchparams['orderby']
|
||||
));
|
||||
$this->total = $resArr['totalDocs'] + $resArr['totalFolders'];
|
||||
$searchTime = $this->getTime() - $startTime;
|
||||
|
@ -2022,7 +2028,7 @@ class SeedDMS_Search { /* {{{ */
|
|||
$fcount = 0;
|
||||
if($resArr['folders']) {
|
||||
foreach ($resArr['folders'] as $entry) {
|
||||
if ($entry->getAccessMode($user) >= M_READ) {
|
||||
if ($entry->getAccessMode($this->user) >= M_READ) {
|
||||
$entries[] = $entry;
|
||||
$fcount++;
|
||||
}
|
||||
|
@ -2032,7 +2038,7 @@ class SeedDMS_Search { /* {{{ */
|
|||
$dcount = 0;
|
||||
if($resArr['docs']) {
|
||||
foreach ($resArr['docs'] as $entry) {
|
||||
if ($entry->getAccessMode($user) >= M_READ) {
|
||||
if ($entry->getAccessMode($this->user) >= M_READ) {
|
||||
if($entry->getLatestContent()) {
|
||||
$entry->verifyLastestContentExpriry();
|
||||
$entries[] = $entry;
|
||||
|
@ -2041,12 +2047,16 @@ class SeedDMS_Search { /* {{{ */
|
|||
}
|
||||
}
|
||||
}
|
||||
$limit = $this->searchparams['limit'];
|
||||
$this->dcount = $dcount;
|
||||
$totalPages = 0;
|
||||
if($limit > 0) {
|
||||
$totalPages = (int) (count($entries)/$limit);
|
||||
if(count($entries)%$limit)
|
||||
$totalPages++;
|
||||
if($pageNumber != 'all')
|
||||
$this->entries = array_slice($entries, ($pageNumber-1)*$limit, $limit);
|
||||
}
|
||||
if($this->searchparams['pageNumber'] != 'all')
|
||||
$this->entries = array_slice($entries, ($this->searchparams['pageNumber']-1)*$limit, $limit);
|
||||
$this->totalPages = $totalPages;
|
||||
$this->facets = array();
|
||||
$this->stats = array();
|
||||
|
|
Loading…
Reference in New Issue
Block a user