本文整理汇总了PHP中Google_Config类的典型用法代码示例。如果您正苦于以下问题:PHP Google_Config类的具体用法?PHP Google_Config怎么用?PHP Google_Config使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Google_Config类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的PHP代码示例。
示例1: make
/**
* @param string $name
* @return \League\Flysystem\AdapterInterface
* @throws \RuntimeException
*/
public static function make($name)
{
$connections = Config::get('storage.connections');
if (!isset($connections[$name])) {
throw new \RuntimeException(sprintf('The storage connection %d does not exist.', $name));
}
$connection = $connections[$name];
$connection['adapter'] = strtoupper($connection['adapter']);
switch ($connection['adapter']) {
case 'LOCAL':
return new Local($connection['root_path'], $connection['public_url_base']);
case 'RACKSPACE':
$service = isset($connection['service']) ? Config::get($connection['service']) : Config::get('services.rackspace');
$client = new Rackspace($service['api_endpoint'], array('username' => $service['username'], 'tenantName' => $service['tenant_name'], 'apiKey' => $service['api_key']));
$store = $client->objectStoreService($connection['store'], $connection['region']);
$container = $store->getContainer($connection['container']);
return new RackspaceAdapter($container);
case 'AWS':
$service = isset($connection['service']) ? Config::get($connection['service']) : Config::get('services.aws');
$client = S3Client::factory(array('credentials' => array('key' => $service['access_key'], 'secret' => $service['secret_key']), 'region' => $service['region'], 'version' => 'latest'));
return new AwsS3Adapter($client, $connection['bucket']);
case 'GCLOUD':
$service = isset($connection['service']) ? Config::get($connection['service']) : Config::get('services.google_cloud');
$credentials = new \Google_Auth_AssertionCredentials($service['service_account'], [\Google_Service_Storage::DEVSTORAGE_FULL_CONTROL], file_get_contents($service['key_file']), $service['secret']);
$config = new \Google_Config();
$config->setAuthClass(GoogleAuthOAuth2::class);
$client = new \Google_Client($config);
$client->setAssertionCredentials($credentials);
$client->setDeveloperKey($service['developer_key']);
$service = new \Google_Service_Storage($client);
return new GoogleStorageAdapter($service, $connection['bucket']);
}
throw new \RuntimeException(sprintf('The storage adapter %s is invalid.', $connection['adapter']));
}
开发者ID:Superbalist,项目名称:laravel4-storage,代码行数:39,代码来源:StorageAdapterFactory.php
示例2: get
public function get()
{
$callback = 'http://api.soundeavor.com/User/Auth/Login/Google/index.php';
$config = new \Google_Config();
$config->setApplicationName('Soundeavor');
$config->setClientId(Config::getConfig('GoogleClientId'));
$config->setClientSecret(Config::getConfig('GoogleClientSecret'));
$config->setRedirectUri($callback);
$client = new \Google_Client($config);
/*
* Add scopes (permissions) for the client https://developers.google.com/oauthplayground/
*/
$client->addScope('https://www.googleapis.com/auth/plus.me');
if (!isset($_GET['code'])) {
$loginUrl = $client->createAuthUrl();
header('Location: ' . $loginUrl);
}
$code = $_GET['code'];
$client->authenticate($code);
$accessToken = $client->getAccessToken();
$accessToken = $accessToken['access_token'];
$service = new \Google_Service_Plus($client);
$scopes = $service->availableScopes;
print_r($scopes);
die;
}
开发者ID:kris-nova,项目名称:API,代码行数:26,代码来源:Google.php
示例3: testExecutorSelection
public function testExecutorSelection()
{
$client = $this->getClient();
$this->assertInstanceOf('Google_IO_Curl', $client->getIo());
$config = new Google_Config();
$config->setIoClass('Google_IO_Stream');
$client = new Google_Client($config);
$this->assertInstanceOf('Google_IO_Stream', $client->getIo());
}
开发者ID:sacredwebsite,项目名称:scalr,代码行数:9,代码来源:IoTest.php
示例4: testExecutorSelection
public function testExecutorSelection()
{
$default = function_exists('curl_version') ? 'Google_IO_Curl' : 'Google_IO_Stream';
$client = $this->getClient();
$this->assertInstanceOf($default, $client->getIo());
$config = new Google_Config();
$config->setIoClass('Google_IO_Stream');
$client = new Google_Client($config);
$this->assertInstanceOf('Google_IO_Stream', $client->getIo());
}
开发者ID:dasatti,项目名称:dashboard,代码行数:10,代码来源:IoTest.php
示例5: createClient
/**
* Creates a google client
*
* @return Google_Client
*/
public function createClient()
{
$config = new \Google_Config();
$config->setClassConfig('Google_Cache_File', array('directory' => $this->cacheDir));
$client = new \Google_Client($config);
// set assertion credentials
$client->setAssertionCredentials(new \Google_Auth_AssertionCredentials($this->settings->get('Analytics', 'email'), array('https://www.googleapis.com/auth/analytics.readonly'), base64_decode($this->settings->get('Analytics', 'certificate'))));
$client->setAccessType('offline_access');
return $client;
}
开发者ID:forkcms,项目名称:forkcms,代码行数:15,代码来源:ClientFactory.php
示例6: __construct
public function __construct()
{
$this->gadwp = GADWP();
include_once GADWP_DIR . 'tools/autoload.php';
$config = new Google_Config();
$config->setCacheClass('Google_Cache_Null');
if (function_exists('curl_version')) {
$curlversion = curl_version();
if (isset($curlversion['version']) && version_compare(PHP_VERSION, '5.3.0') >= 0 && version_compare($curlversion['version'], '7.10.8') >= 0 && defined('GADWP_IP_VERSION') && GADWP_IP_VERSION) {
$config->setClassConfig('Google_IO_Curl', array('options' => array(CURLOPT_IPRESOLVE => GADWP_IP_VERSION)));
// Force CURL_IPRESOLVE_V4 or CURL_IPRESOLVE_V6
}
}
$this->client = new Google_Client($config);
$this->client->setScopes('https://www.googleapis.com/auth/analytics.readonly');
$this->client->setAccessType('offline');
$this->client->setApplicationName('Google Analytics Dashboard');
$this->client->setRedirectUri('urn:ietf:wg:oauth:2.0:oob');
$this->set_error_timeout();
$this->managequota = 'u' . get_current_user_id() . 's' . get_current_blog_id();
$this->access = array_map(array($this, 'map'), $this->access);
if ($this->gadwp->config->options['ga_dash_userapi']) {
$this->client->setClientId($this->gadwp->config->options['ga_dash_clientid']);
$this->client->setClientSecret($this->gadwp->config->options['ga_dash_clientsecret']);
$this->client->setDeveloperKey($this->gadwp->config->options['ga_dash_apikey']);
} else {
$this->client->setClientId($this->access[0]);
$this->client->setClientSecret($this->access[1]);
}
$this->service = new Google_Service_Analytics($this->client);
if ($this->gadwp->config->options['ga_dash_token']) {
$token = $this->gadwp->config->options['ga_dash_token'];
if ($token) {
try {
$this->client->setAccessToken($token);
$gadwp->config->options['ga_dash_token'] = $this->client->getAccessToken();
} catch (Google_IO_Exception $e) {
GADWP_Tools::set_cache('ga_dash_lasterror', date('Y-m-d H:i:s') . ': ' . esc_html($e), $this->error_timeout);
} catch (Google_Service_Exception $e) {
GADWP_Tools::set_cache('ga_dash_lasterror', date('Y-m-d H:i:s') . ': ' . esc_html("(" . $e->getCode() . ") " . $e->getMessage()), $this->error_timeout);
GADWP_Tools::set_cache('ga_dash_gapi_errors', array($e->getCode(), (array) $e->getErrors()), $this->error_timeout);
$this->reset_token();
} catch (Exception $e) {
GADWP_Tools::set_cache('ga_dash_lasterror', date('Y-m-d H:i:s') . ': ' . esc_html($e), $this->error_timeout);
$this->reset_token();
}
if (is_multisite() && $this->gadwp->config->options['ga_dash_network']) {
$this->gadwp->config->set_plugin_options(true);
} else {
$this->gadwp->config->set_plugin_options();
}
}
}
}
开发者ID:RagnarDanneskjold,项目名称:goodbyeloans.com,代码行数:54,代码来源:gapi.php
示例7: __construct
/**
* Google
* @param $params array - data from config.neon
* @param $cookieName String cookie name
* @param Nette\Http\Response $httpResponse
* @param Nette\Http\Request $httpRequest
*/
public function __construct($params, $cookieName, Nette\Http\Response $httpResponse, Nette\Http\Request $httpRequest)
{
$this->params = $params;
$this->cookieName = $cookieName;
$this->httpResponse = $httpResponse;
$this->httpRequest = $httpRequest;
$config = new \Google_Config();
$config->setClassConfig('Google_Cache_File', array('directory' => '/temp/cache'));
$this->client = new \Google_Client($config);
$this->client->setClientId($this->params["clientId"]);
$this->client->setClientSecret($this->params["clientSecret"]);
$this->client->setRedirectUri($this->params["callbackURL"]);
}
开发者ID:knedle,项目名称:twitter-nette-skeleton,代码行数:20,代码来源:GoogleLogin.php
示例8: __construct
public function __construct()
{
$this->gadwp = GADWP();
include_once GADWP_DIR . 'tools/autoload.php';
$config = new Google_Config();
$config->setCacheClass('Google_Cache_Null');
if (function_exists('curl_version')) {
$curlversion = curl_version();
if (isset($curlversion['version']) && version_compare(PHP_VERSION, '5.3.0') >= 0 && version_compare($curlversion['version'], '7.10.8') >= 0 && defined('GADWP_IP_VERSION') && GADWP_IP_VERSION) {
$config->setClassConfig('Google_IO_Curl', array('options' => array(CURLOPT_IPRESOLVE => GADWP_IP_VERSION)));
// Force
// CURL_IPRESOLVE_V4
// or
// CURL_IPRESOLVE_V6
}
}
$this->client = new Google_Client($config);
$this->client->setScopes('https://www.googleapis.com/auth/analytics.readonly');
$this->client->setAccessType('offline');
$this->client->setApplicationName('Google Analytics Dashboard');
$this->client->setRedirectUri('urn:ietf:wg:oauth:2.0:oob');
$this->set_error_timeout();
$this->managequota = 'u' . get_current_user_id() . 's' . get_current_blog_id();
if ($this->gadwp->config->options['ga_dash_userapi']) {
$this->client->setClientId($this->gadwp->config->options['ga_dash_clientid']);
$this->client->setClientSecret($this->gadwp->config->options['ga_dash_clientsecret']);
$this->client->setDeveloperKey($this->gadwp->config->options['ga_dash_apikey']);
} else {
$this->client->setClientId($this->gadwp->config->access[0]);
$this->client->setClientSecret($this->gadwp->config->access[1]);
$this->client->setDeveloperKey($this->gadwp->config->access[2]);
}
$this->service = new Google_Service_Analytics($this->client);
if ($this->gadwp->config->options['ga_dash_token']) {
$token = $this->gadwp->config->options['ga_dash_token'];
$token = $this->refresh_token();
if ($token) {
$this->client->setAccessToken($token);
}
}
}
开发者ID:nilmadhab,项目名称:webtutplus,代码行数:41,代码来源:gapi.php
示例9: __construct
function __construct()
{
global $GADASH_Config;
include_once $GADASH_Config->plugin_path . '/tools/autoload.php';
$config = new Google_Config();
$config->setCacheClass('Google_Cache_Null');
if (function_exists('curl_version')) {
$curlversion = curl_version();
if (isset($curlversion['version']) and version_compare($curlversion['version'], '7.10.8') >= 0 and defined('GADWP_IP_VERSION') and GADWP_IP_VERSION) {
$config->setClassConfig('Google_IO_Curl', array('options' => array(CURLOPT_IPRESOLVE => GADWP_IP_VERSION)));
// Force CURL_IPRESOLVE_V4 OR CURL_IPRESOLVE_V6
}
}
$this->client = new Google_Client($config);
$this->client->setScopes('https://www.googleapis.com/auth/analytics.readonly');
$this->client->setAccessType('offline');
$this->client->setApplicationName('Google Analytics Dashboard');
$this->client->setRedirectUri('urn:ietf:wg:oauth:2.0:oob');
$this->set_error_timeout();
$this->managequota = 'u' . get_current_user_id() . 's' . get_current_blog_id();
if ($GADASH_Config->options['ga_dash_userapi']) {
$this->client->setClientId($GADASH_Config->options['ga_dash_clientid']);
$this->client->setClientSecret($GADASH_Config->options['ga_dash_clientsecret']);
$this->client->setDeveloperKey($GADASH_Config->options['ga_dash_apikey']);
} else {
$this->client->setClientId('65556128781.apps.googleusercontent.com');
$this->client->setClientSecret('Kc7888wgbc_JbeCpbFjnYpwE');
$this->client->setDeveloperKey('AIzaSyBG7LlUoHc29ZeC_dsShVaBEX15SfRl_WY');
}
$this->service = new Google_Service_Analytics($this->client);
if ($GADASH_Config->options['ga_dash_token']) {
$token = $GADASH_Config->options['ga_dash_token'];
$token = $this->ga_dash_refresh_token();
if ($token) {
$this->client->setAccessToken($token);
}
}
}
开发者ID:hkarriche,项目名称:wordpress,代码行数:38,代码来源:gapi.php
示例10: get_google_client
/**
* Wrapper to get a Google Client object.
*
* This automatically sets the config to Moodle's defaults.
*
* @return Google_Client
*/
function get_google_client()
{
global $CFG, $SITE;
make_temp_directory('googleapi');
$tempdir = $CFG->tempdir . '/googleapi';
$config = new Google_Config();
$config->setApplicationName('Moodle ' . $CFG->release);
$config->setIoClass('moodle_google_curlio');
$config->setClassConfig('Google_Cache_File', 'directory', $tempdir);
$config->setClassConfig('Google_Auth_OAuth2', 'access_type', 'online');
$config->setClassConfig('Google_Auth_OAuth2', 'approval_prompt', 'auto');
return new Google_Client($config);
}
开发者ID:educakanchay,项目名称:campus,代码行数:20,代码来源:lib.php
示例11: Google_Config
$o->addStringCellToRow("2005");
$o->addNumberCellToRow(1150);
$o->addNumberCellToRow(450);
$o->addNewRow();
$o->addStringCellToRow("2006");
$o->addNumberCellToRow(660);
$o->addNumberCellToRow(1122);
$o->addNewRow();
$o->addStringCellToRow("2007");
$o->addNumberCellToRow(855);
$o->addNumberCellToRow(900);
$o->addNewRow();
$o->addStringCellToRow("2008");
$o->addNumberCellToRow(545);
$o->addNumberCellToRow(827);
$c = new Google_Config("AreaChart", "My Title");
$c->setProperty("width", 300)->setProperty("height", 200);
//$c->setIsStacked(true);
$c->setPointSize(8);
$c->setColors(array("red", "blue"));
$c->setBorderColor("navy");
$c->setLineSize(3);
$c->setAxisBackgroundColor("#f5f5f5");
$v = new Google_Visualization();
$v->setConfig($c);
$v->setData($o);
?>
<html>
<head>
<?php
echo $v->render();
开发者ID:scaphare,项目名称:QGoogleVisualizationAPI,代码行数:31,代码来源:sample_area.php
示例12: testIniConfig
public function testIniConfig()
{
$config = new Google_Config(__DIR__ . "/testdata/test.ini");
$this->assertEquals('My Test application', $config->getApplicationName());
$this->assertEquals('gjfiwnGinpena3', $config->getClassConfig('Google_Auth_OAuth2', 'client_secret'));
}
开发者ID:andrewkrug,项目名称:repucaution,代码行数:6,代码来源:ApiClientTest.php
示例13: getSimpleClient
/**
* @return \Google_Client
*/
public static function getSimpleClient()
{
if (!self::isSimpleConfigured()) {
return false;
}
$clientConfig = new \Google_Config();
$clientConfig->setClassConfig("Google_Cache_File", "directory", PIMCORE_CACHE_DIRECTORY);
$client = new \Google_Client($clientConfig);
$client->setApplicationName("pimcore CMF");
$client->setDeveloperKey(Config::getSystemConfig()->services->google->simpleapikey);
return $client;
}
开发者ID:sfie,项目名称:pimcore,代码行数:15,代码来源:Api.php
示例14: bootstrap
public function bootstrap($access_token = false)
{
global $updraftplus;
if (!empty($this->service) && is_object($this->service) && is_a($this->service, 'Google_Service_Drive')) {
return $this->service;
}
$opts = $this->get_opts();
if (empty($access_token)) {
if (empty($opts['token']) || empty($opts['clientid']) || empty($opts['secret'])) {
$updraftplus->log('Google Drive: this account is not authorised');
$updraftplus->log('Google Drive: ' . __('Account is not authorized.', 'updraftplus'), 'error', 'googledrivenotauthed');
return new WP_Error('not_authorized', __('Account is not authorized.', 'updraftplus'));
}
}
// $included_paths = explode(PATH_SEPARATOR, get_include_path());
// if (!in_array(UPDRAFTPLUS_DIR.'/includes', $included_paths)) {
// set_include_path(UPDRAFTPLUS_DIR.'/includes'.PATH_SEPARATOR.get_include_path());
// }
$spl = spl_autoload_functions();
if (is_array($spl)) {
// Workaround for Google Drive CDN plugin's autoloader
if (in_array('wpbgdc_autoloader', $spl)) {
spl_autoload_unregister('wpbgdc_autoloader');
}
// http://www.wpdownloadmanager.com/download/google-drive-explorer/ - but also others, since this is the default function name used by the Google SDK
if (in_array('google_api_php_client_autoload', $spl)) {
spl_autoload_unregister('google_api_php_client_autoload');
}
}
/*
if (!class_exists('Google_Config')) require_once 'Google/Config.php';
if (!class_exists('Google_Client')) require_once 'Google/Client.php';
if (!class_exists('Google_Service_Drive')) require_once 'Google/Service/Drive.php';
if (!class_exists('Google_Http_Request')) require_once 'Google/Http/Request.php';
*/
if ((!class_exists('Google_Config') || !class_exists('Google_Client') || !class_exists('Google_Service_Drive') || !class_exists('Google_Http_Request')) && !function_exists('google_api_php_client_autoload_updraftplus')) {
require_once UPDRAFTPLUS_DIR . '/includes/Google/autoload.php';
}
$config = new Google_Config();
$config->setClassConfig('Google_IO_Abstract', 'request_timeout_seconds', 60);
# In our testing, $service->about->get() fails if gzip is not disabled when using the stream wrapper
if (!function_exists('curl_version') || !function_exists('curl_exec') || defined('UPDRAFTPLUS_GOOGLEDRIVE_DISABLEGZIP') && UPDRAFTPLUS_GOOGLEDRIVE_DISABLEGZIP) {
$config->setClassConfig('Google_Http_Request', 'disable_gzip', true);
}
$client = new Google_Client($config);
$client->setClientId($opts['clientid']);
$client->setClientSecret($opts['secret']);
// $client->setUseObjects(true);
if (empty($access_token)) {
$access_token = $this->access_token($opts['token'], $opts['clientid'], $opts['secret']);
}
// Do we have an access token?
if (empty($access_token) || is_wp_error($access_token)) {
$updraftplus->log('ERROR: Have not yet obtained an access token from Google (has the user authorised?)');
$updraftplus->log(__('Have not yet obtained an access token from Google - you need to authorise or re-authorise your connection to Google Drive.', 'updraftplus'), 'error');
return $access_token;
}
$client->setAccessToken(json_encode(array('access_token' => $access_token, 'refresh_token' => $opts['token'])));
$io = $client->getIo();
$setopts = array();
if (is_a($io, 'Google_IO_Curl')) {
$setopts[CURLOPT_SSL_VERIFYPEER] = UpdraftPlus_Options::get_updraft_option('updraft_ssl_disableverify') ? false : true;
if (!UpdraftPlus_Options::get_updraft_option('updraft_ssl_useservercerts')) {
$setopts[CURLOPT_CAINFO] = UPDRAFTPLUS_DIR . '/includes/cacert.pem';
}
// Raise the timeout from the default of 15
$setopts[CURLOPT_TIMEOUT] = 60;
$setopts[CURLOPT_CONNECTTIMEOUT] = 15;
if (defined('UPDRAFTPLUS_IPV4_ONLY') && UPDRAFTPLUS_IPV4_ONLY) {
$setopts[CURLOPT_IPRESOLVE] = CURL_IPRESOLVE_V4;
}
} elseif (is_a($io, 'Google_IO_Stream')) {
$setopts['timeout'] = 60;
# We had to modify the SDK to support this
# https://wiki.php.net/rfc/tls-peer-verification - before PHP 5.6, there is no default CA file
if (!UpdraftPlus_Options::get_updraft_option('updraft_ssl_useservercerts') || version_compare(PHP_VERSION, '5.6.0', '<')) {
$setopts['cafile'] = UPDRAFTPLUS_DIR . '/includes/cacert.pem';
}
if (UpdraftPlus_Options::get_updraft_option('updraft_ssl_disableverify')) {
$setopts['disable_verify_peer'] = true;
}
}
$io->setOptions($setopts);
$service = new Google_Service_Drive($client);
$this->client = $client;
$this->service = $service;
try {
# Get the folder name, if not previously known (this is for the legacy situation where an id, not a name, was stored)
if (!empty($opts['parentid']) && (!is_array($opts['parentid']) || empty($opts['parentid']['name']))) {
$rootid = $this->root_id();
$title = '';
$parentid = is_array($opts['parentid']) ? $opts['parentid']['id'] : $opts['parentid'];
while (!empty($parentid) && $parentid != $rootid) {
$resource = $service->files->get($parentid);
$title = $title ? $resource->getTitle() . '/' . $title : $resource->getTitle();
$parents = $resource->getParents();
if (is_array($parents) && count($parents) > 0) {
$parent = array_shift($parents);
$parentid = is_a($parent, 'Google_Service_Drive_ParentReference') ? $parent->getId() : false;
} else {
//.........这里部分代码省略.........
开发者ID:jzornow,项目名称:changingdenver,代码行数:101,代码来源:googledrive.php
示例15: register
public function register(Application $app)
{
$app['gapi.services'] = $app->share(function () use($app) {
$path = __DIR__ . '/../Resources/services.json';
$data = file_get_contents($path);
return json_decode($data, true);
});
$app['gapi.scopes'] = $app->share(function () use($app) {
$path = __DIR__ . '/../Resources/scopes.json';
$data = file_get_contents($path);
return json_decode($data, true);
});
$app['gapi.config'] = $app->share(function () use($app) {
$options = $app['gapi.options'];
$config = new \Google_Config();
if (isset($options['application_name'])) {
$config->setApplicationName($options['application_name']);
}
if (isset($options['client_id'])) {
$config->setClientId($options['client_id']);
}
if (isset($options['client_secret'])) {
$config->setClientSecret($options['client_secret']);
}
if (isset($options['redirect_uri'])) {
$config->setRedirectUri($options['redirect_uri']);
}
if (isset($options['access_type'])) {
$config->setAccessType($options['access_type']);
}
if (isset($options['approval_prompt'])) {
$config->setApprovalPrompt($options['approval_prompt']);
}
if (isset($options['developer_key'])) {
$config->setDeveloperKey($options['developer_key']);
}
return $config;
});
$app['gapi.client'] = $app->share(function () use($app) {
$options = $app['gapi.options'];
$client = new \Google_Client($app['gapi.config']);
foreach (array('scope', 'scopes') as $key) {
if (isset($options[$key]) && $options[$key]) {
$scopes = $options[$key];
if (!is_array($scopes)) {
$scopes = array($scopes);
}
foreach ($scopes as $scope) {
if (isset($app['gapi.scopes'][strtolower($scope)])) {
$scope = $app['gapi.scopes'][strtolower($scope)];
}
$client->addScope($scope);
}
}
}
if (isset($options['refresh_token'])) {
$client->refreshToken($options['refresh_token']);
}
return $client;
});
$app['gapi.access_token'] = function () use($app) {
$token = json_decode($app['gapi.client']->getAccessToken());
if (is_object($token) && isset($token->access_token)) {
return $token->access_token;
} else {
return null;
}
};
foreach ($app['gapi.services'] as $service => $classname) {
$app['gapi.service.' . $service] = $app->share(function () use($app, $classname) {
$class = new \ReflectionClass($classname);
return $class->newInstance($app['gapi.client']);
});
}
}
开发者ID:shineunited,项目名称:googleclient,代码行数:75,代码来源:GoogleClientServiceProvider.php
示例16: do_bootstrap
public function do_bootstrap($opts, $connect)
{
global $updraftplus;
if (!empty($this->service) && is_object($this->service) && is_a($this->service, 'Google_Service_Storage')) {
return $this->service;
}
if (empty($opts)) {
$opts = $this->get_opts();
}
if (empty($opts['token']) || empty($opts['clientid']) || empty($opts['secret'])) {
$updraftplus->log('Google Cloud: this account is not authorised');
$updraftplus->log('Google Cloud: ' . __('Account is not authorized.', 'updraftplus'), 'error', 'googlecloudnotauthed');
return new WP_Error('not_authorized', __('Account is not authorized.', 'updraftplus'));
}
$access_token = $this->access_token($opts['token'], $opts['clientid'], $opts['secret']);
$spl = spl_autoload_functions();
if (is_array($spl)) {
// Workaround for Google Cloud CDN plugin's autoloader
if (in_array('wpbgdc_autoloader', $spl)) {
spl_autoload_unregister('wpbgdc_autoloader');
}
// http://www.wpdownloadmanager.com/download/google-drive-explorer/ - but also others, since this is the default function name used by the Google SDK
if (in_array('google_api_php_client_autoload', $spl)) {
spl_autoload_unregister('google_api_php_client_autoload');
}
}
if ((!class_exists('Google_Config') || !class_exists('Google_Client') || !class_exists('Google_Service_Storage') || !class_exists('Google_Http_Request')) && !function_exists('google_api_php_client_autoload_updraftplus')) {
require_once UPDRAFTPLUS_DIR . '/includes/Google/autoload.php';
}
$config = new Google_Config();
$config->setClassConfig('Google_IO_Abstract', 'request_timeout_seconds', 60);
# In our testing, $service->about->get() fails if gzip is not disabled when using the stream wrapper
if (!function_exists('curl_version') || !function_exists('curl_exec') || defined('UPDRAFTPLUS_GOOGLECLOUD_DISABLEGZIP') && UPDRAFTPLUS_GOOGLECLOUD_DISABLEGZIP) {
$config->setClassConfig('Google_Http_Request', 'disable_gzip', true);
}
$client = new Google_Client($config);
$client->setClientId($opts['clientid']);
$client->setClientSecret($opts['secret']);
$client->setApplicationName("UpdraftPlus WordPress Backups");
$client->setRedirectUri($this->redirect_uri());
$client->setScopes('https://www.googleapis.com/auth/devstorage.full_control');
// Do we have an access token?
if (empty($access_token) || is_wp_error($access_token)) {
$updraftplus->log('ERROR: Have not yet obtained an access token from Google (has the user authorised?)');
$updraftplus->log(__('Have not yet obtained an access token from Google - you need to authorise or re-authorise your connection to Google Cloud.', 'updraftplus'), 'error');
return $access_token;
}
$client->setAccessToken(json_encode(array('access_token' => $access_token, 'refresh_token' => $opts['token'])));
$io = $client->getIo();
$setopts = array();
$ssl_disableverify = isset($opts['ssl_disableverify']) ? $opts['ssl_disableverify'] : UpdraftPlus_Options::get_updraft_option('updraft_ssl_disableverify');
$ssl_useservercerts = isset($opts['ssl_useservercerts']) ? $opts['ssl_useservercerts'] : UpdraftPlus_Options::get_updraft_option('updraft_ssl_useservercerts');
if (is_a($io, 'Google_IO_Curl')) {
$setopts[CURLOPT_SSL_VERIFYPEER] = $ssl_disableverify ? false : true;
if (!$ssl_useservercerts) {
$setopts[CURLOPT_CAINFO] = UPDRAFTPLUS_DIR . '/includes/cacert.pem';
}
// Raise the timeout from the default of 15
$setopts[CURLOPT_TIMEOUT] = 60;
$setopts[CURLOPT_CONNECTTIMEOUT] = 15;
if (defined('UPDRAFTPLUS_IPV4_ONLY') && UPDRAFTPLUS_IPV4_ONLY) {
$setopts[CURLOPT_IPRESOLVE] = CURL_IPRESOLVE_V4;
}
} elseif (is_a($io, 'Google_IO_Stream')) {
$setopts['timeout'] = 60;
# We had to modify the SDK to support this
# https://wiki.php.net/rfc/tls-peer-verification - before PHP 5.6, there is no default CA file
if (!$ssl_useservercerts || version_compare(PHP_VERSION, '5.6.0', '<')) {
$setopts['cafile'] = UPDRAFTPLUS_DIR . '/includes/cacert.pem';
}
if ($ssl_disableverify) {
$setopts['disable_verify_peer'] = true;
}
}
$io->setOptions($setopts);
$service = new Google_Service_Storage($client);
$this->client = $client;
$this->service = $service;
return $this->service;
}
开发者ID:beyond-z,项目名称:braven,代码行数:80,代码来源:googlecloud.php
示例17: __toString
/**
* __toString
* @return string
*/
public function __toString()
{
$string = 'var formatter=new ';
$string .= $this->provider;
$string .= '.';
$string .= $this->scope;
$string .= '.';
$string .= $this->type;
$string .= '(\'' . (!empty($this->pattern) ? (string) $this->pattern : '') . '\');';
$string .= "\n";
if (empty($this->opt_dstColumnIndex)) {
$string .= 'formatter.format(' . $this->dataTable . ', ' . Google_Base::toJson($this->srcColumnIndices) . ');';
} else {
$string .= 'formatter.format(' . $this->dataTable . ', ' . Google_Base::toJson($this->srcColumnIndices) . ', ' . Google_Config::toJson($this->opt_dstColumnIndex) . ');';
}
$string .= "\n";
return $string;
}
开发者ID:scaphare,项目名称:QGoogleVisualizationAPI,代码行数:22,代码来源:Pattern.php
示例18: Google_Visualization
}
} else {
$chartType = 'AreaChart';
$query = 'SELECT A,D WHERE D > 100 ORDER BY D';
}
$id = 'viz';
$url = 'http://spreadsheets.google.com/tq?key=pCQbetd-CptGXxxQIG7VFIQ&pub=1';
# new visualization using template default
$v = new Google_Visualization("Default");
# register package
$p = new Google_Package(array("packages" => array($chartType), "language" => "de_DE"));
$v->setPackage($p);
// set package object to visualization
# setup chart
$chart = new Google_Chart($chartType, Google_Base::getElementById($id));
$options = new Google_Config($chartType);
$options->setProperty("width", 550);
$chart->draw("data", $options);
# init functions
$f1 = new Google_Function('drawVisualization');
$f2 = new Google_Function('handleQueryResponse', array('response'));
# setup query
$q = new Google_Data_Query($url);
$q->setQuery($query);
$q->send($f2->getName());
$f1->add($q);
$f1->setCallBack();
$v->setFunction($f1);
# setup response
$qr = new Google_Data_QueryResponse();
$qr->asVar($chart->getDataTable())->getDataTable();
开发者ID:scaphare,项目名称:QGoogleVisualizationAPI,代码行数:31,代码来源:sample_multicharts.php
示例19: googleAuthenticate
/** Google authentication */
function googleAuthenticate($code)
{
$state = getGoogleAuthenticateState();
if ($state === false) {
return;
}
include dirname(__DIR__) . '/config/config.php';
global $CDASH_DB_HOST, $CDASH_DB_LOGIN, $CDASH_DB_PASS, $CDASH_DB_NAME;
$SessionCachePolicy = 'private_no_expire';
// initialize the session
session_name('CDash');
session_cache_limiter($SessionCachePolicy);
session_set_cookie_params($CDASH_COOKIE_EXPIRATION_TIME);
@ini_set('session.gc_maxlifetime', $CDASH_COOKIE_EXPIRATION_TIME + 600);
session_start();
// check that the anti-forgery token is valid
if ($state->csrfToken != $_SESSION['cdash']['csrfToken']) {
add_log('state anti-forgery token mismatch: ' . $state->csrfToken . ' vs ' . $_SESSION['cdash']['csrfToken'], 'googleAuthenticate', LOG_ERR);
return;
}
$redirectURI = strtok(get_server_URI(false), '?');
// The return value of get_server_URI can be inconsistent.
// It simply returns $CDASH_BASE_URL if that variable is set, yielding a
// return value like http://mydomain.com/CDash.
// If this variable is not set, then it will return the full URI including
// the current script, ie
// http://mydomain.com/CDash/googleauth_callback.php.
//
// Make sure that redirectURI contains the path to our callback script.
if (strpos($redirectURI, 'googleauth_callback.php') === false) {
$redirectURI .= '/googleauth_callback.php';
}
try {
$config = new Google_Config();
if ($CDASH_MEMCACHE_ENABLED) {
$config->setCacheClass('Google_Cache_Memcache');
list($server, $port) = $CDASH_MEMCACHE_SERVER;
$config->setClassConfig('Google_Cache_Memcache', 'host', $server);
$config->setClassConfig('Google_Cache_Memcache', 'port', $port);
}
$client = new Google_Client($config);
$client->setClientId($GOOGLE_CLIENT_ID);
$client->setClientSecret($GOOGLE_CLIENT_SECRET);
$client->setRedirectUri($redirectURI);
$client->authenticate($_GET['code']);
$oauth = new Google_Service_Oauth2($client);
$me = $oauth->userinfo->get();
$tokenResponse = json_decode($client->getAccessToken());
} catch (Google_Auth_Exception $e) {
add_log('Google access token request failed: ' . $e->getMessage(), 'googleAuthenticate', LOG_ERR);
return;
}
// Check if this email address appears in our user database
$email = strtolower($me->getEmail());
$db = pdo_connect("{$CDASH_DB_HOST}", "{$CDASH_DB_LOGIN}", "{$CDASH_DB_PASS}");
pdo_select_db("{$CDASH_DB_NAME}", $db);
$sql = 'SELECT id,password FROM ' . qid('user') . " WHERE email='" . pdo_real_escape_string($email) . "'";
$result = pdo_query("{$sql}");
if (pdo_num_rows($result) == 0) {
// if no match is found, redirect to pre-filled out registration page
pdo_free_result($result);
$firstname = $me->getGivenName();
$lastname = $me->getFamilyName();
header("Location: register.php?firstname={$firstname}&lastname={$lastname}&email={$email}");
return false;
}
$user_array = pdo_fetch_array($result);
$pass = $user_array['password'];
if ($state->rememberMe) {
require_once 'include/login_functions.php';
setRememberMeCookie($user_array['id']);
}
$sessionArray = array('login' => $email, 'passwd' => $user_array['password'], 'ID' => session_id(), 'valid' => 1, 'loginid' => $user_array['id']);
$_SESSION['cdash'] = $sessionArray;
session_write_close();
pdo_free_result($result);
header("Location: {$state->requestedURI}");
return true;
// authentication succeeded
}
开发者ID:kitware,项目名称:cdash,代码行数:81,代码来源:googleauth_callback.php
示例20: testIniConfig
public function testIniConfig()
{
$config = new Google_Config(__DIR__ . "/testdata/test.ini");
$this->assertEquals('My Test application', $config->getApplicationName());
$this->assertEquals('gjfiwnGinpena3', $config->getClassConfig('Google_Auth_OAuth2', 'client_secret'));
$this->assertInternalType('array', $config->getClassConfig('Google_IO_Abstract'));
$this->assertEquals(100, $config->getClassConfig('Google_IO_Abstract', 'request_timeout_seconds'));
}
开发者ID:te-koyama,项目名称:open |
请发表评论