From 97fb3d4b8bd904bb2dd326300ca8e4dc9f2fe194 Mon Sep 17 00:00:00 2001 From: Daniel Wehner <daniel.wehner@erdfisch.de> Date: Fri, 1 Jun 2012 00:08:21 +0200 Subject: [PATCH] Add basic language.module views integration. --- modules/language.views.inc | 95 ++++++++++++++++++++++++++++++++++++++ views.module | 4 ++ 2 files changed, 99 insertions(+) create mode 100644 modules/language.views.inc diff --git a/modules/language.views.inc b/modules/language.views.inc new file mode 100644 index 000000000000..d9065e850819 --- /dev/null +++ b/modules/language.views.inc @@ -0,0 +1,95 @@ +<?php + +/** + * @file + * Provide views data and handlers for language.module. + * + * @ingroup views_module_handlers + */ + +/** + * Implements hook_views_data(). + */ +function language_views_data() { + $data['language']['table']['group'] = t('Language'); + + $data['language']['table']['base'] = array( + 'field' => 'langcode', + 'title' => t('Language'), + 'help' => t('A language used in drupal.'), + ); + + // name + // direction + // weight + + $data['language']['langcode'] = array( + 'title' => t('Language code'), + 'help' => t("Language code, e.g. 'de' or 'en-US'."), + 'field' => array( + 'handler' => 'views_handler_field', + ), + 'filter' => array( + 'handler' => 'views_handler_filter_string' + ), + 'argument' => array( + 'handler' => 'views_handler_argument_string', + ), + 'sort' => array( + 'handler' => 'views_handler_sort', + ), + ); + + $data['language']['name'] = array( + 'title' => t('Language name'), + 'help' => t("Language name, e.g. 'German' or 'English'."), + 'field' => array( + 'handler' => 'views_handler_field', + ), + 'filter' => array( + 'handler' => 'views_handler_filter_string' + ), + 'argument' => array( + 'handler' => 'views_handler_argument_string', + ), + 'sort' => array( + 'handler' => 'views_handler_sort', + ), + ); + + $data['language']['direction'] = array( + 'title' => t('Direction'), + 'help' => t('Direction of language (Left-to-Right = 0, Right-to-Left = 1).'), + 'field' => array( + 'handler' => 'views_handler_field_numeric', + ), + 'filter' => array( + 'handler' => 'views_handler_filter_numeric' + ), + 'argument' => array( + 'handler' => 'views_handler_argument_numeric', + ), + 'sort' => array( + 'handler' => 'views_handler_sort', + ), + ); + + $data['language']['weight'] = array( + 'title' => t('Weight'), + 'help' => t('Weight, used in lists of languages.'), + 'field' => array( + 'handler' => 'views_handler_field_numeric', + ), + 'filter' => array( + 'handler' => 'views_handler_filter_numeric' + ), + 'argument' => array( + 'handler' => 'views_handler_argument_numeric', + ), + 'sort' => array( + 'handler' => 'views_handler_sort', + ), + ); + + return $data; +} diff --git a/views.module b/views.module index 3d34603365a0..27bb3aa9f079 100644 --- a/views.module +++ b/views.module @@ -2397,6 +2397,10 @@ function filter_views_api() { return views_views_api(); } function image_views_api() { return views_views_api(); } } +if (!function_exists('language_views_api')) { + function language_views_api() { return views_views_api(); } +} + if (!function_exists('locale_views_api')) { function locale_views_api() { return views_views_api(); } } -- GitLab