diff options
Diffstat (limited to 'stopspam.cpp')
-rw-r--r-- | stopspam.cpp | 25 |
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) |