hook_event_dispatcher-8.x-2.04/modules/core_event_dispatcher/src/Event/File/FileMimetypeMappingAlterEvent.php

modules/core_event_dispatcher/src/Event/File/FileMimetypeMappingAlterEvent.php
<?php

namespace Drupal\core_event_dispatcher\Event\File;

use Drupal\Component\EventDispatcher\Event;
use Drupal\core_event_dispatcher\FileHookEvents;
use Drupal\hook_event_dispatcher\Attribute\HookEvent;
use Drupal\hook_event_dispatcher\Event\EventInterface;

/**
 * Class FileMimetypeMappingAlterEvent.
 */
#[HookEvent(id: 'file_mimetype_mapping_alter', alter: 'file_mimetype_mapping')]
class FileMimetypeMappingAlterEvent extends Event implements EventInterface {

  /**
   * An array of mimetypes correlated to the extensions that relate to them.
   *
   * @var array
   */
  protected $mapping = [];

  /**
   * FileMimetypeMappingAlterEvent constructor.
   */
  public function __construct(array &$mapping) {
    $this->mapping = &$mapping;
  }

  /**
   * Sets mimetype mapping.
   *
   * @param int|string $key
   *   The key of the mimetype in the mapping array.
   * @param string $mimetype
   *   The mimetype to set.
   */
  public function setMimetypeMapping($key, string $mimetype): void {
    $this->mapping['mimetypes'][$key] = $mimetype;
  }

  /**
   * Sets extension mapping.
   *
   * @param string $extension
   *   The extension to set.
   * @param int|string $key
   *   The key of the mimetype in the mapping array.
   */
  public function setExtensionMapping(string $extension, $key): void {
    $this->mapping['extensions'][$extension] = $key;
  }

  /**
   * Unsets extension mapping.
   *
   * @param string $extension
   *   The extension to unset.
   */
  public function unsetExtensionMapping(string $extension): void {
    unset($this->mapping['extensions'][$extension]);
  }

  /**
   * {@inheritdoc}
   */
  public function getDispatcherType(): string {
    return FileHookEvents::FILE_MIMETYPE_MAPPING_ALTER;
  }

}

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

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