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

Склейка пользователей


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

  • 2 недели спустя...

просто пользователи.... по 25 штук.... ников имеют на форуме.... :D

вот как бы надо их склеить.... правильно????

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

  • 4 недели спустя...

Axx

мода нет. Есть методика Винни Пуха

Иногда бывает так, что один пользователь зарегистрировался под двумя никами. И писал сообщения от двух лиц, но потом-таки выбрал себе одно имя (из существующих). Можно ли сделать мод, чтобы объединять сообщения двух пользователей под одним уже существующим именем?

 

Update ibf_members set posts=posts+$posts_name2 where id=$id_name1

Update ibf_posts set author_name=$author_name_name1, author_id=$author_id_name1  where author_id=$author_id_name2

Update ibf_topics set starter_id=$starter_id_name1, starter_name=$starter_name_name1  where starter_id=$starter_id_name2

Update ibf_topics set last_poster_id=$last_poster_id_name1, last_poster_name=$last_poster_name_name1  where last_poster_id=$last_poster_id_name2

где все переменные с name1 относятся к желаемому имени, c name2 - к удаляемому

вот и весь мод :D

и надо отучивать пользоваться двумя никами ;)

 

ibf_messages кто объединять будет?

 

кхм.. я думал на счет этого, просто данные в базе ibf_messages дело наживное и обычно подчищается..

так же нет смысла обновлять данные по форумам - типа последний пост чей был - для этого можно запустить обновление кеша (если версия 2.0) или просто ресинхронзацию форумов

ну если все же надо обновление и базы приватных сообщений, то вот

обновление базы самих сообщений

 

Update ibf_message_text set msg_author_id=$msg_author_id_name1 where msg_author_id=$msg_author_id_name2

 

базы заголовков сообщений ОТ КОГО

 

Update ibf_message_topics set mt_from_id=$mt_from_id_name1 where mt_from_id=$mt_from_id_name2

 

базы заголовков сообщений КОМУ

 

Update ibf_message_topics set mt_to_id=$mt_to_id_name1 where mt_to_id=$mt_to_id_name2

 

тогда уж надо и аттачменты обновить, хотя тоже ИМХО не обязательно

 

Update ibf_attachments set attach_member_id=$attach_member_id_name1 where attach_member_id=$attach_member_id_name2

 

ЗЫ.. все это верно только для версии борды 2.0 в других версиях вроде некоторые таблицы по другому зовутся..

 

Elfet

скрипт выложен тут бесплатно

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

sanchez8

и куда это все вставлять? в какой файл?
луцчше пригласить программера тогда... это были запросы к БД
Ссылка на комментарий
Поделиться на других сайтах

  • 2 недели спустя...
  • 1 год спустя...

Прошло достаточно много времени, не появилось модификации склейки пользователей для 1.3?

 

Запросы для выполнения вручную видел, но как-то не очень удобно это делать.

 

Или может кто-то возьмется за создание модификации для админки? Ведь это не сложно сделать людям, разобравшимся в коде ipb.

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

В архиве валяется мод для склейки юзеров, моего авторства. Под 2.0.x. Модифицируйте для 1.3.x, не столь уж глобальные изменения. :D
Ссылка на комментарий
Поделиться на других сайтах

Вопрос к специалистам.

Достаточно ли для полного удаления пользователя, чтобы со временем не накапливался мусор, выполнить данные запросы, может чего не хватает, а может наоборот лишнее?

// Convert their posts and topics into guest postings..
$DB->query("UPDATE ibf_posts SET author_id='0' WHERE author_id='".$memid[$key]."'");
$DB->query("UPDATE ibf_topics SET starter_id='0' WHERE starter_id='".$memid[$key]."'");
// Delete member...
$DB->query("DELETE from ibf_members WHERE id='".$memid[$key]."'");
$DB->query("DELETE from ibf_pfields_content WHERE member_id='".$memid[$key]."'");
$DB->query("DELETE from ibf_member_extra WHERE id='".$memid[$key]."'");
// Delete member messages...
$DB->query("DELETE from ibf_messages WHERE member_id='".$memid[$key]."'");
$DB->query("DELETE from ibf_contacts WHERE member_id='".$memid[$key]."' or contact_id='".$memid[$key]."'");
// Delete member subscriptions.
$DB->query("DELETE from ibf_tracker WHERE member_id='".$memid[$key]."'");
$DB->query("DELETE from ibf_forum_tracker WHERE member_id='".$memid[$key]."'");
$DB->query("DELETE from ibf_warn_logs WHERE wlog_mid='".$memid[$key]."'");
// Delete from validating..
$DB->query("DELETE FROM ibf_validating WHERE member_id='".$memid[$key]."'");
// Delete and Update from reputation
$DB->query("UPDATE ibf_reputation SET from_id='0' WHERE from_id='".$memid[$key]."'");
$DB->query("DELETE FROM ibf_reputation WHERE member_id='".$memid[$key]."'");
// Delete various
$DB->query("DELETE FROM ibf_log_forums WHERE mid='".$memid[$key]."'");
$DB->query("DELETE FROM ibf_log_topics WHERE mid='".$memid[$key]."'");
$DB->query("DELETE FROM ibf_voters WHERE member_id='".$memid[$key]."'");
$DB->query("DELETE FROM ibf_pfields_content WHERE member_id='".$memid[$key]."'");
$DB->query("DELETE FROM ibf_admin_logs WHERE member_id='".$memid[$key]."'");
$DB->query("DELETE FROM ibf_moderator_logs WHERE member_id='".$memid[$key]."'");
$DB->query("DELETE FROM ibf_moderators WHERE member_id='".$memid[$key]."'");

И соответственно аналогичный вопрос по склейке пользователей.

$DB->query("UPDATE ibf_posts SET author_name='".$newmemname."', author_id=$newmemid WHERE author_id='".$memid[$key]."'");
$DB->query("UPDATE ibf_topics SET starter_name='".$newmemname."', starter_id=$newmemid WHERE starter_id='".$memname[$key]."'");
$DB->query("UPDATE ibf_topics SET last_poster_name='".$newmemname."', last_poster_id=$newmemid WHERE last_poster_id='".$memid[$key]."'");
$DB->query("UPDATE ibf_forums SET last_poster_name='".$newmemname."', last_poster_id=$newmemid WHERE last_poster_id='".$memid[$key]."'");
$DB->query("UPDATE ibf_messages SET from_id=$newmemid WHERE from_id='".$memid[$key]."'");
$DB->query("UPDATE ibf_messages SET member_id=$newmemid WHERE member_id='".$memid[$key]."'");
$DB->query("UPDATE ibf_messages SET recipient_id=$newmemid WHERE recipient_id='".$memid[$key]."'");
$DB->query("UPDATE ibf_reputation SET from_id=$newmemid WHERE from_id='".$memid[$key]."'");
$DB->query("UPDATE ibf_reputation SET member_id=$newmemid WHERE member_id='".$memid[$key]."'");
$DB->query("UPDATE ibf_tracker SET member_id=$newmemid WHERE member_id='".$memid[$key]."'");
$DB->query("DELETE FROM ibf_log_forums WHERE mid='".$memid[$key]."'");
$DB->query("DELETE FROM ibf_log_topics WHERE mid='".$memid[$key]."'");
$DB->query("DELETE FROM ibf_member_extra WHERE id='".$memid[$key]."'");
$DB->query("DELETE FROM ibf_voters WHERE member_id='".$memid[$key]."'");
$DB->query("DELETE FROM ibf_pfields_content WHERE member_id='".$memid[$key]."'");
$DB->query("DELETE FROM ibf_members WHERE id='".$memid[$key]."'");
$DB->query("DELETE FROM ibf_admin_logs WHERE member_id='".$memid[$key]."'");
$DB->query("DELETE FROM ibf_moderator_logs WHERE member_id='".$memid[$key]."'");
$DB->query("DELETE FROM ibf_moderators WHERE member_id='".$memid[$key]."'");
$DB->query("DELETE from ibf_warn_logs WHERE wlog_mid='".$memid[$key]."'");

Доправляю тут мод под эти дела, неохота мусор оставлять.

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

Это зависит от поставленных модов.

Может у тебя есть моды, которые создали свои новые таблицы, в которых используются идентификаторы юзеров.

Ну например reputation mod...

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

Ну это понятно. Мод репутации там в общем-то включен, речь именно про базовые таблицы, которые не добавляются модами различными, появляются изначально (ну плюс мож репутации).

Я так понимаю все ок? =)

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

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

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

Гость
Ответить в этой теме...

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

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

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

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

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

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

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

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