# HG changeset patch # User Dan # Date 1262761371 18000 # Node ID 50f6c144ec68b3ca06ae8634db06d3d901248db5 # Parent c922ef08167a61e8101c6e01a4c0cef64a208623 Fixed some bugs with account activation, especially if you're a half-logged-in vegetable. diff -r c922ef08167a -r 50f6c144ec68 includes/common.php --- a/includes/common.php Wed Jan 06 01:18:19 2010 -0500 +++ b/includes/common.php Wed Jan 06 02:02:51 2010 -0500 @@ -400,9 +400,6 @@ profiler_log('Checked for (and ran, if applicable) preloader'); - // All checks passed! Start the main components up. - $session->start(); - // Add all of our built in special pages foreach ( array('SpecialUserFuncs', 'SpecialPageFuncs', 'SpecialAdmin', 'SpecialCSS', 'SpecialUpDownload', 'SpecialSearch', 'PrivateMessages', 'SpecialGroups', 'SpecialLog') as $plugin ) { @@ -414,6 +411,9 @@ } profiler_log('Added special pages'); + // All checks passed! Start the main components up. + $session->start(); + // This is where plugins will want to add pages from 1.1.x on out. You can still add // pages at base_classes_initted but the titles won't be localized. This is because // the session manager has to be started before localization will work in the user's diff -r c922ef08167a -r 50f6c144ec68 includes/functions.php --- a/includes/functions.php Wed Jan 06 01:18:19 2010 -0500 +++ b/includes/functions.php Wed Jan 06 02:02:51 2010 -0500 @@ -974,9 +974,10 @@ if ( @ob_get_status() ) ob_end_clean(); - - $paths->cpage['name'] = $t; - $template->tpl_strings['PAGE_NAME'] = $t; + + global $output; + + $output->set_title($t); $template->header(); echo $p; $template->footer(); @@ -1401,7 +1402,8 @@ '1.1.4' => 'Caoineag alpha 4', '1.1.5' => 'Caoineag alpha 5', '1.1.6' => 'Caoineag beta 1', - '1.1.7' => 'Caoineag beta 2' + '1.1.7' => 'Caoineag beta 2', + '1.1.8' => 'Caoineag beta 3', ); $version = enano_version(); if ( isset($names[$version]) ) diff -r c922ef08167a -r 50f6c144ec68 includes/sessions.php --- a/includes/sessions.php Wed Jan 06 01:18:19 2010 -0500 +++ b/includes/sessions.php Wed Jan 06 02:02:51 2010 -0500 @@ -440,11 +440,11 @@ if ( $strict ) { - return $namespace == 'Special' && in_array($page_id, array('CSS', 'Login', 'Logout', 'LangExportJSON')); + return $namespace == 'Special' && in_array($page_id, array('CSS', 'Login', 'Logout', 'LangExportJSON', 'ActivateAccount')); } else { - return $namespace == 'Admin' || ($namespace == 'Special' && in_array($page_id, array('CSS', 'Login', 'Logout', 'Administration'))); + return $namespace == 'Admin' || ($namespace == 'Special' && in_array($page_id, array('CSS', 'Login', 'Logout', 'Administration', 'LangExportJSON', 'ActivateAccount'))); } } @@ -2264,12 +2264,13 @@ $new_key = md5(AESCrypt::randkey()); $this->sql('UPDATE ' . table_prefix . 'users SET account_active = 1, activation_key = \'' . $new_key . '\' WHERE username=\''.$db->escape($user).'\' AND activation_key=\''.$db->escape($key).'\';'); $this->sql('INSERT INTO '.table_prefix.'logs(log_type,action,time_id,date_string,author,edit_summary) VALUES(\'security\', \'activ_good\', '.time().', \''.enano_date(ED_DATE | ED_TIME).'\', \''.$db->escape($user).'\', \''.$_SERVER['REMOTE_ADDR'].'\')'); + return true; } else { $this->sql('INSERT INTO '.table_prefix.'logs(log_type,action,time_id,date_string,author,edit_summary) VALUES(\'security\', \'activ_bad\', '.time().', \''.enano_date(ED_DATE | ED_TIME).'\', \''.$db->escape($user).'\', \''.$_SERVER['REMOTE_ADDR'].'\')'); + return false; } - return $r; } /** diff -r c922ef08167a -r 50f6c144ec68 plugins/SpecialUserFuncs.php --- a/plugins/SpecialUserFuncs.php Wed Jan 06 01:18:19 2010 -0500 +++ b/plugins/SpecialUserFuncs.php Wed Jan 06 02:02:51 2010 -0500 @@ -1299,7 +1299,7 @@ die_friendly($lang->get('userfuncs_activate_err_badlink_title'), '

' . $lang->get('userfuncs_activate_err_badlink_body') . '

'); } $s = $session->activate_account(str_replace('_', ' ', $user), $key); - if ( $s > 0 ) + if ( $s ) { die_friendly($lang->get('userfuncs_activate_success_title'), '

' . $lang->get('userfuncs_activate_success_body') . '

'); }