Сайт сообщества | Клуб пользователей | О проекте

Имя
Пароль
ПравилаРегистрацияСправка
Сообщения за деньПоиск

Вернуться   Клуб пользователей портальной системы RUNCMS > Опен Ресурс > Разработчикам > Готовые хаки

Ответ
 
Опции темы Опции просмотра
pan вне форума pan
): ǝҺɐни dиw ɐн иd⊥оwɔ

Аватар для pan

| Цитировать Старый #1 11-12-2012, 14:36

Версия 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"),_YEStrue);
  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"),_YEStrue);
  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"),_YEStrue);
  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"),_YEStrue);
  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"),_YEStrue);
  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 или куда в другую пишут


Напильник для RUNCMS
Строим помаленьку
Для гурманов
Мебель для дома
Посетить домашнюю страницу pan
  Сообщения: 4,777 c 15.03.2004 | Репутация: 121
ZlydenGL вне форума ZlydenGL
Напильникъ - наше все

Аватар для ZlydenGL

| Цитировать Старый #2 11-12-2012, 16:31

Если кого-то интересует сабж для ветки 1.х и/ли хочется удалять комментарии из всех "комментаторских" страниц разом - то последовательность команд есть здесь.

Для ветки 2.х естественно надо все приставки xoops заменить на rcx.


Не ошибается только тот, кто ничего не делает. Ковчег построил любитель. Профессионалы строили Титаник.
  Сообщения: 777 c 22.09.2008 | Репутация: 92
pan вне форума pan
): ǝҺɐни dиw ɐн иd⊥оwɔ

Аватар для pan

| Цитировать Старый #3 11-13-2012, 16:15

Как меня эти комменты достали
Короче еще подсчет постов идёт в users
Если удалить комменты, то еще и надо сбрасывать там


Напильник для RUNCMS
Строим помаленьку
Для гурманов
Мебель для дома
Посетить домашнюю страницу pan
  Сообщения: 4,777 c 15.03.2004 | Репутация: 121
HDMan вне форума HDMan
Зам старшего участника


| Цитировать Старый #4 11-22-2012, 17:03

Вообще комменты ко всем модулям надо делать в одной таблице (у себя я так и сделал) тогда будет меньше проблем со спамом, модерацией, рейтингом



Посетить домашнюю страницу HDMan
  Сообщения: 341 c 06.11.2005 | Репутация: 75
pan вне форума pan
): ǝҺɐни dиw ɐн иd⊥оwɔ

Аватар для pan

| Цитировать Старый #5 11-22-2012, 20:00

HDMan это понятно, только тут модули виноваты со своими таблицами, а не двиг


Напильник для RUNCMS
Строим помаленьку
Для гурманов
Мебель для дома
Посетить домашнюю страницу pan
  Сообщения: 4,777 c 15.03.2004 | Репутация: 121
Юрий Пет вне форума Юрий Пет
Зам старшего участника

Аватар для Юрий Пет

| Цитировать Старый #6 11-22-2012, 21:46

Так вот и нужно, чтобы комменты были в движке по умолчанию, а все модули подключались бы к комментам при установке


Портал - домашние животные
Фоны для сайта Территория вебграфики
Посетить домашнюю страницу Юрий Пет
  Сообщения: 457 c 28.12.2006 | Репутация: 17
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Рейтинг@Mail.ru Хостинг провайдер Majordomo. Powered by: vBulletin Version 3.0
Copyright ©2000-2024, Jelsoft Enterprises Ltd.
Все разделы прочитаны - Руководство форума - Архив - Вверх
Rambler's Top100
Output: 87.87 Kb. compressed to 83.07 Kb. by saving 4.81 Kb. (5.47%)
Page generated in 0.09505 seconds with 10 queries