Zaawansowany
Postów: 1449 Pomógł: 22
Data rejestracji: 30.01.2005 15:40
|
To jest mod, dzieki ktoremu PHP-Fusion (6.00.303) bedzie kolorowal skladnie przy pomocy klasy GeSHi. Wystarczy podmienic maincore.php na te z archiwum i wgrac katalog geshi do katalogu includes. Jezeli chcecie dodac mod recznie to znajdzcie linie 376 i dodajce ponizsze linijki:
include_once(BASEDIR.'includes/geshi/geshi.php');
preg_match_all("#\[code=(.*?)\](.*?)\[/code\]#si",$text,$matches,PREG_PATTERN_ORDER);
for($i=0; $i<count($matches[0]); $i++) {
$input = str_replace('<br>','',str_replace('<br />','', str_replace('<br />', '', stripslashes($matches[2][$i]))));
//replace problematic characters
$search = array("[color=red]&[/color][color=red]quot;[/color]", "[color=red]&[/color][color=red]#39;[/color]", "[color=red]&[/color][color=red]#92;[/color]", "[color=red]&[/color][color=red]quot;[/color]", "[color=red]&[/color][color=red]#39;[/color]", "[color=red]&[/color][color=red]lt;[/color]", "[color=red]&[/color][color=red]gt;[/color]", "[color=red]&[/color][color=red]amp;[/color]");
$replace = array("\"", "'", "\\", "\"", "\'", "<", ">", "&");
$input = str_replace($search,$replace, $input);
$geshi = new GeSHi($input, $matches[1][$i]);
$geshi -> set_header_type(GESHI_HEADER_PRE);
$geshi -> set_overall_style('font-family:\'Courier New\', Courier; font-size:12px;');
$geshi -> set_link_styles(GESHI_LINK, 'font-weight:bold;');
$geshi -> set_link_styles(GESHI_HOVER, 'background-color: #f0f000;');
$geshi -> enable_line_numbers(GESHI_FANCY_LINE_NUMBERS, 10);
$geshi -> set_footer_content('Parsed in <TIME> seconds, using GeSHi <VERSION>');
$geshi -> set_footer_content_style('font-family: Verdana, Arial, sans-serif; color: #808080; font-size: 9px; font-weight: bold; background-color: #f0f0ff; border-top: 1px solid #d0d0d0; padding: 2px;');
;
$text=preg_replace("#\[code=(.*?)\](.*?)\[/code\]#si",'$2',$text);
$text=str_replace($matches[2][$i], "<table class='tbl-border' cellpadding='0' cellspacing='1'><tr><td class='tbl2'><b>".$geshi->get_language_name()."</b></td></tr><tr><td><div class='tbl1' style='height:400px;white-space:nowrap;overflow:auto;background-color:#ffffff;'>".html_entity_decode($geshi->parse_code())."</div></td></tr></table>", $text);
}
i wgrajcie do includes katalog geshi.
Jak uzywac: wpsujac bbcode [ code = jezyk ] zawartosc [ / code ], gdzie jezyk to jakis jezyk programowania, np: php, mysql, javascript. Oczywiscie bez spacji :)
Jak dziala, mozna zobaczyc TUTAJ
Wooya dodał/a następującą plik:
Edytowane przez Wooya dnia 16.01.2006 12:56:14
... Pomagam tylko przy najnowszych wersjach PHP-Fusion ...
|