{
/**
* Yes, geshi needs to be in your include path
- * We use the mediawiki geshi extension package.
+ * We use the geshi pear package.
*/
- require_once $GLOBALS['phorkie']['cfg']['geshi'];
- $geshi = new \GeSHi($file->getContent(), $this->getType($file));
+ if (!class_exists('\\geshi', true)) {
+ require_once $GLOBALS['phorkie']['cfg']['geshi'];
+ }
+ $geshi = new \geshi($file->getContent(), $this->getType($file));
$geshi->enable_line_numbers(GESHI_NORMAL_LINE_NUMBERS);
- $geshi->set_header_type(GESHI_HEADER_DIV);
+ $geshi->set_header_type(GESHI_HEADER_PRE_TABLE);
+ $geshi->enable_classes();
+ $geshi->set_line_style('color: #DDD;');
if ($res !== null) {
$geshi->highlight_lines_extra(array_keys($res->annotations));
$geshi->set_highlight_lines_extra_style('background-color: #F2DEDE');
}
- return '<div class="code">'
+ return '<style type="text/css">'
+ . $geshi->get_stylesheet() . '</style>'
+ . '<div class="code">'
. str_replace(' ', ' ', $geshi->parse_code())
. '</div>';
}