Attachment Improvements By Xon

Unmaintained Attachment Improvements By Xon 1.1.3

No permission to download
Compatible XF 1.x versions
  1. 1.3
  2. 1.4
  3. 1.5
Additional requirements
php 5.6+
Optionally; Nginx (for X-Accel-Redirect support)
MIT Licence
Visible branding
A collection of improvements to XF's attachment system.
  • SVG support
  • Nginx's X-Accel-Redirect
  • New Permissions for forum/conversations (Respects global attachment size & count limits):
    • Attachment Size (kb).
    • Maximum Attachment Count.
  • Image dialog functionality improvements.
    • Allows selecting recent (image) attachments.
    • Can upload attachments.
    • Respects upload/attach permissions.

This add-on replaces XAR - Attachment and SVG Attachments. And will automatically uninstall those add-ons when this add-on is installed.

As XenForo_FileOutput is not easily extensible, this add-on effectively re-implements:
  • XenForo_ViewAdmin_Attachment_View
  • XenForo_ViewPublic_Attachment_View

SVG Support
Support for SVG attachments to be displayable as normal images.

Nginx X-Accel-Redirect (OPTIONAL)

Enables the use of Nginx's X-Accel-Redirect header feature for attachment serving.

This permits XenForo to-do validation and authentication, and offload the actual file serving to Nginx. This feature is not particularly well documented, but some info found here.

This addon assumes the /internal_data folder exists within the webroot, and you do not have a 'deny all;' statement but instead use 'internal;' to secure the internal_data folder.

For example, XenForo is accessible from: /forum rather than then the webroot.

The following must be added to config.php:
$config['internalDataUrl'] = '/forum/internal_data';

Something similar to the nginx config may be required in your webserver:
location ^~ /forum/internal_data {
  add_header Etag $upstream_http_etag;
  add_header X-Frame-Options SAMEORIGIN;
  add_header X-Content-Type-Options nosniff;
  alias /path/to/internal_data;

To ensure you match how XenForo serves files, add the following headers into your website config for the internal_data folder:
  add_header Etag $upstream_http_etag;
  add_header X-Frame-Options SAMEORIGIN;
  add_header X-Content-Type-Options nosniff;

New Permissions

Permits per-forum or conversation attachment size and count limits.

Respects the global forum wide attachment size/count limits, with per-usergroup settings allowing smaller values.

Due to how XF integer permissions work, 'unlimited' or '0' evaluate as no permission being set.

Post Install Instructions
Add 'svg' file extension to the list of supported to allow svg files to be uploaded.

I recommend using Add-on install & upgrade to install this addon.

Contributing features or bug fixes
Please create a Github Pull request via the "More Information" link.


If you appreciate this add-on, please consider a contribution via PayPal. Details will be provide via private conversation.

Please contact me if you wish for different licencing arrangements.
  • attach.webp
    9.8 KB · Views: 717
First release
Last update


5.00 star(s) 3 ratings

More resources from Xon

Latest updates

  1. 1.1.3 - Bugfix update

    Fix inserting recent attachments on click
  2. Feature Update

    Image dialog functionality improvements. Allows selecting recent (image) attachments. Can...
  3. Maintenance update

    Improve width/height extraction (optional) Rejection of invalid SVG with an error message...

Latest reviews

All of Xon's addons are of supreme Quality. I believe various functions in this addon should be core. Thanks for making this available!
Excellent addon. Love the ability to (finally) use SVG as attachment. Many thanks! I did use the other functionality when my website used NGINX. Also excellent stuff. Now running on Litespeed so cannot use it anymore. Keep up the good work!
Great addition with feature maximum attachment size per user group and per forum. Xon is impressive with the help and support. Much recommended.
Top Bottom