Пожалуй многих волнует тема загрузки изображений с 'фронта'
Вот как это возможно реализовать:
За основу взята библиотека plupload. Изменен шаблон submission.php элемента jbimage и внесены небольшие правки в jbimage.php в плане режима доверия и jbimage.xml добавлены управление размером и качеством загружаемых изображений.
В результате имеем такую форму подачи
Изображения сохраняются в директорию пользователя также как и в обычном элементе jbimage.
Схематично путь загрузки можно разделить на 2 ветки, до директории 'uploads' и после
Можете сохранять файлы куда угодно, нам нужна только 'uploads' в пути файла и указание любой директории после 'uploads/'.
Непосредственно в директорию 'uploads' необходимо скопировать файлы upload.php, delete.php, fc.php
upload.php - сам загрузчик.
delete.php - удаление файлов
fc.php - скрипт контроля количества загрузок (в представленном примере ограничено не более 10 загрузок за 5 мин и не более 100 в сутки). Для отключения опции достаточно закомментировать подключение файла fc.php в upload.php.
Для контроля также необходимо добавить таблицу в базу данных:
CREATE TABLE IF NOT EXISTS `<ПРЕФИКС_ВАШЕЙ_БАЗЫ>_flood_control_table` ( `id` int(50) unsigned NOT NULL AUTO_INCREMENT, `ip` text NOT NULL, `params` text NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=665 ;
Реализована опция наложения логотипа при загрузке. Для этого необходимо скопировать изображение логотипа (*.png) в директорию uploads. В примере лого накладывается на конечное изображение более 300px в ширину Для отключения опции - закомментировать код в файле uploads.php
Элемент не повторяемый, возможно кто-нибудь додумает )
Удаление изображений и замена с удалением предыдущего через форму подачи так же возможна
в админке ничего не поменялось, все стандартно
В общем-то вроде все
из +:
+ загрузка с фронта желаемого размера и качества независимо от исходника;
+ наложение логотипа;
+ распределение по пользователям;
+ контроль количества загружаемых пользователями файлов;
+ нет необходимости вручную удалять файлы при редактировании.
из -
- поле добавления изображения не повторяемое;
- если в обновлении есть элемент jbimage, соответственно заменятся файлы элемента.
P.S.
1. дополнительная графика в архиве в директории 'images', копировать в ваш_домен/images/
2. необходимые для работы js и swf файл в директории js (копировать ваш_домен/js), либо изменить пути подключения в файле \media\zoo\applications\jbuniversal\elements\jbimage\tmpl\submission.php
В принципе файлы разложены по директориям и можно копировать из архива как есть в корень сайта с заменой.
Attached Files
Edited by black_paw, 11 September 2014 - 12:09.