function TranslationEngine($lang = "english") { global $GlobalDatabase; _filter_var($lang); if (is_language_supported($lang)) { $this->Language = $lang; $this->LanguageTable = "lang_{$this->Language}"; } else { $this->Language = "english"; $this->LanguageTable = ""; } /** * no need to create database connection for English * because it won't be used... */ if ($this->Language != 'english') { if (!isset($GlobalDatabase)) { include 'configs/globals.php'; $dsn = array('phptype' => $db_type, 'username' => $db_username, 'password' => $db_password, 'hostspec' => $db_host, 'database' => $db_name); $options = array('debug' => 2, 'portability' => DB_PORTABILITY_ALL); $this->Database =& DB::connect($dsn, $options); if (PEAR::isError($this->Database)) { die($this->Database->getMessage()); } $q =& $this->Database->query("SET NAMES utf8;"); if (PEAR::isError($q)) { die($q->getMessage()); } } else { $this->Database = $GlobalDatabase; } } }
$db->set_user_id($user_id); } } // check if user have admin rights if (in_array(TOKEN, $vhosts_admins[XMPP_HOST]) === true) { define(ADMIN_NAME, TOKEN); } // run only for admins if (TOKEN === ADMIN_NAME) { $time_start = getmicrotime(); } // If language not set or not found in cookie, set default language if (preg_match("/index.php/i", $location) or preg_match("/not_enabled.php/i", $location)) { // Set defaults only if language was not selected if ($language_found !== true) { if (is_language_supported($_COOKIE["jorge_language"], $language_support) === true) { debug(DEBUG, "Setting language according to cookie"); require 'lang/' . $_COOKIE["jorge_language"] . '.php'; $sess->set('language', $_COOKIE["jorge_language"]); } else { debug(DEBUG, "Language cookie not found, using defaults"); require 'lang/' . $language_support[default_language][0] . '.php'; $sess->set('language', $language_support[default_language][0]); } } } // Get language from session $lang = $sess->get('language'); $html->headers(' <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html>
// Suppress all errors error_reporting(E_NONE); require "func.php"; require "class.sessions.php"; require "class.ejabberd_xmlrpc.php"; require "class.db.php"; require "class.roster.php"; require "class.helper.php"; require "config.php"; ob_start(); // init session $sess = new session(); // Select language if ($sess->get('language')) { // Validate language setting in session if (is_language_supported($sess->get('language'), $language_support) === true) { require 'lang/' . $sess->get('language') . '.php'; } else { // In case of invalid session, overwrite value require 'lang/' . $language_support[default_language][0] . '.php'; $sess->set('language', $language_support[default_language][0]); } } else { // If no lang in sess, set it anyway... require 'lang/' . $language_support[default_language][0] . '.php'; $sess->set('language', $language_support[default_language][0]); } // language $lang = $sess->get('language'); define(XMPP_HOST, $sess->get('vhost')); $xmpp_host = str_replace(".", "_", XMPP_HOST);
$db->get_jorge_pref(); $pref_res = $db->result; foreach ($pref_res as $res_pref) { if ($res_pref[pref_id] == "1") { if ($res_pref[pref_value] == "2") { $view_type = "2"; $tmp_v = "calendar_view.php"; } elseif ($res_pref[pref_value] == "1") { $view_type = "1"; $tmp_v = "main.php"; } $sess->set('view_type', $view_type); } if ($res_pref[pref_id] == "2") { // Check if language is supported, return value if it is $check_language = is_language_supported($res_pref[pref_value], $language_support, 1, true); // function can return true/false/value, in this case we need value and not false if ($check_language !== false) { // set language according to database setup setcookie("jorge_language", $check_language, time() + 2592000); $sess->set('language', $check_language); } else { // this is where language was not found in settings, so use default setcookie("jorge_language", $language_support[default_language][1], time() + 2592000); $sess->set('language', $check_language); } } } if ($tmp_v == "") { $sess->set('view_type', 2); $tmp_v = "calendar_view.php";