И так берём напильник и делам следуйщее Делаем видимыми кнопки для администраторов и модератов Открыть ./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]
Сообщение модератора: М
{TEXT2}
[/code] 3.подсказку напишите сами=) Предупреждение модератором 1.[code][mw={TEXT1}]{TEXT2}[/mw][/code] 2.[code]
Предупреждение от модератора: !
{TEXT2}
[/code] 3.про подсказку смотреть выше=) [color=#FF0000][size=150]Сразу говорю на рабочее состояние на проверял так что попробуйте на локальной машине![/size][/color]