You are here

public function Date::__toString in Views XML Backend 8

Same name in this branch
  1. 8 src/Plugin/views/filter/Date.php \Drupal\views_xml_backend\Plugin\views\filter\Date::__toString()
  2. 8 src/Plugin/views/argument/Date.php \Drupal\views_xml_backend\Plugin\views\argument\Date::__toString()

Generates an XPath filter string.

Return value

string The XPath filter string.

Overrides XmlFilterInterface::__toString

File

src/Plugin/views/filter/Date.php, line 88
Contains \Drupal\views_xml_backend\Plugin\views\filter\Date.

Class

Date
Date filter implementation.

Namespace

Drupal\views_xml_backend\Plugin\views\filter

Code

public function __toString() {
  $operator = $this->operator;
  $xpath = $this->options['xpath_selector'];
  $granularity = $this->options['granularity'];
  $min = views_xml_backend_date($this->value['min'], $granularity);
  $max = views_xml_backend_date($this->value['max'], $granularity);
  if ($operator === 'between') {
    return "php:functionString('views_xml_backend_date', {$xpath}, '{$granularity}') >= {$min} and php:functionString('views_xml_backend_date', {$xpath}, '{$granularity}') <= {$max}";
  }
  if ($operator === 'not between') {
    return "php:functionString('views_xml_backend_date', {$xpath}, '{$granularity}') <= {$min} and php:functionString('views_xml_backend_date', {$xpath}, '{$granularity}') >= {$max}";
  }
  $value = views_xml_backend_date($this->value['value'], $granularity);
  return "php:functionString('views_xml_backend_date', {$xpath}, '{$granularity}') {$operator} {$value}";
}