Не отображаются подфорумы в родительском

Статус
В этой теме нельзя размещать новые ответы.

Kof

Пользователь
DarkMod, спасибо, я это понял


Gemini_13, конечно не забыл. Вставлял и вместо той, что удалил. И гораздо дальше, и удалял точно такую же строку написанную ранее

viewforum.php
Найти:
PHP:
 if (!$forum_id OR !$forum_data = @$forums['forum'][$forum_id])
{
bb_die($lang['FORUM_NOT_EXIST']);
}
Вставить после:
PHP:
 $subforums = (isset($forums['f'][$forum_id]['subforums'])) ? $forums['f'][$forum_id]['subforums'] : '';
все равно этот нотис висит
 

Kof

Пользователь
Gemini_13, пожалуйста (прикрепить не смог)

Please Login or Register to view hidden text.



Please Login or Register to view hidden text.


В файле эту строку вставил вместо удаленной (361), но пробовал и в другое место.
Точно такую же написанную ранее не удалил (48)
 
G

Gemini_13

Гость
Kof, уже по инструкции сделать не можешь... пздц...

361 строка - удалить:
PHP:
$subforums = (isset($forums['f'][$forum_id]['subforums'])) ? $forums['f'][$forum_id]['subforums'] : '';

48 строка - найти:
PHP:
$subforums = (isset($forums['f'][$forum_id]['subforums'])) ? $forums['f'][$forum_id]['subforums'] : '';
вставить после 48 строки(!):
PHP:
$subforums_sql = ($subforums) ? 'OR (t.forum_id IN ('. join(',', $subforums) .') AND t.topic_type = 0)' : '';
 

Kof

Пользователь
Gemini_13, и так делал. Нотиса нет, но и навигации нет.
Специально понасоздавал пустых релизов в двух форумах. В одном оставил их в родительском, навигация есть, появляется пункт страница 2.
Во втором форуме сделал несколько подфорумов раскидал релизы по подфорумам. В родительский выводятся, но навигации нет, список просто срезается
 
G

Gemini_13

Гость
Kof, тогда откати назад правки. надо тестить, в слепую не прикольно
 

Kof

Пользователь
Gemini_13, откатился. Только не забудьте пожалуйста, а то Вы единственный кто может мне помочь с этим
 
G

Gemini_13

Гость
Место правильное было, код не правильный. Решение мне не очень нравится, так как при каждом входе будет выполнятся запрос. Запрос легкий, но он есть. Чтобы этого не было я бы посоветовал подправить в датасторе инфу о форумах (по строке, которую комментируем, думаю, ясно куда копать). Но у меня такой возможности сейчас нет. Трогать рабочий проект не буду, а теста под рукой нету. Если кто накидает фикс, то в принципе можно будет код ниже откатить.

Найти:
PHP:
$forum_topics = $forum_data['forum_topics'];
Заменить на:
PHP:
//$forum_topics = $forum_data['forum_topics'];

Найти:
PHP:
if (!empty($_REQUEST['topicdays']))
{
    if ($req_topic_days = abs(intval($_REQUEST['topicdays'])) AND isset($sel_previous_days[$req_topic_days]))
    {
        $sql = "
            SELECT COUNT(*) AS forum_topics
            FROM ". BB_TOPICS ."
            WHERE forum_id = $forum_id
                AND is_draft != 1
                AND topic_last_post_time > ". (TIMENOW - 86400*$req_topic_days) ."
        ";
 
        if ($row = DB()->fetch_row($sql))
        {
            $topic_days = $req_topic_days;
            $forum_topics = $row['forum_topics'];
        }
    }
}
// Correct $start value

Заменить на:
PHP:
$topicdays = (!empty($_REQUEST['topicdays']) && $req_topic_days = abs(intval($_REQUEST['topicdays'])) && isset($sel_previous_days[$req_topic_days]));
$sql = "
    SELECT COUNT(t.topic_id) AS forum_topics
    FROM ". BB_TOPICS ." t
    WHERE t.forum_id  = $forum_id
        $subforums_sql
        AND t.is_draft != 1
";
$sql .= ($topicdays) ? " AND t.topic_last_post_time > ". (TIMENOW - 86400*$req_topic_days) : '';
 
if ($row = DB()->fetch_row($sql))
{
    if ($topicdays) $topic_days = $req_topic_days;
    $forum_topics = $row['forum_topics'];
}
 
  • Мне нравится
Реакции: Kof

Kof

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