renderTemplate('index'); } public function globalSettings() { Piwik::checkUserHasSuperUserAccess(); return $this->renderTemplate('globalSettings'); } public function getGlobalSettings() { Piwik::checkUserHasSomeViewAccess(); $response = new ResponseBuilder(Common::getRequestVar('format')); $globalSettings = array(); $globalSettings['keepURLFragmentsGlobal'] = API::getInstance()->getKeepURLFragmentsGlobal(); $globalSettings['siteSpecificUserAgentExcludeEnabled'] = API::getInstance()->isSiteSpecificUserAgentExcludeEnabled(); $globalSettings['defaultCurrency'] = API::getInstance()->getDefaultCurrency(); $globalSettings['searchKeywordParametersGlobal'] = API::getInstance()->getSearchKeywordParametersGlobal(); $globalSettings['searchCategoryParametersGlobal'] = API::getInstance()->getSearchCategoryParametersGlobal(); $globalSettings['defaultTimezone'] = API::getInstance()->getDefaultTimezone(); $globalSettings['excludedIpsGlobal'] = API::getInstance()->getExcludedIpsGlobal(); $globalSettings['excludedQueryParametersGlobal'] = API::getInstance()->getExcludedQueryParametersGlobal(); $globalSettings['excludedUserAgentsGlobal'] = API::getInstance()->getExcludedUserAgentsGlobal(); return $response->getResponse($globalSettings); } /** * Records Global settings when user submit changes */ public function setGlobalSettings() { $response = new ResponseBuilder(Common::getRequestVar('format')); try { $this->checkTokenInUrl(); $timezone = Common::getRequestVar('timezone', false); $excludedIps = Common::getRequestVar('excludedIps', false); $excludedQueryParameters = Common::getRequestVar('excludedQueryParameters', false); $excludedUserAgents = Common::getRequestVar('excludedUserAgents', false); $currency = Common::getRequestVar('currency', false); $searchKeywordParameters = Common::getRequestVar('searchKeywordParameters', $default = ""); $searchCategoryParameters = Common::getRequestVar('searchCategoryParameters', $default = ""); $enableSiteUserAgentExclude = Common::getRequestVar('enableSiteUserAgentExclude', $default = 0); $keepURLFragments = Common::getRequestVar('keepURLFragments', $default = 0); $api = API::getInstance(); $api->setDefaultTimezone($timezone); $api->setDefaultCurrency($currency); $api->setGlobalExcludedQueryParameters($excludedQueryParameters); $api->setGlobalExcludedIps($excludedIps); $api->setGlobalExcludedUserAgents($excludedUserAgents); $api->setGlobalSearchParameters($searchKeywordParameters, $searchCategoryParameters); $api->setSiteSpecificUserAgentExcludeEnabled($enableSiteUserAgentExclude == 1); $api->setKeepURLFragmentsGlobal($keepURLFragments); $toReturn = $response->getResponse(); } catch (Exception $e) { $toReturn = $response->getResponseException($e); } return $toReturn; } /** * Displays the admin UI page showing all tracking tags * @return string */ function displayJavascriptCode() { $this->checkSitePermission(); Piwik::checkUserHasViewAccess($this->idSite); $javascriptGenerator = new TrackerCodeGenerator(); $jsTag = $javascriptGenerator->generate($this->idSite, SettingsPiwik::getPiwikUrl()); $site = new Site($this->idSite); return $this->renderTemplate('displayJavascriptCode', array( 'idSite' => $this->idSite, 'displaySiteName' => $site->getName(), 'jsTag' => $jsTag )); } /** * User will download a file called PiwikTracker.php that is the content of the actual script */ function downloadPiwikTracker() { $path = PIWIK_INCLUDE_PATH . '/libs/PiwikTracker/'; $filename = 'PiwikTracker.php'; Common::sendHeader('Content-type: text/php'); Common::sendHeader('Content-Disposition: attachment; filename="' . $filename . '"'); return file_get_contents($path . $filename); } public function ignoreNoDataMessage() { Piwik::checkUserHasSomeViewAccess(); $session = new Session\SessionNamespace('siteWithoutData'); $session->ignoreMessage = true; $session->setExpirationSeconds($oneHour = 60 * 60); $url = Url::getCurrentUrlWithoutQueryString() . Url::getCurrentQueryStringWithParametersModified(array('module' => 'CoreHome', 'action' => 'index')); Url::redirectToUrl($url); } public function siteWithoutData() { $javascriptGenerator = new TrackerCodeGenerator(); $piwikUrl = Url::getCurrentUrlWithoutFileName(); if (!$this->site && Piwik::hasUserSuperUserAccess()) { throw new UnexpectedWebsiteFoundException('Invalid site ' . $this->idSite); } elseif (!$this->site) { // redirect to login form Piwik::checkUserHasViewAccess($this->idSite); } return $this->renderTemplate('siteWithoutData', array( 'siteName' => $this->site->getName(), 'idSite' => $this->idSite, 'trackingHelp' => $this->renderTemplate('_displayJavascriptCode', array( 'displaySiteName' => Common::unsanitizeInputValue($this->site->getName()), 'jsTag' => $javascriptGenerator->generate($this->idSite, $piwikUrl), 'idSite' => $this->idSite, 'piwikUrl' => $piwikUrl, )), )); } }