Seditio Source
Root |
./othercms/xenForo 2.2.8/src/XF/Repository/Spam.php
<?php

namespace XF\Repository;

use
XF\Mvc\Entity\Finder;
use
XF\Mvc\Entity\Repository;

class
Spam extends Repository
{
   
/**
     * @return Finder
     */
   
public function findSpamCleanerLogsForList()
    {
        return
$this->finder('XF:SpamCleanerLog')
            ->
with('User')
            ->
setDefaultOrder('application_date', 'DESC');
    }

   
/**
     * @return Finder
     */
   
public function findSpamTriggerLogsForList()
    {
        return
$this->finder('XF:SpamTriggerLog')
            ->
with('User')
            ->
setDefaultOrder('log_date', 'DESC');
    }

   
/**
     * @return \XF\Finder\SpamTriggerLog
     */
   
public function findSpamTriggerLogs()
    {
        return
$this->finder('XF:SpamTriggerLog')
            ->
with('User')
            ->
order('log_date', 'DESC');
    }

   
/**
     * @return \XF\Spam\Cleaner\AbstractHandler[]
     */
   
public function getSpamHandlers(\XF\Entity\User $user)
    {
       
$handlers = [];

        foreach (\
XF::app()->getContentTypeField('spam_handler_class') AS $contentType => $handlerClass)
        {
            if (
class_exists($handlerClass))
            {
               
$handlerClass = \XF::extendClass($handlerClass);
               
$handlers[$contentType] = new $handlerClass($user);
            }
        }

        return
$handlers;
    }

    public function
cleanUpRegistrationResultCache($date = null)
    {
        if (
$date === null)
        {
           
$date = time();
        }

       
$this->db()->delete('xf_registration_spam_cache', 'timeout < ?', $date);
    }

    public function
cleanupContentSpamCheck($cutOff = null)
    {
        if (
$cutOff === null)
        {
           
$cutOff = time() - 14 * 86400;
        }

       
$this->db()->delete('xf_content_spam_cache', 'insert_date < ?', $cutOff);
    }

    public function
cleanupSpamTriggerLog($cutOff = null)
    {
        if (
$cutOff === null)
        {
           
$cutOff = time() - 30 * 86400;
        }

       
$this->db()->delete('xf_spam_trigger_log', 'log_date < ?', $cutOff);
    }
}