コード例 #1
0
ファイル: PCI.php プロジェクト: bharatm/NDL-VuFind
 /**
  * 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();
 }
コード例 #2
0
ファイル: WorldCat.php プロジェクト: bryandease/VuFind-Plus
 /**
  * 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();
 }
コード例 #3
0
ファイル: Genealogy.php プロジェクト: victorfcm/VuFind-Plus
 /**
  * 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');
 }
コード例 #4
0
ファイル: MetaLib.php プロジェクト: bharatm/NDL-VuFind
 /**
  * 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();
 }
コード例 #5
0
ファイル: Summon.php プロジェクト: bharatm/NDL-VuFind
 /**
  * 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);
 }
コード例 #6
0
ファイル: SolrReserves.php プロジェクト: bharatm/NDL-VuFind
 /**
  * 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');
     }
 }
コード例 #7
0
ファイル: SolrAuth.php プロジェクト: bharatm/NDL-VuFind
 /**
  * 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;
 }
コード例 #8
0
ファイル: Solr.php プロジェクト: bryandease/VuFind-Plus
 /**
  * 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');
 }
コード例 #9
0
ファイル: Solr.php プロジェクト: bharatm/NDL-VuFind
 /**
  * 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;
 }