Уважаемые пользователи!
Напоминаем, что с 7 ноября 2020 года phpBB Group прекратила выпуск обновлений для phpBB версии 3.2.
С учетом этого, рекомендуется обновить конференции до версии 3.3.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до отдельного объявления.

Как выводить в phpBB тексты из файла ?

Идеи для расширения функциональности phpBB 2.0.x
Аватара пользователя
Сергей Секирин
phpBB 2.0.0
Сообщения: 244
Стаж: 17 лет 4 месяца

Как выводить в phpBB тексты из файла ?

Сообщение Сергей Секирин »

Нет ли какой пристройки к phpBB, чтобы по ссылке (например по ссылке в постинге), открывался к-л файл, но также между колонтитулов форума?

Поясню: чтобы phpBB брал тело текста из к-л файла формата txt или html, добавлял колонтитулы и, если это возможно, основное форматирование типа шрифта (гарнитуры и кегля) текста и цвета фона?

Может есть мод?
Апология здравомыслия - странное занятие Православия:-)
Аватара пользователя
Сергей Секирин
phpBB 2.0.0
Сообщения: 244
Стаж: 17 лет 4 месяца

Сообщение Сергей Секирин »

Никто не ответил - это значит эта пристройка, нужная для очень длинных текстов (не в БД же их совать по частям!) невозможна полностью??? Гуру - ответьте :(
Апология здравомыслия - странное занятие Православия:-)
Аватара пользователя
[R: R@m$e$ :U]
phpBB Maniac
Сообщения: 1464
Стаж: 17 лет 5 месяцев
Откуда: Novosibirsk,RU

Сообщение [R: R@m$e$ :U] »

Сергей Секирин
тогда посторайся дать подробное описание того, что ты хочешь...

Добавлено спустя 2 минуты 4 секунды:

очень не безопасный мод получается...
Руководство пользователя | FAQ | Правила | Как устанавливать MOD'ы
ВОСПОЛЬЗУЙСЯ ПОИСКОМ, ТАМ ЕСТЬ БОЛЬШИНСТВО ОТВЕТОВ
ЕСЛИ НЕ ПОМОГЛО, ИСПОЛЬЗУЙ ШАБЛОН ЗАПРОСА, ПОМОГИ В РЕШЕНИИ ЗАДАЧИ
БЕСПЛАТНО ПОМОГУ ТОЛЬКО НА ФОРУМЕ!!! (ЛС НЕ В СЧЕТ)

Оставь благодарность, подтверди работоспособность совета.

ВСЕ ПРАВА НА МОДЫ ОТДАНЫ m157y
Аватара пользователя
Сергей Секирин
phpBB 2.0.0
Сообщения: 244
Стаж: 17 лет 4 месяца

Сообщение Сергей Секирин »

Если небезопасный - то, конечно, не нужно.

А подробнее объясню:
  • у меня на хосте в папке libs лежат файлы формата *.txt или *.htm - крупные файлы по 0,5 - 1 Мб. В сообщение их вставлять - дело неблагодарное (рост БД) и невозможное (ограничение размера поля) и ненужное.

    Вот и думаю - а можно ли сотворить, чтобы ссылка на такой файл открывала его (в новом, конечно, окне !) как отдельный документ, но только с колонтитулами форума, т.е., чтобы внешний вид почти не отличался.

    Может быть можно как-нибудь обеспечить безопасность, например задав только одну или две папки на хосте, из которых возможна загрузка файла и/или файл сделать к-л безопасного формата, типа TXT


Добавлено спустя 7 минут 6 секунд:

Может быть мне не нужно ничего с форумом делать, а прописать что-нибудь в самом открываемом файле, чтобы он, при открытии, принимал колонтитулы (а ещё бы и стили форума? Впрочем, такое, кажется, невозможно.
Апология здравомыслия - странное занятие Православия:-)
Аватара пользователя
[R: R@m$e$ :U]
phpBB Maniac
Сообщения: 1464
Стаж: 17 лет 5 месяцев
Откуда: Novosibirsk,RU

Сообщение [R: R@m$e$ :U] »

Сергей Секирин
может лучше подумать о несколько иной реализации? в бд название файла и название(или что-то вроде), и вставлять в шаблон текст из файла?
Руководство пользователя | FAQ | Правила | Как устанавливать MOD'ы
ВОСПОЛЬЗУЙСЯ ПОИСКОМ, ТАМ ЕСТЬ БОЛЬШИНСТВО ОТВЕТОВ
ЕСЛИ НЕ ПОМОГЛО, ИСПОЛЬЗУЙ ШАБЛОН ЗАПРОСА, ПОМОГИ В РЕШЕНИИ ЗАДАЧИ
БЕСПЛАТНО ПОМОГУ ТОЛЬКО НА ФОРУМЕ!!! (ЛС НЕ В СЧЕТ)

Оставь благодарность, подтверди работоспособность совета.

ВСЕ ПРАВА НА МОДЫ ОТДАНЫ m157y
Аватара пользователя
Сергей Секирин
phpBB 2.0.0
Сообщения: 244
Стаж: 17 лет 4 месяца

Сообщение Сергей Секирин »

Можно и так! Реализовать бы :?
Апология здравомыслия - странное занятие Православия:-)
Аватара пользователя
[R: R@m$e$ :U]
phpBB Maniac
Сообщения: 1464
Стаж: 17 лет 5 месяцев
Откуда: Novosibirsk,RU

Сообщение [R: R@m$e$ :U] »

[R: R@m$e$ :U]
ну так реализую... только щас четверть закончу....
Руководство пользователя | FAQ | Правила | Как устанавливать MOD'ы
ВОСПОЛЬЗУЙСЯ ПОИСКОМ, ТАМ ЕСТЬ БОЛЬШИНСТВО ОТВЕТОВ
ЕСЛИ НЕ ПОМОГЛО, ИСПОЛЬЗУЙ ШАБЛОН ЗАПРОСА, ПОМОГИ В РЕШЕНИИ ЗАДАЧИ
БЕСПЛАТНО ПОМОГУ ТОЛЬКО НА ФОРУМЕ!!! (ЛС НЕ В СЧЕТ)

Оставь благодарность, подтверди работоспособность совета.

ВСЕ ПРАВА НА МОДЫ ОТДАНЫ m157y
Аватара пользователя
BorMan
phpBB 1.4.3
Сообщения: 91
Стаж: 17 лет 3 месяца
Откуда: Moscow

Сообщение BorMan »

Сергей Секирин
Как одно из решений проблемы - посмотри мод Rules
Там один php-ник + один tpl .... Ссылка на php делается из оллхедера... В tpl впихиваешь свой текст в html и все выводится между колонтитулов.
Довольно просто переделать под несколько страничек...

http://www.phpbbguru.net/community/viewtopic.php?t=376
Лень - двигатель прогресса!!!
Аватара пользователя
Сергей Секирин
phpBB 2.0.0
Сообщения: 244
Стаж: 17 лет 4 месяца

Сообщение Сергей Секирин »

BorMan
Спасибо за совет! Однако, просто - это, наверное тому, кто понимает :? Я же - чайник :(

Добавлено спустя 5 минут 38 секунд:

Если я впихну в TPL весь текст, то Редактору (Front Page) дурно станет от его размера - это же не .txt :? Попробую Rules, спасибо!

Добавлено спустя 1 минуту 34 секунды:

К тому же если таких текстов будет 50 :D , то и php будет 50? Как я в них тогда разгребуся??? :)
Апология здравомыслия - странное занятие Православия:-)
Аватара пользователя
BorMan
phpBB 1.4.3
Сообщения: 91
Стаж: 17 лет 3 месяца
Откуда: Moscow

Сообщение BorMan »

Сергей Секирин писал(а):Если я впихну в TPL весь текст, то Редактору (Front Page) дурно станет от его размера
Дурно ему не станет..., просто он сам по жизни дурной и генерирует весьма корявый html код... :(
Сергей Секирин писал(а):К тому же если таких текстов будет 50 , то и php будет 50?
Так нумеруй их... :) Типа page_01.php и page_01_body.tpl и т.д. :)
Вообще когда таких страниц много, то либо плодить кол-во отдельных файлов в двойном размере прийдется при использовании за основу данного мода, либо искать или писать новый мод с одним файликом php и все той-же кучей файлов с данными в формате html, чтобы они голимые где-то лежали... А использование БД для уменьшения их количества не вариант, т.к. и саму структуру таблиц это затронет, и внесет ограничения на предмет возможностей html.
Вот болванки работающих вариантов:
файл rules.php :
<?php
/***************************************************************************
* rules.php
* -------------------
* begin : Saturday, Dec 20, 2003
* copyright :GamingXtreme.net, Sniper12p
* email : sniper12p@gamingxtreme.net
* other : This mod was made by Mod Studio of http://phpbb.com
* $Id: $
*
*
***************************************************************************/

/***************************************************************************
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
***************************************************************************/

define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);

//
// Start session management
//
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
//
// End session management
//

//
// Start output of page
//
$page_title = $lang['Index'];
include($phpbb_root_path . 'includes/page_header.'.$phpEx);

$template->set_filenames(array(
'body' => 'rules_body.tpl')
);

//
// Generate the page
//
$template->pparse('body');

include($phpbb_root_path . 'includes/page_tail.'.$phpEx);

?>
файл page_01.php :
<?php
/***************************************************************************
* rules.php
* -------------------
* begin : Saturday, Dec 20, 2003
* copyright :GamingXtreme.net, Sniper12p
* email : sniper12p@gamingxtreme.net
* other : This mod was made by Mod Studio of http://phpbb.com
* $Id: $
*
*
***************************************************************************/

/***************************************************************************
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
***************************************************************************/

define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);

//
// Start session management
//
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
//
// End session management
//

//
// Start output of page
//
$page_title = $lang['Index'];
include($phpbb_root_path . 'includes/page_header.'.$phpEx);

$template->set_filenames(array(
'body' => 'page_01_body.tpl')
);

//
// Generate the page
//
$template->pparse('body');

include($phpbb_root_path . 'includes/page_tail.'.$phpEx);

?>
файл rules_body.tpl :
<table width="100%" cellspacing="2" cellpadding="2" border="0" align="center">
<tr>
<td align="left"><span class="nav"><a href="{U_INDEX}" class="nav">{L_INDEX}</a>&nbsp;->&nbsp;<a href="rules.php" class="nav">Правила работы форумов на "Бородатой странице"</a></span></td>
</tr>
</table>

<table width="99%" cellpadding="4" cellspacing="1" border="0" align="center" class="forumline">
<tr>
<th class="thHead" width="100%">Правила работы форумов на "Бородатой странице"</th>
</tr>
<tr>
<td class="row1" width="100%">
<!-- ---------------------------------------- start of rules --------------------------------- -->
<p align="left"><span class="gen"><b>Общие правила работы на форумах:</b><br>
1. ...................<br>
2. ...................<br>
3. ...................<br>
4. ...................<br>
<i>(Правила находятся на стадии оформления)</i>
<!-- ---------------------------------------- end of rules --------------------------------- -->
</span></p>
</td>
</table>
</div>
файл page_01_body.tpl :
<table width="100%" cellspacing="2" cellpadding="2" border="0" align="center">
<tr>
<td align="left"><span class="nav"><a href="{U_INDEX}" class="nav">{L_INDEX}</a>&nbsp;->&nbsp;<a href="page_01.php" class="nav">Прежде, чем закачать картинку...</a></span></td>
</tr>
</table>

<table width="99%" cellpadding="4" cellspacing="1" border="0" align="center" class="forumline">
<tr>
<th class="thHead" width="100%">Прежде, чем закачать картинку...</th>
</tr>
<tr>
<td class="row1" width="100%">
<p align="left"><span class="gen">
<!-- ---------------------------------------- start of text --------------------------------- -->
<b>Прежде, чем закачать картинку на форумы, ее необходимо соответствующим образом подготовить:</b><br>
(Материал по подготовке фоток находится на стадии оформления)
<!-- ---------------------------------------- end of text --------------------------------- -->
</span></p>
</td>
</table>
</div>
фрагмент кода в файле overall_header.tpl :
<a name="top"></a>

<table width="100%" cellspacing="0" cellpadding="10" border="0" align="center">
<tr>
<td class="bodyline"><table width="100%" cellspacing="0" cellpadding="0" border="0">
<tr>
<td align="center" valign="top"><a href="{U_INDEX}"><img src="templates/subSilver/images/logo_phpBB.gif" border="0" alt="{L_INDEX}" vspace="1" /></a><br>
<table cellspacing="0" cellpadding="1" border="0">
<tr>
<td align="left" valign="top" nowrap="nowrap"><a href="{U_FAQ}" class="mainmenu"><img src="templates/subSilver/images/icon_mini_faq.gif" width="12" height="13" border="0" alt="{L_FAQ}" hspace="3" />{L_FAQ}</a></span><span class="mainmenu">&nbsp; &nbsp;<a href="{U_SEARCH}" class="mainmenu"><img src="templates/subSilver/images/icon_mini_search.gif" width="12" height="13" border="0" alt="{L_SEARCH}" hspace="3" />{L_SEARCH}</a>&nbsp; &nbsp;<a href="{U_MEMBERLIST}" class="mainmenu"><img src="templates/subSilver/images/icon_mini_members.gif" width="12" height="13" border="0" alt="{L_MEMBERLIST}" hspace="3" />{L_MEMBERLIST}</a>&nbsp; &nbsp;<a href="{U_GROUP_CP}" class="mainmenu"><img src="templates/subSilver/images/icon_mini_groups.gif" width="12" height="13" border="0" alt="{L_USERGROUPS}" hspace="3" />{L_USERGROUPS}</a>&nbsp;
</td>
</tr>
<tr>
<td align="left" valign="top" nowrap="nowrap"><a href="rules.php" class="mainmenu"><img src="templates/subSilver/images/icon_mini_faq.gif" border="0" alt="Правила работы на форумах" hspace="3" />Правила работы на форумах</a></span>
</td>
</tr>
<tr>
<td align="left" valign="top" nowrap="nowrap"><a href="page_01.php" class="mainmenu"><img src="templates/subSilver/images/icon_mini_faq.gif" border="0" alt="Подготовка графики для размещения на форуме" hspace="3" />Прежде, чем закачать картинку...</a></span>
</td>
</tr>
<tr>
<!-- BEGIN switch_user_logged_out -->
<a href="{U_REGISTER}" class="mainmenu"><img src="templates/subSilver/images/icon_mini_register.gif" width="12" height="13" border="0" alt="{L_REGISTER}" hspace="3" />{L_REGISTER}</a></span>&nbsp;
<!-- END switch_user_logged_out -->
<td align="left" valign="top" nowrap="nowrap"><span class="mainmenu"><a href="{U_PROFILE}" class="mainmenu"><img src="templates/subSilver/images/icon_mini_profile.gif" width="12" height="13" border="0" alt="{L_PROFILE}" hspace="3" />{L_PROFILE}</a>&nbsp; &nbsp;<a href="{U_PRIVATEMSGS}" class="mainmenu"><img src="templates/subSilver/images/icon_mini_message.gif" width="12" height="13" border="0" alt="{PRIVATE_MESSAGE_INFO}" hspace="3" />{PRIVATE_MESSAGE_INFO}</a>&nbsp; &nbsp;<a href="{U_LOGIN_LOGOUT}" class="mainmenu"><img src="templates/subSilver/images/icon_mini_login.gif" width="12" height="13" border="0" alt="{L_LOGIN_LOGOUT}" hspace="3" />{L_LOGIN_LOGOUT}</a>&nbsp;</span>
</td>
</tr>
</table></td>
</tr>
</table>
<hr />
Ну а далее по образу и подобию... :)
Лень - двигатель прогресса!!!
Аватара пользователя
avm
Former team member
Сообщения: 582
Стаж: 17 лет 5 месяцев
Откуда: Москва

Сообщение avm »

Сергей Секирин, именно для таких целей:
http://www.phpbbguru.net/community/viewtopic.php?t=1478

если "не админ" будет цитировать сообщение "с инклудом", то ссылка вставится как текст - не более...

ставьте относительные пути "инклудуемых" файлов и тогда никакие сер-хакеры не узнают в какой именно папке на хостинге лежит ваш форум...
выделенный сервер по цене обычного хостинга - менее 150 рублей в месяц
Благодарности принимаются в Яндекс.Деньгах на счет 4100143316948
Аватара пользователя
Сергей Секирин
phpBB 2.0.0
Сообщения: 244
Стаж: 17 лет 4 месяца

Сообщение Сергей Секирин »

avm
Спасибо за участие и за помощь! Хотя я почти ничего не понял в Моде, но у меня родились вопросы:

1. Код, данный в теме http://www.phpbbguru.net/community/viewtopic.php?t=1478 - уже с учётом исправлений? т.е. это последняя версия, которая опробована?

2. Объясните пожалуйста чайнику - как ставить относительный путь инклудируемого файла?

3. Как так, хакеры не узнают пути? ведь путь к самому форуму www.site.ru/forum - как тут не узнать путь? :? Или я чего-то очень сильно не понимаю?

4. Как практически использовать Мод после установки? В смысле - что писать в тексте сообщения? :?

5. И последнее - пока писал, подумал - ведь текст если очень большой (f.e. 700 Кб), он выведется в сообщении полностью? Есть ли этот лимит для вывода сообщения или это только ограничение БД?

Добавлено спустя 1 минуту 1 секунду:

BorMan
Не-ет! По коду я понял, что это не для того, чтобы вставить в СООБЩЕНИЕ текст из файла. А мне нужно именно что-то одно из двух:

1. Вставлять в любое сообщение!!! текст из внешнего файла (чтобы не хранить его в БД), либо

2. По ссылке из СООБЩЕНИЯ открыть внешний файл под колонтитулами форума, т.е. по виду похоже на сообщение или к-л документ форума.

А ссылки на Главной типа правил форума мне не подходят, потому, что у меня будет их много, причём - тематических текстов, которые в разных форумах свои. Всё равно спасибо за помощь. К тому-же может я чего-то не понял :?
Апология здравомыслия - странное занятие Православия:-)
Аватара пользователя
BorMan
phpBB 1.4.3
Сообщения: 91
Стаж: 17 лет 3 месяца
Откуда: Moscow

Сообщение BorMan »

Сергей Секирин писал(а):1. Вставлять в любое сообщение!!! текст из внешнего файла (чтобы не хранить его в БД),
Так это и обыкновенный attach mod уже делает...
Заливаешь в формате txt и в сообщении появляется ссылочка на этот файл... кликнул на нее - в новом окошке показан документик в txt ...
Какак файлы закачивать и как их отображать - это в настройке мода...
По умолчанию файло с расширением html устанавливают, как незакачиваемое, чтобы повысить безопасность..., но если есть желание - можно и его закачивать и показывать...
... и в БД это файло храниться не будет...
Лень - двигатель прогресса!!!
Аватара пользователя
Сергей Секирин
phpBB 2.0.0
Сообщения: 244
Стаж: 17 лет 4 месяца

Сообщение Сергей Секирин »

BorMan писал(а): Так это и обыкновенный attach mod уже делает...
Заливаешь в формате txt и в сообщении появляется ссылочка на этот файл... кликнул на нее - в новом окошке показан документик в txt ...
Какак файлы закачивать и как их отображать - это в настройке мода...
Я об этом думал. А там файл отображается меж колонтитулов форума, как обычно?

Мне нужно (наконец дошло до чёткой формулировки), чтобы текст самого сообщения формировался из файла.
По-моему avm об этом как раз и говорит.
Да вот я только не могу понять как это работает :? Кажется там прописывать полные пути типа domains/site.ru/public_html/admin/file.php или т.п. в постинге не рекомендуетс. Но это и всё, что мне ясно :? Буду ждать пояснений.
Спасибо!
Апология здравомыслия - странное занятие Православия:-)
Аватара пользователя
avm
Former team member
Сообщения: 582
Стаж: 17 лет 5 месяцев
Откуда: Москва

Сообщение avm »

1. Этот мод установлен на форуме моей городской сети. Успешно использется для отображения динамически меняющегося контента, сообщений различного дизайна (чего не добиться стандартными средствами), вывода объявлений расчитанных лишь на определенных посетителей, и т.д.

2. Относительный путь - это путь относительно текущей корневой папки форума, например если у вас форум лежит в папке /home/www/superforum (там где лежат файлы viewtopic.php и др.), а документ лежит в папке которую вы специально создали для выкладывания внешних файлов /home/www/superforum/files/mydoc.txt, то относительный путь к этому файлу - files/mydoc.txt

3. Говоря про "хакеры не узнают пути", имел ввиду что они при цитировании вашего сообщения "с инклудом" (в случае указания относительного пути) увидят только files/mydoc.txt, а не весь путь /home/www/superforum/files/mydoc.txt. От чего это защитит? да не от чего! (как и не создаст никакой дополнительной угрозы) - просто утешит параною...

4. После установки мода, имея привилегии админа! вы создаете сообщение вида [include(files/mydoc.txt)] - и вместо этой инструкции все увидят содержимое файла...

5. Этот мод не делает никаких ограничений на длину текста (он сделан для других целей) - он просто выведет все что ему поручили... для контроля и планирования есть постящий сообщение админ.

P.S. Мод не ограничивает администратора в способах указания аргумента. Например можно сделать так - [include(http://vneshniysite.ru/mydoc.php)]... но это - на страх и риск того администратора, который запостит такое сообщение на свой форум!
выделенный сервер по цене обычного хостинга - менее 150 рублей в месяц
Благодарности принимаются в Яндекс.Деньгах на счет 4100143316948

Вернуться в «Запросы модов для phpBB 2.0.x»