public static function GoogleAnalyticsReports::checkUpdates in Google Analytics Reports 8.3
Check updates for new Google Analytics fields.
See also
https://developers.google.com/analytics/devguides/reporting/metadata/v3/...
File
- src/
GoogleAnalyticsReports.php, line 26
Class
- GoogleAnalyticsReports
- GoogleAnalyticsReports service class.
Namespace
Drupal\google_analytics_reportsCode
public static function checkUpdates() {
if (!defined('MAINTENANCE_MODE')) {
$etag_old = \Drupal::config('google_analytics_reports.settings')
->get('metadata_etag');
try {
$response = \Drupal::httpClient()
->request('GET', self::$googleAnalyticsColumnsDefinitionUrl . '?fields=etag', [
'timeout' => 2.0,
]);
} catch (RequestException $e) {
\Drupal::logger('google_analytics_reports')
->error('Failed to Google Analytics metadata definitions due to "%error".', [
'%error' => $e
->getMessage(),
]);
return;
}
if ($response
->getStatusCode() == 200) {
$data = $response
->getBody()
->getContents();
if (empty($data)) {
\Drupal::logger('google_analytics_reports')
->error('Failed to Google Analytics Column metadata definitions. Received empty content.');
return;
}
$data = json_decode($data, TRUE);
if ($etag_old == $data['etag']) {
\Drupal::messenger()
->addMessage(t('All Google Analytics fields is up to date.'));
}
else {
\Drupal::messenger()
->addMessage(t('New Google Analytics fields has been found. Press "Import fields" button to update Google Analytics fields.'));
}
}
else {
\Drupal::messenger()
->addMessage(t('An error has occurred: @error.', [
'@error' => $response
->getStatusCode(),
]), 'error');
}
}
}