Пропустить

[final] Limit code and quote bbCode bodytext

Здесь авторы постили бета-версии своих модификаций для phpBB 2.0.x. Внимание! Не устанавливайте бета-версии модов на работающие форумы!

[final] Limit code and quote bbCode bodytext

Сообщение rxu » 02.03.2007 19:02

Мод позволяет ограничить размеры "портянок", выкладываемых в тегах [сode] [/сode] и [quоte] [/quоte].
Вложения
Limit_ [code]_and_[quote]_bbCode_bodytext_1.3.0.zip
(1.36 КБ) Скачиваний: 251
Последний раз редактировалось rxu 04.03.2007 10:23, всего редактировалось 10 раз(а).
Изображение
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
 
Сообщения: 7314
Зарегистрирован: 12.05.2006 17:16
Откуда: Красноярск
Благодарил (а): 2 раз.
Поблагодарили: 251 раз.

Сообщение quazi » 02.03.2007 19:10

только имхо: лучше - ограничивать количеством не символов, но строк
еще более имхо: лучше - сделать "прокручиваемые портянки" средствами CSS

quazi
phpBB 2.0.8
 
Сообщения: 306
Зарегистрирован: 15.03.2005 18:49
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Сообщение rxu » 02.03.2007 19:24

quazi писал(а):только имхо: лучше - ограничивать количеством не символов, но строк

Спасибо, подумаю над этим.

quazi писал(а):еще более имхо: лучше - сделать "прокручиваемые портянки" средствами CSS

Неплохо, но целью было сделать максимально простое и максимально эффективное (хоть и грубоватое) средство :)
Последний раз редактировалось rxu 03.03.2007 20:30, всего редактировалось 1 раз.
Изображение
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
 
Сообщения: 7314
Зарегистрирован: 12.05.2006 17:16
Откуда: Красноярск
Благодарил (а): 2 раз.
Поблагодарили: 251 раз.

Сообщение Поручик » 02.03.2007 19:47

rxu, можно добавить тоже самое для цитат.
Профессионал - тот же дилетант, только знающий, где ошибётся.
Генератор db_update.php для phpBB2 с некоторыми удобствами. Многие моды я беру или ищу здесь, здесь, тут
Все консультации только на форуме, приваты и стук в аську по таким вопросам игнорируются!
FAQ-phpBB3 | Ошибки новичков, или как не поссориться с модератором | Правила конференции

наш форум http://forum.aeroion.ru/cat1.html
Аватара пользователя
Поручик
Former team member
 
Сообщения: 4002
Зарегистрирован: 12.05.2005 16:25
Откуда: Оренбург (Южный Урал)
Благодарил (а): 26 раз.
Поблагодарили: 47 раз.

Сообщение rxu » 03.03.2007 22:17

Благодаря идеям quazi и Поручик-а, переписал мод до версии 1.3.0.
Здесь:
- работа кода сделана более универсальной;
- добавлена возможность обрезки цитат;
- добавлена возможность отключения обрезки путём установки нуля в строках с define (пока только вручную правкой кода).

Первая версия с обрезкой по количеству символов удалена за ненадобностью.

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

Обнаружена опечатка в моде, исправлена, архив обновлён без смены версии.
Изображение
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
 
Сообщения: 7314
Зарегистрирован: 12.05.2006 17:16
Откуда: Красноярск
Благодарил (а): 2 раз.
Поблагодарили: 251 раз.

Сообщение quazi » 07.03.2007 0:47

rxu, предлагаю маленький тест на совместимость с 4 и 5 версиями - написал навскидку
не проверял, но должно работать

разрыв в строковых константах в строках 1 и 2 - умышленный, чтобы форматирование сработало (проявился недостаток обработки bb-тегов форума)
$limit_code  = $open_tag[0] == '[' . 'code]'  && CODE_MAX_LENGTH  > 0;
$limit_quote = $open_tag[0] == '[' . 'quote]' && QUOTE_MAX_LENGTH > 0;

if ( $limit_code || $limit_quote )
{
	$limit_lines = 1 + ( $limit_code ? CODE_MAX_LENGTH : QUOTE_MAX_LENGTH );
	$between_tags = implode("\n", 
			array_slice(
			explode("\n", $between_tags, $limit_lines), 0, -1));
}


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

еще одно имхо

наверно XXX_MAX_LENGTH > 0 не самый лучший вариант как сигнал к обрезке
лучше наверно некоторое минимальное положительное число, оптимальное для большинства случаев
например 20-30 строк и делать проверки на превышение с этим числом

в качестве примера
$limit_code  = ...  && CODE_MAX_LENGTH  > 30;
$limit_quote = ... && QUOTE_MAX_LENGTH > 30;

quazi
phpBB 2.0.8
 
Сообщения: 306
Зарегистрирован: 15.03.2005 18:49
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Сообщение rxu » 07.03.2007 14:06

quazi писал(а):наверно XXX_MAX_LENGTH > 0 не самый лучший вариант как сигнал к обрезке


Сделано просто для того, чтобы получить возможность отключать обрезку. Т.е. если предел равен false, обрезка не производится.

В любом случае, всё проверю - отпишусь, спасибо.
Изображение
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
 
Сообщения: 7314
Зарегистрирован: 12.05.2006 17:16
Откуда: Красноярск
Благодарил (а): 2 раз.
Поблагодарили: 251 раз.

Сообщение quazi » 07.03.2007 14:43

rxu
я вот тут на досуге подумал
допустим, у меня есть пост
[ code]
много
много
много
...
тут двадцатая строка
...
опять много
много
много
строк
[ /code]

именно так - открывающий и закрывающий теги, каждый на отдельной строке (хотя это совсем не принципиально)
и так - всего этих строк до полусотни, а у нас ограничение - не более 20 строк

и таким образом мы отсекаем все строки после 20-ой и получаем
[ code]
много
много
много
...
тут двадцатая строка

в результате мы теряем закрывающий тег

quazi
phpBB 2.0.8
 
Сообщения: 306
Зарегистрирован: 15.03.2005 18:49
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Сообщение rxu » 07.03.2007 15:43

Вобщем код понятен, но в нём не вижу оснований для несовместимости с версиями 4 и 5 :)
Видимо, поэтому сработал и там, и там.

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

quazi писал(а):в результате мы теряем закрывающий тег

Как мы его потеряем, если обрезаем только текст, находящийся между тегами?
Изображение
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
 
Сообщения: 7314
Зарегистрирован: 12.05.2006 17:16
Откуда: Красноярск
Благодарил (а): 2 раз.
Поблагодарили: 251 раз.

Сообщение quazi » 07.03.2007 16:25

rxu писал(а):Как мы его потеряем, если

сообразил.
вопрос снят

тем не менее, я склоняюсь к стилевому управлению.
это более мягкий и не на столько грубый способ

quazi
phpBB 2.0.8
 
Сообщения: 306
Зарегистрирован: 15.03.2005 18:49
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.


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

 

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0

Бессрочный конкурс phpBB-ориентированных материалов
FastVPS — надёжный и доступный хостинг для phpBB
Место для вашей рекламы