И так берём напильник и делам следуйщее
Делаем видимыми кнопки для администраторов и модератов
Открыть ./styles/prosilver (subsilver2)/template/posting_buttons.html
Найти
[code]var imageTag = false;[code]
Добавить после
[code]// admin/moderator messages
function BBaw()
{
var FoundErrors = '';
var enterUsername = prompt("Введите ваш ник", "");
var enterText = prompt("Введите ваше сообщение", "Text");
if (!enterUsername) {
FoundErrors += "Вы не ввели свой ник.";
}
if (!enterText)
{
FoundErrors += " Вы не ввели сообщение.";
}
if (FoundErrors)
{
alert("Error : "+FoundErrors);
return;
}
var bbtags = "[aw="+enterUsername+"]"+enterText+"[/aw]";
document.forms[form_name].elements[text_name].value+=bbtags;
document.forms[form_name].elements[text_name].focus();
}
function BBam()
{
var FoundErrors = '';
var enterUsername = prompt("Введите ваш ник", "");
var enterText = prompt("Введите ваше сообщение", "Text");
if (!enterUsername) {
FoundErrors += "Вы не ввели свой ник.";
}
if (!enterText)
{
FoundErrors += " Вы не ввели сообщение.";
}
if (FoundErrors)
{
alert("Error : "+FoundErrors);
return;
}
var bbtags = "[am="+enterUsername+"]"+enterText+"[/am]";
document.forms[form_name].elements[text_name].value+=bbtags;
document.forms[form_name].elements[text_name].focus();
}
function BBmm()
{
var FoundErrors = '';
var enterUsername = prompt("Введите ваш ник", "");
var enterText = prompt("Введите ваше сообщение", "Text");
if (!enterUsername) {
FoundErrors += "Вы не ввели свой ник.";
}
if (!enterText)
{
FoundErrors += " Вы не ввели сообщение.";
}
if (FoundErrors)
{
alert("Error : "+FoundErrors);
return;
}
var bbtags = "[mm="+enterUsername+"]"+enterText+"[/mm]";
document.forms[form_name].elements[text_name].value+=bbtags;
document.forms[form_name].elements[text_name].focus();
}
function BBmw()
{
var FoundErrors = '';
var enterUsername = prompt("Введите ваш ник", "");
var enterText = prompt("Введите ваше сообщение", "Text");
if (!enterUsername) {
FoundErrors += "Вы не ввели свой ник.";
}
if (!enterText)
{
FoundErrors += " Вы не ввели сообщение.";
}
if (FoundErrors)
{
alert("Error : "+FoundErrors);
return;
}
var bbtags = "[mw="+enterUsername+"]"+enterText+"[/mw]";
document.forms[form_name].elements[text_name].value+=bbtags;
document.forms[form_name].elements[text_name].focus();
}[/code]
Найти
[code]
[/code]
Добавить после
[code]
[/code]
Обязательно сохраните фаил posting_buttons.html в кодировке UTF-8 без BOM
Запрещаем использовать ббкод всем кроме определенных групп
т.е. если пользователь или кто либо другой кому запрещено использовать ббкод, наберет в сообщении его вручную и нажмет отправить
появится предупреждение "Вы не можете использовать некоторые BBCode:"
делается это так:
Открыть includes / message_parser.php
Найти
[code]// Parse smilies
if ($allow_smilies)
{
$this->smilies($config['max_' . $mode . '_smilies']);
} [/code]
Добавить перед
[code]// Custom BBCode Rights
global $phpbb_root_path, $phpEx, $template;
include_once($phpbb_root_path . 'includes/functions_user.' . $phpEx);
// ------------------------
$group_id = array(5,32);
// -----------------------
$users_id = $user->data['user_id'];
$group_in = group_memberships($group_id, $users_id , true);
if ($group_in !== true){
// ------------------------------------
$forbid = array('am=', 'aw=', 'mm=', 'mw=');
// -------------------------------------
foreach ($forbid as $not_allowed){
$this->bbcodes[$not_allowed]['disabled'] = true;}
$template->assign_vars(array('S_NO_BBCODE_BUTTON' => true));}
// Custom BBCode Rights[/code]
в $group_id = array(5,32); вносим или изменяем ID групп (5,7,32,какая то группа) которые могут использовать BBCode
в $forbid = array('am=', 'aw=', 'mm=', 'mw='); можно при желании добавить свои ббкоды, к примеру: $forbid = array('am=', 'aw=', 'mm=', 'mw=', 'center');
Вырезаем наш ббкод при цитировании поста
Открыть posting.php
Найти
[code] $post_data['post_text'] = $message_parser->message;[/code]
Заменить
[code]// Custom BBCode Rights
include_once($phpbb_root_path . 'includes/functions_user.' . $phpEx);
// ----------------------
$group_id = array(5,32);
// ----------------------
$users_id = $user->data['user_id'];
$group_in = group_memberships($group_id, $users_id , true);
if ($group_in !== true){
if ($mode == 'quote' or $mode == 'reply'){
// -----------------------------------
$forbid = array('mw', 'mm', 'am', 'aw');
// -----------------------------------
foreach ($forbid as $forbid_bb){
if (preg_match("/\[$forbid_bb\b(.*?)\](.*?)\[\/$forbid_bb\b(.*?)\]/s", $message_parser->message)){
$forbid_show = implode(",", $forbid);
$error[] = $user->lang['BBCODE_EXTRACTED'] . " $forbid_show1";}
$search_bb[] = "/\[$forbid_bb\b(.*?)\](.*?)\[\/$forbid_bb\b(.*?)\]/s";
$replac_bb[] = '';
$custom_lite = preg_replace($search_bb, $replac_bb, $message_parser->message);
$post_data['post_text'] = $custom_lite;}}
else{$post_data['post_text'] = $message_parser->message;}}
else{$post_data['post_text'] = $message_parser->message;}
// Custom BBCode Rights[/code]
в $forbid = array('mw', 'mm', 'am', 'aw'); можно добавить свои ббкоды, прописывать ббкоды надо без знака =
в $group_id = array(5,32); вносим или изменяем ID групп
ещё парочка=)
Сообщение модератора:
Использование BBCode
1 окно
[code][mm={TEXT1}]{TEXT2}[/mm][/code]
2.[code]
[/code]
3.про подсказку смотреть выше=)
[color=#FF0000][size=150]Сразу говорю на рабочее состояние на проверял так что попробуйте на локальной машине![/size][/color]