update Piwik to version 2.16 (fixes #91)
This commit is contained in:
parent
296343bf3b
commit
d885a4baa9
5833 changed files with 418860 additions and 226988 deletions
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* Piwik - Open source web analytics
|
||||
* Piwik - free/libre analytics platform
|
||||
*
|
||||
* @link http://piwik.org
|
||||
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
|
||||
|
|
@ -8,8 +8,14 @@
|
|||
*/
|
||||
namespace Piwik\Plugins\SitesManager;
|
||||
|
||||
use Piwik\Menu\MenuAdmin;
|
||||
use Piwik\Piwik;
|
||||
use Piwik\Common;
|
||||
use Piwik\Archive\ArchiveInvalidator;
|
||||
use Piwik\Container\StaticContainer;
|
||||
use Piwik\Db;
|
||||
use Piwik\Plugins\PrivacyManager\PrivacyManager;
|
||||
use Piwik\Measurable\Settings\Storage;
|
||||
use Piwik\Tracker\Cache;
|
||||
use Piwik\Tracker\Model as TrackerModel;
|
||||
|
||||
/**
|
||||
*
|
||||
|
|
@ -21,25 +27,54 @@ class SitesManager extends \Piwik\Plugin
|
|||
const KEEP_URL_FRAGMENT_NO = 2;
|
||||
|
||||
/**
|
||||
* @see Piwik\Plugin::getListHooksRegistered
|
||||
* @see Piwik\Plugin::registerEvents
|
||||
*/
|
||||
public function getListHooksRegistered()
|
||||
public function registerEvents()
|
||||
{
|
||||
return array(
|
||||
'AssetManager.getJavaScriptFiles' => 'getJsFiles',
|
||||
'AssetManager.getStylesheetFiles' => 'getStylesheetFiles',
|
||||
'Menu.Admin.addItems' => 'addMenu',
|
||||
'Tracker.Cache.getSiteAttributes' => 'recordWebsiteDataInCache',
|
||||
'Translate.getClientSideTranslationKeys' => 'getClientSideTranslationKeys',
|
||||
'SitesManager.deleteSite.end' => 'onSiteDeleted',
|
||||
'Request.dispatch' => 'redirectDashboardToWelcomePage',
|
||||
);
|
||||
}
|
||||
|
||||
function addMenu()
|
||||
public function redirectDashboardToWelcomePage(&$module, &$action)
|
||||
{
|
||||
MenuAdmin::getInstance()->add('CoreAdminHome_MenuManage', 'SitesManager_Sites',
|
||||
array('module' => 'SitesManager', 'action' => 'index'),
|
||||
Piwik::isUserHasSomeAdminAccess(),
|
||||
$order = 1);
|
||||
if ($module !== 'CoreHome' || $action !== 'index') {
|
||||
return;
|
||||
}
|
||||
|
||||
$siteId = Common::getRequestVar('idSite', false, 'int');
|
||||
if (!$siteId) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Skip the screen if purging logs is enabled
|
||||
$settings = PrivacyManager::getPurgeDataSettings();
|
||||
if ($settings['delete_logs_enable'] == 1) {
|
||||
return;
|
||||
}
|
||||
|
||||
$trackerModel = new TrackerModel();
|
||||
if ($trackerModel->isSiteEmpty($siteId)) {
|
||||
$module = 'SitesManager';
|
||||
$action = 'siteWithoutData';
|
||||
}
|
||||
}
|
||||
|
||||
public function onSiteDeleted($idSite)
|
||||
{
|
||||
// we do not delete logs here on purpose (you can run these queries on the log_ tables to delete all data)
|
||||
Cache::deleteCacheWebsiteAttributes($idSite);
|
||||
|
||||
$archiveInvalidator = StaticContainer::get('Piwik\Archive\ArchiveInvalidator');
|
||||
$archiveInvalidator->forgetRememberedArchivedReportsToInvalidateForSite($idSite);
|
||||
|
||||
$measurableStorage = new Storage(Db::get(), $idSite);
|
||||
$measurableStorage->deleteAllValues();
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -48,7 +83,7 @@ class SitesManager extends \Piwik\Plugin
|
|||
public function getStylesheetFiles(&$stylesheets)
|
||||
{
|
||||
$stylesheets[] = "plugins/SitesManager/stylesheets/SitesManager.less";
|
||||
$stylesheets[] = "plugins/Zeitgeist/stylesheets/base.less";
|
||||
$stylesheets[] = "plugins/Morpheus/stylesheets/base.less";
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -56,7 +91,15 @@ class SitesManager extends \Piwik\Plugin
|
|||
*/
|
||||
public function getJsFiles(&$jsFiles)
|
||||
{
|
||||
$jsFiles[] = "plugins/SitesManager/javascripts/SitesManager.js";
|
||||
$jsFiles[] = "plugins/SitesManager/angularjs/sites-manager/api-helper.service.js";
|
||||
$jsFiles[] = "plugins/SitesManager/angularjs/sites-manager/api-site.service.js";
|
||||
$jsFiles[] = "plugins/SitesManager/angularjs/sites-manager/api-core.service.js";
|
||||
$jsFiles[] = "plugins/SitesManager/angularjs/sites-manager/sites-manager-type-model.js";
|
||||
$jsFiles[] = "plugins/SitesManager/angularjs/sites-manager/sites-manager-admin-sites-model.js";
|
||||
$jsFiles[] = "plugins/SitesManager/angularjs/sites-manager/multiline-field.directive.js";
|
||||
$jsFiles[] = "plugins/SitesManager/angularjs/sites-manager/edit-trigger.directive.js";
|
||||
$jsFiles[] = "plugins/SitesManager/angularjs/sites-manager/sites-manager.controller.js";
|
||||
$jsFiles[] = "plugins/SitesManager/angularjs/sites-manager/sites-manager-site.controller.js";
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -69,12 +112,16 @@ class SitesManager extends \Piwik\Plugin
|
|||
*/
|
||||
public function recordWebsiteDataInCache(&$array, $idSite)
|
||||
{
|
||||
$idSite = (int)$idSite;
|
||||
$idSite = (int) $idSite;
|
||||
|
||||
$urls = API::getInstance()->getSiteUrlsFromId($idSite);
|
||||
|
||||
// add the 'hosts' entry in the website array
|
||||
$array['hosts'] = $this->getTrackerHosts($idSite);
|
||||
$array['urls'] = $urls;
|
||||
$array['hosts'] = $this->getTrackerHosts($urls);
|
||||
|
||||
$website = API::getInstance()->getSiteFromId($idSite);
|
||||
$array['exclude_unknown_urls'] = $website['exclude_unknown_urls'];
|
||||
$array['excluded_ips'] = $this->getTrackerExcludedIps($website);
|
||||
$array['excluded_parameters'] = self::getTrackerExcludedQueryParameters($website);
|
||||
$array['excluded_user_agents'] = self::getExcludedUserAgents($website);
|
||||
|
|
@ -82,6 +129,21 @@ class SitesManager extends \Piwik\Plugin
|
|||
$array['sitesearch'] = $website['sitesearch'];
|
||||
$array['sitesearch_keyword_parameters'] = $this->getTrackerSearchKeywordParameters($website);
|
||||
$array['sitesearch_category_parameters'] = $this->getTrackerSearchCategoryParameters($website);
|
||||
$array['timezone'] = $this->getTimezoneFromWebsite($website);
|
||||
$array['ts_created'] = $website['ts_created'];
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns whether we should keep URL fragments for a specific site.
|
||||
*
|
||||
* @param array $site DB data for the site.
|
||||
* @return bool
|
||||
*/
|
||||
private static function getTimezoneFromWebsite($site)
|
||||
{
|
||||
if (!empty($site['timezone'])) {
|
||||
return $site['timezone'];
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -180,7 +242,7 @@ class SitesManager extends \Piwik\Plugin
|
|||
* @param string $parameters The unfiltered list.
|
||||
* @return array The filtered list of strings as an array.
|
||||
*/
|
||||
static private function filterBlankFromCommaSepList($parameters)
|
||||
private static function filterBlankFromCommaSepList($parameters)
|
||||
{
|
||||
$parameters = explode(',', $parameters);
|
||||
$parameters = array_filter($parameters, 'strlen');
|
||||
|
|
@ -193,9 +255,8 @@ class SitesManager extends \Piwik\Plugin
|
|||
* @param int $idSite
|
||||
* @return array
|
||||
*/
|
||||
private function getTrackerHosts($idSite)
|
||||
private function getTrackerHosts($urls)
|
||||
{
|
||||
$urls = API::getInstance()->getSiteUrlsFromId($idSite);
|
||||
$hosts = array();
|
||||
foreach ($urls as $url) {
|
||||
$url = parse_url($url);
|
||||
|
|
@ -210,7 +271,84 @@ class SitesManager extends \Piwik\Plugin
|
|||
{
|
||||
$translationKeys[] = "General_Save";
|
||||
$translationKeys[] = "General_OrCancel";
|
||||
$translationKeys[] = "General_Actions";
|
||||
$translationKeys[] = "General_Search";
|
||||
$translationKeys[] = "General_Previous";
|
||||
$translationKeys[] = "General_Next";
|
||||
$translationKeys[] = "General_Pagination";
|
||||
$translationKeys[] = "General_Cancel";
|
||||
$translationKeys[] = "General_ClickToSearch";
|
||||
$translationKeys[] = "General_PaginationWithoutTotal";
|
||||
$translationKeys[] = "General_Loading";
|
||||
$translationKeys[] = "Actions_SubmenuSitesearch";
|
||||
$translationKeys[] = "SitesManager_OnlyOneSiteAtTime";
|
||||
$translationKeys[] = "SitesManager_DeleteConfirm";
|
||||
$translationKeys[] = "SitesManager_Urls";
|
||||
$translationKeys[] = "SitesManager_ExcludedIps";
|
||||
$translationKeys[] = "SitesManager_ExcludedParameters";
|
||||
$translationKeys[] = "SitesManager_ExcludedUserAgents";
|
||||
$translationKeys[] = "SitesManager_Timezone";
|
||||
$translationKeys[] = "SitesManager_Currency";
|
||||
$translationKeys[] = "SitesManager_ShowTrackingTag";
|
||||
$translationKeys[] = "SitesManager_AliasUrlHelp";
|
||||
$translationKeys[] = "SitesManager_OnlyMatchedUrlsAllowed";
|
||||
$translationKeys[] = "SitesManager_OnlyMatchedUrlsAllowedHelp";
|
||||
$translationKeys[] = "SitesManager_OnlyMatchedUrlsAllowedHelpExamples";
|
||||
$translationKeys[] = "SitesManager_KeepURLFragmentsLong";
|
||||
$translationKeys[] = "SitesManager_HelpExcludedIps";
|
||||
$translationKeys[] = "SitesManager_ListOfQueryParametersToExclude";
|
||||
$translationKeys[] = "SitesManager_PiwikWillAutomaticallyExcludeCommonSessionParameters";
|
||||
$translationKeys[] = "SitesManager_GlobalExcludedUserAgentHelp1";
|
||||
$translationKeys[] = "SitesManager_GlobalListExcludedUserAgents_Desc";
|
||||
$translationKeys[] = "SitesManager_GlobalExcludedUserAgentHelp2";
|
||||
$translationKeys[] = "SitesManager_WebsitesManagement";
|
||||
$translationKeys[] = "SitesManager_MainDescription";
|
||||
$translationKeys[] = "SitesManager_YouCurrentlyHaveAccessToNWebsites";
|
||||
$translationKeys[] = "SitesManager_SuperUserAccessCan";
|
||||
$translationKeys[] = "SitesManager_EnableSiteSearch";
|
||||
$translationKeys[] = "SitesManager_DisableSiteSearch";
|
||||
$translationKeys[] = "SitesManager_SearchUseDefault";
|
||||
$translationKeys[] = "SitesManager_Sites";
|
||||
$translationKeys[] = "SitesManager_SiteSearchUse";
|
||||
$translationKeys[] = "SitesManager_SearchKeywordLabel";
|
||||
$translationKeys[] = "SitesManager_SearchCategoryLabel";
|
||||
$translationKeys[] = "SitesManager_YourCurrentIpAddressIs";
|
||||
$translationKeys[] = "SitesManager_SearchKeywordParametersDesc";
|
||||
$translationKeys[] = "SitesManager_SearchCategoryParametersDesc";
|
||||
$translationKeys[] = "SitesManager_CurrencySymbolWillBeUsedForGoals";
|
||||
$translationKeys[] = "SitesManager_ChangingYourTimezoneWillOnlyAffectDataForward";
|
||||
$translationKeys[] = "SitesManager_AdvancedTimezoneSupportNotFound";
|
||||
$translationKeys[] = "SitesManager_ChooseCityInSameTimezoneAsYou";
|
||||
$translationKeys[] = "SitesManager_UTCTimeIs";
|
||||
$translationKeys[] = "SitesManager_EnableEcommerce";
|
||||
$translationKeys[] = "SitesManager_NotAnEcommerceSite";
|
||||
$translationKeys[] = "SitesManager_EcommerceHelp";
|
||||
$translationKeys[] = "SitesManager_PiwikOffersEcommerceAnalytics";
|
||||
$translationKeys[] = "SitesManager_GlobalWebsitesSettings";
|
||||
$translationKeys[] = "SitesManager_GlobalListExcludedIps";
|
||||
$translationKeys[] = "SitesManager_ListOfIpsToBeExcludedOnAllWebsites";
|
||||
$translationKeys[] = "SitesManager_GlobalListExcludedQueryParameters";
|
||||
$translationKeys[] = "SitesManager_ListOfQueryParametersToBeExcludedOnAllWebsites";
|
||||
$translationKeys[] = "SitesManager_GlobalListExcludedUserAgents";
|
||||
$translationKeys[] = "SitesManager_EnableSiteSpecificUserAgentExclude_Help";
|
||||
$translationKeys[] = "SitesManager_EnableSiteSpecificUserAgentExclude";
|
||||
$translationKeys[] = "SitesManager_KeepURLFragments";
|
||||
$translationKeys[] = "SitesManager_KeepURLFragmentsHelp";
|
||||
$translationKeys[] = "SitesManager_KeepURLFragmentsHelp2";
|
||||
$translationKeys[] = "SitesManager_TrackingSiteSearch";
|
||||
$translationKeys[] = "SitesManager_SearchParametersNote";
|
||||
$translationKeys[] = "SitesManager_SearchParametersNote2";
|
||||
$translationKeys[] = "SitesManager_SearchCategoryDesc";
|
||||
$translationKeys[] = "SitesManager_DefaultTimezoneForNewWebsites";
|
||||
$translationKeys[] = "SitesManager_SelectDefaultTimezone";
|
||||
$translationKeys[] = "SitesManager_DefaultCurrencyForNewWebsites";
|
||||
$translationKeys[] = "SitesManager_SelectDefaultCurrency";
|
||||
$translationKeys[] = "SitesManager_AddMeasurable";
|
||||
$translationKeys[] = "SitesManager_AddSite";
|
||||
$translationKeys[] = "SitesManager_XManagement";
|
||||
$translationKeys[] = "SitesManager_ChooseMeasurableTypeHeadline";
|
||||
$translationKeys[] = "General_Measurables";
|
||||
$translationKeys[] = "Goals_Ecommerce";
|
||||
$translationKeys[] = "SitesManager_NotFound";
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue