define("iSUPERADMIN", $userdata['user_level'] == -103 ? 1 : 0); define("iUSER", $userdata['user_level']); define("iUSER_RIGHTS", $userdata['user_rights']); define("iUSER_GROUPS", substr($userdata['user_groups'], 1)); // Get enabled language settings $language_opts = fusion_get_enabled_languages(); $enabled_languages = array_keys($language_opts); // If language change is initiated and if the selected language is valid if (isset($_GET['lang']) && valid_language($_GET['lang'])) { $lang = stripinput($_GET['lang']); set_language($lang); $redirectPath = clean_request("", array("lang"), FALSE); redirect($redirectPath); } // Main language detection procedure if (iMEMBER && valid_language($userdata['user_language'])) { define("LANGUAGE", $userdata['user_language']); define("LOCALESET", $userdata['user_language'] . "/"); } else { $data = dbarray(dbquery("SELECT * FROM " . DB_LANGUAGE_SESSIONS . " WHERE user_ip='" . USER_IP . "'")); if ($data['user_language']) { define("LANGUAGE", $data['user_language']); define("LOCALESET", $data['user_language'] . "/"); } } // Check if definitions have been set, if not set the default language to system language if (!defined("LANGUAGE")) { define("LANGUAGE", $settings['locale']); define("LOCALESET", $settings['locale'] . "/"); } // Language detection hub for multilingual content, detect, set correct language if it is not set
<?php define("dVALID", true); define("CHECK_TEMPLATE", true); require_once "include/functions.php"; require_once "include/init.php"; $v = new stdClass(); // puhasta url evaluate_url(); // siia mingi inputi valideerimine define("FORCED_LANG", $_GET["lang"]); $ex = explode(SLASH, $_GET["page"]); if (valid_language($ex[0])) { array_shift($ex); } $page = implode(SLASH, $ex); $subpages = false; // kas selline leht on olemas? $lang_page = language_oriented(PAGES, $page . PHP); if ($lang_page) { require_once PATH . PAGES . SLASH . FORCED_LANG . SLASH . $page . PHP; } elseif (file_exists(PATH . PAGES . SLASH . $page . PHP)) { require_once PATH . PAGES . SLASH . $page . PHP; } set_template($page); $lang_template = language_oriented(TEMPLATES, TEMPLATE . TWIG); // anna tagasi mille pihta kasutaja suunata if ($lang_template) { echo substr($lang_template . SLASH . TEMPLATE, 1); } elseif (file_exists(PATH . TEMPLATES . SLASH . TEMPLATE . TWIG)) { if (TEMPLATE == LANDING_PAGE) {
| can read by viewing the included agpl.txt or online | at www.gnu.org/licenses/agpl.html. Removal of this | copyright header is strictly prohibited without | written permission from the original author(s). +--------------------------------------------------------*/ require_once "maincore.php"; $settings = fusion_get_settings(); if ($settings['site_seo'] == "1" && !isset($_GET['aid'])) { define("IN_PERMALINK", TRUE); $router = new PHPFusion\Rewrite\Router(); $router->rewritePage(); $filepath = $router->getFilePath(); if (empty($filepath) && filter_var(PERMALINK_CURRENT_PATH, FILTER_VALIDATE_URL, FILTER_FLAG_SCHEME_REQUIRED)) { redirect(PERMALINK_CURRENT_PATH); } else { if (isset($_GET['lang']) && valid_language($_GET['lang'])) { $lang = stripinput($_GET['lang']); set_language($lang); $redirectPath = clean_request("", array("lang"), FALSE); redirect($redirectPath); } else { if (isset($_GET['logout']) && $_GET['logout'] == "yes") { $userdata = Authenticate::logOut(); redirect(BASEDIR . "index.php"); } else { if (!empty($filepath)) { if ($filepath == "index.php") { redirect($settings['opening_page']); } else { require_once $filepath; }
<?php function valid_language($language) { $valid_languages = array("chinglish", "traditional_chinese"); return in_array($language, $valid_languages); } $lang = valid_language($_GET['lang']) ? $_GET['lang'] : "traditional_chinese"; require_once "./language/" . $lang . ".inc.php";
function import_translations($file, $force_lang = false) { $l = new stdClass(); // olemasolevad keeled $languages = explode(";", TR_LANGUAGES); // kui sessioonis ei ole keelt veel määratud, siis määra default (force_lang seda ei määra) if (!isset($_SESSION["lang"])) { $_SESSION["lang"] = TR_DEFAULT; } $lang = $_SESSION["lang"]; // override sessiooni/default keel if ($force_lang && valid_language($force_lang)) { $lang = $force_lang; } // mitmes vaste tõlgetes on hetkekeele oma? $lang_pos = array_search($lang, $languages); $content = file_get_contents($file); $translations = explode(TR_SEPARATOR, $content); foreach ($translations as $line) { $line = trim($line); // kui stringis pole määratud eraldajat, siis ignoori if (strpos($line, TR_VAR) == false) { continue; } // löö tõlkerida laiali $ex = explode(TR_VAR, $line); $vx = explode(LN, $ex[0]); // viimane string massiivis on muutujanimi (kui esines reavahetusi (seoses keelefaili kommentaaridega jms)) $var = trim(array_pop($vx)); // mõlemad keelestringid $val = explode(TR_LANG, $ex[1]); // pikemate tõlgete jaoks proovi lahti lõhkuda ja trimmida ning seejärel uuesti kokku panna // tegelt see on vist ebavajalik üldse - võib ju jätta kõik need tabid või tühikud sisse /* $ex = explode(LN, $vx); $val = array(); foreach ($ex as $ln) $val[] = trim($ln); $val = implode("\n", $val); */ // pane valitud keelele vastava positsiooniga keelestring objekti ja trimmi $l->{TR_PRE . $var} = trim($val[$lang_pos]); } return $l; }
/** * Validate options values * * @param array $options */ function validate_option_values($options) { $values = array(); $i = 0; foreach ($options as $val) { $values[$i++] = $val; } if (isset($values['lang'])) { if (!valid_language($values['lang'])) { console_write_error('invalidvalueforlanguage'); console_write("\n", '', false); } } if (isset($values['webdir'])) { /** * @todo check valid directory path */ } if (isset($values['webaddr'])) { /** * @todo check valid http url */ } if (isset($values['moodledir'])) { /** * @todo check valid directory path */ } if (isset($values['datadir'])) { /** * @todo check valid directory path */ } if (isset($values['dbtype'])) { $dbtypes = array('mysql', 'oci8po', 'postgres7', 'mssql', 'mssql_n', 'odbc_mssql'); if (!in_array($values['dbtype'], $dbtypes)) { console_write_error('invaliddbtype'); } } if (isset($values['dbhost'])) { /** * @todo check host? */ } if (isset($values['dbname'])) { /** * @todo check name for valid ones if required */ } if (isset($values['dbuser'])) { /** * @todo check validity of db user if required */ } if (isset($values['dbpass'])) { /** * @todo check validity of database password if required */ } if (isset($values['prefix'])) { /** * @todo check for valid prefix */ } if (isset($values['sitefullname'])) { /** * @todo check for valid fullname for site */ } if (isset($values['siteshortname'])) { /** * @todo check for valid short name for site */ } if (isset($values['sitesummary'])) { /** * @todo check for valid summary */ } if (isset($values['sitenewsitems'])) { /** * @todo check for valid news items */ } if (isset($values['adminfirstname'])) { /** * @todo check for valid admin first name */ } if (isset($values['adminlastname'])) { /** * @todo check for valid last name */ } if (isset($values['adminusername'])) { /** * @todo check for valid username */ } if (isset($values['adminpassword'])) { /** * @todo check for valid password */ } if (isset($values['adminemail'])) { /** * @todo check for valid email */ } if (isset($values['verbose'])) { if (!valid_int_range($values['verbose'], CLI_NO, CLI_FULL)) { console_write_error('invalidverbosevalue'); } } if (isset($values['interactivelevel'])) { if (!valid_int_range($values['verbose'], CLI_NO, CLI_FULL)) { console_write_error('invalidinteractivevalue'); } } if (isset($values['help'])) { /** * @todo nothing really */ } }