PluginProbe
AcyMailing – An Ultimate Newsletter Plugin and Marketing Automation Solution for WordPress / 11.1.0
AcyMailing – An Ultimate Newsletter Plugin and Marketing Automation Solution for WordPress v11.1.0
11.1.1 11.1.0 11.0.5 11.0.4 11.0.3 11.0.2 11.0.1 11.0.0 10.11.1 10.11.0 10.10.2 10.10.1 10.10.0 10.9.1 trunk 10.0.0 10.0.1 10.1.0 10.1.1 10.1.2 10.1.3 10.1.4 10.2.0 10.2.1 10.2.2 All 62 releases
← All changes | back/Classes/UrlClickClass.php +3 -7 10.10.2 → 11.1.0 View file →
@@ -2,9 +2,8 @@
2 2
3 3 namespace AcyMailing\Classes;
4 4
5 5 use AcyMailing\Core\AcymClass;
6 -use AcyMailing\Helpers\ScenarioHelper;
7 6
8 7
9 8 class UrlClickClass extends AcymClass
10 9 {
@@ -35,13 +34,8 @@
35 34 $onDuplicate = [];
36 35
37 36 if (!empty($urlClick['click'])) {
38 37 $onDuplicate[] = 'click = click + 1';
39 - $automationClass = new AutomationClass();
40 - $automationClass->trigger('user_click', ['userId' => $urlClick['user_id'], 'mailId' => $urlClick['mail_id']]);
41 -
42 - $scenarioHelper = new ScenarioHelper();
43 - $scenarioHelper->trigger('user_click', ['userId' => $urlClick['user_id'], 'mailId' => $urlClick['mail_id']]);
44 38 }
45 39
46 40 if (!empty($onDuplicate)) {
47 41 $query .= ' ON DUPLICATE KEY UPDATE ';
@@ -57,9 +51,11 @@
57 51 public function getNumberUsersClicked(array $mailIds = [], bool $isAbTest = false): int
58 52 {
59 53 acym_arrayToInteger($mailIds);
60 54
61 - $query = 'SELECT COUNT(DISTINCT user_id) FROM #__acym_url_click AS url_click';
55 + // In anonymous mode clicks are aggregated with user_id = 0, so counting distinct users is meaningless: return the total number of clicks (consistent with the click totals shown in the statistics page)
56 + $countSelect = !empty(acym_config()->get('anonymous_stats', 0)) ? 'SUM(`url_click`.`click`)' : 'COUNT(DISTINCT user_id)';
57 + $query = 'SELECT '.$countSelect.' FROM #__acym_url_click AS url_click';
62 58 $isMultilingual = acym_isMultilingual();
63 59
64 60 if (!empty($mailIds) && ($isMultilingual || $isAbTest)) {
65 61 $query .= ' LEFT JOIN #__acym_mail AS mail ON `mail`.`id` = `url_click`.`mail_id` WHERE `mail`.`id` IN ('.implode(