Проблема При Входе На Форум после установки мода Yellow card 1.4.12
# 1
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 > 6 ) ? $key_len : 6 ;
$user_actkey = substr ( $user_actkey , 0 , $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'
24.08.2007, 07:59
рассмотрю вопрос решения данной проблемы за $
25.08.2007, 23:19
Сделав намеренно ошибку в запросе на UPDATE - посмотрел, что там в нем передается....
Цитата
Could not update users table
DEBUG MODE
UPDATE nuke_users SET user_email = 'электропочта@mail.ru', user_icq = '777777', user_website = 'мой сайт.ру', user_occ = '', user_from = 'Город', user_interests = ' интересы', user_sig = 'подпись', user_sig_bbcode_uid = 'dc5097c374', user_viewemail = '1', user_aim = '', user_yim = '', user_msnm = '', user_attachsig = '0', user_allowsmile = '1', user_allowhtml = '1', user_allowbbcode = '1', user_allow_viewonline = '0', user_notify = '1', user_notify_pm = '1', user_popup_pm = '1', user_timezone = '6', user_dateformat = 'D M d, Y H:i', user_show_quickreply = , user_quickreply_mode = , user_lang = 'russian', user_style = '1', user_active = 'user_active', user_actkey = 'user_actkey' WHERE user_id = '2'
Line : 524
File : usercp_register.php
Почему-то
user_active и
user_actkey в запросе не передаются как "0" или "1" подобно всем остальным данным!
Подскажите пожалуйста, Почему?
28.08.2007, 02:03
пробовал сам ставить желтые карточки так форум вовсе перестал грузиться.
на днях попробую еще раз получиться - расскажу что у вас не так...
28.08.2007, 09:33
спасибо, буду ждать!
у меня мод и форум работают, только вот с этим с блокированием пользователей проблемы.
2 раза мод переустанавливал уже по инструкции - проблема осталась...
28.08.2007, 11:29
makfatum просто не производите изменения:
Код:
#
#-----[ Найдите ]------------------------------------------------
#
$user_active = 1;
$user_actkey = '';
#
#-----[ Замените на ]----------------------------------------
#
$user_active = 'user_active';
$user_actkey = 'user_actkey';
и все будет работать
"Если бы вам удалось надавать под зад человеку, виноватому в большинстве ваших неприятностей - вы бы неделю не смогли сидеть".
Опции темы
Поиск в этой теме
Опции просмотра
Линейный вид
Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
Часовой пояс GMT +4, время: 01:33 .