I made patch for delete emtpy users.
Users with now votes and stories (links).
Open admin->manage->users. here you can sea:
Count empty users All users: 1478
click to
`Count empty users` and you can sea
Delete N empty users, click it and all spammers will be die!
Here is my patch:
Code:
Index: admin/admin_users.php
===================================================================
--- admin/admin_users.php (revision 685)
+++ admin/admin_users.php (working copy)
@@ -702,7 +702,46 @@
}
$main_smarty->assign('userlist', $userlist);
+
+ if (sanitize($_GET["countEmptyUsers"], 3) == "count"){ //count Empty Users
+
+ $emptyUsers = mysql_query("SELECT count(distinct u.user_id) ".
+ "FROM " . table_users . " u ".
+ "LEFT JOIN " . table_links . " l ON u.user_id = l.link_author ".
+ "LEFT JOIN " . table_votes . " v ON u.user_id = v.vote_user_id ".
+ "WHERE l.link_id IS NULL ".
+ "AND v.vote_user_id IS NULL");
+
+ $arr = mysql_fetch_array( $emptyUsers);
+
+
+ $main_smarty->assign('countEmptyUsers', $arr[0] );
+ }
+
+ if (sanitize($_GET["countEmptyUsers"], 3) == "delete"){ //delete Empty Users
+
+ $emptyUsers = mysql_query("SELECT distinct u.user_id ".
+ "FROM " . table_users . " u ".
+ "LEFT JOIN " . table_links . " l ON u.user_id = l.link_author ".
+ "LEFT JOIN " . table_votes . " v ON u.user_id = v.vote_user_id ".
+ "WHERE l.link_id IS NULL ".
+ "AND v.vote_user_id IS NULL");
+ while ($arr = mysql_fetch_array( $emptyUsers)) {
+ $db->query('DELETE FROM `' . table_comments . '` WHERE `comment_user_id` = "'. $arr[0] . '"');
+ $db->query('DELETE FROM `' . table_votes . '` WHERE `vote_user_id` = "'.$arr[0].'"');
+ $db->query('DELETE FROM `' . table_saved_links . '` WHERE `saved_user_id` = "'.$arr[0].'"');
+ $db->query('DELETE FROM `' . table_trackbacks . '` WHERE `trackback_user_id` = "'.$arr[0].'"');
+ $db->query('DELETE FROM `' . table_friends . '` WHERE `friend_id` = "'.$arr[0].'"');
+ $db->query('DELETE FROM `' . table_messages . '` WHERE `sender` = "'.$arr[0].'"');
+ $db->query('DELETE FROM `' . table_messages . '` WHERE `receiver` = "'.$arr[0].'"');
+ $db->query('DELETE FROM `' . table_users . '` WHERE `user_id` = "'. $arr[0] . '"');
+ }
+ }
+
+ $main_smarty->assign('countUsers', $rows );
+
+
// breadcrumbs anf page title
$navwhere['text1'] = $main_smarty->get_config_vars('PLIGG_Visual_Header_AdminPanel');
$navwhere['link1'] = getmyurl('admin', '');
Index: templates/admin/user_listall_center.tpl
===================================================================
--- templates/admin/user_listall_center.tpl (revision 685)
+++ templates/admin/user_listall_center.tpl (working copy)
@@ -14,7 +14,17 @@
<a href="{$my_pligg_base}/admin/admin_users.php?mode=create" title="Create User" id="create">{#PLIGG_Visual_AdminPanel_New_User#}</a>
<div class="multiBoxDesc create">{#PLIGG_Visual_AdminPanel_New_User_Desc#}</div>
-
+
+
+ {if !isset($countEmptyUsers)}
+ <a href='{$my_pligg_base}/admin/admin_users.php?countEmptyUsers=count'>Count empty users</a>
+ {else}
+ <a href='{$my_pligg_base}/admin/admin_users.php?countEmptyUsers=delete'>Delete {$countEmptyUsers} empty users</a>
+ {/if}
+
+
+ All users: {$countUsers}
+
</form>
<form action="{$my_pligg_base}/admin/admin_users.php" method="get">
{#PLIGG_Visual_AdminPanel_Pagination_Items#}