oont-contents/plugins/mailpoet/lib/Router/Endpoints/TemplateImage.php
2025-02-08 15:10:23 +01:00

41 lines
1 KiB
PHP

<?php // phpcs:ignore SlevomatCodingStandard.TypeHints.DeclareStrictTypes.DeclareStrictTypesMissing
namespace MailPoet\Router\Endpoints;
if (!defined('ABSPATH')) exit;
use MailPoet\Config\AccessControl;
use MailPoet\NewsletterTemplates\TemplateImageLoader;
class TemplateImage {
const ENDPOINT = 'template_image';
const ACTION_GET_EXTERNAL_IMAGE = 'getExternalImage';
/** @var TemplateImageLoader */
private $templateImageLoader;
public $allowedActions = [self::ACTION_GET_EXTERNAL_IMAGE];
public $permissions = [
'global' => AccessControl::PERMISSION_MANAGE_EMAILS,
];
public function __construct(
TemplateImageLoader $templateImageLoader
) {
$this->templateImageLoader = $templateImageLoader;
}
public function getExternalImage($data = [], $return = false) {
if (empty($_GET['url'])) {
return false;
}
$result = $this->templateImageLoader->loadExternalImage(
sanitize_text_field(wp_unslash($_GET['url']))
);
if ($return) {
return $result;
}
exit;
}
}