Вход Регистрация
Файл: library/XenForo/CronEntry/CleanUp.php
Строк: 209
<?php

/**
 * Cron entry for various scheduled data clean ups.
 */
class XenForo_CronEntry_CleanUp
{
    
/**
     * Clean up tasks that should be done hourly. This task cannot be relied on
     * to run every hour, consistently.
     */
    
public static function runHourlyCleanUp()
    {
        
// delete unassociated attachments
        
$unassociatedAttachCutOff XenForo_Application::$time 86400;
        
$attachmentModel XenForo_Model::create('XenForo_Model_Attachment');
        
$attachmentModel->deleteUnassociatedAttachments($unassociatedAttachCutOff);
        
$attachmentModel->deleteUnusedAttachmentData();

        
// delete expired sessions
        
$class XenForo_Application::resolveDynamicClass('XenForo_Session');
        
$session = new $class();
        
$session->deleteExpiredSessions();

        
// delete expired admin sessions
        
$session = new $class(array('admin' => true));
        
$session->deleteExpiredSessions();

        
// delete expired session activities
        
$sessionModel XenForo_Model::create('XenForo_Model_Session');
        
$sessionCleanUpCutOff XenForo_Application::$time 3600;
        
$sessionModel->updateUserLastActivityFromSessions();
        
$sessionModel->deleteSessionActivityOlderThanCutOff($sessionCleanUpCutOff);

        
// delete expired thread redirects
        
$threadRedirectModel XenForo_Model::create('XenForo_Model_ThreadRedirect');
        
$redirects $threadRedirectModel->getExpiredThreadRedirects(XenForo_Application::$time);
        
$threadRedirectModel->deleteThreadRedirects(array_keys($redirects));

        
XenForo_Model::create('XenForo_Model_Alert')->deleteOldReadAlerts();
        
XenForo_Model::create('XenForo_Model_Alert')->deleteOldUnreadAlerts();

        
XenForo_Model::create('XenForo_Model_NewsFeed')->deleteOldNewsFeedItems();

        
XenForo_Model::create('XenForo_Model_Login')->cleanUpLoginAttempts();

        
XenForo_Model::create('XenForo_Model_CaptchaQuestion')->deleteOldCaptchas();

        
XenForo_Model::create('XenForo_Model_FloodCheck')->pruneFloodCheckData();

        
XenForo_Model::create('XenForo_Model_BbCode')->trimBbCodeCache();

        
XenForo_Model::create('XenForo_Model_UserConfirmation')->cleanUpUserConfirmationRecords();

        
XenForo_Model::create('XenForo_Model_SpamPrevention')->cleanUpRegistrationResultCache();
        
XenForo_Model::create('XenForo_Model_SpamPrevention')->cleanupContentSpamCheck();
        
XenForo_Model::create('XenForo_Model_SpamPrevention')->cleanupSpamTriggerLog();

        
XenForo_Model::create('XenForo_Model_ImageProxy')->pruneImageCache();
        
XenForo_Model::create('XenForo_Model_ImageProxy')->pruneImageProxyLogs();
        
XenForo_Model::create('XenForo_Model_LinkProxy')->pruneLinkProxyLogs();
    }

    
/**
     * Clean up tasks that should be done daily. This task cannot be relied on
     * to run daily, consistently.
     */
    
public static function runDailyCleanUp()
    {
        
$db XenForo_Application::getDb();

        
// delete old thread/forum read marking data
        
$readMarkingCutOff XenForo_Application::$time - (XenForo_Application::get('options')->readMarkingDataLifetime 86400);
        
$db->delete('xf_thread_read''thread_read_date < ' $readMarkingCutOff);
        
$db->delete('xf_forum_read''forum_read_date < ' $readMarkingCutOff);

        
// delete old searches
        
$db->delete('xf_search''search_date < ' . (XenForo_Application::$time 86400));

        
XenForo_Model::create('XenForo_Model_Log')->pruneAdminLogEntries();
        
XenForo_Model::create('XenForo_Model_Log')->pruneModeratorLogEntries();
        
XenForo_Model::create('XenForo_Model_UserChangeLog')->pruneChangeLog();
        
XenForo_Model::create('XenForo_Model_EditHistory')->pruneEditHistory();
        
XenForo_Model::create('XenForo_Model_Template')->pruneEditHistory();
        
XenForo_Model::create('XenForo_Model_Draft')->pruneDrafts();
        
XenForo_Model::create('XenForo_Model_Ip')->pruneIps();
    }

    
/**
     * Downgrades expired user upgrades.
     */
    
public static function runUserDowngrade()
    {
        
/* @var $upgradeModel XenForo_Model_UserUpgrade */
        
$upgradeModel XenForo_Model::create('XenForo_Model_UserUpgrade');

        
$upgradeModel->downgradeUserUpgrades(
            
$upgradeModel->getExpiredUserUpgrades()
        );
    }

    
/**
     * Expire temporary user changes.
     */
    
public static function expireTempUserChanges()
    {
        
/* @var $userChangeModel XenForo_Model_UserChangeTemp */
        
$userChangeModel XenForo_Model::create('XenForo_Model_UserChangeTemp');

        
$changes $userChangeModel->getExpiredTempUserChanges();
        foreach (
$changes AS $change)
        {
            
$userChangeModel->expireTempUserChange($change);
        }
    }
}
Онлайн: 0
Реклама