Exemplo n.º 1
0
 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 . '/');
         }
     }
 }
Exemplo n.º 2
0
 /**
  * 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);
 }