media_library.install

Same filename and directory in other branches
  1. 9 core/modules/media_library/media_library.install
  2. 10 core/modules/media_library/media_library.install
  3. 11.x core/modules/media_library/media_library.install

Install, update and uninstall functions for the media_library module.

File

core/modules/media_library/media_library.install

View source
<?php


/**
 * @file
 * Install, update and uninstall functions for the media_library module.
 */
use Drupal\media\Entity\MediaType;

/**
 * Implements hook_install().
 */
function media_library_install($is_syncing) {
    if (!$is_syncing) {
        foreach (MediaType::loadMultiple() as $type) {
            _media_library_configure_form_display($type);
            _media_library_configure_view_display($type);
        }
    }
}

/**
 * Create the 'media_library' image style.
 */
function media_library_update_8701() {
    // This update function has been moved to
    // media_library_post_update_add_media_library_image_style().
}

/**
 * Updates the media library view widget display (contextual) filters.
 */
function media_library_update_8702() {
    $view = \Drupal::configFactory()->getEditable('views.view.media_library');
    if ($view && $view->get('display.widget')) {
        $view->set('display.widget.display_options.defaults.filters', FALSE);
        $view->set('display.widget.display_options.defaults.filter_groups', FALSE);
        $view->set('display.widget.display_options.defaults.arguments', FALSE);
        $view->set('display.widget.display_options.filters', [
            'status' => [
                'id' => 'status',
                'table' => 'media_field_data',
                'field' => 'status',
                'relationship' => 'none',
                'group_type' => 'group',
                'admin_label' => '',
                'operator' => '=',
                'value' => '1',
                'group' => 1,
                'exposed' => FALSE,
                'expose' => [
                    'operator_id' => '',
                    'label' => '',
                    'description' => '',
                    'use_operator' => FALSE,
                    'operator' => '',
                    'identifier' => '',
                    'required' => FALSE,
                    'remember' => FALSE,
                    'multiple' => FALSE,
                    'remember_roles' => [
                        'authenticated' => 'authenticated',
                    ],
                ],
                'is_grouped' => FALSE,
                'group_info' => [
                    'label' => '',
                    'description' => '',
                    'identifier' => '',
                    'optional' => TRUE,
                    'widget' => 'select',
                    'multiple' => FALSE,
                    'remember' => FALSE,
                    'default_group' => 'All',
                    'default_group_multiple' => [],
                    'group_items' => [],
                ],
                'entity_type' => 'media',
                'entity_field' => 'status',
                'plugin_id' => 'boolean',
            ],
            'name' => [
                'id' => 'name',
                'table' => 'media_field_data',
                'field' => 'name',
                'relationship' => 'none',
                'group_type' => 'group',
                'admin_label' => '',
                'operator' => 'contains',
                'value' => '',
                'group' => 1,
                'exposed' => TRUE,
                'expose' => [
                    'operator_id' => 'name_op',
                    'label' => 'Name',
                    'description' => '',
                    'use_operator' => FALSE,
                    'operator' => 'name_op',
                    'identifier' => 'name',
                    'required' => FALSE,
                    'remember' => FALSE,
                    'multiple' => FALSE,
                    'remember_roles' => [
                        'authenticated' => 'authenticated',
                        'anonymous' => '0',
                        'administrator' => '0',
                    ],
                ],
                'is_grouped' => FALSE,
                'group_info' => [
                    'label' => '',
                    'description' => '',
                    'identifier' => '',
                    'optional' => TRUE,
                    'widget' => 'select',
                    'multiple' => FALSE,
                    'remember' => FALSE,
                    'default_group' => 'All',
                    'default_group_multiple' => [],
                    'group_items' => [],
                ],
                'entity_type' => 'media',
                'entity_field' => 'name',
                'plugin_id' => 'string',
            ],
        ]);
        $view->set('display.widget.display_options.filter_groups', [
            'operator' => 'AND',
            'groups' => [
                1 => 'AND',
            ],
        ]);
        $view->set('display.widget.display_options.arguments', [
            'bundle' => [
                'id' => 'bundle',
                'table' => 'media_field_data',
                'field' => 'bundle',
                'relationship' => 'none',
                'group_type' => 'group',
                'admin_label' => '',
                'default_action' => 'ignore',
                'exception' => [
                    'value' => 'all',
                    'title_enable' => FALSE,
                    'title' => 'All',
                ],
                'title_enable' => FALSE,
                'title' => '',
                'default_argument_type' => 'fixed',
                'default_argument_options' => [
                    'argument' => '',
                ],
                'default_argument_skip_url' => FALSE,
                'summary_options' => [
                    'base_path' => '',
                    'count' => TRUE,
                    'items_per_page' => 25,
                    'override' => FALSE,
                ],
                'summary' => [
                    'sort_order' => 'asc',
                    'number_of_records' => 0,
                    'format' => 'default_summary',
                ],
                'specify_validation' => FALSE,
                'validate' => [
                    'type' => 'none',
                    'fail' => 'not found',
                ],
                'validate_options' => [],
                'glossary' => FALSE,
                'limit' => 0,
                'case' => 'none',
                'path_case' => 'none',
                'transform_dash' => FALSE,
                'break_phrase' => FALSE,
                'entity_type' => 'media',
                'entity_field' => 'bundle',
                'plugin_id' => 'string',
            ],
        ]);
        $view->save(TRUE);
    }
}

/**
 * This update has been removed and will not run.
 */
function media_library_update_8703() {
    // This update function previously added 'edit' and 'delete' buttons to media
    // items in the 'media' view. It has been converted to a post-update hook.
    // @see media_library_post_update_add_buttons_to_page_view()
}

/**
 * Creates the media_library.settings config object.
 */
function media_library_update_8704() {
    \Drupal::configFactory()->getEditable('media_library.settings')
        ->set('advanced_ui', TRUE)
        ->save();
}

Functions

Title Deprecated Summary
media_library_install Implements hook_install().
media_library_update_8701 Create the 'media_library' image style.
media_library_update_8702 Updates the media library view widget display (contextual) filters.
media_library_update_8703 This update has been removed and will not run.
media_library_update_8704 Creates the media_library.settings config object.

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.