Strict Standards: Resource ID#30 used as offset, casting to integer (30) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#32 used as offset, casting to integer (32) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#33 used as offset, casting to integer (33) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401
ТвойWeb :: Версия для печати :: Исправляем некоторые ошибки в форуме
ТвойWeb » » ExBB - лучший форум на файлах » Исправляем некоторые ошибки в форуме

Страниц (1): [1]
 

1. TvoyWeb - 23 Июня, 2005 - 08:40:32 - перейти к сообщению
Недавно nokia6230 нашел одну ошибку. которая на первый взгляд казалась дырой в форуме. Но на самом деле это просто ошибка отображения статуса пользователя в постах темы.
Если пользователь регистрировал короткое имя и такое сочетание символов ника этого пользователя находилось в строке модераторов, то его статус показывался как модератор.
Например имеем модератора "Леголекс". если зарегать ник "лекс" то в постах у этого ника будет показываться статус модератор. Но только показываться. Никакими полномочиями модератора этот ник обладать не будет.
Итак исправляем.
Для начала просто запретим регать короткие именя меньше трех символов.
Для этого открываем файл register.php и находим примерно на 89 строке строку кода:
CODE:
if( empty($inmembername) || empty($password) || empty($emailaddress) ) $blankfields = 1;

И заменяем на строку:
CODE:
if( empty($inmembername) || strlen($inmembername)<3 || empty($password) || empty($emailaddress) ) $blankfields = 1;

Все. Теперь можно будет зарегать ник который имеет минимум три символа.

Теперь собственно разбираемся с ошибкой.
Откроем файл lib.php и найдем функцию moderator($where,$data)
В функции найдем строку кода:
CODE:
global $exbb,$modoutput,$lang,$lang_moder,$mod_ids;

И заменим ее так:
CODE:
global $exbb,$modoutput,$lang,$lang_moder,$mod_ids,$moderators;

То есть добавим в конец еще одну переменную $moderators.
Теперь откроем файл topic.php и найдем функцию setup_member($named).
Найдем в ней строку:
CODE:
global $exbb,$names,$lang,$vars,$ranks,$inmembmod,$modoutput,$threadstate;

И добавим в конец все ту же переменную. Вот так:
CODE:
global $exbb,$names,$lang,$vars,$ranks,$inmembmod,$modoutput,$threadstate,$moderators;

Далее находим строку:
CODE:
elseif (strpos($modoutput,$user['name'])) {

И заменяем на строку:
CODE:
elseif (array_key_exists($named, $moderators)) {

Ну собственно и все.
2. Tvirus - 23 Июня, 2005 - 09:18:07 - перейти к сообщению
просто вопрос
А те кто кто уже зарегин на форуме с ников в 3 символа, те сним и останутся или им придётся переригистрироваться?
3. nokia6230 - 23 Июня, 2005 - 10:15:47 - перейти к сообщению
Tvirus
Предется я так пологаю переустановить юзеров.... Огорчение
4. voron - 23 Июня, 2005 - 16:41:42 - перейти к сообщению
Останутся... Запрет же делается в файле register.php - а этот файл используется при регистрации пользователей
5. TvoyWeb - 24 Июня, 2005 - 02:11:54 - перейти к сообщению
Tvirus пишет:
А те кто кто уже зарегин на форуме с ников в 3 символа,

voron пишет:
Останутся...

И потом в нике допускается три символа. Меньше трех не допускается.

Форум на AlfaSpace.NET


Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®

[Script Execution time: 0.0353]     [ Gzipped ]



Notice: ob_end_flush(): failed to send buffer of ob_gzhandler (1) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/page_tail.php on line 33