$modx->controller->addLexiconTopic('analytics:default'); $modx->regClientStartupHTMLBlock('<script type="text/javascript">var GA = {connector_url:"' . $ga->config['connectorUrl'] . '",assets_url:"' . $ga->config['assetsUrl'] . '"};</script>'); $sitename = $modx->getOption('analytics_sitename'); //Get the amount of days $days = $modx->getOption('analytics_days', null, 7); //Get the settings $settings = array('sessionToken' => trim($modx->getOption('analytics_sessionToken')), 'profileId' => trim($modx->getOption('analytics_profileId')), 'accountId' => trim($modx->getOption('analytics_accountId')), 'webPropertyId' => trim($modx->getOption('analytics_webPropertyId')), 'start_date' => date('Y-m-d', strtotime('-' . ($days - 1) . ' day', time())), 'end_date' => date('Y-m-d')); //load lexicon files $modx->getService('lexicon', 'modLexicon'); $modx->lexicon->load('analytics:default'); //lexicon to js $lexicon = $modx->lexicon->fetch($prefix = 'analytics.', $removePrefix = true); $lexiconJs = $modx->toJSON($lexicon); $modx->smarty->assign('_langs', $lexicon); if ($_REQUEST['token']) { $sessiontoken = $ga->getSessionToken($_REQUEST['token']); $Setting = $modx->getObject('modSystemSetting', 'analytics_sessionToken'); $Setting->set('value', trim($sessiontoken)); $Setting->save(); $settings['sessionToken'] = trim($sessiontoken); unset($_REQUEST['token']); } if (empty($settings['sessionToken'])) { $modx->smarty->assign('_langs', $lexicon); $modx->smarty->assign('authUrl', 'https://www.google.com/accounts/AuthSubRequest?next=' . $ga->fullUrl() . '&scope=https://www.google.com/analytics/feeds/&secure=0&session=1'); return $modx->smarty->fetch($ga->config['elementsPath'] . 'tpl/widget.auth.tpl'); } if (!empty($_POST['siteSelect'])) { list($sitename, $accountId, $profileId, $webPropertyId) = explode("|", $_POST['siteSelect']); /** @var modSystemSetting $setting */ $setting = $modx->getObject('modSystemSetting', 'analytics_profileId');