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

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

Идеи для расширения функциональности phpBB 2.0.x
Аватара пользователя
Siava
Поддержка
Поддержка
Сообщения: 4674
Стаж: 16 лет 4 месяца
Откуда: Питер
Благодарил (а): 140 раз
Поблагодарили: 581 раз

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

Сообщение Siava »

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

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
Поддержка
Поддержка
Сообщения: 4674
Стаж: 16 лет 4 месяца
Откуда: Питер
Благодарил (а): 140 раз
Поблагодарили: 581 раз

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

Сообщение Siava »

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

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

Сообщение SMM »

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

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

Сообщение Siava »

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

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

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

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

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

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

Сообщение foxer666 »

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

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

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

function fixPostImage ($img)
{
	var banned_image_hosts = /imagebanana|hidebehind/i;  // imageshack
	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
Стаж: 15 лет

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

Сообщение Lektor »

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

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

Сообщение foxer666 »

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

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
Стаж: 13 лет 4 месяца
Откуда: Красноярск

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

Сообщение foxer666 »

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

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»