/** * @param string $value * @return array */ public static function PrepareLinkAttributes($value) { $value = self::NormalizeNumberIfRequired($value); $format = self::GetFormat(self::Bitrix); if ($format === self::Bitrix) { return array('HREF' => "callto://{$value}", 'ONCLICK' => "if(typeof(BXIM) !== 'undefined') { BXIM.phoneTo('{$value}'); return BX.PreventDefault(event); }"); } if ($format !== self::Custom) { return array('HREF' => $format === self::Slashless ? "callto:{$value}" : "callto://{$value}", 'ONCLICK' => ''); } if (!self::$URL_TEMPLATE || !self::$CLICK_HANDLER) { $settings = self::GetCustomSettings(); self::$URL_TEMPLATE = new CCrmUrlTemplate(); self::$URL_TEMPLATE->SetTemplate(isset($settings['URL_TEMPLATE']) ? $settings['URL_TEMPLATE'] : 'callto:[phone]'); self::$CLICK_HANDLER = new CCrmUrlTemplate(); self::$CLICK_HANDLER->SetTemplate(isset($settings['CLICK_HANDLER']) ? $settings['CLICK_HANDLER'] : ''); } $templateParams = array('PHONE' => $value); return array('HREF' => self::$URL_TEMPLATE->Build($templateParams), 'ONCLICK' => self::$CLICK_HANDLER->Build($templateParams)); }