45 lines
1.1 KiB
PHP
45 lines
1.1 KiB
PHP
<?php
|
|
namespace MailPoet\Newsletter;
|
|
|
|
use MailPoet\API\API;
|
|
use MailPoet\API\Endpoints\ViewInBrowser as ViewInBrowserAPI;
|
|
use MailPoet\Models\Subscriber;
|
|
|
|
class Url {
|
|
static function getViewInBrowserUrl(
|
|
$newsletter,
|
|
$subscriber = false,
|
|
$queue = false
|
|
) {
|
|
if(is_object($newsletter)) {
|
|
$newsletter = $newsletter->asArray();
|
|
}
|
|
if(is_object($subscriber)) {
|
|
$subscriber = $subscriber->asArray();
|
|
}
|
|
if(is_object($queue)) {
|
|
$queue = $queue->asArray();
|
|
}
|
|
$data = array(
|
|
'newsletter' => (!empty($newsletter['id'])) ?
|
|
$newsletter['id'] :
|
|
$newsletter,
|
|
'subscriber' => (!empty($subscriber['id'])) ?
|
|
$subscriber['id'] :
|
|
$subscriber,
|
|
'subscriber_token' => (!empty($subscriber['id'])) ?
|
|
Subscriber::generateToken($subscriber['email']) :
|
|
false,
|
|
'queue' => (!empty($queue['id'])) ?
|
|
$queue['id'] :
|
|
$queue
|
|
);
|
|
$params = array(
|
|
API::API_NAME,
|
|
ViewInBrowserAPI::ENDPOINT,
|
|
ViewInBrowserAPI::ACTION_VIEW,
|
|
$data
|
|
);
|
|
return add_query_arg($params, home_url());
|
|
}
|
|
} |