Форуми / National / Russian / Тех. поддержка / Количество топиков пользователя

Как узнать количество топиков пользователя в определенной секции?

Roffun
#1 27.09.2013 18:33

Здравствуйте, подскажите пожалуйста , каким образом можно получить количество тем пользователя ?

Есть секция форума, в ней 8 форумов, нужно узнать количество топиков пользователя. 

Это нужно для того, чтобы потом сравнить условием, если >= 1 , проще говоря именно в этих 8 форумах , находящихся в одной секции, нужно знать что пользователь создал 1 топик, после чего будет через условие скрываться кнопка создания нового топика в этих форумах, и форма добавления(чтобы через браузер не перешли без кнопки).

Я специализируюсь на верстке, а SQL и PHP поверхностно знаком, поэтому создание запроса оказалось проблемой.

 

{usltopics} - через этот тег нужно получать количество топиков пользователей в указанных выше форумах

В forums.topics.php  вставил следующий запрос (на основе тех что рядом находятся)

$usltopics = $db->query("SELECT COUNT(*) FROM $db_forum_topics AS t $join_condition WHERE ".implode(' AND ', $where))->fetchColumn();

Этот запрос показывает количество всех топиков в форуме.

Подскажите, что сюда добавить, чтобы  {usltopics} выводил не все топики, а все топики пользователя {$usr['id']}  ? 

 

Добавлено 16 часа спустя:

==============================

Сам спросил сам ответил. С запросом уже решил, {usltopics} теперь выводит количество топиков текущего пользователя для каждого форума. 

Осталась одна проблема. В моем случае я буду через условие в определенном форуме скрывать кнопку добавления нового топика если у пользователя есть 1 топик уже.

С кнопкой новая тема понятно, но ведь если она исчезнет после 1 топика, то ссылка будет все равно доступна по адресу /forums?m=newtopic&s=*******

значит нужно в  forums.newtopic.tpl скрывать тоже , но условие не хочет здесь работать, ньютопик ничего не знает о количестве топиков пользователя.

Пока ломаю голову как реализовать, может кто сталкивался с подобным, или просто в курсе ?

Добавлено 2 часа спустя:

///////////////////////////////////////////////////////////////

Очень жаль что никто так и не ответил, но все что не делается, тоже к лучшему. Это мой опыт, сам нашел сам изучил. Теперь все что мне было нужно я сделал.  Так что вопрос закрыт.

Улетел на другую планету, а там почты нету.. https://www.cotonti.com/forums/45298?m=posts

Відредаговано: Roffun (11.11.2016 14:45, 7 років тому)
Macik
#2 29.09.2013 20:27

Увы сообщество котонти до сих пор небольшое. Поэтому ждать здесь оперативных ответов не стоит. Может и пара дней пройти. 

p/s/ Рад, что разобрался.

p.p.s. Не знаю, что за сервис ты делаешь и на сколько критична опция блокировки новых постов после одного топика… Но имей в виду, что в твоей реализации «хитрый хакер» все равно сможет разместить дополнительный топик, просто сгенерировав POST запрос на адрес добавления нового топика /forums?m=newtopic&s=******* .   это я к тому, что в теории сокрытие управляющих элементов интерфейса не гарантирует защиту от вызова конкретного функционала по «прямой ссылке». Что бы быть уверенным надо писать доп. плагин, вешать на соотв.хук и проверять условия внутри кода.

https://github.com/macik
правильный хостинг — https://goo.gl/fjCa1F
Roffun
#3 05.11.2013 17:42
#38057 Macik:

Увы сообщество котонти до сих пор небольшое. Поэтому ждать здесь оперативных ответов не стоит. Может и пара дней пройти. 

p/s/ Рад, что разобрался.

p.p.s. Не знаю, что за сервис ты делаешь и на сколько критична опция блокировки новых постов после одного топика… Но имей в виду, что в твоей реализации «хитрый хакер» все равно сможет разместить дополнительный топик, просто сгенерировав POST запрос на адрес добавления нового топика /forums?m=newtopic&s=******* .   это я к тому, что в теории сокрытие управляющих элементов интерфейса не гарантирует защиту от вызова конкретного функционала по «прямой ссылке». Что бы быть уверенным надо писать доп. плагин, вешать на соотв.хук и проверять условия внутри кода.

Сервис называется предложение услуг. Любой кто может что-то предложить (верстка, дизайн, программирование и тд), сможет создать свой топик. Нюансов будет много, но только 1 топик - это избавит от лишней модерации и злоупотреблений, дублей тем. Возможность будет доступна только имея от 10 сообщений на форуме. 

Насчет «хитрый хакер», здесь реализована та же проверка на условие, что и для кнопки.  Я это предусмотрел. Поэтому для запроса через браузер выводится нужная фраза, и через 5 секунд редирект.  Также реализована проверка на заполнение 4 полей в профиле и наличие загруженного аватара. Не не заполнив поля, можно только отвечать в топиках, а свои создавать не даст, будет confirm выскакивать при нажатии на кнопку добавить топик. 

На данный момент меня интересует другой вопрос, где можно отключить преобразование ссылок в кликабельные ?  

Например в ДЛЕ это в админке выключается.

 

 

Улетел на другую планету, а там почты нету.. https://www.cotonti.com/forums/45298?m=posts