/** * @param SmsSendEvent $event */ public function onSmsSend(SmsSendEvent $event) { $content = $event->getContent(); $tokens = array(); /** @var \Mautic\SmsBundle\Api\AbstractSmsApi $smsApi */ $smsApi = $this->factory->getKernel()->getContainer()->get('mautic.sms.api'); if ($this->contentHasLinks($content)) { preg_match_all($this->urlRegEx, $content, $matches); foreach ($matches[0] as $url) { $tokens[$url] = $smsApi->convertToTrackedUrl($url, array('sms' => $event->getSmsId(), 'lead' => $event->getLead()->getId())); } } $content = str_ireplace(array_keys($tokens), array_values($tokens), $content); $event->setContent($content); }