MyShaarli/tests/utils/FakeConfigManager.php
VirtualTam 44acf70681 Refactor login / ban authentication steps
Relates to https://github.com/shaarli/Shaarli/issues/324

Added:
- Add the `LoginManager` class to manage logins and bans

Changed:
- Refactor IP ban management
- Simplify logic
- Avoid using globals, inject dependencies

Fixed:
- Use `ban_duration` instead of `ban_after` when setting a new ban

Signed-off-by: VirtualTam <virtualtam@flibidi.net>
2018-02-05 18:12:09 +01:00

45 lines
862 B
PHP

<?php
/**
* Fake ConfigManager
*/
class FakeConfigManager
{
protected $values = [];
/**
* Initialize with test values
*
* @param array $values Initial values
*/
public function __construct($values = [])
{
$this->values = $values;
}
/**
* Set a given value
*
* @param string $key Key of the value to set
* @param mixed $value Value to set
*/
public function set($key, $value)
{
$this->values[$key] = $value;
}
/**
* Get a given configuration value
*
* @param string $key Index of the value to retrieve
*
* @return mixed The value if set, else the name of the key
*/
public function get($key)
{
if (isset($this->values[$key])) {
return $this->values[$key];
}
return $key;
}
}