diff options
author | Gluzskiy Alexandr <sss123next@list.ru> | 2009-06-23 05:54:45 +0300 |
---|---|---|
committer | Gluzskiy Alexandr <sss123next@list.ru> | 2009-06-23 05:54:45 +0300 |
commit | c506453b8518a9bd7622756f24e24323ad97e375 (patch) | |
tree | 6cac9b33bac4a5dfae263e91f77aaf32e699a31c /stopspam_mod/trunk/utilities.cpp | |
parent | b06a183ded8a1dbd07de2f706290da55d22c128a (diff) |
added main menu entry for delete all temporary contacts.
Diffstat (limited to 'stopspam_mod/trunk/utilities.cpp')
-rw-r--r-- | stopspam_mod/trunk/utilities.cpp | 34 |
1 files changed, 32 insertions, 2 deletions
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;
+}
|