изменение загрузки в Gallery (Multi-Upload)
Доброго времени суток!
Понадобилась возможность выводить фотографии из Gallery с водяным знаком.
Как вариант, есть возможность использовать «phpthumbof=`fltr=wmi», но проблема в том, что размеры фотографий в Gallery могут быть разными и поэтому нужно менять размер изображение водяного знака в зависимости от размера выводимой фотографии, чтобы водяной знак не получился маленьким. Также, нужно располагать знака посередине 1/3 фото.
Как решение, подумал, что можно дописать загрузку фотографий (Multi-Upload) компонента Gallery, т.е. после того как фото загружено, исполнять скрипт, который смотрит размеры фото, меняет размер водяного знака в зависимости от размера фото, накладывает знак на фото и сохраняет.
Подскажите, пожалуйста, можно ли решить данную проблему без допиливания (Multi-Upload) компонента Gallery, либо где можно дописать загрузку фото в Gallery?
Понадобилась возможность выводить фотографии из Gallery с водяным знаком.
Как вариант, есть возможность использовать «phpthumbof=`fltr=wmi», но проблема в том, что размеры фотографий в Gallery могут быть разными и поэтому нужно менять размер изображение водяного знака в зависимости от размера выводимой фотографии, чтобы водяной знак не получился маленьким. Также, нужно располагать знака посередине 1/3 фото.
Как решение, подумал, что можно дописать загрузку фотографий (Multi-Upload) компонента Gallery, т.е. после того как фото загружено, исполнять скрипт, который смотрит размеры фото, меняет размер водяного знака в зависимости от размера фото, накладывает знак на фото и сохраняет.
Подскажите, пожалуйста, можно ли решить данную проблему без допиливания (Multi-Upload) компонента Gallery, либо где можно дописать загрузку фото в Gallery?
Комментарии: 13
нет каких-нибудь мыслей по данному поводу? :)
Плагином по событию OnHandleRequest просматривать весь массив $_FILES для поиска изображений. Если найдены, то сразу обрабатывать нужными алгоритмами. Тогда, с очень большой вероятностью, родной обработчик получит уже измененные файлы.
спасибо) а как понять в событии OnHandleRequest, что мы фото загружаем именно через Gallery?
Смотреть глазами, какие запросы отправляются при работе с Gallery, затем в плагине сравнивать их с тем, что получено. Первая простейшая проверка — контекст только mgr.
сейчас попробовал сделать простейшее событие OnHandleRequest:
Далее создал событие OnFileManagerUpload с таким же содержимым и если использовать «Multi-Upload», то файл тоже нигде не создается, а если использовать одиночную загрузку фото в Gallery («Загрузить элемент»), то файл создается в «assets/components/gallery».
В моем случае нужно отловить именно загрузку фото по «Multi-Upload». Может есть какие-нибудь примеры?
if($modx->event->name=='OnHandleRequest'){
$file = 'file.txt';
$text= "qwe";
file_put_contents($file, $text, FILE_APPEND | LOCK_EX);
}
так вот файл нигде не был создан, если я заливаю фото с помощью «Multi-Upload».Далее создал событие OnFileManagerUpload с таким же содержимым и если использовать «Multi-Upload», то файл тоже нигде не создается, а если использовать одиночную загрузку фото в Gallery («Загрузить элемент»), то файл создается в «assets/components/gallery».
В моем случае нужно отловить именно загрузку фото по «Multi-Upload». Может есть какие-нибудь примеры?
Нужно смотреть, каким образом происходит Multi-Upload. Я предложил лишь общий вариант, не зная тонкостей Gallery — не приходится с ней сталкиваться.
Скиньте доступ к сайту на mail # compaero.ru, посмотрю в течение дня.
Скиньте доступ к сайту на mail # compaero.ru, посмотрю в течение дня.
нашел, где можно изменять фото при Multi-Upload- в файле core/components/gallery/model/gallery/galalbum.class.php в методе uploadItem.
До первого обновления Gallery…
да, не спорю, но данный момент все устраивает и обновления можно и не выполнять :)
Не забудьте где-то отдельно записать, какие изменения внесены — вдруг придется обновить? ))
обязательно :)
И в сообщество выложите =) Вдруг кому то пригодится, или кто то в плагин преобразует
Как то давно искал готовое решение про водяные знаки, вот ссылка
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.