Подсветка синтаксиса в сообщениях

Ответы на вопросы, связанные с модами для phpBB 2.0.x, кроме относящихся к форуму Для авторов (phpBB 2.0.x).
Dzen
phpBB 1.0.0
Сообщения: 7
Стаж: 18 лет 6 месяцев

Подсветка синтаксиса в сообщениях

Сообщение Dzen »

Добрый день.

Необходимо следующее:

Когда в сообщение вставляеться текст программного кода между тегами необходимо организовать подсветку кода.

Например:

Код: Выделить всё

Процедура ЗаполнитьРН() 
    
   Таб=СоздатьОбъект("Таблица"); 
   Таб.ИсходнаяТаблица("РасходнаяНакладная"); 
     
   Пока Запрос.Группировка(1) = 1 Цикл 

   КонецЦикла; 
    
КонецПроцедуры  

А надо чтоб было так:

Процедура ЗаполнитьРН()

Таб=СоздатьОбъект("Таблица");
Таб.ИсходнаяТаблица("РасходнаяНакладная");

Пока Запрос.Группировка(1) = 1 Цикл

КонецЦикла;

КонецПроцедуры


Как реализовать подобное?
Вообще желательно сделать отдельный тег типа


[code1С][/code1С]
Аватара пользователя
Поручик
Former team member
Сообщения: 3942
Стаж: 19 лет 11 месяцев
Откуда: Оренбург (Южный Урал)
Благодарил (а): 3 раза

Сообщение Поручик »

Как-то дико видеть код 1С на этом форуме.
Есть подобный мод на оффсайте - подсветка синтаксиса для VBasic. Можно переписать его и под 1С.

Добавлено спустя 7 минут 4 секунды:

Давнее обсуждение
Профессионал - тот же дилетант, только знающий, где ошибётся.
Генератор db_update.php для phpBB2 с некоторыми удобствами. Многие моды я беру или ищу здесь, здесь, тут
Все консультации только на форуме, приваты и стук в аську по таким вопросам игнорируются!
FAQ-phpBB3 | Ошибки новичков, или как не поссориться с модератором | Правила конференции

наш форум http://forum.aeroion.ru/cat1.html
Dzen
phpBB 1.0.0
Сообщения: 7
Стаж: 18 лет 6 месяцев

Сообщение Dzen »

Зашел по ссылке http://www.phpbb.com/phpBB/viewtopic.php?t=217723
Скачал архив http://prdownloads.sourceforge.net/gesh ... p?download
Хотел было приступить к установке , но немного не понял...

Код: Выделить всё

##############################################################
## Before Adding This MOD To Your Forum, You Should Back Up All Files Related To This MOD
##############################################################

#
#-----[ SQL ]------------------------------------------
#
# [TODO] Don't forget: You *should* do this SQL, but if you can't then
# you can still run this MOD in simple mode, or use the install_syntax.php
# script. See the notes above
#

INSERT INTO phpbb_config (config_name, config_value) VALUES ('syntax_status', '2');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('syntax_enable_cache', '1');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('syntax_cache_check_time', '5000');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('syntax_cache_dir_size', '20971520');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('syntax_cache_files_expire', '2592000');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('syntax_enable_line_numbers', '0');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('syntax_enable_urls', '1');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('syntax_version', '0.4.0');

CREATE TABLE phpbb_syntax_language_config (language_file_name VARCHAR(30), lang_identifier VARCHAR(15), lang_display_name VARCHAR(25));

INSERT INTO phpbb_syntax_language_config VALUES ('actionscript.php', 'actionscript', 'actionscript');
INSERT INTO phpbb_syntax_language_config VALUES ('ada.php', 'ada', 'ada');
INSERT INTO phpbb_syntax_language_config VALUES ('apache.php', 'apache', 'apache');
INSERT INTO phpbb_syntax_language_config VALUES ('asm.php', 'asm', 'asm');

Что сие значит ?
Аватара пользователя
Поручик
Former team member
Сообщения: 3942
Стаж: 19 лет 11 месяцев
Откуда: Оренбург (Южный Урал)
Благодарил (а): 3 раза

Сообщение Поручик »

Ладно, помогу коллеге. Я тоже одноэсник.
Сие значит, что вы должны сделать резервную копию файлов (ну и базы тоже) своего форума перед установкой мода. Мало ли какие случаи бывают. Ведь вы же делаете резервную копию базы и мдешника 1С?
Профессионал - тот же дилетант, только знающий, где ошибётся.
Генератор db_update.php для phpBB2 с некоторыми удобствами. Многие моды я беру или ищу здесь, здесь, тут
Все консультации только на форуме, приваты и стук в аську по таким вопросам игнорируются!
FAQ-phpBB3 | Ошибки новичков, или как не поссориться с модератором | Правила конференции

наш форум http://forum.aeroion.ru/cat1.html
Dzen
phpBB 1.0.0
Сообщения: 7
Стаж: 18 лет 6 месяцев

Сообщение Dzen »

Насколько я понял для тех кто не умеет есть файл install_syntax.php
Надо его запустить и он сам всё установит ?

Если так, то его надо запустить до редактирования файлов или после ?
Аватара пользователя
Поручик
Former team member
Сообщения: 3942
Стаж: 19 лет 11 месяцев
Откуда: Оренбург (Южный Урал)
Благодарил (а): 3 раза

Сообщение Поручик »

Кстати говоря, обрати внимание

Код: Выделить всё

##   -  This MOD REQUIRES that you have installed the Multi BBCodes MOD, as per phpBB BBCode 
##      MOD requirements. You can get this MOD from [here]. 
## 
##   -  I also STRONGLY RECOMMEND you install the BBCode Organizer MOD, available [here]
Слово в квадратных скобках [here], означает что надо воспользоваться поиском.
Профессионал - тот же дилетант, только знающий, где ошибётся.
Генератор db_update.php для phpBB2 с некоторыми удобствами. Многие моды я беру или ищу здесь, здесь, тут
Все консультации только на форуме, приваты и стук в аську по таким вопросам игнорируются!
FAQ-phpBB3 | Ошибки новичков, или как не поссориться с модератором | Правила конференции

наш форум http://forum.aeroion.ru/cat1.html
Dzen
phpBB 1.0.0
Сообщения: 7
Стаж: 18 лет 6 месяцев

Сообщение Dzen »

Поручик писал(а):Сие значит, что вы должны сделать резервную копию файлов (ну и базы тоже) своего форума перед установкой мода. Мало ли какие случаи бывают. Ведь вы же делаете резервную копию базы и мдешника 1С?
Это то ясно.

Не ясно что означает
INSERT INTO phpbb_config (config_name, config_value) VALUES ('syntax_version', '0.4.0');

CREATE TABLE phpbb_syntax_language_config (language_file_name VARCHAR(30), lang_identifier VARCHAR(15), lang_display_name VARCHAR(25));

INSERT INTO phpbb_syntax_language_config VALUES ('actionscript.php', 'actionscript', 'actionscript');
Аватара пользователя
Поручик
Former team member
Сообщения: 3942
Стаж: 19 лет 11 месяцев
Откуда: Оренбург (Южный Урал)
Благодарил (а): 3 раза

Сообщение Поручик »

Как устанавливать моды? Интересно, а за каким чертом эта тема существует?
Профессионал - тот же дилетант, только знающий, где ошибётся.
Генератор db_update.php для phpBB2 с некоторыми удобствами. Многие моды я беру или ищу здесь, здесь, тут
Все консультации только на форуме, приваты и стук в аську по таким вопросам игнорируются!
FAQ-phpBB3 | Ошибки новичков, или как не поссориться с модератором | Правила конференции

наш форум http://forum.aeroion.ru/cat1.html
Dzen
phpBB 1.0.0
Сообщения: 7
Стаж: 18 лет 6 месяцев

Сообщение Dzen »

:D да действительно...не внимательно прочел документацию

Добавлено спустя 5 минут 58 секунд:

Значит прежде чем установить МОД Syntax Highlighting необходимо установить этот МОД



Classification: 53 BBCode

MOD Name: Multiple BBCode MOD
Author: wGEric
MOD Description: Allows you to install BBCode MODs that add quick BBCode buttons in post edits. Without this MOD, there is no standard way of installing BBCode MODs.

+ allows for additional quick keys to be used
+ Automatically assigns hotkeys to the quick keys that are added
+ Ok to install with EasyMOD
+ includes an update script from previous version

MOD Version: 1.4.0c (Updated 10/28/04)


Installation Level: Easy
Installation Time: ~ 5 Minutes

Download File: multi_bbcode-140c.zip
File Size: 6239 Bytes

Уже становиться понятнее...
Аватара пользователя
Поручик
Former team member
Сообщения: 3942
Стаж: 19 лет 11 месяцев
Откуда: Оренбург (Южный Урал)
Благодарил (а): 3 раза

Сообщение Поручик »

Мда, нагеморришься ты с этим модом. Проще переписать мод для подсветки VBasic.

Код: Выделить всё

// VB Words Array 
$vb=array("#Const","#If","Abs","Add","Alias","And","Any","AppActivate","Array","As","Asc","Atn","Base","Beep", 
"Boolean","Byte","ByVal","CBool","CByte","CCur","CDBl","CDate","CDec","CInt","CLng","CSng","CStr","CVErr","CVar", 
В этот массив забить зарезервированные слова 1С (и русские и буржуйские)
Профессионал - тот же дилетант, только знающий, где ошибётся.
Генератор db_update.php для phpBB2 с некоторыми удобствами. Многие моды я беру или ищу здесь, здесь, тут
Все консультации только на форуме, приваты и стук в аську по таким вопросам игнорируются!
FAQ-phpBB3 | Ошибки новичков, или как не поссориться с модератором | Правила конференции

наш форум http://forum.aeroion.ru/cat1.html
Dzen
phpBB 1.0.0
Сообщения: 7
Стаж: 18 лет 6 месяцев

Сообщение Dzen »

А где его взять ?

На оффсайте не могу найти выход на него
Аватара пользователя
Поручик
Former team member
Сообщения: 3942
Стаж: 19 лет 11 месяцев
Откуда: Оренбург (Южный Урал)
Благодарил (а): 3 раза

Сообщение Поручик »

http://www.phpbbguru.net/community/view ... 204#106204

Слепнем. :evil: Ссылка там есть прямая
Профессионал - тот же дилетант, только знающий, где ошибётся.
Генератор db_update.php для phpBB2 с некоторыми удобствами. Многие моды я беру или ищу здесь, здесь, тут
Все консультации только на форуме, приваты и стук в аську по таким вопросам игнорируются!
FAQ-phpBB3 | Ошибки новичков, или как не поссориться с модератором | Правила конференции

наш форум http://forum.aeroion.ru/cat1.html
Dzen
phpBB 1.0.0
Сообщения: 7
Стаж: 18 лет 6 месяцев

Сообщение Dzen »

:oops:

Добавлено спустя 1 час 44 минуты 57 секунд:

У меня вопросик.

Есть цикл, который просматривает каждое введенное слово и если оно есть в массиве зарезервированных слов, то он применяет стиль ['reserved'] для данного слова (окрасить красным)

Как мне добавить условие else ?

Т.е. если слова не найдено, то применить иной стиль и соответсвенно окрасить синим (для кода 1С)

Код: Выделить всё

// Split Word by Word 
$words = explode(" ", $str); 

$found = ""; 
$newtext = ""; 

for ($y = 0; $y < count($words); $y++) { 
        $getuserword = $words[$y]; 

        for ($x = 0; $x < count($vb); $x++) { 
                $getvbword = $vb[$x]; 

                if (strtolower($getvbword) == strtolower($getuserword)) 
                { 
                        $found = "true"; 
                        $newtext .= " " . eregi_replace ($vb[$x], '<font class="vbcode" color="' . $color['reserved'] . '">' . $vb[$x] . '</font>', $words[$y]); 
                

****************ВОТ СЮДА******* ???? 

		} 
        } 
        if ($found == "") 
        { 
                // Finally We give Up! 
                $newtext .= " " . $words[$y]; 
        } 
        $found = ""; 
} 


Вообщем не могу найти установки для окраски слов не входящих в состав зарезервированных :(

В начале функции объявлены стили, но больше нигде к ним нет обращений. Как будто автор недоделал для 'comment' 'default' и 'string'.

Код: Выделить всё

function vb_highlight_string($str) 
{ 
// VB Words Color 
$color['comment'] = '#008800'; 
$color['default'] = '#000000'; 
$color['reserved'] = '#000088'; 
$color['string'] = '#000000'; 
Я поменял 'reserved' на красный и все зарезервированные слова окрасились в красный, но остальные никак не могу окрвсить в синий ?

Где и как ? ПОдскажите

Добавлено спустя 5 часов 30 минут 24 секунды:

У меня после установки Мода получилась вот такая фигня.

Подскажите где искать ошибку ...

Код: Выделить всё

Files To Edit: posting.php 
##                includes/bbcode.php 
##                language/lang_YOUR_LANGUAGE/lang_main.php 
##                templates/YOUR_TEMPLATE_NAME/bbcode.tpl 
##                templates/YOUR_TEMPLATE_NAME/posting_body.tpl 
##                templates/YOUR_TEMPLATE_NAME/overall_header.tpl 
Добавлено спустя 2 часа 17 минут 48 секунд:

всё...разобрался

Остался один вопрос:

Как окрасить незарезервированные слова в СИНИЙ цвет ???
У вас нет необходимых прав для просмотра вложений в этом сообщении.
butch
phpBB 1.0.0
Сообщения: 4
Стаж: 18 лет 4 месяца

Сообщение butch »

установил Multiple BBCode MOD, уствновил Syntax Highlighting. Но синтаксис все равно не подсвечивается. Код [syntax="***"]...[/syntax] игнорируется, т.е. в сообщении он так и выводиться.
Может кто знает в чем дело?
butch
phpBB 1.0.0
Сообщения: 4
Стаж: 18 лет 4 месяца

Сообщение butch »

никто не знает чтоли?

Вернуться в «Поддержка модов для phpBB 2.0.x»