Very nice, thank you for this.
I optimised the first extension slightly to skip the processing the user is allowed to post external links and then simplified the second class extension (and removed the duplicated code from the base class which would need to be maintained over upgrades)..
Thanks, this is just on my test site - I'm not planning to switch production to PHP 7.1 just yet.
The error must have been there with the old PHP version, just didn't trigger an exception before PHP 7.1.
That directory doesn't exist in my installation but the parent (internal_data/) is writeable by the web server user.
I don't get the error with PHP 5.6 (and attachment/avatar uploads work fine), just with PHP 7.1.
I'll create that directory and see if it improves things.
Testing with PHP 7.1, I see lots of errors like the following in my server error log:
ErrorException: tempnam(): file created in the system's temporary directory - library/XenForo/Model/Avatar.php:124
#0 [internal function]: XenForo_Application::handlePhpError(8...