Показать сообщение отдельно
makfatum вне форума      Старый Проблема При Входе На Форум после установки мода Yellow card 1.4.12 #1  
makfatum
Новенький
Регистрация: 12.07.2006
Сообщения: 15


Пожаловаться на это сообщениеОтветить с цитированием

Посмотреть профиль Отправить персональное сообщение для makfatum Найти все сообщения от makfatum Добавить makfatum в список друзей  
22.08.2007, 09:12

Добрый день!
Предистория здесь: http://nukefiles.ru/forum/index.php?showtopic=14379

Кратко:
Php-nuke 7.9
Пользуюсь встроенным bb2nuke (версия phpbb 2.0.17)

После установки мода на форум - Yellow card 1.4.12 пользователи не могут войти на форум, будучи авторизованными на сайте. Просходит это после изменения личных данных в профиле. Т.е. поле user_active у пользователя после изменений в профиле становится "0", и пользователь не может попасть на форум
При входе на форум отображается следующее:

http://img292.imageshack.us/img292/...00000000io7.jpg


Установку 2 раза перепроверял, все сделал по шагам.
Пологаю, что собака зарыта здесь: файл usercp_register.php в коде, отвечающим за UPDATE после изменения личных данных в профиле

сам разобраться не смог, буду благодарен за помощь

PHP код:
 if ( $mode == 'editprofile' )
                {
                        if ( 
$email != $userdata['user_email'] && $board_config['require_activation'] != USER_ACTIVATION_NONE && $userdata['user_level'] != ADMIN )
                        {
                                
$user_active 0;

                                
$user_actkey gen_rand_string(true);
                                
$key_len 54 - ( strlen($server_url) );
                                
$key_len = ( $key_len ) ? $key_len 6;
                                
$user_actkey substr($user_actkey0$key_len);

                                if ( 
$userdata['session_logged_in'] )
                                {
                                        
session_end($userdata['sid'], $userdata['user_id']);
                                }
                        }
                        else
                        {
                                
$user_active 1;
                                
$user_actkey '';
                        }

$sql "UPDATE " USERS_TABLE " SET " $username_sql $passwd_sql "user_email = '" str_replace("\'""''"$email) ."', user_icq = '" str_replace("\'""''"$icq) . "', user_website = '" str_replace("\'""''"$website) . "', user_occ = '" str_replace("\'""''"$occupation) . "', user_from = '" str_replace("\'""''"$location) . "', user_interests = '" str_replace("\'""''"$interests) . "', user_sig = '" str_replace("\'""''"$signature) . "', user_sig_bbcode_uid = '$signature_bbcode_uid', user_viewemail = '$viewemail', user_aim = '" str_replace("\'""''"str_replace(' ''+'$aim)) . "', user_yim = '" str_replace("\'""''"$yim) . "', user_msnm = '" str_replace("\'""''"$msn) . "', user_attachsig = '$attachsig', user_allowsmile = '$allowsmilies', user_allowhtml = '$allowhtml', user_allowbbcode = '$allowbbcode', user_allow_viewonline = '$allowviewonline', user_notify = '$notifyreply', user_notify_pm = '$notifypm', user_popup_pm = '$popup_pm', user_timezone = '$user_timezone', user_dateformat = '" str_replace("\'""''"$user_dateformat) . "', user_lang = '" str_replace("\'""''"$user_lang) . "', user_style = '$user_style', user_active = '$user_active', user_actkey = '" str_replace("\'""''"$user_actkey) . "'" $avatar_sql "
WHERE user_id = '
$user_id'";

if ( !(
$result $db->sql_query($sql)) )
                        {
                                
message_die(GENERAL_ERROR'Could not update users table'''__LINE____FILE__$sql);
                        } else {

                            
getusrinfo($user);
                                    
docookie($userinfo["user_id"],$userinfo["username"],$userinfo["user_password"],$userinfo["storynum"],$userinfo["umode"],$userinfo["uorder"],$userinfo["thold"],$userinfo["noscore"],$userinfo["ublockon"],$userinfo["theme"],$userinfo["commentmax"]);
                        }

                        if ( !
$user_active )
                        { 
и т.д.... 


В инструкции по поводу изменений в данном коде написано следующее:

Цитата #-----[ Откройте ]------------------------------------------------
#
includes/usercp_register.php

#
#-----[ Найдите ]------------------------------------------------
#
$user_active = 1;
$user_actkey = '';

#
#-----[ Замените на ]----------------------------------------
#
$user_active = 'user_active';
$user_actkey = 'user_actkey';

#
#-----[ Найдите ]------------------------------------------------
#
$sql = "UPDATE " . USERS_TABLE . "
SET " . $username_sql . $passwd_sql . "user_email = '" . str_replace("\'", "''", $email) ."', user_icq = '" . str_replace("\'", "''", $icq) . "', user_website = '" . str_replace("\'", "''", $website) . "', user_occ = '" . str_replace("\'", "''", $occupation) . "', user_from = '" . str_replace("\'", "''", $location) . "', user_interests = '" . str_replace("\'", "''", $interests) . "', user_sig = '" . str_replace("\'", "''", $signature) . "', user_sig_bbcode_uid = '$signature_bbcode_uid', user_viewemail = '$viewemail', user_aim = '" . str_replace("\'", "''", str_replace(' ', '+', $aim)) . "', user_yim = '" . str_replace("\'", "''", $yim) . "', user_msnm = '" . str_replace("\'", "''", $msn) . "', user_attachsig = '$attachsig', user_allowsmile = '$allowsmilies', user_allowhtml = '$allowhtml', user_allowbbcode = '$allowbbcode', user_allow_viewonline = '$allowviewonline', user_notify = '$notifyreply', user_notify_pm = '$notifypm', user_popup_pm = '$popup_pm', user_timezone = '$user_timezone', user_dateformat = '" . str_replace("\'", "''", $user_dateformat) . "', user_show_quickreply = $user_show_quickreply, user_quickreply_mode = $user_quickreply_mode, user_lang = '" . str_replace("\'", "''", $user_lang) . "', user_style = '$user_style', user_active = '$user_active', user_actkey = '" . str_replace("\'", "''", $user_actkey) . "'" . $avatar_sql . "
WHERE user_id = '$user_id'";

#
#-----[ В линии, Найдите ]----------------------------------------
#
user_actkey = '" . str_replace("\'", "''", $user_actkey) . "'

#
#-----[ В линии, Замените на ]--------------------------------
#
user_actkey = '$user_actkey'