VBsupport перешел с домена .ORG на родной .RU
Ура!
Пожалуйста, обновите свои закладки - VBsupport.ru
Блок РКН снят, форум доступен на всей территории России, включая новые терртории, без VPN
На форуме введена премодерация ВСЕХ новых пользователей
Почта с временных сервисов, типа mailinator.com, gawab.com и/или прочих, которые предоставляют временный почтовый ящик без регистрации и/или почтовый ящик для рассылки спама, отслеживается и блокируется, а так же заносится в спам-блок форума, аккаунты удаляются
Если вы хотите приобрести какой то скрипт/продукт/хак из каталогов перечисленных ниже: Каталог модулей/хаков
Ещё раз обращаем Ваше внимание: всё, что Вы скачиваете и устанавливаете на свой форум, Вы устанавливаете исключительно на свой страх и риск.
Сообщество vBSupport'а физически не в состоянии проверять все стили, хаки и нули, выкладываемые пользователями.
Помните: безопасность Вашего проекта - Ваша забота. Убедительная просьба: при обнаружении уязвимостей или сомнительных кодов обязательно отписывайтесь в теме хака/стиля
Спасибо за понимание
Как перенаправить пользователя после нажатия кнопки "Новая тема"?
0
Есть форум на vBulletin и сайт на DLE. На сайте в новостях есть ссылка "Обсудить на форуме". По нажатию на нее, если он первый, посетитель попадает в форму создания новой темы с введенным названием новости и постит там свой отзыв или мнение. А если кто-то уже завел эту тему для обсуждения, то попадает в тему. Все работает отлично, но! Если в vBulletin зайти в этот раздел, с обсуждениями, то по нажатию кнопки "Новая тема" можно запостить любую свою тему.
Вопрос: как сделать, чтобы после нажатия на кнопку "Новая тема" в определенном разделе пользователю показывалось сообщение такого плана: "В этом разделе можно только обсуждать новости размещенные там-то." И новая тема не создавалась бы и в то же время работала бы ссылка по созданию с сайта.
Я так понимаю, нужно использовать if? Типа "Если раздел такой-то, то не показывать кнопку или менять ссылку, а если все остальные,то все как обычно". Но тогда наверное и по ссылке тема создаваться не будет?
Videomaster, на хук "newthread_start" вешай модуль, который будет проверять наличие переданного news_id (как минимум). что-то типа такого:
PHP Code:
if (!isset ($_GET['news_id']) OR !intval ($_GET['news_id']))
{
eval(standard_error(fetch_error('имя_фразы_ошибки')));
}
"имя_фразы_ошибки" -- это собсна имя фразы, которую нужно создать в группе "сообщения об ошибках" и в которую внести тот текст, который нужно выводить пользователю.
Ghost добавил 27.05.2009 в 16:51
по хорошему-же, нужно еще проверить не только наличие news_id, но и существование соответствующей новости сразу после "eval(...);"
Last edited by Ghost : 05-27-2009 at 05:51 PM.
Reason: Добавлено сообщение
@Videomaster
Продвинутый
Join Date: Feb 2007
Posts: 185
Версия vB: 3.8.3
Reputation:
Опытный 18
Репутация в разделе: 18
1
Сделал проще, скрыл через if по id раздела кнопку "Новая тема". Теперь создать тему из самого форума нельзя, только через сайт, по ссылке "Обсудить на форуме".
В шаблоне forumdisplay ищем:
PHP Code:
<if condition="$show['newthreadlink']">
перед этой конструкцией вставляем:
PHP Code:
<if condition="$foruminfo['forumid'] == номер id вашего раздела">
<else />
потом ищем закрывающий тэг
PHP Code:
</if>
для
PHP Code:
<if condition="$show['newthreadlink']">
и после него добавляем
PHP Code:
</if>
После этих манипуляций в выбранном разделе кнопка "Новая тема" не показывается.
Вместо пустого символа можно вставить ссылку с переходом на другую страницу, текстовое сообщение и т.п.
Last edited by Videomaster : 05-27-2009 at 11:12 PM.
kerk
k0t
Join Date: May 2005
Location: localhost
Posts: 28,737
Версия vB: 3.8.x
Пол:
Reputation:
Гуру 20269
Репутация в разделе: 8435
0
Quote:
Originally Posted by Videomaster
Теперь создать тему из самого форума нельзя
но продвинутые пользователи могут руками вставить ссылку на создание новой темы, "подсмотрев" ссылку в разделе, где темы можно создавать и немного подумав головой =)
типа того:
_http://domain.tld/forum/newthread.php?do=newthread&f=xx
где хх = ID раздела, где кнопка создания новой темы скрыта =)
так что правильней все таки проверять news_id при переходе к созданию темы
@Videomaster
Продвинутый
Join Date: Feb 2007
Posts: 185
Версия vB: 3.8.3
Reputation:
Опытный 18
Репутация в разделе: 18
0
kerk, продвинутых у меня на форуме нет. У меня одни блондинки ))
Хотя, наверное, правильно. Лучше сделать проверку, мало ли.