Hotlink Converter 1.0.0

XF 2.3 Hotlink Converter 1.0.0

Add-on xenforo 2

Ressources et modules complémentaires pour XenForo 2

Styles xenforo 2

Styles / Thèmes et apparence pour xenforo 2

Templates xenforo 2

Codes pour modifier les templates sur xenforo 2

Section Premium

Add-on et Styles pour membre Premium
Hotlink Converter 1.0.0

XF 2.3 Hotlink Converter 1.0.0

Catégorie Catégorie Add-Ons
Titre du sujet Titre du sujet Hotlink Converter 1.0.0
Auteur de la discussion Auteur de la discussion laurent68
Date de début Date de début
Réponses Réponses 0
Affichages Affichages 2
Réaction Réaction 0
Dernier message par Dernier message par laurent68

laurent68

Fondateur

Staff
fondateur
Réputation: 100%
Discussions
4 885
Messages
12 716
Solutions
85
J'aime
7 956
Points
198
Additional requirements : XenForo Resource Manager (XFRM) 2.3.0+

Hotlink Converter is an admin tool that batch-converts externally hotlinked images in XFRM resource descriptions into locally-stored XenForo attachments. It scans [IMG]https://external.com/pic.jpg[/IMG] BB code tags, downloads the images, creates proper XF attachments, and replaces the BB code with [ATTACH=full]id[/ATTACH].

Built as a one-time migration tool for forums with legacy resource content that hotlinks images from external hosts that may go offline at any time.


Key Features​

  • Admin Dashboard - Shows how many resource updates contain hotlinked images, conversion statistics (converted/failed/skipped/pending), and action buttons.
  • Dry Run Mode - Preview what will be converted without downloading anything. Results appear in the conversion log as "pending" entries.
  • Live Conversion - Downloads external images, creates XF attachments, and replaces tags with [ATTACH=full] tags. Runs as a resumable background job.
    [*]Confirmation Overlay - Live conversion requires explicit confirmation since it modifies resource content irreversibly.
    [*]Conversion Log - Paginated log of every URL processed, with status badges, attachment links, file sizes, error messages, and timestamps. Filterable by status.
    [*]Smart Handling - Handles all [IMG] tag variants ([IMG width="400" height="300"], [IMG alt="desc"], etc.).
    [*]URL Deduplication - If the same external URL appears multiple times in one resource update, it's downloaded once and all instances share the same attachment.
    [*]Local URL Skipping - URLs pointing to your own board are automatically skipped.
    [*]Idempotent - Safe to re-run. Already-converted URLs are skipped on subsequent runs. No duplicate downloads or attachments.
    [*]Failure Resilience - Failed downloads (404s, timeouts, invalid images) are logged with specific error messages. The job continues processing remaining URLs.
    [*]Clean Uninstall - Drops the conversion log table on uninstall.
    [/LIST]
    [HR][/HR]
    [HEADING=2]How It Works[/HEADING]
    [LIST=1]
    [*]Navigate to AdminCP > Tools > Hotlink Converter
    [*]Review the dashboard - See how many resource updates contain external [IMG] tags
    [*]Run a Dry Run - Click "Dry Run" to scan without converting. Check the log to see what would be processed.
    [*]Convert All - Click "Convert All", confirm in the overlay, and the background job handles the rest. It downloads each image, creates an XF attachment, and updates the resource description.
    [*]Check the Log - Review the conversion log for any failures. Filter by status to focus on issues.
    [/LIST]
    [HR][/HR]
    [HEADING=2]What Gets Converted[/HEADING]
    Before:
    [CODE]Check out this screenshot: [IMG]https://external-site.com/image.jpg[/CODE]
    After:
    Code:
    Check out this screenshot: [ATTACH=full]12345[/ATTACH]

    The image is now stored locally as a proper XF attachment, associated with the resource update. It will survive even if the external host goes offline.


    Technical Details​

    • Architecture: Service + Job + Repository pattern. One database table (xf_qubn_hlc_conversion_log) for audit logging.
    • Downloads: Uses XF's built-in getUntrusted() HTTP reader with SSRF protection. 15-second timeout, 10MB file size limit per image.
    • Supported formats: JPG, JPEG, PNG, GIF, WebP, BMP
    • Attachment creation: Uses XF's native PreparerService - same API as manual uploads. Properly updates attach_count on the resource update.
    • Job processing: Cursor-based resumable job. Processes 50 resource updates per batch with time-limit checks. Can be cancelled from the AdminCP job queue.
    • Compatibility: Requires XenForo 2.3.0+ and XF Resource Manager 2.3.0+
    • Code Quality: PHPStan level 3 clean. No class extensions - completely self-contained.

    Installation​

    1. Download and extract the ZIP file
    2. Upload the Qubn/HotlinkConverter/ folder to src/addons/
    3. Go to AdminCP > Add-ons > Install from archive (or Install/upgrade)
    4. Navigate to AdminCP > Tools > Hotlink Converter

    Addon ID: Qubn/HotlinkConverter
    Vendor: Qubn
    License: Free / Open Source

    Télécharger V1.0.0 :
 

Pièces jointes

  • 01-dashboard-clean.webp
    01-dashboard-clean.webp
    27.6 KB · Affichages: 0
  • 02-dashboard-after-dryrun.webp
    02-dashboard-after-dryrun.webp
    27.5 KB · Affichages: 0
  • 03-log-dryrun-entries.webp
    03-log-dryrun-entries.webp
    27.6 KB · Affichages: 0
  • 04-log-filtered-pending.webp
    04-log-filtered-pending.webp
    25.3 KB · Affichages: 0
  • 05-confirmation-overlay.webp
    05-confirmation-overlay.webp
    13.9 KB · Affichages: 0
  • 06-dashboard-after-conversion.webp
    06-dashboard-after-conversion.webp
    27.9 KB · Affichages: 1
  • 07-log-all-statuses.webp
    07-log-all-statuses.webp
    27.5 KB · Affichages: 0
  • 08-navigation-sidebar.webp
    08-navigation-sidebar.webp
    8.7 KB · Affichages: 0
Contenu similaire Les plus vues Voir plus
Retour
Haut Bas