Страница 9 из 9
Re: Spoiler / Споилер (Сполер Spoler)
Добавлено: 11.03.2009 10:26
Siava
Lektor
Проблемка имеет место быть. Проверьте сами, впишите в заголовок спойлера какой-нибудь алерт-javascript.
Re: Spoiler / Споилер (Сполер Spoler)
Добавлено: 12.03.2009 18:58
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
это правильное решение?
Re: Spoiler / Споилер (Сполер Spoler)
Добавлено: 12.03.2009 20:55
Siava
SMM
Вроде всё правильно и логично, но у меня вообще эти условия игнорируются и не работают.
Re: Spoiler / Споилер (Сполер Spoler)
Добавлено: 12.03.2009 22:43
SMM
а задумано что спойлеры видят только залогиные пользователи или это я на косячил как то?
Re: Spoiler / Споилер (Сполер Spoler)
Добавлено: 12.03.2009 23:03
Siava
SMM
Скорей всего накосячил
так как видят их все и гости в том числе.
Re: Spoiler / Споилер (Сполер Spoler)
Добавлено: 14.03.2009 21:01
R.I.P.
Может хоть тут подскажут...
Такая вот проблема:
http://www.torrentpier.info/viewtopic.p ... 625#p19912
Если вкратце: стоит TorrentPier (какой-то из...), после редактирования нескольких файлов (предположительно bbcode.php и tpl) в пред. просмотре перестал работать спойлер. В темах он работает, в пред.просмотре ЛС тоже.
Говорят что "Была неверная кодировка, из-за того, что правка производилась в вордпаде, а не блокноте", но что-то я не вижу зависимости, да и неизвестно какой именно файл имеется в виду.
Re: Spoiler / Споилер (Сполер Spoler)
Добавлено: 05.05.2009 13:12
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;
}
В итоге размер изображений правится, а вот на хост проверку не делает
Помогите реализовать, если есть возможность помочь.
Заранее благодарен.
Re: Spoiler / Споилер (Сполер Spoler)
Добавлено: 06.05.2009 0:01
Lektor
2 раза прочитал и нифига не понял .. напиши нормально что надо .. я помогу т.к. с этой функцией сам разбирался ..
Re: Spoiler / Споилер (Сполер Spoler)
Добавлено: 06.05.2009 5:24
foxer666
Ну если коротко, то не работает часть функции initPostImages, которая отвечает за изменения адреса картинки, если изначальная картинка ведет на хосты, не из списка допустимых.
Необходимо реализовать картинки только с нутрисетевых ресурсов, проверка по домену, за это отвечает функция fixPostImage, которая вызывается в функции initPostImages. Функция initPostImages отвечает за ресайз изображений, эта функция работает, но функция fixPostImage работать отказывается, бьюсь уже третий месяц, буду благодарен любой помощи, ибо JS только начал изучать.
Re: Spoiler / Споилер (Сполер Spoler)
Добавлено: 07.05.2009 16:31
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;
}
Re: Spoiler / Споилер (Сполер Spoler)
Добавлено: 08.05.2009 13:54
foxer666
Хм. Ну, во-первых, скобку вторую закрывающую забыли, а во-вторых, это тот же код, но сделан на обратных условиях. Не работает ни один ни другой
Идею вы правильно поняли, возможно ли выделить вункцию
fixPostImage из функции
initPostImages и вызвать ее отдельно от
initPostImages?
Re: Spoiler / Споилер (Сполер Spoler)
Добавлено: 26.06.2009 20:07
Ivanek
Значит решение вопроса с спойлером такое!!!!!!!
Добавляем BBCODE
Использование BBCode
Замена 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>
Подсказка