Опытный пользователь
Доп. информация
|
Регистрация: 30.05.2010
Адрес: local unit u="FEARKILLER (="
Сообщений: 30
Поблагодарил(а): 2
Поблагодарили: 34 / 20
|
|
Fix for Comments Tags
![Цитата Цитата](blue/buttons/quote_icon.png)
Сообщение от Serberg
LinT, попробуй у нас на форуме заюзать это
А вы Сергей не острите)) ведь если писать новое сообщение в этом теге то он правда вырежется, но если создать тему новую и там применить этот тег то )))) он зарабатает, так как там нету хука нужного и нету кода чтобы он вырезал эти теги если пользуется ими простой юзер, не верите могу продемонстрировать на этом форуме, тему потом удалите, но лучше поверить на слово.
![Цитата Цитата](blue/buttons/quote_icon.png)
Сообщение от LinT
Именно) Это и имел ввиду, когда писал сообщение, но не так сформулировал
То же самое, в ЛС приходит с комментарием администратора. У меня на форуме есть публичные сообщения - там тоже тег не вырезается. По большому счету оно не критично, но все-таки по большому счету хорошо бы это исправить.
Раз проблема не у меня одного, значит надо фиксить хак, а не искать проблему в своем форуме. За это уже спасибо)
И так фикс для хака Comments Tags:
Инструкция:
Открываем файл: private.php
Находим там:
PHP код:
$pm['folderid'] =& $vbulletin->GPC['folderid'];
Ниже добавляем:
PHP код:
($hook = vBulletinHook::fetch_hook('commtag_illegaluse_newpm')) ? eval($hook) : false;
Сохраняем и открываем файл: newthread.php
Находим там:
PHP код:
if ($vbulletin->GPC['wysiwyg']) { require_once(DIR . '/includes/functions_wysiwyg.php'); $newpost['message'] = convert_wysiwyg_html_to_bbcode($vbulletin->GPC['message'], $foruminfo['allowhtml']); } else { $newpost['message'] =& $vbulletin->GPC['message']; }
Ниже добавляем:
PHP код:
($hook = vBulletinHook::fetch_hook('commtag_illegaluse_newthread')) ? eval($hook) : false;
Сохраняем и открываем файл: visitormessage.php
Находим там:
PHP код:
if ($vbulletin->GPC['ajax']) { $message['message'] = convert_urlencoded_unicode($message['message']); }
Ниже добавляем:
PHP код:
($hook = vBulletinHook::fetch_hook('commtag_illegaluse_visitormessage')) ? eval($hook) : false;
Сохраняем и открываем файл: group.php
Находим там:
PHP код:
if ($vbulletin->GPC['ajax']) { $message['message'] = convert_urlencoded_unicode($message['message']); }
Ниже добавляем:
PHP код:
($hook = vBulletinHook::fetch_hook('commtag_illegaluse_groupmessage')) ? eval($hook) : false;
Сохраняем и открываем файл: picturecomment.php
Находим там:
PHP код:
if ($vbulletin->GPC['ajax']) { $message['message'] = convert_urlencoded_unicode($message['message']); }
Ниже добавляем:
PHP код:
($hook = vBulletinHook::fetch_hook('commtag_illegaluse_picturecomment')) ? eval($hook) : false;
Сохраняем и открываем файл: ../includes/xml/hooks_commtag.xml
Находим там:
PHP код:
<hook>commtag_illegaluse</hook>
Ниже добавляем:
PHP код:
<hook>commtag_illegaluse_visitormessage</hook> <hook>commtag_illegaluse_groupmessage</hook> <hook>commtag_illegaluse_picturecomment</hook> <hook>commtag_illegaluse_newthread</hook> <hook>commtag_illegaluse_newpm</hook>
Сохраняем файл и переходим в "Админку->Продукты и модули->Добавить новый модуль"
И пишем следующее:
===================================================
Первый модуль:
Продукт: Comments Tags
Местоположение модуля: commtag_illegaluse_newpm (Comments Tags)
Заголовок: Comments Tags: defence newpm
Порядок выполнения: 5
Код PHP модуля:
PHP код:
if ($vbulletin->options['commtag_onoff']){ // ###################### Start comments filter ####################### $ct_adm = explode(",", $vbulletin->options['commtag_adm']); $ct_mod = explode(",", $vbulletin->options['commtag_mod']); if (in_array($vbulletin->userinfo['usergroupid'], $ct_adm)) { //Allow comments if admin $pm['message'] = preg_replace ('/\\[(ADMIN)](.*)\\[\\/\\1\\]/siU', '[\\1="'.$vbulletin->userinfo['username'].'"]\\2[/\\1]', $pm['message']); } else if (in_array($vbulletin->userinfo['usergroupid'], $ct_mod)) { //Allow comments if mod if ($vbulletin->options['commtag_illegal']){ $pm['message'] = preg_replace ('/\\[(ADMIN)=("|"|\'|)(.*)\\2\\](.*)\\[\\/\\1\\]/siU', '\\4', $pm['message']); } $pm['message'] = preg_replace ('/\\[(MOD)](.*)\\[\\/\\1\\]/siU', '[\\1="'.$vbulletin->userinfo['username'].'"]\\2[/\\1]', $pm['message']); } else { //Cut comments if illegal if ($vbulletin->options['commtag_illegal']){ $pm['message'] = preg_replace ('/\\[(ADMIN|MOD)=("|"|\'|)(.*)\\2\\](.*)\\[\\/\\1\\]/siU', '\\4', $pm['message']); } } }
Модуль включен: Да
===================================================
Второй модуль:
Продукт: Comments Tags
Местоположение модуля: commtag_illegaluse_newthread (Comments Tags)
Заголовок: Comments Tags: defence newthread
Порядок выполнения: 5
Код PHP модуля:
PHP код:
if ($vbulletin->options['commtag_onoff']){ // ###################### Start comments filter ####################### $ct_adm = explode(",", $vbulletin->options['commtag_adm']); $ct_mod = explode(",", $vbulletin->options['commtag_mod']); if (in_array($vbulletin->userinfo['usergroupid'], $ct_adm)) { //Allow comments if admin $newpost['message'] = preg_replace ('/\\[(ADMIN)](.*)\\[\\/\\1\\]/siU', '[\\1="'.$vbulletin->userinfo['username'].'"]\\2[/\\1]', $newpost['message']); } else if (in_array($vbulletin->userinfo['usergroupid'], $ct_mod)) { //Allow comments if mod if ($vbulletin->options['commtag_illegal']){ $newpost['message'] = preg_replace ('/\\[(ADMIN)=("|"|\'|)(.*)\\2\\](.*)\\[\\/\\1\\]/siU', '\\4', $newpost['message']); } $newpost['message'] = preg_replace ('/\\[(MOD)](.*)\\[\\/\\1\\]/siU', '[\\1="'.$vbulletin->userinfo['username'].'"]\\2[/\\1]', $newpost['message']); } else { //Cut comments if illegal if ($vbulletin->options['commtag_illegal']){ $newpost['message'] = preg_replace ('/\\[(ADMIN|MOD)=("|"|\'|)(.*)\\2\\](.*)\\[\\/\\1\\]/siU', '\\4', $newpost['message']); } } }
Модуль включен: Да
===================================================
Третий модуль:
Продукт: Comments Tags
Местоположение модуля: commtag_illegaluse_picturecomment (Comments Tags)
Заголовок: Comments Tags: defence picturecomment
Порядок выполнения: 5
Код PHP модуля:
PHP код:
if ($vbulletin->options['commtag_onoff']){ // ###################### Start comments filter ####################### $ct_adm = explode(",", $vbulletin->options['commtag_adm']); $ct_mod = explode(",", $vbulletin->options['commtag_mod']); if (in_array($vbulletin->userinfo['usergroupid'], $ct_adm)) { //Allow comments if admin $message['message'] = preg_replace ('/\\[(ADMIN)](.*)\\[\\/\\1\\]/siU', '[\\1="'.$vbulletin->userinfo['username'].'"]\\2[/\\1]', $message['message']); } else if (in_array($vbulletin->userinfo['usergroupid'], $ct_mod)) { //Allow comments if mod if ($vbulletin->options['commtag_illegal']){ $message['message'] = preg_replace ('/\\[(ADMIN)=("|"|\'|)(.*)\\2\\](.*)\\[\\/\\1\\]/siU', '\\4', $message['message']); } $message['message'] = preg_replace ('/\\[(MOD)](.*)\\[\\/\\1\\]/siU', '[\\1="'.$vbulletin->userinfo['username'].'"]\\2[/\\1]', $message['message']); } else { //Cut comments if illegal if ($vbulletin->options['commtag_illegal']){ $message['message'] = preg_replace ('/\\[(ADMIN|MOD)=("|"|\'|)(.*)\\2\\](.*)\\[\\/\\1\\]/siU', '\\4', $message['message']); } } }
Модуль включен: Да
===================================================
Червёртый модуль:
Продукт: Comments Tags
Местоположение модуля: commtag_illegaluse_groupmessage (Comments Tags)
Заголовок: Comments Tags: defence groupmessage
Порядок выполнения: 5
Код PHP модуля:
PHP код:
if ($vbulletin->options['commtag_onoff']){ // ###################### Start comments filter ####################### $ct_adm = explode(",", $vbulletin->options['commtag_adm']); $ct_mod = explode(",", $vbulletin->options['commtag_mod']); if (in_array($vbulletin->userinfo['usergroupid'], $ct_adm)) { //Allow comments if admin $message['message'] = preg_replace ('/\\[(ADMIN)](.*)\\[\\/\\1\\]/siU', '[\\1="'.$vbulletin->userinfo['username'].'"]\\2[/\\1]', $message['message']); } else if (in_array($vbulletin->userinfo['usergroupid'], $ct_mod)) { //Allow comments if mod if ($vbulletin->options['commtag_illegal']){ $message['message'] = preg_replace ('/\\[(ADMIN)=("|"|\'|)(.*)\\2\\](.*)\\[\\/\\1\\]/siU', '\\4', $message['message']); } $message['message'] = preg_replace ('/\\[(MOD)](.*)\\[\\/\\1\\]/siU', '[\\1="'.$vbulletin->userinfo['username'].'"]\\2[/\\1]', $message['message']); } else { //Cut comments if illegal if ($vbulletin->options['commtag_illegal']){ $message['message'] = preg_replace ('/\\[(ADMIN|MOD)=("|"|\'|)(.*)\\2\\](.*)\\[\\/\\1\\]/siU', '\\4', $message['message']); } } }
Модуль включен: Да
===================================================
Пятый модуль:
Продукт: Comments Tags
Местоположение модуля: commtag_illegaluse_visitormessage (Comments Tags)
Заголовок: Comments Tags: defence visitormessage
Порядок выполнения: 5
Код PHP модуля:
PHP код:
if ($vbulletin->options['commtag_onoff']){ // ###################### Start comments filter ####################### $ct_adm = explode(",", $vbulletin->options['commtag_adm']); $ct_mod = explode(",", $vbulletin->options['commtag_mod']); if (in_array($vbulletin->userinfo['usergroupid'], $ct_adm)) { //Allow comments if admin $message['message'] = preg_replace ('/\\[(ADMIN)](.*)\\[\\/\\1\\]/siU', '[\\1="'.$vbulletin->userinfo['username'].'"]\\2[/\\1]', $message['message']); } else if (in_array($vbulletin->userinfo['usergroupid'], $ct_mod)) { //Allow comments if mod if ($vbulletin->options['commtag_illegal']){ $message['message'] = preg_replace ('/\\[(ADMIN)=("|"|\'|)(.*)\\2\\](.*)\\[\\/\\1\\]/siU', '\\4', $message['message']); } $message['message'] = preg_replace ('/\\[(MOD)](.*)\\[\\/\\1\\]/siU', '[\\1="'.$vbulletin->userinfo['username'].'"]\\2[/\\1]', $message['message']); } else { //Cut comments if illegal if ($vbulletin->options['commtag_illegal']){ $message['message'] = preg_replace ('/\\[(ADMIN|MOD)=("|"|\'|)(.*)\\2\\](.*)\\[\\/\\1\\]/siU', '\\4', $message['message']); } } }
Модуль включен: Да
===================================================
Шестой модуль:
Продукт: Comments Tags
Местоположение модуля: profile_updatesignature_start
Заголовок: Comments Tags: defence signature
Порядок выполнения: 5
Код PHP модуля:
PHP код:
if ($vbulletin->options['commtag_onoff']){ // ###################### Start comments filter ####################### $ct_adm = explode(",", $vbulletin->options['commtag_adm']); $ct_mod = explode(",", $vbulletin->options['commtag_mod']); if (in_array($vbulletin->userinfo['usergroupid'], $ct_adm)) { //Allow comments if admin $signature = preg_replace ('/\\[(ADMIN)](.*)\\[\\/\\1\\]/siU', '[\\1="'.$vbulletin->userinfo['username'].'"]\\2[/\\1]', $signature); } else if (in_array($vbulletin->userinfo['usergroupid'], $ct_mod)) { //Allow comments if mod if ($vbulletin->options['commtag_illegal']){ $signature = preg_replace ('/\\[(ADMIN)=("|"|\'|)(.*)\\2\\](.*)\\[\\/\\1\\]/siU', '\\4', $signature); } $signature = preg_replace ('/\\[(MOD)](.*)\\[\\/\\1\\]/siU', '[\\1="'.$vbulletin->userinfo['username'].'"]\\2[/\\1]', $signature); } else { //Cut comments if illegal if ($vbulletin->options['commtag_illegal']){ $signature = preg_replace ('/\\[(ADMIN|MOD)=("|"|\'|)(.*)\\2\\](.*)\\[\\/\\1\\]/siU', '\\4', $signature); } } }
Модуль включен: Да
===================================================
Ps. Вот вообщем-то и все исправления ((8 переписывать хак не стал, ибо не моё и потом чтобы притензий не было ничего не стал делать.
И ещё, я не понимаю зачем эти кнопки показываются везде?? Я например выключил у себя модуль "Comments Tags: button"
И добавил в ручную эти кнопки только в шаблон: postbit_quickedit
Чтобы только при редактировании чужого поста можно было воспользоваться этим тегом, в быстром редактировании только, в расширенном не видно будет этой кнопки, но можно написать в ручную х)))
Вот скриншот: http://radikal.ru/F/s57.radikal.ru/i...ecff9.jpg.html
Вообщем кому интересно:
Отключаем модуль: Comments Tags: button
Идём в шаблон: postbit_quickedit
Находим там:
PHP код:
<if condition="$show['quote_bbcode']"> <td><img src="$stylevar[imgdir_editor]/separator.gif" width="6" height="20" alt="" /></td> <td><div class="imagebutton" id="{$editorid}_cmd_wrap0_quote"><img src="$stylevar[imgdir_editor]/quote.gif" width="21" height="20" alt="$vbphrase[wrap_quote_tags]" /></div></td> </if>
Ниже добавляем:
PHP код:
<if condition="$vBeditTemplate['extrabuttons'] != '' "> <td><img src="$stylevar[imgdir_editor]/separator.gif" width="6" height="20" alt="" /></td> <if condition="is_member_of($bbuserinfo, 6)"> <td><div class="imagebutton" id="{$editorid}_cmd_wrap0_admin"><img src="$stylevar[imgdir_editor]/comm_admin.gif" alt="Вставить BB код [ADMIN] вокруг выделенного текста" width="21" height="20" border="0" /></div></td> </if> <if condition="is_member_of($bbuserinfo, 5,7)"> <td><div class="imagebutton" id="{$editorid}_cmd_wrap0_mod"><img src="$stylevar[imgdir_editor]/comm_mod.gif" alt="Вставить BB код [MOD] вокруг выделенного текста" width="21" height="20" border="0" /></div></td> </if> </if>
Иды групп свои только пишите 8)))
И ещё одна бага как бы, я давно её нашёл, наверное как только поставил, дело в том что когда модер\админ редактирует пост юзера и пишет в этом теге, после этого юзер не видит кнопку "редактировать", но ссылка то на редактирование поста работает, в расширенном режиме только)), то есть уберается только кнопка(картинка с ссылкой, но ссылка остаётся рабочей на редактирование этого поста), а если посмотреть ид поста и в ручную вписать ссылку в адресную строку, но мы отредактим пост после модера или админа, так же юзер увидит тег [ADMIN][/ADMIN] и может воспользоваться ими, хотя если профиксить как я написал, то толку от этого что юзер узнает код мало (((8
Вообщем начсёт кнопки, это по сути тоже бага, но её я править не буду, пусть автор уже пыжится с этим (х
|