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
14 changes: 6 additions & 8 deletions module/VuFind/src/VuFind/Search/Params/FacetLimitTrait.php
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,6 @@

namespace VuFind\Search\Params;

use VuFind\Config\Config;

use function in_array;

/**
Expand Down Expand Up @@ -68,18 +66,18 @@ trait FacetLimitTrait
protected int $hierarchicalFacetLimit = -1;

/**
* Initialize facet limit from a Config object.
* Initialize facet limit from a Config array.
*
* @param ?Config $config Configuration
* @param ?array $config Configuration
*
* @return void
*/
protected function initFacetLimitsFromConfig(?Config $config = null): void
protected function initFacetLimitsFromConfig(?array $config = null): void
{
if (is_numeric($config->facet_limit ?? null)) {
$this->setFacetLimit($config->facet_limit);
if (is_numeric($config['facet_limit'] ?? null)) {
$this->setFacetLimit($config['facet_limit']);
}
foreach ($config->facet_limit_by_field ?? [] as $k => $v) {
foreach ($config['facet_limit_by_field'] ?? [] as $k => $v) {
$this->facetLimitByField[$k] = $v;
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,6 @@

namespace VuFind\Search\Params;

use VuFind\Config\Config;

/**
* Trait to add facet limiting settings to a Params object.
*
Expand Down Expand Up @@ -60,16 +58,16 @@ trait FacetRestrictionsTrait
/**
* Initialize facet prefix and matches from a Config object.
*
* @param ?Config $config Configuration
* @param ?array $config Configuration
*
* @return void
*/
protected function initFacetRestrictionsFromConfig(?Config $config = null): void
protected function initFacetRestrictionsFromConfig(?array $config = null): void
{
foreach ($config->facet_prefix_by_field ?? [] as $k => $v) {
foreach ($config['facet_prefix_by_field'] ?? [] as $k => $v) {
$this->facetPrefixByField[$k] = $v;
}
foreach ($config->facet_matches_by_field ?? [] as $k => $v) {
foreach ($config['facet_matches_by_field'] ?? [] as $k => $v) {
$this->facetMatchesByField[$k] = $v;
}
}
Expand Down
10 changes: 7 additions & 3 deletions module/VuFind/src/VuFind/Search/Solr/Params.php
Original file line number Diff line number Diff line change
Expand Up @@ -178,8 +178,10 @@ public function __construct(

// Use basic facet limit by default, if set:
$config = $configManager->getConfigObject($options->getFacetsIni());
$this->initFacetLimitsFromConfig($config->Results_Settings ?? null);
$this->initFacetRestrictionsFromConfig($config->Results_Settings ?? null);
$resultsSettings = isset($config->Results_Settings)
? $config->Results_Settings->toArray() : null;
$this->initFacetLimitsFromConfig($resultsSettings);
$this->initFacetRestrictionsFromConfig($resultsSettings);
if (isset($config->LegacyFields)) {
$this->facetAliases = $config->LegacyFields->toArray();
}
Expand Down Expand Up @@ -442,7 +444,9 @@ protected function initFacetList(string $facetList, string $facetSettings, ?stri
{
$facetConfigName = $cfgFile ?? $this->getOptions()->getFacetsIni();
$config = ($facetConfigName !== null) ? $this->configManager->getConfigObject($facetConfigName) : [];
$this->initFacetLimitsFromConfig($config->$facetSettings ?? null);
$facetSettingsConfig = isset($config->$facetSettings)
? $config->$facetSettings->toArray() : null;
$this->initFacetLimitsFromConfig($facetSettingsConfig);
return parent::initFacetList($facetList, $facetSettings, $cfgFile);
}

Expand Down
8 changes: 6 additions & 2 deletions module/VuFind/src/VuFind/Search/Summon/Params.php
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,9 @@ public function __construct(\VuFind\Search\Base\Options $options, ConfigManagerI
{
parent::__construct($options, $configManager);
$config = $configManager->getConfigObject($options->getFacetsIni());
$this->initFacetLimitsFromConfig($config->Facet_Settings ?? null);
$facetSettings = isset($config->Facet_Settings)
? $config->Facet_Settings->toArray() : null;
$this->initFacetLimitsFromConfig($facetSettings);
}

/**
Expand Down Expand Up @@ -406,7 +408,9 @@ protected function initFacetList(string $facetList, string $facetSettings, ?stri
// can be found in Facet_Settings.
$limitSection = ($facetSettings === 'Results_Settings')
? 'Facet_Settings' : $facetSettings;
$this->initFacetLimitsFromConfig($config->$limitSection ?? null);
$facetLimitConfig = isset($config->$limitSection)
? $config->$limitSection->toArray() : null;
$this->initFacetLimitsFromConfig($facetLimitConfig);
return parent::initFacetList($facetList, $facetSettings, $cfgFile);
}

Expand Down