You are here

function views_extra_handlers_handler_field_query_alter::options_form in Extra Views Handlers 7

Default options form provides the label widget that all fields should have.

Overrides views_handler_field::options_form

File

views/handlers/views_extra_handlers_handler_field_query_alter.inc, line 89
Views field handler for the views_system module.

Class

views_extra_handlers_handler_field_query_alter
@file Views field handler for the views_system module.

Code

function options_form(&$form, &$form_state) {
  parent::options_form($form, $form_state);
  $form['veh_field'] = array(
    '#type' => 'fieldset',
    '#title' => t('Field'),
    '#collapsible' => TRUE,
  );
  $form['veh_field']['veh_table'] = array(
    '#type' => 'textfield',
    '#title' => t('Table'),
    '#default_value' => $this->options['veh_field']['veh_table'],
  );
  $form['veh_field']['veh_column'] = array(
    '#type' => 'textfield',
    '#title' => t('Field'),
    '#default_value' => $this->options['veh_field']['veh_column'],
  );
  $form['veh_where'] = array(
    '#type' => 'fieldset',
    '#title' => t('Where'),
    '#collapsible' => TRUE,
  );
  $form['veh_where']['veh_where_type'] = array(
    '#type' => 'select',
    '#title' => t('Type'),
    '#options' => array(
      'AND' => t('AND'),
      'OR' => t('OR'),
    ),
    '#default_value' => $this->options['veh_where']['veh_where_type'],
    '#description' => t('Type of Condition.'),
  );
  $form['veh_where']['veh_table'] = array(
    '#type' => 'textfield',
    '#title' => t('Where Table'),
    '#default_value' => $this->options['veh_where']['veh_table'],
  );
  $form['veh_where']['veh_column'] = array(
    '#type' => 'textfield',
    '#title' => t('Where Field'),
    '#default_value' => $this->options['veh_where']['veh_column'],
  );
  $form['veh_where']['veh_value'] = array(
    '#type' => 'textfield',
    '#title' => t('Field Value'),
    '#default_value' => $this->options['veh_where']['veh_value'],
  );
  $form['veh_where']['veh_where_operator'] = array(
    '#type' => 'select',
    '#title' => t('Operator'),
    '#options' => array(
      '=' => t('='),
      'LIKE' => t('LIKE'),
    ),
    '#default_value' => $this->options['veh_where']['veh_where_operator'],
    '#description' => t('Operator'),
  );
  $form['veh_join'] = array(
    '#type' => 'fieldset',
    '#title' => t('Join'),
    '#collapsible' => TRUE,
  );
  $form['veh_join']['veh_join_type'] = array(
    '#type' => 'select',
    '#title' => t('Type'),
    '#options' => array(
      'INNER' => t('INNER'),
      'LEFT' => t('LEFT'),
      'RIGHT' => t('RIGHT'),
    ),
    '#default_value' => $this->options['veh_join']['veh_join_type'],
    '#description' => t('Type of Join.'),
  );
  $form['veh_join']['veh_table'] = array(
    '#type' => 'textfield',
    '#title' => t('Join Table'),
    '#default_value' => $this->options['veh_join']['veh_table'],
  );
  $form['veh_join']['veh_table_alias'] = array(
    '#type' => 'textfield',
    '#title' => t('Join Table Alias'),
    '#default_value' => $this->options['veh_join']['veh_table_alias'],
  );
  $form['veh_join']['veh_column'] = array(
    '#type' => 'textfield',
    '#title' => t('Join Field'),
    '#default_value' => $this->options['veh_join']['veh_column'],
  );
  $form['veh_join']['veh_join_condition'] = array(
    '#type' => 'textfield',
    '#title' => t('Join Condition'),
    '#default_value' => $this->options['veh_join']['veh_join_condition'],
    '#description' => t('If this is emplty, "Left Table"."Left Field" will be used as condition.'),
  );
  $form['veh_join']['veh_left_table'] = array(
    '#type' => 'textfield',
    '#title' => t('Left Table'),
    '#default_value' => $this->options['veh_join']['veh_left_table'],
  );
  $form['veh_join']['veh_left_column'] = array(
    '#type' => 'textfield',
    '#title' => t('Left Field'),
    '#default_value' => $this->options['veh_join']['veh_left_column'],
  );
  $form['veh_groupby'] = array(
    '#type' => 'fieldset',
    '#title' => t('Groupby'),
    '#collapsible' => TRUE,
  );
  $form['veh_groupby']['veh_add'] = array(
    '#type' => 'textarea',
    '#title' => t('Add'),
    '#default_value' => $this->options['veh_groupby']['veh_add'],
    '#rows' => 2,
    '#description' => t('Seperate multiple entries by ,'),
  );
  $form['veh_groupby']['veh_remove'] = array(
    '#type' => 'textarea',
    '#title' => t('Remove'),
    '#default_value' => $this->options['veh_groupby']['veh_remove'],
    '#rows' => 2,
    '#description' => t('Seperate multiple entries by ,'),
  );
  $form['veh_orderby'] = array(
    '#type' => 'fieldset',
    '#title' => t('Orderby'),
    '#collapsible' => TRUE,
  );
  $form['veh_orderby']['veh_orderby_date'] = array(
    '#type' => 'textfield',
    '#title' => t('Alias name of the date field to be Sorted by Current Date.'),
    '#default_value' => $this->options['veh_orderby']['veh_orderby_date'],
    '#description' => t('Upcoming posts will be at the top sorted by ascending order. Past posts will be below Upcoming posts sorted by descending order.'),
  );
  $form['veh_orderby']['veh_orderby_custom'] = array(
    '#type' => 'textarea',
    '#title' => t('Sort by Custom query'),
    '#default_value' => $this->options['veh_orderby']['veh_orderby_custom'],
    '#rows' => 2,
    '#description' => t('Example query: (CASE WHEN node.created < CURRENT_TIMESTAMP THEN node.created END)'),
  );
  $form['veh_orderby']['veh_orderby_direction'] = array(
    '#type' => 'select',
    '#title' => t('Direction'),
    '#options' => array(
      'ASC' => t('ASC'),
      'DESC' => t('DESC'),
    ),
    '#default_value' => $this->options['veh_orderby']['veh_orderby_direction'],
    '#description' => t('Sort in Ascending or Descending order?'),
  );
  $form['veh_union'] = array(
    '#type' => 'fieldset',
    '#title' => t('Union'),
    '#collapsible' => TRUE,
  );
  $form['veh_union']['veh_union_type'] = array(
    '#type' => 'select',
    '#title' => t('Type'),
    '#options' => array(
      'UNION' => t('UNION'),
      'UNION ALL' => t('UNION ALL'),
    ),
    '#default_value' => $this->options['veh_union']['veh_union_type'],
    '#description' => t('Sometimes "UNION ALL" results in duplicates.'),
  );
  $form['veh_union']['veh_union_view_name'] = array(
    '#type' => 'textfield',
    '#title' => t('View id'),
    '#default_value' => $this->options['veh_union']['veh_union_view_name'],
  );
  $form['veh_union']['veh_union_view_display'] = array(
    '#type' => 'textfield',
    '#title' => t('View display id'),
    '#default_value' => $this->options['veh_union']['veh_union_view_display'],
  );
  $form['veh_union']['veh_union_use_args'] = array(
    '#type' => 'checkbox',
    '#title' => t('Use contextual filters'),
    '#description' => t('Use contextual filters from the selected view and display.'),
    '#default_value' => $this->options['veh_union']['veh_union_use_args'],
  );
}