[final] Recent topics for phpBB3 (Темы на стр. сайта)
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение
).
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение
-
andry1905
- phpBB 1.0.0
- Сообщения: 4
- Стаж: 13 лет 3 месяца
Re: [final] Recent topics for phpBB3 (Темы на стр. сайта)
Ребята Спасибо ОГРОМНОЕ всё работает. Всем удачи!!!!!!!!!!!!!!!!
-
welop
- phpBB 1.0.0
- Сообщения: 2
- Стаж: 13 лет 5 месяцев
Re: [final] Recent topics for phpBB3 (Темы на стр. сайта)
скачал версию мода с 11 страницы, но вместо иконки (icon_topic_latest.gif), которая должна вести к последнему сообщению в теме, - квадрат с рамкой, что изменить в recent.php, чтобы иконка вывелась, как указать правильный путь до изображения?
Код: Выделить всё
'I_LAST_POST' => $user->img('icon_topic_latest', 'VIEW_LATEST_POST'),-
bazabaza
- phpBB 1.4.1
- Сообщения: 41
- Стаж: 14 лет 1 месяц
- Благодарил (а): 24 раза
Re: [final] Recent topics for phpBB3 (Темы на стр. сайта)
Привет всем! Установил мод, но у меня на главной выводится только 5 сообщений с форума http://www.bus-club.ru/ Хотя в настройках стоит
В чем может быть дело?
весь код настроек выглядит так
Код: Выделить всё
$cfg_nm_topics = 15; // number of topics to outputвесь код настроек выглядит так
Код: Выделить всё
/* Config section */
$cfg_ignore_forums = ''; // ids of forums you don't want to display, separated by commas or empty
$cfg_only_forums = ''; // ids of forums you only want to display, separated by commas or empty
$cfg_nm_topics = 15; // number of topics to output
$cfg_max_topic_length = 120; // max topic length, if more, title will be shortened
$cfg_show_replies = true; // show number of replies to topics
$cfg_show_first_post = true; // show first posts of the recent topics
$cfg_show_attachments = false; // show attachments in the first posts of recent topics
/* End of config */Re: [final] Recent topics for phpBB3 (Темы на стр. сайта)
Вопрос к VladPowers
Подскажи, а как сделать что бы при нажатие на темы - открывался сразу же тот пост, который новый. А то у меня щас при нажатии - открывается самый первый , старый пост страницы, а дальше приходится листать в низ до нового сообщения?
Подскажи, а как сделать что бы при нажатие на темы - открывался сразу же тот пост, который новый. А то у меня щас при нажатии - открывается самый первый , старый пост страницы, а дальше приходится листать в низ до нового сообщения?
-
VladPowers
- phpBB 1.4.2
- Сообщения: 53
- Стаж: 21 год 6 месяцев
- Откуда: Бузулук 56rus
- Благодарил (а): 2 раза
- Поблагодарили: 3 раза
Re: [final] Recent topics for phpBB3 (Темы на стр. сайта)
Belui, когда генеришь ссылки для топа, сделай чтобы на конце ссылок было http://xxx.xx/viewtopic.php?f=xx&t=xx&view=unread#unread
И точка лазерного прицела на твоём лбу - тоже чья-то точка зрения
C уважением, ВладМощный
Правда то, что существуют ангелы, но иногда у них отсутствуют крылья, и мы называем их друзьями.
C уважением, ВладМощный
Правда то, что существуют ангелы, но иногда у них отсутствуют крылья, и мы называем их друзьями.
Re: [final] Recent topics for phpBB3 (Темы на стр. сайта)
Исправил, теперь хоть последнию страницу открывает из всех страниц, но не сам последний пост. А как сделать что бы сразу на новый пост опускался? Типа когда нажимаешь на значок icon_topic_latest рядом с ником "Перейти к последнему сообщению" ?
-
sinoptik
- phpBB 1.2.0
- Сообщения: 11
- Стаж: 14 лет 11 месяцев
Re: [final] Recent topics for phpBB3 (Темы на стр. сайта)
Перечитал все 59 страниц темы
было не легко, но готового решения так и не нашёл.
Подскажите, пожалуйста, как вывести значок (тот, который выбирается топик стартером) темы в список? Что надо вставить в recent.php? Полдня просидел, пытаясь по аналогии с разжёванным тут выводом времени сделать, но понял, что всё не так просто.
Подскажите, пожалуйста, как вывести значок (тот, который выбирается топик стартером) темы в список? Что надо вставить в recent.php? Полдня просидел, пытаясь по аналогии с разжёванным тут выводом времени сделать, но понял, что всё не так просто.
-
andromeda68
- phpBB 1.4.3
- Сообщения: 97
- Стаж: 13 лет 11 месяцев
- Откуда: Ижевск
- Благодарил (а): 22 раза
- Поблагодарили: 1 раз
Re: Вывод последних сообщений на главную сайта
Стер свой пост, ошибка исправлена, спасибо.
Последний раз редактировалось andromeda68 23.09.2013 8:27, всего редактировалось 3 раза.
-
Sheer
- Former team member
- Сообщения: 12113
- Стаж: 19 лет 7 месяцев
- Откуда: Калининград не Кенигсберг
- Благодарил (а): 54 раза
- Поблагодарили: 2756 раз
Re: [final] Recent topics for phpBB3 (Темы на стр. сайта)
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
-
andromeda68
- phpBB 1.4.3
- Сообщения: 97
- Стаж: 13 лет 11 месяцев
- Откуда: Ижевск
- Благодарил (а): 22 раза
- Поблагодарили: 1 раз
Кодировка и ссылка на автора
Взял модифицированный код в этой теме. Форум в папке /forum/ вывожу код на главную сайта.
Кодировка сайта 1251, правил кодировку благодаря постам, у автора только осталось крокозябры.
Помогите заменить у него кодировку и ссылку на автора исправить?
Пациент: http://honey-land.ru/
Кодировка сайта 1251, правил кодировку благодаря постам, у автора только осталось крокозябры.
Помогите заменить у него кодировку и ссылку на автора исправить?
Пациент: http://honey-land.ru/
Код: Выделить всё
<?php
/**
*
* @package phpBB3
* @version $Id: recent.php,v 1.1.2 2007/08/21 23:21:39 rxu Exp $
* @copyright (c) 2005 phpBB Group
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/
/**
* @ignore
*/
/* Config section */
$cfg_ignore_forums = '92'; // ids of forums you don't want to display, separated by commas or empty
$cfg_only_forums = ''; // ids of forums you only want to display, separated by commas or empty
$cfg_nm_topics = 15; // number of topics to output
$cfg_max_topic_length = 100; // max topic length, if more, title will be shortened
$cfg_show_replies = true; // show number of replies to topics
$cfg_show_first_post = false; // show first posts of the recent topics
$cfg_show_attachments = false; // show attachments in the first posts of recent topics
/* End of config */
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
include($phpbb_root_path . 'includes/bbcode.' . $phpEx);
//
// Let's prevent caching
//
/*
if (!empty($_SERVER['SERVER_SOFTWARE']) && strstr($_SERVER['SERVER_SOFTWARE'], 'Apache/2'))
{
header ('Cache-Control: no-cache, pre-check=0, post-check=0');
}
else
{
header ('Cache-Control: private, pre-check=0, post-check=0, max-age=0');
}
header('Expires: 0');
header('Pragma: no-cache');
*/
header('Content-type: text/html; charset=Windows-1251');
// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup('common');
//
// Building URL
//
$board_path = generate_board_url();
$viewtopic_url = $board_path . '/viewtopic.' . $phpEx;
$view_topic_url = $board_path . '/viewtopic.' . $phpEx;
// Fetching forums that should not be displayed
$forums = implode(',', array_keys($auth->acl_getf('!f_read', true)));
$cfg_ignore_forums = (!empty($cfg_ignore_forums) && !empty($forums)) ? $cfg_ignore_forums . ',' . $forums : ((!empty($forums)) ? $forums : ((!empty($cfg_ignore_forums)) ? $cfg_ignore_forums : ''));
// Building sql for forums that should not be displayed
$sql_ignore_forums = (!empty($cfg_ignore_forums)) ? ' AND t.forum_id NOT IN(' . $cfg_ignore_forums .') ' : '';
// Building sql for forums that should only be displayed
$sql_only_forums = (!empty($cfg_only_forums)) ? ' AND t.forum_id IN(' . $cfg_only_forums .') ' : '';
// Fetching topics of public forums
$sql = 'SELECT t.*,
p.post_id, p.post_text, p.bbcode_uid, p.bbcode_bitfield, p.post_attachment, p.post_approved
FROM ' . TOPICS_TABLE . ' AS t, ' . POSTS_TABLE . ' AS p, ' . FORUMS_TABLE . " AS f
WHERE t.forum_id = f.forum_id
$sql_ignore_forums
$sql_only_forums
AND p.post_id = t.topic_first_post_id
AND t.topic_moved_id = 0
ORDER BY t.topic_last_post_id DESC LIMIT $cfg_nm_topics";
$result = $db->sql_query($sql);
$recent_topics = $db->sql_fetchrowset($result);
//
// BEGIN ATTACHMENT DATA
//
if($cfg_show_first_post && $cfg_show_attachments)
{
$attach_list = $update_count = array();
foreach ($recent_topics as $post_attachment)
{
if ($post_attachment['post_attachment'] && $config['allow_attachments'])
{
$attach_list[] = $post_attachment['post_id'];
if ($post_attachment['post_approved'])
{
$has_attachments = true;
}
}
}
// Pull attachment data
if (sizeof($attach_list))
{
if ($auth->acl_get('u_download') )
{
$sql_attach = 'SELECT *
FROM ' . ATTACHMENTS_TABLE . '
WHERE ' . $db->sql_in_set('post_msg_id', $attach_list) . '
AND in_message = 0
ORDER BY filetime DESC, post_msg_id ASC';
$result_attach = $db->sql_query($sql_attach);
while ($row_attach = $db->sql_fetchrow($result_attach))
{
$attachments[$row_attach['post_msg_id']][] = $row_attach;
}
$db->sql_freeresult($result_attach);
}
else
{
$display_notice = true;
}
}
}
//
// END ATTACHMENT DATA
//
foreach ( $recent_topics as $row )
{
$topic_title = censor_text($row['topic_title']);
$topic_title = (utf8_strlen($topic_title) > $cfg_max_topic_length) ? utf8_substr($topic_title, 0, $cfg_max_topic_length) . '…' : $topic_title;
$topic_title = str_replace(array("\r\n", "\r", "\n"), '<br />', $topic_title);
$topic_title = addslashes($topic_title);
$user_colour = ($row['topic_last_poster_colour']) ? ' style="color:#' . $row['topic_last_poster_colour'] . '" class="username-coloured"' : '';
// Replies
$replies = ($auth->acl_get('m_approve', $row['forum_id'])) ? $row['topic_replies_real'] : $row['topic_replies'];
// font color="#FF0033"
if ($replies == 0)
{
$color_empty_topic_beg = '';
$color_empty_topic_end = '';
}
else
{
$color_empty_topic_beg = '';
$color_empty_topic_end = '';
}
// Instantiate BBCode if need be
if ($row['bbcode_bitfield'] !== '')
{
$bbcode = new bbcode(base64_encode($row['bbcode_bitfield']));
}
$message = $row['post_text'];
// Parse the message
$message = censor_text($message);
// Second parse bbcode here
if ($row['bbcode_bitfield'])
{
$bbcode->bbcode_second_pass($message, $row['bbcode_uid'], $row['bbcode_bitfield']);
}
$message = str_replace("\n", '<br />', $message);
// Always process smilies after parsing bbcodes
$message = smiley_text($message);
// Parse attachments
if ($cfg_show_first_post && $cfg_show_attachments && !empty($attachments[$row['post_id']]))
{
parse_attachments($row['forum_id'], $message, $attachments[$row['post_id']], $update_count);
}
$message = str_replace(array("\r\n", "\r", "\n"), '<br />', $message);
$message = addslashes($message);
$message = str_replace('./', $board_path . '/', $message);
$tags = array('dl', 'dt', 'dd');
$message = strip_selected_tags($message, $tags);
$template->assign_block_vars('topicrow', array(
'NEWEST_POST_IMG' => $user->img('icon_topic_newest', 'VIEW_NEWEST_POST'),
'LAST_POST_IMG' => $user->img('icon_topic_latest', 'VIEW_LATEST_POST'),
'U_NEWEST_POST' => $view_topic_url . '?f=' . $row['forum_id'] . '&t=' . $row['topic_id'] . '&view=unread#unread',
'U_TOPIC' => $viewtopic_url . '?f=' . $row['forum_id'] . '&t=' . $row['topic_id'] . '&view=unread#unread',
'U_TOPIC_AUTHOR' => get_username_string('profile', $row['topic_poster'], $row['topic_first_poster_name'], $row['topic_first_poster_colour']),
'LAST_POST_AUTHOR_COLOUR' => get_username_string('colour', $row['topic_last_poster_id'], $row['topic_last_poster_name'], $row['topic_last_poster_colour']),
'LAST_POST_AUTHOR_FULL' => get_username_string('full', $row['topic_last_poster_id'], addslashes($row['topic_last_poster_name']), $row['topic_last_poster_colour']),
'TOPIC_TITLE' => $color_empty_topic_beg . iconv("UTF-8", "cp1251", $topic_title) . $color_empty_topic_end,
'LAST_POST_TIME' => $user->format_date($row['topic_last_post_time'],"H:i"),
'TOPIC_REPLIES' => ($cfg_show_replies) ? '<font color="#006600">[' . $replies . ']</font>' : '',
'S_HAS_ATTACHMENTS' => ($cfg_show_first_post && $cfg_show_attachments && !empty($attachments[$row['post_id']])) ? true : false,
'POSTER_LAST_POST' => get_username_string('full', $row['topic_last_poster_id'], addslashes($row['topic_last_poster_name']), $row['topic_last_poster_colour']),
// 'POSTER_LAST_POST' => '<font color="#' . $row['topic_last_poster_colour'] . '">' . $last_post_poster . '</font>',
));
if ($cfg_show_first_post)
{
$template->assign_block_vars('topicrow.first_post_text', array(
'TOPIC_FIRST_POST_TEXT' => ($cfg_show_first_post) ? iconv("UTF-8", "cp1251", $message) : ''
));
}
// Display not already displayed Attachments for this post, we already parsed them. ;)
if ($cfg_show_first_post && $cfg_show_attachments && !empty($attachments[$row['post_id']]))
{
foreach ($attachments[$row['post_id']] as $attachment)
{
$attachment = str_replace(array("\r\n", "\r", "\n"), '<br />', $attachment);
$attachment = str_replace('"./', '"' . $board_path . '/', $attachment);
$tags = array('span', 'dt', 'dd');
$attachment = strip_selected_tags($attachment, $tags);
$template->assign_block_vars('topicrow.first_post_text.attachment', array(
'DISPLAY_ATTACHMENT' => iconv("UTF-8", "cp1251", $attachment))
);
}
}
}
$db->sql_freeresult($result);
// Load template
$template->set_filenames(array(
'body' => 'recent_body.html')
);
// Output
$template->display('body');
/**
* Works like PHP function strip_tags, but it only removes selected tags.
* Example: * strip_selected_tags('<b>Person:</b> <strong>Larcher</strong>', 'strong') => <b>Person:</b> Larcher
* by Matthieu Larcher
* http://ru2.php.net/manual/en/function.strip-tags.php#76045
*/
function strip_selected_tags($text, $tags = array())
{
$args = func_get_args();
$text = array_shift($args);
$tags = (func_num_args() > 2) ? array_diff($args,array($text)) : (array)$tags;
foreach ($tags as $tag)
{
while(preg_match('/<'.$tag.'(|\W[^>]*)>(.*)<\/'. $tag .'>/iusU', $text, $found))
{
$text = str_replace($found[0],$found[2],$text);
}
}
return preg_replace('/(<('.join('|',$tags).')(|\W.*)\/>)/iusU', '', $text);
}
?>
-
Sheer
- Former team member
- Сообщения: 12113
- Стаж: 19 лет 7 месяцев
- Откуда: Калининград не Кенигсберг
- Благодарил (а): 54 раза
- Поблагодарили: 2756 раз
Re: [final] Recent topics for phpBB3 (Темы на стр. сайта)
По идее вместо
$row['topic_last_poster_name'] нужно iconv('UTF-8', 'cp1251', $row['topic_last_poster_name'])Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
-
andromeda68
- phpBB 1.4.3
- Сообщения: 97
- Стаж: 13 лет 11 месяцев
- Откуда: Ижевск
- Благодарил (а): 22 раза
- Поблагодарили: 1 раз
Re: [final] Recent topics for phpBB3 (Темы на стр. сайта)
Спасибо большое! Заменил в нескольких местах, заработало даже в IE6.
А адрес на автора где дописать(/forum/)?
А адрес на автора где дописать(/forum/)?
-
Sheer
- Former team member
- Сообщения: 12113
- Стаж: 19 лет 7 месяцев
- Откуда: Калининград не Кенигсберг
- Благодарил (а): 54 раза
- Поблагодарили: 2756 раз
Re: [final] Recent topics for phpBB3 (Темы на стр. сайта)
Вроде так
Код: Выделить всё
'U_TOPIC_AUTHOR' => ''.$board_path.'/'.get_username_string('profile', $row['topic_poster'], $row['topic_first_poster_name'], $row['topic_first_poster_colour']).'',Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
-
andromeda68
- phpBB 1.4.3
- Сообщения: 97
- Стаж: 13 лет 11 месяцев
- Откуда: Ижевск
- Благодарил (а): 22 раза
- Поблагодарили: 1 раз
-
Sheer
- Former team member
- Сообщения: 12113
- Стаж: 19 лет 7 месяцев
- Откуда: Калининград не Кенигсберг
- Благодарил (а): 54 раза
- Поблагодарили: 2756 раз
Re: [final] Recent topics for phpBB3 (Темы на стр. сайта)
Приаттачь сюда html-шаблон.
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.

