diff -r 331e009416d5 -r 904fbf10f112 includes/sessions.php --- a/includes/sessions.php Mon Sep 29 08:24:26 2008 -0400 +++ b/includes/sessions.php Sun Nov 09 14:22:03 2008 -0500 @@ -473,7 +473,15 @@ } } $user = true; + + // set timezone params $GLOBALS['timezone'] = $userdata['user_timezone']; + $GLOBALS['dst_params'] = explode(';', $userdata['user_dst']); + foreach ( $GLOBALS['dst_params'] as &$parm ) + { + if ( substr($parm, -1) != 'd' ) + $parm = intval($parm); + } // Set language if ( !defined('ENANO_ALLOW_LOAD_NOLANG') ) @@ -1038,7 +1046,7 @@ // using a normal call to $db->sql_query to avoid failing on errors here $query = $db->sql_query('SELECT u.user_id AS uid,u.username,u.password,u.email,u.real_name,u.user_level,u.theme,u.style,u.signature,' . "\n" . ' u.reg_time,u.account_active,u.activation_key,u.user_lang,u.user_title,k.source_ip,k.time,k.auth_level,k.key_type,COUNT(p.message_id) AS num_pms,' . "\n" - . ' u.user_timezone, x.* FROM '.table_prefix.'session_keys AS k' . "\n" + . ' u.user_timezone, u.user_dst, x.* FROM '.table_prefix.'session_keys AS k' . "\n" . ' LEFT JOIN '.table_prefix.'users AS u' . "\n" . ' ON ( u.user_id=k.user_id )' . "\n" . ' LEFT JOIN '.table_prefix.'users_extra AS x' . "\n" @@ -1051,7 +1059,7 @@ if ( !$query && ( defined('IN_ENANO_INSTALL') or defined('IN_ENANO_UPGRADE') ) ) { - $query = $this->sql('SELECT u.user_id AS uid,u.username,u.password,u.email,u.real_name,u.user_level,u.theme,u.style,u.signature,u.reg_time,u.account_active,u.activation_key,k.source_ip,k.time,k.auth_level,COUNT(p.message_id) AS num_pms, 1440 AS user_timezone, ' . SK_SHORT . ' AS key_type FROM '.table_prefix.'session_keys AS k + $query = $this->sql('SELECT u.user_id AS uid,u.username,u.password,u.email,u.real_name,u.user_level,u.theme,u.style,u.signature,u.reg_time,u.account_active,u.activation_key,k.source_ip,k.time,k.auth_level,COUNT(p.message_id) AS num_pms, 1440 AS user_timezone, \'0;0;0;0;60\' AS user_dst, ' . SK_SHORT . ' AS key_type FROM '.table_prefix.'session_keys AS k LEFT JOIN '.table_prefix.'users AS u ON ( u.user_id=k.user_id ) LEFT JOIN '.table_prefix.'privmsgs AS p @@ -2707,7 +2715,8 @@ if ( !$q ) $db->_die(); - $groups = array(); + // The l10n engine takes care of this later. + $groups = array(1 => 'Everyone'); if ( $row = $db->fetchrow() ) { @@ -2983,7 +2992,7 @@ { if ( isset($perm2[$i]) ) { - if ( $is_everyone && !$defaults_used[$i] ) + if ( $is_everyone && isset($defaults_used[$i]) && $defaults_used[$i] === false ) continue; // Decide precedence if ( isset($defaults_used[$i]) ) @@ -3396,17 +3405,20 @@ global $db, $session, $paths, $template, $plugins; // Common objects // Setup EnanoMath and Diffie-Hellman - require_once(ENANO_ROOT.'/includes/math.php'); - global $dh_supported; - $dh_supported = true; - try + if ( !function_exists('dh_gen_private') ) { - require_once(ENANO_ROOT . '/includes/diffiehellman.php'); - } - catch ( Exception $e ) - { - $dh_supported = false; + require_once(ENANO_ROOT.'/includes/math.php'); + + $dh_supported = true; + try + { + require_once(ENANO_ROOT . '/includes/diffiehellman.php'); + } + catch ( Exception $e ) + { + $dh_supported = false; + } } global $_math;