class tripal_views_handler_filter_textarea
- 2.x tripal_views/views/handlers/tripal_views_handler_filter_textarea.inc tripal_views_handler_filter_textarea
- 3.x tripal_chado_views/views/handlers/tripal_views_handler_filter_textarea.inc tripal_views_handler_filter_textarea
- 1.x tripal_views/views/handlers/tripal_views_handler_filter_textarea.inc tripal_views_handler_filter_textarea
This Handler provides a file upload field by extending the views_handler_filter object.
Hierarchy
- class \tripal_views_handler_filter_textarea extends \views_handler_filter
Expanded class hierarchy of tripal_views_handler_filter_textarea
1 string reference to 'tripal_views_handler_filter_textarea'
- tripal_chado_views_views_handlers in tripal_chado_views/
tripal_chado_views.views.inc - Implements hook_views_handlers().
File
- tripal_chado_views/
views/ handlers/ tripal_views_handler_filter_textarea.inc, line 13 - Contants tripal_views_handler_filter_textarea Filter Handler
View source
class tripal_views_handler_filter_textarea extends views_handler_filter {
/**
* {@inheritdoc}
*/
function value_form(&$form, &$form_state) {
parent::value_form($form, $form_state);
$this->value_form = array(
'#type' => 'textarea',
'#title' => t('%label', array('%label' => $this->options['expose']['label'])),
'#default_value' => $this->value,
'#multiple' => FALSE,
'#description' => t('Provide search values for %label. Please place each search
item on a separate line or separated by commas.', array('%label' => $this->options['expose']['label'])),
);
$form['value'] = &$this->value_form;
}
/**
* {@inheritdoc}
*/
function exposed_form(&$form, &$form_state) {
// don't do anything if the form isn't exposed.
if (empty($this->options['exposed'])) {
return;
}
// rebuild the form elements
$value = $this->options['expose']['identifier'];
$this->value_form($form, $form_state);
$form[$value] = $form['value'];
unset($form[$value]['#title']);
$this->exposed_translate($form[$value], 'value');
if ($value != 'value') {
unset($form['value']);
}
}
/**
* {@inheritdoc}
*/
function query() {
// make optional
// if it is not set or empty then don't restrict the query
if (!$this->value) {
return;
}
$this->ensure_my_table();
$field = "$this->table.$this->real_field";
// get the form element value
if (is_array($this->value)) {
$value = $this->value[0];
}
else {
$value = $this->value;
}
// remove extra spaces and new lines
$value = preg_replace("/\s+,/", ",", $value);
$value = preg_replace("/\s+\n/", "\n", $value);
$value = preg_replace("/,\n/", "\n", $value);
$values = preg_split("/[\n,]+/", $value);
$values = array_filter($values);
if (sizeof($values)) {
$operator = 'IN';
}
else {
$operator = '=';
}
if (!empty($values)) {
$this->query->add_where($this->options['group'], $field, $values, $operator);
}
}
}