lib: Add phpdoc to class `AuthChain'

refs #5685
This commit is contained in:
Eric Lippmann 2014-06-02 15:46:15 +02:00
parent 79fb8b1e0d
commit 2274b6e11e
1 changed files with 41 additions and 0 deletions

View File

@ -7,40 +7,81 @@ use Zend_Config;
use Icinga\Logger\Logger;
use Icinga\Exception\ConfigurationError;
/**
* Iterate user backends created from config
*/
class AuthChain implements Iterator
{
/**
* User backends configuration
*
* @var Zend_Config
*/
private $config;
/**
* The consecutive user backend while looping
*
* @var UserBackend
*/
private $currentBackend;
/**
* Create a new authentication chain from config
*
* @param Zend_Config $config User backends configuration
*/
public function __construct(Zend_Config $config)
{
$this->config = $config;
}
/**
* Rewind the chain
*/
public function rewind()
{
$this->config->rewind();
$this->currentBackend = null;
}
/**
* Return the current user backend
*
* @return UserBackend
*/
public function current()
{
return $this->currentBackend;
}
/**
* Return the key of the current user backend config
*
* @return string
*/
public function key()
{
return $this->config->key();
}
/**
* Move forward to the next user backend config
*/
public function next()
{
$this->config->next();
}
/**
* Check if the current user backend is valid, i.e. it's enabled and the config's valid
*
* @return bool
*/
public function valid()
{
if (!$this->config->valid()) {
// Stop when there are no more backends to check
return false;
}
$backendConfig = $this->config->current();