public function apachesolr_views_handler_filter_date::op_simple in Apache Solr Views 7
Add the date filter to the query parameters.
Overrides views_handler_filter_date::op_simple
File
- handlers/
apachesolr_views_handler_filter_date.inc, line 27 - Date filter handler for Apache Solr Views.
Class
Code
public function op_simple($field) {
$value = intval(strtotime($this->value['value']));
$value = new DateObject($value);
$has_time = $value
->hasTime();
$value_format = $value
->format(APACHESOLR_VIEWS_DATE_ISO8601);
switch ($this->operator) {
case '<':
case '<=':
if ($has_time) {
$value = '[* TO ' . $value_format . ']';
}
else {
$value = '[* TO ' . $value_format . '/DAY+1DAY]';
}
break;
case '>':
case '>=':
if ($has_time) {
$value = '[' . $value_format . ' TO *]';
}
else {
$value = '[' . $value_format . '/DAY TO *]';
}
break;
case '!=':
if ($has_time) {
$value = '[* TO ' . $value_format . '-1SECOND] OR [' . $value_format . '+1SECOND TO *]';
}
else {
$value = '[* TO ' . $value_format . '/DAY-1DAY] OR [' . $value_format . '/DAY+1DAY TO *]';
}
break;
case '=':
default:
if ($has_time) {
$value = '[' . $value_format . ' TO ' . $value_format . ']';
}
else {
$value = '[' . $value_format . '/DAY TO ' . $value_format . '/DAY+1DAY]';
}
break;
}
$this->query
->add_where($this->options['group'], $this->real_field, $value, $this->operator);
}