Скрытый текст 3.1 (для IP.Board 3.1.x)
Хук требует модификации одного файла форума, поэтому помещен в раздел "Модификации". Но зато на такой большой хук только одна ручная правка
Принцип действия - содержимое блоков скрытого текста вырезается из сообщений и догружается отдельно через ajax с проверкой условий. При ajax-ответе в тему или нажатии плюска в репу скрытые поля обновляются без перезагрузки страницы. Весь скрытый текст идентифицируется md5-ключами, РАБОТАЕТ ВООБЩЕ ВЕЗДЕ на форуме, где работает javascript. Однако часть функционала (ответ в тему, плюс в репу) работает только в форумах (что логично).
На самом деле тег hide и его содержимое не вырезается из БД и так их хранится как есть. Таким образом, если вы захотите отказаться от хука - просто удалите bbcode "Скрытый текст" и после сброса кэша все теги сами собой раскроются.
Инструкция по установке:
1. Залить папку upload;
2. Установить хук hook.xml;
3. Импортировать bbcode.xml в список BBCode (удалить все старые hide, если есть);
4. Добавить в /admin/applications/forums/sources/classes/post/classPost.php после строки (3578):
$raw_post .= IPSText::raw2form( $postContent );
Строки:
if(preg_match_all('/([hide[^]]*](.*)[/hide])/iU', $raw_post, $hides))
{
$raw_post = str_replace($hides[1], "", $raw_post);
}
Строки:
if(preg_match_all('/([hide[^]]*](.*)[/hide])/iU', $raw_post, $hides))
{
$raw_post = str_replace($hides[1], "", $raw_post);
}
Инструкция по применению:
[hide]скрыть от гостей[/hide]
Дополнительные параметры:
* auth="1" - показывать только авторизованным
(по-умолчанию - "1")
* thank="1" - показывать за плюсик в репутацию
(по-умолчанию - "0")
* rep="N" - показывать набравшим больше N баллов репутации
(по-умолчанию - "0")
* reply="1" - показывать ответившим в теме после поста
(по-умолчанию - "0")
* posts="N" - показывать оставившим больше N постов на форуме
(по-умолчанию - "0")
* group="Первая,Вторая,третья" - показывать членам групп, перечислять группы через запятую не важно в каком регистре
(по-умолчанию - "any")
* nick="Ritsuka,idTails" - показывать пользователям с указанными никами (логинами), перечислять через запятую не важно в каком регистре
(по-умолчанию - "any")
Пример употребления:
[hide auth="1" nick="idTails"]Я тебя люблю![/hide]
Забрать модификацию: