You are here

protected function ExifTagMapper::getSupportedIfdsMap in File metadata manager 8.2

Same name and namespace in other branches
  1. 8 file_mdm_exif/src/ExifTagMapper.php \Drupal\file_mdm_exif\ExifTagMapper::getSupportedIfdsMap()

Returns the list of supported IFDs.

Builds and caches the list as needed.

Return value

array A simple array of IFDs, expressed as literal/integer combinations.

3 calls to ExifTagMapper::getSupportedIfdsMap()
ExifTagMapper::getStringToTagMap in file_mdm_exif/src/ExifTagMapper.php
Returns the map of TAG strings to IFD/TAG integers.
ExifTagMapper::getSupportedKeys in file_mdm_exif/src/ExifTagMapper.php
Returns a list of default metadata 'keys' supported.
ExifTagMapper::getSupportedKeysMap in file_mdm_exif/src/ExifTagMapper.php
Returns the list of supported metadata 'keys'.

File

file_mdm_exif/src/ExifTagMapper.php, line 157

Class

ExifTagMapper
Provides a mapping service for EXIF ifds and tags.

Namespace

Drupal\file_mdm_exif

Code

protected function getSupportedIfdsMap() {
  if (!$this->supportedIfdsMap) {
    $cache_id = 'supportedIfds';
    if ($cache = $this
      ->getCache($cache_id)) {
      $this->supportedIfdsMap = $cache->data;
    }
    else {
      $this->supportedIfdsMap = [];
      $ifd_types = [
        PelIfd::IFD0,
        PelIfd::IFD1,
        PelIfd::EXIF,
        PelIfd::GPS,
        PelIfd::INTEROPERABILITY,
      ];
      foreach ($ifd_types as $type) {
        $this->supportedIfdsMap[] = [
          PelIfd::getTypeName($type),
          $type,
        ];
      }
      $this
        ->setCache($cache_id, $this->supportedIfdsMap);
    }
  }
  return $this->supportedIfdsMap;
}