views_age_filter.module in Views age filter 7
File
views_age_filter.module
View source
<?php
function views_age_filter_views_api() {
return array(
'api' => 3,
'path' => drupal_get_path('module', 'views_age_filter') . '/views',
);
}
function views_age_filter_module_implements_alter(&$implementations, $hook) {
if ($hook == 'field_views_data_alter') {
$group = $implementations['views_age_filter'];
unset($implementations['views_age_filter']);
$implementations['views_age_filter'] = $group;
}
}
function views_age_filter_field_views_data_alter(&$result, $field, $module) {
if ($module == 'date') {
$has_end_date = !empty($field['settings']['todate']);
foreach ($result as $table => $data) {
$column_names = array(
_field_sql_storage_columnname($field['field_name'], 'value'),
_field_sql_storage_columnname($field['field_name'], 'value2'),
);
foreach ($column_names as $column) {
if (isset($result[$table][$column]) && array_key_exists('filter', $result[$table][$column])) {
$result[$table][$column . '_age_filter'] = array(
'group' => $result[$table][$column]['group'],
'title' => t('Age filter:') . ' ' . $result[$table][$column]['title'],
'title short' => t('Age filter:') . ' ' . $result[$table][$column]['title short'],
'help' => $result[$table][$column]['help'],
'filter' => $result[$table][$column]['filter'],
);
$result[$table][$column . '_age_filter']['filter']['handler'] = 'views_age_filter_handler';
}
}
}
}
}