function setup($lang_set = false, $style = false) { global $db, $template, $theme, $board_config, $phpEx, $phpbb_root_path, $mvModules; global $nav_links; if ($this->data['user_id'] != ANONYMOUS) { $this->lang_name = file_exists($phpbb_root_path . 'language/lang_' . $this->data['user_lang'] . "/lang_main.{$phpEx}") ? $this->data['user_lang'] : $board_config['default_lang']; $this->date_format = $this->data['user_dateformat']; $this->timezone = $this->data['user_timezone'] * 3600; $this->dst = 0; // Here (Dave Leave Here) } else { $this->lang_name = $board_config['default_lang']; $this->date_format = $board_config['default_dateformat']; $this->timezone = $board_config['board_timezone'] * 3600; $this->dst = 0; // Here (Dave Leave Here) } $this->lang_path = $phpbb_root_path . 'language/lang_' . $this->lang_name . '/'; $this->lang_module_path = $phpbb_root_path . 'modules/%s/language/lang_' . $this->lang_name . '/'; if ($board_config['override_user_style'] || $this->data['user_id'] == ANONYMOUS) { // Force Default or we are a Guest $style = $board_config['default_style']; } elseif (isset($_GET['style']) && $_GET['style'] != $style) { // Style ID Passed via GET takes priority global $SID; $style = intval($_GET['style']); $SID .= '&style=' . $style; } elseif ($style === FALSE) { $style = $this->data['user_style']; } $inc_langs = array(); // Languages We Need to Include. $inc_langs[] = 'main'; // $inc_langs[] = 'rate'; // HOW UGLY!!!!!!!!!!!!!!!!!!!!!!!!! if (defined('IN_ADMIN')) { $inc_langs[] = 'admin'; } if (defined('IN_CASHMOD')) { $inc_langs[] = 'cash'; } foreach ($mvModules as $name => $value) { if ($value['state'] != 1 && $value['state'] != 5) { continue; } $inc_langs[] = "{$name}:main"; if (defined('IN_ADMIN')) { $inc_langs[] = "{$name}:admin"; } } $this->add_lang($inc_langs); $this->add_lang($lang_set); $this->lang_extend(); $theme = $this->setup_style($style); global $mods, $list_yes_no; // get all the mods settings $dir = @opendir($phpbb_root_path . 'includes/mods_settings'); while (($file = @readdir($dir)) !== FALSE) { if (preg_match("/^mod_.*?\\." . $phpEx . "\$/", $file)) { include_once $phpbb_root_path . 'includes/mods_settings/' . $file; } } @closedir($dir); global $admin_level, $level_prior, $level_desc; global $values_list, $tables_linked, $classes_fields, $user_maps, $user_fields; global $list_yes_no; include_once $phpbb_root_path . 'profilcp/functions_profile.' . $phpEx; read_cookies($this->data); global $tree; if (!isset($tree['auth']) || empty($tree['auth'])) { get_user_tree($this->data); } $endtime = explode(' ', microtime()); //echo (( $endtime[0] + $endtime[1] ) - $begin_t) . "<br />"; //echo $db->num_queries - $b4; unset($endtime); // // Mozilla navigation bar // Default items that should be valid on all pages. // Defined here to correctly assign the Language Variables // and be able to change the variables within code. // $nav_links['top'] = array('url' => append_sid($phpbb_root_path . 'index.' . $phpEx), 'title' => sprintf($this->lang['Forum_Index'], $board_config['sitename'])); $nav_links['search'] = array('url' => append_sid($phpbb_root_path . 'search.' . $phpEx), 'title' => $this->lang['Search']); $nav_links['help'] = array('url' => append_sid($phpbb_root_path . 'faq.' . $phpEx), 'title' => $this->lang['FAQ']); $nav_links['author'] = array('url' => append_sid($phpbb_root_path . 'memberlist.' . $phpEx), 'title' => $this->lang['Memberlist']); return; }
function init_userprefs($userdata) { global $db, $HTTP_GET_VARS, $HTTP_POST_VARS, $HTTP_COOKIE_VARS; global $board_config, $theme, $images; global $template, $lang, $phpEx, $phpbb_root_path, $db; global $nav_links; if ($userdata['user_id'] != ANONYMOUS) { if (!empty($userdata['user_lang'])) { $default_lang = phpbb_ltrim(basename(phpbb_rtrim($userdata['user_lang'])), "'"); } if (!empty($userdata['user_dateformat'])) { $board_config['default_dateformat'] = $userdata['user_dateformat']; } if (isset($userdata['user_timezone'])) { $board_config['board_timezone'] = $userdata['user_timezone']; } if (isset($userdata['user_use_rel_date'])) { $board_config['ty_use_rel_date'] = $userdata['user_use_rel_date']; } if (isset($userdata['user_use_rel_time'])) { $board_config['ty_use_rel_time'] = $userdata['user_use_rel_time']; } } else { $default_lang = phpbb_ltrim(basename(phpbb_rtrim($board_config['default_lang'])), "'"); } if (!file_exists(@phpbb_realpath($phpbb_root_path . 'language/lang_' . $default_lang . '/lang_main.' . $phpEx))) { if ($userdata['user_id'] != ANONYMOUS) { // For logged in users, try the board default language next $default_lang = phpbb_ltrim(basename(phpbb_rtrim($board_config['default_lang'])), "'"); } else { // For guests it means the default language is not present, try english // This is a long shot since it means serious errors in the setup to reach here, // but english is part of a new install so it's worth us trying $default_lang = 'french'; } if (!file_exists(@phpbb_realpath($phpbb_root_path . 'language/lang_' . $default_lang . '/lang_main.' . $phpEx))) { message_die(CRITICAL_ERROR, 'Could not locate valid language pack'); } } // If we've had to change the value in any way then let's write it back to the database // before we go any further since it means there is something wrong with it if ($userdata['user_id'] != ANONYMOUS && $userdata['user_lang'] !== $default_lang) { $sql = 'UPDATE ' . USERS_TABLE . "\r\n\t\t\tSET user_lang = '" . $default_lang . "'\r\n\t\t\tWHERE user_lang = '" . $userdata['user_lang'] . "'"; if (!($result = $db->sql_query($sql))) { message_die(CRITICAL_ERROR, 'Could not update user language info'); } $board_config['default_lang'] = $default_lang; $userdata['user_lang'] = $default_lang; } elseif ($board_config['default_lang'] !== $default_lang) { $sql = 'UPDATE ' . CONFIG_TABLE . "\r\n\t\t\tSET config_value = '" . $default_lang . "'\r\n\t\t\tWHERE config_name = 'default_lang'"; if (!($result = $db->sql_query($sql))) { message_die(CRITICAL_ERROR, 'Could not update user language info'); } $board_config['default_lang'] = $default_lang; } include $phpbb_root_path . 'language/lang_' . $board_config['default_lang'] . '/lang_main.' . $phpEx; include $phpbb_root_path . 'adr/language/lang_' . $board_config['default_lang'] . '/lang_adr_common_main.' . $phpEx; include $phpbb_root_path . 'adr/language/lang_' . $board_config['default_lang'] . '/lang_adr_TownMap_main.' . $phpEx; if (defined('IN_ADMIN')) { if (!file_exists(@phpbb_realpath($phpbb_root_path . 'language/lang_' . $board_config['default_lang'] . '/lang_admin.' . $phpEx))) { $board_config['default_lang'] = 'french'; } include $phpbb_root_path . 'language/lang_' . $board_config['default_lang'] . '/lang_admin.' . $phpEx; include $phpbb_root_path . 'adr/language/lang_' . $board_config['default_lang'] . '/lang_adr_common_admin.' . $phpEx; } //MOD Keep_unread_2 read_cookies($userdata); //-- mod : language settings --------------------------------------------------- //-- add include $phpbb_root_path . 'includes/lang_extend_mac.' . $phpEx; //-- fin mod : language settings ----------------------------------------------- // Disable board if needed board_disable(); if (!defined('NO_ATTACH_MOD')) { include_attach_lang(); } // // Set up style // if (!$board_config['override_user_style']) { if (isset($HTTP_GET_VARS[STYLE_URL])) { $style = urldecode($HTTP_GET_VARS[STYLE_URL]); if ($theme = setup_style($style)) { if ($theme['themes_id'] == $userdata['user_style']) { return; } if ($userdata['user_id'] != ANONYMOUS) { // user logged in --> save new style ID in user profile $sql = "UPDATE " . USERS_TABLE . " \r\n\t\t\t\t\t\tSET user_style = " . $theme['themes_id'] . "\r\n\t\t\t\t\t\tWHERE user_id = " . $userdata['user_id']; if (!$db->sql_query($sql)) { message_die(CRITICAL_ERROR, 'Error updating user style', '', __LINE__, __FILE__, $sql); } $userdata['user_style'] = $theme['themes_id']; } else { // user not logged in --> save new style ID in cookie setcookie($board_config['cookie_name'] . '_style', $style, time() + 31536000, $board_config['cookie_path'], $board_config['cookie_domain'], $board_config['cookie_secure']); } return; } } if ($userdata['user_id'] == ANONYMOUS && isset($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_style'])) { $style = $HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_style']; if ($theme = setup_style($style)) { return; } } if ($userdata['user_id'] != ANONYMOUS && $userdata['user_style'] > 0) { if ($theme = setup_style($userdata['user_style'])) { return; } } } $theme = setup_style($board_config['default_style']); // // Mozilla navigation bar // Default items that should be valid on all pages. // Defined here to correctly assign the Language Variables // and be able to change the variables within code. // $nav_links['top'] = array('url' => append_sid($phpbb_root_path . 'index.' . $phpEx), 'title' => sprintf($lang['Forum_Index'], $board_config['sitename'])); $nav_links['search'] = array('url' => append_sid($phpbb_root_path . 'search.' . $phpEx), 'title' => $lang['Search']); $nav_links['help'] = array('url' => append_sid($phpbb_root_path . 'faq.' . $phpEx), 'title' => $lang['FAQ']); $nav_links['author'] = array('url' => append_sid($phpbb_root_path . 'memberlist.' . $phpEx), 'title' => $lang['Memberlist']); return; }