From c506453b8518a9bd7622756f24e24323ad97e375 Mon Sep 17 00:00:00 2001 From: Gluzskiy Alexandr Date: Tue, 23 Jun 2009 05:54:45 +0300 Subject: added main menu entry for delete all temporary contacts. --- stopspam_mod/trunk/utilities.cpp | 34 ++++++++++++++++++++++++++++++++-- 1 file changed, 32 insertions(+), 2 deletions(-) (limited to 'stopspam_mod/trunk/utilities.cpp') diff --git a/stopspam_mod/trunk/utilities.cpp b/stopspam_mod/trunk/utilities.cpp index f2b35b3..655ba24 100644 --- a/stopspam_mod/trunk/utilities.cpp +++ b/stopspam_mod/trunk/utilities.cpp @@ -70,8 +70,7 @@ void RemoveExcludedUsers() { HANDLE hContact; HANDLE ToRemove[4096]; - int i = 0; - int a = 0; + int i = 0,a = 0; hContact = (HANDLE)CallService(MS_DB_CONTACT_FINDFIRST, 0, 0); if(hContact) { @@ -92,3 +91,34 @@ void RemoveExcludedUsers() } } } + +void RemoveTemporaryUsers() +{ + HANDLE hContact; + HANDLE ToRemove[4096]; + int i = 0, a= 0; + hContact = (HANDLE)CallService(MS_DB_CONTACT_FINDFIRST, 0, 0); + if(hContact) + { + do + { + if(DBGetContactSettingByte(hContact, "CList", "NotOnList", 0)) + { + ToRemove[i] = hContact; + i++; + } + } + while(hContact = (HANDLE)CallService(MS_DB_CONTACT_FINDNEXT,(WPARAM)hContact, 0)); + ToRemove[i] = INVALID_HANDLE_VALUE; + while(ToRemove[a] != INVALID_HANDLE_VALUE) + { + CallService(MS_DB_CONTACT_DELETE, (WPARAM)ToRemove[a], 0); + a++; + } + } +} +int RemoveTmp(WPARAM,LPARAM) +{ + RemoveTemporaryUsers(); + return 0; +} -- cgit v1.2.3