Beispiel #1
0
 /**
  * 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'];
 }
Beispiel #2
0
 /**
  * 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;
         }
     }
 }
Beispiel #3
0
 /**
  * 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');
 }
Beispiel #4
0
 /**
  * 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;
         }
     }
 }
Beispiel #5
0
 /**
  * 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;
         }
     }
 }
Beispiel #6
0
 /**
  * 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;
         }
     }
 }
Beispiel #7
0
 /**
  * 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;
     }
 }
Beispiel #8
0
 /**
  * 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);
     }
 }
Beispiel #9
0
 /**
  * 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;
     }
 }
Beispiel #10
0
 /**
  * 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;
     }
 }
Beispiel #11
0
 /**
  * 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;
     }
 }
Beispiel #12
0
 /**
  * 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;
     }
 }
Beispiel #13
0
 /**
  * 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());
     }
 }
Beispiel #14
0
 /**
  * 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);
 }
Beispiel #15
0
 /**
  * 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;
         }
     }
 }
Beispiel #16
0
 /**
  * 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;
             }
         }
     }
 }
Beispiel #17
0
 /**
  * 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'];
     }
 }
Beispiel #18
0
 /**
  * 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;
         }
     }
 }
Beispiel #19
0
 /**
  * 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'];
 }