summaryrefslogtreecommitdiff
path: root/stopspam_mod/trunk/utilities.cpp
diff options
context:
space:
mode:
authorGluzskiy Alexandr <sss123next@list.ru>2009-06-23 05:54:45 +0300
committerGluzskiy Alexandr <sss123next@list.ru>2009-06-23 05:54:45 +0300
commitc506453b8518a9bd7622756f24e24323ad97e375 (patch)
tree6cac9b33bac4a5dfae263e91f77aaf32e699a31c /stopspam_mod/trunk/utilities.cpp
parentb06a183ded8a1dbd07de2f706290da55d22c128a (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.cpp34
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;
+}