/** * Constructor. Initialise details about the server * * @access public */ public function __construct() { parent::__construct(); $this->resultsModule = 'PCI'; $this->resultsAction = 'Search'; $config = getExtraConfigArray("PCI"); foreach ($config['Facets'] as $key => $value) { $parts = explode(',', $key); $facetName = trim($parts[0]); $this->facetConfig[$facetName] = $value; } $this->translatedFacets = isset($config['Facet_Settings']['translated_facets']) ? $config['Facet_Settings']['translated_facets'] : null; $this->facetTranslationPrefix = isset($config['Facet_Settings']['facet_translation_prefix']) ? $config['Facet_Settings']['facet_translation_prefix'] : null; // Set up basic and advanced PCI search types; default to basic. $this->searchType = $this->basicSearchType = 'PCI'; $this->advancedSearchType = 'PCIAdvanced'; // Set up search options $this->basicTypes = $config['Basic_Searches']; if (isset($config['Advanced_Searches'])) { $this->advancedTypes = $config['Advanced_Searches']; } $this->recommendIni = 'PCI'; $this->params['institution'] = $config['General']['institution']; $this->params['highlight'] = $config['General']['highlight']; $this->params['db'] = isset($config['General']['db']) ? $config['General']['db'] : null; // Set up sort options $this->sortOptions = $config['Sorting']; // default sort for PCI is empty string $this->defaultSort = ""; // Connect to PCI $this->PCI = new PCI(); }
/** * Constructor. Initialise some details about the server * * @access public */ public function __construct() { // Standard logic from parent class: parent::__construct(); // Set up appropriate results action: $this->resultsModule = 'WorldCat'; $this->resultsAction = 'Search'; // Set up basic and advanced WorldCat search types; default to basic. $this->searchType = $this->basicSearchType = 'WorldCat'; $this->advancedSearchType = 'WorldCatAdvanced'; // Set up sort options $config = getExtraConfigArray('WorldCat'); $this->sortOptions = $config['Sorting']; if (isset($config['General']['default_sort'])) { $this->defaultSort = $config['General']['default_sort']; } // Set up search options $this->basicTypes = $config['Basic_Searches']; if (isset($config['Advanced_Searches'])) { $this->advancedTypes = $config['Advanced_Searches']; } $this->defaultIndex = 'srw.kw'; // Set up recommendations options -- settings are found in WorldCat.ini: $this->recommendIni = 'WorldCat'; // Connect to WorldCat $this->worldcat = new Worldcat(); }
/** * Constructor. Initialise some details about the server * * @access public */ public function __construct() { // Call base class constructor parent::__construct(); global $configArray; global $timer; // Include our solr index $class = $configArray['Genealogy']['engine']; require_once "sys/{$class}.php"; $this->searchType = 'genealogy'; $this->basicSearchType = 'genealogy'; // Initialise the index $this->indexEngine = new $class($configArray['Genealogy']['url'], $configArray['Genealogy']['default_core']); $timer->logTime('Created Index Engine for Genealogy'); //Make sure to turn off sharding for genealogy $this->indexEngine->setShards(array()); // Get default facet settings $this->allFacetSettings = getExtraConfigArray('genealogyFacets'); $this->facetConfig = array(); $facetLimit = $this->getFacetSetting('Results_Settings', 'facet_limit'); if (is_numeric($facetLimit)) { $this->facetLimit = $facetLimit; } $translatedFacets = $this->getFacetSetting('Advanced_Settings', 'translated_facets'); if (is_array($translatedFacets)) { $this->translatedFacets = $translatedFacets; } // Load search preferences: $searchSettings = getExtraConfigArray('genealogySearches'); $this->defaultIndex = 'GenealogyKeyword'; if (isset($searchSettings['General']['default_sort'])) { $this->defaultSort = $searchSettings['General']['default_sort']; } if (isset($searchSettings['DefaultSortingByType']) && is_array($searchSettings['DefaultSortingByType'])) { $this->defaultSortByType = $searchSettings['DefaultSortingByType']; } if (isset($searchSettings['Basic_Searches'])) { $this->basicTypes = $searchSettings['Basic_Searches']; } if (isset($searchSettings['Advanced_Searches'])) { $this->advancedTypes = $searchSettings['Advanced_Searches']; } // Load sort preferences (or defaults if none in .ini file): if (isset($searchSettings['Sorting'])) { $this->sortOptions = $searchSettings['Sorting']; } else { $this->sortOptions = array('relevance' => 'sort_relevance', 'year' => 'sort_year', 'year asc' => 'sort_year asc', 'title' => 'sort_title'); } // Load Spelling preferences $this->spellcheck = $configArray['Spelling']['enabled']; $this->spellingLimit = $configArray['Spelling']['limit']; $this->spellSimple = $configArray['Spelling']['simple']; $this->spellSkipNumeric = isset($configArray['Spelling']['skip_numeric']) ? $configArray['Spelling']['skip_numeric'] : true; // Debugging $this->indexEngine->debug = $this->debug; $this->recommendIni = 'genealogySearches'; $timer->logTime('Setup Solr Search Object'); }
/** * Constructor. Initialise some details about the server * * @access public */ public function __construct() { global $configArray; // Standard logic from parent class: parent::__construct(); // Set up appropriate results action: $this->resultsModule = 'MetaLib'; $this->resultsAction = 'Search'; // Set up basic and advanced MetaLib search types; default to basic. $this->searchType = $this->basicSearchType = 'MetaLib'; $this->advancedSearchType = 'MetaLibAdvanced'; $config = getExtraConfigArray('MetaLib'); if (empty($config)) { return; } // No facet config // Set up spelling preference if (isset($config['Spelling']['enabled'])) { $this->spellcheck = $config['Spelling']['enabled']; } // Set up sort options $this->sortOptions = $config['Sorting']; if (isset($config['General']['default_sort'])) { $this->defaultSort = $config['General']['default_sort']; } // Set up search options $this->basicTypes = $config['Basic_Searches']; if (isset($config['Advanced_Searches'])) { $this->advancedTypes = $config['Advanced_Searches']; } $this->searchSets = getExtraConfigArray('MetaLibSets'); reset($this->searchSets); $this->set = key($this->searchSets); // Set up recommendations options -- settings are found in MetaLib.ini: $this->recommendIni = 'MetaLib'; // Load limit preferences (or defaults if none in .ini file): if (isset($config['General']['limit_options'])) { $this->limitOptions = explode(",", $config['General']['limit_options']); } elseif (isset($config['General']['default_limit'])) { $this->limitOptions = array($this->defaultLimit); } else { $this->limitOptions = array(20); } // Connect to MetaLib $this->metaLib = new MetaLib(); }
/** * Constructor. Initialise some details about the server * * @access public */ public function __construct() { global $configArray; // Standard logic from parent class: parent::__construct(); // Set up appropriate results action: $this->resultsModule = 'Summon'; $this->resultsAction = 'Search'; // Set up basic and advanced Summon search types; default to basic. $this->searchType = $this->basicSearchType = 'Summon'; $this->advancedSearchType = 'SummonAdvanced'; // Set up facet configuration -- note that we may need to strip extra // parameters from the facet names (hence the extra processing): $config = getExtraConfigArray('Summon'); foreach ($config['Facets'] as $key => $value) { $parts = explode(',', $key); $facetName = trim($parts[0]); $this->facetConfig[$facetName] = $value; } // Set up spelling preference if (isset($config['Spelling']['enabled'])) { $this->spellcheck = $config['Spelling']['enabled']; } // Set up sort options $this->sortOptions = $config['Sorting']; if (isset($config['General']['default_sort'])) { $this->defaultSort = $config['General']['default_sort']; } // Set up search options $this->basicTypes = $config['Basic_Searches']; if (isset($config['Advanced_Searches'])) { $this->advancedTypes = $config['Advanced_Searches']; } // Account for "retain filters" setting: if (isset($config['General']['retain_filters_by_default'])) { $this->retainFiltersByDefault = $config['General']['retain_filters_by_default']; } // Set up recommendations options -- settings are found in Summon.ini: $this->recommendIni = 'Summon'; // Connect to Summon $id = isset($configArray['Summon']['apiId']) ? $configArray['Summon']['apiId'] : null; $key = isset($configArray['Summon']['apiKey']) ? $configArray['Summon']['apiKey'] : null; $this->_summon = new Summon($id, $key); }
/** * Constructor. Initialise some details about the server * * @access public */ public function __construct() { // Standard logic from parent class: parent::__construct(); global $configArray; // Connect to the index $this->_indexEngine = ConnectionManager::connectToIndex('SolrReserves'); // Set up appropriate results action: $this->resultsModule = 'Search'; $this->resultsAction = 'Reserves'; // Set up basic and advanced search types; default to basic. $this->searchType = $this->basicSearchType = 'Reserves'; // Get default facet settings $this->facetConfig = array(); $this->recommendIni = 'reserves'; // Load search preferences: $searchSettings = getExtraConfigArray('reserves'); if (isset($searchSettings['General']['facet_limit'])) { $this->_facetLimit = $searchSettings['General']['facet_limit']; } if (isset($searchSettings['General']['default_handler'])) { $this->defaultIndex = $searchSettings['General']['default_handler']; } if (isset($searchSettings['General']['default_sort'])) { $this->defaultSort = $searchSettings['General']['default_sort']; } if (isset($searchSettings['Basic_Searches'])) { $this->basicTypes = $searchSettings['Basic_Searches']; } if (isset($searchSettings['Advanced_Searches'])) { $this->advancedTypes = $searchSettings['Advanced_Searches']; } if (isset($searchSettings['Autocomplete']['enabled'])) { $this->autocompleteStatus = $searchSettings['Autocomplete']['enabled']; } // Load sort preferences (or defaults if none in .ini file): if (isset($searchSettings['Sorting'])) { $this->sortOptions = $searchSettings['Sorting']; } else { $this->sortOptions = array('instructor_str' => 'sort_instructor', 'course_str' => 'sort_course', 'department_str' => 'sort_department'); } }
/** * Constructor. Initialise some details about the server * * @access public */ public function __construct() { // Call base class constructor parent::__construct(); global $configArray; // Initialise the index $this->_indexEngine = ConnectionManager::connectToIndex('SolrAuth'); // Set up appropriate results action: $this->resultsModule = 'Authority'; $this->resultsAction = 'Search'; // Set up basic and advanced search types; default to basic. $this->searchType = $this->basicSearchType = 'Authority'; $this->advancedSearchType = 'AuthorityAdvanced'; // Get default facet settings $this->facetConfig = array(); $this->recommendIni = 'authority'; // Load search preferences: $searchSettings = getExtraConfigArray('authority'); if (isset($searchSettings['General']['default_handler'])) { $this->defaultIndex = $searchSettings['General']['default_handler']; } if (isset($searchSettings['General']['default_sort'])) { $this->defaultSort = $searchSettings['General']['default_sort']; } if (isset($searchSettings['Basic_Searches'])) { $this->basicTypes = $searchSettings['Basic_Searches']; } if (isset($searchSettings['Advanced_Searches'])) { $this->advancedTypes = $searchSettings['Advanced_Searches']; } // Load sort preferences (or defaults if none in .ini file): if (isset($searchSettings['Sorting'])) { $this->sortOptions = $searchSettings['Sorting']; } else { $this->sortOptions = array('relevance' => 'sort_relevance', 'heading' => 'Heading'); } // Load Spelling preferences $this->spellcheck = false; }
/** * Constructor. Initialise some details about the server * * @access public */ public function __construct() { // Call base class constructor parent::__construct(); global $configArray; global $timer; global $library; // Include our solr index $class = $configArray['Index']['engine']; $classWithExtension = $class . '.php'; require_once ROOT_DIR . "/sys/" . $classWithExtension; // Initialise the index $this->indexEngine = new $class($configArray['Index']['url']); $timer->logTime('Created Index Engine'); // Get default facet settings $this->allFacetSettings = getExtraConfigArray('facets'); $this->facetConfig = array(); $facetLimit = $this->getFacetSetting('Results_Settings', 'facet_limit'); if (is_numeric($facetLimit)) { $this->facetLimit = $facetLimit; } $translatedFacets = $this->getFacetSetting('Advanced_Settings', 'translated_facets'); if (is_array($translatedFacets)) { $this->translatedFacets = $translatedFacets; } // Load search preferences: $searchSettings = getExtraConfigArray('searches'); if (isset($library)) { if ($library->showTagging == 0) { unset($searchSettings['Basic_Searches']['tag']); } } if (isset($searchSettings['General']['default_handler'])) { $this->defaultIndex = $searchSettings['General']['default_handler']; } if (isset($searchSettings['General']['default_sort'])) { $this->defaultSort = $searchSettings['General']['default_sort']; } if (isset($searchSettings['General']['default_view'])) { $this->defaultView = $searchSettings['General']['default_view']; } if (isset($searchSettings['General']['default_limit'])) { $this->defaultLimit = $searchSettings['General']['default_limit']; } if (isset($searchSettings['General']['retain_filters_by_default'])) { $this->retainFiltersByDefault = $searchSettings['General']['retain_filters_by_default']; } if (isset($searchSettings['DefaultSortingByType']) && is_array($searchSettings['DefaultSortingByType'])) { $this->defaultSortByType = $searchSettings['DefaultSortingByType']; } if (isset($searchSettings['Basic_Searches'])) { $this->basicTypes = $searchSettings['Basic_Searches']; } if (isset($searchSettings['Advanced_Searches'])) { $this->advancedTypes = $searchSettings['Advanced_Searches']; } if (isset($searchSettings['Browse_Searches'])) { $this->browseTypes = $searchSettings['Browse_Searches']; } // Load sort preferences (or defaults if none in .ini file): if (isset($searchSettings['Sorting'])) { $this->sortOptions = $searchSettings['Sorting']; } else { $this->sortOptions = array('relevance' => 'sort_relevance', 'popularity' => 'sort_popularity', 'year' => 'sort_year', 'year asc' => 'sort_year asc', 'callnumber' => 'sort_callnumber', 'author' => 'sort_author', 'title' => 'sort_title'); } // Load Spelling preferences $this->spellcheck = $configArray['Spelling']['enabled']; $this->spellingLimit = $configArray['Spelling']['limit']; $this->spellSimple = $configArray['Spelling']['simple']; $this->spellSkipNumeric = isset($configArray['Spelling']['skip_numeric']) ? $configArray['Spelling']['skip_numeric'] : true; // Debugging if ($configArray['System']['debugSolr']) { $this->indexEngine->debug = true; } else { $this->indexEngine->debug = false; } $timer->logTime('Setup Solr Search Object'); }
/** * Constructor. Initialise some details about the server * * @access public */ public function __construct() { // Call base class constructor parent::__construct(); global $configArray; // Get default facet settings $this->allFacetSettings = getExtraConfigArray('facets'); $this->facetConfig = array(); $facetLimit = $this->getFacetSetting('Results_Settings', 'facet_limit'); if (is_numeric($facetLimit)) { $this->facetLimit = $facetLimit; } $translatedFacets = $this->getFacetSetting('Advanced_Settings', 'translated_facets'); if (is_array($translatedFacets)) { $this->translatedFacets = $translatedFacets; } $translationPrefix = $this->getFacetSetting('Advanced_Settings', 'facet_translation_prefix'); if (isset($translationPrefix)) { $this->facetTranslationPrefix = $translationPrefix; } // Load search preferences: $searchSettings = getExtraConfigArray('searches'); if (isset($searchSettings['General']['default_handler'])) { $this->defaultIndex = $searchSettings['General']['default_handler']; } if (isset($searchSettings['General']['default_sort'])) { $this->defaultSort = $searchSettings['General']['default_sort']; } if (isset($searchSettings['General']['default_view'])) { $this->defaultView = $searchSettings['General']['default_view']; } if (isset($searchSettings['General']['default_limit'])) { $this->defaultLimit = $searchSettings['General']['default_limit']; } if (isset($searchSettings['General']['retain_filters_by_default'])) { $this->retainFiltersByDefault = $searchSettings['General']['retain_filters_by_default']; } if (isset($searchSettings['DefaultSortingByType']) && is_array($searchSettings['DefaultSortingByType'])) { $this->defaultSortByType = $searchSettings['DefaultSortingByType']; } $filters = call_user_func(array(get_class($this), 'getDefaultHiddenFilters'), $searchSettings); foreach ($filters as $filter) { $this->addHiddenFilter($filter); } if (isset($searchSettings['Basic_Searches'])) { $this->basicTypes = $searchSettings['Basic_Searches']; } if (isset($searchSettings['Advanced_Searches'])) { $this->advancedTypes = $searchSettings['Advanced_Searches']; } if (isset($searchSettings['Autocomplete']['enabled'])) { $this->autocompleteStatus = $searchSettings['Autocomplete']['enabled']; } // Load sort preferences (or defaults if none in .ini file): if (isset($searchSettings['Sorting'])) { $this->sortOptions = $searchSettings['Sorting']; } 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'])) { $this->viewOptions = $searchSettings['Views']; } elseif (isset($searchSettings['General']['default_view'])) { $this->viewOptions = array($this->defaultView => $this->defaultView); } else { $this->viewOptions = array('list' => 'List'); } // Load limit preferences (or defaults if none in .ini file): if (isset($searchSettings['General']['limit_options'])) { $this->limitOptions = explode(",", $searchSettings['General']['limit_options']); } elseif (isset($searchSettings['General']['default_limit'])) { $this->limitOptions = array($this->defaultLimit); } else { $this->limitOptions = array(20); } // Load Spelling preferences $this->spellcheck = $configArray['Spelling']['enabled']; $this->spellingLimit = $configArray['Spelling']['limit']; $this->spellSimple = $configArray['Spelling']['simple']; $this->spellSkipNumeric = isset($configArray['Spelling']['skip_numeric']) ? $configArray['Spelling']['skip_numeric'] : true; }