Index: README_DRUPAL-7.txt =================================================================== RCS file: README_DRUPAL-7.txt diff -N README_DRUPAL-7.txt --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ README_DRUPAL-7.txt 20 May 2009 00:07:20 -0000 @@ -0,0 +1,4 @@ +This branch of Views is being ported to Drupal 7. + +For the latest Drupal 6 version of this module, check out the DRUPAL-6--2 branch. + Index: views.info =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/views/views.info,v retrieving revision 1.7 diff -u -p -r1.7 views.info --- views.info 12 Aug 2007 06:52:14 -0000 1.7 +++ views.info 20 May 2009 00:07:21 -0000 @@ -2,4 +2,221 @@ name = Views description = Create customized lists and queries from your database. package = Views -core = 6.x +core = 7.x +files[] = views.module +; Handlers +files[] = handlers/views_handler_argument.inc +files[] = handlers/views_handler_argument_date.inc +files[] = handlers/views_handler_argument_formula.inc +files[] = handlers/views_handler_argument_many_to_one.inc +files[] = handlers/views_handler_argument_null.inc +files[] = handlers/views_handler_argument_numeric.inc +files[] = handlers/views_handler_argument_string.inc +files[] = handlers/views_handler_field.inc +files[] = handlers/views_handler_field_boolean.inc +files[] = handlers/views_handler_field_custom.inc +files[] = handlers/views_handler_field_date.inc +files[] = handlers/views_handler_field_markup.inc +files[] = handlers/views_handler_field_numeric.inc +files[] = handlers/views_handler_field_prerender_list.inc +files[] = handlers/views_handler_field_url.inc +files[] = handlers/views_handler_filter.inc +files[] = handlers/views_handler_filter_boolean_operator.inc +files[] = handlers/views_handler_filter_boolean_operator_string.inc +files[] = handlers/views_handler_filter_date.inc +files[] = handlers/views_handler_filter_equality.inc +files[] = handlers/views_handler_filter_in_operator.inc +files[] = handlers/views_handler_filter_many_to_one.inc +files[] = handlers/views_handler_filter_numeric.inc +files[] = handlers/views_handler_filter_string.inc +files[] = handlers/views_handler_relationship.inc +files[] = handlers/views_handler_sort.inc +files[] = handlers/views_handler_sort_date.inc +files[] = handlers/views_handler_sort_formula.inc +files[] = handlers/views_handler_sort_menu_hierarchy.inc +files[] = handlers/views_handler_sort_random.inc +; Includes +files[] = includes/admin.inc +files[] = includes/ajax.inc +files[] = includes/analyze.inc +files[] = includes/base.inc +files[] = includes/cache.inc +files[] = includes/convert.inc +files[] = includes/form.inc +files[] = includes/handlers.inc +files[] = includes/plugins.inc +files[] = includes/query.inc +files[] = includes/tabs.inc +files[] = includes/view.inc +; Modules +files[] = modules/aggregator.views.inc +files[] = modules/aggregator/views_handler_argument_aggregator_fid.inc +files[] = modules/aggregator/views_handler_field_aggregator_title_link.inc +files[] = modules/aggregator/views_plugin_row_aggregator_rss.inc +files[] = modules/book.views.inc +files[] = modules/comment.views.inc +files[] = modules/comment.views_convert.inc +files[] = modules/comment.views_default.inc +files[] = modules/comment/views_handler_argument_comment_user_uid.inc +files[] = modules/comment/views_handler_field_comment.inc +files[] = modules/comment/views_handler_field_comment_depth.inc +files[] = modules/comment/views_handler_field_comment_link.inc +files[] = modules/comment/views_handler_field_comment_link_delete.inc +files[] = modules/comment/views_handler_field_comment_link_edit.inc +files[] = modules/comment/views_handler_field_comment_link_reply.inc +files[] = modules/comment/views_handler_field_comment_username.inc +files[] = modules/comment/views_handler_field_ncs_last_comment_name.inc +files[] = modules/comment/views_handler_field_ncs_last_updated.inc +files[] = modules/comment/views_handler_field_node_comment.inc +files[] = modules/comment/views_handler_field_node_new_comments.inc +files[] = modules/comment/views_handler_filter_comment_user_uid.inc +files[] = modules/comment/views_handler_filter_ncs_last_updated.inc +files[] = modules/comment/views_handler_filter_node_comment.inc +files[] = modules/comment/views_handler_sort_comment_thread.inc +files[] = modules/comment/views_handler_sort_ncs_last_comment_name.inc +files[] = modules/comment/views_handler_sort_ncs_last_updated.inc +files[] = modules/comment/views_plugin_row_comment_rss.inc +files[] = modules/comment/views_plugin_row_comment_view.inc +files[] = modules/locale.views.inc +files[] = modules/locale/views_handler_argument_locale_group.inc +files[] = modules/locale/views_handler_argument_locale_language.inc +files[] = modules/locale/views_handler_field_locale_group.inc +files[] = modules/locale/views_handler_field_locale_language.inc +files[] = modules/locale/views_handler_field_locale_link_edit.inc +files[] = modules/locale/views_handler_filter_locale_group.inc +files[] = modules/locale/views_handler_filter_locale_language.inc +files[] = modules/locale/views_handler_filter_locale_version.inc +files[] = modules/node.views.inc +files[] = modules/node.views_convert.inc +files[] = modules/node.views_default.inc +files[] = modules/node/views_handler_argument_dates_various.inc +files[] = modules/node/views_handler_argument_node_language.inc +files[] = modules/node/views_handler_argument_node_nid.inc +files[] = modules/node/views_handler_argument_node_type.inc +files[] = modules/node/views_handler_argument_node_vid.inc +files[] = modules/node/views_handler_field_history_user_timestamp.inc +files[] = modules/node/views_handler_field_node.inc +files[] = modules/node/views_handler_field_node_link.inc +files[] = modules/node/views_handler_field_node_link_delete.inc +files[] = modules/node/views_handler_field_node_link_edit.inc +files[] = modules/node/views_handler_field_node_revision_link_delete.inc +files[] = modules/node/views_handler_field_node_revision_link_revert.inc +files[] = modules/node/views_handler_field_node_type.inc +files[] = modules/node/views_handler_filter_history_user_timestamp.inc +files[] = modules/node/views_handler_filter_node_status.inc +files[] = modules/node/views_handler_filter_node_type.inc +files[] = modules/node/views_plugin_argument_default_node.inc +files[] = modules/node/views_plugin_argument_validate_node.inc +files[] = modules/node/views_plugin_row_node_rss.inc +files[] = modules/node/views_plugin_row_node_view.inc +files[] = modules/poll.views.inc +files[] = modules/profile.views.inc +files[] = modules/profile/views_handler_field_profile_date.inc +files[] = modules/profile/views_handler_field_profile_list.inc +files[] = modules/profile/views_handler_filter_profile_selection.inc +files[] = modules/search.views.inc +files[] = modules/search.views_default.inc +files[] = modules/search/views_handler_field_search_score.inc +files[] = modules/search/views_handler_filter_search.inc +files[] = modules/search/views_handler_sort_search_score.inc +files[] = modules/search/views_plugin_row_search_view.inc +files[] = modules/statistics.views.inc +files[] = modules/statistics.views_default.inc +files[] = modules/statistics/views_handler_field_accesslog_path.inc +files[] = modules/system.views.inc +files[] = modules/system/views_handler_argument_file_fid.inc +files[] = modules/system/views_handler_field_file.inc +files[] = modules/system/views_handler_field_file_status.inc +files[] = modules/system/views_handler_filter_file_status.inc +files[] = modules/taxonomy.views.inc +files[] = modules/taxonomy.views_convert.inc +files[] = modules/taxonomy.views_default.inc +files[] = modules/taxonomy/views_handler_argument_taxonomy.inc +files[] = modules/taxonomy/views_handler_argument_term_node_tid.inc +files[] = modules/taxonomy/views_handler_argument_term_node_tid_depth.inc +files[] = modules/taxonomy/views_handler_argument_term_node_tid_depth_modifier.inc +files[] = modules/taxonomy/views_handler_argument_vocabulary_vid.inc +files[] = modules/taxonomy/views_handler_field_taxonomy.inc +files[] = modules/taxonomy/views_handler_field_term_node_tid.inc +files[] = modules/taxonomy/views_handler_filter_term_node_tid.inc +files[] = modules/taxonomy/views_handler_filter_vocabulary_vid.inc +files[] = modules/taxonomy/views_plugin_argument_validate_taxonomy_term.inc +files[] = modules/translation.views.inc +files[] = modules/translation/views_handler_argument_node_language.inc +files[] = modules/translation/views_handler_argument_node_tnid.inc +files[] = modules/translation/views_handler_field_node_language.inc +files[] = modules/translation/views_handler_field_node_translation_link.inc +files[] = modules/translation/views_handler_filter_node_language.inc +files[] = modules/translation/views_handler_filter_node_tnid.inc +files[] = modules/translation/views_handler_filter_node_tnid_child.inc +files[] = modules/translation/views_handler_relationship_translation.inc +files[] = modules/upload.views.inc +files[] = modules/upload.views_convert.inc +files[] = modules/upload/views_handler_field_upload_description.inc +files[] = modules/upload/views_handler_field_upload_fid.inc +files[] = modules/upload/views_handler_filter_upload_fid.inc +files[] = modules/user.views.inc +files[] = modules/user/views_handler_argument_user_uid.inc +files[] = modules/user/views_handler_argument_users_roles_rid.inc +files[] = modules/user/views_handler_field_user.inc +files[] = modules/user/views_handler_field_user_link.inc +files[] = modules/user/views_handler_field_user_link_delete.inc +files[] = modules/user/views_handler_field_user_link_edit.inc +files[] = modules/user/views_handler_field_user_mail.inc +files[] = modules/user/views_handler_field_user_name.inc +files[] = modules/user/views_handler_field_user_picture.inc +files[] = modules/user/views_handler_field_user_roles.inc +files[] = modules/user/views_handler_filter_user_current.inc +files[] = modules/user/views_handler_filter_user_name.inc +files[] = modules/user/views_handler_filter_user_roles.inc +files[] = modules/user/views_plugin_argument_default_current_user.inc +files[] = modules/user/views_plugin_argument_default_user.inc +files[] = modules/user/views_plugin_argument_validate_user.inc +files[] = modules/views.views.inc +; Plugins +files[] = plugins/views_plugin_access.inc +files[] = plugins/views_plugin_access_none.inc +files[] = plugins/views_plugin_access_perm.inc +files[] = plugins/views_plugin_access_role.inc +files[] = plugins/views_plugin_argument_default.inc +files[] = plugins/views_plugin_argument_default_php.inc +files[] = plugins/views_plugin_argument_validate.inc +files[] = plugins/views_plugin_argument_validate_numeric.inc +files[] = plugins/views_plugin_argument_validate_php.inc +files[] = plugins/views_plugin_display.inc +files[] = plugins/views_plugin_display_attachment.inc +files[] = plugins/views_plugin_display_block.inc +files[] = plugins/views_plugin_display_default.inc +files[] = plugins/views_plugin_display_feed.inc +files[] = plugins/views_plugin_display_page.inc +files[] = plugins/views_plugin_row.inc +files[] = plugins/views_plugin_row_fields.inc +files[] = plugins/views_plugin_style.inc +files[] = plugins/views_plugin_style_default.inc +files[] = plugins/views_plugin_style_grid.inc +files[] = plugins/views_plugin_style_list.inc +files[] = plugins/views_plugin_style_rss.inc +files[] = plugins/views_plugin_style_summary.inc +files[] = plugins/views_plugin_style_summary_unformatted.inc +files[] = plugins/views_plugin_style_table.inc +; Theme +files[] = theme/theme.inc +files[] = theme/views-exposed-form.tpl.php +files[] = theme/views-more.tpl.php +files[] = theme/views-ui-edit-item.tpl.php +files[] = theme/views-ui-edit-tab.tpl.php +files[] = theme/views-ui-edit-view.tpl.php +files[] = theme/views-ui-list-views.tpl.php +files[] = theme/views-view-field.tpl.php +files[] = theme/views-view-fields.tpl.php +files[] = theme/views-view-grid.tpl.php +files[] = theme/views-view-list.tpl.php +files[] = theme/views-view-row-comment.tpl.php +files[] = theme/views-view-row-node.tpl.php +files[] = theme/views-view-row-rss.tpl.php +files[] = theme/views-view-rss.tpl.php +files[] = theme/views-view-summary-unformatted.tpl.php +files[] = theme/views-view-summary.tpl.php +files[] = theme/views-view-table.tpl.php +files[] = theme/views-view-unformatted.tpl.php +files[] = theme/views-view.tpl.php Index: views.module =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/views/views.module,v retrieving revision 1.332 diff -u -p -r1.332 views.module --- views.module 8 Apr 2009 16:11:51 -0000 1.332 +++ views.module 20 May 2009 00:07:21 -0000 @@ -20,33 +20,40 @@ function views_api_version() { * Implementation of hook_theme(). Register views theming functions. */ function views_theme() { - $path = drupal_get_path('module', 'views'); - require_once "./$path/theme/theme.inc"; - - // Some quasi clever array merging here. - $base = array( - 'file' => 'theme.inc', - 'path' => "$path/theme", - ); - // Our extra version of pager from pager.inc - $hooks['views_mini_pager'] = $base + array( - 'arguments' => array('tags' => array(), 'limit' => 10, 'element' => 0, 'parameters' => array()), + $hooks['views_mini_pager'] = array( + 'arguments' => array( + 'tags' => array(), + 'limit' => 10, + 'element' => 0, + 'parameters' => array(), + ), 'pattern' => 'views_mini_pager__', ); $arguments = array( 'display' => array('view' => NULL), - 'style' => array('view' => NULL, 'options' => NULL, 'rows' => NULL, 'title' => NULL), - 'row' => array('view' => NULL, 'options' => NULL, 'row' => NULL, 'field_alias' => NULL), + 'style' => array( + 'view' => NULL, + 'options' => NULL, + 'rows' => NULL, + 'title' => NULL, + ), + 'row' => array( + 'view' => NULL, + 'options' => NULL, + 'row' => NULL, + 'field_alias' => NULL, + ), ); // Default view themes - $hooks['views_view_field'] = $base + array( + $hooks['views_view_field'] = array( 'pattern' => 'views_view_field__', 'arguments' => array('view' => NULL, 'field' => NULL, 'row' => NULL), ); + drupal_function_exists('views_fetch_plugin_data'); $plugins = views_fetch_plugin_data(); // Register theme functions for all style plugins @@ -55,17 +62,10 @@ function views_theme() { if (isset($def['theme'])) { $hooks[$def['theme']] = array( 'pattern' => $def['theme'] . '__', - 'file' => $def['theme file'], - 'path' => $def['theme path'], 'arguments' => $arguments[$type], ); - $include = './' . $def['theme path'] . '/' . $def['theme file']; - if (file_exists($include)) { - require_once $include; - } - - if (!function_exists('theme_' . $def['theme'])) { + if (!drupal_function_exists('theme_' . $def['theme'])) { $hooks[$def['theme']]['template'] = views_css_safe($def['theme']); } } @@ -78,12 +78,10 @@ function views_theme() { $hooks[$theme] = array( 'pattern' => $theme . '__', - 'file' => $def['theme file'], - 'path' => $def['theme path'], 'arguments' => $arguments[$theme_type], ); - if (!function_exists('theme_' . $theme)) { + if (!drupal_function_exists('theme_' . $theme)) { $hooks[$theme]['template'] = views_css_safe($theme); } } @@ -143,7 +141,16 @@ function views_preprocess_comment(&$vars * Implementation of hook_perm() */ function views_perm() { - return array('access all views', 'administer views'); + return array( + 'administer views' => array( + 'title' => t('Administer views'), + 'description' => t('Access the views administration pages.'), + ), + 'access all views' => array( + 'title' => t('Access all views'), + 'description' => t('Bypass access control when accessing views.'), + ), + ); } /** @@ -152,6 +159,7 @@ function views_perm() { function views_menu() { // Any event which causes a menu_rebuild could potentially mean that the // Views data is updated -- module changes, profile changes, etc. + drupal_function_exists('views_invalidate_cache'); views_invalidate_cache(); $items = array(); $items['views/ajax'] = array( @@ -160,7 +168,6 @@ function views_menu() { 'access callback' => 'user_access', 'access arguments' => array('access content'), 'description' => 'Ajax callback for view loading.', - 'file' => 'includes/ajax.inc', 'type' => MENU_CALLBACK, ); // Path is not admin/build/views due to menu complications with the wildcards from @@ -169,7 +176,6 @@ function views_menu() { 'page callback' => 'views_ajax_autocomplete_user', 'access callback' => 'user_access', 'access arguments' => array('access content'), - 'file' => 'includes/ajax.inc', 'type' => MENU_CALLBACK, ); return $items; @@ -180,6 +186,7 @@ function views_menu() { */ function views_menu_alter(&$callbacks) { $our_paths = array(); + drupal_function_exists('views_get_applicable_data'); $views = views_get_applicable_views('uses hook menu'); foreach ($views as $data) { list($view, $display_id) = $data; @@ -504,29 +511,6 @@ function &views_get_current_view() { // Include file helpers /** - * Include views .inc files as necessary. - */ -function views_include($file) { - static $used = array(); - if (!isset($used[$file])) { - require_once './' . drupal_get_path('module', 'views') . "/includes/$file.inc"; - } - - $used[$file] = TRUE; -} - -/** - * Load views files on behalf of modules. - */ -function views_module_include($file) { - foreach (views_get_module_apis() as $module => $info) { - if (file_exists("./$info[path]/$module.$file")) { - require_once "./$info[path]/$module.$file"; - } - } -} - -/** * Get a list of modules that support the current views API. */ function views_get_module_apis() { @@ -534,12 +518,8 @@ function views_get_module_apis() { if (!isset($cache)) { $cache = array(); foreach (module_implements('views_api') as $module) { - $function = $module . '_views_api'; - $info = $function(); + $info = module_invoke($module, 'views_api'); if (isset($info['api']) && $info['api'] == 2.000) { - if (!isset($info['path'])) { - $info['path'] = drupal_get_path('module', $module); - } $cache[$module] = $info; } } @@ -576,43 +556,6 @@ function views_add_js($file) { drupal_add_js(drupal_get_path('module', 'views') . "/js/$file.js"); } -/** - * Load views files on behalf of modules. - */ -function views_include_handlers() { - static $finished = FALSE; - // Ensure this only gets run once. - if ($finished) { - return; - } - - views_include('base'); - views_include('handlers'); - views_include('cache'); - views_include('plugins'); - _views_include_handlers(); - $finished = TRUE; -} - -/** - * Load default views files on behalf of modules. - */ -function views_include_default_views() { - static $finished = FALSE; - // Ensure this only gets run once. - if ($finished) { - return; - } - - // Default views hooks may be in the normal handler file, - // or in a separate views_default file at the discretion of - // the module author. - views_include_handlers(); - - _views_include_default_views(); - $finished = TRUE; -} - // ----------------------------------------------------------------------- // Views handler functions @@ -653,7 +596,7 @@ function views_get_handler($table, $fiel * Fetch Views' data from the cache */ function views_fetch_data($table = NULL) { - views_include('cache'); + drupal_function_exists('_views_fetch_data'); return _views_fetch_data($table); } @@ -1016,7 +959,7 @@ function views_exposed_form_submit(&$for * Build a list of theme function names for use most everywhere. */ function views_theme_functions($hook, $view, $display = NULL) { - require_once './' . drupal_get_path('module', 'views') . "/theme/theme.inc"; + drupal_function_exists('_views_theme_functions'); return _views_theme_functions($hook, $view, $display); } @@ -1033,7 +976,7 @@ function views_theme_functions($hook, $v * */ function drupal_build_form($form_id, &$form_state) { - views_include('form'); + drupal_function_exists('_drupal_build_form'); return _drupal_build_form($form_id, $form_state); } @@ -1044,7 +987,7 @@ function views_views_query_substitutions global $language; return array( '***CURRENT_VERSION***' => VERSION, - '***CURRENT_TIME***' => time(), + '***CURRENT_TIME***' => REQUEST_TIME, '***CURRENT_LANGUAGE***' => $language->language, '***DEFAULT_LANGUAGE***' => language_default('language'), '***NO_LANGUAGE***' => '', Index: views_ui.info =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/views/views_ui.info,v retrieving revision 1.10 diff -u -p -r1.10 views_ui.info --- views_ui.info 9 Jan 2008 00:05:08 -0000 1.10 +++ views_ui.info 20 May 2009 00:07:21 -0000 @@ -2,5 +2,6 @@ name = Views UI description = Administrative interface to views. Without this module, you cannot create or edit your views. package = Views -core = 6.x -dependencies[] = views +core = 7.x +files[] = views_ui.module +dependencies[] = views \ No newline at end of file Index: views_ui.module =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/views/views_ui.module,v retrieving revision 1.109 diff -u -p -r1.109 views_ui.module --- views_ui.module 30 Jan 2009 00:56:01 -0000 1.109 +++ views_ui.module 20 May 2009 00:07:21 -0000 @@ -15,13 +15,11 @@ function views_ui_menu() { $base = array( 'access callback' => 'user_access', 'access arguments' => array('administer views'), - 'file' => 'includes/admin.inc', ); $callback = $base + array('type' => MENU_CALLBACK); $convert = array('file' => 'includes/convert.inc') + $base; - $items['admin/build/views'] = $base + array( 'title' => 'Views', 'page callback' => 'views_ui_list_views', @@ -164,55 +162,43 @@ function views_ui_help($path, $arg = '') * Implementation of hook_theme() */ function views_ui_theme() { - $path = drupal_get_path('module', 'views'); - require_once "./$path/includes/admin.inc"; - return array( // edit a view 'views_ui_edit_view' => array( 'arguments' => array('view' => NULL), 'template' => 'views-ui-edit-view', - 'path' => "$path/theme", ), 'views_ui_edit_tab' => array( 'arguments' => array('view' => NULL, 'display' => NULL), 'template' => 'views-ui-edit-tab', - 'path' => "$path/theme", ), 'views_ui_edit_item' => array( 'arguments' => array('type' => NULL, 'view' => NULL, 'display' => NULL, 'no_fields' => FALSE), 'template' => 'views-ui-edit-item', - 'path' => "$path/theme", ), 'views_ui_rearrange_form' => array( 'arguments' => array('form' => NULL), - 'file' => 'includes/admin.inc', ), // list views 'views_ui_list_views' => array( 'template' => 'views-ui-list-views', - 'path' => "$path/theme", ), 'views_ui_list_views_form' => array( - 'file' => 'includes/admin.inc', 'arguments' => array('form' => NULL), ), // tab themes 'views_tabset' => array( 'arguments' => array('tabs' => NULL), - 'file' => 'includes/tabs.inc', ), 'views_tab' => array( 'arguments' => array('body' => NULL), - 'file' => 'includes/tabs.inc', ), // On behalf of a plugin 'views_ui_style_plugin_table' => array( 'arguments' => array('form' => NULL), - 'file' => 'includes/admin.inc', ), ); } @@ -222,8 +208,7 @@ function views_ui_theme() { * load it. */ function views_ui_cache_load($name) { - views_include('cache'); - views_include('view'); + drupal_function_exists('views_object_cache_get'); $view = views_object_cache_get('view', $name); if (empty($view)) { @@ -258,7 +243,6 @@ function views_ui_cache_set(&$view) { drupal_set_message(t('Changes cannot be made to a locked view.'), 'error'); return; } - views_include('cache'); $view->changed = TRUE; // let any future object know that this view has changed. // Unset handlers; we don't want to write these into the cache @@ -269,6 +253,8 @@ function views_ui_cache_set(&$view) { unset($view->display[$id]->handler); unset($view->display[$id]->default_display); } + + drupal_function_exists('views_object_cache_set'); views_object_cache_set('view', $view->name, $view); } Index: handlers/views_handler_argument.inc =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/views/handlers/views_handler_argument.inc,v retrieving revision 1.7 diff -u -p -r1.7 views_handler_argument.inc --- handlers/views_handler_argument.inc 20 Feb 2009 20:12:38 -0000 1.7 +++ handlers/views_handler_argument.inc 20 May 2009 00:07:21 -0000 @@ -122,11 +122,11 @@ class views_handler_argument extends vie ); $form['clear_start'] = array( - '#value' => '
', + '#markup' => '
', ); $form['defaults_start'] = array( - '#value' => '
', + '#markup' => '
', ); $form['default_action'] = array( @@ -136,7 +136,7 @@ class views_handler_argument extends vie ); $form['defaults_stop'] = array( - '#value' => '
', + '#markup' => '
', ); $form['wildcard'] = array( @@ -159,7 +159,7 @@ class views_handler_argument extends vie ); $form['clear_stop'] = array( - '#value' => '
', + '#markup' => '
', ); $options = array(); @@ -178,7 +178,7 @@ class views_handler_argument extends vie $form['validate_options_div_prefix'] = array( '#id' => 'views-validator-options', - '#value' => '
' . t('Validator options') . '', + '#markup' => '
' . t('Validator options') . '', ); $form['validate_type'] = array( @@ -232,7 +232,7 @@ class views_handler_argument extends vie ); $form['validate_options_div_suffix'] = array( - '#value' => '
', + '#markup' => '
', ); } @@ -319,7 +319,7 @@ class views_handler_argument extends vie '#id' => 'edit-options-default-argument-type', '#title' => t('Default argument type'), '#default_value' => $this->options['default_argument_type'], - '#process' => array('expand_radios', 'views_process_dependency'), + '#process' => array('form_process_radios', 'views_process_dependency'), '#dependency' => array('radio:options[default_action]' => array('default')), ); @@ -336,7 +336,7 @@ class views_handler_argument extends vie } $form['default_options_div_suffix'] = array( - '#value' => '', + '#markup' => '', ); asort($options); @@ -748,8 +748,7 @@ class views_handler_argument_broken exte function query() { /* No query to run */ } function options_form(&$form, &$form_state) { $form['markup'] = array( - '#prefix' => '
', - '#value' => t('The handler for this item is broken or missing and cannot be used. If a module provided the handler and was disabled, re-enabling the module may restore it. Otherwise, you should probably delete this item.'), + '#markup' => '
' . t('The handler for this item is broken or missing and cannot be used. If a module provided the handler and was disabled, re-enabling the module may restore it. Otherwise, you should probably delete this item.') . '
', ); } Index: handlers/views_handler_argument_date.inc =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/views/handlers/views_handler_argument_date.inc,v retrieving revision 1.3 diff -u -p -r1.3 views_handler_argument_date.inc --- handlers/views_handler_argument_date.inc 24 Mar 2009 22:28:26 -0000 1.3 +++ handlers/views_handler_argument_date.inc 20 May 2009 00:07:21 -0000 @@ -36,7 +36,7 @@ class views_handler_argument_date extend */ function get_default_argument($raw = FALSE) { if (!$raw && $this->options['default_argument_type'] == 'date') { - return date($this->arg_format, time()); + return date($this->arg_format, REQUEST_TIME); } else if (!$raw) { foreach (range(1, 3) as $i) { Index: handlers/views_handler_field.inc =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/views/handlers/views_handler_field.inc,v retrieving revision 1.14 diff -u -p -r1.14 views_handler_field.inc --- handlers/views_handler_field.inc 8 Apr 2009 05:23:56 -0000 1.14 +++ handlers/views_handler_field.inc 20 May 2009 00:07:22 -0000 @@ -603,8 +603,7 @@ class views_handler_field_broken extends function query() { /* No query to run */ } function options_form(&$form, &$form_state) { $form['markup'] = array( - '#prefix' => '
', - '#value' => t('The handler for this item is broken or missing and cannot be used. If a module provided the handler and was disabled, re-enabling the module may restore it. Otherwise, you should probably delete this item.'), + '#markup' => '
' . t('The handler for this item is broken or missing and cannot be used. If a module provided the handler and was disabled, re-enabling the module may restore it. Otherwise, you should probably delete this item.') . '
', ); } Index: handlers/views_handler_field_date.inc =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/views/handlers/views_handler_field_date.inc,v retrieving revision 1.2 diff -u -p -r1.2 views_handler_field_date.inc --- handlers/views_handler_field_date.inc 21 Feb 2009 23:36:42 -0000 1.2 +++ handlers/views_handler_field_date.inc 20 May 2009 00:07:22 -0000 @@ -17,15 +17,14 @@ class views_handler_field_date extends v function options_form(&$form, &$form_state) { parent::options_form($form, $form_state); - $time = time(); $form['date_format'] = array( '#type' => 'select', '#title' => t('Date format'), '#options' => array( - 'small' => format_date($time, 'small'), - 'medium' => format_date($time, 'medium'), - 'large' => format_date($time, 'large'), + 'small' => format_date(REQUEST_TIME, 'small'), + 'medium' => format_date(REQUEST_TIME, 'medium'), + 'large' => format_date(REQUEST_TIME, 'large'), 'custom' => t('Custom'), 'raw time ago' => t('Time ago'), 'time ago' => t('Time ago (with "ago" appended)'), @@ -51,9 +50,9 @@ class views_handler_field_date extends v switch ($format) { case 'raw time ago': - return $value ? format_interval(time() - $value, is_numeric($custom_format) ? $custom_format : 2) : theme('views_nodate'); + return $value ? format_interval(REQUEST_TIME - $value, is_numeric($custom_format) ? $custom_format : 2) : theme('views_nodate'); case 'time ago': - return $value ? t('%time ago', array('%time' => format_interval(time() - $value, is_numeric($custom_format) ? $custom_format : 2))) : theme('views_nodate'); + return $value ? t('%time ago', array('%time' => format_interval(REQUEST_TIME - $value, is_numeric($custom_format) ? $custom_format : 2))) : theme('views_nodate'); case 'custom': return $value ? format_date($value, $format, $custom_format) : theme('views_nodate'); default: Index: handlers/views_handler_filter.inc =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/views/handlers/views_handler_filter.inc,v retrieving revision 1.6 diff -u -p -r1.6 views_handler_filter.inc --- handlers/views_handler_filter.inc 7 Apr 2009 23:05:29 -0000 1.6 +++ handlers/views_handler_filter.inc 20 May 2009 00:07:22 -0000 @@ -80,10 +80,10 @@ class views_handler_filter extends views if ($this->can_expose()) { $this->show_expose_button($form, $form_state); } - $form['op_val_start'] = array('#value' => '
'); + $form['op_val_start'] = array('#markup' => '
'); $this->show_operator_form($form, $form_state); $this->show_value_form($form, $form_state); - $form['op_val_end'] = array('#value' => '
'); + $form['op_val_end'] = array('#markup' => '
'); if ($this->can_expose()) { $this->show_expose_form($form, $form_state); } @@ -202,9 +202,7 @@ class views_handler_filter extends views '#submit' => array('views_ui_config_item_form_expose'), ); $form['expose_button']['markup'] = array( - '#prefix' => '
', - '#value' => t('This item is currently not exposed. If you expose it, users will be able to change the filter as they view it.'), - '#suffix' => '
', + '#markup' => '
' . t('This item is currently not exposed. If you expose it, users will be able to change the filter as they view it.') . '
', ); } else { @@ -214,9 +212,7 @@ class views_handler_filter extends views '#submit' => array('views_ui_config_item_form_expose'), ); $form['expose_button']['markup'] = array( - '#prefix' => '
', - '#value' => t('This item is currently exposed. If you hide it, users will not be able to change the filter as they view it.'), - '#suffix' => '
', + '#markup' => '
' . t('This item is currently exposed. If you hide it, users will not be able to change the filter as they view it.') . '
', ); } } @@ -259,23 +255,23 @@ class views_handler_filter extends views */ function expose_form(&$form, &$form_state) { $form['expose']['start_left'] = array( - '#value' => '
', + '#markup' => '
', ); $this->expose_form_left($form, $form_state); $form['expose']['end_left'] = array( - '#value' => '
', + '#markup' => '
', ); $form['expose']['start_checkboxes'] = array( - '#value' => '
', + '#markup' => '
', ); $this->expose_form_right($form, $form_state); $form['expose']['end_checkboxes'] = array( - '#value' => '
', + '#markup' => '
', ); } @@ -597,8 +593,7 @@ class views_handler_filter_broken extend function query() { /* No query to run */ } function options_form(&$form, &$form_state) { $form['markup'] = array( - '#prefix' => '
', - '#value' => t('The handler for this item is broken or missing and cannot be used. If a module provided the handler and was disabled, re-enabling the module may restore it. Otherwise, you should probably delete this item.'), + '#markup' => '
' . t('The handler for this item is broken or missing and cannot be used. If a module provided the handler and was disabled, re-enabling the module may restore it. Otherwise, you should probably delete this item.') . '
', ); } Index: handlers/views_handler_relationship.inc =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/views/handlers/views_handler_relationship.inc,v retrieving revision 1.1 diff -u -p -r1.1 views_handler_relationship.inc --- handlers/views_handler_relationship.inc 3 Sep 2008 19:21:28 -0000 1.1 +++ handlers/views_handler_relationship.inc 20 May 2009 00:07:22 -0000 @@ -137,8 +137,7 @@ class views_handler_relationship_broken function query() { /* No query to run */ } function options_form(&$form, &$form_state) { $form['markup'] = array( - '#prefix' => '
', - '#value' => t('The handler for this item is broken or missing and cannot be used. If a module provided the handler and was disabled, re-enabling the module may restore it. Otherwise, you should probably delete this item.'), + '#markup' => '
' . t('The handler for this item is broken or missing and cannot be used. If a module provided the handler and was disabled, re-enabling the module may restore it. Otherwise, you should probably delete this item.') . '
', ); } Index: handlers/views_handler_sort.inc =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/views/handlers/views_handler_sort.inc,v retrieving revision 1.1 diff -u -p -r1.1 views_handler_sort.inc --- handlers/views_handler_sort.inc 3 Sep 2008 19:21:28 -0000 1.1 +++ handlers/views_handler_sort.inc 20 May 2009 00:07:22 -0000 @@ -70,8 +70,7 @@ class views_handler_sort_broken extends function query() { /* No query to run */ } function options_form(&$form, &$form_state) { $form['markup'] = array( - '#prefix' => '
', - '#value' => t('The handler for this item is broken or missing and cannot be used. If a module provided the handler and was disabled, re-enabling the module may restore it. Otherwise, you should probably delete this item.'), + '#markup' => '
' . t('The handler for this item is broken or missing and cannot be used. If a module provided the handler and was disabled, re-enabling the module may restore it. Otherwise, you should probably delete this item.') . '
', ); } Index: help/api.html =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/views/help/api.html,v retrieving revision 1.5 diff -u -p -r1.5 api.html --- help/api.html 31 Jan 2009 18:16:26 -0000 1.5 +++ help/api.html 20 May 2009 00:07:22 -0000 @@ -14,7 +14,7 @@ There are two similar files, MODULENAME.
api
This must appear; it should be the oldest API version that your module can work with. If Views is currently running an older version of the API, it will ignore your module's views integration. This is a good thing, as it will prevent code crashes, at the expense of your module's functionality disappearing.
-You may find the current Views API version by calling views_api_version() which is implemented at the top of views.module. This version numbering starts at 2.0. Every time changes are made to the Views handlers and plugins or other aspects of the Views API, the number will tick up (by either .001, .01 .1 or 1 depending upon how major the changes are). Note that views_api_version() was introduced in Views 2.0-rc2 and may not exist prior to that version. You may use function_exists() to test to see if this function is there. +You may find the current Views API version by calling views_api_version() which is implemented at the top of views.module. This version numbering starts at 2.0. Every time changes are made to the Views handlers and plugins or other aspects of the Views API, the number will tick up (by either .001, .01 .1 or 1 depending upon how major the changes are). Note that views_api_version() was introduced in Views 2.0-rc2 and may not exist prior to that version. You may use drupal_function_exists() to test to see if this function is there.
Often these versions are basically compatible with each other and Views won't care if your module implements 2.000, 2.001, 2.002, etc. Your module can request that it won't work with any version older than a given version, however. Views will determine, itself, if a newer version will work.
Index: includes/admin.inc =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/views/includes/admin.inc,v retrieving revision 1.154 diff -u -p -r1.154 admin.inc --- includes/admin.inc 7 Apr 2009 20:48:28 -0000 1.154 +++ includes/admin.inc 20 May 2009 00:07:23 -0000 @@ -997,7 +997,7 @@ function template_preprocess_views_ui_ed if (isset($view->locked) && is_object($view->locked)) { $account = user_load($view->locked->uid); $vars['locked'] = theme('username', $account); - $vars['lock_age'] = format_interval(time() - $view->locked->updated); + $vars['lock_age'] = format_interval(REQUEST_TIME - $view->locked->updated); $vars['break'] = url('admin/build/views/break-lock/' . $view->name); } @@ -1799,9 +1799,7 @@ function views_ui_analyze_view_form(&$fo $messages = views_analyze_view($view); $form['analysis'] = array( - '#prefix' => '
', - '#suffix' => '
', - '#value' => views_analyze_format_result($view, $messages), + '#markup' => '
' . views_analyze_format_result($view, $messages) . '
', ); // Inform the standard button function that we want an OK button. @@ -2187,7 +2185,7 @@ function views_ui_add_item_form(&$form_s } else { $form['markup'] = array( - '#value' => '
' . t('There are no @types available to add.', array('@types' => $types[$type]['ltitle'])) . '
', + '#markup' => '
' . t('There are no @types available to add.', array('@types' => $types[$type]['ltitle'])) . '
', ); } views_ui_standard_form_buttons($form, $form_state, 'views_ui_add_item_form', t('Add')); @@ -2241,7 +2239,7 @@ function views_ui_config_item_form(&$for if ($item) { $handler = views_get_handler($item['table'], $item['field'], $type); if (empty($handler)) { - $form['markup'] = array('#value' => t("Error: handler for @table > @field doesn't exist!", array('@table' => $item['table'], '@field' => $item['field']))); + $form['markup'] = array('#markup' => t("Error: handler for @table > @field doesn't exist!", array('@table' => $item['table'], '@field' => $item['field']))); } else { $handler->init($view, $item); @@ -2307,7 +2305,7 @@ function views_ui_config_item_form(&$for else { $form['options']['relationship'] = array( '#type' => 'value', - '#value' => 'none', + '#markup' => 'none', ); } @@ -2417,7 +2415,7 @@ function views_ui_config_item_extra_form if ($item) { $handler = views_get_handler($item['table'], $item['field'], $type); if (empty($handler)) { - $form['markup'] = array('#value' => t("Error: handler for @table > @field doesn't exist!", array('@table' => $item['table'], '@field' => $item['field']))); + $form['markup'] = array('#markup' => t("Error: handler for @table > @field doesn't exist!", array('@table' => $item['table'], '@field' => $item['field']))); break; } else { @@ -2485,7 +2483,7 @@ function views_ui_change_style_form(&$fo if ($item) { $handler = views_get_handler($item['table'], $item['field'], $type); if (empty($handler)) { - $form['markup'] = array('#value' => t("Error: handler for @table > @field doesn't exist!", array('@table' => $item['table'], '@field' => $item['field']))); + $form['markup'] = array('#markup' => t("Error: handler for @table > @field doesn't exist!", array('@table' => $item['table'], '@field' => $item['field']))); break; } $handler->init($view, $item); @@ -2570,7 +2568,7 @@ function views_ui_config_style_form(&$fo if ($item) { $handler = views_get_handler($item['table'], $item['field'], $type); if (empty($handler)) { - $form['markup'] = array('#value' => t("Error: handler for @table > @field doesn't exist!", array('@table' => $item['table'], '@field' => $item['field']))); + $form['markup'] = array('#markup' => t("Error: handler for @table > @field doesn't exist!", array('@table' => $item['table'], '@field' => $item['field']))); break; } $handler->init($view, $item); @@ -2669,7 +2667,7 @@ function views_ui_disable_page($view) { function views_ui_admin_tools() { $form['clear_cache'] = array( '#type' => 'submit', - '#value' => t("Clear Views' cache"), + '#markup' => t("Clear Views' cache"), '#submit' => array('views_ui_tools_clear_cache'), ); @@ -2763,12 +2761,12 @@ function views_ui_tools_clear_cache() { function views_ui_config_item_form_rescan($form, &$form_state) { // Clear *all* theme registry entries: cache_clear_all('theme_registry:', 'cache', TRUE); - drupal_rebuild_theme_registry(); + drupal_theme_rebuild(); // The 'Theme: Information' page is about to be shown again. That page // analyzes the output of theme_get_registry(). However, this latter // function uses an internal cache (which was initialized before we - // called drupal_rebuild_theme_registry()) so it won't reflect the + // called drupal_theme_rebuild()) so it won't reflect the // current state of our theme registry. The only way to clear that cache // is to re-initialize the theme system: unset($GLOBALS['theme']); Index: includes/cache.inc =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/views/includes/cache.inc,v retrieving revision 1.24 diff -u -p -r1.24 cache.inc --- includes/cache.inc 17 Feb 2009 23:31:05 -0000 1.24 +++ includes/cache.inc 20 May 2009 00:07:23 -0000 @@ -230,7 +230,7 @@ function views_object_cache_get($obj, $n */ function views_object_cache_set($obj, $name, $cache) { views_object_cache_clear($obj, $name); - db_query("INSERT INTO {views_object_cache} (sid, obj, name, data, updated) VALUES ('%s', '%s', '%s', '%s', %d)", session_id(), $obj, $name, serialize($cache), time()); + db_query("INSERT INTO {views_object_cache} (sid, obj, name, data, updated) VALUES ('%s', '%s', '%s', '%s', %d)", session_id(), $obj, $name, serialize($cache), REQUEST_TIME); } /** @@ -258,7 +258,7 @@ function views_object_cache_clean($age = if (empty($age)) { $age = 86400 * 7; // 7 days } - db_query("DELETE FROM {views_object_cache} WHERE updated < %d", time() - $age); + db_query("DELETE FROM {views_object_cache} WHERE updated < %d", REQUEST_TIME - $age); } /** Index: includes/handlers.inc =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/views/includes/handlers.inc,v retrieving revision 1.109 diff -u -p -r1.109 handlers.inc --- includes/handlers.inc 10 Apr 2009 20:22:54 -0000 1.109 +++ includes/handlers.inc 20 May 2009 00:07:25 -0000 @@ -14,7 +14,8 @@ function _views_create_handler($definiti return; } - if (!class_exists($definition['handler']) && !views_include_handler($definition, $type)) { + // class_exists will automatically load the code file. + if (!class_exists($definition['handler'])) { return; } @@ -27,61 +28,6 @@ function _views_create_handler($definiti } /** - * Attempt to find the include file for a given handler from its definition. - * - * This will also attempt to include all parents, though we're maxing the - * parent chain to 10 to prevent infinite loops. - */ -function views_include_handler($definition, $type, $count = 0) { - // Do not proceed if the class already exists. - if (isset($definition['handler']) && class_exists($definition['handler'])) { - return TRUE; - } - - // simple infinite loop prevention. - if ($count > 10) { - vpr(t('Handler @handler include tried to loop infinitely!', array('@handler' => $definition['handler']))); - return FALSE; - } - - if (!isset($definition['path'])) { - if ($type == 'handler') { - $definition += views_fetch_handler_data($definition['handler']); - } - else { - $definition += views_fetch_plugin_data($type, $definition['handler']); - } - } - - if (!empty($definition['parent'])) { - if ($type == 'handler') { - $parent = views_fetch_handler_data($definition['parent']); - } - else { - $parent = views_fetch_plugin_data($type, $definition['parent']); - } - - if ($parent) { - $rc = views_include_handler($parent, $type, $count + 1); - // If the parent chain cannot be included, don't try; this will - // help alleviate problems with modules with cross dependencies. - if (!$rc) { - return FALSE; - } - } - } - - if (isset($definition['path']) && $definition['file']) { - $filename = './' . $definition['path'] . '/' . $definition['file']; - if (file_exists($filename)) { - require_once $filename; - } - } - - return class_exists($definition['handler']); -} - -/** * Prepare a handler's data by checking defaults and such. */ function _views_prepare_handler($definition, $data, $field) { Index: includes/plugins.inc =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/views/includes/plugins.inc,v retrieving revision 1.152 diff -u -p -r1.152 plugins.inc --- includes/plugins.inc 7 Jan 2009 23:31:12 -0000 1.152 +++ includes/plugins.inc 20 May 2009 00:07:25 -0000 @@ -12,7 +12,6 @@ function views_views_plugins() { $path = drupal_get_path('module', 'views') . '/js'; return array( - 'module' => 'views', // This just tells our themes are elsewhere. 'display' => array( 'parent' => array( // this isn't really a display but is necessary so the file can @@ -244,48 +243,24 @@ function views_views_plugins() { * @return Nested array of plugins, grouped by type. */ function views_discover_plugins() { - $cache = array('display' => array(), 'style' => array(), 'row' => array(), 'argument default' => array(), 'argument validator' => array(), 'access' => array()); + $cache = array( + 'display' => array(), + 'style' => array(), + 'row' => array(), + 'argument default' => array(), + 'argument validator' => array(), + 'access' => array() + ); + // Get plugins from all mdoules. foreach (module_implements('views_plugins') as $module) { - $function = $module . '_views_plugins'; - $result = $function(); + $result = module_invoke($module, 'views_plugins'; if (!is_array($result)) { continue; } - $module_dir = isset($result['module']) ? $result['module'] : $module; - // Setup automatic path/file finding for theme registration - if ($module_dir == 'views') { - $theme_path = drupal_get_path('module', $module_dir) . '/theme'; - $theme_file = 'theme.inc'; - $path = drupal_get_path('module', $module_dir) . '/plugins'; - } - else { - $theme_path = $path = drupal_get_path('module', $module_dir); - $theme_file = "$module.views.inc"; - } - foreach ($result as $type => $info) { - if ($type == 'module') { - continue; - } foreach ($info as $plugin => $def) { - $def['module'] = $module_dir; - if (!isset($def['theme path'])) { - $def['theme path'] = $theme_path; - } - if (!isset($def['theme file'])) { - $def['theme file'] = $theme_file; - } - if (!isset($def['path'])) { - $def['path'] = $path; - } - if (!isset($def['file'])) { - $def['file'] = $def['handler'] . '.inc'; - } - if (!isset($def['parent'])) { - $def['parent'] = 'parent'; - } // merge the new data in $cache[$type][$plugin] = $def; } Index: js/dependent.js =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/views/js/dependent.js,v retrieving revision 1.7 diff -u -p -r1.7 dependent.js --- js/dependent.js 7 Apr 2009 23:10:00 -0000 1.7 +++ js/dependent.js 20 May 2009 00:07:25 -0000 @@ -17,7 +17,7 @@ * - Checkboxes don't have their own id, so you need to add one in a div * around the checkboxes via #prefix and #suffix. You actually need to add TWO * divs because it's the parent that gets hidden. Also be sure to retain the - * 'expand_checkboxes' in the #process array, because the views process will + * 'form_process_checkboxes' in the #process array, because the views process will * override it. */ Index: modules/aggregator.views.inc =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/views/modules/aggregator.views.inc,v retrieving revision 1.2 diff -u -p -r1.2 aggregator.views.inc --- modules/aggregator.views.inc 7 Apr 2009 23:07:31 -0000 1.2 +++ modules/aggregator.views.inc 20 May 2009 00:07:25 -0000 @@ -293,13 +293,11 @@ function aggregator_views_handlers() { */ function aggregator_views_plugins() { return array( - 'module' => 'views', // This just tells our themes are elsewhere. 'row' => array( 'aggregator_rss' => array( 'title' => t('Aggregator item'), 'help' => t('Display the aggregator item using the data from the original source.'), 'handler' => 'views_plugin_row_aggregator_rss', - 'path' => drupal_get_path('module', 'views') . '/modules/aggregator', // not necessary for most modules 'theme' => 'views_view_row_rss', 'base' => array('aggregator_item'), // only works with 'node' as base. 'uses options' => TRUE, Index: modules/comment.views.inc =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/views/modules/comment.views.inc,v retrieving revision 1.32 diff -u -p -r1.32 comment.views.inc --- modules/comment.views.inc 8 Apr 2009 06:38:41 -0000 1.32 +++ modules/comment.views.inc 20 May 2009 00:07:25 -0000 @@ -394,13 +394,11 @@ function comment_views_data_alter(&$data */ function comment_views_plugins() { return array( - 'module' => 'views', // This just tells views our themes are in Views. 'row' => array( 'comment' => array( 'title' => t('Comment'), 'help' => t('Display the comment with standard comment view.'), 'handler' => 'views_plugin_row_comment_view', - 'path' => drupal_get_path('module', 'views') . '/modules/comment', // not necessary for most modules 'theme' => 'views_view_row_comment', 'base' => array('comments'), // only works with 'comment' as base. 'uses options' => TRUE, @@ -411,7 +409,6 @@ function comment_views_plugins() { 'title' => t('Comment'), 'help' => t('Display the comment as RSS.'), 'handler' => 'views_plugin_row_comment_rss', - 'path' => drupal_get_path('module', 'views') . '/modules/comment', // not necessary for most modules 'theme' => 'views_view_row_rss', 'base' => array('comments'), // only works with 'comment' as base. 'type' => 'feed', Index: modules/node.views.inc =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/views/modules/node.views.inc,v retrieving revision 1.93 diff -u -p -r1.93 node.views.inc --- modules/node.views.inc 8 Apr 2009 20:54:57 -0000 1.93 +++ modules/node.views.inc 20 May 2009 00:07:25 -0000 @@ -614,13 +614,11 @@ function node_views_handlers() { */ function node_views_plugins() { return array( - 'module' => 'views', // This just tells our themes are elsewhere. 'row' => array( 'node' => array( 'title' => t('Node'), 'help' => t('Display the node with standard node view.'), 'handler' => 'views_plugin_row_node_view', - 'path' => drupal_get_path('module', 'views') . '/modules/node', // not necessary for most modules 'theme' => 'views_view_row_node', 'base' => array('node'), // only works with 'node' as base. 'uses options' => TRUE, @@ -631,7 +629,6 @@ function node_views_plugins() { 'title' => t('Node'), 'help' => t('Display the node with standard node view.'), 'handler' => 'views_plugin_row_node_rss', - 'path' => drupal_get_path('module', 'views') . '/modules/node', // not necessary for most modules 'theme' => 'views_view_row_rss', 'base' => array('node'), // only works with 'node' as base. 'uses options' => TRUE, @@ -643,14 +640,12 @@ function node_views_plugins() { 'node' => array( 'title' => t('Node'), 'handler' => 'views_plugin_argument_validate_node', - 'path' => drupal_get_path('module', 'views') . '/modules/node', // not necessary for most modules ), ), 'argument default' => array( 'node' => array( 'title' => t('Node ID from URL'), 'handler' => 'views_plugin_argument_default_node', - 'path' => drupal_get_path('module', 'views') . '/modules/node', // not necessary for most modules 'parent' => 'fixed', // so that the parent class is included ), ), Index: modules/search.views.inc =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/views/modules/search.views.inc,v retrieving revision 1.17 diff -u -p -r1.17 search.views.inc --- modules/search.views.inc 23 Feb 2009 23:30:38 -0000 1.17 +++ modules/search.views.inc 20 May 2009 00:07:25 -0000 @@ -161,13 +161,11 @@ function search_views_plugins() { return; // DISABLED. This currently doesn't work. return array( - 'module' => 'views', // This just tells our themes are elsewhere. 'row' => array( 'search' => array( 'title' => t('Search'), 'help' => t('Display the results with standard search view.'), 'handler' => 'views_plugin_row_search_view', - 'path' => drupal_get_path('module', 'views') . '/modules/search', // not necessary for most modules 'theme' => 'views_view_row_search', 'base' => array('node'), // only works with 'node' as base. 'type' => 'normal', Index: modules/taxonomy.views.inc =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/views/modules/taxonomy.views.inc,v retrieving revision 1.50 diff -u -p -r1.50 taxonomy.views.inc --- modules/taxonomy.views.inc 8 Jan 2009 00:36:02 -0000 1.50 +++ modules/taxonomy.views.inc 20 May 2009 00:07:25 -0000 @@ -370,12 +370,10 @@ function taxonomy_views_handlers() { */ function taxonomy_views_plugins() { return array( - 'module' => 'views', // This just tells our themes are elsewhere. 'argument validator' => array( 'taxonomy_term' => array( 'title' => t('Taxonomy term'), 'handler' => 'views_plugin_argument_validate_taxonomy_term', - 'path' => drupal_get_path('module', 'views') . '/modules/taxonomy', ), ), ); Index: modules/user.views.inc =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/views/modules/user.views.inc,v retrieving revision 1.56 diff -u -p -r1.56 user.views.inc --- modules/user.views.inc 6 Feb 2009 20:54:53 -0000 1.56 +++ modules/user.views.inc 20 May 2009 00:07:25 -0000 @@ -297,18 +297,15 @@ function user_views_data() { */ function user_views_plugins() { return array( - 'module' => 'views', // This just tells our themes are elsewhere. 'argument default' => array( 'user' => array( 'title' => t('User ID from URL'), 'handler' => 'views_plugin_argument_default_user', - 'path' => drupal_get_path('module', 'views') . '/modules/user', // not necessary for most modules 'parent' => 'fixed', // so that the parent class is included ), 'current_user' => array( 'title' => t('User ID from logged in user'), 'handler' => 'views_plugin_argument_default_current_user', - 'path' => drupal_get_path('module', 'views') . '/modules/user', // not necessary for most modules 'parent' => 'fixed', // so that the parent class is included ), ), @@ -316,7 +313,6 @@ function user_views_plugins() { 'user' => array( 'title' => t('User'), 'handler' => 'views_plugin_argument_validate_user', - 'path' => drupal_get_path('module', 'views') . '/modules/user', // not necessary for most modules ), ), ); Index: modules/node/views_handler_filter_history_user_timestamp.inc =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/views/modules/node/views_handler_filter_history_user_timestamp.inc,v retrieving revision 1.1 diff -u -p -r1.1 views_handler_filter_history_user_timestamp.inc --- modules/node/views_handler_filter_history_user_timestamp.inc 3 Sep 2008 19:21:29 -0000 1.1 +++ modules/node/views_handler_filter_history_user_timestamp.inc 20 May 2009 00:07:25 -0000 @@ -15,7 +15,7 @@ class views_handler_filter_history_user_ // Hey, Drupal kills old history, so nodes that haven't been updated // since NODE_NEW_LIMIT are bzzzzzzzt outta here! - $limit = time() - NODE_NEW_LIMIT; + $limit = REQUEST_TIME - NODE_NEW_LIMIT; $this->ensure_my_table(); $field = "$this->table_alias.$this->real_field"; Index: modules/node/views_plugin_argument_validate_node.inc =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/views/modules/node/views_plugin_argument_validate_node.inc,v retrieving revision 1.1 diff -u -p -r1.1 views_plugin_argument_validate_node.inc --- modules/node/views_plugin_argument_validate_node.inc 3 Sep 2008 19:21:29 -0000 1.1 +++ modules/node/views_plugin_argument_validate_node.inc 20 May 2009 00:07:25 -0000 @@ -30,7 +30,7 @@ class views_plugin_argument_validate_nod '#options' => $options, '#default_value' => $arg, '#description' => t('If you wish to validate for specific node types, check them; if none are checked, all nodes will pass.'), - '#process' => array('expand_checkboxes', 'views_process_dependency'), + '#process' => array('form_process_checkboxes', 'views_process_dependency'), '#dependency' => array('edit-options-validate-type' => array($this->id)), ); Index: modules/taxonomy/views_handler_field_term_node_tid.inc =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/views/modules/taxonomy/views_handler_field_term_node_tid.inc,v retrieving revision 1.3 diff -u -p -r1.3 views_handler_field_term_node_tid.inc --- modules/taxonomy/views_handler_field_term_node_tid.inc 7 Apr 2009 22:02:40 -0000 1.3 +++ modules/taxonomy/views_handler_field_term_node_tid.inc 20 May 2009 00:07:25 -0000 @@ -55,7 +55,7 @@ class views_handler_field_term_node_tid '#title' => t('Vocabularies'), '#options' => $options, '#default_value' => $this->options['vids'], - '#process' => array('expand_checkboxes', 'views_process_dependency'), + '#process' => array('form_process_checkboxes', 'views_process_dependency'), '#dependency' => array('edit-options-limit' => array(TRUE)), ); } Index: modules/taxonomy/views_handler_filter_term_node_tid.inc =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/views/modules/taxonomy/views_handler_filter_term_node_tid.inc,v retrieving revision 1.8 diff -u -p -r1.8 views_handler_filter_term_node_tid.inc --- modules/taxonomy/views_handler_filter_term_node_tid.inc 7 Apr 2009 23:21:01 -0000 1.8 +++ modules/taxonomy/views_handler_filter_term_node_tid.inc 20 May 2009 00:07:25 -0000 @@ -44,7 +44,7 @@ class views_handler_filter_term_node_tid } $form['markup_start'] = array( - '#value' => '
', + '#markup' => '
', ); $form['type'] = array( @@ -63,7 +63,7 @@ class views_handler_filter_term_node_tid ); $form['markup_end'] = array( - '#value' => '
', + '#markup' => '
', ); } @@ -71,9 +71,7 @@ class views_handler_filter_term_node_tid $vocabulary = taxonomy_vocabulary_load($this->options['vid']); if (empty($vocabulary) && $this->options['limit']) { $form['markup'] = array( - '#prefix' => '
', - '#suffix' => '
', - '#value' => t('An invalid vocabulary is selected. Please change it in the options.'), + '#markup' => '
' . t('An invalid vocabulary is selected. Please change it in the options.') . '
', ); return; } Index: modules/taxonomy/views_plugin_argument_validate_taxonomy_term.inc =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/views/modules/taxonomy/views_plugin_argument_validate_taxonomy_term.inc,v retrieving revision 1.4 diff -u -p -r1.4 views_plugin_argument_validate_taxonomy_term.inc --- modules/taxonomy/views_plugin_argument_validate_taxonomy_term.inc 8 Apr 2009 05:10:07 -0000 1.4 +++ modules/taxonomy/views_plugin_argument_validate_taxonomy_term.inc 20 May 2009 00:07:25 -0000 @@ -24,7 +24,7 @@ class views_plugin_argument_validate_tax '#options' => $options, '#default_value' => isset($this->argument->options['validate_argument_vocabulary']) ? $this->argument->options['validate_argument_vocabulary'] : array(), '#description' => t('If you wish to validate for specific vocabularies, check them; if none are checked, all terms will pass.'), - '#process' => array('expand_checkboxes', 'views_process_dependency'), + '#process' => array('form_process_checkboxes', 'views_process_dependency'), '#dependency' => array('edit-options-validate-type' => array($this->id)), ); Index: modules/user/views_plugin_argument_validate_user.inc =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/views/modules/user/views_plugin_argument_validate_user.inc,v retrieving revision 1.2 diff -u -p -r1.2 views_plugin_argument_validate_user.inc --- modules/user/views_plugin_argument_validate_user.inc 17 Feb 2009 23:32:33 -0000 1.2 +++ modules/user/views_plugin_argument_validate_user.inc 20 May 2009 00:07:25 -0000 @@ -26,7 +26,7 @@ class views_plugin_argument_validate_use 'either' => t('Allow both numeric UIDs and string usernames'), ), '#default_value' => $this->argument->options['validate_user_argument_type'], - '#process' => array('expand_radios', 'views_process_dependency'), + '#process' => array('form_process_radios', 'views_process_dependency'), '#dependency' => array('edit-options-validate-type' => array($this->id)), '#prefix' => '
', '#suffix' => '
', @@ -48,7 +48,7 @@ class views_plugin_argument_validate_use '#options' => user_roles(TRUE), '#default_value' => $this->argument->options['validate_user_roles'], '#description' => t('If no roles are selected, users from any role will be allowed.'), - '#process' => array('expand_checkboxes', 'views_process_dependency'), + '#process' => array('form_process_checkboxes', 'views_process_dependency'), '#dependency' => array( 'edit-options-validate-type' => array($this->id), 'edit-options-validate-user-restrict-roles' => array(1), Index: plugins/views_plugin_display.inc =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/views/plugins/views_plugin_display.inc,v retrieving revision 1.20 diff -u -p -r1.20 views_plugin_display.inc --- plugins/views_plugin_display.inc 7 Apr 2009 22:48:04 -0000 1.20 +++ plugins/views_plugin_display.inc 20 May 2009 00:07:26 -0000 @@ -794,9 +794,7 @@ class views_plugin_display extends views case 'use_ajax': $form['#title'] .= t('Use AJAX when available to load this view'); $form['description'] = array( - '#prefix' => '
', - '#suffix' => '
', - '#value' => t('If set, this view will use an AJAX mechanism for paging, table sorting and exposed filters. This means the entire page will not refresh. It is not recommended that you use this if this view is the main content of the page as it will prevent deep linking to specific pages, but it is very useful for side content.'), + '#markup' => '
' . t('If set, this view will use an AJAX mechanism for paging, table sorting and exposed filters. This means the entire page will not refresh. It is not recommended that you use this if this view is the main content of the page as it will prevent deep linking to specific pages, but it is very useful for side content.') . '
', ); $form['use_ajax'] = array( '#type' => 'radios', @@ -869,9 +867,7 @@ class views_plugin_display extends views $access_plugin = views_fetch_plugin_data('access', $access['type']); if (!empty($access_plugin['uses options'])) { $form['markup'] = array( - '#prefix' => '
', - '#suffix' => '
', - '#value' => t('You may also adjust the !settings for the currently selected style by clicking on the icon.', array('!settings' => $this->option_link(t('settings'), 'access_options'))), + '#markup' => '
' . t('You may also adjust the !settings for the currently selected style by clicking on the icon.', array('!settings' => $this->option_link(t('settings'), 'access_options'))) . '
', ); } @@ -949,9 +945,7 @@ class views_plugin_display extends views $style_plugin = views_fetch_plugin_data('style', $this->get_option('style_plugin')); if (!empty($style_plugin['uses options'])) { $form['markup'] = array( - '#prefix' => '
', - '#suffix' => '
', - '#value' => t('You may also adjust the !settings for the currently selected style by clicking on the icon.', array('!settings' => $this->option_link(t('settings'), 'style_options'))), + '#markup' => '
' . t('You may also adjust the !settings for the currently selected style by clicking on the icon.', array('!settings' => $this->option_link(t('settings'), 'style_options'))) . '
', ); } @@ -994,9 +988,7 @@ class views_plugin_display extends views $row_plugin = views_fetch_plugin_data('row', $this->get_option('row_plugin')); if (!empty($row_plugin['uses options'])) { $form['markup'] = array( - '#prefix' => '
', - '#suffix' => '
', - '#value' => t('You may also adjust the !settings for the currently selected row style by clicking on the icon.', array('!settings' => $this->option_link(t('settings'), 'row_options'))), + '#markup' => '
' . t('You may also adjust the !settings for the currently selected row style by clicking on the icon.', array('!settings' => $this->option_link(t('settings'), 'row_options'))) . '
', ); } @@ -1064,15 +1056,11 @@ class views_plugin_display extends views } $form['important'] = array( - '#prefix' => '
', - '#suffix' => '
', - '#value' => '

' . t('This section lists all possible templates for the display plugin and for the style plugins, ordered roughly from the least specific to the most specific. The active template for each plugin -- which is the most specific template found on the system -- is highlighted in bold.') . '

', + '#markup' => '

' . t('This section lists all possible templates for the display plugin and for the style plugins, ordered roughly from the least specific to the most specific. The active template for each plugin -- which is the most specific template found on the system -- is highlighted in bold.') . '

', ); $form['analysis'] = array( - '#prefix' => '
', - '#suffix' => '
', - '#value' => theme('item_list', $funcs), + '#markup' => '
' . theme('item_list', $funcs) . '
', ); $form['rescan_button'] = array( @@ -1085,9 +1073,7 @@ class views_plugin_display extends views '#submit' => array('views_ui_config_item_form_rescan'), ); $form['rescan_button']['markup'] = array( - '#prefix' => '
', - '#suffix' => '
', - '#value' => t("Important! When adding, removing, or renaming template files, it is necessary to make Drupal aware of the changes by making it rescan the files on your system. By clicking this button you clear Drupal's theme registry and thereby trigger this rescanning process. The highlighted templates above will then reflect the new state of your system."), + '#markup' => '
' . t("Important! When adding, removing, or renaming template files, it is necessary to make Drupal aware of the changes by making it rescan the files on your system. By clicking this button you clear Drupal's theme registry and thereby trigger this rescanning process. The highlighted templates above will then reflect the new state of your system.") . '
', ); $form_state['ok_button'] = TRUE; @@ -1112,9 +1098,7 @@ class views_plugin_display extends views } $form['analysis'] = array( - '#prefix' => '
', - '#suffix' => '
', - '#value' => $output, + '#markup' => '
' . $output . '
', ); $form_state['ok_button'] = TRUE; @@ -1141,9 +1125,7 @@ class views_plugin_display extends views } $form['analysis'] = array( - '#prefix' => '
', - '#suffix' => '
', - '#value' => $output, + '#markup' => '
' . $output . '
', ); $form_state['ok_button'] = TRUE; @@ -1170,9 +1152,7 @@ class views_plugin_display extends views } $form['analysis'] = array( - '#prefix' => '
', - '#suffix' => '
', - '#value' => $output, + '#markup' => '
' . $output . '
', ); $form_state['ok_button'] = TRUE; @@ -1188,9 +1168,7 @@ class views_plugin_display extends views $output .= '
' . check_plain(file_get_contents(drupal_get_path('module', 'views') . '/theme/views-view-field.tpl.php')) . '
'; $form['analysis'] = array( - '#prefix' => '
', - '#suffix' => '
', - '#value' => $output, + '#markup' => '
' . $output . '
', ); $form_state['ok_button'] = TRUE; break; @@ -1198,9 +1176,7 @@ class views_plugin_display extends views case 'exposed_block': $form['#title'] .= t('Put the exposed form in a block'); $form['description'] = array( - '#prefix' => '
', - '#suffix' => '
', - '#value' => t('If set, any exposed widgets will not appear with this view. Instead, a block will be made available to the Drupal block administration system, and the exposed form will appear there. Note that this block must be enabled manually, Views will not enable it for you.'), + '#markup' => '
' . t('If set, any exposed widgets will not appear with this view. Instead, a block will be made available to the Drupal block administration system, and the exposed form will appear there. Note that this block must be enabled manually, Views will not enable it for you.') . '
', ); $form['exposed_block'] = array( '#type' => 'radios', @@ -1400,9 +1376,7 @@ class views_plugin_display extends views '#submit' => array('views_ui_edit_display_form_override'), ); $form['override']['markup'] = array( - '#prefix' => '
', - '#value' => theme('advanced_help_topic', 'views', 'overrides') . t('Status: using default values.'), - '#suffix' => '
', + '#markup' => '
' . theme('advanced_help_topic', 'views', 'overrides') . t('Status: using default values.') . '
', ); $form_state['update_name'] = t('Update default display'); @@ -1414,9 +1388,7 @@ class views_plugin_display extends views '#submit' => array('views_ui_edit_display_form_override'), ); $form['override']['markup'] = array( - '#prefix' => '
', - '#value' => theme('advanced_help_topic', 'views', 'overrides') . t('Status: using overridden values.'), - '#suffix' => '
', + '#markup' => '
' . theme('advanced_help_topic', 'views', 'overrides') . t('Status: using overridden values.') . '
', ); $form_state['update_name'] = NULL; Index: plugins/views_plugin_display_page.inc =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/views/plugins/views_plugin_display_page.inc,v retrieving revision 1.5 diff -u -p -r1.5 views_plugin_display_page.inc --- plugins/views_plugin_display_page.inc 27 Jan 2009 18:40:31 -0000 1.5 +++ plugins/views_plugin_display_page.inc 20 May 2009 00:07:26 -0000 @@ -305,9 +305,7 @@ class views_plugin_display_page extends ); $form['menu']['name-warning'] = array( '#type' => 'markup', - '#prefix' => '
', - '#value' => t("Warning: Changing this item's menu will not work reliably in Drupal 6.4 or earlier. Please upgrade your copy of Drupal at !url.", array('!url' => l('drupal.org', 'http://drupal.org/project/Drupal+project'))), - '#suffix' => '
', + '#markup' => '
' . t("Warning: Changing this item's menu will not work reliably in Drupal 6.4 or earlier. Please upgrade your copy of Drupal at !url.", array('!url' => l('drupal.org', 'http://drupal.org/project/Drupal+project'))) . '
', '#process' => array('views_process_dependency'), '#dependency' => array('radio:menu[type]' => array('normal')), '#access' => version_compare(VERSION, '6.5', '<'), @@ -331,7 +329,7 @@ class views_plugin_display_page extends '#value' => $menu['name'], ); $form['menu']['markup'] = array( - '#value' => t('Menu selection requires the activation of menu module.'), + '#markup' => t('Menu selection requires the activation of menu module.'), ); } $form['menu']['weight'] = array( @@ -352,9 +350,7 @@ class views_plugin_display_page extends } $form['tab_markup'] = array( - '#prefix' => '
', - '#suffix' => '
', - '#value' => t('When providing a menu item as a tab, Drupal needs to know what the parent menu item of that tab will be. Sometimes the parent will already exist, but other times you will need to have one created. The path of a parent item will always be the same path with the last part left off. i.e, if the path to this view is foo/bar/baz, the parent path would be foo/bar.'), + '#markup' => '
' . t('When providing a menu item as a tab, Drupal needs to know what the parent menu item of that tab will be. Sometimes the parent will already exist, but other times you will need to have one created. The path of a parent item will always be the same path with the last part left off. i.e, if the path to this view is foo/bar/baz, the parent path would be foo/bar.') . '
', ); $form['tab_options'] = array( Index: plugins/views_plugin_style_table.inc =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/views/plugins/views_plugin_style_table.inc,v retrieving revision 1.5 diff -u -p -r1.5 views_plugin_style_table.inc --- plugins/views_plugin_style_table.inc 15 Oct 2008 22:25:36 -0000 1.5 +++ plugins/views_plugin_style_table.inc 20 May 2009 00:07:26 -0000 @@ -123,9 +123,7 @@ class views_plugin_style_table extends v $handlers = $this->display->handler->get_handlers('field'); if (empty($handlers)) { $form['error_markup'] = array( - '#value' => t('You need at least one field before you can configure your table settings'), - '#prefix' => '
', - '#suffix' => '
', + '#markup' => '
' . t('You need at least one field before you can configure your table settings') . '
', ); return; } @@ -218,7 +216,7 @@ class views_plugin_style_table extends v // markup for the field name $form['info'][$field]['name'] = array( - '#value' => $field_names[$field], + '#markup' => $field_names[$field], ); } @@ -232,9 +230,7 @@ class views_plugin_style_table extends v ); $form['description_markup'] = array( - '#prefix' => '
', - '#suffix' => '
', - '#value' => t('Place fields into columns; you may combine multiple fields into the same column. If you do, the separator in the column specified will be used to separate the fields. Check the sortable box to make that column click sortable, and check the default sort radio to determine which column will be sorted by default, if any. You may control column order and field labels in the fields section.'), + '#markup' => '
' . t('Place fields into columns; you may combine multiple fields into the same column. If you do, the separator in the column specified will be used to separate the fields. Check the sortable box to make that column click sortable, and check the default sort radio to determine which column will be sorted by default, if any. You may control column order and field labels in the fields section.') . '
', ); } } Index: views_export/views_export.info =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/views/views_export/views_export.info,v retrieving revision 1.1 diff -u -p -r1.1 views_export.info --- views_export/views_export.info 12 Jun 2008 16:17:25 -0000 1.1 +++ views_export/views_export.info 20 May 2009 00:07:26 -0000 @@ -4,4 +4,5 @@ name = Views exporter description = Allows exporting multiple views at once. package = "Views" dependencies[] = views -core = 6.x +core = 7.x +files[] = views_export.module Index: views_export/views_export.module =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/views/views_export/views_export.module,v retrieving revision 1.4 diff -u -p -r1.4 views_export.module --- views_export/views_export.module 8 Apr 2009 16:11:51 -0000 1.4 +++ views_export/views_export.module 20 May 2009 00:07:26 -0000 @@ -28,7 +28,9 @@ function views_export_menu() { return $items; } - +/** + * Implementation of hook_theme(). + */ function views_export_theme() { return array( 'views_export_export_form' => array( @@ -41,7 +43,12 @@ function views_export_theme() { * Implementation of hook_perm(). */ function views_export_perm() { - return array('use views exporter'); + return array( + 'use views exporter' => array( + 'title' => t('Use Views exporter'), + 'description' => t('Use the Views exporter.'), + ), + ); } /**