Add dummy form preview page

[MAILPOET-2743]
This commit is contained in:
Rostislav Wolny
2020-04-09 16:52:13 +02:00
committed by Veljko V
parent e7fd5ac551
commit 1fe7cabe23
2 changed files with 46 additions and 0 deletions

View File

@ -208,6 +208,7 @@ class ContainerConfigurator implements IContainerConfigurator {
$container->autowire(\MailPoet\Referrals\ReferralDetector::class); $container->autowire(\MailPoet\Referrals\ReferralDetector::class);
// Router // Router
$container->autowire(\MailPoet\Router\Endpoints\CronDaemon::class)->setPublic(true); $container->autowire(\MailPoet\Router\Endpoints\CronDaemon::class)->setPublic(true);
$container->autowire(\MailPoet\Router\Endpoints\FormPreview::class)->setPublic(true);
$container->autowire(\MailPoet\Router\Endpoints\Subscription::class)->setPublic(true); $container->autowire(\MailPoet\Router\Endpoints\Subscription::class)->setPublic(true);
$container->autowire(\MailPoet\Router\Endpoints\ViewInBrowser::class)->setPublic(true); $container->autowire(\MailPoet\Router\Endpoints\ViewInBrowser::class)->setPublic(true);
$container->autowire(\MailPoet\Router\Endpoints\Track::class)->setPublic(true); $container->autowire(\MailPoet\Router\Endpoints\Track::class)->setPublic(true);

View File

@ -0,0 +1,45 @@
<?php
namespace MailPoet\Router\Endpoints;
use MailPoet\Config\AccessControl;
use MailPoet\WP\Functions as WPFunctions;
class FormPreview {
const ENDPOINT = 'form_preview';
const ACTION_VIEW = 'view';
/** @var WPFunctions */
private $wp;
/** @var array|null */
private $data;
public $allowedActions = [self::ACTION_VIEW];
public $permissions = [
'global' => AccessControl::NO_ACCESS_RESTRICTION,
];
public function __construct(
WPFunctions $wp
) {
$this->wp = $wp;
}
public function view(array $data) {
$this->data = $data;
$this->wp->addFilter('the_content', [$this,'renderContent'], 10);
$this->wp->addFilter('the_title', [$this,'renderTitle'], 10);
$this->wp->addFilter('show_admin_bar', function () {
return false;
});
}
public function renderContent(): string {
return '<h1>Todo render form</h1>';
}
public function renderTitle(): string {
return __('Sample page to preview your form', 'mailpoet');
}
}