You are here

public function MarkerIconService::__construct in Geofield Map 8.2

Constructor of the Icon Managed File Service.

Parameters

\Drupal\Core\Config\ConfigFactoryInterface $config_factory: A config factory for retrieving required config objects.

\Drupal\Core\StringTranslation\TranslationInterface $string_translation: The string translation service.

\Drupal\Core\File\FileSystemInterface $file_system: File system service.

\Drupal\Core\Entity\EntityTypeManagerInterface $entity_manager: The entity manager.

\Drupal\Core\Extension\ModuleHandlerInterface $module_handler: The module handler.

\Drupal\Core\Utility\LinkGeneratorInterface $link_generator: The Link Generator service.

\Drupal\Core\Render\ElementInfoManagerInterface $element_info: The element info manager.

File

src/Services/MarkerIconService.php, line 202

Class

MarkerIconService
Provides an Icon Managed File Service.

Namespace

Drupal\geofield_map\Services

Code

public function __construct(ConfigFactoryInterface $config_factory, TranslationInterface $string_translation, FileSystemInterface $file_system, EntityTypeManagerInterface $entity_manager, ModuleHandlerInterface $module_handler, LinkGeneratorInterface $link_generator, ElementInfoManagerInterface $element_info) {
  $this->config = $config_factory;
  $this->stringTranslation = $string_translation;
  $this->entityManager = $entity_manager;
  $this->moduleHandler = $module_handler;
  $this->link = $link_generator;
  $this->elementInfo = $element_info;
  $this->geofieldMapSettings = $config_factory
    ->get('geofield_map.settings');
  $this->fileSystem = $file_system;
  $this->fileUploadValidators = [
    'file_validate_extensions' => !empty($this->geofieldMapSettings
      ->get('theming.markers_extensions')) ? [
      $this->geofieldMapSettings
        ->get('theming.markers_extensions'),
    ] : [
      'gif png jpg jpeg',
    ],
    'geofield_map_file_validate_is_image' => [],
    'file_validate_size' => !empty($this->geofieldMapSettings
      ->get('theming.markers_filesize')) ? [
      Bytes::toInt($this->geofieldMapSettings
        ->get('theming.markers_filesize')),
    ] : [
      Bytes::toInt('250 KB'),
    ],
  ];
  $this->defaultIconElement = [
    '#theme' => 'image',
    '#uri' => '',
  ];
  $this->allowedExtension = $this->geofieldMapSettings
    ->get('theming.markers_extensions');
  $this->markersFilesList = $this
    ->setMarkersFilesList();
}