private function setLangFromUri() { $config = new Config(); if ($config->remoteLangFrom === 'uri') { $langList = new Bobr_LangList(); if (!empty($langList->items)) { $pattern = '@'; // Vytvorime si matchovaci patternu. foreach ($langList->getItems() as $lang) { $pattern .= $lang->symbol . '|'; } // Odstranime posledni znamenko. (je to |) $pattern = substr($pattern, 0, -1) . '@'; // Zjistime jestli podoporovany jazyk je v uri if (0 < preg_match($pattern, $this->get[Bobr_Request_HttpRequest::GET_VARIABLE], $matches)) { // Vytrovime samostatnou promenou a ulozime do ni symbol jazyka. $this->get[Bobr_Request_HttpGet::GET_LANG_VARIABLE] = $matches[0]; // Odebereme z uri symbol jazyka, vadil by pri dalsi praci. $this->get[Bobr_Request_HttpRequest::GET_VARIABLE] = str_replace($matches[0] . '/', '', $this->get[Bobr_Request_HttpRequest::GET_VARIABLE]); print_Re($this); return TRUE; } $this->get[self::GET_LANG_VARIABLE] = $config->defaultLang; Bobr_Request_HttpRequest::redirect($config->webRoot . $config->defaultLang . '/'); } else { throw new ErrorException('Neni podpora pro jazyky.'); //HttpRequest::redirect($config->webRoot . $config->defaultLang . '/'); } } }
/** * Spusti bobra. * */ private function getBobr() { // veskery odeslany obsah zacnem bufferovat ob_start(); echo '<p>Tyto blahy se daji vypnout v configu. Jedna se o debugMode</p>'; $this->setUser(); try { // Vytvorime si zaklad z url. $process = new Bobr_Process(); print_Re($process); if (0 < $process->getPageId()) { $page = new Bobr_Page_Page($process->pageId); // Nastavime jazyk pro popiskovac a dame mu i informaci o pageId kvuli cachovani $description = Bobr_DescriptionList::getInstance($process->getLang(), $process->getPageId()); // Nastavime jazyk generatoru linku Lib_LinkCreator::setLang($process->getLang()); // To co se do ted vypsalo vypisem pod html kodem. $errorOutput = ob_get_contents(); ob_end_clean(); $config = new Config(); $template = Bobr_Page_Template::getInstance(); $template->setContainerColection($page->getContainerColection())->setCommand($process->getCommand()); Bobr_Page_Template::add('title', 'Vitej'); $template->addCssLink($page->getCss()); $template->load(__WEB_ROOT__ . $config->share . $page->getTemplate(), FALSE); echo $template; } else { throw new Bobr_BobrException('Z nejakeho duvodu se nepovedlo nacist stranku.'); } } catch (Bobr_Page_PageException $e) { // Nemuze se vytvorit stranka, vyhodime nejvissi vyjimku. throw new Bobr_BobrException($e->getMessage()); } catch (Bobr_Page_TemplateException $e) { throw new Bobr_BobrException($e->getMessage()); } echo $this->getErrorOutput($errorOutput); }