本文整理汇总了PHP中Google_Config::setClassConfig方法的典型用法代码示例。如果您正苦于以下问题:PHP Google_Config::setClassConfig方法的具体用法?PHP Google_Config::setClassConfig怎么用?PHP Google_Config::setClassConfig使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Google_Config
的用法示例。
在下文中一共展示了Google_Config::setClassConfig方法的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: 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);
}
示例2: setClassConfig
/**
* Set configuration specific to a given class.
* $config->setClassConfig('Google_Cache_File',
* array('directory' => '/tmp/cache'));
* @param $class string|object - The class name for the configuration
* @param $config string key or an array of configuration values
* @param $value string optional - if $config is a key, the value
*
*/
public function setClassConfig($class, $config, $value = null)
{
if (!is_string($class)) {
$class = get_class($class);
}
$this->config->setClassConfig($class, $config, $value);
}
示例3: 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;
}
示例4: __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();
}
}
}
}
示例5: __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"]);
}
示例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();
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);
}
}
}
示例7: array
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);
}
}
}
示例8: 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;
}
示例9: 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 {
//.........这里部分代码省略.........
示例10: 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;
}
示例11: 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
}