XenForo Modifications

[XF2] Xon's Attachment Improvements 2.0.1

Submitted by drakius, , Thread ID: 100680

Thread Closed
02-09-2018, 06:20 PM
#1
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.

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 addon assumes the /internal_data folder exists within thewebroot, 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:
Code:
Code:
$config['internalDataUrl'] = '/forum/internal_data';

Something similar to the nginx config may be required in your webserver:
Code:
Code:
location ^~ /forum/internal_data {
internal;
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:
Code:
Code:
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.

Content locked
This content has been locked. Please login or register in order to unlock it.

Users browsing this thread: 1 Guest(s)