drowl_media-8.x-2.0-rc0/src/Plugin/MediaDuplicatesChecksum/Slideshow.php

src/Plugin/MediaDuplicatesChecksum/Slideshow.php
<?php

namespace Drupal\drowl_media\Plugin\MediaDuplicatesChecksum;

use Drupal\media\Entity\Media;
use Drupal\media_duplicates\Plugin\MediaDuplicatesChecksumBase;

/**
 * Slideshow duplicates checksum.
 *
 * @MediaDuplicatesChecksum(
 *   id = "slideshow",
 *   label = @Translation("Slideshow"),
 *   media_types = {"slideshow"},
 * )
 */
class Slideshow extends MediaDuplicatesChecksumBase {

  /**
   * {@inheritdoc}
   */
  public function getChecksumData(Media $media) {
    $source = $media->getSource();
    /** @var \Drupal\Core\Field\EntityReferenceFieldItemList*/
    $sourceFieldValue = $source->getSourceFieldValue($media);
    // @todo Add setting conditions from
    // https://www.drupal.org/project/drowl_media/issues/3305117 here!
    $referencedEntities = $sourceFieldValue->referencedEntities();
    $referencedEntitiesUuidsConcat = '';
    // The unique identfifier for the list of referenced entities is
    // their concat uuid in the lists order.
    foreach ($referencedEntities as $referencedEntity) {
      $referencedEntitiesUuidsConcat .= empty($referencedEntitiesUuidsConcat) ? '' : '|';
      $referencedEntitiesUuidsConcat .= $referencedEntity->uuid();
    }
    return $referencedEntitiesUuidsConcat;

  }

}

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

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