blob: 34fe1cc2a3d1b1eec702f3bd07b856e3ba82b4c0 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
|
<?php
/**
* Piwik - free/libre analytics platform
*
* @link http://piwik.org
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
*
*/
namespace Piwik\Plugins\SitesManager;
use Exception;
use Piwik\API\ResponseBuilder;
use Piwik\Common;
use Piwik\Date;
use Piwik\IP;
use Piwik\Piwik;
use Piwik\SettingsPiwik;
use Piwik\SettingsServer;
use Piwik\Site;
use Piwik\View;
/**
*
*/
class Controller extends \Piwik\Plugin\ControllerAdmin
{
/**
* Main view showing listing of websites and settings
*/
public function index()
{
$view = new View('@SitesManager/index');
$this->setBasicVariablesView($view);
return $view->render();
}
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()
{
$idSite = Common::getRequestVar('idSite');
Piwik::checkUserHasViewAccess($idSite);
$jsTag = Piwik::getJavascriptCode($idSite, SettingsPiwik::getPiwikUrl());
$view = new View('@SitesManager/displayJavascriptCode');
$this->setBasicVariablesView($view);
$view->idSite = $idSite;
$site = new Site($idSite);
$view->displaySiteName = $site->getName();
$view->jsTag = $jsTag;
return $view->render();
}
/**
* 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';
header('Content-type: text/php');
header('Content-Disposition: attachment; filename="' . $filename . '"');
return file_get_contents($path . $filename);
}
}
|