Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 12 additions & 29 deletions module/VuFind/src/VuFind/Recommend/ConsortialVuFind.php
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,6 @@

namespace VuFind\Recommend;

use VuFind\Config\Config;
use VuFind\Connection\ExternalVuFind as Connection;

use function intval;
Expand Down Expand Up @@ -67,20 +66,6 @@ class ConsortialVuFind implements RecommendInterface, \Psr\Log\LoggerAwareInterf
*/
protected $limit = 5;

/**
* Connection to consortial VuFind API.
*
* @var Connection
*/
protected $connection;

/**
* ConsortialVuFind.ini configuration.
*
* @var Config
*/
protected $config;

/**
* Base URL of a search results page.
*
Expand Down Expand Up @@ -119,15 +104,13 @@ class ConsortialVuFind implements RecommendInterface, \Psr\Log\LoggerAwareInterf
/**
* Constructor.
*
* @param Config $config ConsortialVuFind.ini configuration
* @param array $config ConsortialVuFind.ini configuration
* @param Connection $connection Connection to consortial VuFind API
*/
public function __construct(
Config $config,
Connection $connection
protected array $config,
protected Connection $connection
) {
$this->config = $config;
$this->connection = $connection;
}

/**
Expand All @@ -146,20 +129,20 @@ public function setConfig($settings)
$configSectionName = $settings[2] ?? 'ReShare';

// Read config file
$configSection = $this->config->get($configSectionName);
$configSection = $this->config[$configSectionName] ?? [];
if ($configSection) {
$this->resultsBaseUrl = $configSection->results_base_url;
$this->recordBaseUrl = $configSection->record_base_url;
$this->searchFilters = $configSection->filters?->toArray() ?? [];

// Configure connection
$this->connection->setBaseUrl($configSection->api_base_url);
$this->resultsBaseUrl = $configSection['results_base_url'] ?? null;
$this->recordBaseUrl = $configSection['record_base_url'] ?? null;
$this->searchFilters = $configSection['filters'] ?? [];

// Confirm that required configuration is present
$this->hasMinimumConfig = $this->resultsBaseUrl
&& $this->recordBaseUrl
&& $configSection->api_base_url;
if (!$this->hasMinimumConfig) {
&& ($configSection['api_base_url'] ?? null);
if ($this->hasMinimumConfig) {
// Configure connection
$this->connection->setBaseUrl($configSection['api_base_url']);
} else {
$this->logError("Required configuration missing in '$configSectionName'
section of ConsortialVuFind.ini.");
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ public function __invoke(
}

return new $requestedName(
$container->get(\VuFind\Config\ConfigManagerInterface::class)->getConfigObject('ExternalVuFind'),
$container->get(\VuFind\Config\ConfigManagerInterface::class)->getConfigArray('ExternalVuFind'),
$container->get(\VuFind\Connection\ExternalVuFind::class)
);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,6 @@

namespace VuFindTest\Recommend;

use VuFind\Config\Config;
use VuFind\Config\ConfigManagerInterface;
use VuFind\Connection\ExternalVuFind;
use VuFind\Recommend\ConsortialVuFind;
Expand Down Expand Up @@ -144,7 +143,7 @@ protected function buildConfig(): array
*/
protected function buildConsortialVuFind(array $config): ConsortialVuFind
{
$consortialVuFind = new ConsortialVuFind(new Config($config), $this->connector);
$consortialVuFind = new ConsortialVuFind($config, $this->connector);
$consortialVuFind->setConfig('lookfor:3:ReShare');

$queryResults = $this->buildQueryResults('civil war');
Expand Down