Подсветка синтаксиса

0
Пользователи
0
Новичок
По умолчанию на форуме предусмотренная подсветка синтаксиса для языков php, html и js. Мне нужно от них избавится и заменить на другие. Подскажите файлы где где находится сам bb редактор и файлы стилей для этих языков.
Пользователи
0
Новичок
serjant372
14:47, 15.03.2014
В общем разобрался сам, если кому еще понадобится, то вот краткая инструкция на примере добавления подсветки синтаксиса языка Pascal (другие по аналогии):

1. Открываем файл .../components/scripts/bbcode/bbcode.php и ищем там:
php code:
  1. if (!count($bb_allowed_out) OR (count($bb_allowed_out) AND in_array("javascript", $bb_allowed_out)))
  2. {                      
  3. $bbcode .= <<<a href="#" title="{$lang_bbcode['js']}"><img src="http://logicboard.ru/support/templates/Standart/bbcode/bb_13.png" alt="{$lang_bbcode['js']}" /></a>
  4. HTML;
  5. }


После добавляем:
php code:
  1. if (!count($bb_allowed_out) OR (count($bb_allowed_out) AND in_array("pascal", $bb_allowed_out)))
  2. {                      
  3. $bbcode .= <<<a href="#" title="{$lang_bbcode['pascal']}"><img src="http://logicboard.ru/support/templates/Standart/bbcode/bb_22.png" alt="{$lang_bbcode['pascal']}" /></a>
  4. HTML;
  5. }


2. Открываем файл .../components/scripts/bbcode/bbcode_cc.php и ищем там:
php code:
  1. if (!count($bb_allowed_out) OR (count($bb_allowed_out) AND in_array("javascript", $bb_allowed_out)))
  2. {                      
  3. $bbcode .= <<<a href="#" title="js"><img src="{$cache_config['general_site']['conf_value']}components/scripts/bbcode/bbcode/bb_13.png" width="36" height="26" alt="js" /></a>
  4. HTML;
  5. }


После добавляем:
php code:
  1. if (!count($bb_allowed_out) OR (count($bb_allowed_out) AND in_array("pascal", $bb_allowed_out)))
  2. {                      
  3. $bbcode .= <<<a href="#" title="js"><img src="{$cache_config['general_site']['conf_value']}components/scripts/bbcode/bbcode/bb_22.png" width="36" height="26" alt="pascal" /></a>
  4. HTML;
  5. }


3. Открываем файл .../components/scripts/bbcode/bbcode_list.php и перед:
php code:
  1. ?>


Добавляем:
php code:
  1. $list_allow_bbcode_arr[21] = array();
  2. $list_allow_bbcode_arr[21]['name'] = "pascal";
  3. $list_allow_bbcode_arr[21]['title'] = $lang_bbcode_list['pascal'];


4. Открываем файл .../components/scripts/bbcode/function.php и ищем там:
php code:
  1. if (!count($bb_allowed) OR (count($bb_allowed) AND in_array("html", $bb_allowed)))
  2.         $msg = preg_replace_callback("#\[html\]([\s\S]+?)\[/html\]#is".regular_coding(), "html_syntax", $msg); //html


После добавляем:
php code:
  1. if (!count($bb_allowed) OR (count($bb_allowed) AND in_array("pascal", $bb_allowed)))
  2.         $msg = preg_replace_callback("#\[pascal\]([\s\S]+?)\[/pascal\]#is".regular_coding(), "pascal_syntax", $msg); //pascal


Далее ищем:
php code:
  1. $msg = preg_replace_callback("#(.+?)#is".regular_coding(), "html_decode", $msg); //php


После добавляем:
php code:
  1. $msg = preg_replace_callback("#(.+?)#is".regular_coding(), "pascal_decode", $msg); //php


Далее ищем:
php code:
  1. ?>


Перед этим вставляем:
php code:
  1. function pascal_syntax($str)
  2. {
  3.         $rtn = str_replace("<br />", "\r", $str[1]);
  4.         $rtn = trim(htmlspecialchars_decode($rtn));
  5.        
  6.         $geshi = new GeSHi($rtn, "pascal");
  7.         $geshi->enable_keyword_links(false);
  8.         $geshi->set_header_type(GESHI_HEADER_DIV);
  9.         $geshi->enable_line_numbers(GESHI_NORMAL_LINE_NUMBERS);
  10.         $geshi->set_overall_style('font: normal normal 90% monospace; color: #000066; border: 1px solid #d0d0d0; background-color: #f0f0f0;', false);
  11.        
  12.         $geshi->set_header_content('Pascal code:');
  13.         $geshi->set_header_content_style('font-family: sans-serif; color: #808080; font-size: 70%; font-weight: bold; background-color: #f0f0ff; border-bottom: 1px solid #d0d0d0; padding: 2px;');
  14.        
  15.         $rtn = "";
  16.         $rtn.= $geshi->parse_code();
  17.         $rtn.= "";
  18.        
  19.         return $rtn;
  20. }
  21.  
  22. function pascal_decode($str)
  23. {
  24.         $str = strip_tags($str[1]);
  25.         $str = preg_replace("#^Pascal code:#", "",$str);
  26.        
  27.         $rtn = "[pascal]".$str."[/pascal]";
  28.        
  29.         return $rtn;
  30. }


5. Открываем файл .../language/Russian/board/scripts/bbcode/bbcode.php и ищем там:
php code:
  1. 'js'                => 'js',


После вставляем:
php code:
  1. 'pascal'            => 'pascal',


6. Открываем файл .../language/Russian/board/scripts/bbcode/bbcode_list.php и ищем там:
php code:
  1. 'js'        => 'JavaScript',


После вставляем:
php code:
  1. 'pascal'    => 'Pascal',


7. Изображение кнопки (файл bb_22.png) загрузим в следующие папки:
php code:
  1. .../templates/Ваш_шаблон/bbcode/
  2. .../components/scripts/bbcode/bbcode/


Само изображение:

8. Файл pascal.php (из архива) загрузить в папку:
php code:
  1. .../components/scripts/bbcode/geshi/geshi/


На этом всё... У вас должно получится следующее:
Форма добавления

Сообщение


Ниже прилагаю архив с синтаксисом различных языков на любой вкус
У Вас недостаточно прав для скачивания файлов.
 
Доступ закрыт.
  • Вам запрещено отвечать в темах данного форума.