From 2d2abcc9576079a8496ad8bd4a038ba07cf1fb2b Mon Sep 17 00:00:00 2001 From: diosmosis Date: Thu, 20 Sep 2018 15:53:37 -0700 Subject: Send email if no tracked data within N days. (#13363) * Remember user who created a site. * Send email if no tracked data within N days. * Add test and get to pass. * Fixes after manual tests of emails * Bump version & change column name to creator_login. * Email tweaks. * Rename Site::getCreationUserFor * Modify Site:: access methiod name * Applying PR feedback. * Move email HTML content generation logic to separate class in DI. * tweak translations * Apply PR review feedback. * Couple more tweaks. * Make tracking code check a one time task + and save timetable when removing inactive tasks. * Update save call. * Apply more PR feedback. * small performance tweak and put the site name in quotes * Fixing tests. * Update expected file. --- plugins/SitesManager/SitesManager.php | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) (limited to 'plugins/SitesManager') diff --git a/plugins/SitesManager/SitesManager.php b/plugins/SitesManager/SitesManager.php index 15c1129d03..8c77fe78e7 100644 --- a/plugins/SitesManager/SitesManager.php +++ b/plugins/SitesManager/SitesManager.php @@ -68,6 +68,19 @@ class SitesManager extends \Piwik\Plugin return; } + if (self::hasTrackedAnyTraffic($siteId)) { + $session = new SessionNamespace('siteWithoutData'); + if (!empty($session->ignoreMessage)) { + return; + } + + $module = 'SitesManager'; + $action = 'siteWithoutData'; + } + } + + public static function hasTrackedAnyTraffic($siteId) + { $shouldPerformEmptySiteCheck = true; /** @@ -82,17 +95,7 @@ class SitesManager extends \Piwik\Plugin Piwik::postEvent('SitesManager.shouldPerformEmptySiteCheck', [&$shouldPerformEmptySiteCheck, $siteId]); $trackerModel = new TrackerModel(); - if ($shouldPerformEmptySiteCheck - && $trackerModel->isSiteEmpty($siteId) - ) { - $session = new SessionNamespace('siteWithoutData'); - if (!empty($session->ignoreMessage)) { - return; - } - - $module = 'SitesManager'; - $action = 'siteWithoutData'; - } + return $shouldPerformEmptySiteCheck && $trackerModel->isSiteEmpty($siteId); } public function onSiteDeleted($idSite) -- cgit v1.2.3