[FINAL] In-post hidden messages BBcode Mod
-
- phpBB 1.4.0
- Сообщения: 39
- Стаж: 19 лет
[FINAL] In-post hidden messages BBcode Mod
Название мода: In-post hidden messages BBcode Mod
Автор: Jumangee
Описание мода: Добавляет тэг, который позволяет "скрывать" часть текста, и показывать его только определенным участникам форума. Формат тэга: "[priv=name1, name2, name3]текст сообщения[/priv]". В данном случае текст сообщения увидят только пользователи name1, name2, name3 и автор сообщения, модератор форума и админ.
Версия мода: 1.1 final
Совместимая версия phpBB: проверно только на 2.0.22
Cложность установки: Легко
Время, необходимое для установки: ~ 1-3 минуты
Страничка мода: http://bbs.jumangee.net/project/phpbb2_inpost_mod
Скачать: http://bbs.jumangee.net/files/inpost_ms ... tall_0.rar
Размер файла: 1 kb
Огромное спасибо за помощь: Midi, PhoeNiXX, Valiks и другим
Автор: Jumangee
Описание мода: Добавляет тэг, который позволяет "скрывать" часть текста, и показывать его только определенным участникам форума. Формат тэга: "[priv=name1, name2, name3]текст сообщения[/priv]". В данном случае текст сообщения увидят только пользователи name1, name2, name3 и автор сообщения, модератор форума и админ.
Версия мода: 1.1 final
Совместимая версия phpBB: проверно только на 2.0.22
Cложность установки: Легко
Время, необходимое для установки: ~ 1-3 минуты
Страничка мода: http://bbs.jumangee.net/project/phpbb2_inpost_mod
Скачать: http://bbs.jumangee.net/files/inpost_ms ... tall_0.rar
Размер файла: 1 kb
Огромное спасибо за помощь: Midi, PhoeNiXX, Valiks и другим
Последний раз редактировалось Jumangee 23.12.2007 16:04, всего редактировалось 2 раза.
-
- phpBB 1.2.1
- Сообщения: 25
- Стаж: 18 лет 3 месяца
- Откуда: Москва
-
- phpBB 1.4.0
- Сообщения: 39
- Стаж: 19 лет
Я сначала там и сделал, но потом мне показалось что там этому не место. Я не прав? Просто хотелось бы услышать почему лучше по-вашему?А может перетащить всё в bbcode.php?
Да, Вы правы, подправлюДа и маленькое слово для в языковую переменную закотать бы... так, на всякий случай...
Добавлено спустя 9 минут 3 секунды:
Подправил, добавил переменную для "для". Неукого спросить, можно ли мод считать законченным, или надо как-то по-особенному тестировать?
-
- phpBB 1.4.0
- Сообщения: 31
- Стаж: 17 лет 4 месяца
- Откуда: Питер
Мод супер! Как раз такое искал, надеюсь работает) Спасибо!
Предложения по усовершенствованию:
1. Сделать кнопку для обрамления текста тэгом, видимую только модератором или админом.
2. Сделать кнопку (просто слово с линком)(наподобии цитирования в ExtQuickReply Form) под ником пользователя, видимую только админу и модеру, при нажатии на которую ник прописывался бы в открывающий тег в форму быстрого ответа (Extended Quick Reply Form v.3)
Добавлено спустя 42 минуты 39 секунд:
мда, в общем-то, не особо он заработал:
а вот и сама 1313 строка(собственно, кусок мода):
Предложения по усовершенствованию:
1. Сделать кнопку для обрамления текста тэгом, видимую только модератором или админом.
2. Сделать кнопку (просто слово с линком)(наподобии цитирования в ExtQuickReply Form) под ником пользователя, видимую только админу и модеру, при нажатии на которую ник прописывался бы в открывающий тег в форму быстрого ответа (Extended Quick Reply Form v.3)
Добавлено спустя 42 минуты 39 секунд:
мда, в общем-то, не особо он заработал:
Код: Выделить всё
Parse error: parse error, unexpected T_VARIABLE in z:\home\xxxxxx.ru\forum\viewtopic.php on line 1313
Код: Выделить всё
$message = preg_replace($priv_ptrn, "<i>"$lang['priv_msg_txt'].$add_text.":<br>\\2</i>", $message, 1);
-
- phpBB 1.4.0
- Сообщения: 39
- Стаж: 19 лет
Пропущена точка перед $lang['priv_msg_txt'], надо:$message = preg_replace($priv_ptrn, "<i>"$lang['priv_msg_txt'].$add_text.":<br>\\2</i>", $message, 1);
Код: Выделить всё
$message = preg_replace($priv_ptrn, "<i>".$lang['priv_msg_txt'].$add_text.":<br>\\2</i>", $message, 1);

-
- phpBB 1.4.0
- Сообщения: 31
- Стаж: 17 лет 4 месяца
- Откуда: Питер
-
- Former team member
- Сообщения: 291
- Стаж: 18 лет 4 месяца
- Откуда: Донецк
-
- phpBB 1.4.0
- Сообщения: 39
- Стаж: 19 лет
Она самая, ошибка 500, не могу понять из-за чего возникает, вроде бы как в строке:
Код: Выделить всё
$message = preg_replace($priv_ptrn, "", $message, 1);
-
- phpBB 1.4.0
- Сообщения: 39
- Стаж: 19 лет
Не понимаю в чём проблема! Всё вроде бы правильно, а в логах ругаеццо на тайм-аут выполнения (у меня 30 сек) или не ругается совсем. Пробовал делать проверки на анонимов и обрабатывать их "быстрее", но результатов не дало. Проблема ещё и в том, что хостинг (платная агава) похоже подглючивает в последнее время и часто не понятно - глючит скрипт, или он нормальный а глюки - агавовские. Может быть, кто-то из знатоков поможет - в чем может быть проблема?
-
- phpBB 1.4.1
- Сообщения: 46
- Стаж: 18 лет 9 месяцев
Выдает сообщение 404 - страницы не существует
Установил мод.
При входе как админ все видно ОК
А вот при попытке войти как гость, не открывается даже страница, на которой был использован этот мод.
Выдает сообщение 404 - страницы не существует
Алмин входит без проблем
Ставил мод из архива, с изменениями, указанными чуть выще
http://www.phpbbguru.net/community/view ... 867#171867
Может быть конфликтует с кем-то?
Предложение - добавить возможность видеть
- зарегистрированным
- определенным группам
При входе как админ все видно ОК
А вот при попытке войти как гость, не открывается даже страница, на которой был использован этот мод.
Выдает сообщение 404 - страницы не существует
Алмин входит без проблем
Ставил мод из архива, с изменениями, указанными чуть выще
http://www.phpbbguru.net/community/view ... 867#171867
В чем может быть ошибка? Устанавливал все правильноJumangee писал(а):Пропущена точка перед $lang['priv_msg_txt'], надо:Код: Выделить всё
$message = preg_replace($priv_ptrn, "<i>".$lang['priv_msg_txt'].$add_text.":<br>\\2</i>", $message, 1);
Может быть конфликтует с кем-то?
Предложение - добавить возможность видеть
- зарегистрированным
- определенным группам
Val
-
- phpBB 1.0.0
- Сообщения: 4
- Стаж: 17 лет 10 месяцев
в коде есть один недочет:Jumangee писал(а):Не понимаю в чём проблема! Всё вроде бы правильно, а в логах ругаеццо на тайм-аут выполнения (у меня 30 сек) или не ругается совсем. Пробовал делать проверки на анонимов и обрабатывать их "быстрее", но результатов не дало. Проблема ещё и в том, что хостинг (платная агава) похоже подглючивает в последнее время и часто не понятно - глючит скрипт, или он нормальный а глюки - агавовские. Может быть, кто-то из знатоков поможет - в чем может быть проблема?
Код: Выделить всё
for ($i = 0; $i < count($userlist); $i++)
{
$userlist[$i] = trim($userlist[$i]);
if (strcasecmp($userlist[$i], $userdata['username'])==0)
{
$found = true;
break;
}
}
Код: Выделить всё
for ($t = 0; $t < count($userlist); $t++)
{
$userlist[$t] = trim($userlist[$t]);
if (strcasecmp($userlist[$t], $userdata['username'])==0)
{
$found = true;
break;
}
}
Valiks
мой пост выше для Вас тоже подойдет - админы видят все скрытые сообщения, поэтому выделенный в предыдущем моем посте кусок не отрабатывает. а вот для того, кто сообщение видеть не должен - он как раз и срабатывает, вгоняя viewtopic в ступор
Добавлено спустя 5 минут 45 секунд:
и еще - у мода есть 2 очень больших недостатка.
1) например админ оставил скрытое сообщение для пользователя 2 в сообщении пользователя 1. пользователь 1 увидит это сообщение и сможет его редактировать
2) после нажатия кнопки "цитировать" - тег priv также цитируется вместе с остальным сообщением. правится это легко: в posting.php после
Код: Выделить всё
if ( !empty($orig_word) )
{
$subject = ( !empty($subject) ) ? preg_replace($orig_word, $replace_word, $subject) : '';
$message = ( !empty($message) ) ? preg_replace($orig_word, $replace_word, $message) : '';
}
Код: Выделить всё
if ( !empty($message) )
{
$message = preg_replace("#\[priv=([А-Яа-яa-z, ]+)\](.*?)\[/priv\]#is", '', $message);
}
-
- phpBB 1.4.1
- Сообщения: 46
- Стаж: 18 лет 9 месяцев
Поменял код, как было сказано Midi.
Все заработало, теперь "ошибка 404" не выскакивает,
но есть сомнение в правильности работы кода,
думаю, все же мод работает неправильно.
Если процитировать сообщение со скрытым текстом,
то скрытое становится видимым, причем вместе с тэгами.
Если опубликовать новое сообщение с этой цитатой,
то скрытый текста опять невидим.
Как он работает у других?
Вообще неясно, что должно быть в результате применения кода - должно быть какое-то сообщение где-то, наверное, вот это "Скрытое сообщение" и "Для" из языкового файла? У меня оно не появляется,- стоит просто чистое поле. А вот раньше было
Пока писал появился ответ, но
вставил
в posting.php,
и перестало цитироваться скрытое
но не выводится - "Скрытое сообщение" и "Для"
Все заработало, теперь "ошибка 404" не выскакивает,
но есть сомнение в правильности работы кода,
думаю, все же мод работает неправильно.
Если процитировать сообщение со скрытым текстом,
то скрытое становится видимым, причем вместе с тэгами.
Если опубликовать новое сообщение с этой цитатой,
то скрытый текста опять невидим.
Как он работает у других?
Вообще неясно, что должно быть в результате применения кода - должно быть какое-то сообщение где-то, наверное, вот это "Скрытое сообщение" и "Для" из языкового файла? У меня оно не появляется,- стоит просто чистое поле. А вот раньше было
Пока писал появился ответ, но
вставил
Код: Выделить всё
if ( !empty($message) )
{
$message = preg_replace("#\[priv=([А-Яа-яa-z, ]+)\](.*?)\[/priv\]#is", '', $message);
}
и перестало цитироваться скрытое
но не выводится - "Скрытое сообщение" и "Для"
Последний раз редактировалось Valiks 22.12.2007 17:36, всего редактировалось 1 раз.
Val
-
- phpBB 1.4.0
- Сообщения: 31
- Стаж: 17 лет 4 месяца
- Откуда: Питер
Вроде все ок заработало, только обнаружил один нехороший баг - если оставлять скрытое сообщение для пользователя у которого ник состоит только из одних цифр - фича не работает - просто постится сообщение с тегами, видными всем
Добавлено спустя 10 минут 29 секунд:
еще неплохо бы сделать, чтобы данную функцию могли пользовать только админы и модеры, а для обычных пользователей, при попытке вставить этот тег - он бы удалялся из сообщения (после того, как оно будет отправлено).
Да и еще слова "скрытое сообщение для /ник/:" - видны только админу, а пользователь, для которого оно было предназначено, видит только - "скрытое сообщение:" - неплохо бы сделать, чтобы и пользователь видел слова "для /ник/"
Добавлено спустя 10 минут 29 секунд:
еще неплохо бы сделать, чтобы данную функцию могли пользовать только админы и модеры, а для обычных пользователей, при попытке вставить этот тег - он бы удалялся из сообщения (после того, как оно будет отправлено).
Да и еще слова "скрытое сообщение для /ник/:" - видны только админу, а пользователь, для которого оно было предназначено, видит только - "скрытое сообщение:" - неплохо бы сделать, чтобы и пользователь видел слова "для /ник/"
-
- phpBB 1.4.1
- Сообщения: 46
- Стаж: 18 лет 9 месяцев
Цитирование
У меня заработало все. Действительно вставлять надо было в posting.php.
Вначале, сбило с толку одинаковость кода
Это
Вначале, сбило с толку одинаковость кода
Это
я тоже заметил и тоже присединяюсь к мнению -PhoeNiXX писал(а):Да и еще слова "скрытое сообщение для /ник/:" - видны только админу, а пользователь, для которого оно было предназначено, видит только - "скрытое сообщение:"
инеплохо бы сделать, чтобы и пользователь видел слова "для /ник/"
еще неплохо бы сделать, чтобы данную функцию могли пользовать только админы и модеры, а для обычных пользователей, при попытке вставить этот тег - он бы удалялся из сообщения (после того, как оно будет отправлено).
Val
-
- phpBB 1.4.0
- Сообщения: 31
- Стаж: 17 лет 4 месяца
- Откуда: Питер
И еще как вариант, по желанию, что нужно изменить в коде, чтобы для всех, кому это сообщение должно быть скрыто, отображалось следущее: "cкрытое сообщение для /ник/:" далее под ней белое поле, типа как при цитировании, с надписью: "у вас нет прав для просмотра этого текста" ?
Добавлено спустя 44 минуты 2 секунды:
Проблему с никами из одних цифр решил так:
исправил на:
Правильно я сделал?
Вроде стало работать.
Добавлено спустя 4 минуты 46 секунд:
Мда, получается, что это действует только на ники, состоящие из букв и цифр, а если в нике присутствуют символы типа @ & $ и т.п. - фича не работает - надо и эти символы туда добавить, правильно я понимаю?
Добавлено спустя 44 минуты 2 секунды:
Проблему с никами из одних цифр решил так:
Код: Выделить всё
$priv_ptrn = "#\[priv=([А-Яа-яa-z, ]+)\](.*?)\[/priv\]#is";
Код: Выделить всё
$priv_ptrn = "#\[priv=([А-Яа-яa-z,0-9 ]+)\](.*?)\[/priv\]#is";
Вроде стало работать.
Добавлено спустя 4 минуты 46 секунд:
Мда, получается, что это действует только на ники, состоящие из букв и цифр, а если в нике присутствуют символы типа @ & $ и т.п. - фича не работает - надо и эти символы туда добавить, правильно я понимаю?