[final] Limit code and quote bbCode bodytext
-
- phpBB Guru
- Сообщения: 16947
- Стаж: 18 лет 11 месяцев
- Откуда: Красноярск
- Благодарил (а): 549 раз
- Поблагодарили: 1700 раз
[final] Limit code and quote bbCode bodytext
Мод позволяет ограничить размеры "портянок", выкладываемых в тегах [сode] [/сode] и [quоte] [/quоte].
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось rxu 04.03.2007 10:23, всего редактировалось 10 раз.
-
- phpBB 2.0.2
- Сообщения: 306
- Стаж: 20 лет 1 месяц
-
- phpBB Guru
- Сообщения: 16947
- Стаж: 18 лет 11 месяцев
- Откуда: Красноярск
- Благодарил (а): 549 раз
- Поблагодарили: 1700 раз
Спасибо, подумаю над этим.quazi писал(а):только имхо: лучше - ограничивать количеством не символов, но строк
Неплохо, но целью было сделать максимально простое и максимально эффективное (хоть и грубоватое) средствоquazi писал(а):еще более имхо: лучше - сделать "прокручиваемые портянки" средствами CSS

Последний раз редактировалось rxu 03.03.2007 20:30, всего редактировалось 1 раз.
-
- Former team member
- Сообщения: 3942
- Стаж: 19 лет 11 месяцев
- Откуда: Оренбург (Южный Урал)
- Благодарил (а): 3 раза
rxu, можно добавить тоже самое для цитат.
Профессионал - тот же дилетант, только знающий, где ошибётся.
Генератор db_update.php для phpBB2 с некоторыми удобствами. Многие моды я беру или ищу здесь, здесь, тут
Все консультации только на форуме, приваты и стук в аську по таким вопросам игнорируются!
FAQ-phpBB3 | Ошибки новичков, или как не поссориться с модератором | Правила конференции
наш форум http://forum.aeroion.ru/cat1.html
Генератор db_update.php для phpBB2 с некоторыми удобствами. Многие моды я беру или ищу здесь, здесь, тут
Все консультации только на форуме, приваты и стук в аську по таким вопросам игнорируются!
FAQ-phpBB3 | Ошибки новичков, или как не поссориться с модератором | Правила конференции
наш форум http://forum.aeroion.ru/cat1.html
-
- phpBB Guru
- Сообщения: 16947
- Стаж: 18 лет 11 месяцев
- Откуда: Красноярск
- Благодарил (а): 549 раз
- Поблагодарили: 1700 раз
Благодаря идеям quazi и Поручик-а, переписал мод до версии 1.3.0.
Здесь:
- работа кода сделана более универсальной;
- добавлена возможность обрезки цитат;
- добавлена возможность отключения обрезки путём установки нуля в строках с define (пока только вручную правкой кода).
Первая версия с обрезкой по количеству символов удалена за ненадобностью.
Добавлено спустя 2 часа 1 минуту 9 секунд:
Обнаружена опечатка в моде, исправлена, архив обновлён без смены версии.
Здесь:
- работа кода сделана более универсальной;
- добавлена возможность обрезки цитат;
- добавлена возможность отключения обрезки путём установки нуля в строках с define (пока только вручную правкой кода).
Первая версия с обрезкой по количеству символов удалена за ненадобностью.
Добавлено спустя 2 часа 1 минуту 9 секунд:
Обнаружена опечатка в моде, исправлена, архив обновлён без смены версии.
-
- phpBB 2.0.2
- Сообщения: 306
- Стаж: 20 лет 1 месяц
rxu, предлагаю маленький тест на совместимость с 4 и 5 версиями - написал навскидку
не проверял, но должно работать
разрыв в строковых константах в строках 1 и 2 - умышленный, чтобы форматирование сработало (проявился недостаток обработки bb-тегов форума)
Добавлено спустя 16 минут 4 секунды:
еще одно имхо
наверно XXX_MAX_LENGTH > 0 не самый лучший вариант как сигнал к обрезке
лучше наверно некоторое минимальное положительное число, оптимальное для большинства случаев
например 20-30 строк и делать проверки на превышение с этим числом
в качестве примера
не проверял, но должно работать
разрыв в строковых константах в строках 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));
}
еще одно имхо
наверно XXX_MAX_LENGTH > 0 не самый лучший вариант как сигнал к обрезке
лучше наверно некоторое минимальное положительное число, оптимальное для большинства случаев
например 20-30 строк и делать проверки на превышение с этим числом
в качестве примера
Код: Выделить всё
$limit_code = ... && CODE_MAX_LENGTH > 30;
$limit_quote = ... && QUOTE_MAX_LENGTH > 30;
-
- phpBB 2.0.2
- Сообщения: 306
- Стаж: 20 лет 1 месяц
rxu
я вот тут на досуге подумал
допустим, у меня есть пост
[ code]
много
много
много
...
тут двадцатая строка
...
опять много
много
много
строк
[ /code]
именно так - открывающий и закрывающий теги, каждый на отдельной строке (хотя это совсем не принципиально)
и так - всего этих строк до полусотни, а у нас ограничение - не более 20 строк
и таким образом мы отсекаем все строки после 20-ой и получаем
[ code]
много
много
много
...
тут двадцатая строка
в результате мы теряем закрывающий тег
я вот тут на досуге подумал
допустим, у меня есть пост
[ code]
много
много
много
...
тут двадцатая строка
...
опять много
много
много
строк
[ /code]
именно так - открывающий и закрывающий теги, каждый на отдельной строке (хотя это совсем не принципиально)
и так - всего этих строк до полусотни, а у нас ограничение - не более 20 строк
и таким образом мы отсекаем все строки после 20-ой и получаем
[ code]
много
много
много
...
тут двадцатая строка
в результате мы теряем закрывающий тег