Перейти к контенту

Удаление Личных сообщений


Рекомендуемые сообщения

Часто бывает так, что на форуме накопилось немалое количество личных сообщений, содержимое которых хранится в базах данных. Как удалить все эти сообщения? Решение в этой теме.

 

Следующими запросами вы удалите все личные сообщения всех пользователей

Админцентр -> Управление SQL -> Утилита SQL: Сделайте следующий запросы, по одному.

 

DELETE FROM ibf_message_text

 

DELETE FROM ibf_message_topics

 

Повтор :D. Этими запросами вы удалите все личные сообщения всех пользователей.

Изменено пользователем Master
Ссылка на комментарий
Поделиться на других сайтах

Что уж вы =)

 

Ведь это может многим понадобиться :D

А многие и не знаю как работать с теми же самыми БД ;)

Ссылка на комментарий
Поделиться на других сайтах

  • 2 месяца спустя...

А есть ли возможность удалять сообщения от конкретного пользователя?

 

Зачем: зарегился спамер и разослал ЛС другим пользователям. Я - удалил.

Ссылка на комментарий
Поделиться на других сайтах

мод для такой фигни как спамер (ЗАВЕРШЕН)

1.сделаем в индексе еще один акт

'deletepm'	=> array( 'deletepm'		, 'deletepm'		, array() ),

2.сделаем в action_public файл deletepm.php

 

<?php

if ( ! defined( 'IN_IPB' ) )
{
print "<h1>Некорректный адрес</h1>Вы не имеете доступа к этому файлу напрямую. Если вы недавно обновляли форум, вы должны обновить все соответствующие файлы.";
exit();
}

class deletepm
{
# Global
var $ipsclass;

function auto_run()
{
if ($this->ipsclass->member['mgroup'] == 4) 
{

$this->ipsclass->DB->simple_exec_query( array( 'delete' => 'message_text', 'where' => 'msg_author_id='.$this->ipsclass->input['who'] ));
$this->ipsclass->DB->simple_exec_query( array( 'delete' => 'message_topics', 'where' => 'mt_from_id='.$this->ipsclass->input['who'] ));
$txt = 'Все сообщения спамера удалены';
$this->ipsclass->print->redirect_screen($txt,'showuser='.$this->ipsclass->input['who']);
}
}
}
?>

 

вызывать будет

act=deletepm&who='id пользователя-спаммера'

 

сделаем более доступным:

админка-внешний вид-фрагменты-скин_профиль-шоу_профиль

в конце будет яваскрипт меню, там надо добавить такую ячейку меню:

,
<if="ipb.member['mgroup'] == 4">
'<img src="style_images/<#IMG_DIR#>/profile_item.gif" border="0" />' + " <a href='{ipb.script_url}act=deletepm&who={$info['mid']}'>Удалить исходящие PM</a>"
</if>

не забыть запятую!

Ссылка на комментарий
Поделиться на других сайтах

Чесно говоря немного не понял: что делать с этим?

вызывать будет

Код

act=deletepm&who='id пользователя-спаммера'

 

и где искать

 

>Удалить исходящие PM<

 

 

 

 

Через 2 мин.

Ага, не работает "Опции профиля"...

Ссылка на комментарий
Поделиться на других сайтах

полный мой код яваскрипт меню:

<script type="text/javascript">
//<![CDATA[
 var dname_title = "{ipb.lang['dname_title']}";
 menu_build_menu(
 "profile-options",
 new Array(
		   '<img src="style_images/<#IMG_DIR#>/profile_item.gif" border="0" />' + " <a href='{ipb.script_url}act=Search&CODE=getalluser&mid={$info['mid']}'>{ipb.lang['find_posts']}</a>",
		   '<img src="style_images/<#IMG_DIR#>/profile_item.gif" border="0" />' + " <a href='{ipb.script_url}act=Search&CODE=gettopicsuser&mid={$info['mid']}'>{ipb.lang['find_member_topics']}</a>",
<if="ipb.member['id'] != 0">
'<img src="style_images/<#IMG_DIR#>/profile_item.gif" border="0" />' + " <a href='{ipb.script_url}act=usercp&CODE=ignore&uid={$info['mid']}'>{ipb.lang['ignore_user']}</a>",
</if>
<if="ipb.member['g_is_supmod'] == 1">
'<img src="style_images/<#IMG_DIR#>/profile_item.gif" border="0" />' + " <a href='{ipb.script_url}act=mod&CODE=editmember&auth_key={$auth_key}&mid={$info['mid']}'>{ipb.lang['supmod_edit_member']}</a>",
</if>
<if="ipb.vars['auth_allow_dnames'] == 1">
'<img src="style_images/<#IMG_DIR#>/profile_item.gif" border="0" />' + " <a href='#' onclick='return profile_dname_history({$info['mid']})'>{ipb.lang['dname_title']}</a>",
</if>

		'<img src="style_images/<#IMG_DIR#>/profile_item.gif" border="0" />' + " <a href='{ipb.script_url}act=Msg&CODE=02&MID={$info['mid']}'>{ipb.lang['add_to_contact']}</a>",
<if="ipb.member['mgroup'] == 4">
'<img src="style_images/<#IMG_DIR#>/profile_item.gif" border="0" />' + " <a href='{ipb.script_url}act=deletepm&who={$info['mid']}'>Удалить исходящие PM</a>"
</if>
	) );
//]]>
</script>

 

profileoptionslr8.jpg

Ссылка на комментарий
Поделиться на других сайтах

Часто бывает так, что на форуме накопилось немалое количество личных сообщений, содержимое которых хранится в базах данных. Как удалить все эти сообщения? Решение в этой теме.

 

Следующими запросами вы удалите все личные сообщения всех пользователей

Админцентр -> Управление SQL -> Утилита SQL: Сделайте следующий запросы, по одному.

 

DELETE FROM ibf_message_text

 

DELETE FROM ibf_message_topics

 

Повтор :D. Этими запросами вы удалите все личные сообщения всех пользователей.

кое-что забыл ;)

ставим счётчик сообщений на ноль

UPDATE ibf_members set new_msg = 0, msg_total = 0, show_popup = 0;

и

UPDATE ibf_member_extra set vdirs = NULL;

Ссылка на комментарий
Поделиться на других сайтах

  • 2 месяца спустя...
  • 3 недели спустя...

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.