Уважаемые пользователи!
В версии phpBB 3.3.13 обнаружены ошибки при использовании функции поиска по конференции.
Обсуждение проблемы и ее решения здесь Re: Вышел phpBB 3.3.13 [обсуждаем].
В связи с этим, не рекомендуется установка и обновление до phpBB 3.3.13.
Ошибка будет устранена разработчиками в версии phpBB 3.3.14.
Скачать предыдущую версию - phpBB 3.3.12 - можно здесь.
В версии phpBB 3.3.13 обнаружены ошибки при использовании функции поиска по конференции.
Обсуждение проблемы и ее решения здесь Re: Вышел phpBB 3.3.13 [обсуждаем].
В связи с этим, не рекомендуется установка и обновление до phpBB 3.3.13.
Ошибка будет устранена разработчиками в версии phpBB 3.3.14.
Скачать предыдущую версию - phpBB 3.3.12 - можно здесь.
Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.
Last Forum Topic On Index
-
- phpBB 1.2.0
- Сообщения: 15
- Стаж: 19 лет 6 месяцев
-
- phpBB 2.0.7
- Сообщения: 573
- Стаж: 19 лет 4 месяца
- Откуда: Moscow
не подскажите как сделать, чтобы и ники тоже были подсвечены и вели на его профиль... вот как на этом форуме сделано... с вашим модом. http://forum.vvvas.ru/
-
- Неадекватен
- Сообщения: 603
- Стаж: 19 лет 9 месяцев
- Откуда: tln.ee
Iftin
Код: Выделить всё
#
#-----[ OPEN ]------------------------------------------------
#
index.php
#
#-----[ FIND ]-----------------------------------------
#
$last_post .= ( $forum_data[$j]['user_id'] == ANONYMOUS ) ? ( ($forum_data[$j]['post_username'] != '' ) ? $forum_data[$j]['post_username'] : $lang['Guest']) : $forum_data[$j]['username'];
#
#-----[ REPLACE WITH ]---------------------------------
#
$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> ';
Неадекватен
-
- phpBB 2.0.7
- Сообщения: 573
- Стаж: 19 лет 4 месяца
- Откуда: Moscow
-
- phpBB 2.0.1
- Сообщения: 252
- Стаж: 19 лет 4 месяца
- Благодарил (а): 2 раза
-
- Former team member
- Сообщения: 4463
- Стаж: 19 лет 10 месяцев
- Поблагодарили: 1 раз
automan
Открываете index.php, тот кусок, который правили при установке мода и меняете так как вам надо.
Вам примерно надо:
Ну и ссылку на профиль так как написал выше Romiyo.
Открываете index.php, тот кусок, который правили при установке мода и меняете так как вам надо.
Вам примерно надо:
Код: Выделить всё
$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 = '<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><br />';
$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']) : $forum_data[$j]['username'];
}
-
- phpBB 2.0.1
- Сообщения: 252
- Стаж: 19 лет 4 месяца
- Благодарил (а): 2 раза
-
- Former team member
- Сообщения: 4463
- Стаж: 19 лет 10 месяцев
- Поблагодарили: 1 раз
-
- phpBB 1.4.2
- Сообщения: 65
- Стаж: 19 лет 7 месяцев
там довольно приличный кусок кода из viewforum.php
если его разобрать по логике, то все должно работать, однако надо еще составить правильный sql запрос, см. тот же файл.
то что я делал, оптимизировано под конкретно мой проект и не претендует на универсальность, поэтому - не выкладываю
Код: Выделить всё
/////////////
if( $topic_rowset[$i]['topic_status'] == TOPIC_MOVED )
{
$topic_type = $lang['Topic_Moved'] . ' ';
$topic_id = $topic_rowset[$i]['topic_moved_id'];
$folder_image = $images['folder'];
$folder_alt = $lang['Topics_Moved'];
$newest_post_img = '';
}
else
{
if( $topic_rowset[$i]['topic_type'] == POST_ANNOUNCE )
{
$folder = $images['folder_announce'];
$folder_new = $images['folder_announce_new'];
}
else if( $topic_rowset[$i]['topic_type'] == POST_STICKY )
{
$folder = $images['folder_sticky'];
$folder_new = $images['folder_sticky_new'];
}
else if( $topic_rowset[$i]['topic_status'] == TOPIC_LOCKED )
{
$folder = $images['folder_locked'];
$folder_new = $images['folder_locked_new'];
}
else
{
if($replies >= $board_config['hot_threshold'])
{
$folder = $images['folder_hot'];
$folder_new = $images['folder_hot_new'];
}
else
{
$folder = $images['folder'];
$folder_new = $images['folder_new'];
}
}
$newest_post_img = '';
if( $userdata['session_logged_in'] )
{
if( $topic_rowset[$i]['post_time'] > $userdata['user_lastvisit'] )
{
if( !empty($tracking_topics) || !empty($tracking_forums) || isset($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_f_all']) )
{
$unread_topics = true;
if( !empty($tracking_topics[$topic_id]) )
{
if( $tracking_topics[$topic_id] >= $topic_rowset[$i]['post_time'] )
{
$unread_topics = false;
}
}
if( !empty($tracking_forums[$forum_id]) )
{
if( $tracking_forums[$forum_id] >= $topic_rowset[$i]['post_time'] )
{
$unread_topics = false;
}
}
if( isset($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_f_all']) )
{
if( $HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_f_all'] >= $topic_rowset[$i]['post_time'] )
{
$unread_topics = false;
}
}
if( $unread_topics )
{
$folder_image = $folder_new;
$folder_alt = $lang['New_posts'];
$newest_post_img = '<a href="' . append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . "=$topic_id&view=newest") . '"><img src="' . $images['icon_newest_reply'] . '" alt="' . $lang['View_newest_post'] . '" title="' . $lang['View_newest_post'] . '" border="0" /></a> ';
}
else
{
$folder_image = $folder;
$folder_alt = ( $topic_rowset[$i]['topic_status'] == TOPIC_LOCKED ) ? $lang['Topic_locked'] : $lang['No_new_posts'];
$newest_post_img = '';
}
}
else
{
$folder_image = $folder_new;
$folder_alt = ( $topic_rowset[$i]['topic_status'] == TOPIC_LOCKED ) ? $lang['Topic_locked'] : $lang['New_posts'];
$newest_post_img = '<a href="' . append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . "=$topic_id&view=newest") . '"><img src="' . $images['icon_newest_reply'] . '" alt="' . $lang['View_newest_post'] . '" title="' . $lang['View_newest_post'] . '" border="0" /></a> ';
}
}
else
{
$folder_image = $folder;
$folder_alt = ( $topic_rowset[$i]['topic_status'] == TOPIC_LOCKED ) ? $lang['Topic_locked'] : $lang['No_new_posts'];
$newest_post_img = '';
}
}
else
{
$folder_image = $folder;
$folder_alt = ( $topic_rowset[$i]['topic_status'] == TOPIC_LOCKED ) ? $lang['Topic_locked'] : $lang['No_new_posts'];
$newest_post_img = '';
}
}
////////////
то что я делал, оптимизировано под конкретно мой проект и не претендует на универсальность, поэтому - не выкладываю
-
- phpBB Maniac
- Сообщения: 1464
- Стаж: 19 лет 8 месяцев
- Откуда: Novosibirsk,RU
в общем по теме раскиданы посты про бд не [ms/my]sql... =) но конкретно нашел только oracle... воть код, как будет работать на всех бд... =) тк сейчас мучаю phpBB+postgres поэтому наткнулся на данную граблю... =)) и тут решил это подправить =)
Код: Выделить всё
#
#-----[ OPEN ]------------------------------------------------
#
index.php
#
#-----[ FIND ]-----------------------------------------
#
case 'postgresql':
$sql = "SELECT f.*, p.post_time, p.post_username, u.username, u.user_id
FROM " . FORUMS_TABLE . " f, " . POSTS_TABLE . " p, " . USERS_TABLE . " u
WHERE p.post_id = f.forum_last_post_id
AND u.user_id = p.poster_id
UNION (
SELECT f.*, NULL, NULL, NULL, NULL
FROM " . FORUMS_TABLE . " f
WHERE NOT EXISTS (
SELECT p.post_time
FROM " . POSTS_TABLE . " p
WHERE p.post_id = f.forum_last_post_id
)
)
ORDER BY cat_id, forum_order";
break;
case 'oracle':
$sql = "SELECT f.*, p.post_time, p.post_username, u.username, u.user_id
FROM " . FORUMS_TABLE . " f, " . POSTS_TABLE . " p, " . USERS_TABLE . " u
WHERE p.post_id = f.forum_last_post_id(+)
AND u.user_id = p.poster_id(+)
ORDER BY f.cat_id, f.forum_order";
break;
default:
$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 ]----------------------------------------
#
case 'postgresql':
// [start] Last Forum Topic On Index
// [FIND] , u.user_id ### [AFTER] , t.topic_title, t.topic_id
// [FIND] , " . USERS_TABLE . " u ### [AFTER] , " . TOPIC_TABLE . " t
// [FIND] AND u.user_id = p.poster_id ### [AFTER] AND t.topic_id = p.topic_id
// [FIND] NULL, NULL ### [AFTER] , NULL, NULL
$sql = "SELECT f.*, p.post_time, p.post_username, u.username, u.user_id, t.topic_title, t.topic_id
FROM " . FORUMS_TABLE . " f, " . POSTS_TABLE . " p, " . USERS_TABLE . " u, " . TOPIC_TABLE . " t
WHERE p.post_id = f.forum_last_post_id
AND u.user_id = p.poster_id
AND t.topic_id = p.topic_id
UNION (
SELECT f.*, NULL, NULL, NULL, NULL, NULL, NULL
FROM " . FORUMS_TABLE . " f
WHERE NOT EXISTS (
SELECT p.post_time
FROM " . POSTS_TABLE . " p
WHERE p.post_id = f.forum_last_post_id
)
)
ORDER BY cat_id, forum_order";
// [end] Last Forum Topic On Index
break;
case 'oracle':
// [start] Last Forum Topic On Index
// [FIND] , u.user_id ### [AFTER] , t.topic_title, t.topic_id
// [FIND] , " . USERS_TABLE . " u ### [AFTER] , " . TOPIC_TABLE . " t
// [FIND] AND u.user_id = p.poster_id(+) ### [AFTER] AND t.topic_id = p.topic_id(+)
$sql = "SELECT f.*, p.post_time, p.post_username, u.username, u.user_id, t.topic_title, t.topic_id
FROM " . FORUMS_TABLE . " f, " . POSTS_TABLE . " p, " . USERS_TABLE . " u, " . TOPIC_TABLE . " t
WHERE p.post_id = f.forum_last_post_id(+)
AND u.user_id = p.poster_id(+)
AND t.topic_id = p.topic_id(+)
ORDER BY f.cat_id, f.forum_order";
break;
// [end] Last Forum Topic On Index
default:
// [start] Last Forum Topic On Index
// [FIND] , u.user_id ### [AFTER] , t.topic_title, t.topic_id
// [FIND] (( ### [AFTER] (
// [FIND] LEFT JOIN " . USERS_TABLE . " u ON u.user_id = p.poster_id ) ### [AFTER] LEFT JOIN " . TOPICS_TABLE . " t ON t.topic_id = p.topic_id )
$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";
// [end] Last Forum Topic On Index
break;
Руководство пользователя | FAQ | Правила | Как устанавливать MOD'ы
ВОСПОЛЬЗУЙСЯ ПОИСКОМ, ТАМ ЕСТЬ БОЛЬШИНСТВО ОТВЕТОВ
ЕСЛИ НЕ ПОМОГЛО, ИСПОЛЬЗУЙ ШАБЛОН ЗАПРОСА, ПОМОГИ В РЕШЕНИИ ЗАДАЧИ
БЕСПЛАТНО ПОМОГУ ТОЛЬКО НА ФОРУМЕ!!! (ЛС НЕ В СЧЕТ)
Оставь благодарность, подтверди работоспособность совета.
ВСЕ ПРАВА НА МОДЫ ОТДАНЫ m157y
ВОСПОЛЬЗУЙСЯ ПОИСКОМ, ТАМ ЕСТЬ БОЛЬШИНСТВО ОТВЕТОВ
ЕСЛИ НЕ ПОМОГЛО, ИСПОЛЬЗУЙ ШАБЛОН ЗАПРОСА, ПОМОГИ В РЕШЕНИИ ЗАДАЧИ
БЕСПЛАТНО ПОМОГУ ТОЛЬКО НА ФОРУМЕ!!! (ЛС НЕ В СЧЕТ)
Оставь благодарность, подтверди работоспособность совета.
ВСЕ ПРАВА НА МОДЫ ОТДАНЫ m157y
-
- phpBB 1.0.0
- Сообщения: 6
- Стаж: 19 лет 7 месяцев
-
- phpBB 1.2.0
- Сообщения: 14
- Стаж: 19 лет 1 месяц
- Откуда: nutras.ru/forum
Блин, установил мод, но все равно вылезает ошибка связанная с названием темы - добавляется ", да и в тех форумах, где пользователю нет права на просмотр название темы видно.
Логично было бы просто убрать название темы в таких форумах.
Логично было бы просто убрать название темы в таких форумах.
Юмор:
- There are 10 kinds of people: those, who know binary and those, who don't.
- Лазерный прицел для дробовика - красная лампа с надетым на нее дуршлагом
Генератор ДБ-запросов
Тест скорости соединения с Интернетом (c) YarNET
- There are 10 kinds of people: those, who know binary and those, who don't.
- Лазерный прицел для дробовика - красная лампа с надетым на нее дуршлагом
Генератор ДБ-запросов
Тест скорости соединения с Интернетом (c) YarNET
-
- Former team member
- Сообщения: 4463
- Стаж: 19 лет 10 месяцев
- Поблагодарили: 1 раз
-
- phpBB 2.0.1
- Сообщения: 252
- Стаж: 19 лет 4 месяца
- Благодарил (а): 2 раза
как в этом коде сделать чтоб при клике на название темы
осуществился переход не в саму тему, а на последние сообщение в теме
тоесть так же как и щелчек по
осуществился переход не в саму тему, а на последние сообщение в теме
тоесть так же как и щелчек по
Код: Выделить всё
$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 = '<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><br />';
$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']) : $forum_data[$j]['username'];
}