<% Option Explicit %> <% '**************************************************************************************** '** Copyright Notice '** '** Web Wiz Guide - Web Wiz Forums '** '** Copyright 2001-2003 Bruce Corkhill All Rights Reserved. '** '** This program is free software; you can modify (at your own risk) any part of it '** under the terms of the License that accompanies this software and use it both '** privately and commercially. '** '** All copyright notices must remain in tacked in the scripts and the '** outputted HTML. '** '** You may use parts of this program in your own private work, but you may NOT '** redistribute, repackage, or sell the whole or any part of this program even '** if it is modified or reverse engineered in whole or in part without express '** permission from the author. '** '** You may not pass the whole or any part of this application off as your own work. '** '** All links to Web Wiz Guide and powered by logo's must remain unchanged and in place '** and must remain visible when the pages are viewed unless permission is first granted '** by the copyright holder. '** '** This program is distributed in the hope that it will be useful, '** but WITHOUT ANY WARRANTY; without even the implied warranty of '** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR ANY OTHER '** WARRANTIES WHETHER EXPRESSED OR IMPLIED. '** '** You should have received a copy of the License along with this program; '** if not, write to:- Web Wiz Guide, PO Box 4982, Bournemouth, BH8 8XP, United Kingdom. '** '** '** No official support is available for this program but you may post support questions at: - '** http://www.webwizguide.info/forum '** '** Support questions are NOT answered by e-mail ever! '** '** For correspondence or non support questions contact: - '** info@webwizguide.info '** '** or at: - '** '** Web Wiz Guide, PO Box 4982, Bournemouth, BH8 8XP, United Kingdom '** '**************************************************************************************** 'Set the timeout higher so that it doesn't timeout half way through Session.Timeout = 1000 'Set the response buffer to true as we maybe redirecting Response.Buffer = True 'Dimension variables Dim lngDelAuthorID 'Holds the authors ID to be deleted Dim intNoOfDays 'Holds the number of days to delete posts from Dim lngNumberOfMembers 'Holds the number of members that are deleted Dim rsThread 'Holds the threads recordset Dim blnUnActive 'Set to true if deleting non active accounts only 'Initilise variables lngNumberOfMembers = 0 'get teh number of days to delte from intNoOfDays = CInt(Request.Form("days")) blnUnActive = CBool(Request.Form("unactive")) 'Get all the Topics from the database to be deleted 'Initalise the strSQL variable with an SQL statement to get the topic from the database strSQL = "SELECT " & strDbTable & "Author.Author_ID FROM " & strDbTable & "Author " strSQL = strSQL & "WHERE (" & strDbTable & "Author.Join_date < " & strDatabaseDateFunction & " - " & intNoOfDays & " AND " & strDbTable & "Author.No_of_posts=0) AND " & strDbTable & "Author.Author_ID > 2" If blnUnActive = True Then If strDatabaseType = "SQLServer" Then strSQL = strSQL & " AND " & strDbTable & "Author.Active = 0" Else strSQL = strSQL & " AND " & strDbTable & "Author.Active = False" End If End If strSQL = strSQL & ";" 'Set the cursor type property of the record set to Dynamic so we can navigate through the record set rsCommon.CursorType = 2 'Set set the lock type of the recordset to optomistic while the record is deleted rsCommon.LockType = 3 'Query the database rsCommon.Open strSQL, adoCon 'Create a record set object to the Threads held in the database Set rsThread = Server.CreateObject("ADODB.Recordset") 'Loop through all all the members to delete Do While NOT rsCommon.EOF 'Get the author ID lngDelAuthorID = CLng(rsCommon("Author_ID")) 'Check to make sure that there isn't any posts by the member strSQL = "SELECT TOP 1 " & strDbTable & "Thread.Thread_ID FROM " & strDbTable & "Thread WHERE " & strDbTable & "Thread.Author_ID=" & lngDelAuthorID & ";" 'Query the database rsThread.Open strSQL, adoCon 'If there are no posts start deleting If rsThread.EOF Then 'Delete the members buddy list 'Initalise the strSQL variable with an SQL statement strSQL = "DELETE FROM " & strDbTable & "BuddyList WHERE (Author_ID =" & lngDelAuthorID & ") OR (Buddy_ID =" & lngDelAuthorID & ")" 'Write to database adoCon.Execute(strSQL) 'Delete the members private msg's strSQL = "DELETE FROM " & strDbTable & "PMMessage WHERE (Author_ID =" & lngDelAuthorID & ")" 'Write to database adoCon.Execute(strSQL) 'Delete the members private msg's strSQL = "DELETE FROM " & strDbTable & "PMMessage WHERE (From_ID =" & lngDelAuthorID & ")" 'Write to database adoCon.Execute(strSQL) 'Set all the users private messages to Guest account strSQL = "UPDATE " & strDbTable & "PMMessage SET From_ID=2 WHERE (From_ID =" & lngDelAuthorID & ")" 'Write to database adoCon.Execute(strSQL) 'Set all the users posts to the Guest account strSQL = "UPDATE " & strDbTable & "Thread SET Author_ID=2 WHERE (Author_ID =" & lngDelAuthorID & ")" 'Write to database adoCon.Execute(strSQL) 'Delete the user from the email notify table strSQL = "DELETE FROM " & strDbTable & "EmailNotify WHERE (Author_ID =" & lngDelAuthorID & ")" 'Write to database adoCon.Execute(strSQL) 'Delete the user from forum permissions table strSQL = "DELETE FROM " & strDbTable & "Permissions WHERE (Author_ID =" & lngDelAuthorID & ")" 'Write to database adoCon.Execute(strSQL) 'Delete the record set rsCommon.Delete 'Total up the number of members deleted lngNumberOfMembers = lngNumberOfMembers + 1 End If 'Close the recordset rsThread.Close 'Move to the next record rsCommon.MoveNext Loop 'Reset Server Objects Set rsThread = Nothing rsCommon.Close Set rsCommon = Nothing adoCon.Close Set adoCon = Nothing %> מחיקת משתמשים לא פעילים

מחיקת משתמשים לא פעילים
חזרה לתפריט הניהול





<% = lngNumberOfMembers %> משתמשים נמחקו.