View source
<?php
require_once dirname(__FILE__) . '/OAuthStoreAbstract.class.php';
class OAuthStoreSession extends OAuthStoreAbstract {
private $session;
public function __construct($options = array()) {
if (!session_id()) {
session_start();
}
if (isset($options['consumer_key']) && isset($options['consumer_secret'])) {
$this->session =& $_SESSION['oauth_' . $options['consumer_key']];
$this->session['consumer_key'] = $options['consumer_key'];
$this->session['consumer_secret'] = $options['consumer_secret'];
$this->session['signature_methods'] = array(
'HMAC-SHA1',
);
$this->session['server_uri'] = $options['server_uri'];
$this->session['request_token_uri'] = $options['request_token_uri'];
$this->session['authorize_uri'] = $options['authorize_uri'];
$this->session['access_token_uri'] = $options['access_token_uri'];
}
else {
throw new OAuthException2("OAuthStoreSession needs consumer_token and consumer_secret");
}
}
public function getSecretsForVerify($consumer_key, $token, $token_type = 'access') {
throw new OAuthException2("OAuthStoreSession doesn't support " . __METHOD__);
}
public function getSecretsForSignature($uri, $user_id) {
return $this->session;
}
public function getServerTokenSecrets($consumer_key, $token, $token_type, $user_id, $name = '') {
if ($consumer_key != $this->session['consumer_key']) {
return array();
}
return array(
'consumer_key' => $consumer_key,
'consumer_secret' => $this->session['consumer_secret'],
'token' => $token,
'token_secret' => $this->session['token_secret'],
'token_name' => $name,
'signature_methods' => $this->session['signature_methods'],
'server_uri' => $this->session['server_uri'],
'request_token_uri' => $this->session['request_token_uri'],
'authorize_uri' => $this->session['authorize_uri'],
'access_token_uri' => $this->session['access_token_uri'],
'token_ttl' => 3600,
);
}
public function addServerToken($consumer_key, $token_type, $token, $token_secret, $user_id, $options = array()) {
$this->session['token_type'] = $token_type;
$this->session['token'] = $token;
$this->session['token_secret'] = $token_secret;
}
public function deleteServer($consumer_key, $user_id, $user_is_admin = false) {
throw new OAuthException2("OAuthStoreSession doesn't support " . __METHOD__);
}
public function getServer($consumer_key, $user_id, $user_is_admin = false) {
return array(
'id' => 0,
'user_id' => $user_id,
'consumer_key' => $this->session['consumer_key'],
'consumer_secret' => $this->session['consumer_secret'],
'signature_methods' => $this->session['signature_methods'],
'server_uri' => $this->session['server_uri'],
'request_token_uri' => $this->session['request_token_uri'],
'authorize_uri' => $this->session['authorize_uri'],
'access_token_uri' => $this->session['access_token_uri'],
);
}
public function getServerForUri($uri, $user_id) {
throw new OAuthException2("OAuthStoreSession doesn't support " . __METHOD__);
}
public function listServerTokens($user_id) {
throw new OAuthException2("OAuthStoreSession doesn't support " . __METHOD__);
}
public function countServerTokens($consumer_key) {
throw new OAuthException2("OAuthStoreSession doesn't support " . __METHOD__);
}
public function getServerToken($consumer_key, $token, $user_id) {
throw new OAuthException2("OAuthStoreSession doesn't support " . __METHOD__);
}
public function deleteServerToken($consumer_key, $token, $user_id, $user_is_admin = false) {
}
public function setServerTokenTtl($consumer_key, $token, $token_ttl) {
}
public function listServers($q = '', $user_id) {
throw new OAuthException2("OAuthStoreSession doesn't support " . __METHOD__);
}
public function updateServer($server, $user_id, $user_is_admin = false) {
throw new OAuthException2("OAuthStoreSession doesn't support " . __METHOD__);
}
public function updateConsumer($consumer, $user_id, $user_is_admin = false) {
throw new OAuthException2("OAuthStoreSession doesn't support " . __METHOD__);
}
public function deleteConsumer($consumer_key, $user_id, $user_is_admin = false) {
throw new OAuthException2("OAuthStoreSession doesn't support " . __METHOD__);
}
public function getConsumer($consumer_key, $user_id, $user_is_admin = false) {
throw new OAuthException2("OAuthStoreSession doesn't support " . __METHOD__);
}
public function getConsumerStatic() {
throw new OAuthException2("OAuthStoreSession doesn't support " . __METHOD__);
}
public function addConsumerRequestToken($consumer_key, $options = array()) {
throw new OAuthException2("OAuthStoreSession doesn't support " . __METHOD__);
}
public function getConsumerRequestToken($token) {
throw new OAuthException2("OAuthStoreSession doesn't support " . __METHOD__);
}
public function deleteConsumerRequestToken($token) {
throw new OAuthException2("OAuthStoreSession doesn't support " . __METHOD__);
}
public function authorizeConsumerRequestToken($token, $user_id, $referrer_host = '') {
throw new OAuthException2("OAuthStoreSession doesn't support " . __METHOD__);
}
public function countConsumerAccessTokens($consumer_key) {
throw new OAuthException2("OAuthStoreSession doesn't support " . __METHOD__);
}
public function exchangeConsumerRequestForAccessToken($token, $options = array()) {
throw new OAuthException2("OAuthStoreSession doesn't support " . __METHOD__);
}
public function getConsumerAccessToken($token, $user_id) {
throw new OAuthException2("OAuthStoreSession doesn't support " . __METHOD__);
}
public function deleteConsumerAccessToken($token, $user_id, $user_is_admin = false) {
throw new OAuthException2("OAuthStoreSession doesn't support " . __METHOD__);
}
public function setConsumerAccessTokenTtl($token, $ttl) {
throw new OAuthException2("OAuthStoreSession doesn't support " . __METHOD__);
}
public function listConsumers($user_id) {
throw new OAuthException2("OAuthStoreSession doesn't support " . __METHOD__);
}
public function listConsumerApplications($begin = 0, $total = 25) {
throw new OAuthException2("OAuthStoreSession doesn't support " . __METHOD__);
}
public function listConsumerTokens($user_id) {
throw new OAuthException2("OAuthStoreSession doesn't support " . __METHOD__);
}
public function checkServerNonce($consumer_key, $token, $timestamp, $nonce) {
throw new OAuthException2("OAuthStoreSession doesn't support " . __METHOD__);
}
public function addLog($keys, $received, $sent, $base_string, $notes, $user_id = null) {
throw new OAuthException2("OAuthStoreSession doesn't support " . __METHOD__);
}
public function listLog($options, $user_id) {
throw new OAuthException2("OAuthStoreSession doesn't support " . __METHOD__);
}
public function install() {
throw new OAuthException2("OAuthStoreSession doesn't support " . __METHOD__);
}
}