From 2c020bf28338a25194d44a30e47616d1988d17ac Mon Sep 17 00:00:00 2001 From: Pavel Dohnal Date: Wed, 21 Feb 2018 13:30:29 +0000 Subject: [PATCH 1/3] Fix analytics reporting on segments [MAILPOET-1279] --- lib/Analytics/Reporter.php | 6 +++--- lib/Models/Segment.php | 3 ++- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/lib/Analytics/Reporter.php b/lib/Analytics/Reporter.php index 4d961adc9f..f500a499c9 100644 --- a/lib/Analytics/Reporter.php +++ b/lib/Analytics/Reporter.php @@ -19,7 +19,7 @@ class Reporter { $isCronTriggerMethodWP = Setting::getValue('cron_trigger.method') === CronTrigger::$available_methods['wordpress']; $checker = new ServicesChecker(); $bounceAddress = Setting::getValue('bounce.address'); - $segmets = Segment::getAnalytics(); + $segments = Segment::getAnalytics(); return array( 'PHP version' => PHP_VERSION, @@ -50,8 +50,8 @@ class Reporter { 'Number of standard newsletters sent in last 3 months' => $newsletters['sent_newsletters'], 'Number of active post notifications' => $newsletters['notifications_count'], 'Number of active welcome emails' => $newsletters['welcome_newsletters_count'], - 'Number of segments' => $segmets['dynamic'], - 'Number of lists' => $segmets['default'], + 'Number of segments' => (int)isset($segments['dynamic']) ? $segments['dynamic'] : 0, + 'Number of lists' => (int)$segments['default'], 'Plugin > MailPoet Premium' => is_plugin_active('mailpoet-premium/mailpoet-premium.php'), 'Plugin > bounce add-on' => is_plugin_active('mailpoet-bounce-handler/mailpoet-bounce-handler.php'), 'Plugin > Bloom' => is_plugin_active('bloom-for-publishers/bloom.php'), diff --git a/lib/Models/Segment.php b/lib/Models/Segment.php index 7ee9ee288a..0d8ec7f608 100644 --- a/lib/Models/Segment.php +++ b/lib/Models/Segment.php @@ -249,9 +249,10 @@ class Segment extends Model { } static function getAnalytics() { - return Segment::select_expr('type, count(*) as count') + $analytics = Segment::select_expr('type, count(*) as count') ->whereNull('deleted_at') ->groupBy('type') ->findArray(); + return array_combine(array_column($analytics, 'type'), array_column($analytics, 'count')); } } From c3f974a3c0c66f049c7dac8a95f84c48850a48b0 Mon Sep 17 00:00:00 2001 From: Pavel Dohnal Date: Wed, 21 Feb 2018 14:11:48 +0000 Subject: [PATCH 2/3] Make code compatible with 5.3 :( [MAILPOET-1279] --- lib/Models/Segment.php | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/lib/Models/Segment.php b/lib/Models/Segment.php index 0d8ec7f608..a6925d27f2 100644 --- a/lib/Models/Segment.php +++ b/lib/Models/Segment.php @@ -250,9 +250,13 @@ class Segment extends Model { static function getAnalytics() { $analytics = Segment::select_expr('type, count(*) as count') - ->whereNull('deleted_at') - ->groupBy('type') - ->findArray(); - return array_combine(array_column($analytics, 'type'), array_column($analytics, 'count')); + ->whereNull('deleted_at') + ->groupBy('type') + ->findArray(); + $result = array(); + foreach($analytics as $segment) { + $result[$segment['type']] = $segment['count']; + } + return $result; } } From 4ed39c9620abab7b7085269104e66c97cf969c8f Mon Sep 17 00:00:00 2001 From: Pavel Dohnal Date: Mon, 26 Feb 2018 09:36:55 +0000 Subject: [PATCH 3/3] Code fix [MAILPOET-1279] --- lib/Analytics/Reporter.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/Analytics/Reporter.php b/lib/Analytics/Reporter.php index f500a499c9..548c05c836 100644 --- a/lib/Analytics/Reporter.php +++ b/lib/Analytics/Reporter.php @@ -50,8 +50,8 @@ class Reporter { 'Number of standard newsletters sent in last 3 months' => $newsletters['sent_newsletters'], 'Number of active post notifications' => $newsletters['notifications_count'], 'Number of active welcome emails' => $newsletters['welcome_newsletters_count'], - 'Number of segments' => (int)isset($segments['dynamic']) ? $segments['dynamic'] : 0, - 'Number of lists' => (int)$segments['default'], + 'Number of segments' => isset($segments['dynamic']) ? (int)$segments['dynamic'] : 0, + 'Number of lists' => isset($segments['default']) ? (int)$segments['default'] : 0, 'Plugin > MailPoet Premium' => is_plugin_active('mailpoet-premium/mailpoet-premium.php'), 'Plugin > bounce add-on' => is_plugin_active('mailpoet-bounce-handler/mailpoet-bounce-handler.php'), 'Plugin > Bloom' => is_plugin_active('bloom-for-publishers/bloom.php'),