Обновление 2.0.19 изменением кода

Проблемы с установкой или работой phpBB 2.0.x? Получите помощь здесь!
Правила форума
Если на ваш вопрос есть ответы по ниже следующим ссылкам, ваш пост удаляется без объяснения причин!!!
А вы рискуете получить предупреждение или бан (в зависимости от настроения модератора).


Местная Конституция | Шаблон запроса | Документация (phpBB3) | FAQ-2 (phpbb2) | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Обновление 2.0.19 изменением кода

Сообщение nikspb78 18.01.2008 22:38

В php я не силен, поэтому очень прошу помочь разобраться...
Есть форум 2.0.19 с кучей модов, которые я бы не хотел терять. Поэтому обновлять заменой файлов я сразу отказался и решил обновлять потихоньку заменой кода, для начала до версии 2.0.20. Так вот. Когда дошел до файла login.php столкнулся с проблемой:
Код: Выделить всё
#-----[ OPEN ]---------------------------------------------
#
login.php

#
#-----[ FIND ]---------------------------------------------
# Line 80
               $row['user_last_login_try'] >= (time() - ($board_config['login_reset_time'] * 60)) && $row['user_login_tries'] >= $board_config['max_login_attempts'])

#
#-----[ REPLACE WITH ]---------------------------------------------
#
               $row['user_last_login_try'] >= (time() - ($board_config['login_reset_time'] * 60)) && $row['user_login_tries'] >= $board_config['max_login_attempts'] && $userdata['user_level'] != ADMIN)

Не смог найти в своем файле ничего даже отдаленно похожего на
Код: Выделить всё
['user_last_login_try'] >= (time() - ($board_config['login_reset_time'] * 60)) && $row['user_login_tries'] >= $board_config['max_login_attempts'])

Вот кусочек моего кода, строки 67-96:
Код: Выделить всё
      if( $row = $db->sql_fetchrow($result) )
      {
         if( $row['user_level'] != ADMIN && $board_config['board_disable'] )
         {
            redirect(append_sid("index.$phpEx", true));
         }
         else
         {
            if( md5($password) == $row['user_password'] && $row['user_active'] )
            {
               $autologin = ( isset($HTTP_POST_VARS['autologin']) ) ? TRUE : 0;

               $admin = (isset($HTTP_POST_VARS['admin'])) ? 1 : 0;
               $session_id = session_begin($row['user_id'], $user_ip, PAGE_INDEX, FALSE, $autologin, $admin);

               if( $session_id )
               {
                  $url = ( !empty($HTTP_POST_VARS['redirect']) ) ? str_replace('&', '&', htmlspecialchars($HTTP_POST_VARS['redirect'])) : "index.$phpEx";
                  redirect(append_sid($url, true));
               }
               else
               {
                  message_die(CRITICAL_ERROR, "Couldn't start session : login", "", __LINE__, __FILE__);
               }
            }
            else
            {
               $redirect = ( !empty($HTTP_POST_VARS['redirect']) ) ? str_replace('&', '&', htmlspecialchars($HTTP_POST_VARS['redirect'])) : '';
               $redirect = str_replace('?', '&', $redirect);

Не стал цитировать код целиком. К сообщению прикрепил файл login.txt...
Возможно, код изменен каким-то модом.
А вопрос в следующем: мне не найти строку из-за того, что был установлен какой-то мод? Если да, то где эта искомая строка должна стоять?... Помогите, пожалуйста!...
Вложения
login.txt
файл login.php из форума
(7.8 Кб) Скачиваний: 32
Аватара пользователя
nikspb78
phpBB 1.0.0
 
Сообщения: 3
Зарегистрирован: 18.01.2008 20:03


Сообщение Kastaneda 18.01.2008 23:05

Да вроде код не изменён никаким модом. Возможно это следствие неправильного обновления когда-либо. Строго говоря, файл login.php затрагивают очень мало модов. Из наиболее известных по-моему только ezPortal что-то там меняет.
Kastaneda
Localization Team Leader
 
Сообщения: 738
Зарегистрирован: 06.10.2004 13:29

Сообщение Shock13666 18.01.2008 23:07

Возможно какой то мод. Вот кусок из оригинального 2.0.22. Словами "Начало" и "Конец" я обрамил кусок, которого у тебя не хватает

Код: Выделить всё
      if( $row = $db->sql_fetchrow($result) )
      {
         if( $row['user_level'] != ADMIN && $board_config['board_disable'] )
         {
            redirect(append_sid("index.$phpEx", true));
         }
         else
         {
            // НАЧАЛО. If the last login is more than x minutes ago, then reset the login tries/time
            if ($row['user_last_login_try'] && $board_config['login_reset_time'] && $row['user_last_login_try'] < (time() - ($board_config['login_reset_time'] * 60)))
            {
               $db->sql_query('UPDATE ' . USERS_TABLE . ' SET user_login_tries = 0, user_last_login_try = 0 WHERE user_id = ' . $row['user_id']);
               $row['user_last_login_try'] = $row['user_login_tries'] = 0;
            }
            
            // Check to see if user is allowed to login again... if his tries are exceeded
            if ($row['user_last_login_try'] && $board_config['login_reset_time'] && $board_config['max_login_attempts'] &&
               $row['user_last_login_try'] >= (time() - ($board_config['login_reset_time'] * 60)) && $row['user_login_tries'] >= $board_config['max_login_attempts'] && $userdata['user_level'] != ADMIN)
            {
               message_die(GENERAL_MESSAGE, sprintf($lang['Login_attempts_exceeded'], $board_config['max_login_attempts'], $board_config['login_reset_time']));
            }
            // КОНЕЦ
            if( md5($password) == $row['user_password'] && $row['user_active'] )
            {
Музыка - как вино. Некачественная попса, со временем, превращается в уксус.. Рок же только обретает свой истинный вкус..
Я не нацист. Но когда кто нибудь осмелится высказать криво о моей стране я прихожу в ярость.
Немножко знаю xHTML, CSS, слышал про JavaScript, PHP. Уже год использую и стараюсь понять, как устроен phpBB.
[ Mozilla Firefox User ] [ Web Dev panel for FF ] [ xHTML 1.0 Strict ] [ Valid CSS 2.1 ] [ Да, я маньяк! ] [ Я ВКонтакте! ]
Аватара пользователя
Shock13666
phpBB 2.0.5
 
Сообщения: 237
Зарегистрирован: 19.11.2007 17:51
Откуда: Киев

Сообщение nikspb78 18.01.2008 23:31

Shock13666, не-не. У меня-то не 0.22, а 0.19..
То есть, я правильно понял, вы считаете, что если я просто залью оригинальный login.php из полного дистрибутива 2.0.20, то ничего критического не произойдет? Разумеется, предварительно обновив все остальные файлы?
Аватара пользователя
nikspb78
phpBB 1.0.0
 
Сообщения: 3
Зарегистрирован: 18.01.2008 20:03

Сообщение Kastaneda 18.01.2008 23:56

nikspb78 писал(а):вы считаете, что если я просто залью оригинальный login.php из полного дистрибутива 2.0.20

Думаю ничего страшного не произойдёт.
Kastaneda
Localization Team Leader
 
Сообщения: 738
Зарегистрирован: 06.10.2004 13:29

Сообщение Палыч 19.01.2008 0:14

nikspb78
Вот оригинальный код 2.0.19

http://phpbb.cvs.sourceforge.net/phpbb/ ... ase_2_0_19

Сравнивайте, разберётесь.

Добавлено спустя 1 минуту 41 секунду:

Правда, строка не 80, а 85 :wink:
Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.
Никогда не бойся делать то, что ты пока не умеешь. Помни, что Ковчег был построен любителем. Профессионалы строили Титаник...
Аватара пользователя
Палыч
Просто Палыч
 
Сообщения: 6910
Зарегистрирован: 24.05.2006 22:20
Откуда: Питер

Сообщение Shock13666 19.01.2008 0:23

Чет я не понимаю. Строки 80-85:
Код: Выделить всё
   80    $redirect = (!empty($_SERVER['QUERY_STRING'])) ? preg_replace('#^sid=[a-z0-9]*?&?(redirect=.*?)$#', '\1', $_SERVER['QUERY_STRING']) : '';
   81
   82    $template->assign_vars(array(
   83       'U_SEND_PASSWORD'    => "ucp.$phpEx$SID&amp;mode=sendpassword",
   84       'U_TERMS_USE'      => "ucp.$phpEx$SID&amp;mode=terms",
   85       'U_PRIVACY'         => "ucp.$phpEx$SID&amp;mode=privacy",

Какое отношение они имеют к вышеуказанному?
Музыка - как вино. Некачественная попса, со временем, превращается в уксус.. Рок же только обретает свой истинный вкус..
Я не нацист. Но когда кто нибудь осмелится высказать криво о моей стране я прихожу в ярость.
Немножко знаю xHTML, CSS, слышал про JavaScript, PHP. Уже год использую и стараюсь понять, как устроен phpBB.
[ Mozilla Firefox User ] [ Web Dev panel for FF ] [ xHTML 1.0 Strict ] [ Valid CSS 2.1 ] [ Да, я маньяк! ] [ Я ВКонтакте! ]
Аватара пользователя
Shock13666
phpBB 2.0.5
 
Сообщения: 237
Зарегистрирован: 19.11.2007 17:51
Откуда: Киев

Сообщение Палыч 19.01.2008 0:57

Shock13666
А вы что смотрите то..? По-моему, вы нажали просмотр "головной" (изначальной) версии 8)

Версия 2.0.19
Код: Выделить всё
80                $row['user_last_login_try'] = $row['user_login_tries'] = 0;
   81             }
   82
   83             // Check to see if user is allowed to login again... if his tries are exceeded
   84             if ($row['user_last_login_try'] && $board_config['login_reset_time'] && $board_config['max_login_attempts'] &&
   85                $row['user_last_login_try'] >= (time() - ($board_config['login_reset_time'] * 60)) && $row['user_login_tries'] >= $board_config['max_login_attempts'])
Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.
Никогда не бойся делать то, что ты пока не умеешь. Помни, что Ковчег был построен любителем. Профессионалы строили Титаник...
Аватара пользователя
Палыч
Просто Палыч
 
Сообщения: 6910
Зарегистрирован: 24.05.2006 22:20
Откуда: Питер

Сообщение Shock13666 19.01.2008 1:02

Дада. Теперь все так.
Последний раз редактировалось Shock13666 19.01.2008 2:08, всего редактировалось 1 раз.
Музыка - как вино. Некачественная попса, со временем, превращается в уксус.. Рок же только обретает свой истинный вкус..
Я не нацист. Но когда кто нибудь осмелится высказать криво о моей стране я прихожу в ярость.
Немножко знаю xHTML, CSS, слышал про JavaScript, PHP. Уже год использую и стараюсь понять, как устроен phpBB.
[ Mozilla Firefox User ] [ Web Dev panel for FF ] [ xHTML 1.0 Strict ] [ Valid CSS 2.1 ] [ Да, я маньяк! ] [ Я ВКонтакте! ]
Аватара пользователя
Shock13666
phpBB 2.0.5
 
Сообщения: 237
Зарегистрирован: 19.11.2007 17:51
Откуда: Киев

Сообщение Палыч 19.01.2008 1:10

Shock13666
Ну вот теперь грешить на отсутствие правки не стоит :wink:
Клава дребезжит? Или дабл-клик на мышке настроен?
Не все то WINDOWS, что висит... phpBB только учусь.
ICQ, email, ЛС - только для личных сообщений. Вопросы по phpbb только на форумах. По найму не работаю.
Никогда не бойся делать то, что ты пока не умеешь. Помни, что Ковчег был построен любителем. Профессионалы строили Титаник...
Аватара пользователя
Палыч
Просто Палыч
 
Сообщения: 6910
Зарегистрирован: 24.05.2006 22:20
Откуда: Питер

Сообщение nikspb78 19.01.2008 1:41

Kastaneda и Палыч, спасибо!!! Сейчас буду разбираться. Думаю, все получится :)
Аватара пользователя
nikspb78
phpBB 1.0.0
 
Сообщения: 3
Зарегистрирован: 18.01.2008 20:03

Сообщение Shock13666 19.01.2008 2:09

Палыч
Извини, не посмотрел, как пост отправился. Кстати, повторное нажатие блокируется автоматом. Почему то оно плохо работает. И на остальных форумах даблклика не бывает. Браузер - Фокс
Музыка - как вино. Некачественная попса, со временем, превращается в уксус.. Рок же только обретает свой истинный вкус..
Я не нацист. Но когда кто нибудь осмелится высказать криво о моей стране я прихожу в ярость.
Немножко знаю xHTML, CSS, слышал про JavaScript, PHP. Уже год использую и стараюсь понять, как устроен phpBB.
[ Mozilla Firefox User ] [ Web Dev panel for FF ] [ xHTML 1.0 Strict ] [ Valid CSS 2.1 ] [ Да, я маньяк! ] [ Я ВКонтакте! ]
Аватара пользователя
Shock13666
phpBB 2.0.5
 
Сообщения: 237
Зарегистрирован: 19.11.2007 17:51
Откуда: Киев



Вернуться в Поддержка phpBB 2.0.x

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0