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

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

Идеи для расширения функциональности phpBB 2.0.x
Аватара пользователя
Siava
Поддержка
Поддержка
Сообщения: 5260
Стаж: 19 лет 1 месяц
Откуда: Питер
Благодарил (а): 187 раз
Поблагодарили: 782 раза

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

Сообщение Siava »

Lektor
Проблемка имеет место быть. Проверьте сами, впишите в заголовок спойлера какой-нибудь алерт-javascript.
Еще одно нарушение правил и будете забанены. © Mr. Anderson
Ты очистил кеш? © Sheer
https://siava.ru (phpbb 2.0.x 3.5.x)
Аватара пользователя
SMM
phpBB 1.4.2
Сообщения: 70
Стаж: 17 лет 6 месяцев
Откуда: Казань

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

Сообщение SMM »

Siava вы не можете подсказать как добавить фильтрацию тегов в заголовке.
незнаю на сколько правильно сделал. но теги теперь у меня заменяются на код спецсимвола

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

if( preg_match('#\[spoiler=\\\"#si', $possible_start, $match) && !preg_match('#\[spoiler=\\\"(.*?)\\\"\]#si', $possible_start) ) 
{ 
if ($close_pos = strpos($text, '"]', $curr_pos + 14)) 
{ 
if (strpos(substr($text, $curr_pos + 14, $close_pos - ($curr_pos + 14)), '[spoiler') === false) 
{ 
$possible_start = substr($text, $curr_pos, $close_pos - $curr_pos + 7);
}
}
}
добавил после аналогичных строк QUOTE

это правильное решение?
Спорьте, заблуждайтесь, ошибайтесь, но, ради бога, размышляйте, и хотя криво, да сами.
Аватара пользователя
Siava
Поддержка
Поддержка
Сообщения: 5260
Стаж: 19 лет 1 месяц
Откуда: Питер
Благодарил (а): 187 раз
Поблагодарили: 782 раза

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

Сообщение Siava »

SMM
Вроде всё правильно и логично, но у меня вообще эти условия игнорируются и не работают.
Еще одно нарушение правил и будете забанены. © Mr. Anderson
Ты очистил кеш? © Sheer
https://siava.ru (phpbb 2.0.x 3.5.x)
Аватара пользователя
SMM
phpBB 1.4.2
Сообщения: 70
Стаж: 17 лет 6 месяцев
Откуда: Казань

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

Сообщение SMM »

а задумано что спойлеры видят только залогиные пользователи или это я на косячил как то?
Спорьте, заблуждайтесь, ошибайтесь, но, ради бога, размышляйте, и хотя криво, да сами.
Аватара пользователя
Siava
Поддержка
Поддержка
Сообщения: 5260
Стаж: 19 лет 1 месяц
Откуда: Питер
Благодарил (а): 187 раз
Поблагодарили: 782 раза

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

Сообщение Siava »

SMM
Скорей всего накосячил :) так как видят их все и гости в том числе.
Еще одно нарушение правил и будете забанены. © Mr. Anderson
Ты очистил кеш? © Sheer
https://siava.ru (phpbb 2.0.x 3.5.x)
R.I.P.
phpBB 1.0.0
Сообщения: 1
Стаж: 14 лет 11 месяцев

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

Сообщение R.I.P. »

Может хоть тут подскажут...
Такая вот проблема: http://www.torrentpier.info/viewtopic.p ... 625#p19912

Если вкратце: стоит TorrentPier (какой-то из...), после редактирования нескольких файлов (предположительно bbcode.php и tpl) в пред. просмотре перестал работать спойлер. В темах он работает, в пред.просмотре ЛС тоже.
Говорят что "Была неверная кодировка, из-за того, что правка производилась в вордпаде, а не блокноте", но что-то я не вижу зависимости, да и неизвестно какой именно файл имеется в виду.
foxer666
phpBB 1.4.2
Сообщения: 63
Стаж: 16 лет 2 месяца
Откуда: Красноярск

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

Сообщение foxer666 »

Доброго времени суток.

Необходима помощь гуру.
Форум стоит в локальной сети на несколько тысяч человек без внешнего доступа. Есть свой хостинг изображений.
Заинтересовал вопрос, как можно реализовать замену внешних изображений, которые идут не разрешенного хоста?
Пробовал функцию, описанную в данной теме initPostImages и дописывал функцию замены изображений:

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

function fixPostImage ($img)
{
	var banned_image_hosts = /imagebanana|hidebehind/i;  // [censor]
	var src = $img[0].src;
	if (src.match(banned_image_hosts)) {
		$img.wrap('<a href="'+ this.src +'" target="_blank"></a>').attr({ src: "./images/tr_oops.gif", title: "Host for this image is banned!" });
	}
	return $img;
}
В итоге размер изображений правится, а вот на хост проверку не делает :(

Помогите реализовать, если есть возможность помочь.
Заранее благодарен.
Lektor
phpBB 2.0.7
Сообщения: 574
Стаж: 17 лет 10 месяцев

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

Сообщение Lektor »

2 раза прочитал и нифига не понял .. напиши нормально что надо .. я помогу т.к. с этой функцией сам разбирался ..
foxer666
phpBB 1.4.2
Сообщения: 63
Стаж: 16 лет 2 месяца
Откуда: Красноярск

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

Сообщение foxer666 »

Ну если коротко, то не работает часть функции initPostImages, которая отвечает за изменения адреса картинки, если изначальная картинка ведет на хосты, не из списка допустимых.
Необходимо реализовать картинки только с нутрисетевых ресурсов, проверка по домену, за это отвечает функция fixPostImage, которая вызывается в функции initPostImages. Функция initPostImages отвечает за ресайз изображений, эта функция работает, но функция fixPostImage работать отказывается, бьюсь уже третий месяц, буду благодарен любой помощи, ибо JS только начал изучать.
Lektor
phpBB 2.0.7
Сообщения: 574
Стаж: 17 лет 10 месяцев

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

Сообщение Lektor »

много лишней информации :/

Как я понял нужно: чтобы все картинки, которые размещены не во внутрисети заменялись на какой-то определенный рисунок размещенный внутри сети. Так?
внутрисеть = известный перечень доменов + известный диапозон айпи адресов?

ну как то так:

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

function fixPostImage ($img)
{
	var allowed_image_hosts = /внутрисетевой_домен1|внутрисетевой_домен2|внутрисетевой_домен3|192\.168\.\d+\.\d+/i;
	var src = $img[0].src;
            if (!(src.match(allowed_image_hosts))) {
                        $img.wrap('<a href="'+ this.src +'" target="_blank"></a>').attr({ src: "./images/tr_oops.gif", title: "Host for this image is not allowed.		

	return $img;
}
foxer666
phpBB 1.4.2
Сообщения: 63
Стаж: 16 лет 2 месяца
Откуда: Красноярск

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

Сообщение foxer666 »

Хм. Ну, во-первых, скобку вторую закрывающую забыли, а во-вторых, это тот же код, но сделан на обратных условиях. Не работает ни один ни другой :( Идею вы правильно поняли, возможно ли выделить вункцию fixPostImage из функции initPostImages и вызвать ее отдельно от initPostImages?
Аватара пользователя
Ivanek
phpBB 1.4.1
Сообщения: 49
Стаж: 17 лет 11 месяцев

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

Сообщение Ivanek »

Значит решение вопроса с спойлером такое!!!!!!!

Добавляем BBCODE

Использование BBCode

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

[spoiler]{TEXT}[/spoiler]
Замена HTML

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

<div id="spoiler"><div><input type="button" value="Показать спойлер" style="width:150px;font-size:12px;margin:10px;padding:0px;" onclick="if (this.parentNode.parentNode.getElementsByTagName('div')['show'].style.display != '') { this.parentNode.parentNode.getElementsByTagName('div')['show'].style.display = ''; this.parentNode.parentNode.getElementsByTagName('div')['hide'].style.display = 'none'; this.innerText = ''; this.value = 'Спрятать спойлер'; } else { this.parentNode.parentNode.getElementsByTagName('div')['show'].style.display = 'none'; this.parentNode.parentNode.getElementsByTagName('div')['hide'].style.display = ''; this.innerText = ''; this.value = 'Еще раз показать?'; }" />
<div id="show" style="display: none; background-color:transparent; margin: 0px;border-style:solid;border-width:1px; padding: 4px; width:98%">{TEXT}</div>
<div id="hide"></div></div></div>
Подсказка

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

[spoiler] TEXT [/spoiler]
C Праздником!

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