removing uneeded code and moving the url generation to proper class
This commit is contained in:
@@ -2,6 +2,7 @@
|
|||||||
namespace MailPoet\Cron\Workers\SendingQueue;
|
namespace MailPoet\Cron\Workers\SendingQueue;
|
||||||
|
|
||||||
use MailPoet\Cron\CronHelper;
|
use MailPoet\Cron\CronHelper;
|
||||||
|
use MailPoet\Cron\Workers\SendingQueue\Tasks\Links;
|
||||||
use MailPoet\Cron\Workers\SendingQueue\Tasks\Mailer as MailerTask;
|
use MailPoet\Cron\Workers\SendingQueue\Tasks\Mailer as MailerTask;
|
||||||
use MailPoet\Cron\Workers\SendingQueue\Tasks\Newsletter as NewsletterTask;
|
use MailPoet\Cron\Workers\SendingQueue\Tasks\Newsletter as NewsletterTask;
|
||||||
use MailPoet\Mailer\MailerLog;
|
use MailPoet\Mailer\MailerLog;
|
||||||
@@ -10,7 +11,6 @@ use MailPoet\Models\SendingQueue as SendingQueueModel;
|
|||||||
use MailPoet\Models\Setting;
|
use MailPoet\Models\Setting;
|
||||||
use MailPoet\Models\StatisticsNewsletters as StatisticsNewslettersModel;
|
use MailPoet\Models\StatisticsNewsletters as StatisticsNewslettersModel;
|
||||||
use MailPoet\Models\Subscriber as SubscriberModel;
|
use MailPoet\Models\Subscriber as SubscriberModel;
|
||||||
use MailPoet\Newsletter\Links\Links;
|
|
||||||
use MailPoet\Router\Endpoints\Track;
|
use MailPoet\Router\Endpoints\Track;
|
||||||
use MailPoet\Router\Router;
|
use MailPoet\Router\Router;
|
||||||
use MailPoet\Subscription\Url;
|
use MailPoet\Subscription\Url;
|
||||||
@@ -123,7 +123,7 @@ class SendingQueue {
|
|||||||
$prepared_newsletters[0],
|
$prepared_newsletters[0],
|
||||||
$prepared_subscribers[0],
|
$prepared_subscribers[0],
|
||||||
$statistics,
|
$statistics,
|
||||||
$this->getExtraParams($queue, $prepared_subscribers_ids)
|
array('unsubscribe_url' => Links::getUnsubscribeUrl($queue, $prepared_subscribers_ids[0]))
|
||||||
);
|
);
|
||||||
$prepared_newsletters = array();
|
$prepared_newsletters = array();
|
||||||
$prepared_subscribers = array();
|
$prepared_subscribers = array();
|
||||||
@@ -180,33 +180,6 @@ class SendingQueue {
|
|||||||
MailerLog::enforceExecutionRequirements();
|
MailerLog::enforceExecutionRequirements();
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function getExtraParams($queue, $prepared_subscribers_ids) {
|
|
||||||
$subscriber_id = $prepared_subscribers_ids[0];
|
|
||||||
$subscriber = SubscriberModel::where('id', $subscriber_id)->findOne();
|
|
||||||
|
|
||||||
if((boolean)Setting::getValue('tracking.enabled')) {
|
|
||||||
$link_hash = NewsletterLink::where('queue_id', $queue->id)
|
|
||||||
->where('url', '[link:subscription_unsubscribe_url]')
|
|
||||||
->findOne()
|
|
||||||
->hash;
|
|
||||||
$data = Links::createUrlDataObject(
|
|
||||||
$subscriber_id,
|
|
||||||
$subscriber->email,
|
|
||||||
$queue->id,
|
|
||||||
$link_hash,
|
|
||||||
false
|
|
||||||
);
|
|
||||||
$url = Router::buildRequest(
|
|
||||||
Track::ENDPOINT,
|
|
||||||
Track::ACTION_CLICK,
|
|
||||||
$data
|
|
||||||
);
|
|
||||||
} else {
|
|
||||||
$url = Url::getUnsubscribeUrl($subscriber);
|
|
||||||
}
|
|
||||||
return array('unsubscribe_url' => $url);
|
|
||||||
}
|
|
||||||
|
|
||||||
static function getRunningQueues() {
|
static function getRunningQueues() {
|
||||||
return SendingQueueModel::orderByAsc('priority')
|
return SendingQueueModel::orderByAsc('priority')
|
||||||
->whereNull('deleted_at')
|
->whereNull('deleted_at')
|
||||||
|
@@ -1,8 +1,14 @@
|
|||||||
<?php
|
<?php
|
||||||
namespace MailPoet\Cron\Workers\SendingQueue\Tasks;
|
namespace MailPoet\Cron\Workers\SendingQueue\Tasks;
|
||||||
|
|
||||||
use MailPoet\Newsletter\Links\Links as NewsletterLinks;
|
|
||||||
use MailPoet\Util\Helpers;
|
use MailPoet\Util\Helpers;
|
||||||
|
use MailPoet\Router\Router;
|
||||||
|
use MailPoet\Models\Setting;
|
||||||
|
use MailPoet\Subscription\Url;
|
||||||
|
use MailPoet\Models\Subscriber;
|
||||||
|
use MailPoet\Router\Endpoints\Track;
|
||||||
|
use MailPoet\Newsletter\Links\Links as NewsletterLinks;
|
||||||
|
use MailPoet\Models\NewsletterLink as NewsletterLinkModel;
|
||||||
|
|
||||||
if(!defined('ABSPATH')) exit;
|
if(!defined('ABSPATH')) exit;
|
||||||
|
|
||||||
@@ -30,4 +36,30 @@ class Links {
|
|||||||
static function saveLinks($links, $newsletter, $queue) {
|
static function saveLinks($links, $newsletter, $queue) {
|
||||||
return NewsletterLinks::save($links, $newsletter->id, $queue->id);
|
return NewsletterLinks::save($links, $newsletter->id, $queue->id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static function getUnsubscribeUrl($queue, $subscriber_id) {
|
||||||
|
$subscriber = Subscriber::where('id', $subscriber_id)->findOne();
|
||||||
|
|
||||||
|
if((boolean)Setting::getValue('tracking.enabled')) {
|
||||||
|
$link_hash = NewsletterLinkModel::where('queue_id', $queue->id)
|
||||||
|
->where('url', '[link:subscription_unsubscribe_url]')
|
||||||
|
->findOne()
|
||||||
|
->hash;
|
||||||
|
$data = NewsletterLinks::createUrlDataObject(
|
||||||
|
$subscriber->id,
|
||||||
|
$subscriber->email,
|
||||||
|
$queue->id,
|
||||||
|
$link_hash,
|
||||||
|
false
|
||||||
|
);
|
||||||
|
$url = Router::buildRequest(
|
||||||
|
Track::ENDPOINT,
|
||||||
|
Track::ACTION_CLICK,
|
||||||
|
$data
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
$url = Url::getUnsubscribeUrl($subscriber);
|
||||||
|
}
|
||||||
|
return $url;
|
||||||
|
}
|
||||||
}
|
}
|
@@ -33,9 +33,6 @@ class Url {
|
|||||||
if(is_object($subscriber)) {
|
if(is_object($subscriber)) {
|
||||||
$subscriber = $subscriber->asArray();
|
$subscriber = $subscriber->asArray();
|
||||||
}
|
}
|
||||||
if(is_string($subscriber)) {
|
|
||||||
$subscriber = array('email' => $subscriber);
|
|
||||||
}
|
|
||||||
|
|
||||||
$data = array(
|
$data = array(
|
||||||
'token' => Subscriber::generateToken($subscriber['email']),
|
'token' => Subscriber::generateToken($subscriber['email']),
|
||||||
|
Reference in New Issue
Block a user