честно признаться я не большой (точнее никакой

) специалист по составлению модов, но я написал примерно такой код:
только вот лень мне писать в инструкциях для easymoda, пишу в инстукциях для RUSSIAN_HUMAN_BRAIN
Код: Выделить всё
## PHPBB2WikiFlamenca mod
## MOD Author: sergey@shulgin.ru
## Files To Edit:
## includes/bbcode.php,
## templates/subSilver/posting_body.tpl
## templates/subSilver/bbcode.tpl,
##
## В конце файла templates/subSilver/bbcode.tpl
# Добавить
<!-- BEGIN wikiflamenca -->
<a href="http://wiki.flamenca.ru/index.php/{QUERY}" alt="Внутренняя ссылка на статью в wiki.Flamenca">{STRING}</a>
<!-- END wikiflamenca -->
<!-- BEGIN wikiflamenca_ex -->
<a href="http://wiki.flamenca.ru/index.php/{QUERY}" alt="Ссылка на статью в wiki.Flamenca в новом окне" target="_blank">{STRING}</a>
<!-- END wikiflamenca_ex -->
## В файле templates/subSilver/posting_body.tpl
# Найти
bbtags = new Array('[b]','[/b]','[i]','[/i]','[u]','[/u]','[quote]','[/quote]','[code]','
','
','
','[img]','[/img]','
','');
# Заменить на
bbtags = new Array('
','','
','','
','','
','
','
','
','
','[img]','[/img]','
','','[[',']]');
## В файле includes/bbcode.php
# в function Multi_BBCode() добавить '90' и 'WikiFlamenca'
$EMBB_widths = array('','90') ;
$EMBB_values = array('','WikiFlamenca') ;
# После сточки $bbcode_tpl['email'] = str_replace('{EMAIL}', '\\1', $bbcode_tpl['email']);
# Добавить
//Begin wikiflamenca mode
$bbcode_tpl['wikiflamenca1'] = '\'' . $bbcode_tpl['wikiflamenca_ex'] . '\'';
$bbcode_tpl['wikiflamenca1'] = str_replace('{STRING}', "' . str_replace('\\"', '"', '\\1') . '", $bbcode_tpl['wikiflamenca1']);
$bbcode_tpl['wikiflamenca1'] = str_replace('{QUERY}', "' . urlencode(str_replace('\\"', '"', '\\1')) . '", $bbcode_tpl['wikiflamenca1']);
$bbcode_tpl['wikiflamenca2'] = '\'' . $bbcode_tpl['wikiflamenca_ex'] . '\'';
$bbcode_tpl['wikiflamenca2'] = str_replace('{QUERY}', "' . urlencode(str_replace('\\"', '"', '\\1')) . '", $bbcode_tpl['wikiflamenca2']);
$bbcode_tpl['wikiflamenca2'] = str_replace('{STRING}', "' . str_replace('\\"', '"', '\\2') . '", $bbcode_tpl['wikiflamenca2']);
$bbcode_tpl['wikiflamenca3'] = '\'' . $bbcode_tpl['wikiflamenca'] . '\'';
$bbcode_tpl['wikiflamenca3'] = str_replace('{QUERY}', "' . urlencode(str_replace('\\"', '"', '\\1')) . '", $bbcode_tpl['wikiflamenca3']);
$bbcode_tpl['wikiflamenca3'] = str_replace('{STRING}', "' . str_replace('\\"', '"', '\\1') . '", $bbcode_tpl['wikiflamenca3']);
$bbcode_tpl['wikiflamenca4'] = '\'' . $bbcode_tpl['wikiflamenca'] . '\'';
$bbcode_tpl['wikiflamenca4'] = str_replace('{QUERY}', "' . urlencode(str_replace('\\"', '"', '\\1')) . '", $bbcode_tpl['wikiflamenca4']);
$bbcode_tpl['wikiflamenca4'] = str_replace('{STRING}', "' . str_replace('\\"', '"', '\\2') . '", $bbcode_tpl['wikiflamenca4']);
//End wikiflamenca mode
# После сточки $replacements[] = $bbcode_tpl['email'];
# Добавить
//Begin wikiflamenca
// [wiki]page name[/wiki]
$patterns[] = "#\[wiki\](.*?)\[/wiki\]#ise";
$replacements[] = $bbcode_tpl['wikiflamenca1'];
// [wiki=page name]current page name spelling[/wiki]
$patterns[] = "#\[wiki=(.*?)\](.*?)\[/wiki\]#ise";
$replacements[] = $bbcode_tpl['wikiflamenca2'];
// [[page name]]
$patterns[] = "#\[\[([^\|]*?)\]\]#ise";
$replacements[] = $bbcode_tpl['wikiflamenca3'];
// [[page name|current page name spelling]]
$patterns[] = "#\[\[(.*?)\|(.*?)\]\]#ise";
$replacements[] = $bbcode_tpl['wikiflamenca4'];
//End wikiflamenca
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------
[/code]
повторюсь, что я не понимаю, что такое #ise в строчке и идругих шаблонах
Код: Выделить всё
$patterns[] = "#\[wiki=(.*?)\](.*?)\[/wiki\]#ise";
понятно, что нужно исправить адрес вашей mediawiki с wiki.flamenca.ru на что вам нужно, хоть ru.wikipedia.org хоть что-нибудь другое.
Если заметили этот "мод" делает не только это
http://www.shulgina.ru/forum/viewtopic.php?p=1900#1900
но и это
http://www.shulgina.ru/forum/viewtopic.php?p=1901#1901
т.е. для синтаксиса [[ ]] ссылка в том же окне, для синтаксиса [wiki] [/wiki], ссылк открывается в новом окне (так задумано было мной - думаю кому надо может легко исправить это отредактировав поле target="_blank" в шаблонах
Код: Выделить всё
<!-- BEGIN wikiflamenca -->
<a href="http://wiki.flamenca.ru/index.php/{QUERY}" alt="Внутренняя ссылка на статью в wiki.Flamenca">{STRING}</a>
<!-- END wikiflamenca -->
<!-- BEGIN wikiflamenca_ex -->
<a href="http://wiki.flamenca.ru/index.php/{QUERY}" alt="Ссылка на статью в wiki.Flamenca в новом окне" target="_blank">{STRING}</a>
<!-- END wikiflamenca_ex -->
я не считаю себя специалистом ни в php ни phpBB, поэтому советую проконсультироваться у знающих людей на предмет дырявости и глюкавости этого кода.
Добавлено спустя 14 минут 30 секунд:
в зависимости от того, насколько активно вы добавляли кнопочки для Multiple BBCode, будут отличаться строчки кода,
Код: Выделить всё
$EMBB_widths = array('','90') ;
$EMBB_values = array('','WikiFlamenca') ;
ну например с установлеными BBCode YouTuba и FLV у меня выглядят как
Код: Выделить всё
$EMBB_widths = array('','80','65','90') ;
$EMBB_values = array('','FlowPlayer','YouTube','WikiFlamenca') ;