annotate core/modules/media_library/media_library.install @ 19:fa3358dc1485 tip

Add ndrum files
author Chris Cannam
date Wed, 28 Aug 2019 13:14:47 +0100
parents af1871eacc83
children
rev   line source
Chris@17 1 <?php
Chris@17 2
Chris@17 3 /**
Chris@17 4 * @file
Chris@17 5 * Install, update and uninstall functions for the media_library module.
Chris@17 6 */
Chris@17 7
Chris@18 8 use Drupal\image\Entity\ImageStyle;
Chris@18 9 use Drupal\media\Entity\MediaType;
Chris@17 10 use Drupal\views\Entity\View;
Chris@17 11
Chris@17 12 /**
Chris@17 13 * Implements hook_install().
Chris@17 14 */
Chris@17 15 function media_library_install() {
Chris@17 16 // Change the path to the original media view.
Chris@17 17 /** @var \Drupal\views\Entity\View $view */
Chris@17 18 if ($view = View::load('media')) {
Chris@17 19 $display = &$view->getDisplay('media_page_list');
Chris@17 20 if (!empty($display)) {
Chris@17 21 $display['display_options']['path'] = 'admin/content/media-table';
Chris@17 22 unset($display['display_options']['menu']);
Chris@17 23 $view->trustData()->save();
Chris@17 24 }
Chris@17 25 }
Chris@18 26 if (!\Drupal::isConfigSyncing()) {
Chris@18 27 foreach (MediaType::loadMultiple() as $type) {
Chris@18 28 _media_library_configure_form_display($type);
Chris@18 29 _media_library_configure_view_display($type);
Chris@18 30 }
Chris@18 31 }
Chris@17 32 }
Chris@17 33
Chris@17 34 /**
Chris@17 35 * Implements hook_uninstall().
Chris@17 36 */
Chris@17 37 function media_library_uninstall() {
Chris@17 38 // Restore the path to the original media view.
Chris@17 39 /** @var \Drupal\views\Entity\View $view */
Chris@17 40 if ($view = View::load('media')) {
Chris@17 41 $display = &$view->getDisplay('media_page_list');
Chris@17 42 if (!empty($display)) {
Chris@17 43 $display['display_options']['path'] = 'admin/content/media';
Chris@17 44 $display['display_options']['menu'] = [
Chris@17 45 'type' => 'tab',
Chris@17 46 'title' => 'Media',
Chris@17 47 'description' => '',
Chris@17 48 'expanded' => FALSE,
Chris@17 49 'parent' => '',
Chris@17 50 'weight' => 0,
Chris@17 51 'context' => '0',
Chris@17 52 'menu_name' => 'main',
Chris@17 53 ];
Chris@17 54 $view->trustData()->save();
Chris@17 55 }
Chris@17 56 }
Chris@17 57 }
Chris@18 58
Chris@18 59 /**
Chris@18 60 * Create the 'media_library' image style.
Chris@18 61 */
Chris@18 62 function media_library_update_8701() {
Chris@18 63 $image_style = ImageStyle::create([
Chris@18 64 'name' => 'media_library',
Chris@18 65 'label' => 'Media Library (220x220)',
Chris@18 66 ]);
Chris@18 67 // Add a scale effect.
Chris@18 68 $image_style->addImageEffect([
Chris@18 69 'id' => 'image_scale',
Chris@18 70 'weight' => 0,
Chris@18 71 'data' => [
Chris@18 72 'width' => 220,
Chris@18 73 'height' => 220,
Chris@18 74 'upscale' => FALSE,
Chris@18 75 ],
Chris@18 76 ]);
Chris@18 77 $image_style->save();
Chris@18 78 }
Chris@18 79
Chris@18 80 /**
Chris@18 81 * Updates the media library view widget display (contextual) filters.
Chris@18 82 */
Chris@18 83 function media_library_update_8702() {
Chris@18 84 $view = \Drupal::configFactory()->getEditable('views.view.media_library');
Chris@18 85 if ($view && $view->get('display.widget')) {
Chris@18 86 $view->set('display.widget.display_options.defaults.filters', FALSE);
Chris@18 87 $view->set('display.widget.display_options.defaults.filter_groups', FALSE);
Chris@18 88 $view->set('display.widget.display_options.defaults.arguments', FALSE);
Chris@18 89 $view->set('display.widget.display_options.filters', [
Chris@18 90 'status' => [
Chris@18 91 'id' => 'status',
Chris@18 92 'table' => 'media_field_data',
Chris@18 93 'field' => 'status',
Chris@18 94 'relationship' => 'none',
Chris@18 95 'group_type' => 'group',
Chris@18 96 'admin_label' => '',
Chris@18 97 'operator' => '=',
Chris@18 98 'value' => '1',
Chris@18 99 'group' => 1,
Chris@18 100 'exposed' => FALSE,
Chris@18 101 'expose' => [
Chris@18 102 'operator_id' => '',
Chris@18 103 'label' => '',
Chris@18 104 'description' => '',
Chris@18 105 'use_operator' => FALSE,
Chris@18 106 'operator' => '',
Chris@18 107 'identifier' => '',
Chris@18 108 'required' => FALSE,
Chris@18 109 'remember' => FALSE,
Chris@18 110 'multiple' => FALSE,
Chris@18 111 'remember_roles' => [
Chris@18 112 'authenticated' => 'authenticated',
Chris@18 113 ],
Chris@18 114 ],
Chris@18 115 'is_grouped' => FALSE,
Chris@18 116 'group_info' => [
Chris@18 117 'label' => '',
Chris@18 118 'description' => '',
Chris@18 119 'identifier' => '',
Chris@18 120 'optional' => TRUE,
Chris@18 121 'widget' => 'select',
Chris@18 122 'multiple' => FALSE,
Chris@18 123 'remember' => FALSE,
Chris@18 124 'default_group' => 'All',
Chris@18 125 'default_group_multiple' => [],
Chris@18 126 'group_items' => [],
Chris@18 127 ],
Chris@18 128 'entity_type' => 'media',
Chris@18 129 'entity_field' => 'status',
Chris@18 130 'plugin_id' => 'boolean',
Chris@18 131 ],
Chris@18 132 'name' => [
Chris@18 133 'id' => 'name',
Chris@18 134 'table' => 'media_field_data',
Chris@18 135 'field' => 'name',
Chris@18 136 'relationship' => 'none',
Chris@18 137 'group_type' => 'group',
Chris@18 138 'admin_label' => '',
Chris@18 139 'operator' => 'contains',
Chris@18 140 'value' => '',
Chris@18 141 'group' => 1,
Chris@18 142 'exposed' => TRUE,
Chris@18 143 'expose' => [
Chris@18 144 'operator_id' => 'name_op',
Chris@18 145 'label' => 'Name',
Chris@18 146 'description' => '',
Chris@18 147 'use_operator' => FALSE,
Chris@18 148 'operator' => 'name_op',
Chris@18 149 'identifier' => 'name',
Chris@18 150 'required' => FALSE,
Chris@18 151 'remember' => FALSE,
Chris@18 152 'multiple' => FALSE,
Chris@18 153 'remember_roles' => [
Chris@18 154 'authenticated' => 'authenticated',
Chris@18 155 'anonymous' => '0',
Chris@18 156 'administrator' => '0',
Chris@18 157 ],
Chris@18 158 ],
Chris@18 159 'is_grouped' => FALSE,
Chris@18 160 'group_info' => [
Chris@18 161 'label' => '',
Chris@18 162 'description' => '',
Chris@18 163 'identifier' => '',
Chris@18 164 'optional' => TRUE,
Chris@18 165 'widget' => 'select',
Chris@18 166 'multiple' => FALSE,
Chris@18 167 'remember' => FALSE,
Chris@18 168 'default_group' => 'All',
Chris@18 169 'default_group_multiple' => [],
Chris@18 170 'group_items' => [],
Chris@18 171 ],
Chris@18 172 'entity_type' => 'media',
Chris@18 173 'entity_field' => 'name',
Chris@18 174 'plugin_id' => 'string',
Chris@18 175 ],
Chris@18 176 ]);
Chris@18 177 $view->set('display.widget.display_options.filter_groups', [
Chris@18 178 'operator' => 'AND',
Chris@18 179 'groups' => [
Chris@18 180 1 => 'AND',
Chris@18 181 ],
Chris@18 182 ]);
Chris@18 183 $view->set('display.widget.display_options.arguments', [
Chris@18 184 'bundle' => [
Chris@18 185 'id' => 'bundle',
Chris@18 186 'table' => 'media_field_data',
Chris@18 187 'field' => 'bundle',
Chris@18 188 'relationship' => 'none',
Chris@18 189 'group_type' => 'group',
Chris@18 190 'admin_label' => '',
Chris@18 191 'default_action' => 'ignore',
Chris@18 192 'exception' => [
Chris@18 193 'value' => 'all',
Chris@18 194 'title_enable' => FALSE,
Chris@18 195 'title' => 'All',
Chris@18 196 ],
Chris@18 197 'title_enable' => FALSE,
Chris@18 198 'title' => '',
Chris@18 199 'default_argument_type' => 'fixed',
Chris@18 200 'default_argument_options' => [
Chris@18 201 'argument' => '',
Chris@18 202 ],
Chris@18 203 'default_argument_skip_url' => FALSE,
Chris@18 204 'summary_options' => [
Chris@18 205 'base_path' => '',
Chris@18 206 'count' => TRUE,
Chris@18 207 'items_per_page' => 25,
Chris@18 208 'override' => FALSE,
Chris@18 209 ],
Chris@18 210 'summary' => [
Chris@18 211 'sort_order' => 'asc',
Chris@18 212 'number_of_records' => 0,
Chris@18 213 'format' => 'default_summary',
Chris@18 214 ],
Chris@18 215 'specify_validation' => FALSE,
Chris@18 216 'validate' => [
Chris@18 217 'type' => 'none',
Chris@18 218 'fail' => 'not found',
Chris@18 219 ],
Chris@18 220 'validate_options' => [],
Chris@18 221 'glossary' => FALSE,
Chris@18 222 'limit' => 0,
Chris@18 223 'case' => 'none',
Chris@18 224 'path_case' => 'none',
Chris@18 225 'transform_dash' => FALSE,
Chris@18 226 'break_phrase' => FALSE,
Chris@18 227 'entity_type' => 'media',
Chris@18 228 'entity_field' => 'bundle',
Chris@18 229 'plugin_id' => 'string',
Chris@18 230 ],
Chris@18 231 ]);
Chris@18 232 $view->save();
Chris@18 233 }
Chris@18 234 }