Spaces:
No application file
No application file
File size: 898 Bytes
d2897cd |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
<?php
namespace Mautic\PageBundle\Helper;
use Mautic\PageBundle\Model\PageModel;
class TokenHelper
{
public function __construct(
protected PageModel $model
) {
}
public function findPageTokens($content, $clickthrough = []): array
{
preg_match_all('/{pagelink=(.*?)}/', $content, $matches);
$tokens = [];
if (!empty($matches[1])) {
foreach ($matches[1] as $key => $pageId) {
$token = $matches[0][$key];
if (!empty($tokens[$token])) {
continue;
}
$page = $this->model->getEntity($pageId);
if (!$page) {
continue;
}
$tokens[$token] = $this->model->generateUrl($page, true, $clickthrough);
}
unset($matches);
}
return $tokens;
}
}
|