На днях пользователи форума заметили, что пропал пропала модификация last_forum_topic_on_index (модификация которая показывает последние темы в каждом разделе форума). После прошарки файлов заметил, что он пропал после установки Easy Sub Forums (мод подфорумов.
И так вся проблема заключается в файле index.php
Для установки last_forum_topic_on_index делал по инструкции:
Код: Выделить всё
#
#-----[ FIND ]-----------------------------------------
#
$sql = "SELECT f.*, p.post_time, p.post_username, u.username, u.user_id
FROM (( " . FORUMS_TABLE . " f
LEFT JOIN " . POSTS_TABLE . " p ON p.post_id = f.forum_last_post_id )
LEFT JOIN " . USERS_TABLE . " u ON u.user_id = p.poster_id )
ORDER BY f.cat_id, f.forum_order";
break;
#
#-----[ REPLACE WITH ]----------------------------------------
#
$sql = "SELECT f.*, p.post_time, p.post_username, u.username, u.user_id, t.topic_title, t.topic_id
FROM ((( " . FORUMS_TABLE . " f
LEFT JOIN " . POSTS_TABLE . " p ON p.post_id = f.forum_last_post_id )
LEFT JOIN " . USERS_TABLE . " u ON u.user_id = p.poster_id )
LEFT JOIN " . TOPICS_TABLE . " t ON t.topic_id = p.topic_id )
ORDER BY f.cat_id, f.forum_order";
break;
#
#-----[ FIND ]-----------------------------------------
#
if ( $forum_data[$j]['forum_last_post_id'] )
{
$last_post_time = create_date($board_config['default_dateformat'], $forum_data[$j]['post_time'], $board_config['board_timezone']);
$last_post = $last_post_time . '<br />';
$last_post .= ( $forum_data[$j]['user_id'] == ANONYMOUS ) ? ( ($forum_data[$j]['post_username'] != '' ) ? $forum_data[$j]['post_username'] . ' ' : $lang['Guest'] . ' ' ) : '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . '=' . $forum_data[$j]['user_id']) . '">' . $forum_data[$j]['username'] . '</a> ';
$last_post .= '<a href="' . append_sid("viewtopic.$phpEx?" . POST_POST_URL . '=' . $forum_data[$j]['forum_last_post_id']) . '#' . $forum_data[$j]['forum_last_post_id'] . '"><img src="' . $images['icon_latest_reply'] . '" border="0" alt="' . $lang['View_latest_post'] . '" title="' . $lang['View_latest_post'] . '" /></a>';
}
#
#-----[ REPLACE WITH ]---------------------------------
#
$max_topic_length = 30;
if ( $forum_data[$j]['forum_last_post_id'] )
{
$forum_data[$j]['topic_title'] = (strlen($forum_data[$j]['topic_title']) > $max_topic_length) ? substr($forum_data[$j]['topic_title'], 0, $max_topic_length) . '…' : $forum_data[$j]['topic_title'];
$last_post_time = create_date($board_config['default_dateformat'], $forum_data[$j]['post_time'], $board_config['board_timezone']);
$last_post = $last_post_time . ' ';
$last_post .= ( $forum_data[$j]['user_id'] == ANONYMOUS ) ? ( ($forum_data[$j]['post_username'] != '' ) ? $forum_data[$j]['post_username'] : $lang['Guest']) : $forum_data[$j]['username'];
$last_post .= '<br /><a href="' . append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . '=' . $forum_data[$j]['topic_id']) . '">' . $forum_data[$j]['topic_title'] . '</a>';
$last_post .= ' <a href="' . append_sid("viewtopic.$phpEx?" . POST_POST_URL . '=' . $forum_data[$j]['forum_last_post_id']) . '#' . $forum_data[$j]['forum_last_post_id'] . '"><img src="' . $images['icon_latest_reply'] . '" border="0" alt="' . $lang['View_latest_post'] . '" title="' . $lang['View_latest_post'] . '" /></a>';
}
Код: Выделить всё
#
#-----[ OPEN ]------------------------------------------------
#
index.php
#
#-----[ FIND ]------------------------------------------------
#
$sql = "SELECT f.*, p.post_time, p.post_username, u.username, u.user_id
FROM (( " . FORUMS_TABLE . " f
LEFT JOIN " . POSTS_TABLE . " p ON p.post_id = f.forum_last_post_id )
LEFT JOIN " . USERS_TABLE . " u ON u.user_id = p.poster_id )
ORDER BY f.cat_id, f.forum_order";
#
#-----[ REPLACE WITH ]----------------------------------------
#
// Modified by Easy Sub-Forums MOD
$sql = "SELECT f.*, p.post_time, p.post_username, u.username, u.user_id, t.topic_id, t.topic_title
FROM ((( " . FORUMS_TABLE . " f
LEFT JOIN " . POSTS_TABLE . " p ON p.post_id = f.forum_last_post_id )
LEFT JOIN " . USERS_TABLE . " u ON u.user_id = p.poster_id )
LEFT JOIN " . TOPICS_TABLE . " t ON t.topic_last_post_id = f.forum_last_post_id)
GROUP BY f.forum_id ORDER BY f.cat_id, f.forum_order";
// END Modified by Easy Sub-Forums MOD
#
#-----[ FIND ]------------------------------------------------
#
{
$forum_data[] = $row;
}
#
#-----[ AFTER, ADD ]------------------------------------------
#
// Added by Easy Sub-Forums MOD
$attach=$forum_data;
// END Added by Easy Sub-Forums MOD
#
#-----[ FIND ]------------------------------------------------
#
$forum_id = $forum_data[$j]['forum_id'];
#
#-----[ AFTER, ADD ]------------------------------------------
#
// Added by Easy Sub-Forums MOD
$attached_id = $forum_data[$j]['attached_forum_id'];
if ( $is_auth_ary[$forum_id]['auth_view'] && $attached_id == -1 )
{
$attached_forums = array();
foreach ($attach as $key => $value)
{
$sub_forum_id = $value['forum_id'];
if ($value['attached_forum_id']==$forum_id && $is_auth_ary[$sub_forum_id]['auth_view'])
{
//combining topic and post count for forum and subforums
$forum_data[$j]['forum_posts']=$forum_data[$j]['forum_posts']+$value['forum_posts'];
$forum_data[$j]['forum_topics']=$forum_data[$j]['forum_topics']+$value['forum_topics'];
//END combining topic and post count
//Last post link - check if any of subforums have newest posts and link to them instead
if ($value['post_time']>$forum_data[$j]['post_time'])
{
$forum_data[$j]['user_id'] = $value['user_id'];
$forum_data[$j]['post_username'] = $value['post_username'];
$forum_data[$j]['forum_last_post_id'] = $value['forum_last_post_id'];
$forum_data[$j]['post_time'] = $value['post_time'];
$forum_data[$j]['username'] = $value['username'];
$forum_data[$j]['topic_title'] = $value['topic_title'];
}
// END last post check
$unread_topics = false;
if ( $userdata['session_logged_in'] )
{
if (check_unread($value['forum_id']))
{
$attach_img = $images['icon_minipost_new'];
$l_attach_img = $lang['New_posts'];
}
else
{
$attach_img = $images['icon_minipost'];
$l_attach_img = $lang['No_new_posts'];
}
}
else
{
$attach_img = $images['icon_minipost'];
$l_attach_img = $lang['No_new_posts'];
}
$attached_forums[] = array(
'sub_img'=>$attach_img,
'sub_alt'=>$l_attach_img,
'sub_name'=>$value['forum_name'],
'sub_url'=>append_sid ('viewforum.php?f=' . $value['forum_id'] )
);
}
}
// END Added by Easy Sub-Forums MOD
Добавлено спустя 1 минуту 28 секунд:
Решение проблемы кроется где-то рядом:
У меня было до установки мода подфорумов:
Код: Выделить всё
$sql = "SELECT f.*, p.post_time, p.post_username, u.username, u.user_id, t.topic_title, t.topic_id
FROM ((( " . FORUMS_TABLE . " f
LEFT JOIN " . POSTS_TABLE . " p ON p.post_id = f.forum_last_post_id )
LEFT JOIN " . USERS_TABLE . " u ON u.user_id = p.poster_id )
LEFT JOIN " . TOPICS_TABLE . " t ON t.topic_id = p.topic_id )
ORDER BY f.cat_id, f.forum_order";
break;
Код: Выделить всё
$sql = "SELECT f.*, p.post_time, p.post_username, u.username, u.user_id, t.topic_id, t.topic_title
FROM ((( " . FORUMS_TABLE . " f
LEFT JOIN " . POSTS_TABLE . " p ON p.post_id = f.forum_last_post_id )
LEFT JOIN " . USERS_TABLE . " u ON u.user_id = p.poster_id )
LEFT JOIN " . TOPICS_TABLE . " t ON t.topic_last_post_id = f.forum_last_post_id)
GROUP BY f.forum_id ORDER BY f.cat_id, f.forum_order";
Как правильно подкорректировать второе?