<?php namespace MailPoet\Models; if (!defined('ABSPATH')) exit; /** * @property string|null $sentAt */ class StatisticsNewsletters extends Model { public static $_table = MP_STATISTICS_NEWSLETTERS_TABLE; // phpcs:ignore PSR2.Classes.PropertyDeclaration public static function createMultiple(array $data) { $values = []; foreach ($data as $value) { if (!empty($value['newsletter_id']) && !empty($value['subscriber_id']) && !empty($value['queue_id']) ) { $values[] = $value['newsletter_id']; $values[] = $value['subscriber_id']; $values[] = $value['queue_id']; } } if (!count($values)) return false; return self::rawExecute( 'INSERT INTO `' . self::$_table . '` ' . '(newsletter_id, subscriber_id, queue_id) ' . 'VALUES ' . rtrim( str_repeat('(?,?,?), ', count($values) / 3), ', ' ), $values ); } public static function getAllForSubscriber(Subscriber $subscriber) { return static::tableAlias('statistics') ->select('statistics.newsletter_id', 'newsletter_id') ->select('newsletter_rendered_subject') ->select('opens.created_at', 'opened_at') ->select('sent_at') ->join( SendingQueue::$_table, ['statistics.queue_id', '=', 'queue.id'], 'queue' ) ->leftOuterJoin( StatisticsOpens::$_table, 'statistics.newsletter_id = opens.newsletter_id AND statistics.subscriber_id = opens.subscriber_id', 'opens' ) ->where('statistics.subscriber_id', $subscriber->id()) ->orderByAsc('newsletter_id'); } }
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
CustomField.php | File | 3.79 KB | 0644 |
|
DynamicSegment.php | File | 4.05 KB | 0644 |
|
DynamicSegmentFilter.php | File | 1.35 KB | 0644 |
|
Form.php | File | 4.02 KB | 0644 |
|
MappingToExternalEntities.php | File | 378 B | 0644 |
|
Model.php | File | 13.58 KB | 0644 |
|
ModelValidator.php | File | 2.44 KB | 0644 |
|
Newsletter.php | File | 15.14 KB | 0644 |
|
NewsletterLink.php | File | 530 B | 0644 |
|
NewsletterOption.php | File | 670 B | 0644 |
|
NewsletterOptionField.php | File | 939 B | 0644 |
|
NewsletterSegment.php | File | 312 B | 0644 |
|
ScheduledTask.php | File | 6.58 KB | 0644 |
|
ScheduledTaskSubscriber.php | File | 5.31 KB | 0644 |
|
Segment.php | File | 10.89 KB | 0644 |
|
SendingQueue.php | File | 4.31 KB | 0644 |
|
StatisticsClicks.php | File | 1.08 KB | 0644 |
|
StatisticsForms.php | File | 1.85 KB | 0644 |
|
StatisticsNewsletters.php | File | 1.61 KB | 0644 |
|
StatisticsOpens.php | File | 807 B | 0644 |
|
StatisticsUnsubscribes.php | File | 821 B | 0644 |
|
StatisticsWooCommercePurchases.php | File | 1.5 KB | 0644 |
|
Subscriber.php | File | 20.83 KB | 0644 |
|
SubscriberCustomField.php | File | 2.5 KB | 0644 |
|
SubscriberIP.php | File | 1.12 KB | 0644 |
|
SubscriberSegment.php | File | 5.2 KB | 0644 |
|
index.php | File | 0 B | 0644 |
|