Archived
90 lines
1.5 KiB
PHP
90 lines
1.5 KiB
PHP
<?php
|
|
/**
|
|
* @package GoogleAnalytics\Admin
|
|
*/
|
|
|
|
/**
|
|
* Dashboards API options.
|
|
*/
|
|
class Yoast_GA_Dashboards_Api_Options {
|
|
|
|
/**
|
|
* Store this instance
|
|
*
|
|
* @var null
|
|
*/
|
|
private static $instance = null;
|
|
|
|
/**
|
|
* @var string $access_token Store the access token
|
|
*/
|
|
private $access_token;
|
|
|
|
/**
|
|
* @var array $options Store the options
|
|
*/
|
|
private $options;
|
|
|
|
/**
|
|
* Construct on the dashboards class for GA
|
|
*/
|
|
protected function __construct() {
|
|
$this->set_options();
|
|
}
|
|
|
|
/**
|
|
* Get the instance
|
|
*
|
|
* @return Yoast_GA_Dashboards
|
|
*/
|
|
public static function get_instance() {
|
|
if ( is_null( self::$instance ) ) {
|
|
self::$instance = new self();
|
|
}
|
|
|
|
return self::$instance;
|
|
}
|
|
|
|
/**
|
|
* Set the API options
|
|
*/
|
|
public function set_options() {
|
|
$this->options = Yoast_Google_Analytics::get_instance()->get_options();
|
|
|
|
$this->set_access_token();
|
|
}
|
|
|
|
/**
|
|
* Set the access token if we have one
|
|
*/
|
|
private function set_access_token() {
|
|
if ( isset( $this->options['ga_oauth']['access_token']['oauth_token'] ) && isset( $this->options['ga_oauth']['access_token']['oauth_token_secret'] ) ) {
|
|
$this->access_token = $this->options['ga_oauth']['access_token'];
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Get the API options
|
|
*
|
|
* @return mixed
|
|
*/
|
|
public function get_options() {
|
|
return $this->options;
|
|
}
|
|
|
|
/**
|
|
* Get the access token from the options API, false on fail
|
|
*
|
|
* @return bool
|
|
*/
|
|
public function get_access_token() {
|
|
if ( ! empty( $this->access_token ) ) {
|
|
return $this->access_token;
|
|
}
|
|
else {
|
|
return false;
|
|
}
|
|
}
|
|
|
|
}
|