1
|
|
|
<?php |
2
|
|
|
|
3
|
|
|
/** |
4
|
|
|
* @file |
5
|
|
|
* Contains media.module. |
6
|
|
|
*/ |
7
|
|
|
|
8
|
|
|
use Drupal\Core\Routing\RouteMatchInterface; |
9
|
|
|
use Drupal\Core\Form\FormStateInterface; |
10
|
|
|
use Drupal\views\ViewExecutable; |
11
|
|
|
|
12
|
|
|
/** |
13
|
|
|
* Implements hook_help(). |
14
|
|
|
*/ |
15
|
|
|
function media_help($route_name, RouteMatchInterface $route_match) { |
|
|
|
|
16
|
|
|
switch ($route_name) { |
17
|
|
|
// Main module help for the media module. |
18
|
|
|
case 'help.page.media': |
19
|
|
|
$output = ''; |
20
|
|
|
$output .= '<h3>' . t('About') . '</h3>'; |
21
|
|
|
$output .= '<p>' . t('Media module for Drupal 8') . '</p>'; |
22
|
|
|
return $output; |
23
|
|
|
|
24
|
|
|
default: |
25
|
|
|
} |
26
|
|
|
} |
27
|
|
|
|
28
|
|
|
/** |
29
|
|
|
* Implements hook_form_alter(). |
30
|
|
|
*/ |
31
|
|
|
function media_form_alter(&$form, FormStateInterface &$form_state) { |
|
|
|
|
32
|
|
|
if ($form['#form_id'] == 'entity_browser_media_library_form') { |
33
|
|
|
// Style the submit button. |
34
|
|
|
$form['actions']['submit']['#attributes']['class'][] = 'button--primary'; |
35
|
|
|
$form['actions']['submit']['#attributes']['class'][] = 'entity-browser-modal-target'; |
36
|
|
|
} |
37
|
|
|
// Remove the Gallery option from create gallery view's bundle filters. |
38
|
|
|
if ($form['#id'] == 'views-exposed-form-media-library-gallery-media-select-modal' || $form['#id'] == 'views-exposed-form-media-library-gallery-user-media-select-modal') { |
39
|
|
|
unset($form['bundle_1']['#options']['gallery']); |
40
|
|
|
} |
41
|
|
|
if ($form['#form_id'] == 'media_gallery_form') { |
42
|
|
|
$form['#attached']['library'][] = 'media/view'; |
43
|
|
|
} |
44
|
|
|
} |
45
|
|
|
|
46
|
|
|
/** |
47
|
|
|
* Implements hook_views_pre_render(). |
48
|
|
|
* |
49
|
|
|
* Adds the media.view library to the media views. |
50
|
|
|
*/ |
51
|
|
|
function media_views_pre_render(ViewExecutable $view) { |
52
|
|
|
if (isset($view) && ($view->storage->id() == 'media_library' || $view->storage->id() == 'global_media_library')) { |
53
|
|
|
$view->element['#attached']['library'][] = 'media/view'; |
54
|
|
|
} |
55
|
|
|
} |
56
|
|
|
|
57
|
|
|
/** |
58
|
|
|
* Implements hook_menu_local_actions_alter(). |
59
|
|
|
* |
60
|
|
|
* Adds the add media button from media_entity on library pages. |
61
|
|
|
*/ |
62
|
|
|
function media_menu_local_actions_alter(&$local_actions) { |
63
|
|
|
$local_actions['media.add']['appears_on'][] = 'view.media_library.user_media_library'; |
64
|
|
|
$local_actions['media.add']['appears_on'][] = 'view.media_library.global_media_library_page'; |
65
|
|
|
} |
66
|
|
|
|
67
|
|
|
/** |
68
|
|
|
* Implements hook_entity_type_alter(). |
69
|
|
|
*/ |
70
|
|
|
function media_entity_type_alter(array &$entity_types) { |
71
|
|
|
$field_name = \Drupal::config('media_entity.bundle.gallery')->get('type_configuration.source_field'); |
72
|
|
|
$entity_types['media']->addConstraint('GalleryMediaBundle', array('sourceFieldName' => $field_name)); |
73
|
|
|
} |
74
|
|
|
|
75
|
|
|
/** |
76
|
|
|
* Implements hook_menu_links_discovered_alter(). |
77
|
|
|
*/ |
78
|
|
|
function media_menu_links_discovered_alter(&$links) { |
79
|
|
|
// Media entity module provides a default view which we disable. Since it also |
80
|
|
|
// provides a link entry for it we need to update the route there to point to |
81
|
|
|
// the media library we provide. |
82
|
|
|
$links['entity.media.collection']['route_name'] = 'view.media_library.global_media_library_page'; |
83
|
|
|
} |
84
|
|
|
|
This check looks from parameters that have been defined for a function or method, but which are not used in the method body.