summaryrefslogtreecommitdiff
path: root/stopspam.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'stopspam.cpp')
-rw-r--r--stopspam.cpp25
1 files changed, 11 insertions, 14 deletions
diff --git a/stopspam.cpp b/stopspam.cpp
index 7d3f5d0..07aee1e 100644
--- a/stopspam.cpp
+++ b/stopspam.cpp
@@ -1,4 +1,5 @@
#include "headers.h"
+#include <fstream>
MIRANDA_HOOK_EVENT(ME_DB_CONTACT_ADDED, w, l)
{
@@ -32,16 +33,9 @@ MIRANDA_HOOK_EVENT(ME_DB_EVENT_ADDED, wParam, lParam)
if(!(dbei.flags & DBEF_SENT) && !(dbei.flags & DBEF_READ) && dbei.eventType == EVENTTYPE_AUTHREQUEST)
{
HANDLE hcntct;
- hcntct=*((PHANDLE)(dbei.pBlob+sizeof(DWORD)));
- DBEVENTGETTEXT egt = {0};
- egt.datatype = DBVT_TCHAR;
- egt.dbei = &dbei;
- TCHAR *EventText = (TCHAR*)CallService(MS_DB_EVENT_GETTEXT, 0, (LPARAM)&egt);
-
-
+ hcntct=*((PHANDLE)(dbei.pBlob+sizeof(DWORD)));
// if request is from unknown or not marked Answered contact
-
int a = DBGetContactSettingByte(hcntct, "CList", "NotOnList", 0);
int b = !DBGetContactSettingByte(hcntct, pluginName, "Answered", 0);
@@ -53,14 +47,17 @@ MIRANDA_HOOK_EVENT(ME_DB_EVENT_ADDED, wParam, lParam)
DBWriteContactSettingByte(hcntct, "CList", "Hidden", 1);
if(gbSpecialGroup)
DBWriteContactSettingTString(hcntct, "CList", "Group", gbSpammersGroup.c_str());
- if(gbIgnoreURL)
- if(_tcslen(EventText) > 0)
+ BYTE msg = 1;
+ if(gbIgnoreURL){
+ TCHAR* EventText = ReqGetText(&dbei); //work only UTF, else return NULL
+ if(EventText&&_tcslen(EventText) > 0)
if(Stristr(EventText, _T("http")) || Stristr(EventText, _T("www")) || Stristr(EventText, _T(".ru")) || Stristr(EventText, _T(".com")) || Stristr(EventText, _T(".de")) || Stristr(EventText, _T(".cz")) || Stristr(EventText, _T(".org")) || Stristr(EventText, _T(".net")) || Stristr(EventText, _T(".su")))
- {
+ {
mir_free(EventText);
- return 1;
- }
- BYTE msg = 1;
+ msg=0;
+ };
+ mir_free(EventText);
+ };
if(gbInvisDisable)
{
if(CallProtoService(dbei.szModule, PS_GETSTATUS, 0, 0) == ID_STATUS_INVISIBLE)