protected function setUp() { parent::setUp(); $evm = new EventManager(); $this->translatableListener = new TranslatableListener(); $this->translatableListener->setTranslatableLocale('en_us'); $this->translatableListener->setDefaultLocale('en_us'); $evm->addEventSubscriber($this->translatableListener); $this->getMockSqliteEntityManager($evm); $this->populate(); }
/** * @param EventManager $manager * @param EntityManagerInterface $em * @param Reader $reader */ public function addSubscribers(EventManager $manager, EntityManagerInterface $em, Reader $reader = null) { $subscriber = new TranslatableListener(); $subscriber->setTranslatableLocale($this->application->getLocale()); $subscriber->setDefaultLocale($this->repository->get('app.locale')); $this->addSubscriber($subscriber, $manager, $reader); }
/** * {@inheritdoc} */ public function boot(Application $app) { if (!isset($app['db.event_manager'])) { throw new FatalErrorException('The DoctrineServiceProvider is not registered in this application'); } if (Environment::get('DOCTRINE_EXTENSION_ENABLE_SLUGGABLE') === true) { $listener = new SluggableListener(); $app['db.event_manager']->addEventSubscriber($listener); } if (Environment::get('DOCTRINE_EXTENSION_ENABLE_TREE') === true) { $listener = new TreeListener(); $app['db.event_manager']->addEventSubscriber($listener); } if (Environment::get('DOCTRINE_EXTENSION_ENABLE_LOGGABLE') === true) { $listener = new LoggableListener(); $app['db.event_manager']->addEventSubscriber($listener); } if (Environment::get('DOCTRINE_EXTENSION_ENABLE_TIMESTAMPABLE') === true) { $listener = new TimestampableListener(); $app['db.event_manager']->addEventSubscriber($listener); } if (Environment::get('DOCTRINE_EXTENSION_ENABLE_TRANSLATABLE') === true) { $listener = new TranslatableListener(); if (!isset($app['translator'])) { throw new FatalErrorException('The TranslationServiceProvider is not registered in this application'); } $listener->setTranslatableLocale($app['translator']->getLocale()); $listener->setDefaultLocale($app['translator']->getLocale()); $app['db.event_manager']->addEventSubscriber($listener); } if (Environment::get('DOCTRINE_EXTENSION_ENABLE_SORTABLE') === true) { $listener = new SortableListener(); $app['db.event_manager']->addEventSubscriber($listener); } }
public function create() { $listener = new TranslatableListener(); $listener->setDefaultLocale($this->defaultLocale); $listener->setTranslatableLocale($this->locale); return $listener; }
public function register(Container $c) { $c['doctrine_extensions.translatable.listener'] = function ($c) { $listener = new TranslatableListener(); $listener->setTranslatableLocale($c['locale']); $listener->setDefaultLocale($c['locale']); $listener->setAnnotationReader($c['annotation.reader']); return $listener; }; }
/** * @return $this * @throws \Exception */ public function setUpTranslateable() { $defaultLocale = $this->locale->getDefaultLocale(); if ($defaultLocale === null) { throw new \Exception('Default locale not found! Fraym is not correctly installed, please reinstall Fraym.'); } $this->translatableListener = new \Gedmo\Translatable\TranslatableListener(); $this->translatableListener->setDefaultLocale($defaultLocale->locale); $this->translatableListener->setAnnotationReader($this->cachedAnnotationReader); $this->translatableListener->setTranslationFallback(true); $this->translatableListener->setPersistDefaultLocaleTranslation(true); $this->eventManager->addEventSubscriber($this->translatableListener); return $this; }