1

Тема: PunPortal - расширить функцию

вывод новостей из определенного форума:

if ($pun_config['o_portal_news'] == '1')
{
    $fid = $pun_config['o_portal_news_id'];
    $newslimit = $pun_config['o_portal_news_limit'];

    $result = $db->query('SELECT t.id, t.subject, t.num_replies, t.forum_id,  p.topic_id, p.poster, p.poster_id, p.message, p.hide_smilies, p.posted FROM '.$db->prefix.'topics AS t INNER JOIN '.$db->prefix.'posts AS p ON t.id=p.topic_id AND p.posted=t.posted INNER JOIN '.$db->prefix.'users AS u ON u.id=p.poster_id INNER JOIN '.$db->prefix.'forums AS f ON f.id=t.forum_id WHERE t.forum_id='.$fid.' AND t.moved_to IS NULL AND f.redirect_url IS NULL ORDER BY t.posted DESC LIMIT '.$newslimit) or error('Unable to fetch the portal news', __FILE__, __LINE__, $db->error());
 
    if ($db->num_rows($result))
    {
        while($cur_news = $db->fetch_assoc($result))
        {

и дальше вывод
выводятся только новости из определенного форума $fid.
как поправить, чтобы можно было несколько указать id форумов для вывода? например, через запятую?
или сколько будет стоить это написать?

Мой блог, на котором делаю форум :)

Сайт VoiD

Поделиться

2

Re: PunPortal - расширить функцию

решение в лоб, должно работать

WHERE t.forum_id='.$fid.' AND

заменить на

WHERE t.forum_id IN('.$fid.') AND

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

Сайт artoodetoo

Поделиться

3

Re: PunPortal - расширить функцию

щас попробую, в плагине просто поле это цифра, поковыряюсь

Добавлено спустя     2 минуты   50 секунд:
работает! убрал в плагине

$form['portal_news_id'] = intval($form['portal_news_id']);

artoodetoo, ты гений!

Мой блог, на котором делаю форум :)

Сайт VoiD

Поделиться

4

Re: PunPortal - расширить функцию

а то!

Сайт artoodetoo

Поделиться

5

Re: PunPortal - расширить функцию

VoiD пишет:

$form['portal_news_id'] = intval($form['portal_news_id']);

Вероятнее всего в результате будет дырка в SQL запросе sad если переменная $form['portal_news_id'] передается из формы и у нее нет проверки по регулярному выражению.

Добавлено спустя     1 минуту   2 секунды:
если цитируемое убрать smile

Моя сборка FluxBB 1.4

Сайт Visman

Поделиться

6

Re: PunPortal - расширить функцию

да вроде дырка, но не большая) наскока я понимаю, раз это в админке, и +там ограничение поля стоит
хотя я могу и ошибаться

Мой блог, на котором делаю форум :)

Сайт VoiD

Поделиться

7

Re: PunPortal - расширить функцию

Почему-то когда заходить через гостя, то выдаются ошибки:

Notice: Undefined index: register in /home/lifepeop/public_html/forum/include/parser.php(597) : eval()'d code on line 23 Notice: Undefined index: login in /home/lifepeop/public_html/forum/include/parser.php(597) : eval()'d code on line 24 Notice: Undefined index: register in /home/lifepeop/public_html/forum/include/parser.php(597) : eval()'d code on line 23 Notice: Undefined index: login in /home/lifepeop/public_html/forum/include/parser.php(597) : eval()'d code on line 24 Notice: Undefined index: register in /home/lifepeop/public_html/forum/include/parser.php(597) : eval()'d code on line 23 Notice: Undefined index: login in /home/lifepeop/public_html/forum/include/parser.php(597) : eval()'d code on line 24 Notice: Undefined index: register in /home/lifepeop/public_html/forum/include/parser.php(597) : eval()'d code on line 23 Notice: Undefined index: login in /home/lifepeop/public_html/forum/include/parser.php(597) : eval()'d code on line 24 Notice: Undefined index: register in /home/lifepeop/public_html/forum/include/parser.php(597) : eval()'d code on line 23 Notice: Undefined index: login in /home/lifepeop/public_html/forum/include/parser.php(597) : eval()'d code on line 24 Notice: Undefined index: register in /home/lifepeop/public_html/forum/include/parser.php(597) : eval()'d code on line 23 Notice: Undefined index: login in /home/lifepeop/public_html/forum/include/parser.php(597) : eval()'d code on line 24 Notice: Undefined index: register in /home/lifepeop/public_html/forum/include/parser.php(597) : eval()'d code on line 23 Notice: Undefined index: login in /home/lifepeop/public_html/forum/include/parser.php(597) : eval()'d code on line 24 Notice: Undefined index: register in /home/lifepeop/public_html/forum/include/parser.php(597) : eval()'d code on line 23 Notice: Undefined index: login in /home/lifepeop/public_html/forum/include/parser.php(597) : eval()'d code on line 24

Поделиться