3
you've pinpointed the exact cause of the problem. The fix is relatively simple:
in /class/xoopsblock.php,
function getContent() ~line 150 find:
} elseif ( $c_type == 'S' ) {
$myts =& MyTextSanitizer::getInstance();
return str_replace('{X_SITEURL}', XOOPS_URL.'/', $myts->displayTarea($this->getVar('content', 'N'), 1, 1));
} else {
$myts =& MyTextSanitizer::getInstance();
return str_replace('{X_SITEURL}', XOOPS_URL.'/', $myts->displayTarea($this->getVar('content', 'N'), 1, 0));
}
and replace with:
} elseif ( $c_type == 'S' ) {
$myts =& MyTextSanitizer::getInstance();
return $myts->displayTarea(str_replace('{X_SITEURL}', XOOPS_URL.'/', $this->getVar('content', 'N')), 1, 1);
} else {
$myts =& MyTextSanitizer::getInstance();
return $myts->displayTarea(str_replace('{X_SITEURL}', XOOPS_URL.'/', $this->getVar('content', 'N')), 1, 0);
}
All that does is apply X_SITEURL first, before processing any BBCode