libpurple/protocols/msn/msn.c

Mon, 31 Mar 2008 21:04:51 +0000

author
Sadrul Habib Chowdhury <sadrul@pidgin.im>
date
Mon, 31 Mar 2008 21:04:51 +0000
branch
custom_smiley
changeset 22737
3535c4e90c39
parent 22670
2ad82dd45c56
parent 22656
c4c7c4852390
child 23008
49781f4819df
permissions
-rw-r--r--

propagate from branch 'im.pidgin.pidgin' (head c9010aca2b114f4e5a792ff8d76f969dd1b3c7e7)
to branch 'im.pidgin.pidgin.custom_smiley' (head c4c7c485239031d2fa0421d68c0a1c4979f629e4)

4542
05a476dec582 [gaim-migrate @ 4821]
Christian Hammond <chipx86@chipx86.com>
parents: 4508
diff changeset
1 /**
05a476dec582 [gaim-migrate @ 4821]
Christian Hammond <chipx86@chipx86.com>
parents: 4508
diff changeset
2 * @file msn.c The MSN protocol plugin
05a476dec582 [gaim-migrate @ 4821]
Christian Hammond <chipx86@chipx86.com>
parents: 4508
diff changeset
3 *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
4 * purple
4542
05a476dec582 [gaim-migrate @ 4821]
Christian Hammond <chipx86@chipx86.com>
parents: 4508
diff changeset
5 *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
6 * Purple is the legal property of its developers, whose names are too numerous
9198
e8eb6d5eb9eb [gaim-migrate @ 9993]
Christian Hammond <chipx86@chipx86.com>
parents: 9193
diff changeset
7 * to list here. Please refer to the COPYRIGHT file distributed with this
e8eb6d5eb9eb [gaim-migrate @ 9993]
Christian Hammond <chipx86@chipx86.com>
parents: 9193
diff changeset
8 * source distribution.
6701
7e2db9273748 [gaim-migrate @ 7227]
Christian Hammond <chipx86@chipx86.com>
parents: 6695
diff changeset
9 *
4542
05a476dec582 [gaim-migrate @ 4821]
Christian Hammond <chipx86@chipx86.com>
parents: 4508
diff changeset
10 * This program is free software; you can redistribute it and/or modify
05a476dec582 [gaim-migrate @ 4821]
Christian Hammond <chipx86@chipx86.com>
parents: 4508
diff changeset
11 * it under the terms of the GNU General Public License as published by
05a476dec582 [gaim-migrate @ 4821]
Christian Hammond <chipx86@chipx86.com>
parents: 4508
diff changeset
12 * the Free Software Foundation; either version 2 of the License, or
05a476dec582 [gaim-migrate @ 4821]
Christian Hammond <chipx86@chipx86.com>
parents: 4508
diff changeset
13 * (at your option) any later version.
05a476dec582 [gaim-migrate @ 4821]
Christian Hammond <chipx86@chipx86.com>
parents: 4508
diff changeset
14 *
05a476dec582 [gaim-migrate @ 4821]
Christian Hammond <chipx86@chipx86.com>
parents: 4508
diff changeset
15 * This program is distributed in the hope that it will be useful,
05a476dec582 [gaim-migrate @ 4821]
Christian Hammond <chipx86@chipx86.com>
parents: 4508
diff changeset
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
05a476dec582 [gaim-migrate @ 4821]
Christian Hammond <chipx86@chipx86.com>
parents: 4508
diff changeset
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
05a476dec582 [gaim-migrate @ 4821]
Christian Hammond <chipx86@chipx86.com>
parents: 4508
diff changeset
18 * GNU General Public License for more details.
05a476dec582 [gaim-migrate @ 4821]
Christian Hammond <chipx86@chipx86.com>
parents: 4508
diff changeset
19 *
05a476dec582 [gaim-migrate @ 4821]
Christian Hammond <chipx86@chipx86.com>
parents: 4508
diff changeset
20 * You should have received a copy of the GNU General Public License
05a476dec582 [gaim-migrate @ 4821]
Christian Hammond <chipx86@chipx86.com>
parents: 4508
diff changeset
21 * along with this program; if not, write to the Free Software
19859
71d37b57eff2 The FSF changed its address a while ago; our files were out of date.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 19643
diff changeset
22 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
4542
05a476dec582 [gaim-migrate @ 4821]
Christian Hammond <chipx86@chipx86.com>
parents: 4508
diff changeset
23 */
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
24 #define PHOTO_SUPPORT 1
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
25
6827
df4411142ece [gaim-migrate @ 7372]
Christian Hammond <chipx86@chipx86.com>
parents: 6801
diff changeset
26 #include <glib.h>
df4411142ece [gaim-migrate @ 7372]
Christian Hammond <chipx86@chipx86.com>
parents: 6801
diff changeset
27
4542
05a476dec582 [gaim-migrate @ 4821]
Christian Hammond <chipx86@chipx86.com>
parents: 4508
diff changeset
28 #include "msn.h"
5638
53e752c88ea1 [gaim-migrate @ 6047]
Christian Hammond <chipx86@chipx86.com>
parents: 5626
diff changeset
29 #include "accountopt.h"
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
30 #include "msg.h"
5369
12dc1957e1b2 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
31 #include "page.h"
8713
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents: 8697
diff changeset
32 #include "pluginpref.h"
5626
6e6fc61ea2db [gaim-migrate @ 6033]
Christian Hammond <chipx86@chipx86.com>
parents: 5567
diff changeset
33 #include "prefs.h"
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
34 #include "session.h"
22653
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
35 #include "smiley.h"
5361
a964b856e97f [gaim-migrate @ 5737]
Christian Hammond <chipx86@chipx86.com>
parents: 5351
diff changeset
36 #include "state.h"
13629
36b386194367 [gaim-migrate @ 16015]
Daniel Atallah <datallah@pidgin.im>
parents: 13628
diff changeset
37 #include "util.h"
11321
a93121c0ea16 [gaim-migrate @ 13525]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11257
diff changeset
38 #include "cmds.h"
15685
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
39 #include "core.h"
9713
bb37562302a1 [gaim-migrate @ 10574]
Mark Doliner <markdoliner@pidgin.im>
parents: 9684
diff changeset
40 #include "prpl.h"
20475
0b3826f0e687 The first msn-p13-merge-head.diff.gz from SF Patch #1621854 from Ka-Hing Cheung.
Richard Laager <rlaager@pidgin.im>
parents: 20474
diff changeset
41 #include "msnutils.h"
9943
b54a762f60fa [gaim-migrate @ 10835]
Nathan Walp <nwalp@pidgin.im>
parents: 9917
diff changeset
42 #include "version.h"
4546
d14ad00fe294 [gaim-migrate @ 4825]
Herman Bloggs <herman@bluedigits.com>
parents: 4542
diff changeset
43
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
44 #include "switchboard.h"
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
45 #include "notification.h"
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
46 #include "sync.h"
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
47 #include "slplink.h"
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
48
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
49 #if PHOTO_SUPPORT
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
50 #include "imgstore.h"
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
51 #endif
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
52
5369
12dc1957e1b2 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
53 typedef struct
12dc1957e1b2 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
54 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
55 PurpleConnection *gc;
5369
12dc1957e1b2 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
56 const char *passport;
12dc1957e1b2 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
57
12dc1957e1b2 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
58 } MsnMobileData;
12dc1957e1b2 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
59
7104
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
60 typedef struct
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
61 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
62 PurpleConnection *gc;
7104
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
63 char *name;
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
64
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
65 } MsnGetInfoData;
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
66
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
67 typedef struct
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
68 {
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
69 MsnGetInfoData *info_data;
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
70 char *stripped;
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
71 char *url_buffer;
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
72 PurpleNotifyUserInfo *user_info;
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
73 char *photo_url_text;
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
74
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
75 } MsnGetInfoStepTwoData;
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
76
17103
d7806e6686a7 In MSN we fake sending messages to yourself. This had a small bug in that
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 17089
diff changeset
77 typedef struct
d7806e6686a7 In MSN we fake sending messages to yourself. This had a small bug in that
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 17089
diff changeset
78 {
d7806e6686a7 In MSN we fake sending messages to yourself. This had a small bug in that
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 17089
diff changeset
79 PurpleConnection *gc;
d7806e6686a7 In MSN we fake sending messages to yourself. This had a small bug in that
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 17089
diff changeset
80 const char *who;
d7806e6686a7 In MSN we fake sending messages to yourself. This had a small bug in that
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 17089
diff changeset
81 char *msg;
d7806e6686a7 In MSN we fake sending messages to yourself. This had a small bug in that
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 17089
diff changeset
82 PurpleMessageFlags flags;
d7806e6686a7 In MSN we fake sending messages to yourself. This had a small bug in that
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 17089
diff changeset
83 time_t when;
d7806e6686a7 In MSN we fake sending messages to yourself. This had a small bug in that
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 17089
diff changeset
84 } MsnIMData;
d7806e6686a7 In MSN we fake sending messages to yourself. This had a small bug in that
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 17089
diff changeset
85
22653
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
86 typedef struct
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
87 {
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
88 char *smile;
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
89 MsnObject *obj;
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
90 } MsnEmoticon;
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
91
9158
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
92 static const char *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
93 msn_normalize(const PurpleAccount *account, const char *str)
9158
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
94 {
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
95 static char buf[BUF_LEN];
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
96 char *tmp;
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
97
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
98 g_return_val_if_fail(str != NULL, NULL);
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
99
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
100 g_snprintf(buf, sizeof(buf), "%s%s", str,
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
101 (strchr(str, '@') ? "" : "@hotmail.com"));
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
102
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
103 tmp = g_utf8_strdown(buf, -1);
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
104 strncpy(buf, tmp, sizeof(buf));
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
105 g_free(tmp);
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
106
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
107 return buf;
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
108 }
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
109
19643
1794c23309d3 In MSN prpl, use attention API. Can be disabled by undefining
Jeff Connelly <jeff2@soc.pidgin.im>
parents: 18122
diff changeset
110 static gboolean
1794c23309d3 In MSN prpl, use attention API. Can be disabled by undefining
Jeff Connelly <jeff2@soc.pidgin.im>
parents: 18122
diff changeset
111 msn_send_attention(PurpleConnection *gc, const char *username, guint type)
11321
a93121c0ea16 [gaim-migrate @ 13525]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11257
diff changeset
112 {
a93121c0ea16 [gaim-migrate @ 13525]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11257
diff changeset
113 MsnMessage *msg;
a93121c0ea16 [gaim-migrate @ 13525]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11257
diff changeset
114 MsnSession *session;
a93121c0ea16 [gaim-migrate @ 13525]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11257
diff changeset
115 MsnSwitchBoard *swboard;
a93121c0ea16 [gaim-migrate @ 13525]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11257
diff changeset
116
a93121c0ea16 [gaim-migrate @ 13525]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11257
diff changeset
117 msg = msn_message_new_nudge();
a93121c0ea16 [gaim-migrate @ 13525]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11257
diff changeset
118 session = gc->proto_data;
19643
1794c23309d3 In MSN prpl, use attention API. Can be disabled by undefining
Jeff Connelly <jeff2@soc.pidgin.im>
parents: 18122
diff changeset
119 swboard = msn_session_get_swboard(session, username, MSN_SB_FLAG_IM);
11321
a93121c0ea16 [gaim-migrate @ 13525]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11257
diff changeset
120
13635
dcbce56b7713 [gaim-migrate @ 16032]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13629
diff changeset
121 if (swboard == NULL)
19643
1794c23309d3 In MSN prpl, use attention API. Can be disabled by undefining
Jeff Connelly <jeff2@soc.pidgin.im>
parents: 18122
diff changeset
122 return FALSE;
11321
a93121c0ea16 [gaim-migrate @ 13525]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11257
diff changeset
123
a93121c0ea16 [gaim-migrate @ 13525]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11257
diff changeset
124 msn_switchboard_send_msg(swboard, msg, TRUE);
22653
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
125 msn_message_destroy(msg);
11321
a93121c0ea16 [gaim-migrate @ 13525]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11257
diff changeset
126
19643
1794c23309d3 In MSN prpl, use attention API. Can be disabled by undefining
Jeff Connelly <jeff2@soc.pidgin.im>
parents: 18122
diff changeset
127 return TRUE;
1794c23309d3 In MSN prpl, use attention API. Can be disabled by undefining
Jeff Connelly <jeff2@soc.pidgin.im>
parents: 18122
diff changeset
128 }
1794c23309d3 In MSN prpl, use attention API. Can be disabled by undefining
Jeff Connelly <jeff2@soc.pidgin.im>
parents: 18122
diff changeset
129
1794c23309d3 In MSN prpl, use attention API. Can be disabled by undefining
Jeff Connelly <jeff2@soc.pidgin.im>
parents: 18122
diff changeset
130 static GList *
1794c23309d3 In MSN prpl, use attention API. Can be disabled by undefining
Jeff Connelly <jeff2@soc.pidgin.im>
parents: 18122
diff changeset
131 msn_attention_types(PurpleAccount *account)
1794c23309d3 In MSN prpl, use attention API. Can be disabled by undefining
Jeff Connelly <jeff2@soc.pidgin.im>
parents: 18122
diff changeset
132 {
1794c23309d3 In MSN prpl, use attention API. Can be disabled by undefining
Jeff Connelly <jeff2@soc.pidgin.im>
parents: 18122
diff changeset
133 static GList *list = NULL;
1794c23309d3 In MSN prpl, use attention API. Can be disabled by undefining
Jeff Connelly <jeff2@soc.pidgin.im>
parents: 18122
diff changeset
134
1794c23309d3 In MSN prpl, use attention API. Can be disabled by undefining
Jeff Connelly <jeff2@soc.pidgin.im>
parents: 18122
diff changeset
135 if (!list) {
22225
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 22164
diff changeset
136 list = g_list_append(list, purple_attention_type_new("Nudge", _("Nudge"),
6cd802a8c5ad This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 22164
diff changeset
137 _("%s has nudged you!"), _("Nudging %s...")));
19643
1794c23309d3 In MSN prpl, use attention API. Can be disabled by undefining
Jeff Connelly <jeff2@soc.pidgin.im>
parents: 18122
diff changeset
138 }
1794c23309d3 In MSN prpl, use attention API. Can be disabled by undefining
Jeff Connelly <jeff2@soc.pidgin.im>
parents: 18122
diff changeset
139
1794c23309d3 In MSN prpl, use attention API. Can be disabled by undefining
Jeff Connelly <jeff2@soc.pidgin.im>
parents: 18122
diff changeset
140 return list;
1794c23309d3 In MSN prpl, use attention API. Can be disabled by undefining
Jeff Connelly <jeff2@soc.pidgin.im>
parents: 18122
diff changeset
141 }
1794c23309d3 In MSN prpl, use attention API. Can be disabled by undefining
Jeff Connelly <jeff2@soc.pidgin.im>
parents: 18122
diff changeset
142
1794c23309d3 In MSN prpl, use attention API. Can be disabled by undefining
Jeff Connelly <jeff2@soc.pidgin.im>
parents: 18122
diff changeset
143
1794c23309d3 In MSN prpl, use attention API. Can be disabled by undefining
Jeff Connelly <jeff2@soc.pidgin.im>
parents: 18122
diff changeset
144 static PurpleCmdRet
1794c23309d3 In MSN prpl, use attention API. Can be disabled by undefining
Jeff Connelly <jeff2@soc.pidgin.im>
parents: 18122
diff changeset
145 msn_cmd_nudge(PurpleConversation *conv, const gchar *cmd, gchar **args, gchar **error, void *data)
1794c23309d3 In MSN prpl, use attention API. Can be disabled by undefining
Jeff Connelly <jeff2@soc.pidgin.im>
parents: 18122
diff changeset
146 {
1794c23309d3 In MSN prpl, use attention API. Can be disabled by undefining
Jeff Connelly <jeff2@soc.pidgin.im>
parents: 18122
diff changeset
147 PurpleAccount *account = purple_conversation_get_account(conv);
1794c23309d3 In MSN prpl, use attention API. Can be disabled by undefining
Jeff Connelly <jeff2@soc.pidgin.im>
parents: 18122
diff changeset
148 PurpleConnection *gc = purple_account_get_connection(account);
1794c23309d3 In MSN prpl, use attention API. Can be disabled by undefining
Jeff Connelly <jeff2@soc.pidgin.im>
parents: 18122
diff changeset
149 const gchar *username;
1794c23309d3 In MSN prpl, use attention API. Can be disabled by undefining
Jeff Connelly <jeff2@soc.pidgin.im>
parents: 18122
diff changeset
150
1794c23309d3 In MSN prpl, use attention API. Can be disabled by undefining
Jeff Connelly <jeff2@soc.pidgin.im>
parents: 18122
diff changeset
151 username = purple_conversation_get_name(conv);
1794c23309d3 In MSN prpl, use attention API. Can be disabled by undefining
Jeff Connelly <jeff2@soc.pidgin.im>
parents: 18122
diff changeset
152
1794c23309d3 In MSN prpl, use attention API. Can be disabled by undefining
Jeff Connelly <jeff2@soc.pidgin.im>
parents: 18122
diff changeset
153 serv_send_attention(gc, username, MSN_NUDGE);
11321
a93121c0ea16 [gaim-migrate @ 13525]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11257
diff changeset
154
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
155 return PURPLE_CMD_RET_OK;
11321
a93121c0ea16 [gaim-migrate @ 13525]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11257
diff changeset
156 }
a93121c0ea16 [gaim-migrate @ 13525]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11257
diff changeset
157
16183
92409c474659 Committing khc's msnp14 changes from Trac Ticket #148. --rlaager
Ka-Hing Cheung <khc@pidgin.im>
parents: 15884
diff changeset
158 void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
159 msn_act_id(PurpleConnection *gc, const char *entry)
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
160 {
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
161 MsnCmdProc *cmdproc;
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
162 MsnSession *session;
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
163 PurpleAccount *account;
9158
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
164 const char *alias;
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
165
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
166 session = gc->proto_data;
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
167 cmdproc = session->notification->cmdproc;
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
168 account = purple_connection_get_account(gc);
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
169
10069
6b4b78889b52 [gaim-migrate @ 11045]
Derek Battams <dbattams@users.sourceforge.net>
parents: 10068
diff changeset
170 if(entry && strlen(entry))
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
171 alias = purple_url_encode(entry);
10069
6b4b78889b52 [gaim-migrate @ 11045]
Derek Battams <dbattams@users.sourceforge.net>
parents: 10068
diff changeset
172 else
6b4b78889b52 [gaim-migrate @ 11045]
Derek Battams <dbattams@users.sourceforge.net>
parents: 10068
diff changeset
173 alias = "";
3171
51b439b09c0a [gaim-migrate @ 3187]
Rob Flynn <gaim@robflynn.com>
parents: 3170
diff changeset
174
8333
09d55969e801 [gaim-migrate @ 9057]
Christian Hammond <chipx86@chipx86.com>
parents: 8298
diff changeset
175 if (strlen(alias) > BUDDY_ALIAS_MAXLEN)
09d55969e801 [gaim-migrate @ 9057]
Christian Hammond <chipx86@chipx86.com>
parents: 8298
diff changeset
176 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
177 purple_notify_error(gc, NULL,
5436
a0e0bacaa196 [gaim-migrate @ 5818]
Christian Hammond <chipx86@chipx86.com>
parents: 5382
diff changeset
178 _("Your new MSN friendly name is too long."), NULL);
2738
bd5bcb1c8167 [gaim-migrate @ 2751]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2688
diff changeset
179 return;
bd5bcb1c8167 [gaim-migrate @ 2751]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2688
diff changeset
180 }
bd5bcb1c8167 [gaim-migrate @ 2751]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2688
diff changeset
181
20476
198222e01a7d The second msn-p13-merge-head.diff.gz from SF Patch #162854 from Ka-Hing Cheung.
Richard Laager <rlaager@pidgin.im>
parents: 20475
diff changeset
182 if (*alias == '\0') {
20478
46933dc62880 propagate from branch 'im.pidgin.pidgin' (head 88b7040408c88e4516c008f4eac579f98ef53e85)
Richard Laager <rlaager@pidgin.im>
parents: 20476 15884
diff changeset
183 alias = purple_url_encode(purple_account_get_username(account));
20474
b0ef257ef8d4 The second msn.tgz from SF Patch #1621854 from Ka-Hing Cheung.
Ka-Hing Cheung <khc@pidgin.im>
parents: 20473
diff changeset
184 }
20476
198222e01a7d The second msn-p13-merge-head.diff.gz from SF Patch #162854 from Ka-Hing Cheung.
Richard Laager <rlaager@pidgin.im>
parents: 20475
diff changeset
185
198222e01a7d The second msn-p13-merge-head.diff.gz from SF Patch #162854 from Ka-Hing Cheung.
Richard Laager <rlaager@pidgin.im>
parents: 20475
diff changeset
186 msn_cmdproc_send(cmdproc, "PRP", "MFN %s", alias);
198222e01a7d The second msn-p13-merge-head.diff.gz from SF Patch #162854 from Ka-Hing Cheung.
Richard Laager <rlaager@pidgin.im>
parents: 20475
diff changeset
187
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
188 }
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
189
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
190 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
191 msn_set_prp(PurpleConnection *gc, const char *type, const char *entry)
5363
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
192 {
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
193 MsnCmdProc *cmdproc;
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
194 MsnSession *session;
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
195
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
196 session = gc->proto_data;
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
197 cmdproc = session->notification->cmdproc;
5363
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
198
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
199 if (entry == NULL || *entry == '\0')
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
200 {
9158
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
201 msn_cmdproc_send(cmdproc, "PRP", "%s", type);
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
202 }
5363
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
203 else
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
204 {
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
205 msn_cmdproc_send(cmdproc, "PRP", "%s %s", type,
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
206 purple_url_encode(entry));
5363
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
207 }
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
208 }
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
209
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
210 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
211 msn_set_home_phone_cb(PurpleConnection *gc, const char *entry)
5363
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
212 {
5491
38c414014f4f [gaim-migrate @ 5887]
Christian Hammond <chipx86@chipx86.com>
parents: 5481
diff changeset
213 msn_set_prp(gc, "PHH", entry);
5363
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
214 }
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
215
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
216 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
217 msn_set_work_phone_cb(PurpleConnection *gc, const char *entry)
5363
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
218 {
5491
38c414014f4f [gaim-migrate @ 5887]
Christian Hammond <chipx86@chipx86.com>
parents: 5481
diff changeset
219 msn_set_prp(gc, "PHW", entry);
5363
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
220 }
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
221
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
222 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
223 msn_set_mobile_phone_cb(PurpleConnection *gc, const char *entry)
5363
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
224 {
5491
38c414014f4f [gaim-migrate @ 5887]
Christian Hammond <chipx86@chipx86.com>
parents: 5481
diff changeset
225 msn_set_prp(gc, "PHM", entry);
5364
d423753cfd63 [gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents: 5363
diff changeset
226 }
d423753cfd63 [gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents: 5363
diff changeset
227
d423753cfd63 [gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents: 5363
diff changeset
228 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
229 enable_msn_pages_cb(PurpleConnection *gc)
5364
d423753cfd63 [gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents: 5363
diff changeset
230 {
d423753cfd63 [gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents: 5363
diff changeset
231 msn_set_prp(gc, "MOB", "Y");
5363
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
232 }
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
233
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
234 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
235 disable_msn_pages_cb(PurpleConnection *gc)
5364
d423753cfd63 [gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents: 5363
diff changeset
236 {
d423753cfd63 [gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents: 5363
diff changeset
237 msn_set_prp(gc, "MOB", "N");
d423753cfd63 [gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents: 5363
diff changeset
238 }
d423753cfd63 [gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents: 5363
diff changeset
239
5369
12dc1957e1b2 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
240 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
241 send_to_mobile(PurpleConnection *gc, const char *who, const char *entry)
5369
12dc1957e1b2 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
242 {
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
243 MsnTransaction *trans;
8646
74d0e7406e3b [gaim-migrate @ 9398]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8595
diff changeset
244 MsnSession *session;
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
245 MsnCmdProc *cmdproc;
5369
12dc1957e1b2 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
246 MsnPage *page;
22670
2ad82dd45c56 Another patch from Maiku that improves the way we send mobile messages, this
Ka-Hing Cheung <khc@pidgin.im>
parents: 22581
diff changeset
247 MsnUser *user;
2ad82dd45c56 Another patch from Maiku that improves the way we send mobile messages, this
Ka-Hing Cheung <khc@pidgin.im>
parents: 22581
diff changeset
248 char *payload = NULL;
2ad82dd45c56 Another patch from Maiku that improves the way we send mobile messages, this
Ka-Hing Cheung <khc@pidgin.im>
parents: 22581
diff changeset
249 const char *mobile_number = NULL;
8646
74d0e7406e3b [gaim-migrate @ 9398]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8595
diff changeset
250 size_t payload_len;
5369
12dc1957e1b2 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
251
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
252 session = gc->proto_data;
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
253 cmdproc = session->notification->cmdproc;
5369
12dc1957e1b2 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
254
12dc1957e1b2 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
255 page = msn_page_new();
12dc1957e1b2 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
256 msn_page_set_body(page, entry);
8646
74d0e7406e3b [gaim-migrate @ 9398]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8595
diff changeset
257
9092
34b9e78827f6 [gaim-migrate @ 9869]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9091
diff changeset
258 payload = msn_page_gen_payload(page, &payload_len);
8646
74d0e7406e3b [gaim-migrate @ 9398]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8595
diff changeset
259
22670
2ad82dd45c56 Another patch from Maiku that improves the way we send mobile messages, this
Ka-Hing Cheung <khc@pidgin.im>
parents: 22581
diff changeset
260 if ((user = msn_userlist_find_user(session->userlist, who)) &&
2ad82dd45c56 Another patch from Maiku that improves the way we send mobile messages, this
Ka-Hing Cheung <khc@pidgin.im>
parents: 22581
diff changeset
261 (mobile_number = msn_user_get_mobile_phone(user)) &&
2ad82dd45c56 Another patch from Maiku that improves the way we send mobile messages, this
Ka-Hing Cheung <khc@pidgin.im>
parents: 22581
diff changeset
262 mobile_number[0] == '+') {
2ad82dd45c56 Another patch from Maiku that improves the way we send mobile messages, this
Ka-Hing Cheung <khc@pidgin.im>
parents: 22581
diff changeset
263 /* if msn_user_get_mobile_phone() has a + in front, it's a number
2ad82dd45c56 Another patch from Maiku that improves the way we send mobile messages, this
Ka-Hing Cheung <khc@pidgin.im>
parents: 22581
diff changeset
264 that from the buddy's contact card */
2ad82dd45c56 Another patch from Maiku that improves the way we send mobile messages, this
Ka-Hing Cheung <khc@pidgin.im>
parents: 22581
diff changeset
265 trans = msn_transaction_new(cmdproc, "PGD", "tel:%s 1 %d",
2ad82dd45c56 Another patch from Maiku that improves the way we send mobile messages, this
Ka-Hing Cheung <khc@pidgin.im>
parents: 22581
diff changeset
266 mobile_number, payload_len);
2ad82dd45c56 Another patch from Maiku that improves the way we send mobile messages, this
Ka-Hing Cheung <khc@pidgin.im>
parents: 22581
diff changeset
267 } else {
2ad82dd45c56 Another patch from Maiku that improves the way we send mobile messages, this
Ka-Hing Cheung <khc@pidgin.im>
parents: 22581
diff changeset
268 /* otherwise we send to whatever phone number the buddy registered
2ad82dd45c56 Another patch from Maiku that improves the way we send mobile messages, this
Ka-Hing Cheung <khc@pidgin.im>
parents: 22581
diff changeset
269 with msn */
2ad82dd45c56 Another patch from Maiku that improves the way we send mobile messages, this
Ka-Hing Cheung <khc@pidgin.im>
parents: 22581
diff changeset
270 trans = msn_transaction_new(cmdproc, "PGD", "%s 1 %d", who,
2ad82dd45c56 Another patch from Maiku that improves the way we send mobile messages, this
Ka-Hing Cheung <khc@pidgin.im>
parents: 22581
diff changeset
271 payload_len);
2ad82dd45c56 Another patch from Maiku that improves the way we send mobile messages, this
Ka-Hing Cheung <khc@pidgin.im>
parents: 22581
diff changeset
272 }
5369
12dc1957e1b2 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
273
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
274 msn_transaction_set_payload(trans, payload, payload_len);
21065
8bbf0f6700ed Fix some leaks and prevent some unnecessary allocations and frees.
Daniel Atallah <datallah@pidgin.im>
parents: 21033
diff changeset
275 g_free(payload);
5369
12dc1957e1b2 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
276
12dc1957e1b2 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
277 msn_page_destroy(page);
12dc1957e1b2 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
278
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
279 msn_cmdproc_send_trans(cmdproc, trans);
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
280 }
5369
12dc1957e1b2 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
281
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
282 static void
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
283 send_to_mobile_cb(MsnMobileData *data, const char *entry)
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
284 {
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
285 send_to_mobile(data->gc, data->passport, entry);
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
286 g_free(data);
5369
12dc1957e1b2 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
287 }
12dc1957e1b2 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
288
5491
38c414014f4f [gaim-migrate @ 5887]
Christian Hammond <chipx86@chipx86.com>
parents: 5481
diff changeset
289 static void
5793
28d84d5e5663 [gaim-migrate @ 6218]
Christian Hammond <chipx86@chipx86.com>
parents: 5717
diff changeset
290 close_mobile_page_cb(MsnMobileData *data, const char *entry)
5491
38c414014f4f [gaim-migrate @ 5887]
Christian Hammond <chipx86@chipx86.com>
parents: 5481
diff changeset
291 {
38c414014f4f [gaim-migrate @ 5887]
Christian Hammond <chipx86@chipx86.com>
parents: 5481
diff changeset
292 g_free(data);
38c414014f4f [gaim-migrate @ 5887]
Christian Hammond <chipx86@chipx86.com>
parents: 5481
diff changeset
293 }
38c414014f4f [gaim-migrate @ 5887]
Christian Hammond <chipx86@chipx86.com>
parents: 5481
diff changeset
294
5364
d423753cfd63 [gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents: 5363
diff changeset
295 /* -- */
d423753cfd63 [gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents: 5363
diff changeset
296
d423753cfd63 [gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents: 5363
diff changeset
297 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
298 msn_show_set_friendly_name(PurplePluginAction *action)
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
299 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
300 PurpleConnection *gc;
9158
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
301
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
302 gc = (PurpleConnection *) action->context;
9158
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
303
21175
c6d76b49c206 disapproval of revision '8ba833993a115415727bb1b70362e0bd1603c169'
Richard Laager <rlaager@pidgin.im>
parents: 21174
diff changeset
304 purple_request_input(gc, NULL, _("Set your friendly name."),
5491
38c414014f4f [gaim-migrate @ 5887]
Christian Hammond <chipx86@chipx86.com>
parents: 5481
diff changeset
305 _("This is the name that other MSN buddies will "
38c414014f4f [gaim-migrate @ 5887]
Christian Hammond <chipx86@chipx86.com>
parents: 5481
diff changeset
306 "see you as."),
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
307 purple_connection_get_display_name(gc), FALSE, FALSE, NULL,
5481
2f161d72e311 [gaim-migrate @ 5877]
Christian Hammond <chipx86@chipx86.com>
parents: 5436
diff changeset
308 _("OK"), G_CALLBACK(msn_act_id),
16490
68c22924d66b Added account, who, and conversation parameters to the request API calls, and updated all code to match. I can't compile the Perl module, so I'd appreciate it if someone who knows it would verify that this doesn't break Perl.
Evan Schoenberg <evands@pidgin.im>
parents: 15884
diff changeset
309 _("Cancel"), NULL,
68c22924d66b Added account, who, and conversation parameters to the request API calls, and updated all code to match. I can't compile the Perl module, so I'd appreciate it if someone who knows it would verify that this doesn't break Perl.
Evan Schoenberg <evands@pidgin.im>
parents: 15884
diff changeset
310 purple_connection_get_account(gc), NULL, NULL,
21175
c6d76b49c206 disapproval of revision '8ba833993a115415727bb1b70362e0bd1603c169'
Richard Laager <rlaager@pidgin.im>
parents: 21174
diff changeset
311 gc);
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
312 }
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
313
5363
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
314 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
315 msn_show_set_home_phone(PurplePluginAction *action)
5363
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
316 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
317 PurpleConnection *gc;
9158
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
318 MsnSession *session;
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
319
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
320 gc = (PurpleConnection *) action->context;
9158
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
321 session = gc->proto_data;
5363
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
322
21175
c6d76b49c206 disapproval of revision '8ba833993a115415727bb1b70362e0bd1603c169'
Richard Laager <rlaager@pidgin.im>
parents: 21174
diff changeset
323 purple_request_input(gc, NULL, _("Set your home phone number."), NULL,
8697
c5e51aef2026 [gaim-migrate @ 9450]
Jon Oberheide
parents: 8691
diff changeset
324 msn_user_get_home_phone(session->user), FALSE, FALSE, NULL,
5491
38c414014f4f [gaim-migrate @ 5887]
Christian Hammond <chipx86@chipx86.com>
parents: 5481
diff changeset
325 _("OK"), G_CALLBACK(msn_set_home_phone_cb),
16490
68c22924d66b Added account, who, and conversation parameters to the request API calls, and updated all code to match. I can't compile the Perl module, so I'd appreciate it if someone who knows it would verify that this doesn't break Perl.
Evan Schoenberg <evands@pidgin.im>
parents: 15884
diff changeset
326 _("Cancel"), NULL,
68c22924d66b Added account, who, and conversation parameters to the request API calls, and updated all code to match. I can't compile the Perl module, so I'd appreciate it if someone who knows it would verify that this doesn't break Perl.
Evan Schoenberg <evands@pidgin.im>
parents: 15884
diff changeset
327 purple_connection_get_account(gc), NULL, NULL,
21175
c6d76b49c206 disapproval of revision '8ba833993a115415727bb1b70362e0bd1603c169'
Richard Laager <rlaager@pidgin.im>
parents: 21174
diff changeset
328 gc);
5363
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
329 }
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
330
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
331 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
332 msn_show_set_work_phone(PurplePluginAction *action)
5363
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
333 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
334 PurpleConnection *gc;
9158
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
335 MsnSession *session;
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
336
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
337 gc = (PurpleConnection *) action->context;
9158
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
338 session = gc->proto_data;
5363
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
339
21175
c6d76b49c206 disapproval of revision '8ba833993a115415727bb1b70362e0bd1603c169'
Richard Laager <rlaager@pidgin.im>
parents: 21174
diff changeset
340 purple_request_input(gc, NULL, _("Set your work phone number."), NULL,
8697
c5e51aef2026 [gaim-migrate @ 9450]
Jon Oberheide
parents: 8691
diff changeset
341 msn_user_get_work_phone(session->user), FALSE, FALSE, NULL,
5491
38c414014f4f [gaim-migrate @ 5887]
Christian Hammond <chipx86@chipx86.com>
parents: 5481
diff changeset
342 _("OK"), G_CALLBACK(msn_set_work_phone_cb),
16490
68c22924d66b Added account, who, and conversation parameters to the request API calls, and updated all code to match. I can't compile the Perl module, so I'd appreciate it if someone who knows it would verify that this doesn't break Perl.
Evan Schoenberg <evands@pidgin.im>
parents: 15884
diff changeset
343 _("Cancel"), NULL,
68c22924d66b Added account, who, and conversation parameters to the request API calls, and updated all code to match. I can't compile the Perl module, so I'd appreciate it if someone who knows it would verify that this doesn't break Perl.
Evan Schoenberg <evands@pidgin.im>
parents: 15884
diff changeset
344 purple_connection_get_account(gc), NULL, NULL,
21175
c6d76b49c206 disapproval of revision '8ba833993a115415727bb1b70362e0bd1603c169'
Richard Laager <rlaager@pidgin.im>
parents: 21174
diff changeset
345 gc);
5363
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
346 }
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
347
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
348 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
349 msn_show_set_mobile_phone(PurplePluginAction *action)
5363
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
350 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
351 PurpleConnection *gc;
9158
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
352 MsnSession *session;
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
353
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
354 gc = (PurpleConnection *) action->context;
9158
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
355 session = gc->proto_data;
5363
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
356
21175
c6d76b49c206 disapproval of revision '8ba833993a115415727bb1b70362e0bd1603c169'
Richard Laager <rlaager@pidgin.im>
parents: 21174
diff changeset
357 purple_request_input(gc, NULL, _("Set your mobile phone number."), NULL,
8697
c5e51aef2026 [gaim-migrate @ 9450]
Jon Oberheide
parents: 8691
diff changeset
358 msn_user_get_mobile_phone(session->user), FALSE, FALSE, NULL,
5491
38c414014f4f [gaim-migrate @ 5887]
Christian Hammond <chipx86@chipx86.com>
parents: 5481
diff changeset
359 _("OK"), G_CALLBACK(msn_set_mobile_phone_cb),
16490
68c22924d66b Added account, who, and conversation parameters to the request API calls, and updated all code to match. I can't compile the Perl module, so I'd appreciate it if someone who knows it would verify that this doesn't break Perl.
Evan Schoenberg <evands@pidgin.im>
parents: 15884
diff changeset
360 _("Cancel"), NULL,
68c22924d66b Added account, who, and conversation parameters to the request API calls, and updated all code to match. I can't compile the Perl module, so I'd appreciate it if someone who knows it would verify that this doesn't break Perl.
Evan Schoenberg <evands@pidgin.im>
parents: 15884
diff changeset
361 purple_connection_get_account(gc), NULL, NULL,
21175
c6d76b49c206 disapproval of revision '8ba833993a115415727bb1b70362e0bd1603c169'
Richard Laager <rlaager@pidgin.im>
parents: 21174
diff changeset
362 gc);
5363
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
363 }
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
364
5364
d423753cfd63 [gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents: 5363
diff changeset
365 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
366 msn_show_set_mobile_pages(PurplePluginAction *action)
5364
d423753cfd63 [gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents: 5363
diff changeset
367 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
368 PurpleConnection *gc;
9158
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
369
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
370 gc = (PurpleConnection *) action->context;
9158
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
371
21175
c6d76b49c206 disapproval of revision '8ba833993a115415727bb1b70362e0bd1603c169'
Richard Laager <rlaager@pidgin.im>
parents: 21174
diff changeset
372 purple_request_action(gc, NULL, _("Allow MSN Mobile pages?"),
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
373 _("Do you want to allow or disallow people on "
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
374 "your buddy list to send you MSN Mobile pages "
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
375 "to your cell phone or other mobile device?"),
22265
81cc9a21d463 Minor improvements to the default_action used in purple_action_request
Mark Doliner <markdoliner@pidgin.im>
parents: 22230
diff changeset
376 PURPLE_DEFAULT_ACTION_NONE,
16490
68c22924d66b Added account, who, and conversation parameters to the request API calls, and updated all code to match. I can't compile the Perl module, so I'd appreciate it if someone who knows it would verify that this doesn't break Perl.
Evan Schoenberg <evands@pidgin.im>
parents: 15884
diff changeset
377 purple_connection_get_account(gc), NULL, NULL,
21175
c6d76b49c206 disapproval of revision '8ba833993a115415727bb1b70362e0bd1603c169'
Richard Laager <rlaager@pidgin.im>
parents: 21174
diff changeset
378 gc, 3,
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
379 _("Allow"), G_CALLBACK(enable_msn_pages_cb),
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
380 _("Disallow"), G_CALLBACK(disable_msn_pages_cb),
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
381 _("Cancel"), NULL);
5364
d423753cfd63 [gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents: 5363
diff changeset
382 }
d423753cfd63 [gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents: 5363
diff changeset
383
5369
12dc1957e1b2 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
384 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
385 msn_show_hotmail_inbox(PurplePluginAction *action)
11321
a93121c0ea16 [gaim-migrate @ 13525]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11257
diff changeset
386 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
387 PurpleConnection *gc;
11321
a93121c0ea16 [gaim-migrate @ 13525]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11257
diff changeset
388 MsnSession *session;
a93121c0ea16 [gaim-migrate @ 13525]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11257
diff changeset
389
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
390 gc = (PurpleConnection *) action->context;
11321
a93121c0ea16 [gaim-migrate @ 13525]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11257
diff changeset
391 session = gc->proto_data;
a93121c0ea16 [gaim-migrate @ 13525]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11257
diff changeset
392
a93121c0ea16 [gaim-migrate @ 13525]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11257
diff changeset
393 if (session->passport_info.file == NULL)
a93121c0ea16 [gaim-migrate @ 13525]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11257
diff changeset
394 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
395 purple_notify_error(gc, NULL,
11321
a93121c0ea16 [gaim-migrate @ 13525]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11257
diff changeset
396 _("This Hotmail account may not be active."), NULL);
a93121c0ea16 [gaim-migrate @ 13525]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11257
diff changeset
397 return;
a93121c0ea16 [gaim-migrate @ 13525]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11257
diff changeset
398 }
a93121c0ea16 [gaim-migrate @ 13525]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11257
diff changeset
399
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
400 purple_notify_uri(gc, session->passport_info.file);
11321
a93121c0ea16 [gaim-migrate @ 13525]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11257
diff changeset
401 }
a93121c0ea16 [gaim-migrate @ 13525]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11257
diff changeset
402
a93121c0ea16 [gaim-migrate @ 13525]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11257
diff changeset
403 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
404 show_send_to_mobile_cb(PurpleBlistNode *node, gpointer ignored)
5369
12dc1957e1b2 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
405 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
406 PurpleBuddy *buddy;
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
407 PurpleConnection *gc;
9042
a44973ada5fe [gaim-migrate @ 9818]
Luke Schierer <lschiere@pidgin.im>
parents: 9041
diff changeset
408 MsnSession *session;
a44973ada5fe [gaim-migrate @ 9818]
Luke Schierer <lschiere@pidgin.im>
parents: 9041
diff changeset
409 MsnMobileData *data;
9198
e8eb6d5eb9eb [gaim-migrate @ 9993]
Christian Hammond <chipx86@chipx86.com>
parents: 9193
diff changeset
410
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
411 g_return_if_fail(PURPLE_BLIST_NODE_IS_BUDDY(node));
9030
7b574a641391 [gaim-migrate @ 9806]
Mark Doliner <markdoliner@pidgin.im>
parents: 9015
diff changeset
412
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
413 buddy = (PurpleBuddy *) node;
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
414 gc = purple_account_get_connection(buddy->account);
9030
7b574a641391 [gaim-migrate @ 9806]
Mark Doliner <markdoliner@pidgin.im>
parents: 9015
diff changeset
415
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
416 session = gc->proto_data;
5369
12dc1957e1b2 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
417
12dc1957e1b2 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
418 data = g_new0(MsnMobileData, 1);
12dc1957e1b2 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
419 data->gc = gc;
9030
7b574a641391 [gaim-migrate @ 9806]
Mark Doliner <markdoliner@pidgin.im>
parents: 9015
diff changeset
420 data->passport = buddy->name;
5369
12dc1957e1b2 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
421
21175
c6d76b49c206 disapproval of revision '8ba833993a115415727bb1b70362e0bd1603c169'
Richard Laager <rlaager@pidgin.im>
parents: 21174
diff changeset
422 purple_request_input(gc, NULL, _("Send a mobile message."), NULL,
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
423 NULL, TRUE, FALSE, NULL,
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
424 _("Page"), G_CALLBACK(send_to_mobile_cb),
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
425 _("Close"), G_CALLBACK(close_mobile_page_cb),
16490
68c22924d66b Added account, who, and conversation parameters to the request API calls, and updated all code to match. I can't compile the Perl module, so I'd appreciate it if someone who knows it would verify that this doesn't break Perl.
Evan Schoenberg <evands@pidgin.im>
parents: 15884
diff changeset
426 purple_connection_get_account(gc), purple_buddy_get_name(buddy), NULL,
21175
c6d76b49c206 disapproval of revision '8ba833993a115415727bb1b70362e0bd1603c169'
Richard Laager <rlaager@pidgin.im>
parents: 21174
diff changeset
427 data);
5369
12dc1957e1b2 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
428 }
12dc1957e1b2 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
429
16890
3ea8e90bacd1 Make MSN mobile buddies offline, mobile, and offline-messagable. Fixes #215
Sean Egan <seanegan@pidgin.im>
parents: 16746
diff changeset
430 static gboolean
3ea8e90bacd1 Make MSN mobile buddies offline, mobile, and offline-messagable. Fixes #215
Sean Egan <seanegan@pidgin.im>
parents: 16746
diff changeset
431 msn_offline_message(const PurpleBuddy *buddy) {
16923
515f3988a430 Fix declaration after statement.
Daniel Atallah <datallah@pidgin.im>
parents: 16890
diff changeset
432 MsnUser *user;
16890
3ea8e90bacd1 Make MSN mobile buddies offline, mobile, and offline-messagable. Fixes #215
Sean Egan <seanegan@pidgin.im>
parents: 16746
diff changeset
433 if (buddy == NULL)
3ea8e90bacd1 Make MSN mobile buddies offline, mobile, and offline-messagable. Fixes #215
Sean Egan <seanegan@pidgin.im>
parents: 16746
diff changeset
434 return FALSE;
16923
515f3988a430 Fix declaration after statement.
Daniel Atallah <datallah@pidgin.im>
parents: 16890
diff changeset
435 user = buddy->proto_data;
16890
3ea8e90bacd1 Make MSN mobile buddies offline, mobile, and offline-messagable. Fixes #215
Sean Egan <seanegan@pidgin.im>
parents: 16746
diff changeset
436 return user && user->mobile;
3ea8e90bacd1 Make MSN mobile buddies offline, mobile, and offline-messagable. Fixes #215
Sean Egan <seanegan@pidgin.im>
parents: 16746
diff changeset
437 }
3ea8e90bacd1 Make MSN mobile buddies offline, mobile, and offline-messagable. Fixes #215
Sean Egan <seanegan@pidgin.im>
parents: 16746
diff changeset
438
20542
e92b022fd611 In the initial ADL listing, send the commands in the correct sequence as required by the server: BLP, ADL and PRP. When the server acknowledges this initial ADL, send CHG with status information
Carlos Silva <typ0@pidgin.im>
parents: 20539
diff changeset
439 void
e92b022fd611 In the initial ADL listing, send the commands in the correct sequence as required by the server: BLP, ADL and PRP. When the server acknowledges this initial ADL, send CHG with status information
Carlos Silva <typ0@pidgin.im>
parents: 20539
diff changeset
440 msn_send_privacy(PurpleConnection *gc)
e92b022fd611 In the initial ADL listing, send the commands in the correct sequence as required by the server: BLP, ADL and PRP. When the server acknowledges this initial ADL, send CHG with status information
Carlos Silva <typ0@pidgin.im>
parents: 20539
diff changeset
441 {
e92b022fd611 In the initial ADL listing, send the commands in the correct sequence as required by the server: BLP, ADL and PRP. When the server acknowledges this initial ADL, send CHG with status information
Carlos Silva <typ0@pidgin.im>
parents: 20539
diff changeset
442 PurpleAccount *account;
e92b022fd611 In the initial ADL listing, send the commands in the correct sequence as required by the server: BLP, ADL and PRP. When the server acknowledges this initial ADL, send CHG with status information
Carlos Silva <typ0@pidgin.im>
parents: 20539
diff changeset
443 MsnSession *session;
e92b022fd611 In the initial ADL listing, send the commands in the correct sequence as required by the server: BLP, ADL and PRP. When the server acknowledges this initial ADL, send CHG with status information
Carlos Silva <typ0@pidgin.im>
parents: 20539
diff changeset
444 MsnCmdProc *cmdproc;
e92b022fd611 In the initial ADL listing, send the commands in the correct sequence as required by the server: BLP, ADL and PRP. When the server acknowledges this initial ADL, send CHG with status information
Carlos Silva <typ0@pidgin.im>
parents: 20539
diff changeset
445
e92b022fd611 In the initial ADL listing, send the commands in the correct sequence as required by the server: BLP, ADL and PRP. When the server acknowledges this initial ADL, send CHG with status information
Carlos Silva <typ0@pidgin.im>
parents: 20539
diff changeset
446 account = purple_connection_get_account(gc);
e92b022fd611 In the initial ADL listing, send the commands in the correct sequence as required by the server: BLP, ADL and PRP. When the server acknowledges this initial ADL, send CHG with status information
Carlos Silva <typ0@pidgin.im>
parents: 20539
diff changeset
447 session = gc->proto_data;
e92b022fd611 In the initial ADL listing, send the commands in the correct sequence as required by the server: BLP, ADL and PRP. When the server acknowledges this initial ADL, send CHG with status information
Carlos Silva <typ0@pidgin.im>
parents: 20539
diff changeset
448 cmdproc = session->notification->cmdproc;
e92b022fd611 In the initial ADL listing, send the commands in the correct sequence as required by the server: BLP, ADL and PRP. When the server acknowledges this initial ADL, send CHG with status information
Carlos Silva <typ0@pidgin.im>
parents: 20539
diff changeset
449
e92b022fd611 In the initial ADL listing, send the commands in the correct sequence as required by the server: BLP, ADL and PRP. When the server acknowledges this initial ADL, send CHG with status information
Carlos Silva <typ0@pidgin.im>
parents: 20539
diff changeset
450 if (account->perm_deny == PURPLE_PRIVACY_ALLOW_ALL ||
e92b022fd611 In the initial ADL listing, send the commands in the correct sequence as required by the server: BLP, ADL and PRP. When the server acknowledges this initial ADL, send CHG with status information
Carlos Silva <typ0@pidgin.im>
parents: 20539
diff changeset
451 account->perm_deny == PURPLE_PRIVACY_DENY_USERS)
e92b022fd611 In the initial ADL listing, send the commands in the correct sequence as required by the server: BLP, ADL and PRP. When the server acknowledges this initial ADL, send CHG with status information
Carlos Silva <typ0@pidgin.im>
parents: 20539
diff changeset
452 {
e92b022fd611 In the initial ADL listing, send the commands in the correct sequence as required by the server: BLP, ADL and PRP. When the server acknowledges this initial ADL, send CHG with status information
Carlos Silva <typ0@pidgin.im>
parents: 20539
diff changeset
453 msn_cmdproc_send(cmdproc, "BLP", "%s", "AL");
e92b022fd611 In the initial ADL listing, send the commands in the correct sequence as required by the server: BLP, ADL and PRP. When the server acknowledges this initial ADL, send CHG with status information
Carlos Silva <typ0@pidgin.im>
parents: 20539
diff changeset
454 }
e92b022fd611 In the initial ADL listing, send the commands in the correct sequence as required by the server: BLP, ADL and PRP. When the server acknowledges this initial ADL, send CHG with status information
Carlos Silva <typ0@pidgin.im>
parents: 20539
diff changeset
455 else
e92b022fd611 In the initial ADL listing, send the commands in the correct sequence as required by the server: BLP, ADL and PRP. When the server acknowledges this initial ADL, send CHG with status information
Carlos Silva <typ0@pidgin.im>
parents: 20539
diff changeset
456 {
e92b022fd611 In the initial ADL listing, send the commands in the correct sequence as required by the server: BLP, ADL and PRP. When the server acknowledges this initial ADL, send CHG with status information
Carlos Silva <typ0@pidgin.im>
parents: 20539
diff changeset
457 msn_cmdproc_send(cmdproc, "BLP", "%s", "BL");
e92b022fd611 In the initial ADL listing, send the commands in the correct sequence as required by the server: BLP, ADL and PRP. When the server acknowledges this initial ADL, send CHG with status information
Carlos Silva <typ0@pidgin.im>
parents: 20539
diff changeset
458 }
e92b022fd611 In the initial ADL listing, send the commands in the correct sequence as required by the server: BLP, ADL and PRP. When the server acknowledges this initial ADL, send CHG with status information
Carlos Silva <typ0@pidgin.im>
parents: 20539
diff changeset
459 }
e92b022fd611 In the initial ADL listing, send the commands in the correct sequence as required by the server: BLP, ADL and PRP. When the server acknowledges this initial ADL, send CHG with status information
Carlos Silva <typ0@pidgin.im>
parents: 20539
diff changeset
460
6148
e3e81ed229c2 [gaim-migrate @ 6622]
Christian Hammond <chipx86@chipx86.com>
parents: 6059
diff changeset
461 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
462 initiate_chat_cb(PurpleBlistNode *node, gpointer data)
6148
e3e81ed229c2 [gaim-migrate @ 6622]
Christian Hammond <chipx86@chipx86.com>
parents: 6059
diff changeset
463 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
464 PurpleBuddy *buddy;
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
465 PurpleConnection *gc;
9030
7b574a641391 [gaim-migrate @ 9806]
Mark Doliner <markdoliner@pidgin.im>
parents: 9015
diff changeset
466
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
467 MsnSession *session;
6148
e3e81ed229c2 [gaim-migrate @ 6622]
Christian Hammond <chipx86@chipx86.com>
parents: 6059
diff changeset
468 MsnSwitchBoard *swboard;
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
469
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
470 g_return_if_fail(PURPLE_BLIST_NODE_IS_BUDDY(node));
6148
e3e81ed229c2 [gaim-migrate @ 6622]
Christian Hammond <chipx86@chipx86.com>
parents: 6059
diff changeset
471
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
472 buddy = (PurpleBuddy *) node;
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
473 gc = purple_account_get_connection(buddy->account);
9030
7b574a641391 [gaim-migrate @ 9806]
Mark Doliner <markdoliner@pidgin.im>
parents: 9015
diff changeset
474
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
475 session = gc->proto_data;
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
476
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
477 swboard = msn_switchboard_new(session);
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
478 msn_switchboard_request(swboard);
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
479 msn_switchboard_request_add_user(swboard, buddy->name);
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
480
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
481 /* TODO: This might move somewhere else, after USR might be */
22164
2307c0c05225 Use a unique chat id across all sessions for multi-user chats, probably
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 22133
diff changeset
482 swboard->chat_id = msn_switchboard_get_chat_id();
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
483 swboard->conv = serv_got_joined_chat(gc, swboard->chat_id, "MSN Chat");
10773
ef88ffed66eb [gaim-migrate @ 12382]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10738
diff changeset
484 swboard->flag = MSN_SB_FLAG_IM;
9363
605961038476 [gaim-migrate @ 10171]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9318
diff changeset
485
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
486 purple_conv_chat_add_user(PURPLE_CONV_CHAT(swboard->conv),
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
487 purple_account_get_username(buddy->account), NULL, PURPLE_CBFLAGS_NONE, TRUE);
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
488 }
6148
e3e81ed229c2 [gaim-migrate @ 6622]
Christian Hammond <chipx86@chipx86.com>
parents: 6059
diff changeset
489
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
490 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
491 t_msn_xfer_init(PurpleXfer *xfer)
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
492 {
17089
b27c8579750b Patch from sourceforge tracker 1652005 from wabz to fix displaying file
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 16923
diff changeset
493 MsnSlpLink *slplink = xfer->data;
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
494 msn_slplink_request_ft(slplink, xfer);
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
495 }
6148
e3e81ed229c2 [gaim-migrate @ 6622]
Christian Hammond <chipx86@chipx86.com>
parents: 6059
diff changeset
496
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
497 static PurpleXfer*
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
498 msn_new_xfer(PurpleConnection *gc, const char *who)
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
499 {
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
500 MsnSession *session;
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
501 MsnSlpLink *slplink;
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
502 PurpleXfer *xfer;
12161
3c0edd63fe96 [gaim-migrate @ 14462]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 12143
diff changeset
503
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
504 session = gc->proto_data;
12161
3c0edd63fe96 [gaim-migrate @ 14462]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 12143
diff changeset
505
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
506 xfer = purple_xfer_new(gc->account, PURPLE_XFER_SEND, who);
16183
92409c474659 Committing khc's msnp14 changes from Trac Ticket #148. --rlaager
Ka-Hing Cheung <khc@pidgin.im>
parents: 15884
diff changeset
507
15345
797936e968ff [gaim-migrate @ 18073]
Evan Schoenberg <evands@pidgin.im>
parents: 15281
diff changeset
508 if (xfer)
797936e968ff [gaim-migrate @ 18073]
Evan Schoenberg <evands@pidgin.im>
parents: 15281
diff changeset
509 {
797936e968ff [gaim-migrate @ 18073]
Evan Schoenberg <evands@pidgin.im>
parents: 15281
diff changeset
510 slplink = msn_session_get_slplink(session, who);
12161
3c0edd63fe96 [gaim-migrate @ 14462]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 12143
diff changeset
511
15345
797936e968ff [gaim-migrate @ 18073]
Evan Schoenberg <evands@pidgin.im>
parents: 15281
diff changeset
512 xfer->data = slplink;
12161
3c0edd63fe96 [gaim-migrate @ 14462]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 12143
diff changeset
513
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
514 purple_xfer_set_init_fnc(xfer, t_msn_xfer_init);
15345
797936e968ff [gaim-migrate @ 18073]
Evan Schoenberg <evands@pidgin.im>
parents: 15281
diff changeset
515 }
12161
3c0edd63fe96 [gaim-migrate @ 14462]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 12143
diff changeset
516
12143
09f216663302 [gaim-migrate @ 14444]
Evan Schoenberg <evands@pidgin.im>
parents: 11992
diff changeset
517 return xfer;
09f216663302 [gaim-migrate @ 14444]
Evan Schoenberg <evands@pidgin.im>
parents: 11992
diff changeset
518 }
6148
e3e81ed229c2 [gaim-migrate @ 6622]
Christian Hammond <chipx86@chipx86.com>
parents: 6059
diff changeset
519
12143
09f216663302 [gaim-migrate @ 14444]
Evan Schoenberg <evands@pidgin.im>
parents: 11992
diff changeset
520 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
521 msn_send_file(PurpleConnection *gc, const char *who, const char *file)
12143
09f216663302 [gaim-migrate @ 14444]
Evan Schoenberg <evands@pidgin.im>
parents: 11992
diff changeset
522 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
523 PurpleXfer *xfer = msn_new_xfer(gc, who);
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
524
9466
b6425eab60ca [gaim-migrate @ 10291]
Daniel Atallah <datallah@pidgin.im>
parents: 9363
diff changeset
525 if (file)
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
526 purple_xfer_request_accepted(xfer, file);
9466
b6425eab60ca [gaim-migrate @ 10291]
Daniel Atallah <datallah@pidgin.im>
parents: 9363
diff changeset
527 else
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
528 purple_xfer_request(xfer);
6148
e3e81ed229c2 [gaim-migrate @ 6622]
Christian Hammond <chipx86@chipx86.com>
parents: 6059
diff changeset
529 }
5369
12dc1957e1b2 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
530
10116
054b064145a1 [gaim-migrate @ 11153]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10102
diff changeset
531 static gboolean
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
532 msn_can_receive_file(PurpleConnection *gc, const char *who)
10116
054b064145a1 [gaim-migrate @ 11153]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10102
diff changeset
533 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
534 PurpleAccount *account;
10116
054b064145a1 [gaim-migrate @ 11153]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10102
diff changeset
535 char *normal;
054b064145a1 [gaim-migrate @ 11153]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10102
diff changeset
536 gboolean ret;
054b064145a1 [gaim-migrate @ 11153]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10102
diff changeset
537
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
538 account = purple_connection_get_account(gc);
10116
054b064145a1 [gaim-migrate @ 11153]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10102
diff changeset
539
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
540 normal = g_strdup(msn_normalize(account, purple_account_get_username(account)));
10116
054b064145a1 [gaim-migrate @ 11153]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10102
diff changeset
541
054b064145a1 [gaim-migrate @ 11153]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10102
diff changeset
542 ret = strcmp(normal, msn_normalize(account, who));
054b064145a1 [gaim-migrate @ 11153]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10102
diff changeset
543
054b064145a1 [gaim-migrate @ 11153]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10102
diff changeset
544 g_free(normal);
054b064145a1 [gaim-migrate @ 11153]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10102
diff changeset
545
054b064145a1 [gaim-migrate @ 11153]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10102
diff changeset
546 return ret;
054b064145a1 [gaim-migrate @ 11153]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10102
diff changeset
547 }
054b064145a1 [gaim-migrate @ 11153]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10102
diff changeset
548
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
549 /**************************************************************************
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
550 * Protocol Plugin ops
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
551 **************************************************************************/
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
552
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
553 static const char *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
554 msn_list_icon(PurpleAccount *a, PurpleBuddy *b)
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
555 {
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
556 return "msn";
2993
0340d0a8b810 [gaim-migrate @ 3006]
Rob Flynn <gaim@robflynn.com>
parents: 2970
diff changeset
557 }
0340d0a8b810 [gaim-migrate @ 3006]
Rob Flynn <gaim@robflynn.com>
parents: 2970
diff changeset
558
13888
bda6f562e1e6 [gaim-migrate @ 17003]
Ma Yuan <mayuan2006@gmail.com>
parents: 13870
diff changeset
559 /*
bda6f562e1e6 [gaim-migrate @ 17003]
Ma Yuan <mayuan2006@gmail.com>
parents: 13870
diff changeset
560 * Set the User status text
bda6f562e1e6 [gaim-migrate @ 17003]
Ma Yuan <mayuan2006@gmail.com>
parents: 13870
diff changeset
561 */
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
562 static char *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
563 msn_status_text(PurpleBuddy *buddy)
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
564 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
565 PurplePresence *presence;
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
566 PurpleStatus *status;
21193
e918a1846d03 Use an independant status type for 'current media' stuff, instead of using
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20639
diff changeset
567 const char *msg;
10044
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
568
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
569 presence = purple_buddy_get_presence(buddy);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
570 status = purple_presence_get_active_status(presence);
9951
19b949eca7f8 [gaim-migrate @ 10847]
Nathan Walp <nwalp@pidgin.im>
parents: 9943
diff changeset
571
21193
e918a1846d03 Use an independant status type for 'current media' stuff, instead of using
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20639
diff changeset
572 /* I think status message should take precedence over media */
20478
46933dc62880 propagate from branch 'im.pidgin.pidgin' (head 88b7040408c88e4516c008f4eac579f98ef53e85)
Richard Laager <rlaager@pidgin.im>
parents: 20476 15884
diff changeset
573 msg = purple_status_get_attr_string(status, "message");
21193
e918a1846d03 Use an independant status type for 'current media' stuff, instead of using
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20639
diff changeset
574 if (msg && *msg)
20553
3bed65de9e21 don't strip html on the status line, so that we don't accidentally strip
Ka-Hing Cheung <khc@pidgin.im>
parents: 20542
diff changeset
575 return g_markup_escape_text(msg, -1);
21193
e918a1846d03 Use an independant status type for 'current media' stuff, instead of using
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20639
diff changeset
576
e918a1846d03 Use an independant status type for 'current media' stuff, instead of using
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20639
diff changeset
577 if (purple_presence_is_status_primitive_active(presence, PURPLE_STATUS_TUNE)) {
e918a1846d03 Use an independant status type for 'current media' stuff, instead of using
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20639
diff changeset
578 const char *title, *artist;
e918a1846d03 Use an independant status type for 'current media' stuff, instead of using
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20639
diff changeset
579 char *media, *esc;
e918a1846d03 Use an independant status type for 'current media' stuff, instead of using
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20639
diff changeset
580 status = purple_presence_get_status(presence, "tune");
e918a1846d03 Use an independant status type for 'current media' stuff, instead of using
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20639
diff changeset
581 title = purple_status_get_attr_string(status, PURPLE_TUNE_TITLE);
e918a1846d03 Use an independant status type for 'current media' stuff, instead of using
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20639
diff changeset
582 artist = purple_status_get_attr_string(status, PURPLE_TUNE_ARTIST);
e918a1846d03 Use an independant status type for 'current media' stuff, instead of using
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20639
diff changeset
583
e918a1846d03 Use an independant status type for 'current media' stuff, instead of using
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20639
diff changeset
584 media = g_strdup_printf("%s%s%s", title, artist ? " - " : "",
e918a1846d03 Use an independant status type for 'current media' stuff, instead of using
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20639
diff changeset
585 artist ? artist : "");
e918a1846d03 Use an independant status type for 'current media' stuff, instead of using
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20639
diff changeset
586 esc = g_markup_escape_text(media, -1);
e918a1846d03 Use an independant status type for 'current media' stuff, instead of using
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20639
diff changeset
587 g_free(media);
e918a1846d03 Use an independant status type for 'current media' stuff, instead of using
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20639
diff changeset
588 return esc;
e918a1846d03 Use an independant status type for 'current media' stuff, instead of using
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20639
diff changeset
589 }
e918a1846d03 Use an independant status type for 'current media' stuff, instead of using
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20639
diff changeset
590
10057
f5670751740c [gaim-migrate @ 11022]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10049
diff changeset
591 return NULL;
f5670751740c [gaim-migrate @ 11022]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10049
diff changeset
592 }
f5670751740c [gaim-migrate @ 11022]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10049
diff changeset
593
12970
c2f3b4dcf711 [gaim-migrate @ 15323]
Richard Laager <rlaager@pidgin.im>
parents: 12948
diff changeset
594 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
595 msn_tooltip_text(PurpleBuddy *buddy, PurpleNotifyUserInfo *user_info, gboolean full)
10057
f5670751740c [gaim-migrate @ 11022]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10049
diff changeset
596 {
f5670751740c [gaim-migrate @ 11022]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10049
diff changeset
597 MsnUser *user;
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
598 PurplePresence *presence = purple_buddy_get_presence(buddy);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
599 PurpleStatus *status = purple_presence_get_active_status(presence);
10057
f5670751740c [gaim-migrate @ 11022]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10049
diff changeset
600
f5670751740c [gaim-migrate @ 11022]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10049
diff changeset
601 user = buddy->proto_data;
f5670751740c [gaim-migrate @ 11022]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10049
diff changeset
602
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
603 if (purple_presence_is_online(presence))
10044
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
604 {
21193
e918a1846d03 Use an independant status type for 'current media' stuff, instead of using
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20639
diff changeset
605 const char *psm, *name;
e918a1846d03 Use an independant status type for 'current media' stuff, instead of using
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20639
diff changeset
606 char *currentmedia = NULL;
16183
92409c474659 Committing khc's msnp14 changes from Trac Ticket #148. --rlaager
Ka-Hing Cheung <khc@pidgin.im>
parents: 15884
diff changeset
607 char *tmp;
92409c474659 Committing khc's msnp14 changes from Trac Ticket #148. --rlaager
Ka-Hing Cheung <khc@pidgin.im>
parents: 15884
diff changeset
608
92409c474659 Committing khc's msnp14 changes from Trac Ticket #148. --rlaager
Ka-Hing Cheung <khc@pidgin.im>
parents: 15884
diff changeset
609 psm = purple_status_get_attr_string(status, "message");
21193
e918a1846d03 Use an independant status type for 'current media' stuff, instead of using
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20639
diff changeset
610 if (purple_presence_is_status_primitive_active(presence, PURPLE_STATUS_TUNE)) {
e918a1846d03 Use an independant status type for 'current media' stuff, instead of using
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20639
diff changeset
611 PurpleStatus *tune = purple_presence_get_status(presence, "tune");
e918a1846d03 Use an independant status type for 'current media' stuff, instead of using
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20639
diff changeset
612 const char *title = purple_status_get_attr_string(tune, PURPLE_TUNE_TITLE);
e918a1846d03 Use an independant status type for 'current media' stuff, instead of using
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20639
diff changeset
613 const char *artist = purple_status_get_attr_string(tune, PURPLE_TUNE_ARTIST);
22133
6eb22afb9701 Utility functions to set and format song information. Closes #4398.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 21934
diff changeset
614 const char *album = purple_status_get_attr_string(tune, PURPLE_TUNE_ALBUM);
6eb22afb9701 Utility functions to set and format song information. Closes #4398.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 21934
diff changeset
615 currentmedia = purple_util_format_song_info(title, artist, album, NULL);
21193
e918a1846d03 Use an independant status type for 'current media' stuff, instead of using
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20639
diff changeset
616 /* We could probably just use user->media.title etc. here */
e918a1846d03 Use an independant status type for 'current media' stuff, instead of using
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20639
diff changeset
617 }
13905
87ed03dbbe7e [gaim-migrate @ 17181]
Ma Yuan <mayuan2006@gmail.com>
parents: 13900
diff changeset
618
21407
0c6e5c795937 show the idle status on tooltip as well, Fixes #3744
Ka-Hing Cheung <khc@pidgin.im>
parents: 21381
diff changeset
619 if (!purple_status_is_available(status)) {
20586
928a73117b1c Fixes #2502, now we show the status name in the tooltip instead of "Status"
Ka-Hing Cheung <khc@pidgin.im>
parents: 20571
diff changeset
620 name = purple_status_get_name(status);
928a73117b1c Fixes #2502, now we show the status name in the tooltip instead of "Status"
Ka-Hing Cheung <khc@pidgin.im>
parents: 20571
diff changeset
621 } else {
928a73117b1c Fixes #2502, now we show the status name in the tooltip instead of "Status"
Ka-Hing Cheung <khc@pidgin.im>
parents: 20571
diff changeset
622 name = NULL;
928a73117b1c Fixes #2502, now we show the status name in the tooltip instead of "Status"
Ka-Hing Cheung <khc@pidgin.im>
parents: 20571
diff changeset
623 }
928a73117b1c Fixes #2502, now we show the status name in the tooltip instead of "Status"
Ka-Hing Cheung <khc@pidgin.im>
parents: 20571
diff changeset
624
928a73117b1c Fixes #2502, now we show the status name in the tooltip instead of "Status"
Ka-Hing Cheung <khc@pidgin.im>
parents: 20571
diff changeset
625 if (name != NULL && *name) {
21407
0c6e5c795937 show the idle status on tooltip as well, Fixes #3744
Ka-Hing Cheung <khc@pidgin.im>
parents: 21381
diff changeset
626 char *tmp2;
0c6e5c795937 show the idle status on tooltip as well, Fixes #3744
Ka-Hing Cheung <khc@pidgin.im>
parents: 21381
diff changeset
627
0c6e5c795937 show the idle status on tooltip as well, Fixes #3744
Ka-Hing Cheung <khc@pidgin.im>
parents: 21381
diff changeset
628 if (purple_presence_is_idle(presence)) {
0c6e5c795937 show the idle status on tooltip as well, Fixes #3744
Ka-Hing Cheung <khc@pidgin.im>
parents: 21381
diff changeset
629 tmp2 = g_markup_printf_escaped("%s/%s", name, _("Idle"));
0c6e5c795937 show the idle status on tooltip as well, Fixes #3744
Ka-Hing Cheung <khc@pidgin.im>
parents: 21381
diff changeset
630 } else {
0c6e5c795937 show the idle status on tooltip as well, Fixes #3744
Ka-Hing Cheung <khc@pidgin.im>
parents: 21381
diff changeset
631 tmp2 = g_markup_escape_text(name, -1);
0c6e5c795937 show the idle status on tooltip as well, Fixes #3744
Ka-Hing Cheung <khc@pidgin.im>
parents: 21381
diff changeset
632 }
19989
1f1bb361a75a A fix from Laszlo Pandy to make the MSN HTTP Method work again. Fixes #2638 and should make a number of people happy. This introduces a new string that isn't marked as translatable for 2.2.0 because it is so late in the game.
Daniel Atallah <datallah@pidgin.im>
parents: 19918
diff changeset
633
20586
928a73117b1c Fixes #2502, now we show the status name in the tooltip instead of "Status"
Ka-Hing Cheung <khc@pidgin.im>
parents: 20571
diff changeset
634 if (psm != NULL && *psm) {
928a73117b1c Fixes #2502, now we show the status name in the tooltip instead of "Status"
Ka-Hing Cheung <khc@pidgin.im>
parents: 20571
diff changeset
635 tmp = g_markup_escape_text(psm, -1);
928a73117b1c Fixes #2502, now we show the status name in the tooltip instead of "Status"
Ka-Hing Cheung <khc@pidgin.im>
parents: 20571
diff changeset
636 purple_notify_user_info_add_pair(user_info, tmp2, tmp);
928a73117b1c Fixes #2502, now we show the status name in the tooltip instead of "Status"
Ka-Hing Cheung <khc@pidgin.im>
parents: 20571
diff changeset
637 g_free(tmp);
928a73117b1c Fixes #2502, now we show the status name in the tooltip instead of "Status"
Ka-Hing Cheung <khc@pidgin.im>
parents: 20571
diff changeset
638 } else {
928a73117b1c Fixes #2502, now we show the status name in the tooltip instead of "Status"
Ka-Hing Cheung <khc@pidgin.im>
parents: 20571
diff changeset
639 purple_notify_user_info_add_pair(user_info, _("Status"), tmp2);
928a73117b1c Fixes #2502, now we show the status name in the tooltip instead of "Status"
Ka-Hing Cheung <khc@pidgin.im>
parents: 20571
diff changeset
640 }
928a73117b1c Fixes #2502, now we show the status name in the tooltip instead of "Status"
Ka-Hing Cheung <khc@pidgin.im>
parents: 20571
diff changeset
641
928a73117b1c Fixes #2502, now we show the status name in the tooltip instead of "Status"
Ka-Hing Cheung <khc@pidgin.im>
parents: 20571
diff changeset
642 g_free(tmp2);
928a73117b1c Fixes #2502, now we show the status name in the tooltip instead of "Status"
Ka-Hing Cheung <khc@pidgin.im>
parents: 20571
diff changeset
643 } else {
20639
e52bdb8edd5b don't show empty "Status: " anymore, which fixes a glib runtime warning
Ka-Hing Cheung <khc@pidgin.im>
parents: 20626
diff changeset
644 if (psm != NULL && *psm) {
e52bdb8edd5b don't show empty "Status: " anymore, which fixes a glib runtime warning
Ka-Hing Cheung <khc@pidgin.im>
parents: 20626
diff changeset
645 tmp = g_markup_escape_text(psm, -1);
21407
0c6e5c795937 show the idle status on tooltip as well, Fixes #3744
Ka-Hing Cheung <khc@pidgin.im>
parents: 21381
diff changeset
646 if (purple_presence_is_idle(presence)) {
0c6e5c795937 show the idle status on tooltip as well, Fixes #3744
Ka-Hing Cheung <khc@pidgin.im>
parents: 21381
diff changeset
647 purple_notify_user_info_add_pair(user_info, _("Idle"), tmp);
0c6e5c795937 show the idle status on tooltip as well, Fixes #3744
Ka-Hing Cheung <khc@pidgin.im>
parents: 21381
diff changeset
648 } else {
0c6e5c795937 show the idle status on tooltip as well, Fixes #3744
Ka-Hing Cheung <khc@pidgin.im>
parents: 21381
diff changeset
649 purple_notify_user_info_add_pair(user_info, _("Status"), tmp);
0c6e5c795937 show the idle status on tooltip as well, Fixes #3744
Ka-Hing Cheung <khc@pidgin.im>
parents: 21381
diff changeset
650 }
20639
e52bdb8edd5b don't show empty "Status: " anymore, which fixes a glib runtime warning
Ka-Hing Cheung <khc@pidgin.im>
parents: 20626
diff changeset
651 g_free(tmp);
21407
0c6e5c795937 show the idle status on tooltip as well, Fixes #3744
Ka-Hing Cheung <khc@pidgin.im>
parents: 21381
diff changeset
652 } else {
0c6e5c795937 show the idle status on tooltip as well, Fixes #3744
Ka-Hing Cheung <khc@pidgin.im>
parents: 21381
diff changeset
653 if (purple_presence_is_idle(presence)) {
0c6e5c795937 show the idle status on tooltip as well, Fixes #3744
Ka-Hing Cheung <khc@pidgin.im>
parents: 21381
diff changeset
654 purple_notify_user_info_add_pair(user_info, _("Status"),
0c6e5c795937 show the idle status on tooltip as well, Fixes #3744
Ka-Hing Cheung <khc@pidgin.im>
parents: 21381
diff changeset
655 _("Idle"));
0c6e5c795937 show the idle status on tooltip as well, Fixes #3744
Ka-Hing Cheung <khc@pidgin.im>
parents: 21381
diff changeset
656 } else {
0c6e5c795937 show the idle status on tooltip as well, Fixes #3744
Ka-Hing Cheung <khc@pidgin.im>
parents: 21381
diff changeset
657 purple_notify_user_info_add_pair(user_info, _("Status"),
0c6e5c795937 show the idle status on tooltip as well, Fixes #3744
Ka-Hing Cheung <khc@pidgin.im>
parents: 21381
diff changeset
658 purple_status_get_name(status));
0c6e5c795937 show the idle status on tooltip as well, Fixes #3744
Ka-Hing Cheung <khc@pidgin.im>
parents: 21381
diff changeset
659 }
20639
e52bdb8edd5b don't show empty "Status: " anymore, which fixes a glib runtime warning
Ka-Hing Cheung <khc@pidgin.im>
parents: 20626
diff changeset
660 }
16183
92409c474659 Committing khc's msnp14 changes from Trac Ticket #148. --rlaager
Ka-Hing Cheung <khc@pidgin.im>
parents: 15884
diff changeset
661 }
20555
c0b556851de1 removed "PSM:" label and move the message to "Status:" to be consistent with
Ka-Hing Cheung <khc@pidgin.im>
parents: 20553
diff changeset
662
16183
92409c474659 Committing khc's msnp14 changes from Trac Ticket #148. --rlaager
Ka-Hing Cheung <khc@pidgin.im>
parents: 15884
diff changeset
663 if (currentmedia) {
22133
6eb22afb9701 Utility functions to set and format song information. Closes #4398.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 21934
diff changeset
664 purple_notify_user_info_add_pair(user_info, _("Now Listening"), currentmedia);
21193
e918a1846d03 Use an independant status type for 'current media' stuff, instead of using
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20639
diff changeset
665 g_free(currentmedia);
20473
91e1b3a49d10 msn.tgz from SF Patch #1621854 from Ka-Hing Cheung
Ka-Hing Cheung <khc@pidgin.im>
parents: 20472
diff changeset
666 }
15205
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 15192
diff changeset
667 }
12948
0867a553ed26 [gaim-migrate @ 15301]
Richard Laager <rlaager@pidgin.im>
parents: 12943
diff changeset
668
0867a553ed26 [gaim-migrate @ 15301]
Richard Laager <rlaager@pidgin.im>
parents: 12943
diff changeset
669 /* XXX: This is being shown in non-full tooltips because the
0867a553ed26 [gaim-migrate @ 15301]
Richard Laager <rlaager@pidgin.im>
parents: 12943
diff changeset
670 * XXX: blocked icon overlay isn't always accurate for MSN.
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
671 * XXX: This can die as soon as purple_privacy_check() knows that
12948
0867a553ed26 [gaim-migrate @ 15301]
Richard Laager <rlaager@pidgin.im>
parents: 12943
diff changeset
672 * XXX: this prpl always honors both the allow and deny lists. */
21101
1930e94a2028 We really don't need to display Blocked: status in the tooltip for every
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 21076
diff changeset
673 /* While the above comment may be strictly correct (the privacy API needs
1930e94a2028 We really don't need to display Blocked: status in the tooltip for every
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 21076
diff changeset
674 * rewriteing), purple_privacy_check() is going to be more accurate at
1930e94a2028 We really don't need to display Blocked: status in the tooltip for every
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 21076
diff changeset
675 * indicating whether a particular buddy is going to be able to message
1930e94a2028 We really don't need to display Blocked: status in the tooltip for every
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 21076
diff changeset
676 * you, which is the important information that this is trying to convey.
1930e94a2028 We really don't need to display Blocked: status in the tooltip for every
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 21076
diff changeset
677 */
1930e94a2028 We really don't need to display Blocked: status in the tooltip for every
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 21076
diff changeset
678 if (full && user)
15205
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 15192
diff changeset
679 {
22387
47aab6e7eae8 Display buddies' phone numbers in the tooltip for MSN buddies if we have
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 22265
diff changeset
680 const char *phone;
47aab6e7eae8 Display buddies' phone numbers in the tooltip for MSN buddies if we have
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 22265
diff changeset
681
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
682 purple_notify_user_info_add_pair(user_info, _("Blocked"),
15205
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 15192
diff changeset
683 ((user->list_op & (1 << MSN_LIST_BL)) ? _("Yes") : _("No")));
22387
47aab6e7eae8 Display buddies' phone numbers in the tooltip for MSN buddies if we have
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 22265
diff changeset
684
47aab6e7eae8 Display buddies' phone numbers in the tooltip for MSN buddies if we have
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 22265
diff changeset
685 phone = msn_user_get_home_phone(user);
47aab6e7eae8 Display buddies' phone numbers in the tooltip for MSN buddies if we have
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 22265
diff changeset
686 if (phone != NULL)
47aab6e7eae8 Display buddies' phone numbers in the tooltip for MSN buddies if we have
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 22265
diff changeset
687 purple_notify_user_info_add_pair(user_info, _("Home Phone Number"), phone);
47aab6e7eae8 Display buddies' phone numbers in the tooltip for MSN buddies if we have
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 22265
diff changeset
688
47aab6e7eae8 Display buddies' phone numbers in the tooltip for MSN buddies if we have
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 22265
diff changeset
689 phone = msn_user_get_work_phone(user);
47aab6e7eae8 Display buddies' phone numbers in the tooltip for MSN buddies if we have
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 22265
diff changeset
690 if (phone != NULL)
47aab6e7eae8 Display buddies' phone numbers in the tooltip for MSN buddies if we have
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 22265
diff changeset
691 purple_notify_user_info_add_pair(user_info, _("Work Phone Number"), phone);
47aab6e7eae8 Display buddies' phone numbers in the tooltip for MSN buddies if we have
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 22265
diff changeset
692
47aab6e7eae8 Display buddies' phone numbers in the tooltip for MSN buddies if we have
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 22265
diff changeset
693 phone = msn_user_get_mobile_phone(user);
47aab6e7eae8 Display buddies' phone numbers in the tooltip for MSN buddies if we have
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 22265
diff changeset
694 if (phone != NULL)
47aab6e7eae8 Display buddies' phone numbers in the tooltip for MSN buddies if we have
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 22265
diff changeset
695 purple_notify_user_info_add_pair(user_info, _("Mobile Phone Number"), phone);
10093
e22f76d46b0b [gaim-migrate @ 11111]
Evan Schoenberg <evands@pidgin.im>
parents: 10069
diff changeset
696 }
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
697 }
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
698
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
699 static GList *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
700 msn_status_types(PurpleAccount *account)
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
701 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
702 PurpleStatusType *status;
9951
19b949eca7f8 [gaim-migrate @ 10847]
Nathan Walp <nwalp@pidgin.im>
parents: 9943
diff changeset
703 GList *types = NULL;
19b949eca7f8 [gaim-migrate @ 10847]
Nathan Walp <nwalp@pidgin.im>
parents: 9943
diff changeset
704
20478
46933dc62880 propagate from branch 'im.pidgin.pidgin' (head 88b7040408c88e4516c008f4eac579f98ef53e85)
Richard Laager <rlaager@pidgin.im>
parents: 20476 15884
diff changeset
705 status = purple_status_type_new_with_attrs(
46933dc62880 propagate from branch 'im.pidgin.pidgin' (head 88b7040408c88e4516c008f4eac579f98ef53e85)
Richard Laager <rlaager@pidgin.im>
parents: 20476 15884
diff changeset
706 PURPLE_STATUS_AVAILABLE, NULL, NULL, TRUE, TRUE, FALSE,
46933dc62880 propagate from branch 'im.pidgin.pidgin' (head 88b7040408c88e4516c008f4eac579f98ef53e85)
Richard Laager <rlaager@pidgin.im>
parents: 20476 15884
diff changeset
707 "message", _("Message"), purple_value_new(PURPLE_TYPE_STRING),
13888
bda6f562e1e6 [gaim-migrate @ 17003]
Ma Yuan <mayuan2006@gmail.com>
parents: 13870
diff changeset
708 NULL);
9967
7400b348ff62 [gaim-migrate @ 10877]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9953
diff changeset
709 types = g_list_append(types, status);
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
710
20478
46933dc62880 propagate from branch 'im.pidgin.pidgin' (head 88b7040408c88e4516c008f4eac579f98ef53e85)
Richard Laager <rlaager@pidgin.im>
parents: 20476 15884
diff changeset
711 status = purple_status_type_new_with_attrs(
46933dc62880 propagate from branch 'im.pidgin.pidgin' (head 88b7040408c88e4516c008f4eac579f98ef53e85)
Richard Laager <rlaager@pidgin.im>
parents: 20476 15884
diff changeset
712 PURPLE_STATUS_AWAY, NULL, NULL, TRUE, TRUE, FALSE,
46933dc62880 propagate from branch 'im.pidgin.pidgin' (head 88b7040408c88e4516c008f4eac579f98ef53e85)
Richard Laager <rlaager@pidgin.im>
parents: 20476 15884
diff changeset
713 "message", _("Message"), purple_value_new(PURPLE_TYPE_STRING),
13888
bda6f562e1e6 [gaim-migrate @ 17003]
Ma Yuan <mayuan2006@gmail.com>
parents: 13870
diff changeset
714 NULL);
9967
7400b348ff62 [gaim-migrate @ 10877]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9953
diff changeset
715 types = g_list_append(types, status);
7400b348ff62 [gaim-migrate @ 10877]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9953
diff changeset
716
20478
46933dc62880 propagate from branch 'im.pidgin.pidgin' (head 88b7040408c88e4516c008f4eac579f98ef53e85)
Richard Laager <rlaager@pidgin.im>
parents: 20476 15884
diff changeset
717 status = purple_status_type_new_with_attrs(
46933dc62880 propagate from branch 'im.pidgin.pidgin' (head 88b7040408c88e4516c008f4eac579f98ef53e85)
Richard Laager <rlaager@pidgin.im>
parents: 20476 15884
diff changeset
718 PURPLE_STATUS_AWAY, "brb", _("Be Right Back"), TRUE, TRUE, FALSE,
46933dc62880 propagate from branch 'im.pidgin.pidgin' (head 88b7040408c88e4516c008f4eac579f98ef53e85)
Richard Laager <rlaager@pidgin.im>
parents: 20476 15884
diff changeset
719 "message", _("Message"), purple_value_new(PURPLE_TYPE_STRING),
13888
bda6f562e1e6 [gaim-migrate @ 17003]
Ma Yuan <mayuan2006@gmail.com>
parents: 13870
diff changeset
720 NULL);
9967
7400b348ff62 [gaim-migrate @ 10877]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9953
diff changeset
721 types = g_list_append(types, status);
7400b348ff62 [gaim-migrate @ 10877]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9953
diff changeset
722
20478
46933dc62880 propagate from branch 'im.pidgin.pidgin' (head 88b7040408c88e4516c008f4eac579f98ef53e85)
Richard Laager <rlaager@pidgin.im>
parents: 20476 15884
diff changeset
723 status = purple_status_type_new_with_attrs(
20520
49dd75a0c895 Patch from Pse to use the same status primitives as im.pidgin.pidgin for
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 20508
diff changeset
724 PURPLE_STATUS_UNAVAILABLE, "busy", _("Busy"), TRUE, TRUE, FALSE,
20478
46933dc62880 propagate from branch 'im.pidgin.pidgin' (head 88b7040408c88e4516c008f4eac579f98ef53e85)
Richard Laager <rlaager@pidgin.im>
parents: 20476 15884
diff changeset
725 "message", _("Message"), purple_value_new(PURPLE_TYPE_STRING),
13888
bda6f562e1e6 [gaim-migrate @ 17003]
Ma Yuan <mayuan2006@gmail.com>
parents: 13870
diff changeset
726 NULL);
9967
7400b348ff62 [gaim-migrate @ 10877]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9953
diff changeset
727 types = g_list_append(types, status);
20478
46933dc62880 propagate from branch 'im.pidgin.pidgin' (head 88b7040408c88e4516c008f4eac579f98ef53e85)
Richard Laager <rlaager@pidgin.im>
parents: 20476 15884
diff changeset
728 status = purple_status_type_new_with_attrs(
20520
49dd75a0c895 Patch from Pse to use the same status primitives as im.pidgin.pidgin for
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 20508
diff changeset
729 PURPLE_STATUS_UNAVAILABLE, "phone", _("On the Phone"), TRUE, TRUE, FALSE,
20478
46933dc62880 propagate from branch 'im.pidgin.pidgin' (head 88b7040408c88e4516c008f4eac579f98ef53e85)
Richard Laager <rlaager@pidgin.im>
parents: 20476 15884
diff changeset
730 "message", _("Message"), purple_value_new(PURPLE_TYPE_STRING),
13888
bda6f562e1e6 [gaim-migrate @ 17003]
Ma Yuan <mayuan2006@gmail.com>
parents: 13870
diff changeset
731 NULL);
9967
7400b348ff62 [gaim-migrate @ 10877]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9953
diff changeset
732 types = g_list_append(types, status);
20478
46933dc62880 propagate from branch 'im.pidgin.pidgin' (head 88b7040408c88e4516c008f4eac579f98ef53e85)
Richard Laager <rlaager@pidgin.im>
parents: 20476 15884
diff changeset
733 status = purple_status_type_new_with_attrs(
46933dc62880 propagate from branch 'im.pidgin.pidgin' (head 88b7040408c88e4516c008f4eac579f98ef53e85)
Richard Laager <rlaager@pidgin.im>
parents: 20476 15884
diff changeset
734 PURPLE_STATUS_AWAY, "lunch", _("Out to Lunch"), TRUE, TRUE, FALSE,
46933dc62880 propagate from branch 'im.pidgin.pidgin' (head 88b7040408c88e4516c008f4eac579f98ef53e85)
Richard Laager <rlaager@pidgin.im>
parents: 20476 15884
diff changeset
735 "message", _("Message"), purple_value_new(PURPLE_TYPE_STRING),
13888
bda6f562e1e6 [gaim-migrate @ 17003]
Ma Yuan <mayuan2006@gmail.com>
parents: 13870
diff changeset
736 NULL);
9967
7400b348ff62 [gaim-migrate @ 10877]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9953
diff changeset
737 types = g_list_append(types, status);
7400b348ff62 [gaim-migrate @ 10877]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9953
diff changeset
738
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
739 status = purple_status_type_new_full(PURPLE_STATUS_INVISIBLE,
12595
8108c22aa723 [gaim-migrate @ 14925]
Richard Laager <rlaager@pidgin.im>
parents: 12489
diff changeset
740 NULL, NULL, FALSE, TRUE, FALSE);
9967
7400b348ff62 [gaim-migrate @ 10877]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9953
diff changeset
741 types = g_list_append(types, status);
9951
19b949eca7f8 [gaim-migrate @ 10847]
Nathan Walp <nwalp@pidgin.im>
parents: 9943
diff changeset
742
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
743 status = purple_status_type_new_full(PURPLE_STATUS_OFFLINE,
12658
4aa7a873628d [gaim-migrate @ 15001]
Mark Doliner <markdoliner@pidgin.im>
parents: 12645
diff changeset
744 NULL, NULL, FALSE, TRUE, FALSE);
4aa7a873628d [gaim-migrate @ 15001]
Mark Doliner <markdoliner@pidgin.im>
parents: 12645
diff changeset
745 types = g_list_append(types, status);
19989
1f1bb361a75a A fix from Laszlo Pandy to make the MSN HTTP Method work again. Fixes #2638 and should make a number of people happy. This introduces a new string that isn't marked as translatable for 2.2.0 because it is so late in the game.
Daniel Atallah <datallah@pidgin.im>
parents: 19918
diff changeset
746
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
747 status = purple_status_type_new_full(PURPLE_STATUS_MOBILE,
15602
6d1d20a9e297 This is my attempt at MSN mobile status, but I suspect MSN mobile status doesn't exist. If it's confirmed that it doesn't, I'll revert this. But I want to keep it for posterity, in case it does exist
Sean Egan <seanegan@pidgin.im>
parents: 15524
diff changeset
748 "mobile", NULL, FALSE, FALSE, TRUE);
6d1d20a9e297 This is my attempt at MSN mobile status, but I suspect MSN mobile status doesn't exist. If it's confirmed that it doesn't, I'll revert this. But I want to keep it for posterity, in case it does exist
Sean Egan <seanegan@pidgin.im>
parents: 15524
diff changeset
749 types = g_list_append(types, status);
19989
1f1bb361a75a A fix from Laszlo Pandy to make the MSN HTTP Method work again. Fixes #2638 and should make a number of people happy. This introduces a new string that isn't marked as translatable for 2.2.0 because it is so late in the game.
Daniel Atallah <datallah@pidgin.im>
parents: 19918
diff changeset
750
21193
e918a1846d03 Use an independant status type for 'current media' stuff, instead of using
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20639
diff changeset
751 status = purple_status_type_new_with_attrs(PURPLE_STATUS_TUNE,
21199
346f83590d69 Is there any reason these statuses were set to not saveable and
Mark Doliner <markdoliner@pidgin.im>
parents: 21193
diff changeset
752 "tune", NULL, TRUE, TRUE, TRUE,
21193
e918a1846d03 Use an independant status type for 'current media' stuff, instead of using
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20639
diff changeset
753 PURPLE_TUNE_ARTIST, _("Artist"), purple_value_new(PURPLE_TYPE_STRING),
e918a1846d03 Use an independant status type for 'current media' stuff, instead of using
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20639
diff changeset
754 PURPLE_TUNE_ALBUM, _("Album"), purple_value_new(PURPLE_TYPE_STRING),
e918a1846d03 Use an independant status type for 'current media' stuff, instead of using
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20639
diff changeset
755 PURPLE_TUNE_TITLE, _("Title"), purple_value_new(PURPLE_TYPE_STRING),
e918a1846d03 Use an independant status type for 'current media' stuff, instead of using
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20639
diff changeset
756 NULL);
e918a1846d03 Use an independant status type for 'current media' stuff, instead of using
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20639
diff changeset
757 types = g_list_append(types, status);
e918a1846d03 Use an independant status type for 'current media' stuff, instead of using
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20639
diff changeset
758
9951
19b949eca7f8 [gaim-migrate @ 10847]
Nathan Walp <nwalp@pidgin.im>
parents: 9943
diff changeset
759 return types;
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
760 }
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
761
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
762 static GList *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
763 msn_actions(PurplePlugin *plugin, gpointer context)
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
764 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
765 PurpleConnection *gc = (PurpleConnection *)context;
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
766 PurpleAccount *account;
11321
a93121c0ea16 [gaim-migrate @ 13525]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11257
diff changeset
767 const char *user;
a93121c0ea16 [gaim-migrate @ 13525]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11257
diff changeset
768
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
769 GList *m = NULL;
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
770 PurplePluginAction *act;
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
771
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
772 act = purple_plugin_action_new(_("Set Friendly Name..."),
9158
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
773 msn_show_set_friendly_name);
9015
3c27e9074fa2 [gaim-migrate @ 9791]
Christopher O'Brien <siege@pidgin.im>
parents: 8993
diff changeset
774 m = g_list_append(m, act);
5364
d423753cfd63 [gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents: 5363
diff changeset
775 m = g_list_append(m, NULL);
d423753cfd63 [gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents: 5363
diff changeset
776
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
777 act = purple_plugin_action_new(_("Set Home Phone Number..."),
9158
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
778 msn_show_set_home_phone);
9015
3c27e9074fa2 [gaim-migrate @ 9791]
Christopher O'Brien <siege@pidgin.im>
parents: 8993
diff changeset
779 m = g_list_append(m, act);
5363
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
780
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
781 act = purple_plugin_action_new(_("Set Work Phone Number..."),
9015
3c27e9074fa2 [gaim-migrate @ 9791]
Christopher O'Brien <siege@pidgin.im>
parents: 8993
diff changeset
782 msn_show_set_work_phone);
3c27e9074fa2 [gaim-migrate @ 9791]
Christopher O'Brien <siege@pidgin.im>
parents: 8993
diff changeset
783 m = g_list_append(m, act);
5363
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
784
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
785 act = purple_plugin_action_new(_("Set Mobile Phone Number..."),
9015
3c27e9074fa2 [gaim-migrate @ 9791]
Christopher O'Brien <siege@pidgin.im>
parents: 8993
diff changeset
786 msn_show_set_mobile_phone);
3c27e9074fa2 [gaim-migrate @ 9791]
Christopher O'Brien <siege@pidgin.im>
parents: 8993
diff changeset
787 m = g_list_append(m, act);
5364
d423753cfd63 [gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents: 5363
diff changeset
788 m = g_list_append(m, NULL);
d423753cfd63 [gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents: 5363
diff changeset
789
d423753cfd63 [gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents: 5363
diff changeset
790 #if 0
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
791 act = purple_plugin_action_new(_("Enable/Disable Mobile Devices..."),
9015
3c27e9074fa2 [gaim-migrate @ 9791]
Christopher O'Brien <siege@pidgin.im>
parents: 8993
diff changeset
792 msn_show_set_mobile_support);
3c27e9074fa2 [gaim-migrate @ 9791]
Christopher O'Brien <siege@pidgin.im>
parents: 8993
diff changeset
793 m = g_list_append(m, act);
5364
d423753cfd63 [gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents: 5363
diff changeset
794 #endif
d423753cfd63 [gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents: 5363
diff changeset
795
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
796 act = purple_plugin_action_new(_("Allow/Disallow Mobile Pages..."),
9015
3c27e9074fa2 [gaim-migrate @ 9791]
Christopher O'Brien <siege@pidgin.im>
parents: 8993
diff changeset
797 msn_show_set_mobile_pages);
3c27e9074fa2 [gaim-migrate @ 9791]
Christopher O'Brien <siege@pidgin.im>
parents: 8993
diff changeset
798 m = g_list_append(m, act);
5364
d423753cfd63 [gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents: 5363
diff changeset
799
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
800 account = purple_connection_get_account(gc);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
801 user = msn_normalize(account, purple_account_get_username(account));
11321
a93121c0ea16 [gaim-migrate @ 13525]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11257
diff changeset
802
17255
a4f1d0f9b81b Support for @msn.com accounts when opening Inbox, and unconditioanlly request
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 17251
diff changeset
803 if ((strstr(user, "@hotmail.") != NULL) ||
a4f1d0f9b81b Support for @msn.com accounts when opening Inbox, and unconditioanlly request
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 17251
diff changeset
804 (strstr(user, "@msn.com") != NULL))
11321
a93121c0ea16 [gaim-migrate @ 13525]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11257
diff changeset
805 {
a93121c0ea16 [gaim-migrate @ 13525]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11257
diff changeset
806 m = g_list_append(m, NULL);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
807 act = purple_plugin_action_new(_("Open Hotmail Inbox"),
11321
a93121c0ea16 [gaim-migrate @ 13525]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11257
diff changeset
808 msn_show_hotmail_inbox);
a93121c0ea16 [gaim-migrate @ 13525]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11257
diff changeset
809 m = g_list_append(m, act);
a93121c0ea16 [gaim-migrate @ 13525]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11257
diff changeset
810 }
a93121c0ea16 [gaim-migrate @ 13525]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11257
diff changeset
811
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
812 return m;
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
813 }
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
814
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
815 static GList *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
816 msn_buddy_menu(PurpleBuddy *buddy)
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
817 {
5372
6fa63c80ea61 [gaim-migrate @ 5748]
Christian Hammond <chipx86@chipx86.com>
parents: 5369
diff changeset
818 MsnUser *user;
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
819
9030
7b574a641391 [gaim-migrate @ 9806]
Mark Doliner <markdoliner@pidgin.im>
parents: 9015
diff changeset
820 GList *m = NULL;
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
821 PurpleMenuAction *act;
6858
a367cfd3e75f [gaim-migrate @ 7403]
Christian Hammond <chipx86@chipx86.com>
parents: 6842
diff changeset
822
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
823 g_return_val_if_fail(buddy != NULL, NULL);
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
824
9030
7b574a641391 [gaim-migrate @ 9806]
Mark Doliner <markdoliner@pidgin.im>
parents: 9015
diff changeset
825 user = buddy->proto_data;
9158
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
826
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
827 if (user != NULL)
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
828 {
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
829 if (user->mobile)
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
830 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
831 act = purple_menu_action_new(_("Send to Mobile"),
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
832 PURPLE_CALLBACK(show_send_to_mobile_cb),
12919
519199cca273 [gaim-migrate @ 15272]
Etan Reisner <deryni@pidgin.im>
parents: 12886
diff changeset
833 NULL, NULL);
9030
7b574a641391 [gaim-migrate @ 9806]
Mark Doliner <markdoliner@pidgin.im>
parents: 9015
diff changeset
834 m = g_list_append(m, act);
5382
8580140115ea [gaim-migrate @ 5758]
Christian Hammond <chipx86@chipx86.com>
parents: 5379
diff changeset
835 }
5369
12dc1957e1b2 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
836 }
12dc1957e1b2 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
837
9158
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
838 if (g_ascii_strcasecmp(buddy->name,
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
839 purple_account_get_username(buddy->account)))
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
840 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
841 act = purple_menu_action_new(_("Initiate _Chat"),
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
842 PURPLE_CALLBACK(initiate_chat_cb),
12919
519199cca273 [gaim-migrate @ 15272]
Etan Reisner <deryni@pidgin.im>
parents: 12886
diff changeset
843 NULL, NULL);
9030
7b574a641391 [gaim-migrate @ 9806]
Mark Doliner <markdoliner@pidgin.im>
parents: 9015
diff changeset
844 m = g_list_append(m, act);
6148
e3e81ed229c2 [gaim-migrate @ 6622]
Christian Hammond <chipx86@chipx86.com>
parents: 6059
diff changeset
845 }
e3e81ed229c2 [gaim-migrate @ 6622]
Christian Hammond <chipx86@chipx86.com>
parents: 6059
diff changeset
846
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
847 return m;
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
848 }
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
849
9030
7b574a641391 [gaim-migrate @ 9806]
Mark Doliner <markdoliner@pidgin.im>
parents: 9015
diff changeset
850 static GList *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
851 msn_blist_node_menu(PurpleBlistNode *node)
9030
7b574a641391 [gaim-migrate @ 9806]
Mark Doliner <markdoliner@pidgin.im>
parents: 9015
diff changeset
852 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
853 if(PURPLE_BLIST_NODE_IS_BUDDY(node))
9158
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
854 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
855 return msn_buddy_menu((PurpleBuddy *) node);
9158
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
856 }
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
857 else
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
858 {
9030
7b574a641391 [gaim-migrate @ 9806]
Mark Doliner <markdoliner@pidgin.im>
parents: 9015
diff changeset
859 return NULL;
7b574a641391 [gaim-migrate @ 9806]
Mark Doliner <markdoliner@pidgin.im>
parents: 9015
diff changeset
860 }
7b574a641391 [gaim-migrate @ 9806]
Mark Doliner <markdoliner@pidgin.im>
parents: 9015
diff changeset
861 }
7b574a641391 [gaim-migrate @ 9806]
Mark Doliner <markdoliner@pidgin.im>
parents: 9015
diff changeset
862
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
863 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
864 msn_login(PurpleAccount *account)
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
865 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
866 PurpleConnection *gc;
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
867 MsnSession *session;
5564
1779a1bfbdb8 [gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents: 5518
diff changeset
868 const char *username;
9158
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
869 const char *host;
7288
486e8b44a14b [gaim-migrate @ 7869]
Christian Hammond <chipx86@chipx86.com>
parents: 7277
diff changeset
870 gboolean http_method = FALSE;
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
871 int port;
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
872
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
873 gc = purple_account_get_connection(account);
7277
30f81cac2e3a [gaim-migrate @ 7856]
Christian Hammond <chipx86@chipx86.com>
parents: 7262
diff changeset
874
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
875 if (!purple_ssl_is_supported())
7277
30f81cac2e3a [gaim-migrate @ 7856]
Christian Hammond <chipx86@chipx86.com>
parents: 7262
diff changeset
876 {
21279
40685e1f50ca Rename:
Will Thompson <resiak@pidgin.im>
parents: 21211
diff changeset
877 purple_connection_error_reason (gc,
40685e1f50ca Rename:
Will Thompson <resiak@pidgin.im>
parents: 21211
diff changeset
878 PURPLE_CONNECTION_ERROR_NO_SSL_SUPPORT,
8499
bbe91550c012 [gaim-migrate @ 9235]
Robert Mibus <mibus@mibus.org>
parents: 8475
diff changeset
879 _("SSL support is needed for MSN. Please install a supported "
21934
520eb16688da Stu says this was unnecessary, that it is already there.
Luke Schierer <lschiere@pidgin.im>
parents: 21931
diff changeset
880 "SSL library."));
7277
30f81cac2e3a [gaim-migrate @ 7856]
Christian Hammond <chipx86@chipx86.com>
parents: 7262
diff changeset
881 return;
30f81cac2e3a [gaim-migrate @ 7856]
Christian Hammond <chipx86@chipx86.com>
parents: 7262
diff changeset
882 }
30f81cac2e3a [gaim-migrate @ 7856]
Christian Hammond <chipx86@chipx86.com>
parents: 7262
diff changeset
883
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
884 http_method = purple_account_get_bool(account, "http_method", FALSE);
7288
486e8b44a14b [gaim-migrate @ 7869]
Christian Hammond <chipx86@chipx86.com>
parents: 7277
diff changeset
885
19989
1f1bb361a75a A fix from Laszlo Pandy to make the MSN HTTP Method work again. Fixes #2638 and should make a number of people happy. This introduces a new string that isn't marked as translatable for 2.2.0 because it is so late in the game.
Daniel Atallah <datallah@pidgin.im>
parents: 19918
diff changeset
886 if (http_method)
20171
619991c900b7 Merged MSN_HTTPCONN_SERVER fix
Evan Schoenberg <evands@pidgin.im>
parents: 20077
diff changeset
887 host = purple_account_get_string(account, "http_method_server", MSN_HTTPCONN_SERVER);
19989
1f1bb361a75a A fix from Laszlo Pandy to make the MSN HTTP Method work again. Fixes #2638 and should make a number of people happy. This introduces a new string that isn't marked as translatable for 2.2.0 because it is so late in the game.
Daniel Atallah <datallah@pidgin.im>
parents: 19918
diff changeset
888 else
1f1bb361a75a A fix from Laszlo Pandy to make the MSN HTTP Method work again. Fixes #2638 and should make a number of people happy. This introduces a new string that isn't marked as translatable for 2.2.0 because it is so late in the game.
Daniel Atallah <datallah@pidgin.im>
parents: 19918
diff changeset
889 host = purple_account_get_string(account, "server", MSN_SERVER);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
890 port = purple_account_get_int(account, "port", MSN_PORT);
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
891
10481
a5d6b8e1717d [gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10463
diff changeset
892 session = msn_session_new(account);
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
893
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
894 gc->proto_data = session;
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
895 gc->flags |= PURPLE_CONNECTION_HTML | PURPLE_CONNECTION_FORMATTING_WBFO | PURPLE_CONNECTION_NO_BGCOLOR | PURPLE_CONNECTION_NO_FONTSIZE | PURPLE_CONNECTION_NO_URLDESC;
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
896
10481
a5d6b8e1717d [gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10463
diff changeset
897 msn_session_set_login_step(session, MSN_LOGIN_STEP_START);
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
898
5564
1779a1bfbdb8 [gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents: 5518
diff changeset
899 /* Hmm, I don't like this. */
10481
a5d6b8e1717d [gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10463
diff changeset
900 /* XXX shx: Me neither */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
901 username = msn_normalize(account, purple_account_get_username(account));
5564
1779a1bfbdb8 [gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents: 5518
diff changeset
902
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
903 if (strcmp(username, purple_account_get_username(account)))
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
904 purple_account_set_username(account, username);
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
905
10568
15f02c0e7fc1 [gaim-migrate @ 11954]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10533
diff changeset
906 if (!msn_session_connect(session, host, port, http_method))
21279
40685e1f50ca Rename:
Will Thompson <resiak@pidgin.im>
parents: 21211
diff changeset
907 purple_connection_error_reason (gc,
40685e1f50ca Rename:
Will Thompson <resiak@pidgin.im>
parents: 21211
diff changeset
908 PURPLE_CONNECTION_ERROR_NETWORK_ERROR,
20448
7ad9785266ea Use purple_connection_error_reason in prpl-msn.
Will Thompson <resiak@pidgin.im>
parents: 20340
diff changeset
909 _("Failed to connect to server."));
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
910 }
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
911
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
912 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
913 msn_close(PurpleConnection *gc)
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
914 {
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
915 MsnSession *session;
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
916
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
917 session = gc->proto_data;
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
918
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
919 g_return_if_fail(session != NULL);
8298
eb6f1096ffa6 [gaim-migrate @ 9022]
Christian Hammond <chipx86@chipx86.com>
parents: 8291
diff changeset
920
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
921 msn_session_destroy(session);
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
922
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
923 gc->proto_data = NULL;
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
924 }
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
925
17103
d7806e6686a7 In MSN we fake sending messages to yourself. This had a small bug in that
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 17089
diff changeset
926 static gboolean
d7806e6686a7 In MSN we fake sending messages to yourself. This had a small bug in that
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 17089
diff changeset
927 msn_send_me_im(gpointer data)
d7806e6686a7 In MSN we fake sending messages to yourself. This had a small bug in that
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 17089
diff changeset
928 {
d7806e6686a7 In MSN we fake sending messages to yourself. This had a small bug in that
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 17089
diff changeset
929 MsnIMData *imdata = data;
d7806e6686a7 In MSN we fake sending messages to yourself. This had a small bug in that
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 17089
diff changeset
930 serv_got_im(imdata->gc, imdata->who, imdata->msg, imdata->flags, imdata->when);
d7806e6686a7 In MSN we fake sending messages to yourself. This had a small bug in that
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 17089
diff changeset
931 g_free(imdata->msg);
d7806e6686a7 In MSN we fake sending messages to yourself. This had a small bug in that
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 17089
diff changeset
932 g_free(imdata);
d7806e6686a7 In MSN we fake sending messages to yourself. This had a small bug in that
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 17089
diff changeset
933 return FALSE;
d7806e6686a7 In MSN we fake sending messages to yourself. This had a small bug in that
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 17089
diff changeset
934 }
d7806e6686a7 In MSN we fake sending messages to yourself. This had a small bug in that
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 17089
diff changeset
935
22653
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
936 static GString*
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
937 msn_msg_emoticon_add(GString *current, MsnEmoticon *emoticon)
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
938 {
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
939 MsnObject *obj;
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
940 char *strobj;
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
941
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
942 if (emoticon == NULL)
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
943 return current;
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
944
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
945 obj = emoticon->obj;
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
946
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
947 if (!obj)
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
948 return current;
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
949
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
950 strobj = msn_object_to_string(obj);
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
951
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
952 if (current)
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
953 g_string_append_printf(current, "\t%s\t%s",
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
954 emoticon->smile, strobj);
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
955 else {
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
956 current = g_string_new("");
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
957 g_string_printf(current,"%s\t%s",
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
958 emoticon->smile, strobj);
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
959 }
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
960
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
961 g_free(strobj);
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
962
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
963 return current;
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
964 }
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
965
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
966 static void
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
967 msn_send_emoticons(MsnSwitchBoard *swboard, GString *body)
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
968 {
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
969 MsnMessage *msg;
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
970
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
971 g_return_if_fail(body != NULL);
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
972
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
973 msg = msn_message_new(MSN_MSG_SLP);
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
974 msn_message_set_content_type(msg, "text/x-mms-emoticon");
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
975 msn_message_set_flag(msg, 'N');
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
976 msn_message_set_bin_data(msg, body->str, body->len);
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
977
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
978 msn_switchboard_send_msg(swboard, msg, TRUE);
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
979 msn_message_destroy(msg);
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
980 }
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
981
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
982 static void msn_emoticon_destroy(MsnEmoticon *emoticon)
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
983 {
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
984 if (emoticon->obj)
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
985 msn_object_destroy(emoticon->obj);
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
986 g_free(emoticon->smile);
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
987 g_free(emoticon);
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
988 }
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
989
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
990 static GSList* msn_msg_grab_emoticons(const char *msg, const char *username)
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
991 {
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
992 GSList *list;
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
993 GList *smileys;
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
994 PurpleSmiley *smiley;
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
995 PurpleStoredImage *img;
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
996 char *ptr;
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
997 MsnEmoticon *emoticon;
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
998 int length;
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
999
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1000 list = NULL;
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1001 smileys = purple_smileys_get_all();
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1002 length = strlen(msg);
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1003
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1004 for (; smileys; smileys = g_list_delete_link(smileys, smileys)) {
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1005 smiley = smileys->data;
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1006
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1007 ptr = g_strstr_len(msg, length, purple_smiley_get_shortcut(smiley));
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1008
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1009 if (!ptr)
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1010 continue;
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1011
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1012 img = purple_smiley_get_stored_image(smiley);
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1013
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1014 emoticon = g_new0(MsnEmoticon, 1);
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1015 emoticon->smile = g_strdup(purple_smiley_get_shortcut(smiley));
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1016 emoticon->obj = msn_object_new_from_image(img,
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1017 purple_imgstore_get_filename(img),
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1018 username, MSN_OBJECT_EMOTICON);
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1019
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1020 purple_imgstore_unref(img);
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1021 list = g_slist_prepend(list, emoticon);
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1022 }
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1023
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1024 return list;
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1025 }
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1026
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1027 static int
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1028 msn_send_im(PurpleConnection *gc, const char *who, const char *message,
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1029 PurpleMessageFlags flags)
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1030 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1031 PurpleAccount *account;
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1032 PurpleBuddy *buddy = purple_find_buddy(gc->account, who);
10275
186d84a66cc3 [gaim-migrate @ 11428]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10274
diff changeset
1033 MsnMessage *msg;
186d84a66cc3 [gaim-migrate @ 11428]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10274
diff changeset
1034 char *msgformat;
186d84a66cc3 [gaim-migrate @ 11428]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10274
diff changeset
1035 char *msgtext;
22653
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1036 const char *username;
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1037
20550
af5abde0d99f Misc cleanups, better error handling, and print the Address Book received from the server in a human readable way.
Carlos Silva <typ0@pidgin.im>
parents: 20542
diff changeset
1038 purple_debug_info("MSNP14","send IM {%s} to %s\n",message,who);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1039 account = purple_connection_get_account(gc);
22653
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1040 username = purple_account_get_username(account);
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1041
15602
6d1d20a9e297 This is my attempt at MSN mobile status, but I suspect MSN mobile status doesn't exist. If it's confirmed that it doesn't, I'll revert this. But I want to keep it for posterity, in case it does exist
Sean Egan <seanegan@pidgin.im>
parents: 15524
diff changeset
1042 if (buddy) {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1043 PurplePresence *p = purple_buddy_get_presence(buddy);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1044 if (purple_presence_is_status_primitive_active(p, PURPLE_STATUS_MOBILE)) {
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1045 char *text = purple_markup_strip_html(message);
15602
6d1d20a9e297 This is my attempt at MSN mobile status, but I suspect MSN mobile status doesn't exist. If it's confirmed that it doesn't, I'll revert this. But I want to keep it for posterity, in case it does exist
Sean Egan <seanegan@pidgin.im>
parents: 15524
diff changeset
1046 send_to_mobile(gc, who, text);
6d1d20a9e297 This is my attempt at MSN mobile status, but I suspect MSN mobile status doesn't exist. If it's confirmed that it doesn't, I'll revert this. But I want to keep it for posterity, in case it does exist
Sean Egan <seanegan@pidgin.im>
parents: 15524
diff changeset
1047 g_free(text);
15654
fb4e6617313e Get rid of a minor compile warning
Mark Doliner <markdoliner@pidgin.im>
parents: 15602
diff changeset
1048 return 1;
15602
6d1d20a9e297 This is my attempt at MSN mobile status, but I suspect MSN mobile status doesn't exist. If it's confirmed that it doesn't, I'll revert this. But I want to keep it for posterity, in case it does exist
Sean Egan <seanegan@pidgin.im>
parents: 15524
diff changeset
1049 }
6d1d20a9e297 This is my attempt at MSN mobile status, but I suspect MSN mobile status doesn't exist. If it's confirmed that it doesn't, I'll revert this. But I want to keep it for posterity, in case it does exist
Sean Egan <seanegan@pidgin.im>
parents: 15524
diff changeset
1050 }
6d1d20a9e297 This is my attempt at MSN mobile status, but I suspect MSN mobile status doesn't exist. If it's confirmed that it doesn't, I'll revert this. But I want to keep it for posterity, in case it does exist
Sean Egan <seanegan@pidgin.im>
parents: 15524
diff changeset
1051
10275
186d84a66cc3 [gaim-migrate @ 11428]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10274
diff changeset
1052 msn_import_html(message, &msgformat, &msgtext);
13900
ce507a208510 [gaim-migrate @ 17056]
Ma Yuan <mayuan2006@gmail.com>
parents: 13898
diff changeset
1053 if(msn_user_is_online(account, who)||
ce507a208510 [gaim-migrate @ 17056]
Ma Yuan <mayuan2006@gmail.com>
parents: 13898
diff changeset
1054 msn_user_is_yahoo(account, who)){
13893
228bc0341563 [gaim-migrate @ 17034]
Ma Yuan <mayuan2006@gmail.com>
parents: 13888
diff changeset
1055 /*User online,then send Online Instant Message*/
10275
186d84a66cc3 [gaim-migrate @ 11428]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10274
diff changeset
1056
13893
228bc0341563 [gaim-migrate @ 17034]
Ma Yuan <mayuan2006@gmail.com>
parents: 13888
diff changeset
1057 if (strlen(msgtext) + strlen(msgformat) + strlen(VERSION) > 1564)
228bc0341563 [gaim-migrate @ 17034]
Ma Yuan <mayuan2006@gmail.com>
parents: 13888
diff changeset
1058 {
228bc0341563 [gaim-migrate @ 17034]
Ma Yuan <mayuan2006@gmail.com>
parents: 13888
diff changeset
1059 g_free(msgformat);
228bc0341563 [gaim-migrate @ 17034]
Ma Yuan <mayuan2006@gmail.com>
parents: 13888
diff changeset
1060 g_free(msgtext);
228bc0341563 [gaim-migrate @ 17034]
Ma Yuan <mayuan2006@gmail.com>
parents: 13888
diff changeset
1061
228bc0341563 [gaim-migrate @ 17034]
Ma Yuan <mayuan2006@gmail.com>
parents: 13888
diff changeset
1062 return -E2BIG;
15602
6d1d20a9e297 This is my attempt at MSN mobile status, but I suspect MSN mobile status doesn't exist. If it's confirmed that it doesn't, I'll revert this. But I want to keep it for posterity, in case it does exist
Sean Egan <seanegan@pidgin.im>
parents: 15524
diff changeset
1063 }
6d1d20a9e297 This is my attempt at MSN mobile status, but I suspect MSN mobile status doesn't exist. If it's confirmed that it doesn't, I'll revert this. But I want to keep it for posterity, in case it does exist
Sean Egan <seanegan@pidgin.im>
parents: 15524
diff changeset
1064
13893
228bc0341563 [gaim-migrate @ 17034]
Ma Yuan <mayuan2006@gmail.com>
parents: 13888
diff changeset
1065 msg = msn_message_new_plain(msgtext);
228bc0341563 [gaim-migrate @ 17034]
Ma Yuan <mayuan2006@gmail.com>
parents: 13888
diff changeset
1066 msg->remote_user = g_strdup(who);
228bc0341563 [gaim-migrate @ 17034]
Ma Yuan <mayuan2006@gmail.com>
parents: 13888
diff changeset
1067 msn_message_set_attr(msg, "X-MMS-IM-Format", msgformat);
10275
186d84a66cc3 [gaim-migrate @ 11428]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10274
diff changeset
1068
186d84a66cc3 [gaim-migrate @ 11428]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10274
diff changeset
1069 g_free(msgformat);
186d84a66cc3 [gaim-migrate @ 11428]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10274
diff changeset
1070 g_free(msgtext);
186d84a66cc3 [gaim-migrate @ 11428]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10274
diff changeset
1071
20550
af5abde0d99f Misc cleanups, better error handling, and print the Address Book received from the server in a human readable way.
Carlos Silva <typ0@pidgin.im>
parents: 20542
diff changeset
1072 purple_debug_info("MSNP14","prepare to send online Message\n");
22653
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1073 if (g_ascii_strcasecmp(who, username))
13893
228bc0341563 [gaim-migrate @ 17034]
Ma Yuan <mayuan2006@gmail.com>
parents: 13888
diff changeset
1074 {
228bc0341563 [gaim-migrate @ 17034]
Ma Yuan <mayuan2006@gmail.com>
parents: 13888
diff changeset
1075 MsnSession *session;
228bc0341563 [gaim-migrate @ 17034]
Ma Yuan <mayuan2006@gmail.com>
parents: 13888
diff changeset
1076 MsnSwitchBoard *swboard;
22653
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1077 MsnEmoticon *smile;
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1078 GSList *smileys;
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1079 GString *emoticons = NULL;
10275
186d84a66cc3 [gaim-migrate @ 11428]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10274
diff changeset
1080
13893
228bc0341563 [gaim-migrate @ 17034]
Ma Yuan <mayuan2006@gmail.com>
parents: 13888
diff changeset
1081 session = gc->proto_data;
13900
ce507a208510 [gaim-migrate @ 17056]
Ma Yuan <mayuan2006@gmail.com>
parents: 13898
diff changeset
1082 if(msn_user_is_yahoo(account,who)){
ce507a208510 [gaim-migrate @ 17056]
Ma Yuan <mayuan2006@gmail.com>
parents: 13898
diff changeset
1083 /*we send the online and offline Message to Yahoo User via UBM*/
20550
af5abde0d99f Misc cleanups, better error handling, and print the Address Book received from the server in a human readable way.
Carlos Silva <typ0@pidgin.im>
parents: 20542
diff changeset
1084 purple_debug_info("MSNP14","send to Yahoo User\n");
13893
228bc0341563 [gaim-migrate @ 17034]
Ma Yuan <mayuan2006@gmail.com>
parents: 13888
diff changeset
1085 uum_send_msg(session,msg);
228bc0341563 [gaim-migrate @ 17034]
Ma Yuan <mayuan2006@gmail.com>
parents: 13888
diff changeset
1086 }else{
20550
af5abde0d99f Misc cleanups, better error handling, and print the Address Book received from the server in a human readable way.
Carlos Silva <typ0@pidgin.im>
parents: 20542
diff changeset
1087 purple_debug_info("MSNP14","send via switchboard\n");
13893
228bc0341563 [gaim-migrate @ 17034]
Ma Yuan <mayuan2006@gmail.com>
parents: 13888
diff changeset
1088 swboard = msn_session_get_swboard(session, who, MSN_SB_FLAG_IM);
22653
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1089 smileys = msn_msg_grab_emoticons(message, username);
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1090 while (smileys) {
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1091 smile = (MsnEmoticon*)smileys->data;
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1092 emoticons = msn_msg_emoticon_add(emoticons, smile);
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1093 msn_emoticon_destroy(smile);
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1094 smileys = g_slist_delete_link(smileys, smileys);
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1095 }
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1096
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1097 if (emoticons) {
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1098 msn_send_emoticons(swboard, emoticons);
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1099 g_string_free(emoticons, TRUE);
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1100 }
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 22387
diff changeset
1101
13893
228bc0341563 [gaim-migrate @ 17034]
Ma Yuan <mayuan2006@gmail.com>
parents: 13888
diff changeset
1102 msn_switchboard_send_msg(swboard, msg, TRUE);
228bc0341563 [gaim-migrate @ 17034]
Ma Yuan <mayuan2006@gmail.com>
parents: 13888
diff changeset
1103 }
228bc0341563 [gaim-migrate @ 17034]
Ma Yuan <mayuan2006@gmail.com>
parents: 13888
diff changeset
1104 }
228bc0341563 [gaim-migrate @ 17034]
Ma Yuan <mayuan2006@gmail.com>
parents: 13888
diff changeset
1105 else
228bc0341563 [gaim-migrate @ 17034]
Ma Yuan <mayuan2006@gmail.com>
parents: 13888
diff changeset
1106 {
228bc0341563 [gaim-migrate @ 17034]
Ma Yuan <mayuan2006@gmail.com>
parents: 13888
diff changeset
1107 char *body_str, *body_enc, *pre, *post;
228bc0341563 [gaim-migrate @ 17034]
Ma Yuan <mayuan2006@gmail.com>
parents: 13888
diff changeset
1108 const char *format;
20496
a99bc3146636 fix up broken merge
Ka-Hing Cheung <khc@pidgin.im>
parents: 20495
diff changeset
1109 MsnIMData *imdata = g_new0(MsnIMData, 1);
13893
228bc0341563 [gaim-migrate @ 17034]
Ma Yuan <mayuan2006@gmail.com>
parents: 13888
diff changeset
1110 /*
228bc0341563 [gaim-migrate @ 17034]
Ma Yuan <mayuan2006@gmail.com>
parents: 13888
diff changeset
1111 * In MSN, you can't send messages to yourself, so
228bc0341563 [gaim-migrate @ 17034]
Ma Yuan <mayuan2006@gmail.com>
parents: 13888
diff changeset
1112 * we'll fake like we received it ;)
228bc0341563 [gaim-migrate @ 17034]
Ma Yuan <mayuan2006@gmail.com>
parents: 13888
diff changeset
1113 */
228bc0341563 [gaim-migrate @ 17034]
Ma Yuan <mayuan2006@gmail.com>
parents: 13888
diff changeset
1114 body_str = msn_message_to_string(msg);
228bc0341563 [gaim-migrate @ 17034]
Ma Yuan <mayuan2006@gmail.com>
parents: 13888
diff changeset
1115 body_enc = g_markup_escape_text(body_str, -1);
228bc0341563 [gaim-migrate @ 17034]
Ma Yuan <mayuan2006@gmail.com>
parents: 13888
diff changeset
1116 g_free(body_str);
10275
186d84a66cc3 [gaim-migrate @ 11428]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10274
diff changeset
1117
13893
228bc0341563 [gaim-migrate @ 17034]
Ma Yuan <mayuan2006@gmail.com>
parents: 13888
diff changeset
1118 format = msn_message_get_attr(msg, "X-MMS-IM-Format");
228bc0341563 [gaim-migrate @ 17034]
Ma Yuan <mayuan2006@gmail.com>
parents: 13888
diff changeset
1119 msn_parse_format(format, &pre, &post);
228bc0341563 [gaim-migrate @ 17034]
Ma Yuan <mayuan2006@gmail.com>
parents: 13888
diff changeset
1120 body_str = g_strdup_printf("%s%s%s", pre ? pre : "",
228bc0341563 [gaim-migrate @ 17034]
Ma Yuan <mayuan2006@gmail.com>
parents: 13888
diff changeset
1121 body_enc ? body_enc : "", post ? post : "");
228bc0341563 [gaim-migrate @ 17034]
Ma Yuan <mayuan2006@gmail.com>
parents: 13888
diff changeset
1122 g_free(body_enc);
228bc0341563 [gaim-migrate @ 17034]
Ma Yuan <mayuan2006@gmail.com>
parents: 13888
diff changeset
1123 g_free(pre);
228bc0341563 [gaim-migrate @ 17034]
Ma Yuan <mayuan2006@gmail.com>
parents: 13888
diff changeset
1124 g_free(post);
228bc0341563 [gaim-migrate @ 17034]
Ma Yuan <mayuan2006@gmail.com>
parents: 13888
diff changeset
1125
228bc0341563 [gaim-migrate @ 17034]
Ma Yuan <mayuan2006@gmail.com>
parents: 13888
diff changeset
1126 serv_got_typing_stopped(gc, who);
20496
a99bc3146636 fix up broken merge
Ka-Hing Cheung <khc@pidgin.im>
parents: 20495
diff changeset
1127 imdata->gc = gc;
a99bc3146636 fix up broken merge
Ka-Hing Cheung <khc@pidgin.im>
parents: 20495
diff changeset
1128 imdata->who = who;
a99bc3146636 fix up broken merge
Ka-Hing Cheung <khc@pidgin.im>
parents: 20495
diff changeset
1129 imdata->msg = body_str;
a99bc3146636 fix up broken merge
Ka-Hing Cheung <khc@pidgin.im>
parents: 20495
diff changeset
1130 imdata->flags = flags;
a99bc3146636 fix up broken merge
Ka-Hing Cheung <khc@pidgin.im>
parents: 20495
diff changeset
1131 imdata->when = time(NULL);
20934
9254018407d0 Prevent null pointer deref to fix CID 349. I don't think this is possible, but I suppose it may happen with a different UI.
Daniel Atallah <datallah@pidgin.im>
parents: 20852
diff changeset
1132 purple_timeout_add(0, msn_send_me_im, imdata);
13893
228bc0341563 [gaim-migrate @ 17034]
Ma Yuan <mayuan2006@gmail.com>
parents: 13888
diff changeset
1133 }
8595
c751f6b0260e [gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents: 8591
diff changeset
1134
13893
228bc0341563 [gaim-migrate @ 17034]
Ma Yuan <mayuan2006@gmail.com>
parents: 13888
diff changeset
1135 msn_message_destroy(msg);
228bc0341563 [gaim-migrate @ 17034]
Ma Yuan <mayuan2006@gmail.com>
parents: 13888
diff changeset
1136 }else {
13900
ce507a208510 [gaim-migrate @ 17056]
Ma Yuan <mayuan2006@gmail.com>
parents: 13898
diff changeset
1137 /*send Offline Instant Message,only to MSN Passport User*/
9158
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
1138 MsnSession *session;
13893
228bc0341563 [gaim-migrate @ 17034]
Ma Yuan <mayuan2006@gmail.com>
parents: 13888
diff changeset
1139 char *friendname;
20508
a8855578906a Revert a bunch of whitespace changes so reviewing a diff against
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 20505
diff changeset
1140
20550
af5abde0d99f Misc cleanups, better error handling, and print the Address Book received from the server in a human readable way.
Carlos Silva <typ0@pidgin.im>
parents: 20542
diff changeset
1141 purple_debug_info("MSNP14","prepare to send offline Message\n");
9158
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
1142 session = gc->proto_data;
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1143
13898
9bc455f616cb [gaim-migrate @ 17045]
Ma Yuan <mayuan2006@gmail.com>
parents: 13897
diff changeset
1144 friendname = msn_encode_mime(account->username);
21361
f890366c8ec6 oim migrated to new soap code, quadruply duplicated message!
Ka-Hing Cheung <khc@pidgin.im>
parents: 20607
diff changeset
1145 msn_oim_prep_send_msg_info(session->oim,
f890366c8ec6 oim migrated to new soap code, quadruply duplicated message!
Ka-Hing Cheung <khc@pidgin.im>
parents: 20607
diff changeset
1146 purple_account_get_username(account),
f890366c8ec6 oim migrated to new soap code, quadruply duplicated message!
Ka-Hing Cheung <khc@pidgin.im>
parents: 20607
diff changeset
1147 friendname, who, message);
f890366c8ec6 oim migrated to new soap code, quadruply duplicated message!
Ka-Hing Cheung <khc@pidgin.im>
parents: 20607
diff changeset
1148 msn_oim_send_msg(session->oim);
f890366c8ec6 oim migrated to new soap code, quadruply duplicated message!
Ka-Hing Cheung <khc@pidgin.im>
parents: 20607
diff changeset
1149 g_free(friendname);
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1150 }
10275
186d84a66cc3 [gaim-migrate @ 11428]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10274
diff changeset
1151
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1152 return 1;
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1153 }
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1154
13844
835b8f7b3d1d [gaim-migrate @ 16295]
Mark Doliner <markdoliner@pidgin.im>
parents: 13713
diff changeset
1155 static unsigned int
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1156 msn_send_typing(PurpleConnection *gc, const char *who, PurpleTypingState state)
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1157 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1158 PurpleAccount *account;
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1159 MsnSession *session;
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1160 MsnSwitchBoard *swboard;
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1161 MsnMessage *msg;
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1162
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1163 account = purple_connection_get_account(gc);
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1164 session = gc->proto_data;
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1165
13844
835b8f7b3d1d [gaim-migrate @ 16295]
Mark Doliner <markdoliner@pidgin.im>
parents: 13713
diff changeset
1166 /*
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1167 * TODO: I feel like this should be "if (state != PURPLE_TYPING)"
13844
835b8f7b3d1d [gaim-migrate @ 16295]
Mark Doliner <markdoliner@pidgin.im>
parents: 13713
diff changeset
1168 * but this is how it was before, and I don't want to break
835b8f7b3d1d [gaim-migrate @ 16295]
Mark Doliner <markdoliner@pidgin.im>
parents: 13713
diff changeset
1169 * anything. --KingAnt
835b8f7b3d1d [gaim-migrate @ 16295]
Mark Doliner <markdoliner@pidgin.im>
parents: 13713
diff changeset
1170 */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1171 if (state == PURPLE_NOT_TYPING)
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1172 return 0;
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1173
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1174 if (!g_ascii_strcasecmp(who, purple_account_get_username(account)))
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1175 {
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1176 /* We'll just fake it, since we're sending to ourself. */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1177 serv_got_typing(gc, who, MSN_TYPING_RECV_TIMEOUT, PURPLE_TYPING);
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1178
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1179 return MSN_TYPING_SEND_TIMEOUT;
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1180 }
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1181
10621
2b214ffb112b [gaim-migrate @ 12090]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10602
diff changeset
1182 swboard = msn_session_find_swboard(session, who);
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1183
10481
a5d6b8e1717d [gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10463
diff changeset
1184 if (swboard == NULL || !msn_switchboard_can_send(swboard))
10346
9c65a007b4a5 [gaim-migrate @ 11560]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10345
diff changeset
1185 return 0;
9c65a007b4a5 [gaim-migrate @ 11560]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10345
diff changeset
1186
10773
ef88ffed66eb [gaim-migrate @ 12382]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10738
diff changeset
1187 swboard->flag |= MSN_SB_FLAG_IM;
ef88ffed66eb [gaim-migrate @ 12382]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10738
diff changeset
1188
10225
0dfea1bc8695 [gaim-migrate @ 11357]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10116
diff changeset
1189 msg = msn_message_new(MSN_MSG_TYPING);
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1190 msn_message_set_content_type(msg, "text/x-msmsgscontrol");
5505
176c91a635b7 [gaim-migrate @ 5904]
Christian Hammond <chipx86@chipx86.com>
parents: 5498
diff changeset
1191 msn_message_set_flag(msg, 'U');
5564
1779a1bfbdb8 [gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents: 5518
diff changeset
1192 msn_message_set_attr(msg, "TypingUser",
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1193 purple_account_get_username(account));
9158
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
1194 msn_message_set_bin_data(msg, "\r\n", 2);
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1195
10481
a5d6b8e1717d [gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10463
diff changeset
1196 msn_switchboard_send_msg(swboard, msg, FALSE);
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1197
9158
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
1198 msn_message_destroy(msg);
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1199
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1200 return MSN_TYPING_SEND_TIMEOUT;
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1201 }
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1202
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1203 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1204 msn_set_status(PurpleAccount *account, PurpleStatus *status)
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1205 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1206 PurpleConnection *gc;
11992
906176cc9b22 [gaim-migrate @ 14285]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11920
diff changeset
1207 MsnSession *session;
9967
7400b348ff62 [gaim-migrate @ 10877]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9953
diff changeset
1208
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1209 gc = purple_account_get_connection(account);
9967
7400b348ff62 [gaim-migrate @ 10877]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9953
diff changeset
1210
11028
b3568dd036a9 [gaim-migrate @ 12906]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10914
diff changeset
1211 if (gc != NULL)
11992
906176cc9b22 [gaim-migrate @ 14285]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11920
diff changeset
1212 {
10646
e5930d962239 [gaim-migrate @ 12162]
Sean Egan <seanegan@pidgin.im>
parents: 10621
diff changeset
1213 session = gc->proto_data;
11992
906176cc9b22 [gaim-migrate @ 14285]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11920
diff changeset
1214 msn_change_status(session);
906176cc9b22 [gaim-migrate @ 14285]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11920
diff changeset
1215 }
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1216 }
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1217
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1218 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1219 msn_set_idle(PurpleConnection *gc, int idle)
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1220 {
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1221 MsnSession *session;
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1222
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1223 session = gc->proto_data;
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1224
11992
906176cc9b22 [gaim-migrate @ 14285]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11920
diff changeset
1225 msn_change_status(session);
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1226 }
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1227
11992
906176cc9b22 [gaim-migrate @ 14285]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11920
diff changeset
1228 #if 0
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1229 static void
10044
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1230 fake_userlist_add_buddy(MsnUserList *userlist,
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1231 const char *who, int list_id,
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1232 const char *group_name)
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1233 {
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1234 MsnUser *user;
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1235 static int group_id_c = 1;
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1236 int group_id;
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1237
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1238 group_id = -1;
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1239
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1240 if (group_name != NULL)
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1241 {
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1242 MsnGroup *group;
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1243 group = msn_group_new(userlist, group_id_c, group_name);
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1244 group_id = group_id_c++;
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1245 }
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1246
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1247 user = msn_userlist_find_user(userlist, who);
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1248
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1249 if (user == NULL)
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1250 {
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1251 user = msn_user_new(userlist, who, NULL);
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1252 msn_userlist_add_user(userlist, user);
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1253 }
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1254 else
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1255 if (user->list_op & (1 << list_id))
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1256 {
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1257 if (list_id == MSN_LIST_FL)
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1258 {
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1259 if (group_id >= 0)
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1260 if (g_list_find(user->group_ids,
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1261 GINT_TO_POINTER(group_id)))
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1262 return;
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1263 }
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1264 else
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1265 return;
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1266 }
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1267
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1268 if (group_id >= 0)
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1269 {
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1270 user->group_ids = g_list_append(user->group_ids,
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1271 GINT_TO_POINTER(group_id));
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1272 }
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1273
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1274 user->list_op |= (1 << list_id);
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1275 }
11992
906176cc9b22 [gaim-migrate @ 14285]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11920
diff changeset
1276 #endif
10044
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1277
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1278 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1279 msn_add_buddy(PurpleConnection *gc, PurpleBuddy *buddy, PurpleGroup *group)
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1280 {
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1281 MsnSession *session;
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1282 MsnUserList *userlist;
7261
4be05820d441 [gaim-migrate @ 7838]
Nathan Walp <nwalp@pidgin.im>
parents: 7199
diff changeset
1283 const char *who;
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1284
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1285 session = gc->proto_data;
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1286 userlist = session->userlist;
9285
9cedf5d26577 [gaim-migrate @ 10088]
Mark Doliner <markdoliner@pidgin.im>
parents: 9246
diff changeset
1287 who = msn_normalize(gc->account, buddy->name);
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1288
20934
9254018407d0 Prevent null pointer deref to fix CID 349. I don't think this is possible, but I suppose it may happen with a different UI.
Daniel Atallah <datallah@pidgin.im>
parents: 20852
diff changeset
1289 purple_debug_info("MSN","Add user:%s to group:%s\n", who, (group && group->name) ? group->name : "(null)");
9363
605961038476 [gaim-migrate @ 10171]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9318
diff changeset
1290 if (!session->logged_in)
10044
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1291 {
11992
906176cc9b22 [gaim-migrate @ 14285]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11920
diff changeset
1292 #if 0
10044
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1293 fake_userlist_add_buddy(session->sync_userlist, who, MSN_LIST_FL,
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1294 group ? group->name : NULL);
11992
906176cc9b22 [gaim-migrate @ 14285]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11920
diff changeset
1295 #else
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1296 purple_debug_error("msn", "msn_add_buddy called before connected\n");
11992
906176cc9b22 [gaim-migrate @ 14285]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11920
diff changeset
1297 #endif
10044
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1298
9363
605961038476 [gaim-migrate @ 10171]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9318
diff changeset
1299 return;
10044
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1300 }
9363
605961038476 [gaim-migrate @ 10171]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9318
diff changeset
1301
10044
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1302 #if 0
9290
093382f25d5e [gaim-migrate @ 10093]
Christian Hammond <chipx86@chipx86.com>
parents: 9285
diff changeset
1303 if (group != NULL && group->name != NULL)
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1304 purple_debug_info("msn", "msn_add_buddy: %s, %s\n", who, group->name);
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1305 else
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1306 purple_debug_info("msn", "msn_add_buddy: %s\n", who);
10044
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1307 #endif
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1308
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1309 #if 0
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1310 /* Which is the max? */
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1311 if (session->fl_users_count >= 150)
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1312 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1313 purple_debug_info("msn", "Too many buddies\n");
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1314 /* Buddy list full */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1315 /* TODO: purple should be notified of this */
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1316 return;
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1317 }
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1318 #endif
9198
e8eb6d5eb9eb [gaim-migrate @ 9993]
Christian Hammond <chipx86@chipx86.com>
parents: 9193
diff changeset
1319
10044
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1320 /* XXX - Would group ever be NULL here? I don't think so...
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1321 * shx: Yes it should; MSN handles non-grouped buddies, and this is only
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1322 * internal. */
20564
35675dd4a44d Make buddy and group management actually work, add some SOAP templates, redesign some parts of code and separate some bigger functions into its smaller tasks which are completely unrelated to each other
Carlos Silva <typ0@pidgin.im>
parents: 20560
diff changeset
1323 msn_userlist_add_buddy(userlist, who, group ? group->name : NULL);
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1324 }
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1325
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1326 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1327 msn_rem_buddy(PurpleConnection *gc, PurpleBuddy *buddy, PurpleGroup *group)
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1328 {
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1329 MsnSession *session;
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1330 MsnUserList *userlist;
9198
e8eb6d5eb9eb [gaim-migrate @ 9993]
Christian Hammond <chipx86@chipx86.com>
parents: 9193
diff changeset
1331
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1332 session = gc->proto_data;
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1333 userlist = session->userlist;
9091
8c3907d0f436 [gaim-migrate @ 9868]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9086
diff changeset
1334
9363
605961038476 [gaim-migrate @ 10171]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9318
diff changeset
1335 if (!session->logged_in)
605961038476 [gaim-migrate @ 10171]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9318
diff changeset
1336 return;
605961038476 [gaim-migrate @ 10171]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9318
diff changeset
1337
9285
9cedf5d26577 [gaim-migrate @ 10088]
Mark Doliner <markdoliner@pidgin.im>
parents: 9246
diff changeset
1338 /* XXX - Does buddy->name need to be msn_normalize'd here? --KingAnt */
20564
35675dd4a44d Make buddy and group management actually work, add some SOAP templates, redesign some parts of code and separate some bigger functions into its smaller tasks which are completely unrelated to each other
Carlos Silva <typ0@pidgin.im>
parents: 20560
diff changeset
1339 msn_userlist_rem_buddy(userlist, buddy->name);
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1340 }
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1341
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1342 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1343 msn_add_permit(PurpleConnection *gc, const char *who)
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1344 {
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1345 MsnSession *session;
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1346 MsnUserList *userlist;
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1347 MsnUser *user;
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1348
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1349 session = gc->proto_data;
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1350 userlist = session->userlist;
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1351 user = msn_userlist_find_user(userlist, who);
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1352
9363
605961038476 [gaim-migrate @ 10171]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9318
diff changeset
1353 if (!session->logged_in)
605961038476 [gaim-migrate @ 10171]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9318
diff changeset
1354 return;
605961038476 [gaim-migrate @ 10171]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9318
diff changeset
1355
20569
66628c75dada Make block/unblock work right, as well as being add by a buddy. Finally fixes #723
Carlos Silva <typ0@pidgin.im>
parents: 20567
diff changeset
1356 if (user != NULL && user->list_op & MSN_LIST_BL_OP) {
20564
35675dd4a44d Make buddy and group management actually work, add some SOAP templates, redesign some parts of code and separate some bigger functions into its smaller tasks which are completely unrelated to each other
Carlos Silva <typ0@pidgin.im>
parents: 20560
diff changeset
1357 msn_userlist_rem_buddy_from_list(userlist, who, MSN_LIST_BL);
9198
e8eb6d5eb9eb [gaim-migrate @ 9993]
Christian Hammond <chipx86@chipx86.com>
parents: 9193
diff changeset
1358
20569
66628c75dada Make block/unblock work right, as well as being add by a buddy. Finally fixes #723
Carlos Silva <typ0@pidgin.im>
parents: 20567
diff changeset
1359 /* delete contact from Block list and add it to Allow in the callback */
66628c75dada Make block/unblock work right, as well as being add by a buddy. Finally fixes #723
Carlos Silva <typ0@pidgin.im>
parents: 20567
diff changeset
1360 msn_del_contact_from_list(session->contact, NULL, who, MSN_LIST_BL);
66628c75dada Make block/unblock work right, as well as being add by a buddy. Finally fixes #723
Carlos Silva <typ0@pidgin.im>
parents: 20567
diff changeset
1361 } else {
66628c75dada Make block/unblock work right, as well as being add by a buddy. Finally fixes #723
Carlos Silva <typ0@pidgin.im>
parents: 20567
diff changeset
1362 /* just add the contact to Allow list */
66628c75dada Make block/unblock work right, as well as being add by a buddy. Finally fixes #723
Carlos Silva <typ0@pidgin.im>
parents: 20567
diff changeset
1363 msn_add_contact_to_list(session->contact, NULL, who, MSN_LIST_AL);
66628c75dada Make block/unblock work right, as well as being add by a buddy. Finally fixes #723
Carlos Silva <typ0@pidgin.im>
parents: 20567
diff changeset
1364 }
66628c75dada Make block/unblock work right, as well as being add by a buddy. Finally fixes #723
Carlos Silva <typ0@pidgin.im>
parents: 20567
diff changeset
1365
66628c75dada Make block/unblock work right, as well as being add by a buddy. Finally fixes #723
Carlos Silva <typ0@pidgin.im>
parents: 20567
diff changeset
1366
20564
35675dd4a44d Make buddy and group management actually work, add some SOAP templates, redesign some parts of code and separate some bigger functions into its smaller tasks which are completely unrelated to each other
Carlos Silva <typ0@pidgin.im>
parents: 20560
diff changeset
1367 msn_userlist_add_buddy_to_list(userlist, who, MSN_LIST_AL);
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1368 }
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1369
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1370 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1371 msn_add_deny(PurpleConnection *gc, const char *who)
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1372 {
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1373 MsnSession *session;
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1374 MsnUserList *userlist;
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1375 MsnUser *user;
9198
e8eb6d5eb9eb [gaim-migrate @ 9993]
Christian Hammond <chipx86@chipx86.com>
parents: 9193
diff changeset
1376
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1377 session = gc->proto_data;
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1378 userlist = session->userlist;
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1379 user = msn_userlist_find_user(userlist, who);
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1380
9363
605961038476 [gaim-migrate @ 10171]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9318
diff changeset
1381 if (!session->logged_in)
605961038476 [gaim-migrate @ 10171]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9318
diff changeset
1382 return;
605961038476 [gaim-migrate @ 10171]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9318
diff changeset
1383
20569
66628c75dada Make block/unblock work right, as well as being add by a buddy. Finally fixes #723
Carlos Silva <typ0@pidgin.im>
parents: 20567
diff changeset
1384 if (user != NULL && user->list_op & MSN_LIST_AL_OP) {
20564
35675dd4a44d Make buddy and group management actually work, add some SOAP templates, redesign some parts of code and separate some bigger functions into its smaller tasks which are completely unrelated to each other
Carlos Silva <typ0@pidgin.im>
parents: 20560
diff changeset
1385 msn_userlist_rem_buddy_from_list(userlist, who, MSN_LIST_AL);
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1386
20569
66628c75dada Make block/unblock work right, as well as being add by a buddy. Finally fixes #723
Carlos Silva <typ0@pidgin.im>
parents: 20567
diff changeset
1387 /* delete contact from Allow list and add it to Block in the callback */
66628c75dada Make block/unblock work right, as well as being add by a buddy. Finally fixes #723
Carlos Silva <typ0@pidgin.im>
parents: 20567
diff changeset
1388 msn_del_contact_from_list(session->contact, NULL, who, MSN_LIST_AL);
66628c75dada Make block/unblock work right, as well as being add by a buddy. Finally fixes #723
Carlos Silva <typ0@pidgin.im>
parents: 20567
diff changeset
1389 } else {
66628c75dada Make block/unblock work right, as well as being add by a buddy. Finally fixes #723
Carlos Silva <typ0@pidgin.im>
parents: 20567
diff changeset
1390 /* just add the contact to Block list */
66628c75dada Make block/unblock work right, as well as being add by a buddy. Finally fixes #723
Carlos Silva <typ0@pidgin.im>
parents: 20567
diff changeset
1391 msn_add_contact_to_list(session->contact, NULL, who, MSN_LIST_BL);
66628c75dada Make block/unblock work right, as well as being add by a buddy. Finally fixes #723
Carlos Silva <typ0@pidgin.im>
parents: 20567
diff changeset
1392 }
66628c75dada Make block/unblock work right, as well as being add by a buddy. Finally fixes #723
Carlos Silva <typ0@pidgin.im>
parents: 20567
diff changeset
1393
20564
35675dd4a44d Make buddy and group management actually work, add some SOAP templates, redesign some parts of code and separate some bigger functions into its smaller tasks which are completely unrelated to each other
Carlos Silva <typ0@pidgin.im>
parents: 20560
diff changeset
1394 msn_userlist_add_buddy_to_list(userlist, who, MSN_LIST_BL);
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1395 }
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1396
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1397 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1398 msn_rem_permit(PurpleConnection *gc, const char *who)
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1399 {
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1400 MsnSession *session;
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1401 MsnUserList *userlist;
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1402 MsnUser *user;
9198
e8eb6d5eb9eb [gaim-migrate @ 9993]
Christian Hammond <chipx86@chipx86.com>
parents: 9193
diff changeset
1403
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1404 session = gc->proto_data;
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1405 userlist = session->userlist;
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1406
9363
605961038476 [gaim-migrate @ 10171]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9318
diff changeset
1407 if (!session->logged_in)
605961038476 [gaim-migrate @ 10171]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9318
diff changeset
1408 return;
605961038476 [gaim-migrate @ 10171]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9318
diff changeset
1409
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1410 user = msn_userlist_find_user(userlist, who);
9198
e8eb6d5eb9eb [gaim-migrate @ 9993]
Christian Hammond <chipx86@chipx86.com>
parents: 9193
diff changeset
1411
20564
35675dd4a44d Make buddy and group management actually work, add some SOAP templates, redesign some parts of code and separate some bigger functions into its smaller tasks which are completely unrelated to each other
Carlos Silva <typ0@pidgin.im>
parents: 20560
diff changeset
1412 msn_userlist_rem_buddy_from_list(userlist, who, MSN_LIST_AL);
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1413
20569
66628c75dada Make block/unblock work right, as well as being add by a buddy. Finally fixes #723
Carlos Silva <typ0@pidgin.im>
parents: 20567
diff changeset
1414 msn_del_contact_from_list(session->contact, NULL, who, MSN_LIST_AL);
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1415
9363
605961038476 [gaim-migrate @ 10171]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9318
diff changeset
1416 if (user != NULL && user->list_op & MSN_LIST_RL_OP)
20564
35675dd4a44d Make buddy and group management actually work, add some SOAP templates, redesign some parts of code and separate some bigger functions into its smaller tasks which are completely unrelated to each other
Carlos Silva <typ0@pidgin.im>
parents: 20560
diff changeset
1417 msn_userlist_add_buddy_to_list(userlist, who, MSN_LIST_BL);
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1418 }
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1419
12323
f52908fb23b0 [gaim-migrate @ 14627]
Richard Laager <rlaager@pidgin.im>
parents: 12318
diff changeset
1420 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1421 msn_rem_deny(PurpleConnection *gc, const char *who)
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1422 {
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1423 MsnSession *session;
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1424 MsnUserList *userlist;
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1425 MsnUser *user;
9198
e8eb6d5eb9eb [gaim-migrate @ 9993]
Christian Hammond <chipx86@chipx86.com>
parents: 9193
diff changeset
1426
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1427 session = gc->proto_data;
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1428 userlist = session->userlist;
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1429
9363
605961038476 [gaim-migrate @ 10171]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9318
diff changeset
1430 if (!session->logged_in)
605961038476 [gaim-migrate @ 10171]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9318
diff changeset
1431 return;
605961038476 [gaim-migrate @ 10171]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9318
diff changeset
1432
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1433 user = msn_userlist_find_user(userlist, who);
2213
3a176de28de1 [gaim-migrate @ 2223]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2210
diff changeset
1434
20564
35675dd4a44d Make buddy and group management actually work, add some SOAP templates, redesign some parts of code and separate some bigger functions into its smaller tasks which are completely unrelated to each other
Carlos Silva <typ0@pidgin.im>
parents: 20560
diff changeset
1435 msn_userlist_rem_buddy_from_list(userlist, who, MSN_LIST_BL);
7563
b921749e2976 [gaim-migrate @ 8179]
Robert Mibus <mibus@mibus.org>
parents: 7469
diff changeset
1436
20569
66628c75dada Make block/unblock work right, as well as being add by a buddy. Finally fixes #723
Carlos Silva <typ0@pidgin.im>
parents: 20567
diff changeset
1437 msn_del_contact_from_list(session->contact, NULL, who, MSN_LIST_BL);
7563
b921749e2976 [gaim-migrate @ 8179]
Robert Mibus <mibus@mibus.org>
parents: 7469
diff changeset
1438
9363
605961038476 [gaim-migrate @ 10171]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9318
diff changeset
1439 if (user != NULL && user->list_op & MSN_LIST_RL_OP)
20564
35675dd4a44d Make buddy and group management actually work, add some SOAP templates, redesign some parts of code and separate some bigger functions into its smaller tasks which are completely unrelated to each other
Carlos Silva <typ0@pidgin.im>
parents: 20560
diff changeset
1440 msn_userlist_add_buddy_to_list(userlist, who, MSN_LIST_AL);
2597
51ca3fb939c9 [gaim-migrate @ 2610]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2591
diff changeset
1441 }
51ca3fb939c9 [gaim-migrate @ 2610]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2591
diff changeset
1442
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1443 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1444 msn_set_permit_deny(PurpleConnection *gc)
2597
51ca3fb939c9 [gaim-migrate @ 2610]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2591
diff changeset
1445 {
20542
e92b022fd611 In the initial ADL listing, send the commands in the correct sequence as required by the server: BLP, ADL and PRP. When the server acknowledges this initial ADL, send CHG with status information
Carlos Silva <typ0@pidgin.im>
parents: 20539
diff changeset
1446 msn_send_privacy(gc);
2597
51ca3fb939c9 [gaim-migrate @ 2610]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2591
diff changeset
1447 }
51ca3fb939c9 [gaim-migrate @ 2610]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2591
diff changeset
1448
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1449 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1450 msn_chat_invite(PurpleConnection *gc, int id, const char *msg,
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1451 const char *who)
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1452 {
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1453 MsnSession *session;
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1454 MsnSwitchBoard *swboard;
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1455
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1456 session = gc->proto_data;
9158
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
1457
10621
2b214ffb112b [gaim-migrate @ 12090]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10602
diff changeset
1458 swboard = msn_session_find_swboard_with_id(session, id);
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1459
10533
4c2ad22fad20 [gaim-migrate @ 11862]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10504
diff changeset
1460 if (swboard == NULL)
4c2ad22fad20 [gaim-migrate @ 11862]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10504
diff changeset
1461 {
4c2ad22fad20 [gaim-migrate @ 11862]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10504
diff changeset
1462 /* if we have no switchboard, everyone else left the chat already */
4c2ad22fad20 [gaim-migrate @ 11862]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10504
diff changeset
1463 swboard = msn_switchboard_new(session);
4c2ad22fad20 [gaim-migrate @ 11862]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10504
diff changeset
1464 msn_switchboard_request(swboard);
4c2ad22fad20 [gaim-migrate @ 11862]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10504
diff changeset
1465 swboard->chat_id = id;
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1466 swboard->conv = purple_find_chat(gc, id);
10533
4c2ad22fad20 [gaim-migrate @ 11862]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10504
diff changeset
1467 }
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1468
10773
ef88ffed66eb [gaim-migrate @ 12382]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10738
diff changeset
1469 swboard->flag |= MSN_SB_FLAG_IM;
ef88ffed66eb [gaim-migrate @ 12382]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10738
diff changeset
1470
10533
4c2ad22fad20 [gaim-migrate @ 11862]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10504
diff changeset
1471 msn_switchboard_request_add_user(swboard, who);
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1472 }
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1473
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1474 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1475 msn_chat_leave(PurpleConnection *gc, int id)
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1476 {
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1477 MsnSession *session;
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1478 MsnSwitchBoard *swboard;
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1479 PurpleConversation *conv;
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1480
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1481 session = gc->proto_data;
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1482
10621
2b214ffb112b [gaim-migrate @ 12090]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10602
diff changeset
1483 swboard = msn_session_find_swboard_with_id(session, id);
10533
4c2ad22fad20 [gaim-migrate @ 11862]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10504
diff changeset
1484
4c2ad22fad20 [gaim-migrate @ 11862]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10504
diff changeset
1485 /* if swboard is NULL we were the only person left anyway */
4c2ad22fad20 [gaim-migrate @ 11862]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10504
diff changeset
1486 if (swboard == NULL)
4c2ad22fad20 [gaim-migrate @ 11862]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10504
diff changeset
1487 return;
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1488
10621
2b214ffb112b [gaim-migrate @ 12090]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10602
diff changeset
1489 conv = swboard->conv;
2b214ffb112b [gaim-migrate @ 12090]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10602
diff changeset
1490
10773
ef88ffed66eb [gaim-migrate @ 12382]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10738
diff changeset
1491 msn_switchboard_release(swboard, MSN_SB_FLAG_IM);
10621
2b214ffb112b [gaim-migrate @ 12090]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10602
diff changeset
1492
2b214ffb112b [gaim-migrate @ 12090]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10602
diff changeset
1493 /* If other switchboards managed to associate themselves with this
2b214ffb112b [gaim-migrate @ 12090]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10602
diff changeset
1494 * conv, make sure they know it's gone! */
2b214ffb112b [gaim-migrate @ 12090]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10602
diff changeset
1495 if (conv != NULL)
2b214ffb112b [gaim-migrate @ 12090]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10602
diff changeset
1496 {
2b214ffb112b [gaim-migrate @ 12090]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10602
diff changeset
1497 while ((swboard = msn_session_find_swboard_with_conv(session, conv)) != NULL)
2b214ffb112b [gaim-migrate @ 12090]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10602
diff changeset
1498 swboard->conv = NULL;
2b214ffb112b [gaim-migrate @ 12090]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10602
diff changeset
1499 }
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1500 }
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1501
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1502 static int
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1503 msn_chat_send(PurpleConnection *gc, int id, const char *message, PurpleMessageFlags flags)
2597
51ca3fb939c9 [gaim-migrate @ 2610]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2591
diff changeset
1504 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1505 PurpleAccount *account;
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1506 MsnSession *session;
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1507 MsnSwitchBoard *swboard;
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1508 MsnMessage *msg;
8922
6928d9a0338b [gaim-migrate @ 9692]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8808
diff changeset
1509 char *msgformat;
6928d9a0338b [gaim-migrate @ 9692]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8808
diff changeset
1510 char *msgtext;
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1511
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1512 account = purple_connection_get_account(gc);
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1513 session = gc->proto_data;
10621
2b214ffb112b [gaim-migrate @ 12090]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10602
diff changeset
1514 swboard = msn_session_find_swboard_with_id(session, id);
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1515
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1516 if (swboard == NULL)
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1517 return -EINVAL;
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1518
10345
7d7f8cfa2b4f [gaim-migrate @ 11556]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10306
diff changeset
1519 if (!swboard->ready)
7d7f8cfa2b4f [gaim-migrate @ 11556]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10306
diff changeset
1520 return 0;
10274
f329b1d7fd43 [gaim-migrate @ 11424]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10225
diff changeset
1521
10773
ef88ffed66eb [gaim-migrate @ 12382]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10738
diff changeset
1522 swboard->flag |= MSN_SB_FLAG_IM;
ef88ffed66eb [gaim-migrate @ 12382]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10738
diff changeset
1523
10345
7d7f8cfa2b4f [gaim-migrate @ 11556]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10306
diff changeset
1524 msn_import_html(message, &msgformat, &msgtext);
10274
f329b1d7fd43 [gaim-migrate @ 11424]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10225
diff changeset
1525
10345
7d7f8cfa2b4f [gaim-migrate @ 11556]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10306
diff changeset
1526 if (strlen(msgtext) + strlen(msgformat) + strlen(VERSION) > 1564)
7d7f8cfa2b4f [gaim-migrate @ 11556]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10306
diff changeset
1527 {
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1528 g_free(msgformat);
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1529 g_free(msgtext);
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1530
10345
7d7f8cfa2b4f [gaim-migrate @ 11556]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10306
diff changeset
1531 return -E2BIG;
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1532 }
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1533
10345
7d7f8cfa2b4f [gaim-migrate @ 11556]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10306
diff changeset
1534 msg = msn_message_new_plain(msgtext);
7d7f8cfa2b4f [gaim-migrate @ 11556]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10306
diff changeset
1535 msn_message_set_attr(msg, "X-MMS-IM-Format", msgformat);
10481
a5d6b8e1717d [gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10463
diff changeset
1536 msn_switchboard_send_msg(swboard, msg, FALSE);
10345
7d7f8cfa2b4f [gaim-migrate @ 11556]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10306
diff changeset
1537 msn_message_destroy(msg);
7d7f8cfa2b4f [gaim-migrate @ 11556]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10306
diff changeset
1538
7d7f8cfa2b4f [gaim-migrate @ 11556]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10306
diff changeset
1539 g_free(msgformat);
7d7f8cfa2b4f [gaim-migrate @ 11556]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10306
diff changeset
1540 g_free(msgtext);
7d7f8cfa2b4f [gaim-migrate @ 11556]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10306
diff changeset
1541
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1542 serv_got_chat_in(gc, id, purple_account_get_username(account), 0,
10345
7d7f8cfa2b4f [gaim-migrate @ 11556]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10306
diff changeset
1543 message, time(NULL));
7d7f8cfa2b4f [gaim-migrate @ 11556]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10306
diff changeset
1544
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1545 return 0;
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1546 }
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1547
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1548 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1549 msn_keepalive(PurpleConnection *gc)
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1550 {
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1551 MsnSession *session;
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1552
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1553 session = gc->proto_data;
10481
a5d6b8e1717d [gaim-migrate @ 11769]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10463
diff changeset
1554
10602
111ed237f509 [gaim-migrate @ 12032]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10589
diff changeset
1555 if (!session->http_method)
111ed237f509 [gaim-migrate @ 12032]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10589
diff changeset
1556 {
111ed237f509 [gaim-migrate @ 12032]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10589
diff changeset
1557 MsnCmdProc *cmdproc;
2597
51ca3fb939c9 [gaim-migrate @ 2610]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2591
diff changeset
1558
10602
111ed237f509 [gaim-migrate @ 12032]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10589
diff changeset
1559 cmdproc = session->notification->cmdproc;
111ed237f509 [gaim-migrate @ 12032]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10589
diff changeset
1560
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1561 msn_cmdproc_send_quick(cmdproc, "PNG", NULL, NULL);
10602
111ed237f509 [gaim-migrate @ 12032]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10589
diff changeset
1562 }
2597
51ca3fb939c9 [gaim-migrate @ 2610]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2591
diff changeset
1563 }
51ca3fb939c9 [gaim-migrate @ 2610]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2591
diff changeset
1564
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1565 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1566 msn_group_buddy(PurpleConnection *gc, const char *who,
5518
436fb9490b62 [gaim-migrate @ 5918]
Christian Hammond <chipx86@chipx86.com>
parents: 5507
diff changeset
1567 const char *old_group_name, const char *new_group_name)
5318
2073a19f4217 [gaim-migrate @ 5690]
Christian Hammond <chipx86@chipx86.com>
parents: 5309
diff changeset
1568 {
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1569 MsnSession *session;
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1570 MsnUserList *userlist;
9198
e8eb6d5eb9eb [gaim-migrate @ 9993]
Christian Hammond <chipx86@chipx86.com>
parents: 9193
diff changeset
1571
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1572 session = gc->proto_data;
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1573 userlist = session->userlist;
5518
436fb9490b62 [gaim-migrate @ 5918]
Christian Hammond <chipx86@chipx86.com>
parents: 5507
diff changeset
1574
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1575 msn_userlist_move_buddy(userlist, who, old_group_name, new_group_name);
5318
2073a19f4217 [gaim-migrate @ 5690]
Christian Hammond <chipx86@chipx86.com>
parents: 5309
diff changeset
1576 }
2073a19f4217 [gaim-migrate @ 5690]
Christian Hammond <chipx86@chipx86.com>
parents: 5309
diff changeset
1577
2073a19f4217 [gaim-migrate @ 5690]
Christian Hammond <chipx86@chipx86.com>
parents: 5309
diff changeset
1578 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1579 msn_rename_group(PurpleConnection *gc, const char *old_name,
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1580 PurpleGroup *group, GList *moved_buddies)
5318
2073a19f4217 [gaim-migrate @ 5690]
Christian Hammond <chipx86@chipx86.com>
parents: 5309
diff changeset
1581 {
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1582 MsnSession *session;
5318
2073a19f4217 [gaim-migrate @ 5690]
Christian Hammond <chipx86@chipx86.com>
parents: 5309
diff changeset
1583
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1584 session = gc->proto_data;
20564
35675dd4a44d Make buddy and group management actually work, add some SOAP templates, redesign some parts of code and separate some bigger functions into its smaller tasks which are completely unrelated to each other
Carlos Silva <typ0@pidgin.im>
parents: 20560
diff changeset
1585
35675dd4a44d Make buddy and group management actually work, add some SOAP templates, redesign some parts of code and separate some bigger functions into its smaller tasks which are completely unrelated to each other
Carlos Silva <typ0@pidgin.im>
parents: 20560
diff changeset
1586 g_return_if_fail(session != NULL);
35675dd4a44d Make buddy and group management actually work, add some SOAP templates, redesign some parts of code and separate some bigger functions into its smaller tasks which are completely unrelated to each other
Carlos Silva <typ0@pidgin.im>
parents: 20560
diff changeset
1587 g_return_if_fail(session->userlist != NULL);
35675dd4a44d Make buddy and group management actually work, add some SOAP templates, redesign some parts of code and separate some bigger functions into its smaller tasks which are completely unrelated to each other
Carlos Silva <typ0@pidgin.im>
parents: 20560
diff changeset
1588
35675dd4a44d Make buddy and group management actually work, add some SOAP templates, redesign some parts of code and separate some bigger functions into its smaller tasks which are completely unrelated to each other
Carlos Silva <typ0@pidgin.im>
parents: 20560
diff changeset
1589 if (msn_userlist_find_group_with_name(session->userlist, old_name) != NULL)
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1590 {
20564
35675dd4a44d Make buddy and group management actually work, add some SOAP templates, redesign some parts of code and separate some bigger functions into its smaller tasks which are completely unrelated to each other
Carlos Silva <typ0@pidgin.im>
parents: 20560
diff changeset
1591 msn_contact_rename_group(session, old_name, group->name);
5318
2073a19f4217 [gaim-migrate @ 5690]
Christian Hammond <chipx86@chipx86.com>
parents: 5309
diff changeset
1592 }
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1593 else
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1594 {
20564
35675dd4a44d Make buddy and group management actually work, add some SOAP templates, redesign some parts of code and separate some bigger functions into its smaller tasks which are completely unrelated to each other
Carlos Silva <typ0@pidgin.im>
parents: 20560
diff changeset
1595 /* not found */
35675dd4a44d Make buddy and group management actually work, add some SOAP templates, redesign some parts of code and separate some bigger functions into its smaller tasks which are completely unrelated to each other
Carlos Silva <typ0@pidgin.im>
parents: 20560
diff changeset
1596 msn_add_group(session, NULL, group->name);
5318
2073a19f4217 [gaim-migrate @ 5690]
Christian Hammond <chipx86@chipx86.com>
parents: 5309
diff changeset
1597 }
2073a19f4217 [gaim-migrate @ 5690]
Christian Hammond <chipx86@chipx86.com>
parents: 5309
diff changeset
1598 }
2073a19f4217 [gaim-migrate @ 5690]
Christian Hammond <chipx86@chipx86.com>
parents: 5309
diff changeset
1599
2073a19f4217 [gaim-migrate @ 5690]
Christian Hammond <chipx86@chipx86.com>
parents: 5309
diff changeset
1600 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1601 msn_convo_closed(PurpleConnection *gc, const char *who)
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1602 {
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1603 MsnSession *session;
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1604 MsnSwitchBoard *swboard;
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1605 PurpleConversation *conv;
6026
b11d9f2fd725 [gaim-migrate @ 6476]
Christian Hammond <chipx86@chipx86.com>
parents: 6024
diff changeset
1606
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1607 session = gc->proto_data;
9158
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
1608
10621
2b214ffb112b [gaim-migrate @ 12090]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10602
diff changeset
1609 swboard = msn_session_find_swboard(session, who);
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1610
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1611 /*
10602
111ed237f509 [gaim-migrate @ 12032]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10589
diff changeset
1612 * Don't perform an assertion here. If swboard is NULL, then the
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1613 * switchboard was either closed by the other party, or the person
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1614 * is talking to himself.
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1615 */
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1616 if (swboard == NULL)
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1617 return;
4349
a65175463a31 [gaim-migrate @ 4614]
Nathan Walp <nwalp@pidgin.im>
parents: 4333
diff changeset
1618
10621
2b214ffb112b [gaim-migrate @ 12090]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10602
diff changeset
1619 conv = swboard->conv;
2b214ffb112b [gaim-migrate @ 12090]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10602
diff changeset
1620
17290
8807cc2337f4 When closing IM windows on MSN, don't release the switchboard connection
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 17259
diff changeset
1621 /* If we release the switchboard here, it may still have messages
8807cc2337f4 When closing IM windows on MSN, don't release the switchboard connection
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 17259
diff changeset
1622 pending ACK which would result in incorrect unsent message errors.
8807cc2337f4 When closing IM windows on MSN, don't release the switchboard connection
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 17259
diff changeset
1623 Just let it timeout... This is *so* going to screw with people who
8807cc2337f4 When closing IM windows on MSN, don't release the switchboard connection
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 17259
diff changeset
1624 use dumb clients that report "User has closed the conversation window" */
8807cc2337f4 When closing IM windows on MSN, don't release the switchboard connection
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 17259
diff changeset
1625 /* msn_switchboard_release(swboard, MSN_SB_FLAG_IM); */
8807cc2337f4 When closing IM windows on MSN, don't release the switchboard connection
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 17259
diff changeset
1626 swboard->conv = NULL;
10621
2b214ffb112b [gaim-migrate @ 12090]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10602
diff changeset
1627
2b214ffb112b [gaim-migrate @ 12090]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10602
diff changeset
1628 /* If other switchboards managed to associate themselves with this
2b214ffb112b [gaim-migrate @ 12090]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10602
diff changeset
1629 * conv, make sure they know it's gone! */
2b214ffb112b [gaim-migrate @ 12090]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10602
diff changeset
1630 if (conv != NULL)
2b214ffb112b [gaim-migrate @ 12090]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10602
diff changeset
1631 {
2b214ffb112b [gaim-migrate @ 12090]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10602
diff changeset
1632 while ((swboard = msn_session_find_swboard_with_conv(session, conv)) != NULL)
2b214ffb112b [gaim-migrate @ 12090]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10602
diff changeset
1633 swboard->conv = NULL;
2b214ffb112b [gaim-migrate @ 12090]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10602
diff changeset
1634 }
2597
51ca3fb939c9 [gaim-migrate @ 2610]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2591
diff changeset
1635 }
51ca3fb939c9 [gaim-migrate @ 2610]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2591
diff changeset
1636
6516
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
1637 static void
16538
c7e61e2917c9 Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@pidgin.im>
parents: 16437
diff changeset
1638 msn_set_buddy_icon(PurpleConnection *gc, PurpleStoredImage *img)
7590
54b26062c7e0 [gaim-migrate @ 8208]
Christian Hammond <chipx86@chipx86.com>
parents: 7563
diff changeset
1639 {
9158
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
1640 MsnSession *session;
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
1641 MsnUser *user;
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
1642
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
1643 session = gc->proto_data;
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
1644 user = session->user;
7590
54b26062c7e0 [gaim-migrate @ 8208]
Christian Hammond <chipx86@chipx86.com>
parents: 7563
diff changeset
1645
16538
c7e61e2917c9 Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@pidgin.im>
parents: 16437
diff changeset
1646 msn_user_set_buddy_icon(user, img);
7590
54b26062c7e0 [gaim-migrate @ 8208]
Christian Hammond <chipx86@chipx86.com>
parents: 7563
diff changeset
1647
11992
906176cc9b22 [gaim-migrate @ 14285]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11920
diff changeset
1648 msn_change_status(session);
7590
54b26062c7e0 [gaim-migrate @ 8208]
Christian Hammond <chipx86@chipx86.com>
parents: 7563
diff changeset
1649 }
54b26062c7e0 [gaim-migrate @ 8208]
Christian Hammond <chipx86@chipx86.com>
parents: 7563
diff changeset
1650
54b26062c7e0 [gaim-migrate @ 8208]
Christian Hammond <chipx86@chipx86.com>
parents: 7563
diff changeset
1651 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1652 msn_remove_group(PurpleConnection *gc, PurpleGroup *group)
6885
65132ebfc662 [gaim-migrate @ 7431]
Christian Hammond <chipx86@chipx86.com>
parents: 6859
diff changeset
1653 {
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1654 MsnSession *session;
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1655 MsnCmdProc *cmdproc;
6885
65132ebfc662 [gaim-migrate @ 7431]
Christian Hammond <chipx86@chipx86.com>
parents: 6859
diff changeset
1656
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1657 session = gc->proto_data;
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1658 cmdproc = session->notification->cmdproc;
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1659
20567
2417aff6ff3b Handle special cases in buddy/group management (wrt MSN_INDIVIDUALS_GROUP and MSN_NON_IM_GROUP).
Carlos Silva <typ0@pidgin.im>
parents: 20565
diff changeset
1660 purple_debug_info("MSN", "Remove group %s\n", group->name);
13897
9636e5364590 [gaim-migrate @ 17043]
Ma Yuan <mayuan2006@gmail.com>
parents: 13894
diff changeset
1661 /*we can't delete the default group*/
20564
35675dd4a44d Make buddy and group management actually work, add some SOAP templates, redesign some parts of code and separate some bigger functions into its smaller tasks which are completely unrelated to each other
Carlos Silva <typ0@pidgin.im>
parents: 20560
diff changeset
1662 if(!strcmp(group->name, MSN_INDIVIDUALS_GROUP_NAME)||
35675dd4a44d Make buddy and group management actually work, add some SOAP templates, redesign some parts of code and separate some bigger functions into its smaller tasks which are completely unrelated to each other
Carlos Silva <typ0@pidgin.im>
parents: 20560
diff changeset
1663 !strcmp(group->name, MSN_NON_IM_GROUP_NAME))
6885
65132ebfc662 [gaim-migrate @ 7431]
Christian Hammond <chipx86@chipx86.com>
parents: 6859
diff changeset
1664 {
20567
2417aff6ff3b Handle special cases in buddy/group management (wrt MSN_INDIVIDUALS_GROUP and MSN_NON_IM_GROUP).
Carlos Silva <typ0@pidgin.im>
parents: 20565
diff changeset
1665 purple_debug_info("MSN", "This group can't be removed, returning.\n");
13897
9636e5364590 [gaim-migrate @ 17043]
Ma Yuan <mayuan2006@gmail.com>
parents: 13894
diff changeset
1666 return ;
6885
65132ebfc662 [gaim-migrate @ 7431]
Christian Hammond <chipx86@chipx86.com>
parents: 6859
diff changeset
1667 }
20564
35675dd4a44d Make buddy and group management actually work, add some SOAP templates, redesign some parts of code and separate some bigger functions into its smaller tasks which are completely unrelated to each other
Carlos Silva <typ0@pidgin.im>
parents: 20560
diff changeset
1668
35675dd4a44d Make buddy and group management actually work, add some SOAP templates, redesign some parts of code and separate some bigger functions into its smaller tasks which are completely unrelated to each other
Carlos Silva <typ0@pidgin.im>
parents: 20560
diff changeset
1669 msn_del_group(session, group->name);
6885
65132ebfc662 [gaim-migrate @ 7431]
Christian Hammond <chipx86@chipx86.com>
parents: 6859
diff changeset
1670 }
65132ebfc662 [gaim-migrate @ 7431]
Christian Hammond <chipx86@chipx86.com>
parents: 6859
diff changeset
1671
15205
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 15192
diff changeset
1672 /**
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 15192
diff changeset
1673 * Extract info text from info_data and add it to user_info
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 15192
diff changeset
1674 */
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 15192
diff changeset
1675 static gboolean
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1676 msn_tooltip_extract_info_text(PurpleNotifyUserInfo *user_info, MsnGetInfoData *info_data)
10044
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1677 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1678 PurpleBuddy *b;
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1679
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1680 b = purple_find_buddy(purple_connection_get_account(info_data->gc),
10044
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1681 info_data->name);
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1682
10044
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1683 if (b)
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1684 {
12970
c2f3b4dcf711 [gaim-migrate @ 15323]
Richard Laager <rlaager@pidgin.im>
parents: 12948
diff changeset
1685 char *tmp;
10044
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1686
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1687 if (b->alias && b->alias[0])
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1688 {
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1689 char *aliastext = g_markup_escape_text(b->alias, -1);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1690 purple_notify_user_info_add_pair(user_info, _("Alias"), aliastext);
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1691 g_free(aliastext);
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1692 }
10044
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1693
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1694 if (b->server_alias)
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1695 {
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1696 char *nicktext = g_markup_escape_text(b->server_alias, -1);
15205
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 15192
diff changeset
1697 tmp = g_strdup_printf("<font sml=\"msn\">%s</font><br>", nicktext);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1698 purple_notify_user_info_add_pair(user_info, _("Nickname"), tmp);
15205
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 15192
diff changeset
1699 g_free(tmp);
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1700 g_free(nicktext);
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1701 }
10044
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1702
15205
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 15192
diff changeset
1703 /* Add the tooltip information */
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 15192
diff changeset
1704 msn_tooltip_text(b, user_info, TRUE);
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 15192
diff changeset
1705
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 15192
diff changeset
1706 return TRUE;
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1707 }
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1708
15205
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 15192
diff changeset
1709 return FALSE;
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1710 }
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1711
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1712 #if PHOTO_SUPPORT
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1713
10044
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1714 static char *
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1715 msn_get_photo_url(const char *url_text)
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1716 {
13391
22e0ab3fb068 [gaim-migrate @ 15763]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13390
diff changeset
1717 char *p, *q;
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1718
20508
a8855578906a Revert a bunch of whitespace changes so reviewing a diff against
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 20505
diff changeset
1719 if ((p = strstr(url_text, PHOTO_URL)) != NULL)
13390
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
1720 {
13862
9d790ad9fc7a [gaim-migrate @ 16654]
Ma Yuan <mayuan2006@gmail.com>
parents: 13861
diff changeset
1721 p += strlen(PHOTO_URL);
13390
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
1722 }
13862
9d790ad9fc7a [gaim-migrate @ 16654]
Ma Yuan <mayuan2006@gmail.com>
parents: 13861
diff changeset
1723 if (p && (strncmp(p, "http://",strlen("http://")) == 0) && ((q = strchr(p, '"')) != NULL))
13391
22e0ab3fb068 [gaim-migrate @ 15763]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13390
diff changeset
1724 return g_strndup(p, q - p);
13390
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
1725
13391
22e0ab3fb068 [gaim-migrate @ 15763]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13390
diff changeset
1726 return NULL;
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1727 }
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1728
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1729 static void msn_got_photo(PurpleUtilFetchUrlData *url_data, gpointer data,
14416
c95ffd983a39 [gaim-migrate @ 17060]
Mark Doliner <markdoliner@pidgin.im>
parents: 14254
diff changeset
1730 const gchar *url_text, size_t len, const gchar *error_message);
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1731
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1732 #endif
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1733
13390
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
1734 #if 0
13105
8f9c66e4af87 [gaim-migrate @ 15466]
Richard Laager <rlaager@pidgin.im>
parents: 13020
diff changeset
1735 static char *msn_info_date_reformat(const char *field, size_t len)
8f9c66e4af87 [gaim-migrate @ 15466]
Richard Laager <rlaager@pidgin.im>
parents: 13020
diff changeset
1736 {
8f9c66e4af87 [gaim-migrate @ 15466]
Richard Laager <rlaager@pidgin.im>
parents: 13020
diff changeset
1737 char *tmp = g_strndup(field, len);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1738 time_t t = purple_str_to_time(tmp, FALSE, NULL, NULL, NULL);
13105
8f9c66e4af87 [gaim-migrate @ 15466]
Richard Laager <rlaager@pidgin.im>
parents: 13020
diff changeset
1739
8f9c66e4af87 [gaim-migrate @ 15466]
Richard Laager <rlaager@pidgin.im>
parents: 13020
diff changeset
1740 g_free(tmp);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1741 return g_strdup(purple_date_format_short(localtime(&t)));
13105
8f9c66e4af87 [gaim-migrate @ 15466]
Richard Laager <rlaager@pidgin.im>
parents: 13020
diff changeset
1742 }
13390
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
1743 #endif
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
1744
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
1745 #define MSN_GOT_INFO_GET_FIELD(a, b) \
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1746 found = purple_markup_extract_info_field(stripped, stripped_len, user_info, \
14430
de574ba08dd9 [gaim-migrate @ 17074]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14416
diff changeset
1747 "\n" a ":", 0, "\n", 0, "Undisclosed", b, 0, NULL, NULL); \
13390
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
1748 if (found) \
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
1749 sect_info = TRUE;
13105
8f9c66e4af87 [gaim-migrate @ 15466]
Richard Laager <rlaager@pidgin.im>
parents: 13020
diff changeset
1750
17533
1968afe33448 Improve parsing user info for MSN, Fixes #690
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 17290
diff changeset
1751 #define MSN_GOT_INFO_GET_FIELD_NO_SEARCH(a, b) \
1968afe33448 Improve parsing user info for MSN, Fixes #690
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 17290
diff changeset
1752 found = purple_markup_extract_info_field(stripped, stripped_len, user_info, \
1968afe33448 Improve parsing user info for MSN, Fixes #690
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 17290
diff changeset
1753 "\n" a ":", 0, "\n", 0, "Undisclosed", b, 0, NULL, msn_info_strip_search_link); \
1968afe33448 Improve parsing user info for MSN, Fixes #690
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 17290
diff changeset
1754 if (found) \
1968afe33448 Improve parsing user info for MSN, Fixes #690
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 17290
diff changeset
1755 sect_info = TRUE;
1968afe33448 Improve parsing user info for MSN, Fixes #690
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 17290
diff changeset
1756
1968afe33448 Improve parsing user info for MSN, Fixes #690
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 17290
diff changeset
1757 static char *
1968afe33448 Improve parsing user info for MSN, Fixes #690
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 17290
diff changeset
1758 msn_info_strip_search_link(const char *field, size_t len)
1968afe33448 Improve parsing user info for MSN, Fixes #690
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 17290
diff changeset
1759 {
1968afe33448 Improve parsing user info for MSN, Fixes #690
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 17290
diff changeset
1760 const char *c;
20626
dffaa4f562f5 Compile\!
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20613
diff changeset
1761 if ((c = strstr(field, " (http://")) == NULL)
17533
1968afe33448 Improve parsing user info for MSN, Fixes #690
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 17290
diff changeset
1762 return g_strndup(field, len);
1968afe33448 Improve parsing user info for MSN, Fixes #690
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 17290
diff changeset
1763 return g_strndup(field, c - field);
1968afe33448 Improve parsing user info for MSN, Fixes #690
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 17290
diff changeset
1764 }
1968afe33448 Improve parsing user info for MSN, Fixes #690
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 17290
diff changeset
1765
6885
65132ebfc662 [gaim-migrate @ 7431]
Christian Hammond <chipx86@chipx86.com>
parents: 6859
diff changeset
1766 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1767 msn_got_info(PurpleUtilFetchUrlData *url_data, gpointer data,
14416
c95ffd983a39 [gaim-migrate @ 17060]
Mark Doliner <markdoliner@pidgin.im>
parents: 14254
diff changeset
1768 const gchar *url_text, size_t len, const gchar *error_message)
6516
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
1769 {
7104
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1770 MsnGetInfoData *info_data = (MsnGetInfoData *)data;
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1771 PurpleNotifyUserInfo *user_info;
15205
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 15192
diff changeset
1772 char *stripped, *p, *q, *tmp;
6516
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
1773 char *user_url = NULL;
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1774 gboolean found;
15205
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 15192
diff changeset
1775 gboolean has_tooltip_text = FALSE;
7104
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1776 gboolean has_info = FALSE;
13390
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
1777 gboolean sect_info = FALSE;
15205
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 15192
diff changeset
1778 gboolean has_contact_info = FALSE;
7094
8f9588491993 [gaim-migrate @ 7659]
Christian Hammond <chipx86@chipx86.com>
parents: 7062
diff changeset
1779 char *url_buffer;
7675
8058cedec7a2 [gaim-migrate @ 8319]
Tim Ringenbach <marv@pidgin.im>
parents: 7590
diff changeset
1780 int stripped_len;
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1781 #if PHOTO_SUPPORT
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1782 char *photo_url_text = NULL;
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1783 MsnGetInfoStepTwoData *info2_data = NULL;
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1784 #endif
6516
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
1785
20478
46933dc62880 propagate from branch 'im.pidgin.pidgin' (head 88b7040408c88e4516c008f4eac579f98ef53e85)
Richard Laager <rlaager@pidgin.im>
parents: 20476 15884
diff changeset
1786 purple_debug_info("msn", "In msn_got_info,url_text:{%s}\n",url_text);
7104
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1787
13480
fa44dafa1a02 [gaim-migrate @ 15855]
Evan Schoenberg <evands@pidgin.im>
parents: 13391
diff changeset
1788 /* Make sure the connection is still valid */
18122
9bf9970c1b6a disapproval of revision '2d8ea56b90971e7851442d96b7d74ecb4f052126'
Richard Laager <rlaager@pidgin.im>
parents: 18121
diff changeset
1789 if (g_list_find(purple_connections_get_all(), info_data->gc) == NULL)
13480
fa44dafa1a02 [gaim-migrate @ 15855]
Evan Schoenberg <evands@pidgin.im>
parents: 13391
diff changeset
1790 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1791 purple_debug_warning("msn", "invalid connection. ignoring buddy info.\n");
13480
fa44dafa1a02 [gaim-migrate @ 15855]
Evan Schoenberg <evands@pidgin.im>
parents: 13391
diff changeset
1792 g_free(info_data->name);
fa44dafa1a02 [gaim-migrate @ 15855]
Evan Schoenberg <evands@pidgin.im>
parents: 13391
diff changeset
1793 g_free(info_data);
fa44dafa1a02 [gaim-migrate @ 15855]
Evan Schoenberg <evands@pidgin.im>
parents: 13391
diff changeset
1794 return;
fa44dafa1a02 [gaim-migrate @ 15855]
Evan Schoenberg <evands@pidgin.im>
parents: 13391
diff changeset
1795 }
fa44dafa1a02 [gaim-migrate @ 15855]
Evan Schoenberg <evands@pidgin.im>
parents: 13391
diff changeset
1796
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1797 user_info = purple_notify_user_info_new();
15205
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 15192
diff changeset
1798 has_tooltip_text = msn_tooltip_extract_info_text(user_info, info_data);
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1799
14416
c95ffd983a39 [gaim-migrate @ 17060]
Mark Doliner <markdoliner@pidgin.im>
parents: 14254
diff changeset
1800 if (error_message != NULL || url_text == NULL || strcmp(url_text, "") == 0)
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1801 {
15205
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 15192
diff changeset
1802 tmp = g_strdup_printf("<b>%s</b>", _("Error retrieving profile"));
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1803 purple_notify_user_info_add_pair(user_info, NULL, tmp);
15205
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 15192
diff changeset
1804 g_free(tmp);
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1805
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1806 purple_notify_userinfo(info_data->gc, info_data->name, user_info, NULL, NULL);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1807 purple_notify_user_info_destroy(user_info);
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1808
14430
de574ba08dd9 [gaim-migrate @ 17074]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14416
diff changeset
1809 g_free(info_data->name);
de574ba08dd9 [gaim-migrate @ 17074]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14416
diff changeset
1810 g_free(info_data);
6516
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
1811 return;
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
1812 }
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
1813
7094
8f9588491993 [gaim-migrate @ 7659]
Christian Hammond <chipx86@chipx86.com>
parents: 7062
diff changeset
1814 url_buffer = g_strdup(url_text);
8f9588491993 [gaim-migrate @ 7659]
Christian Hammond <chipx86@chipx86.com>
parents: 7062
diff changeset
1815
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1816 /* If they have a homepage link, MSN masks it such that we need to
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1817 * fetch the url out before purple_markup_strip_html() nukes it */
13390
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
1818 /* I don't think this works with the new spaces profiles - Stu 3/2/06 */
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1819 if ((p = strstr(url_text,
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1820 "Take a look at my </font><A class=viewDesc title=\"")) != NULL)
6516
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
1821 {
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
1822 p += 50;
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1823
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1824 if ((q = strchr(p, '"')) != NULL)
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1825 user_url = g_strndup(p, q - p);
6516
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
1826 }
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
1827
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1828 /*
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1829 * purple_markup_strip_html() doesn't strip out character entities like &nbsp;
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1830 * and &#183;
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1831 */
7094
8f9588491993 [gaim-migrate @ 7659]
Christian Hammond <chipx86@chipx86.com>
parents: 7062
diff changeset
1832 while ((p = strstr(url_buffer, "&nbsp;")) != NULL)
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1833 {
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1834 *p = ' '; /* Turn &nbsp;'s into ordinary blanks */
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1835 p += 1;
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1836 memmove(p, p + 5, strlen(p + 5));
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1837 url_buffer[strlen(url_buffer) - 5] = '\0';
6516
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
1838 }
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
1839
7094
8f9588491993 [gaim-migrate @ 7659]
Christian Hammond <chipx86@chipx86.com>
parents: 7062
diff changeset
1840 while ((p = strstr(url_buffer, "&#183;")) != NULL)
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1841 {
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1842 memmove(p, p + 6, strlen(p + 6));
7094
8f9588491993 [gaim-migrate @ 7659]
Christian Hammond <chipx86@chipx86.com>
parents: 7062
diff changeset
1843 url_buffer[strlen(url_buffer) - 6] = '\0';
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1844 }
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1845
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1846 /* Nuke the nasty \r's that just get in the way */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1847 purple_str_strip_char(url_buffer, '\r');
6516
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
1848
8735
01248ea222d3 [gaim-migrate @ 9490]
Jonathan Champ <royanee@users.sourceforge.net>
parents: 8713
diff changeset
1849 /* MSN always puts in &#39; for apostrophes...replace them */
7094
8f9588491993 [gaim-migrate @ 7659]
Christian Hammond <chipx86@chipx86.com>
parents: 7062
diff changeset
1850 while ((p = strstr(url_buffer, "&#39;")) != NULL)
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1851 {
6516
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
1852 *p = '\'';
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1853 memmove(p + 1, p + 5, strlen(p + 5));
7094
8f9588491993 [gaim-migrate @ 7659]
Christian Hammond <chipx86@chipx86.com>
parents: 7062
diff changeset
1854 url_buffer[strlen(url_buffer) - 4] = '\0';
6516
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
1855 }
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
1856
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1857 /* Nuke the html, it's easier than trying to parse the horrid stuff */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1858 stripped = purple_markup_strip_html(url_buffer);
7675
8058cedec7a2 [gaim-migrate @ 8319]
Tim Ringenbach <marv@pidgin.im>
parents: 7590
diff changeset
1859 stripped_len = strlen(stripped);
6516
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
1860
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1861 purple_debug_misc("msn", "stripped = %p\n", stripped);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1862 purple_debug_misc("msn", "url_buffer = %p\n", url_buffer);
7104
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1863
15205
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 15192
diff changeset
1864 /* General section header */
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 15192
diff changeset
1865 if (has_tooltip_text)
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1866 purple_notify_user_info_add_section_break(user_info);
19989
1f1bb361a75a A fix from Laszlo Pandy to make the MSN HTTP Method work again. Fixes #2638 and should make a number of people happy. This introduces a new string that isn't marked as translatable for 2.2.0 because it is so late in the game.
Daniel Atallah <datallah@pidgin.im>
parents: 19918
diff changeset
1867
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1868 purple_notify_user_info_add_section_header(user_info, _("General"));
19989
1f1bb361a75a A fix from Laszlo Pandy to make the MSN HTTP Method work again. Fixes #2638 and should make a number of people happy. This introduces a new string that isn't marked as translatable for 2.2.0 because it is so late in the game.
Daniel Atallah <datallah@pidgin.im>
parents: 19918
diff changeset
1869
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1870 /* Extract their Name and put it in */
15205
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 15192
diff changeset
1871 MSN_GOT_INFO_GET_FIELD("Name", _("Name"));
19989
1f1bb361a75a A fix from Laszlo Pandy to make the MSN HTTP Method work again. Fixes #2638 and should make a number of people happy. This introduces a new string that isn't marked as translatable for 2.2.0 because it is so late in the game.
Daniel Atallah <datallah@pidgin.im>
parents: 19918
diff changeset
1872
13390
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
1873 /* General */
13545
4647ec0d8a83 [gaim-migrate @ 15921]
Richard Laager <rlaager@pidgin.im>
parents: 13482
diff changeset
1874 MSN_GOT_INFO_GET_FIELD("Nickname", _("Nickname"));
17533
1968afe33448 Improve parsing user info for MSN, Fixes #690
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 17290
diff changeset
1875 MSN_GOT_INFO_GET_FIELD_NO_SEARCH("Age", _("Age"));
1968afe33448 Improve parsing user info for MSN, Fixes #690
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 17290
diff changeset
1876 MSN_GOT_INFO_GET_FIELD_NO_SEARCH("Gender", _("Gender"));
1968afe33448 Improve parsing user info for MSN, Fixes #690
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 17290
diff changeset
1877 MSN_GOT_INFO_GET_FIELD_NO_SEARCH("Occupation", _("Occupation"));
1968afe33448 Improve parsing user info for MSN, Fixes #690
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 17290
diff changeset
1878 MSN_GOT_INFO_GET_FIELD_NO_SEARCH("Location", _("Location"));
6516
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
1879
13390
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
1880 /* Extract their Interests and put it in */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1881 found = purple_markup_extract_info_field(stripped, stripped_len, user_info,
13390
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
1882 "\nInterests\t", 0, " (/default.aspx?page=searchresults", 0,
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
1883 "Undisclosed", _("Hobbies and Interests") /* _("Interests") */,
13105
8f9c66e4af87 [gaim-migrate @ 15466]
Richard Laager <rlaager@pidgin.im>
parents: 13020
diff changeset
1884 0, NULL, NULL);
7104
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1885
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1886 if (found)
13390
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
1887 sect_info = TRUE;
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
1888
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
1889 MSN_GOT_INFO_GET_FIELD("More about me", _("A Little About Me"));
19989
1f1bb361a75a A fix from Laszlo Pandy to make the MSN HTTP Method work again. Fixes #2638 and should make a number of people happy. This introduces a new string that isn't marked as translatable for 2.2.0 because it is so late in the game.
Daniel Atallah <datallah@pidgin.im>
parents: 19918
diff changeset
1890
13390
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
1891 if (sect_info)
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
1892 {
7104
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1893 has_info = TRUE;
13390
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
1894 sect_info = FALSE;
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
1895 }
19989
1f1bb361a75a A fix from Laszlo Pandy to make the MSN HTTP Method work again. Fixes #2638 and should make a number of people happy. This introduces a new string that isn't marked as translatable for 2.2.0 because it is so late in the game.
Daniel Atallah <datallah@pidgin.im>
parents: 19918
diff changeset
1896 else
15205
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 15192
diff changeset
1897 {
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 15192
diff changeset
1898 /* Remove the section header */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1899 purple_notify_user_info_remove_last_item(user_info);
15205
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 15192
diff changeset
1900 if (has_tooltip_text)
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1901 purple_notify_user_info_remove_last_item(user_info);
15205
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 15192
diff changeset
1902 }
19989
1f1bb361a75a A fix from Laszlo Pandy to make the MSN HTTP Method work again. Fixes #2638 and should make a number of people happy. This introduces a new string that isn't marked as translatable for 2.2.0 because it is so late in the game.
Daniel Atallah <datallah@pidgin.im>
parents: 19918
diff changeset
1903
13390
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
1904 /* Social */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1905 purple_notify_user_info_add_section_break(user_info);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1906 purple_notify_user_info_add_section_header(user_info, _("Social"));
19989
1f1bb361a75a A fix from Laszlo Pandy to make the MSN HTTP Method work again. Fixes #2638 and should make a number of people happy. This introduces a new string that isn't marked as translatable for 2.2.0 because it is so late in the game.
Daniel Atallah <datallah@pidgin.im>
parents: 19918
diff changeset
1907
22581
bab4b3f8299a Improve "Get Info" parsing on MSN - ignore all URLs in fields instead of
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 22387
diff changeset
1908 MSN_GOT_INFO_GET_FIELD_NO_SEARCH("Marital status", _("Marital Status"));
bab4b3f8299a Improve "Get Info" parsing on MSN - ignore all URLs in fields instead of
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 22387
diff changeset
1909 MSN_GOT_INFO_GET_FIELD_NO_SEARCH("Interested in", _("Interests"));
bab4b3f8299a Improve "Get Info" parsing on MSN - ignore all URLs in fields instead of
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 22387
diff changeset
1910 MSN_GOT_INFO_GET_FIELD_NO_SEARCH("Pets", _("Pets"));
bab4b3f8299a Improve "Get Info" parsing on MSN - ignore all URLs in fields instead of
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 22387
diff changeset
1911 MSN_GOT_INFO_GET_FIELD_NO_SEARCH("Hometown", _("Hometown"));
13545
4647ec0d8a83 [gaim-migrate @ 15921]
Richard Laager <rlaager@pidgin.im>
parents: 13482
diff changeset
1912 MSN_GOT_INFO_GET_FIELD("Places lived", _("Places Lived"));
22581
bab4b3f8299a Improve "Get Info" parsing on MSN - ignore all URLs in fields instead of
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 22387
diff changeset
1913 MSN_GOT_INFO_GET_FIELD_NO_SEARCH("Fashion", _("Fashion"));
bab4b3f8299a Improve "Get Info" parsing on MSN - ignore all URLs in fields instead of
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 22387
diff changeset
1914 MSN_GOT_INFO_GET_FIELD_NO_SEARCH("Humor", _("Humor"));
bab4b3f8299a Improve "Get Info" parsing on MSN - ignore all URLs in fields instead of
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 22387
diff changeset
1915 MSN_GOT_INFO_GET_FIELD_NO_SEARCH("Music", _("Music"));
bab4b3f8299a Improve "Get Info" parsing on MSN - ignore all URLs in fields instead of
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 22387
diff changeset
1916 MSN_GOT_INFO_GET_FIELD_NO_SEARCH("Favorite quote", _("Favorite Quote"));
13390
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
1917
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
1918 if (sect_info)
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
1919 {
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
1920 has_info = TRUE;
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
1921 sect_info = FALSE;
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
1922 }
19989
1f1bb361a75a A fix from Laszlo Pandy to make the MSN HTTP Method work again. Fixes #2638 and should make a number of people happy. This introduces a new string that isn't marked as translatable for 2.2.0 because it is so late in the game.
Daniel Atallah <datallah@pidgin.im>
parents: 19918
diff changeset
1923 else
15205
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 15192
diff changeset
1924 {
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 15192
diff changeset
1925 /* Remove the section header */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1926 purple_notify_user_info_remove_last_item(user_info);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1927 purple_notify_user_info_remove_last_item(user_info);
15205
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 15192
diff changeset
1928 }
13390
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
1929
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
1930 /* Contact Info */
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
1931 /* Personal */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1932 purple_notify_user_info_add_section_break(user_info);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1933 purple_notify_user_info_add_section_header(user_info, _("Contact Info"));
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1934 purple_notify_user_info_add_section_header(user_info, _("Personal"));
15205
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 15192
diff changeset
1935
13545
4647ec0d8a83 [gaim-migrate @ 15921]
Richard Laager <rlaager@pidgin.im>
parents: 13482
diff changeset
1936 MSN_GOT_INFO_GET_FIELD("Name", _("Name"));
4647ec0d8a83 [gaim-migrate @ 15921]
Richard Laager <rlaager@pidgin.im>
parents: 13482
diff changeset
1937 MSN_GOT_INFO_GET_FIELD("Significant other", _("Significant Other"));
4647ec0d8a83 [gaim-migrate @ 15921]
Richard Laager <rlaager@pidgin.im>
parents: 13482
diff changeset
1938 MSN_GOT_INFO_GET_FIELD("Home phone", _("Home Phone"));
4647ec0d8a83 [gaim-migrate @ 15921]
Richard Laager <rlaager@pidgin.im>
parents: 13482
diff changeset
1939 MSN_GOT_INFO_GET_FIELD("Home phone 2", _("Home Phone 2"));
4647ec0d8a83 [gaim-migrate @ 15921]
Richard Laager <rlaager@pidgin.im>
parents: 13482
diff changeset
1940 MSN_GOT_INFO_GET_FIELD("Home address", _("Home Address"));
4647ec0d8a83 [gaim-migrate @ 15921]
Richard Laager <rlaager@pidgin.im>
parents: 13482
diff changeset
1941 MSN_GOT_INFO_GET_FIELD("Personal Mobile", _("Personal Mobile"));
4647ec0d8a83 [gaim-migrate @ 15921]
Richard Laager <rlaager@pidgin.im>
parents: 13482
diff changeset
1942 MSN_GOT_INFO_GET_FIELD("Home fax", _("Home Fax"));
4647ec0d8a83 [gaim-migrate @ 15921]
Richard Laager <rlaager@pidgin.im>
parents: 13482
diff changeset
1943 MSN_GOT_INFO_GET_FIELD("Personal e-mail", _("Personal E-Mail"));
4647ec0d8a83 [gaim-migrate @ 15921]
Richard Laager <rlaager@pidgin.im>
parents: 13482
diff changeset
1944 MSN_GOT_INFO_GET_FIELD("Personal IM", _("Personal IM"));
4647ec0d8a83 [gaim-migrate @ 15921]
Richard Laager <rlaager@pidgin.im>
parents: 13482
diff changeset
1945 MSN_GOT_INFO_GET_FIELD("Birthday", _("Birthday"));
4647ec0d8a83 [gaim-migrate @ 15921]
Richard Laager <rlaager@pidgin.im>
parents: 13482
diff changeset
1946 MSN_GOT_INFO_GET_FIELD("Anniversary", _("Anniversary"));
4647ec0d8a83 [gaim-migrate @ 15921]
Richard Laager <rlaager@pidgin.im>
parents: 13482
diff changeset
1947 MSN_GOT_INFO_GET_FIELD("Notes", _("Notes"));
13390
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
1948
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
1949 if (sect_info)
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
1950 {
15205
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 15192
diff changeset
1951 has_info = TRUE;
13390
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
1952 sect_info = FALSE;
15205
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 15192
diff changeset
1953 has_contact_info = TRUE;
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 15192
diff changeset
1954 }
19989
1f1bb361a75a A fix from Laszlo Pandy to make the MSN HTTP Method work again. Fixes #2638 and should make a number of people happy. This introduces a new string that isn't marked as translatable for 2.2.0 because it is so late in the game.
Daniel Atallah <datallah@pidgin.im>
parents: 19918
diff changeset
1955 else
15205
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 15192
diff changeset
1956 {
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 15192
diff changeset
1957 /* Remove the section header */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1958 purple_notify_user_info_remove_last_item(user_info);
13390
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
1959 }
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
1960
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
1961 /* Business */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1962 purple_notify_user_info_add_section_header(user_info, _("Work"));
13545
4647ec0d8a83 [gaim-migrate @ 15921]
Richard Laager <rlaager@pidgin.im>
parents: 13482
diff changeset
1963 MSN_GOT_INFO_GET_FIELD("Name", _("Name"));
4647ec0d8a83 [gaim-migrate @ 15921]
Richard Laager <rlaager@pidgin.im>
parents: 13482
diff changeset
1964 MSN_GOT_INFO_GET_FIELD("Job title", _("Job Title"));
4647ec0d8a83 [gaim-migrate @ 15921]
Richard Laager <rlaager@pidgin.im>
parents: 13482
diff changeset
1965 MSN_GOT_INFO_GET_FIELD("Company", _("Company"));
4647ec0d8a83 [gaim-migrate @ 15921]
Richard Laager <rlaager@pidgin.im>
parents: 13482
diff changeset
1966 MSN_GOT_INFO_GET_FIELD("Department", _("Department"));
4647ec0d8a83 [gaim-migrate @ 15921]
Richard Laager <rlaager@pidgin.im>
parents: 13482
diff changeset
1967 MSN_GOT_INFO_GET_FIELD("Profession", _("Profession"));
4647ec0d8a83 [gaim-migrate @ 15921]
Richard Laager <rlaager@pidgin.im>
parents: 13482
diff changeset
1968 MSN_GOT_INFO_GET_FIELD("Work phone 1", _("Work Phone"));
4647ec0d8a83 [gaim-migrate @ 15921]
Richard Laager <rlaager@pidgin.im>
parents: 13482
diff changeset
1969 MSN_GOT_INFO_GET_FIELD("Work phone 2", _("Work Phone 2"));
4647ec0d8a83 [gaim-migrate @ 15921]
Richard Laager <rlaager@pidgin.im>
parents: 13482
diff changeset
1970 MSN_GOT_INFO_GET_FIELD("Work address", _("Work Address"));
4647ec0d8a83 [gaim-migrate @ 15921]
Richard Laager <rlaager@pidgin.im>
parents: 13482
diff changeset
1971 MSN_GOT_INFO_GET_FIELD("Work mobile", _("Work Mobile"));
4647ec0d8a83 [gaim-migrate @ 15921]
Richard Laager <rlaager@pidgin.im>
parents: 13482
diff changeset
1972 MSN_GOT_INFO_GET_FIELD("Work pager", _("Work Pager"));
4647ec0d8a83 [gaim-migrate @ 15921]
Richard Laager <rlaager@pidgin.im>
parents: 13482
diff changeset
1973 MSN_GOT_INFO_GET_FIELD("Work fax", _("Work Fax"));
4647ec0d8a83 [gaim-migrate @ 15921]
Richard Laager <rlaager@pidgin.im>
parents: 13482
diff changeset
1974 MSN_GOT_INFO_GET_FIELD("Work e-mail", _("Work E-Mail"));
4647ec0d8a83 [gaim-migrate @ 15921]
Richard Laager <rlaager@pidgin.im>
parents: 13482
diff changeset
1975 MSN_GOT_INFO_GET_FIELD("Work IM", _("Work IM"));
4647ec0d8a83 [gaim-migrate @ 15921]
Richard Laager <rlaager@pidgin.im>
parents: 13482
diff changeset
1976 MSN_GOT_INFO_GET_FIELD("Start date", _("Start Date"));
4647ec0d8a83 [gaim-migrate @ 15921]
Richard Laager <rlaager@pidgin.im>
parents: 13482
diff changeset
1977 MSN_GOT_INFO_GET_FIELD("Notes", _("Notes"));
13390
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
1978
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
1979 if (sect_info)
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
1980 {
15205
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 15192
diff changeset
1981 has_info = TRUE;
13390
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
1982 sect_info = FALSE;
15205
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 15192
diff changeset
1983 has_contact_info = TRUE;
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 15192
diff changeset
1984 }
19989
1f1bb361a75a A fix from Laszlo Pandy to make the MSN HTTP Method work again. Fixes #2638 and should make a number of people happy. This introduces a new string that isn't marked as translatable for 2.2.0 because it is so late in the game.
Daniel Atallah <datallah@pidgin.im>
parents: 19918
diff changeset
1985 else
15205
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 15192
diff changeset
1986 {
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 15192
diff changeset
1987 /* Remove the section header */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1988 purple_notify_user_info_remove_last_item(user_info);
13390
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
1989 }
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
1990
15205
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 15192
diff changeset
1991 if (!has_contact_info)
13390
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
1992 {
15205
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 15192
diff changeset
1993 /* Remove the Contact Info section header */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
1994 purple_notify_user_info_remove_last_item(user_info);
13390
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
1995 }
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
1996
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
1997 #if 0 /* these probably don't show up any more */
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1998 /*
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1999 * The fields, 'A Little About Me', 'Favorite Things', 'Hobbies
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2000 * and Interests', 'Favorite Quote', and 'My Homepage' may or may
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2001 * not appear, in any combination. However, they do appear in
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2002 * certain order, so we can successively search to pin down the
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2003 * distinct values.
6516
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
2004 */
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
2005
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2006 /* Check if they have A Little About Me */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2007 found = purple_markup_extract_info_field(stripped, stripped_len, s,
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2008 " A Little About Me \n\n", 0, "Favorite Things", '\n', NULL,
13105
8f9c66e4af87 [gaim-migrate @ 15466]
Richard Laager <rlaager@pidgin.im>
parents: 13020
diff changeset
2009 _("A Little About Me"), 0, NULL, NULL);
6516
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
2010
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2011 if (!found)
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2012 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2013 found = purple_markup_extract_info_field(stripped, stripped_len, s,
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2014 " A Little About Me \n\n", 0, "Hobbies and Interests", '\n',
13105
8f9c66e4af87 [gaim-migrate @ 15466]
Richard Laager <rlaager@pidgin.im>
parents: 13020
diff changeset
2015 NULL, _("A Little About Me"), 0, NULL, NULL);
7095
17d2b54254f8 [gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents: 7094
diff changeset
2016 }
17d2b54254f8 [gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents: 7094
diff changeset
2017
17d2b54254f8 [gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents: 7094
diff changeset
2018 if (!found)
17d2b54254f8 [gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents: 7094
diff changeset
2019 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2020 found = purple_markup_extract_info_field(stripped, stripped_len, s,
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2021 " A Little About Me \n\n", 0, "Favorite Quote", '\n', NULL,
13105
8f9c66e4af87 [gaim-migrate @ 15466]
Richard Laager <rlaager@pidgin.im>
parents: 13020
diff changeset
2022 _("A Little About Me"), 0, NULL, NULL);
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2023 }
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2024
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2025 if (!found)
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2026 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2027 found = purple_markup_extract_info_field(stripped, stripped_len, s,
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2028 " A Little About Me \n\n", 0, "My Homepage \n\nTake a look",
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2029 '\n',
13105
8f9c66e4af87 [gaim-migrate @ 15466]
Richard Laager <rlaager@pidgin.im>
parents: 13020
diff changeset
2030 NULL, _("A Little About Me"), 0, NULL, NULL);
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2031 }
6516
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
2032
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2033 if (!found)
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2034 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2035 purple_markup_extract_info_field(stripped, stripped_len, s,
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2036 " A Little About Me \n\n", 0, "last updated", '\n', NULL,
13105
8f9c66e4af87 [gaim-migrate @ 15466]
Richard Laager <rlaager@pidgin.im>
parents: 13020
diff changeset
2037 _("A Little About Me"), 0, NULL, NULL);
7095
17d2b54254f8 [gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents: 7094
diff changeset
2038 }
17d2b54254f8 [gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents: 7094
diff changeset
2039
7104
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
2040 if (found)
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
2041 has_info = TRUE;
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
2042
7095
17d2b54254f8 [gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents: 7094
diff changeset
2043 /* Check if they have Favorite Things */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2044 found = purple_markup_extract_info_field(stripped, stripped_len, s,
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2045 " Favorite Things \n\n", 0, "Hobbies and Interests", '\n', NULL,
13105
8f9c66e4af87 [gaim-migrate @ 15466]
Richard Laager <rlaager@pidgin.im>
parents: 13020
diff changeset
2046 _("Favorite Things"), 0, NULL, NULL);
7095
17d2b54254f8 [gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents: 7094
diff changeset
2047
17d2b54254f8 [gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents: 7094
diff changeset
2048 if (!found)
17d2b54254f8 [gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents: 7094
diff changeset
2049 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2050 found = purple_markup_extract_info_field(stripped, stripped_len, s,
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2051 " Favorite Things \n\n", 0, "Favorite Quote", '\n', NULL,
13105
8f9c66e4af87 [gaim-migrate @ 15466]
Richard Laager <rlaager@pidgin.im>
parents: 13020
diff changeset
2052 _("Favorite Things"), 0, NULL, NULL);
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2053 }
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2054
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2055 if (!found)
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2056 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2057 found = purple_markup_extract_info_field(stripped, stripped_len, s,
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2058 " Favorite Things \n\n", 0, "My Homepage \n\nTake a look", '\n',
13105
8f9c66e4af87 [gaim-migrate @ 15466]
Richard Laager <rlaager@pidgin.im>
parents: 13020
diff changeset
2059 NULL, _("Favorite Things"), 0, NULL, NULL);
6516
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
2060 }
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
2061
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2062 if (!found)
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2063 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2064 purple_markup_extract_info_field(stripped, stripped_len, s,
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2065 " Favorite Things \n\n", 0, "last updated", '\n', NULL,
13105
8f9c66e4af87 [gaim-migrate @ 15466]
Richard Laager <rlaager@pidgin.im>
parents: 13020
diff changeset
2066 _("Favorite Things"), 0, NULL, NULL);
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2067 }
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2068
7104
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
2069 if (found)
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
2070 has_info = TRUE;
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
2071
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2072 /* Check if they have Hobbies and Interests */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2073 found = purple_markup_extract_info_field(stripped, stripped_len, s,
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2074 " Hobbies and Interests \n\n", 0, "Favorite Quote", '\n', NULL,
13105
8f9c66e4af87 [gaim-migrate @ 15466]
Richard Laager <rlaager@pidgin.im>
parents: 13020
diff changeset
2075 _("Hobbies and Interests"), 0, NULL, NULL);
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2076
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2077 if (!found)
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2078 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2079 found = purple_markup_extract_info_field(stripped, stripped_len, s,
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2080 " Hobbies and Interests \n\n", 0, "My Homepage \n\nTake a look",
13105
8f9c66e4af87 [gaim-migrate @ 15466]
Richard Laager <rlaager@pidgin.im>
parents: 13020
diff changeset
2081 '\n', NULL, _("Hobbies and Interests"), 0, NULL, NULL);
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2082 }
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2083
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2084 if (!found)
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2085 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2086 purple_markup_extract_info_field(stripped, stripped_len, s,
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2087 " Hobbies and Interests \n\n", 0, "last updated", '\n', NULL,
13105
8f9c66e4af87 [gaim-migrate @ 15466]
Richard Laager <rlaager@pidgin.im>
parents: 13020
diff changeset
2088 _("Hobbies and Interests"), 0, NULL, NULL);
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2089 }
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2090
7104
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
2091 if (found)
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
2092 has_info = TRUE;
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
2093
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2094 /* Check if they have Favorite Quote */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2095 found = purple_markup_extract_info_field(stripped, stripped_len, s,
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2096 "Favorite Quote \n\n", 0, "My Homepage \n\nTake a look", '\n', NULL,
13105
8f9c66e4af87 [gaim-migrate @ 15466]
Richard Laager <rlaager@pidgin.im>
parents: 13020
diff changeset
2097 _("Favorite Quote"), 0, NULL, NULL);
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2098
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2099 if (!found)
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2100 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2101 purple_markup_extract_info_field(stripped, stripped_len, s,
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2102 "Favorite Quote \n\n", 0, "last updated", '\n', NULL,
13105
8f9c66e4af87 [gaim-migrate @ 15466]
Richard Laager <rlaager@pidgin.im>
parents: 13020
diff changeset
2103 _("Favorite Quote"), 0, NULL, NULL);
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2104 }
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2105
7104
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
2106 if (found)
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
2107 has_info = TRUE;
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
2108
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2109 /* Extract the last updated date and put it in */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2110 found = purple_markup_extract_info_field(stripped, stripped_len, s,
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2111 " last updated:", 1, "\n", 0, NULL, _("Last Updated"), 0,
13105
8f9c66e4af87 [gaim-migrate @ 15466]
Richard Laager <rlaager@pidgin.im>
parents: 13020
diff changeset
2112 NULL, msn_info_date_reformat);
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2113
7104
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
2114 if (found)
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
2115 has_info = TRUE;
13390
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
2116 #endif
7104
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
2117
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2118 /* If we were able to fetch a homepage url earlier, stick it in there */
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2119 if (user_url != NULL)
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2120 {
15205
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 15192
diff changeset
2121 tmp = g_strdup_printf("<a href=\"%s\">%s</a>", user_url, user_url);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2122 purple_notify_user_info_add_pair(user_info, _("Homepage"), tmp);
15205
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 15192
diff changeset
2123 g_free(tmp);
7104
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
2124 g_free(user_url);
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
2125
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
2126 has_info = TRUE;
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2127 }
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
2128
9510
09843093610c [gaim-migrate @ 10337]
Tim Ringenbach <marv@pidgin.im>
parents: 9475
diff changeset
2129 if (!has_info)
09843093610c [gaim-migrate @ 10337]
Tim Ringenbach <marv@pidgin.im>
parents: 9475
diff changeset
2130 {
09843093610c [gaim-migrate @ 10337]
Tim Ringenbach <marv@pidgin.im>
parents: 9475
diff changeset
2131 /* MSN doesn't actually distinguish between "unknown member" and
09843093610c [gaim-migrate @ 10337]
Tim Ringenbach <marv@pidgin.im>
parents: 9475
diff changeset
2132 * a known member with an empty profile. Try to explain this fact.
09843093610c [gaim-migrate @ 10337]
Tim Ringenbach <marv@pidgin.im>
parents: 9475
diff changeset
2133 * Note that if we have a nonempty tooltip_text, we know the user
09843093610c [gaim-migrate @ 10337]
Tim Ringenbach <marv@pidgin.im>
parents: 9475
diff changeset
2134 * exists.
09843093610c [gaim-migrate @ 10337]
Tim Ringenbach <marv@pidgin.im>
parents: 9475
diff changeset
2135 */
13390
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
2136 /* This doesn't work with the new spaces profiles - Stu 3/2/06
9510
09843093610c [gaim-migrate @ 10337]
Tim Ringenbach <marv@pidgin.im>
parents: 9475
diff changeset
2137 char *p = strstr(url_buffer, "Unknown Member </TITLE>");
13390
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
2138 * This might not work for long either ... */
17533
1968afe33448 Improve parsing user info for MSN, Fixes #690
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 17290
diff changeset
2139 /* Nope, it failed some time before 5/2/07 :(
13390
1d9b81d3a9b0 [gaim-migrate @ 15762]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 13297
diff changeset
2140 char *p = strstr(url_buffer, "form id=\"SpacesSearch\" name=\"SpacesSearch\"");
17533
1968afe33448 Improve parsing user info for MSN, Fixes #690
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 17290
diff changeset
2141 * Let's see how long this one holds out for ... */
1968afe33448 Improve parsing user info for MSN, Fixes #690
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 17290
diff changeset
2142 char *p = strstr(url_buffer, "<form id=\"profile_form\" name=\"profile_form\" action=\"http&#58;&#47;&#47;spaces.live.com&#47;profile.aspx&#63;cid&#61;0\"");
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2143 PurpleBuddy *b = purple_find_buddy
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2144 (purple_connection_get_account(info_data->gc), info_data->name);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2145 purple_notify_user_info_add_pair(user_info, _("Error retrieving profile"),
15205
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 15192
diff changeset
2146 ((p && b) ? _("The user has not created a public profile.") :
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 15192
diff changeset
2147 (p ? _("MSN reported not being able to find the user's profile. "
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 15192
diff changeset
2148 "This either means that the user does not exist, "
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 15192
diff changeset
2149 "or that the user exists "
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 15192
diff changeset
2150 "but has not created a public profile.") :
15444
b793ef258d23 I think this changes every user-visible string that contains 'Gaim.' We probably want the UI to be able
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
2151 _("Could not find " /* This should never happen */
15205
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 15192
diff changeset
2152 "any information in the user's profile. "
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 15192
diff changeset
2153 "The user most likely does not exist."))));
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2154 }
15205
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 15192
diff changeset
2155
9510
09843093610c [gaim-migrate @ 10337]
Tim Ringenbach <marv@pidgin.im>
parents: 9475
diff changeset
2156 /* put a link to the actual profile URL */
15205
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 15192
diff changeset
2157 tmp = g_strdup_printf("<a href=\"%s%s\">%s%s</a>",
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 15192
diff changeset
2158 PROFILE_URL, info_data->name, PROFILE_URL, info_data->name);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2159 purple_notify_user_info_add_pair(user_info, _("Profile URL"), tmp);
19989
1f1bb361a75a A fix from Laszlo Pandy to make the MSN HTTP Method work again. Fixes #2638 and should make a number of people happy. This introduces a new string that isn't marked as translatable for 2.2.0 because it is so late in the game.
Daniel Atallah <datallah@pidgin.im>
parents: 19918
diff changeset
2160 g_free(tmp);
7062
26abb8b189ce [gaim-migrate @ 7626]
Christian Hammond <chipx86@chipx86.com>
parents: 7015
diff changeset
2161
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2162 #if PHOTO_SUPPORT
9569
63364b43cb0b [gaim-migrate @ 10412]
Tim Ringenbach <marv@pidgin.im>
parents: 9558
diff changeset
2163 /* Find the URL to the photo; must be before the marshalling [Bug 994207] */
63364b43cb0b [gaim-migrate @ 10412]
Tim Ringenbach <marv@pidgin.im>
parents: 9558
diff changeset
2164 photo_url_text = msn_get_photo_url(url_text);
20852
32d28b465fe3 Fix null printf.
Daniel Atallah <datallah@pidgin.im>
parents: 20770
diff changeset
2165 purple_debug_info("MSNP14","photo url:{%s}\n", photo_url_text ? photo_url_text : "(null)");
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2166
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2167 /* Marshall the existing state */
21065
8bbf0f6700ed Fix some leaks and prevent some unnecessary allocations and frees.
Daniel Atallah <datallah@pidgin.im>
parents: 21033
diff changeset
2168 info2_data = g_new0(MsnGetInfoStepTwoData, 1);
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2169 info2_data->info_data = info_data;
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2170 info2_data->stripped = stripped;
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2171 info2_data->url_buffer = url_buffer;
15205
f642029b2f97 [gaim-migrate @ 17929]
Evan Schoenberg <evands@pidgin.im>
parents: 15192
diff changeset
2172 info2_data->user_info = user_info;
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2173 info2_data->photo_url_text = photo_url_text;
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2174
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2175 /* Try to put the photo in there too, if there's one */
10044
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
2176 if (photo_url_text)
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
2177 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2178 purple_util_fetch_url(photo_url_text, FALSE, NULL, FALSE, msn_got_photo,
10044
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
2179 info2_data);
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
2180 }
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
2181 else
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
2182 {
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2183 /* Emulate a callback */
14416
c95ffd983a39 [gaim-migrate @ 17060]
Mark Doliner <markdoliner@pidgin.im>
parents: 14254
diff changeset
2184 /* TODO: Huh? */
c95ffd983a39 [gaim-migrate @ 17060]
Mark Doliner <markdoliner@pidgin.im>
parents: 14254
diff changeset
2185 msn_got_photo(NULL, info2_data, NULL, 0, NULL);
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2186 }
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2187 }
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2188
10044
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
2189 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2190 msn_got_photo(PurpleUtilFetchUrlData *url_data, gpointer user_data,
14416
c95ffd983a39 [gaim-migrate @ 17060]
Mark Doliner <markdoliner@pidgin.im>
parents: 14254
diff changeset
2191 const gchar *url_text, size_t len, const gchar *error_message)
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2192 {
14416
c95ffd983a39 [gaim-migrate @ 17060]
Mark Doliner <markdoliner@pidgin.im>
parents: 14254
diff changeset
2193 MsnGetInfoStepTwoData *info2_data = (MsnGetInfoStepTwoData *)user_data;
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2194 int id = -1;
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2195
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2196 /* Unmarshall the saved state */
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2197 MsnGetInfoData *info_data = info2_data->info_data;
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2198 char *stripped = info2_data->stripped;
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2199 char *url_buffer = info2_data->url_buffer;
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2200 PurpleNotifyUserInfo *user_info = info2_data->user_info;
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2201 char *photo_url_text = info2_data->photo_url_text;
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2202
13480
fa44dafa1a02 [gaim-migrate @ 15855]
Evan Schoenberg <evands@pidgin.im>
parents: 13391
diff changeset
2203 /* Make sure the connection is still valid if we got here by fetching a photo url */
14570
a3f5c8a5ebc9 [gaim-migrate @ 17228]
Evan Schoenberg <evands@pidgin.im>
parents: 14430
diff changeset
2204 if (url_text && (error_message != NULL ||
18122
9bf9970c1b6a disapproval of revision '2d8ea56b90971e7851442d96b7d74ecb4f052126'
Richard Laager <rlaager@pidgin.im>
parents: 18121
diff changeset
2205 g_list_find(purple_connections_get_all(), info_data->gc) == NULL))
13480
fa44dafa1a02 [gaim-migrate @ 15855]
Evan Schoenberg <evands@pidgin.im>
parents: 13391
diff changeset
2206 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2207 purple_debug_warning("msn", "invalid connection. ignoring buddy photo info.\n");
13480
fa44dafa1a02 [gaim-migrate @ 15855]
Evan Schoenberg <evands@pidgin.im>
parents: 13391
diff changeset
2208 g_free(stripped);
fa44dafa1a02 [gaim-migrate @ 15855]
Evan Schoenberg <evands@pidgin.im>
parents: 13391
diff changeset
2209 g_free(url_buffer);
21026
c30d218090bb Fix some (rather large) leakage.
Daniel Atallah <datallah@pidgin.im>
parents: 20934
diff changeset
2210 purple_notify_user_info_destroy(user_info);
13480
fa44dafa1a02 [gaim-migrate @ 15855]
Evan Schoenberg <evands@pidgin.im>
parents: 13391
diff changeset
2211 g_free(info_data->name);
fa44dafa1a02 [gaim-migrate @ 15855]
Evan Schoenberg <evands@pidgin.im>
parents: 13391
diff changeset
2212 g_free(info_data);
fa44dafa1a02 [gaim-migrate @ 15855]
Evan Schoenberg <evands@pidgin.im>
parents: 13391
diff changeset
2213 g_free(photo_url_text);
fa44dafa1a02 [gaim-migrate @ 15855]
Evan Schoenberg <evands@pidgin.im>
parents: 13391
diff changeset
2214 g_free(info2_data);
13482
8b1b470cc1ef [gaim-migrate @ 15857]
Evan Schoenberg <evands@pidgin.im>
parents: 13480
diff changeset
2215
13480
fa44dafa1a02 [gaim-migrate @ 15855]
Evan Schoenberg <evands@pidgin.im>
parents: 13391
diff changeset
2216 return;
fa44dafa1a02 [gaim-migrate @ 15855]
Evan Schoenberg <evands@pidgin.im>
parents: 13391
diff changeset
2217 }
fa44dafa1a02 [gaim-migrate @ 15855]
Evan Schoenberg <evands@pidgin.im>
parents: 13391
diff changeset
2218
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2219 /* Try to put the photo in there too, if there's one and is readable */
14416
c95ffd983a39 [gaim-migrate @ 17060]
Mark Doliner <markdoliner@pidgin.im>
parents: 14254
diff changeset
2220 if (user_data && url_text && len != 0)
10044
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
2221 {
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2222 if (strstr(url_text, "400 Bad Request")
10044
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
2223 || strstr(url_text, "403 Forbidden")
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
2224 || strstr(url_text, "404 Not Found"))
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
2225 {
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2226
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2227 purple_debug_info("msn", "Error getting %s: %s\n",
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2228 photo_url_text, url_text);
10044
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
2229 }
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
2230 else
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
2231 {
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2232 char buf[1024];
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2233 purple_debug_info("msn", "%s is %d bytes\n", photo_url_text, len);
16539
75a20ae3a527 Change the imgstore and by extension, then the buddy icon code to take over
Richard Laager <rlaager@pidgin.im>
parents: 16538
diff changeset
2234 id = purple_imgstore_add_with_id(g_memdup(url_text, len), len, NULL);
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2235 g_snprintf(buf, sizeof(buf), "<img id=\"%d\"><br>", id);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2236 purple_notify_user_info_prepend_pair(user_info, NULL, buf);
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2237 }
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2238 }
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2239
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2240 /* We continue here from msn_got_info, as if nothing has happened */
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2241 #endif
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2242 purple_notify_userinfo(info_data->gc, info_data->name, user_info, NULL, NULL);
7062
26abb8b189ce [gaim-migrate @ 7626]
Christian Hammond <chipx86@chipx86.com>
parents: 7015
diff changeset
2243
6516
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
2244 g_free(stripped);
7094
8f9588491993 [gaim-migrate @ 7659]
Christian Hammond <chipx86@chipx86.com>
parents: 7062
diff changeset
2245 g_free(url_buffer);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2246 purple_notify_user_info_destroy(user_info);
7104
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
2247 g_free(info_data->name);
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
2248 g_free(info_data);
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2249 #if PHOTO_SUPPORT
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2250 g_free(photo_url_text);
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2251 g_free(info2_data);
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2252 if (id != -1)
16437
7ff7c3405ea2 Rework the buddy icon subsystem to use the imgstore subsystem, and modify the
Richard Laager <rlaager@pidgin.im>
parents: 15884
diff changeset
2253 purple_imgstore_unref_by_id(id);
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
2254 #endif
6516
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
2255 }
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
2256
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
2257 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2258 msn_get_info(PurpleConnection *gc, const char *name)
6516
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
2259 {
7104
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
2260 MsnGetInfoData *data;
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
2261 char *url;
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
2262
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
2263 data = g_new0(MsnGetInfoData, 1);
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
2264 data->gc = gc;
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
2265 data->name = g_strdup(name);
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
2266
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
2267 url = g_strdup_printf("%s%s", PROFILE_URL, name);
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
2268
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2269 purple_util_fetch_url(url, FALSE,
9158
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
2270 "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)",
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
2271 TRUE, msn_got_info, data);
7104
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
2272
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
2273 g_free(url);
6516
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
2274 }
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
2275
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2276 static gboolean msn_load(PurplePlugin *plugin)
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
2277 {
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
2278 msn_notification_init();
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
2279 msn_switchboard_init();
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
2280 msn_sync_init();
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
2281
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
2282 return TRUE;
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
2283 }
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
2284
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2285 static gboolean msn_unload(PurplePlugin *plugin)
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
2286 {
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
2287 msn_notification_end();
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
2288 msn_switchboard_end();
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
2289 msn_sync_end();
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
2290
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
2291 return TRUE;
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
2292 }
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
2293
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2294 static PurpleAccount *find_acct(const char *prpl, const char *acct_id)
15685
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2295 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2296 PurpleAccount *acct = NULL;
15685
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2297
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2298 /* If we have a specific acct, use it */
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2299 if (acct_id) {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2300 acct = purple_accounts_find(acct_id, prpl);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2301 if (acct && !purple_account_is_connected(acct))
15685
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2302 acct = NULL;
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2303 } else { /* Otherwise find an active account for the protocol */
18122
9bf9970c1b6a disapproval of revision '2d8ea56b90971e7851442d96b7d74ecb4f052126'
Richard Laager <rlaager@pidgin.im>
parents: 18121
diff changeset
2304 GList *l = purple_accounts_get_all();
15685
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2305 while (l) {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2306 if (!strcmp(prpl, purple_account_get_protocol_id(l->data))
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2307 && purple_account_is_connected(l->data)) {
15685
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2308 acct = l->data;
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2309 break;
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2310 }
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2311 l = l->next;
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2312 }
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2313 }
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2314
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2315 return acct;
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2316 }
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2317
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2318 static gboolean msn_uri_handler(const char *proto, const char *cmd, GHashTable *params)
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2319 {
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2320 char *acct_id = g_hash_table_lookup(params, "account");
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2321 PurpleAccount *acct;
15685
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2322
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2323 if (g_ascii_strcasecmp(proto, "msnim"))
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2324 return FALSE;
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2325
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2326 acct = find_acct("prpl-msn", acct_id);
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2327
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2328 if (!acct)
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2329 return FALSE;
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2330
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2331 /* msnim:chat?contact=user@domain.tld */
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2332 if (!g_ascii_strcasecmp(cmd, "Chat")) {
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2333 char *sname = g_hash_table_lookup(params, "contact");
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2334 if (sname) {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2335 PurpleConversation *conv = purple_find_conversation_with_account(
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2336 PURPLE_CONV_TYPE_IM, sname, acct);
15685
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2337 if (conv == NULL)
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2338 conv = purple_conversation_new(PURPLE_CONV_TYPE_IM, acct, sname);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2339 purple_conversation_present(conv);
15685
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2340 }
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2341 /*else
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2342 **If pidgindialogs_im() was in the core, we could use it here.
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2343 * It is all purple_request_* based, but I'm not sure it really belongs in the core
15685
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2344 pidgindialogs_im();*/
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2345
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2346 return TRUE;
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2347 }
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2348 /* msnim:add?contact=user@domain.tld */
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2349 else if (!g_ascii_strcasecmp(cmd, "Add")) {
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2350 char *name = g_hash_table_lookup(params, "contact");
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2351 purple_blist_request_add_buddy(acct, name, NULL, NULL);
15685
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2352 return TRUE;
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2353 }
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2354
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2355 return FALSE;
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2356 }
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2357
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2358
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2359 static PurplePluginProtocolInfo prpl_info =
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5191
diff changeset
2360 {
9308
4ea759d72d37 [gaim-migrate @ 10116]
Sean Egan <seanegan@pidgin.im>
parents: 9290
diff changeset
2361 OPT_PROTO_MAIL_CHECK,
9475
8c8d4ac992a6 [gaim-migrate @ 10300]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9466
diff changeset
2362 NULL, /* user_splits */
8c8d4ac992a6 [gaim-migrate @ 10300]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9466
diff changeset
2363 NULL, /* protocol_options */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2364 {"png", 0, 0, 96, 96, 0, PURPLE_ICON_SCALE_SEND}, /* icon_spec */
9475
8c8d4ac992a6 [gaim-migrate @ 10300]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9466
diff changeset
2365 msn_list_icon, /* list_icon */
15602
6d1d20a9e297 This is my attempt at MSN mobile status, but I suspect MSN mobile status doesn't exist. If it's confirmed that it doesn't, I'll revert this. But I want to keep it for posterity, in case it does exist
Sean Egan <seanegan@pidgin.im>
parents: 15524
diff changeset
2366 NULL, /* list_emblems */
9475
8c8d4ac992a6 [gaim-migrate @ 10300]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9466
diff changeset
2367 msn_status_text, /* status_text */
8c8d4ac992a6 [gaim-migrate @ 10300]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9466
diff changeset
2368 msn_tooltip_text, /* tooltip_text */
9951
19b949eca7f8 [gaim-migrate @ 10847]
Nathan Walp <nwalp@pidgin.im>
parents: 9943
diff changeset
2369 msn_status_types, /* away_states */
19b949eca7f8 [gaim-migrate @ 10847]
Nathan Walp <nwalp@pidgin.im>
parents: 9943
diff changeset
2370 msn_blist_node_menu, /* blist_node_menu */
9475
8c8d4ac992a6 [gaim-migrate @ 10300]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9466
diff changeset
2371 NULL, /* chat_info */
9754
3a17eee239b2 [gaim-migrate @ 10621]
Nathan Fredrickson <nathan@silverorange.com>
parents: 9713
diff changeset
2372 NULL, /* chat_info_defaults */
9951
19b949eca7f8 [gaim-migrate @ 10847]
Nathan Walp <nwalp@pidgin.im>
parents: 9943
diff changeset
2373 msn_login, /* login */
19b949eca7f8 [gaim-migrate @ 10847]
Nathan Walp <nwalp@pidgin.im>
parents: 9943
diff changeset
2374 msn_close, /* close */
9475
8c8d4ac992a6 [gaim-migrate @ 10300]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9466
diff changeset
2375 msn_send_im, /* send_im */
8c8d4ac992a6 [gaim-migrate @ 10300]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9466
diff changeset
2376 NULL, /* set_info */
8c8d4ac992a6 [gaim-migrate @ 10300]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9466
diff changeset
2377 msn_send_typing, /* send_typing */
8c8d4ac992a6 [gaim-migrate @ 10300]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9466
diff changeset
2378 msn_get_info, /* get_info */
9967
7400b348ff62 [gaim-migrate @ 10877]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9953
diff changeset
2379 msn_set_status, /* set_away */
9475
8c8d4ac992a6 [gaim-migrate @ 10300]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9466
diff changeset
2380 msn_set_idle, /* set_idle */
8c8d4ac992a6 [gaim-migrate @ 10300]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9466
diff changeset
2381 NULL, /* change_passwd */
8c8d4ac992a6 [gaim-migrate @ 10300]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9466
diff changeset
2382 msn_add_buddy, /* add_buddy */
8c8d4ac992a6 [gaim-migrate @ 10300]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9466
diff changeset
2383 NULL, /* add_buddies */
8c8d4ac992a6 [gaim-migrate @ 10300]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9466
diff changeset
2384 msn_rem_buddy, /* remove_buddy */
8c8d4ac992a6 [gaim-migrate @ 10300]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9466
diff changeset
2385 NULL, /* remove_buddies */
8c8d4ac992a6 [gaim-migrate @ 10300]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9466
diff changeset
2386 msn_add_permit, /* add_permit */
8c8d4ac992a6 [gaim-migrate @ 10300]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9466
diff changeset
2387 msn_add_deny, /* add_deny */
8c8d4ac992a6 [gaim-migrate @ 10300]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9466
diff changeset
2388 msn_rem_permit, /* rem_permit */
8c8d4ac992a6 [gaim-migrate @ 10300]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9466
diff changeset
2389 msn_rem_deny, /* rem_deny */
13856
a6511183749e [gaim-migrate @ 16546]
Ma Yuan <mayuan2006@gmail.com>
parents: 13854
diff changeset
2390 msn_set_permit_deny, /* set_permit_deny */
9475
8c8d4ac992a6 [gaim-migrate @ 10300]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9466
diff changeset
2391 NULL, /* join_chat */
8c8d4ac992a6 [gaim-migrate @ 10300]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9466
diff changeset
2392 NULL, /* reject chat invite */
10463
f2f97738b401 [gaim-migrate @ 11737]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10451
diff changeset
2393 NULL, /* get_chat_name */
9475
8c8d4ac992a6 [gaim-migrate @ 10300]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9466
diff changeset
2394 msn_chat_invite, /* chat_invite */
8c8d4ac992a6 [gaim-migrate @ 10300]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9466
diff changeset
2395 msn_chat_leave, /* chat_leave */
8c8d4ac992a6 [gaim-migrate @ 10300]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9466
diff changeset
2396 NULL, /* chat_whisper */
8c8d4ac992a6 [gaim-migrate @ 10300]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9466
diff changeset
2397 msn_chat_send, /* chat_send */
8c8d4ac992a6 [gaim-migrate @ 10300]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9466
diff changeset
2398 msn_keepalive, /* keepalive */
8c8d4ac992a6 [gaim-migrate @ 10300]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9466
diff changeset
2399 NULL, /* register_user */
8c8d4ac992a6 [gaim-migrate @ 10300]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9466
diff changeset
2400 NULL, /* get_cb_info */
8c8d4ac992a6 [gaim-migrate @ 10300]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9466
diff changeset
2401 NULL, /* get_cb_away */
8c8d4ac992a6 [gaim-migrate @ 10300]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9466
diff changeset
2402 NULL, /* alias_buddy */
8c8d4ac992a6 [gaim-migrate @ 10300]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9466
diff changeset
2403 msn_group_buddy, /* group_buddy */
8c8d4ac992a6 [gaim-migrate @ 10300]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9466
diff changeset
2404 msn_rename_group, /* rename_group */
8c8d4ac992a6 [gaim-migrate @ 10300]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9466
diff changeset
2405 NULL, /* buddy_free */
8c8d4ac992a6 [gaim-migrate @ 10300]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9466
diff changeset
2406 msn_convo_closed, /* convo_closed */
8c8d4ac992a6 [gaim-migrate @ 10300]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9466
diff changeset
2407 msn_normalize, /* normalize */
8c8d4ac992a6 [gaim-migrate @ 10300]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9466
diff changeset
2408 msn_set_buddy_icon, /* set_buddy_icon */
8c8d4ac992a6 [gaim-migrate @ 10300]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9466
diff changeset
2409 msn_remove_group, /* remove_group */
8c8d4ac992a6 [gaim-migrate @ 10300]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9466
diff changeset
2410 NULL, /* get_cb_real_name */
8c8d4ac992a6 [gaim-migrate @ 10300]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9466
diff changeset
2411 NULL, /* set_chat_topic */
8c8d4ac992a6 [gaim-migrate @ 10300]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9466
diff changeset
2412 NULL, /* find_blist_chat */
8c8d4ac992a6 [gaim-migrate @ 10300]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9466
diff changeset
2413 NULL, /* roomlist_get_list */
8c8d4ac992a6 [gaim-migrate @ 10300]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9466
diff changeset
2414 NULL, /* roomlist_cancel */
8c8d4ac992a6 [gaim-migrate @ 10300]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9466
diff changeset
2415 NULL, /* roomlist_expand_category */
10116
054b064145a1 [gaim-migrate @ 11153]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10102
diff changeset
2416 msn_can_receive_file, /* can_receive_file */
12143
09f216663302 [gaim-migrate @ 14444]
Evan Schoenberg <evands@pidgin.im>
parents: 11992
diff changeset
2417 msn_send_file, /* send_file */
12600
7ecd4441fdc7 [gaim-migrate @ 14934]
Richard Laager <rlaager@pidgin.im>
parents: 12595
diff changeset
2418 msn_new_xfer, /* new_xfer */
16890
3ea8e90bacd1 Make MSN mobile buddies offline, mobile, and offline-messagable. Fixes #215
Sean Egan <seanegan@pidgin.im>
parents: 16746
diff changeset
2419 msn_offline_message, /* offline_message */
12600
7ecd4441fdc7 [gaim-migrate @ 14934]
Richard Laager <rlaager@pidgin.im>
parents: 12595
diff changeset
2420 NULL, /* whiteboard_prpl_ops */
14605
2fd8baf4e5fb [gaim-migrate @ 17264]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 14604
diff changeset
2421 NULL, /* send_raw */
15185
74b689a74430 [gaim-migrate @ 17909]
Nathan Walp <nwalp@pidgin.im>
parents: 15181
diff changeset
2422 NULL, /* roomlist_room_serialize */
19893
33446dac7ca0 Fixed merge errors stemming from the fact that the main branch and my branch both added something to the prpl struct
Andreas Monitzer <am@adiumx.com>
parents: 19643
diff changeset
2423 NULL, /* unregister_user */
19643
1794c23309d3 In MSN prpl, use attention API. Can be disabled by undefining
Jeff Connelly <jeff2@soc.pidgin.im>
parents: 18122
diff changeset
2424 msn_send_attention, /* send_attention */
1794c23309d3 In MSN prpl, use attention API. Can be disabled by undefining
Jeff Connelly <jeff2@soc.pidgin.im>
parents: 18122
diff changeset
2425 msn_attention_types, /* attention_types */
19913
735ccae0bd4b Remove the *_USE_ATTENTION_API markers everywhere.
Richard Laager <rlaager@pidgin.im>
parents: 19908
diff changeset
2426
16746
72faf41c3c4f And now the protocols
Gary Kramlich <grim@reaperworld.com>
parents: 16545
diff changeset
2427 /* padding */
72faf41c3c4f And now the protocols
Gary Kramlich <grim@reaperworld.com>
parents: 16545
diff changeset
2428 NULL
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5191
diff changeset
2429 };
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5191
diff changeset
2430
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2431 static PurplePluginInfo info =
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5191
diff changeset
2432 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2433 PURPLE_PLUGIN_MAGIC,
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2434 PURPLE_MAJOR_VERSION,
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2435 PURPLE_MINOR_VERSION,
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2436 PURPLE_PLUGIN_PROTOCOL, /**< type */
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5191
diff changeset
2437 NULL, /**< ui_requirement */
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5191
diff changeset
2438 0, /**< flags */
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5191
diff changeset
2439 NULL, /**< dependencies */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2440 PURPLE_PRIORITY_DEFAULT, /**< priority */
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5191
diff changeset
2441
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5191
diff changeset
2442 "prpl-msn", /**< id */
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5191
diff changeset
2443 "MSN", /**< name */
21106
b85fbef13eed Add a --with-extraversion option to ./configure so packagers can fine tune
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 21101
diff changeset
2444 DISPLAY_VERSION, /**< version */
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5191
diff changeset
2445 /** summary */
16183
92409c474659 Committing khc's msnp14 changes from Trac Ticket #148. --rlaager
Ka-Hing Cheung <khc@pidgin.im>
parents: 15884
diff changeset
2446 N_("Windows Live Messenger Protocol Plugin"),
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5191
diff changeset
2447 /** description */
16183
92409c474659 Committing khc's msnp14 changes from Trac Ticket #148. --rlaager
Ka-Hing Cheung <khc@pidgin.im>
parents: 15884
diff changeset
2448 N_("Windows Live Messenger Protocol Plugin"),
20508
a8855578906a Revert a bunch of whitespace changes so reviewing a diff against
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 20505
diff changeset
2449 "Christian Hammond <chipx86@gnupdate.org>, "
a8855578906a Revert a bunch of whitespace changes so reviewing a diff against
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 20505
diff changeset
2450 "MaYuan <mayuan2006@gmail.com>", /**< author */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2451 PURPLE_WEBSITE, /**< homepage */
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5191
diff changeset
2452
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
2453 msn_load, /**< load */
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
2454 msn_unload, /**< unload */
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5191
diff changeset
2455 NULL, /**< destroy */
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5191
diff changeset
2456
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5191
diff changeset
2457 NULL, /**< ui_info */
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
2458 &prpl_info, /**< extra_info */
10487
4a37cce04215 [gaim-migrate @ 11777]
Sean Egan <seanegan@pidgin.im>
parents: 10481
diff changeset
2459 NULL, /**< prefs_info */
16746
72faf41c3c4f And now the protocols
Gary Kramlich <grim@reaperworld.com>
parents: 16545
diff changeset
2460 msn_actions,
72faf41c3c4f And now the protocols
Gary Kramlich <grim@reaperworld.com>
parents: 16545
diff changeset
2461
72faf41c3c4f And now the protocols
Gary Kramlich <grim@reaperworld.com>
parents: 16545
diff changeset
2462 /* padding */
72faf41c3c4f And now the protocols
Gary Kramlich <grim@reaperworld.com>
parents: 16545
diff changeset
2463 NULL,
72faf41c3c4f And now the protocols
Gary Kramlich <grim@reaperworld.com>
parents: 16545
diff changeset
2464 NULL,
72faf41c3c4f And now the protocols
Gary Kramlich <grim@reaperworld.com>
parents: 16545
diff changeset
2465 NULL,
72faf41c3c4f And now the protocols
Gary Kramlich <grim@reaperworld.com>
parents: 16545
diff changeset
2466 NULL
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5191
diff changeset
2467 };
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5191
diff changeset
2468
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5191
diff changeset
2469 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2470 init_plugin(PurplePlugin *plugin)
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
2471 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2472 PurpleAccountOption *option;
3572
d07e14aa6f26 [gaim-migrate @ 3670]
Sean Egan <seanegan@pidgin.im>
parents: 3538
diff changeset
2473
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2474 option = purple_account_option_string_new(_("Server"), "server",
13853
cccd9dd599eb [gaim-migrate @ 16329]
Ma Yuan <mayuan2006@gmail.com>
parents: 13844
diff changeset
2475 WLM_SERVER);
5638
53e752c88ea1 [gaim-migrate @ 6047]
Christian Hammond <chipx86@chipx86.com>
parents: 5626
diff changeset
2476 prpl_info.protocol_options = g_list_append(prpl_info.protocol_options,
53e752c88ea1 [gaim-migrate @ 6047]
Christian Hammond <chipx86@chipx86.com>
parents: 5626
diff changeset
2477 option);
3572
d07e14aa6f26 [gaim-migrate @ 3670]
Sean Egan <seanegan@pidgin.im>
parents: 3538
diff changeset
2478
20478
46933dc62880 propagate from branch 'im.pidgin.pidgin' (head 88b7040408c88e4516c008f4eac579f98ef53e85)
Richard Laager <rlaager@pidgin.im>
parents: 20476 15884
diff changeset
2479 option = purple_account_option_int_new(_("Port"), "port", WLM_PORT);
5638
53e752c88ea1 [gaim-migrate @ 6047]
Christian Hammond <chipx86@chipx86.com>
parents: 5626
diff changeset
2480 prpl_info.protocol_options = g_list_append(prpl_info.protocol_options,
53e752c88ea1 [gaim-migrate @ 6047]
Christian Hammond <chipx86@chipx86.com>
parents: 5626
diff changeset
2481 option);
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
2482
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2483 option = purple_account_option_bool_new(_("Use HTTP Method"),
9158
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
2484 "http_method", FALSE);
7288
486e8b44a14b [gaim-migrate @ 7869]
Christian Hammond <chipx86@chipx86.com>
parents: 7277
diff changeset
2485 prpl_info.protocol_options = g_list_append(prpl_info.protocol_options,
486e8b44a14b [gaim-migrate @ 7869]
Christian Hammond <chipx86@chipx86.com>
parents: 7277
diff changeset
2486 option);
486e8b44a14b [gaim-migrate @ 7869]
Christian Hammond <chipx86@chipx86.com>
parents: 7277
diff changeset
2487
20077
dad85816359f applied changes from e3d8fe145881335e4c42f96480b7c2681ff85fe9
Richard Laager <rlaager@pidgin.im>
parents: 19989
diff changeset
2488 option = purple_account_option_string_new(_("HTTP Method Server"),
19989
1f1bb361a75a A fix from Laszlo Pandy to make the MSN HTTP Method work again. Fixes #2638 and should make a number of people happy. This introduces a new string that isn't marked as translatable for 2.2.0 because it is so late in the game.
Daniel Atallah <datallah@pidgin.im>
parents: 19918
diff changeset
2489 "http_method_server", MSN_HTTPCONN_SERVER);
1f1bb361a75a A fix from Laszlo Pandy to make the MSN HTTP Method work again. Fixes #2638 and should make a number of people happy. This introduces a new string that isn't marked as translatable for 2.2.0 because it is so late in the game.
Daniel Atallah <datallah@pidgin.im>
parents: 19918
diff changeset
2490 prpl_info.protocol_options = g_list_append(prpl_info.protocol_options,
1f1bb361a75a A fix from Laszlo Pandy to make the MSN HTTP Method work again. Fixes #2638 and should make a number of people happy. This introduces a new string that isn't marked as translatable for 2.2.0 because it is so late in the game.
Daniel Atallah <datallah@pidgin.im>
parents: 19918
diff changeset
2491 option);
1f1bb361a75a A fix from Laszlo Pandy to make the MSN HTTP Method work again. Fixes #2638 and should make a number of people happy. This introduces a new string that isn't marked as translatable for 2.2.0 because it is so late in the game.
Daniel Atallah <datallah@pidgin.im>
parents: 19918
diff changeset
2492
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2493 option = purple_account_option_bool_new(_("Show custom smileys"),
12886
050f70062d54 [gaim-migrate @ 15238]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 12658
diff changeset
2494 "custom_smileys", TRUE);
050f70062d54 [gaim-migrate @ 15238]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 12658
diff changeset
2495 prpl_info.protocol_options = g_list_append(prpl_info.protocol_options,
050f70062d54 [gaim-migrate @ 15238]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 12658
diff changeset
2496 option);
050f70062d54 [gaim-migrate @ 15238]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 12658
diff changeset
2497
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2498 purple_cmd_register("nudge", "", PURPLE_CMD_P_PRPL,
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2499 PURPLE_CMD_FLAG_IM | PURPLE_CMD_FLAG_PRPL_ONLY,
11321
a93121c0ea16 [gaim-migrate @ 13525]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11257
diff changeset
2500 "prpl-msn", msn_cmd_nudge,
12318
942b7c089acb [gaim-migrate @ 14622]
Richard Laager <rlaager@pidgin.im>
parents: 12243
diff changeset
2501 _("nudge: nudge a user to get their attention"), NULL);
11321
a93121c0ea16 [gaim-migrate @ 13525]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11257
diff changeset
2502
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2503 purple_prefs_remove("/plugins/prpl/msn");
15685
483b223d0b60 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <datallah@pidgin.im>
parents: 15654
diff changeset
2504
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2505 purple_signal_connect(purple_get_core(), "uri-handler", plugin,
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2506 PURPLE_CALLBACK(msn_uri_handler), NULL);
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
2507 }
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
2508
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15685
diff changeset
2509 PURPLE_INIT_PLUGIN(msn, init_plugin, info);

mercurial