当前位置: 首页>>代码示例>>PHP>>正文


PHP Base\Results类代码示例

本文整理汇总了PHP中VuFind\Search\Base\Results的典型用法代码示例。如果您正苦于以下问题:PHP Results类的具体用法?PHP Results怎么用?PHP Results使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了Results类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: renderSpellingSuggestions

 /**
  * Support function to display spelling suggestions.
  *
  * @param string                          $msg     HTML to display at the top of
  * the spelling section.
  * @param \VuFind\Search\Base\Results     $results Results object
  * @param \Zend\View\Renderer\PhpRenderer $view    View renderer object
  *
  * @return string
  */
 public function renderSpellingSuggestions($msg, $results, $view)
 {
     $spellingSuggestions = $results->getSpellingSuggestions();
     if (empty($spellingSuggestions)) {
         return '';
     }
     $html = '<div class="' . $this->getContainerClass() . '">';
     $html .= $msg;
     foreach ($spellingSuggestions as $term => $details) {
         $html .= '<br/>' . $view->escapeHtml($term) . ' &raquo; ';
         $i = 0;
         foreach ($details['suggestions'] as $word => $data) {
             if ($i++ > 0) {
                 $html .= ', ';
             }
             $html .= '<a href="' . $results->getUrlQuery()->replaceTerm($term, $data['new_term']) . '">' . $view->escapeHtml($word) . '</a>';
             if (isset($data['expand_term']) && !empty($data['expand_term'])) {
                 $url = $results->getUrlQuery()->replaceTerm($term, $data['expand_term']);
                 $html .= $this->renderExpandLink($url, $view);
             }
         }
     }
     $html .= '</div>';
     return $html;
 }
开发者ID:tillk,项目名称:vufind,代码行数:35,代码来源:AbstractSearch.php

示例2: initUrlQueryHelper

 /**
  * Internal utility function for initializing
  * UrlQueryHelper for a Results-object with search ids for all tabs.
  *
  * @param ResultsManager $results Search results.
  * @param ServiceManager $sm      Service manager.
  *
  * @return Results Search results with initialized UrlQueryHelper
  */
 public static function initUrlQueryHelper(\VuFind\Search\Base\Results $results, $sm)
 {
     $helper = new UrlQueryHelper($results->getParams());
     $savedSearches = $sm->getServiceLocator()->get('Request')->getQuery('search');
     if ($savedSearches) {
         $helper->setDefaultParameter('search', $savedSearches);
     }
     $results->setHelper('urlQuery', $helper);
     return $results;
 }
开发者ID:samuli,项目名称:vufind-ere,代码行数:19,代码来源:Factory.php

示例3: __invoke

 /**
  * Sort and extend facet list
  *
  * @param Results $results     VuFind\Search\Solr\Results
  * @param String  $field       Facet group ID, e.g. 'navSubidsbb'
  * @param Array   $list        Contained items of the facet group
  * @param String  $searchRoute E.g. 'search-results'
  * @param Array   $routeParams RouteParams
  *
  * @return Array
  */
 public function __invoke(Results $results, $field, array $list, $searchRoute, array $routeParams = [])
 {
     $facets = [];
     // Avoid limit on URL
     $urlHelper = $this->getView()->plugin('url');
     $baseRoute = $urlHelper($searchRoute, $routeParams);
     foreach ($list as $facetItem) {
         $facetItem['url'] = $baseRoute . $results->getUrlQuery()->addFacet($field, $facetItem['value']);
         $facets[$facetItem['displayText']] = $facetItem;
     }
     return array_values($facets);
 }
开发者ID:guenterh,项目名称:vufind,代码行数:23,代码来源:SortAndPrepareFacetList.php

示例4: __invoke

 /**
  * Turns facet information into an alphabetical list.
  *
  * @param \VuFind\Search\Base\Results $results     Search result object
  * @param string                      $field       Facet field to sort
  * @param array                       $list        Facet value list extract from
  * the search result object's getFacetList method
  * @param array                       $searchRoute Route to use to generate
  * search URLs for individual facet values
  *
  * @return array      Associative URL => description array sorted by description
  */
 public function __invoke($results, $field, $list, $searchRoute)
 {
     $facets = [];
     // avoid limit on URL
     $results->getParams()->setLimit($results->getOptions()->getDefaultLimit());
     $urlHelper = $this->getView()->plugin('url');
     foreach ($list as $value) {
         $url = $urlHelper($searchRoute) . $results->getUrlQuery()->addFacet($field, $value['value']);
         $facets[$url] = $value['displayText'];
     }
     natcasesort($facets);
     return $facets;
 }
开发者ID:tillk,项目名称:vufind,代码行数:25,代码来源:SortFacetList.php

示例5: __invoke

 /**
  * Return the count of records when checkbox filter is activated.
  *
  * @param array                       $checkboxFilter Checkbox filter
  * @param \VuFind\Search\Base\Results $results        Search result set
  *
  * @return int Record count
  */
 public function __invoke($checkboxFilter, $results)
 {
     $ret = 0;
     list($field, $value) = $results->getParams()->parseFilter($checkboxFilter['filter']);
     $facets = $results->getFacetList([$field => $value]);
     if (isset($facets[$field])) {
         foreach ($facets[$field]['list'] as $item) {
             if ($item['value'] == $value || substr($value, -1) == '*' && preg_match('/^' . $value . '/', $item['value']) || $item['value'] == 'true' && $value == '1' || $item['value'] == 'false' && $value == '0') {
                 $ret += $item['count'];
             }
         }
     }
     return $ret;
 }
开发者ID:samuli,项目名称:vufind-ere,代码行数:22,代码来源:CheckboxFacetCounts.php

示例6: process

 /**
  * Called after the Search Results object has performed its main search.  This
  * may be used to extract necessary information from the Search Results object
  * or to perform completely unrelated processing.
  *
  * @param \VuFind\Search\Base\Results $results Search results object
  *
  * @return void
  */
 public function process($results)
 {
     $this->results = $results;
     // We can't currently deal with advanced searches:
     if ($this->results->getParams()->getSearchType() == 'advanced') {
         return;
     }
     // Get the query to manipulate:
     $query = $this->results->getParams()->getDisplayQuery();
     // If the query is of a type that should be skipped, go no further:
     if ($this->queryShouldBeSkipped($query)) {
         return;
     }
     // Perform all checks (based on naming convention):
     $methods = get_class_methods($this);
     foreach ($methods as $method) {
         if (substr($method, 0, 5) == 'check') {
             $currentCheck = strtolower(substr($method, 5));
             if (!in_array($currentCheck, $this->skipChecks)) {
                 if ($result = $this->{$method}($query)) {
                     $this->suggestions['switchquery_' . $currentCheck] = $result;
                 }
             }
         }
     }
 }
开发者ID:grharry,项目名称:vufind,代码行数:35,代码来源:SwitchQuery.php

示例7: getSuggestions

 /**
  * This method returns an array of strings matching the user's query for
  * display in the autocomplete box.
  *
  * @param string $query The user query
  *
  * @return array        The suggestions for the provided query
  */
 public function getSuggestions($query)
 {
     if (!is_object($this->searchObject)) {
         throw new \Exception('Please set configuration first.');
     }
     try {
         $this->searchObject->getParams()->setBasicSearch($this->mungeQuery($query), $this->handler);
         $this->searchObject->getParams()->setSort($this->sortField);
         foreach ($this->filters as $current) {
             $this->searchObject->getParams()->addFilter($current);
         }
         // Perform the search:
         $searchResults = $this->searchObject->getResults();
         // Build the recommendation list -- first we'll try with exact matches;
         // if we don't get anything at all, we'll try again with a less strict
         // set of rules.
         $results = $this->getSuggestionsFromSearch($searchResults, $query, true);
         if (empty($results)) {
             $results = $this->getSuggestionsFromSearch($searchResults, $query, false);
         }
     } catch (\Exception $e) {
         // Ignore errors -- just return empty results if we must.
     }
     return isset($results) ? array_unique($results) : [];
 }
开发者ID:steenlibrary,项目名称:vufind,代码行数:33,代码来源:Solr.php

示例8: processJumpTo

 /**
  * Process the jumpto parameter -- either redirect to a specific record and
  * return view model, or ignore the parameter and return false.
  *
  * @param \VuFind\Search\Base\Results $results Search results object.
  *
  * @return mixed
  */
 protected function processJumpTo($results)
 {
     // Missing/invalid parameter?  Ignore it:
     $jumpto = $this->params()->fromQuery('jumpto');
     if (empty($jumpto) || !is_numeric($jumpto)) {
         return false;
     }
     // Parameter out of range?  Ignore it:
     $recordList = $results->getResults();
     if (!isset($recordList[$jumpto - 1])) {
         return false;
     }
     // If we got this far, we have a valid parameter so we should redirect
     // and report success:
     $url = $recordList[$jumpto - 1]->getUrl();
     return $url ? $this->redirect()->toUrl($url) : false;
 }
开发者ID:bbeckman,项目名称:NDL-VuFind2,代码行数:25,代码来源:WebController.php

示例9: __invoke

 /**
  * Return the count of records when checkbox filter is activated.
  *
  * @param array                       $checkboxFilter Checkbox filter
  * @param \VuFind\Search\Base\Results $results        Search result set
  *
  * @return int Record count
  */
 public function __invoke($checkboxFilter, $results)
 {
     $ret = 0;
     list($field, $value) = $results->getParams()->parseFilter($checkboxFilter['filter']);
     $facets = $results->getFacetList([$field => $value]);
     if (isset($facets[$field])) {
         foreach ($facets[$field]['list'] as $item) {
             if ($item['value'] == $value || substr($value, -1) == '*' && preg_match('/^' . $value . '/', $item['value']) || $item['value'] == 'true' && $value == '1' || $item['value'] == 'false' && $value == '0') {
                 $ret += $item['count'];
             }
         }
     } elseif ($field == 'online_boolean' && $value == '1') {
         // Special case for online_boolean, which is translated to online_str_mv
         // when deduplication is enabled.
         // If we don't have a facet value for online_boolean it means we need to
         // do an additional lookup for online_str_mv.
         $results = clone $results;
         $params = $results->getParams();
         $options = $results->getOptions();
         $searchConfig = $this->getView()->getHelperPluginManager()->getServiceLocator()->get('VuFind\\Config')->get($options->getSearchIni());
         if (!empty($searchConfig->Records->sources)) {
             $sources = explode(',', $searchConfig->Records->sources);
             $sources = array_map(function ($s) {
                 return "\"{$s}\"";
             }, $sources);
             $params->addFilter('(online_str_mv:' . implode(' OR online_str_mv:', $sources) . ')');
         } else {
             $params->addFilter('online_str_mv:*');
         }
         $params->setLimit(0);
         $params->resetFacetConfig();
         $options->disableHighlighting();
         $options->spellcheckEnabled(false);
         $results->performAndProcessSearch();
         return $results->getResultTotal();
     }
     return $ret;
 }
开发者ID:bbeckman,项目名称:NDL-VuFind2,代码行数:46,代码来源:CheckboxFacetCounts.php

示例10: __invoke

 /**
  * Represent the current search results as a feed.
  *
  * @param \VuFind\Search\Base\Results $results     Search results to convert to
  * feed
  * @param string                      $currentPath Base path to display in feed
  * (leave null to load dynamically using currentpath view helper)
  *
  * @return Feed
  */
 public function __invoke($results, $currentPath = null)
 {
     $this->registerExtension();
     // Determine base URL if not already provided:
     if (is_null($currentPath)) {
         $currentPath = $this->getView()->plugin('currentpath')->__invoke();
     }
     $serverUrl = $this->getView()->plugin('serverurl');
     $baseUrl = $serverUrl($currentPath);
     // Create the parent feed
     $feed = new Feed();
     $feed->setTitle($this->translate('Results for') . ' ' . $results->getParams()->getDisplayQuery());
     $feed->setLink($baseUrl . $results->getUrlQuery()->setViewParam(null, false));
     $feed->setFeedLink($baseUrl . $results->getUrlQuery()->getParams(false), $results->getParams()->getView());
     $feed->setDescription($this->translate('Showing') . ' ' . $results->getStartRecord() . '-' . $results->getEndRecord() . ' ' . $this->translate('of') . ' ' . $results->getResultTotal());
     $params = $results->getParams();
     // add atom links for easier paging
     $feed->addOpensearchLink($baseUrl . $results->getUrlQuery()->setPage(1, false), 'first', $params->getView());
     if ($params->getPage() > 1) {
         $feed->addOpensearchLink($baseUrl . $results->getUrlQuery()->setPage($params->getPage() - 1, false), 'previous', $params->getView());
     }
     $lastPage = ceil($results->getResultTotal() / $params->getLimit());
     if ($params->getPage() < $lastPage) {
         $feed->addOpensearchLink($baseUrl . $results->getUrlQuery()->setPage($params->getPage() + 1, false), 'next', $params->getView());
     }
     $feed->addOpensearchLink($baseUrl . $results->getUrlQuery()->setPage($lastPage, false), 'last', $params->getView());
     // add opensearch fields
     $feed->setOpensearchTotalResults($results->getResultTotal());
     $feed->setOpensearchItemsPerPage($params->getLimit());
     $feed->setOpensearchStartIndex($results->getStartRecord() - 1);
     $feed->setOpensearchSearchTerms($params->getQuery()->getString());
     $records = $results->getResults();
     foreach ($records as $current) {
         $this->addEntry($feed, $current);
     }
     return $feed;
 }
开发者ID:tillk,项目名称:vufind,代码行数:47,代码来源:ResultFeed.php

示例11: initUrlQueryHelper

 /**
  * Internal utility function for initializing
  * UrlQueryHelper for a Results-object with search ids for all tabs.
  *
  * @param ResultsManager $results Search results.
  * @param ServiceManager $locator Service locator.
  *
  * @return Results Search results with initialized UrlQueryHelper
  */
 public static function initUrlQueryHelper(\VuFind\Search\Base\Results $results, $locator)
 {
     if (Console::isConsole()) {
         return $results;
     }
     $helper = new UrlQueryHelper($results->getParams());
     $savedSearches = $locator->get('Request')->getQuery('search');
     if ($savedSearches) {
         $helper->setDefaultParameter('search', $savedSearches);
     }
     $results->setHelper('urlQuery', $helper);
     return $results;
 }
开发者ID:bbeckman,项目名称:NDL-VuFind2,代码行数:22,代码来源:Factory.php

示例12: getAuthor

 /**
  * Takes the search term and extracts a normal name from it
  *
  * @return string
  */
 protected function getAuthor()
 {
     $search = $this->searchObject->getParams()->getSearchTerms();
     if (isset($search[0]['lookfor'])) {
         $author = $search[0]['lookfor'];
         // remove quotes
         $author = str_replace('"', '', $author);
         // remove dates
         $author = preg_replace('/[0-9]+-[0-9]*/', '', $author);
         // if name is rearranged by commas
         $author = trim($author, ', .');
         $nameParts = explode(', ', $author);
         $last = $nameParts[0];
         // - move all names up an index, move last name to last
         // - Last, First M. -> First M. Last
         for ($i = 1; $i < count($nameParts); $i++) {
             $nameParts[$i - 1] = $nameParts[$i];
         }
         $nameParts[count($nameParts) - 1] = $last;
         $author = implode($nameParts, ' ');
         // remove punctuation
         return $author;
     }
     return '';
 }
开发者ID:no-reply,项目名称:cbpl-vufind,代码行数:30,代码来源:AuthorInfo.php

示例13: __construct

 /**
  * Constructor
  *
  * @param \VuFind\Search\Base\Params $params Object representing user search
  * parameters.
  * @param int                        $total  Total result set size to simulate
  */
 public function __construct(Params $params, $total = 100)
 {
     parent::__construct($params);
     $this->fakeExpectedTotal = $total;
     $this->searchId = 'fake';
     // fill a fake value here so we don't hit the DB
 }
开发者ID:grharry,项目名称:vufind,代码行数:14,代码来源:Results.php

示例14: getIdentities

 /**
  * Get identities related to the query.
  *
  * @return array
  */
 public function getIdentities()
 {
     // Extract the first search term from the search object:
     $search = $this->searchObject->getParams()->getQuery();
     $lookfor = $search instanceof Query ? $search->getString() : '';
     // Get terminology information:
     return $this->worldCatUtils->getRelatedIdentities($lookfor);
 }
开发者ID:grharry,项目名称:vufind,代码行数:13,代码来源:WorldCatIdentities.php

示例15: getAuthor

 /**
  * Takes the search term and extracts a normal name from it
  *
  * @return string
  */
 protected function getAuthor()
 {
     $search = $this->searchObject->getParams()->getQuery();
     if ($search instanceof Query) {
         $author = $search->getString();
         // remove quotes
         $author = str_replace('"', '', $author);
         return $this->useViaf ? $this->normalizeNameWithViaf($author) : $this->normalizeName($author);
     }
     return '';
 }
开发者ID:tillk,项目名称:vufind,代码行数:16,代码来源:AuthorInfo.php


注:本文中的VuFind\Search\Base\Results类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。