Открыть engine/modules/show.***.php
Найти
$tpl->set_block( "'\\[complaint\\](.*?)\\[/complaint\\]'si", "" );
Заменить на
$tpl->set( '[complaint]', "<a href=\"javascript:AddComplaint('" . $row['id'] . "', 'news')\">");
$tpl->set( '[/complaint]', "</a>" );
Открыть engine/ajax/complaint.php
Найти и удалить строку:
if( !$is_logged ) die( "error" );
Маленькая инструкция (работает, протестировано на DLE 9.5):
Данный хак позволяет гостям(не зарегистрированным пользователям)
пользоваться функцией отправки жалоб администратору.
1. Открыть файл engine/classes/comments.class.php
найти там следующее (строчка 380 в коде):
$tpl->set_block( "'\\[complaint\\](.*?)\\[/complaint\\]'si", "" );
Заменить на:
$tpl->set( '[complaint]', "<a href=\"javascript:AddComplaint('" . $row['id'] . "', 'comments')\">" );
$tpl->set( '[/complaint]', "</a>" );
2. Открыть файл engine/ajax/complaint.php
Найти следующее (122 строчка):
} elseif ($_POST['action'] == "comments") {
if( !$is_logged ) die( "error" );
Заменить строку
if( !$is_logged ) die( "error" );
на
3. Удалить в вашем шаблоне comments.tpl теги [not-group=5] и [/not-group](если хотите чтоб гости смогли отправлять жалобы на комментарии)
Кстати, чтоб для новости тоже работало и не выбивало ошибок, нужно:
1. Открыть файл engine/modules/show.full.php (для краткой новости это также будет и engine/modules/show.short.php)
найти там:
$tpl->set_block( "'\\[complaint\\](.*?)\\[/complaint\\]'si", "" );
Заменьть на:
$tpl->set( '[complaint]', "<a href=\"javascript:AddComplaint('" . $row['id'] . "', 'news')\">");
$tpl->set( '[/complaint]', "</a>" );
2. Открыть файл engine/ajax/complaint.php
Найти следующее (144 строчка):
} elseif ($_POST['action'] == "news") {
if( !$is_logged ) die( "error" );
( Обратите внимание на разницу по сравнению с тем же хаком для комментариев
} elseif ($_POST['action'] == "news") {
)
Далее заменить строку идущую на строчке 146
if( !$is_logged ) die( "error" );
на
Проверенно. Все работает как часы! Единственный минус, что вам могут слать таким образом тучи фальшивых жалоб. Но, как правило, спам создается для массовой аудитории. Много ли найдется таких идиотов которые будут слать спам лично админу? Не думаю, что много, и уж тем более не думаю, что часто. Удачи вам