
Картинка — в один бросок
Панель встаёт на вкладку «Изображения и ссылки». Файл загружают кнопкой или просто бросают мышью на левую половину панели — она подсвечивается пунктиром, и страница не перезагружается. Файл, отпущенный мимо панели, не откроется во вкладке браузера и не уведёт со страницы с несохранённым материалом.
- Папка складывается сама по шаблону, например
images/2026/10/22; дата берётся в часовом поясе редактора. - Имя файла всегда уникальное: случайное, по дате или транслит исходного, с хвостом из 16 случайных знаков — существующий файл никогда не перезаписывается.
- Одна картинка сразу встаёт во вводный и полный текст. Если полному тексту нужна своя, синхронизацию выключают одним переключателем.
- Описание, классы и подпись вписываются в той же панели, и плагин переносит их в поля Joomla. Значение поля он пишет так же, как сама Joomla, поэтому на сайте у картинки есть ширина, высота и ленивая загрузка.
Обработка при загрузке
Пять режимов размера — вписать в рамку, обрезать до точного размера, подогнать по ширине или по высоте — и перевод в другой формат с заданным качеством.
WebP — формат, который Google представил в 2010 году; название читается как «веб-картинка». При том же качестве снимок в WebP заметно легче JPEG, и страница грузится быстрее. AVIF — AV1 Image File Format: картинка на кодеке AV1 от Alliance for Open Media, союза интернет-компаний, который выпустил его в 2019 году. AVIF сжимает ещё плотнее, но кодирует медленнее. Какие форматы доступны, решает сборка библиотеки GD на сервере.
EXIF — Exchangeable image file format, японский стандарт 1995 года, по которому камера и телефон записывают в файл модель аппарата, дату, координаты и то, как держали телефон при съёмке. Плагин поворачивает снимок по этой метке, а при перекодировании убирает метаданные, в том числе GPS: адрес, где снимал корреспондент, на сайт не уходит.
Водяной знак, который снимается
Водяной знак пришёл из бумажного дела: так называли рисунок в толще листа, видный на просвет, — знак мельницы, а позже защиту банкнот. На сайте это логотип поверх снимка. Обычно его кладут навсегда; здесь знак ставится галочкой и снимается тою же галочкой.
Перед первым наложением плагин сохраняет оригинал в закрытую папку images/.contentimageupload. Имя копии — HMAC, хэш от пути картинки, смешанный с секретом сайта из configuration.php: по публичному адресу картинки адрес чистого оригинала не вычислить. Галочка показывает, что на самом деле лежит в файле, а подсказка под ней — что случится при сохранении. После смены знака плагин удаляет миниатюры JUImage этой картинки, и шаблон, например Wmarka, сразу рисует новые.


Чем отличается от медиа-менеджера
| Медиа-менеджер Joomla | Content Image Upload | |
|---|---|---|
| Где загружать | раздел или окно поля «Изображение» | кнопкой или броском прямо в материале |
| Папка | выбирается вручную | создаётся сама по шаблону |
| Файл с таким именем уже есть | спрашивает, заменить ли | не бывает: имя каждый раз новое |
| Обработка | только уменьшение, через отдельный плагин | пять режимов размера, WebP, AVIF, поворот по EXIF |
| Метаданные и GPS | сохраняются | при обработке удаляются |
| Водяной знак | нет | есть, со снятием |
Проверки
Загрузка идёт только в панели управления, только от вошедшего пользователя с правом загружать в медиа-менеджер и правом на сам материал, с токеном формы. Файл с двойным расширением вроде photo.php.jpg отклоняется, как и файл со строкой <?php внутри; тип определяется по содержимому, а не по имени. Картинки больше 25 млн пикселей не принимаются, а перед обработкой плагин сверяется с лимитом памяти PHP и вместо белого экрана говорит, что не так.
Установка
Нужны Joomla 6.0 и новее и PHP 8.3 и новее с расширением GD; для WebP и AVIF — сборка GD с их поддержкой, для поворота снимков — расширение exif. Архив ставится обычным установщиком Joomla, второй архив распаковывается прямо в корень сайта. После первой установки плагин выключен: его включают в «Система → Плагины». Новые версии Joomla предложит сама, из сервера обновлений в репозитории. Интерфейс — на русском, казахском и английском, подробная инструкция со снимками — в README на трёх языках.
Плагин вырос из Content Image Upload 1.6 агентства «Хабар», а обработка при загрузке опирается на подходы плагина WT Image Resize and Convert от WebTolk. Обе работы выпущены под GNU GPL, и версия 2 — на тех же условиях.
Content Image Upload на GitHub · все модули и плагины на webmarka.kz





