Jon W
Well-known member
In XenForo_ControllerPublic_Member, the actionSave controller checks for the value of discussion_state instead of message_state. As such, the spam checker never runs and all spam gets through.
To fix, change:
	
	
	
		
to:
	
	
	
		
				
			To fix, change:
		PHP:
	
	            if (!$writer->hasErrors()
                && $writer->get('discussion_state') == 'visible'
                && $spamModel->visitorRequiresSpamCheck()
            )
            {
	
		PHP:
	
	            if (!$writer->hasErrors()
                && $writer->get('message_state') == 'visible'
                && $spamModel->visitorRequiresSpamCheck()
            )
            {