Commit 2144637e authored by Pasvaz's avatar Pasvaz

Handles Redis password

If password is set in the config (database.php), before to issue any command it starts the Auth process, otherwise it starts with SELECT as usuale.
parent 23d23dd0
...@@ -16,6 +16,13 @@ class Redis { ...@@ -16,6 +16,13 @@ class Redis {
*/ */
protected $port; protected $port;
/**
* The database password, if present.
*
* @var string
*/
protected $password;
/** /**
* The database number the connection selects on load. * The database number the connection selects on load.
* *
...@@ -45,10 +52,11 @@ class Redis { ...@@ -45,10 +52,11 @@ class Redis {
* @param int $database * @param int $database
* @return void * @return void
*/ */
public function __construct($host, $port, $database = 0) public function __construct($host, $port, $password = null, $database = 0)
{ {
$this->host = $host; $this->host = $host;
$this->port = $port; $this->port = $port;
$this->password = $password;
$this->database = $database; $this->database = $database;
} }
...@@ -79,7 +87,12 @@ class Redis { ...@@ -79,7 +87,12 @@ class Redis {
extract($config); extract($config);
static::$databases[$name] = new static($host, $port, $database); if ( ! isset($password))
{
$password = null;
}
static::$databases[$name] = new static($host, $port, $password, $database);
} }
return static::$databases[$name]; return static::$databases[$name];
...@@ -153,6 +166,11 @@ class Redis { ...@@ -153,6 +166,11 @@ class Redis {
throw new \Exception("Error making Redis connection: {$error} - {$message}"); throw new \Exception("Error making Redis connection: {$error} - {$message}");
} }
if ( $this->password )
{
$this->auth($this->password);
}
$this->select($this->database); $this->select($this->database);
return $this->connection; return $this->connection;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment