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

class XenForo_Deferred_UserRevertMessageEdit extends XenForo_Deferred_Abstract
{
    public function 
canTriggerManually()
    {
        return 
false;
    }

    public function 
execute(array $deferred, array $data$targetRunTime, &$status)
    {
        
$data array_merge(array(
            
'userId' => null,
            
'cutOff' => null,
            
'count' => 0,
            
'total' => null
        
), $data);

        if (!
$data['userId'] || $data['cutOff'] === null)
        {
            return 
false;
        }

        
$s microtime(true);

        
/* @var $editHistoryModel XenForo_Model_EditHistory */
        
$editHistoryModel XenForo_Model::create('XenForo_Model_EditHistory');

        
$edits $editHistoryModel->getEditHistoryByUserSinceDate($data['userId'], $data['cutOff']);
        if (!
$edits)
        {
            return 
false;
        }

        if (
$data['total'] === null)
        {
            
$data['total'] = count($edits);
        }

        
$continue false;

        foreach (
$edits AS $edit)
        {
            
$editHistoryModel->revertToHistoryId($edit['edit_history_id']);

            
$data['count']++;

            if (
$targetRunTime && microtime(true) - $s $targetRunTime)
            {
                
$continue true;
                break;
            }
        }

        if (!
$continue)
        {
            return 
false;
        }

        
$actionPhrase = new XenForo_Phrase('reverting_edits');
        
$status sprintf('%s... %s (%s/$s)'$actionPhrase,
            
XenForo_Locale::numberFormat($data['count']), XenForo_Locale::numberFormat($data['total'])
        );

        return 
$data;
    }

    public function 
canCancel()
    {
        return 
true;
    }
}
Онлайн: 2
Реклама