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/UserStatClass.php +12 -9 11.0.0 → 11.1.0 View file →
@@ -46,13 +46,8 @@
46 46 }
47 47
48 48 if (!empty($userStat['open'])) {
49 49 $onDuplicate[] = 'open = open + 1';
50 - $automationClass = new AutomationClass();
51 - $automationClass->trigger('user_open', ['userId' => $userStat['user_id'], 'mailId' => $userStat['mail_id']]);
52 -
53 - $scenarioHelper = new ScenarioHelper();
54 - $scenarioHelper->trigger('user_open', ['userId' => $userStat['user_id'], 'mailId' => $userStat['mail_id']]);
55 50 }
56 51
57 52 if (!empty($userStat['open_date'])) {
58 53 $onDuplicate[] = 'open_date = '.acym_escapeDB($userStat['open_date']);
@@ -85,8 +80,16 @@
85 80
86 81 return (int)acym_query($query);
87 82 }
88 83
84 + public static function triggerActivity(string $event, int $userId, int $mailId): void
85 + {
86 + $payload = ['userId' => $userId, 'mailId' => $mailId];
87 +
88 + (new AutomationClass())->trigger($event, $payload);
89 + (new ScenarioHelper())->trigger($event, $payload);
90 + }
91 +
89 92 public function getOneByMailAndUserId(int $mailId, int $userId): ?object
90 93 {
91 94 $userStat = acym_loadObject('SELECT * FROM #__acym_user_stat WHERE `mail_id` = '.intval($mailId).' AND `user_id` = '.intval($userId));
92 95
@@ -226,14 +229,14 @@
226 229 $offsetSeconds = acym_getTimeOffsetCMS();
227 230
228 231 return [
229 232 'total_open' => acym_loadResult(
230 - 'SELECT SUM(`open`)
231 - FROM #__acym_user_stat
233 + 'SELECT SUM(`open`)
234 + FROM #__acym_user_stat
232 235 WHERE open_date IS NOT NULL '.$specificMailsCondition
233 236 ),
234 237 'stats' => acym_loadObjectList(
235 - 'SELECT
238 + 'SELECT
236 239 SUM(`open`) AS `open_total`,
237 240 DATE_FORMAT(DATE_ADD(open_date, INTERVAL '.$offsetSeconds.' SECOND), "%w") AS `day`,
238 241 FORMAT(CONVERT(DATE_FORMAT(DATE_ADD(open_date, INTERVAL '.$offsetSeconds.' SECOND), "%H"), SIGNED INTEGER) / 3, 0) AS `hour`,
239 242 CONCAT(
@@ -241,9 +244,9 @@
241 244 "_",
242 245 FORMAT(CONVERT(DATE_FORMAT(DATE_ADD(open_date, INTERVAL '.$offsetSeconds.' SECOND), "%H"), SIGNED INTEGER) / 3, 0)
243 246 ) AS `date_id`
244 247 FROM `#__acym_user_stat`
245 - WHERE open_date IS NOT NULL '.$specificMailsCondition.'
248 + WHERE open_date IS NOT NULL '.$specificMailsCondition.'
246 249 GROUP BY date_id',
247 250 'date_id'
248 251 ),
249 252 ];