Опытный пользователь
Доп. информация
|
Регистрация: 30.05.2010
Адрес: local unit u="FEARKILLER (="
Сообщений: 30
Поблагодарил(а): 2
Поблагодарили: 34 / 20
|
|
Fix for Comments Tags

Сообщение от Serberg
LinT, попробуй у нас на форуме заюзать это
А вы Сергей не острите)) ведь если писать новое сообщение в этом теге то он правда вырежется, но если создать тему новую и там применить этот тег то )))) он зарабатает, так как там нету хука нужного и нету кода чтобы он вырезал эти теги если пользуется ими простой юзер, не верите могу продемонстрировать на этом форуме, тему потом удалите, но лучше поверить на слово.

Сообщение от 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
Вообщем начсёт кнопки, это по сути тоже бага, но её я править не буду, пусть автор уже пыжится с этим (х
|