/** * Constructor * * @param \VuFind\Config\PluginManager $configLoader Config loader */ public function __construct(\VuFind\Config\PluginManager $configLoader) { parent::__construct($configLoader); $this->basicHandlers = ['tags' => 'Tag']; $this->defaultSort = 'title'; $this->sortOptions = ['title' => 'sort_title', 'author' => 'sort_author', 'year DESC' => 'sort_year', 'year' => 'sort_year asc']; }
/** * Constructor * * @param \VuFind\Config\PluginManager $configLoader Config loader */ public function __construct(\VuFind\Config\PluginManager $configLoader) { parent::__construct($configLoader); $this->searchIni = $this->facetsIni = 'EIT'; // Load the configuration file: $searchSettings = $configLoader->get($this->searchIni); if (isset($searchSettings->Basic_Searches)) { foreach ($searchSettings->Basic_Searches as $key => $value) { $this->basicHandlers[$key] = $value; } } if (isset($searchSettings->Advanced_Searches)) { foreach ($searchSettings->Advanced_Searches as $key => $value) { $this->advancedHandlers[$key] = $value; } } // Load sort preferences: if (isset($searchSettings->Sorting)) { foreach ($searchSettings->Sorting as $key => $value) { $this->sortOptions[$key] = $value; } } if (isset($searchSettings->General->default_sort)) { $this->defaultSort = $searchSettings->General->default_sort; } if (isset($searchSettings->DefaultSortingByType) && count($searchSettings->DefaultSortingByType) > 0) { foreach ($searchSettings->DefaultSortingByType as $key => $val) { $this->defaultSortByHandler[$key] = $val; } } }
/** * Constructor * * @return void */ public function __construct() { parent::__construct(); $this->basicHandlers = array('tags' => 'Tag'); $this->defaultSort = 'title'; $this->sortOptions = array('title' => 'sort_title', 'author' => 'sort_author', 'year DESC' => 'sort_year', 'year' => 'sort_year asc'); }
/** * Constructor * * @param \VuFind\Config\PluginManager $configLoader Config loader */ public function __construct(\VuFind\Config\PluginManager $configLoader) { parent::__construct($configLoader); $this->searchIni = $this->facetsIni = 'Pazpar2'; $this->limitOptions = [$this->defaultLimit]; // Load source settings $searchSettings = $configLoader->get($this->searchIni); if (isset($searchSettings->IndexSources) && !empty($searchSettings->IndexSources)) { foreach ($searchSettings->IndexSources as $k => $v) { $this->shards[$k] = $v; } // If we have a default from the configuration, use that... if (isset($searchSettings->SourcePreferences->defaultChecked) && !empty($searchSettings->SourcePreferences->defaultChecked)) { $defaultChecked = is_object($searchSettings->SourcePreferences->defaultChecked) ? $searchSettings->SourcePreferences->defaultChecked->toArray() : [$searchSettings->SourcePreferences->defaultChecked]; foreach ($defaultChecked as $current) { $this->defaultSelectedShards[] = $current; } } else { // If no default is configured, use all sources... $this->defaultSelectedShards = array_keys($this->shards); } // Apply checkbox visibility setting if applicable: if (isset($searchSettings->SourcePreferences->showCheckboxes)) { $this->visibleShardCheckboxes = $searchSettings->SourcePreferences->showCheckboxes; } } }
/** * Constructor * * @return void */ public function __construct() { $this->searchIni = $this->facetsIni = 'WorldCat'; parent::__construct(); // Load the configuration file: $searchSettings = ConfigReader::getConfig($this->searchIni); // Search handler setup: $this->defaultHandler = 'srw.kw'; if (isset($searchSettings->Basic_Searches)) { foreach ($searchSettings->Basic_Searches as $key => $value) { $this->basicHandlers[$key] = $value; } } if (isset($searchSettings->Advanced_Searches)) { foreach ($searchSettings->Advanced_Searches as $key => $value) { $this->advancedHandlers[$key] = $value; } } // Load sort preferences: if (isset($searchSettings->Sorting)) { foreach ($searchSettings->Sorting as $key => $value) { $this->sortOptions[$key] = $value; } } if (isset($searchSettings->General->default_sort)) { $this->defaultSort = $searchSettings->General->default_sort; } if (isset($searchSettings->DefaultSortingByType) && count($searchSettings->DefaultSortingByType) > 0) { foreach ($searchSettings->DefaultSortingByType as $key => $val) { $this->defaultSortByHandler[$key] = $val; } } }
/** * Constructor * * @return void */ public function __construct() { $this->searchIni = $this->facetsIni = 'Summon'; parent::__construct(); // Load facet preferences: $facetSettings = ConfigReader::getConfig($this->facetsIni); if (isset($facetSettings->Advanced_Settings->translated_facets) && count($facetSettings->Advanced_Facet_Settings->translated_facets) > 0) { $list = $facetSettings->Advanced_Facet_Settings->translated_facets; foreach ($list as $c) { $this->translatedFacets[] = $c; } } if (isset($facetSettings->Advanced_Facet_Settings->special_facets)) { $this->specialAdvancedFacets = $facetSettings->Advanced_Facet_Settings->special_facets; } // Load the search configuration file: $searchSettings = ConfigReader::getConfig($this->searchIni); // Set up highlighting preference if (isset($searchSettings->General->highlighting)) { $this->highlight = $searchSettings->General->highlighting; } // Set up spelling preference if (isset($searchSettings->Spelling->enabled)) { $this->spellcheck = $searchSettings->Spelling->enabled; } // Load search preferences: if (isset($searchSettings->General->retain_filters_by_default)) { $this->retainFiltersByDefault = $searchSettings->General->retain_filters_by_default; } if (isset($searchSettings->General->result_limit)) { $this->resultLimit = $searchSettings->General->result_limit; } // Search handler setup: if (isset($searchSettings->Basic_Searches)) { foreach ($searchSettings->Basic_Searches as $key => $value) { $this->basicHandlers[$key] = $value; } } if (isset($searchSettings->Advanced_Searches)) { foreach ($searchSettings->Advanced_Searches as $key => $value) { $this->advancedHandlers[$key] = $value; } } // Load sort preferences: if (isset($searchSettings->Sorting)) { foreach ($searchSettings->Sorting as $key => $value) { $this->sortOptions[$key] = $value; } } if (isset($searchSettings->General->default_sort)) { $this->defaultSort = $searchSettings->General->default_sort; } if (isset($searchSettings->DefaultSortingByType) && count($searchSettings->DefaultSortingByType) > 0) { foreach ($searchSettings->DefaultSortingByType as $key => $val) { $this->defaultSortByHandler[$key] = $val; } } }
/** * Constructor * * @param \VuFind\Config\PluginManager $configLoader Config loader */ public function __construct(\VuFind\Config\PluginManager $configLoader) { parent::__construct($configLoader); // Turn on first/last navigation if configured: $config = $configLoader->get('config'); if (isset($config->Record->first_last_navigation) && $config->Record->first_last_navigation) { $this->firstlastNavigation = true; } }
/** * Constructor * * @param \VuFind\Config\PluginManager $configLoader Config loader */ public function __construct(\VuFind\Config\PluginManager $configLoader) { $this->searchIni = $this->facetsIni = 'LibGuides'; parent::__construct($configLoader); $searchSettings = $configLoader->get($this->searchIni); if (isset($searchSettings->General->default_limit)) { $this->defaultLimit = $searchSettings->General->default_limit; } if (isset($searchSettings->General->limit_options)) { $this->limitOptions = explode(",", $searchSettings->General->limit_options); } }
/** * Constructor * * @param \VuFind\Config\PluginManager $configLoader Config loader */ public function __construct(\VuFind\Config\PluginManager $configLoader) { parent::__construct($configLoader); $this->defaultSort = 'title'; $this->sortOptions = ['title' => 'sort_title', 'author' => 'sort_author', 'year DESC' => 'sort_year', 'year' => 'sort_year asc']; $config = $configLoader->get('config'); if (isset($config->Social->lists_default_limit)) { $this->defaultLimit = $config->Social->lists_default_limit; } if (isset($config->Social->lists_limit_options)) { $this->limitOptions = explode(',', $config->Social->lists_limit_options); } if (isset($config->Social->lists_view)) { $this->listviewOption = $config->Social->lists_view; } }
/** * Constructor * * @param \VuFind\Config\PluginManager $configLoader Config loader */ public function __construct(\VuFind\Config\PluginManager $configLoader) { parent::__construct($configLoader); $this->searchIni = 'MetaLib'; $searchSettings = $configLoader->get($this->searchIni); $this->translatedFacets = ['metalib_set']; // Set up limit preferences if (isset($searchSettings->General->default_limit)) { $this->defaultLimit = $searchSettings->General->default_limit; } if (isset($searchSettings->General->limit_options)) { $this->limitOptions = explode(",", $searchSettings->General->limit_options); } // Result limit: if (isset($searchSettings->General->result_limit)) { $this->resultLimit = $searchSettings->General->result_limit; } else { $this->resultLimit = 2000; // default } // Load sort preferences: if (isset($searchSettings->Sorting)) { foreach ($searchSettings->Sorting as $key => $value) { $this->sortOptions[$key] = $value; } } if (isset($searchSettings->General->default_sort)) { $this->defaultSort = $searchSettings->General->default_sort; } if (isset($searchSettings->Advanced_Searches)) { foreach ($searchSettings->Advanced_Searches as $key => $value) { $this->advancedHandlers[$key] = $value; } } if (isset($searchSettings->Autocomplete->enabled)) { $this->autocompleteEnabled = $searchSettings->Autocomplete->enabled; } }
/** * Constructor * * @param \VuFind\Config\PluginManager $configLoader Config loader */ public function __construct(\VuFind\Config\PluginManager $configLoader) { parent::__construct($configLoader); $config = $configLoader->get('config'); if (isset($config->Social->show_solr_options_in_tag_search) && $config->Social->show_solr_options_in_tag_search) { $this->useSolrSearchOptions = true; } $searchSettings = $this->useSolrSearchOptions ? $configLoader->get($this->searchIni) : null; if (isset($searchSettings->Basic_Searches)) { foreach ($searchSettings->Basic_Searches as $key => $value) { $this->basicHandlers[$key] = $value; } } else { $this->basicHandlers = ['tag' => 'Tag']; } $this->defaultHandler = 'tag'; $this->defaultSort = 'title'; $this->sortOptions = ['title' => 'sort_title', 'author' => 'sort_author', 'year DESC' => 'sort_year', 'year' => 'sort_year asc']; // Load autocomplete preference: if (isset($searchSettings->Autocomplete->enabled)) { $this->autocompleteEnabled = $searchSettings->Autocomplete->enabled; } }
/** * Constructor * * @param \VuFind\Config\PluginManager $configLoader Config loader */ public function __construct(\VuFind\Config\PluginManager $configLoader) { parent::__construct($configLoader); $this->searchIni = $this->facetsIni = 'WorldCat'; // Load the configuration file: $searchSettings = $configLoader->get($this->searchIni); // Search handler setup: $this->defaultHandler = 'srw.kw'; if (isset($searchSettings->Basic_Searches)) { foreach ($searchSettings->Basic_Searches as $key => $value) { $this->basicHandlers[$key] = $value; } } if (isset($searchSettings->Advanced_Searches)) { foreach ($searchSettings->Advanced_Searches as $key => $value) { $this->advancedHandlers[$key] = $value; } } // Load sort preferences: if (isset($searchSettings->Sorting)) { foreach ($searchSettings->Sorting as $key => $value) { $this->sortOptions[$key] = $value; } } if (isset($searchSettings->General->default_sort)) { $this->defaultSort = $searchSettings->General->default_sort; } if (isset($searchSettings->DefaultSortingByType) && count($searchSettings->DefaultSortingByType) > 0) { foreach ($searchSettings->DefaultSortingByType as $key => $val) { $this->defaultSortByHandler[$key] = $val; } } // Load list view for result (controls AJAX embedding vs. linking) if (isset($searchSettings->List->view)) { $this->listviewOption = $searchSettings->List->view; } }
/** * Constructor * * @param \VuFind\Config\PluginManager $configLoader Configuration loader * @param array $apiInfo API information */ public function __construct(\VuFind\Config\PluginManager $configLoader, $apiInfo = null) { $this->searchIni = $this->facetsIni = 'EDS'; $searchSettings = $configLoader->get($this->searchIni); parent::__construct($configLoader); $this->resultLimit = 100; $this->viewOptions = ['list|title' => 'Title View', 'list|brief' => 'Brief View', 'list|detailed' => 'Detailed View']; $this->apiInfo = $apiInfo; $this->setOptionsFromApi($searchSettings); $this->setOptionsFromConfig($searchSettings); $facetConf = $configLoader->get($this->facetsIni); if (isset($facetConf->Advanced_Facet_Settings->translated_facets) && count($facetConf->Advanced_Facet_Settings->translated_facets) > 0) { $this->setTranslatedFacets($facetConf->Advanced_Facet_Settings->translated_facets->toArray()); } }
/** * Constructor * * @param \VuFind\Config\PluginManager $configLoader Configuration loader * @param array $apiInfo API information */ public function __construct(\VuFind\Config\PluginManager $configLoader, $apiInfo = null) { $this->searchIni = 'EDS'; $searchSettings = $configLoader->get($this->searchIni); parent::__construct($configLoader); $this->viewOptions = ['list|title' => 'Title View', 'list|brief' => 'Brief View', 'list|detailed' => 'Detailed View']; $this->apiInfo = $apiInfo; $this->setOptionsFromApi($searchSettings); $this->setOptionsFromConfig($searchSettings); }
/** * Constructor * * @param \VuFind\Config\PluginManager $configLoader Config loader */ public function __construct(\VuFind\Config\PluginManager $configLoader) { parent::__construct($configLoader); $searchSettings = $configLoader->get($this->searchIni); if (isset($searchSettings->General->default_limit)) { $this->defaultLimit = $searchSettings->General->default_limit; } if (isset($searchSettings->General->limit_options)) { $this->limitOptions = explode(",", $searchSettings->General->limit_options); } if (isset($searchSettings->General->default_sort)) { $this->defaultSort = $searchSettings->General->default_sort; } if (isset($searchSettings->General->empty_search_relevance_override)) { $this->emptySearchRelevanceOverride = $searchSettings->General->empty_search_relevance_override; } if (isset($searchSettings->DefaultSortingByType) && count($searchSettings->DefaultSortingByType) > 0) { foreach ($searchSettings->DefaultSortingByType as $key => $val) { $this->defaultSortByHandler[$key] = $val; } } if (isset($searchSettings->RSS->sort)) { $this->rssSort = $searchSettings->RSS->sort; } if (isset($searchSettings->General->default_view)) { $this->defaultView = $searchSettings->General->default_view; } if (isset($searchSettings->General->default_handler)) { $this->defaultHandler = $searchSettings->General->default_handler; } if (isset($searchSettings->General->retain_filters_by_default)) { $this->retainFiltersByDefault = $searchSettings->General->retain_filters_by_default; } if (isset($searchSettings->General->default_filters)) { $this->defaultFilters = $searchSettings->General->default_filters->toArray(); } // Result limit: if (isset($searchSettings->General->result_limit)) { $this->resultLimit = $searchSettings->General->result_limit; } if (isset($searchSettings->Basic_Searches)) { foreach ($searchSettings->Basic_Searches as $key => $value) { $this->basicHandlers[$key] = $value; } } if (isset($searchSettings->Advanced_Searches)) { foreach ($searchSettings->Advanced_Searches as $key => $value) { $this->advancedHandlers[$key] = $value; } } // Load sort preferences (or defaults if none in .ini file): if (isset($searchSettings->Sorting)) { foreach ($searchSettings->Sorting as $key => $value) { $this->sortOptions[$key] = $value; } } else { $this->sortOptions = ['relevance' => 'sort_relevance', 'year' => 'sort_year', 'year asc' => 'sort_year asc', 'callnumber-sort' => 'sort_callnumber', 'author' => 'sort_author', 'title' => 'sort_title']; } // Load view preferences (or defaults if none in .ini file): if (isset($searchSettings->Views)) { foreach ($searchSettings->Views as $key => $value) { $this->viewOptions[$key] = $value; } } elseif (isset($searchSettings->General->default_view)) { $this->viewOptions = [$this->defaultView => $this->defaultView]; } else { $this->viewOptions = ['list' => 'List']; } // Load facet preferences $facetSettings = $configLoader->get($this->facetsIni); if (isset($facetSettings->Advanced_Settings->translated_facets) && count($facetSettings->Advanced_Settings->translated_facets) > 0) { $this->setTranslatedFacets($facetSettings->Advanced_Settings->translated_facets->toArray()); } if (isset($facetSettings->Advanced_Settings->special_facets)) { $this->specialAdvancedFacets = $facetSettings->Advanced_Settings->special_facets; } if (isset($facetSettings->SpecialFacets->hierarchical)) { $this->hierarchicalFacets = $facetSettings->SpecialFacets->hierarchical->toArray(); } if (isset($facetSettings->SpecialFacets->hierarchicalFacetSeparators)) { $this->hierarchicalFacetSeparators = $facetSettings->SpecialFacets->hierarchicalFacetSeparators->toArray(); } // Load Spelling preferences $config = $configLoader->get('config'); if (isset($config->Spelling->enabled)) { $this->spellcheck = $config->Spelling->enabled; } // Turn on highlighting if the user has requested highlighting or snippet // functionality: $highlight = !isset($searchSettings->General->highlighting) ? false : $searchSettings->General->highlighting; $snippet = !isset($searchSettings->General->snippets) ? false : $searchSettings->General->snippets; if ($highlight || $snippet) { $this->highlight = true; } // Load autocomplete preference: if (isset($searchSettings->Autocomplete->enabled)) { $this->autocompleteEnabled = $searchSettings->Autocomplete->enabled; } // Load shard settings if (isset($searchSettings->IndexShards) && !empty($searchSettings->IndexShards)) { foreach ($searchSettings->IndexShards as $k => $v) { $this->shards[$k] = $v; } // If we have a default from the configuration, use that... if (isset($searchSettings->ShardPreferences->defaultChecked) && !empty($searchSettings->ShardPreferences->defaultChecked)) { $defaultChecked = is_object($searchSettings->ShardPreferences->defaultChecked) ? $searchSettings->ShardPreferences->defaultChecked->toArray() : [$searchSettings->ShardPreferences->defaultChecked]; foreach ($defaultChecked as $current) { $this->defaultSelectedShards[] = $current; } } else { // If no default is configured, use all shards... $this->defaultSelectedShards = array_keys($this->shards); } // Apply checkbox visibility setting if applicable: if (isset($searchSettings->ShardPreferences->showCheckboxes)) { $this->visibleShardCheckboxes = $searchSettings->ShardPreferences->showCheckboxes; } } }
/** * Constructor * * @return void */ public function __construct() { parent::__construct(); $searchSettings = ConfigReader::getConfig($this->searchIni); if (isset($searchSettings->General->default_limit)) { $this->defaultLimit = $searchSettings->General->default_limit; } if (isset($searchSettings->General->limit_options)) { $this->limitOptions = explode(",", $searchSettings->General->limit_options); } if (isset($searchSettings->General->default_sort)) { $this->defaultSort = $searchSettings->General->default_sort; } if (isset($searchSettings->DefaultSortingByType) && count($searchSettings->DefaultSortingByType) > 0) { foreach ($searchSettings->DefaultSortingByType as $key => $val) { $this->defaultSortByHandler[$key] = $val; } } if (isset($searchSettings->RSS->sort)) { $this->rssSort = $searchSettings->RSS->sort; } if (isset($searchSettings->General->default_view)) { $this->defaultView = $searchSettings->General->default_view; } if (isset($searchSettings->General->default_handler)) { $this->defaultHandler = $searchSettings->General->default_handler; } if (isset($searchSettings->General->retain_filters_by_default)) { $this->retainFiltersByDefault = $searchSettings->General->retain_filters_by_default; } if (isset($searchSettings->Basic_Searches)) { foreach ($searchSettings->Basic_Searches as $key => $value) { $this->basicHandlers[$key] = $value; } } if (isset($searchSettings->Advanced_Searches)) { foreach ($searchSettings->Advanced_Searches as $key => $value) { $this->advancedHandlers[$key] = $value; } } // Load sort preferences (or defaults if none in .ini file): if (isset($searchSettings->Sorting)) { foreach ($searchSettings->Sorting as $key => $value) { $this->sortOptions[$key] = $value; } } else { $this->sortOptions = array('relevance' => 'sort_relevance', 'year' => 'sort_year', 'year asc' => 'sort_year asc', 'callnumber' => 'sort_callnumber', 'author' => 'sort_author', 'title' => 'sort_title'); } // Load view preferences (or defaults if none in .ini file): if (isset($searchSettings->Views)) { foreach ($searchSettings->Views as $key => $value) { $this->viewOptions[$key] = $value; } } elseif (isset($searchSettings->General->default_view)) { $this->viewOptions = array($this->defaultView => $this->defaultView); } else { $this->viewOptions = array('list' => 'List'); } // Load facet preferences $facetSettings = ConfigReader::getConfig($this->facetsIni); if (isset($facetSettings->Advanced_Settings->translated_facets) && count($facetSettings->Advanced_Settings->translated_facets) > 0) { foreach ($facetSettings->Advanced_Settings->translated_facets as $c) { $this->translatedFacets[] = $c; } } if (isset($facetSettings->Advanced_Settings->special_facets)) { $this->specialAdvancedFacets = $facetSettings->Advanced_Settings->special_facets; } // Load Spelling preferences $config = ConfigReader::getConfig(); if (isset($config->Spelling->enabled)) { $this->spellcheck = $config->Spelling->enabled; } if (isset($config->Spelling->limit)) { $this->spellingLimit = $config->Spelling->limit; } if (isset($config->Spelling->simple)) { $this->spellSimple = $config->Spelling->simple; } if (isset($config->Spelling->skip_numeric)) { $this->spellSkipNumeric = $config->Spelling->skip_numeric; } // Turn on highlighting if the user has requested highlighting or snippet // functionality: $highlight = !isset($searchSettings->General->highlighting) ? false : $searchSettings->General->highlighting; $snippet = !isset($searchSettings->General->snippets) ? false : $searchSettings->General->snippets; if ($highlight || $snippet) { $this->highlight = true; } // Apply hidden filters: if (isset($searchSettings->HiddenFilters)) { foreach ($searchSettings->HiddenFilters as $field => $subfields) { $rawFilter = $field . ':' . '"' . addcslashes($subfields, '"') . '"'; $this->addHiddenFilter($rawFilter); } } if (isset($searchSettings->RawHiddenFilters)) { foreach ($searchSettings->RawHiddenFilters as $rawFilter) { $this->addHiddenFilter($rawFilter); } } // Load autocomplete preference: if (isset($searchSettings->Autocomplete->enabled)) { $this->autocompleteEnabled = $searchSettings->Autocomplete->enabled; } // Load shard settings if (isset($searchSettings->IndexShards) && !empty($searchSettings->IndexShards)) { foreach ($searchSettings->IndexShards as $k => $v) { $this->shards[$k] = $v; } // If we have a default from the configuration, use that... if (isset($searchSettings->ShardPreferences->defaultChecked) && !empty($searchSettings->ShardPreferences->defaultChecked)) { $defaultChecked = is_object($searchSettings->ShardPreferences->defaultChecked) ? $searchSettings->ShardPreferences->defaultChecked->toArray() : array($searchSettings->ShardPreferences->defaultChecked); foreach ($defaultChecked as $current) { $this->defaultSelectedShards[] = $current; } } else { // If no default is configured, use all shards... $this->defaultSelectedShards = array_keys($this->shards); } // Apply checkbox visibility setting if applicable: if (isset($searchSettings->ShardPreferences->showCheckboxes)) { $this->visibleShardCheckboxes = $searchSettings->ShardPreferences->showCheckboxes; } // Apply field stripping if applicable: if (isset($searchSettings->StripFields)) { foreach ($searchSettings->StripFields as $k => $v) { $this->solrShardsFieldsToStrip[$k] = $v; } } } }
/** * Constructor * * @param \VuFind\Config\PluginManager $configLoader Config loader */ public function __construct(\VuFind\Config\PluginManager $configLoader) { parent::__construct($configLoader); $this->searchIni = $this->facetsIni = 'Summon'; // Load facet preferences: $facetSettings = $configLoader->get($this->facetsIni); if (isset($facetSettings->Advanced_Facet_Settings->translated_facets) && count($facetSettings->Advanced_Facet_Settings->translated_facets) > 0) { $this->setTranslatedFacets($facetSettings->Advanced_Facet_Settings->translated_facets->toArray()); } if (isset($facetSettings->Advanced_Facet_Settings->special_facets)) { $this->specialAdvancedFacets = $facetSettings->Advanced_Facet_Settings->special_facets; } // Load the search configuration file: $searchSettings = $configLoader->get($this->searchIni); // Set up limit preferences if (isset($searchSettings->General->default_limit)) { $this->defaultLimit = $searchSettings->General->default_limit; } if (isset($searchSettings->General->limit_options)) { $this->limitOptions = explode(",", $searchSettings->General->limit_options); } // Set up highlighting preference if (isset($searchSettings->General->highlighting)) { $this->highlight = $searchSettings->General->highlighting; } // Set up spelling preference if (isset($searchSettings->Spelling->enabled)) { $this->spellcheck = $searchSettings->Spelling->enabled; } // Load search preferences: if (isset($searchSettings->General->default_view)) { $this->defaultView = $searchSettings->General->default_view; } if (isset($searchSettings->General->retain_filters_by_default)) { $this->retainFiltersByDefault = $searchSettings->General->retain_filters_by_default; } if (isset($searchSettings->General->default_filters)) { $this->defaultFilters = $searchSettings->General->default_filters->toArray(); } if (isset($searchSettings->General->result_limit)) { $this->resultLimit = $searchSettings->General->result_limit; } else { $this->resultLimit = 400; // default } // Search handler setup: if (isset($searchSettings->Basic_Searches)) { foreach ($searchSettings->Basic_Searches as $key => $value) { $this->basicHandlers[$key] = $value; } } if (isset($searchSettings->Advanced_Searches)) { foreach ($searchSettings->Advanced_Searches as $key => $value) { $this->advancedHandlers[$key] = $value; } } // Load sort preferences: if (isset($searchSettings->Sorting)) { foreach ($searchSettings->Sorting as $key => $value) { $this->sortOptions[$key] = $value; } } if (isset($searchSettings->General->default_sort)) { $this->defaultSort = $searchSettings->General->default_sort; } if (isset($searchSettings->DefaultSortingByType) && count($searchSettings->DefaultSortingByType) > 0) { foreach ($searchSettings->DefaultSortingByType as $key => $val) { $this->defaultSortByHandler[$key] = $val; } } if (isset($searchSettings->General->empty_search_relevance_override)) { $this->emptySearchRelevanceOverride = $searchSettings->General->empty_search_relevance_override; } // Load view preferences (or defaults if none in .ini file): if (isset($searchSettings->Views)) { foreach ($searchSettings->Views as $key => $value) { $this->viewOptions[$key] = $value; } } elseif (isset($searchSettings->General->default_view)) { $this->viewOptions = [$this->defaultView => $this->defaultView]; } else { $this->viewOptions = ['list' => 'List']; } }
/** * Constructor * * @param \VuFind\Config\PluginManager $configLoader Config loader */ public function __construct(\VuFind\Config\PluginManager $configLoader) { parent::__construct($configLoader); $this->searchIni = $this->facetsIni = 'Primo'; // Load facet preferences: $facetSettings = $configLoader->get($this->facetsIni); if (isset($facetSettings->Advanced_Facet_Settings->translated_facets) && count($facetSettings->Advanced_Facet_Settings->translated_facets) > 0) { $list = $facetSettings->Advanced_Facet_Settings->translated_facets; foreach ($list as $c) { $this->translatedFacets[] = $c; } } if (isset($facetSettings->Advanced_Facet_Settings->special_facets)) { $this->specialAdvancedFacets = $facetSettings->Advanced_Facet_Settings->special_facets; } // Load the search configuration file: $searchSettings = $configLoader->get($this->searchIni); // Set up limit preferences if (isset($searchSettings->General->default_limit)) { $this->defaultLimit = $searchSettings->General->default_limit; } if (isset($searchSettings->General->limit_options)) { $this->limitOptions = explode(",", $searchSettings->General->limit_options); } // Load search preferences: if (isset($searchSettings->General->retain_filters_by_default)) { $this->retainFiltersByDefault = $searchSettings->General->retain_filters_by_default; } if (isset($searchSettings->General->default_filters)) { $this->defaultFilters = $searchSettings->General->default_filters->toArray(); } // Result limit: if (isset($searchSettings->General->result_limit)) { $this->resultLimit = $searchSettings->General->result_limit; } else { $this->resultLimit = 3980; // default } // Search handler setup: if (isset($searchSettings->Basic_Searches)) { foreach ($searchSettings->Basic_Searches as $key => $value) { $this->basicHandlers[$key] = $value; } } if (isset($searchSettings->Advanced_Searches)) { foreach ($searchSettings->Advanced_Searches as $key => $value) { $this->advancedHandlers[$key] = $value; } } // Advanced operator setup: if (isset($searchSettings->Advanced_Operators)) { foreach ($searchSettings->Advanced_Operators as $key => $value) { $this->advancedOperators[$key] = $value; } } // Load sort preferences: if (isset($searchSettings->Sorting)) { foreach ($searchSettings->Sorting as $key => $value) { $this->sortOptions[$key] = $value; } } if (isset($searchSettings->General->default_sort)) { $this->defaultSort = $searchSettings->General->default_sort; } if (isset($searchSettings->DefaultSortingByType) && count($searchSettings->DefaultSortingByType) > 0) { foreach ($searchSettings->DefaultSortingByType as $key => $val) { $this->defaultSortByHandler[$key] = $val; } } }
/** * Constructor * * @param \VuFind\Config\PluginManager $configLoader Config loader */ public function __construct(\VuFind\Config\PluginManager $configLoader) { parent::__construct($configLoader); $this->defaultSort = 'saved DESC'; $this->sortOptions = ['title' => 'sort_title', 'author' => 'sort_author', 'year DESC' => 'sort_year', 'year' => 'sort_year asc', 'saved DESC' => 'sort_created']; }