Автоматическая загрузка изображений при их вставке в сообщение - Дизайн и модификация Invision Power Board

Перейти к содержимому

 

Правила раздела

Здесь обсуждаются вопросы по настройке и администрированию форумов IPB 3.x.
Пожалуйста, не оффтопьте, если зашли сюда случайно, и обратите внимание на соседние разделы.
Установка, настройка и обслуживание форумов IPB 2.x.
Оформление форумов, включая верстку скинов.
Размещение рекламы на форумах.
SEO оптимизация форума.
Техническая поддержка наших скинов и модов.

СвернутьПрикрепленные теги

Теги не найдены

Страница 1 из 1

Автоматическая загрузка изображений при их вставке в сообщение

#1 Пользователь не на сайте   cyrax_02 ответил: »

 
 
  • Advanced
  • ***
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 136
  • Регистрация: 19-Февраль 15
  • Репутация: 0
  • IPB version:3.4.x
 

Отправлено 26 Февраль 2015 - 19:26

Каким образом можно заставить CKE автоматически загружать изображения при их вставке в сообщение ?
Это принципиальный вопрос.

Причины:
1) Такова бизнес-логика в нашей конторе
2) Сторонние ресурсы могут закрыться или "лечь"
3) Сторонние ресурсы могут поставить в .htaccess запрет на загрузку изображений с других ресурсов (широкая практика)

P.S. Что-то слишком слаб CKE Editor по сравнению с TinyMCE. Ужас...
0

#2 Пользователь не на сайте   siv1987 ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 8 720
  • Регистрация: 20-Март 09
  • Репутация: 2 269
  • IPB version:3.1.x
 

Отправлено 26 Февраль 2015 - 20:37

Следует понимать, что CKE это всего лишь визуальный редактор на клиентском языке, и сам по себе на сервер он ничего загружать не может. Возможно есть какие-то специальные плагины с дополнительными php скриптами/библиотеками которые загружают файлы на сервер. Но лично я таких не встречал, да и особо не искал (есть Inline Image Uploader для IPB от ritsuka, но он не автоматический).
Нужно написать хук, который при отправке поста спарсит все теги img и загрузит их на свой сервер. Если говорить о плагине к редактору то - он должен отправить запрос на загрузку изображения, php скрипт который загрузит изображение на сервер, получить ссылку к загруженному изображению и встроить в редактор - много лишних движений.
0

#3 Пользователь не на сайте   cyrax_02 ответил: »

 
 
  • Advanced
  • ***
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 136
  • Регистрация: 19-Февраль 15
  • Репутация: 0
  • IPB version:3.4.x
 

Отправлено 26 Февраль 2015 - 21:13

Цитата

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

К примеру, TinyMCE при вставке изображения через буфер вставляет его как base64. Впрочем, такой вариант не очень хорош, т.к. БД быстро распухнет + не будет возможности раздельно бэкапить такие изображения и прочие данные из БД (изображения - реже, остальное - чаще).

Цитата

Возможно есть какие-то специальные плагины с дополнительными php скриптами/библиотеками которые загружают файлы на сервер. Но лично я таких не встречал, да и особо не искал (есть Inline Image Uploader для IPB от ritsuka, но он не автоматический).

Но коли CKE интегрирован в IP.Board "из коробки", то вполне логична опциональная реализация такой загрузки. А загрузку можно реализовать через те же самые javascrip'ы на клиенте (которые выполняют коннект с сервером и выполняют загрузку). Не может быть такого, чтобы CKE не предоставлял возможность добавлять свой (ака бордовский) javascript-функционал через плагины, события или иной механизм.

Цитата

Нужно написать хук, который при отправке поста спарсит все теги img и загрузит их на свой сервер.

Не так всё просто. Нужно не только загрузить и получить ссылку, но ещё и в полной мере реализовать логику квотирования пользователя.

Цитата

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

Много движений пользователя (если делать всё это вручную), но только не для программного кода. Он всё стерпит.
0

#4 Пользователь не на сайте   siv1987 ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 8 720
  • Регистрация: 20-Март 09
  • Репутация: 2 269
  • IPB version:3.1.x
 

Отправлено 26 Февраль 2015 - 21:44

Просмотреть сообщениеcyrax_02 сказал(а):

К примеру, TinyMCE при вставке изображения через буфер вставляет его как base64.

Именно что из буффера. При желание, такое можно реализовать и на CKE.

Просмотреть сообщениеcyrax_02 сказал(а):

А загрузку можно реализовать через те же самые javascrip'ы на клиенте (которые выполняют коннект с сервером и выполняют загрузку).

Это если локальные файлы, здесь речь о удаленных. При том, js на сервер файлы сохранять не может, нужен серверный обработчик. А CKE в первую очередь редактор, его назначение не загрузка удаленных файлов а форматирование текста на уровне клиента (браузера).

Просмотреть сообщениеcyrax_02 сказал(а):

Не так всё просто. Нужно не только загрузить и получить ссылку, но ещё и в полной мере реализовать логику квотирования пользователя.

Тем более это не прерогатива редактора. Это находится на уровне форума, поэтому логичнее делать там. С редактором все равно придется подключать форум, что вместе с редактором в двойне усложняет задачу. Это делается в обработчике, парсингом img и загрузкой удаленных изображений на сервер - либо как аттачей, либо просто как сторонние файлы.
0

#5 Пользователь не на сайте   cyrax_02 ответил: »

 
 
  • Advanced
  • ***
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 136
  • Регистрация: 19-Февраль 15
  • Репутация: 0
  • IPB version:3.4.x
 

Отправлено 26 Февраль 2015 - 22:16

Цитата

Это если локальные файлы, здесь речь о удаленных. При том, js на сервер файлы сохранять не может, нужен серверный обработчик.

Под "выполнением загрузки" я как раз и имею ввиду запрос некоторого серверного скрипта с передачей тому url-ссылки, который (запрос) и выполнит физическую загрузку.

Цитата

А CKE в первую очередь редактор, его назначение не загрузка удаленных файлов а форматирование текста на уровне клиента (браузера).

Цитата

Тем более это не прерогатива редактора. Это находится на уровне форума, поэтому логичнее делать там. С редактором все равно придется подключать форум, что вместе с редактором в двойне усложняет задачу.

Но ведь никто не мешает выполнять загрузку не в момент вставки изображения на клиенте, а в момент сохранения сообщения на сервере. Скажем, CKE вставляет изображение как base64 (как TinyMCE), а сервер при получении текста сообщения выполняет сохранение у себя в папке uploads всех base64-изображений из полученного html-текста сообщения.

Сообщение изменено: cyrax_02 (26 Февраль 2015 - 22:17)

0

#6 Пользователь не на сайте   siv1987 ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 8 720
  • Регистрация: 20-Март 09
  • Репутация: 2 269
  • IPB version:3.1.x
 

Отправлено 26 Февраль 2015 - 22:25

Просмотреть сообщениеcyrax_02 сказал(а):

Скажем, CKE вставляет изображение как base64 (как TinyMCE)

В base64 кодируются изображения из буффера, а тут ссылка на изображение, это две больше разницы. В момент сохранения нет смысла в этом изврате, можно и так получить все ссылки и загрузить их на сервер, в чем и заключается задача хука.
0

#7 Пользователь не на сайте   newbie ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins.ru Team
  • Сообщений: 2 166
  • Регистрация: 26-Октябрь 11
  • Репутация: 814
  • IPB version:I have no IPB
 

Отправлено 27 Февраль 2015 - 08:45

Просмотреть сообщениеsiv1987 сказал(а):

В момент сохранения нет смысла в этом изврате, можно и так получить все ссылки и загрузить их на сервер, в чем и заключается задача хука.

(DP34) Download Images
1

#8 Пользователь не на сайте   siv1987 ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 8 720
  • Регистрация: 20-Март 09
  • Репутация: 2 269
  • IPB version:3.1.x
 

Отправлено 27 Февраль 2015 - 09:31

Нашелся и хук. И помнил что гдето подобное видел.
0

#9 Пользователь не на сайте   cyrax_02 ответил: »

 
 
  • Advanced
  • ***
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 136
  • Регистрация: 19-Февраль 15
  • Репутация: 0
  • IPB version:3.4.x
 

Отправлено 27 Февраль 2015 - 17:56

Просмотреть сообщениеnewbie 27 Февраль 2015 - 08:45 сказал(а):

(DP34) Download Images

Насколько я понял, этот хук:
а) не реализует логику квотирования
б) не реализует миниатюры (как в случае с изображениями, прикреплёнными стандартными средствами)

Может быть, в IP.Board 4 подобное реализовано "из коробки" ?
0

#10 Пользователь не на сайте   siv1987 ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 8 720
  • Регистрация: 20-Март 09
  • Репутация: 2 269
  • IPB version:3.1.x
 

Отправлено 27 Февраль 2015 - 18:31

Просмотреть сообщениеcyrax_02 сказал(а):

а) не реализует логику квотирования

Там где логика требует сохранения всех сторонних изображений на сервер, квотирование особо не нужно. Если пользователь перейдет через квоту он вообще не сможет вставлять изображения ни инлайн ни аттачами. Но но при желании можете добавить, думаю это проще чем писать новый хук с нуля.

Просмотреть сообщениеcyrax_02 сказал(а):

не реализует миниатюры (как в случае с изображениями, прикреплёнными стандартными средствами)

Миниатюр нет и у стандартных inline-изображений, там ресайз на js + css. Тумбы есть только у аттачей.

Просмотреть сообщениеcyrax_02 сказал(а):

Может быть, в IP.Board 4 подобное реализовано "из коробки" ?

Можно надеяться, но я сомневаюсь.
0

Сообщить об этой теме:


Страница 1 из 1


Быстрый ответ

  

1 пользователей читают эту тему
0 зарегистрированных, 1 гостей, 0 скрытых


Контактная информация

Вопросы по работе сайта

+7 (917) 501-4765
C 10 до 20 в рабочие дни (время московское)

Техническая поддержка

Контактные данные специалистов

Дизайн форумов

IPB 3.x ¦ IPB 2.x

Бесплатные шаблоны

IPB 3.2 – 3.4 ¦ IPB 3.1 ¦ IPB 3.0 ¦ IPB 2.2 – 2.3 ¦ IPB 2.1 ¦ Клипарт
Лицензия на использование ¦ Ваша поддержка ¦ О проекте
Copyright © 2005-2016 IPBSkins.ru Team
При копировании материалов с сайта
прямая ссылка на источник обязательна