You are here

WebformRevisionsConverter.php in Config Entity Revisions 8.2

File

modules/webform_revisions/src/ParamConverter/WebformRevisionsConverter.php
View source
<?php

namespace Drupal\webform_revisions\ParamConverter;

use Drupal\Core\ParamConverter\ParamConverterInterface;
use Drupal\config_entity_revisions\ConfigEntityRevisionsConverterBase;
use Symfony\Component\Routing\Route;

/**
 * Parameter converter for upcasting entity IDs to full, revisioned objects.
 *
 * @see entities_revisions_translations
 */
class WebformRevisionsConverter extends ConfigEntityRevisionsConverterBase implements ParamConverterInterface {

  /**
   * Return the config entity name.
   *
   * @return string
   *   The config entity name.
   */
  protected function configEntityName() {
    return 'webform';
  }

  /**
   * {@inheritdoc}
   */
  public function applies($definition, $name, Route $route) {
    if (!empty($definition['type']) && strpos($definition['type'], 'entity:') === 0) {
      $entity_type_id = substr($definition['type'], strlen('entity:'));
      if (strpos($definition['type'], '{') !== FALSE) {
        $entity_type_slug = substr($entity_type_id, 1, -1);
        return $name != $entity_type_slug && in_array($entity_type_slug, $route
          ->compile()
          ->getVariables(), TRUE);
      }
      if ($entity_type_id == $this
        ->configEntityName()) {
        return TRUE;
      }
    }
    return FALSE;
  }

}

Classes

Namesort descending Description
WebformRevisionsConverter Parameter converter for upcasting entity IDs to full, revisioned objects.