示例#1
0
 public function acceptExposedInput($input)
 {
     if (empty($this->options['exposed'])) {
         return TRUE;
     }
     // If view is an attachment and is inheriting exposed filters, then assume
     // exposed input has already been validated
     if (!empty($this->view->is_attachment) && $this->view->display_handler->usesExposed()) {
         $this->validated_exposed_input = (array) $this->view->exposed_raw_input[$this->options['expose']['identifier']];
     }
     // If it's non-required and there's no value don't bother filtering.
     if (!$this->options['expose']['required'] && empty($this->validated_exposed_input)) {
         return FALSE;
     }
     $rc = parent::acceptExposedInput($input);
     if ($rc) {
         // If we have previously validated input, override.
         if (isset($this->validated_exposed_input)) {
             $this->value = $this->validated_exposed_input;
         }
     }
     return $rc;
 }
示例#2
0
 public function acceptExposedInput($input)
 {
     if (empty($this->options['exposed'])) {
         return TRUE;
     }
     // We need to know the operator, which is normally set in
     // \Drupal\views\Plugin\views\filter\FilterPluginBase::acceptExposedInput(),
     // before we actually call the parent version of ourselves.
     if (!empty($this->options['expose']['use_operator']) && !empty($this->options['expose']['operator_id']) && isset($input[$this->options['expose']['operator_id']])) {
         $this->operator = $input[$this->options['expose']['operator_id']];
     }
     // If view is an attachment and is inheriting exposed filters, then assume
     // exposed input has already been validated
     if (!empty($this->view->is_attachment) && $this->view->display_handler->usesExposed()) {
         $this->validated_exposed_input = (array) $this->view->exposed_raw_input[$this->options['expose']['identifier']];
     }
     // If we're checking for EMPTY or NOT, we don't need any input, and we can
     // say that our input conditions are met by just having the right operator.
     if ($this->operator == 'empty' || $this->operator == 'not empty') {
         return TRUE;
     }
     // If it's non-required and there's no value don't bother filtering.
     if (!$this->options['expose']['required'] && empty($this->validated_exposed_input)) {
         return FALSE;
     }
     $rc = parent::acceptExposedInput($input);
     if ($rc) {
         // If we have previously validated input, override.
         if (isset($this->validated_exposed_input)) {
             $this->value = $this->validated_exposed_input;
         }
     }
     return $rc;
 }