VBsupport перешел с домена .ORG на родной .RU
Ура!
Пожалуйста, обновите свои закладки - VBsupport.ru
Блок РКН снят, форум доступен на всей территории России, включая новые терртории, без VPN
На форуме введена премодерация ВСЕХ новых пользователей
Почта с временных сервисов, типа mailinator.com, gawab.com и/или прочих, которые предоставляют временный почтовый ящик без регистрации и/или почтовый ящик для рассылки спама, отслеживается и блокируется, а так же заносится в спам-блок форума, аккаунты удаляются
Если вы хотите приобрести какой то скрипт/продукт/хак из каталогов перечисленных ниже: Каталог модулей/хаков
Ещё раз обращаем Ваше внимание: всё, что Вы скачиваете и устанавливаете на свой форум, Вы устанавливаете исключительно на свой страх и риск.
Сообщество vBSupport'а физически не в состоянии проверять все стили, хаки и нули, выкладываемые пользователями.
Помните: безопасность Вашего проекта - Ваша забота. Убедительная просьба: при обнаружении уязвимостей или сомнительных кодов обязательно отписывайтесь в теме хака/стиля
Спасибо за понимание
Такой вопрос: стоит Булка 3.8.7 пл2, стоят хаки Post groan 4.1 for 3.7.x Rus и Post thanks 7.7 for 3.6.x-3.7.x Rus, всё работает чудесно.
Хаки настроены только на 3 определённых раздела (по ID в настройках), оценивается только первый пост.
Хочется сделать таким образом, чтобы в этих самых разделах нельзя было написать ответ до тех пор, пока не был оценён этот самый первый пост. То есть нажал "Спасибо" или "Фуу" - появилась форма быстрого ответа и кнопка "Ответить" для открытия расширенной формы ответа.
Кто-нибудь вообще реализовывал такую вещь у себя?
Нуждаюсь в помощи.
По-идее в шаблоне "showthread_quickreply" можно было бы прописать условие наподобии
PHP Code:
<if condition=
за пост было сказано "Спасибо"
OR
за пост было сказано "Фуу"
>
*далее код формы быстрого ответа",
<else>
</if>
Ну и аналогичнымм условием "отгородить" кнопку "Ответить" в начале/конце темы и нопку "Ответ" в посте темы.
Плюс в начало условия добавить ID разделов, в которых использовать такую схему.
Но как правильно прописать эти самые "за пост было сказано Спасибо" я не знаю, и можно ли вообще использовать такое условие технически.
Готов немного отблагодарить материально за помощь (буквально на пиво, но тем не менее )
проверять нужно поля спасиб/анти-спасиб из таблицы пост, если там есть что то, показывать редактор/кнопку
дополнительно проверять в каких разделах находимся
проверки делать в нескольких местах
ответ в теме
отображение редактора в самой теме (показать кнопку "ответить" + редактор)
==
подробно и с кодами - нужно рыть в файлах, смотреть хуки, настройки хака спасиб/анти-спасиб и т.д.
@Dragster
Знаток
Join Date: Apr 2007
Location: Санкт-Петербург
Posts: 431
Версия vB: 3.8.7
Пол:
Reputation:
Knowing 246
Репутация в разделе: 224
0
Quote:
Originally Posted by kerk
проверять нужно поля спасиб/анти-спасиб из таблицы пост, если там есть что то, показывать редактор/кнопку
В БД в таблице vb_post переменные называются "post_thanks_amount" и "post_groan_amount", по-умолчанию значение равно 0, если кнопка была нажата, то соответственно 1.
Подскажи, плиз, как правильно будет выглядеть такое условие?
Quote:
Originally Posted by kerk
дополнительно проверять в каких разделах находимся
<if condition="in_array($thread['forumid'], array(1,2,3))"><if condition="$FIRSTPOSTID AND ($thread[post_thanks_amount] OR $thread[post_groan_amount])">
EDITIOR или BUTTON
</if></if>
как то так, не проверял
@Dragster
Знаток
Join Date: Apr 2007
Location: Санкт-Петербург
Posts: 431
Версия vB: 3.8.7
Пол:
Reputation:
Knowing 246
Репутация в разделе: 224
0
Quote:
Originally Posted by kerk
PHP Code:
<if condition="$FIRSTPOSTID AND ($thread[post_thanks_amount] OR $thread[post_groan_amount])">
А здесь не надо ставить условие, что значения "Спасибо/Фуу" не равно нулю?
Типа такого:
PHP Code:
<if condition="in_array($thread['forumid'], array(21,22,23))">
<if condition="$FIRSTPOSTID AND ($thread[post_thanks_amount] OR $thread[post_groan_amount]) != 0">
бла бла бла
</if>
</if>
Попробовал вставить вышеприведённый код в showthread_quickreply, зашёл в один из указанных разделов, кнопка "Спасибо" была нажата, автор темы не я - текста "бла бла бла" нет, условие не работает.
Вставлял в шаблон SHOWTHREAD и SHOWTHREAD_QUICKREPLY, без толку :(
Dragster добавил 27.01.2012 в 17:13
Продолжу, может кто-то всё-таки сможет помочь и довезти до логического завершения... ))
Я полез в поиск одноимённой фразы в шаблоны и нашёл
PHP Code:
<if condition="$post['post_thanks_amount'] == 1">
ляляля
</if>
ОК, нужную переменную нашли.
Теперь попытка правки шаблона SHOWTHREAD.
Вставил это условие после кнопки "Ответить в теме", безрезультатно.
Что я делаю не так? Ошибка в переменной или же в шаблоне SHOWTHREAD она просто не работает по каким-то причинам?
Это же условие в шаблоне postbit_legacy работает.
Как его прописать в шаблоны SHOWTHREAD и SHOWTHREAD_QUICKREPLY, чтобы оно работало?
Last edited by Dragster : 01-27-2012 at 06:18 PM.
Reason: Добавлено сообщение
@Dragster
Знаток
Join Date: Apr 2007
Location: Санкт-Петербург
Posts: 431
Версия vB: 3.8.7
Пол:
Reputation:
Knowing 246
Репутация в разделе: 224
Апдэйт
0
Спросил в офиц. теме на ОРГе, там молчат... спрошу здесь.
Есть другая идея как реализовать идею, которую я выше описывал.
Оба хака "Спасибо и Фуу" завязаны на репутацию, +1 и -1 очко к тепе соответственно, сила репутации и пр. отключены.
Можно ли добавить в шаблон "showthread" условие типа
Если пользователь УЖЕ ОЦЕНИЛ первый пост -> Показать кнопки "Ответить в теме" и форму быстрого ответа
иначе
"Вы должны оценить первый пост, чтобы написать ответ в этой теме" (просто текст)
Может кто-нибудь помочь с такой вот штукой?
Печалька заключается в том, что я хотел найти переменную уже оценённого поста по поиску фразы "Вы не можете оценивать один пост дважды", саму фразу я нашёл, а вот поиск переменной этой ничего не дал - её тупо нет ни в одном шаблоне, т.к. окошко с этой фразой открывается при помощи javascript, то я так понимаю, чтот фраза эта добавлена прямо в код скрипта.
В общем нужна ваша помощь!
kerk
k0t
Join Date: May 2005
Location: localhost
Posts: 28,835
Версия vB: 3.8.x
Пол:
Reputation:
Гуру 20332
Репутация в разделе: 8468
0
не особо углубляясь в код хаков + отображение "чего_то_там"...
здесь вряд ли можно обойтись только условиями в шаблонах, без выполнения дополнительных запросов на получение каких то данных, которые могут понадобиться при показе той или иной фразы/контента/редактора/чего_то_еще
в тех переменных, что доступны на странице темы, может быть не достаточно данных
вполне возможно, что и файлы придется редактировать, т.к. хуков может не быть в нужных местах
@Dragster
Знаток
Join Date: Apr 2007
Location: Санкт-Петербург
Posts: 431
Версия vB: 3.8.7
Пол:
Reputation:
Knowing 246
Репутация в разделе: 224
0
Quote:
Originally Posted by kerk
здесь вряд ли можно обойтись только условиями в шаблонах, без выполнения дополнительных запросов на получение каких то данных
Ну ведь при открытии шаблона showthread форум проверяет был ли оценён тот или иной пост, правильно?
Или это относится к каждому посту, а не темой в целом?
Что-то грустно как-то, я думал, что можно малой кровью обойтись... :(