summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--MySpace/options.cpp15
-rw-r--r--MySpace/proto.cpp12
-rw-r--r--MySpace/server_con.cpp29
-rw-r--r--MySpace/version.h2
4 files changed, 42 insertions, 16 deletions
diff --git a/MySpace/options.cpp b/MySpace/options.cpp
index 88c49a3..4192039 100644
--- a/MySpace/options.cpp
+++ b/MySpace/options.cpp
@@ -112,23 +112,16 @@ BOOL CALLBACK DlgProcOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam)
int OptInit(WPARAM wParam, LPARAM lParam) {
OPTIONSDIALOGPAGE odp = { 0 };
+
odp.cbSize = sizeof(odp);
odp.flags = ODPF_BOLDGROUPS;
- odp.flags |= ODPF_TCHAR;
odp.position = -790000000;
odp.hInstance = hInst;
+ odp.pszTitle = Translate(MODULE);
+ odp.pszGroup = Translate("Network");
+ odp.pszTab = Translate("Account");
odp.pszTemplate = MAKEINTRESOURCEA(IDD_OPT1);
- TCHAR buff[256];
-#ifdef _UNICODE
- MultiByteToWideChar(code_page, 0, MODULE, -1, buff, 256);
-#else
- strncpy(buff, MODULE, 256);
-#endif
- odp.ptszTitle = TranslateTS(buff);
- odp.ptszGroup = TranslateT("Network");
- odp.ptszTab = TranslateT("Account");
- odp.nIDBottomSimpleControl = 0;
odp.pfnDlgProc = DlgProcOpts;
CallService( MS_OPT_ADDPAGE, wParam,( LPARAM )&odp );
diff --git a/MySpace/proto.cpp b/MySpace/proto.cpp
index 80b6ea0..c7133a3 100644
--- a/MySpace/proto.cpp
+++ b/MySpace/proto.cpp
@@ -301,7 +301,17 @@ int AddToList(WPARAM wParam, LPARAM lParam) {
HANDLE hContact = FindContact(mpsr->uid);
if(!hContact) {
- hContact = CreateContact(mpsr->uid, mpsr->psr.nick, mpsr->psr.email, true);
+ hContact = CreateContact(mpsr->uid, mpsr->psr.nick, mpsr->psr.email, temp ? false : true);
+ } else {
+ if(!temp) {
+ ClientNetMessage msg_add;
+ msg_add.add_string("addbuddy", "");
+ msg_add.add_int("sesskey", sesskey);
+ msg_add.add_int("newprofileid", DBGetContactSettingDword(hContact, MODULE, "UID", 0));
+ msg_add.add_string("reason", "");
+
+ SendMessage(msg_add);
+ }
}
if(temp) {
diff --git a/MySpace/server_con.cpp b/MySpace/server_con.cpp
index 53429bd..94c0cc5 100644
--- a/MySpace/server_con.cpp
+++ b/MySpace/server_con.cpp
@@ -397,7 +397,7 @@ void __cdecl ServerThreadFunc(void*) {
if(uid) {
HANDLE hContact = FindContact(uid);
if(!hContact) {
- hContact = CreateContact(uid, 0, 0, false);
+ hContact = CreateContact(uid, 0, 0, true);
LookupUID(uid);
}
char smsg[1024];
@@ -411,6 +411,8 @@ void __cdecl ServerThreadFunc(void*) {
HANDLE hContact = FindContact(uid);
if(!hContact) {
hContact = CreateContact(uid, 0, 0, false);
+ DBWriteContactSettingByte(hContact, "CList", "NotOnList", 1);
+ DBWriteContactSettingByte(hContact, "CList", "Hidden", 1);
LookupUID(uid);
}
char smsg[1024];
@@ -427,7 +429,9 @@ void __cdecl ServerThreadFunc(void*) {
if(uid) {
HANDLE hContact = FindContact(uid);
if(!hContact) {
- hContact = CreateContact(uid, 0, 0, true);
+ hContact = CreateContact(uid, 0, 0, false);
+ DBWriteContactSettingByte(hContact, "CList", "NotOnList", 1);
+ DBWriteContactSettingByte(hContact, "CList", "Hidden", 1);
LookupUID(uid);
}
char text[MAX_MESSAGE_SIZE];
@@ -511,7 +515,26 @@ void __cdecl ServerThreadFunc(void*) {
HANDLE hContact = FindContact(uid);
if(hContact) {
if(mpsr.psr.nick) DBWriteContactSettingStringUtf(hContact, MODULE, "Nick", mpsr.psr.nick);
- if(mpsr.psr.email) DBWriteContactSettingStringUtf(hContact, MODULE, "email", mpsr.psr.nick);
+ if(mpsr.psr.email) DBWriteContactSettingStringUtf(hContact, MODULE, "email", mpsr.psr.email);
+
+ char band[256], song[256];
+ band[0] = song[0] = 0;
+ for(LinkedList<KeyValue>::Iterator i = body.start(); i.has_val(); i.next()) {
+ KeyValue &kv = i.val();
+ if(strcmp(kv.first.text, "Gender") == 0) {
+ DBWriteContactSettingByte(hContact, MODULE, "Gender", kv.second.text[0]);
+ } else {
+ DBWriteContactSettingStringUtf(hContact, MODULE, kv.first.text, kv.second.text);
+ if(strcmp(kv.first.text, "BandName") == 0) strncpy(band, kv.second.text, 256);
+ if(strcmp(kv.first.text, "SongName") == 0) strncpy(song, kv.second.text, 256);
+ }
+ }
+ if(band[0] && song[0]) {
+ char listenTo[512];
+ mir_snprintf(listenTo, 512, "%s/%s", band, song);
+ DBWriteContactSettingStringUtf(hContact, MODULE, "ListeningTo", listenTo);
+ }
+
ProtoBroadcastAck(MODULE, hContact, ACKTYPE_GETINFO, ACKRESULT_SUCCESS, (HANDLE)1, 0);
}
diff --git a/MySpace/version.h b/MySpace/version.h
index 93c5029..59e6710 100644
--- a/MySpace/version.h
+++ b/MySpace/version.h
@@ -5,7 +5,7 @@
#define __MAJOR_VERSION 0
#define __MINOR_VERSION 0
#define __RELEASE_NUM 1
-#define __BUILD_NUM 14
+#define __BUILD_NUM 15
#define __FILEVERSION_STRING __MAJOR_VERSION,__MINOR_VERSION,__RELEASE_NUM,__BUILD_NUM
#define __FILEVERSION_STRING_DOTS __MAJOR_VERSION.__MINOR_VERSION.__RELEASE_NUM.__BUILD_NUM