| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131 | 
							- <?php
 
- /**
 
-  * @file
 
-  * Module file for Examples for Developers.
 
-  *
 
-  * This file serves as a stub file for the many Examples modules in the
 
-  * @link http://drupal.org/project/examples Examples for Developers Project @endlink
 
-  * which you can download and experiment with.
 
-  *
 
-  * One might say that examples.module is an example of documentation. However,
 
-  * note that the example submodules define many doxygen groups, which may or
 
-  * may not be a good strategy for other modules.
 
-  */
 
- use Drupal\Core\Url;
 
- /**
 
-  * @defgroup examples Examples
 
-  * @{
 
-  * Well-documented API examples for a broad range of Drupal core functionality.
 
-  *
 
-  * Developers can learn how to use a particular API quickly by experimenting
 
-  * with the examples, and adapt them for their own use.
 
-  *
 
-  * Download the Examples for Developers Project (and participate with
 
-  * submissions, bug reports, patches, and documentation) at
 
-  * http://drupal.org/project/examples
 
-  */
 
- /**
 
-  * Implements hook_toolbar().
 
-  */
 
- function examples_toolbar() {
 
-   // First, build an array of all example modules and their routes.
 
-   // We resort to this hard-coded way so as not to muck up each example.
 
-   $examples = [
 
-     'ajax_example' => 'ajax_example.description',
 
-     'batch_example' => 'batch_example.form',
 
-     'block_example' => 'block_example.description',
 
-     'cache_example' => 'cache_example.description',
 
-     'config_entity_example' => 'entity.robot.list',
 
-     'content_entity_example' => 'entity.content_entity_example_contact.collection',
 
-     'cron_example' => 'cron_example',
 
-     'dbtng_example' => 'dbtng_example',
 
-     'email_example' => 'email_example.description',
 
-     'events_example' => 'events_example.description',
 
-     'form_api_example' => 'form_api_example.description',
 
-     'field_example' => 'field_example.description',
 
-     'field_permission_example' => 'field_permission_example.description',
 
-     'file_example' => 'file_example.fileapi',
 
-     'hooks_example' => 'hooks_example.description',
 
-     'js_example' => 'js_example.info',
 
-     'node_type_example' => 'config_node_type_example.description',
 
-     'page_example' => 'page_example_description',
 
-     'pager_example' => 'pager_example.page',
 
-     'phpunit_example' => 'phpunit_example_description',
 
-     'plugin_type_example' => 'plugin_type_example.description',
 
-     'simpletest_example' => 'simpletest_example_description',
 
-     'tabledrag_example' => 'tabledrag_example.description',
 
-     'stream_wrapper_example' => 'stream_wrapper_example.description',
 
-     'testing_example' => 'testing_example.description',
 
-     'queue_example' => 'queue_example',
 
-     'tablesort_example' => 'tablesort_example_description',
 
-     'tour_example' => 'tour_example_description',
 
-   ];
 
-   // Build a list of links for the menu.
 
-   $links = [];
 
-   foreach ($examples as $module => $route) {
 
-     // Get the module info (title, description) from Drupal.
 
-     $info = system_get_info('module', $module);
 
-     // If there's no info, the example isn't enabled, so don't display it.
 
-     if (!empty($info)) {
 
-       $links[$module] = [
 
-         'title' => t($info['name']),
 
-         'url' => Url::fromRoute($route),
 
-         'attributes' => [
 
-           'title' => t($info['description']),
 
-         ],
 
-       ];
 
-     }
 
-   }
 
-   // Add a link to enable all examples.
 
-   $links['enable_examples'] = [
 
-     'title' => t('Enable Examples'),
 
-     'url' => Url::fromRoute('system.modules_list'),
 
-     'options' => [
 
-       'title' => t('Enable more examples in on the Extend page.'),
 
-     ],
 
-     'fragment' => 'edit-modules-example-modules',
 
-   ];
 
-   // Create the examples toolbar render array.
 
-   $items['examples'] = [
 
-     '#type' => 'toolbar_item',
 
-     'tab' => [
 
-       '#type' => 'link',
 
-       '#title' => t('Examples'),
 
-       '#url' => Url::fromRoute('<front>'),
 
-       '#attributes' => [
 
-         'title' => t('Developer Examples'),
 
-         'class' => ['toolbar-icon', 'toolbar-icon-examples'],
 
-       ],
 
-     ],
 
-     'tray' => [
 
-       '#heading' => t('Developer Examples'),
 
-       'shortcuts' => [
 
-         '#theme' => 'links__toolbar_example',
 
-         '#links' => $links,
 
-         '#attributes' => [
 
-           'class' => ['toolbar-menu'],
 
-         ],
 
-       ],
 
-     ],
 
-     '#weight' => 99,
 
-     '#attached' => [
 
-       'library' => [
 
-         'examples/examples.icons',
 
-       ],
 
-     ],
 
-   ];
 
-   return $items;
 
- }
 
- /**
 
-  * @} End of 'defgroup examples'.
 
-  */
 
 
  |