Update Oauth2 application

This commit is contained in:
Romain Neutron
2012-09-21 15:52:53 +02:00
parent 4b20df1ea7
commit f40764a2a3
6 changed files with 134 additions and 123 deletions

View File

@@ -9,6 +9,8 @@
* file that was distributed with this source code.
*/
use Alchemy\Phrasea\Application;
/**
*
* @package OAuth2 Connector
@@ -21,22 +23,22 @@
*/
class API_OAuth2_RefreshToken
{
protected $appbox;
protected $app;
protected $token;
protected $account_id;
protected $account;
protected $expires;
protected $scope;
public function __construct(appbox &$appbox, $token)
public function __construct(Application $app, $token)
{
$this->appbox = $appbox;
$this->app = $app;
$this->token = $token;
$sql = 'SELECT api_account_id, UNIX_TIMESTAMP(expires) AS expires, scope
FROM api_oauth_refresh_tokens WHERE refresh_token = :token';
$stmt = $this->appbox->get_connection()->prepare($sql);
$stmt = $this->app['phraseanet.appbox']->get_connection()->prepare($sql);
$stmt->execute(array(':token' => $this->token));
$row = $stmt->fetch(PDO::FETCH_ASSOC);
$stmt->closeCursor();
@@ -59,8 +61,9 @@ class API_OAuth2_RefreshToken
*/
public function get_account()
{
if ( ! $this->account)
$this->account = new API_OAuth2_Account($this->appbox, $this->account_id);
if ( ! $this->account) {
$this->account = new API_OAuth2_Account($this->app, $this->account_id);
}
return $this->account;
}
@@ -84,7 +87,7 @@ class API_OAuth2_RefreshToken
$sql = 'DELETE FROM api_oauth_refresh_tokens
WHERE refresh_token = :refresh_token';
$stmt = $this->appbox->get_connection()->prepare($sql);
$stmt = $this->app['phraseanet.appbox']->get_connection()->prepare($sql);
$stmt->execute(array(":refresh_token" => $this->token));
$stmt->closeCursor();
@@ -93,16 +96,16 @@ class API_OAuth2_RefreshToken
/**
*
* @param appbox $appbox
* @param Application $app
* @param API_OAuth2_Account $account
* @return array
*/
public static function load_by_account(appbox &$appbox, API_OAuth2_Account $account)
public static function load_by_account(Application $app, API_OAuth2_Account $account)
{
$sql = 'SELECT refresh_token FROM api_oauth_refresh_tokens
WHERE api_account_id = :account_id';
$stmt = $appbox->get_connection()->prepare($sql);
$stmt = $app['phraseanet.appbox']->get_connection()->prepare($sql);
$stmt->execute(array(':account_id' => $account->get_id()));
$rs = $stmt->fetchAll(PDO::FETCH_ASSOC);
$stmt->closeCursor();
@@ -110,7 +113,7 @@ class API_OAuth2_RefreshToken
$tokens = array();
foreach ($rs as $row) {
$tokens[] = new API_OAuth2_RefreshToken($appbox, $row['refresh_token']);
$tokens[] = new API_OAuth2_RefreshToken($app, $row['refresh_token']);
}
return $tokens;
@@ -118,20 +121,20 @@ class API_OAuth2_RefreshToken
/**
*
* @param appbox $appbox
* @param Application $app
* @param API_OAuth2_Account $account
* @param int $expires
* @param type $refresh_token
* @param type $scope
* @return API_OAuth2_RefreshToken
*/
public static function create(appbox &$appbox, API_OAuth2_Account $account, $expires, $refresh_token, $scope)
public static function create(Application $app, API_OAuth2_Account $account, $expires, $refresh_token, $scope)
{
$sql = 'INSERT INTO api_oauth_refresh_tokens
(refresh_token, api_account_id, expires, scope)
VALUES (:refresh_token, :account_id, :expires, :scope)';
$stmt = $appbox->get_connection()->prepare($sql);
$stmt = $app['phraseanet.appbox']->get_connection()->prepare($sql);
$params = array(
":refresh_token" => $refresh_token,
":account_id" => $account->get_id(),
@@ -141,6 +144,6 @@ class API_OAuth2_RefreshToken
$stmt->execute($params);
$stmt->closeCursor();
return new self($appbox, $refresh_token);
return new self($app, $refresh_token);
}
}