From d5a3d14dc141dc7c7e6e2a00e8198d8181a16ffd Mon Sep 17 00:00:00 2001
From: xjm <xjm@65776.no-reply.drupal.org>
Date: Wed, 10 Oct 2012 10:52:33 -0500
Subject: [PATCH] Issue #1808756 by xjm: Remove documentation of obsolete
 hooks.

---
 views.api.php | 380 ++------------------------------------------------
 1 file changed, 8 insertions(+), 372 deletions(-)

diff --git a/views.api.php b/views.api.php
index 3412f5545b21..149abfcb5136 100644
--- a/views.api.php
+++ b/views.api.php
@@ -5,31 +5,6 @@
  * Describe hooks provided by the Views module.
  */
 
-/**
- * @mainpage Views 3 API Manual
- *
- * Much of this information is actually stored in the advanced help; please
- * check the API topic. This help will primarily be aimed at documenting
- * classes and function calls.
- *
- * Topics:
- * - @link views_lifetime The life of a view @endlink
- * - @link views_hooks Views hooks @endlink
- * - @link views_handlers About Views handlers @endlink
- * - @link views_plugins About Views plugins @endlink
- * - @link views_templates Views template files @endlink
- * - @link views_module_handlers Views module handlers @endlink
- */
-
-/**
- * @defgroup views_lifetime The life of a view
- * @{
- * This page explains the basic cycle of a view and what processes happen.
- *
- * @todo.
- * @}
- */
-
 /**
  * @defgroup views_handlers About Views handlers
  * @{
@@ -186,98 +161,16 @@
  *   horizontally. This means that you can add options and do stuff on all
  *   views displays. One theoretical example is metatags for views.
  *
- * Plugins are registered by implementing hook_views_plugins() in your
- * modulename.views.inc file and returning an array of data.
- * For examples please look at views_views_plugins() in
- * views/includes/plugins.inc as it has examples for all of them.
- *
- * Similar to handlers, make sure that you add your plugin files to the
- * module.info file.
- *
- * The array defining plugins will look something like this:
- * @code
- * return array(
- *   'display' => array(
- *     // ... list of display plugins,
- *    ),
- *   'style' => array(
- *     // ... list of style plugins,
- *    ),
- *   'row' => array(
- *     // ... list of row style plugins,
- *    ),
- *   'argument default' => array(
- *     // ... list of argument default plugins,
- *    ),
- *   'argument validator' => array(
- *     // ... list of argument validator plugins,
- *    ),
- *    'access' => array(
- *     // ... list of access plugins,
- *    ),
- *    'query' => array(
- *      // ... list of query plugins,
- *     ),,
- *    'cache' => array(
- *      // ... list of cache plugins,
- *     ),,
- *    'pager' => array(
- *      // ... list of pager plugins,
- *     ),,
- *    'exposed_form' => array(
- *      // ... list of exposed_form plugins,
- *     ),,
- *    'localization' => array(
- *      // ... list of localization plugins,
- *     ),
- *    'display_extender' => array(
- *      // ... list of display extender plugins,
- *     ),
- * );
- * @endcode
- *
- * Each plugin will be registered with an identifier for the plugin, plus a
- * fairly lengthy list of items that can define how and where the plugin is
- * used. Here is an example of a row style plugin from Views core:
- * @code
- *     '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.
- *       'type' => 'normal',
- *     ),
- * @endcode
- *
- * Of particular interest is the *path* directive, which works a little
- * differently from handler registration; each plugin must define its own path,
- * rather than relying on a global info for the paths. For example:
- * @code
- *    'feed' => array(
- *      'title' => t('Feed'),
- *      'help' => t('Display the view as a feed, such as an RSS feed.'),
- *      'handler' => 'views_plugin_display_feed',
- *      'uses_hook_menu' => TRUE,
- *      'use_ajax' => FALSE,
- *      'use_pager' => FALSE,
- *      'accept_attachments' => FALSE,
- *      'admin' => t('Feed'),
- *     ),
- * @endcode
- *
- * Please be sure to prefix your plugin identifiers with your module name to
- * ensure namespace safety; after all, two different modules could try to
- * implement the 'grid2' plugin, and that would cause one plugin to completely
- * fail.
+ * Plugins are registered by extending one of the Views base plugin classes
+ * and defining settings in the plugin annotation.
  *
- * @todo Finish this document.
+ * @todo Document how to use annotations and what goes in them.
+ * @todo Add @ingroup to all the base plugins for this group.
+ * @todo Add a separate @ingroup for all plugins?
+ * @todo Document specific options on the appropriate plugin base classes.
+ * @todo Add examples.
  *
- * See also:
- * - @link views_display_plugins Views display plugins @endlink
- * - @link views_style_plugins Views style plugins @endlink
- * - @link views_row_plugins Views row plugins @endlink
+ * @see Drupal\views\Plugin\views\PluginBase
  */
 
 /**
@@ -496,263 +389,6 @@ function hook_views_data_alter(array &$data) {
   // Note that the $data array is not returned – it is modified by reference.
 }
 
-/**
- * Describes plugins defined by the module.
- *
- * This hook should be placed in MODULENAME.views.inc and it will be
- * auto-loaded. MODULENAME.views.inc must be in the directory specified by the
- * 'path' key returned by MODULENAME_views_api(), or the same directory as the
- * .module file, if 'path' is unspecified.
- *
- * @return
- *   An array on the form $plugins['PLUGIN TYPE']['PLUGIN NAME']. The plugin
- *   must be one of row, display, display_extender, style, argument default,
- *   argument validator, access, query, cache, pager, exposed_form or
- *   localization. The plugin name should be prefixed with your module name.
- *   The value for each entry is an associateive array that may contain the
- *   following entries:
- *   - Used by all plugin types:
- *     - title (required): The name of the plugin, as shown in Views. Wrap in
- *       t().
- *     - handler (required): The name of the file containing the class
- *       describing the handler, which must also be the name of the handler's
- *       class.
- *     - path: Path to the handler. Only required if the handler is not placed
- *       in the same folder as the .module file or in the subfolder 'views'.
- *     - parent: The name of the plugin this plugin extends. Since Drupal 7 this
- *       is no longer required, but may still be useful from a code readability
- *       perspective.
- *     - no_ui: Set to TRUE to denote that the plugin doesn't appear to be
- *       selectable in the ui, though on the api side they still exists.
- *     - help: A short help text, wrapped in t() used as description on the plugin settings form.
- *     - theme: The name of a theme suggestion to use for the display.
- *     - js: An array with paths to js files that should be included for the
- *       display. Note that the path should be relative Drupal root, not module
- *       root.
- *     - type: Each plugin can specify a type parameter to group certain
- *       plugins together. For example all row plugins related to feeds are
- *       grouped together, because a rss style plugin only accepts feed row
- *       plugins.
- *
- *   - Used by display plugins:
- *     - admin: The administrative name of the display, as displayed on the
- *       Views overview and also used as default name for new displays. Wrap in
- *       t().
- *     - no remove: Set to TRUE to make the display non-removable. (Basically
- *       only used for the master/default display.)
- *     - use_ajax: Set to TRUE to allow AJAX loads in the display. If it's
- *       disabled there will be no ajax option in the ui.
- *     - use_pager: Set to TRUE to allow paging in the display.
- *     - use_more: Set to TRUE to allow the 'use_more' setting in the display.
- *     - accept_attachments: Set to TRUE to allow attachment displays to be
- *       attached to this display type.
- *     - contextual_links_locations: An array with places where contextual links
- *       should be added. Can for example be 'page' or 'block'. If you don't
- *       specify it there will be contextual links around the rendered view.
- *     - uses_hook_menu: Set to TRUE to have the display included by
- *       views_menu_alter(). views_menu_alter executes then execute_hook_menu
- *       on the display object.
- *     - uses_hook_block: Set to TRUE to have the display included by
- *       views_block_info().
- *     - theme: The name of a theme suggestion to use for the display.
- *     - js: An array with paths to js files that should be included for the
- *       display. Note that the path should be relative Drupal root, not module
- *       root.
- *
- *   - Used by style plugins:
- *     - uses_row_plugin: Set to TRUE to allow row plugins for this style.
- *     - uses_row_class: Set to TRUE to allow the CSS class settings for rows.
- *     - uses_fields: Set to TRUE to have the style plugin accept field
- *       handlers.
- *     - uses grouping: Set to TRUE to allow the grouping settings for rows.
- *     - even empty: May have the value 'even empty' to tell Views that the style
- *       should be rendered even if there are no results.
- *
- *   - Used by row plugins:
- *     - uses_fields: Set to TRUE to have the row plugin accept field handlers.
- */
-function hook_views_plugins() {
-  $plugins = array();
-  $plugins['argument validator'] = array(
-    'taxonomy_term' => array(
-      'title' => t('Taxonomy term'),
-      'handler' => 'views_plugin_argument_validate_taxonomy_term',
-      // Declaring path explicitly not necessary for most modules.
-      'path' => drupal_get_path('module', 'views') . '/modules/taxonomy',
-    ),
-  );
-
-  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', // not necessary for most modules
-      ),
-    ),
-    'argument default' => array(
-      'taxonomy_tid' => array(
-        'title' => t('Taxonomy term ID from URL'),
-        'handler' => 'views_plugin_argument_default_taxonomy_tid',
-        'path' => drupal_get_path('module', 'views') . '/modules/taxonomy',
-        'parent' => 'fixed',
-      ),
-    ),
-  );
-}
-
-/**
- * Alter existing plugins data, defined by modules.
- *
- * @see hook_views_plugins()
- */
-function hook_views_plugins_alter(&$plugins) {
-  // Add apachesolr to the base of the node row plugin.
-  $plugins['row']['node']['base'][] = 'apachesolr';
-}
-
-/**
- * Register View API information.
- *
- * This is required for your module to have its include files loaded; for
- * example, when implementing hook_views_default_views().
- *
- * @return
- *   An array with the following possible keys:
- *   - api: (required) The version of the Views API the module implements.
- *   - path: (optional) If includes are stored somewhere other than within the
- *     root module directory, specify its path here.
- *   - template path: (optional) A path where the module has stored it's views
- *     template files. When you have specificed this key views automatically
- *     uses the template files for the views. You can use the same naming
- *     conventions like for normal views template files.
- */
-function hook_views_api() {
-  return array(
-    'api' => 3,
-    'path' => drupal_get_path('module', 'example') . '/includes/views',
-    'template path' => drupal_get_path('module', 'example') . '/themes',
-  );
-}
-
-/**
- * This hook allows modules to provide their own views which can either be used
- * as-is or as a "starter" for users to build from.
- *
- * This hook should be placed in MODULENAME.views.inc and it will be
- * auto-loaded. MODULENAME.views.inc must be in the directory specified by the
- * 'path' key returned by MODULENAME_views_api(), or the same directory as the
- * .module file, if 'path' is unspecified.
- *
- * The $view->disabled boolean flag indicates whether the View should be
- * enabled (FALSE) or disabled (TRUE) by default.
- *
- * @return
- *   An associative array containing the structures of views, as generated from
- *   the Export tab, keyed by the view name. A best practice is to go through
- *   and add t() to all title and label strings, with the exception of menu
- *   strings.
- */
-function hook_views_default_views() {
-  // Begin copy and paste of output from the Export tab of a view.
-  $view = new Drupal\views\ViewExecutable();
-  $view->name = 'frontpage';
-  $view->description = 'Emulates the default Drupal front page; you may set the default home page path to this view to make it your front page.';
-  $view->tag = 'default';
-  $view->base_table = 'node';
-  $view->human_name = 'Front page';
-  $view->core = 8;
-  $view->api_version = '3.0';
-  $view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */
-
-  /* Display: Master */
-  $handler = $view->newDisplay('default', 'Master', 'default');
-  $handler->display['display_options']['access']['type'] = 'none';
-  $handler->display['display_options']['cache']['type'] = 'none';
-  $handler->display['display_options']['query']['type'] = 'views_query';
-  $handler->display['display_options']['query']['options']['query_comment'] = FALSE;
-  $handler->display['display_options']['exposed_form']['type'] = 'basic';
-  $handler->display['display_options']['pager']['type'] = 'full';
-  $handler->display['display_options']['style_plugin'] = 'default';
-  $handler->display['display_options']['row_plugin'] = 'node';
-  /* Sort criterion: Content: Sticky */
-  $handler->display['display_options']['sorts']['sticky']['id'] = 'sticky';
-  $handler->display['display_options']['sorts']['sticky']['table'] = 'node';
-  $handler->display['display_options']['sorts']['sticky']['field'] = 'sticky';
-  $handler->display['display_options']['sorts']['sticky']['order'] = 'DESC';
-  /* Sort criterion: Content: Post date */
-  $handler->display['display_options']['sorts']['created']['id'] = 'created';
-  $handler->display['display_options']['sorts']['created']['table'] = 'node';
-  $handler->display['display_options']['sorts']['created']['field'] = 'created';
-  $handler->display['display_options']['sorts']['created']['order'] = 'DESC';
-  /* Filter criterion: Content: Promoted to front page */
-  $handler->display['display_options']['filters']['promote']['id'] = 'promote';
-  $handler->display['display_options']['filters']['promote']['table'] = 'node';
-  $handler->display['display_options']['filters']['promote']['field'] = 'promote';
-  $handler->display['display_options']['filters']['promote']['value'] = '1';
-  $handler->display['display_options']['filters']['promote']['group'] = 0;
-  $handler->display['display_options']['filters']['promote']['expose']['operator'] = FALSE;
-  /* Filter criterion: Content: Published */
-  $handler->display['display_options']['filters']['status']['id'] = 'status';
-  $handler->display['display_options']['filters']['status']['table'] = 'node';
-  $handler->display['display_options']['filters']['status']['field'] = 'status';
-  $handler->display['display_options']['filters']['status']['value'] = '1';
-  $handler->display['display_options']['filters']['status']['group'] = 0;
-  $handler->display['display_options']['filters']['status']['expose']['operator'] = FALSE;
-
-  /* Display: Page */
-  $handler = $view->newDisplay('page', 'Page', 'page');
-  $handler->display['display_options']['path'] = 'frontpage';
-
-  /* Display: Feed */
-  $handler = $view->newDisplay('feed', 'Feed', 'feed');
-  $handler->display['display_options']['defaults']['title'] = FALSE;
-  $handler->display['display_options']['title'] = 'Front page feed';
-  $handler->display['display_options']['pager']['type'] = 'some';
-  $handler->display['display_options']['style_plugin'] = 'rss';
-  $handler->display['display_options']['row_plugin'] = 'node_rss';
-  $handler->display['display_options']['path'] = 'rss.xml';
-  $handler->display['display_options']['displays'] = array(
-    'default' => 'default',
-    'page' => 'page',
-  );
-  $handler->display['display_options']['sitename_title'] = '1';
-
-  // (Export ends here.)
-
-  // Add view to list of views to provide.
-  $views[$view->name] = $view;
-
-  // ...Repeat all of the above for each view the module should provide.
-
-  // At the end, return array of default views.
-  return $views;
-}
-
-/**
- * Alter default views defined by other modules.
- *
- * This hook is called right before all default views are cached to the
- * database. It takes a keyed array of views by reference.
- *
- * Example usage to add a field to a view:
- * @code
- *   $handler =& $view->display['DISPLAY_ID']->handler;
- *   // Add the user name field to the view.
- *   $handler->display['display_options']['fields']['name']['id'] = 'name';
- *   $handler->display['display_options']['fields']['name']['table'] = 'users';
- *   $handler->display['display_options']['fields']['name']['field'] = 'name';
- *   $handler->display['display_options']['fields']['name']['label'] = 'Author';
- *   $handler->display['display_options']['fields']['name']['link_to_user'] = 1;
- * @endcode
- */
-function hook_views_default_views_alter(&$views) {
-  if (isset($views['taxonomy_term'])) {
-    $views['taxonomy_term']->display['default']['display_options']['title'] = 'Categories';
-  }
-}
-
 /**
  * Performs replacements in the query before being performed.
  *
-- 
GitLab