danielebarchiesi@0: FALSE, 'bool' => TRUE); danielebarchiesi@0: return $options; danielebarchiesi@0: } danielebarchiesi@0: danielebarchiesi@0: /** danielebarchiesi@0: * Override options_form() so that only the relevant options danielebarchiesi@0: * are displayed to the user. danielebarchiesi@0: */ danielebarchiesi@0: function options_form(&$form, &$form_state) { danielebarchiesi@0: parent::options_form($form, $form_state); danielebarchiesi@0: $form['must_not_be'] = array( danielebarchiesi@0: '#type' => 'checkbox', danielebarchiesi@0: '#title' => t('Fail basic validation if any argument is given'), danielebarchiesi@0: '#default_value' => !empty($this->options['must_not_be']), danielebarchiesi@0: '#description' => t('By checking this field, you can use this to make sure views with more arguments than necessary fail validation.'), danielebarchiesi@0: '#fieldset' => 'more', danielebarchiesi@0: ); danielebarchiesi@0: danielebarchiesi@0: unset($form['exception']); danielebarchiesi@0: } danielebarchiesi@0: danielebarchiesi@0: /** danielebarchiesi@0: * Override default_actions() to remove actions that don't danielebarchiesi@0: * make sense for a null argument. danielebarchiesi@0: */ danielebarchiesi@0: function default_actions($which = NULL) { danielebarchiesi@0: if ($which) { danielebarchiesi@0: if (in_array($which, array('ignore', 'not found', 'empty', 'default'))) { danielebarchiesi@0: return parent::default_actions($which); danielebarchiesi@0: } danielebarchiesi@0: return; danielebarchiesi@0: } danielebarchiesi@0: $actions = parent::default_actions(); danielebarchiesi@0: unset($actions['summary asc']); danielebarchiesi@0: unset($actions['summary desc']); danielebarchiesi@0: return $actions; danielebarchiesi@0: } danielebarchiesi@0: danielebarchiesi@0: function validate_argument_basic($arg) { danielebarchiesi@0: if (!empty($this->options['must_not_be'])) { danielebarchiesi@0: return !isset($arg); danielebarchiesi@0: } danielebarchiesi@0: danielebarchiesi@0: return parent::validate_argument_basic($arg); danielebarchiesi@0: } danielebarchiesi@0: danielebarchiesi@0: /** danielebarchiesi@0: * Override the behavior of query() to prevent the query danielebarchiesi@0: * from being changed in any way. danielebarchiesi@0: */ danielebarchiesi@0: function query($group_by = FALSE) {} danielebarchiesi@0: }