Смотрел свой форум, ссылки закрыты от гостей, вложения как бы тоже, но вот флеш и ютуб что вставлен с помощью ВВ-кода как бы виден всем. Решил закрыть от гостей,, немного погуглил и нашел вот такую штуку.
Guest Hide BB-Code MOD этот мод добавляет сам ВВ-код Hide с помощью которого можна закрыть любой текст или содержимое от гостей в посте, а также его можно применить так что бы содержимое некоторых ВВ-кодов автоматически скрывались от гостей во всех постах на форуме.
Мод очень легок в установке, займет немного времени. Правки нужны всего в нескольких файлах без затруднений. Автор мода русскоязычный, так что русификация внутри архива и описана. Правда автор потерялся где то год назад и сайт его недоступен, но главное мод рабочий. Сам проверил на своем форуме, стиль subsilver. - от автора оригинальной темы.
Добавлю от себя: штука и правда очень простая и хорошая. здесь она тоже установлена, только без информационных блоков, что информация закрыта - просто кое-где в темах небольшие дополнения видны только после регистрации ( ), что абсолютно не влияет на содержимое и работоспособность темы. просто "бонусы".
вот это hide у меня:
а вот так hide будет выглядеть у вас (по умолчанию), если вы установите данную модификацию:
Вложение:
Комментарий к файлу: так выглядит для гостей
Вложение:
Комментарий к файлу: так будет выглядеть для загестрированных пользователей
Ну вот, теперь, когда вы прониклись, так сказать, ставим данный мод:
Скачать модификацию из файлового архива сайта:
Скачать из файлового архива сайта
распаковать и содержимое папки root загрузить в корень сайта (где файл config.php).
Теперь редактируем файлы форума:
Открыть includes/functions_content.php
Найти
Заменить найденное на
Найти
Код: Выделить всё
function smiley_text($text, $force_option = false)
{
global $config, $user, $phpbb_root_path;
Заменить найденное на
Код: Выделить всё
function smiley_text($text, $force_option = false)
{
global $config, $user, $phpbb_root_path, $phpEx, $template;
/* ==================================================================================
*
* @package Guest Hide BBCode MOD PHP code
* @version 1.4.0 of 14.04.2009
* @copyright (c) By Shapoval Andrey Vladimirovich (AllCity) ~ http://allcity.net.ru/
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
================================================================================== */
if (!defined('INCLUDE_GUEST_HIDE_BBCODE_MOD'))
{
define('INCLUDE_GUEST_HIDE_BBCODE_MOD', true);
/* === SETTING === */
define('GUEST_HIDE_BBCODE_MOD_ENABLED', true); /* Enable this MOD? (true = YES, false = NO) */
define('GUEST_HIDE_BBCODE_MOD_BOT', false); /* Enable hide the text from bots? (true = YES, false = NO) */
define('GUEST_HIDE_BBCODE_MOD_REG_LINK', true); /* Enable link to regestration or (login - if regestration disable)? (true = YES, false = NO) */
define('HideBlockAOpen', '<div class="HideBlockA">'); /* Open HTML tag A. (FOR USER) */
define('HideBlockAClose', '</div>'); /* Close HTML tag A. (FOR USER) */
define('HideBlockBOpen', '<div class="HideBlockB">'); /* Open HTML tag B. (FOR GUEST) */
define('HideBlockBClose', '</div>'); /* Close HTML tag B. (FOR GUEST) */
define('HideBlockCLine', '<hr class="HideBlockLine" />'); /* The separation line. */
/* =============== */
define('HideBlockDOpen', '<!-- GuestHideBBCodeMODStart -->'); /* Open HTML replacement - Only for experts! (Do not use the # symbol) */
define('HideBlockDClose', '<!-- GuestHideBBCodeMODEnd -->'); /* Close HTML replacement - Only for experts! (Do not use the # symbol) */
/* === SETTING === */
if (GUEST_HIDE_BBCODE_MOD_ENABLED)
{
$user->add_lang('mods/guest_hide_bbcode_mod');
$template->assign_vars(array('GUEST_HIDE_BBCODE_MOD' => true));
}
}
/* === Do not change anything below this line === */
if (GUEST_HIDE_BBCODE_MOD_ENABLED)
{
if ($user->data['user_id'] == ANONYMOUS || GUEST_HIDE_BBCODE_MOD_BOT && $user->data['is_bot'])
{
$replace_hide = HideBlockBOpen.$user->lang['HIDE_ON'].HideBlockCLine;
if (GUEST_HIDE_BBCODE_MOD_REG_LINK && $config['require_activation'] == USER_ACTIVATION_DISABLE)
{
$replace_hide .= '<a href="'.append_sid("{$phpbb_root_path}ucp.$phpEx",'mode=login').'">'.$user->lang['HIDE_REG'].'</a>';
}
else if (GUEST_HIDE_BBCODE_MOD_REG_LINK && $config['require_activation'] != USER_ACTIVATION_DISABLE)
{
$replace_hide .= '<a href="'.append_sid("{$phpbb_root_path}ucp.$phpEx",'mode=register').'">'.$user->lang['HIDE_REG'].'</a>';
}
else
{
$replace_hide .= $user->lang['HIDE_REG'];
}
$replace_hide .= HideBlockBClose;
}
else
{
$replace_hide = HideBlockAOpen.$user->lang['HIDE_OFF'].HideBlockCLine.'$1'.HideBlockAClose;
}
$text = preg_replace('#'.HideBlockDOpen.'(.*?)'.HideBlockDClose.'#', $replace_hide, $text);
}
/* =============================================================================== */
для стилей на основе prosilver
для стилей на основе subsilver2
Теперь необходимо прописать сам bbcode hide в админке:
bbcode:
Код: Выделить всё
[hide]{TEXT}[/hide]
замена html:
Код: Выделить всё
<!-- GuestHideBBCodeMODStart -->{TEXT}<!-- GuestHideBBCodeMODEnd -->
подсказка:
Код: Выделить всё
[hide]{TEXT}[/hide]
Вложение:
Комментарий к файлу: админка
Осталось очистить кэш и можно пользоваться.
Применение:
1. при создании темы у вас появится новый bbcode hide, применяется как и все. всё, что "под hide" - будет не видно для гостей.
2. этот мод удобен ещё и тем, что любой ваш другой bbcode также можно закрыть от гостей в админке, "обернув" код замена html того bbcode в код hide:
пример:
замена html
Код: Выделить всё
<span class="code">{TEXT}</span>
чтобы "закрыть" - надо сделать так:
Код: Выделить всё
<!-- GuestHideBBCodeMODStart --><span class="code">{TEXT}</span><!-- GuestHideBBCodeMODEnd -->
и содержимое этого bbcode будет не видно для гостей.
Удачного вам применения.