[final] Recent topics for phpBB3 (Темы на стр. сайта)

Здесь авторы могут постить бета-версии своих модификаций для phpBB 3.0.x. Внимание! Не устанавливайте бета-версии модов на работающие форумы!
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
igorbond
phpBB 3.0.7-PL1
Сообщения: 2483
Зарегистрирован: 09.01.2012 3:34
Благодарил (а): 574 раза
Поблагодарили: 114 раз

Re: [final] Recent topics for phpBB3 (Темы на стр. сайта)

Сообщение igorbond » 06.02.2015 21:38

А сделать вывод более похожим на NV Recent topics for phpBB3 есть возможность?
Изображение

Аватара пользователя
misterleks
phpBB 2.0.9
Сообщения: 715
Зарегистрирован: 20.08.2010 15:09
Откуда: Великий Новгород
Благодарил (а): 103 раза
Поблагодарили: 37 раз

Re: [final] Recent topics for phpBB3 (Темы на стр. сайта)

Сообщение misterleks » 05.03.2015 16:16

А есть такой мод под 3.1.2 ?
Продаю комиксы, продаю инструмент, продаю товары для охоты и рыбаков... и администрирую форум!

Аватара пользователя
Пчелкин
phpBB 3.1.9
Сообщения: 10102
Зарегистрирован: 15.01.2010 13:57
Откуда: От Москвы 9 часов на Боинге
Благодарил (а): 1337 раз
Поблагодарили: 1297 раз

Re: [final] Recent topics for phpBB3 (Темы на стр. сайта)

Сообщение Пчелкин » 05.03.2015 17:13

Пчелкин писал(а): Разуй глаза - ты ветки версий phpBB перепутал... Ну что за народ пошел..

Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 9768
Зарегистрирован: 08.08.2011 2:02
Благодарил (а): 175 раз
Поблагодарили: 2722 раза

Re: [final] Recent topics for phpBB3 (Темы на стр. сайта)

Сообщение Татьяна5 » 05.03.2015 18:43

misterleks писал(а):мод под 3.1
Модов под 3.1 вообще не существует в природе

Аватара пользователя
andromeda68
phpBB 1.4.3
Сообщения: 92
Зарегистрирован: 21.10.2012 21:20
Откуда: Ижевск
Благодарил (а): 21 раз
Поблагодарили: 1 раз

Re: [final] Recent topics for phpBB3 (Темы на стр. сайта)

Сообщение andromeda68 » 16.10.2015 19:54

Пользуюсь до сих пор этим модом. Появилась необходимость выводить последние сообщения в текстовый файл.
На экран выводит код

Код: Выделить всё

$template->display('body');
а как сделать, чтоб писало в файл, очень нужно, пожалуйста, помогите.
Или как вариант 1 последнее сообщение, чтоб писалось в файл.

Аватара пользователя
Sheer
phpBB Guru
phpBB Guru
Сообщения: 11499
Зарегистрирован: 18.02.2007 19:01
Откуда: Калининград не Кенигсберг
Благодарил (а): 53 раза
Поблагодарили: 2581 раз

Re: [final] Recent topics for phpBB3 (Темы на стр. сайта)

Сообщение Sheer » 17.10.2015 0:23

andromeda68 писал(а): На экран выводит код
Как бы не так!
Создаете файл и пишите туда все, что нужно. Пример
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.

Аватара пользователя
andromeda68
phpBB 1.4.3
Сообщения: 92
Зарегистрирован: 21.10.2012 21:20
Откуда: Ижевск
Благодарил (а): 21 раз
Поблагодарили: 1 раз

Re: [final] Recent topics for phpBB3 (Темы на стр. сайта)

Сообщение andromeda68 » 17.10.2015 0:36

Sheer, создать файл и записать в него несложно.
Мне нужно, чтоб помогли из кода вытащить, что необходимо в переменную вначале, за что в коде зацепится помогите.

Аватара пользователя
Sheer
phpBB Guru
phpBB Guru
Сообщения: 11499
Зарегистрирован: 18.02.2007 19:01
Откуда: Калининград не Кенигсберг
Благодарил (а): 53 раза
Поблагодарили: 2581 раз

Re: [final] Recent topics for phpBB3 (Темы на стр. сайта)

Сообщение Sheer » 17.10.2015 0:41

А что именно выводить нужно, и в каком виде?
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.

Аватара пользователя
andromeda68
phpBB 1.4.3
Сообщения: 92
Зарегистрирован: 21.10.2012 21:20
Откуда: Ижевск
Благодарил (а): 21 раз
Поблагодарили: 1 раз

Re: [final] Recent topics for phpBB3 (Темы на стр. сайта)

Сообщение andromeda68 » 17.10.2015 0:56

Можно все заголовки последних 10 сообщений, так у меня на главную выводит сейчас.
Удалено Правила Правила, пункт: 3.10
Это же самое записать в текстовый файл в этой же директории где находится recent.php.

Аватара пользователя
Sheer
phpBB Guru
phpBB Guru
Сообщения: 11499
Зарегистрирован: 18.02.2007 19:01
Откуда: Калининград не Кенигсберг
Благодарил (а): 53 раза
Поблагодарили: 2581 раз

Re: [final] Recent topics for phpBB3 (Темы на стр. сайта)

Сообщение Sheer » 17.10.2015 15:30

Пишите, что хотите
recent_write.php

Код: Выделить всё

<?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 = '';         // 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
/* 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('Content-type: text/html; charset=UTF-8');
header('Expires: 0');
header('Pragma: no-cache');

// 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;

// 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.topic_title, t.topic_first_poster_name, t.topic_time, p.post_id, p.post_text, p.bbcode_uid, p.bbcode_bitfield, 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);

$fp = fopen('recent.txt', 'w');

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) . '&hellip;' : $topic_title;
    //$topic_title = str_replace(array("\r\n", "\r", "\n"), '<br />', $topic_title);
    $topic_title = addslashes($topic_title);

    // 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']);
    }

    // Always process smilies after parsing bbcodes
    $message = smiley_text($message);

    $message = addslashes($message);
    $message = str_replace('./', $board_path . '/', $message);
    $tags = array('dl', 'dt', 'dd');
    $message = strip_selected_tags($message, $tags);
    $poster = $row['topic_first_poster_name'];
    $topic_time = $user->format_date($row['topic_time'], 'j F Y, G:i:s');

    $tt = "Тема: ". $topic_title. " Автор: ". $poster. " - " . $topic_time . "\r\n" . $message . "\r\n";
    fwrite($fp, $tt);
}
$db->sql_freeresult($result);
fclose($fp);
print "Ok<br />";
/**
* 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);
}
?>
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.

Аватара пользователя
andromeda68
phpBB 1.4.3
Сообщения: 92
Зарегистрирован: 21.10.2012 21:20
Откуда: Ижевск
Благодарил (а): 21 раз
Поблагодарили: 1 раз

Re: [final] Recent topics for phpBB3 (Темы на стр. сайта)

Сообщение andromeda68 » 17.10.2015 20:46

Спасибо, это то что нужно.
Заменил только recent.txt на recent_txt.php
Только где можно кодировку в коде поменять?

Код: Выделить всё

Тема: Школьный логопед Автор: Алена - 11 Октябрь 2015, 14:36:23 Р
Все сделал:

Код: Выделить всё

$topic_title = iconv("UTF-8", "WINDOWS-1251", $topic_title);
$poster = iconv("UTF-8", "WINDOWS-1251", $poster);
$topic_time = iconv("UTF-8", "WINDOWS-1251", $topic_time);
$message = iconv("UTF-8", "WINDOWS-1251", $message);

    $tt = "Тема: ". $topic_title. " Автор: ". $poster. " - " . $topic_time . "\r\n" . $message . "\r\n<br><br>"; 

rightmiha
phpBB 1.2.1
Сообщения: 27
Зарегистрирован: 23.01.2010 14:36
Благодарил (а): 5 раз

Re: [final] Recent topics for phpBB3 (Темы на стр. сайта)

Сообщение rightmiha » 22.04.2016 13:17

Сложно ли допилить мод, чтобы он выводил не темы а сообщения из указанyых тем? Может уже есть решения?

Возникла необходимость выводить на странице сайта не заголовки тем, а тексты сообщений указанных топиков (по принципе вывода тем), встречал кто-либо такое? Спасибо.

Аватара пользователя
Леонид Росток
phpBB 1.2.1
Сообщения: 20
Зарегистрирован: 02.03.2014 10:37
Откуда: Иерусалим
Благодарил (а): 36 раз

Re: [final] Recent topics for phpBB3 (Темы на стр. сайта)

Сообщение Леонид Росток » 22.04.2016 16:00

внимательно смотрим:
$cfg_show_first_post = true; // show first posts of the recent topics

rightmiha
phpBB 1.2.1
Сообщения: 27
Зарегистрирован: 23.01.2010 14:36
Благодарил (а): 5 раз

Re: [final] Recent topics for phpBB3 (Темы на стр. сайта)

Сообщение rightmiha » 24.04.2016 11:09

Спасибо, Леонид, функционал вывода первого поста мне понятен, но я несколько иное имел в виду, мне надо выводить не только первое сообщение.
А много сообщений, из темы (форума) т.е. фактически это вывод содержимого темы форума на странице.
Спасибо!

Аватара пользователя
Леонид Росток
phpBB 1.2.1
Сообщения: 20
Зарегистрирован: 02.03.2014 10:37
Откуда: Иерусалим
Благодарил (а): 36 раз

Re: [final] Recent topics for phpBB3 (Темы на стр. сайта)

Сообщение Леонид Росток » 24.04.2016 13:34

предложите Sheer
я к нему обращался: очень хорошо делает

Вернуться в «Бета-версии модов для phpBB 3.0.x»