Fix: hide attachments wrapped in [NSFW] tag from display in news feed items
This displays the action taken on the content.Maybe I'm being a bit thick, but where do I find how to approve it? (It's not in approval queue)
but how do I then mark the (wrongly nsfw attributed) blurred image as safe, so it is unblurred?This displays the action taken on the content.
The status in the NSFW log will not change once the content has been approved or rejected.
Style properties -> [XB] Adult Content -> Image blur sizeMaybe it exists already, but if not an option to change the blur amount? Some images are still distinguishable so it'd be nice to increase the blur if necessary.
ErrorException: Sightengine Error 400: Image too big, should be less than 12 megabytes src/XF/Error.php:81
Generated by: Mix O Lydian Aug 27, 2025 at 7:25 AM
Stack trace
#0 src/XF.php(266): XF\Error->logError('Sightengine Err...', false)
#1 src/addons/OzzModz/AdultContent/Util/SightengineApi.php(72): XF::logError('Sightengine Err...')
#2 src/addons/OzzModz/AdultContent/Util/SightengineApi.php(31): OzzModz\AdultContent\Util\SightengineApi->request('POST', 'https://api.sig...', Array)
#3 src/addons/OzzModz/AdultContent/NsfwDetector/Sightengine.php(66): OzzModz\AdultContent\Util\SightengineApi->checkFile(Array, '/tmp/php8LqkYN')
#4 src/addons/OzzModz/AdultContent/NsfwDetector/AbstractDetector.php(34): OzzModz\AdultContent\NsfwDetector\Sightengine->analyzeFile(Object(XF\FileWrapper))
#5 src/addons/OzzModz/AdultContent/Service/Checker.php(97): OzzModz\AdultContent\NsfwDetector\AbstractDetector->checkFile(Object(XF\FileWrapper))
#6 src/addons/OzzModz/AdultContent/Service/Checker.php(114): OzzModz\AdultContent\Service\Checker->checkFile(Object(XF\FileWrapper), NULL)
#7 src/addons/OzzModz/AdultContent/Service/ImageUploadNsfwCheckServiceTrait.php(17): OzzModz\AdultContent\Service\Checker->canUploadFile(Object(XF\FileWrapper), Object(SV\ConversationEssentials\XF\Entity\User), NULL)
#8 src/addons/OzzModz/AdultContent/XF/Service/User/Avatar.php(13): OzzModz\AdultContent\XF\Service\User\Avatar->assertCanSetNsfwImageFromUpload('avatar', Object(SV\ConversationEssentials\XF\Entity\User), Object(SV\AttachmentImprovements\XF\Http\Upload))
#9 src/XF/Pub/Controller/AccountController.php(607): OzzModz\AdultContent\XF\Service\User\Avatar->setImageFromUpload(Object(SV\AttachmentImprovements\XF\Http\Upload))
#10 src/XF/Mvc/Dispatcher.php(362): XF\Pub\Controller\AccountController->actionAvatar(Object(XF\Mvc\ParameterBag))
#11 src/XF/Mvc/Dispatcher.php(264): XF\Mvc\Dispatcher->dispatchClass('XF:Account', 'Avatar', Object(XF\Mvc\RouteMatch), Object(SV\ConversationEssentials\XF\Pub\Controller\Account), NULL)
#12 src/XF/Mvc/Dispatcher.php(121): XF\Mvc\Dispatcher->dispatchFromMatch(Object(XF\Mvc\RouteMatch), Object(SV\ConversationEssentials\XF\Pub\Controller\Account), NULL)
#13 src/XF/Mvc/Dispatcher.php(63): XF\Mvc\Dispatcher->dispatchLoop(Object(XF\Mvc\RouteMatch))
#14 src/XF/App.php(2824): XF\Mvc\Dispatcher->run()
#15 src/XF.php(806): XF\App->run()
#16 index.php(23): XF::runApp('XF\\Pub\\App')
#17 {main}
Request state
array(4) {
["url"] => string(15) "/account/avatar"
["referrer"] => string(52) "https://cafesaxophone.com/members/mix-o-lydian.9469/"
["_GET"] => array(0) {
}
["_POST"] => array(7) {
["_xfToken"] => string(8) "********"
["avatar_crop_x"] => string(1) "0"
["avatar_crop_y"] => string(2) "11"
["use_custom"] => string(1) "1"
["_xfResponseType"] => string(4) "json"
["_xfWithData"] => string(1) "1"
["_xfRequestUri"] => string(27) "/members/mix-o-lydian.9469/"
}
}
ErrorException: [E_WARNING] filesize(): stat failed for /home/caf/public_html/internal_data/temp/a4ff627612bed27b58a149c01850453e-6912dedf1e4fd.temp src/XF/Service/ImageProxyService.php:178
Generated by: Unknown account Nov 11, 2025 at 6:59 AM
Stack trace
#0 [internal function]: XF::handlePhpError(2, '[E_WARNING] fil...', '/home/caf/publi...', 178)
#1 src/XF/Service/ImageProxyService.php(178): filesize('/home/caf/publi...')
#2 src/XF/Service/ImageProxyService.php(108): XF\Service\ImageProxyService->fetchImageDataFromUrl('https://www.mus...')
#3 src/XF/Service/ImageProxyService.php(43): XF\Service\ImageProxyService->refetchImage(Object(XF\Entity\ImageProxy))
#4 src/XF/Proxy/Controller.php(128): XF\Service\ImageProxyService->getImage('https://www.mus...')
#5 proxy.php(36): XF\Proxy\Controller->outputImage('https://www.mus...', '9c64090bdff48d7...')
#6 {main}
Request state
array(4) {
["url"] => string(157) "/proxy.php?image=https%3A%2F%2Fwww.musicnotes.com%2Fimages%2Fproductimages%2Flarge%2Fmtd%2FMN0099322.gif&hash=9c64090bdff48d73d6927283aa069fb8&return_error=1"
["referrer"] => bool(false)
["_GET"] => array(3) {
["image"] => string(71) "https://www.musicnotes.com/images/productimages/large/mtd/MN0099322.gif"
["hash"] => string(32) "9c64090bdff48d73d6927283aa069fb8"
["return_error"] => string(1) "1"
}
["_POST"] => array(0) {
}
}
Not related to this add-onAppears to be causing many more errors:
Code:ErrorException: [E_WARNING] filesize(): stat failed for /home/caf/public_html/internal_data/temp/a4ff627612bed27b58a149c01850453e-6912dedf1e4fd.temp src/XF/Service/ImageProxyService.php:178 Generated by: Unknown account Nov 11, 2025 at 6:59 AM Stack trace #0 [internal function]: XF::handlePhpError(2, '[E_WARNING] fil...', '/home/caf/publi...', 178) #1 src/XF/Service/ImageProxyService.php(178): filesize('/home/caf/publi...') #2 src/XF/Service/ImageProxyService.php(108): XF\Service\ImageProxyService->fetchImageDataFromUrl('https://www.mus...') #3 src/XF/Service/ImageProxyService.php(43): XF\Service\ImageProxyService->refetchImage(Object(XF\Entity\ImageProxy)) #4 src/XF/Proxy/Controller.php(128): XF\Service\ImageProxyService->getImage('https://www.mus...') #5 proxy.php(36): XF\Proxy\Controller->outputImage('https://www.mus...', '9c64090bdff48d7...') #6 {main} Request state array(4) { ["url"] => string(157) "/proxy.php?image=https%3A%2F%2Fwww.musicnotes.com%2Fimages%2Fproductimages%2Flarge%2Fmtd%2FMN0099322.gif&hash=9c64090bdff48d73d6927283aa069fb8&return_error=1" ["referrer"] => bool(false) ["_GET"] => array(3) { ["image"] => string(71) "https://www.musicnotes.com/images/productimages/large/mtd/MN0099322.gif" ["hash"] => string(32) "9c64090bdff48d73d6927283aa069fb8" ["return_error"] => string(1) "1" } ["_POST"] => array(0) { } }
This can be ignored.I got this error today. Is this anything to be concerned about?
Code:ErrorException: Sightengine Error 400: Image too big, should be less than 12 megabytes src/XF/Error.php:81 Generated by: Mix O Lydian Aug 27, 2025 at 7:25 AM Stack trace #0 src/XF.php(266): XF\Error->logError('Sightengine Err...', false) #1 src/addons/OzzModz/AdultContent/Util/SightengineApi.php(72): XF::logError('Sightengine Err...') #2 src/addons/OzzModz/AdultContent/Util/SightengineApi.php(31): OzzModz\AdultContent\Util\SightengineApi->request('POST', 'https://api.sig...', Array) #3 src/addons/OzzModz/AdultContent/NsfwDetector/Sightengine.php(66): OzzModz\AdultContent\Util\SightengineApi->checkFile(Array, '/tmp/php8LqkYN') #4 src/addons/OzzModz/AdultContent/NsfwDetector/AbstractDetector.php(34): OzzModz\AdultContent\NsfwDetector\Sightengine->analyzeFile(Object(XF\FileWrapper)) #5 src/addons/OzzModz/AdultContent/Service/Checker.php(97): OzzModz\AdultContent\NsfwDetector\AbstractDetector->checkFile(Object(XF\FileWrapper)) #6 src/addons/OzzModz/AdultContent/Service/Checker.php(114): OzzModz\AdultContent\Service\Checker->checkFile(Object(XF\FileWrapper), NULL) #7 src/addons/OzzModz/AdultContent/Service/ImageUploadNsfwCheckServiceTrait.php(17): OzzModz\AdultContent\Service\Checker->canUploadFile(Object(XF\FileWrapper), Object(SV\ConversationEssentials\XF\Entity\User), NULL) #8 src/addons/OzzModz/AdultContent/XF/Service/User/Avatar.php(13): OzzModz\AdultContent\XF\Service\User\Avatar->assertCanSetNsfwImageFromUpload('avatar', Object(SV\ConversationEssentials\XF\Entity\User), Object(SV\AttachmentImprovements\XF\Http\Upload)) #9 src/XF/Pub/Controller/AccountController.php(607): OzzModz\AdultContent\XF\Service\User\Avatar->setImageFromUpload(Object(SV\AttachmentImprovements\XF\Http\Upload)) #10 src/XF/Mvc/Dispatcher.php(362): XF\Pub\Controller\AccountController->actionAvatar(Object(XF\Mvc\ParameterBag)) #11 src/XF/Mvc/Dispatcher.php(264): XF\Mvc\Dispatcher->dispatchClass('XF:Account', 'Avatar', Object(XF\Mvc\RouteMatch), Object(SV\ConversationEssentials\XF\Pub\Controller\Account), NULL) #12 src/XF/Mvc/Dispatcher.php(121): XF\Mvc\Dispatcher->dispatchFromMatch(Object(XF\Mvc\RouteMatch), Object(SV\ConversationEssentials\XF\Pub\Controller\Account), NULL) #13 src/XF/Mvc/Dispatcher.php(63): XF\Mvc\Dispatcher->dispatchLoop(Object(XF\Mvc\RouteMatch)) #14 src/XF/App.php(2824): XF\Mvc\Dispatcher->run() #15 src/XF.php(806): XF\App->run() #16 index.php(23): XF::runApp('XF\\Pub\\App') #17 {main} Request state array(4) { ["url"] => string(15) "/account/avatar" ["referrer"] => string(52) "https://cafesaxophone.com/members/mix-o-lydian.9469/" ["_GET"] => array(0) { } ["_POST"] => array(7) { ["_xfToken"] => string(8) "********" ["avatar_crop_x"] => string(1) "0" ["avatar_crop_y"] => string(2) "11" ["use_custom"] => string(1) "1" ["_xfResponseType"] => string(4) "json" ["_xfWithData"] => string(1) "1" ["_xfRequestUri"] => string(27) "/members/mix-o-lydian.9469/" } }
OK but the errors stop as soon as I disable the addon. I accept if you say it isn’t related to the addon but do you know what I need to do to stop the errors? Because so far the only fix I found was to disable the addon.Not related to this add-on
The error indicates the proxied image file doesn’t appear to exist in your file system
The images are definitely in the file system, e.g.:Not related to this add-on
The error indicates the proxied image file doesn’t appear to exist in your file system
ErrorException: [E_WARNING] filesize(): stat failed for /home/caf/public_html/internal_data/temp/a4ff627612bed27b58a149c01850453e-6912dedf1e4fd.temp src/XF/Service/ImageProxyService.php:178
Generated by: Unknown account Nov 11, 2025 at 6:59 AM
Stack trace
#0 [internal function]: XF::handlePhpError(2, '[E_WARNING] fil...', '/home/caf/publi...', 178)
#1 src/XF/Service/ImageProxyService.php(178): filesize('/home/caf/publi...')
#2 src/XF/Service/ImageProxyService.php(108): XF\Service\ImageProxyService->fetchImageDataFromUrl('https://www.mus...')
#3 src/XF/Service/ImageProxyService.php(43): XF\Service\ImageProxyService->refetchImage(Object(XF\Entity\ImageProxy))
#4 src/XF/Proxy/Controller.php(128): XF\Service\ImageProxyService->getImage('https://www.mus...')
#5 proxy.php(36): XF\Proxy\Controller->outputImage('https://www.mus...', '9c64090bdff48d7...')
#6 {main}
Request state
array(4) {
["url"] => string(157) "/proxy.php?image=https%3A%2F%2Fwww.musicnotes.com%2Fimages%2Fproductimages%2Flarge%2Fmtd%2FMN0099322.gif&hash=9c64090bdff48d73d6927283aa069fb8&return_error=1"
["referrer"] => bool(false)
["_GET"] => array(3) {
["image"] => string(71) "https://www.musicnotes.com/images/productimages/large/mtd/MN0099322.gif"
["hash"] => string(32) "9c64090bdff48d73d6927283aa069fb8"
["return_error"] => string(1) "1"
}
["_POST"] => array(0) {
}
}

- Added button NSFW/SFW quick switch button in public navigation
- Added ability to mark attachments safe/unsafe from public interface (requires permission)
- Added blurring XFMG media support
- Added support [XB] XFMG Album View Mode support
- Added [XB] XFRM Resource Banner blurring support with category option to force blurring
- Added "Show all NSFW content on this page" button (optional)
- Fix: "show" button was not visible for guests with "age check" option enabled...
ozzmodz_adult_nsfw_macros template which is expecting a getAge function and nothing my stuff would addErrorException: Template error: [E_USER_WARNING] Method getAge is not callable on the given object (SV\ConversationEssentials\XF\Entity\User) src/XF/Template/Templater.php:1277
Generated by: ghostler Jan 13, 2026 at 11:04 AM
Stack trace
#0 [internal function]: XF\Template\Templater->handleTemplateError(512, '[E_USER_WARNING...', '/home/caf/publi...', 1277)
#1 src/XF/Template/Templater.php(1277): trigger_error('Method getAge i...', 512)
#2 internal_data/code_cache/templates/l1/s112/public/ozzmodz_adult_nsfw_macros.php(175): XF\Template\Templater->method(Object(SV\ConversationEssentials\XF\Entity\User), 'getAge', Array)
#3 src/XF/Template/Templater.php(921): XF\Template\Templater->{closure}(Object(SV\StandardLib\XF\Template\Templater), Array, NULL)
#4 internal_data/code_cache/templates/l1/s112/public/ozzmodz_adult_nsfw.php(17): XF\Template\Templater->callMacro('ozzmodz_adult_n...', 'nsfw_block', Array, Array)
#5 src/XF/Template/Templater.php(1799): XF\Template\Templater->{closure}(Object(SV\StandardLib\XF\Template\Templater), Array, NULL)
#6 src/addons/MaZ/AUN/XF/Template/Templater.php(39): XF\Template\Templater->renderTemplate('ozzmodz_adult_n...', Array, true, NULL)
#7 src/addons/OzzModz/AdultContent/XF/BbCode/Renderer/Html.php(72): MaZ\AUN\XF\Template\Templater->renderTemplate('public:ozzmodz_...', Array)
#8 src/addons/OzzModz/AdultContent/XF/BbCode/Renderer/Html.php(50): OzzModz\AdultContent\XF\BbCode\Renderer\Html->getRenderedAdultContentAttachment(Array)
#9 src/XF/BbCode/Renderer/Html.php(356): OzzModz\AdultContent\XF\BbCode\Renderer\Html->renderTagAttach(Array, Array, Array, Array, Object(OzzModz\AdultContent\XF\BbCode\Renderer\Html))
#10 src/XF/BbCode/Traverser.php(63): XF\BbCode\Renderer\Html->renderTag(Array, Array)
#11 src/XF/BbCode/Traverser.php(39): XF\BbCode\Traverser->renderSubTree(Array, Array)
#12 src/XF/BbCode/Traverser.php(22): XF\BbCode\Traverser->renderAst(Array, Object(SV\UserMentionsImprovements\XF\BbCode\RuleSet), Array)
#13 src/XF/SubContainer/BbCode.php(236): XF\BbCode\Traverser->render('[QUOTE="ghostle...', Object(XF\BbCode\Parser), Object(SV\UserMentionsImprovements\XF\BbCode\RuleSet), Array)
#14 src/XF/Template/Templater.php(2619): XF\SubContainer\BbCode->render('[QUOTE="ghostle...', 'html', 'post', Object(SV\UserEssentials\XF\Entity\Post), Array)
#15 src/XF/Template/Templater.php(1219): XF\Template\Templater->fnBbCode(Object(SV\StandardLib\XF\Template\Templater), false, '[QUOTE="ghostle...', 'post', Object(SV\UserEssentials\XF\Entity\Post))
#16 internal_data/code_cache/templates/l1/s112/public/post_macros.php(474): XF\Template\Templater->func('bb_code', Array, false)
#17 src/XF/Template/Templater.php(921): XF\Template\Templater->{closure}(Object(SV\StandardLib\XF\Template\Templater), Array, NULL)
#18 internal_data/code_cache/templates/l1/s112/public/post_macros.php(61): XF\Template\Templater->callMacro('post_macros', 'post_user_conte...', Array, Array)
#19 src/XF/Template/Templater.php(1092): XF\Template\Templater->{closure}(Object(SV\StandardLib\XF\Template\Templater), Array, Object(XF\Template\ExtensionSet))
#20 src/XF/Template/Templater.php(1028): XF\Template\Templater->renderExtensionInternal('user_content', Array, Array, Object(XF\Template\ExtensionSet))
#21 internal_data/code_cache/templates/l1/s112/public/post_macros.php(101): XF\Template\Templater->renderExtension('user_content', Array, Object(XF\Template\ExtensionSet))
#22 src/XF/Template/Templater.php(1092): XF\Template\Templater->{closure}(Object(SV\StandardLib\XF\Template\Templater), Array, Object(XF\Template\ExtensionSet))
#23 src/XF/Template/Templater.php(1028): XF\Template\Templater->renderExtensionInternal('content', Array, Array, Object(XF\Template\ExtensionSet))
#24 internal_data/code_cache/templates/l1/s112/public/post_macros.php(130): XF\Template\Templater->renderExtension('content', Array, Object(XF\Template\ExtensionSet))
#25 src/XF/Template/Templater.php(1092): XF\Template\Templater->{closure}(Object(SV\StandardLib\XF\Template\Templater), Array, Object(XF\Template\ExtensionSet))
#26 src/XF/Template/Templater.php(1028): XF\Template\Templater->renderExtensionInternal('main_cell_inner', Array, Array, Object(XF\Template\ExtensionSet))
#27 internal_data/code_cache/templates/l1/s112/public/post_macros.php(144): XF\Template\Templater->renderExtension('main_cell_inner', Array, Object(XF\Template\ExtensionSet))
#28 src/XF/Template/Templater.php(1092): XF\Template\Templater->{closure}(Object(SV\StandardLib\XF\Template\Templater), Array, Object(XF\Template\ExtensionSet))
#29 src/XF/Template/Templater.php(1028): XF\Template\Templater->renderExtensionInternal('main_cell', Array, Array, Object(XF\Template\ExtensionSet))
#30 internal_data/code_cache/templates/l1/s112/public/post_macros.php(156): XF\Template\Templater->renderExtension('main_cell', Array, Object(XF\Template\ExtensionSet))
#31 src/XF/Template/Templater.php(1092): XF\Template\Templater->{closure}(Object(SV\StandardLib\XF\Template\Templater), Array, Object(XF\Template\ExtensionSet))
#32 src/XF/Template/Templater.php(1028): XF\Template\Templater->renderExtensionInternal('full_body', Array, Array, Object(XF\Template\ExtensionSet))
#33 internal_data/code_cache/templates/l1/s112/public/post_macros.php(199): XF\Template\Templater->renderExtension('full_body', Array, Object(XF\Template\ExtensionSet))
#34 src/XF/Template/Templater.php(921): XF\Template\Templater->{closure}(Object(SV\StandardLib\XF\Template\Templater), Array, Object(XF\Template\ExtensionSet))
#35 internal_data/code_cache/templates/l1/s112/public/thread_view.php(1042): XF\Template\Templater->callMacro('post_macros', 'post', Array, Array)
#36 src/XF/Template/Templater.php(1799): XF\Template\Templater->{closure}(Object(SV\StandardLib\XF\Template\Templater), Array, Object(XF\Template\ExtensionSet))
#37 src/addons/MaZ/AUN/XF/Template/Templater.php(39): XF\Template\Templater->renderTemplate('thread_view', Array, true, NULL)
#38 src/XF/Template/Template.php(24): MaZ\AUN\XF\Template\Templater->renderTemplate('public:thread_v...', Array)
#39 src/XF/Mvc/Renderer/Html.php(50): XF\Template\Template->render()
#40 src/XF/Mvc/Dispatcher.php(471): XF\Mvc\Renderer\Html->renderView('XF:Thread\\View', 'public:thread_v...', Array)
#41 src/XF/Mvc/Dispatcher.php(453): XF\Mvc\Dispatcher->renderView(Object(XF\Mvc\Renderer\Html), Object(XF\Mvc\Reply\View))
#42 src/XF/Mvc/Dispatcher.php(412): XF\Mvc\Dispatcher->renderReply(Object(XF\Mvc\Renderer\Html), Object(XF\Mvc\Reply\View))
#43 src/XF/Mvc/Dispatcher.php(66): XF\Mvc\Dispatcher->render(Object(XF\Mvc\Reply\View), 'html')
#44 src/XF/App.php(2824): XF\Mvc\Dispatcher->run()
#45 src/XF.php(806): XF\App->run()
#46 index.php(23): XF::runApp('XF\\Pub\\App')
#47 {main}
Request state
array(4) {
["url"] => string(102) "/threads/reported-content-post-in-thread-misc-chat-ot-symposium-check-in-talkem-up-thread.37653/page-2"
["referrer"] => string(121) "https://cafesaxophone.com/threads/reported-content-post-in-thread-misc-chat-ot-symposium-check-in-talkem-up-thread.37653/"
["_GET"] => array(0) {
}
["_POST"] => array(0) {
}
}
Fixed an error caused by calling getAge() on \XF\Entity\User
We use essential cookies to make this site work, and optional cookies to enhance your experience.