public static function xml($text, $lang = "") { if (!$lang) { $lang = status::lang(); } if ($text) { // multilingual text found if ($text->text) { $textNode = $text->XPath("../."); $xpath = "text[@lang='{$lang}']"; $default_xpath = "text[@lang='" . system::OLIV_DEFAULT_LANG() . "']"; $tempText = $text->XPath($xpath); $defaultTempText = $text->XPath($default_xpath); // return language test if (count($tempText) > 0) { return (string) $tempText[0]; } else { if (count($defaultTempText)) { return (string) $defaultTempText[0]; } } } else { return (string) $text; } } return FALSE; }
public function process($page) { $content = $page->structure(); if ($content) { $lang = status::lang(); $default_lang = system::OLIV_DEFAULT_LANG(); $texts = $content->XPath("//*/*[text]"); // translate all texts for ($i = 0; $i < count($texts); $i++) { $text = OLIVText::xml($texts[$i]); // set correct language in node if (is_array($texts)) { if (array_key_exists($i, $texts)) { if ($texts[$i]->text) { unset($texts[$i]->text); $texts[$i]->text = $text; } } } } } //echoall($content); }
argv::remove('val'); //------------------------------------------------------------------------------ // decode friendly url to parameters without mod_rewrite //TODO look if .htaccess exist if (isset($_SERVER['PATH_INFO'])) { $pathInfo = OLIVRoute::decode($_SERVER['PATH_INFO'], array("lang", "url")); } else { $pathInfo = array(); } // set language from friendly url if (array_key_exists('lang', $pathInfo)) { status::set('lang', $pathInfo['lang']); } // if no language set -> use default if (!status::lang()) { status::set('lang', system::OLIV_DEFAULT_LANG()); } // set url from friendly url if (array_key_exists('url', $pathInfo)) { status::set('url', $pathInfo['url']); } // set val from friendly url if (array_key_exists('val', $pathInfo)) { status::set('val', $pathInfo['val']); } //------------------------------------------------------------------------------ // update clipboard //------------------------------------------------------------------------------ // language definition => loaded from argv //TODO // if not in parameters