Версия 2.2.2
Хак удаляет все комменты пользователя при бане и без бана
Открываем файл
\modules\system\admin\users\language\russian\users .php
Находим строку
PHP код:
define("_AM_AYSYWTDU","Вы уверены, что хотите удалить пользователя %s?");
Меняем на
PHP код:
define("_AM_AYSYWTDU","Вы уверены, что хотите удалить пользователя %s и его комментарии?");
define("_AM_AYSYWTDUS","Вы уверены, что хотите удалить комментарии пользователя %s?");
Находим строку
PHP код:
define("_AM_BANNED","<font color='red'>Вы действительно желаете забанить пользователя: %s?</font>");
Меняем на
PHP код:
define("_AM_BANNED","<font color='red'>Вы действительно желаете забанить и удалить комментарии пользователя: %s?</font>");
Сохраняем и закрываем файл
Открываем файл
\modules\system\admin\users\main.php
Находим код
PHP код:
case "delUser":
rcx_cp_header();
OpenTable();
$userdata = new RcxUser($uid);
echo"<h3>".sprintf(_AM_HANDLES)."</h3><br />";
echo "<h4>".sprintf(_AM_AYSYWTDU, $userdata->getVar("uname"))."</h4>";
echo _AM_BYTHIS."<br /><br />";
echo "<table><tr><td>";
echo myTextForm("admin.php?fct=users&op=delUserConf&del_uid=".$userdata->getVar("uid"),_YES, true);
echo "</td><td>";
echo myTextForm("admin.php?op=adminMain", _NO);
echo "</td></tr></table>";
echo "<h4>".sprintf(_AM_BANNED, $userdata->getVar("uname"))."</h4>";
echo _AM_BANUSER."<br /><br />";
echo "<table><tr><td>";
echo myTextForm("admin.php?fct=users&op=banUserConf&del_uid=".$userdata->getVar("uid"),_YES, true);
echo "</td><td>";
echo myTextForm("admin.php?op=adminMain", _NO);
echo "</td></tr></table>";
CloseTable();
rcx_cp_footer();
break;
Меняем на
PHP код:
case "delUser":
rcx_cp_header();
OpenTable();
$userdata = new RcxUser($uid);
echo"<h3>".sprintf(_AM_HANDLES)."</h3><br />";
echo "<h4>".sprintf(_AM_AYSYWTDU, $userdata->getVar("uname"))."</h4>";
echo _AM_BYTHIS."<br /><br />";
echo "<table><tr><td>";
echo myTextForm("admin.php?fct=users&op=delUserConf&del_uid=".$userdata->getVar("uid"),_YES, true);
echo "</td><td>";
echo myTextForm("admin.php?op=adminMain", _NO);
echo "</td></tr></table>";
echo "<h4>".sprintf(_AM_AYSYWTDUS, $userdata->getVar("uname"))."</h4>";
echo "<table><tr><td>";
echo myTextForm("admin.php?fct=users&op=delUserComm&del_uid=".$userdata->getVar("uid"),_YES, true);
echo "</td><td>";
echo myTextForm("admin.php?op=adminMain", _NO);
echo "</td></tr></table>";
echo "<h4>".sprintf(_AM_BANNED, $userdata->getVar("uname"))."</h4>";
echo _AM_BANUSER."<br /><br />";
echo "<table><tr><td>";
echo myTextForm("admin.php?fct=users&op=banUserConf&del_uid=".$userdata->getVar("uid"),_YES, true);
echo "</td><td>";
echo myTextForm("admin.php?op=adminMain", _NO);
echo "</td></tr></table>";
CloseTable();
rcx_cp_footer();
break;
В этом же файле находим код
PHP код:
case "delUserConf":
$user = new RcxUser($del_uid);
$user->delete();
redirect_header("admin.php?fct=users", 1, _UPDATED);
break;
case "banUserConf":
$user = new RcxUser($del_uid);
$nom = $user ->getVar("uname");
$mail = $user ->getVar("email");
$ips = $user ->getVar("regip");
filterSave('unames', $nom);
filterSave('emails', $mail);
if($ips !== ""){
filterSave('ips', $ips);
}
$user->delete();
redirect_header("admin.php?fct=users", 1, _UPDATED);
break;
Меняем его на
PHP код:
case "delUserConf":
$db->query("DELETE FROM ".$db->prefix(comments)." WHERE user_id='$del_uid'");
$user = new RcxUser($del_uid);
$user->delete();
redirect_header("admin.php?fct=users", 1, _UPDATED);
break;
case "delUserComm":
$db->query("DELETE FROM ".$db->prefix(comments)." WHERE user_id='$del_uid'");
redirect_header("admin.php?fct=users", 1, _UPDATED);
break;
case "banUserConf":
$db->query("DELETE FROM ".$db->prefix(comments)." WHERE user_id='$del_uid'");
$user = new RcxUser($del_uid);
$nom = $user ->getVar("uname");
$mail = $user ->getVar("email");
$ips = $user ->getVar("regip");
filterSave('unames', $nom);
filterSave('emails', $mail);
if($ips !== ""){
filterSave('ips', $ips);
}
$user->delete();
redirect_header("admin.php?fct=users", 1, _UPDATED);
break;
Работает с модулем news, мне лень искать используют ли другие модули таблицу comments или куда в другую пишут