Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.

[final] Limit code and quote bbCode bodytext

Здесь авторы постили бета-версии своих модификаций для phpBB 2.0.x. Внимание! Не устанавливайте бета-версии модов на работающие форумы!
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16313
Стаж: 17 лет 10 месяцев
Откуда: Красноярск
Благодарил (а): 533 раза
Поблагодарили: 2119 раз
Контактная информация:

[final] Limit code and quote bbCode bodytext

Сообщение rxu »

Мод позволяет ограничить размеры "портянок", выкладываемых в тегах [сode] [/сode] и [quоte] [/quоte].
Вложения
Limit_ [code]_and_[quote]_bbCode_bodytext_1.3.0.zip
(1.36 КБ) 435 скачиваний
Последний раз редактировалось rxu 04.03.2007 10:23, всего редактировалось 10 раз.
Изображение
quazi
phpBB 2.0.2
Сообщения: 306
Стаж: 19 лет
Контактная информация:

Сообщение quazi »

только имхо: лучше - ограничивать количеством не символов, но строк
еще более имхо: лучше - сделать "прокручиваемые портянки" средствами CSS
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16313
Стаж: 17 лет 10 месяцев
Откуда: Красноярск
Благодарил (а): 533 раза
Поблагодарили: 2119 раз
Контактная информация:

Сообщение rxu »

quazi писал(а):только имхо: лучше - ограничивать количеством не символов, но строк
Спасибо, подумаю над этим.
quazi писал(а):еще более имхо: лучше - сделать "прокручиваемые портянки" средствами CSS
Неплохо, но целью было сделать максимально простое и максимально эффективное (хоть и грубоватое) средство :)
Последний раз редактировалось rxu 03.03.2007 20:30, всего редактировалось 1 раз.
Изображение
Аватара пользователя
Поручик
Former team member
Сообщения: 3942
Стаж: 18 лет 10 месяцев
Откуда: Оренбург (Южный Урал)
Благодарил (а): 24 раза
Поблагодарили: 54 раза
Контактная информация:

Сообщение Поручик »

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

наш форум http://forum.aeroion.ru/cat1.html
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16313
Стаж: 17 лет 10 месяцев
Откуда: Красноярск
Благодарил (а): 533 раза
Поблагодарили: 2119 раз
Контактная информация:

Сообщение rxu »

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

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

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

Обнаружена опечатка в моде, исправлена, архив обновлён без смены версии.
Изображение
quazi
phpBB 2.0.2
Сообщения: 306
Стаж: 19 лет
Контактная информация:

Сообщение quazi »

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;
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16313
Стаж: 17 лет 10 месяцев
Откуда: Красноярск
Благодарил (а): 533 раза
Поблагодарили: 2119 раз
Контактная информация:

Сообщение rxu »

quazi писал(а):наверно XXX_MAX_LENGTH > 0 не самый лучший вариант как сигнал к обрезке
Сделано просто для того, чтобы получить возможность отключать обрезку. Т.е. если предел равен false, обрезка не производится.

В любом случае, всё проверю - отпишусь, спасибо.
Изображение
quazi
phpBB 2.0.2
Сообщения: 306
Стаж: 19 лет
Контактная информация:

Сообщение quazi »

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

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

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

в результате мы теряем закрывающий тег
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16313
Стаж: 17 лет 10 месяцев
Откуда: Красноярск
Благодарил (а): 533 раза
Поблагодарили: 2119 раз
Контактная информация:

Сообщение rxu »

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

Добавлено спустя 2 минуты 27 секунд:
quazi писал(а):в результате мы теряем закрывающий тег
Как мы его потеряем, если обрезаем только текст, находящийся между тегами?
Изображение
quazi
phpBB 2.0.2
Сообщения: 306
Стаж: 19 лет
Контактная информация:

Сообщение quazi »

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

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

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