mirror of
https://github.com/e107inc/e107.git
synced 2025-08-06 14:46:56 +02:00
new module creation
This commit is contained in:
38
e107_files/bbcode/code.bb
Normal file
38
e107_files/bbcode/code.bb
Normal file
@@ -0,0 +1,38 @@
|
||||
global $pref, $e107cache, $tp;
|
||||
|
||||
if($pref['smiley_activate']) {
|
||||
$code_text = $tp->e_emote->filterEmotesRev($code_text);
|
||||
}
|
||||
|
||||
$search = array(E_NL,'\','$', '<');
|
||||
$replace = array("\r\n","\\",'$', '<');
|
||||
$code_text = str_replace($search, $replace, $code_text);
|
||||
|
||||
if($pref['useGeshi'] && file_exists(e_PLUGIN."geshi/geshi.php")) {
|
||||
|
||||
$code_md5 = md5($code_text);
|
||||
if(!$CodeCache = $e107cache->retrieve('GeshiParsed_'.$code_md5)) {
|
||||
require_once(e_PLUGIN."geshi/geshi.php");
|
||||
if($parm) {
|
||||
$geshi = new GeSHi($code_text, $parm, e_PLUGIN."geshi/geshi/");
|
||||
} else {
|
||||
$geshi = new GeSHi($code_text, ($pref['defaultLanGeshi'] ? $pref['defaultLanGeshi'] : 'php'), e_PLUGIN."geshi/geshi/");
|
||||
}
|
||||
$geshi->line_style1 = "font-family: 'Courier New', Courier, monospace; font-weight: normal; font-style: normal;";
|
||||
$geshi->set_encoding(CHARSET);
|
||||
$geshi->enable_line_numbers(GESHI_NORMAL_LINE_NUMBERS);
|
||||
$geshi->set_header_type(GESHI_HEADER_DIV);
|
||||
$CodeCache = $geshi->parse_code();
|
||||
$e107cache->set('GeshiParsed_'.$code_md5, $CodeCache);
|
||||
}
|
||||
$ret = "<div class='code_highlight code-box' style='unicode-bidi: embed; direction: ltr'>".str_replace("&", "&", $CodeCache)."</div>";
|
||||
}
|
||||
else
|
||||
{
|
||||
$code_text = html_entity_decode($code_text, ENT_QUOTES, CHARSET);
|
||||
$highlighted_text = highlight_string($code_text, TRUE);
|
||||
$divClass = ($parm) ? $parm : 'code_highlight';
|
||||
$ret = "<div class='".$tp -> toAttribute($divClass)." code-box' style='unicode-bidi: embed; direction: ltr'>{$highlighted_text}</div>";
|
||||
}
|
||||
$ret = str_replace("[", "[", $ret);
|
||||
return $ret;
|
Reference in New Issue
Block a user