Спасибо большое. Это одно из решений. Я пошел немного дальше и поковырялся в коде CMS. Путем замены (дополнения) нескольких строк кода, сделал код javascript'а валидным. Может разработчики в будущих версиях примут это на заметку и внесут изменения в свой код.
Правил этот файл: \modules\core\command\controller\default.php
Было:
<?php
function safe_email_callback($matches)
{
ob_start();
?><script type="text/javascript"><?php
?>function hostcmsEmail(c){return c.replace(/[a-zA-Z]/g, function (c){return String.fromCharCode((c <= "Z" ? 90 : 122) >= (c = c.charCodeAt(0) + 13) ? c : c-26);})}<?php
?>document.write ('<a <?php echo strip_nl($matches[1])?> href="mailto:' + hostcmsEmail('<?php echo strip_nl(str_rot13($matches[2]))?>') + '"<?php echo strip_nl($matches[3])?>>' + hostcmsEmail('<?php echo strip_nl(str_rot13($matches[4]))?>') + '</a>');</script><?php
return ob_get_clean();
}
?>
Стало:
function safe_email_callback($matches)
{
ob_start();
define('CRLF', "\n");
echo CRLF;
echo '<script type="text/javascript">';
echo '//<![CDATA['.CRLF;
echo 'function hostcmsEmail(c){return c.replace(/[a-zA-Z]/g, function (c){return String.fromCharCode((c <= "Z" ? 90 : 122) >= (c = c.charCodeAt(0) + 13) ? c : c-26);})}'.CRLF;
echo 'document.write(\'<a '.strip_nl($matches[1]).' href="mailto:\' + hostcmsEmail(\''.strip_nl(str_rot13($matches[2])).'\') + \'"'.strip_nl($matches[3]).'>\' + hostcmsEmail(\''.strip_nl(str_rot13($matches[4])).'\') + \'<\/a>\');'.CRLF;
echo '//]]>';
echo '</script>'.CRLF;
return ob_get_clean();
}
Может кому-то пригодится.