Быстрый лёгкий надёжный форумный движок
Вы не вошли.
Страницы 1
Сборка Vismana
не давать возможности авторизованному пользователю оставлять сообщение если не загружена аватарка.
Заставляем загрузить аватарку )))
Очень хорошее решение против спама. Идею я взял с форума Discuz
в post.php:
после
define('PUN_ROOT', dirname(__FILE__).'/');
require PUN_ROOT.'include/common.php';
Добавить
if (!$pun_user['is_guest']){
$user_id = $pun_user['id'];
$user_avatar = generate_avatar_markup($user_id);
if (empty($user_avatar))
message($lang_common['No view'], false, '403 Forbidden');
}
в языковых файлах, добавить ошибку, с описанием что и как делать.
и заменить $lang_common['No view'] на $lang_common['No avatar']
Если вы хотите исключить из проверки гостей и администрацию, то, вам нужно:
if (!$pun_user['is_guest'])
заменить на
if (!$pun_user['is_guest'] && !$pun_user['is_admmod'])
Также, если у вас не корректный юзерагент (как у меня например) под гостем вы также не сможете оставлять комментарий.
Если нужно убрать проверку на юзерагента
Закомментируйте этот блок кода из двух строк:
if ($pun_user['is_bot']) // stop bots - Visman
message($lang_common['No permission'], false, '403 Forbidden');
Просто перед текстом поставить // код строки или /* любой текст кода */
Редактировался Aлександр (2016-09-02 16:53:20)
Offline
@Aлександр, есть в движке функция generate_avatar_markup($user_id) для определения аватара пользователя. Если аватара нет, то вернет пустую строку.
Моя сборка FluxBB 1.5, ForkBB · сообщество
Offline
Спасибо! Поправил
Offline
@Aлександр, вместо
if ($user_avatar == false)
тут лучше
if (empty($user_avatar))
Моя сборка FluxBB 1.5, ForkBB · сообщество
Offline
Еще надо указать проверку на гостя, иначе, если в теме будет открыто комментирование гостям, проверка на аватарку будет распространяться и на гостей.
Поправил первый пост.
Offline
Страницы 1