deleted file object-cache.php
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@ -1,51 +0,0 @@
|
||||
<?php
|
||||
|
||||
class W3TCG_Google_Service_Exception extends W3TCG_Google_Exception
|
||||
{
|
||||
/**
|
||||
* Optional list of errors returned in a JSON body of an HTTP error response.
|
||||
*/
|
||||
protected $errors = array();
|
||||
|
||||
/**
|
||||
* Override default constructor to add ability to set $errors.
|
||||
*
|
||||
* @param string $message
|
||||
* @param int $code
|
||||
* @param Exception|null $previous
|
||||
* @param [{string, string}] errors List of errors returned in an HTTP
|
||||
* response. Defaults to [].
|
||||
*/
|
||||
public function __construct(
|
||||
$message,
|
||||
$code = 0,
|
||||
Exception $previous = null,
|
||||
$errors = array()
|
||||
) {
|
||||
if (version_compare(PHP_VERSION, '5.3.0') >= 0) {
|
||||
parent::__construct($message, $code, $previous);
|
||||
} else {
|
||||
parent::__construct($message, $code);
|
||||
}
|
||||
|
||||
$this->errors = $errors;
|
||||
}
|
||||
|
||||
/**
|
||||
* An example of the possible errors returned.
|
||||
*
|
||||
* {
|
||||
* "domain": "global",
|
||||
* "reason": "authError",
|
||||
* "message": "Invalid Credentials",
|
||||
* "locationType": "header",
|
||||
* "location": "Authorization",
|
||||
* }
|
||||
*
|
||||
* @return [{string, string}] List of errors return in an HTTP response or [].
|
||||
*/
|
||||
public function getErrors()
|
||||
{
|
||||
return $this->errors;
|
||||
}
|
||||
}
|
@ -1,409 +0,0 @@
|
||||
<?php
|
||||
/*
|
||||
* Copyright 2010 Google Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
|
||||
* use this file except in compliance with the License. You may obtain a copy of
|
||||
* the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||
* License for the specific language governing permissions and limitations under
|
||||
* the License.
|
||||
*/
|
||||
|
||||
/**
|
||||
* Service definition for Oauth2 (v2).
|
||||
*
|
||||
* <p>
|
||||
* Lets you access OAuth2 protocol related APIs.
|
||||
* </p>
|
||||
*
|
||||
* <p>
|
||||
* For more information about this service, see the API
|
||||
* <a href="https://developers.google.com/accounts/docs/OAuth2" target="_blank">Documentation</a>
|
||||
* </p>
|
||||
*
|
||||
* @author Google, Inc.
|
||||
*/
|
||||
class W3TCG_Google_Service_Oauth2 extends W3TCG_Google_Service
|
||||
{
|
||||
/** Know your basic profile info and list of people in your circles.. */
|
||||
const PLUS_LOGIN = "https://www.googleapis.com/auth/plus.login";
|
||||
/** Know who you are on Google. */
|
||||
const PLUS_ME = "https://www.googleapis.com/auth/plus.me";
|
||||
/** View your email address. */
|
||||
const USERINFO_EMAIL = "https://www.googleapis.com/auth/userinfo.email";
|
||||
/** View your basic profile info. */
|
||||
const USERINFO_PROFILE = "https://www.googleapis.com/auth/userinfo.profile";
|
||||
|
||||
public $userinfo;
|
||||
public $userinfo_v2_me;
|
||||
private $base_methods;
|
||||
|
||||
/**
|
||||
* Constructs the internal representation of the Oauth2 service.
|
||||
*
|
||||
* @param W3TCG_Google_Client $client
|
||||
*/
|
||||
public function __construct(W3TCG_Google_Client $client)
|
||||
{
|
||||
parent::__construct($client);
|
||||
$this->servicePath = '';
|
||||
$this->version = 'v2';
|
||||
$this->serviceName = 'oauth2';
|
||||
|
||||
$this->userinfo = new W3TCG_Google_Service_Oauth2_Userinfo_Resource(
|
||||
$this,
|
||||
$this->serviceName,
|
||||
'userinfo',
|
||||
array(
|
||||
'methods' => array(
|
||||
'get' => array(
|
||||
'path' => 'oauth2/v2/userinfo',
|
||||
'httpMethod' => 'GET',
|
||||
'parameters' => array(),
|
||||
),
|
||||
)
|
||||
)
|
||||
);
|
||||
$this->userinfo_v2_me = new W3TCG_Google_Service_Oauth2_UserinfoV2Me_Resource(
|
||||
$this,
|
||||
$this->serviceName,
|
||||
'me',
|
||||
array(
|
||||
'methods' => array(
|
||||
'get' => array(
|
||||
'path' => 'userinfo/v2/me',
|
||||
'httpMethod' => 'GET',
|
||||
'parameters' => array(),
|
||||
),
|
||||
)
|
||||
)
|
||||
);
|
||||
$this->base_methods = new W3TCG_Google_Service_Resource(
|
||||
$this,
|
||||
$this->serviceName,
|
||||
'',
|
||||
array(
|
||||
'methods' => array(
|
||||
'tokeninfo' => array(
|
||||
'path' => 'oauth2/v2/tokeninfo',
|
||||
'httpMethod' => 'POST',
|
||||
'parameters' => array(
|
||||
'access_token' => array(
|
||||
'location' => 'query',
|
||||
'type' => 'string',
|
||||
),
|
||||
'id_token' => array(
|
||||
'location' => 'query',
|
||||
'type' => 'string',
|
||||
),
|
||||
),
|
||||
),
|
||||
)
|
||||
)
|
||||
);
|
||||
}
|
||||
/**
|
||||
* (tokeninfo)
|
||||
*
|
||||
* @param array $optParams Optional parameters.
|
||||
*
|
||||
* @opt_param string access_token
|
||||
*
|
||||
* @opt_param string id_token
|
||||
*
|
||||
* @return W3TCG_Google_Service_Oauth2_Tokeninfo
|
||||
*/
|
||||
public function tokeninfo($optParams = array())
|
||||
{
|
||||
$params = array();
|
||||
$params = array_merge($params, $optParams);
|
||||
return $this->base_methods->call('tokeninfo', array($params), "W3TCG_Google_Service_Oauth2_Tokeninfo");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* The "userinfo" collection of methods.
|
||||
* Typical usage is:
|
||||
* <code>
|
||||
* $oauth2Service = new W3TCG_Google_Service_Oauth2(...);
|
||||
* $userinfo = $oauth2Service->userinfo;
|
||||
* </code>
|
||||
*/
|
||||
class W3TCG_Google_Service_Oauth2_Userinfo_Resource extends W3TCG_Google_Service_Resource
|
||||
{
|
||||
|
||||
/**
|
||||
* (userinfo.get)
|
||||
*
|
||||
* @param array $optParams Optional parameters.
|
||||
* @return W3TCG_Google_Service_Oauth2_Userinfoplus
|
||||
*/
|
||||
public function get($optParams = array())
|
||||
{
|
||||
$params = array();
|
||||
$params = array_merge($params, $optParams);
|
||||
return $this->call('get', array($params), "W3TCG_Google_Service_Oauth2_Userinfoplus");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* The "v2" collection of methods.
|
||||
* Typical usage is:
|
||||
* <code>
|
||||
* $oauth2Service = new W3TCG_Google_Service_Oauth2(...);
|
||||
* $v2 = $oauth2Service->v2;
|
||||
* </code>
|
||||
*/
|
||||
class W3TCG_Google_Service_Oauth2_UserinfoV2_Resource extends W3TCG_Google_Service_Resource
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* The "me" collection of methods.
|
||||
* Typical usage is:
|
||||
* <code>
|
||||
* $oauth2Service = new W3TCG_Google_Service_Oauth2(...);
|
||||
* $me = $oauth2Service->me;
|
||||
* </code>
|
||||
*/
|
||||
class W3TCG_Google_Service_Oauth2_UserinfoV2Me_Resource extends W3TCG_Google_Service_Resource
|
||||
{
|
||||
|
||||
/**
|
||||
* (me.get)
|
||||
*
|
||||
* @param array $optParams Optional parameters.
|
||||
* @return W3TCG_Google_Service_Oauth2_Userinfoplus
|
||||
*/
|
||||
public function get($optParams = array())
|
||||
{
|
||||
$params = array();
|
||||
$params = array_merge($params, $optParams);
|
||||
return $this->call('get', array($params), "W3TCG_Google_Service_Oauth2_Userinfoplus");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
class W3TCG_Google_Service_Oauth2_Tokeninfo extends W3TCG_Google_Model
|
||||
{
|
||||
protected $internal_gapi_mappings = array(
|
||||
"accessType" => "access_type",
|
||||
"expiresIn" => "expires_in",
|
||||
"issuedTo" => "issued_to",
|
||||
"userId" => "user_id",
|
||||
"verifiedEmail" => "verified_email",
|
||||
);
|
||||
public $accessType;
|
||||
public $audience;
|
||||
public $email;
|
||||
public $expiresIn;
|
||||
public $issuedTo;
|
||||
public $scope;
|
||||
public $userId;
|
||||
public $verifiedEmail;
|
||||
|
||||
public function setAccessType($accessType)
|
||||
{
|
||||
$this->accessType = $accessType;
|
||||
}
|
||||
|
||||
public function getAccessType()
|
||||
{
|
||||
return $this->accessType;
|
||||
}
|
||||
public function setAudience($audience)
|
||||
{
|
||||
$this->audience = $audience;
|
||||
}
|
||||
|
||||
public function getAudience()
|
||||
{
|
||||
return $this->audience;
|
||||
}
|
||||
public function setEmail($email)
|
||||
{
|
||||
$this->email = $email;
|
||||
}
|
||||
|
||||
public function getEmail()
|
||||
{
|
||||
return $this->email;
|
||||
}
|
||||
public function setExpiresIn($expiresIn)
|
||||
{
|
||||
$this->expiresIn = $expiresIn;
|
||||
}
|
||||
|
||||
public function getExpiresIn()
|
||||
{
|
||||
return $this->expiresIn;
|
||||
}
|
||||
public function setIssuedTo($issuedTo)
|
||||
{
|
||||
$this->issuedTo = $issuedTo;
|
||||
}
|
||||
|
||||
public function getIssuedTo()
|
||||
{
|
||||
return $this->issuedTo;
|
||||
}
|
||||
public function setScope($scope)
|
||||
{
|
||||
$this->scope = $scope;
|
||||
}
|
||||
|
||||
public function getScope()
|
||||
{
|
||||
return $this->scope;
|
||||
}
|
||||
public function setUserId($userId)
|
||||
{
|
||||
$this->userId = $userId;
|
||||
}
|
||||
|
||||
public function getUserId()
|
||||
{
|
||||
return $this->userId;
|
||||
}
|
||||
public function setVerifiedEmail($verifiedEmail)
|
||||
{
|
||||
$this->verifiedEmail = $verifiedEmail;
|
||||
}
|
||||
|
||||
public function getVerifiedEmail()
|
||||
{
|
||||
return $this->verifiedEmail;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
class W3TCG_Google_Service_Oauth2_Userinfoplus extends W3TCG_Google_Model
|
||||
{
|
||||
protected $internal_gapi_mappings = array(
|
||||
"familyName" => "family_name",
|
||||
"givenName" => "given_name",
|
||||
"verifiedEmail" => "verified_email",
|
||||
);
|
||||
public $email;
|
||||
public $familyName;
|
||||
public $gender;
|
||||
public $givenName;
|
||||
public $hd;
|
||||
public $id;
|
||||
public $link;
|
||||
public $locale;
|
||||
public $name;
|
||||
public $picture;
|
||||
public $verifiedEmail;
|
||||
|
||||
public function setEmail($email)
|
||||
{
|
||||
$this->email = $email;
|
||||
}
|
||||
|
||||
public function getEmail()
|
||||
{
|
||||
return $this->email;
|
||||
}
|
||||
public function setFamilyName($familyName)
|
||||
{
|
||||
$this->familyName = $familyName;
|
||||
}
|
||||
|
||||
public function getFamilyName()
|
||||
{
|
||||
return $this->familyName;
|
||||
}
|
||||
public function setGender($gender)
|
||||
{
|
||||
$this->gender = $gender;
|
||||
}
|
||||
|
||||
public function getGender()
|
||||
{
|
||||
return $this->gender;
|
||||
}
|
||||
public function setGivenName($givenName)
|
||||
{
|
||||
$this->givenName = $givenName;
|
||||
}
|
||||
|
||||
public function getGivenName()
|
||||
{
|
||||
return $this->givenName;
|
||||
}
|
||||
public function setHd($hd)
|
||||
{
|
||||
$this->hd = $hd;
|
||||
}
|
||||
|
||||
public function getHd()
|
||||
{
|
||||
return $this->hd;
|
||||
}
|
||||
public function setId($id)
|
||||
{
|
||||
$this->id = $id;
|
||||
}
|
||||
|
||||
public function getId()
|
||||
{
|
||||
return $this->id;
|
||||
}
|
||||
public function setLink($link)
|
||||
{
|
||||
$this->link = $link;
|
||||
}
|
||||
|
||||
public function getLink()
|
||||
{
|
||||
return $this->link;
|
||||
}
|
||||
public function setLocale($locale)
|
||||
{
|
||||
$this->locale = $locale;
|
||||
}
|
||||
|
||||
public function getLocale()
|
||||
{
|
||||
return $this->locale;
|
||||
}
|
||||
public function setName($name)
|
||||
{
|
||||
$this->name = $name;
|
||||
}
|
||||
|
||||
public function getName()
|
||||
{
|
||||
return $this->name;
|
||||
}
|
||||
public function setPicture($picture)
|
||||
{
|
||||
$this->picture = $picture;
|
||||
}
|
||||
|
||||
public function getPicture()
|
||||
{
|
||||
return $this->picture;
|
||||
}
|
||||
public function setVerifiedEmail($verifiedEmail)
|
||||
{
|
||||
$this->verifiedEmail = $verifiedEmail;
|
||||
}
|
||||
|
||||
public function getVerifiedEmail()
|
||||
{
|
||||
return $this->verifiedEmail;
|
||||
}
|
||||
|
||||
}
|
@ -1,203 +0,0 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright 2010 Google Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/**
|
||||
* Implements the actual methods/resources of the discovered Google API using magic function
|
||||
* calling overloading (__call()), which on call will see if the method name (plus.activities.list)
|
||||
* is available in this service, and if so construct an apiHttpRequest representing it.
|
||||
*
|
||||
* @author Chris Chabot <chabotc@google.com>
|
||||
* @author Chirag Shah <chirags@google.com>
|
||||
*
|
||||
*/
|
||||
class W3TCG_Google_Service_Resource
|
||||
{
|
||||
// Valid query parameters that work, but don't appear in discovery.
|
||||
private $stackParameters = array(
|
||||
'alt' => array('type' => 'string', 'location' => 'query'),
|
||||
'fields' => array('type' => 'string', 'location' => 'query'),
|
||||
'trace' => array('type' => 'string', 'location' => 'query'),
|
||||
'userIp' => array('type' => 'string', 'location' => 'query'),
|
||||
'userip' => array('type' => 'string', 'location' => 'query'),
|
||||
'quotaUser' => array('type' => 'string', 'location' => 'query'),
|
||||
'data' => array('type' => 'string', 'location' => 'body'),
|
||||
'mimeType' => array('type' => 'string', 'location' => 'header'),
|
||||
'uploadType' => array('type' => 'string', 'location' => 'query'),
|
||||
'mediaUpload' => array('type' => 'complex', 'location' => 'query'),
|
||||
);
|
||||
|
||||
/** @var W3TCG_Google_Service $service */
|
||||
private $service;
|
||||
|
||||
/** @var W3TCG_Google_Client $client */
|
||||
private $client;
|
||||
|
||||
/** @var string $serviceName */
|
||||
private $serviceName;
|
||||
|
||||
/** @var string $resourceName */
|
||||
private $resourceName;
|
||||
|
||||
/** @var array $methods */
|
||||
private $methods;
|
||||
|
||||
public function __construct($service, $serviceName, $resourceName, $resource)
|
||||
{
|
||||
$this->service = $service;
|
||||
$this->client = $service->getClient();
|
||||
$this->serviceName = $serviceName;
|
||||
$this->resourceName = $resourceName;
|
||||
$this->methods = isset($resource['methods']) ?
|
||||
$resource['methods'] :
|
||||
array($resourceName => $resource);
|
||||
}
|
||||
|
||||
/**
|
||||
* TODO(ianbarber): This function needs simplifying.
|
||||
* @param $name
|
||||
* @param $arguments
|
||||
* @param $expected_class - optional, the expected class name
|
||||
* @return W3TCG_Google_Http_Request|expected_class
|
||||
* @throws W3TCG_Google_Exception
|
||||
*/
|
||||
public function call($name, $arguments, $expected_class = null)
|
||||
{
|
||||
if (! isset($this->methods[$name])) {
|
||||
throw new W3TCG_Google_Exception(
|
||||
"Unknown function: " .
|
||||
"{$this->serviceName}->{$this->resourceName}->{$name}()"
|
||||
);
|
||||
}
|
||||
$method = $this->methods[$name];
|
||||
$parameters = $arguments[0];
|
||||
|
||||
// postBody is a special case since it's not defined in the discovery
|
||||
// document as parameter, but we abuse the param entry for storing it.
|
||||
$postBody = null;
|
||||
if (isset($parameters['postBody'])) {
|
||||
if ($parameters['postBody'] instanceof W3TCG_Google_Model) {
|
||||
// In the cases the post body is an existing object, we want
|
||||
// to use the smart method to create a simple object for
|
||||
// for JSONification.
|
||||
$parameters['postBody'] = $parameters['postBody']->toSimpleObject();
|
||||
} else if (is_object($parameters['postBody'])) {
|
||||
// If the post body is another kind of object, we will try and
|
||||
// wrangle it into a sensible format.
|
||||
$parameters['postBody'] =
|
||||
$this->convertToArrayAndStripNulls($parameters['postBody']);
|
||||
}
|
||||
$postBody = json_encode($parameters['postBody']);
|
||||
unset($parameters['postBody']);
|
||||
}
|
||||
|
||||
// TODO(ianbarber): optParams here probably should have been
|
||||
// handled already - this may well be redundant code.
|
||||
if (isset($parameters['optParams'])) {
|
||||
$optParams = $parameters['optParams'];
|
||||
unset($parameters['optParams']);
|
||||
$parameters = array_merge($parameters, $optParams);
|
||||
}
|
||||
|
||||
if (!isset($method['parameters'])) {
|
||||
$method['parameters'] = array();
|
||||
}
|
||||
|
||||
$method['parameters'] = array_merge(
|
||||
$method['parameters'],
|
||||
$this->stackParameters
|
||||
);
|
||||
foreach ($parameters as $key => $val) {
|
||||
if ($key != 'postBody' && ! isset($method['parameters'][$key])) {
|
||||
throw new W3TCG_Google_Exception("($name) unknown parameter: '$key'");
|
||||
}
|
||||
}
|
||||
|
||||
foreach ($method['parameters'] as $paramName => $paramSpec) {
|
||||
if (isset($paramSpec['required']) &&
|
||||
$paramSpec['required'] &&
|
||||
! isset($parameters[$paramName])
|
||||
) {
|
||||
throw new W3TCG_Google_Exception("($name) missing required param: '$paramName'");
|
||||
}
|
||||
if (isset($parameters[$paramName])) {
|
||||
$value = $parameters[$paramName];
|
||||
$parameters[$paramName] = $paramSpec;
|
||||
$parameters[$paramName]['value'] = $value;
|
||||
unset($parameters[$paramName]['required']);
|
||||
} else {
|
||||
// Ensure we don't pass nulls.
|
||||
unset($parameters[$paramName]);
|
||||
}
|
||||
}
|
||||
|
||||
$servicePath = $this->service->servicePath;
|
||||
|
||||
$url = W3TCG_Google_Http_REST::createRequestUri(
|
||||
$servicePath,
|
||||
$method['path'],
|
||||
$parameters
|
||||
);
|
||||
$httpRequest = new W3TCG_Google_Http_Request(
|
||||
$url,
|
||||
$method['httpMethod'],
|
||||
null,
|
||||
$postBody
|
||||
);
|
||||
$httpRequest->setBaseComponent($this->client->getBasePath());
|
||||
|
||||
if ($postBody) {
|
||||
$contentTypeHeader = array();
|
||||
$contentTypeHeader['content-type'] = 'application/json; charset=UTF-8';
|
||||
$httpRequest->setRequestHeaders($contentTypeHeader);
|
||||
$httpRequest->setPostBody($postBody);
|
||||
}
|
||||
|
||||
$httpRequest = $this->client->getAuth()->sign($httpRequest);
|
||||
$httpRequest->setExpectedClass($expected_class);
|
||||
|
||||
if (isset($parameters['data']) &&
|
||||
($parameters['uploadType']['value'] == 'media' || $parameters['uploadType']['value'] == 'multipart')) {
|
||||
// If we are doing a simple media upload, trigger that as a convenience.
|
||||
$mfu = new W3TCG_Google_Http_MediaFileUpload(
|
||||
$this->client,
|
||||
$httpRequest,
|
||||
isset($parameters['mimeType']) ? $parameters['mimeType']['value'] : 'application/octet-stream',
|
||||
$parameters['data']['value']
|
||||
);
|
||||
}
|
||||
|
||||
if ($this->client->shouldDefer()) {
|
||||
// If we are in batch or upload mode, return the raw request.
|
||||
return $httpRequest;
|
||||
}
|
||||
|
||||
return $this->client->execute($httpRequest);
|
||||
}
|
||||
|
||||
protected function convertToArrayAndStripNulls($o)
|
||||
{
|
||||
$o = (array) $o;
|
||||
foreach ($o as $k => $v) {
|
||||
if ($v === null) {
|
||||
unset($o[$k]);
|
||||
} elseif (is_object($v) || is_array($v)) {
|
||||
$o[$k] = $this->convertToArrayAndStripNulls($o[$k]);
|
||||
}
|
||||
}
|
||||
return $o;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user