Commit 4517a73e authored by Arthur Baghdasaryan's avatar Arthur Baghdasaryan Committed by Dave Reid
Browse files

Issue #3106808 by arthur.baghdasar, ctlopez, dalinian, Dave Reid, dzinkevich,...

Issue #3106808 by arthur.baghdasar, ctlopez, dalinian, Dave Reid, dzinkevich, drewble: Fixed PHP Notice: Array to string conversion in Drupal\Core\Template\AttributeArray->__toString().
parent ea618577
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -5,6 +5,7 @@
 * Framework for allowing entities to be embedded in CKEditor.
 */

use Drupal\Component\Serialization\Json;
use Drupal\Core\Routing\RouteMatchInterface;
use Drupal\Core\Form\FormStateInterface;
use Drupal\Core\Field\FieldItemListInterface;
@@ -55,6 +56,11 @@ function template_preprocess_entity_embed_container(array &$variables) {
  $variables['element'] += ['#attributes' => []];
  $variables['attributes'] = $variables['element']['#attributes'];
  $variables['children'] = $variables['element']['#children'];

  // Ensure the display settings get converted to a JSON string again.
  if (isset($variables['attributes']['data-entity-embed-display-settings']) && is_array($variables['attributes']['data-entity-embed-display-settings'])) {
    $variables['attributes']['data-entity-embed-display-settings'] = Json::encode($variables['attributes']['data-entity-embed-display-settings']);
  }
}

/**
+3 −3
Original line number Diff line number Diff line
@@ -35,7 +35,7 @@ class EntityEmbedFilterLegacyTest extends EntityEmbedFilterTestBase {
      'data-entity-uuid' => static::EMBEDDED_ENTITY_UUID,
      'data-langcode' => 'en',
      'data-entity-embed-display' => 'entity_reference:entity_reference_entity_view',
      'data-entity-embed-display-settings' => 'teaser',
      'data-entity-embed-display-settings' => '{"view_mode":"teaser"}',
    ]);
  }

@@ -58,7 +58,7 @@ class EntityEmbedFilterLegacyTest extends EntityEmbedFilterTestBase {
      'data-entity-uuid' => static::EMBEDDED_ENTITY_UUID,
      'data-langcode' => 'en',
      'data-entity-embed-display' => 'entity_reference:entity_reference_entity_view',
      'data-entity-embed-display-settings' => 'teaser',
      'data-entity-embed-display-settings' => '{"view_mode":"teaser"}',
    ]);
  }

@@ -92,7 +92,7 @@ class EntityEmbedFilterLegacyTest extends EntityEmbedFilterTestBase {
      'data-entity-type' => 'node',
      'data-entity-uuid' => static::EMBEDDED_ENTITY_UUID,
      'data-entity-embed-display' => 'entity_reference:entity_reference_entity_view',
      'data-entity-embed-display-settings' => 'teaser',
      'data-entity-embed-display-settings' => '{"view_mode":"teaser"}',
      'data-langcode' => 'en',
    ]);
  }
+7 −7
Original line number Diff line number Diff line
@@ -86,7 +86,7 @@ class EntityEmbedFilterTest extends EntityEmbedFilterTestBase {
          'data-entity-uuid' => static::EMBEDDED_ENTITY_UUID,
          'data-langcode' => 'en',
          'data-entity-embed-display' => 'entity_reference:entity_reference_entity_view',
          'data-entity-embed-display-settings' => 'teaser',
          'data-entity-embed-display-settings' => '{"view_mode":"teaser"}',
        ],
      ],
      'data-entity-uuid + data-view-mode=full' => [
@@ -102,7 +102,7 @@ class EntityEmbedFilterTest extends EntityEmbedFilterTestBase {
          'data-entity-uuid' => static::EMBEDDED_ENTITY_UUID,
          'data-langcode' => 'en',
          'data-entity-embed-display' => 'entity_reference:entity_reference_entity_view',
          'data-entity-embed-display-settings' => 'full',
          'data-entity-embed-display-settings' => '{"view_mode":"full"}',
        ],
      ],
      'data-entity-uuid + data-view-mode=default' => [
@@ -118,7 +118,7 @@ class EntityEmbedFilterTest extends EntityEmbedFilterTestBase {
          'data-entity-uuid' => static::EMBEDDED_ENTITY_UUID,
          'data-langcode' => 'en',
          'data-entity-embed-display' => 'entity_reference:entity_reference_entity_view',
          'data-entity-embed-display-settings' => 'default',
          'data-entity-embed-display-settings' => '{"view_mode":"default"}',
        ],
      ],
      'data-entity-uuid + data-entity-embed-display' => [
@@ -131,7 +131,7 @@ class EntityEmbedFilterTest extends EntityEmbedFilterTestBase {
        'default',
        [
          'data-entity-embed-display' => 'entity_reference:entity_reference_entity_view',
          'data-entity-embed-display-settings' => 'full',
          'data-entity-embed-display-settings' => '{"view_mode":"full"}',
          'data-entity-type' => 'node',
          'data-entity-uuid' => static::EMBEDDED_ENTITY_UUID,
          'data-langcode' => 'en',
@@ -148,7 +148,7 @@ class EntityEmbedFilterTest extends EntityEmbedFilterTestBase {
        'default',
        [
          'data-entity-embed-display' => 'entity_reference:entity_reference_entity_view',
          'data-entity-embed-display-settings' => 'full',
          'data-entity-embed-display-settings' => '{"view_mode":"full"}',
          'data-entity-type' => 'node',
          'data-entity-uuid' => static::EMBEDDED_ENTITY_UUID,
          'data-view-mode' => 'some-invalid-view-mode',
@@ -172,7 +172,7 @@ class EntityEmbedFilterTest extends EntityEmbedFilterTestBase {
          'data-view-mode' => 'teaser',
          'data-langcode' => 'en',
          'data-entity-embed-display' => 'entity_reference:entity_reference_entity_view',
          'data-entity-embed-display-settings' => 'teaser',
          'data-entity-embed-display-settings' => '{"view_mode":"teaser"}',
        ],
      ],
    ];
@@ -365,7 +365,7 @@ class EntityEmbedFilterTest extends EntityEmbedFilterTestBase {
      'data-entity-uuid' => static::EMBEDDED_ENTITY_UUID,
      'data-langcode' => 'en',
      'data-entity-embed-display' => 'entity_reference:entity_reference_entity_view',
      'data-entity-embed-display-settings' => 'teaser',
      'data-entity-embed-display-settings' => '{"view_mode":"teaser"}',
    ]);
    $this->assertSame([
      'config:filter.format.plain_text',