| Server IP : 89.108.64.180 / Your IP : 216.73.217.92 Web Server : Apache/2.4.41 (Ubuntu) System : Linux 89-108-64-180.cloudvps.regruhosting.ru 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64 User : www-root ( 1010) PHP Version : 8.0.30 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /var/www/www-root/data/www/fl-brief.agast.ru/wp-content/plugins/mailpoet/lib/Newsletter/ |
Upload File : |
<?php // phpcs:ignore SlevomatCodingStandard.TypeHints.DeclareStrictTypes.DeclareStrictTypesMissing
namespace MailPoet\Newsletter;
if (!defined('ABSPATH')) exit;
use MailPoet\Entities\NewsletterEntity;
use MailPoet\Entities\SendingQueueEntity;
use MailPoet\Entities\SubscriberEntity;
use MailPoet\Router\Endpoints\ViewInBrowser as ViewInBrowserEndpoint;
use MailPoet\Router\Router;
use MailPoet\Subscribers\LinkTokens;
class Url {
/** @var LinkTokens */
private $linkTokens;
public function __construct(
LinkTokens $linkTokens
) {
$this->linkTokens = $linkTokens;
}
public function getViewInBrowserUrl(
?NewsletterEntity $newsletter,
?SubscriberEntity $subscriber = null,
?SendingQueueEntity $queue = null,
bool $preview = true
) {
$data = $this->createUrlDataObject($newsletter, $subscriber, $queue, $preview);
return Router::buildRequest(
ViewInBrowserEndpoint::ENDPOINT,
ViewInBrowserEndpoint::ACTION_VIEW,
$data
);
}
public function createUrlDataObject(
?NewsletterEntity $newsletter,
?SubscriberEntity $subscriber,
?SendingQueueEntity $queue,
bool $preview
) {
$newsletterId = $newsletter && $newsletter->getId() ? $newsletter->getId() : 0;
$newsletterHash = $newsletter && $newsletter->getHash() ? $newsletter->getHash() : 0;
$sendingQueueId = $queue && $queue->getId() ? $queue->getId() : 0;
return [
$newsletterId,
$newsletterHash,
$subscriber && $subscriber->getId() ? $subscriber->getId() : 0,
$subscriber && $subscriber->getId() ? $this->linkTokens->getToken($subscriber) : 0,
$sendingQueueId,
(int)$preview,
];
}
public function transformUrlDataObject($data) {
reset($data);
if (!is_int(key($data))) return $data;
$transformedData = [];
$transformedData['newsletter_id'] = (!empty($data[0])) ? $data[0] : false;
$transformedData['newsletter_hash'] = (!empty($data[1])) ? $data[1] : false;
$transformedData['subscriber_id'] = (!empty($data[2])) ? $data[2] : false;
$transformedData['subscriber_token'] = (!empty($data[3])) ? $data[3] : false;
$transformedData['queue_id'] = (!empty($data[4])) ? $data[4] : false;
$transformedData['preview'] = (!empty($data[5])) ? $data[5] : false;
return $transformedData;
}
}