function xbbcode_highlighter_highlight in Extensible BBCode 5
3 calls to xbbcode_highlighter_highlight()
- xbbcode_highlighter_filter in xbbcode_highlighter/
xbbcode_highlighter.module - xbbcode_highlighter_filter_tips in xbbcode_highlighter/
xbbcode_highlighter.module - xbbcode_highlighter_xbbcode in xbbcode_highlighter/
xbbcode_highlighter.module
File
- xbbcode_highlighter/
xbbcode_highlighter.module, line 411
Code
function xbbcode_highlighter_highlight($code, $text, $numbers) {
/* only require these once the filter is needed. */
if (!@(include_once 'Text/Highlighter.php')) {
drupal_set_message(t("The Text_Highlighter library could not be found. You will need to !reinstall it.", array(
'!reinstall' => l(t("reinstall"), 'admin/settings/highlighter'),
)), 'error');
return $text;
}
include_once "Text/Highlighter/Renderer.php";
include_once "Text/Highlighter/Renderer/Html.php";
$dir = drupal_get_path('module', 'xbbcode_highlighter');
if (!file_exists("{$dir}/classes/{$code}.php")) {
//var_dump("$dir/classes/$code.php");
drupal_set_message(t("The generated class for the %code language was not found.", array(
'%code' => $code,
) . "{$dir}/classes/{$code}.php"), 'error');
return $text;
}
include_once "{$dir}/classes/{$code}.php";
$text = html_entity_decode($text);
drupal_add_css(drupal_get_path('module', 'xbbcode_highlighter') . '/xbbcode_highlighter.css');
$options = array(
'numbers' => $numbers ? HL_NUMBERS_LI : '',
'tabsize' => 8,
);
$text = trim($text, "\n\r ");
$renderer =& new Text_Highlighter_Renderer_HTML($options);
$hl =& Text_Highlighter::factory($code);
$call = array(
$hl,
'setRenderer',
);
if (is_callable($call)) {
$hl
->setRenderer($renderer);
}
else {
drupal_set_message(t("The generated class for the %code language appears to be corrupted.", array(
'%code' => $code,
)), 'error');
if (!$_GET['debug']) {
return $text;
}
}
$html = $hl
->highlight($text);
if ($numbers) {
$html = str_replace("\n", "", $html);
}
// no linebreaks, we use a list.
return $html;
}