$form['#attached']['js'] = array( drupal_get_path("module", "drills_custom_views")."/js/drills_title_form_check.js" );
$form_id = "views-exposed-form-".$form_state['view']->name."-".$form_state['view']->current_display ;
$form_id = str_replace( "-", "_", $form_id );
drupal_add_js(array('drills_custom_views' => array('form_id' => $form_id)), array('type' => 'setting'));
(function($) {
Drupal.behaviors.drills_custom_views = {
attach: function (context, settings) {
alert(settings.drills_custom_views.form_id);
}
};
})(jQuery);
$form['#attached']['js'] = array( drupal_get_path("module", "drills_custom_views")."/js/drills_title_form_check.js" );
$form_id = "views-exposed-form-".$form_state['view']->name."-".$form_state['view']->current_display ;
$form_id = str_replace( "-", "_", $form_id );
drupal_add_js(array('drills_custom_views' => array('form_id' => $form_id)), array('type' => 'setting'));
(function($) {
Drupal.behaviors.drills_custom_views = {
attach: function (context, settings) {
alert(settings.drills_custom_views.form_id);
}
};
})(jQuery);
$form['#attached']['js'] = array( drupal_get_path("module", "drills_custom_views")."/js/drills_title_form_check.js" );
$form_id = "views-exposed-form-".$form_state['view']->name."-".$form_state['view']->current_display ;
$form_id = str_replace( "-", "_", $form_id );
drupal_add_js(array('drills_custom_views' => array('form_id' => $form_id)), array('type' => 'setting'));
(function($) {
Drupal.behaviors.drills_custom_views = {
attach: function (context, settings) {
alert(settings.drills_custom_views.form_id);
}
};
})(jQuery);
$form['#attached']['js'] = array( drupal_get_path("module", "drills_custom_views")."/js/drills_title_form_check.js" );
$form_id = "views-exposed-form-".$form_state['view']->name."-".$form_state['view']->current_display ;
$form_id = str_replace( "-", "_", $form_id );
drupal_add_js(array('drills_custom_views' => array('form_id' => $form_id)), array('type' => 'setting'));
(function($) {
Drupal.behaviors.drills_custom_views = {
attach: function (context, settings) {
alert(settings.drills_custom_views.form_id);
}
};
})(jQuery);
$form['#attached']['js'] = array( drupal_get_path("module", "drills_custom_views")."/js/drills_title_form_check.js" );
$form_id = "views-exposed-form-".$form_state['view']->name."-".$form_state['view']->current_display ;
$form_id = str_replace( "-", "_", $form_id );
drupal_add_js(array('drills_custom_views' => array('form_id' => $form_id)), array('type' => 'setting'));
(function($) {
Drupal.behaviors.drills_custom_views = {
attach: function (context, settings) {
alert(settings.drills_custom_views.form_id);
}
};
})(jQuery);
$form['#attached']['js'] = array( drupal_get_path("module", "drills_custom_views")."/js/drills_title_form_check.js" );
$form_id = "views-exposed-form-".$form_state['view']->name."-".$form_state['view']->current_display ;
$form_id = str_replace( "-", "_", $form_id );
drupal_add_js(array('drills_custom_views' => array('form_id' => $form_id)), array('type' => 'setting'));
(function($) {
Drupal.behaviors.drills_custom_views = {
attach: function (context, settings) {
alert(settings.drills_custom_views.form_id);
}
};
})(jQuery);
$form['#attached']['js'] = array( drupal_get_path("module", "drills_custom_views")."/js/drills_title_form_check.js" );
$form_id = "views-exposed-form-".$form_state['view']->name."-".$form_state['view']->current_display ;
$form_id = str_replace( "-", "_", $form_id );
drupal_add_js(array('drills_custom_views' => array('form_id' => $form_id)), array('type' => 'setting'));
(function($) {
Drupal.behaviors.drills_custom_views = {
attach: function (context, settings) {
alert(settings.drills_custom_views.form_id);
}
};
})(jQuery);
$form['#attached']['js'] = array( drupal_get_path("module", "drills_custom_views")."/js/drills_title_form_check.js" );
$form_id = "views-exposed-form-".$form_state['view']->name."-".$form_state['view']->current_display ;
$form_id = str_replace( "-", "_", $form_id );
drupal_add_js(array('drills_custom_views' => array('form_id' => $form_id)), array('type' => 'setting'));
(function($) {
Drupal.behaviors.drills_custom_views = {
attach: function (context, settings) {
alert(settings.drills_custom_views.form_id);
}
};
})(jQuery);
$form['#attached']['js'] = array( drupal_get_path("module", "drills_custom_views")."/js/drills_title_form_check.js" );
$form_id = "views-exposed-form-".$form_state['view']->name."-".$form_state['view']->current_display ;
$form_id = str_replace( "-", "_", $form_id );
drupal_add_js(array('drills_custom_views' => array('form_id' => $form_id)), array('type' => 'setting'));
(function($) {
Drupal.behaviors.drills_custom_views = {
attach: function (context, settings) {
alert(settings.drills_custom_views.form_id);
}
};
})(jQuery);
$form['#attached']['js'] = array( drupal_get_path("module", "drills_custom_views")."/js/drills_title_form_check.js" );
$form_id = "views-exposed-form-".$form_state['view']->name."-".$form_state['view']->current_display ;
$form_id = str_replace( "-", "_", $form_id );
drupal_add_js(array('drills_custom_views' => array('form_id' => $form_id)), array('type' => 'setting'));
(function($) {
Drupal.behaviors.drills_custom_views = {
attach: function (context, settings) {
alert(settings.drills_custom_views.form_id);
}
};
})(jQuery);
$form['#attached']['js'] = array( drupal_get_path("module", "drills_custom_views")."/js/drills_title_form_check.js" );
$form_id = "views-exposed-form-".$form_state['view']->name."-".$form_state['view']->current_display ;
$form_id = str_replace( "-", "_", $form_id );
drupal_add_js(array('drills_custom_views' => array('form_id' => $form_id)), array('type' => 'setting'));
(function($) {
Drupal.behaviors.drills_custom_views = {
attach: function (context, settings) {
alert(settings.drills_custom_views.form_id);
}
};
})(jQuery);
$form['#attached']['js'] = array( drupal_get_path("module", "drills_custom_views")."/js/drills_title_form_check.js" );
$form_id = "views-exposed-form-".$form_state['view']->name."-".$form_state['view']->current_display ;
$form_id = str_replace( "-", "_", $form_id );
drupal_add_js(array('drills_custom_views' => array('form_id' => $form_id)), array('type' => 'setting'));
(function($) {
Drupal.behaviors.drills_custom_views = {
attach: function (context, settings) {
alert(settings.drills_custom_views.form_id);
}
};
})(jQuery);
$form['#attached']['js'] = array( drupal_get_path("module", "drills_custom_views")."/js/drills_title_form_check.js" );
$form_id = "views-exposed-form-".$form_state['view']->name."-".$form_state['view']->current_display ;
$form_id = str_replace( "-", "_", $form_id );
drupal_add_js(array('drills_custom_views' => array('form_id' => $form_id)), array('type' => 'setting'));
(function($) {
Drupal.behaviors.drills_custom_views = {
attach: function (context, settings) {
alert(settings.drills_custom_views.form_id);
}
};
})(jQuery);
$form['#attached']['js'] = array( drupal_get_path("module", "drills_custom_views")."/js/drills_title_form_check.js" );
$form_id = "views-exposed-form-".$form_state['view']->name."-".$form_state['view']->current_display ;
$form_id = str_replace( "-", "_", $form_id );
drupal_add_js(array('drills_custom_views' => array('form_id' => $form_id)), array('type' => 'setting'));
(function($) {
Drupal.behaviors.drills_custom_views = {
attach: function (context, settings) {
alert(settings.drills_custom_views.form_id);
}
};
})(jQuery);
$form['#attached']['js'] = array( drupal_get_path("module", "drills_custom_views")."/js/drills_title_form_check.js" );
$form_id = "views-exposed-form-".$form_state['view']->name."-".$form_state['view']->current_display ;
$form_id = str_replace( "-", "_", $form_id );
drupal_add_js(array('drills_custom_views' => array('form_id' => $form_id)), array('type' => 'setting'));
(function($) {
Drupal.behaviors.drills_custom_views = {
attach: function (context, settings) {
alert(settings.drills_custom_views.form_id);
}
};
})(jQuery);
$form['#attached']['js'] = array( drupal_get_path("module", "drills_custom_views")."/js/drills_title_form_check.js" );
$form_id = "views-exposed-form-".$form_state['view']->name."-".$form_state['view']->current_display ;
$form_id = str_replace( "-", "_", $form_id );
drupal_add_js(array('drills_custom_views' => array('form_id' => $form_id)), array('type' => 'setting'));
(function($) {
Drupal.behaviors.drills_custom_views = {
attach: function (context, settings) {
alert(settings.drills_custom_views.form_id);
}
};
})(jQuery);
$form['#attached']['js'] = array( drupal_get_path("module", "drills_custom_views")."/js/drills_title_form_check.js" );
$form_id = "views-exposed-form-".$form_state['view']->name."-".$form_state['view']->current_display ;
$form_id = str_replace( "-", "_", $form_id );
drupal_add_js(array('drills_custom_views' => array('form_id' => $form_id)), array('type' => 'setting'));
(function($) {
Drupal.behaviors.drills_custom_views = {
attach: function (context, settings) {
alert(settings.drills_custom_views.form_id);
}
};
})(jQuery);
$form['#attached']['js'] = array( drupal_get_path("module", "drills_custom_views")."/js/drills_title_form_check.js" );
$form_id = "views-exposed-form-".$form_state['view']->name."-".$form_state['view']->current_display ;
$form_id = str_replace( "-", "_", $form_id );
drupal_add_js(array('drills_custom_views' => array('form_id' => $form_id)), array('type' => 'setting'));
(function($) {
Drupal.behaviors.drills_custom_views = {
attach: function (context, settings) {
alert(settings.drills_custom_views.form_id);
}
};
})(jQuery);
$form['#attached']['js'] = array( drupal_get_path("module", "drills_custom_views")."/js/drills_title_form_check.js" );
$form_id = "views-exposed-form-".$form_state['view']->name."-".$form_state['view']->current_display ;
$form_id = str_replace( "-", "_", $form_id );
drupal_add_js(array('drills_custom_views' => array('form_id' => $form_id)), array('type' => 'setting'));
(function($) {
Drupal.behaviors.drills_custom_views = {
attach: function (context, settings) {
alert(settings.drills_custom_views.form_id);
}
};
})(jQuery);
$form['#attached']['js'] = array( drupal_get_path("module", "drills_custom_views")."/js/drills_title_form_check.js" );
$form_id = "views-exposed-form-".$form_state['view']->name."-".$form_state['view']->current_display ;
$form_id = str_replace( "-", "_", $form_id );
drupal_add_js(array('drills_custom_views' => array('form_id' => $form_id)), array('type' => 'setting'));
(function($) {
Drupal.behaviors.drills_custom_views = {
attach: function (context, settings) {
alert(settings.drills_custom_views.form_id);
}
};
})(jQuery);
$form['#attached']['js'] = array( drupal_get_path("module", "drills_custom_views")."/js/drills_title_form_check.js" );
$form_id = "views-exposed-form-".$form_state['view']->name."-".$form_state['view']->current_display ;
$form_id = str_replace( "-", "_", $form_id );
drupal_add_js(array('drills_custom_views' => array('form_id' => $form_id)), array('type' => 'setting'));
(function($) {
Drupal.behaviors.drills_custom_views = {
attach: function (context, settings) {
alert(settings.drills_custom_views.form_id);
}
};
})(jQuery);
/**
* Implements hook_views_api().
*/
function my_module_views_api() {
return array(
'api' => 3,
);
}
/**
* Implements hook_views_data_alter().
*/
function my_module_views_data_alter(&$data) {
$data['node']['title_count']['title_multiple'] = 'Title multiple wrods';
$data['node']['title_count']['help_multiple'] = 'Filter multiple words with or operation in Title field';
$data['node']['title_count']['filter_multiple']['handler'] = 'my_module_handler_filter_multiple_word';
}
; Views handlers files[]=views/my_module_handler_filter_multiple_word.inc
class my_module_filter_multiple_word_handler extends views_handler_filter_string{
function operators(){
$operators = parent::operators();
$operators['multiple word match'] = array(
'title' => t('Match multiple words'),
'short' => t('has multiple'),
'method' => 'op_word',
'values' => 1,
);
return $operators;
}
function op_word($field) {
$where = $this->operator == 'word' ? db_or() : db_and();
// Don't filter on empty strings.
if (empty($this->value)) {
return;
}
$matches = $split_arr = preg_split('/[ ;;,,、\r\n\t]+/ui', $this->value);
if( empty($matches) ) return ;
if( $matches[0]=="" ) unset($matches[0]);
$where->condition("node.title", $matches, 'IN');
if (!$where) {
return;
}
// previously this was a call_user_func_array but that's unnecessary
// as views will unpack an array that is a single arg.
$this->query->add_where($this->options['group'], $where);
}
/**
* Provide a simple textarea for equality
*/
function value_form(&$form, &$form_state) {
// We have to make some choices when creating this as an exposed
// filter form. For example, if the operator is locked and thus
// not rendered, we can't render dependencies; instead we only
// render the form items we need.
$which = 'all';
if (!empty($form['operator'])) {
$source = ($form['operator']['#type'] == 'radios') ? 'radio:options[operator]' : 'edit-options-operator';
}
if (!empty($form_state['exposed'])) {
$identifier = $this->options['expose']['identifier'];
if (empty($this->options['expose']['use_operator']) || empty($this->options['expose']['operator_id'])) {
// exposed and locked.
$which = in_array($this->operator, $this->operator_values(1)) ? 'value' : 'none';
}
else {
$source = 'edit-' . drupal_html_id($this->options['expose']['operator_id']);
}
}
if ($which == 'all' || $which == 'value') {
$form['value'] = array(
'#type' => 'textarea',
'#title' => t('Value'),
'#rows' => 10,
'#resizable' => TRUE,
'#default_value' => $this->value,
);
if (!empty($form_state['exposed']) && !isset($form_state['input'][$identifier])) {
$form_state['input'][$identifier] = $this->value;
}
if ($which == 'all') {
$form['value'] += array(
'#dependency' => array($source => $this->operator_values(1)),
);
}
}
if (!isset($form['value'])) {
// Ensure there is something in the 'value'.
$form['value'] = array(
'#type' => 'value',
'#value' => NULL
);
}
}
}
$form['#attached']['js'] = array( drupal_get_path("module", "drills_custom_views")."/js/drills_title_form_check.js" );
$form_id = "views-exposed-form-".$form_state['view']->name."-".$form_state['view']->current_display ;
$form_id = str_replace( "-", "_", $form_id );
drupal_add_js(array('drills_custom_views' => array('form_id' => $form_id)), array('type' => 'setting'));
(function($) {
Drupal.behaviors.drills_custom_views = {
attach: function (context, settings) {
alert(settings.drills_custom_views.form_id);
}
};
})(jQuery);
/**
* Implements hook_views_api().
*/
function my_module_views_api() {
return array(
'api' => 3,
);
}
/**
* Implements hook_views_data_alter().
*/
function my_module_views_data_alter(&$data) {
$data['node']['title_count']['title_multiple'] = 'Title multiple wrods';
$data['node']['title_count']['help_multiple'] = 'Filter multiple words with or operation in Title field';
$data['node']['title_count']['filter_multiple']['handler'] = 'my_module_handler_filter_multiple_word';
}
; Views handlers files[]=views/my_module_handler_filter_multiple_word.inc
class my_module_filter_multiple_word_handler extends views_handler_filter_string{
function operators(){
$operators = parent::operators();
$operators['multiple word match'] = array(
'title' => t('Match multiple words'),
'short' => t('has multiple'),
'method' => 'op_word',
'values' => 1,
);
return $operators;
}
function op_word($field) {
$where = $this->operator == 'word' ? db_or() : db_and();
// Don't filter on empty strings.
if (empty($this->value)) {
return;
}
$matches = $split_arr = preg_split('/[ ;;,,、\r\n\t]+/ui', $this->value);
if( empty($matches) ) return ;
if( $matches[0]=="" ) unset($matches[0]);
$where->condition("node.title", $matches, 'IN');
if (!$where) {
return;
}
// previously this was a call_user_func_array but that's unnecessary
// as views will unpack an array that is a single arg.
$this->query->add_where($this->options['group'], $where);
}
/**
* Provide a simple textarea for equality
*/
function value_form(&$form, &$form_state) {
// We have to make some choices when creating this as an exposed
// filter form. For example, if the operator is locked and thus
// not rendered, we can't render dependencies; instead we only
// render the form items we need.
$which = 'all';
if (!empty($form['operator'])) {
$source = ($form['operator']['#type'] == 'radios') ? 'radio:options[operator]' : 'edit-options-operator';
}
if (!empty($form_state['exposed'])) {
$identifier = $this->options['expose']['identifier'];
if (empty($this->options['expose']['use_operator']) || empty($this->options['expose']['operator_id'])) {
// exposed and locked.
$which = in_array($this->operator, $this->operator_values(1)) ? 'value' : 'none';
}
else {
$source = 'edit-' . drupal_html_id($this->options['expose']['operator_id']);
}
}
if ($which == 'all' || $which == 'value') {
$form['value'] = array(
'#type' => 'textarea',
'#title' => t('Value'),
'#rows' => 10,
'#resizable' => TRUE,
'#default_value' => $this->value,
);
if (!empty($form_state['exposed']) && !isset($form_state['input'][$identifier])) {
$form_state['input'][$identifier] = $this->value;
}
if ($which == 'all') {
$form['value'] += array(
'#dependency' => array($source => $this->operator_values(1)),
);
}
}
if (!isset($form['value'])) {
// Ensure there is something in the 'value'.
$form['value'] = array(
'#type' => 'value',
'#value' => NULL
);
}
}
}
$form['#attached']['js'] = array( drupal_get_path("module", "drills_custom_views")."/js/drills_title_form_check.js" );
$form_id = "views-exposed-form-".$form_state['view']->name."-".$form_state['view']->current_display ;
$form_id = str_replace( "-", "_", $form_id );
drupal_add_js(array('drills_custom_views' => array('form_id' => $form_id)), array('type' => 'setting'));
(function($) {
Drupal.behaviors.drills_custom_views = {
attach: function (context, settings) {
alert(settings.drills_custom_views.form_id);
}
};
})(jQuery);
/**
* Implements hook_views_api().
*/
function my_module_views_api() {
return array(
'api' => 3,
);
}
/**
* Implements hook_views_data_alter().
*/
function my_module_views_data_alter(&$data) {
$data['node']['title_count']['title_multiple'] = 'Title multiple wrods';
$data['node']['title_count']['help_multiple'] = 'Filter multiple words with or operation in Title field';
$data['node']['title_count']['filter_multiple']['handler'] = 'my_module_handler_filter_multiple_word';
}
; Views handlers files[]=views/my_module_handler_filter_multiple_word.inc
class my_module_filter_multiple_word_handler extends views_handler_filter_string{
function operators(){
$operators = parent::operators();
$operators['multiple word match'] = array(
'title' => t('Match multiple words'),
'short' => t('has multiple'),
'method' => 'op_word',
'values' => 1,
);
return $operators;
}
function op_word($field) {
$where = $this->operator == 'word' ? db_or() : db_and();
// Don't filter on empty strings.
if (empty($this->value)) {
return;
}
$matches = $split_arr = preg_split('/[ ;;,,、\r\n\t]+/ui', $this->value);
if( empty($matches) ) return ;
if( $matches[0]=="" ) unset($matches[0]);
$where->condition("node.title", $matches, 'IN');
if (!$where) {
return;
}
// previously this was a call_user_func_array but that's unnecessary
// as views will unpack an array that is a single arg.
$this->query->add_where($this->options['group'], $where);
}
/**
* Provide a simple textarea for equality
*/
function value_form(&$form, &$form_state) {
// We have to make some choices when creating this as an exposed
// filter form. For example, if the operator is locked and thus
// not rendered, we can't render dependencies; instead we only
// render the form items we need.
$which = 'all';
if (!empty($form['operator'])) {
$source = ($form['operator']['#type'] == 'radios') ? 'radio:options[operator]' : 'edit-options-operator';
}
if (!empty($form_state['exposed'])) {
$identifier = $this->options['expose']['identifier'];
if (empty($this->options['expose']['use_operator']) || empty($this->options['expose']['operator_id'])) {
// exposed and locked.
$which = in_array($this->operator, $this->operator_values(1)) ? 'value' : 'none';
}
else {
$source = 'edit-' . drupal_html_id($this->options['expose']['operator_id']);
}
}
if ($which == 'all' || $which == 'value') {
$form['value'] = array(
'#type' => 'textarea',
'#title' => t('Value'),
'#rows' => 10,
'#resizable' => TRUE,
'#default_value' => $this->value,
);
if (!empty($form_state['exposed']) && !isset($form_state['input'][$identifier])) {
$form_state['input'][$identifier] = $this->value;
}
if ($which == 'all') {
$form['value'] += array(
'#dependency' => array($source => $this->operator_values(1)),
);
}
}
if (!isset($form['value'])) {
// Ensure there is something in the 'value'.
$form['value'] = array(
'#type' => 'value',
'#value' => NULL
);
}
}
}
$form['#attached']['js'] = array( drupal_get_path("module", "drills_custom_views")."/js/drills_title_form_check.js" );
$form_id = "views-exposed-form-".$form_state['view']->name."-".$form_state['view']->current_display ;
$form_id = str_replace( "-", "_", $form_id );
drupal_add_js(array('drills_custom_views' => array('form_id' => $form_id)), array('type' => 'setting'));
(function($) {
Drupal.behaviors.drills_custom_views = {
attach: function (context, settings) {
alert(settings.drills_custom_views.form_id);
}
};
})(jQuery);
/**
* Implements hook_views_api().
*/
function my_module_views_api() {
return array(
'api' => 3,
);
}
/**
* Implements hook_views_data_alter().
*/
function my_module_views_data_alter(&$data) {
$data['node']['title_count']['title_multiple'] = 'Title multiple wrods';
$data['node']['title_count']['help_multiple'] = 'Filter multiple words with or operation in Title field';
$data['node']['title_count']['filter_multiple']['handler'] = 'my_module_handler_filter_multiple_word';
}
; Views handlers files[]=views/my_module_handler_filter_multiple_word.inc
class my_module_filter_multiple_word_handler extends views_handler_filter_string{
function operators(){
$operators = parent::operators();
$operators['multiple word match'] = array(
'title' => t('Match multiple words'),
'short' => t('has multiple'),
'method' => 'op_word',
'values' => 1,
);
return $operators;
}
function op_word($field) {
$where = $this->operator == 'word' ? db_or() : db_and();
// Don't filter on empty strings.
if (empty($this->value)) {
return;
}
$matches = $split_arr = preg_split('/[ ;;,,、\r\n\t]+/ui', $this->value);
if( empty($matches) ) return ;
if( $matches[0]=="" ) unset($matches[0]);
$where->condition("node.title", $matches, 'IN');
if (!$where) {
return;
}
// previously this was a call_user_func_array but that's unnecessary
// as views will unpack an array that is a single arg.
$this->query->add_where($this->options['group'], $where);
}
/**
* Provide a simple textarea for equality
*/
function value_form(&$form, &$form_state) {
// We have to make some choices when creating this as an exposed
// filter form. For example, if the operator is locked and thus
// not rendered, we can't render dependencies; instead we only
// render the form items we need.
$which = 'all';
if (!empty($form['operator'])) {
$source = ($form['operator']['#type'] == 'radios') ? 'radio:options[operator]' : 'edit-options-operator';
}
if (!empty($form_state['exposed'])) {
$identifier = $this->options['expose']['identifier'];
if (empty($this->options['expose']['use_operator']) || empty($this->options['expose']['operator_id'])) {
// exposed and locked.
$which = in_array($this->operator, $this->operator_values(1)) ? 'value' : 'none';
}
else {
$source = 'edit-' . drupal_html_id($this->options['expose']['operator_id']);
}
}
if ($which == 'all' || $which == 'value') {
$form['value'] = array(
'#type' => 'textarea',
'#title' => t('Value'),
'#rows' => 10,
'#resizable' => TRUE,
'#default_value' => $this->value,
);
if (!empty($form_state['exposed']) && !isset($form_state['input'][$identifier])) {
$form_state['input'][$identifier] = $this->value;
}
if ($which == 'all') {
$form['value'] += array(
'#dependency' => array($source => $this->operator_values(1)),
);
}
}
if (!isset($form['value'])) {
// Ensure there is something in the 'value'.
$form['value'] = array(
'#type' => 'value',
'#value' => NULL
);
}
}
}
$form['#attached']['js'] = array( drupal_get_path("module", "drills_custom_views")."/js/drills_title_form_check.js" );
$form_id = "views-exposed-form-".$form_state['view']->name."-".$form_state['view']->current_display ;
$form_id = str_replace( "-", "_", $form_id );
drupal_add_js(array('drills_custom_views' => array('form_id' => $form_id)), array('type' => 'setting'));
(function($) {
Drupal.behaviors.drills_custom_views = {
attach: function (context, settings) {
alert(settings.drills_custom_views.form_id);
}
};
})(jQuery);
/**
* Implements hook_views_api().
*/
function my_module_views_api() {
return array(
'api' => 3,
);
}
/**
* Implements hook_views_data_alter().
*/
function my_module_views_data_alter(&$data) {
$data['node']['title_count']['title_multiple'] = 'Title multiple wrods';
$data['node']['title_count']['help_multiple'] = 'Filter multiple words with or operation in Title field';
$data['node']['title_count']['filter_multiple']['handler'] = 'my_module_handler_filter_multiple_word';
}
; Views handlers files[]=views/my_module_handler_filter_multiple_word.inc
class my_module_filter_multiple_word_handler extends views_handler_filter_string{
function operators(){
$operators = parent::operators();
$operators['multiple word match'] = array(
'title' => t('Match multiple words'),
'short' => t('has multiple'),
'method' => 'op_word',
'values' => 1,
);
return $operators;
}
function op_word($field) {
$where = $this->operator == 'word' ? db_or() : db_and();
// Don't filter on empty strings.
if (empty($this->value)) {
return;
}
$matches = $split_arr = preg_split('/[ ;;,,、\r\n\t]+/ui', $this->value);
if( empty($matches) ) return ;
if( $matches[0]=="" ) unset($matches[0]);
$where->condition("node.title", $matches, 'IN');
if (!$where) {
return;
}
// previously this was a call_user_func_array but that's unnecessary
// as views will unpack an array that is a single arg.
$this->query->add_where($this->options['group'], $where);
}
/**
* Provide a simple textarea for equality
*/
function value_form(&$form, &$form_state) {
// We have to make some choices when creating this as an exposed
// filter form. For example, if the operator is locked and thus
// not rendered, we can't render dependencies; instead we only
// render the form items we need.
$which = 'all';
if (!empty($form['operator'])) {
$source = ($form['operator']['#type'] == 'radios') ? 'radio:options[operator]' : 'edit-options-operator';
}
if (!empty($form_state['exposed'])) {
$identifier = $this->options['expose']['identifier'];
if (empty($this->options['expose']['use_operator']) || empty($this->options['expose']['operator_id'])) {
// exposed and locked.
$which = in_array($this->operator, $this->operator_values(1)) ? 'value' : 'none';
}
else {
$source = 'edit-' . drupal_html_id($this->options['expose']['operator_id']);
}
}
if ($which == 'all' || $which == 'value') {
$form['value'] = array(
'#type' => 'textarea',
'#title' => t('Value'),
'#rows' => 10,
'#resizable' => TRUE,
'#default_value' => $this->value,
);
if (!empty($form_state['exposed']) && !isset($form_state['input'][$identifier])) {
$form_state['input'][$identifier] = $this->value;
}
if ($which == 'all') {
$form['value'] += array(
'#dependency' => array($source => $this->operator_values(1)),
);
}
}
if (!isset($form['value'])) {
// Ensure there is something in the 'value'.
$form['value'] = array(
'#type' => 'value',
'#value' => NULL
);
}
}
}
$form['#attached']['js'] = array( drupal_get_path("module", "drills_custom_views")."/js/drills_title_form_check.js" );
$form_id = "views-exposed-form-".$form_state['view']->name."-".$form_state['view']->current_display ;
$form_id = str_replace( "-", "_", $form_id );
drupal_add_js(array('drills_custom_views' => array('form_id' => $form_id)), array('type' => 'setting'));
(function($) {
Drupal.behaviors.drills_custom_views = {
attach: function (context, settings) {
alert(settings.drills_custom_views.form_id);
}
};
})(jQuery);
/**
* Implements hook_views_api().
*/
function my_module_views_api() {
return array(
'api' => 3,
);
}
/**
* Implements hook_views_data_alter().
*/
function my_module_views_data_alter(&$data) {
$data['node']['title_count']['title_multiple'] = 'Title multiple wrods';
$data['node']['title_count']['help_multiple'] = 'Filter multiple words with or operation in Title field';
$data['node']['title_count']['filter_multiple']['handler'] = 'my_module_handler_filter_multiple_word';
}
; Views handlers files[]=views/my_module_handler_filter_multiple_word.inc
class my_module_filter_multiple_word_handler extends views_handler_filter_string{
function operators(){
$operators = parent::operators();
$operators['multiple word match'] = array(
'title' => t('Match multiple words'),
'short' => t('has multiple'),
'method' => 'op_word',
'values' => 1,
);
return $operators;
}
function op_word($field) {
$where = $this->operator == 'word' ? db_or() : db_and();
// Don't filter on empty strings.
if (empty($this->value)) {
return;
}
$matches = $split_arr = preg_split('/[ ;;,,、\r\n\t]+/ui', $this->value);
if( empty($matches) ) return ;
if( $matches[0]=="" ) unset($matches[0]);
$where->condition("node.title", $matches, 'IN');
if (!$where) {
return;
}
// previously this was a call_user_func_array but that's unnecessary
// as views will unpack an array that is a single arg.
$this->query->add_where($this->options['group'], $where);
}
/**
* Provide a simple textarea for equality
*/
function value_form(&$form, &$form_state) {
// We have to make some choices when creating this as an exposed
// filter form. For example, if the operator is locked and thus
// not rendered, we can't render dependencies; instead we only
// render the form items we need.
$which = 'all';
if (!empty($form['operator'])) {
$source = ($form['operator']['#type'] == 'radios') ? 'radio:options[operator]' : 'edit-options-operator';
}
if (!empty($form_state['exposed'])) {
$identifier = $this->options['expose']['identifier'];
if (empty($this->options['expose']['use_operator']) || empty($this->options['expose']['operator_id'])) {
// exposed and locked.
$which = in_array($this->operator, $this->operator_values(1)) ? 'value' : 'none';
}
else {
$source = 'edit-' . drupal_html_id($this->options['expose']['operator_id']);
}
}
if ($which == 'all' || $which == 'value') {
$form['value'] = array(
'#type' => 'textarea',
'#title' => t('Value'),
'#rows' => 10,
'#resizable' => TRUE,
'#default_value' => $this->value,
);
if (!empty($form_state['exposed']) && !isset($form_state['input'][$identifier])) {
$form_state['input'][$identifier] = $this->value;
}
if ($which == 'all') {
$form['value'] += array(
'#dependency' => array($source => $this->operator_values(1)),
);
}
}
if (!isset($form['value'])) {
// Ensure there is something in the 'value'.
$form['value'] = array(
'#type' => 'value',
'#value' => NULL
);
}
}
}
$form['#attached']['js'] = array( drupal_get_path("module", "drills_custom_views")."/js/drills_title_form_check.js" );
$form_id = "views-exposed-form-".$form_state['view']->name."-".$form_state['view']->current_display ;
$form_id = str_replace( "-", "_", $form_id );
drupal_add_js(array('drills_custom_views' => array('form_id' => $form_id)), array('type' => 'setting'));
(function($) {
Drupal.behaviors.drills_custom_views = {
attach: function (context, settings) {
alert(settings.drills_custom_views.form_id);
}
};
})(jQuery);
/**
* Implements hook_views_api().
*/
function my_module_views_api() {
return array(
'api' => 3,
);
}
/**
* Implements hook_views_data_alter().
*/
function my_module_views_data_alter(&$data) {
$data['node']['title_count']['title_multiple'] = 'Title multiple wrods';
$data['node']['title_count']['help_multiple'] = 'Filter multiple words with or operation in Title field';
$data['node']['title_count']['filter_multiple']['handler'] = 'my_module_handler_filter_multiple_word';
}
; Views handlers files[]=views/my_module_handler_filter_multiple_word.inc
class my_module_filter_multiple_word_handler extends views_handler_filter_string{
function operators(){
$operators = parent::operators();
$operators['multiple word match'] = array(
'title' => t('Match multiple words'),
'short' => t('has multiple'),
'method' => 'op_word',
'values' => 1,
);
return $operators;
}
function op_word($field) {
$where = $this->operator == 'word' ? db_or() : db_and();
// Don't filter on empty strings.
if (empty($this->value)) {
return;
}
$matches = $split_arr = preg_split('/[ ;;,,、\r\n\t]+/ui', $this->value);
if( empty($matches) ) return ;
if( $matches[0]=="" ) unset($matches[0]);
$where->condition("node.title", $matches, 'IN');
if (!$where) {
return;
}
// previously this was a call_user_func_array but that's unnecessary
// as views will unpack an array that is a single arg.
$this->query->add_where($this->options['group'], $where);
}
/**
* Provide a simple textarea for equality
*/
function value_form(&$form, &$form_state) {
// We have to make some choices when creating this as an exposed
// filter form. For example, if the operator is locked and thus
// not rendered, we can't render dependencies; instead we only
// render the form items we need.
$which = 'all';
if (!empty($form['operator'])) {
$source = ($form['operator']['#type'] == 'radios') ? 'radio:options[operator]' : 'edit-options-operator';
}
if (!empty($form_state['exposed'])) {
$identifier = $this->options['expose']['identifier'];
if (empty($this->options['expose']['use_operator']) || empty($this->options['expose']['operator_id'])) {
// exposed and locked.
$which = in_array($this->operator, $this->operator_values(1)) ? 'value' : 'none';
}
else {
$source = 'edit-' . drupal_html_id($this->options['expose']['operator_id']);
}
}
if ($which == 'all' || $which == 'value') {
$form['value'] = array(
'#type' => 'textarea',
'#title' => t('Value'),
'#rows' => 10,
'#resizable' => TRUE,
'#default_value' => $this->value,
);
if (!empty($form_state['exposed']) && !isset($form_state['input'][$identifier])) {
$form_state['input'][$identifier] = $this->value;
}
if ($which == 'all') {
$form['value'] += array(
'#dependency' => array($source => $this->operator_values(1)),
);
}
}
if (!isset($form['value'])) {
// Ensure there is something in the 'value'.
$form['value'] = array(
'#type' => 'value',
'#value' => NULL
);
}
}
}
$form['#attached']['js'] = array( drupal_get_path("module", "drills_custom_views")."/js/drills_title_form_check.js" );
$form_id = "views-exposed-form-".$form_state['view']->name."-".$form_state['view']->current_display ;
$form_id = str_replace( "-", "_", $form_id );
drupal_add_js(array('drills_custom_views' => array('form_id' => $form_id)), array('type' => 'setting'));
(function($) {
Drupal.behaviors.drills_custom_views = {
attach: function (context, settings) {
alert(settings.drills_custom_views.form_id);
}
};
})(jQuery);
/**
* Implements hook_views_api().
*/
function my_module_views_api() {
return array(
'api' => 3,
);
}
/**
* Implements hook_views_data_alter().
*/
function my_module_views_data_alter(&$data) {
$data['node']['title_count']['title_multiple'] = 'Title multiple wrods';
$data['node']['title_count']['help_multiple'] = 'Filter multiple words with or operation in Title field';
$data['node']['title_count']['filter_multiple']['handler'] = 'my_module_handler_filter_multiple_word';
}
; Views handlers files[]=views/my_module_handler_filter_multiple_word.inc
class my_module_filter_multiple_word_handler extends views_handler_filter_string{
function operators(){
$operators = parent::operators();
$operators['multiple word match'] = array(
'title' => t('Match multiple words'),
'short' => t('has multiple'),
'method' => 'op_word',
'values' => 1,
);
return $operators;
}
function op_word($field) {
$where = $this->operator == 'word' ? db_or() : db_and();
// Don't filter on empty strings.
if (empty($this->value)) {
return;
}
$matches = $split_arr = preg_split('/[ ;;,,、\r\n\t]+/ui', $this->value);
if( empty($matches) ) return ;
if( $matches[0]=="" ) unset($matches[0]);
$where->condition("node.title", $matches, 'IN');
if (!$where) {
return;
}
// previously this was a call_user_func_array but that's unnecessary
// as views will unpack an array that is a single arg.
$this->query->add_where($this->options['group'], $where);
}
/**
* Provide a simple textarea for equality
*/
function value_form(&$form, &$form_state) {
// We have to make some choices when creating this as an exposed
// filter form. For example, if the operator is locked and thus
// not rendered, we can't render dependencies; instead we only
// render the form items we need.
$which = 'all';
if (!empty($form['operator'])) {
$source = ($form['operator']['#type'] == 'radios') ? 'radio:options[operator]' : 'edit-options-operator';
}
if (!empty($form_state['exposed'])) {
$identifier = $this->options['expose']['identifier'];
if (empty($this->options['expose']['use_operator']) || empty($this->options['expose']['operator_id'])) {
// exposed and locked.
$which = in_array($this->operator, $this->operator_values(1)) ? 'value' : 'none';
}
else {
$source = 'edit-' . drupal_html_id($this->options['expose']['operator_id']);
}
}
if ($which == 'all' || $which == 'value') {
$form['value'] = array(
'#type' => 'textarea',
'#title' => t('Value'),
'#rows' => 10,
'#resizable' => TRUE,
'#default_value' => $this->value,
);
if (!empty($form_state['exposed']) && !isset($form_state['input'][$identifier])) {
$form_state['input'][$identifier] = $this->value;
}
if ($which == 'all') {
$form['value'] += array(
'#dependency' => array($source => $this->operator_values(1)),
);
}
}
if (!isset($form['value'])) {
// Ensure there is something in the 'value'.
$form['value'] = array(
'#type' => 'value',
'#value' => NULL
);
}
}
}
$form['#attached']['js'] = array( drupal_get_path("module", "drills_custom_views")."/js/drills_title_form_check.js" );
$form_id = "views-exposed-form-".$form_state['view']->name."-".$form_state['view']->current_display ;
$form_id = str_replace( "-", "_", $form_id );
drupal_add_js(array('drills_custom_views' => array('form_id' => $form_id)), array('type' => 'setting'));
(function($) {
Drupal.behaviors.drills_custom_views = {
attach: function (context, settings) {
alert(settings.drills_custom_views.form_id);
}
};
})(jQuery);
/**
* Implements hook_views_api().
*/
function my_module_views_api() {
return array(
'api' => 3,
);
}
/**
* Implements hook_views_data_alter().
*/
function my_module_views_data_alter(&$data) {
$data['node']['title_count']['title_multiple'] = 'Title multiple wrods';
$data['node']['title_count']['help_multiple'] = 'Filter multiple words with or operation in Title field';
$data['node']['title_count']['filter_multiple']['handler'] = 'my_module_handler_filter_multiple_word';
}
; Views handlers files[]=views/my_module_handler_filter_multiple_word.inc
class my_module_filter_multiple_word_handler extends views_handler_filter_string{
function operators(){
$operators = parent::operators();
$operators['multiple word match'] = array(
'title' => t('Match multiple words'),
'short' => t('has multiple'),
'method' => 'op_word',
'values' => 1,
);
return $operators;
}
function op_word($field) {
$where = $this->operator == 'word' ? db_or() : db_and();
// Don't filter on empty strings.
if (empty($this->value)) {
return;
}
$matches = $split_arr = preg_split('/[ ;;,,、\r\n\t]+/ui', $this->value);
if( empty($matches) ) return ;
if( $matches[0]=="" ) unset($matches[0]);
$where->condition("node.title", $matches, 'IN');
if (!$where) {
return;
}
// previously this was a call_user_func_array but that's unnecessary
// as views will unpack an array that is a single arg.
$this->query->add_where($this->options['group'], $where);
}
/**
* Provide a simple textarea for equality
*/
function value_form(&$form, &$form_state) {
// We have to make some choices when creating this as an exposed
// filter form. For example, if the operator is locked and thus
// not rendered, we can't render dependencies; instead we only
// render the form items we need.
$which = 'all';
if (!empty($form['operator'])) {
$source = ($form['operator']['#type'] == 'radios') ? 'radio:options[operator]' : 'edit-options-operator';
}
if (!empty($form_state['exposed'])) {
$identifier = $this->options['expose']['identifier'];
if (empty($this->options['expose']['use_operator']) || empty($this->options['expose']['operator_id'])) {
// exposed and locked.
$which = in_array($this->operator, $this->operator_values(1)) ? 'value' : 'none';
}
else {
$source = 'edit-' . drupal_html_id($this->options['expose']['operator_id']);
}
}
if ($which == 'all' || $which == 'value') {
$form['value'] = array(
'#type' => 'textarea',
'#title' => t('Value'),
'#rows' => 10,
'#resizable' => TRUE,
'#default_value' => $this->value,
);
if (!empty($form_state['exposed']) && !isset($form_state['input'][$identifier])) {
$form_state['input'][$identifier] = $this->value;
}
if ($which == 'all') {
$form['value'] += array(
'#dependency' => array($source => $this->operator_values(1)),
);
}
}
if (!isset($form['value'])) {
// Ensure there is something in the 'value'.
$form['value'] = array(
'#type' => 'value',
'#value' => NULL
);
}
}
}
$form['#attached']['js'] = array( drupal_get_path("module", "drills_custom_views")."/js/drills_title_form_check.js" );
$form_id = "views-exposed-form-".$form_state['view']->name."-".$form_state['view']->current_display ;
$form_id = str_replace( "-", "_", $form_id );
drupal_add_js(array('drills_custom_views' => array('form_id' => $form_id)), array('type' => 'setting'));
(function($) {
Drupal.behaviors.drills_custom_views = {
attach: function (context, settings) {
alert(settings.drills_custom_views.form_id);
}
};
})(jQuery);
/**
* Implements hook_views_api().
*/
function my_module_views_api() {
return array(
'api' => 3,
);
}
/**
* Implements hook_views_data_alter().
*/
function my_module_views_data_alter(&$data) {
$data['node']['title_count']['title_multiple'] = 'Title multiple wrods';
$data['node']['title_count']['help_multiple'] = 'Filter multiple words with or operation in Title field';
$data['node']['title_count']['filter_multiple']['handler'] = 'my_module_handler_filter_multiple_word';
}
; Views handlers files[]=views/my_module_handler_filter_multiple_word.inc
class my_module_filter_multiple_word_handler extends views_handler_filter_string{
function operators(){
$operators = parent::operators();
$operators['multiple word match'] = array(
'title' => t('Match multiple words'),
'short' => t('has multiple'),
'method' => 'op_word',
'values' => 1,
);
return $operators;
}
function op_word($field) {
$where = $this->operator == 'word' ? db_or() : db_and();
// Don't filter on empty strings.
if (empty($this->value)) {
return;
}
$matches = $split_arr = preg_split('/[ ;;,,、\r\n\t]+/ui', $this->value);
if( empty($matches) ) return ;
if( $matches[0]=="" ) unset($matches[0]);
$where->condition("node.title", $matches, 'IN');
if (!$where) {
return;
}
// previously this was a call_user_func_array but that's unnecessary
// as views will unpack an array that is a single arg.
$this->query->add_where($this->options['group'], $where);
}
/**
* Provide a simple textarea for equality
*/
function value_form(&$form, &$form_state) {
// We have to make some choices when creating this as an exposed
// filter form. For example, if the operator is locked and thus
// not rendered, we can't render dependencies; instead we only
// render the form items we need.
$which = 'all';
if (!empty($form['operator'])) {
$source = ($form['operator']['#type'] == 'radios') ? 'radio:options[operator]' : 'edit-options-operator';
}
if (!empty($form_state['exposed'])) {
$identifier = $this->options['expose']['identifier'];
if (empty($this->options['expose']['use_operator']) || empty($this->options['expose']['operator_id'])) {
// exposed and locked.
$which = in_array($this->operator, $this->operator_values(1)) ? 'value' : 'none';
}
else {
$source = 'edit-' . drupal_html_id($this->options['expose']['operator_id']);
}
}
if ($which == 'all' || $which == 'value') {
$form['value'] = array(
'#type' => 'textarea',
'#title' => t('Value'),
'#rows' => 10,
'#resizable' => TRUE,
'#default_value' => $this->value,
);
if (!empty($form_state['exposed']) && !isset($form_state['input'][$identifier])) {
$form_state['input'][$identifier] = $this->value;
}
if ($which == 'all') {
$form['value'] += array(
'#dependency' => array($source => $this->operator_values(1)),
);
}
}
if (!isset($form['value'])) {
// Ensure there is something in the 'value'.
$form['value'] = array(
'#type' => 'value',
'#value' => NULL
);
}
}
}
$form['#attached']['js'] = array( drupal_get_path("module", "drills_custom_views")."/js/drills_title_form_check.js" );
$form_id = "views-exposed-form-".$form_state['view']->name."-".$form_state['view']->current_display ;
$form_id = str_replace( "-", "_", $form_id );
drupal_add_js(array('drills_custom_views' => array('form_id' => $form_id)), array('type' => 'setting'));
(function($) {
Drupal.behaviors.drills_custom_views = {
attach: function (context, settings) {
alert(settings.drills_custom_views.form_id);
}
};
})(jQuery);
/**
* Implements hook_views_api().
*/
function my_module_views_api() {
return array(
'api' => 3,
);
}
/**
* Implements hook_views_data_alter().
*/
function my_module_views_data_alter(&$data) {
$data['node']['title_count']['title_multiple'] = 'Title multiple wrods';
$data['node']['title_count']['help_multiple'] = 'Filter multiple words with or operation in Title field';
$data['node']['title_count']['filter_multiple']['handler'] = 'my_module_handler_filter_multiple_word';
}
; Views handlers files[]=views/my_module_handler_filter_multiple_word.inc
class my_module_filter_multiple_word_handler extends views_handler_filter_string{
function operators(){
$operators = parent::operators();
$operators['multiple word match'] = array(
'title' => t('Match multiple words'),
'short' => t('has multiple'),
'method' => 'op_word',
'values' => 1,
);
return $operators;
}
function op_word($field) {
$where = $this->operator == 'word' ? db_or() : db_and();
// Don't filter on empty strings.
if (empty($this->value)) {
return;
}
$matches = $split_arr = preg_split('/[ ;;,,、\r\n\t]+/ui', $this->value);
if( empty($matches) ) return ;
if( $matches[0]=="" ) unset($matches[0]);
$where->condition("node.title", $matches, 'IN');
if (!$where) {
return;
}
// previously this was a call_user_func_array but that's unnecessary
// as views will unpack an array that is a single arg.
$this->query->add_where($this->options['group'], $where);
}
/**
* Provide a simple textarea for equality
*/
function value_form(&$form, &$form_state) {
// We have to make some choices when creating this as an exposed
// filter form. For example, if the operator is locked and thus
// not rendered, we can't render dependencies; instead we only
// render the form items we need.
$which = 'all';
if (!empty($form['operator'])) {
$source = ($form['operator']['#type'] == 'radios') ? 'radio:options[operator]' : 'edit-options-operator';
}
if (!empty($form_state['exposed'])) {
$identifier = $this->options['expose']['identifier'];
if (empty($this->options['expose']['use_operator']) || empty($this->options['expose']['operator_id'])) {
// exposed and locked.
$which = in_array($this->operator, $this->operator_values(1)) ? 'value' : 'none';
}
else {
$source = 'edit-' . drupal_html_id($this->options['expose']['operator_id']);
}
}
if ($which == 'all' || $which == 'value') {
$form['value'] = array(
'#type' => 'textarea',
'#title' => t('Value'),
'#rows' => 10,
'#resizable' => TRUE,
'#default_value' => $this->value,
);
if (!empty($form_state['exposed']) && !isset($form_state['input'][$identifier])) {
$form_state['input'][$identifier] = $this->value;
}
if ($which == 'all') {
$form['value'] += array(
'#dependency' => array($source => $this->operator_values(1)),
);
}
}
if (!isset($form['value'])) {
// Ensure there is something in the 'value'.
$form['value'] = array(
'#type' => 'value',
'#value' => NULL
);
}
}
}
$form['#attached']['js'] = array( drupal_get_path("module", "drills_custom_views")."/js/drills_title_form_check.js" );
$form_id = "views-exposed-form-".$form_state['view']->name."-".$form_state['view']->current_display ;
$form_id = str_replace( "-", "_", $form_id );
drupal_add_js(array('drills_custom_views' => array('form_id' => $form_id)), array('type' => 'setting'));
(function($) {
Drupal.behaviors.drills_custom_views = {
attach: function (context, settings) {
alert(settings.drills_custom_views.form_id);
}
};
})(jQuery);
/**
* Implements hook_views_api().
*/
function my_module_views_api() {
return array(
'api' => 3,
);
}
/**
* Implements hook_views_data_alter().
*/
function my_module_views_data_alter(&$data) {
$data['node']['title_count']['title_multiple'] = 'Title multiple wrods';
$data['node']['title_count']['help_multiple'] = 'Filter multiple words with or operation in Title field';
$data['node']['title_count']['filter_multiple']['handler'] = 'my_module_handler_filter_multiple_word';
}
; Views handlers files[]=views/my_module_handler_filter_multiple_word.inc
class my_module_filter_multiple_word_handler extends views_handler_filter_string{
function operators(){
$operators = parent::operators();
$operators['multiple word match'] = array(
'title' => t('Match multiple words'),
'short' => t('has multiple'),
'method' => 'op_word',
'values' => 1,
);
return $operators;
}
function op_word($field) {
$where = $this->operator == 'word' ? db_or() : db_and();
// Don't filter on empty strings.
if (empty($this->value)) {
return;
}
$matches = $split_arr = preg_split('/[ ;;,,、\r\n\t]+/ui', $this->value);
if( empty($matches) ) return ;
if( $matches[0]=="" ) unset($matches[0]);
$where->condition("node.title", $matches, 'IN');
if (!$where) {
return;
}
// previously this was a call_user_func_array but that's unnecessary
// as views will unpack an array that is a single arg.
$this->query->add_where($this->options['group'], $where);
}
/**
* Provide a simple textarea for equality
*/
function value_form(&$form, &$form_state) {
// We have to make some choices when creating this as an exposed
// filter form. For example, if the operator is locked and thus
// not rendered, we can't render dependencies; instead we only
// render the form items we need.
$which = 'all';
if (!empty($form['operator'])) {
$source = ($form['operator']['#type'] == 'radios') ? 'radio:options[operator]' : 'edit-options-operator';
}
if (!empty($form_state['exposed'])) {
$identifier = $this->options['expose']['identifier'];
if (empty($this->options['expose']['use_operator']) || empty($this->options['expose']['operator_id'])) {
// exposed and locked.
$which = in_array($this->operator, $this->operator_values(1)) ? 'value' : 'none';
}
else {
$source = 'edit-' . drupal_html_id($this->options['expose']['operator_id']);
}
}
if ($which == 'all' || $which == 'value') {
$form['value'] = array(
'#type' => 'textarea',
'#title' => t('Value'),
'#rows' => 10,
'#resizable' => TRUE,
'#default_value' => $this->value,
);
if (!empty($form_state['exposed']) && !isset($form_state['input'][$identifier])) {
$form_state['input'][$identifier] = $this->value;
}
if ($which == 'all') {
$form['value'] += array(
'#dependency' => array($source => $this->operator_values(1)),
);
}
}
if (!isset($form['value'])) {
// Ensure there is something in the 'value'.
$form['value'] = array(
'#type' => 'value',
'#value' => NULL
);
}
}
}
$form['#attached']['js'] = array( drupal_get_path("module", "drills_custom_views")."/js/drills_title_form_check.js" );
$form_id = "views-exposed-form-".$form_state['view']->name."-".$form_state['view']->current_display ;
$form_id = str_replace( "-", "_", $form_id );
drupal_add_js(array('drills_custom_views' => array('form_id' => $form_id)), array('type' => 'setting'));
(function($) {
Drupal.behaviors.drills_custom_views = {
attach: function (context, settings) {
alert(settings.drills_custom_views.form_id);
}
};
})(jQuery);
/**
* Implements hook_views_api().
*/
function my_module_views_api() {
return array(
'api' => 3,
);
}
/**
* Implements hook_views_data_alter().
*/
function my_module_views_data_alter(&$data) {
$data['node']['title_count']['title_multiple'] = 'Title multiple wrods';
$data['node']['title_count']['help_multiple'] = 'Filter multiple words with or operation in Title field';
$data['node']['title_count']['filter_multiple']['handler'] = 'my_module_handler_filter_multiple_word';
}
; Views handlers files[]=views/my_module_handler_filter_multiple_word.inc
class my_module_filter_multiple_word_handler extends views_handler_filter_string{
function operators(){
$operators = parent::operators();
$operators['multiple word match'] = array(
'title' => t('Match multiple words'),
'short' => t('has multiple'),
'method' => 'op_word',
'values' => 1,
);
return $operators;
}
function op_word($field) {
$where = $this->operator == 'word' ? db_or() : db_and();
// Don't filter on empty strings.
if (empty($this->value)) {
return;
}
$matches = $split_arr = preg_split('/[ ;;,,、\r\n\t]+/ui', $this->value);
if( empty($matches) ) return ;
if( $matches[0]=="" ) unset($matches[0]);
$where->condition("node.title", $matches, 'IN');
if (!$where) {
return;
}
// previously this was a call_user_func_array but that's unnecessary
// as views will unpack an array that is a single arg.
$this->query->add_where($this->options['group'], $where);
}
/**
* Provide a simple textarea for equality
*/
function value_form(&$form, &$form_state) {
// We have to make some choices when creating this as an exposed
// filter form. For example, if the operator is locked and thus
// not rendered, we can't render dependencies; instead we only
// render the form items we need.
$which = 'all';
if (!empty($form['operator'])) {
$source = ($form['operator']['#type'] == 'radios') ? 'radio:options[operator]' : 'edit-options-operator';
}
if (!empty($form_state['exposed'])) {
$identifier = $this->options['expose']['identifier'];
if (empty($this->options['expose']['use_operator']) || empty($this->options['expose']['operator_id'])) {
// exposed and locked.
$which = in_array($this->operator, $this->operator_values(1)) ? 'value' : 'none';
}
else {
$source = 'edit-' . drupal_html_id($this->options['expose']['operator_id']);
}
}
if ($which == 'all' || $which == 'value') {
$form['value'] = array(
'#type' => 'textarea',
'#title' => t('Value'),
'#rows' => 10,
'#resizable' => TRUE,
'#default_value' => $this->value,
);
if (!empty($form_state['exposed']) && !isset($form_state['input'][$identifier])) {
$form_state['input'][$identifier] = $this->value;
}
if ($which == 'all') {
$form['value'] += array(
'#dependency' => array($source => $this->operator_values(1)),
);
}
}
if (!isset($form['value'])) {
// Ensure there is something in the 'value'.
$form['value'] = array(
'#type' => 'value',
'#value' => NULL
);
}
}
}
$form['#attached']['js'] = array( drupal_get_path("module", "drills_custom_views")."/js/drills_title_form_check.js" );
$form_id = "views-exposed-form-".$form_state['view']->name."-".$form_state['view']->current_display ;
$form_id = str_replace( "-", "_", $form_id );
drupal_add_js(array('drills_custom_views' => array('form_id' => $form_id)), array('type' => 'setting'));
(function($) {
Drupal.behaviors.drills_custom_views = {
attach: function (context, settings) {
alert(settings.drills_custom_views.form_id);
}
};
})(jQuery);
/**
* Implements hook_views_api().
*/
function my_module_views_api() {
return array(
'api' => 3,
);
}
/**
* Implements hook_views_data_alter().
*/
function my_module_views_data_alter(&$data) {
$data['node']['title_count']['title_multiple'] = 'Title multiple wrods';
$data['node']['title_count']['help_multiple'] = 'Filter multiple words with or operation in Title field';
$data['node']['title_count']['filter_multiple']['handler'] = 'my_module_handler_filter_multiple_word';
}
; Views handlers files[]=views/my_module_handler_filter_multiple_word.inc
class my_module_filter_multiple_word_handler extends views_handler_filter_string{
function operators(){
$operators = parent::operators();
$operators['multiple word match'] = array(
'title' => t('Match multiple words'),
'short' => t('has multiple'),
'method' => 'op_word',
'values' => 1,
);
return $operators;
}
function op_word($field) {
$where = $this->operator == 'word' ? db_or() : db_and();
// Don't filter on empty strings.
if (empty($this->value)) {
return;
}
$matches = $split_arr = preg_split('/[ ;;,,、\r\n\t]+/ui', $this->value);
if( empty($matches) ) return ;
if( $matches[0]=="" ) unset($matches[0]);
$where->condition("node.title", $matches, 'IN');
if (!$where) {
return;
}
// previously this was a call_user_func_array but that's unnecessary
// as views will unpack an array that is a single arg.
$this->query->add_where($this->options['group'], $where);
}
/**
* Provide a simple textarea for equality
*/
function value_form(&$form, &$form_state) {
// We have to make some choices when creating this as an exposed
// filter form. For example, if the operator is locked and thus
// not rendered, we can't render dependencies; instead we only
// render the form items we need.
$which = 'all';
if (!empty($form['operator'])) {
$source = ($form['operator']['#type'] == 'radios') ? 'radio:options[operator]' : 'edit-options-operator';
}
if (!empty($form_state['exposed'])) {
$identifier = $this->options['expose']['identifier'];
if (empty($this->options['expose']['use_operator']) || empty($this->options['expose']['operator_id'])) {
// exposed and locked.
$which = in_array($this->operator, $this->operator_values(1)) ? 'value' : 'none';
}
else {
$source = 'edit-' . drupal_html_id($this->options['expose']['operator_id']);
}
}
if ($which == 'all' || $which == 'value') {
$form['value'] = array(
'#type' => 'textarea',
'#title' => t('Value'),
'#rows' => 10,
'#resizable' => TRUE,
'#default_value' => $this->value,
);
if (!empty($form_state['exposed']) && !isset($form_state['input'][$identifier])) {
$form_state['input'][$identifier] = $this->value;
}
if ($which == 'all') {
$form['value'] += array(
'#dependency' => array($source => $this->operator_values(1)),
);
}
}
if (!isset($form['value'])) {
// Ensure there is something in the 'value'.
$form['value'] = array(
'#type' => 'value',
'#value' => NULL
);
}
}
}
$form['#attached']['js'] = array( drupal_get_path("module", "drills_custom_views")."/js/drills_title_form_check.js" );
$form_id = "views-exposed-form-".$form_state['view']->name."-".$form_state['view']->current_display ;
$form_id = str_replace( "-", "_", $form_id );
drupal_add_js(array('drills_custom_views' => array('form_id' => $form_id)), array('type' => 'setting'));
(function($) {
Drupal.behaviors.drills_custom_views = {
attach: function (context, settings) {
alert(settings.drills_custom_views.form_id);
}
};
})(jQuery);
/**
* Implements hook_views_api().
*/
function my_module_views_api() {
return array(
'api' => 3,
);
}
/**
* Implements hook_views_data_alter().
*/
function my_module_views_data_alter(&$data) {
$data['node']['title_count']['title_multiple'] = 'Title multiple wrods';
$data['node']['title_count']['help_multiple'] = 'Filter multiple words with or operation in Title field';
$data['node']['title_count']['filter_multiple']['handler'] = 'my_module_handler_filter_multiple_word';
}
; Views handlers files[]=views/my_module_handler_filter_multiple_word.inc
class my_module_filter_multiple_word_handler extends views_handler_filter_string{
function operators(){
$operators = parent::operators();
$operators['multiple word match'] = array(
'title' => t('Match multiple words'),
'short' => t('has multiple'),
'method' => 'op_word',
'values' => 1,
);
return $operators;
}
function op_word($field) {
$where = $this->operator == 'word' ? db_or() : db_and();
// Don't filter on empty strings.
if (empty($this->value)) {
return;
}
$matches = $split_arr = preg_split('/[ ;;,,、\r\n\t]+/ui', $this->value);
if( empty($matches) ) return ;
if( $matches[0]=="" ) unset($matches[0]);
$where->condition("node.title", $matches, 'IN');
if (!$where) {
return;
}
// previously this was a call_user_func_array but that's unnecessary
// as views will unpack an array that is a single arg.
$this->query->add_where($this->options['group'], $where);
}
/**
* Provide a simple textarea for equality
*/
function value_form(&$form, &$form_state) {
// We have to make some choices when creating this as an exposed
// filter form. For example, if the operator is locked and thus
// not rendered, we can't render dependencies; instead we only
// render the form items we need.
$which = 'all';
if (!empty($form['operator'])) {
$source = ($form['operator']['#type'] == 'radios') ? 'radio:options[operator]' : 'edit-options-operator';
}
if (!empty($form_state['exposed'])) {
$identifier = $this->options['expose']['identifier'];
if (empty($this->options['expose']['use_operator']) || empty($this->options['expose']['operator_id'])) {
// exposed and locked.
$which = in_array($this->operator, $this->operator_values(1)) ? 'value' : 'none';
}
else {
$source = 'edit-' . drupal_html_id($this->options['expose']['operator_id']);
}
}
if ($which == 'all' || $which == 'value') {
$form['value'] = array(
'#type' => 'textarea',
'#title' => t('Value'),
'#rows' => 10,
'#resizable' => TRUE,
'#default_value' => $this->value,
);
if (!empty($form_state['exposed']) && !isset($form_state['input'][$identifier])) {
$form_state['input'][$identifier] = $this->value;
}
if ($which == 'all') {
$form['value'] += array(
'#dependency' => array($source => $this->operator_values(1)),
);
}
}
if (!isset($form['value'])) {
// Ensure there is something in the 'value'.
$form['value'] = array(
'#type' => 'value',
'#value' => NULL
);
}
}
}
$form['#attached']['js'] = array( drupal_get_path("module", "drills_custom_views")."/js/drills_title_form_check.js" );
$form_id = "views-exposed-form-".$form_state['view']->name."-".$form_state['view']->current_display ;
$form_id = str_replace( "-", "_", $form_id );
drupal_add_js(array('drills_custom_views' => array('form_id' => $form_id)), array('type' => 'setting'));
(function($) {
Drupal.behaviors.drills_custom_views = {
attach: function (context, settings) {
alert(settings.drills_custom_views.form_id);
}
};
})(jQuery);
/**
* Implements hook_views_api().
*/
function my_module_views_api() {
return array(
'api' => 3,
);
}
/**
* Implements hook_views_data_alter().
*/
function my_module_views_data_alter(&$data) {
$data['node']['title_count']['title_multiple'] = 'Title multiple wrods';
$data['node']['title_count']['help_multiple'] = 'Filter multiple words with or operation in Title field';
$data['node']['title_count']['filter_multiple']['handler'] = 'my_module_handler_filter_multiple_word';
}
; Views handlers files[]=views/my_module_handler_filter_multiple_word.inc
class my_module_filter_multiple_word_handler extends views_handler_filter_string{
function operators(){
$operators = parent::operators();
$operators['multiple word match'] = array(
'title' => t('Match multiple words'),
'short' => t('has multiple'),
'method' => 'op_word',
'values' => 1,
);
return $operators;
}
function op_word($field) {
$where = $this->operator == 'word' ? db_or() : db_and();
// Don't filter on empty strings.
if (empty($this->value)) {
return;
}
$matches = $split_arr = preg_split('/[ ;;,,、\r\n\t]+/ui', $this->value);
if( empty($matches) ) return ;
if( $matches[0]=="" ) unset($matches[0]);
$where->condition("node.title", $matches, 'IN');
if (!$where) {
return;
}
// previously this was a call_user_func_array but that's unnecessary
// as views will unpack an array that is a single arg.
$this->query->add_where($this->options['group'], $where);
}
/**
* Provide a simple textarea for equality
*/
function value_form(&$form, &$form_state) {
// We have to make some choices when creating this as an exposed
// filter form. For example, if the operator is locked and thus
// not rendered, we can't render dependencies; instead we only
// render the form items we need.
$which = 'all';
if (!empty($form['operator'])) {
$source = ($form['operator']['#type'] == 'radios') ? 'radio:options[operator]' : 'edit-options-operator';
}
if (!empty($form_state['exposed'])) {
$identifier = $this->options['expose']['identifier'];
if (empty($this->options['expose']['use_operator']) || empty($this->options['expose']['operator_id'])) {
// exposed and locked.
$which = in_array($this->operator, $this->operator_values(1)) ? 'value' : 'none';
}
else {
$source = 'edit-' . drupal_html_id($this->options['expose']['operator_id']);
}
}
if ($which == 'all' || $which == 'value') {
$form['value'] = array(
'#type' => 'textarea',
'#title' => t('Value'),
'#rows' => 10,
'#resizable' => TRUE,
'#default_value' => $this->value,
);
if (!empty($form_state['exposed']) && !isset($form_state['input'][$identifier])) {
$form_state['input'][$identifier] = $this->value;
}
if ($which == 'all') {
$form['value'] += array(
'#dependency' => array($source => $this->operator_values(1)),
);
}
}
if (!isset($form['value'])) {
// Ensure there is something in the 'value'.
$form['value'] = array(
'#type' => 'value',
'#value' => NULL
);
}
}
}
$form['#attached']['js'] = array( drupal_get_path("module", "drills_custom_views")."/js/drills_title_form_check.js" );
$form_id = "views-exposed-form-".$form_state['view']->name."-".$form_state['view']->current_display ;
$form_id = str_replace( "-", "_", $form_id );
drupal_add_js(array('drills_custom_views' => array('form_id' => $form_id)), array('type' => 'setting'));
(function($) {
Drupal.behaviors.drills_custom_views = {
attach: function (context, settings) {
alert(settings.drills_custom_views.form_id);
}
};
})(jQuery);
/**
* Implements hook_views_api().
*/
function my_module_views_api() {
return array(
'api' => 3,
);
}
/**
* Implements hook_views_data_alter().
*/
function my_module_views_data_alter(&$data) {
$data['node']['title_count']['title_multiple'] = 'Title multiple wrods';
$data['node']['title_count']['help_multiple'] = 'Filter multiple words with or operation in Title field';
$data['node']['title_count']['filter_multiple']['handler'] = 'my_module_handler_filter_multiple_word';
}
; Views handlers files[]=views/my_module_handler_filter_multiple_word.inc
class my_module_filter_multiple_word_handler extends views_handler_filter_string{
function operators(){
$operators = parent::operators();
$operators['multiple word match'] = array(
'title' => t('Match multiple words'),
'short' => t('has multiple'),
'method' => 'op_word',
'values' => 1,
);
return $operators;
}
function op_word($field) {
$where = $this->operator == 'word' ? db_or() : db_and();
// Don't filter on empty strings.
if (empty($this->value)) {
return;
}
$matches = $split_arr = preg_split('/[ ;;,,、\r\n\t]+/ui', $this->value);
if( empty($matches) ) return ;
if( $matches[0]=="" ) unset($matches[0]);
$where->condition("node.title", $matches, 'IN');
if (!$where) {
return;
}
// previously this was a call_user_func_array but that's unnecessary
// as views will unpack an array that is a single arg.
$this->query->add_where($this->options['group'], $where);
}
/**
* Provide a simple textarea for equality
*/
function value_form(&$form, &$form_state) {
// We have to make some choices when creating this as an exposed
// filter form. For example, if the operator is locked and thus
// not rendered, we can't render dependencies; instead we only
// render the form items we need.
$which = 'all';
if (!empty($form['operator'])) {
$source = ($form['operator']['#type'] == 'radios') ? 'radio:options[operator]' : 'edit-options-operator';
}
if (!empty($form_state['exposed'])) {
$identifier = $this->options['expose']['identifier'];
if (empty($this->options['expose']['use_operator']) || empty($this->options['expose']['operator_id'])) {
// exposed and locked.
$which = in_array($this->operator, $this->operator_values(1)) ? 'value' : 'none';
}
else {
$source = 'edit-' . drupal_html_id($this->options['expose']['operator_id']);
}
}
if ($which == 'all' || $which == 'value') {
$form['value'] = array(
'#type' => 'textarea',
'#title' => t('Value'),
'#rows' => 10,
'#resizable' => TRUE,
'#default_value' => $this->value,
);
if (!empty($form_state['exposed']) && !isset($form_state['input'][$identifier])) {
$form_state['input'][$identifier] = $this->value;
}
if ($which == 'all') {
$form['value'] += array(
'#dependency' => array($source => $this->operator_values(1)),
);
}
}
if (!isset($form['value'])) {
// Ensure there is something in the 'value'.
$form['value'] = array(
'#type' => 'value',
'#value' => NULL
);
}
}
}
$form['#attached']['js'] = array( drupal_get_path("module", "drills_custom_views")."/js/drills_title_form_check.js" );
$form_id = "views-exposed-form-".$form_state['view']->name."-".$form_state['view']->current_display ;
$form_id = str_replace( "-", "_", $form_id );
drupal_add_js(array('drills_custom_views' => array('form_id' => $form_id)), array('type' => 'setting'));
(function($) {
Drupal.behaviors.drills_custom_views = {
attach: function (context, settings) {
alert(settings.drills_custom_views.form_id);
}
};
})(jQuery);
/**
* Implements hook_views_api().
*/
function my_module_views_api() {
return array(
'api' => 3,
);
}
/**
* Implements hook_views_data_alter().
*/
function my_module_views_data_alter(&$data) {
$data['node']['title_count']['title_multiple'] = 'Title multiple wrods';
$data['node']['title_count']['help_multiple'] = 'Filter multiple words with or operation in Title field';
$data['node']['title_count']['filter_multiple']['handler'] = 'my_module_handler_filter_multiple_word';
}
; Views handlers files[]=views/my_module_handler_filter_multiple_word.inc
class my_module_filter_multiple_word_handler extends views_handler_filter_string{
function operators(){
$operators = parent::operators();
$operators['multiple word match'] = array(
'title' => t('Match multiple words'),
'short' => t('has multiple'),
'method' => 'op_word',
'values' => 1,
);
return $operators;
}
function op_word($field) {
$where = $this->operator == 'word' ? db_or() : db_and();
// Don't filter on empty strings.
if (empty($this->value)) {
return;
}
$matches = $split_arr = preg_split('/[ ;;,,、\r\n\t]+/ui', $this->value);
if( empty($matches) ) return ;
if( $matches[0]=="" ) unset($matches[0]);
$where->condition("node.title", $matches, 'IN');
if (!$where) {
return;
}
// previously this was a call_user_func_array but that's unnecessary
// as views will unpack an array that is a single arg.
$this->query->add_where($this->options['group'], $where);
}
/**
* Provide a simple textarea for equality
*/
function value_form(&$form, &$form_state) {
// We have to make some choices when creating this as an exposed
// filter form. For example, if the operator is locked and thus
// not rendered, we can't render dependencies; instead we only
// render the form items we need.
$which = 'all';
if (!empty($form['operator'])) {
$source = ($form['operator']['#type'] == 'radios') ? 'radio:options[operator]' : 'edit-options-operator';
}
if (!empty($form_state['exposed'])) {
$identifier = $this->options['expose']['identifier'];
if (empty($this->options['expose']['use_operator']) || empty($this->options['expose']['operator_id'])) {
// exposed and locked.
$which = in_array($this->operator, $this->operator_values(1)) ? 'value' : 'none';
}
else {
$source = 'edit-' . drupal_html_id($this->options['expose']['operator_id']);
}
}
if ($which == 'all' || $which == 'value') {
$form['value'] = array(
'#type' => 'textarea',
'#title' => t('Value'),
'#rows' => 10,
'#resizable' => TRUE,
'#default_value' => $this->value,
);
if (!empty($form_state['exposed']) && !isset($form_state['input'][$identifier])) {
$form_state['input'][$identifier] = $this->value;
}
if ($which == 'all') {
$form['value'] += array(
'#dependency' => array($source => $this->operator_values(1)),
);
}
}
if (!isset($form['value'])) {
// Ensure there is something in the 'value'.
$form['value'] = array(
'#type' => 'value',
'#value' => NULL
);
}
}
}
$form['#attached']['js'] = array( drupal_get_path("module", "drills_custom_views")."/js/drills_title_form_check.js" );
$form_id = "views-exposed-form-".$form_state['view']->name."-".$form_state['view']->current_display ;
$form_id = str_replace( "-", "_", $form_id );
drupal_add_js(array('drills_custom_views' => array('form_id' => $form_id)), array('type' => 'setting'));
(function($) {
Drupal.behaviors.drills_custom_views = {
attach: function (context, settings) {
alert(settings.drills_custom_views.form_id);
}
};
})(jQuery);
/**
* Implements hook_views_api().
*/
function my_module_views_api() {
return array(
'api' => 3,
);
}
/**
* Implements hook_views_data_alter().
*/
function my_module_views_data_alter(&$data) {
$data['node']['title_count']['title_multiple'] = 'Title multiple wrods';
$data['node']['title_count']['help_multiple'] = 'Filter multiple words with or operation in Title field';
$data['node']['title_count']['filter_multiple']['handler'] = 'my_module_handler_filter_multiple_word';
}
; Views handlers files[]=views/my_module_handler_filter_multiple_word.inc
class my_module_filter_multiple_word_handler extends views_handler_filter_string{
function operators(){
$operators = parent::operators();
$operators['multiple word match'] = array(
'title' => t('Match multiple words'),
'short' => t('has multiple'),
'method' => 'op_word',
'values' => 1,
);
return $operators;
}
function op_word($field) {
$where = $this->operator == 'word' ? db_or() : db_and();
// Don't filter on empty strings.
if (empty($this->value)) {
return;
}
$matches = $split_arr = preg_split('/[ ;;,,、\r\n\t]+/ui', $this->value);
if( empty($matches) ) return ;
if( $matches[0]=="" ) unset($matches[0]);
$where->condition("node.title", $matches, 'IN');
if (!$where) {
return;
}
// previously this was a call_user_func_array but that's unnecessary
// as views will unpack an array that is a single arg.
$this->query->add_where($this->options['group'], $where);
}
/**
* Provide a simple textarea for equality
*/
function value_form(&$form, &$form_state) {
// We have to make some choices when creating this as an exposed
// filter form. For example, if the operator is locked and thus
// not rendered, we can't render dependencies; instead we only
// render the form items we need.
$which = 'all';
if (!empty($form['operator'])) {
$source = ($form['operator']['#type'] == 'radios') ? 'radio:options[operator]' : 'edit-options-operator';
}
if (!empty($form_state['exposed'])) {
$identifier = $this->options['expose']['identifier'];
if (empty($this->options['expose']['use_operator']) || empty($this->options['expose']['operator_id'])) {
// exposed and locked.
$which = in_array($this->operator, $this->operator_values(1)) ? 'value' : 'none';
}
else {
$source = 'edit-' . drupal_html_id($this->options['expose']['operator_id']);
}
}
if ($which == 'all' || $which == 'value') {
$form['value'] = array(
'#type' => 'textarea',
'#title' => t('Value'),
'#rows' => 10,
'#resizable' => TRUE,
'#default_value' => $this->value,
);
if (!empty($form_state['exposed']) && !isset($form_state['input'][$identifier])) {
$form_state['input'][$identifier] = $this->value;
}
if ($which == 'all') {
$form['value'] += array(
'#dependency' => array($source => $this->operator_values(1)),
);
}
}
if (!isset($form['value'])) {
// Ensure there is something in the 'value'.
$form['value'] = array(
'#type' => 'value',
'#value' => NULL
);
}
}
}
$form['#attached']['js'] = array( drupal_get_path("module", "drills_custom_views")."/js/drills_title_form_check.js" );
$form_id = "views-exposed-form-".$form_state['view']->name."-".$form_state['view']->current_display ;
$form_id = str_replace( "-", "_", $form_id );
drupal_add_js(array('drills_custom_views' => array('form_id' => $form_id)), array('type' => 'setting'));
(function($) {
Drupal.behaviors.drills_custom_views = {
attach: function (context, settings) {
alert(settings.drills_custom_views.form_id);
}
};
})(jQuery);
/**
* Implements hook_views_api().
*/
function my_module_views_api() {
return array(
'api' => 3,
);
}
/**
* Implements hook_views_data_alter().
*/
function my_module_views_data_alter(&$data) {
$data['node']['title_count']['title_multiple'] = 'Title multiple wrods';
$data['node']['title_count']['help_multiple'] = 'Filter multiple words with or operation in Title field';
$data['node']['title_count']['filter_multiple']['handler'] = 'my_module_handler_filter_multiple_word';
}
; Views handlers files[]=views/my_module_handler_filter_multiple_word.inc
class my_module_filter_multiple_word_handler extends views_handler_filter_string{
function operators(){
$operators = parent::operators();
$operators['multiple word match'] = array(
'title' => t('Match multiple words'),
'short' => t('has multiple'),
'method' => 'op_word',
'values' => 1,
);
return $operators;
}
function op_word($field) {
$where = $this->operator == 'word' ? db_or() : db_and();
// Don't filter on empty strings.
if (empty($this->value)) {
return;
}
$matches = $split_arr = preg_split('/[ ;;,,、\r\n\t]+/ui', $this->value);
if( empty($matches) ) return ;
if( $matches[0]=="" ) unset($matches[0]);
$where->condition("node.title", $matches, 'IN');
if (!$where) {
return;
}
// previously this was a call_user_func_array but that's unnecessary
// as views will unpack an array that is a single arg.
$this->query->add_where($this->options['group'], $where);
}
/**
* Provide a simple textarea for equality
*/
function value_form(&$form, &$form_state) {
// We have to make some choices when creating this as an exposed
// filter form. For example, if the operator is locked and thus
// not rendered, we can't render dependencies; instead we only
// render the form items we need.
$which = 'all';
if (!empty($form['operator'])) {
$source = ($form['operator']['#type'] == 'radios') ? 'radio:options[operator]' : 'edit-options-operator';
}
if (!empty($form_state['exposed'])) {
$identifier = $this->options['expose']['identifier'];
if (empty($this->options['expose']['use_operator']) || empty($this->options['expose']['operator_id'])) {
// exposed and locked.
$which = in_array($this->operator, $this->operator_values(1)) ? 'value' : 'none';
}
else {
$source = 'edit-' . drupal_html_id($this->options['expose']['operator_id']);
}
}
if ($which == 'all' || $which == 'value') {
$form['value'] = array(
'#type' => 'textarea',
'#title' => t('Value'),
'#rows' => 10,
'#resizable' => TRUE,
'#default_value' => $this->value,
);
if (!empty($form_state['exposed']) && !isset($form_state['input'][$identifier])) {
$form_state['input'][$identifier] = $this->value;
}
if ($which == 'all') {
$form['value'] += array(
'#dependency' => array($source => $this->operator_values(1)),
);
}
}
if (!isset($form['value'])) {
// Ensure there is something in the 'value'.
$form['value'] = array(
'#type' => 'value',
'#value' => NULL
);
}
}
}
$form['#attached']['js'] = array( drupal_get_path("module", "drills_custom_views")."/js/drills_title_form_check.js" );
$form_id = "views-exposed-form-".$form_state['view']->name."-".$form_state['view']->current_display ;
$form_id = str_replace( "-", "_", $form_id );
drupal_add_js(array('drills_custom_views' => array('form_id' => $form_id)), array('type' => 'setting'));
(function($) {
Drupal.behaviors.drills_custom_views = {
attach: function (context, settings) {
alert(settings.drills_custom_views.form_id);
}
};
})(jQuery);