Пропустить

phpBB < 2.0.17 [FIX] Удаление пользователей

Здесь авторы постили бета-версии своих модификаций для phpBB 2.0.x. Внимание! Не устанавливайте бета-версии модов на работающие форумы!

phpBB < 2.0.17 [FIX] Удаление пользователей

Сообщение Егор Наклоняев » 10.02.2005 19:56

Совместным мозговым штурмом с Xpert упромыслили ошибку в phpBB, но посколько он отказался писать мод, а мне лень, пишу в свободном стиле.
---------------------- Рвать здесь

А теперь, мои маленькие друзья, я расскажу Вам сказку, почему при удалении пользователя во всех его сообщениях автором оказывается непонятный дядя Гость. Откройте файлик admin_users.php в папочке admin вашего форумика и найдите строчечку
$sql = "UPDATE " . POSTS_TABLE . "
				SET poster_id = " . DELETED . ", post_username = '$username'
				WHERE poster_id = $user_id";

Видите переменную $username, мальчики и девочки? Так вот, дяденьки из phpBB Group забыли её определить. Но не расстраивайтесь, добрый дядя Егор вас сейчас научит что делать.
Найдите чуточку раньше в текстике программочки
	if (!($this_userdata = get_userdata($user_id)))
		{
			message_die(GENERAL_MESSAGE, $lang['No_user_id_specified'] );
		}

Сразу же после него, напишите волшебное заклинание:
$username=$this_userdata['username'];

И будете после этого вы жить долго и счастливо, пока не помрёте.
Аватара пользователя
Егор Наклоняев
phpBB 2.0.12
 
Сообщения: 404
Зарегистрирован: 25.10.2004 2:27
Откуда: оттуда
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Сообщение Coagulant » 10.02.2005 21:31

Егор Наклоняев
Спасибо за fix. phpbbgroup я так понимаю мышей совсем не ловят? :)

Любителям EasyMod'а : :D
# 
#-----[ OPEN ]------------------------------------------------ 
#
admin/admin_users.php
 
# 
#-----[ FIND ]------------------------------------------------ 
#
   if (!($this_userdata = get_userdata($user_id))) 
      { 
         message_die(GENERAL_MESSAGE, $lang['No_user_id_specified'] ); 
      }

# 
#-----[ AFTER, ADD ]------------------------------------------------ 
#
$username=$this_userdata['username'];
Аватара пользователя
Coagulant
Former team member
 
Сообщения: 958
Зарегистрирован: 10.01.2005 19:43
Откуда: Москва
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Сообщение YarNET » 11.02.2005 9:17

Ребята, вместо "Гость" теперь появляется "Anonymous" - это если удаление с помощью мода производить, если же стандартно через управление пользователями, то вот это наблюдается:

user

Гость
- это над аватарой. Что касается отправителя сообщения, то написан его никнайм.
Проверь, за что ты платишь деньги провайдеру?
Тестирование скорости соединения с INNTERNET
Аватара пользователя
YarNET
phpBB 2.0.16
 
Сообщения: 523
Зарегистрирован: 23.11.2004 13:03
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Сообщение Xpert » 11.02.2005 11:00

YarNET
Т.е. через управление пользователями все стало нормально работать?
А какой мод используется для удаления?
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Аватара пользователя
Xpert
phpBB Guru
phpBB Guru
 
Сообщения: 5493
Зарегистрирован: 13.03.2004 21:27
Откуда: msk.ru
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Сообщение YarNET » 11.02.2005 11:28

Т.е. через управление пользователями все стало нормально работать?

Нет, не стало, т.к. над местом, где должна была располагаться аватара это:

никнайм

Гость 

Ну а сообщения последние действительно оставляет в этом случаи "никнайм"
Мод Admin Userlist. Да все моды из числа этой категории будут неправильно удаление производить, если их тоже не подправлять.
Проверь, за что ты платишь деньги провайдеру?
Тестирование скорости соединения с INNTERNET
Аватара пользователя
YarNET
phpBB 2.0.16
 
Сообщения: 523
Зарегистрирован: 23.11.2004 13:03
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Сообщение Егор Наклоняев » 11.02.2005 11:40

Что-то не пойму я ничего из того, что здесь написано, вроде слова русские, а смысл теряю. Давайте отделим мух от котлет.
1. Патч затрагивает только стандартное средство управления пользователями (панель пользователя, это там, где галочку ставить надо)
2. Ошибка состояла в том, что после удаления пользователя терялось авторство, т.е. пропадал никнейм и все сообщения от Васи Пупкина становились гостевыми (что правильно), но от гостя без имени (что неверно).
3. После патча, по удалению пользователя стандартными средствами все сообщения от Васи Пупкина должны остаться сообщениями от Васи Пупкина, только статус должен измениться с зарегистрированного на гостевой.

Исходя из изложенного, вопрос:
Что не соответствует описываемому процессу?
Аватара пользователя
Егор Наклоняев
phpBB 2.0.12
 
Сообщения: 404
Зарегистрирован: 25.10.2004 2:27
Откуда: оттуда
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Сообщение YarNET » 11.02.2005 11:52

Да вот что:

Никнайм: Егор Наклоняев

Ниже: Гость

И вот это находится над аватарой.... хотя может так это и должно быть. У меня на форуме системой авто удаления был один пользователь удален. Так вот на месте его никнайма над аватарой было "гость", а все сообщения его по-прежнему именовались его никнаймом, отсюда вопрос к вам Егор Наклоняев, что эта ваша "фикса" делает? Потаму как видимо мы просто друг друга не понимаем, говоря о разных вещах...

Конкретно скажите, что вы преследовали...цель какая была? Еси чтобы над местом, где располагалась аватара была надпись никнайма пользователя, то она достигнута, т.к. теперь кроме надписи "Гость" есть еще и "никнайм"
Проверь, за что ты платишь деньги провайдеру?
Тестирование скорости соединения с INNTERNET
Аватара пользователя
YarNET
phpBB 2.0.16
 
Сообщения: 523
Зарегистрирован: 23.11.2004 13:03
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Сообщение Егор Наклоняев » 11.02.2005 12:07

Вот мы и наклонили призму наших интересов в одну сторону. Именно этого и добивались. Значит всё работает как надо.

Это нужно, в частности, для того, чтобы потом было просто восстановить сообщения пользователя одним SQL запросом, если пользователь удалено по недомыслию, i.e. регистрируешь его по-новому, ставишь привелегии, возвращаешь сообщения, пересчитываешь их количество (спец. мод.)...
Аватара пользователя
Егор Наклоняев
phpBB 2.0.12
 
Сообщения: 404
Зарегистрирован: 25.10.2004 2:27
Откуда: оттуда
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Сообщение YarNET » 11.02.2005 12:09

Ясно.
Проверь, за что ты платишь деньги провайдеру?
Тестирование скорости соединения с INNTERNET
Аватара пользователя
YarNET
phpBB 2.0.16
 
Сообщения: 523
Зарегистрирован: 23.11.2004 13:03
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Сообщение Siava » 11.02.2005 12:26

YarNET
Все работает именно как надо, не путай людей :lol:

Добавлено спустя 20 секунд:

Егор Наклоняев
Пасиба! :D
Генератор db_update-файлов для phpBB 2.0
Еще одно нарушение правил и будете забанены.
© Mr. Anderson
Аватара пользователя
Siava
phpBB 3.0.5
 
Сообщения: 2580
Зарегистрирован: 11.01.2005 14:29
Откуда: Питер
Благодарил (а): 0 раз.
Поблагодарили: 1 раз.

Сообщение Romiyo » 11.02.2005 13:22

Хм... Вы уверены в правильности вашего заклинания? У меня на локалке не работает. После удаления юзера, он превращается в гостя.

Никнейм: гость
Неадекватен
Аватара пользователя
Romiyo
Неадекватен
 
Сообщения: 615
Зарегистрирован: 16.12.2004 10:36
Откуда: tln.ee
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Сообщение Siava » 11.02.2005 14:21

Romiyo
У меня работает 8)
Генератор db_update-файлов для phpBB 2.0
Еще одно нарушение правил и будете забанены.
© Mr. Anderson
Аватара пользователя
Siava
phpBB 3.0.5
 
Сообщения: 2580
Зарегистрирован: 11.01.2005 14:29
Откуда: Питер
Благодарил (а): 0 раз.
Поблагодарили: 1 раз.

Сообщение Xpert » 11.02.2005 19:31

Romiyo
В просмотре темы должен остаться ник. В просмотре форума, если автором темы являлся ныне удаленный участник, будет "Гость", поскольку никаких возможностей запоминания имени автора темы в стандартном phpBB нет.
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Аватара пользователя
Xpert
phpBB Guru
phpBB Guru
 
Сообщения: 5493
Зарегистрирован: 13.03.2004 21:27
Откуда: msk.ru
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Сообщение YarNET » 11.02.2005 21:46

поскольку никаких возможностей запоминания имени автора темы в стандартном phpBB нет

Могу пример показать, в котором удален пользователь, но его имя существует и без этой модификации....
Проверь, за что ты платишь деньги провайдеру?
Тестирование скорости соединения с INNTERNET
Аватара пользователя
YarNET
phpBB 2.0.16
 
Сообщения: 523
Зарегистрирован: 23.11.2004 13:03
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Сообщение Romiyo » 12.02.2005 2:27

Xpert писал(а):Romiyoесли автором темы являлся ныне удаленный участник, будет "Гость"

А, ну тогда, видимо в этом и дело :) Ок, повторю волшебное заклинание ;) Если не сработатет, отпишусь. ;)
Неадекватен
Аватара пользователя
Romiyo
Неадекватен
 
Сообщения: 615
Зарегистрирован: 16.12.2004 10:36
Откуда: tln.ee
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

След.

Вернуться в Бета-версии модов для phpBB 2.0.x

 

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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

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

Бессрочный конкурс phpBB-ориентированных материалов
FastVPS — надёжный и доступный хостинг для phpBB
Место для вашей рекламы