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

abstract class XenForo_AdminSearchHandler_Abstract
{
    
/**
     * Standard approach to caching other model objects for the lifetime of the model.
     *
     * @var array
     */
    
protected $_modelCache = array();

    
/**
     * Returns the phrase key of a phrase that describes the search type.
     *
     * @return string
     */
    
abstract public function getPhraseKey();

    
/**
     * Perform a search of the ACP for the given search text within the given content type.
     *
     * @param string $searchText
     * @param array $phraseMatches Array of IDs derived from a phrase search for the search text
     *
     * @return array
     */
    
abstract public function search($searchText, array $phraseMatches null);

    
/**
     * Gets the constraints to apply to a phrases search for this type
     *
     * @return array|false
     */
    
public function getPhraseConditions()
    {
        return 
false;
    }

    
/**
     * Creates a template object in which to display the search results.
     *
     * @param array $results
     * @param XenForo_View $view
     *
     * @return XenForo_Template_Admin
     */
    
public function renderResults($resultsXenForo_View $view)
    {
        return 
$view->createTemplateObject(
            
$this->_getTemplateName(),
            array(
'results' => $this->_limitResults($results))
        );
    }

    
/**
     * Returns the name of the template used by the rendered results of this search.
     *
     * @return string
     */
    
abstract protected function _getTemplateName();

    
/**
     * Slices down the number of results returned
     *
     * @param array $results
     *
     * @return array
     */
    
protected function _limitResults(array $results)
    {
        return 
array_slice($results0XenForo_Application::get('options')->adminSearchMaxResults);
    }

    
/**
     * @return XenForo_Model_AdminSearch
     */
    
protected function _getAdminSearchModel()
    {
        return 
$this->getModelFromCache('XenForo_Model_AdminSearch');
    }

    
/**
     * Gets the specified model object from the cache. If it does not exist,
     * it will be instantiated.
     *
     * @param string $class Name of the class to load
     *
     * @return XenForo_Model
     */
    
public function getModelFromCache($class)
    {
        if (!isset(
$this->_modelCache[$class]))
        {
            
$this->_modelCache[$class] = XenForo_Model::create($class);
        }

        return 
$this->_modelCache[$class];
    }

    
/**
     *
     */
    
public function getAdminPermission()
    {
        return 
false;
    }

    
/**
     * Insert the data from $item into the Admin Search Index
     *
     * @param array $item
     * @param XenForo_DataWriter $dw
     *
     * @return boolean
     */
    //abstract public function index(array $item, XenForo_DataWriter $dw = null);
}
Онлайн: 0
Реклама