function _global_filter_remove_default_filter_from_views in Views Global Filter 6
3 calls to _global_filter_remove_default_filter_from_views()
File
- ./
global_filter.module, line 412 - global_filter.module
Code
function _global_filter_remove_default_filter_from_views($field_name) {
$views = views_get_all_views();
// Go through all Views and delete the default global filter if it exists.
foreach ($views as $view) {
foreach ($view->display as $display_name => $display) {
if (isset($display->display_options['arguments'])) {
$arguments = $display->display_options['arguments'];
if (isset($arguments[$field_name]) || isset($arguments[$field_name . '_value']) || isset($arguments[$field_name . '_tid'])) {
unset($view->display[$display_name]->display_options['arguments'][$field_name]);
unset($view->display[$display_name]->display_options['arguments'][$field_name . '_value']);
unset($view->display[$display_name]->display_options['arguments'][$field_name . '_tid']);
drupal_set_message(t('As the global filter %old_filter was deleted, it was removed as the default argument from the view %view.', array(
'%old_filter' => $field_name,
'%view' => empty($view->human_name) ? $view->name : $view->human_name,
)));
$view
->save();
views_object_cache_clear('view', $view->name);
$clear_cache = TRUE;
}
}
}
}
if ($clear_cache) {
cache_clear_all('*', 'cache_views');
}
}