mirror of
https://github.com/RSS-Bridge/rss-bridge.git
synced 2025-04-09 16:38:50 +00:00
[BridgeAbstract] use getParameters instead of static to allow overriding it from bridges (#3858)
This commit is contained in:
parent
1938446385
commit
ad2d4c7b1b
@ -154,8 +154,8 @@ abstract class BridgeAbstract
|
|||||||
{
|
{
|
||||||
// Import and assign all inputs to their context
|
// Import and assign all inputs to their context
|
||||||
foreach ($input as $name => $value) {
|
foreach ($input as $name => $value) {
|
||||||
foreach (static::PARAMETERS as $context => $set) {
|
foreach ($this->getParameters() as $context => $set) {
|
||||||
if (array_key_exists($name, static::PARAMETERS[$context])) {
|
if (array_key_exists($name, $this->getParameters()[$context])) {
|
||||||
$this->inputs[$context][$name]['value'] = $value;
|
$this->inputs[$context][$name]['value'] = $value;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -163,16 +163,16 @@ abstract class BridgeAbstract
|
|||||||
|
|
||||||
// Apply default values to missing data
|
// Apply default values to missing data
|
||||||
$contexts = [$queriedContext];
|
$contexts = [$queriedContext];
|
||||||
if (array_key_exists('global', static::PARAMETERS)) {
|
if (array_key_exists('global', $this->getParameters())) {
|
||||||
$contexts[] = 'global';
|
$contexts[] = 'global';
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach ($contexts as $context) {
|
foreach ($contexts as $context) {
|
||||||
if (!isset(static::PARAMETERS[$context])) {
|
if (!isset($this->getParameters()[$context])) {
|
||||||
// unknown context provided by client, throw exception here? or continue?
|
// unknown context provided by client, throw exception here? or continue?
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach (static::PARAMETERS[$context] as $name => $properties) {
|
foreach ($this->getParameters()[$context] as $name => $properties) {
|
||||||
if (isset($this->inputs[$context][$name]['value'])) {
|
if (isset($this->inputs[$context][$name]['value'])) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
@ -204,8 +204,8 @@ abstract class BridgeAbstract
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Copy global parameter values to the guessed context
|
// Copy global parameter values to the guessed context
|
||||||
if (array_key_exists('global', static::PARAMETERS)) {
|
if (array_key_exists('global', $this->getParameters())) {
|
||||||
foreach (static::PARAMETERS['global'] as $name => $properties) {
|
foreach ($this->getParameters()['global'] as $name => $properties) {
|
||||||
if (isset($input[$name])) {
|
if (isset($input[$name])) {
|
||||||
$value = $input[$name];
|
$value = $input[$name];
|
||||||
} else {
|
} else {
|
||||||
@ -246,8 +246,8 @@ abstract class BridgeAbstract
|
|||||||
if (!isset($this->inputs[$this->queriedContext][$input]['value'])) {
|
if (!isset($this->inputs[$this->queriedContext][$input]['value'])) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
if (array_key_exists('global', static::PARAMETERS)) {
|
if (array_key_exists('global', $this->getParameters())) {
|
||||||
if (array_key_exists($input, static::PARAMETERS['global'])) {
|
if (array_key_exists($input, $this->getParameters()['global'])) {
|
||||||
$context = 'global';
|
$context = 'global';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -256,7 +256,7 @@ abstract class BridgeAbstract
|
|||||||
}
|
}
|
||||||
|
|
||||||
$needle = $this->inputs[$this->queriedContext][$input]['value'];
|
$needle = $this->inputs[$this->queriedContext][$input]['value'];
|
||||||
foreach (static::PARAMETERS[$context][$input]['values'] as $first_level_key => $first_level_value) {
|
foreach ($this->getParameters()[$context][$input]['values'] as $first_level_key => $first_level_value) {
|
||||||
if (!is_array($first_level_value) && $needle === (string)$first_level_value) {
|
if (!is_array($first_level_value) && $needle === (string)$first_level_value) {
|
||||||
return $first_level_key;
|
return $first_level_key;
|
||||||
} elseif (is_array($first_level_value)) {
|
} elseif (is_array($first_level_value)) {
|
||||||
@ -273,7 +273,7 @@ abstract class BridgeAbstract
|
|||||||
{
|
{
|
||||||
$regex = '/^(https?:\/\/)?(www\.)?(.+?)(\/)?$/';
|
$regex = '/^(https?:\/\/)?(www\.)?(.+?)(\/)?$/';
|
||||||
if (
|
if (
|
||||||
empty(static::PARAMETERS)
|
empty($this->getParameters())
|
||||||
&& preg_match($regex, $url, $urlMatches) > 0
|
&& preg_match($regex, $url, $urlMatches) > 0
|
||||||
&& preg_match($regex, static::URI, $bridgeUriMatches) > 0
|
&& preg_match($regex, static::URI, $bridgeUriMatches) > 0
|
||||||
&& $urlMatches[3] === $bridgeUriMatches[3]
|
&& $urlMatches[3] === $bridgeUriMatches[3]
|
||||||
|
Loading…
Reference in New Issue
Block a user