src/protocols/msn/msn.c

Mon, 27 Sep 2004 02:50:48 +0000

author
Fernando Herrera
date
Mon, 27 Sep 2004 02:50:48 +0000
changeset 10063
030e7f33c8a9
parent 10057
f5670751740c
child 10068
0d6696898a50
permissions
-rw-r--r--

[gaim-migrate @ 11038]
this lets you see who you have blocked and who doesn't have you on your
list as emblems for msn. it looks like its extendable to the other
protocols? thanks to Fernando Herrera for this.

committer: Luke Schierer <lschiere@pidgin.im>

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 *
05a476dec582 [gaim-migrate @ 4821]
Christian Hammond <chipx86@chipx86.com>
parents: 4508
diff changeset
4 * gaim
05a476dec582 [gaim-migrate @ 4821]
Christian Hammond <chipx86@chipx86.com>
parents: 4508
diff changeset
5 *
9198
e8eb6d5eb9eb [gaim-migrate @ 9993]
Christian Hammond <chipx86@chipx86.com>
parents: 9193
diff changeset
6 * Gaim is the legal property of its developers, whose names are too numerous
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
05a476dec582 [gaim-migrate @ 4821]
Christian Hammond <chipx86@chipx86.com>
parents: 4508
diff changeset
22 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
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"
5361
a964b856e97f [gaim-migrate @ 5737]
Christian Hammond <chipx86@chipx86.com>
parents: 5351
diff changeset
35 #include "state.h"
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
36 #include "utils.h"
9713
bb37562302a1 [gaim-migrate @ 10574]
Mark Doliner <markdoliner@pidgin.im>
parents: 9684
diff changeset
37 #include "prpl.h"
7095
17d2b54254f8 [gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents: 7094
diff changeset
38 #include "util.h"
9943
b54a762f60fa [gaim-migrate @ 10835]
Nathan Walp <nwalp@pidgin.im>
parents: 9917
diff changeset
39 #include "version.h"
4546
d14ad00fe294 [gaim-migrate @ 4825]
Herman Bloggs <herman@bluedigits.com>
parents: 4542
diff changeset
40
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
41 #include "switchboard.h"
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
42 #include "notification.h"
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
43 #include "sync.h"
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
44 #include "slplink.h"
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
45
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
46 #if PHOTO_SUPPORT
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
47 #include "imgstore.h"
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
48 #endif
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
49
8333
09d55969e801 [gaim-migrate @ 9057]
Christian Hammond <chipx86@chipx86.com>
parents: 8298
diff changeset
50 #define BUDDY_ALIAS_MAXLEN 387
4542
05a476dec582 [gaim-migrate @ 4821]
Christian Hammond <chipx86@chipx86.com>
parents: 4508
diff changeset
51
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5191
diff changeset
52 static GaimPlugin *my_protocol = NULL;
4249
62583b5d3663 [gaim-migrate @ 4499]
Robert McQueen <robot101@debian.org>
parents: 4245
diff changeset
53
5369
12dc1957e1b2 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
54 typedef struct
12dc1957e1b2 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
55 {
5564
1779a1bfbdb8 [gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents: 5518
diff changeset
56 GaimConnection *gc;
5369
12dc1957e1b2 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
57 const char *passport;
12dc1957e1b2 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
58
12dc1957e1b2 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
59 } MsnMobileData;
12dc1957e1b2 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
60
7104
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
61 typedef struct
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
62 {
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
63 GaimConnection *gc;
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
64 char *name;
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
65
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
66 } MsnGetInfoData;
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
67
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
68 typedef struct
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
69 {
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
70 MsnGetInfoData *info_data;
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
71 char *stripped;
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
72 char *url_buffer;
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
73 GString *s;
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
74 char *photo_url_text;
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
75 char *tooltip_text;
9510
09843093610c [gaim-migrate @ 10337]
Tim Ringenbach <marv@pidgin.im>
parents: 9475
diff changeset
76 const char *title;
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
77
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
78 } MsnGetInfoStepTwoData;
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
79
9158
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
80 static const char *
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
81 msn_normalize(const GaimAccount *account, const char *str)
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
82 {
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
83 static char buf[BUF_LEN];
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
84 char *tmp;
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
85
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
86 g_return_val_if_fail(str != NULL, NULL);
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
87
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
88 g_snprintf(buf, sizeof(buf), "%s%s", str,
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
89 (strchr(str, '@') ? "" : "@hotmail.com"));
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
90
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
91 tmp = g_utf8_strdown(buf, -1);
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
92 strncpy(buf, tmp, sizeof(buf));
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
93 g_free(tmp);
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 return buf;
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
96 }
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
97
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
98 static void
5564
1779a1bfbdb8 [gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents: 5518
diff changeset
99 msn_act_id(GaimConnection *gc, const char *entry)
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
100 {
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
101 MsnCmdProc *cmdproc;
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
102 MsnSession *session;
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
103 GaimAccount *account;
9158
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
104 const char *alias;
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
105
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
106 session = gc->proto_data;
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
107 cmdproc = session->notification->cmdproc;
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
108 account = gaim_connection_get_account(gc);
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
109
9158
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
110 alias = (entry && *entry) ? entry : "";
3171
51b439b09c0a [gaim-migrate @ 3187]
Rob Flynn <gaim@robflynn.com>
parents: 3170
diff changeset
111
8333
09d55969e801 [gaim-migrate @ 9057]
Christian Hammond <chipx86@chipx86.com>
parents: 8298
diff changeset
112 if (strlen(alias) > BUDDY_ALIAS_MAXLEN)
09d55969e801 [gaim-migrate @ 9057]
Christian Hammond <chipx86@chipx86.com>
parents: 8298
diff changeset
113 {
5436
a0e0bacaa196 [gaim-migrate @ 5818]
Christian Hammond <chipx86@chipx86.com>
parents: 5382
diff changeset
114 gaim_notify_error(gc, NULL,
a0e0bacaa196 [gaim-migrate @ 5818]
Christian Hammond <chipx86@chipx86.com>
parents: 5382
diff changeset
115 _("Your new MSN friendly name is too long."), NULL);
2738
bd5bcb1c8167 [gaim-migrate @ 2751]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2688
diff changeset
116 return;
bd5bcb1c8167 [gaim-migrate @ 2751]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2688
diff changeset
117 }
bd5bcb1c8167 [gaim-migrate @ 2751]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2688
diff changeset
118
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
119 msn_cmdproc_send(cmdproc, "REA", "%s %s",
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
120 gaim_account_get_username(account),
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
121 gaim_url_encode(alias));
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
122 }
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
123
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
124 static void
5564
1779a1bfbdb8 [gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents: 5518
diff changeset
125 msn_set_prp(GaimConnection *gc, const char *type, const char *entry)
5363
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
126 {
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
127 MsnCmdProc *cmdproc;
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
128 MsnSession *session;
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
129
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
130 session = gc->proto_data;
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
131 cmdproc = session->notification->cmdproc;
5363
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
132
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
133 if (entry == NULL || *entry == '\0')
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
134 {
9158
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
135 msn_cmdproc_send(cmdproc, "PRP", "%s", type);
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
136 }
5363
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
137 else
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
138 {
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
139 msn_cmdproc_send(cmdproc, "PRP", "%s %s", type,
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
140 gaim_url_encode(entry));
5363
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
141 }
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
142 }
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
143
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
144 static void
5564
1779a1bfbdb8 [gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents: 5518
diff changeset
145 msn_set_home_phone_cb(GaimConnection *gc, const char *entry)
5363
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
146 {
5491
38c414014f4f [gaim-migrate @ 5887]
Christian Hammond <chipx86@chipx86.com>
parents: 5481
diff changeset
147 msn_set_prp(gc, "PHH", entry);
5363
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
148 }
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
149
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
150 static void
5564
1779a1bfbdb8 [gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents: 5518
diff changeset
151 msn_set_work_phone_cb(GaimConnection *gc, const char *entry)
5363
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
152 {
5491
38c414014f4f [gaim-migrate @ 5887]
Christian Hammond <chipx86@chipx86.com>
parents: 5481
diff changeset
153 msn_set_prp(gc, "PHW", entry);
5363
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
154 }
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
155
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
156 static void
5564
1779a1bfbdb8 [gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents: 5518
diff changeset
157 msn_set_mobile_phone_cb(GaimConnection *gc, const char *entry)
5363
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
158 {
5491
38c414014f4f [gaim-migrate @ 5887]
Christian Hammond <chipx86@chipx86.com>
parents: 5481
diff changeset
159 msn_set_prp(gc, "PHM", entry);
5364
d423753cfd63 [gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents: 5363
diff changeset
160 }
d423753cfd63 [gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents: 5363
diff changeset
161
d423753cfd63 [gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents: 5363
diff changeset
162 static void
5793
28d84d5e5663 [gaim-migrate @ 6218]
Christian Hammond <chipx86@chipx86.com>
parents: 5717
diff changeset
163 enable_msn_pages_cb(GaimConnection *gc)
5364
d423753cfd63 [gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents: 5363
diff changeset
164 {
d423753cfd63 [gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents: 5363
diff changeset
165 msn_set_prp(gc, "MOB", "Y");
5363
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
166 }
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
167
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
168 static void
5793
28d84d5e5663 [gaim-migrate @ 6218]
Christian Hammond <chipx86@chipx86.com>
parents: 5717
diff changeset
169 disable_msn_pages_cb(GaimConnection *gc)
5364
d423753cfd63 [gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents: 5363
diff changeset
170 {
d423753cfd63 [gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents: 5363
diff changeset
171 msn_set_prp(gc, "MOB", "N");
d423753cfd63 [gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents: 5363
diff changeset
172 }
d423753cfd63 [gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents: 5363
diff changeset
173
5369
12dc1957e1b2 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
174 static void
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
175 send_to_mobile(GaimConnection *gc, const char *who, const char *entry)
5369
12dc1957e1b2 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
176 {
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
177 MsnTransaction *trans;
8646
74d0e7406e3b [gaim-migrate @ 9398]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8595
diff changeset
178 MsnSession *session;
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
179 MsnCmdProc *cmdproc;
5369
12dc1957e1b2 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
180 MsnPage *page;
8646
74d0e7406e3b [gaim-migrate @ 9398]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8595
diff changeset
181 char *payload;
74d0e7406e3b [gaim-migrate @ 9398]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8595
diff changeset
182 size_t payload_len;
5369
12dc1957e1b2 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
183
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
184 session = gc->proto_data;
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
185 cmdproc = session->notification->cmdproc;
5369
12dc1957e1b2 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
186
12dc1957e1b2 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
187 page = msn_page_new();
12dc1957e1b2 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
188 msn_page_set_body(page, entry);
8646
74d0e7406e3b [gaim-migrate @ 9398]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8595
diff changeset
189
9092
34b9e78827f6 [gaim-migrate @ 9869]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9091
diff changeset
190 payload = msn_page_gen_payload(page, &payload_len);
8646
74d0e7406e3b [gaim-migrate @ 9398]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8595
diff changeset
191
9092
34b9e78827f6 [gaim-migrate @ 9869]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9091
diff changeset
192 trans = msn_transaction_new("PGD", "%s 1 %d", who, payload_len);
5369
12dc1957e1b2 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
193
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
194 msn_transaction_set_payload(trans, payload, payload_len);
5369
12dc1957e1b2 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
195
12dc1957e1b2 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
196 msn_page_destroy(page);
12dc1957e1b2 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
197
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
198 msn_cmdproc_send_trans(cmdproc, trans);
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
199 }
5369
12dc1957e1b2 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
200
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
201 static void
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
202 send_to_mobile_cb(MsnMobileData *data, const char *entry)
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
203 {
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
204 send_to_mobile(data->gc, data->passport, entry);
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
205 g_free(data);
5369
12dc1957e1b2 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
206 }
12dc1957e1b2 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
207
5491
38c414014f4f [gaim-migrate @ 5887]
Christian Hammond <chipx86@chipx86.com>
parents: 5481
diff changeset
208 static void
5793
28d84d5e5663 [gaim-migrate @ 6218]
Christian Hammond <chipx86@chipx86.com>
parents: 5717
diff changeset
209 close_mobile_page_cb(MsnMobileData *data, const char *entry)
5491
38c414014f4f [gaim-migrate @ 5887]
Christian Hammond <chipx86@chipx86.com>
parents: 5481
diff changeset
210 {
38c414014f4f [gaim-migrate @ 5887]
Christian Hammond <chipx86@chipx86.com>
parents: 5481
diff changeset
211 g_free(data);
38c414014f4f [gaim-migrate @ 5887]
Christian Hammond <chipx86@chipx86.com>
parents: 5481
diff changeset
212 }
38c414014f4f [gaim-migrate @ 5887]
Christian Hammond <chipx86@chipx86.com>
parents: 5481
diff changeset
213
5364
d423753cfd63 [gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents: 5363
diff changeset
214 /* -- */
d423753cfd63 [gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents: 5363
diff changeset
215
d423753cfd63 [gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents: 5363
diff changeset
216 static void
9015
3c27e9074fa2 [gaim-migrate @ 9791]
Christopher O'Brien <siege@pidgin.im>
parents: 8993
diff changeset
217 msn_show_set_friendly_name(GaimPluginAction *action)
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
218 {
9158
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
219 GaimConnection *gc;
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
220
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
221 gc = (GaimConnection *) action->context;
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
222
5491
38c414014f4f [gaim-migrate @ 5887]
Christian Hammond <chipx86@chipx86.com>
parents: 5481
diff changeset
223 gaim_request_input(gc, NULL, _("Set your friendly name."),
38c414014f4f [gaim-migrate @ 5887]
Christian Hammond <chipx86@chipx86.com>
parents: 5481
diff changeset
224 _("This is the name that other MSN buddies will "
38c414014f4f [gaim-migrate @ 5887]
Christian Hammond <chipx86@chipx86.com>
parents: 5481
diff changeset
225 "see you as."),
8697
c5e51aef2026 [gaim-migrate @ 9450]
Jon Oberheide
parents: 8691
diff changeset
226 gaim_connection_get_display_name(gc), FALSE, FALSE, NULL,
5481
2f161d72e311 [gaim-migrate @ 5877]
Christian Hammond <chipx86@chipx86.com>
parents: 5436
diff changeset
227 _("OK"), G_CALLBACK(msn_act_id),
2f161d72e311 [gaim-migrate @ 5877]
Christian Hammond <chipx86@chipx86.com>
parents: 5436
diff changeset
228 _("Cancel"), NULL, gc);
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
229 }
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
230
5363
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
231 static void
9015
3c27e9074fa2 [gaim-migrate @ 9791]
Christopher O'Brien <siege@pidgin.im>
parents: 8993
diff changeset
232 msn_show_set_home_phone(GaimPluginAction *action)
5363
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
233 {
9158
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
234 GaimConnection *gc;
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
235 MsnSession *session;
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
236
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
237 gc = (GaimConnection *) action->context;
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
238 session = gc->proto_data;
5363
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
239
5491
38c414014f4f [gaim-migrate @ 5887]
Christian Hammond <chipx86@chipx86.com>
parents: 5481
diff changeset
240 gaim_request_input(gc, NULL, _("Set your home phone number."), NULL,
8697
c5e51aef2026 [gaim-migrate @ 9450]
Jon Oberheide
parents: 8691
diff changeset
241 msn_user_get_home_phone(session->user), FALSE, FALSE, NULL,
5491
38c414014f4f [gaim-migrate @ 5887]
Christian Hammond <chipx86@chipx86.com>
parents: 5481
diff changeset
242 _("OK"), G_CALLBACK(msn_set_home_phone_cb),
38c414014f4f [gaim-migrate @ 5887]
Christian Hammond <chipx86@chipx86.com>
parents: 5481
diff changeset
243 _("Cancel"), NULL, gc);
5363
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
244 }
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
245
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
246 static void
9015
3c27e9074fa2 [gaim-migrate @ 9791]
Christopher O'Brien <siege@pidgin.im>
parents: 8993
diff changeset
247 msn_show_set_work_phone(GaimPluginAction *action)
5363
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
248 {
9158
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
249 GaimConnection *gc;
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
250 MsnSession *session;
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
251
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
252 gc = (GaimConnection *) action->context;
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
253 session = gc->proto_data;
5363
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
254
5491
38c414014f4f [gaim-migrate @ 5887]
Christian Hammond <chipx86@chipx86.com>
parents: 5481
diff changeset
255 gaim_request_input(gc, NULL, _("Set your work phone number."), NULL,
8697
c5e51aef2026 [gaim-migrate @ 9450]
Jon Oberheide
parents: 8691
diff changeset
256 msn_user_get_work_phone(session->user), FALSE, FALSE, NULL,
5491
38c414014f4f [gaim-migrate @ 5887]
Christian Hammond <chipx86@chipx86.com>
parents: 5481
diff changeset
257 _("OK"), G_CALLBACK(msn_set_work_phone_cb),
38c414014f4f [gaim-migrate @ 5887]
Christian Hammond <chipx86@chipx86.com>
parents: 5481
diff changeset
258 _("Cancel"), NULL, gc);
5363
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
259 }
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
260
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
261 static void
9015
3c27e9074fa2 [gaim-migrate @ 9791]
Christopher O'Brien <siege@pidgin.im>
parents: 8993
diff changeset
262 msn_show_set_mobile_phone(GaimPluginAction *action)
5363
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
263 {
9158
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
264 GaimConnection *gc;
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
265 MsnSession *session;
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
266
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
267 gc = (GaimConnection *) action->context;
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
268 session = gc->proto_data;
5363
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
269
5491
38c414014f4f [gaim-migrate @ 5887]
Christian Hammond <chipx86@chipx86.com>
parents: 5481
diff changeset
270 gaim_request_input(gc, NULL, _("Set your mobile phone number."), NULL,
8697
c5e51aef2026 [gaim-migrate @ 9450]
Jon Oberheide
parents: 8691
diff changeset
271 msn_user_get_mobile_phone(session->user), FALSE, FALSE, NULL,
5491
38c414014f4f [gaim-migrate @ 5887]
Christian Hammond <chipx86@chipx86.com>
parents: 5481
diff changeset
272 _("OK"), G_CALLBACK(msn_set_mobile_phone_cb),
38c414014f4f [gaim-migrate @ 5887]
Christian Hammond <chipx86@chipx86.com>
parents: 5481
diff changeset
273 _("Cancel"), NULL, gc);
5363
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
274 }
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
275
5364
d423753cfd63 [gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents: 5363
diff changeset
276 static void
9015
3c27e9074fa2 [gaim-migrate @ 9791]
Christopher O'Brien <siege@pidgin.im>
parents: 8993
diff changeset
277 msn_show_set_mobile_pages(GaimPluginAction *action)
5364
d423753cfd63 [gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents: 5363
diff changeset
278 {
9158
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
279 GaimConnection *gc;
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
280
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
281 gc = (GaimConnection *) action->context;
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
282
5496
ed995be89052 [gaim-migrate @ 5892]
Christian Hammond <chipx86@chipx86.com>
parents: 5491
diff changeset
283 gaim_request_action(gc, NULL, _("Allow MSN Mobile pages?"),
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
284 _("Do you want to allow or disallow people on "
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
285 "your buddy list to send you MSN Mobile pages "
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
286 "to your cell phone or other mobile device?"),
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
287 -1, gc, 3,
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
288 _("Allow"), G_CALLBACK(enable_msn_pages_cb),
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
289 _("Disallow"), G_CALLBACK(disable_msn_pages_cb),
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
290 _("Cancel"), NULL);
5364
d423753cfd63 [gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents: 5363
diff changeset
291 }
d423753cfd63 [gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents: 5363
diff changeset
292
5369
12dc1957e1b2 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
293 static void
9030
7b574a641391 [gaim-migrate @ 9806]
Mark Doliner <markdoliner@pidgin.im>
parents: 9015
diff changeset
294 show_send_to_mobile_cb(GaimBlistNode *node, gpointer ignored)
5369
12dc1957e1b2 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
295 {
9030
7b574a641391 [gaim-migrate @ 9806]
Mark Doliner <markdoliner@pidgin.im>
parents: 9015
diff changeset
296 GaimBuddy *buddy;
7b574a641391 [gaim-migrate @ 9806]
Mark Doliner <markdoliner@pidgin.im>
parents: 9015
diff changeset
297 GaimConnection *gc;
9042
a44973ada5fe [gaim-migrate @ 9818]
Luke Schierer <lschiere@pidgin.im>
parents: 9041
diff changeset
298 MsnSession *session;
a44973ada5fe [gaim-migrate @ 9818]
Luke Schierer <lschiere@pidgin.im>
parents: 9041
diff changeset
299 MsnMobileData *data;
9198
e8eb6d5eb9eb [gaim-migrate @ 9993]
Christian Hammond <chipx86@chipx86.com>
parents: 9193
diff changeset
300
9030
7b574a641391 [gaim-migrate @ 9806]
Mark Doliner <markdoliner@pidgin.im>
parents: 9015
diff changeset
301 g_return_if_fail(GAIM_BLIST_NODE_IS_BUDDY(node));
7b574a641391 [gaim-migrate @ 9806]
Mark Doliner <markdoliner@pidgin.im>
parents: 9015
diff changeset
302
7b574a641391 [gaim-migrate @ 9806]
Mark Doliner <markdoliner@pidgin.im>
parents: 9015
diff changeset
303 buddy = (GaimBuddy *) node;
7b574a641391 [gaim-migrate @ 9806]
Mark Doliner <markdoliner@pidgin.im>
parents: 9015
diff changeset
304 gc = gaim_account_get_connection(buddy->account);
7b574a641391 [gaim-migrate @ 9806]
Mark Doliner <markdoliner@pidgin.im>
parents: 9015
diff changeset
305
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
306 session = gc->proto_data;
5369
12dc1957e1b2 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
307
12dc1957e1b2 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
308 data = g_new0(MsnMobileData, 1);
12dc1957e1b2 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
309 data->gc = gc;
9030
7b574a641391 [gaim-migrate @ 9806]
Mark Doliner <markdoliner@pidgin.im>
parents: 9015
diff changeset
310 data->passport = buddy->name;
5369
12dc1957e1b2 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
311
5491
38c414014f4f [gaim-migrate @ 5887]
Christian Hammond <chipx86@chipx86.com>
parents: 5481
diff changeset
312 gaim_request_input(gc, NULL, _("Send a mobile message."), NULL,
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
313 NULL, TRUE, FALSE, NULL,
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
314 _("Page"), G_CALLBACK(send_to_mobile_cb),
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
315 _("Close"), G_CALLBACK(close_mobile_page_cb),
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
316 data);
5369
12dc1957e1b2 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
317 }
12dc1957e1b2 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
318
6148
e3e81ed229c2 [gaim-migrate @ 6622]
Christian Hammond <chipx86@chipx86.com>
parents: 6059
diff changeset
319 static void
9030
7b574a641391 [gaim-migrate @ 9806]
Mark Doliner <markdoliner@pidgin.im>
parents: 9015
diff changeset
320 initiate_chat_cb(GaimBlistNode *node, gpointer data)
6148
e3e81ed229c2 [gaim-migrate @ 6622]
Christian Hammond <chipx86@chipx86.com>
parents: 6059
diff changeset
321 {
9030
7b574a641391 [gaim-migrate @ 9806]
Mark Doliner <markdoliner@pidgin.im>
parents: 9015
diff changeset
322 GaimBuddy *buddy;
7b574a641391 [gaim-migrate @ 9806]
Mark Doliner <markdoliner@pidgin.im>
parents: 9015
diff changeset
323 GaimConnection *gc;
7b574a641391 [gaim-migrate @ 9806]
Mark Doliner <markdoliner@pidgin.im>
parents: 9015
diff changeset
324
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
325 MsnSession *session;
6148
e3e81ed229c2 [gaim-migrate @ 6622]
Christian Hammond <chipx86@chipx86.com>
parents: 6059
diff changeset
326 MsnSwitchBoard *swboard;
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
327
9030
7b574a641391 [gaim-migrate @ 9806]
Mark Doliner <markdoliner@pidgin.im>
parents: 9015
diff changeset
328 g_return_if_fail(GAIM_BLIST_NODE_IS_BUDDY(node));
6148
e3e81ed229c2 [gaim-migrate @ 6622]
Christian Hammond <chipx86@chipx86.com>
parents: 6059
diff changeset
329
9030
7b574a641391 [gaim-migrate @ 9806]
Mark Doliner <markdoliner@pidgin.im>
parents: 9015
diff changeset
330 buddy = (GaimBuddy *) node;
7b574a641391 [gaim-migrate @ 9806]
Mark Doliner <markdoliner@pidgin.im>
parents: 9015
diff changeset
331 gc = gaim_account_get_connection(buddy->account);
7b574a641391 [gaim-migrate @ 9806]
Mark Doliner <markdoliner@pidgin.im>
parents: 9015
diff changeset
332
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
333 session = gc->proto_data;
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
334
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
335 swboard = msn_switchboard_new(session);
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
336 msn_switchboard_request(swboard);
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
337 msn_switchboard_request_add_user(swboard, buddy->name);
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
338
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
339 /* TODO: This might move somewhere else, after USR might be */
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
340 swboard->chat_id = session->conv_seq++;
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
341 swboard->conv = serv_got_joined_chat(gc, swboard->chat_id, "MSN Chat");
9363
605961038476 [gaim-migrate @ 10171]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9318
diff changeset
342
605961038476 [gaim-migrate @ 10171]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9318
diff changeset
343 gaim_conv_chat_add_user(GAIM_CONV_CHAT(swboard->conv),
9846
61f7349c153a [gaim-migrate @ 10724]
Nathan Fredrickson <nathan@silverorange.com>
parents: 9797
diff changeset
344 gaim_account_get_username(buddy->account), NULL, GAIM_CBFLAGS_NONE, TRUE);
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
345 }
6148
e3e81ed229c2 [gaim-migrate @ 6622]
Christian Hammond <chipx86@chipx86.com>
parents: 6059
diff changeset
346
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
347 static void
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
348 t_msn_xfer_init(GaimXfer *xfer)
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
349 {
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
350 MsnSlpLink *slplink;
6148
e3e81ed229c2 [gaim-migrate @ 6622]
Christian Hammond <chipx86@chipx86.com>
parents: 6059
diff changeset
351
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
352 slplink = xfer->data;
6148
e3e81ed229c2 [gaim-migrate @ 6622]
Christian Hammond <chipx86@chipx86.com>
parents: 6059
diff changeset
353
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
354 msn_slplink_request_ft(slplink, xfer);
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
355 }
6148
e3e81ed229c2 [gaim-migrate @ 6622]
Christian Hammond <chipx86@chipx86.com>
parents: 6059
diff changeset
356
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
357 static void
9466
b6425eab60ca [gaim-migrate @ 10291]
Daniel Atallah <datallah@pidgin.im>
parents: 9363
diff changeset
358 msn_send_file(GaimConnection *gc, const char *who, const char *file)
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
359 {
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
360 MsnSession *session;
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
361 MsnSlpLink *slplink;
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
362 GaimXfer *xfer;
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
363
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
364 session = gc->proto_data;
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
365
9466
b6425eab60ca [gaim-migrate @ 10291]
Daniel Atallah <datallah@pidgin.im>
parents: 9363
diff changeset
366 xfer = gaim_xfer_new(gc->account, GAIM_XFER_SEND, who);
6148
e3e81ed229c2 [gaim-migrate @ 6622]
Christian Hammond <chipx86@chipx86.com>
parents: 6059
diff changeset
367
9466
b6425eab60ca [gaim-migrate @ 10291]
Daniel Atallah <datallah@pidgin.im>
parents: 9363
diff changeset
368 slplink = msn_session_get_slplink(session, who);
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
369
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
370 xfer->data = slplink;
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
371
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
372 gaim_xfer_set_init_fnc(xfer, t_msn_xfer_init);
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
373
9466
b6425eab60ca [gaim-migrate @ 10291]
Daniel Atallah <datallah@pidgin.im>
parents: 9363
diff changeset
374 if (file)
b6425eab60ca [gaim-migrate @ 10291]
Daniel Atallah <datallah@pidgin.im>
parents: 9363
diff changeset
375 gaim_xfer_request_accepted(xfer, file);
b6425eab60ca [gaim-migrate @ 10291]
Daniel Atallah <datallah@pidgin.im>
parents: 9363
diff changeset
376 else
b6425eab60ca [gaim-migrate @ 10291]
Daniel Atallah <datallah@pidgin.im>
parents: 9363
diff changeset
377 gaim_xfer_request(xfer);
6148
e3e81ed229c2 [gaim-migrate @ 6622]
Christian Hammond <chipx86@chipx86.com>
parents: 6059
diff changeset
378 }
5369
12dc1957e1b2 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
379
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
380 /**************************************************************************
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
381 * Protocol Plugin ops
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
382 **************************************************************************/
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
383
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
384 static const char *
6695
2a63688f0d6d [gaim-migrate @ 7221]
Nathan Walp <nwalp@pidgin.im>
parents: 6657
diff changeset
385 msn_list_icon(GaimAccount *a, GaimBuddy *b)
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
386 {
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
387 return "msn";
2993
0340d0a8b810 [gaim-migrate @ 3006]
Rob Flynn <gaim@robflynn.com>
parents: 2970
diff changeset
388 }
0340d0a8b810 [gaim-migrate @ 3006]
Rob Flynn <gaim@robflynn.com>
parents: 2970
diff changeset
389
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
390 static void
9953
2a1a461644ae [gaim-migrate @ 10849]
Gary Kramlich <grim@pidgin.im>
parents: 9951
diff changeset
391 msn_list_emblems(GaimBuddy *b, const char **se, const char **sw,
2a1a461644ae [gaim-migrate @ 10849]
Gary Kramlich <grim@pidgin.im>
parents: 9951
diff changeset
392 const char **nw, const char **ne)
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
393 {
5372
6fa63c80ea61 [gaim-migrate @ 5748]
Christian Hammond <chipx86@chipx86.com>
parents: 5369
diff changeset
394 MsnUser *user;
9967
7400b348ff62 [gaim-migrate @ 10877]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9953
diff changeset
395 GaimPresence *presence;
9953
2a1a461644ae [gaim-migrate @ 10849]
Gary Kramlich <grim@pidgin.im>
parents: 9951
diff changeset
396 const char *emblems[4] = { NULL, NULL, NULL, NULL };
10063
030e7f33c8a9 [gaim-migrate @ 11038]
Fernando Herrera
parents: 10057
diff changeset
397 int i = 1;
5361
a964b856e97f [gaim-migrate @ 5737]
Christian Hammond <chipx86@chipx86.com>
parents: 5351
diff changeset
398
5372
6fa63c80ea61 [gaim-migrate @ 5748]
Christian Hammond <chipx86@chipx86.com>
parents: 5369
diff changeset
399 user = b->proto_data;
9967
7400b348ff62 [gaim-migrate @ 10877]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9953
diff changeset
400 presence = gaim_buddy_get_presence(b);
5372
6fa63c80ea61 [gaim-migrate @ 5748]
Christian Hammond <chipx86@chipx86.com>
parents: 5369
diff changeset
401
10063
030e7f33c8a9 [gaim-migrate @ 11038]
Fernando Herrera
parents: 10057
diff changeset
402 if (user == NULL)
030e7f33c8a9 [gaim-migrate @ 11038]
Fernando Herrera
parents: 10057
diff changeset
403 {
030e7f33c8a9 [gaim-migrate @ 11038]
Fernando Herrera
parents: 10057
diff changeset
404 emblems[0] = "offline";
030e7f33c8a9 [gaim-migrate @ 11038]
Fernando Herrera
parents: 10057
diff changeset
405 }
030e7f33c8a9 [gaim-migrate @ 11038]
Fernando Herrera
parents: 10057
diff changeset
406 else
030e7f33c8a9 [gaim-migrate @ 11038]
Fernando Herrera
parents: 10057
diff changeset
407 {
030e7f33c8a9 [gaim-migrate @ 11038]
Fernando Herrera
parents: 10057
diff changeset
408 if (!(user->list_op & (1 << MSN_LIST_RL)))
030e7f33c8a9 [gaim-migrate @ 11038]
Fernando Herrera
parents: 10057
diff changeset
409 emblems[0] = "nr";
030e7f33c8a9 [gaim-migrate @ 11038]
Fernando Herrera
parents: 10057
diff changeset
410 if (user->list_op & (1 << MSN_LIST_BL))
030e7f33c8a9 [gaim-migrate @ 11038]
Fernando Herrera
parents: 10057
diff changeset
411 emblems[i++] = "blocked";
030e7f33c8a9 [gaim-migrate @ 11038]
Fernando Herrera
parents: 10057
diff changeset
412 if (user->mobile)
030e7f33c8a9 [gaim-migrate @ 11038]
Fernando Herrera
parents: 10057
diff changeset
413 emblems[i++] = "wireless";
030e7f33c8a9 [gaim-migrate @ 11038]
Fernando Herrera
parents: 10057
diff changeset
414 }
030e7f33c8a9 [gaim-migrate @ 11038]
Fernando Herrera
parents: 10057
diff changeset
415
9967
7400b348ff62 [gaim-migrate @ 10877]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9953
diff changeset
416 if (!gaim_presence_is_online(presence))
10063
030e7f33c8a9 [gaim-migrate @ 11038]
Fernando Herrera
parents: 10057
diff changeset
417 {
030e7f33c8a9 [gaim-migrate @ 11038]
Fernando Herrera
parents: 10057
diff changeset
418 if (emblems[0] == NULL)
030e7f33c8a9 [gaim-migrate @ 11038]
Fernando Herrera
parents: 10057
diff changeset
419 emblems[0] = "offline";
030e7f33c8a9 [gaim-migrate @ 11038]
Fernando Herrera
parents: 10057
diff changeset
420 }
9967
7400b348ff62 [gaim-migrate @ 10877]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9953
diff changeset
421 else if (gaim_presence_is_status_active(presence, "busy") ||
7400b348ff62 [gaim-migrate @ 10877]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9953
diff changeset
422 gaim_presence_is_status_active(presence, "phone"))
5361
a964b856e97f [gaim-migrate @ 5737]
Christian Hammond <chipx86@chipx86.com>
parents: 5351
diff changeset
423 emblems[i++] = "occupied";
10057
f5670751740c [gaim-migrate @ 11022]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10049
diff changeset
424 else if (gaim_presence_is_status_active(presence, "away") ||
f5670751740c [gaim-migrate @ 11022]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10049
diff changeset
425 gaim_presence_is_idle(presence))
5361
a964b856e97f [gaim-migrate @ 5737]
Christian Hammond <chipx86@chipx86.com>
parents: 5351
diff changeset
426 emblems[i++] = "away";
a964b856e97f [gaim-migrate @ 5737]
Christian Hammond <chipx86@chipx86.com>
parents: 5351
diff changeset
427
a964b856e97f [gaim-migrate @ 5737]
Christian Hammond <chipx86@chipx86.com>
parents: 5351
diff changeset
428 *se = emblems[0];
a964b856e97f [gaim-migrate @ 5737]
Christian Hammond <chipx86@chipx86.com>
parents: 5351
diff changeset
429 *sw = emblems[1];
a964b856e97f [gaim-migrate @ 5737]
Christian Hammond <chipx86@chipx86.com>
parents: 5351
diff changeset
430 *nw = emblems[2];
a964b856e97f [gaim-migrate @ 5737]
Christian Hammond <chipx86@chipx86.com>
parents: 5351
diff changeset
431 *ne = emblems[3];
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
432 }
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
433
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
434 static char *
9951
19b949eca7f8 [gaim-migrate @ 10847]
Nathan Walp <nwalp@pidgin.im>
parents: 9943
diff changeset
435 msn_status_text(GaimBuddy *buddy)
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
436 {
10044
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
437 GaimPresence *presence;
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
438 GaimStatus *status;
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
439
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
440 presence = gaim_buddy_get_presence(buddy);
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
441 status = gaim_presence_get_active_status(presence);
9951
19b949eca7f8 [gaim-migrate @ 10847]
Nathan Walp <nwalp@pidgin.im>
parents: 9943
diff changeset
442
10057
f5670751740c [gaim-migrate @ 11022]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10049
diff changeset
443 if (!gaim_presence_is_available(presence) && !gaim_presence_is_idle(presence))
f5670751740c [gaim-migrate @ 11022]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10049
diff changeset
444 {
f5670751740c [gaim-migrate @ 11022]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10049
diff changeset
445 return g_strdup(gaim_status_get_name(status));
f5670751740c [gaim-migrate @ 11022]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10049
diff changeset
446 }
f5670751740c [gaim-migrate @ 11022]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10049
diff changeset
447
f5670751740c [gaim-migrate @ 11022]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10049
diff changeset
448 return NULL;
f5670751740c [gaim-migrate @ 11022]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10049
diff changeset
449 }
f5670751740c [gaim-migrate @ 11022]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10049
diff changeset
450
f5670751740c [gaim-migrate @ 11022]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10049
diff changeset
451 static char *
f5670751740c [gaim-migrate @ 11022]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10049
diff changeset
452 msn_tooltip_text(GaimBuddy *buddy)
f5670751740c [gaim-migrate @ 11022]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10049
diff changeset
453 {
f5670751740c [gaim-migrate @ 11022]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10049
diff changeset
454 MsnUser *user;
f5670751740c [gaim-migrate @ 11022]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10049
diff changeset
455 GaimPresence *presence = gaim_buddy_get_presence(buddy);
f5670751740c [gaim-migrate @ 11022]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10049
diff changeset
456 GaimStatus *status = gaim_presence_get_active_status(presence);
f5670751740c [gaim-migrate @ 11022]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10049
diff changeset
457 GString *s;
f5670751740c [gaim-migrate @ 11022]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10049
diff changeset
458
f5670751740c [gaim-migrate @ 11022]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10049
diff changeset
459 user = buddy->proto_data;
f5670751740c [gaim-migrate @ 11022]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10049
diff changeset
460
f5670751740c [gaim-migrate @ 11022]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10049
diff changeset
461 s = g_string_new("");
f5670751740c [gaim-migrate @ 11022]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10049
diff changeset
462 if (gaim_presence_is_online(presence))
10044
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
463 {
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
464 g_string_append_printf(s, _("\n<b>%s:</b> %s"), _("Status"),
10057
f5670751740c [gaim-migrate @ 11022]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10049
diff changeset
465 gaim_presence_is_idle(presence) ?
f5670751740c [gaim-migrate @ 11022]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10049
diff changeset
466 _("Idle") : gaim_status_get_name(status));
10044
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
467 }
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
468
10063
030e7f33c8a9 [gaim-migrate @ 11038]
Fernando Herrera
parents: 10057
diff changeset
469 if (user)
030e7f33c8a9 [gaim-migrate @ 11038]
Fernando Herrera
parents: 10057
diff changeset
470 {
030e7f33c8a9 [gaim-migrate @ 11038]
Fernando Herrera
parents: 10057
diff changeset
471 g_string_append_printf(s, _("\n<b>%s:</b> %s"), _("Has you"),
030e7f33c8a9 [gaim-migrate @ 11038]
Fernando Herrera
parents: 10057
diff changeset
472 (user->list_op & (1 << MSN_LIST_RL)) ?
030e7f33c8a9 [gaim-migrate @ 11038]
Fernando Herrera
parents: 10057
diff changeset
473 _("Yes") : _("No"));
030e7f33c8a9 [gaim-migrate @ 11038]
Fernando Herrera
parents: 10057
diff changeset
474
030e7f33c8a9 [gaim-migrate @ 11038]
Fernando Herrera
parents: 10057
diff changeset
475 g_string_append_printf(s, _("\n<b>%s:</b> %s"), _("Blocked"),
030e7f33c8a9 [gaim-migrate @ 11038]
Fernando Herrera
parents: 10057
diff changeset
476 (user->list_op & (1 << MSN_LIST_BL)) ?
030e7f33c8a9 [gaim-migrate @ 11038]
Fernando Herrera
parents: 10057
diff changeset
477 _("Yes") : _("No"));
030e7f33c8a9 [gaim-migrate @ 11038]
Fernando Herrera
parents: 10057
diff changeset
478 }
030e7f33c8a9 [gaim-migrate @ 11038]
Fernando Herrera
parents: 10057
diff changeset
479
10044
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
480
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
481 return g_string_free(s, FALSE);
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
482 }
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
483
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
484 static GList *
9951
19b949eca7f8 [gaim-migrate @ 10847]
Nathan Walp <nwalp@pidgin.im>
parents: 9943
diff changeset
485 msn_status_types(GaimAccount *account)
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
486 {
9967
7400b348ff62 [gaim-migrate @ 10877]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9953
diff changeset
487 GaimStatusType *status;
9951
19b949eca7f8 [gaim-migrate @ 10847]
Nathan Walp <nwalp@pidgin.im>
parents: 9943
diff changeset
488 GList *types = NULL;
19b949eca7f8 [gaim-migrate @ 10847]
Nathan Walp <nwalp@pidgin.im>
parents: 9943
diff changeset
489
10057
f5670751740c [gaim-migrate @ 11022]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10049
diff changeset
490 status = gaim_status_type_new_full(GAIM_STATUS_OFFLINE,
f5670751740c [gaim-migrate @ 11022]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10049
diff changeset
491 "offline", _("Offline"), FALSE, FALSE, FALSE);
9967
7400b348ff62 [gaim-migrate @ 10877]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9953
diff changeset
492 types = g_list_append(types, status);
9951
19b949eca7f8 [gaim-migrate @ 10847]
Nathan Walp <nwalp@pidgin.im>
parents: 9943
diff changeset
493
10057
f5670751740c [gaim-migrate @ 11022]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10049
diff changeset
494 status = gaim_status_type_new_full(GAIM_STATUS_ONLINE,
f5670751740c [gaim-migrate @ 11022]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10049
diff changeset
495 "online", _("Online"), FALSE, FALSE, FALSE);
9967
7400b348ff62 [gaim-migrate @ 10877]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9953
diff changeset
496 types = g_list_append(types, status);
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
497
9967
7400b348ff62 [gaim-migrate @ 10877]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9953
diff changeset
498 status = gaim_status_type_new_full(GAIM_STATUS_AVAILABLE,
10057
f5670751740c [gaim-migrate @ 11022]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10049
diff changeset
499 "available", _("Available"), FALSE, TRUE, FALSE);
9967
7400b348ff62 [gaim-migrate @ 10877]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9953
diff changeset
500 types = g_list_append(types, status);
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
501
9967
7400b348ff62 [gaim-migrate @ 10877]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9953
diff changeset
502 status = gaim_status_type_new_full(GAIM_STATUS_AWAY, "away",
9951
19b949eca7f8 [gaim-migrate @ 10847]
Nathan Walp <nwalp@pidgin.im>
parents: 9943
diff changeset
503 _("Away"), FALSE, TRUE, FALSE);
9967
7400b348ff62 [gaim-migrate @ 10877]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9953
diff changeset
504 types = g_list_append(types, status);
7400b348ff62 [gaim-migrate @ 10877]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9953
diff changeset
505
7400b348ff62 [gaim-migrate @ 10877]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9953
diff changeset
506 status = gaim_status_type_new_full(GAIM_STATUS_AWAY, "brb",
9951
19b949eca7f8 [gaim-migrate @ 10847]
Nathan Walp <nwalp@pidgin.im>
parents: 9943
diff changeset
507 _("Be Right Back"), FALSE, TRUE, FALSE);
9967
7400b348ff62 [gaim-migrate @ 10877]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9953
diff changeset
508 types = g_list_append(types, status);
7400b348ff62 [gaim-migrate @ 10877]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9953
diff changeset
509
7400b348ff62 [gaim-migrate @ 10877]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9953
diff changeset
510 status = gaim_status_type_new_full(GAIM_STATUS_AWAY, "busy",
9951
19b949eca7f8 [gaim-migrate @ 10847]
Nathan Walp <nwalp@pidgin.im>
parents: 9943
diff changeset
511 _("Busy"), FALSE, TRUE, FALSE);
9967
7400b348ff62 [gaim-migrate @ 10877]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9953
diff changeset
512 types = g_list_append(types, status);
7400b348ff62 [gaim-migrate @ 10877]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9953
diff changeset
513
7400b348ff62 [gaim-migrate @ 10877]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9953
diff changeset
514 status = gaim_status_type_new_full(GAIM_STATUS_AWAY, "phone",
9951
19b949eca7f8 [gaim-migrate @ 10847]
Nathan Walp <nwalp@pidgin.im>
parents: 9943
diff changeset
515 _("On The Phone"), FALSE, TRUE, FALSE);
9967
7400b348ff62 [gaim-migrate @ 10877]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9953
diff changeset
516 types = g_list_append(types, status);
7400b348ff62 [gaim-migrate @ 10877]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9953
diff changeset
517
7400b348ff62 [gaim-migrate @ 10877]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9953
diff changeset
518 status = gaim_status_type_new_full(GAIM_STATUS_AWAY, "lunch",
9951
19b949eca7f8 [gaim-migrate @ 10847]
Nathan Walp <nwalp@pidgin.im>
parents: 9943
diff changeset
519 _("Out To Lunch"), FALSE, TRUE, FALSE);
9967
7400b348ff62 [gaim-migrate @ 10877]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9953
diff changeset
520 types = g_list_append(types, status);
7400b348ff62 [gaim-migrate @ 10877]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9953
diff changeset
521
7400b348ff62 [gaim-migrate @ 10877]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9953
diff changeset
522 status = gaim_status_type_new_full(GAIM_STATUS_HIDDEN, "hidden",
9951
19b949eca7f8 [gaim-migrate @ 10847]
Nathan Walp <nwalp@pidgin.im>
parents: 9943
diff changeset
523 _("Hidden"), FALSE, TRUE, FALSE);
9967
7400b348ff62 [gaim-migrate @ 10877]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9953
diff changeset
524 types = g_list_append(types, status);
9951
19b949eca7f8 [gaim-migrate @ 10847]
Nathan Walp <nwalp@pidgin.im>
parents: 9943
diff changeset
525
19b949eca7f8 [gaim-migrate @ 10847]
Nathan Walp <nwalp@pidgin.im>
parents: 9943
diff changeset
526 return types;
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
527 }
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
528
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
529 static GList *
9015
3c27e9074fa2 [gaim-migrate @ 9791]
Christopher O'Brien <siege@pidgin.im>
parents: 8993
diff changeset
530 msn_actions(GaimPlugin *plugin, gpointer context)
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
531 {
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
532 GList *m = NULL;
9015
3c27e9074fa2 [gaim-migrate @ 9791]
Christopher O'Brien <siege@pidgin.im>
parents: 8993
diff changeset
533 GaimPluginAction *act;
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
534
9015
3c27e9074fa2 [gaim-migrate @ 9791]
Christopher O'Brien <siege@pidgin.im>
parents: 8993
diff changeset
535 act = gaim_plugin_action_new(_("Set Friendly Name"),
9158
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
536 msn_show_set_friendly_name);
9015
3c27e9074fa2 [gaim-migrate @ 9791]
Christopher O'Brien <siege@pidgin.im>
parents: 8993
diff changeset
537 m = g_list_append(m, act);
5364
d423753cfd63 [gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents: 5363
diff changeset
538 m = g_list_append(m, NULL);
d423753cfd63 [gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents: 5363
diff changeset
539
9015
3c27e9074fa2 [gaim-migrate @ 9791]
Christopher O'Brien <siege@pidgin.im>
parents: 8993
diff changeset
540 act = gaim_plugin_action_new(_("Set Home Phone Number"),
9158
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
541 msn_show_set_home_phone);
9015
3c27e9074fa2 [gaim-migrate @ 9791]
Christopher O'Brien <siege@pidgin.im>
parents: 8993
diff changeset
542 m = g_list_append(m, act);
5363
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
543
9015
3c27e9074fa2 [gaim-migrate @ 9791]
Christopher O'Brien <siege@pidgin.im>
parents: 8993
diff changeset
544 act = gaim_plugin_action_new(_("Set Work Phone Number"),
3c27e9074fa2 [gaim-migrate @ 9791]
Christopher O'Brien <siege@pidgin.im>
parents: 8993
diff changeset
545 msn_show_set_work_phone);
3c27e9074fa2 [gaim-migrate @ 9791]
Christopher O'Brien <siege@pidgin.im>
parents: 8993
diff changeset
546 m = g_list_append(m, act);
5363
b6e28be0c9bd [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
547
9015
3c27e9074fa2 [gaim-migrate @ 9791]
Christopher O'Brien <siege@pidgin.im>
parents: 8993
diff changeset
548 act = gaim_plugin_action_new(_("Set Mobile Phone Number"),
3c27e9074fa2 [gaim-migrate @ 9791]
Christopher O'Brien <siege@pidgin.im>
parents: 8993
diff changeset
549 msn_show_set_mobile_phone);
3c27e9074fa2 [gaim-migrate @ 9791]
Christopher O'Brien <siege@pidgin.im>
parents: 8993
diff changeset
550 m = g_list_append(m, act);
5364
d423753cfd63 [gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents: 5363
diff changeset
551 m = g_list_append(m, NULL);
d423753cfd63 [gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents: 5363
diff changeset
552
d423753cfd63 [gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents: 5363
diff changeset
553 #if 0
9015
3c27e9074fa2 [gaim-migrate @ 9791]
Christopher O'Brien <siege@pidgin.im>
parents: 8993
diff changeset
554 act = gaim_plugin_action_new(_("Enable/Disable Mobile Devices"),
3c27e9074fa2 [gaim-migrate @ 9791]
Christopher O'Brien <siege@pidgin.im>
parents: 8993
diff changeset
555 msn_show_set_mobile_support);
3c27e9074fa2 [gaim-migrate @ 9791]
Christopher O'Brien <siege@pidgin.im>
parents: 8993
diff changeset
556 m = g_list_append(m, act);
5364
d423753cfd63 [gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents: 5363
diff changeset
557 #endif
d423753cfd63 [gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents: 5363
diff changeset
558
9015
3c27e9074fa2 [gaim-migrate @ 9791]
Christopher O'Brien <siege@pidgin.im>
parents: 8993
diff changeset
559 act = gaim_plugin_action_new(_("Allow/Disallow Mobile Pages"),
3c27e9074fa2 [gaim-migrate @ 9791]
Christopher O'Brien <siege@pidgin.im>
parents: 8993
diff changeset
560 msn_show_set_mobile_pages);
3c27e9074fa2 [gaim-migrate @ 9791]
Christopher O'Brien <siege@pidgin.im>
parents: 8993
diff changeset
561 m = g_list_append(m, act);
5364
d423753cfd63 [gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents: 5363
diff changeset
562
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
563 return m;
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
564 }
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
565
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
566 static GList *
9030
7b574a641391 [gaim-migrate @ 9806]
Mark Doliner <markdoliner@pidgin.im>
parents: 9015
diff changeset
567 msn_buddy_menu(GaimBuddy *buddy)
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
568 {
5372
6fa63c80ea61 [gaim-migrate @ 5748]
Christian Hammond <chipx86@chipx86.com>
parents: 5369
diff changeset
569 MsnUser *user;
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
570
9030
7b574a641391 [gaim-migrate @ 9806]
Mark Doliner <markdoliner@pidgin.im>
parents: 9015
diff changeset
571 GList *m = NULL;
7b574a641391 [gaim-migrate @ 9806]
Mark Doliner <markdoliner@pidgin.im>
parents: 9015
diff changeset
572 GaimBlistNodeAction *act;
6858
a367cfd3e75f [gaim-migrate @ 7403]
Christian Hammond <chipx86@chipx86.com>
parents: 6842
diff changeset
573
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
574 g_return_val_if_fail(buddy != NULL, NULL);
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
575
9030
7b574a641391 [gaim-migrate @ 9806]
Mark Doliner <markdoliner@pidgin.im>
parents: 9015
diff changeset
576 user = buddy->proto_data;
9158
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
577
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
578 if (user != NULL)
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
579 {
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
580 if (user->mobile)
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
581 {
9030
7b574a641391 [gaim-migrate @ 9806]
Mark Doliner <markdoliner@pidgin.im>
parents: 9015
diff changeset
582 act = gaim_blist_node_action_new(_("Send to Mobile"),
9158
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
583 show_send_to_mobile_cb, NULL);
9030
7b574a641391 [gaim-migrate @ 9806]
Mark Doliner <markdoliner@pidgin.im>
parents: 9015
diff changeset
584 m = g_list_append(m, act);
5382
8580140115ea [gaim-migrate @ 5758]
Christian Hammond <chipx86@chipx86.com>
parents: 5379
diff changeset
585 }
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
586
5369
12dc1957e1b2 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
587 }
12dc1957e1b2 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
588
9158
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
589 if (g_ascii_strcasecmp(buddy->name,
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
590 gaim_account_get_username(buddy->account)))
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
591 {
9030
7b574a641391 [gaim-migrate @ 9806]
Mark Doliner <markdoliner@pidgin.im>
parents: 9015
diff changeset
592 act = gaim_blist_node_action_new(_("Initiate Chat"),
9158
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
593 initiate_chat_cb, NULL);
9030
7b574a641391 [gaim-migrate @ 9806]
Mark Doliner <markdoliner@pidgin.im>
parents: 9015
diff changeset
594 m = g_list_append(m, act);
6148
e3e81ed229c2 [gaim-migrate @ 6622]
Christian Hammond <chipx86@chipx86.com>
parents: 6059
diff changeset
595 }
e3e81ed229c2 [gaim-migrate @ 6622]
Christian Hammond <chipx86@chipx86.com>
parents: 6059
diff changeset
596
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
597 return m;
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
598 }
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
599
9030
7b574a641391 [gaim-migrate @ 9806]
Mark Doliner <markdoliner@pidgin.im>
parents: 9015
diff changeset
600 static GList *
7b574a641391 [gaim-migrate @ 9806]
Mark Doliner <markdoliner@pidgin.im>
parents: 9015
diff changeset
601 msn_blist_node_menu(GaimBlistNode *node)
7b574a641391 [gaim-migrate @ 9806]
Mark Doliner <markdoliner@pidgin.im>
parents: 9015
diff changeset
602 {
9158
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
603 if(GAIM_BLIST_NODE_IS_BUDDY(node))
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
604 {
9030
7b574a641391 [gaim-migrate @ 9806]
Mark Doliner <markdoliner@pidgin.im>
parents: 9015
diff changeset
605 return msn_buddy_menu((GaimBuddy *) node);
9158
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
606 }
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
607 else
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
608 {
9030
7b574a641391 [gaim-migrate @ 9806]
Mark Doliner <markdoliner@pidgin.im>
parents: 9015
diff changeset
609 return NULL;
7b574a641391 [gaim-migrate @ 9806]
Mark Doliner <markdoliner@pidgin.im>
parents: 9015
diff changeset
610 }
7b574a641391 [gaim-migrate @ 9806]
Mark Doliner <markdoliner@pidgin.im>
parents: 9015
diff changeset
611 }
7b574a641391 [gaim-migrate @ 9806]
Mark Doliner <markdoliner@pidgin.im>
parents: 9015
diff changeset
612
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
613 static void
5564
1779a1bfbdb8 [gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents: 5518
diff changeset
614 msn_login(GaimAccount *account)
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
615 {
5564
1779a1bfbdb8 [gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents: 5518
diff changeset
616 GaimConnection *gc;
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
617 MsnSession *session;
5564
1779a1bfbdb8 [gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents: 5518
diff changeset
618 const char *username;
9158
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
619 const char *host;
7288
486e8b44a14b [gaim-migrate @ 7869]
Christian Hammond <chipx86@chipx86.com>
parents: 7277
diff changeset
620 gboolean http_method = FALSE;
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
621 int port;
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
622
7277
30f81cac2e3a [gaim-migrate @ 7856]
Christian Hammond <chipx86@chipx86.com>
parents: 7262
diff changeset
623 gc = gaim_account_get_connection(account);
30f81cac2e3a [gaim-migrate @ 7856]
Christian Hammond <chipx86@chipx86.com>
parents: 7262
diff changeset
624
30f81cac2e3a [gaim-migrate @ 7856]
Christian Hammond <chipx86@chipx86.com>
parents: 7262
diff changeset
625 if (!gaim_ssl_is_supported())
30f81cac2e3a [gaim-migrate @ 7856]
Christian Hammond <chipx86@chipx86.com>
parents: 7262
diff changeset
626 {
30f81cac2e3a [gaim-migrate @ 7856]
Christian Hammond <chipx86@chipx86.com>
parents: 7262
diff changeset
627 gaim_connection_error(gc,
8499
bbe91550c012 [gaim-migrate @ 9235]
Robert Mibus <mibus@mibus.org>
parents: 8475
diff changeset
628 _("SSL support is needed for MSN. Please install a supported "
bbe91550c012 [gaim-migrate @ 9235]
Robert Mibus <mibus@mibus.org>
parents: 8475
diff changeset
629 "SSL library. See http://gaim.sf.net/faq-ssl.php for more "
bbe91550c012 [gaim-migrate @ 9235]
Robert Mibus <mibus@mibus.org>
parents: 8475
diff changeset
630 "information."));
7277
30f81cac2e3a [gaim-migrate @ 7856]
Christian Hammond <chipx86@chipx86.com>
parents: 7262
diff changeset
631
30f81cac2e3a [gaim-migrate @ 7856]
Christian Hammond <chipx86@chipx86.com>
parents: 7262
diff changeset
632 return;
30f81cac2e3a [gaim-migrate @ 7856]
Christian Hammond <chipx86@chipx86.com>
parents: 7262
diff changeset
633 }
30f81cac2e3a [gaim-migrate @ 7856]
Christian Hammond <chipx86@chipx86.com>
parents: 7262
diff changeset
634
7288
486e8b44a14b [gaim-migrate @ 7869]
Christian Hammond <chipx86@chipx86.com>
parents: 7277
diff changeset
635 if (gaim_account_get_bool(account, "http_method", FALSE))
486e8b44a14b [gaim-migrate @ 7869]
Christian Hammond <chipx86@chipx86.com>
parents: 7277
diff changeset
636 {
486e8b44a14b [gaim-migrate @ 7869]
Christian Hammond <chipx86@chipx86.com>
parents: 7277
diff changeset
637 http_method = TRUE;
486e8b44a14b [gaim-migrate @ 7869]
Christian Hammond <chipx86@chipx86.com>
parents: 7277
diff changeset
638
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
639 gaim_debug_info("msn", "using http method\n");
7937
d24de52f762d [gaim-migrate @ 8608]
Christian Hammond <chipx86@chipx86.com>
parents: 7935
diff changeset
640
9158
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
641 host = "gateway.messenger.hotmail.com";
10044
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
642 port = 80;
7288
486e8b44a14b [gaim-migrate @ 7869]
Christian Hammond <chipx86@chipx86.com>
parents: 7277
diff changeset
643 }
486e8b44a14b [gaim-migrate @ 7869]
Christian Hammond <chipx86@chipx86.com>
parents: 7277
diff changeset
644 else
486e8b44a14b [gaim-migrate @ 7869]
Christian Hammond <chipx86@chipx86.com>
parents: 7277
diff changeset
645 {
9158
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
646 host = gaim_account_get_string(account, "server", MSN_SERVER);
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
647 port = gaim_account_get_int(account, "port", MSN_PORT);
7288
486e8b44a14b [gaim-migrate @ 7869]
Christian Hammond <chipx86@chipx86.com>
parents: 7277
diff changeset
648 }
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
649
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
650 session = msn_session_new(account, host, port, http_method);
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
651 session->prpl = my_protocol;
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
652
8298
eb6f1096ffa6 [gaim-migrate @ 9022]
Christian Hammond <chipx86@chipx86.com>
parents: 8291
diff changeset
653 if (session->http_method)
eb6f1096ffa6 [gaim-migrate @ 9022]
Christian Hammond <chipx86@chipx86.com>
parents: 8291
diff changeset
654 msn_http_session_init(session);
eb6f1096ffa6 [gaim-migrate @ 9022]
Christian Hammond <chipx86@chipx86.com>
parents: 8291
diff changeset
655
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
656 gc->proto_data = session;
9775
e3a3555b0621 [gaim-migrate @ 10643]
Daniel Atallah <datallah@pidgin.im>
parents: 9754
diff changeset
657 gc->flags |= GAIM_CONNECTION_HTML | GAIM_CONNECTION_FORMATTING_WBFO | GAIM_CONNECTION_NO_BGCOLOR | GAIM_CONNECTION_NO_FONTSIZE | GAIM_CONNECTION_NO_URLDESC;
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
658
5564
1779a1bfbdb8 [gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents: 5518
diff changeset
659 gaim_connection_update_progress(gc, _("Connecting"), 0, MSN_CONNECT_STEPS);
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
660
5564
1779a1bfbdb8 [gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents: 5518
diff changeset
661 /* Hmm, I don't like this. */
7322
de15a9314c04 [gaim-migrate @ 7908]
Nathan Walp <nwalp@pidgin.im>
parents: 7288
diff changeset
662 username = msn_normalize(account, gaim_account_get_username(account));
5564
1779a1bfbdb8 [gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents: 5518
diff changeset
663
1779a1bfbdb8 [gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents: 5518
diff changeset
664 if (strcmp(username, gaim_account_get_username(account)))
1779a1bfbdb8 [gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents: 5518
diff changeset
665 gaim_account_set_username(account, username);
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
666
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
667 msn_session_connect(session);
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
668 }
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
669
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
670 static void
5564
1779a1bfbdb8 [gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents: 5518
diff changeset
671 msn_close(GaimConnection *gc)
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
672 {
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
673 MsnSession *session;
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
674
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
675 session = gc->proto_data;
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
676
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
677 g_return_if_fail(session != NULL);
8298
eb6f1096ffa6 [gaim-migrate @ 9022]
Christian Hammond <chipx86@chipx86.com>
parents: 8291
diff changeset
678
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
679 if (session->http_method)
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
680 msn_http_session_uninit(session);
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
681
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
682 msn_session_destroy(session);
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
683
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
684 gc->proto_data = NULL;
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
685 }
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
686
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
687 static int
5564
1779a1bfbdb8 [gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents: 5518
diff changeset
688 msn_send_im(GaimConnection *gc, const char *who, const char *message,
7118
280b3b85a28a [gaim-migrate @ 7685]
Christian Hammond <chipx86@chipx86.com>
parents: 7108
diff changeset
689 GaimConvImFlags flags)
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
690 {
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
691 GaimAccount *account;
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
692
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
693 account = gaim_connection_get_account(gc);
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
694
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
695 if (g_ascii_strcasecmp(who, gaim_account_get_username(account)))
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
696 {
9158
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
697 MsnSession *session;
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
698 MsnSwitchBoard *swboard;
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
699 MsnMessage *msg;
8595
c751f6b0260e [gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents: 8591
diff changeset
700 char *msgformat;
c751f6b0260e [gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents: 8591
diff changeset
701 char *msgtext;
c751f6b0260e [gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents: 8591
diff changeset
702
9158
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
703 session = gc->proto_data;
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
704 swboard = msn_session_get_swboard(session, who);
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
705
8595
c751f6b0260e [gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents: 8591
diff changeset
706 msn_import_html(message, &msgformat, &msgtext);
9158
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
707 msg = msn_message_new_plain(msgtext);
8595
c751f6b0260e [gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents: 8591
diff changeset
708 msn_message_set_attr(msg, "X-MMS-IM-Format", msgformat);
8518
694a8ad60edd [gaim-migrate @ 9257]
David Vermeille
parents: 8509
diff changeset
709
8595
c751f6b0260e [gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents: 8591
diff changeset
710 g_free(msgformat);
c751f6b0260e [gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents: 8591
diff changeset
711 g_free(msgtext);
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
712
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
713 swboard = msn_session_get_swboard(session, who);
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
714
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
715 if (!g_queue_is_empty(swboard->im_queue) ||
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
716 !swboard->user_joined)
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
717 {
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
718 msn_switchboard_queue_msg(swboard, msg);
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
719 }
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
720 else
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
721 {
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
722 msn_switchboard_send_msg(swboard, msg);
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
723 }
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
724
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
725 msn_message_destroy(msg);
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
726 }
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
727 else
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
728 {
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
729 /*
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
730 * In MSN, you can't send messages to yourself, so
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
731 * we'll fake like we received it ;)
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
732 */
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
733 serv_got_typing_stopped(gc, who);
8922
6928d9a0338b [gaim-migrate @ 9692]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8808
diff changeset
734 serv_got_im(gc, who, message, flags, time(NULL));
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
735 }
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
736
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
737 return 1;
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
738 }
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
739
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
740 static int
6059
9934c862ca14 [gaim-migrate @ 6509]
John Silvestri <john.silvestri@gmail.com>
parents: 6035
diff changeset
741 msn_send_typing(GaimConnection *gc, const char *who, int typing)
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
742 {
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
743 GaimAccount *account;
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
744 MsnSession *session;
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
745 MsnSwitchBoard *swboard;
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
746 MsnMessage *msg;
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
747
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
748 account = gaim_connection_get_account(gc);
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
749 session = gc->proto_data;
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
750
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
751 if (!typing)
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
752 return 0;
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
753
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
754 if (!g_ascii_strcasecmp(who, gaim_account_get_username(account)))
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
755 {
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
756 /* We'll just fake it, since we're sending to ourself. */
5872
754c63f29b77 [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5793
diff changeset
757 serv_got_typing(gc, who, MSN_TYPING_RECV_TIMEOUT, GAIM_TYPING);
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
758
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
759 return MSN_TYPING_SEND_TIMEOUT;
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
760 }
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
761
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
762 swboard = msn_session_find_swboard(session, who);
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
763
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
764 if (swboard == NULL)
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
765 return 0;
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
766
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
767 if (!swboard->user_joined)
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
768 return 0;
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
769
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
770 msg = msn_message_new();
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
771 msn_message_set_content_type(msg, "text/x-msmsgscontrol");
5505
176c91a635b7 [gaim-migrate @ 5904]
Christian Hammond <chipx86@chipx86.com>
parents: 5498
diff changeset
772 msn_message_set_flag(msg, 'U');
5564
1779a1bfbdb8 [gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents: 5518
diff changeset
773 msn_message_set_attr(msg, "TypingUser",
1779a1bfbdb8 [gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents: 5518
diff changeset
774 gaim_account_get_username(account));
9158
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
775 msn_message_set_bin_data(msg, "\r\n", 2);
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
776
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
777 msn_switchboard_send_msg(swboard, msg);
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
778
9158
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
779 msn_message_destroy(msg);
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
780
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
781 return MSN_TYPING_SEND_TIMEOUT;
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
782 }
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
783
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
784 static void
9967
7400b348ff62 [gaim-migrate @ 10877]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9953
diff changeset
785 msn_set_status(GaimAccount *account, GaimStatus *status)
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
786 {
9967
7400b348ff62 [gaim-migrate @ 10877]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9953
diff changeset
787 GaimConnection *gc;
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
788 MsnSession *session;
9967
7400b348ff62 [gaim-migrate @ 10877]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9953
diff changeset
789 const char *state;
7400b348ff62 [gaim-migrate @ 10877]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9953
diff changeset
790 int msnstatus;
7400b348ff62 [gaim-migrate @ 10877]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9953
diff changeset
791
7400b348ff62 [gaim-migrate @ 10877]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9953
diff changeset
792 gc = gaim_account_get_connection(account);
7400b348ff62 [gaim-migrate @ 10877]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9953
diff changeset
793
7400b348ff62 [gaim-migrate @ 10877]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9953
diff changeset
794 if (gc == NULL)
7400b348ff62 [gaim-migrate @ 10877]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9953
diff changeset
795 return;
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
796
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
797 session = gc->proto_data;
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
798
9967
7400b348ff62 [gaim-migrate @ 10877]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9953
diff changeset
799 state = gaim_status_get_id(status);
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
800
9967
7400b348ff62 [gaim-migrate @ 10877]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9953
diff changeset
801 if (!strcmp(state, "away"))
7400b348ff62 [gaim-migrate @ 10877]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9953
diff changeset
802 msnstatus = MSN_AWAY;
7400b348ff62 [gaim-migrate @ 10877]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9953
diff changeset
803 else if (!strcmp(state, "brb"))
7400b348ff62 [gaim-migrate @ 10877]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9953
diff changeset
804 msnstatus = MSN_BRB;
7400b348ff62 [gaim-migrate @ 10877]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9953
diff changeset
805 else if (!strcmp(state, "busy"))
7400b348ff62 [gaim-migrate @ 10877]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9953
diff changeset
806 msnstatus = MSN_BUSY;
7400b348ff62 [gaim-migrate @ 10877]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9953
diff changeset
807 else if (!strcmp(state, "phone"))
7400b348ff62 [gaim-migrate @ 10877]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9953
diff changeset
808 msnstatus = MSN_PHONE;
7400b348ff62 [gaim-migrate @ 10877]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9953
diff changeset
809 else if (!strcmp(state, "lunch"))
7400b348ff62 [gaim-migrate @ 10877]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9953
diff changeset
810 msnstatus = MSN_LUNCH;
7400b348ff62 [gaim-migrate @ 10877]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9953
diff changeset
811 else if (!strcmp(state, "hidden"))
7400b348ff62 [gaim-migrate @ 10877]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9953
diff changeset
812 msnstatus = MSN_HIDDEN;
7400b348ff62 [gaim-migrate @ 10877]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9953
diff changeset
813 else if (0) /* how do we detect idle with new status? */
7400b348ff62 [gaim-migrate @ 10877]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9953
diff changeset
814 msnstatus = MSN_IDLE;
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
815 else
9967
7400b348ff62 [gaim-migrate @ 10877]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9953
diff changeset
816 msnstatus = MSN_ONLINE;
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
817
9967
7400b348ff62 [gaim-migrate @ 10877]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9953
diff changeset
818 msn_change_status(session, msnstatus);
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
819 }
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
820
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
821 static void
5564
1779a1bfbdb8 [gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents: 5518
diff changeset
822 msn_set_idle(GaimConnection *gc, int idle)
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
823 {
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
824 MsnSession *session;
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
825
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
826 session = gc->proto_data;
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
827
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
828 msn_change_status(session, (idle ? MSN_IDLE : MSN_ONLINE));
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
829 }
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
830
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
831 static void
10044
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
832 fake_userlist_add_buddy(MsnUserList *userlist,
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
833 const char *who, int list_id,
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
834 const char *group_name)
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
835 {
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
836 MsnUser *user;
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
837 static int group_id_c = 1;
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
838 int group_id;
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
839
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
840 group_id = -1;
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
841
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
842 if (group_name != NULL)
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
843 {
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
844 MsnGroup *group;
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
845 group = msn_group_new(userlist, group_id_c, group_name);
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
846 group_id = group_id_c++;
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
847 }
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
848
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
849 user = msn_userlist_find_user(userlist, who);
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
850
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
851 if (user == NULL)
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
852 {
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
853 user = msn_user_new(userlist, who, NULL);
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
854 msn_userlist_add_user(userlist, user);
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
855 }
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
856 else
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
857 if (user->list_op & (1 << list_id))
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
858 {
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
859 if (list_id == MSN_LIST_FL)
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
860 {
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
861 if (group_id >= 0)
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
862 if (g_list_find(user->group_ids,
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
863 GINT_TO_POINTER(group_id)))
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
864 return;
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
865 }
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
866 else
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
867 return;
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
868 }
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
869
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
870 if (group_id >= 0)
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
871 {
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
872 user->group_ids = g_list_append(user->group_ids,
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
873 GINT_TO_POINTER(group_id));
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
874 }
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
875
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
876 user->list_op |= (1 << list_id);
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
877 }
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
878
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
879 static void
9285
9cedf5d26577 [gaim-migrate @ 10088]
Mark Doliner <markdoliner@pidgin.im>
parents: 9246
diff changeset
880 msn_add_buddy(GaimConnection *gc, GaimBuddy *buddy, GaimGroup *group)
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
881 {
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
882 MsnSession *session;
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
883 MsnUserList *userlist;
7261
4be05820d441 [gaim-migrate @ 7838]
Nathan Walp <nwalp@pidgin.im>
parents: 7199
diff changeset
884 const char *who;
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
885
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
886 session = gc->proto_data;
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
887 userlist = session->userlist;
9285
9cedf5d26577 [gaim-migrate @ 10088]
Mark Doliner <markdoliner@pidgin.im>
parents: 9246
diff changeset
888 who = msn_normalize(gc->account, buddy->name);
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
889
9363
605961038476 [gaim-migrate @ 10171]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9318
diff changeset
890 if (!session->logged_in)
10044
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
891 {
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
892 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
893 group ? group->name : NULL);
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
894
9363
605961038476 [gaim-migrate @ 10171]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9318
diff changeset
895 return;
10044
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
896 }
9363
605961038476 [gaim-migrate @ 10171]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9318
diff changeset
897
10044
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
898 #if 0
9290
093382f25d5e [gaim-migrate @ 10093]
Christian Hammond <chipx86@chipx86.com>
parents: 9285
diff changeset
899 if (group != NULL && group->name != NULL)
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
900 gaim_debug_info("msn", "msn_add_buddy: %s, %s\n", who, group->name);
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
901 else
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
902 gaim_debug_info("msn", "msn_add_buddy: %s\n", who);
10044
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
903 #endif
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
904
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
905 #if 0
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
906 /* Which is the max? */
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
907 if (session->fl_users_count >= 150)
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
908 {
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
909 gaim_debug_info("msn", "Too many buddies\n");
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
910 /* Buddy list full */
9285
9cedf5d26577 [gaim-migrate @ 10088]
Mark Doliner <markdoliner@pidgin.im>
parents: 9246
diff changeset
911 /* TODO: gaim should be notified of this */
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
912 return;
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
913 }
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
914 #endif
9198
e8eb6d5eb9eb [gaim-migrate @ 9993]
Christian Hammond <chipx86@chipx86.com>
parents: 9193
diff changeset
915
10044
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
916 /* 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
917 * 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
918 * internal. */
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
919 msn_userlist_add_buddy(userlist, who, MSN_LIST_FL,
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
920 group ? group->name : NULL);
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
921 }
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 static void
9285
9cedf5d26577 [gaim-migrate @ 10088]
Mark Doliner <markdoliner@pidgin.im>
parents: 9246
diff changeset
924 msn_rem_buddy(GaimConnection *gc, GaimBuddy *buddy, GaimGroup *group)
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
925 {
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
926 MsnSession *session;
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
927 MsnUserList *userlist;
9198
e8eb6d5eb9eb [gaim-migrate @ 9993]
Christian Hammond <chipx86@chipx86.com>
parents: 9193
diff changeset
928
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
929 session = gc->proto_data;
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
930 userlist = session->userlist;
9091
8c3907d0f436 [gaim-migrate @ 9868]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9086
diff changeset
931
9363
605961038476 [gaim-migrate @ 10171]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9318
diff changeset
932 if (!session->logged_in)
605961038476 [gaim-migrate @ 10171]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9318
diff changeset
933 return;
605961038476 [gaim-migrate @ 10171]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9318
diff changeset
934
9285
9cedf5d26577 [gaim-migrate @ 10088]
Mark Doliner <markdoliner@pidgin.im>
parents: 9246
diff changeset
935 /* XXX - Does buddy->name need to be msn_normalize'd here? --KingAnt */
9cedf5d26577 [gaim-migrate @ 10088]
Mark Doliner <markdoliner@pidgin.im>
parents: 9246
diff changeset
936 msn_userlist_rem_buddy(userlist, buddy->name, MSN_LIST_FL, group->name);
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
937 }
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
938
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
939 static void
5564
1779a1bfbdb8 [gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents: 5518
diff changeset
940 msn_add_permit(GaimConnection *gc, const char *who)
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
941 {
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
942 MsnSession *session;
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
943 MsnUserList *userlist;
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
944 MsnUser *user;
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
945
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
946 session = gc->proto_data;
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
947 userlist = session->userlist;
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
948 user = msn_userlist_find_user(userlist, who);
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
949
9363
605961038476 [gaim-migrate @ 10171]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9318
diff changeset
950 if (!session->logged_in)
605961038476 [gaim-migrate @ 10171]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9318
diff changeset
951 return;
605961038476 [gaim-migrate @ 10171]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9318
diff changeset
952
605961038476 [gaim-migrate @ 10171]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9318
diff changeset
953 if (user != NULL && user->list_op & MSN_LIST_BL_OP)
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
954 msn_userlist_rem_buddy(userlist, who, MSN_LIST_BL, NULL);
9198
e8eb6d5eb9eb [gaim-migrate @ 9993]
Christian Hammond <chipx86@chipx86.com>
parents: 9193
diff changeset
955
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
956 msn_userlist_add_buddy(userlist, who, MSN_LIST_AL, NULL);
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
957 }
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
958
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
959 static void
5564
1779a1bfbdb8 [gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents: 5518
diff changeset
960 msn_add_deny(GaimConnection *gc, const char *who)
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
961 {
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
962 MsnSession *session;
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
963 MsnUserList *userlist;
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
964 MsnUser *user;
9198
e8eb6d5eb9eb [gaim-migrate @ 9993]
Christian Hammond <chipx86@chipx86.com>
parents: 9193
diff changeset
965
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
966 session = gc->proto_data;
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
967 userlist = session->userlist;
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
968 user = msn_userlist_find_user(userlist, who);
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
969
9363
605961038476 [gaim-migrate @ 10171]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9318
diff changeset
970 if (!session->logged_in)
605961038476 [gaim-migrate @ 10171]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9318
diff changeset
971 return;
605961038476 [gaim-migrate @ 10171]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9318
diff changeset
972
605961038476 [gaim-migrate @ 10171]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9318
diff changeset
973 if (user != NULL && user->list_op & MSN_LIST_AL_OP)
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
974 msn_userlist_rem_buddy(userlist, who, MSN_LIST_AL, NULL);
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
975
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
976 msn_userlist_add_buddy(userlist, who, MSN_LIST_BL, NULL);
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
977 }
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
978
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
979 static void
5564
1779a1bfbdb8 [gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents: 5518
diff changeset
980 msn_rem_permit(GaimConnection *gc, const char *who)
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
981 {
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
982 MsnSession *session;
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
983 MsnUserList *userlist;
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
984 MsnUser *user;
9198
e8eb6d5eb9eb [gaim-migrate @ 9993]
Christian Hammond <chipx86@chipx86.com>
parents: 9193
diff changeset
985
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
986 session = gc->proto_data;
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
987 userlist = session->userlist;
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
988
9363
605961038476 [gaim-migrate @ 10171]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9318
diff changeset
989 if (!session->logged_in)
605961038476 [gaim-migrate @ 10171]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9318
diff changeset
990 return;
605961038476 [gaim-migrate @ 10171]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9318
diff changeset
991
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
992 user = msn_userlist_find_user(userlist, who);
9198
e8eb6d5eb9eb [gaim-migrate @ 9993]
Christian Hammond <chipx86@chipx86.com>
parents: 9193
diff changeset
993
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
994 msn_userlist_rem_buddy(userlist, who, MSN_LIST_AL, NULL);
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
995
9363
605961038476 [gaim-migrate @ 10171]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9318
diff changeset
996 if (user != NULL && user->list_op & MSN_LIST_RL_OP)
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
997 msn_userlist_add_buddy(userlist, who, MSN_LIST_BL, NULL);
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
998 }
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
999
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1000 void
5564
1779a1bfbdb8 [gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents: 5518
diff changeset
1001 msn_rem_deny(GaimConnection *gc, const char *who)
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1002 {
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1003 MsnSession *session;
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1004 MsnUserList *userlist;
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1005 MsnUser *user;
9198
e8eb6d5eb9eb [gaim-migrate @ 9993]
Christian Hammond <chipx86@chipx86.com>
parents: 9193
diff changeset
1006
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1007 session = gc->proto_data;
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1008 userlist = session->userlist;
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1009
9363
605961038476 [gaim-migrate @ 10171]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9318
diff changeset
1010 if (!session->logged_in)
605961038476 [gaim-migrate @ 10171]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9318
diff changeset
1011 return;
605961038476 [gaim-migrate @ 10171]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9318
diff changeset
1012
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1013 user = msn_userlist_find_user(userlist, who);
2213
3a176de28de1 [gaim-migrate @ 2223]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2210
diff changeset
1014
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1015 msn_userlist_rem_buddy(userlist, who, MSN_LIST_BL, NULL);
7563
b921749e2976 [gaim-migrate @ 8179]
Robert Mibus <mibus@mibus.org>
parents: 7469
diff changeset
1016
9363
605961038476 [gaim-migrate @ 10171]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9318
diff changeset
1017 if (user != NULL && user->list_op & MSN_LIST_RL_OP)
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1018 msn_userlist_add_buddy(userlist, who, MSN_LIST_AL, NULL);
2597
51ca3fb939c9 [gaim-migrate @ 2610]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2591
diff changeset
1019 }
51ca3fb939c9 [gaim-migrate @ 2610]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2591
diff changeset
1020
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1021 static void
5564
1779a1bfbdb8 [gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents: 5518
diff changeset
1022 msn_set_permit_deny(GaimConnection *gc)
2597
51ca3fb939c9 [gaim-migrate @ 2610]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2591
diff changeset
1023 {
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1024 GaimAccount *account;
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1025 MsnSession *session;
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1026 MsnCmdProc *cmdproc;
2597
51ca3fb939c9 [gaim-migrate @ 2610]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2591
diff changeset
1027
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1028 account = gaim_connection_get_account(gc);
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1029 session = gc->proto_data;
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1030 cmdproc = session->notification->cmdproc;
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1031
8175
4e79974d452c [gaim-migrate @ 8889]
Mark Doliner <markdoliner@pidgin.im>
parents: 8170
diff changeset
1032 if (account->perm_deny == GAIM_PRIVACY_ALLOW_ALL ||
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1033 account->perm_deny == GAIM_PRIVACY_DENY_USERS)
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1034 {
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1035 msn_cmdproc_send(cmdproc, "BLP", "%s", "AL");
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1036 }
2597
51ca3fb939c9 [gaim-migrate @ 2610]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2591
diff changeset
1037 else
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1038 {
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1039 msn_cmdproc_send(cmdproc, "BLP", "%s", "BL");
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1040 }
2597
51ca3fb939c9 [gaim-migrate @ 2610]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2591
diff changeset
1041 }
51ca3fb939c9 [gaim-migrate @ 2610]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2591
diff changeset
1042
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1043 static void
5564
1779a1bfbdb8 [gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents: 5518
diff changeset
1044 msn_chat_invite(GaimConnection *gc, int id, const char *msg,
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1045 const char *who)
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1046 {
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1047 MsnSession *session;
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1048 MsnSwitchBoard *swboard;
9158
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
1049 MsnCmdProc *cmdproc;
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1050
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1051 session = gc->proto_data;
9158
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
1052
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1053 swboard = msn_session_find_switch_with_id(session, id);
9158
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
1054 g_return_if_fail(swboard != NULL);
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1055
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1056 cmdproc = swboard->servconn->cmdproc;
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1057
9158
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
1058 msn_cmdproc_send(cmdproc, "CAL", "%s", who);
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1059 }
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1060
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1061 static void
5564
1779a1bfbdb8 [gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents: 5518
diff changeset
1062 msn_chat_leave(GaimConnection *gc, int id)
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1063 {
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1064 MsnSession *session;
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1065 MsnSwitchBoard *swboard;
9158
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
1066 MsnCmdProc *cmdproc;
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1067
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1068 session = gc->proto_data;
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1069
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1070 swboard = msn_session_find_switch_with_id(session, id);
9158
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
1071 g_return_if_fail(swboard != NULL);
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1072
9158
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
1073 cmdproc = swboard->servconn->cmdproc;
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1074
9158
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
1075 msn_cmdproc_send_quick(cmdproc, "OUT", NULL, NULL);
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1076 msn_switchboard_destroy(swboard);
6023
cc4dd4d0f666 [gaim-migrate @ 6473]
Christian Hammond <chipx86@chipx86.com>
parents: 5872
diff changeset
1077
9158
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
1078 /* serv_got_chat_left(gc, id); */
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1079 }
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1080
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1081 static int
6059
9934c862ca14 [gaim-migrate @ 6509]
John Silvestri <john.silvestri@gmail.com>
parents: 6035
diff changeset
1082 msn_chat_send(GaimConnection *gc, int id, const char *message)
2597
51ca3fb939c9 [gaim-migrate @ 2610]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2591
diff changeset
1083 {
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1084 GaimAccount *account;
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1085 MsnSession *session;
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1086 MsnSwitchBoard *swboard;
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1087 MsnMessage *msg;
8922
6928d9a0338b [gaim-migrate @ 9692]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8808
diff changeset
1088 char *msgformat;
6928d9a0338b [gaim-migrate @ 9692]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8808
diff changeset
1089 char *msgtext;
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1090
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1091 account = gaim_connection_get_account(gc);
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1092 session = gc->proto_data;
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1093 swboard = msn_session_find_switch_with_id(session, id);
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1094
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1095 if (swboard == NULL)
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1096 return -EINVAL;
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1097
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1098 if (swboard->ready)
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1099 {
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1100 msn_import_html(message, &msgformat, &msgtext);
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1101
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1102 msg = msn_message_new_plain(msgtext);
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1103 msn_message_set_attr(msg, "X-MMS-IM-Format", msgformat);
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1104 msn_switchboard_send_msg(swboard, msg);
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1105 msn_message_destroy(msg);
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1106
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1107 g_free(msgformat);
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1108 g_free(msgtext);
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1109
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1110 serv_got_chat_in(gc, id, gaim_account_get_username(account), 0,
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1111 message, time(NULL));
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1112 }
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1113
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1114 return 0;
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1115 }
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1116
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1117 static void
5564
1779a1bfbdb8 [gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents: 5518
diff changeset
1118 msn_keepalive(GaimConnection *gc)
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1119 {
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1120 MsnSession *session;
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1121 MsnCmdProc *cmdproc;
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1122
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1123 session = gc->proto_data;
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1124 cmdproc = session->notification->cmdproc;
2597
51ca3fb939c9 [gaim-migrate @ 2610]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2591
diff changeset
1125
8207
62f5bc66e39f [gaim-migrate @ 8930]
Christian Hammond <chipx86@chipx86.com>
parents: 8175
diff changeset
1126 if (!session->http_method)
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1127 msn_cmdproc_send_quick(cmdproc, "PNG", NULL, NULL);
2597
51ca3fb939c9 [gaim-migrate @ 2610]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2591
diff changeset
1128 }
51ca3fb939c9 [gaim-migrate @ 2610]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2591
diff changeset
1129
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1130 static void
5564
1779a1bfbdb8 [gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents: 5518
diff changeset
1131 msn_group_buddy(GaimConnection *gc, const char *who,
5518
436fb9490b62 [gaim-migrate @ 5918]
Christian Hammond <chipx86@chipx86.com>
parents: 5507
diff changeset
1132 const char *old_group_name, const char *new_group_name)
5318
2073a19f4217 [gaim-migrate @ 5690]
Christian Hammond <chipx86@chipx86.com>
parents: 5309
diff changeset
1133 {
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1134 MsnSession *session;
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1135 MsnUserList *userlist;
9198
e8eb6d5eb9eb [gaim-migrate @ 9993]
Christian Hammond <chipx86@chipx86.com>
parents: 9193
diff changeset
1136
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1137 session = gc->proto_data;
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1138 userlist = session->userlist;
5518
436fb9490b62 [gaim-migrate @ 5918]
Christian Hammond <chipx86@chipx86.com>
parents: 5507
diff changeset
1139
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1140 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
1141 }
2073a19f4217 [gaim-migrate @ 5690]
Christian Hammond <chipx86@chipx86.com>
parents: 5309
diff changeset
1142
2073a19f4217 [gaim-migrate @ 5690]
Christian Hammond <chipx86@chipx86.com>
parents: 5309
diff changeset
1143 static void
9285
9cedf5d26577 [gaim-migrate @ 10088]
Mark Doliner <markdoliner@pidgin.im>
parents: 9246
diff changeset
1144 msn_rename_group(GaimConnection *gc, const char *old_name,
9cedf5d26577 [gaim-migrate @ 10088]
Mark Doliner <markdoliner@pidgin.im>
parents: 9246
diff changeset
1145 GaimGroup *group, GList *moved_buddies)
5318
2073a19f4217 [gaim-migrate @ 5690]
Christian Hammond <chipx86@chipx86.com>
parents: 5309
diff changeset
1146 {
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1147 MsnSession *session;
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1148 MsnCmdProc *cmdproc;
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1149 int old_gid;
9158
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
1150 const char *enc_new_group_name;
5318
2073a19f4217 [gaim-migrate @ 5690]
Christian Hammond <chipx86@chipx86.com>
parents: 5309
diff changeset
1151
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1152 session = gc->proto_data;
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1153 cmdproc = session->notification->cmdproc;
9285
9cedf5d26577 [gaim-migrate @ 10088]
Mark Doliner <markdoliner@pidgin.im>
parents: 9246
diff changeset
1154 enc_new_group_name = gaim_url_encode(group->name);
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1155
9285
9cedf5d26577 [gaim-migrate @ 10088]
Mark Doliner <markdoliner@pidgin.im>
parents: 9246
diff changeset
1156 old_gid = msn_userlist_find_group_id(session->userlist, old_name);
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1157
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1158 if (old_gid >= 0)
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1159 {
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1160 msn_cmdproc_send(cmdproc, "REG", "%d %s 0", old_gid,
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1161 enc_new_group_name);
5318
2073a19f4217 [gaim-migrate @ 5690]
Christian Hammond <chipx86@chipx86.com>
parents: 5309
diff changeset
1162 }
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1163 else
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1164 {
9158
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
1165 msn_cmdproc_send(cmdproc, "ADG", "%s 0", enc_new_group_name);
5318
2073a19f4217 [gaim-migrate @ 5690]
Christian Hammond <chipx86@chipx86.com>
parents: 5309
diff changeset
1166 }
2073a19f4217 [gaim-migrate @ 5690]
Christian Hammond <chipx86@chipx86.com>
parents: 5309
diff changeset
1167 }
2073a19f4217 [gaim-migrate @ 5690]
Christian Hammond <chipx86@chipx86.com>
parents: 5309
diff changeset
1168
2073a19f4217 [gaim-migrate @ 5690]
Christian Hammond <chipx86@chipx86.com>
parents: 5309
diff changeset
1169 static void
6059
9934c862ca14 [gaim-migrate @ 6509]
John Silvestri <john.silvestri@gmail.com>
parents: 6035
diff changeset
1170 msn_convo_closed(GaimConnection *gc, const char *who)
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1171 {
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1172 MsnSession *session;
5309
3178acad1449 [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1173 MsnSwitchBoard *swboard;
9158
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
1174 MsnCmdProc *cmdproc;
6026
b11d9f2fd725 [gaim-migrate @ 6476]
Christian Hammond <chipx86@chipx86.com>
parents: 6024
diff changeset
1175
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1176 session = gc->proto_data;
9158
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
1177
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1178 swboard = msn_session_find_swboard(session, who);
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1179
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1180 /*
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1181 * Don't perform an assertion here. It swboard is NULL, then the
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1182 * 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
1183 * is talking to himself.
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1184 */
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1185 if (swboard == NULL)
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1186 return;
4349
a65175463a31 [gaim-migrate @ 4614]
Nathan Walp <nwalp@pidgin.im>
parents: 4333
diff changeset
1187
9158
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
1188 cmdproc = swboard->servconn->cmdproc;
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
1189
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1190 if (swboard->current_users == 1)
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1191 {
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1192 /* This must happen on both IM's and Chat's, right? */
9158
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
1193 GaimAccount *account;
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
1194
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
1195 account = gaim_connection_get_account(gc);
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
1196
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
1197 msn_cmdproc_send_quick(cmdproc, "BYE", "%s",
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1198 gaim_account_get_username(account));
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 msn_switchboard_destroy(swboard);
3294
74261923ed7d [gaim-migrate @ 3312]
Sean Egan <seanegan@pidgin.im>
parents: 3293
diff changeset
1201 }
2597
51ca3fb939c9 [gaim-migrate @ 2610]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2591
diff changeset
1202 }
51ca3fb939c9 [gaim-migrate @ 2610]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 2591
diff changeset
1203
6516
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
1204 static void
7590
54b26062c7e0 [gaim-migrate @ 8208]
Christian Hammond <chipx86@chipx86.com>
parents: 7563
diff changeset
1205 msn_set_buddy_icon(GaimConnection *gc, const char *filename)
54b26062c7e0 [gaim-migrate @ 8208]
Christian Hammond <chipx86@chipx86.com>
parents: 7563
diff changeset
1206 {
9158
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
1207 MsnSession *session;
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
1208 MsnUser *user;
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
1209
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
1210 session = gc->proto_data;
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
1211 user = session->user;
7590
54b26062c7e0 [gaim-migrate @ 8208]
Christian Hammond <chipx86@chipx86.com>
parents: 7563
diff changeset
1212
54b26062c7e0 [gaim-migrate @ 8208]
Christian Hammond <chipx86@chipx86.com>
parents: 7563
diff changeset
1213 msn_user_set_buddy_icon(user, filename);
54b26062c7e0 [gaim-migrate @ 8208]
Christian Hammond <chipx86@chipx86.com>
parents: 7563
diff changeset
1214
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1215 msn_change_status(session, session->state);
7590
54b26062c7e0 [gaim-migrate @ 8208]
Christian Hammond <chipx86@chipx86.com>
parents: 7563
diff changeset
1216 }
54b26062c7e0 [gaim-migrate @ 8208]
Christian Hammond <chipx86@chipx86.com>
parents: 7563
diff changeset
1217
54b26062c7e0 [gaim-migrate @ 8208]
Christian Hammond <chipx86@chipx86.com>
parents: 7563
diff changeset
1218 static void
9285
9cedf5d26577 [gaim-migrate @ 10088]
Mark Doliner <markdoliner@pidgin.im>
parents: 9246
diff changeset
1219 msn_remove_group(GaimConnection *gc, GaimGroup *group)
6885
65132ebfc662 [gaim-migrate @ 7431]
Christian Hammond <chipx86@chipx86.com>
parents: 6859
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 MsnCmdProc *cmdproc;
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1223 int group_id;
6885
65132ebfc662 [gaim-migrate @ 7431]
Christian Hammond <chipx86@chipx86.com>
parents: 6859
diff changeset
1224
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1225 session = gc->proto_data;
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1226 cmdproc = session->notification->cmdproc;
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1227
9285
9cedf5d26577 [gaim-migrate @ 10088]
Mark Doliner <markdoliner@pidgin.im>
parents: 9246
diff changeset
1228 if ((group_id = msn_userlist_find_group_id(session->userlist, group->name)) >= 0)
6885
65132ebfc662 [gaim-migrate @ 7431]
Christian Hammond <chipx86@chipx86.com>
parents: 6859
diff changeset
1229 {
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1230 msn_cmdproc_send(cmdproc, "RMG", "%d", group_id);
6885
65132ebfc662 [gaim-migrate @ 7431]
Christian Hammond <chipx86@chipx86.com>
parents: 6859
diff changeset
1231 }
65132ebfc662 [gaim-migrate @ 7431]
Christian Hammond <chipx86@chipx86.com>
parents: 6859
diff changeset
1232 }
65132ebfc662 [gaim-migrate @ 7431]
Christian Hammond <chipx86@chipx86.com>
parents: 6859
diff changeset
1233
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1234 static char *
10044
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1235 msn_tooltip_info_text(MsnGetInfoData *info_data)
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1236 {
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1237 GString *s;
9510
09843093610c [gaim-migrate @ 10337]
Tim Ringenbach <marv@pidgin.im>
parents: 9475
diff changeset
1238 GString *name;
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1239 GaimBuddy *b;
9510
09843093610c [gaim-migrate @ 10337]
Tim Ringenbach <marv@pidgin.im>
parents: 9475
diff changeset
1240 const char *p;
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1241
10044
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1242 s = g_string_sized_new(80); /* wild guess */
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1243
9510
09843093610c [gaim-migrate @ 10337]
Tim Ringenbach <marv@pidgin.im>
parents: 9475
diff changeset
1244 /* Try to not display the MSN screen name as an email address */
09843093610c [gaim-migrate @ 10337]
Tim Ringenbach <marv@pidgin.im>
parents: 9475
diff changeset
1245 p = strrchr(info_data->name, '@');
10044
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1246 if (p)
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1247 {
9510
09843093610c [gaim-migrate @ 10337]
Tim Ringenbach <marv@pidgin.im>
parents: 9475
diff changeset
1248 name = g_string_new_len(info_data->name, p - info_data->name);
09843093610c [gaim-migrate @ 10337]
Tim Ringenbach <marv@pidgin.im>
parents: 9475
diff changeset
1249 g_string_append_printf(name, "&#64;%s", p + 1);
10044
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 else
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1252 {
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1253 /* This should never happen */
9510
09843093610c [gaim-migrate @ 10337]
Tim Ringenbach <marv@pidgin.im>
parents: 9475
diff changeset
1254 name = g_string_new(info_data->name);
09843093610c [gaim-migrate @ 10337]
Tim Ringenbach <marv@pidgin.im>
parents: 9475
diff changeset
1255 }
10044
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1256
9510
09843093610c [gaim-migrate @ 10337]
Tim Ringenbach <marv@pidgin.im>
parents: 9475
diff changeset
1257 g_string_printf(s, "<span style=\"font-size: larger\"><b>%s</b></span><br>",
10044
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1258 name->str);
9510
09843093610c [gaim-migrate @ 10337]
Tim Ringenbach <marv@pidgin.im>
parents: 9475
diff changeset
1259 g_string_free(name, TRUE);
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1260 b = gaim_find_buddy(gaim_connection_get_account(info_data->gc),
10044
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1261 info_data->name);
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1262
10044
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1263 if (b)
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1264 {
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1265 MsnUser *user;
9967
7400b348ff62 [gaim-migrate @ 10877]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9953
diff changeset
1266 GaimPresence *presence;
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1267 char *statustext = msn_tooltip_text(b);
10044
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1268
9967
7400b348ff62 [gaim-migrate @ 10877]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9953
diff changeset
1269 presence = gaim_buddy_get_presence(b);
10044
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1270
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1271 if (b->alias && b->alias[0])
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1272 {
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1273 char *aliastext = g_markup_escape_text(b->alias, -1);
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1274 g_string_append_printf(s, _("<b>Alias:</b> %s<br>"), aliastext);
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1275 g_free(aliastext);
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1276 }
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 if (b->server_alias)
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1279 {
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1280 char *nicktext = g_markup_escape_text(b->server_alias, -1);
9510
09843093610c [gaim-migrate @ 10337]
Tim Ringenbach <marv@pidgin.im>
parents: 9475
diff changeset
1281 g_string_append_printf(s, _("<b>%s:</b> "), _("Nickname"));
9684
c584a700422f [gaim-migrate @ 10536]
Mark Doliner <markdoliner@pidgin.im>
parents: 9569
diff changeset
1282 g_string_append_printf(s, "<font sml=\"msn\">%s</font><br>",
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1283 nicktext);
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1284 g_free(nicktext);
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1285 }
10044
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1286
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1287 if (gaim_presence_is_idle(presence))
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1288 {
9967
7400b348ff62 [gaim-migrate @ 10877]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9953
diff changeset
1289 char *idletime = gaim_str_seconds_to_string(time(NULL) -
7400b348ff62 [gaim-migrate @ 10877]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9953
diff changeset
1290 gaim_presence_get_idle_time(presence));
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1291 g_string_append_printf(s, _("<b>%s:</b> %s<br>"), _("Idle"),
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1292 idletime);
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1293 g_free(idletime);
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1294 }
10044
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1295
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1296 if (statustext)
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1297 {
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1298 g_string_append_printf(s, "%s<br>", statustext);
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1299 g_free(statustext);
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1300 }
10044
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1301
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1302 user = b->proto_data;
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1303
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1304 g_string_append_printf(s, _("<b>%s:</b> %s<br>"), _("Has you"),
10049
162625a91d5a [gaim-migrate @ 11010]
Mark Doliner <markdoliner@pidgin.im>
parents: 10044
diff changeset
1305 (user->list_op & (1 << MSN_LIST_RL)) ?
162625a91d5a [gaim-migrate @ 11010]
Mark Doliner <markdoliner@pidgin.im>
parents: 10044
diff changeset
1306 _("Yes") : _("No"));
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1307 }
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1308
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1309 return g_string_free(s, FALSE);
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1310 }
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1311
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1312 #if PHOTO_SUPPORT
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1313
10044
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1314 static char *
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1315 msn_get_photo_url(const char *url_text)
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1316 {
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1317 char *p;
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1318 char *it = NULL;
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1319
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1320 p = strstr(url_text, " title=\"Click to see the full-size photo.\">");
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1321
10044
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1322 if (p)
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1323 {
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1324 /* Search backwards for "http://". This is stupid, but it works. */
10044
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1325 for (; !it && p > url_text; p -= 1)
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1326 {
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1327 if (strncmp(p, "\"http://", 8) == 0)
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1328 {
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1329 char *q;
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1330 p += 1; /* skip only the " */
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1331 q = strchr(p, '"');
10044
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1332 if (q)
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1333 {
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1334 it = g_strndup(p, q - p);
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1335 }
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1336 }
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1337 }
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1338 }
10044
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1339
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1340 return it;
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1341 }
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1342
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1343 static void msn_got_photo(void *data, const char *url_text, size_t len);
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1344
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1345 #endif
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1346
6885
65132ebfc662 [gaim-migrate @ 7431]
Christian Hammond <chipx86@chipx86.com>
parents: 6859
diff changeset
1347 static void
7094
8f9588491993 [gaim-migrate @ 7659]
Christian Hammond <chipx86@chipx86.com>
parents: 7062
diff changeset
1348 msn_got_info(void *data, const char *url_text, size_t len)
6516
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
1349 {
7104
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1350 MsnGetInfoData *info_data = (MsnGetInfoData *)data;
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1351 char *stripped, *p, *q;
6516
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
1352 char buf[1024];
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1353 char *tooltip_text = NULL;
6516
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
1354 char *user_url = NULL;
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1355 gboolean found;
7104
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1356 gboolean has_info = FALSE;
9510
09843093610c [gaim-migrate @ 10337]
Tim Ringenbach <marv@pidgin.im>
parents: 9475
diff changeset
1357 const char* title = NULL;
7094
8f9588491993 [gaim-migrate @ 7659]
Christian Hammond <chipx86@chipx86.com>
parents: 7062
diff changeset
1358 char *url_buffer;
7675
8058cedec7a2 [gaim-migrate @ 8319]
Tim Ringenbach <marv@pidgin.im>
parents: 7590
diff changeset
1359 GString *s;
8058cedec7a2 [gaim-migrate @ 8319]
Tim Ringenbach <marv@pidgin.im>
parents: 7590
diff changeset
1360 int stripped_len;
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1361 #if PHOTO_SUPPORT
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1362 char *photo_url_text = NULL;
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1363 MsnGetInfoStepTwoData *info2_data = NULL;
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1364 #endif
6516
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
1365
7104
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1366 gaim_debug_info("msn", "In msn_got_info\n");
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1367
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1368 tooltip_text = msn_tooltip_info_text(info_data);
9510
09843093610c [gaim-migrate @ 10337]
Tim Ringenbach <marv@pidgin.im>
parents: 9475
diff changeset
1369 title = _("MSN Profile");
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1370
7094
8f9588491993 [gaim-migrate @ 7659]
Christian Hammond <chipx86@chipx86.com>
parents: 7062
diff changeset
1371 if (url_text == NULL || strcmp(url_text, "") == 0)
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1372 {
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1373 g_snprintf(buf, 1024, "<html><body>%s<b>%s</b></body></html>",
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1374 tooltip_text, _("Error retrieving profile"));
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1375
9797
b69f82378b7b [gaim-migrate @ 10665]
Evan Schoenberg <evands@pidgin.im>
parents: 9775
diff changeset
1376 gaim_notify_userinfo(info_data->gc, info_data->name, NULL,
9510
09843093610c [gaim-migrate @ 10337]
Tim Ringenbach <marv@pidgin.im>
parents: 9475
diff changeset
1377 title, NULL, buf, NULL, NULL);
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1378
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1379 g_free(tooltip_text);
6516
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
1380 return;
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
1381 }
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
1382
7094
8f9588491993 [gaim-migrate @ 7659]
Christian Hammond <chipx86@chipx86.com>
parents: 7062
diff changeset
1383 url_buffer = g_strdup(url_text);
8f9588491993 [gaim-migrate @ 7659]
Christian Hammond <chipx86@chipx86.com>
parents: 7062
diff changeset
1384
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1385 /* If they have a homepage link, MSN masks it such that we need to
7095
17d2b54254f8 [gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents: 7094
diff changeset
1386 * fetch the url out before gaim_markup_strip_html() nukes it */
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1387 if ((p = strstr(url_text,
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1388 "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
1389 {
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
1390 p += 50;
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1391
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1392 if ((q = strchr(p, '"')) != NULL)
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1393 user_url = g_strndup(p, q - p);
6516
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
1394 }
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
1395
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1396 /*
7095
17d2b54254f8 [gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents: 7094
diff changeset
1397 * gaim_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
1398 * and &#183;
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1399 */
7094
8f9588491993 [gaim-migrate @ 7659]
Christian Hammond <chipx86@chipx86.com>
parents: 7062
diff changeset
1400 while ((p = strstr(url_buffer, "&nbsp;")) != NULL)
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1401 {
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1402 *p = ' '; /* Turn &nbsp;'s into ordinary blanks */
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1403 p += 1;
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1404 memmove(p, p + 5, strlen(p + 5));
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1405 url_buffer[strlen(url_buffer) - 5] = '\0';
6516
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
1406 }
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
1407
7094
8f9588491993 [gaim-migrate @ 7659]
Christian Hammond <chipx86@chipx86.com>
parents: 7062
diff changeset
1408 while ((p = strstr(url_buffer, "&#183;")) != NULL)
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1409 {
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1410 memmove(p, p + 6, strlen(p + 6));
7094
8f9588491993 [gaim-migrate @ 7659]
Christian Hammond <chipx86@chipx86.com>
parents: 7062
diff changeset
1411 url_buffer[strlen(url_buffer) - 6] = '\0';
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1412 }
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1413
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1414 /* Nuke the nasty \r's that just get in the way */
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1415 gaim_str_strip_cr(url_buffer);
6516
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
1416
8735
01248ea222d3 [gaim-migrate @ 9490]
Jonathan Champ <royanee@users.sourceforge.net>
parents: 8713
diff changeset
1417 /* MSN always puts in &#39; for apostrophes...replace them */
7094
8f9588491993 [gaim-migrate @ 7659]
Christian Hammond <chipx86@chipx86.com>
parents: 7062
diff changeset
1418 while ((p = strstr(url_buffer, "&#39;")) != NULL)
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1419 {
6516
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
1420 *p = '\'';
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1421 memmove(p + 1, p + 5, strlen(p + 5));
7094
8f9588491993 [gaim-migrate @ 7659]
Christian Hammond <chipx86@chipx86.com>
parents: 7062
diff changeset
1422 url_buffer[strlen(url_buffer) - 4] = '\0';
6516
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
1423 }
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
1424
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1425 /* Nuke the html, it's easier than trying to parse the horrid stuff */
7095
17d2b54254f8 [gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents: 7094
diff changeset
1426 stripped = gaim_markup_strip_html(url_buffer);
7675
8058cedec7a2 [gaim-migrate @ 8319]
Tim Ringenbach <marv@pidgin.im>
parents: 7590
diff changeset
1427 stripped_len = strlen(stripped);
6516
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
1428
7104
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1429 gaim_debug_misc("msn", "stripped = %p\n", stripped);
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1430 gaim_debug_misc("msn", "url_buffer = %p\n", url_buffer);
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1431
7094
8f9588491993 [gaim-migrate @ 7659]
Christian Hammond <chipx86@chipx86.com>
parents: 7062
diff changeset
1432 /* Gonna re-use the memory we've already got for url_buffer */
7675
8058cedec7a2 [gaim-migrate @ 8319]
Tim Ringenbach <marv@pidgin.im>
parents: 7590
diff changeset
1433 /* No we're not. */
8058cedec7a2 [gaim-migrate @ 8319]
Tim Ringenbach <marv@pidgin.im>
parents: 7590
diff changeset
1434 s = g_string_sized_new(strlen(url_buffer));
6516
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
1435
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1436 /* Extract their Name and put it in */
7675
8058cedec7a2 [gaim-migrate @ 8319]
Tim Ringenbach <marv@pidgin.im>
parents: 7590
diff changeset
1437 found = gaim_markup_extract_info_field(stripped, stripped_len, s,
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1438 "\tName\n", 0, "\t", 0, "Undisclosed", _("Name"), 0, NULL);
7104
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1439
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1440 if (found)
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1441 has_info = TRUE;
6516
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
1442
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1443 /* Extract their Age and put it in */
9158
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
1444 found = gaim_markup_extract_info_field(stripped, stripped_len, s,
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1445 "\tAge\n", 0, "\n", 0, "Undisclosed", _("Age"), 0, NULL);
7104
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1446
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1447 if (found)
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1448 has_info = TRUE;
6516
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
1449
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1450 /* Extract their Gender and put it in */
9158
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
1451 found = gaim_markup_extract_info_field(stripped, stripped_len, s,
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1452 "\nGender\n", 0, "\t", 0, "Undisclosed", _("Gender"), 0,
9158
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
1453 NULL);
7104
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1454
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1455 if (found)
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1456 has_info = TRUE;
6516
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
1457
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1458 /* Extract their MaritalStatus and put it in */
7675
8058cedec7a2 [gaim-migrate @ 8319]
Tim Ringenbach <marv@pidgin.im>
parents: 7590
diff changeset
1459 found = gaim_markup_extract_info_field(stripped, stripped_len, s,
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1460 "\tMarital Status\n", 0, "\n", 0, "Undisclosed",
7104
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1461 _("Marital Status"), 0, NULL);
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1462
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1463 if (found)
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1464 has_info = TRUE;
6516
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
1465
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1466 /* Extract their Location and put it in */
7675
8058cedec7a2 [gaim-migrate @ 8319]
Tim Ringenbach <marv@pidgin.im>
parents: 7590
diff changeset
1467 found = gaim_markup_extract_info_field(stripped, stripped_len, s,
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1468 "\nLocation\n", 0, "\n", 0, "Undisclosed", _("Location"), 0,
9158
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
1469 NULL);
7104
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1470
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1471 if (found)
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1472 has_info = TRUE;
6516
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
1473
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1474 /* Extract their Occupation and put it in */
7675
8058cedec7a2 [gaim-migrate @ 8319]
Tim Ringenbach <marv@pidgin.im>
parents: 7590
diff changeset
1475 found = gaim_markup_extract_info_field(stripped, stripped_len, s,
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1476 " Occupation\n", 6, "\n", 0, "Undisclosed", _("Occupation"),
7104
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1477 0, NULL);
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1478
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1479 if (found)
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1480 has_info = TRUE;
6516
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
1481
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1482 /*
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1483 * The fields, 'A Little About Me', 'Favorite Things', 'Hobbies
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1484 * and Interests', 'Favorite Quote', and 'My Homepage' may or may
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1485 * not appear, in any combination. However, they do appear in
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1486 * certain order, so we can successively search to pin down the
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1487 * distinct values.
6516
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
1488 */
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
1489
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1490 /* Check if they have A Little About Me */
7675
8058cedec7a2 [gaim-migrate @ 8319]
Tim Ringenbach <marv@pidgin.im>
parents: 7590
diff changeset
1491 found = gaim_markup_extract_info_field(stripped, stripped_len, s,
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1492 " A Little About Me \n\n", 0, "Favorite Things", '\n', NULL,
7095
17d2b54254f8 [gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents: 7094
diff changeset
1493 _("A Little About Me"), 0, NULL);
6516
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
1494
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1495 if (!found)
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1496 {
7675
8058cedec7a2 [gaim-migrate @ 8319]
Tim Ringenbach <marv@pidgin.im>
parents: 7590
diff changeset
1497 found = gaim_markup_extract_info_field(stripped, stripped_len, s,
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1498 " A Little About Me \n\n", 0, "Hobbies and Interests", '\n',
7095
17d2b54254f8 [gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents: 7094
diff changeset
1499 NULL, _("A Little About Me"), 0, NULL);
17d2b54254f8 [gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents: 7094
diff changeset
1500 }
17d2b54254f8 [gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents: 7094
diff changeset
1501
17d2b54254f8 [gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents: 7094
diff changeset
1502 if (!found)
17d2b54254f8 [gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents: 7094
diff changeset
1503 {
7675
8058cedec7a2 [gaim-migrate @ 8319]
Tim Ringenbach <marv@pidgin.im>
parents: 7590
diff changeset
1504 found = gaim_markup_extract_info_field(stripped, stripped_len, s,
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1505 " A Little About Me \n\n", 0, "Favorite Quote", '\n', NULL,
7095
17d2b54254f8 [gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents: 7094
diff changeset
1506 _("A Little About Me"), 0, NULL);
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1507 }
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1508
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1509 if (!found)
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1510 {
7675
8058cedec7a2 [gaim-migrate @ 8319]
Tim Ringenbach <marv@pidgin.im>
parents: 7590
diff changeset
1511 found = gaim_markup_extract_info_field(stripped, stripped_len, s,
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1512 " 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
1513 '\n',
7095
17d2b54254f8 [gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents: 7094
diff changeset
1514 NULL, _("A Little About Me"), 0, NULL);
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1515 }
6516
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
1516
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1517 if (!found)
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1518 {
7675
8058cedec7a2 [gaim-migrate @ 8319]
Tim Ringenbach <marv@pidgin.im>
parents: 7590
diff changeset
1519 gaim_markup_extract_info_field(stripped, stripped_len, s,
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1520 " A Little About Me \n\n", 0, "last updated", '\n', NULL,
7095
17d2b54254f8 [gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents: 7094
diff changeset
1521 _("A Little About Me"), 0, NULL);
17d2b54254f8 [gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents: 7094
diff changeset
1522 }
17d2b54254f8 [gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents: 7094
diff changeset
1523
7104
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1524 if (found)
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1525 has_info = TRUE;
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1526
7095
17d2b54254f8 [gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents: 7094
diff changeset
1527 /* Check if they have Favorite Things */
7675
8058cedec7a2 [gaim-migrate @ 8319]
Tim Ringenbach <marv@pidgin.im>
parents: 7590
diff changeset
1528 found = gaim_markup_extract_info_field(stripped, stripped_len, s,
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1529 " Favorite Things \n\n", 0, "Hobbies and Interests", '\n', NULL,
9158
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
1530 _("Favorite Things"), 0, NULL);
7095
17d2b54254f8 [gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents: 7094
diff changeset
1531
17d2b54254f8 [gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents: 7094
diff changeset
1532 if (!found)
17d2b54254f8 [gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents: 7094
diff changeset
1533 {
7675
8058cedec7a2 [gaim-migrate @ 8319]
Tim Ringenbach <marv@pidgin.im>
parents: 7590
diff changeset
1534 found = gaim_markup_extract_info_field(stripped, stripped_len, s,
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1535 " Favorite Things \n\n", 0, "Favorite Quote", '\n', NULL,
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1536 _("Favorite Things"), 0, NULL);
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1537 }
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1538
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1539 if (!found)
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1540 {
7675
8058cedec7a2 [gaim-migrate @ 8319]
Tim Ringenbach <marv@pidgin.im>
parents: 7590
diff changeset
1541 found = gaim_markup_extract_info_field(stripped, stripped_len, s,
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1542 " Favorite Things \n\n", 0, "My Homepage \n\nTake a look", '\n',
9158
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
1543 NULL, _("Favorite Things"), 0, NULL);
6516
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
1544 }
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
1545
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1546 if (!found)
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1547 {
7675
8058cedec7a2 [gaim-migrate @ 8319]
Tim Ringenbach <marv@pidgin.im>
parents: 7590
diff changeset
1548 gaim_markup_extract_info_field(stripped, stripped_len, s,
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1549 " Favorite Things \n\n", 0, "last updated", '\n', NULL,
7095
17d2b54254f8 [gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents: 7094
diff changeset
1550 _("Favorite Things"), 0, NULL);
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1551 }
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1552
7104
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1553 if (found)
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1554 has_info = TRUE;
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1555
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1556 /* Check if they have Hobbies and Interests */
7675
8058cedec7a2 [gaim-migrate @ 8319]
Tim Ringenbach <marv@pidgin.im>
parents: 7590
diff changeset
1557 found = gaim_markup_extract_info_field(stripped, stripped_len, s,
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1558 " Hobbies and Interests \n\n", 0, "Favorite Quote", '\n', NULL,
7095
17d2b54254f8 [gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents: 7094
diff changeset
1559 _("Hobbies and Interests"), 0, NULL);
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1560
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1561 if (!found)
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1562 {
7675
8058cedec7a2 [gaim-migrate @ 8319]
Tim Ringenbach <marv@pidgin.im>
parents: 7590
diff changeset
1563 found = gaim_markup_extract_info_field(stripped, stripped_len, s,
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1564 " Hobbies and Interests \n\n", 0, "My Homepage \n\nTake a look",
7095
17d2b54254f8 [gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents: 7094
diff changeset
1565 '\n', NULL, _("Hobbies and Interests"), 0, NULL);
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1566 }
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1567
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1568 if (!found)
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1569 {
7675
8058cedec7a2 [gaim-migrate @ 8319]
Tim Ringenbach <marv@pidgin.im>
parents: 7590
diff changeset
1570 gaim_markup_extract_info_field(stripped, stripped_len, s,
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1571 " Hobbies and Interests \n\n", 0, "last updated", '\n', NULL,
7095
17d2b54254f8 [gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents: 7094
diff changeset
1572 _("Hobbies and Interests"), 0, NULL);
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1573 }
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1574
7104
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1575 if (found)
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1576 has_info = TRUE;
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1577
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1578 /* Check if they have Favorite Quote */
7675
8058cedec7a2 [gaim-migrate @ 8319]
Tim Ringenbach <marv@pidgin.im>
parents: 7590
diff changeset
1579 found = gaim_markup_extract_info_field(stripped, stripped_len, s,
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1580 "Favorite Quote \n\n", 0, "My Homepage \n\nTake a look", '\n', NULL,
7095
17d2b54254f8 [gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents: 7094
diff changeset
1581 _("Favorite Quote"), 0, NULL);
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1582
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1583 if (!found)
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1584 {
7675
8058cedec7a2 [gaim-migrate @ 8319]
Tim Ringenbach <marv@pidgin.im>
parents: 7590
diff changeset
1585 gaim_markup_extract_info_field(stripped, stripped_len, s,
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1586 "Favorite Quote \n\n", 0, "last updated", '\n', NULL,
7095
17d2b54254f8 [gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents: 7094
diff changeset
1587 _("Favorite Quote"), 0, NULL);
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1588 }
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1589
7104
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1590 if (found)
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1591 has_info = TRUE;
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1592
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1593 /* Extract the last updated date and put it in */
7675
8058cedec7a2 [gaim-migrate @ 8319]
Tim Ringenbach <marv@pidgin.im>
parents: 7590
diff changeset
1594 found = gaim_markup_extract_info_field(stripped, stripped_len, s,
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1595 " last updated:", 1, "\n", 0, NULL, _("Last Updated"), 0,
9158
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
1596 NULL);
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1597
7104
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1598 if (found)
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1599 has_info = TRUE;
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1600
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1601 /* 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
1602 if (user_url != NULL)
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1603 {
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1604 g_snprintf(buf, sizeof(buf),
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1605 "<b>%s:</b><br><a href=\"%s\">%s</a><br>\n",
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1606 _("Homepage"), user_url, user_url);
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1607
7675
8058cedec7a2 [gaim-migrate @ 8319]
Tim Ringenbach <marv@pidgin.im>
parents: 7590
diff changeset
1608 g_string_append(s, buf);
7104
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1609
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1610 g_free(user_url);
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1611
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1612 has_info = TRUE;
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1613 }
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1614
9510
09843093610c [gaim-migrate @ 10337]
Tim Ringenbach <marv@pidgin.im>
parents: 9475
diff changeset
1615 if (!has_info)
09843093610c [gaim-migrate @ 10337]
Tim Ringenbach <marv@pidgin.im>
parents: 9475
diff changeset
1616 {
09843093610c [gaim-migrate @ 10337]
Tim Ringenbach <marv@pidgin.im>
parents: 9475
diff changeset
1617 /* MSN doesn't actually distinguish between "unknown member" and
09843093610c [gaim-migrate @ 10337]
Tim Ringenbach <marv@pidgin.im>
parents: 9475
diff changeset
1618 * 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
1619 * 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
1620 * exists.
09843093610c [gaim-migrate @ 10337]
Tim Ringenbach <marv@pidgin.im>
parents: 9475
diff changeset
1621 */
09843093610c [gaim-migrate @ 10337]
Tim Ringenbach <marv@pidgin.im>
parents: 9475
diff changeset
1622 char *p = strstr(url_buffer, "Unknown Member </TITLE>");
09843093610c [gaim-migrate @ 10337]
Tim Ringenbach <marv@pidgin.im>
parents: 9475
diff changeset
1623 GaimBuddy *b = gaim_find_buddy
09843093610c [gaim-migrate @ 10337]
Tim Ringenbach <marv@pidgin.im>
parents: 9475
diff changeset
1624 (gaim_connection_get_account(info_data->gc), info_data->name);
09843093610c [gaim-migrate @ 10337]
Tim Ringenbach <marv@pidgin.im>
parents: 9475
diff changeset
1625 g_string_append_printf(s, "<br><b>%s</b><br>%s<br><br>",
09843093610c [gaim-migrate @ 10337]
Tim Ringenbach <marv@pidgin.im>
parents: 9475
diff changeset
1626 _("Error retrieving profile"),
09843093610c [gaim-migrate @ 10337]
Tim Ringenbach <marv@pidgin.im>
parents: 9475
diff changeset
1627 ((p && b)?
09843093610c [gaim-migrate @ 10337]
Tim Ringenbach <marv@pidgin.im>
parents: 9475
diff changeset
1628 _("The user has not created a public profile."):
09843093610c [gaim-migrate @ 10337]
Tim Ringenbach <marv@pidgin.im>
parents: 9475
diff changeset
1629 p? _("MSN reported not being able to find the user's profile. "
09843093610c [gaim-migrate @ 10337]
Tim Ringenbach <marv@pidgin.im>
parents: 9475
diff changeset
1630 "This either means that the user does not exist, "
09843093610c [gaim-migrate @ 10337]
Tim Ringenbach <marv@pidgin.im>
parents: 9475
diff changeset
1631 "or that the user exists "
09843093610c [gaim-migrate @ 10337]
Tim Ringenbach <marv@pidgin.im>
parents: 9475
diff changeset
1632 "but has not created a public profile."):
09843093610c [gaim-migrate @ 10337]
Tim Ringenbach <marv@pidgin.im>
parents: 9475
diff changeset
1633 _("Gaim could not find " /* This should never happen */
09843093610c [gaim-migrate @ 10337]
Tim Ringenbach <marv@pidgin.im>
parents: 9475
diff changeset
1634 "any information in the user's profile. "
09843093610c [gaim-migrate @ 10337]
Tim Ringenbach <marv@pidgin.im>
parents: 9475
diff changeset
1635 "The user most likely does not exist.")));
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1636 }
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1637
9510
09843093610c [gaim-migrate @ 10337]
Tim Ringenbach <marv@pidgin.im>
parents: 9475
diff changeset
1638 /* put a link to the actual profile URL */
09843093610c [gaim-migrate @ 10337]
Tim Ringenbach <marv@pidgin.im>
parents: 9475
diff changeset
1639 g_string_append_printf(s, _("<b>%s:</b> "), _("Profile URL"));
09843093610c [gaim-migrate @ 10337]
Tim Ringenbach <marv@pidgin.im>
parents: 9475
diff changeset
1640 g_string_append_printf(s, "<br><a href=\"%s%s\">%s%s</a><br>",
09843093610c [gaim-migrate @ 10337]
Tim Ringenbach <marv@pidgin.im>
parents: 9475
diff changeset
1641 PROFILE_URL, info_data->name, PROFILE_URL, info_data->name);
09843093610c [gaim-migrate @ 10337]
Tim Ringenbach <marv@pidgin.im>
parents: 9475
diff changeset
1642
6859
070c664d7c14 [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1643 /* Finish it off, and show it to them */
7675
8058cedec7a2 [gaim-migrate @ 8319]
Tim Ringenbach <marv@pidgin.im>
parents: 7590
diff changeset
1644 g_string_append(s, "</body></html>\n");
7062
26abb8b189ce [gaim-migrate @ 7626]
Christian Hammond <chipx86@chipx86.com>
parents: 7015
diff changeset
1645
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1646 #if PHOTO_SUPPORT
9569
63364b43cb0b [gaim-migrate @ 10412]
Tim Ringenbach <marv@pidgin.im>
parents: 9558
diff changeset
1647 /* 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
1648 photo_url_text = msn_get_photo_url(url_text);
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1649
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1650 /* Marshall the existing state */
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1651 info2_data = g_malloc0(sizeof(MsnGetInfoStepTwoData));
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1652 info2_data->info_data = info_data;
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1653 info2_data->stripped = stripped;
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1654 info2_data->url_buffer = url_buffer;
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1655 info2_data->s = s;
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1656 info2_data->photo_url_text = photo_url_text;
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1657 info2_data->tooltip_text = tooltip_text;
9510
09843093610c [gaim-migrate @ 10337]
Tim Ringenbach <marv@pidgin.im>
parents: 9475
diff changeset
1658 info2_data->title = title;
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1659
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1660 /* 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
1661 if (photo_url_text)
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1662 {
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1663 gaim_url_fetch(photo_url_text, FALSE, NULL, FALSE, msn_got_photo,
10044
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1664 info2_data);
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1665 }
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1666 else
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1667 {
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1668 /* Emulate a callback */
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1669 msn_got_photo(info2_data, NULL, 0);
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1670 }
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1671 }
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1672
10044
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1673 static void
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1674 msn_got_photo(void *data, const char *url_text, size_t len)
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1675 {
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1676 MsnGetInfoStepTwoData *info2_data = (MsnGetInfoStepTwoData *)data;
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1677 int id = -1;
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1678
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1679 /* Unmarshall the saved state */
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1680 MsnGetInfoData *info_data = info2_data->info_data;
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1681 char *stripped = info2_data->stripped;
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1682 char *url_buffer = info2_data->url_buffer;
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1683 GString *s = info2_data->s;
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1684 char *photo_url_text = info2_data->photo_url_text;
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1685 char *tooltip_text = info2_data->tooltip_text;
9510
09843093610c [gaim-migrate @ 10337]
Tim Ringenbach <marv@pidgin.im>
parents: 9475
diff changeset
1686 const char *title = info2_data->title;
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1687
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1688 /* Try to put the photo in there too, if there's one and is readable */
10044
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1689 if (data && url_text && len != 0)
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1690 {
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1691 if (strstr(url_text, "400 Bad Request")
10044
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1692 || strstr(url_text, "403 Forbidden")
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1693 || strstr(url_text, "404 Not Found"))
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1694 {
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1695
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1696 gaim_debug_info("msn", "Error getting %s: %s\n",
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1697 photo_url_text, url_text);
10044
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1698 }
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1699 else
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1700 {
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1701 char buf[1024];
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1702 gaim_debug_info("msn", "%s is %d bytes\n", photo_url_text, len);
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1703 id = gaim_imgstore_add(url_text, len, NULL);
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1704 g_snprintf(buf, sizeof(buf), "<img id=\"%d\"><br>", id);
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1705 g_string_prepend(s, buf);
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1706 }
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
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1709 /* 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
1710 #endif
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1711
9510
09843093610c [gaim-migrate @ 10337]
Tim Ringenbach <marv@pidgin.im>
parents: 9475
diff changeset
1712 g_string_prepend(s, tooltip_text);
9797
b69f82378b7b [gaim-migrate @ 10665]
Evan Schoenberg <evands@pidgin.im>
parents: 9775
diff changeset
1713 gaim_notify_userinfo(info_data->gc, info_data->name, NULL,
b69f82378b7b [gaim-migrate @ 10665]
Evan Schoenberg <evands@pidgin.im>
parents: 9775
diff changeset
1714 title, NULL, s->str, NULL, NULL);
7062
26abb8b189ce [gaim-migrate @ 7626]
Christian Hammond <chipx86@chipx86.com>
parents: 7015
diff changeset
1715
6516
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
1716 g_free(stripped);
7094
8f9588491993 [gaim-migrate @ 7659]
Christian Hammond <chipx86@chipx86.com>
parents: 7062
diff changeset
1717 g_free(url_buffer);
7675
8058cedec7a2 [gaim-migrate @ 8319]
Tim Ringenbach <marv@pidgin.im>
parents: 7590
diff changeset
1718 g_string_free(s, TRUE);
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1719 g_free(tooltip_text);
7104
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1720 g_free(info_data->name);
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1721 g_free(info_data);
9243
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1722 #if PHOTO_SUPPORT
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1723 g_free(photo_url_text);
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1724 g_free(info2_data);
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1725 if (id != -1)
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1726 gaim_imgstore_unref(id);
c22d815cb7ba [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1727 #endif
6516
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
1728 }
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
1729
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
1730 static void
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
1731 msn_get_info(GaimConnection *gc, const char *name)
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
1732 {
7104
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1733 MsnGetInfoData *data;
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1734 char *url;
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1735
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1736 data = g_new0(MsnGetInfoData, 1);
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1737 data->gc = gc;
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1738 data->name = g_strdup(name);
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1739
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1740 url = g_strdup_printf("%s%s", PROFILE_URL, name);
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1741
7094
8f9588491993 [gaim-migrate @ 7659]
Christian Hammond <chipx86@chipx86.com>
parents: 7062
diff changeset
1742 gaim_url_fetch(url, FALSE,
9158
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
1743 "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
1744 TRUE, msn_got_info, data);
7104
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1745
d8415ef3d687 [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1746 g_free(url);
6516
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
1747 }
ea1e11634bf5 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
1748
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1749 static gboolean msn_load(GaimPlugin *plugin)
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1750 {
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1751 msn_notification_init();
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1752 msn_switchboard_init();
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1753 msn_sync_init();
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1754
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1755 return TRUE;
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1756 }
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1757
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1758 static gboolean msn_unload(GaimPlugin *plugin)
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1759 {
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1760 msn_notification_end();
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1761 msn_switchboard_end();
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9158
diff changeset
1762 msn_sync_end();
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1763
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1764 return TRUE;
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1765 }
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1766
8713
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents: 8697
diff changeset
1767 static GaimPluginPrefFrame *
10044
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1768 get_plugin_pref_frame(GaimPlugin *plugin)
884c09b189e6 [gaim-migrate @ 11003]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9967
diff changeset
1769 {
8713
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents: 8697
diff changeset
1770 GaimPluginPrefFrame *frame;
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents: 8697
diff changeset
1771 GaimPluginPref *ppref;
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents: 8697
diff changeset
1772
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents: 8697
diff changeset
1773 frame = gaim_plugin_pref_frame_new();
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents: 8697
diff changeset
1774
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents: 8697
diff changeset
1775 ppref = gaim_plugin_pref_new_with_label(_("Conversations"));
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents: 8697
diff changeset
1776 gaim_plugin_pref_frame_add(frame, ppref);
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents: 8697
diff changeset
1777
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents: 8697
diff changeset
1778 ppref = gaim_plugin_pref_new_with_name_and_label(
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents: 8697
diff changeset
1779 "/plugins/prpl/msn/conv_close_notice",
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents: 8697
diff changeset
1780 _("Display conversation closed notices"));
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents: 8697
diff changeset
1781 gaim_plugin_pref_frame_add(frame, ppref);
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents: 8697
diff changeset
1782
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents: 8697
diff changeset
1783 ppref = gaim_plugin_pref_new_with_name_and_label(
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents: 8697
diff changeset
1784 "/plugins/prpl/msn/conv_timeout_notice",
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents: 8697
diff changeset
1785 _("Display timeout notices"));
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents: 8697
diff changeset
1786 gaim_plugin_pref_frame_add(frame, ppref);
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents: 8697
diff changeset
1787
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents: 8697
diff changeset
1788 return frame;
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents: 8697
diff changeset
1789 }
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents: 8697
diff changeset
1790
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents: 8697
diff changeset
1791 static GaimPluginUiInfo prefs_info = {
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents: 8697
diff changeset
1792 get_plugin_pref_frame
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents: 8697
diff changeset
1793 };
8a7baa8f8460 [gaim-migrate @ 9467]
Gary Kramlich <grim@pidgin.im>
parents: 8697
diff changeset
1794
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5191
diff changeset
1795 static GaimPluginProtocolInfo prpl_info =
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5191
diff changeset
1796 {
9308
4ea759d72d37 [gaim-migrate @ 10116]
Sean Egan <seanegan@pidgin.im>
parents: 9290
diff changeset
1797 OPT_PROTO_MAIL_CHECK,
9475
8c8d4ac992a6 [gaim-migrate @ 10300]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9466
diff changeset
1798 NULL, /* user_splits */
8c8d4ac992a6 [gaim-migrate @ 10300]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9466
diff changeset
1799 NULL, /* protocol_options */
9555
f8a120408e37 [gaim-migrate @ 10391]
Sean Egan <seanegan@pidgin.im>
parents: 9554
diff changeset
1800 {"png", 0, 0, 96, 96, GAIM_ICON_SCALE_SEND}, /* icon_spec */
9475
8c8d4ac992a6 [gaim-migrate @ 10300]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9466
diff changeset
1801 msn_list_icon, /* list_icon */
8c8d4ac992a6 [gaim-migrate @ 10300]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9466
diff changeset
1802 msn_list_emblems, /* list_emblems */
8c8d4ac992a6 [gaim-migrate @ 10300]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9466
diff changeset
1803 msn_status_text, /* status_text */
8c8d4ac992a6 [gaim-migrate @ 10300]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9466
diff changeset
1804 msn_tooltip_text, /* tooltip_text */
9951
19b949eca7f8 [gaim-migrate @ 10847]
Nathan Walp <nwalp@pidgin.im>
parents: 9943
diff changeset
1805 msn_status_types, /* away_states */
19b949eca7f8 [gaim-migrate @ 10847]
Nathan Walp <nwalp@pidgin.im>
parents: 9943
diff changeset
1806 msn_blist_node_menu, /* blist_node_menu */
9475
8c8d4ac992a6 [gaim-migrate @ 10300]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9466
diff changeset
1807 NULL, /* chat_info */
9754
3a17eee239b2 [gaim-migrate @ 10621]
Nathan Fredrickson <nathan@silverorange.com>
parents: 9713
diff changeset
1808 NULL, /* chat_info_defaults */
9951
19b949eca7f8 [gaim-migrate @ 10847]
Nathan Walp <nwalp@pidgin.im>
parents: 9943
diff changeset
1809 msn_login, /* login */
19b949eca7f8 [gaim-migrate @ 10847]
Nathan Walp <nwalp@pidgin.im>
parents: 9943
diff changeset
1810 msn_close, /* close */
9475
8c8d4ac992a6 [gaim-migrate @ 10300]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9466
diff changeset
1811 msn_send_im, /* send_im */
8c8d4ac992a6 [gaim-migrate @ 10300]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9466
diff changeset
1812 NULL, /* set_info */
8c8d4ac992a6 [gaim-migrate @ 10300]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9466
diff changeset
1813 msn_send_typing, /* send_typing */
8c8d4ac992a6 [gaim-migrate @ 10300]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9466
diff changeset
1814 msn_get_info, /* get_info */
9967
7400b348ff62 [gaim-migrate @ 10877]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9953
diff changeset
1815 msn_set_status, /* set_away */
9475
8c8d4ac992a6 [gaim-migrate @ 10300]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9466
diff changeset
1816 msn_set_idle, /* set_idle */
8c8d4ac992a6 [gaim-migrate @ 10300]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9466
diff changeset
1817 NULL, /* change_passwd */
8c8d4ac992a6 [gaim-migrate @ 10300]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9466
diff changeset
1818 msn_add_buddy, /* add_buddy */
8c8d4ac992a6 [gaim-migrate @ 10300]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9466
diff changeset
1819 NULL, /* add_buddies */
8c8d4ac992a6 [gaim-migrate @ 10300]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9466
diff changeset
1820 msn_rem_buddy, /* remove_buddy */
8c8d4ac992a6 [gaim-migrate @ 10300]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9466
diff changeset
1821 NULL, /* remove_buddies */
8c8d4ac992a6 [gaim-migrate @ 10300]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9466
diff changeset
1822 msn_add_permit, /* add_permit */
8c8d4ac992a6 [gaim-migrate @ 10300]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9466
diff changeset
1823 msn_add_deny, /* add_deny */
8c8d4ac992a6 [gaim-migrate @ 10300]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9466
diff changeset
1824 msn_rem_permit, /* rem_permit */
8c8d4ac992a6 [gaim-migrate @ 10300]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9466
diff changeset
1825 msn_rem_deny, /* rem_deny */
9951
19b949eca7f8 [gaim-migrate @ 10847]
Nathan Walp <nwalp@pidgin.im>
parents: 9943
diff changeset
1826 msn_set_permit_deny, /* set_permit_deny */
9475
8c8d4ac992a6 [gaim-migrate @ 10300]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9466
diff changeset
1827 NULL, /* warn */
8c8d4ac992a6 [gaim-migrate @ 10300]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9466
diff changeset
1828 NULL, /* join_chat */
8c8d4ac992a6 [gaim-migrate @ 10300]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9466
diff changeset
1829 NULL, /* reject chat invite */
9917
2fbb3c9fab2b [gaim-migrate @ 10809]
Daniel Atallah <datallah@pidgin.im>
parents: 9895
diff changeset
1830 NULL, /* get_chat_name */
9475
8c8d4ac992a6 [gaim-migrate @ 10300]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9466
diff changeset
1831 msn_chat_invite, /* chat_invite */
8c8d4ac992a6 [gaim-migrate @ 10300]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9466
diff changeset
1832 msn_chat_leave, /* chat_leave */
8c8d4ac992a6 [gaim-migrate @ 10300]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9466
diff changeset
1833 NULL, /* chat_whisper */
8c8d4ac992a6 [gaim-migrate @ 10300]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9466
diff changeset
1834 msn_chat_send, /* chat_send */
8c8d4ac992a6 [gaim-migrate @ 10300]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9466
diff changeset
1835 msn_keepalive, /* keepalive */
8c8d4ac992a6 [gaim-migrate @ 10300]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9466
diff changeset
1836 NULL, /* register_user */
8c8d4ac992a6 [gaim-migrate @ 10300]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9466
diff changeset
1837 NULL, /* get_cb_info */
8c8d4ac992a6 [gaim-migrate @ 10300]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9466
diff changeset
1838 NULL, /* get_cb_away */
8c8d4ac992a6 [gaim-migrate @ 10300]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9466
diff changeset
1839 NULL, /* alias_buddy */
8c8d4ac992a6 [gaim-migrate @ 10300]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9466
diff changeset
1840 msn_group_buddy, /* group_buddy */
8c8d4ac992a6 [gaim-migrate @ 10300]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9466
diff changeset
1841 msn_rename_group, /* rename_group */
8c8d4ac992a6 [gaim-migrate @ 10300]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9466
diff changeset
1842 NULL, /* buddy_free */
8c8d4ac992a6 [gaim-migrate @ 10300]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9466
diff changeset
1843 msn_convo_closed, /* convo_closed */
8c8d4ac992a6 [gaim-migrate @ 10300]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9466
diff changeset
1844 msn_normalize, /* normalize */
8c8d4ac992a6 [gaim-migrate @ 10300]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9466
diff changeset
1845 msn_set_buddy_icon, /* set_buddy_icon */
8c8d4ac992a6 [gaim-migrate @ 10300]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9466
diff changeset
1846 msn_remove_group, /* remove_group */
8c8d4ac992a6 [gaim-migrate @ 10300]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9466
diff changeset
1847 NULL, /* get_cb_real_name */
8c8d4ac992a6 [gaim-migrate @ 10300]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9466
diff changeset
1848 NULL, /* set_chat_topic */
8c8d4ac992a6 [gaim-migrate @ 10300]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9466
diff changeset
1849 NULL, /* find_blist_chat */
8c8d4ac992a6 [gaim-migrate @ 10300]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9466
diff changeset
1850 NULL, /* roomlist_get_list */
8c8d4ac992a6 [gaim-migrate @ 10300]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9466
diff changeset
1851 NULL, /* roomlist_cancel */
8c8d4ac992a6 [gaim-migrate @ 10300]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9466
diff changeset
1852 NULL, /* roomlist_expand_category */
8c8d4ac992a6 [gaim-migrate @ 10300]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9466
diff changeset
1853 NULL, /* can_receive_file */
8c8d4ac992a6 [gaim-migrate @ 10300]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 9466
diff changeset
1854 msn_send_file /* send_file */
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5191
diff changeset
1855 };
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5191
diff changeset
1856
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5191
diff changeset
1857 static GaimPluginInfo info =
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5191
diff changeset
1858 {
9943
b54a762f60fa [gaim-migrate @ 10835]
Nathan Walp <nwalp@pidgin.im>
parents: 9917
diff changeset
1859 GAIM_PLUGIN_MAGIC,
b54a762f60fa [gaim-migrate @ 10835]
Nathan Walp <nwalp@pidgin.im>
parents: 9917
diff changeset
1860 GAIM_MAJOR_VERSION,
b54a762f60fa [gaim-migrate @ 10835]
Nathan Walp <nwalp@pidgin.im>
parents: 9917
diff changeset
1861 GAIM_MINOR_VERSION,
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5191
diff changeset
1862 GAIM_PLUGIN_PROTOCOL, /**< type */
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5191
diff changeset
1863 NULL, /**< ui_requirement */
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5191
diff changeset
1864 0, /**< flags */
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5191
diff changeset
1865 NULL, /**< dependencies */
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5191
diff changeset
1866 GAIM_PRIORITY_DEFAULT, /**< priority */
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5191
diff changeset
1867
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5191
diff changeset
1868 "prpl-msn", /**< id */
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5191
diff changeset
1869 "MSN", /**< name */
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5191
diff changeset
1870 VERSION, /**< version */
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5191
diff changeset
1871 /** summary */
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5191
diff changeset
1872 N_("MSN Protocol Plugin"),
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5191
diff changeset
1873 /** description */
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5191
diff changeset
1874 N_("MSN Protocol Plugin"),
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5191
diff changeset
1875 "Christian Hammond <chipx86@gnupdate.org>", /**< author */
6371
e92b66ee5518 [gaim-migrate @ 6876]
Christian Hammond <chipx86@chipx86.com>
parents: 6228
diff changeset
1876 GAIM_WEBSITE, /**< homepage */
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5191
diff changeset
1877
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1878 msn_load, /**< load */
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1879 msn_unload, /**< unload */
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5191
diff changeset
1880 NULL, /**< destroy */
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5191
diff changeset
1881
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5191
diff changeset
1882 NULL, /**< ui_info */
8808
1cb5ddf6b625 [gaim-migrate @ 9570]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 8749
diff changeset
1883 &prpl_info, /**< extra_info */
8993
41f67bceab41 [gaim-migrate @ 9768]
Luke Schierer <lschiere@pidgin.im>
parents: 8950
diff changeset
1884 &prefs_info, /**< prefs_info */
9015
3c27e9074fa2 [gaim-migrate @ 9791]
Christopher O'Brien <siege@pidgin.im>
parents: 8993
diff changeset
1885 msn_actions
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5191
diff changeset
1886 };
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5191
diff changeset
1887
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5191
diff changeset
1888 static void
5793
28d84d5e5663 [gaim-migrate @ 6218]
Christian Hammond <chipx86@chipx86.com>
parents: 5717
diff changeset
1889 init_plugin(GaimPlugin *plugin)
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1890 {
5638
53e752c88ea1 [gaim-migrate @ 6047]
Christian Hammond <chipx86@chipx86.com>
parents: 5626
diff changeset
1891 GaimAccountOption *option;
3572
d07e14aa6f26 [gaim-migrate @ 3670]
Sean Egan <seanegan@pidgin.im>
parents: 3538
diff changeset
1892
5685
2523e4143d74 [gaim-migrate @ 6106]
Christian Hammond <chipx86@chipx86.com>
parents: 5638
diff changeset
1893 option = gaim_account_option_string_new(_("Login server"), "server",
5638
53e752c88ea1 [gaim-migrate @ 6047]
Christian Hammond <chipx86@chipx86.com>
parents: 5626
diff changeset
1894 MSN_SERVER);
53e752c88ea1 [gaim-migrate @ 6047]
Christian Hammond <chipx86@chipx86.com>
parents: 5626
diff changeset
1895 prpl_info.protocol_options = g_list_append(prpl_info.protocol_options,
53e752c88ea1 [gaim-migrate @ 6047]
Christian Hammond <chipx86@chipx86.com>
parents: 5626
diff changeset
1896 option);
3572
d07e14aa6f26 [gaim-migrate @ 3670]
Sean Egan <seanegan@pidgin.im>
parents: 3538
diff changeset
1897
5638
53e752c88ea1 [gaim-migrate @ 6047]
Christian Hammond <chipx86@chipx86.com>
parents: 5626
diff changeset
1898 option = gaim_account_option_int_new(_("Port"), "port", 1863);
53e752c88ea1 [gaim-migrate @ 6047]
Christian Hammond <chipx86@chipx86.com>
parents: 5626
diff changeset
1899 prpl_info.protocol_options = g_list_append(prpl_info.protocol_options,
53e752c88ea1 [gaim-migrate @ 6047]
Christian Hammond <chipx86@chipx86.com>
parents: 5626
diff changeset
1900 option);
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1901
9158
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
1902 option = gaim_account_option_bool_new(_("Use HTTP Method"),
f8dab42adeaf [gaim-migrate @ 9942]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9092
diff changeset
1903 "http_method", FALSE);
7288
486e8b44a14b [gaim-migrate @ 7869]
Christian Hammond <chipx86@chipx86.com>
parents: 7277
diff changeset
1904 prpl_info.protocol_options = g_list_append(prpl_info.protocol_options,
486e8b44a14b [gaim-migrate @ 7869]
Christian Hammond <chipx86@chipx86.com>
parents: 7277
diff changeset
1905 option);
486e8b44a14b [gaim-migrate @ 7869]
Christian Hammond <chipx86@chipx86.com>
parents: 7277
diff changeset
1906
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5191
diff changeset
1907 my_protocol = plugin;
5626
6e6fc61ea2db [gaim-migrate @ 6033]
Christian Hammond <chipx86@chipx86.com>
parents: 5567
diff changeset
1908
6e6fc61ea2db [gaim-migrate @ 6033]
Christian Hammond <chipx86@chipx86.com>
parents: 5567
diff changeset
1909 gaim_prefs_add_none("/plugins/prpl/msn");
6e6fc61ea2db [gaim-migrate @ 6033]
Christian Hammond <chipx86@chipx86.com>
parents: 5567
diff changeset
1910 gaim_prefs_add_bool("/plugins/prpl/msn/conv_close_notice", TRUE);
6e6fc61ea2db [gaim-migrate @ 6033]
Christian Hammond <chipx86@chipx86.com>
parents: 5567
diff changeset
1911 gaim_prefs_add_bool("/plugins/prpl/msn/conv_timeout_notice", TRUE);
2086
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1912 }
007508451e2c [gaim-migrate @ 2096]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1913
5793
28d84d5e5663 [gaim-migrate @ 6218]
Christian Hammond <chipx86@chipx86.com>
parents: 5717
diff changeset
1914 GAIM_INIT_PLUGIN(msn, init_plugin, info);

mercurial