Transliteration.php in Tamper 8
File
src/Plugin/Tamper/Transliteration.php
View source
<?php
namespace Drupal\tamper\Plugin\Tamper;
use Drupal\Component\Transliteration\TransliterationInterface;
use Drupal\Core\Language\LanguageInterface;
use Drupal\Core\Plugin\ContainerFactoryPluginInterface;
use Drupal\tamper\Exception\TamperException;
use Drupal\tamper\TamperableItemInterface;
use Drupal\tamper\TamperBase;
use Symfony\Component\DependencyInjection\ContainerInterface;
class Transliteration extends TamperBase implements ContainerFactoryPluginInterface {
protected $transliteration;
public function __construct(array $configuration, $plugin_id, $plugin_definition, $source_definition, TransliterationInterface $transliteration) {
parent::__construct($configuration, $plugin_id, $plugin_definition, $source_definition);
$this->transliteration = $transliteration;
}
public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition) {
return new static($configuration, $plugin_id, $plugin_definition, $configuration['source_definition'], $container
->get('transliteration'));
}
public function tamper($data, TamperableItemInterface $item = NULL) {
if (!is_string($data)) {
throw new TamperException('Input should be a string.');
}
return $this->transliteration
->transliterate($data, LanguageInterface::LANGCODE_DEFAULT, '_');
}
}