File "MetaInfo.php"
Full Path: /home/warrior1/public_html/wp-content/plugins/mailpoet/lib/Mailer/MetaInfo.php
File size: 2.23 KB
MIME-type: text/x-php
Charset: utf-8
<?php
namespace MailPoet\Mailer;
if (!defined('ABSPATH')) exit;
use MailPoet\Entities\SubscriberEntity;
use MailPoet\Models\Newsletter;
class MetaInfo {
public function getSendingTestMetaInfo() {
return $this->makeMetaInfo('sending_test', 'unknown', 'administrator');
}
public function getPreviewMetaInfo() {
return $this->makeMetaInfo('preview', 'unknown', 'administrator');
}
public function getStatsNotificationMetaInfo() {
return $this->makeMetaInfo('email_stats_notification', 'unknown', 'administrator');
}
public function getWordPressTransactionalMetaInfo(SubscriberEntity $subscriber = null) {
return $this->makeMetaInfo(
'transactional',
$subscriber ? $subscriber->getStatus() : 'unknown',
$subscriber ? $subscriber->getSource() : 'unknown'
);
}
public function getConfirmationMetaInfo(SubscriberEntity $subscriber) {
return $this->makeMetaInfo('confirmation', $subscriber->getStatus(), $subscriber->getSource());
}
public function getNewSubscriberNotificationMetaInfo() {
return $this->makeMetaInfo('new_subscriber_notification', 'unknown', 'administrator');
}
public function getNewsletterMetaInfo($newsletter, SubscriberEntity $subscriber) {
$type = $newsletter->type ?? 'unknown';
switch ($newsletter->type) {
case Newsletter::TYPE_AUTOMATIC:
$group = isset($newsletter->options['group']) ? $newsletter->options['group'] : 'unknown';
$event = isset($newsletter->options['event']) ? $newsletter->options['event'] : 'unknown';
$type = sprintf('automatic_%s_%s', $group, $event);
break;
case Newsletter::TYPE_STANDARD:
$type = 'newsletter';
break;
case Newsletter::TYPE_WELCOME:
$type = 'welcome';
break;
case Newsletter::TYPE_NOTIFICATION:
case Newsletter::TYPE_NOTIFICATION_HISTORY:
$type = 'post_notification';
break;
}
return $this->makeMetaInfo($type, $subscriber->getStatus(), $subscriber->getSource());
}
private function makeMetaInfo($emailType, $subscriberStatus, $subscriberSource) {
return [
'email_type' => $emailType,
'subscriber_status' => $subscriberStatus,
'subscriber_source' => $subscriberSource ?: 'unknown',
];
}
}