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

class XenForo_Deferred_SearchIndexPartial extends XenForo_Deferred_Abstract
{
    public function 
execute(array $deferred, array $data$targetRunTime, &$status)
    {
        
$data array_merge(array(
            
'contentType' => '',
            
'contentIds' => false
        
), $data);

        
$status sprintf('Search Index (Partial)');

        if (!
$data['contentType'] || !$data['contentIds'] || !is_array($data['contentIds']))
        {
            return 
false;
        }

        
$limitTime = ($targetRunTime 0);

        do
        {
            
$s microtime(true);

            
$i 0;
            
$contentIds = array();
            foreach (
$data['contentIds'] AS $key => $id)
            {
                
$contentIds[] = $id;
                unset(
$data['contentIds'][$key]);
                if (++
$i >= 10)
                {
                    break;
                }
            }

            
$indexer = new XenForo_Search_Indexer();
            
$indexer->quickIndex($data['contentType'], $contentIds);

            
$targetRunTime -= microtime(true) - $s;
        }
        while ((!
$limitTime || $targetRunTime 0) && $data['contentIds']);

        if (!
$data['contentIds'])
        {
            return 
false;
        }

        return 
$data;
    }
}
Онлайн: 1
Реклама