$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');
    $settings['profileId'] = trim($profileId);
    $setting->set('value', trim($profileId));
    $setting->save();
    $setting = $modx->getObject('modSystemSetting', 'analytics_accountId');
    $settings['accountId'] = trim($accountId);
    $setting->set('value', trim($accountId));
    $setting->save();
    $setting = $modx->getObject('modSystemSetting', 'analytics_webPropertyId');
    $settings['webPropertyId'] = trim($webPropertyId);