ExBB Community » Файловый ExBB » Модификации и дополнения » Мод Postimage

Страниц (1): [1]
 

1. Guyver - 19 июля 2016 — 13:41 - перейти к сообщению
Поставил себе на форум данный мод, так как возникла необходимость размещать множество картинок на форуме (дабы не перегружать папку uploads). Картинок у меня на форуме хватает, все они промежуточные - перерисовка графики из игр и скрины рабочие, которые нужны только в процессе работы, а потом необходимость в них отпадает. Поэтому потеря таких картинок не страшна в будущем.

postimage.org - это известный сервис для размещения картинок. Недавно он обновился, став облачным и улучшив интерфейс.

Сам сервис при использовании на форумах даёт вам ссылки-превью, на которые нужно потом кликнуть, чтобы увидеть их в первоначальном размере, т.е. совершить переход на сам сервис. Это если использовать дефолтные скрипты самого сервиса.

Данный мод устраняет этот недостаток и картинки будут показаны на форуме в истинном размере и без ссылки на сторонний ресурс.


Итак, установка.

1. В корень форума нужно положить файл addform.html

В этом файле будет происходить замена кода, который предоставляет нам сервис, дабы вычистить из него ссылки-превью картинок и показывать загруженные картинки в исходном размере. Сам файл можно скачать в приложении. В последнее время сервис обновился, так что этот файл немного подправлен в отличие от ранее существующего решения, которое теперь работает с ошибкой. Вот что находится внутри файла addform.html

CODE:
<html>
<head>
</head>
<body>
<script language="javascript" type="text/javascript">
<!--
function add_code()
{
var text = unescape(document.location.search.substring(1));
var area_ignore_name = /username_list|search/i;
var area_e=opener.document.getElementsByTagName('TEXTAREA');
for(var i=0;i<area_e.length;i++)
{
if(!area_e[i].name.match(area_ignore_name))
{
var area=area_e[i];
break;
}
}
text = text.replace(/\[url=https:\/\/postim?g?\.org\/image\/[a-z,0-9,\/]*\]/g, '').replace(/\[\/url\]/g,'');
area.value = area.value + text;

opener.focus();
window.close();
}
add_code();
//-->
</script>
</body>
</html>


2. Теперь добавляем новую кнопку в файл templates/InvisionExBB/form_code.tpl


2.1. Прописываем описание кнопки в окне помощи, ищем:

CODE:
underline: {0:'[u]',1:'[/u]',2:'{$fm->LANG['HelpUnderLine']}'},


И после вставляем:

CODE:
postimage: {0:'[s]',1:'[/s]',2:'{$fm->LANG['HelpPostimageOut']}'},



2.2. Пропысываем саму новую кнопку. Я поставил её после кнопки Img, ищем:

CODE:
<input type="button" class="button" name="image" value="Img" style="width: 40px" onClick="bbcode(this)" onMouseOver="help(this)" />


После этого добавляем:

CODE:
<input type="button"
class="button" name="postimage" value="Postimage"
style="width: 80px" <a href="javascript:void(0);" onMouseOver="help(this)" onclick="window.open('http://www.postimage.org/index.php?mode=phpbb&lang=russian&amp;code=hotlink&amp;content=family&amp;forumurl=' + escape(document.location.href), 'ExBB_imagehost', 'resizable=yes,width=500,height=400');return false;">



3. Теперь вносим добавления в файл language/russian/lang_front_formcode.php, ищем

CODE:
['HelpStrikeOut'] = 'Зачёркнутый текст: [s]текст[/s]';


Добавляем после этого

CODE:
$this->LANG['HelpPostimageOut'] = 'Вставить/отобразить картинку с postimage.org - поддерживается мультизагрузка!';



Вроде всё! Мультизагрузка действительно поддерживается.

При выборе нескольких картинок в вашу текстовую форму отправки сообщений ссылки на картинки вставятся в следующем виде:

[img=https://s32.postimg.org/z628pdicl/image.jpg]Название картинки[/img]

P.S. Кстати, использую сервис довольно давно уже. И даже после того, как он обновился и у его картинок стали другие адреса, старые картинки всё ещё доступны, что радует.
2. deddedi - 21 июля 2016 — 12:03 - перейти к сообщению
Спасибо, очень полезная вешь
3. Guyver - 11 сентября 2017 — 11:33 - перейти к сообщению
Подскажите кто-нибудь. Немного хостинг картинок свой код поменял, видимо.

Теперь если я по этому методу картинку с них беру - получается вот что:

CODE:
[url=https://postimages.org/][img]https://s26.postimg.org/ea737hujd/Magic_Sword_RUS_016.png[/img]


Т.е. в любой картинке теперь появляется лишняя часть:

CODE:
[url=https://postimages.org/]


Она всегда одинаковая. Как убрать эту пакость? Пробовал менять функцию самостоятельно, вроде читаю теорию и меняю как положено - не выходит ничего... Хелпните? А то надоело каждый раз вручную убирать лишнее из картинок...
4. NordWest - 11 сентября 2017 — 12:29 - перейти к сообщению
Нужно поправить что-то в этой строке, но я в регулярных выражениях не силён к сожалению.
CODE:
text = text.replace(/\[url=https:\/\/postim?g?\.org\/image\/[a-z,0-9,\/]*\]/g, '').replace(/\[\/url\]/g,'');
5. Guyver - 12 сентября 2017 — 08:08 - перейти к сообщению
Да это-то понятно. Я даже почитал про это, поменял - в итоге ничего не выходит пока...
6. Guyver - 2 января 2018 — 13:44 - перейти к сообщению
Вроде удалось исправить. На хроме работает. Что я сделал - не знаю точно. Просто пробовал разные варианты. Может, специалисты скажут что я написал ;о)

Вот этот код:

CODE:
text = text.replace(/\[url=https:\/\/postim?g?\.org\/image\/[a-z,0-9,\/]*\]/g, '').replace(/\[\/url\]/g,'');


Я заменил на этот:

CODE:
text = text.replace(/\[url=https:\/\/postim?g?\.org\/image\/[a-z,0-9,\/]*\]/g, '').replace(/\[\/url\]/g,'');
text = text.replace('[url=https://postimages.org/]', '').replace('[url=https://postimages.org/]','');


Кажется, лишняя часть, огрызок url, перестал вставляться в картинки...

Яндекс.Метрика   

Powered by ExBB
[Script Execution time: 0.0439]     [ ]