Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 11
0.00% covered (danger)
0.00%
0 / 6
CRAP
0.00% covered (danger)
0.00%
0 / 1
Options
0.00% covered (danger)
0.00%
0 / 11
0.00% covered (danger)
0.00%
0 / 6
42
0.00% covered (danger)
0.00%
0 / 1
 __construct
0.00% covered (danger)
0.00%
0 / 6
0.00% covered (danger)
0.00%
0 / 1
2
 getFacetListAction
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getSearchAction
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 supportsCart
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getRecommendationSettings
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getSearchBoxSearchClassId
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
1<?php
2
3/**
4 * AuthorFacets aspect of the Search Multi-class (Options)
5 *
6 * PHP version 8
7 *
8 * Copyright (C) Villanova University 2010.
9 *
10 * This program is free software; you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License version 2,
12 * as published by the Free Software Foundation.
13 *
14 * This program is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17 * GNU General Public License for more details.
18 *
19 * You should have received a copy of the GNU General Public License
20 * along with this program; if not, write to the Free Software
21 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
22 *
23 * @category VuFind
24 * @package  Search_SolrAuthorFacets
25 * @author   Demian Katz <demian.katz@villanova.edu>
26 * @license  http://opensource.org/licenses/gpl-2.0.php GNU General Public License
27 * @link     https://vufind.org Main Site
28 */
29
30namespace VuFind\Search\SolrAuthorFacets;
31
32/**
33 * AuthorFacets Search Options
34 *
35 * @category VuFind
36 * @package  Search_SolrAuthorFacets
37 * @author   Demian Katz <demian.katz@villanova.edu>
38 * @license  http://opensource.org/licenses/gpl-2.0.php GNU General Public License
39 * @link     https://vufind.org Main Site
40 */
41class Options extends \VuFind\Search\Solr\Options
42{
43    /**
44     * Constructor
45     *
46     * @param \VuFind\Config\PluginManager $configLoader Config loader
47     */
48    public function __construct(\VuFind\Config\PluginManager $configLoader)
49    {
50        parent::__construct($configLoader);
51
52        // Special sort options...
53        // It's important to remember here we are talking about on-screen
54        //   sort values, not what is sent to Solr, since this screen
55        //   is really using facet sorting.
56        $this->sortOptions = [
57            'relevance' => 'sort_author_relevance',
58            'author' => 'sort_author_author',
59        ];
60
61        // No spell check needed in author module:
62        $this->spellcheck = false;
63    }
64
65    /**
66     * Return the route name for the facet list action. Returns false to cover
67     * unimplemented support.
68     *
69     * @return string|bool
70     */
71    public function getFacetListAction()
72    {
73        // Not applicable here; we don't want to inherit the parent class' route.
74        return false;
75    }
76
77    /**
78     * Return the route name for the search results action.
79     *
80     * @return string
81     */
82    public function getSearchAction()
83    {
84        return 'author-search';
85    }
86
87    /**
88     * Does this search option support the cart/book bag?
89     *
90     * @return bool
91     */
92    public function supportsCart()
93    {
94        // Not currently supported
95        return false;
96    }
97
98    /**
99     * Load all recommendation settings from the relevant ini file. Returns an
100     * associative array where the key is the location of the recommendations (top
101     * or side) and the value is the settings found in the file (which may be either
102     * a single string or an array of strings).
103     *
104     * @param string $handler Name of handler for which to load specific settings.
105     *
106     * @return array associative: location (top/side/etc.) => search settings
107     */
108    public function getRecommendationSettings($handler = null)
109    {
110        // No recommendations here:
111        return [];
112    }
113
114    /**
115     * Get the search class ID for identifying search box options; this is normally
116     * the same as the current search class ID, but some "special purpose" search
117     * namespaces (e.g. SolrAuthor) need to point to a different ID for search box
118     * generation
119     *
120     * @return string
121     */
122    public function getSearchBoxSearchClassId(): string
123    {
124        return 'Solr';
125    }
126}