Spaces:
No application file
No application file
File size: 832 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 |
<?php
namespace Mautic\AssetBundle\Helper;
use Mautic\AssetBundle\Model\AssetModel;
class TokenHelper
{
public function __construct(
protected AssetModel $model
) {
}
public function findAssetTokens($content, $clickthrough = []): array
{
$tokens = [];
preg_match_all('/{assetlink=(.*?)}/', $content, $matches);
if (!empty($matches[1])) {
foreach ($matches[1] as $key => $assetId) {
$token = $matches[0][$key];
if (isset($tokens[$token])) {
continue;
}
$asset = $this->model->getEntity($assetId);
$tokens[$token] = (null !== $asset) ? $this->model->generateUrl($asset, true, $clickthrough) : '';
}
}
return $tokens;
}
}
|