Хак комментарий модератора commtag

B

Boss3

#1
По заявкам радиослушателей :D

Хак комментарий модератора

Пригодится для уменьшения флуда и оффтопа от модеров :D И заметный такой. Вообщем то, что надо! :nunu:



В ридми написано, что для любой кодировки. Врут :D в utf крокозябры появляются, но я перекодировал хак и для UTF там тоже теперь есть продукт.

Установка:

  • Заливаем файло в нужные папки

А теперь внимание! Требуется редактировать файл движка. А это значит, что если будете обновлять форум, то не забудьте внести изменение, а то хак перестанет работать.

Открываем файл newreply.php, ищем код:

Код:
if ($vbulletin->GPC['ajax']) { $newpost['message'] = convert_urlencoded_unicode($newpost['message']); }

Ниже добавляем:

Код:
 ($hook = vBulletinHook::fetch_hook('commtag_illegaluse')) ? eval($hook) : false;

  • Теперь импортируем продукт в нужной кодировке.

Кнопка в расширенном редакторе появится сама, а вот в быстром редакторе придется изменить еще файлик ;)

В админке открыть шаблон postbit_quickedit. Найти в нем код:

Код:
<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 condition="is_member_of($bbuserinfo, 5,7)">
<td><div class="imagebutton" id="{$editorid}_cmd_wrap0_mod"><img src="$stylevar[imgdir_editor]/comm.gif" alt="$alt_m" width="21" height="20" border="0" /></div></td>
</if>
<if condition="is_member_of($bbuserinfo, 6)">
<td><div class="imagebutton" id="{$editorid}_cmd_wrap0_admin"><img src="$stylevar[imgdir_editor]/comm.gif" alt="$alt_a" width="21" height="20" border="0" /></div></td>
</if>

Усе шеф :D
 
А

Аркадий 10

#2
Благодарствуйте!

Только вот этот ньюанс имеет значение? - что новые файлы Thumbs.db по весу меньше старых файлов Thumbs.db, чем были уже в этих папках?
 
W

Wmboard

#3
Аркадий 10, можете их вообще удалить. Это системные файлы с компьютера.
 
S

Sayf

#4
Почему то у меня идет такое предупреждение:
Warning: array_merge() [function.array-merge]: Argument #1 is not an array in [path]\includes\class_bootstrap.php(1315) : eval()'d code on line 79
 
W

Wmboard

#5
Когда это предупреждение появляется? Версия форума?
 
S

Sayf

#6
Уже понял что этот хак для третей версии(на ней работает).
Попробовал на 4.1.5 и пошло это предупреждение.
 
A

Avalanch

#7
Установил данный хак, но нашел багу.

По-умолчанию, если мы выбираем написать сообщение администратора или модератора, оно пишется в теги:

Код:
[ADMIN]текст[/ADMIN]
[MOD]текст[/MOD]

При это не показывается, а просто остаются теги, правильно формироваться должно так:

Код:
[ADMIN ="логин" ]текст[/ADMIN]
[MOD ="логин" ]текст[/MOD]

Сделал пробелы, иначе удалялись теги.
Не всегда срабатывает автоматическое формирование, иногда приходится подправлять руками.

С чем может быть связана проблема?
 
H

Helenka1

#8
Пригодится для уменьшения флуда и оффтопа от модеров :D И заметный такой. Вообщем то, что надо! :nunu:

:D мужчина, вы не последовательны. То просите назначить супер-модератором данного форума весьма разговорчивую флудистку, а то :D уменьшение флуда от модераторов ему подавай :D
 
Н

Ночная странница

#9
Не всегда срабатывает автоматическое формирование, иногда приходится подправлять руками.
С чем может быть связана проблема?

Не только у вас так. Проблема связана с самим хаком, я тоже поначалу админам жаловалась. Обычно даже без прописанного в тегах имени модератора форум потом "дописывает" ник модератора сам, но этого не происходит, если модератор объединил несколько сообщений и добавил свой комментарий.Тогда остаются теги, приходилось дописывать вручную.

Ещё из прикольных багов этого хака - админ запросто может подставить ник модератора и написать коммент "от его имени" :D Жаль, наоборот нельзя)))
 
W

Wmboard

#10
С чем может быть связана проблема?

Раз появился второй человек, с багами этого хака, то значит проблема может быть в интернет-провайдере :)
Вот не поверите, ни разу не было глюков с данным хаком, хотя пользуюсь им регулярно...
 
A

Avalanch

#11
Не только у вас так. Проблема связана с самим хаком, я тоже поначалу админам жаловалась. Обычно даже без прописанного в тегах имени модератора форум потом "дописывает" ник модератора сам, но этого не происходит, если модератор объединил несколько сообщений и добавил свой комментарий.Тогда остаются теги, приходилось дописывать вручную.

Ещё из прикольных багов этого хака - админ запросто может подставить ник модератора и написать коммент "от его имени" :D Жаль, наоборот нельзя)))

Раз появился второй человек, с багами этого хака, то значит проблема может быть в интернет-провайдере :)
Вот не поверите, ни разу не было глюков с данным хаком, хотя пользуюсь им регулярно...

Ну в целом все решается быстро: "Правка" - "Сохранить" и он сам подставляет все как надо)))
 
P

Pavlik Ivanov

#12
Подскажите пожалуйста где возможно изменить цвет рамки...
 
T

tatiana1982

#14
if ($vbulletin->GPC['ajax']) { // posting via ajax so we need to handle those entries $newpost['message'] = convert_urlencoded_unicode($newpost['message']); }

Помогите пожалуйста найти этот код у меня. А то я сама не могу его найти :(

Вот что у меня

Код:
$stylevar[htmldoctype]
<html xmlns="http://www.w3.org/1999/xhtml" dir="$stylevar[textdirection]" lang="$stylevar[languagecode]">
<head>
$headinclude
<title>$vboptions[bbtitle] - $vbphrase[reply_to_topic]</title>
</head>
<body$onload>
$header
$navbar
$postpreview
<form action="newreply.php?do=postreply&t=$threadid" name="vbform" method="post"<if condition="!is_browser('webtv')">
onsubmit="return vB_Editor['$editorid'].prepare_submit(0, $vboptions[postminchars])"</if>>
<table class="tborder" cellpadding="$stylevar[cellpadding]" cellspacing="$stylevar[cellspacing]" border="0" width="100%" align="center">
<tr>	<td class="tcat">	<span class="smallfont" style="float:$stylevar[right]"><strong>$vbphrase[thread]</strong>: $threadinfo[prefix_plain_html] <a href="showthread.php?$session
[sessionurl]t=$threadinfo[threadid]">$threadinfo[title]</a></span>	$vbphrase[reply_to_thread]	</td>
</tr>
<tr>	<td class="panelsurround" align="center">	<div class="panel">	<div style="width:$stylevar[formwidth]" align="$stylevar[left]">	$usernamecode	$human_verify	<!-- subject field -->	<table cellpadding="0" cellspacing="0" border="0" class="fieldset">	<tr>	<td class="smallfont" colspan="3">$vbphrase[title]:</td>	</tr>	<tr>	<td><input type="text" class="bginput" name="title" value="$title" size="50"
maxlength="$vboptions[titlemaxchars]" tabindex="1" title="$vbphrase[optional]" /></td>	<td>  </td>	<td><img id="display_posticon" src="$selectedicon[src]" alt="$selectedicon[alt]" /></td>	</tr>	</table>	<!-- / subject field -->	<!-- message area -->	<div class="smallfont">$vbphrase[message]:</div>	$messagearea	<!-- / message area -->	<if condition="$unquoted_post_count > 0">	<div id="unquoted_posts" class="smallfont" style="display: none">	<if condition="$unquoted_post_count == 1">	$vbphrase[selected_1_post_not_part_thread]	<else />	<phrase 1="$unquoted_post_count">$vbphrase[selected_x_posts_not_part_thread]</phrase>	</if>	</div>	<script type="text/javascript" src="clientscript/vbulletin_ajax_quote.js?v=$vboptions[simpleversion]"></script>	<script type="text/javascript">	<!--	if (AJAX_Compatible)	{	fetch_object('unquoted_posts').style.display = '';	}	init_unquoted_posts('$editorid', $threadinfo[threadid]);	</script>	</if>	$posticons	</div>	</div>	<div style="margin-top:$stylevar[cellpadding]px">	<input type="hidden" name="s" value="$session[sessionhash]" />	<input type="hidden" name="securitytoken" value="$bbuserinfo[securitytoken]" />	<input type="hidden" name="do" value="postreply" />	<input type="hidden" name="t" value="$threadid" />	<input type="hidden" name="p" value="$postid" />	<input type="hidden" name="specifiedpost" value="$specifiedpost" />	<input type="hidden" name="posthash" value="$posthash" />	<input type="hidden" name="poststarttime" value="$poststarttime" />	<input type="hidden" name="loggedinuser" value="$bbuserinfo[userid]" />	<input type="hidden" name="multiquoteempty" id="multiquote_empty_input" value="$multiquote_empty" />	<input type="submit" class="button" name="sbutton" id="{$editorid}_save" value="$vbphrase[submit_reply]"
accesskey="s" tabindex="1" />	<input type="submit" class="button" name="preview" value="$vbphrase[preview_post]" accesskey="r" tabindex="1" />	</div>	</td>
</tr>
</table>
<if condition="$show['additional_options']">
<br />
<table class="tborder" cellpadding="$stylevar[cellpadding]" cellspacing="$stylevar[cellspacing]" border="0" width="100%" align="center">
<thead>	<tr>	<td class="tcat">	<a style="float:$stylevar[right]" href="#top" onclick="return toggle_collapse('newpost_options')">
<img id="collapseimg_newpost_options" src="$stylevar[imgdir_button]/collapse_tcat$vbcollapse[collapseimg_newpost_options].gif"
alt="" border="0" /></a>	$vbphrase[additional_options]	</td>	</tr>
</thead>
<tbody id="collapseobj_newpost_options" style="$vbcollapse[collapseobj_newpost_options]">	<tr valign="top">	<td class="panelsurround" align="center">	<div class="panel">	<div style="width:$stylevar[formwidth]" align="$stylevar[left]">	<if condition="$show['misc_options']">	<fieldset class="fieldset">	<legend>$vbphrase[miscellaneous_options]</legend>	<div style="padding:$stylevar[formspacer]px">	<if condition="$bbuserinfo['signature'] != ''"><div><label for="cb_signature">
<input type="checkbox" name="signature" value="1" id="cb_signature" tabindex="1" $checked[signature] />$vbphrase[show_your_signature]
</label></div></if>	<if condition="$show['parseurl']"><div><label for="cb_parseurl"><input type="checkbox" name="parseurl"
value="1" id="cb_parseurl" tabindex="1" $checked[parseurl] />$vbphrase[automatically_parse_links_in_text]</label></div></if>	$disablesmiliesoption	</div>	</fieldset>	</if>	$attachmentoption	<if condition="$show['member']">	<fieldset class="fieldset">	<legend>$vbphrase[thread_subscription]</legend>	<table cellpadding="0" cellspacing="$stylevar[formspacer]" border="0">	<tr>	<td>$vbphrase[notification_type]:<br /><select name="emailupdate" tabindex="1">	<option value="9999" $emailchecked[9999]>$vbphrase[do_not_subscribe]</option>	<option value="0" $emailchecked[0]>$vbphrase[no_email_notification]</option>	<option value="1" $emailchecked[1]>$vbphrase[instant_email_notification]</option>	<option value="2" $emailchecked[2]>$vbphrase[daily_email_notification]</option>	<option value="3" $emailchecked[3]>$vbphrase[weekly_email_notification]</option>	</select></td>	<if condition="$show['subscribefolders']"><td>$vbphrase[folder]:<br /><select name="folderid" tabindex="1">
$folderbits</select></td></if>	</tr>	</table>	</fieldset>	</if>	<if condition="$show['threadrating']">	<fieldset class="fieldset">	<legend>$vbphrase[rate_thread]</legend>	<div style="padding:$stylevar[formspacer]px">	<div>$vbphrase[can_add_a_score_for_thread]</div>	<div>	<select name="rating" tabindex="1">	<option value="0"$rate[0]>$vbphrase[choose_a_rating]</option>	<optgroup label=" ">	<option value="5"$rate[5]>5 : $vbphrase[excellent]</option>	<option value="4"$rate[4]>4 : $vbphrase[good]</option>	<option value="3"$rate[3]>3 : $vbphrase[average]</option>	<option value="2"$rate[2]>2 : $vbphrase[bad]</option>	<option value="1"$rate[1]>1 : $vbphrase[terrible]</option>	</optgroup>	</select>	</div>	</div>	</fieldset>	</if>	$threadmanagement	</div>	</div>	<div style="margin-top:$stylevar[cellpadding]px">	<input type="submit" class="button" name="sbutton" value="$vbphrase[submit_reply]" accesskey="s" tabindex="1" />	<input type="submit" class="button" name="preview" value="$vbphrase[preview_post]" accesskey="r" tabindex="1" />	</div>	</td>	</tr>
</tbody>
</table>
</if>
</form>
<br />
<table class="tborder" cellpadding="$stylevar[cellpadding]" cellspacing="$stylevar[cellspacing]" border="0" width="100%" align="center">
<tr>	<td class="tcat">	<a style="float:$stylevar[right]" href="#top" onclick="return toggle_collapse('threadreview')">
<img id="collapseimg_threadreview" src="$stylevar[imgdir_button]/collapse_tcat$vbcollapse[collapseimg_threadreview].gif" alt="" border="" /></a>	$vbphrase[topic_review_newest_first]	</td>
</tr>
</table>
$spacer_close
$spacer_open
<div id="collapseobj_threadreview" style="$vbcollapse[collapseobj_threadreview]">	<table class="tborder" cellpadding="$stylevar[cellpadding]" cellspacing="$stylevar[cellspacing]" border="0"
width="100%" align="center" style="border-top-width:0px">	$threadreviewbits	<if condition="$show['reviewmore']">	<tr>	<td class="tfoot" align="center" colspan="2"><span class="smallfont">	<phrase 1="$vboptions[maxposts]" 2="showthread.php?$session[sessionurl]t=$threadid">$vbphrase
[thread_has_more_than_x_review]</phrase>	</span></td>	</tr>	</if>	</table>
</div>
$spacer_close
$spacer_open
<br />
$forumrules
$footer
</body>
</html>
 
S

Sayf

#15
tatiana1982, Надо искать строку не у шаблоне newreply а в файле newreply.php который находится в корневой папке форума.
 
T

tatiana1982

#16
Sayf, спасибо огромное
 
Get involved!

Here you can only see a limited number of comments. On СЕО Форум Вебмастеров you see all comments and all functions are available to you. To the thread