Разработка модификации подсветки исходного кода phpBB

Форум для авторов модов для phpBB 3.0.x. Здесь можно попросить помощи в разработке у коллег.
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Amator
phpBB 1.4.3
Сообщения: 88
Стаж: 16 лет 11 месяцев
Благодарил (а): 25 раз
Поблагодарили: 5 раз

Разработка модификации подсветки исходного кода phpBB

Сообщение Amator »

Хочу сделать такую модификацию, по скольку существующие либо в состоянии ABD, либо не удовлетворяют по функционалу/глючат. С работой Geshi(хочу использовать именно его) я уже более менее разобрался. Но поскольку опыта в разработке модификаций для phpBB у меня совсем чуть-чуть, то хотелось бы что б кто то помог мне на добровольной основе. Если никто не хочет, то буду благодарен за подсказки, так как сейчас никак не могу придумать как сделать что бы при вставке в сообщение кода вида

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

[РНР]$foo = 45;
for ( $i = 1; $i < $foo; $i++ )
{
  echo "$foo\n";
  --$foo;
}[/РНР]
это все передавалось именно в обработчик. Также мучаю автоматическое определение языка исходя из тегов [ ] [/ ] на основе регулярных выражений.
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 17272
Стаж: 20 лет 4 месяца
Откуда: Красноярск
Благодарил (а): 632 раза
Поблагодарили: 2412 раз

Re: Разработка модификации подсветки исходного кода phpBB

Сообщение rxu »

Amator
Вам нужна подсветка только PHP? тогда попробуйте сначала
Изображение
Amator
phpBB 1.4.3
Сообщения: 88
Стаж: 16 лет 11 месяцев
Благодарил (а): 25 раз
Поблагодарили: 5 раз

Re: Разработка модификации подсветки исходного кода phpBB

Сообщение Amator »

Конечно нет) Если б только РНР, я б так и не парился. Задумка создания такой подсветки появилась давно, очень давно, после длинных поисков готовой модификации, которые ничего не принесли. Сейчас после получения хоть какого то опыта написания для phpBB, решился попробовать.
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 17272
Стаж: 20 лет 4 месяца
Откуда: Красноярск
Благодарил (а): 632 раза
Поблагодарили: 2412 раз

Re: Разработка модификации подсветки исходного кода phpBB

Сообщение rxu »

Изображение
Amator
phpBB 1.4.3
Сообщения: 88
Стаж: 16 лет 11 месяцев
Благодарил (а): 25 раз
Поблагодарили: 5 раз

Re: Разработка модификации подсветки исходного кода phpBB

Сообщение Amator »

Он у меня даже установлен, только работает только внутри репозитория, куда файлы загружаются по FTP
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 17272
Стаж: 20 лет 4 месяца
Откуда: Красноярск
Благодарил (а): 632 раза
Поблагодарили: 2412 раз

Re: Разработка модификации подсветки исходного кода phpBB

Сообщение rxu »

Ну а разница? Подсветка кода ведь реализована, а откуда берется код - дело второе :)
Изображение
Amator
phpBB 1.4.3
Сообщения: 88
Стаж: 16 лет 11 месяцев
Благодарил (а): 25 раз
Поблагодарили: 5 раз

Re: Разработка модификации подсветки исходного кода phpBB

Сообщение Amator »

А ведь да - какая разница :D Просто я хочу что б эта подсветка работала в сообщениях. Репозиторий это хорошо, но в сообщениях это тоже пригодится. Сейчас нашел эту тему https://www.phpbb.de/community/viewtopi ... 8&t=169688 , попытаюсь допилить и подогнать к версии 3.0.9

Добавлено спустя 35 минут 35 секунд:
Так, провожу допилку, вроде бы все более-менее нормально. Можно ли вот так привязать языковой файл из includes/bbcode.php

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

 $user->setup('mods/geshi_highliter'); 
?
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 17272
Стаж: 20 лет 4 месяца
Откуда: Красноярск
Благодарил (а): 632 раза
Поблагодарили: 2412 раз

Re: Разработка модификации подсветки исходного кода phpBB

Сообщение rxu »

Если только языковой, лучше использовать $user->add_lang().
Изображение
Amator
phpBB 1.4.3
Сообщения: 88
Стаж: 16 лет 11 месяцев
Благодарил (а): 25 раз
Поблагодарили: 5 раз

Re: Разработка модификации подсветки исходного кода phpBB

Сообщение Amator »

А путь я правильно задаю?

Добавлено спустя 10 минут 23 секунды:
Выдало unidefined variable user, значит просто так заинклудить все там не выйдет выходит. Плохо.

Добавлено спустя 8 минут 45 секунд:
Как туда подключить языковой файл? Добавляю в includes/bbcode.php

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

$user->add_lang('mods/geshi_highliter');
 
Но он ругается на отсутствующую переменную user, пробовал инклудить ucp.php соответственно вылазят ошибки defined in phpbb и deregistered globals.

Добавлено спустя 1 час 39 минут 15 секунд:
В общем вот [BETA] Подсветка Geshi для phpBB
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 17272
Стаж: 20 лет 4 месяца
Откуда: Красноярск
Благодарил (а): 632 раза
Поблагодарили: 2412 раз

Re: Разработка модификации подсветки исходного кода phpBB

Сообщение rxu »

Amator писал(а):Но он ругается на отсутствующую переменную user
Куда именно добавляете?

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

global $user;
объявлено?
Изображение
Amator
phpBB 1.4.3
Сообщения: 88
Стаж: 16 лет 11 месяцев
Благодарил (а): 25 раз
Поблагодарили: 5 раз

Re: Разработка модификации подсветки исходного кода phpBB

Сообщение Amator »

Не знаю объявлено или нет, но результат выше по ссылке) Появилась другая задача - переделать парсинг что бы работал на основе бб-кодов вида [CPP] /[CPP], [PHP] [/PHP] и т.п. Не подскажете где ковырять? По логике нужно в posting_buttons.html добавить кнопки этих кодов, но как их привязать к обработчику?
Amator
phpBB 1.4.3
Сообщения: 88
Стаж: 16 лет 11 месяцев
Благодарил (а): 25 раз
Поблагодарили: 5 раз

Re: Разработка модификации подсветки исходного кода phpBB

Сообщение Amator »

Тема еще актуальна. Нашел модификацию bbGeshi 0.7.5, пытаюсь ее функционал прикрутить к своим наработкам, но не выходит. Подскажите где копать для того что бы сделать то, что описано здесь Разработка модификации подсветки исходного кода phpBB
Аватара пользователя
FEAR93
Former team member
Сообщения: 666
Стаж: 17 лет 11 месяцев
Откуда: Кривой Рог, Украина
Благодарил (а): 22 раза
Поблагодарили: 76 раз

Re: Разработка модификации подсветки исходного кода phpBB

Сообщение FEAR93 »

По-моему, всё же будет проще будет использовать тэг для подключения Geshi. Не придётся создавать кучу BBCode-ов и прочее.
А где твоя Родина, сынок?! Сдал Горбачёв твою Родину американцам, чтобы тусоваться красиво.

Шаблон запроса.
Правила.
Amator
phpBB 1.4.3
Сообщения: 88
Стаж: 16 лет 11 месяцев
Благодарил (а): 25 раз
Поблагодарили: 5 раз

Re: Разработка модификации подсветки исходного кода phpBB

Сообщение Amator »

Если вы не видели как сейчас сделано, то расскажу - к стандартной кнопке Code привязывается JS с попапом и предложением ввести название языка. Есть минус - С++ нужно вводить как СРР, так как геши воспринимает только такой вариант. В модификации bbGeshi поддерживается вариант [язык] [/язык], я сейчас пытаюсь раскопать как он там работает. В таком случае можно вынести на панельку несколько кнопок от самых популярных языков, остальные будет вводить пользователь. Плюс я уже подумываю над тем, что бы оставить стандартный тег

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

 так как в 0.1 бета, если пользователь не ввел язык, то он так и остается, но вылезает неприятный баг(готовлю фикс к нему).  Если оставить стандартный [code], то тогда мне нужно дописывать отдельную функцию для работы с языковыми кодами. Так что пока я в раздумьях.

[size=85][color=green]Добавлено спустя 42 минуты 15 секунд:[/color][/size]
Хотя возможно вы и правы. Я наверное останусь на использовании [код=синтакс] [/код], так как мне элементарно не хватает знаний как организовать работу [синтакс] [/синтакс] :(

Вернуться в «Для авторов (phpBB 3.0.x)»