- Совместимость
-
- 2.3
- Видимый копирайт
-
- Нет
Активность просмотров
Активность обновлений
[IMG]https://external.com/pic.jpg[/IMG], загружает изображения, создает корректные вложения XF и заменяет BB-код на [ATTACH=full]id[/ATTACH].Разработан как инструмент для одноразовой миграции на форумах с устаревшим контентом, который использует прямые ссылки на изображения с внешних хостов, которые могут в любой момент стать недоступными.
Основные функции
- Панель администратора — отображает количество обновлений ресурсов, содержащих изображения с прямыми ссылками, статистику конверсий (конвертировано/неудачно/пропущено/ожидает) и кнопки действий.
- Режим пробного запуска — предварительный просмотр того, что будет конвертировано, без загрузки чего-либо. Результаты отображаются в журнале конверсий как записи «ожидает».
- Конверсия в реальном времени — загружает внешние изображения, создает вложения XF и заменяет теги на теги [ATTACH=full]. Работает как возобновляемая фоновая задача.
[*]Подтверждение — для конвертации в реальном времени требуется явное подтверждение, поскольку она необратимо изменяет содержимое ресурса.
[*]Журнал конверсий — постраничный журнал каждого обработанного URL-адреса с значками статуса, ссылками на вложения, размерами файлов, сообщениями об ошибках и временными метками. Фильтрация по статусу.
[*]Интеллектуальная обработка — обрабатывает все варианты тегов [IMG] ([IMG width="400" height="300"], [IMG alt="desc"] и т. д.).
[*]Дедупликация URL-адресов — если один и тот же внешний URL-адрес встречается несколько раз в одном обновлении ресурса, он загружается один раз, и все экземпляры используют одно и то же вложение.
[*]Пропуск локальных URL-адресов — URL-адреса, указывающие на вашу собственную доску, автоматически пропускаются.
[*]Идемпотентность — безопасно повторно запускать. Уже преобразованные URL-адреса пропускаются при последующих запусках. Нет дубликатов загрузок или вложений.
[*]Устойчивость к сбоям — неудачные загрузки (404, тайм-ауты, недействительные изображения) регистрируются с указанием конкретных сообщений об ошибках. Задача продолжает обработку оставшихся URL-адресов.
[*]Чистая деинсталляция — удаляет таблицу журнала конверсий при удалении.
[/LIST]
Как это работает
[LIST]
[*]Перейдите в AdminCP > Инструменты > Конвертер горячих ссылок
[*]Просмотрите панель управления — посмотрите, сколько обновлений ресурсов содержат внешние теги [IMG]
[*]Запустите пробный запуск — нажмите «Проверочный запуск», чтобы выполнить сканирование без преобразования. Проверьте журнал, чтобы увидеть, что будет обработано.
[*]Преобразовать все — нажмите «Преобразовать все», подтвердите в всплывающем окне, и фоновое задание сделает все остальное. Оно загрузит каждое изображение, создаст вложение XF и обновит описание ресурса.
[*]Проверьте журнал — просмотрите журнал преобразования на наличие сбоев. Отфильтруйте по статусу, чтобы сосредоточиться на проблемах.
[/LIST]
Что конвертируется
До:
Посмотрите на этот скриншот: [IMG]https://external-site.com/image.jpg
После:
Посмотрите на этот скриншот: Посмотреть вложение 12345
Теперь изображение сохранено локально в виде полноценного вложения XF, связанного с обновлением ресурса. Оно сохранится, даже если внешний сервер выйдет из строя.
Технические характеристики- Архитектура: Шаблон «Сервис + Задание + Репозиторий». Одна таблица базы данных (xf_qubn_hlc_conversion_log) для аудита.
- Загрузки: Использует встроенный в XF HTTP-считыватель getUntrusted() с защитой от SSRF. Тайм-аут 15 секунд, ограничение размера файла 10 МБ на изображение.
- Поддерживаемые форматы: JPG, JPEG, PNG, GIF, WebP, BMP
- Создание вложений: Использует собственный PreparerService XF — тот же API, что и для ручной загрузки. Корректно обновляет attach_count при обновлении ресурса.
- Обработка заданий: Задание с возможностью возобновления на основе курсора. Обрабатывает 50 обновлений ресурсов за пакет с проверкой временных ограничений. Может быть отменено из очереди заданий в панели администратора.
- Совместимость: Требуется XenForo 2.3.0+ и XF Resource Manager 2.3.0+
- Качество кода: Чистый код уровня PHPStan 3. Никаких дополнительных занятий — полностью автономный курс.
Хэш файла (MD5)
- Qubn-HotlinkConverter-1.0.0.zip
-
04feadf6329df2f8a6c0e5a95086c1f4