Upgraded imagemagick and manually altered pdf to image module to handle changes....
[yaffs-website] / web / modules / contrib / entity_reference_revisions / src / Plugin / diff / Field / EntityReferenceRevisionsFieldDiffBuilder.php
1 <?php
2
3 namespace Drupal\entity_reference_revisions\Plugin\diff\Field;
4
5 use Drupal\diff\FieldDiffBuilderBase;
6 use Drupal\Core\Field\FieldItemListInterface;
7 use Drupal\diff\FieldReferenceInterface;
8
9 /**
10  * This plugins offers the possibility to compare ERR fields.
11  *
12  * @FieldDiffBuilder(
13  *   id = "entity_reference_revisions_field_diff_builder",
14  *   label = @Translation("Field Diff for Paragraphs"),
15  *   field_types = {
16  *     "entity_reference_revisions"
17  *   },
18  * )
19  */
20 class EntityReferenceRevisionsFieldDiffBuilder extends FieldDiffBuilderBase implements FieldReferenceInterface {
21
22   /**
23    * {@inheritdoc}
24    */
25   public function build(FieldItemListInterface $field_items) {
26     $result_text = array();
27     $item_counter = 0;
28     /** @var \Drupal\Core\Field\Plugin\Field\FieldType\EntityReferenceItem $field_item */
29     foreach ($field_items as $field_key => $field_item) {
30       if (!$field_item->isEmpty() && $field_item->entity) {
31         $parsed_text = $this->entityParser->parseEntity($field_item->entity);
32         if (is_array($parsed_text)) {
33           foreach ($parsed_text as $field_id => $field) {
34             foreach ($field as $id => $text) {
35               $result_text[$item_counter + $id] = $text;
36             }
37             $item_counter = $item_counter + $id + 1;
38           }
39         }
40       }
41     }
42     return $result_text;
43   }
44
45   /**
46    * {@inheritdoc}
47    */
48   public function getEntitiesToDiff(FieldItemListInterface $field_items) {
49     /** @var \Drupal\Core\Field\Plugin\Field\FieldType\EntityReferenceItem $field_item */
50     $entities = [];
51     foreach ($field_items as $field_key => $field_item) {
52       if (!$field_item->isEmpty() && $field_item->entity) {
53         $entities[$field_key] = $field_item->entity;
54       }
55     }
56     return $entities;
57   }
58
59 }