cyrax_02 Posted February 26, 2015 Share Posted February 26, 2015 Каким образом можно заставить CKE автоматически загружать изображения при их вставке в сообщение ?Это принципиальный вопрос. Причины:1) Такова бизнес-логика в нашей конторе2) Сторонние ресурсы могут закрыться или "лечь"3) Сторонние ресурсы могут поставить в .htaccess запрет на загрузку изображений с других ресурсов (широкая практика) P.S. Что-то слишком слаб CKE Editor по сравнению с TinyMCE. Ужас... Link to comment Share on other sites More sharing options...
siv1987 Posted February 26, 2015 Share Posted February 26, 2015 Следует понимать, что CKE это всего лишь визуальный редактор на клиентском языке, и сам по себе на сервер он ничего загружать не может. Возможно есть какие-то специальные плагины с дополнительными php скриптами/библиотеками которые загружают файлы на сервер. Но лично я таких не встречал, да и особо не искал (есть Inline Image Uploader для IPB от ritsuka, но он не автоматический). Нужно написать хук, который при отправке поста спарсит все теги img и загрузит их на свой сервер. Если говорить о плагине к редактору то - он должен отправить запрос на загрузку изображения, php скрипт который загрузит изображение на сервер, получить ссылку к загруженному изображению и встроить в редактор - много лишних движений. Link to comment Share on other sites More sharing options...
cyrax_02 Posted February 26, 2015 Author Share Posted February 26, 2015 Следует понимать, что CKE это всего лишь визуальный редактор на клиентском языке, и сам по себе на сервер он ничего загружать не может. К примеру, TinyMCE при вставке изображения через буфер вставляет его как base64. Впрочем, такой вариант не очень хорош, т.к. БД быстро распухнет + не будет возможности раздельно бэкапить такие изображения и прочие данные из БД (изображения - реже, остальное - чаще). Возможно есть какие-то специальные плагины с дополнительными php скриптами/библиотеками которые загружают файлы на сервер. Но лично я таких не встречал, да и особо не искал (есть Inline Image Uploader для IPB от ritsuka, но он не автоматический). Но коли CKE интегрирован в IP.Board "из коробки", то вполне логична опциональная реализация такой загрузки. А загрузку можно реализовать через те же самые javascrip'ы на клиенте (которые выполняют коннект с сервером и выполняют загрузку). Не может быть такого, чтобы CKE не предоставлял возможность добавлять свой (ака бордовский) javascript-функционал через плагины, события или иной механизм. Нужно написать хук, который при отправке поста спарсит все теги img и загрузит их на свой сервер. Не так всё просто. Нужно не только загрузить и получить ссылку, но ещё и в полной мере реализовать логику квотирования пользователя. Если говорить о плагине к редактору то - он должен отправить запрос на загрузку изображения, php скрипт который загрузит изображение на сервер, получить ссылку к загруженному изображению и встроить в редактор - много лишних движений. Много движений пользователя (если делать всё это вручную), но только не для программного кода. Он всё стерпит. Link to comment Share on other sites More sharing options...
siv1987 Posted February 26, 2015 Share Posted February 26, 2015 К примеру, TinyMCE при вставке изображения через буфер вставляет его как base64.Именно что из буффера. При желание, такое можно реализовать и на CKE. А загрузку можно реализовать через те же самые javascrip'ы на клиенте (которые выполняют коннект с сервером и выполняют загрузку).Это если локальные файлы, здесь речь о удаленных. При том, js на сервер файлы сохранять не может, нужен серверный обработчик. А CKE в первую очередь редактор, его назначение не загрузка удаленных файлов а форматирование текста на уровне клиента (браузера). Не так всё просто. Нужно не только загрузить и получить ссылку, но ещё и в полной мере реализовать логику квотирования пользователя.Тем более это не прерогатива редактора. Это находится на уровне форума, поэтому логичнее делать там. С редактором все равно придется подключать форум, что вместе с редактором в двойне усложняет задачу. Это делается в обработчике, парсингом img и загрузкой удаленных изображений на сервер - либо как аттачей, либо просто как сторонние файлы. Link to comment Share on other sites More sharing options...
cyrax_02 Posted February 26, 2015 Author Share Posted February 26, 2015 (edited) Это если локальные файлы, здесь речь о удаленных. При том, js на сервер файлы сохранять не может, нужен серверный обработчик.Под "выполнением загрузки" я как раз и имею ввиду запрос некоторого серверного скрипта с передачей тому url-ссылки, который (запрос) и выполнит физическую загрузку. А CKE в первую очередь редактор, его назначение не загрузка удаленных файлов а форматирование текста на уровне клиента (браузера).Тем более это не прерогатива редактора. Это находится на уровне форума, поэтому логичнее делать там. С редактором все равно придется подключать форум, что вместе с редактором в двойне усложняет задачу. Но ведь никто не мешает выполнять загрузку не в момент вставки изображения на клиенте, а в момент сохранения сообщения на сервере. Скажем, CKE вставляет изображение как base64 (как TinyMCE), а сервер при получении текста сообщения выполняет сохранение у себя в папке uploads всех base64-изображений из полученного html-текста сообщения. Edited February 26, 2015 by cyrax_02 Link to comment Share on other sites More sharing options...
siv1987 Posted February 26, 2015 Share Posted February 26, 2015 Скажем, CKE вставляет изображение как base64 (как TinyMCE)В base64 кодируются изображения из буффера, а тут ссылка на изображение, это две больше разницы. В момент сохранения нет смысла в этом изврате, можно и так получить все ссылки и загрузить их на сервер, в чем и заключается задача хука. Link to comment Share on other sites More sharing options...
newbie Posted February 27, 2015 Share Posted February 27, 2015 В момент сохранения нет смысла в этом изврате, можно и так получить все ссылки и загрузить их на сервер, в чем и заключается задача хука. (DP34) Download Images 1 Link to comment Share on other sites More sharing options...
siv1987 Posted February 27, 2015 Share Posted February 27, 2015 Нашелся и хук. И помнил что гдето подобное видел. Link to comment Share on other sites More sharing options...
cyrax_02 Posted February 27, 2015 Author Share Posted February 27, 2015 (DP34) Download ImagesНасколько я понял, этот хук:а) не реализует логику квотированияб) не реализует миниатюры (как в случае с изображениями, прикреплёнными стандартными средствами) Может быть, в IP.Board 4 подобное реализовано "из коробки" ? Link to comment Share on other sites More sharing options...
siv1987 Posted February 27, 2015 Share Posted February 27, 2015 а) не реализует логику квотированияТам где логика требует сохранения всех сторонних изображений на сервер, квотирование особо не нужно. Если пользователь перейдет через квоту он вообще не сможет вставлять изображения ни инлайн ни аттачами. Но но при желании можете добавить, думаю это проще чем писать новый хук с нуля. не реализует миниатюры (как в случае с изображениями, прикреплёнными стандартными средствами)Миниатюр нет и у стандартных inline-изображений, там ресайз на js + css. Тумбы есть только у аттачей. Может быть, в IP.Board 4 подобное реализовано "из коробки" ?Можно надеяться, но я сомневаюсь. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now