add searching for revision date

This commit is contained in:
Uwe Steinmann 2021-01-29 14:20:05 +01:00
parent aa8290e03b
commit 780be78d36
2 changed files with 54 additions and 0 deletions

View File

@ -360,6 +360,33 @@ if(((!isset($_GET["fullsearch"]) && $settings->_defaultSearchMethod == 'fulltext
UI::exitError(getMLText("search"),getMLText("invalid_create_date_end"));
}
$revisionstartdate = array();
$revisionstopdate = array();
if (isset($_GET["revisiondate"]) && $_GET["revisiondate"]!=null) {
$revisiondate = true;
} else {
$revisiondate = false;
}
if(isset($_GET["revisionstart"]) && $_GET["revisionstart"]) {
$tmp = explode("-", $_GET["revisionstart"]);
$revisionstartdate = array('year'=>(int)$tmp[0], 'month'=>(int)$tmp[1], 'day'=>(int)$tmp[2], 'hour'=>0, 'minute'=>0, 'second'=>0);
if (!checkdate($revisionstartdate['month'], $revisionstartdate['day'], $revisionstartdate['year'])) {
UI::exitError(getMLText("search"),getMLText("invalid_revision_date_start"));
}
} else {
$revisionstartdate = array();
}
if(isset($_GET["revisionend"]) && $_GET["revisionend"]) {
$tmp = explode("-", $_GET["revisionend"]);
$revisionstopdate = array('year'=>(int)$tmp[0], 'month'=>(int)$tmp[1], 'day'=>(int)$tmp[2], 'hour'=>0, 'minute'=>0, 'second'=>0);
if (!checkdate($revisionstopdate['month'], $revisionstopdate['day'], $revisionstopdate['year'])) {
UI::exitError(getMLText("search"),getMLText("invalid_revision_date_end"));
}
} else {
$revisionstopdate = array();
}
$expstartdate = array();
$expstopdate = array();
if (isset($_GET["expirationdate"]) && $_GET["expirationdate"]!=null) {
@ -498,6 +525,8 @@ if(((!isset($_GET["fullsearch"]) && $settings->_defaultSearchMethod == 'fulltext
'mode'=>$resultmode,
'expirationstartdate'=>$expirationdate ? $expstartdate : array(),
'expirationenddate'=>$expirationdate ? $expstopdate : array(),
'revisionstartdate'=>$revisiondate ? $revisionstartdate : array(),
'revisionenddate'=>$revisiondate ? $revisionstopdate : array(),
'reception'=>$reception,
'orderby'=>$orderby
));
@ -584,10 +613,13 @@ if($settings->_showSingleSearchHit && count($entries) == 1) {
$view->setParam('owner', $owner);
$view->setParam('startdate', isset($startdate) ? $startdate : array());
$view->setParam('stopdate', isset($stopdate) ? $stopdate : array());
$view->setParam('revisionstartdate', isset($revisionstartdate) ? $revisionstartdate : array());
$view->setParam('revisionstopdate', isset($revisionstopdate) ? $revisionstopdate : array());
$view->setParam('expstartdate', isset($expstartdate) ? $expstartdate : array());
$view->setParam('expstopdate', isset($expstopdate) ? $expstopdate : array());
$view->setParam('creationdate', isset($creationdate) ? $creationdate : '');
$view->setParam('expirationdate', isset($expirationdate) ? $expirationdate: '');
$view->setParam('revisiondate', isset($revisiondate) ? $revisiondate: '');
$view->setParam('status', isset($status) ? $status : array());
$view->setParam('categories', isset($categories) ? $categories : '');
$view->setParam('category', isset($categorynames) ? $categorynames : '');

View File

@ -189,8 +189,11 @@ function typeahead() { /* {{{ */
$stopdate = $this->params['stopdate'];
$expstartdate = $this->params['expstartdate'];
$expstopdate = $this->params['expstopdate'];
$revisionstartdate = $this->params['revisionstartdate'];
$revisionstopdate = $this->params['revisionstopdate'];
$creationdate = $this->params['creationdate'];
$expirationdate = $this->params['expirationdate'];
$revisiondate = $this->params['revisiondate'];
$status = $this->params['status'];
$this->query = $this->params['query'];
$orderby = $this->params['orderby'];
@ -366,6 +369,8 @@ function typeahead() { /* {{{ */
$openfilterdlg = true;
if($expirationdate)
$openfilterdlg = true;
if($revisiondate)
$openfilterdlg = true;
if($reception)
$openfilterdlg = true;
?>
@ -465,6 +470,23 @@ function typeahead() { /* {{{ */
</span>
</td>
</tr>
<tr>
<td><?php printMLText("revision");?>:</td>
<td>
<label class="checkbox inline">
<input type="checkbox" name="revisiondate" value="true" <?php if($revisiondate) echo "checked"; ?>/><?php printMLText("between");?>
</label><br />
<span class="input-append date" style="display: inline;" id="revisionstartdate" data-date="<?php echo date('Y-m-d'); ?>" data-date-format="yyyy-mm-dd" data-date-language="<?php echo str_replace('_', '-', $this->params['session']->getLanguage()); ?>">
<input class="span4" size="16" name="revisionstart" type="text" value="<?php if($revisionstartdate) printf("%04d-%02d-%02d", $revisionstartdate['year'], $revisionstartdate['month'], $revisionstartdate['day']); else echo date('Y-m-d'); ?>">
<span class="add-on"><i class="fa fa-calendar"></i></span>
</span>&nbsp;
<?php printMLText("and"); ?>
<span class="input-append date" style="display: inline;" id="revisionenddate" data-date="<?php echo date('Y-m-d'); ?>" data-date-format="yyyy-mm-dd" data-date-language="<?php echo str_replace('_', '-', $this->params['session']->getLanguage()); ?>">
<input class="span4" size="16" name="revisionend" type="text" value="<?php if($revisionstopdate) printf("%04d-%02d-%02d", $revisionstopdate['year'], $revisionstopdate['month'], $revisionstopdate['day']); else echo date('Y-m-d'); ?>">
<span class="add-on"><i class="fa fa-calendar"></i></span>
</span>
</td>
</tr>
<?php
if($attrdefs) {
foreach($attrdefs as $attrdef) {