Нужна помощь по коду DLE Форума

D
На сайте с 15.07.2011
Offline
41
578

Как сделать так, что бы при нажатии на кнопку "Новая тема" в DLE Forum, выпадала ошибка в случае если у пользователя НОЛЬ сообщений на форуме, т.е. он только зарегился.

Очень много спама пошло в последнее время, вот такой мыслью решил защититься от него...

нашел в нете вот что:

action/addtopic.php найдите

$topic_title = $db->safesql($parse->process($_POST['topic_title']));


и перед этой стройкой вставьте это:
// начало
$min_post="25";
if ($member_id['forum_post']>$min_post){
$access_add = true;
}else{
$access_add = false;
forum_msg($f_lang['all_info'], "<h1>Для открытия новой темы нужно иметь минимум 25 полезных сообщений на форуме.</h1>");
}
// конец

Но в таком случае не учтен тот момент, что ошибка будет выпадать только после того как человек уже заполнит все строки для создания темы и нажмет кнопку "Создать тему", А нужно что бы ошибка вылетала до этого.... при нажатии на кнопку "Новая тема".

Буду очень признателен за помощь.

D
На сайте с 15.07.2011
Offline
41
#1

Кто-то может помочь с кодом или нет?

Цена вопроса, если на советы нет времени?

siv1987
На сайте с 02.04.2009
Offline
427
#2
Цена вопроса, если на советы нет времени?

Скорее всего это надо искать в другом месте, поэтому без самого этого файла никто вам не подскажет.

darwin:
Цена вопроса, если на советы нет времени?

Подкиньте файл целиком, подскажу за бутылку пыво

D
На сайте с 15.07.2011
Offline
41
#3
siv1987:
Подкиньте файл целиком, подскажу за бутылку пыво

Да не вопрос! =)

http://narod.ru/disk/60576907001.1891760dd805579026203706fe03c063/addtopic.php.html

siv1987
На сайте с 02.04.2009
Offline
427
#4

Найти


$access_topic = check_access($forums_array[$forum_id]['access_topic']);

ниже добавить


$min_post = 1;
if( $member_id['forum_post'] < $min_post ){
$access_topic = false;
forum_msg($f_lang['all_info'], "<h1>Для открытия новой темы нужно иметь минимум {$min_post} полезных сообщений на форуме.</h1>");
}
D
На сайте с 15.07.2011
Offline
41
#5
siv1987:
Найти

$access_topic = check_access($forums_array[$forum_id]['access_topic']);


ниже добавить

$min_post = 1;
if( $member_id['forum_post'] < $min_post ){
$access_topic = false;
forum_msg($f_lang['all_info'], "<h1>Для открытия новой темы нужно иметь минимум {$min_post} полезных сообщений на форуме.</h1>");
}

оооо уже! лучше =)) Спасибо большое!

Еще вопрос.. нельзя ли сделать так, что бы при нажатии на кнопку "новая тема" вылетала именно ошибка в окне? В данном способе открывается форма создания новой темы и сверху пишется ошибка

---------- Добавлено 06.09.2012 в 00:57 ----------

Кстати код без первой части кода, что я высылал, не работает! =( Ошибку пишет но опубликовать пост разрешает. Совместно с первой частью кода - не пускает, но тогда появляется 2 ошибки

siv1987
На сайте с 02.04.2009
Offline
427
#6

Проверьте чтобы у вас точно было $access_topic = false;

D
На сайте с 15.07.2011
Offline
41
#7

стоп... прошу прощение, все нормально! Пропустил 1 строку ))

Все отлично, все работает! даже форма не открывается!

---------- Добавлено 06.09.2012 в 01:05 ----------

siv1987:
Проверьте чтобы у вас точно было $access_topic = false;

да да, именно в этом и была проблема!

=)

Спасибо еще раз! не знаю как Вам репу поднять ??

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий