Spoiler / Споилер (Сполер Spoler)

Идеи для расширения функциональности phpBB 2.0.x
Mac
phpBB 1.4.2
Сообщения: 58
Зарегистрирован: 14.08.2007 19:07

Re: Spoiler / Споилер (Сполер Spoler)

Сообщение Mac » 17.02.2009 11:18

MrCuper, присоединяюсь к вопросу.

У меня спойлер с заголовком вообще не работает (и с кавычками, и без). Все перекопал, не пойму, в чем дело. Старый был тоже на основе этого же, правда, кривоват, потомоу решил поставить ваш.

Еще маленький вопрос: картинка pic_loading.gif у кого-нибудь грузится? Когда и где она должна показываться? Не покажете скриншот?

woffi
phpBB 1.2.0
Сообщения: 17
Зарегистрирован: 07.12.2006 16:44
Контактная информация:

Re: Spoiler / Споилер (Сполер Spoler)

Сообщение woffi » 17.02.2009 12:00

Картинка pic_loading.gif должна отображаться на месте загружаемого изображения до тех пор, пока оно не загрузится. На локальной машине и фотографиях небольшого объема Вы её просто не увидите. Также я сам лично не наблюдал её в Opera.

Насчет не работающего спойлера - скиньте в ЛС архивы файлов

Код: Выделить всё

## Files To Edit: 	includes/bbcode.php,
##	                templates/subSilver/bbcode.tpl, 
##	  		templates/subSilver/posting_body.tpl,
##			templates/subSilver/overall_header.tpl
##	  		posting.php,
##	  		language/lang_english/lang_main.php
Для наглядности можно два архива "до" и "после"

Спойлер целиком сделан на jQuery, поэтому может не работать банально из за javascript. Проверьте этот момент.

В версии 2.0.17 аналогичный косяк с заголовком спойлера. Возможно у Вас та же ситуация. Попробуйте в файле bbcode.php заменить строку

Код: Выделить всё

	$text = bbencode_first_pass_pda($text, $uid, '/\[spoiler=\\\\"(.*?)\\\\"\]/is', '[/spoiler]', '', false, '', "[spoiler:$uid=\\\"\\1\\\"]");
на

Код: Выделить всё

	$text = bbencode_first_pass_pda($text, $uid, '/\[spoiler=(\\\".*?\\\")\]/is', '[/spoiler]', '', false, '', "[spoiler:$uid=\\1]");
Последний раз редактировалось woffi 17.02.2009 12:35, всего редактировалось 1 раз.
Суздаль - жемчужина России!

Mac
phpBB 1.4.2
Сообщения: 58
Зарегистрирован: 14.08.2007 19:07

Re: Spoiler / Споилер (Сполер Spoler)

Сообщение Mac » 17.02.2009 12:22

У меня этот pic_loading.gif что-то не наблюдается вообще нигде :)

Приаттачил свой bbcode.php - дело, очевидно, именно в нем.
Поясню, что работает все, кроме случая с шапкой. В этом случае выводится просто как текст, будто неизвестный bb-код:

Код: Выделить всё

[spoiler=fsdfsdf]фывыфв[/spoiler]
З.Ы. Пара замечаний. Стоит упомянуть, что в моде уже встроен мод ImgFit. А также стили желательно бы в style.css вынести, а также картинки в папку с картинками в шаблонах.
Вложения
bbcode.rar
(7.99 КБ) 307 скачиваний
Последний раз редактировалось Mac 17.02.2009 15:46, всего редактировалось 1 раз.

woffi
phpBB 1.2.0
Сообщения: 17
Зарегистрирован: 07.12.2006 16:44
Контактная информация:

Re: Spoiler / Споилер (Сполер Spoler)

Сообщение woffi » 17.02.2009 12:37

Отредактировал свое предыдущее сообщение. У Вас та же проблема. Предложенное решение должно помочь.
Суздаль - жемчужина России!

Mac
phpBB 1.4.2
Сообщения: 58
Зарегистрирован: 14.08.2007 19:07

Re: Spoiler / Споилер (Сполер Spoler)

Сообщение Mac » 17.02.2009 13:13

woffi, да, помогло. Спасибо. Но опять же присоединяюсь к просьбе MrCuper насчет кавычек. Как можно сделать так, чтобы работало без них? А также хотелось бы сохранить возможность применять бб-коды к заголовку, например:

Код: Выделить всё

[color=green][spoiler="fsdfsdf"][/color]bla[/spoiler]
З.Ы. Курсив и подчеркнутый работает и так.

woffi
phpBB 1.2.0
Сообщения: 17
Зарегистрирован: 07.12.2006 16:44
Контактная информация:

Re: Spoiler / Споилер (Сполер Spoler)

Сообщение woffi » 17.02.2009 14:41

Добавлено спустя 12 минут 7 секунд:
Mac писал(а):У меня этот pic_loading.gif что-то не наблюдается вообще нигде :)
При входе в ветку сообщений видим свернутый спойлер.
1.JPG
Свернутый спойлер
Щелкаем по заголовку спойлера для его открытия. Начинает загружаться картинка. Пока загрузка не завершена - отображается наша гифка.
2.JPG
Загрузка картинки
Загрузка завершилась, вместо гифки показана конечная картинка
3.JPG
Картинка загружена
Добавлено спустя 39 минут 19 секунд:
Сорри. Косяк. Не работает предложенная схема с кавычками :)
Суздаль - жемчужина России!

Mac
phpBB 1.4.2
Сообщения: 58
Зарегистрирован: 14.08.2007 19:07

Re: Spoiler / Споилер (Сполер Spoler)

Сообщение Mac » 17.02.2009 15:38

woffi, не помогает ни добавление строки, ни замена ею предыдущей.

З.Ы. Вообще у меня 2.0.23) (правда, в кодах, возможны отличия)

woffi
phpBB 1.2.0
Сообщения: 17
Зарегистрирован: 07.12.2006 16:44
Контактная информация:

Re: Spoiler / Споилер (Сполер Spoler)

Сообщение woffi » 17.02.2009 15:40

По кавычкам...
В файле bbcode.php добавьте после

Код: Выделить всё

	$text = preg_replace("/\[spoiler:$uid=\"(.*?)\"\]/si", $bbcode_tpl['spoiler_title_open'], $text);
строку

Код: Выделить всё

	$text = preg_replace("/\[spoiler:$uid=(.*?)\]/si", $bbcode_tpl['spoiler_title_open'], $text);
а также (это важно и косяк как раз в этом на моем тестовом форуме) заменить строку

Код: Выделить всё

$text = bbencode_first_pass_pda($text, $uid, '/\[spoiler=...;
на

Код: Выделить всё

$text = bbencode_first_pass_pda($text, $uid, '/\[spoiler=(.*?)\]/is', '[/spoiler]', '', false, '', "[spoiler:$uid=\\1]");
Если я ничего не напутал и не забыл - заголовок будет работать как с кавычками, так и без. Заработало также и на версии 2.0.23.
Глюк был в тестах. Если что-то отображается некорректно - откройте сообщение на редактирование, посмотрите заголовки и пересохраните. Должно получиться.

По цветам пока ничего конкретного не скажу, поскольку там надо стили копать. Для тэгов b u i просто применяется паттерн span class=. Тут надо подумать... Кстати, проверьте скрытый спойлером текст, поскольку как я понял к нему курсив или подчеркнутость применяется вместе с заголовком спойлера. Быть может стиль скрытого текста можно перезадать явно - но это не есть хорошо.

Добавлено спустя 8 минут 27 секунд:
Я уже сам запутался что к чему и почему, но тесты показывают, что на обеих версиях алгоритм работает.
Суздаль - жемчужина России!

Mac
phpBB 1.4.2
Сообщения: 58
Зарегистрирован: 14.08.2007 19:07

Re: Spoiler / Споилер (Сполер Spoler)

Сообщение Mac » 17.02.2009 16:02

Работает, но есть небольшое "но". В таком случае работает некорректно:

Код: Выделить всё

[spoiler="Привет", мир]abc[/spoiler]
либо в других вариациях.

Странная вещь с нерабочей pic_loading.gif. Я posting.php и posting_body.tpl не правил (у меня свои). Может быть в этом причина?
А также картинки со скриптами перенесены в папку с шаблонами и misc/js соответственно. Пути вроде изменил все: в spoiler.js:

Код: Выделить всё

var loading_icon = '<a href="'+ src +'" target="_blank"><img src="./templates/subSilver/images/pic_loading.gif" alt="" border="0"/></a>';
и overal_header.tpl:

Код: Выделить всё

<script language="JavaScript" type="text/javascript" src="misc/js/jquery.pack.js"></script>
<script language="JavaScript" type="text/javascript" src="misc/js/spoiler.js"></script>

woffi
phpBB 1.2.0
Сообщения: 17
Зарегистрирован: 07.12.2006 16:44
Контактная информация:

Re: Spoiler / Споилер (Сполер Spoler)

Сообщение woffi » 17.02.2009 16:12

Ну для комбинированного использования кавычек как бы уже ситуация требует более глубокого вмешательства в код. Согласитесь, в тэге quote вообще нельзя без кавычек имя цитируемого указывать.

А изображения плюсика/минусика рядом с заголовком спойлера видны?
Последний раз редактировалось woffi 18.02.2009 9:06, всего редактировалось 1 раз.
Суздаль - жемчужина России!

Mac
phpBB 1.4.2
Сообщения: 58
Зарегистрирован: 14.08.2007 19:07

Re: Spoiler / Споилер (Сполер Spoler)

Сообщение Mac » 17.02.2009 16:42

да, видны. Дело, очевидно, не в путях, потому что замена:

Код: Выделить всё

<img src="./templates/subSilver/images/pic_loading.gif" alt="" border="0"/>
на текст тоже не отображается.

Все-таки, видимо, надо курить в сторону стандартизации применения кавычек... Смайлы в заголовке спойлера портят его.

Mac
phpBB 1.4.2
Сообщения: 58
Зарегистрирован: 14.08.2007 19:07

Re: Spoiler / Споилер (Сполер Spoler)

Сообщение Mac » 18.02.2009 6:44

Сейчас обнаружил уязвимость в шапке спойлера. Возможно использование html-кодов и вытекающая отсюда возможность xss-атаки. Будьте внимательны.

Аватара пользователя
SMM
phpBB 1.4.2
Сообщения: 70
Зарегистрирован: 29.07.2006 14:41
Откуда: Казань
Благодарил (а): 9 раз
Контактная информация:

Re: Spoiler / Споилер (Сполер Spoler)

Сообщение SMM » 18.02.2009 18:29

исправления найденной уязвимости для мода спойлера на текущий момент?
p.s. о которых говорит Mac
Спорьте, заблуждайтесь, ошибайтесь, но, ради бога, размышляйте, и хотя криво, да сами.

Аватара пользователя
SMM
phpBB 1.4.2
Сообщения: 70
Зарегистрирован: 29.07.2006 14:41
Откуда: Казань
Благодарил (а): 9 раз
Контактная информация:

Re: Spoiler / Споилер (Сполер Spoler)

Сообщение SMM » 07.03.2009 20:54

проблему с уязвимостью можно решить только удалением возможности показа спойлера с комментарием в шапке?
Спорьте, заблуждайтесь, ошибайтесь, но, ради бога, размышляйте, и хотя криво, да сами.

Lektor
phpBB 2.0.7
Сообщения: 574
Зарегистрирован: 20.04.2006 15:19

Re: Spoiler / Споилер (Сполер Spoler)

Сообщение Lektor » 08.03.2009 8:05

С чего решили что есть какая-то проблема ?

PS на заборе тоже написано, а там дрова ..
PPS "Сейчас обнаружил уязвимость в шапке спойлера." научить оформлять багтрак ?
Правильное описание проблемы — половина её решения.

Закрыто

Вернуться в «Запросы модов для phpBB 2.0.x»