media_directories-2.x-dev/modules/media_directories_editor/media_directories_editor.install

modules/media_directories_editor/media_directories_editor.install
<?php

/**
 * @file
 * Install and database hook implementations.
 */

use Drupal\language\ConfigurableLanguageManagerInterface;
use Drupal\media\Entity\MediaType;
use Drupal\Core\Entity\Entity\EntityViewMode;

/**
 * Implements hook_install().
 */
function media_directories_editor_install() {
  // Do not add button config, if we aren't installing from configuration.
  if (!\Drupal::isConfigSyncing()) {
    $config = \Drupal::configFactory()->getEditable('embed.button.media_directories');

    // Add the standard media types for the embed button, if available.
    $media_types_to_add = ['image', 'remote_video'];
    $media_types = MediaType::loadMultiple();
    foreach ($media_types_to_add as $delta => $type) {
      if (!isset($media_types[$type])) {
        unset($media_types_to_add[$delta]);
      }
    }
    if (count($media_types_to_add) > 0) {
      $config->set('type_settings.bundles', $media_types_to_add);
    }

    // Add the standard media entity view mode, if available.
    $media_full_view_mode = EntityViewMode::load('media.full');
    if ($media_full_view_mode) {
      $display_plugins = $config->get('type_settings.display_plugins');
      $display_plugins[] = 'view_mode:' . $media_full_view_mode->id();
      $config->set('type_settings.display_plugins', $display_plugins);
    }

    $config->save();
  }
}

/**
 * Implements hook_uninstall().
 */
function media_directories_editor_uninstall() {

  // Remove the entity browsers.
  \Drupal::configFactory()->getEditable('entity_browser.browser.media_directories_editor_browser')->delete();

  // Remove the embed button.
  \Drupal::configFactory()->getEditable('embed.button.media_directories')->delete();
}

/**
 * Update the entity browser's widget id.
 */
function media_directories_editor_update_8001() {

  // Update the entity browser.
  $config = \Drupal::configFactory()->getEditable('entity_browser.browser.media_directories_editor_browser');
  $config->set('widgets.5bc2a17c-b080-4a3b-867c-7953ae9b55c4.id', 'media_directories_browser_widget');
  $config->save();
}

/**
 * Rename the entity browsers labels.
 */
function media_directories_editor_update_8002() {
  $config = \Drupal::configFactory()->getEditable('entity_browser.browser.media_directories_editor_browser');
  $config->set('label', 'Media Directories: Editor widget');
  $config->save();
  $language_manager = \Drupal::languageManager();
  if ($language_manager instanceof ConfigurableLanguageManagerInterface) {
    foreach ($language_manager->getLanguages() as $language) {
      $config_translation = $language_manager->getLanguageConfigOverride($language->getId(), 'entity_browser.browser.media_directories_editor_browser');
      $config_translation->set('label', 'Media Directories: Editor widget');
      $config_translation->save();
    }
  }
}

/**
 * Convert embed button to SVG format.
 */
function media_directories_editor_update_8003() {
  // Update config with new uri.
  $config = \Drupal::configFactory()->getEditable('embed.button.media_directories');
  $config->set('icon.uri', 'public://embed_buttons/folder.svg');
  $config->set('icon.data', 'PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gU3ZnIFZlY3RvciBJY29ucyA6IGh0dHA6Ly93d3cub25saW5ld2ViZm9udHMuY29tL2ljb24gLS0+DQo8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPg0KPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMTAwMCAxMDAwIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAxMDAwIDEwMDAiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPG1ldGFkYXRhPiBTdmcgVmVjdG9yIEljb25zIDogaHR0cDovL3d3dy5vbmxpbmV3ZWJmb250cy5jb20vaWNvbiA8L21ldGFkYXRhPg0KPGc+PHBhdGggZD0iTTkyNC4zLDU1MC44YzAtMTItOS4xLTE4LTI3LjItMThIMzM4LjZjLTEzLjcsMC0yOC4zLDMuNy00My45LDExYy0xNS42LDcuNC0yNy44LDE2LjMtMzYuNywyNi45TDEwNy4xLDc1Ny4yYy02LjIsOC4yLTkuMiwxNS4xLTkuMiwyMC41YzAsMTIsOS4xLDE4LDI3LjIsMThoNTU4LjVjMTMuNywwLDI4LjQtMy44LDQ0LjItMTEuM2MxNS43LTcuNSwyNy45LTE2LjYsMzYuNC0yNy4ybDE1MC45LTE4Ni4zQzkyMS4yLDU2My4zLDkyNC4zLDU1Ni42LDkyNC4zLDU1MC44TDkyNC4zLDU1MC44eiBNMzM4LjYsNDY3LjFoMzk0LjJWMzg1YzAtMTMuNy00LjgtMjUuMy0xNC40LTM0LjljLTkuNi05LjYtMjEuMi0xNC40LTM0LjktMTQuNEgzODcuOWMtMTMuNywwLTI1LjMtNC44LTM0LjktMTQuNGMtOS42LTkuNi0xNC40LTIxLjItMTQuNC0zNC45di0zMi45YzAtMTMuNy00LjgtMjUuMy0xNC40LTM0LjljLTkuNi05LjYtMjEuMi0xNC40LTM0LjktMTQuNEgxMjVjLTEzLjcsMC0yNS4zLDQuOC0zNC45LDE0LjRjLTkuNiw5LjYtMTQuNCwyMS4yLTE0LjQsMzQuOXY0MzcuOWwxMzEuNC0xNjEuN2MxNS4xLTE4LjEsMzQuOS0zMy4xLDU5LjYtNDQuOUMyOTEuNCw0NzMsMzE1LjMsNDY3LjEsMzM4LjYsNDY3LjFMMzM4LjYsNDY3LjF6IE05OTAsNTUwLjhjMCwyMS4yLTcuOSw0MS44LTIzLjYsNjEuNkw4MTUsNzk4LjhjLTE0LjcsMTguMS0zNC42LDMzLjEtNTkuNiw0NC45Yy0yNSwxMS44LTQ5LDE3LjctNzEuOSwxNy43SDEyNWMtMzEuNSwwLTU4LjUtMTEuMy04MS4xLTMzLjlDMjEuMyw4MDQuOSwxMCw3NzcuOSwxMCw3NDYuNFYyNTMuNmMwLTMxLjUsMTEuMy01OC41LDMzLjktODEuMWMyMi42LTIyLjYsNDkuNi0zMy45LDgxLjEtMzMuOWgxNjQuM2MzMS41LDAsNTguNSwxMS4zLDgxLjEsMzMuOWMyMi42LDIyLjYsMzMuOSw0OS42LDMzLjksODEuMVYyNzBoMjc5LjNjMzEuNSwwLDU4LjUsMTEuMyw4MS4xLDMzLjljMjIuNiwyMi42LDMzLjksNDkuNiwzMy45LDgxLjF2ODIuMWg5OC42YzE4LjUsMCwzNS40LDQuMiw1MC44LDEyLjZjMTUuNCw4LjQsMjYuOSwyMC41LDM0LjQsMzYuMkM5ODcuNCw1MjYuOSw5OTAsNTM4LjUsOTkwLDU1MC44TDk5MCw1NTAuOHoiLz48L2c+DQo8L3N2Zz4=');
  $config->save();

  // Clean up file system.
  \Drupal::service('file_system')->delete('public://embed_buttons/folder.png');
}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc