annotate core/modules/media_library/media_library.install @ 5:12f9dff5fda9 tip

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