From 5c7f2f17f9c471d306955df457c7cab4e5c6ed3b Mon Sep 17 00:00:00 2001 From: Snap Date: Thu, 16 Apr 2015 14:51:26 -0700 Subject: Google's OpenID Connect method $google_client_id & $google_client_secret must be added to db.inc.php! --- .../src/Google/Cache/Apc.php | 113 +++++++++++++++++++++ 1 file changed, 113 insertions(+) create mode 100644 includes/google-api-php-client-master/src/Google/Cache/Apc.php (limited to 'includes/google-api-php-client-master/src/Google/Cache/Apc.php') diff --git a/includes/google-api-php-client-master/src/Google/Cache/Apc.php b/includes/google-api-php-client-master/src/Google/Cache/Apc.php new file mode 100644 index 0000000..67a64dd --- /dev/null +++ b/includes/google-api-php-client-master/src/Google/Cache/Apc.php @@ -0,0 +1,113 @@ + + */ +class Google_Cache_Apc extends Google_Cache_Abstract +{ + /** + * @var Google_Client the current client + */ + private $client; + + public function __construct(Google_Client $client) + { + if (! function_exists('apc_add') ) { + $error = "Apc functions not available"; + + $client->getLogger()->error($error); + throw new Google_Cache_Exception($error); + } + + $this->client = $client; + } + + /** + * @inheritDoc + */ + public function get($key, $expiration = false) + { + $ret = apc_fetch($key); + if ($ret === false) { + $this->client->getLogger()->debug( + 'APC cache miss', + array('key' => $key) + ); + return false; + } + if (is_numeric($expiration) && (time() - $ret['time'] > $expiration)) { + $this->client->getLogger()->debug( + 'APC cache miss (expired)', + array('key' => $key, 'var' => $ret) + ); + $this->delete($key); + return false; + } + + $this->client->getLogger()->debug( + 'APC cache hit', + array('key' => $key, 'var' => $ret) + ); + + return $ret['data']; + } + + /** + * @inheritDoc + */ + public function set($key, $value) + { + $var = array('time' => time(), 'data' => $value); + $rc = apc_store($key, $var); + + if ($rc == false) { + $this->client->getLogger()->error( + 'APC cache set failed', + array('key' => $key, 'var' => $var) + ); + throw new Google_Cache_Exception("Couldn't store data"); + } + + $this->client->getLogger()->debug( + 'APC cache set', + array('key' => $key, 'var' => $var) + ); + } + + /** + * @inheritDoc + * @param String $key + */ + public function delete($key) + { + $this->client->getLogger()->debug( + 'APC cache delete', + array('key' => $key) + ); + apc_delete($key); + } +} -- cgit v1.2.3