Пример #1
0
 /**
  * @see Console\Command\Command
  */
 protected function execute(InputInterface $input, OutputInterface $output)
 {
     $entity = new \CmsModule\Content\Entities\LanguageEntity();
     $entity->setName($input->getArgument('name'));
     $entity->setShort($input->getArgument('short'));
     $entity->setAlias($input->getArgument('alias'));
     $this->repository->save($entity);
 }
Пример #2
0
 public function match(Nette\Http\IRequest $httpRequest)
 {
     if (($request = parent::match($httpRequest)) === NULL) {
         return;
     }
     if (!$this->locale) {
         $parameters = $request->getParameters();
         if (isset($parameters['contentLang']) && $parameters['contentLang'] !== $this->defaultLanguage) {
             $this->pageListener->setLocale($this->languageRepository->findOneBy(array('alias' => $parameters['contentLang'])));
         }
         $this->locale = TRUE;
     }
     return $request;
 }
Пример #3
0
 public function getLanguage()
 {
     if (!$this->_language) {
         $this->_language = $this->languageRepository->findOneBy(array('alias' => $this->lang));
     }
     return $this->_language;
 }
Пример #4
0
 protected function startup()
 {
     parent::startup();
     if ($this->contentLang) {
         $this->languageEntity = $this->languageRepository->findOneBy(array('alias' => $this->contentLang));
     } else {
         $this->languageEntity = $this->languageRepository->findOneBy(array('alias' => $this->websiteManager->defaultLanguage));
     }
 }
Пример #5
0
 /**
  * Redirect to other language.
  *
  * @param string $alias
  */
 public function handleChangeLanguage($alias)
 {
     if (($language = $this->languageRepository->findOneBy(array('alias' => $alias))) === NULL) {
         throw new BadRequestException();
     }
     if (!$this->getPage()->getLanguage()) {
         $this->getPage()->locale = $this->getRoute()->locale = $language;
         $this->redirect('this', array('route' => $this->getRoute(), 'lang' => $alias));
     }
     $page = $this->getPage()->parent;
     do {
         $page->mainRoute->locale = $language;
         $this->entityManager->refresh($page->mainRoute);
         if (!$page->getLanguage() || $page->getLanguage() == $language) {
             $this->redirect('this', array('route' => $page->mainRoute, 'lang' => $alias));
         }
         $page = $page->parent;
     } while ($page);
     throw new BadRequestException();
 }
Пример #6
0
 public function getCurrentLanguage()
 {
     return $this->languageRepository->findOneBy(array('alias' => $this->getPresenter()->lang));
 }