multiversion-8.x-1.0-beta34/src/EventSubscriber/PathAutoAliasSubscriber.php
src/EventSubscriber/PathAutoAliasSubscriber.php
<?php namespace Drupal\multiversion\EventSubscriber; use Drupal\Core\Extension\ModuleHandler; use Drupal\Core\State\StateInterface; use Drupal\multiversion\Event\MultiversionManagerEvent; use Drupal\multiversion\Event\MultiversionManagerEvents; use Symfony\Component\EventDispatcher\EventSubscriberInterface; /** * Creating a flag to skip generating new alias. */ class PathAutoAliasSubscriber implements EventSubscriberInterface { /** * @var \Drupal\Core\State\StateInterface */ protected $state; /** * Class constructor. * * @param \Drupal\Core\State\StateInterface $state */ public function __construct(StateInterface $state) { $this->state = $state; } /** * Set flag for disabling alias generate. * * @param \Drupal\multiversion\Event\MultiversionManagerEvent $event */ public function onPreMigrate(MultiversionManagerEvent $event) { $this->state->set('skip_alias_save', TRUE); } /** * Remove flag "skip_pathauto_generator". * * @param \Drupal\multiversion\Event\MultiversionManagerEvent $event */ public function onPostMigrate(MultiversionManagerEvent $event) { $this->state->delete('skip_alias_save'); } /** * {@inheritdoc} */ public static function getSubscribedEvents() { return [ MultiversionManagerEvents::PRE_MIGRATE => ['onPreMigrate'], MultiversionManagerEvents::POST_MIGRATE => ['onPostMigrate'] ]; } }