/** * Defines the start page. * * @param string $startPage * @param \Ilch\Translator $translator * @return null */ public function defineStartPage($startPage, $translator) { if (!empty($this->query)) { return; } $config = \Ilch\Registry::get('config'); $locale = ''; if ((bool) $config->get('multilingual_acp')) { if ($translator->getLocale() != $config->get('content_language')) { $locale = $translator->getLocale(); } } if (strpos($startPage, 'module_') !== false) { $this->request->setModuleName(str_replace('module_', '', $startPage)); $this->request->setControllerName('index'); $this->request->setActionName('index'); } elseif (strpos($startPage, 'page_') !== false) { $this->request->setModuleName('page'); $this->request->setControllerName('index'); $this->request->setActionName('show'); $this->request->setParam('id', str_replace('page_', '', $startPage)); $this->request->setParam('locale', $locale); } elseif (strpos($startPage, 'layouts_') !== false) { $this->request->setModuleName(str_replace('layouts_', '', $startPage)); $this->request->setControllerName('index'); } else { $this->request->setModuleName(DEFAULT_MODULE); $this->request->setControllerName('index'); $this->request->setActionName('index'); } }
/** * Test if the locale gets set correctly when no one was given in * the constructor. */ public function testRequestLocaleDefinitionDefault() { $translator = new Translator(); $this->assertEquals('de_DE', $translator->getLocale()); }