diff --git a/upload/source/admincp/admincp_members.php b/upload/source/admincp/admincp_members.php
index 53ac5cad3e69253d6ac2b2e980ea71906ac70324..35d7dbc30bbd5381408eb94012b595d20d790b23 100644
--- a/upload/source/admincp/admincp_members.php
+++ b/upload/source/admincp/admincp_members.php
@@ -1457,7 +1457,7 @@ EOT;
$lang[members_ban_delshare]
$lang[members_ban_delavatar]
$lang[members_ban_delcomment]
- $lang[members_ban_delfollower]
+ $lang[members_ban_delothers]
$lang[members_ban_delprofile]
@@ -1751,9 +1751,25 @@ EOF;
C::t('common_member_field_home'.$tableext)->update($member['uid'], array('spacename' => '', 'spacedescription' => ''));
}
- if(in_array('follower', $_GET['clear'])) {
+ if(in_array('others', $_GET['clear'])) {
+ // 家园访客记录清理
+ C::t('home_clickuser')->delete_by_uid($member['uid']);
+ C::t('home_visitor')->delete_by_uid_or_vuid($member['uid']);
+ // 家园关注关系清理
C::t('home_follow')->delete_by_uid($member['uid']);
C::t('home_follow')->delete_by_followuid($member['uid']);
+ // 好友关系以及好友请求清理
+ C::t('home_friend')->delete_by_uid_fuid($member['uid']);
+ C::t('home_friend_request')->delete_by_uid_or_fuid($member['uid']);
+ // 动态清理
+ C::t('home_feed')->delete_by_uid($member['uid']);
+ // 通知清理
+ C::t('home_notification')->delete_by_uid($member['uid']);
+ // 打招呼清理
+ C::t('home_poke')->delete_by_uid_or_fromuid($member['uid']);
+ C::t('home_pokearchive')->delete_by_uid_or_fromuid($member['uid']);
+ // 论坛推广清理
+ C::t('forum_promotion')->delete_by_uid($member['uid']);
}
if($membercount) {
diff --git a/upload/source/class/table/table_forum_promotion.php b/upload/source/class/table/table_forum_promotion.php
index e47fc0b989a8e9f01f4585b07a209966b9619c19..b2f280d3e087990f93925afc999f1814a0dcecdf 100644
--- a/upload/source/class/table/table_forum_promotion.php
+++ b/upload/source/class/table/table_forum_promotion.php
@@ -30,6 +30,9 @@ class table_forum_promotion extends discuz_table
}
return 0;
}
+ public function delete_by_uid($uid) {
+ return $uid ? DB::delete($this->_table, DB::field('uid', $uid)) : false;
+ }
public function delete_all() {
return DB::query("DELETE FROM %t", array($this->_table));
}
diff --git a/upload/source/class/table/table_home_pokearchive.php b/upload/source/class/table/table_home_pokearchive.php
index 5dea9071f5363a1685399c3e78080caae41a1461..3b25868595da5a36dde89659d05fd9cb7367bef1 100644
--- a/upload/source/class/table/table_home_pokearchive.php
+++ b/upload/source/class/table/table_home_pokearchive.php
@@ -21,6 +21,13 @@ class table_home_pokearchive extends discuz_table
parent::__construct();
}
+ public function delete_by_uid_or_fromuid($uids) {
+ $uids = dintval($uids, is_array($uids) ? true : false);
+ if($uids) {
+ return DB::delete($this->_table, DB::field('uid', $uids).' OR '.DB::field('fromuid', $uids));
+ }
+ return 0;
+ }
public function fetch_all_by_pokeuid($pokeuid) {
return DB::fetch_all('SELECT * FROM %t WHERE pokeuid=%d ORDER BY dateline', array($this->_table, $pokeuid));
}
diff --git a/upload/source/language/lang_admincp.php b/upload/source/language/lang_admincp.php
index c70493c4c36896b522ed1cbf0ae392a2128c8a15..97aa88805e577feaaf728a4156ca32db7bb74350 100644
--- a/upload/source/language/lang_admincp.php
+++ b/upload/source/language/lang_admincp.php
@@ -3580,7 +3580,7 @@ $lang = array
'members_ban_validity_comment' => '在有效期过后该用户可以自动解除限制,成为普通用户',
'members_ban_delpost' => '帖子',
'members_ban_delfollow' => '广播',
- 'members_ban_delfollower' => '广播收听关系',
+ 'members_ban_delothers' => '杂项',
'members_ban_delblog' => '日志',
'members_ban_delalbum' => '相册',
'members_ban_deldoing' => '记录',