annotate src/protocols/msn/msn.c @ 13711:967ef719cb62

[gaim-migrate @ 16115] Resolve some unused value CIDs. This changeset just removes dead code. jabber chat.c CID 180 CID 181 msn httpconn.c CID 179 msn.c CID 185 CID 186 notification.c CID 189 slp.c CID 183 CID 184 switchboard.c CID 178 sync.c CID 187 CID 188 user.c CID 182 novell novell.c CID 190 sametime sametime.c CID 214 CID 215 yahoo yahoo.c CID 200 CID 201 CID 202 yahoo_doodle.c CID 168 CID 169 yahoo_filexfer.c CID 170 CID 171 CID 172 committer: Tailor Script <tailor@pidgin.im>
author Richard Laager <rlaager@wiktel.com>
date Mon, 01 May 2006 20:37:37 +0000
parents 2f7b356812bc
children a9ff4499d9ce
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4542
86b0a0243be8 [gaim-migrate @ 4821]
Christian Hammond <chipx86@chipx86.com>
parents: 4508
diff changeset
1 /**
86b0a0243be8 [gaim-migrate @ 4821]
Christian Hammond <chipx86@chipx86.com>
parents: 4508
diff changeset
2 * @file msn.c The MSN protocol plugin
86b0a0243be8 [gaim-migrate @ 4821]
Christian Hammond <chipx86@chipx86.com>
parents: 4508
diff changeset
3 *
86b0a0243be8 [gaim-migrate @ 4821]
Christian Hammond <chipx86@chipx86.com>
parents: 4508
diff changeset
4 * gaim
86b0a0243be8 [gaim-migrate @ 4821]
Christian Hammond <chipx86@chipx86.com>
parents: 4508
diff changeset
5 *
9198
ab6636c5a136 [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
ab6636c5a136 [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
ab6636c5a136 [gaim-migrate @ 9993]
Christian Hammond <chipx86@chipx86.com>
parents: 9193
diff changeset
8 * source distribution.
6701
b7e113a59b51 [gaim-migrate @ 7227]
Christian Hammond <chipx86@chipx86.com>
parents: 6695
diff changeset
9 *
4542
86b0a0243be8 [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
86b0a0243be8 [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
86b0a0243be8 [gaim-migrate @ 4821]
Christian Hammond <chipx86@chipx86.com>
parents: 4508
diff changeset
12 * the Free Software Foundation; either version 2 of the License, or
86b0a0243be8 [gaim-migrate @ 4821]
Christian Hammond <chipx86@chipx86.com>
parents: 4508
diff changeset
13 * (at your option) any later version.
86b0a0243be8 [gaim-migrate @ 4821]
Christian Hammond <chipx86@chipx86.com>
parents: 4508
diff changeset
14 *
86b0a0243be8 [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,
86b0a0243be8 [gaim-migrate @ 4821]
Christian Hammond <chipx86@chipx86.com>
parents: 4508
diff changeset
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
86b0a0243be8 [gaim-migrate @ 4821]
Christian Hammond <chipx86@chipx86.com>
parents: 4508
diff changeset
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
86b0a0243be8 [gaim-migrate @ 4821]
Christian Hammond <chipx86@chipx86.com>
parents: 4508
diff changeset
18 * GNU General Public License for more details.
86b0a0243be8 [gaim-migrate @ 4821]
Christian Hammond <chipx86@chipx86.com>
parents: 4508
diff changeset
19 *
86b0a0243be8 [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
86b0a0243be8 [gaim-migrate @ 4821]
Christian Hammond <chipx86@chipx86.com>
parents: 4508
diff changeset
21 * along with this program; if not, write to the Free Software
86b0a0243be8 [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
86b0a0243be8 [gaim-migrate @ 4821]
Christian Hammond <chipx86@chipx86.com>
parents: 4508
diff changeset
23 */
9243
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
24 #define PHOTO_SUPPORT 1
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
25
6827
1cfbb731aa1f [gaim-migrate @ 7372]
Christian Hammond <chipx86@chipx86.com>
parents: 6801
diff changeset
26 #include <glib.h>
1cfbb731aa1f [gaim-migrate @ 7372]
Christian Hammond <chipx86@chipx86.com>
parents: 6801
diff changeset
27
4542
86b0a0243be8 [gaim-migrate @ 4821]
Christian Hammond <chipx86@chipx86.com>
parents: 4508
diff changeset
28 #include "msn.h"
5638
0bdfa28c678e [gaim-migrate @ 6047]
Christian Hammond <chipx86@chipx86.com>
parents: 5626
diff changeset
29 #include "accountopt.h"
5309
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
30 #include "msg.h"
5369
a87818e9dc54 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
31 #include "page.h"
8713
7024b595b6ae [gaim-migrate @ 9467]
Luke Schierer <lschiere@pidgin.im>
parents: 8697
diff changeset
32 #include "pluginpref.h"
5626
6275ac113622 [gaim-migrate @ 6033]
Christian Hammond <chipx86@chipx86.com>
parents: 5567
diff changeset
33 #include "prefs.h"
5309
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
34 #include "session.h"
5361
953aa05279f4 [gaim-migrate @ 5737]
Christian Hammond <chipx86@chipx86.com>
parents: 5351
diff changeset
35 #include "state.h"
13628
5773f46e6bdf [gaim-migrate @ 16015]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 13627
diff changeset
36 #include "util.h"
11321
95fa774d216d [gaim-migrate @ 13525]
Stu Tomlinson <stu@nosnilmot.com>
parents: 11257
diff changeset
37 #include "cmds.h"
9713
db62420a53a2 [gaim-migrate @ 10574]
Mark Doliner <mark@kingant.net>
parents: 9684
diff changeset
38 #include "prpl.h"
13628
5773f46e6bdf [gaim-migrate @ 16015]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 13627
diff changeset
39 #include "msn-utils.h"
9943
f8e395a054e2 [gaim-migrate @ 10835]
Nathan Walp <nwalp@pidgin.im>
parents: 9917
diff changeset
40 #include "version.h"
4546
a951bb590857 [gaim-migrate @ 4825]
Herman Bloggs <hermanator12002@yahoo.com>
parents: 4542
diff changeset
41
9193
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
42 #include "switchboard.h"
8808
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
43 #include "notification.h"
9193
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
44 #include "sync.h"
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
45 #include "slplink.h"
8808
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
46
9243
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
47 #if PHOTO_SUPPORT
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
48 #include "imgstore.h"
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
49 #endif
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
50
5369
a87818e9dc54 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
51 typedef struct
a87818e9dc54 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
52 {
5564
187c740f2a4e [gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents: 5518
diff changeset
53 GaimConnection *gc;
5369
a87818e9dc54 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
54 const char *passport;
a87818e9dc54 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
55
a87818e9dc54 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
56 } MsnMobileData;
a87818e9dc54 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
57
7104
7700a28929bd [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
58 typedef struct
7700a28929bd [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
59 {
7700a28929bd [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
60 GaimConnection *gc;
7700a28929bd [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
61 char *name;
7700a28929bd [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
62
7700a28929bd [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
63 } MsnGetInfoData;
7700a28929bd [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
64
9243
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
65 typedef struct
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
66 {
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
67 MsnGetInfoData *info_data;
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
68 char *stripped;
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
69 char *url_buffer;
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
70 GString *s;
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
71 char *photo_url_text;
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
72 char *tooltip_text;
9510
2aed8d5cda1b [gaim-migrate @ 10337]
Tim Ringenbach <marv@pidgin.im>
parents: 9475
diff changeset
73 const char *title;
9243
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
74
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
75 } MsnGetInfoStepTwoData;
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
76
9158
c30d81b4dd22 [gaim-migrate @ 9942]
Christian Hammond <chipx86@chipx86.com>
parents: 9092
diff changeset
77 static const char *
c30d81b4dd22 [gaim-migrate @ 9942]
Christian Hammond <chipx86@chipx86.com>
parents: 9092
diff changeset
78 msn_normalize(const GaimAccount *account, const char *str)
c30d81b4dd22 [gaim-migrate @ 9942]
Christian Hammond <chipx86@chipx86.com>
parents: 9092
diff changeset
79 {
c30d81b4dd22 [gaim-migrate @ 9942]
Christian Hammond <chipx86@chipx86.com>
parents: 9092
diff changeset
80 static char buf[BUF_LEN];
c30d81b4dd22 [gaim-migrate @ 9942]
Christian Hammond <chipx86@chipx86.com>
parents: 9092
diff changeset
81 char *tmp;
c30d81b4dd22 [gaim-migrate @ 9942]
Christian Hammond <chipx86@chipx86.com>
parents: 9092
diff changeset
82
c30d81b4dd22 [gaim-migrate @ 9942]
Christian Hammond <chipx86@chipx86.com>
parents: 9092
diff changeset
83 g_return_val_if_fail(str != NULL, NULL);
c30d81b4dd22 [gaim-migrate @ 9942]
Christian Hammond <chipx86@chipx86.com>
parents: 9092
diff changeset
84
c30d81b4dd22 [gaim-migrate @ 9942]
Christian Hammond <chipx86@chipx86.com>
parents: 9092
diff changeset
85 g_snprintf(buf, sizeof(buf), "%s%s", str,
c30d81b4dd22 [gaim-migrate @ 9942]
Christian Hammond <chipx86@chipx86.com>
parents: 9092
diff changeset
86 (strchr(str, '@') ? "" : "@hotmail.com"));
c30d81b4dd22 [gaim-migrate @ 9942]
Christian Hammond <chipx86@chipx86.com>
parents: 9092
diff changeset
87
c30d81b4dd22 [gaim-migrate @ 9942]
Christian Hammond <chipx86@chipx86.com>
parents: 9092
diff changeset
88 tmp = g_utf8_strdown(buf, -1);
c30d81b4dd22 [gaim-migrate @ 9942]
Christian Hammond <chipx86@chipx86.com>
parents: 9092
diff changeset
89 strncpy(buf, tmp, sizeof(buf));
c30d81b4dd22 [gaim-migrate @ 9942]
Christian Hammond <chipx86@chipx86.com>
parents: 9092
diff changeset
90 g_free(tmp);
c30d81b4dd22 [gaim-migrate @ 9942]
Christian Hammond <chipx86@chipx86.com>
parents: 9092
diff changeset
91
c30d81b4dd22 [gaim-migrate @ 9942]
Christian Hammond <chipx86@chipx86.com>
parents: 9092
diff changeset
92 return buf;
c30d81b4dd22 [gaim-migrate @ 9942]
Christian Hammond <chipx86@chipx86.com>
parents: 9092
diff changeset
93 }
c30d81b4dd22 [gaim-migrate @ 9942]
Christian Hammond <chipx86@chipx86.com>
parents: 9092
diff changeset
94
11321
95fa774d216d [gaim-migrate @ 13525]
Stu Tomlinson <stu@nosnilmot.com>
parents: 11257
diff changeset
95 static GaimCmdRet
95fa774d216d [gaim-migrate @ 13525]
Stu Tomlinson <stu@nosnilmot.com>
parents: 11257
diff changeset
96 msn_cmd_nudge(GaimConversation *conv, const gchar *cmd, gchar **args, gchar **error, void *data)
95fa774d216d [gaim-migrate @ 13525]
Stu Tomlinson <stu@nosnilmot.com>
parents: 11257
diff changeset
97 {
95fa774d216d [gaim-migrate @ 13525]
Stu Tomlinson <stu@nosnilmot.com>
parents: 11257
diff changeset
98 GaimAccount *account = gaim_conversation_get_account(conv);
95fa774d216d [gaim-migrate @ 13525]
Stu Tomlinson <stu@nosnilmot.com>
parents: 11257
diff changeset
99 GaimConnection *gc = gaim_account_get_connection(account);
95fa774d216d [gaim-migrate @ 13525]
Stu Tomlinson <stu@nosnilmot.com>
parents: 11257
diff changeset
100 MsnMessage *msg;
95fa774d216d [gaim-migrate @ 13525]
Stu Tomlinson <stu@nosnilmot.com>
parents: 11257
diff changeset
101 MsnSession *session;
95fa774d216d [gaim-migrate @ 13525]
Stu Tomlinson <stu@nosnilmot.com>
parents: 11257
diff changeset
102 MsnSwitchBoard *swboard;
95fa774d216d [gaim-migrate @ 13525]
Stu Tomlinson <stu@nosnilmot.com>
parents: 11257
diff changeset
103
95fa774d216d [gaim-migrate @ 13525]
Stu Tomlinson <stu@nosnilmot.com>
parents: 11257
diff changeset
104 msg = msn_message_new_nudge();
95fa774d216d [gaim-migrate @ 13525]
Stu Tomlinson <stu@nosnilmot.com>
parents: 11257
diff changeset
105 session = gc->proto_data;
95fa774d216d [gaim-migrate @ 13525]
Stu Tomlinson <stu@nosnilmot.com>
parents: 11257
diff changeset
106 swboard = msn_session_get_swboard(session, gaim_conversation_get_name(conv), MSN_SB_FLAG_IM);
95fa774d216d [gaim-migrate @ 13525]
Stu Tomlinson <stu@nosnilmot.com>
parents: 11257
diff changeset
107
13634
8872789902a1 [gaim-migrate @ 16032]
Stu Tomlinson <stu@nosnilmot.com>
parents: 13628
diff changeset
108 if (swboard == NULL)
11321
95fa774d216d [gaim-migrate @ 13525]
Stu Tomlinson <stu@nosnilmot.com>
parents: 11257
diff changeset
109 return GAIM_CMD_RET_FAILED;
95fa774d216d [gaim-migrate @ 13525]
Stu Tomlinson <stu@nosnilmot.com>
parents: 11257
diff changeset
110
95fa774d216d [gaim-migrate @ 13525]
Stu Tomlinson <stu@nosnilmot.com>
parents: 11257
diff changeset
111 msn_switchboard_send_msg(swboard, msg, TRUE);
95fa774d216d [gaim-migrate @ 13525]
Stu Tomlinson <stu@nosnilmot.com>
parents: 11257
diff changeset
112
95fa774d216d [gaim-migrate @ 13525]
Stu Tomlinson <stu@nosnilmot.com>
parents: 11257
diff changeset
113 gaim_conversation_write(conv, NULL, _("You have just sent a Nudge!"), GAIM_MESSAGE_SYSTEM, time(NULL));
95fa774d216d [gaim-migrate @ 13525]
Stu Tomlinson <stu@nosnilmot.com>
parents: 11257
diff changeset
114
95fa774d216d [gaim-migrate @ 13525]
Stu Tomlinson <stu@nosnilmot.com>
parents: 11257
diff changeset
115 return GAIM_CMD_RET_OK;
95fa774d216d [gaim-migrate @ 13525]
Stu Tomlinson <stu@nosnilmot.com>
parents: 11257
diff changeset
116 }
95fa774d216d [gaim-migrate @ 13525]
Stu Tomlinson <stu@nosnilmot.com>
parents: 11257
diff changeset
117
5309
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
118 static void
5564
187c740f2a4e [gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents: 5518
diff changeset
119 msn_act_id(GaimConnection *gc, const char *entry)
5309
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
120 {
8808
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
121 MsnCmdProc *cmdproc;
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
122 MsnSession *session;
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
123 GaimAccount *account;
9158
c30d81b4dd22 [gaim-migrate @ 9942]
Christian Hammond <chipx86@chipx86.com>
parents: 9092
diff changeset
124 const char *alias;
2086
424a40f12a6c [gaim-migrate @ 2096]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
125
8808
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
126 session = gc->proto_data;
9193
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
127 cmdproc = session->notification->cmdproc;
8808
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
128 account = gaim_connection_get_account(gc);
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
129
10069
7cbe12859d3a [gaim-migrate @ 11045]
Luke Schierer <lschiere@pidgin.im>
parents: 10068
diff changeset
130 if(entry && strlen(entry))
7cbe12859d3a [gaim-migrate @ 11045]
Luke Schierer <lschiere@pidgin.im>
parents: 10068
diff changeset
131 alias = gaim_url_encode(entry);
7cbe12859d3a [gaim-migrate @ 11045]
Luke Schierer <lschiere@pidgin.im>
parents: 10068
diff changeset
132 else
7cbe12859d3a [gaim-migrate @ 11045]
Luke Schierer <lschiere@pidgin.im>
parents: 10068
diff changeset
133 alias = "";
3171
d71c23e4d1c2 [gaim-migrate @ 3187]
Rob Flynn <gaim@robflynn.com>
parents: 3170
diff changeset
134
8333
85dbaac926a7 [gaim-migrate @ 9057]
Christian Hammond <chipx86@chipx86.com>
parents: 8298
diff changeset
135 if (strlen(alias) > BUDDY_ALIAS_MAXLEN)
85dbaac926a7 [gaim-migrate @ 9057]
Christian Hammond <chipx86@chipx86.com>
parents: 8298
diff changeset
136 {
5436
ad445074d239 [gaim-migrate @ 5818]
Christian Hammond <chipx86@chipx86.com>
parents: 5382
diff changeset
137 gaim_notify_error(gc, NULL,
ad445074d239 [gaim-migrate @ 5818]
Christian Hammond <chipx86@chipx86.com>
parents: 5382
diff changeset
138 _("Your new MSN friendly name is too long."), NULL);
2738
01f0497fe6c8 [gaim-migrate @ 2751]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2688
diff changeset
139 return;
01f0497fe6c8 [gaim-migrate @ 2751]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2688
diff changeset
140 }
01f0497fe6c8 [gaim-migrate @ 2751]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2688
diff changeset
141
8808
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
142 msn_cmdproc_send(cmdproc, "REA", "%s %s",
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
143 gaim_account_get_username(account),
10069
7cbe12859d3a [gaim-migrate @ 11045]
Luke Schierer <lschiere@pidgin.im>
parents: 10068
diff changeset
144 alias);
2086
424a40f12a6c [gaim-migrate @ 2096]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
145 }
424a40f12a6c [gaim-migrate @ 2096]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
146
5309
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
147 static void
5564
187c740f2a4e [gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents: 5518
diff changeset
148 msn_set_prp(GaimConnection *gc, const char *type, const char *entry)
5363
ebebc833cf77 [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
149 {
8808
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
150 MsnCmdProc *cmdproc;
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
151 MsnSession *session;
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
152
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
153 session = gc->proto_data;
9193
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
154 cmdproc = session->notification->cmdproc;
5363
ebebc833cf77 [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
155
ebebc833cf77 [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
156 if (entry == NULL || *entry == '\0')
8808
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
157 {
9158
c30d81b4dd22 [gaim-migrate @ 9942]
Christian Hammond <chipx86@chipx86.com>
parents: 9092
diff changeset
158 msn_cmdproc_send(cmdproc, "PRP", "%s", type);
8808
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
159 }
5363
ebebc833cf77 [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
160 else
8808
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
161 {
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
162 msn_cmdproc_send(cmdproc, "PRP", "%s %s", type,
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
163 gaim_url_encode(entry));
5363
ebebc833cf77 [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
164 }
ebebc833cf77 [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
165 }
ebebc833cf77 [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
166
ebebc833cf77 [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
167 static void
5564
187c740f2a4e [gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents: 5518
diff changeset
168 msn_set_home_phone_cb(GaimConnection *gc, const char *entry)
5363
ebebc833cf77 [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
169 {
5491
4bcae8503866 [gaim-migrate @ 5887]
Christian Hammond <chipx86@chipx86.com>
parents: 5481
diff changeset
170 msn_set_prp(gc, "PHH", entry);
5363
ebebc833cf77 [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
171 }
ebebc833cf77 [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
172
ebebc833cf77 [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
173 static void
5564
187c740f2a4e [gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents: 5518
diff changeset
174 msn_set_work_phone_cb(GaimConnection *gc, const char *entry)
5363
ebebc833cf77 [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
175 {
5491
4bcae8503866 [gaim-migrate @ 5887]
Christian Hammond <chipx86@chipx86.com>
parents: 5481
diff changeset
176 msn_set_prp(gc, "PHW", entry);
5363
ebebc833cf77 [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
177 }
ebebc833cf77 [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
178
ebebc833cf77 [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
179 static void
5564
187c740f2a4e [gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents: 5518
diff changeset
180 msn_set_mobile_phone_cb(GaimConnection *gc, const char *entry)
5363
ebebc833cf77 [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
181 {
5491
4bcae8503866 [gaim-migrate @ 5887]
Christian Hammond <chipx86@chipx86.com>
parents: 5481
diff changeset
182 msn_set_prp(gc, "PHM", entry);
5364
379beab3d157 [gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents: 5363
diff changeset
183 }
379beab3d157 [gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents: 5363
diff changeset
184
379beab3d157 [gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents: 5363
diff changeset
185 static void
5793
952710ac6635 [gaim-migrate @ 6218]
Christian Hammond <chipx86@chipx86.com>
parents: 5717
diff changeset
186 enable_msn_pages_cb(GaimConnection *gc)
5364
379beab3d157 [gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents: 5363
diff changeset
187 {
379beab3d157 [gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents: 5363
diff changeset
188 msn_set_prp(gc, "MOB", "Y");
5363
ebebc833cf77 [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
189 }
ebebc833cf77 [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
190
ebebc833cf77 [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
191 static void
5793
952710ac6635 [gaim-migrate @ 6218]
Christian Hammond <chipx86@chipx86.com>
parents: 5717
diff changeset
192 disable_msn_pages_cb(GaimConnection *gc)
5364
379beab3d157 [gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents: 5363
diff changeset
193 {
379beab3d157 [gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents: 5363
diff changeset
194 msn_set_prp(gc, "MOB", "N");
379beab3d157 [gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents: 5363
diff changeset
195 }
379beab3d157 [gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents: 5363
diff changeset
196
5369
a87818e9dc54 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
197 static void
8808
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
198 send_to_mobile(GaimConnection *gc, const char *who, const char *entry)
5369
a87818e9dc54 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
199 {
9193
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
200 MsnTransaction *trans;
8646
1e211dde3cae [gaim-migrate @ 9398]
Christian Hammond <chipx86@chipx86.com>
parents: 8595
diff changeset
201 MsnSession *session;
8808
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
202 MsnCmdProc *cmdproc;
5369
a87818e9dc54 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
203 MsnPage *page;
8646
1e211dde3cae [gaim-migrate @ 9398]
Christian Hammond <chipx86@chipx86.com>
parents: 8595
diff changeset
204 char *payload;
1e211dde3cae [gaim-migrate @ 9398]
Christian Hammond <chipx86@chipx86.com>
parents: 8595
diff changeset
205 size_t payload_len;
5369
a87818e9dc54 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
206
8808
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
207 session = gc->proto_data;
9193
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
208 cmdproc = session->notification->cmdproc;
5369
a87818e9dc54 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
209
a87818e9dc54 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
210 page = msn_page_new();
a87818e9dc54 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
211 msn_page_set_body(page, entry);
8646
1e211dde3cae [gaim-migrate @ 9398]
Christian Hammond <chipx86@chipx86.com>
parents: 8595
diff changeset
212
9092
9e5a709c30a8 [gaim-migrate @ 9869]
Christian Hammond <chipx86@chipx86.com>
parents: 9091
diff changeset
213 payload = msn_page_gen_payload(page, &payload_len);
8646
1e211dde3cae [gaim-migrate @ 9398]
Christian Hammond <chipx86@chipx86.com>
parents: 8595
diff changeset
214
10225
ecf3ce2e2ab1 [gaim-migrate @ 11357]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10116
diff changeset
215 trans = msn_transaction_new(cmdproc, "PGD", "%s 1 %d", who, payload_len);
5369
a87818e9dc54 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
216
8808
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
217 msn_transaction_set_payload(trans, payload, payload_len);
5369
a87818e9dc54 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
218
a87818e9dc54 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
219 msn_page_destroy(page);
a87818e9dc54 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
220
8808
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
221 msn_cmdproc_send_trans(cmdproc, trans);
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
222 }
5369
a87818e9dc54 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
223
8808
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
224 static void
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
225 send_to_mobile_cb(MsnMobileData *data, const char *entry)
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
226 {
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
227 send_to_mobile(data->gc, data->passport, entry);
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
228 g_free(data);
5369
a87818e9dc54 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
229 }
a87818e9dc54 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
230
5491
4bcae8503866 [gaim-migrate @ 5887]
Christian Hammond <chipx86@chipx86.com>
parents: 5481
diff changeset
231 static void
5793
952710ac6635 [gaim-migrate @ 6218]
Christian Hammond <chipx86@chipx86.com>
parents: 5717
diff changeset
232 close_mobile_page_cb(MsnMobileData *data, const char *entry)
5491
4bcae8503866 [gaim-migrate @ 5887]
Christian Hammond <chipx86@chipx86.com>
parents: 5481
diff changeset
233 {
4bcae8503866 [gaim-migrate @ 5887]
Christian Hammond <chipx86@chipx86.com>
parents: 5481
diff changeset
234 g_free(data);
4bcae8503866 [gaim-migrate @ 5887]
Christian Hammond <chipx86@chipx86.com>
parents: 5481
diff changeset
235 }
4bcae8503866 [gaim-migrate @ 5887]
Christian Hammond <chipx86@chipx86.com>
parents: 5481
diff changeset
236
5364
379beab3d157 [gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents: 5363
diff changeset
237 /* -- */
379beab3d157 [gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents: 5363
diff changeset
238
379beab3d157 [gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents: 5363
diff changeset
239 static void
9015
67421e0dc497 [gaim-migrate @ 9791]
Luke Schierer <lschiere@pidgin.im>
parents: 8993
diff changeset
240 msn_show_set_friendly_name(GaimPluginAction *action)
2086
424a40f12a6c [gaim-migrate @ 2096]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
241 {
9158
c30d81b4dd22 [gaim-migrate @ 9942]
Christian Hammond <chipx86@chipx86.com>
parents: 9092
diff changeset
242 GaimConnection *gc;
c30d81b4dd22 [gaim-migrate @ 9942]
Christian Hammond <chipx86@chipx86.com>
parents: 9092
diff changeset
243
c30d81b4dd22 [gaim-migrate @ 9942]
Christian Hammond <chipx86@chipx86.com>
parents: 9092
diff changeset
244 gc = (GaimConnection *) action->context;
c30d81b4dd22 [gaim-migrate @ 9942]
Christian Hammond <chipx86@chipx86.com>
parents: 9092
diff changeset
245
5491
4bcae8503866 [gaim-migrate @ 5887]
Christian Hammond <chipx86@chipx86.com>
parents: 5481
diff changeset
246 gaim_request_input(gc, NULL, _("Set your friendly name."),
4bcae8503866 [gaim-migrate @ 5887]
Christian Hammond <chipx86@chipx86.com>
parents: 5481
diff changeset
247 _("This is the name that other MSN buddies will "
4bcae8503866 [gaim-migrate @ 5887]
Christian Hammond <chipx86@chipx86.com>
parents: 5481
diff changeset
248 "see you as."),
8697
725413cc9fb9 [gaim-migrate @ 9450]
Mark Doliner <mark@kingant.net>
parents: 8691
diff changeset
249 gaim_connection_get_display_name(gc), FALSE, FALSE, NULL,
5481
084147a0d9e4 [gaim-migrate @ 5877]
Christian Hammond <chipx86@chipx86.com>
parents: 5436
diff changeset
250 _("OK"), G_CALLBACK(msn_act_id),
084147a0d9e4 [gaim-migrate @ 5877]
Christian Hammond <chipx86@chipx86.com>
parents: 5436
diff changeset
251 _("Cancel"), NULL, gc);
2086
424a40f12a6c [gaim-migrate @ 2096]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
252 }
424a40f12a6c [gaim-migrate @ 2096]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
253
5363
ebebc833cf77 [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
254 static void
9015
67421e0dc497 [gaim-migrate @ 9791]
Luke Schierer <lschiere@pidgin.im>
parents: 8993
diff changeset
255 msn_show_set_home_phone(GaimPluginAction *action)
5363
ebebc833cf77 [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
256 {
9158
c30d81b4dd22 [gaim-migrate @ 9942]
Christian Hammond <chipx86@chipx86.com>
parents: 9092
diff changeset
257 GaimConnection *gc;
c30d81b4dd22 [gaim-migrate @ 9942]
Christian Hammond <chipx86@chipx86.com>
parents: 9092
diff changeset
258 MsnSession *session;
c30d81b4dd22 [gaim-migrate @ 9942]
Christian Hammond <chipx86@chipx86.com>
parents: 9092
diff changeset
259
c30d81b4dd22 [gaim-migrate @ 9942]
Christian Hammond <chipx86@chipx86.com>
parents: 9092
diff changeset
260 gc = (GaimConnection *) action->context;
c30d81b4dd22 [gaim-migrate @ 9942]
Christian Hammond <chipx86@chipx86.com>
parents: 9092
diff changeset
261 session = gc->proto_data;
5363
ebebc833cf77 [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
262
5491
4bcae8503866 [gaim-migrate @ 5887]
Christian Hammond <chipx86@chipx86.com>
parents: 5481
diff changeset
263 gaim_request_input(gc, NULL, _("Set your home phone number."), NULL,
8697
725413cc9fb9 [gaim-migrate @ 9450]
Mark Doliner <mark@kingant.net>
parents: 8691
diff changeset
264 msn_user_get_home_phone(session->user), FALSE, FALSE, NULL,
5491
4bcae8503866 [gaim-migrate @ 5887]
Christian Hammond <chipx86@chipx86.com>
parents: 5481
diff changeset
265 _("OK"), G_CALLBACK(msn_set_home_phone_cb),
4bcae8503866 [gaim-migrate @ 5887]
Christian Hammond <chipx86@chipx86.com>
parents: 5481
diff changeset
266 _("Cancel"), NULL, gc);
5363
ebebc833cf77 [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
267 }
ebebc833cf77 [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
268
ebebc833cf77 [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
269 static void
9015
67421e0dc497 [gaim-migrate @ 9791]
Luke Schierer <lschiere@pidgin.im>
parents: 8993
diff changeset
270 msn_show_set_work_phone(GaimPluginAction *action)
5363
ebebc833cf77 [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
271 {
9158
c30d81b4dd22 [gaim-migrate @ 9942]
Christian Hammond <chipx86@chipx86.com>
parents: 9092
diff changeset
272 GaimConnection *gc;
c30d81b4dd22 [gaim-migrate @ 9942]
Christian Hammond <chipx86@chipx86.com>
parents: 9092
diff changeset
273 MsnSession *session;
c30d81b4dd22 [gaim-migrate @ 9942]
Christian Hammond <chipx86@chipx86.com>
parents: 9092
diff changeset
274
c30d81b4dd22 [gaim-migrate @ 9942]
Christian Hammond <chipx86@chipx86.com>
parents: 9092
diff changeset
275 gc = (GaimConnection *) action->context;
c30d81b4dd22 [gaim-migrate @ 9942]
Christian Hammond <chipx86@chipx86.com>
parents: 9092
diff changeset
276 session = gc->proto_data;
5363
ebebc833cf77 [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
277
5491
4bcae8503866 [gaim-migrate @ 5887]
Christian Hammond <chipx86@chipx86.com>
parents: 5481
diff changeset
278 gaim_request_input(gc, NULL, _("Set your work phone number."), NULL,
8697
725413cc9fb9 [gaim-migrate @ 9450]
Mark Doliner <mark@kingant.net>
parents: 8691
diff changeset
279 msn_user_get_work_phone(session->user), FALSE, FALSE, NULL,
5491
4bcae8503866 [gaim-migrate @ 5887]
Christian Hammond <chipx86@chipx86.com>
parents: 5481
diff changeset
280 _("OK"), G_CALLBACK(msn_set_work_phone_cb),
4bcae8503866 [gaim-migrate @ 5887]
Christian Hammond <chipx86@chipx86.com>
parents: 5481
diff changeset
281 _("Cancel"), NULL, gc);
5363
ebebc833cf77 [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
282 }
ebebc833cf77 [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
283
ebebc833cf77 [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
284 static void
9015
67421e0dc497 [gaim-migrate @ 9791]
Luke Schierer <lschiere@pidgin.im>
parents: 8993
diff changeset
285 msn_show_set_mobile_phone(GaimPluginAction *action)
5363
ebebc833cf77 [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
286 {
9158
c30d81b4dd22 [gaim-migrate @ 9942]
Christian Hammond <chipx86@chipx86.com>
parents: 9092
diff changeset
287 GaimConnection *gc;
c30d81b4dd22 [gaim-migrate @ 9942]
Christian Hammond <chipx86@chipx86.com>
parents: 9092
diff changeset
288 MsnSession *session;
c30d81b4dd22 [gaim-migrate @ 9942]
Christian Hammond <chipx86@chipx86.com>
parents: 9092
diff changeset
289
c30d81b4dd22 [gaim-migrate @ 9942]
Christian Hammond <chipx86@chipx86.com>
parents: 9092
diff changeset
290 gc = (GaimConnection *) action->context;
c30d81b4dd22 [gaim-migrate @ 9942]
Christian Hammond <chipx86@chipx86.com>
parents: 9092
diff changeset
291 session = gc->proto_data;
5363
ebebc833cf77 [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
292
5491
4bcae8503866 [gaim-migrate @ 5887]
Christian Hammond <chipx86@chipx86.com>
parents: 5481
diff changeset
293 gaim_request_input(gc, NULL, _("Set your mobile phone number."), NULL,
8697
725413cc9fb9 [gaim-migrate @ 9450]
Mark Doliner <mark@kingant.net>
parents: 8691
diff changeset
294 msn_user_get_mobile_phone(session->user), FALSE, FALSE, NULL,
5491
4bcae8503866 [gaim-migrate @ 5887]
Christian Hammond <chipx86@chipx86.com>
parents: 5481
diff changeset
295 _("OK"), G_CALLBACK(msn_set_mobile_phone_cb),
4bcae8503866 [gaim-migrate @ 5887]
Christian Hammond <chipx86@chipx86.com>
parents: 5481
diff changeset
296 _("Cancel"), NULL, gc);
5363
ebebc833cf77 [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
297 }
5309
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
298
5364
379beab3d157 [gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents: 5363
diff changeset
299 static void
9015
67421e0dc497 [gaim-migrate @ 9791]
Luke Schierer <lschiere@pidgin.im>
parents: 8993
diff changeset
300 msn_show_set_mobile_pages(GaimPluginAction *action)
5364
379beab3d157 [gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents: 5363
diff changeset
301 {
9158
c30d81b4dd22 [gaim-migrate @ 9942]
Christian Hammond <chipx86@chipx86.com>
parents: 9092
diff changeset
302 GaimConnection *gc;
c30d81b4dd22 [gaim-migrate @ 9942]
Christian Hammond <chipx86@chipx86.com>
parents: 9092
diff changeset
303
c30d81b4dd22 [gaim-migrate @ 9942]
Christian Hammond <chipx86@chipx86.com>
parents: 9092
diff changeset
304 gc = (GaimConnection *) action->context;
c30d81b4dd22 [gaim-migrate @ 9942]
Christian Hammond <chipx86@chipx86.com>
parents: 9092
diff changeset
305
5496
b7c0be69c749 [gaim-migrate @ 5892]
Christian Hammond <chipx86@chipx86.com>
parents: 5491
diff changeset
306 gaim_request_action(gc, NULL, _("Allow MSN Mobile pages?"),
9193
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
307 _("Do you want to allow or disallow people on "
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
308 "your buddy list to send you MSN Mobile pages "
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
309 "to your cell phone or other mobile device?"),
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
310 -1, gc, 3,
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
311 _("Allow"), G_CALLBACK(enable_msn_pages_cb),
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
312 _("Disallow"), G_CALLBACK(disable_msn_pages_cb),
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
313 _("Cancel"), NULL);
5364
379beab3d157 [gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents: 5363
diff changeset
314 }
379beab3d157 [gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents: 5363
diff changeset
315
5369
a87818e9dc54 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
316 static void
11321
95fa774d216d [gaim-migrate @ 13525]
Stu Tomlinson <stu@nosnilmot.com>
parents: 11257
diff changeset
317 msn_show_hotmail_inbox(GaimPluginAction *action)
95fa774d216d [gaim-migrate @ 13525]
Stu Tomlinson <stu@nosnilmot.com>
parents: 11257
diff changeset
318 {
95fa774d216d [gaim-migrate @ 13525]
Stu Tomlinson <stu@nosnilmot.com>
parents: 11257
diff changeset
319 GaimConnection *gc;
95fa774d216d [gaim-migrate @ 13525]
Stu Tomlinson <stu@nosnilmot.com>
parents: 11257
diff changeset
320 MsnSession *session;
95fa774d216d [gaim-migrate @ 13525]
Stu Tomlinson <stu@nosnilmot.com>
parents: 11257
diff changeset
321
95fa774d216d [gaim-migrate @ 13525]
Stu Tomlinson <stu@nosnilmot.com>
parents: 11257
diff changeset
322 gc = (GaimConnection *) action->context;
95fa774d216d [gaim-migrate @ 13525]
Stu Tomlinson <stu@nosnilmot.com>
parents: 11257
diff changeset
323 session = gc->proto_data;
95fa774d216d [gaim-migrate @ 13525]
Stu Tomlinson <stu@nosnilmot.com>
parents: 11257
diff changeset
324
95fa774d216d [gaim-migrate @ 13525]
Stu Tomlinson <stu@nosnilmot.com>
parents: 11257
diff changeset
325 if (session->passport_info.file == NULL)
95fa774d216d [gaim-migrate @ 13525]
Stu Tomlinson <stu@nosnilmot.com>
parents: 11257
diff changeset
326 {
95fa774d216d [gaim-migrate @ 13525]
Stu Tomlinson <stu@nosnilmot.com>
parents: 11257
diff changeset
327 gaim_notify_error(gc, NULL,
95fa774d216d [gaim-migrate @ 13525]
Stu Tomlinson <stu@nosnilmot.com>
parents: 11257
diff changeset
328 _("This Hotmail account may not be active."), NULL);
95fa774d216d [gaim-migrate @ 13525]
Stu Tomlinson <stu@nosnilmot.com>
parents: 11257
diff changeset
329 return;
95fa774d216d [gaim-migrate @ 13525]
Stu Tomlinson <stu@nosnilmot.com>
parents: 11257
diff changeset
330 }
95fa774d216d [gaim-migrate @ 13525]
Stu Tomlinson <stu@nosnilmot.com>
parents: 11257
diff changeset
331
95fa774d216d [gaim-migrate @ 13525]
Stu Tomlinson <stu@nosnilmot.com>
parents: 11257
diff changeset
332 gaim_notify_uri(gc, session->passport_info.file);
95fa774d216d [gaim-migrate @ 13525]
Stu Tomlinson <stu@nosnilmot.com>
parents: 11257
diff changeset
333 }
95fa774d216d [gaim-migrate @ 13525]
Stu Tomlinson <stu@nosnilmot.com>
parents: 11257
diff changeset
334
95fa774d216d [gaim-migrate @ 13525]
Stu Tomlinson <stu@nosnilmot.com>
parents: 11257
diff changeset
335 static void
9030
7ab20f829190 [gaim-migrate @ 9806]
Mark Doliner <mark@kingant.net>
parents: 9015
diff changeset
336 show_send_to_mobile_cb(GaimBlistNode *node, gpointer ignored)
5369
a87818e9dc54 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
337 {
9030
7ab20f829190 [gaim-migrate @ 9806]
Mark Doliner <mark@kingant.net>
parents: 9015
diff changeset
338 GaimBuddy *buddy;
7ab20f829190 [gaim-migrate @ 9806]
Mark Doliner <mark@kingant.net>
parents: 9015
diff changeset
339 GaimConnection *gc;
9042
0ed22fac1ec1 [gaim-migrate @ 9818]
Luke Schierer <lschiere@pidgin.im>
parents: 9041
diff changeset
340 MsnSession *session;
0ed22fac1ec1 [gaim-migrate @ 9818]
Luke Schierer <lschiere@pidgin.im>
parents: 9041
diff changeset
341 MsnMobileData *data;
9198
ab6636c5a136 [gaim-migrate @ 9993]
Christian Hammond <chipx86@chipx86.com>
parents: 9193
diff changeset
342
9030
7ab20f829190 [gaim-migrate @ 9806]
Mark Doliner <mark@kingant.net>
parents: 9015
diff changeset
343 g_return_if_fail(GAIM_BLIST_NODE_IS_BUDDY(node));
7ab20f829190 [gaim-migrate @ 9806]
Mark Doliner <mark@kingant.net>
parents: 9015
diff changeset
344
7ab20f829190 [gaim-migrate @ 9806]
Mark Doliner <mark@kingant.net>
parents: 9015
diff changeset
345 buddy = (GaimBuddy *) node;
7ab20f829190 [gaim-migrate @ 9806]
Mark Doliner <mark@kingant.net>
parents: 9015
diff changeset
346 gc = gaim_account_get_connection(buddy->account);
7ab20f829190 [gaim-migrate @ 9806]
Mark Doliner <mark@kingant.net>
parents: 9015
diff changeset
347
8808
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
348 session = gc->proto_data;
5369
a87818e9dc54 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
349
a87818e9dc54 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
350 data = g_new0(MsnMobileData, 1);
a87818e9dc54 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
351 data->gc = gc;
9030
7ab20f829190 [gaim-migrate @ 9806]
Mark Doliner <mark@kingant.net>
parents: 9015
diff changeset
352 data->passport = buddy->name;
5369
a87818e9dc54 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
353
5491
4bcae8503866 [gaim-migrate @ 5887]
Christian Hammond <chipx86@chipx86.com>
parents: 5481
diff changeset
354 gaim_request_input(gc, NULL, _("Send a mobile message."), NULL,
9193
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
355 NULL, TRUE, FALSE, NULL,
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
356 _("Page"), G_CALLBACK(send_to_mobile_cb),
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
357 _("Close"), G_CALLBACK(close_mobile_page_cb),
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
358 data);
5369
a87818e9dc54 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
359 }
a87818e9dc54 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
360
6148
82e7eaa67406 [gaim-migrate @ 6622]
Christian Hammond <chipx86@chipx86.com>
parents: 6059
diff changeset
361 static void
9030
7ab20f829190 [gaim-migrate @ 9806]
Mark Doliner <mark@kingant.net>
parents: 9015
diff changeset
362 initiate_chat_cb(GaimBlistNode *node, gpointer data)
6148
82e7eaa67406 [gaim-migrate @ 6622]
Christian Hammond <chipx86@chipx86.com>
parents: 6059
diff changeset
363 {
9030
7ab20f829190 [gaim-migrate @ 9806]
Mark Doliner <mark@kingant.net>
parents: 9015
diff changeset
364 GaimBuddy *buddy;
7ab20f829190 [gaim-migrate @ 9806]
Mark Doliner <mark@kingant.net>
parents: 9015
diff changeset
365 GaimConnection *gc;
7ab20f829190 [gaim-migrate @ 9806]
Mark Doliner <mark@kingant.net>
parents: 9015
diff changeset
366
8808
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
367 MsnSession *session;
6148
82e7eaa67406 [gaim-migrate @ 6622]
Christian Hammond <chipx86@chipx86.com>
parents: 6059
diff changeset
368 MsnSwitchBoard *swboard;
9193
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
369
9030
7ab20f829190 [gaim-migrate @ 9806]
Mark Doliner <mark@kingant.net>
parents: 9015
diff changeset
370 g_return_if_fail(GAIM_BLIST_NODE_IS_BUDDY(node));
6148
82e7eaa67406 [gaim-migrate @ 6622]
Christian Hammond <chipx86@chipx86.com>
parents: 6059
diff changeset
371
9030
7ab20f829190 [gaim-migrate @ 9806]
Mark Doliner <mark@kingant.net>
parents: 9015
diff changeset
372 buddy = (GaimBuddy *) node;
7ab20f829190 [gaim-migrate @ 9806]
Mark Doliner <mark@kingant.net>
parents: 9015
diff changeset
373 gc = gaim_account_get_connection(buddy->account);
7ab20f829190 [gaim-migrate @ 9806]
Mark Doliner <mark@kingant.net>
parents: 9015
diff changeset
374
8808
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
375 session = gc->proto_data;
9193
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
376
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
377 swboard = msn_switchboard_new(session);
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
378 msn_switchboard_request(swboard);
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
379 msn_switchboard_request_add_user(swboard, buddy->name);
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
380
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
381 /* TODO: This might move somewhere else, after USR might be */
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
382 swboard->chat_id = session->conv_seq++;
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
383 swboard->conv = serv_got_joined_chat(gc, swboard->chat_id, "MSN Chat");
10773
888d4c328be5 [gaim-migrate @ 12382]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10738
diff changeset
384 swboard->flag = MSN_SB_FLAG_IM;
9363
997c28571364 [gaim-migrate @ 10171]
Christian Hammond <chipx86@chipx86.com>
parents: 9318
diff changeset
385
997c28571364 [gaim-migrate @ 10171]
Christian Hammond <chipx86@chipx86.com>
parents: 9318
diff changeset
386 gaim_conv_chat_add_user(GAIM_CONV_CHAT(swboard->conv),
9846
c28d5b45624e [gaim-migrate @ 10724]
Mark Doliner <mark@kingant.net>
parents: 9797
diff changeset
387 gaim_account_get_username(buddy->account), NULL, GAIM_CBFLAGS_NONE, TRUE);
9193
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
388 }
6148
82e7eaa67406 [gaim-migrate @ 6622]
Christian Hammond <chipx86@chipx86.com>
parents: 6059
diff changeset
389
9193
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
390 static void
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
391 t_msn_xfer_init(GaimXfer *xfer)
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
392 {
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
393 MsnSlpLink *slplink;
10102
0f1c25270121 [gaim-migrate @ 11127]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10093
diff changeset
394 const char *filename;
0f1c25270121 [gaim-migrate @ 11127]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10093
diff changeset
395 FILE *fp;
0f1c25270121 [gaim-migrate @ 11127]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10093
diff changeset
396
0f1c25270121 [gaim-migrate @ 11127]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10093
diff changeset
397 filename = gaim_xfer_get_local_filename(xfer);
6148
82e7eaa67406 [gaim-migrate @ 6622]
Christian Hammond <chipx86@chipx86.com>
parents: 6059
diff changeset
398
9193
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
399 slplink = xfer->data;
6148
82e7eaa67406 [gaim-migrate @ 6622]
Christian Hammond <chipx86@chipx86.com>
parents: 6059
diff changeset
400
10589
0f7452b1f777 [gaim-migrate @ 11994]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 10568
diff changeset
401 if ((fp = g_fopen(filename, "rb")) == NULL)
10102
0f1c25270121 [gaim-migrate @ 11127]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10093
diff changeset
402 {
0f1c25270121 [gaim-migrate @ 11127]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10093
diff changeset
403 GaimAccount *account;
0f1c25270121 [gaim-migrate @ 11127]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10093
diff changeset
404 const char *who;
0f1c25270121 [gaim-migrate @ 11127]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10093
diff changeset
405 char *msg;
0f1c25270121 [gaim-migrate @ 11127]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10093
diff changeset
406
0f1c25270121 [gaim-migrate @ 11127]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10093
diff changeset
407 account = slplink->session->account;
0f1c25270121 [gaim-migrate @ 11127]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10093
diff changeset
408 who = slplink->remote_user;
0f1c25270121 [gaim-migrate @ 11127]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10093
diff changeset
409
0f1c25270121 [gaim-migrate @ 11127]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10093
diff changeset
410 msg = g_strdup_printf(_("Error reading %s: \n%s.\n"),
0f1c25270121 [gaim-migrate @ 11127]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10093
diff changeset
411 filename, strerror(errno));
10654
f2e86683cafc [gaim-migrate @ 12182]
Mark Doliner <mark@kingant.net>
parents: 10646
diff changeset
412 gaim_xfer_error(gaim_xfer_get_type(xfer), account, xfer->who, msg);
10102
0f1c25270121 [gaim-migrate @ 11127]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10093
diff changeset
413 gaim_xfer_cancel_local(xfer);
0f1c25270121 [gaim-migrate @ 11127]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10093
diff changeset
414 g_free(msg);
0f1c25270121 [gaim-migrate @ 11127]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10093
diff changeset
415
0f1c25270121 [gaim-migrate @ 11127]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10093
diff changeset
416 return;
0f1c25270121 [gaim-migrate @ 11127]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10093
diff changeset
417 }
0f1c25270121 [gaim-migrate @ 11127]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10093
diff changeset
418 fclose(fp);
0f1c25270121 [gaim-migrate @ 11127]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10093
diff changeset
419
9193
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
420 msn_slplink_request_ft(slplink, xfer);
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
421 }
6148
82e7eaa67406 [gaim-migrate @ 6622]
Christian Hammond <chipx86@chipx86.com>
parents: 6059
diff changeset
422
12143
cbebda5f019c [gaim-migrate @ 14444]
Richard Laager <rlaager@wiktel.com>
parents: 11992
diff changeset
423 static GaimXfer*
cbebda5f019c [gaim-migrate @ 14444]
Richard Laager <rlaager@wiktel.com>
parents: 11992
diff changeset
424 msn_new_xfer(GaimConnection *gc, const char *who)
9193
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
425 {
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
426 MsnSession *session;
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
427 MsnSlpLink *slplink;
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
428 GaimXfer *xfer;
12161
58685e2d472b [gaim-migrate @ 14462]
Stu Tomlinson <stu@nosnilmot.com>
parents: 12143
diff changeset
429
9193
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
430 session = gc->proto_data;
12161
58685e2d472b [gaim-migrate @ 14462]
Stu Tomlinson <stu@nosnilmot.com>
parents: 12143
diff changeset
431
9466
d27156c9c876 [gaim-migrate @ 10291]
Luke Schierer <lschiere@pidgin.im>
parents: 9363
diff changeset
432 xfer = gaim_xfer_new(gc->account, GAIM_XFER_SEND, who);
12161
58685e2d472b [gaim-migrate @ 14462]
Stu Tomlinson <stu@nosnilmot.com>
parents: 12143
diff changeset
433
12143
cbebda5f019c [gaim-migrate @ 14444]
Richard Laager <rlaager@wiktel.com>
parents: 11992
diff changeset
434 slplink = msn_session_get_slplink(session, who);
12161
58685e2d472b [gaim-migrate @ 14462]
Stu Tomlinson <stu@nosnilmot.com>
parents: 12143
diff changeset
435
12143
cbebda5f019c [gaim-migrate @ 14444]
Richard Laager <rlaager@wiktel.com>
parents: 11992
diff changeset
436 xfer->data = slplink;
12161
58685e2d472b [gaim-migrate @ 14462]
Stu Tomlinson <stu@nosnilmot.com>
parents: 12143
diff changeset
437
58685e2d472b [gaim-migrate @ 14462]
Stu Tomlinson <stu@nosnilmot.com>
parents: 12143
diff changeset
438 gaim_xfer_set_init_fnc(xfer, t_msn_xfer_init);
58685e2d472b [gaim-migrate @ 14462]
Stu Tomlinson <stu@nosnilmot.com>
parents: 12143
diff changeset
439
12143
cbebda5f019c [gaim-migrate @ 14444]
Richard Laager <rlaager@wiktel.com>
parents: 11992
diff changeset
440 return xfer;
cbebda5f019c [gaim-migrate @ 14444]
Richard Laager <rlaager@wiktel.com>
parents: 11992
diff changeset
441 }
6148
82e7eaa67406 [gaim-migrate @ 6622]
Christian Hammond <chipx86@chipx86.com>
parents: 6059
diff changeset
442
12143
cbebda5f019c [gaim-migrate @ 14444]
Richard Laager <rlaager@wiktel.com>
parents: 11992
diff changeset
443 static void
cbebda5f019c [gaim-migrate @ 14444]
Richard Laager <rlaager@wiktel.com>
parents: 11992
diff changeset
444 msn_send_file(GaimConnection *gc, const char *who, const char *file)
cbebda5f019c [gaim-migrate @ 14444]
Richard Laager <rlaager@wiktel.com>
parents: 11992
diff changeset
445 {
cbebda5f019c [gaim-migrate @ 14444]
Richard Laager <rlaager@wiktel.com>
parents: 11992
diff changeset
446 GaimXfer *xfer = msn_new_xfer(gc, who);
9193
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
447
9466
d27156c9c876 [gaim-migrate @ 10291]
Luke Schierer <lschiere@pidgin.im>
parents: 9363
diff changeset
448 if (file)
d27156c9c876 [gaim-migrate @ 10291]
Luke Schierer <lschiere@pidgin.im>
parents: 9363
diff changeset
449 gaim_xfer_request_accepted(xfer, file);
d27156c9c876 [gaim-migrate @ 10291]
Luke Schierer <lschiere@pidgin.im>
parents: 9363
diff changeset
450 else
d27156c9c876 [gaim-migrate @ 10291]
Luke Schierer <lschiere@pidgin.im>
parents: 9363
diff changeset
451 gaim_xfer_request(xfer);
6148
82e7eaa67406 [gaim-migrate @ 6622]
Christian Hammond <chipx86@chipx86.com>
parents: 6059
diff changeset
452 }
5369
a87818e9dc54 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
453
10116
9f358a718f38 [gaim-migrate @ 11153]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10102
diff changeset
454 static gboolean
9f358a718f38 [gaim-migrate @ 11153]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10102
diff changeset
455 msn_can_receive_file(GaimConnection *gc, const char *who)
9f358a718f38 [gaim-migrate @ 11153]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10102
diff changeset
456 {
9f358a718f38 [gaim-migrate @ 11153]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10102
diff changeset
457 GaimAccount *account;
9f358a718f38 [gaim-migrate @ 11153]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10102
diff changeset
458 char *normal;
9f358a718f38 [gaim-migrate @ 11153]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10102
diff changeset
459 gboolean ret;
9f358a718f38 [gaim-migrate @ 11153]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10102
diff changeset
460
9f358a718f38 [gaim-migrate @ 11153]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10102
diff changeset
461 account = gaim_connection_get_account(gc);
9f358a718f38 [gaim-migrate @ 11153]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10102
diff changeset
462
9f358a718f38 [gaim-migrate @ 11153]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10102
diff changeset
463 normal = g_strdup(msn_normalize(account, gaim_account_get_username(account)));
9f358a718f38 [gaim-migrate @ 11153]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10102
diff changeset
464
9f358a718f38 [gaim-migrate @ 11153]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10102
diff changeset
465 ret = strcmp(normal, msn_normalize(account, who));
9f358a718f38 [gaim-migrate @ 11153]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10102
diff changeset
466
9f358a718f38 [gaim-migrate @ 11153]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10102
diff changeset
467 g_free(normal);
9f358a718f38 [gaim-migrate @ 11153]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10102
diff changeset
468
9f358a718f38 [gaim-migrate @ 11153]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10102
diff changeset
469 return ret;
9f358a718f38 [gaim-migrate @ 11153]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10102
diff changeset
470 }
9f358a718f38 [gaim-migrate @ 11153]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10102
diff changeset
471
5309
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
472 /**************************************************************************
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
473 * Protocol Plugin ops
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
474 **************************************************************************/
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
475
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
476 static const char *
6695
0c5637b5462e [gaim-migrate @ 7221]
Nathan Walp <nwalp@pidgin.im>
parents: 6657
diff changeset
477 msn_list_icon(GaimAccount *a, GaimBuddy *b)
5309
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
478 {
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
479 return "msn";
2993
7239a392486c [gaim-migrate @ 3006]
Rob Flynn <gaim@robflynn.com>
parents: 2970
diff changeset
480 }
7239a392486c [gaim-migrate @ 3006]
Rob Flynn <gaim@robflynn.com>
parents: 2970
diff changeset
481
5309
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
482 static void
9953
d908907d9441 [gaim-migrate @ 10849]
Nathan Walp <nwalp@pidgin.im>
parents: 9951
diff changeset
483 msn_list_emblems(GaimBuddy *b, const char **se, const char **sw,
d908907d9441 [gaim-migrate @ 10849]
Nathan Walp <nwalp@pidgin.im>
parents: 9951
diff changeset
484 const char **nw, const char **ne)
2086
424a40f12a6c [gaim-migrate @ 2096]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
485 {
5372
fa0217bec87e [gaim-migrate @ 5748]
Christian Hammond <chipx86@chipx86.com>
parents: 5369
diff changeset
486 MsnUser *user;
9967
2f153f8cdf81 [gaim-migrate @ 10877]
Luke Schierer <lschiere@pidgin.im>
parents: 9953
diff changeset
487 GaimPresence *presence;
9953
d908907d9441 [gaim-migrate @ 10849]
Nathan Walp <nwalp@pidgin.im>
parents: 9951
diff changeset
488 const char *emblems[4] = { NULL, NULL, NULL, NULL };
10068
f948913f3c33 [gaim-migrate @ 11044]
Luke Schierer <lschiere@pidgin.im>
parents: 10063
diff changeset
489 int i = 0;
5361
953aa05279f4 [gaim-migrate @ 5737]
Christian Hammond <chipx86@chipx86.com>
parents: 5351
diff changeset
490
5372
fa0217bec87e [gaim-migrate @ 5748]
Christian Hammond <chipx86@chipx86.com>
parents: 5369
diff changeset
491 user = b->proto_data;
9967
2f153f8cdf81 [gaim-migrate @ 10877]
Luke Schierer <lschiere@pidgin.im>
parents: 9953
diff changeset
492 presence = gaim_buddy_get_presence(b);
5372
fa0217bec87e [gaim-migrate @ 5748]
Christian Hammond <chipx86@chipx86.com>
parents: 5369
diff changeset
493
9967
2f153f8cdf81 [gaim-migrate @ 10877]
Luke Schierer <lschiere@pidgin.im>
parents: 9953
diff changeset
494 if (!gaim_presence_is_online(presence))
10068
f948913f3c33 [gaim-migrate @ 11044]
Luke Schierer <lschiere@pidgin.im>
parents: 10063
diff changeset
495 emblems[i++] = "offline";
9967
2f153f8cdf81 [gaim-migrate @ 10877]
Luke Schierer <lschiere@pidgin.im>
parents: 9953
diff changeset
496 else if (gaim_presence_is_status_active(presence, "busy") ||
2f153f8cdf81 [gaim-migrate @ 10877]
Luke Schierer <lschiere@pidgin.im>
parents: 9953
diff changeset
497 gaim_presence_is_status_active(presence, "phone"))
5361
953aa05279f4 [gaim-migrate @ 5737]
Christian Hammond <chipx86@chipx86.com>
parents: 5351
diff changeset
498 emblems[i++] = "occupied";
10451
92d4a25fd33c [gaim-migrate @ 11717]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10403
diff changeset
499 else if (!gaim_presence_is_available(presence))
5361
953aa05279f4 [gaim-migrate @ 5737]
Christian Hammond <chipx86@chipx86.com>
parents: 5351
diff changeset
500 emblems[i++] = "away";
953aa05279f4 [gaim-migrate @ 5737]
Christian Hammond <chipx86@chipx86.com>
parents: 5351
diff changeset
501
10068
f948913f3c33 [gaim-migrate @ 11044]
Luke Schierer <lschiere@pidgin.im>
parents: 10063
diff changeset
502 if (user == NULL)
f948913f3c33 [gaim-migrate @ 11044]
Luke Schierer <lschiere@pidgin.im>
parents: 10063
diff changeset
503 {
f948913f3c33 [gaim-migrate @ 11044]
Luke Schierer <lschiere@pidgin.im>
parents: 10063
diff changeset
504 emblems[0] = "offline";
f948913f3c33 [gaim-migrate @ 11044]
Luke Schierer <lschiere@pidgin.im>
parents: 10063
diff changeset
505 }
10275
d9468bd22b7c [gaim-migrate @ 11428]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10274
diff changeset
506 else
d9468bd22b7c [gaim-migrate @ 11428]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10274
diff changeset
507 {
d9468bd22b7c [gaim-migrate @ 11428]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10274
diff changeset
508 if (user->mobile)
d9468bd22b7c [gaim-migrate @ 11428]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10274
diff changeset
509 emblems[i++] = "wireless";
d9468bd22b7c [gaim-migrate @ 11428]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10274
diff changeset
510 if (!(user->list_op & (1 << MSN_LIST_RL)))
d9468bd22b7c [gaim-migrate @ 11428]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10274
diff changeset
511 emblems[i++] = "nr";
d9468bd22b7c [gaim-migrate @ 11428]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10274
diff changeset
512 }
10068
f948913f3c33 [gaim-migrate @ 11044]
Luke Schierer <lschiere@pidgin.im>
parents: 10063
diff changeset
513
5361
953aa05279f4 [gaim-migrate @ 5737]
Christian Hammond <chipx86@chipx86.com>
parents: 5351
diff changeset
514 *se = emblems[0];
953aa05279f4 [gaim-migrate @ 5737]
Christian Hammond <chipx86@chipx86.com>
parents: 5351
diff changeset
515 *sw = emblems[1];
953aa05279f4 [gaim-migrate @ 5737]
Christian Hammond <chipx86@chipx86.com>
parents: 5351
diff changeset
516 *nw = emblems[2];
953aa05279f4 [gaim-migrate @ 5737]
Christian Hammond <chipx86@chipx86.com>
parents: 5351
diff changeset
517 *ne = emblems[3];
2086
424a40f12a6c [gaim-migrate @ 2096]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
518 }
424a40f12a6c [gaim-migrate @ 2096]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
519
5309
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
520 static char *
9951
42cdec4f639b [gaim-migrate @ 10847]
Nathan Walp <nwalp@pidgin.im>
parents: 9943
diff changeset
521 msn_status_text(GaimBuddy *buddy)
2086
424a40f12a6c [gaim-migrate @ 2096]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
522 {
10044
86a6d78b070b [gaim-migrate @ 11003]
Luke Schierer <lschiere@pidgin.im>
parents: 9967
diff changeset
523 GaimPresence *presence;
86a6d78b070b [gaim-migrate @ 11003]
Luke Schierer <lschiere@pidgin.im>
parents: 9967
diff changeset
524 GaimStatus *status;
86a6d78b070b [gaim-migrate @ 11003]
Luke Schierer <lschiere@pidgin.im>
parents: 9967
diff changeset
525
86a6d78b070b [gaim-migrate @ 11003]
Luke Schierer <lschiere@pidgin.im>
parents: 9967
diff changeset
526 presence = gaim_buddy_get_presence(buddy);
86a6d78b070b [gaim-migrate @ 11003]
Luke Schierer <lschiere@pidgin.im>
parents: 9967
diff changeset
527 status = gaim_presence_get_active_status(presence);
9951
42cdec4f639b [gaim-migrate @ 10847]
Nathan Walp <nwalp@pidgin.im>
parents: 9943
diff changeset
528
10057
5d2a08d82e7a [gaim-migrate @ 11022]
Luke Schierer <lschiere@pidgin.im>
parents: 10049
diff changeset
529 if (!gaim_presence_is_available(presence) && !gaim_presence_is_idle(presence))
5d2a08d82e7a [gaim-migrate @ 11022]
Luke Schierer <lschiere@pidgin.im>
parents: 10049
diff changeset
530 {
5d2a08d82e7a [gaim-migrate @ 11022]
Luke Schierer <lschiere@pidgin.im>
parents: 10049
diff changeset
531 return g_strdup(gaim_status_get_name(status));
5d2a08d82e7a [gaim-migrate @ 11022]
Luke Schierer <lschiere@pidgin.im>
parents: 10049
diff changeset
532 }
5d2a08d82e7a [gaim-migrate @ 11022]
Luke Schierer <lschiere@pidgin.im>
parents: 10049
diff changeset
533
5d2a08d82e7a [gaim-migrate @ 11022]
Luke Schierer <lschiere@pidgin.im>
parents: 10049
diff changeset
534 return NULL;
5d2a08d82e7a [gaim-migrate @ 11022]
Luke Schierer <lschiere@pidgin.im>
parents: 10049
diff changeset
535 }
5d2a08d82e7a [gaim-migrate @ 11022]
Luke Schierer <lschiere@pidgin.im>
parents: 10049
diff changeset
536
12970
ec9b92104904 [gaim-migrate @ 15323]
Richard Laager <rlaager@wiktel.com>
parents: 12948
diff changeset
537 static void
ec9b92104904 [gaim-migrate @ 15323]
Richard Laager <rlaager@wiktel.com>
parents: 12948
diff changeset
538 msn_tooltip_text(GaimBuddy *buddy, GString *str, gboolean full)
10057
5d2a08d82e7a [gaim-migrate @ 11022]
Luke Schierer <lschiere@pidgin.im>
parents: 10049
diff changeset
539 {
5d2a08d82e7a [gaim-migrate @ 11022]
Luke Schierer <lschiere@pidgin.im>
parents: 10049
diff changeset
540 MsnUser *user;
5d2a08d82e7a [gaim-migrate @ 11022]
Luke Schierer <lschiere@pidgin.im>
parents: 10049
diff changeset
541 GaimPresence *presence = gaim_buddy_get_presence(buddy);
5d2a08d82e7a [gaim-migrate @ 11022]
Luke Schierer <lschiere@pidgin.im>
parents: 10049
diff changeset
542 GaimStatus *status = gaim_presence_get_active_status(presence);
5d2a08d82e7a [gaim-migrate @ 11022]
Luke Schierer <lschiere@pidgin.im>
parents: 10049
diff changeset
543
5d2a08d82e7a [gaim-migrate @ 11022]
Luke Schierer <lschiere@pidgin.im>
parents: 10049
diff changeset
544 user = buddy->proto_data;
5d2a08d82e7a [gaim-migrate @ 11022]
Luke Schierer <lschiere@pidgin.im>
parents: 10049
diff changeset
545
5d2a08d82e7a [gaim-migrate @ 11022]
Luke Schierer <lschiere@pidgin.im>
parents: 10049
diff changeset
546 if (gaim_presence_is_online(presence))
10044
86a6d78b070b [gaim-migrate @ 11003]
Luke Schierer <lschiere@pidgin.im>
parents: 9967
diff changeset
547 {
12970
ec9b92104904 [gaim-migrate @ 15323]
Richard Laager <rlaager@wiktel.com>
parents: 12948
diff changeset
548 g_string_append_printf(str, _("\n<b>%s:</b> %s"), _("Status"),
10057
5d2a08d82e7a [gaim-migrate @ 11022]
Luke Schierer <lschiere@pidgin.im>
parents: 10049
diff changeset
549 gaim_presence_is_idle(presence) ?
5d2a08d82e7a [gaim-migrate @ 11022]
Luke Schierer <lschiere@pidgin.im>
parents: 10049
diff changeset
550 _("Idle") : gaim_status_get_name(status));
10044
86a6d78b070b [gaim-migrate @ 11003]
Luke Schierer <lschiere@pidgin.im>
parents: 9967
diff changeset
551 }
2086
424a40f12a6c [gaim-migrate @ 2096]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
552
12948
563fb4f1e9fc [gaim-migrate @ 15301]
Richard Laager <rlaager@wiktel.com>
parents: 12943
diff changeset
553 if (full && user)
10093
9d839c9f6c2d [gaim-migrate @ 11111]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10069
diff changeset
554 {
12970
ec9b92104904 [gaim-migrate @ 15323]
Richard Laager <rlaager@wiktel.com>
parents: 12948
diff changeset
555 g_string_append_printf(str, _("\n<b>%s:</b> %s"), _("Has you"),
10093
9d839c9f6c2d [gaim-migrate @ 11111]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10069
diff changeset
556 (user->list_op & (1 << MSN_LIST_RL)) ?
9d839c9f6c2d [gaim-migrate @ 11111]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10069
diff changeset
557 _("Yes") : _("No"));
12948
563fb4f1e9fc [gaim-migrate @ 15301]
Richard Laager <rlaager@wiktel.com>
parents: 12943
diff changeset
558
563fb4f1e9fc [gaim-migrate @ 15301]
Richard Laager <rlaager@wiktel.com>
parents: 12943
diff changeset
559 /* XXX: This is being shown in non-full tooltips because the
563fb4f1e9fc [gaim-migrate @ 15301]
Richard Laager <rlaager@wiktel.com>
parents: 12943
diff changeset
560 * XXX: blocked icon overlay isn't always accurate for MSN.
563fb4f1e9fc [gaim-migrate @ 15301]
Richard Laager <rlaager@wiktel.com>
parents: 12943
diff changeset
561 * XXX: This can die as soon as gaim_privacy_check() knows that
563fb4f1e9fc [gaim-migrate @ 15301]
Richard Laager <rlaager@wiktel.com>
parents: 12943
diff changeset
562 * XXX: this prpl always honors both the allow and deny lists. */
563fb4f1e9fc [gaim-migrate @ 15301]
Richard Laager <rlaager@wiktel.com>
parents: 12943
diff changeset
563 if (user)
12970
ec9b92104904 [gaim-migrate @ 15323]
Richard Laager <rlaager@wiktel.com>
parents: 12948
diff changeset
564 g_string_append_printf(str, _("\n<b>%s:</b> %s"), _("Blocked"),
10275
d9468bd22b7c [gaim-migrate @ 11428]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10274
diff changeset
565 (user->list_op & (1 << MSN_LIST_BL)) ?
d9468bd22b7c [gaim-migrate @ 11428]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10274
diff changeset
566 _("Yes") : _("No"));
10093
9d839c9f6c2d [gaim-migrate @ 11111]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10069
diff changeset
567 }
2086
424a40f12a6c [gaim-migrate @ 2096]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
568 }
424a40f12a6c [gaim-migrate @ 2096]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
569
5309
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
570 static GList *
9951
42cdec4f639b [gaim-migrate @ 10847]
Nathan Walp <nwalp@pidgin.im>
parents: 9943
diff changeset
571 msn_status_types(GaimAccount *account)
2086
424a40f12a6c [gaim-migrate @ 2096]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
572 {
9967
2f153f8cdf81 [gaim-migrate @ 10877]
Luke Schierer <lschiere@pidgin.im>
parents: 9953
diff changeset
573 GaimStatusType *status;
9951
42cdec4f639b [gaim-migrate @ 10847]
Nathan Walp <nwalp@pidgin.im>
parents: 9943
diff changeset
574 GList *types = NULL;
42cdec4f639b [gaim-migrate @ 10847]
Nathan Walp <nwalp@pidgin.im>
parents: 9943
diff changeset
575
9967
2f153f8cdf81 [gaim-migrate @ 10877]
Luke Schierer <lschiere@pidgin.im>
parents: 9953
diff changeset
576 status = gaim_status_type_new_full(GAIM_STATUS_AVAILABLE,
12595
3169cd6727ad [gaim-migrate @ 14925]
Richard Laager <rlaager@wiktel.com>
parents: 12489
diff changeset
577 NULL, NULL, FALSE, TRUE, FALSE);
9967
2f153f8cdf81 [gaim-migrate @ 10877]
Luke Schierer <lschiere@pidgin.im>
parents: 9953
diff changeset
578 types = g_list_append(types, status);
2086
424a40f12a6c [gaim-migrate @ 2096]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
579
12595
3169cd6727ad [gaim-migrate @ 14925]
Richard Laager <rlaager@wiktel.com>
parents: 12489
diff changeset
580 status = gaim_status_type_new_full(GAIM_STATUS_AWAY,
3169cd6727ad [gaim-migrate @ 14925]
Richard Laager <rlaager@wiktel.com>
parents: 12489
diff changeset
581 NULL, NULL, FALSE, TRUE, FALSE);
9967
2f153f8cdf81 [gaim-migrate @ 10877]
Luke Schierer <lschiere@pidgin.im>
parents: 9953
diff changeset
582 types = g_list_append(types, status);
2f153f8cdf81 [gaim-migrate @ 10877]
Luke Schierer <lschiere@pidgin.im>
parents: 9953
diff changeset
583
12595
3169cd6727ad [gaim-migrate @ 14925]
Richard Laager <rlaager@wiktel.com>
parents: 12489
diff changeset
584 status = gaim_status_type_new_full(GAIM_STATUS_AWAY,
3169cd6727ad [gaim-migrate @ 14925]
Richard Laager <rlaager@wiktel.com>
parents: 12489
diff changeset
585 "brb", _("Be Right Back"), FALSE, TRUE, FALSE);
9967
2f153f8cdf81 [gaim-migrate @ 10877]
Luke Schierer <lschiere@pidgin.im>
parents: 9953
diff changeset
586 types = g_list_append(types, status);
2f153f8cdf81 [gaim-migrate @ 10877]
Luke Schierer <lschiere@pidgin.im>
parents: 9953
diff changeset
587
12595
3169cd6727ad [gaim-migrate @ 14925]
Richard Laager <rlaager@wiktel.com>
parents: 12489
diff changeset
588 status = gaim_status_type_new_full(GAIM_STATUS_UNAVAILABLE,
3169cd6727ad [gaim-migrate @ 14925]
Richard Laager <rlaager@wiktel.com>
parents: 12489
diff changeset
589 "busy", _("Busy"), FALSE, TRUE, FALSE);
9967
2f153f8cdf81 [gaim-migrate @ 10877]
Luke Schierer <lschiere@pidgin.im>
parents: 9953
diff changeset
590 types = g_list_append(types, status);
2f153f8cdf81 [gaim-migrate @ 10877]
Luke Schierer <lschiere@pidgin.im>
parents: 9953
diff changeset
591
12595
3169cd6727ad [gaim-migrate @ 14925]
Richard Laager <rlaager@wiktel.com>
parents: 12489
diff changeset
592 status = gaim_status_type_new_full(GAIM_STATUS_UNAVAILABLE,
3169cd6727ad [gaim-migrate @ 14925]
Richard Laager <rlaager@wiktel.com>
parents: 12489
diff changeset
593 "phone", _("On the Phone"), FALSE, TRUE, FALSE);
9967
2f153f8cdf81 [gaim-migrate @ 10877]
Luke Schierer <lschiere@pidgin.im>
parents: 9953
diff changeset
594 types = g_list_append(types, status);
2f153f8cdf81 [gaim-migrate @ 10877]
Luke Schierer <lschiere@pidgin.im>
parents: 9953
diff changeset
595
12595
3169cd6727ad [gaim-migrate @ 14925]
Richard Laager <rlaager@wiktel.com>
parents: 12489
diff changeset
596 status = gaim_status_type_new_full(GAIM_STATUS_AWAY,
3169cd6727ad [gaim-migrate @ 14925]
Richard Laager <rlaager@wiktel.com>
parents: 12489
diff changeset
597 "lunch", _("Out to Lunch"), FALSE, TRUE, FALSE);
9967
2f153f8cdf81 [gaim-migrate @ 10877]
Luke Schierer <lschiere@pidgin.im>
parents: 9953
diff changeset
598 types = g_list_append(types, status);
2f153f8cdf81 [gaim-migrate @ 10877]
Luke Schierer <lschiere@pidgin.im>
parents: 9953
diff changeset
599
12595
3169cd6727ad [gaim-migrate @ 14925]
Richard Laager <rlaager@wiktel.com>
parents: 12489
diff changeset
600 status = gaim_status_type_new_full(GAIM_STATUS_INVISIBLE,
3169cd6727ad [gaim-migrate @ 14925]
Richard Laager <rlaager@wiktel.com>
parents: 12489
diff changeset
601 NULL, NULL, FALSE, TRUE, FALSE);
9967
2f153f8cdf81 [gaim-migrate @ 10877]
Luke Schierer <lschiere@pidgin.im>
parents: 9953
diff changeset
602 types = g_list_append(types, status);
9951
42cdec4f639b [gaim-migrate @ 10847]
Nathan Walp <nwalp@pidgin.im>
parents: 9943
diff changeset
603
12658
a0fd3ebcd6fa [gaim-migrate @ 15001]
Mark Doliner <mark@kingant.net>
parents: 12645
diff changeset
604 status = gaim_status_type_new_full(GAIM_STATUS_OFFLINE,
a0fd3ebcd6fa [gaim-migrate @ 15001]
Mark Doliner <mark@kingant.net>
parents: 12645
diff changeset
605 NULL, NULL, FALSE, TRUE, FALSE);
a0fd3ebcd6fa [gaim-migrate @ 15001]
Mark Doliner <mark@kingant.net>
parents: 12645
diff changeset
606 types = g_list_append(types, status);
a0fd3ebcd6fa [gaim-migrate @ 15001]
Mark Doliner <mark@kingant.net>
parents: 12645
diff changeset
607
9951
42cdec4f639b [gaim-migrate @ 10847]
Nathan Walp <nwalp@pidgin.im>
parents: 9943
diff changeset
608 return types;
2086
424a40f12a6c [gaim-migrate @ 2096]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
609 }
424a40f12a6c [gaim-migrate @ 2096]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
610
5309
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
611 static GList *
9015
67421e0dc497 [gaim-migrate @ 9791]
Luke Schierer <lschiere@pidgin.im>
parents: 8993
diff changeset
612 msn_actions(GaimPlugin *plugin, gpointer context)
5309
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
613 {
11321
95fa774d216d [gaim-migrate @ 13525]
Stu Tomlinson <stu@nosnilmot.com>
parents: 11257
diff changeset
614 GaimConnection *gc = (GaimConnection *)context;
95fa774d216d [gaim-migrate @ 13525]
Stu Tomlinson <stu@nosnilmot.com>
parents: 11257
diff changeset
615 GaimAccount *account;
95fa774d216d [gaim-migrate @ 13525]
Stu Tomlinson <stu@nosnilmot.com>
parents: 11257
diff changeset
616 const char *user;
95fa774d216d [gaim-migrate @ 13525]
Stu Tomlinson <stu@nosnilmot.com>
parents: 11257
diff changeset
617
5309
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
618 GList *m = NULL;
9015
67421e0dc497 [gaim-migrate @ 9791]
Luke Schierer <lschiere@pidgin.im>
parents: 8993
diff changeset
619 GaimPluginAction *act;
5309
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
620
12243
d3cb077caf3e [gaim-migrate @ 14545]
Richard Laager <rlaager@wiktel.com>
parents: 12216
diff changeset
621 act = gaim_plugin_action_new(_("Set Friendly Name..."),
9158
c30d81b4dd22 [gaim-migrate @ 9942]
Christian Hammond <chipx86@chipx86.com>
parents: 9092
diff changeset
622 msn_show_set_friendly_name);
9015
67421e0dc497 [gaim-migrate @ 9791]
Luke Schierer <lschiere@pidgin.im>
parents: 8993
diff changeset
623 m = g_list_append(m, act);
5364
379beab3d157 [gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents: 5363
diff changeset
624 m = g_list_append(m, NULL);
379beab3d157 [gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents: 5363
diff changeset
625
12243
d3cb077caf3e [gaim-migrate @ 14545]
Richard Laager <rlaager@wiktel.com>
parents: 12216
diff changeset
626 act = gaim_plugin_action_new(_("Set Home Phone Number..."),
9158
c30d81b4dd22 [gaim-migrate @ 9942]
Christian Hammond <chipx86@chipx86.com>
parents: 9092
diff changeset
627 msn_show_set_home_phone);
9015
67421e0dc497 [gaim-migrate @ 9791]
Luke Schierer <lschiere@pidgin.im>
parents: 8993
diff changeset
628 m = g_list_append(m, act);
5363
ebebc833cf77 [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
629
12243
d3cb077caf3e [gaim-migrate @ 14545]
Richard Laager <rlaager@wiktel.com>
parents: 12216
diff changeset
630 act = gaim_plugin_action_new(_("Set Work Phone Number..."),
9015
67421e0dc497 [gaim-migrate @ 9791]
Luke Schierer <lschiere@pidgin.im>
parents: 8993
diff changeset
631 msn_show_set_work_phone);
67421e0dc497 [gaim-migrate @ 9791]
Luke Schierer <lschiere@pidgin.im>
parents: 8993
diff changeset
632 m = g_list_append(m, act);
5363
ebebc833cf77 [gaim-migrate @ 5739]
Christian Hammond <chipx86@chipx86.com>
parents: 5361
diff changeset
633
12243
d3cb077caf3e [gaim-migrate @ 14545]
Richard Laager <rlaager@wiktel.com>
parents: 12216
diff changeset
634 act = gaim_plugin_action_new(_("Set Mobile Phone Number..."),
9015
67421e0dc497 [gaim-migrate @ 9791]
Luke Schierer <lschiere@pidgin.im>
parents: 8993
diff changeset
635 msn_show_set_mobile_phone);
67421e0dc497 [gaim-migrate @ 9791]
Luke Schierer <lschiere@pidgin.im>
parents: 8993
diff changeset
636 m = g_list_append(m, act);
5364
379beab3d157 [gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents: 5363
diff changeset
637 m = g_list_append(m, NULL);
379beab3d157 [gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents: 5363
diff changeset
638
379beab3d157 [gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents: 5363
diff changeset
639 #if 0
12243
d3cb077caf3e [gaim-migrate @ 14545]
Richard Laager <rlaager@wiktel.com>
parents: 12216
diff changeset
640 act = gaim_plugin_action_new(_("Enable/Disable Mobile Devices..."),
9015
67421e0dc497 [gaim-migrate @ 9791]
Luke Schierer <lschiere@pidgin.im>
parents: 8993
diff changeset
641 msn_show_set_mobile_support);
67421e0dc497 [gaim-migrate @ 9791]
Luke Schierer <lschiere@pidgin.im>
parents: 8993
diff changeset
642 m = g_list_append(m, act);
5364
379beab3d157 [gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents: 5363
diff changeset
643 #endif
379beab3d157 [gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents: 5363
diff changeset
644
12243
d3cb077caf3e [gaim-migrate @ 14545]
Richard Laager <rlaager@wiktel.com>
parents: 12216
diff changeset
645 act = gaim_plugin_action_new(_("Allow/Disallow Mobile Pages..."),
9015
67421e0dc497 [gaim-migrate @ 9791]
Luke Schierer <lschiere@pidgin.im>
parents: 8993
diff changeset
646 msn_show_set_mobile_pages);
67421e0dc497 [gaim-migrate @ 9791]
Luke Schierer <lschiere@pidgin.im>
parents: 8993
diff changeset
647 m = g_list_append(m, act);
5364
379beab3d157 [gaim-migrate @ 5740]
Christian Hammond <chipx86@chipx86.com>
parents: 5363
diff changeset
648
11321
95fa774d216d [gaim-migrate @ 13525]
Stu Tomlinson <stu@nosnilmot.com>
parents: 11257
diff changeset
649 account = gaim_connection_get_account(gc);
95fa774d216d [gaim-migrate @ 13525]
Stu Tomlinson <stu@nosnilmot.com>
parents: 11257
diff changeset
650 user = msn_normalize(account, gaim_account_get_username(account));
95fa774d216d [gaim-migrate @ 13525]
Stu Tomlinson <stu@nosnilmot.com>
parents: 11257
diff changeset
651
95fa774d216d [gaim-migrate @ 13525]
Stu Tomlinson <stu@nosnilmot.com>
parents: 11257
diff changeset
652 if (strstr(user, "@hotmail.com") != NULL)
95fa774d216d [gaim-migrate @ 13525]
Stu Tomlinson <stu@nosnilmot.com>
parents: 11257
diff changeset
653 {
95fa774d216d [gaim-migrate @ 13525]
Stu Tomlinson <stu@nosnilmot.com>
parents: 11257
diff changeset
654 m = g_list_append(m, NULL);
95fa774d216d [gaim-migrate @ 13525]
Stu Tomlinson <stu@nosnilmot.com>
parents: 11257
diff changeset
655 act = gaim_plugin_action_new(_("Open Hotmail Inbox"),
95fa774d216d [gaim-migrate @ 13525]
Stu Tomlinson <stu@nosnilmot.com>
parents: 11257
diff changeset
656 msn_show_hotmail_inbox);
95fa774d216d [gaim-migrate @ 13525]
Stu Tomlinson <stu@nosnilmot.com>
parents: 11257
diff changeset
657 m = g_list_append(m, act);
95fa774d216d [gaim-migrate @ 13525]
Stu Tomlinson <stu@nosnilmot.com>
parents: 11257
diff changeset
658 }
95fa774d216d [gaim-migrate @ 13525]
Stu Tomlinson <stu@nosnilmot.com>
parents: 11257
diff changeset
659
5309
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
660 return m;
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
661 }
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
662
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
663 static GList *
9030
7ab20f829190 [gaim-migrate @ 9806]
Mark Doliner <mark@kingant.net>
parents: 9015
diff changeset
664 msn_buddy_menu(GaimBuddy *buddy)
5309
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
665 {
5372
fa0217bec87e [gaim-migrate @ 5748]
Christian Hammond <chipx86@chipx86.com>
parents: 5369
diff changeset
666 MsnUser *user;
5309
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
667
9030
7ab20f829190 [gaim-migrate @ 9806]
Mark Doliner <mark@kingant.net>
parents: 9015
diff changeset
668 GList *m = NULL;
12919
248b8b39c671 [gaim-migrate @ 15272]
Etan Reisner <pidgin@unreliablesource.net>
parents: 12886
diff changeset
669 GaimMenuAction *act;
6858
885c6528843b [gaim-migrate @ 7403]
Christian Hammond <chipx86@chipx86.com>
parents: 6842
diff changeset
670
9193
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
671 g_return_val_if_fail(buddy != NULL, NULL);
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
672
9030
7ab20f829190 [gaim-migrate @ 9806]
Mark Doliner <mark@kingant.net>
parents: 9015
diff changeset
673 user = buddy->proto_data;
9158
c30d81b4dd22 [gaim-migrate @ 9942]
Christian Hammond <chipx86@chipx86.com>
parents: 9092
diff changeset
674
8808
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
675 if (user != NULL)
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
676 {
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
677 if (user->mobile)
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
678 {
12919
248b8b39c671 [gaim-migrate @ 15272]
Etan Reisner <pidgin@unreliablesource.net>
parents: 12886
diff changeset
679 act = gaim_menu_action_new(_("Send to Mobile"),
248b8b39c671 [gaim-migrate @ 15272]
Etan Reisner <pidgin@unreliablesource.net>
parents: 12886
diff changeset
680 GAIM_CALLBACK(show_send_to_mobile_cb),
248b8b39c671 [gaim-migrate @ 15272]
Etan Reisner <pidgin@unreliablesource.net>
parents: 12886
diff changeset
681 NULL, NULL);
9030
7ab20f829190 [gaim-migrate @ 9806]
Mark Doliner <mark@kingant.net>
parents: 9015
diff changeset
682 m = g_list_append(m, act);
5382
b18332105302 [gaim-migrate @ 5758]
Christian Hammond <chipx86@chipx86.com>
parents: 5379
diff changeset
683 }
5369
a87818e9dc54 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
684 }
a87818e9dc54 [gaim-migrate @ 5745]
Christian Hammond <chipx86@chipx86.com>
parents: 5364
diff changeset
685
9158
c30d81b4dd22 [gaim-migrate @ 9942]
Christian Hammond <chipx86@chipx86.com>
parents: 9092
diff changeset
686 if (g_ascii_strcasecmp(buddy->name,
13020
72300c551dc2 [gaim-migrate @ 15373]
Etan Reisner <pidgin@unreliablesource.net>
parents: 12970
diff changeset
687 gaim_account_get_username(buddy->account)))
8808
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
688 {
12919
248b8b39c671 [gaim-migrate @ 15272]
Etan Reisner <pidgin@unreliablesource.net>
parents: 12886
diff changeset
689 act = gaim_menu_action_new(_("Initiate _Chat"),
248b8b39c671 [gaim-migrate @ 15272]
Etan Reisner <pidgin@unreliablesource.net>
parents: 12886
diff changeset
690 GAIM_CALLBACK(initiate_chat_cb),
248b8b39c671 [gaim-migrate @ 15272]
Etan Reisner <pidgin@unreliablesource.net>
parents: 12886
diff changeset
691 NULL, NULL);
9030
7ab20f829190 [gaim-migrate @ 9806]
Mark Doliner <mark@kingant.net>
parents: 9015
diff changeset
692 m = g_list_append(m, act);
6148
82e7eaa67406 [gaim-migrate @ 6622]
Christian Hammond <chipx86@chipx86.com>
parents: 6059
diff changeset
693 }
82e7eaa67406 [gaim-migrate @ 6622]
Christian Hammond <chipx86@chipx86.com>
parents: 6059
diff changeset
694
5309
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
695 return m;
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
696 }
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
697
9030
7ab20f829190 [gaim-migrate @ 9806]
Mark Doliner <mark@kingant.net>
parents: 9015
diff changeset
698 static GList *
7ab20f829190 [gaim-migrate @ 9806]
Mark Doliner <mark@kingant.net>
parents: 9015
diff changeset
699 msn_blist_node_menu(GaimBlistNode *node)
7ab20f829190 [gaim-migrate @ 9806]
Mark Doliner <mark@kingant.net>
parents: 9015
diff changeset
700 {
9158
c30d81b4dd22 [gaim-migrate @ 9942]
Christian Hammond <chipx86@chipx86.com>
parents: 9092
diff changeset
701 if(GAIM_BLIST_NODE_IS_BUDDY(node))
c30d81b4dd22 [gaim-migrate @ 9942]
Christian Hammond <chipx86@chipx86.com>
parents: 9092
diff changeset
702 {
9030
7ab20f829190 [gaim-migrate @ 9806]
Mark Doliner <mark@kingant.net>
parents: 9015
diff changeset
703 return msn_buddy_menu((GaimBuddy *) node);
9158
c30d81b4dd22 [gaim-migrate @ 9942]
Christian Hammond <chipx86@chipx86.com>
parents: 9092
diff changeset
704 }
c30d81b4dd22 [gaim-migrate @ 9942]
Christian Hammond <chipx86@chipx86.com>
parents: 9092
diff changeset
705 else
c30d81b4dd22 [gaim-migrate @ 9942]
Christian Hammond <chipx86@chipx86.com>
parents: 9092
diff changeset
706 {
9030
7ab20f829190 [gaim-migrate @ 9806]
Mark Doliner <mark@kingant.net>
parents: 9015
diff changeset
707 return NULL;
7ab20f829190 [gaim-migrate @ 9806]
Mark Doliner <mark@kingant.net>
parents: 9015
diff changeset
708 }
7ab20f829190 [gaim-migrate @ 9806]
Mark Doliner <mark@kingant.net>
parents: 9015
diff changeset
709 }
7ab20f829190 [gaim-migrate @ 9806]
Mark Doliner <mark@kingant.net>
parents: 9015
diff changeset
710
5309
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
711 static void
11837
fa742ad8068c [gaim-migrate @ 14128]
Mark Doliner <mark@kingant.net>
parents: 11718
diff changeset
712 msn_login(GaimAccount *account)
5309
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
713 {
5564
187c740f2a4e [gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents: 5518
diff changeset
714 GaimConnection *gc;
5309
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
715 MsnSession *session;
5564
187c740f2a4e [gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents: 5518
diff changeset
716 const char *username;
9158
c30d81b4dd22 [gaim-migrate @ 9942]
Christian Hammond <chipx86@chipx86.com>
parents: 9092
diff changeset
717 const char *host;
7288
ff9127038a5a [gaim-migrate @ 7869]
Christian Hammond <chipx86@chipx86.com>
parents: 7277
diff changeset
718 gboolean http_method = FALSE;
5309
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
719 int port;
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
720
7277
2972dad4438b [gaim-migrate @ 7856]
Christian Hammond <chipx86@chipx86.com>
parents: 7262
diff changeset
721 gc = gaim_account_get_connection(account);
2972dad4438b [gaim-migrate @ 7856]
Christian Hammond <chipx86@chipx86.com>
parents: 7262
diff changeset
722
2972dad4438b [gaim-migrate @ 7856]
Christian Hammond <chipx86@chipx86.com>
parents: 7262
diff changeset
723 if (!gaim_ssl_is_supported())
2972dad4438b [gaim-migrate @ 7856]
Christian Hammond <chipx86@chipx86.com>
parents: 7262
diff changeset
724 {
10914
0249b1ad6322 [gaim-migrate @ 12671]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10796
diff changeset
725 gc->wants_to_die = TRUE;
7277
2972dad4438b [gaim-migrate @ 7856]
Christian Hammond <chipx86@chipx86.com>
parents: 7262
diff changeset
726 gaim_connection_error(gc,
8499
467b01d02f9c [gaim-migrate @ 9235]
Christian Hammond <chipx86@chipx86.com>
parents: 8475
diff changeset
727 _("SSL support is needed for MSN. Please install a supported "
467b01d02f9c [gaim-migrate @ 9235]
Christian Hammond <chipx86@chipx86.com>
parents: 8475
diff changeset
728 "SSL library. See http://gaim.sf.net/faq-ssl.php for more "
467b01d02f9c [gaim-migrate @ 9235]
Christian Hammond <chipx86@chipx86.com>
parents: 8475
diff changeset
729 "information."));
7277
2972dad4438b [gaim-migrate @ 7856]
Christian Hammond <chipx86@chipx86.com>
parents: 7262
diff changeset
730
2972dad4438b [gaim-migrate @ 7856]
Christian Hammond <chipx86@chipx86.com>
parents: 7262
diff changeset
731 return;
2972dad4438b [gaim-migrate @ 7856]
Christian Hammond <chipx86@chipx86.com>
parents: 7262
diff changeset
732 }
2972dad4438b [gaim-migrate @ 7856]
Christian Hammond <chipx86@chipx86.com>
parents: 7262
diff changeset
733
7288
ff9127038a5a [gaim-migrate @ 7869]
Christian Hammond <chipx86@chipx86.com>
parents: 7277
diff changeset
734 if (gaim_account_get_bool(account, "http_method", FALSE))
ff9127038a5a [gaim-migrate @ 7869]
Christian Hammond <chipx86@chipx86.com>
parents: 7277
diff changeset
735 http_method = TRUE;
ff9127038a5a [gaim-migrate @ 7869]
Christian Hammond <chipx86@chipx86.com>
parents: 7277
diff changeset
736
10463
9bed28273ec7 [gaim-migrate @ 11737]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10451
diff changeset
737 host = gaim_account_get_string(account, "server", MSN_SERVER);
10481
bcfea6c3d5c9 [gaim-migrate @ 11769]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10463
diff changeset
738 port = gaim_account_get_int(account, "port", MSN_PORT);
5309
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
739
10481
bcfea6c3d5c9 [gaim-migrate @ 11769]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10463
diff changeset
740 session = msn_session_new(account);
5309
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
741
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
742 gc->proto_data = session;
9775
4c1a1be8ce33 [gaim-migrate @ 10643]
Mark Doliner <mark@kingant.net>
parents: 9754
diff changeset
743 gc->flags |= GAIM_CONNECTION_HTML | GAIM_CONNECTION_FORMATTING_WBFO | GAIM_CONNECTION_NO_BGCOLOR | GAIM_CONNECTION_NO_FONTSIZE | GAIM_CONNECTION_NO_URLDESC;
5309
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
744
10481
bcfea6c3d5c9 [gaim-migrate @ 11769]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10463
diff changeset
745 msn_session_set_login_step(session, MSN_LOGIN_STEP_START);
5309
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
746
5564
187c740f2a4e [gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents: 5518
diff changeset
747 /* Hmm, I don't like this. */
10481
bcfea6c3d5c9 [gaim-migrate @ 11769]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10463
diff changeset
748 /* XXX shx: Me neither */
7322
ab828b8c3f22 [gaim-migrate @ 7908]
Nathan Walp <nwalp@pidgin.im>
parents: 7288
diff changeset
749 username = msn_normalize(account, gaim_account_get_username(account));
5564
187c740f2a4e [gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents: 5518
diff changeset
750
187c740f2a4e [gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents: 5518
diff changeset
751 if (strcmp(username, gaim_account_get_username(account)))
187c740f2a4e [gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents: 5518
diff changeset
752 gaim_account_set_username(account, username);
5309
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
753
10568
fed2a7c2471d [gaim-migrate @ 11954]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10533
diff changeset
754 if (!msn_session_connect(session, host, port, http_method))
fed2a7c2471d [gaim-migrate @ 11954]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10533
diff changeset
755 gaim_connection_error(gc, _("Failed to connect to server."));
5309
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
756 }
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
757
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
758 static void
5564
187c740f2a4e [gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents: 5518
diff changeset
759 msn_close(GaimConnection *gc)
5309
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
760 {
9193
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
761 MsnSession *session;
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
762
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
763 session = gc->proto_data;
5309
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
764
9193
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
765 g_return_if_fail(session != NULL);
8298
c719f9a181d4 [gaim-migrate @ 9022]
Christian Hammond <chipx86@chipx86.com>
parents: 8291
diff changeset
766
9193
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
767 msn_session_destroy(session);
5309
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
768
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
769 gc->proto_data = NULL;
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
770 }
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
771
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
772 static int
5564
187c740f2a4e [gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents: 5518
diff changeset
773 msn_send_im(GaimConnection *gc, const char *who, const char *message,
12216
4d3119205a33 [gaim-migrate @ 14518]
Stu Tomlinson <stu@nosnilmot.com>
parents: 12161
diff changeset
774 GaimMessageFlags flags)
2086
424a40f12a6c [gaim-migrate @ 2096]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
775 {
8808
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
776 GaimAccount *account;
10275
d9468bd22b7c [gaim-migrate @ 11428]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10274
diff changeset
777 MsnMessage *msg;
d9468bd22b7c [gaim-migrate @ 11428]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10274
diff changeset
778 char *msgformat;
d9468bd22b7c [gaim-migrate @ 11428]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10274
diff changeset
779 char *msgtext;
5309
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
780
8808
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
781 account = gaim_connection_get_account(gc);
5309
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
782
10275
d9468bd22b7c [gaim-migrate @ 11428]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10274
diff changeset
783 msn_import_html(message, &msgformat, &msgtext);
d9468bd22b7c [gaim-migrate @ 11428]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10274
diff changeset
784
d9468bd22b7c [gaim-migrate @ 11428]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10274
diff changeset
785 if (strlen(msgtext) + strlen(msgformat) + strlen(VERSION) > 1564)
d9468bd22b7c [gaim-migrate @ 11428]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10274
diff changeset
786 {
d9468bd22b7c [gaim-migrate @ 11428]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10274
diff changeset
787 g_free(msgformat);
d9468bd22b7c [gaim-migrate @ 11428]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10274
diff changeset
788 g_free(msgtext);
d9468bd22b7c [gaim-migrate @ 11428]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10274
diff changeset
789
d9468bd22b7c [gaim-migrate @ 11428]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10274
diff changeset
790 return -E2BIG;
d9468bd22b7c [gaim-migrate @ 11428]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10274
diff changeset
791 }
d9468bd22b7c [gaim-migrate @ 11428]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10274
diff changeset
792
d9468bd22b7c [gaim-migrate @ 11428]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10274
diff changeset
793 msg = msn_message_new_plain(msgtext);
d9468bd22b7c [gaim-migrate @ 11428]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10274
diff changeset
794 msn_message_set_attr(msg, "X-MMS-IM-Format", msgformat);
d9468bd22b7c [gaim-migrate @ 11428]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10274
diff changeset
795
d9468bd22b7c [gaim-migrate @ 11428]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10274
diff changeset
796 g_free(msgformat);
d9468bd22b7c [gaim-migrate @ 11428]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10274
diff changeset
797 g_free(msgtext);
d9468bd22b7c [gaim-migrate @ 11428]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10274
diff changeset
798
8808
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
799 if (g_ascii_strcasecmp(who, gaim_account_get_username(account)))
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
800 {
9158
c30d81b4dd22 [gaim-migrate @ 9942]
Christian Hammond <chipx86@chipx86.com>
parents: 9092
diff changeset
801 MsnSession *session;
c30d81b4dd22 [gaim-migrate @ 9942]
Christian Hammond <chipx86@chipx86.com>
parents: 9092
diff changeset
802 MsnSwitchBoard *swboard;
8595
1d5e31e518fc [gaim-migrate @ 9346]
Christian Hammond <chipx86@chipx86.com>
parents: 8591
diff changeset
803
9158
c30d81b4dd22 [gaim-migrate @ 9942]
Christian Hammond <chipx86@chipx86.com>
parents: 9092
diff changeset
804 session = gc->proto_data;
10773
888d4c328be5 [gaim-migrate @ 12382]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10738
diff changeset
805 swboard = msn_session_get_swboard(session, who, MSN_SB_FLAG_IM);
5309
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
806
10481
bcfea6c3d5c9 [gaim-migrate @ 11769]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10463
diff changeset
807 msn_switchboard_send_msg(swboard, msg, TRUE);
5309
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
808 }
8808
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
809 else
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
810 {
10275
d9468bd22b7c [gaim-migrate @ 11428]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10274
diff changeset
811 char *body_str, *body_enc, *pre, *post;
d9468bd22b7c [gaim-migrate @ 11428]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10274
diff changeset
812 const char *format;
5309
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
813 /*
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
814 * In MSN, you can't send messages to yourself, so
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
815 * we'll fake like we received it ;)
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
816 */
10275
d9468bd22b7c [gaim-migrate @ 11428]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10274
diff changeset
817 body_str = msn_message_to_string(msg);
10732
c4cb90065e1d [gaim-migrate @ 12334]
Luke Schierer <lschiere@pidgin.im>
parents: 10716
diff changeset
818 body_enc = g_markup_escape_text(body_str, -1);
10275
d9468bd22b7c [gaim-migrate @ 11428]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10274
diff changeset
819 g_free(body_str);
d9468bd22b7c [gaim-migrate @ 11428]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10274
diff changeset
820
d9468bd22b7c [gaim-migrate @ 11428]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10274
diff changeset
821 format = msn_message_get_attr(msg, "X-MMS-IM-Format");
d9468bd22b7c [gaim-migrate @ 11428]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10274
diff changeset
822 msn_parse_format(format, &pre, &post);
10568
fed2a7c2471d [gaim-migrate @ 11954]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10533
diff changeset
823 body_str = g_strdup_printf("%s%s%s", pre ? pre : "",
fed2a7c2471d [gaim-migrate @ 11954]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10533
diff changeset
824 body_enc ? body_enc : "", post ? post : "");
10346
bbf738a0ce7b [gaim-migrate @ 11560]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10345
diff changeset
825 g_free(body_enc);
10275
d9468bd22b7c [gaim-migrate @ 11428]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10274
diff changeset
826 g_free(pre);
d9468bd22b7c [gaim-migrate @ 11428]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10274
diff changeset
827 g_free(post);
d9468bd22b7c [gaim-migrate @ 11428]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10274
diff changeset
828
9193
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
829 serv_got_typing_stopped(gc, who);
10275
d9468bd22b7c [gaim-migrate @ 11428]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10274
diff changeset
830 serv_got_im(gc, who, body_str, flags, time(NULL));
d9468bd22b7c [gaim-migrate @ 11428]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10274
diff changeset
831 g_free(body_str);
5309
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
832 }
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
833
10275
d9468bd22b7c [gaim-migrate @ 11428]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10274
diff changeset
834 msn_message_destroy(msg);
d9468bd22b7c [gaim-migrate @ 11428]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10274
diff changeset
835
5309
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
836 return 1;
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
837 }
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
838
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
839 static int
6059
d8cd876e613e [gaim-migrate @ 6509]
Mark Doliner <mark@kingant.net>
parents: 6035
diff changeset
840 msn_send_typing(GaimConnection *gc, const char *who, int typing)
5309
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
841 {
8808
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
842 GaimAccount *account;
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
843 MsnSession *session;
5309
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
844 MsnSwitchBoard *swboard;
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
845 MsnMessage *msg;
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
846
8808
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
847 account = gaim_connection_get_account(gc);
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
848 session = gc->proto_data;
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
849
5309
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
850 if (!typing)
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
851 return 0;
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
852
8808
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
853 if (!g_ascii_strcasecmp(who, gaim_account_get_username(account)))
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
854 {
5309
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
855 /* We'll just fake it, since we're sending to ourself. */
5872
059d95c67cda [gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents: 5793
diff changeset
856 serv_got_typing(gc, who, MSN_TYPING_RECV_TIMEOUT, GAIM_TYPING);
5309
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
857
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
858 return MSN_TYPING_SEND_TIMEOUT;
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
859 }
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
860
10621
fe919915fceb [gaim-migrate @ 12090]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10602
diff changeset
861 swboard = msn_session_find_swboard(session, who);
5309
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
862
10481
bcfea6c3d5c9 [gaim-migrate @ 11769]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10463
diff changeset
863 if (swboard == NULL || !msn_switchboard_can_send(swboard))
10346
bbf738a0ce7b [gaim-migrate @ 11560]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10345
diff changeset
864 return 0;
bbf738a0ce7b [gaim-migrate @ 11560]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10345
diff changeset
865
10773
888d4c328be5 [gaim-migrate @ 12382]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10738
diff changeset
866 swboard->flag |= MSN_SB_FLAG_IM;
888d4c328be5 [gaim-migrate @ 12382]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10738
diff changeset
867
10225
ecf3ce2e2ab1 [gaim-migrate @ 11357]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10116
diff changeset
868 msg = msn_message_new(MSN_MSG_TYPING);
5309
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
869 msn_message_set_content_type(msg, "text/x-msmsgscontrol");
5505
870207a49f2f [gaim-migrate @ 5904]
Christian Hammond <chipx86@chipx86.com>
parents: 5498
diff changeset
870 msn_message_set_flag(msg, 'U');
5564
187c740f2a4e [gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents: 5518
diff changeset
871 msn_message_set_attr(msg, "TypingUser",
187c740f2a4e [gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents: 5518
diff changeset
872 gaim_account_get_username(account));
9158
c30d81b4dd22 [gaim-migrate @ 9942]
Christian Hammond <chipx86@chipx86.com>
parents: 9092
diff changeset
873 msn_message_set_bin_data(msg, "\r\n", 2);
5309
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
874
10481
bcfea6c3d5c9 [gaim-migrate @ 11769]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10463
diff changeset
875 msn_switchboard_send_msg(swboard, msg, FALSE);
5309
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
876
9158
c30d81b4dd22 [gaim-migrate @ 9942]
Christian Hammond <chipx86@chipx86.com>
parents: 9092
diff changeset
877 msn_message_destroy(msg);
5309
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
878
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
879 return MSN_TYPING_SEND_TIMEOUT;
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
880 }
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
881
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
882 static void
9967
2f153f8cdf81 [gaim-migrate @ 10877]
Luke Schierer <lschiere@pidgin.im>
parents: 9953
diff changeset
883 msn_set_status(GaimAccount *account, GaimStatus *status)
5309
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
884 {
9967
2f153f8cdf81 [gaim-migrate @ 10877]
Luke Schierer <lschiere@pidgin.im>
parents: 9953
diff changeset
885 GaimConnection *gc;
11992
c824e39db0e7 [gaim-migrate @ 14285]
Stu Tomlinson <stu@nosnilmot.com>
parents: 11920
diff changeset
886 MsnSession *session;
9967
2f153f8cdf81 [gaim-migrate @ 10877]
Luke Schierer <lschiere@pidgin.im>
parents: 9953
diff changeset
887
2f153f8cdf81 [gaim-migrate @ 10877]
Luke Schierer <lschiere@pidgin.im>
parents: 9953
diff changeset
888 gc = gaim_account_get_connection(account);
2f153f8cdf81 [gaim-migrate @ 10877]
Luke Schierer <lschiere@pidgin.im>
parents: 9953
diff changeset
889
11028
5ee8a313f8e7 [gaim-migrate @ 12906]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10914
diff changeset
890 if (gc != NULL)
11992
c824e39db0e7 [gaim-migrate @ 14285]
Stu Tomlinson <stu@nosnilmot.com>
parents: 11920
diff changeset
891 {
10646
6a618db0a404 [gaim-migrate @ 12162]
Sean Egan <seanegan@gmail.com>
parents: 10621
diff changeset
892 session = gc->proto_data;
11992
c824e39db0e7 [gaim-migrate @ 14285]
Stu Tomlinson <stu@nosnilmot.com>
parents: 11920
diff changeset
893 msn_change_status(session);
c824e39db0e7 [gaim-migrate @ 14285]
Stu Tomlinson <stu@nosnilmot.com>
parents: 11920
diff changeset
894 }
5309
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
895 }
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
896
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
897 static void
5564
187c740f2a4e [gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents: 5518
diff changeset
898 msn_set_idle(GaimConnection *gc, int idle)
5309
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
899 {
8808
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
900 MsnSession *session;
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
901
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
902 session = gc->proto_data;
5309
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
903
11992
c824e39db0e7 [gaim-migrate @ 14285]
Stu Tomlinson <stu@nosnilmot.com>
parents: 11920
diff changeset
904 msn_change_status(session);
5309
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
905 }
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
906
11992
c824e39db0e7 [gaim-migrate @ 14285]
Stu Tomlinson <stu@nosnilmot.com>
parents: 11920
diff changeset
907 #if 0
5309
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
908 static void
10044
86a6d78b070b [gaim-migrate @ 11003]
Luke Schierer <lschiere@pidgin.im>
parents: 9967
diff changeset
909 fake_userlist_add_buddy(MsnUserList *userlist,
86a6d78b070b [gaim-migrate @ 11003]
Luke Schierer <lschiere@pidgin.im>
parents: 9967
diff changeset
910 const char *who, int list_id,
86a6d78b070b [gaim-migrate @ 11003]
Luke Schierer <lschiere@pidgin.im>
parents: 9967
diff changeset
911 const char *group_name)
86a6d78b070b [gaim-migrate @ 11003]
Luke Schierer <lschiere@pidgin.im>
parents: 9967
diff changeset
912 {
86a6d78b070b [gaim-migrate @ 11003]
Luke Schierer <lschiere@pidgin.im>
parents: 9967
diff changeset
913 MsnUser *user;
86a6d78b070b [gaim-migrate @ 11003]
Luke Schierer <lschiere@pidgin.im>
parents: 9967
diff changeset
914 static int group_id_c = 1;
86a6d78b070b [gaim-migrate @ 11003]
Luke Schierer <lschiere@pidgin.im>
parents: 9967
diff changeset
915 int group_id;
86a6d78b070b [gaim-migrate @ 11003]
Luke Schierer <lschiere@pidgin.im>
parents: 9967
diff changeset
916
86a6d78b070b [gaim-migrate @ 11003]
Luke Schierer <lschiere@pidgin.im>
parents: 9967
diff changeset
917 group_id = -1;
86a6d78b070b [gaim-migrate @ 11003]
Luke Schierer <lschiere@pidgin.im>
parents: 9967
diff changeset
918
86a6d78b070b [gaim-migrate @ 11003]
Luke Schierer <lschiere@pidgin.im>
parents: 9967
diff changeset
919 if (group_name != NULL)
86a6d78b070b [gaim-migrate @ 11003]
Luke Schierer <lschiere@pidgin.im>
parents: 9967
diff changeset
920 {
86a6d78b070b [gaim-migrate @ 11003]
Luke Schierer <lschiere@pidgin.im>
parents: 9967
diff changeset
921 MsnGroup *group;
86a6d78b070b [gaim-migrate @ 11003]
Luke Schierer <lschiere@pidgin.im>
parents: 9967
diff changeset
922 group = msn_group_new(userlist, group_id_c, group_name);
86a6d78b070b [gaim-migrate @ 11003]
Luke Schierer <lschiere@pidgin.im>
parents: 9967
diff changeset
923 group_id = group_id_c++;
86a6d78b070b [gaim-migrate @ 11003]
Luke Schierer <lschiere@pidgin.im>
parents: 9967
diff changeset
924 }
86a6d78b070b [gaim-migrate @ 11003]
Luke Schierer <lschiere@pidgin.im>
parents: 9967
diff changeset
925
86a6d78b070b [gaim-migrate @ 11003]
Luke Schierer <lschiere@pidgin.im>
parents: 9967
diff changeset
926 user = msn_userlist_find_user(userlist, who);
86a6d78b070b [gaim-migrate @ 11003]
Luke Schierer <lschiere@pidgin.im>
parents: 9967
diff changeset
927
86a6d78b070b [gaim-migrate @ 11003]
Luke Schierer <lschiere@pidgin.im>
parents: 9967
diff changeset
928 if (user == NULL)
86a6d78b070b [gaim-migrate @ 11003]
Luke Schierer <lschiere@pidgin.im>
parents: 9967
diff changeset
929 {
86a6d78b070b [gaim-migrate @ 11003]
Luke Schierer <lschiere@pidgin.im>
parents: 9967
diff changeset
930 user = msn_user_new(userlist, who, NULL);
86a6d78b070b [gaim-migrate @ 11003]
Luke Schierer <lschiere@pidgin.im>
parents: 9967
diff changeset
931 msn_userlist_add_user(userlist, user);
86a6d78b070b [gaim-migrate @ 11003]
Luke Schierer <lschiere@pidgin.im>
parents: 9967
diff changeset
932 }
86a6d78b070b [gaim-migrate @ 11003]
Luke Schierer <lschiere@pidgin.im>
parents: 9967
diff changeset
933 else
86a6d78b070b [gaim-migrate @ 11003]
Luke Schierer <lschiere@pidgin.im>
parents: 9967
diff changeset
934 if (user->list_op & (1 << list_id))
86a6d78b070b [gaim-migrate @ 11003]
Luke Schierer <lschiere@pidgin.im>
parents: 9967
diff changeset
935 {
86a6d78b070b [gaim-migrate @ 11003]
Luke Schierer <lschiere@pidgin.im>
parents: 9967
diff changeset
936 if (list_id == MSN_LIST_FL)
86a6d78b070b [gaim-migrate @ 11003]
Luke Schierer <lschiere@pidgin.im>
parents: 9967
diff changeset
937 {
86a6d78b070b [gaim-migrate @ 11003]
Luke Schierer <lschiere@pidgin.im>
parents: 9967
diff changeset
938 if (group_id >= 0)
86a6d78b070b [gaim-migrate @ 11003]
Luke Schierer <lschiere@pidgin.im>
parents: 9967
diff changeset
939 if (g_list_find(user->group_ids,
86a6d78b070b [gaim-migrate @ 11003]
Luke Schierer <lschiere@pidgin.im>
parents: 9967
diff changeset
940 GINT_TO_POINTER(group_id)))
86a6d78b070b [gaim-migrate @ 11003]
Luke Schierer <lschiere@pidgin.im>
parents: 9967
diff changeset
941 return;
86a6d78b070b [gaim-migrate @ 11003]
Luke Schierer <lschiere@pidgin.im>
parents: 9967
diff changeset
942 }
86a6d78b070b [gaim-migrate @ 11003]
Luke Schierer <lschiere@pidgin.im>
parents: 9967
diff changeset
943 else
86a6d78b070b [gaim-migrate @ 11003]
Luke Schierer <lschiere@pidgin.im>
parents: 9967
diff changeset
944 return;
86a6d78b070b [gaim-migrate @ 11003]
Luke Schierer <lschiere@pidgin.im>
parents: 9967
diff changeset
945 }
86a6d78b070b [gaim-migrate @ 11003]
Luke Schierer <lschiere@pidgin.im>
parents: 9967
diff changeset
946
86a6d78b070b [gaim-migrate @ 11003]
Luke Schierer <lschiere@pidgin.im>
parents: 9967
diff changeset
947 if (group_id >= 0)
86a6d78b070b [gaim-migrate @ 11003]
Luke Schierer <lschiere@pidgin.im>
parents: 9967
diff changeset
948 {
86a6d78b070b [gaim-migrate @ 11003]
Luke Schierer <lschiere@pidgin.im>
parents: 9967
diff changeset
949 user->group_ids = g_list_append(user->group_ids,
86a6d78b070b [gaim-migrate @ 11003]
Luke Schierer <lschiere@pidgin.im>
parents: 9967
diff changeset
950 GINT_TO_POINTER(group_id));
86a6d78b070b [gaim-migrate @ 11003]
Luke Schierer <lschiere@pidgin.im>
parents: 9967
diff changeset
951 }
86a6d78b070b [gaim-migrate @ 11003]
Luke Schierer <lschiere@pidgin.im>
parents: 9967
diff changeset
952
86a6d78b070b [gaim-migrate @ 11003]
Luke Schierer <lschiere@pidgin.im>
parents: 9967
diff changeset
953 user->list_op |= (1 << list_id);
86a6d78b070b [gaim-migrate @ 11003]
Luke Schierer <lschiere@pidgin.im>
parents: 9967
diff changeset
954 }
11992
c824e39db0e7 [gaim-migrate @ 14285]
Stu Tomlinson <stu@nosnilmot.com>
parents: 11920
diff changeset
955 #endif
10044
86a6d78b070b [gaim-migrate @ 11003]
Luke Schierer <lschiere@pidgin.im>
parents: 9967
diff changeset
956
86a6d78b070b [gaim-migrate @ 11003]
Luke Schierer <lschiere@pidgin.im>
parents: 9967
diff changeset
957 static void
9285
7a8aa87164ae [gaim-migrate @ 10088]
Mark Doliner <mark@kingant.net>
parents: 9246
diff changeset
958 msn_add_buddy(GaimConnection *gc, GaimBuddy *buddy, GaimGroup *group)
5309
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
959 {
8808
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
960 MsnSession *session;
9193
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
961 MsnUserList *userlist;
7261
1930e3d00ecd [gaim-migrate @ 7838]
Nathan Walp <nwalp@pidgin.im>
parents: 7199
diff changeset
962 const char *who;
5309
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
963
8808
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
964 session = gc->proto_data;
9193
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
965 userlist = session->userlist;
9285
7a8aa87164ae [gaim-migrate @ 10088]
Mark Doliner <mark@kingant.net>
parents: 9246
diff changeset
966 who = msn_normalize(gc->account, buddy->name);
5309
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
967
9363
997c28571364 [gaim-migrate @ 10171]
Christian Hammond <chipx86@chipx86.com>
parents: 9318
diff changeset
968 if (!session->logged_in)
10044
86a6d78b070b [gaim-migrate @ 11003]
Luke Schierer <lschiere@pidgin.im>
parents: 9967
diff changeset
969 {
11992
c824e39db0e7 [gaim-migrate @ 14285]
Stu Tomlinson <stu@nosnilmot.com>
parents: 11920
diff changeset
970 #if 0
10044
86a6d78b070b [gaim-migrate @ 11003]
Luke Schierer <lschiere@pidgin.im>
parents: 9967
diff changeset
971 fake_userlist_add_buddy(session->sync_userlist, who, MSN_LIST_FL,
86a6d78b070b [gaim-migrate @ 11003]
Luke Schierer <lschiere@pidgin.im>
parents: 9967
diff changeset
972 group ? group->name : NULL);
11992
c824e39db0e7 [gaim-migrate @ 14285]
Stu Tomlinson <stu@nosnilmot.com>
parents: 11920
diff changeset
973 #else
c824e39db0e7 [gaim-migrate @ 14285]
Stu Tomlinson <stu@nosnilmot.com>
parents: 11920
diff changeset
974 gaim_debug_error("msn", "msn_add_buddy called before connected\n");
c824e39db0e7 [gaim-migrate @ 14285]
Stu Tomlinson <stu@nosnilmot.com>
parents: 11920
diff changeset
975 #endif
10044
86a6d78b070b [gaim-migrate @ 11003]
Luke Schierer <lschiere@pidgin.im>
parents: 9967
diff changeset
976
9363
997c28571364 [gaim-migrate @ 10171]
Christian Hammond <chipx86@chipx86.com>
parents: 9318
diff changeset
977 return;
10044
86a6d78b070b [gaim-migrate @ 11003]
Luke Schierer <lschiere@pidgin.im>
parents: 9967
diff changeset
978 }
9363
997c28571364 [gaim-migrate @ 10171]
Christian Hammond <chipx86@chipx86.com>
parents: 9318
diff changeset
979
10044
86a6d78b070b [gaim-migrate @ 11003]
Luke Schierer <lschiere@pidgin.im>
parents: 9967
diff changeset
980 #if 0
9290
2e5faf12a24c [gaim-migrate @ 10093]
Christian Hammond <chipx86@chipx86.com>
parents: 9285
diff changeset
981 if (group != NULL && group->name != NULL)
9193
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
982 gaim_debug_info("msn", "msn_add_buddy: %s, %s\n", who, group->name);
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
983 else
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
984 gaim_debug_info("msn", "msn_add_buddy: %s\n", who);
10044
86a6d78b070b [gaim-migrate @ 11003]
Luke Schierer <lschiere@pidgin.im>
parents: 9967
diff changeset
985 #endif
5309
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
986
9193
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
987 #if 0
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
988 /* Which is the max? */
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
989 if (session->fl_users_count >= 150)
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
990 {
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
991 gaim_debug_info("msn", "Too many buddies\n");
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
992 /* Buddy list full */
9285
7a8aa87164ae [gaim-migrate @ 10088]
Mark Doliner <mark@kingant.net>
parents: 9246
diff changeset
993 /* TODO: gaim should be notified of this */
9193
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
994 return;
5309
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
995 }
9193
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
996 #endif
9198
ab6636c5a136 [gaim-migrate @ 9993]
Christian Hammond <chipx86@chipx86.com>
parents: 9193
diff changeset
997
10044
86a6d78b070b [gaim-migrate @ 11003]
Luke Schierer <lschiere@pidgin.im>
parents: 9967
diff changeset
998 /* XXX - Would group ever be NULL here? I don't think so...
86a6d78b070b [gaim-migrate @ 11003]
Luke Schierer <lschiere@pidgin.im>
parents: 9967
diff changeset
999 * shx: Yes it should; MSN handles non-grouped buddies, and this is only
86a6d78b070b [gaim-migrate @ 11003]
Luke Schierer <lschiere@pidgin.im>
parents: 9967
diff changeset
1000 * internal. */
9193
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
1001 msn_userlist_add_buddy(userlist, who, MSN_LIST_FL,
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
1002 group ? group->name : NULL);
5309
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1003 }
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1004
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1005 static void
9285
7a8aa87164ae [gaim-migrate @ 10088]
Mark Doliner <mark@kingant.net>
parents: 9246
diff changeset
1006 msn_rem_buddy(GaimConnection *gc, GaimBuddy *buddy, GaimGroup *group)
5309
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1007 {
8808
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
1008 MsnSession *session;
9193
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
1009 MsnUserList *userlist;
9198
ab6636c5a136 [gaim-migrate @ 9993]
Christian Hammond <chipx86@chipx86.com>
parents: 9193
diff changeset
1010
8808
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
1011 session = gc->proto_data;
9193
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
1012 userlist = session->userlist;
9091
97a1fb329cd2 [gaim-migrate @ 9868]
Christian Hammond <chipx86@chipx86.com>
parents: 9086
diff changeset
1013
9363
997c28571364 [gaim-migrate @ 10171]
Christian Hammond <chipx86@chipx86.com>
parents: 9318
diff changeset
1014 if (!session->logged_in)
997c28571364 [gaim-migrate @ 10171]
Christian Hammond <chipx86@chipx86.com>
parents: 9318
diff changeset
1015 return;
997c28571364 [gaim-migrate @ 10171]
Christian Hammond <chipx86@chipx86.com>
parents: 9318
diff changeset
1016
9285
7a8aa87164ae [gaim-migrate @ 10088]
Mark Doliner <mark@kingant.net>
parents: 9246
diff changeset
1017 /* XXX - Does buddy->name need to be msn_normalize'd here? --KingAnt */
7a8aa87164ae [gaim-migrate @ 10088]
Mark Doliner <mark@kingant.net>
parents: 9246
diff changeset
1018 msn_userlist_rem_buddy(userlist, buddy->name, MSN_LIST_FL, group->name);
2086
424a40f12a6c [gaim-migrate @ 2096]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
1019 }
424a40f12a6c [gaim-migrate @ 2096]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
1020
5309
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1021 static void
5564
187c740f2a4e [gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents: 5518
diff changeset
1022 msn_add_permit(GaimConnection *gc, const char *who)
2086
424a40f12a6c [gaim-migrate @ 2096]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
1023 {
8808
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
1024 MsnSession *session;
9193
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
1025 MsnUserList *userlist;
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
1026 MsnUser *user;
8808
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
1027
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
1028 session = gc->proto_data;
9193
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
1029 userlist = session->userlist;
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
1030 user = msn_userlist_find_user(userlist, who);
5309
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1031
9363
997c28571364 [gaim-migrate @ 10171]
Christian Hammond <chipx86@chipx86.com>
parents: 9318
diff changeset
1032 if (!session->logged_in)
997c28571364 [gaim-migrate @ 10171]
Christian Hammond <chipx86@chipx86.com>
parents: 9318
diff changeset
1033 return;
997c28571364 [gaim-migrate @ 10171]
Christian Hammond <chipx86@chipx86.com>
parents: 9318
diff changeset
1034
997c28571364 [gaim-migrate @ 10171]
Christian Hammond <chipx86@chipx86.com>
parents: 9318
diff changeset
1035 if (user != NULL && user->list_op & MSN_LIST_BL_OP)
9193
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
1036 msn_userlist_rem_buddy(userlist, who, MSN_LIST_BL, NULL);
9198
ab6636c5a136 [gaim-migrate @ 9993]
Christian Hammond <chipx86@chipx86.com>
parents: 9193
diff changeset
1037
9193
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
1038 msn_userlist_add_buddy(userlist, who, MSN_LIST_AL, NULL);
5309
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1039 }
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1040
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1041 static void
5564
187c740f2a4e [gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents: 5518
diff changeset
1042 msn_add_deny(GaimConnection *gc, const char *who)
5309
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1043 {
8808
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
1044 MsnSession *session;
9193
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
1045 MsnUserList *userlist;
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
1046 MsnUser *user;
9198
ab6636c5a136 [gaim-migrate @ 9993]
Christian Hammond <chipx86@chipx86.com>
parents: 9193
diff changeset
1047
8808
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
1048 session = gc->proto_data;
9193
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
1049 userlist = session->userlist;
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
1050 user = msn_userlist_find_user(userlist, who);
5309
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1051
9363
997c28571364 [gaim-migrate @ 10171]
Christian Hammond <chipx86@chipx86.com>
parents: 9318
diff changeset
1052 if (!session->logged_in)
997c28571364 [gaim-migrate @ 10171]
Christian Hammond <chipx86@chipx86.com>
parents: 9318
diff changeset
1053 return;
997c28571364 [gaim-migrate @ 10171]
Christian Hammond <chipx86@chipx86.com>
parents: 9318
diff changeset
1054
997c28571364 [gaim-migrate @ 10171]
Christian Hammond <chipx86@chipx86.com>
parents: 9318
diff changeset
1055 if (user != NULL && user->list_op & MSN_LIST_AL_OP)
9193
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
1056 msn_userlist_rem_buddy(userlist, who, MSN_LIST_AL, NULL);
5309
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1057
9193
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
1058 msn_userlist_add_buddy(userlist, who, MSN_LIST_BL, NULL);
2086
424a40f12a6c [gaim-migrate @ 2096]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
1059 }
424a40f12a6c [gaim-migrate @ 2096]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
1060
5309
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1061 static void
5564
187c740f2a4e [gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents: 5518
diff changeset
1062 msn_rem_permit(GaimConnection *gc, const char *who)
2086
424a40f12a6c [gaim-migrate @ 2096]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
1063 {
8808
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
1064 MsnSession *session;
9193
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
1065 MsnUserList *userlist;
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
1066 MsnUser *user;
9198
ab6636c5a136 [gaim-migrate @ 9993]
Christian Hammond <chipx86@chipx86.com>
parents: 9193
diff changeset
1067
8808
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
1068 session = gc->proto_data;
9193
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
1069 userlist = session->userlist;
8808
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
1070
9363
997c28571364 [gaim-migrate @ 10171]
Christian Hammond <chipx86@chipx86.com>
parents: 9318
diff changeset
1071 if (!session->logged_in)
997c28571364 [gaim-migrate @ 10171]
Christian Hammond <chipx86@chipx86.com>
parents: 9318
diff changeset
1072 return;
997c28571364 [gaim-migrate @ 10171]
Christian Hammond <chipx86@chipx86.com>
parents: 9318
diff changeset
1073
9193
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
1074 user = msn_userlist_find_user(userlist, who);
9198
ab6636c5a136 [gaim-migrate @ 9993]
Christian Hammond <chipx86@chipx86.com>
parents: 9193
diff changeset
1075
9193
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
1076 msn_userlist_rem_buddy(userlist, who, MSN_LIST_AL, NULL);
2086
424a40f12a6c [gaim-migrate @ 2096]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
1077
9363
997c28571364 [gaim-migrate @ 10171]
Christian Hammond <chipx86@chipx86.com>
parents: 9318
diff changeset
1078 if (user != NULL && user->list_op & MSN_LIST_RL_OP)
9193
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
1079 msn_userlist_add_buddy(userlist, who, MSN_LIST_BL, NULL);
2086
424a40f12a6c [gaim-migrate @ 2096]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
1080 }
424a40f12a6c [gaim-migrate @ 2096]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
1081
12323
fc464a0abccc [gaim-migrate @ 14627]
Richard Laager <rlaager@wiktel.com>
parents: 12318
diff changeset
1082 static void
5564
187c740f2a4e [gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents: 5518
diff changeset
1083 msn_rem_deny(GaimConnection *gc, const char *who)
2086
424a40f12a6c [gaim-migrate @ 2096]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
1084 {
8808
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
1085 MsnSession *session;
9193
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
1086 MsnUserList *userlist;
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
1087 MsnUser *user;
9198
ab6636c5a136 [gaim-migrate @ 9993]
Christian Hammond <chipx86@chipx86.com>
parents: 9193
diff changeset
1088
8808
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
1089 session = gc->proto_data;
9193
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
1090 userlist = session->userlist;
8808
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
1091
9363
997c28571364 [gaim-migrate @ 10171]
Christian Hammond <chipx86@chipx86.com>
parents: 9318
diff changeset
1092 if (!session->logged_in)
997c28571364 [gaim-migrate @ 10171]
Christian Hammond <chipx86@chipx86.com>
parents: 9318
diff changeset
1093 return;
997c28571364 [gaim-migrate @ 10171]
Christian Hammond <chipx86@chipx86.com>
parents: 9318
diff changeset
1094
9193
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
1095 user = msn_userlist_find_user(userlist, who);
2213
a226ebf4be47 [gaim-migrate @ 2223]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2210
diff changeset
1096
9193
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
1097 msn_userlist_rem_buddy(userlist, who, MSN_LIST_BL, NULL);
7563
cb9c3b6d6de9 [gaim-migrate @ 8179]
Christian Hammond <chipx86@chipx86.com>
parents: 7469
diff changeset
1098
9363
997c28571364 [gaim-migrate @ 10171]
Christian Hammond <chipx86@chipx86.com>
parents: 9318
diff changeset
1099 if (user != NULL && user->list_op & MSN_LIST_RL_OP)
9193
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
1100 msn_userlist_add_buddy(userlist, who, MSN_LIST_AL, NULL);
2597
2ced57c58653 [gaim-migrate @ 2610]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2591
diff changeset
1101 }
2ced57c58653 [gaim-migrate @ 2610]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2591
diff changeset
1102
5309
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1103 static void
5564
187c740f2a4e [gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents: 5518
diff changeset
1104 msn_set_permit_deny(GaimConnection *gc)
2597
2ced57c58653 [gaim-migrate @ 2610]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2591
diff changeset
1105 {
8808
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
1106 GaimAccount *account;
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
1107 MsnSession *session;
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
1108 MsnCmdProc *cmdproc;
2597
2ced57c58653 [gaim-migrate @ 2610]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2591
diff changeset
1109
8808
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
1110 account = gaim_connection_get_account(gc);
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
1111 session = gc->proto_data;
9193
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
1112 cmdproc = session->notification->cmdproc;
8808
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
1113
8175
f347c8d25cf5 [gaim-migrate @ 8889]
Mark Doliner <mark@kingant.net>
parents: 8170
diff changeset
1114 if (account->perm_deny == GAIM_PRIVACY_ALLOW_ALL ||
8808
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
1115 account->perm_deny == GAIM_PRIVACY_DENY_USERS)
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
1116 {
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
1117 msn_cmdproc_send(cmdproc, "BLP", "%s", "AL");
5309
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1118 }
2597
2ced57c58653 [gaim-migrate @ 2610]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2591
diff changeset
1119 else
8808
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
1120 {
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
1121 msn_cmdproc_send(cmdproc, "BLP", "%s", "BL");
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
1122 }
2597
2ced57c58653 [gaim-migrate @ 2610]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2591
diff changeset
1123 }
2ced57c58653 [gaim-migrate @ 2610]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2591
diff changeset
1124
5309
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1125 static void
5564
187c740f2a4e [gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents: 5518
diff changeset
1126 msn_chat_invite(GaimConnection *gc, int id, const char *msg,
5309
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1127 const char *who)
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1128 {
8808
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
1129 MsnSession *session;
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
1130 MsnSwitchBoard *swboard;
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
1131
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
1132 session = gc->proto_data;
9158
c30d81b4dd22 [gaim-migrate @ 9942]
Christian Hammond <chipx86@chipx86.com>
parents: 9092
diff changeset
1133
10621
fe919915fceb [gaim-migrate @ 12090]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10602
diff changeset
1134 swboard = msn_session_find_swboard_with_id(session, id);
5309
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1135
10533
ace8cd0de6ea [gaim-migrate @ 11862]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10504
diff changeset
1136 if (swboard == NULL)
ace8cd0de6ea [gaim-migrate @ 11862]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10504
diff changeset
1137 {
ace8cd0de6ea [gaim-migrate @ 11862]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10504
diff changeset
1138 /* if we have no switchboard, everyone else left the chat already */
ace8cd0de6ea [gaim-migrate @ 11862]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10504
diff changeset
1139 swboard = msn_switchboard_new(session);
ace8cd0de6ea [gaim-migrate @ 11862]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10504
diff changeset
1140 msn_switchboard_request(swboard);
ace8cd0de6ea [gaim-migrate @ 11862]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10504
diff changeset
1141 swboard->chat_id = id;
ace8cd0de6ea [gaim-migrate @ 11862]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10504
diff changeset
1142 swboard->conv = gaim_find_chat(gc, id);
ace8cd0de6ea [gaim-migrate @ 11862]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10504
diff changeset
1143 }
5309
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1144
10773
888d4c328be5 [gaim-migrate @ 12382]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10738
diff changeset
1145 swboard->flag |= MSN_SB_FLAG_IM;
888d4c328be5 [gaim-migrate @ 12382]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10738
diff changeset
1146
10533
ace8cd0de6ea [gaim-migrate @ 11862]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10504
diff changeset
1147 msn_switchboard_request_add_user(swboard, who);
5309
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1148 }
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1149
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1150 static void
5564
187c740f2a4e [gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents: 5518
diff changeset
1151 msn_chat_leave(GaimConnection *gc, int id)
5309
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1152 {
8808
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
1153 MsnSession *session;
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
1154 MsnSwitchBoard *swboard;
10621
fe919915fceb [gaim-migrate @ 12090]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10602
diff changeset
1155 GaimConversation *conv;
5309
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1156
8808
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
1157 session = gc->proto_data;
9193
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
1158
10621
fe919915fceb [gaim-migrate @ 12090]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10602
diff changeset
1159 swboard = msn_session_find_swboard_with_id(session, id);
10533
ace8cd0de6ea [gaim-migrate @ 11862]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10504
diff changeset
1160
ace8cd0de6ea [gaim-migrate @ 11862]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10504
diff changeset
1161 /* if swboard is NULL we were the only person left anyway */
ace8cd0de6ea [gaim-migrate @ 11862]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10504
diff changeset
1162 if (swboard == NULL)
ace8cd0de6ea [gaim-migrate @ 11862]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10504
diff changeset
1163 return;
8808
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
1164
10621
fe919915fceb [gaim-migrate @ 12090]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10602
diff changeset
1165 conv = swboard->conv;
fe919915fceb [gaim-migrate @ 12090]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10602
diff changeset
1166
10773
888d4c328be5 [gaim-migrate @ 12382]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10738
diff changeset
1167 msn_switchboard_release(swboard, MSN_SB_FLAG_IM);
10621
fe919915fceb [gaim-migrate @ 12090]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10602
diff changeset
1168
fe919915fceb [gaim-migrate @ 12090]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10602
diff changeset
1169 /* If other switchboards managed to associate themselves with this
fe919915fceb [gaim-migrate @ 12090]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10602
diff changeset
1170 * conv, make sure they know it's gone! */
fe919915fceb [gaim-migrate @ 12090]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10602
diff changeset
1171 if (conv != NULL)
fe919915fceb [gaim-migrate @ 12090]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10602
diff changeset
1172 {
fe919915fceb [gaim-migrate @ 12090]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10602
diff changeset
1173 while ((swboard = msn_session_find_swboard_with_conv(session, conv)) != NULL)
fe919915fceb [gaim-migrate @ 12090]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10602
diff changeset
1174 swboard->conv = NULL;
fe919915fceb [gaim-migrate @ 12090]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10602
diff changeset
1175 }
5309
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1176 }
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1177
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1178 static int
12216
4d3119205a33 [gaim-migrate @ 14518]
Stu Tomlinson <stu@nosnilmot.com>
parents: 12161
diff changeset
1179 msn_chat_send(GaimConnection *gc, int id, const char *message, GaimMessageFlags flags)
2597
2ced57c58653 [gaim-migrate @ 2610]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2591
diff changeset
1180 {
8808
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
1181 GaimAccount *account;
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
1182 MsnSession *session;
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
1183 MsnSwitchBoard *swboard;
5309
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1184 MsnMessage *msg;
8922
9a62b8e3b23b [gaim-migrate @ 9692]
Luke Schierer <lschiere@pidgin.im>
parents: 8808
diff changeset
1185 char *msgformat;
9a62b8e3b23b [gaim-migrate @ 9692]
Luke Schierer <lschiere@pidgin.im>
parents: 8808
diff changeset
1186 char *msgtext;
5309
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1187
8808
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
1188 account = gaim_connection_get_account(gc);
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
1189 session = gc->proto_data;
10621
fe919915fceb [gaim-migrate @ 12090]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10602
diff changeset
1190 swboard = msn_session_find_swboard_with_id(session, id);
8808
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
1191
5309
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1192 if (swboard == NULL)
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1193 return -EINVAL;
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1194
10345
2e01c503aa4f [gaim-migrate @ 11556]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10306
diff changeset
1195 if (!swboard->ready)
2e01c503aa4f [gaim-migrate @ 11556]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10306
diff changeset
1196 return 0;
10274
3016b1b32339 [gaim-migrate @ 11424]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10225
diff changeset
1197
10773
888d4c328be5 [gaim-migrate @ 12382]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10738
diff changeset
1198 swboard->flag |= MSN_SB_FLAG_IM;
888d4c328be5 [gaim-migrate @ 12382]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10738
diff changeset
1199
10345
2e01c503aa4f [gaim-migrate @ 11556]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10306
diff changeset
1200 msn_import_html(message, &msgformat, &msgtext);
10274
3016b1b32339 [gaim-migrate @ 11424]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10225
diff changeset
1201
10345
2e01c503aa4f [gaim-migrate @ 11556]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10306
diff changeset
1202 if (strlen(msgtext) + strlen(msgformat) + strlen(VERSION) > 1564)
2e01c503aa4f [gaim-migrate @ 11556]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10306
diff changeset
1203 {
9193
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
1204 g_free(msgformat);
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
1205 g_free(msgtext);
5309
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1206
10345
2e01c503aa4f [gaim-migrate @ 11556]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10306
diff changeset
1207 return -E2BIG;
9193
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
1208 }
5309
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1209
10345
2e01c503aa4f [gaim-migrate @ 11556]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10306
diff changeset
1210 msg = msn_message_new_plain(msgtext);
2e01c503aa4f [gaim-migrate @ 11556]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10306
diff changeset
1211 msn_message_set_attr(msg, "X-MMS-IM-Format", msgformat);
10481
bcfea6c3d5c9 [gaim-migrate @ 11769]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10463
diff changeset
1212 msn_switchboard_send_msg(swboard, msg, FALSE);
10345
2e01c503aa4f [gaim-migrate @ 11556]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10306
diff changeset
1213 msn_message_destroy(msg);
2e01c503aa4f [gaim-migrate @ 11556]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10306
diff changeset
1214
2e01c503aa4f [gaim-migrate @ 11556]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10306
diff changeset
1215 g_free(msgformat);
2e01c503aa4f [gaim-migrate @ 11556]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10306
diff changeset
1216 g_free(msgtext);
2e01c503aa4f [gaim-migrate @ 11556]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10306
diff changeset
1217
2e01c503aa4f [gaim-migrate @ 11556]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10306
diff changeset
1218 serv_got_chat_in(gc, id, gaim_account_get_username(account), 0,
2e01c503aa4f [gaim-migrate @ 11556]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10306
diff changeset
1219 message, time(NULL));
2e01c503aa4f [gaim-migrate @ 11556]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10306
diff changeset
1220
5309
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1221 return 0;
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1222 }
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1223
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1224 static void
5564
187c740f2a4e [gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents: 5518
diff changeset
1225 msn_keepalive(GaimConnection *gc)
5309
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1226 {
8808
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
1227 MsnSession *session;
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
1228
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
1229 session = gc->proto_data;
10481
bcfea6c3d5c9 [gaim-migrate @ 11769]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10463
diff changeset
1230
10602
f52ab405f1ab [gaim-migrate @ 12032]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10589
diff changeset
1231 if (!session->http_method)
f52ab405f1ab [gaim-migrate @ 12032]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10589
diff changeset
1232 {
f52ab405f1ab [gaim-migrate @ 12032]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10589
diff changeset
1233 MsnCmdProc *cmdproc;
2597
2ced57c58653 [gaim-migrate @ 2610]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2591
diff changeset
1234
10602
f52ab405f1ab [gaim-migrate @ 12032]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10589
diff changeset
1235 cmdproc = session->notification->cmdproc;
f52ab405f1ab [gaim-migrate @ 12032]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10589
diff changeset
1236
8808
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
1237 msn_cmdproc_send_quick(cmdproc, "PNG", NULL, NULL);
10602
f52ab405f1ab [gaim-migrate @ 12032]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10589
diff changeset
1238 }
2597
2ced57c58653 [gaim-migrate @ 2610]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2591
diff changeset
1239 }
2ced57c58653 [gaim-migrate @ 2610]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2591
diff changeset
1240
5309
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1241 static void
5564
187c740f2a4e [gaim-migrate @ 5966]
Christian Hammond <chipx86@chipx86.com>
parents: 5518
diff changeset
1242 msn_group_buddy(GaimConnection *gc, const char *who,
5518
bf2a7a7b739d [gaim-migrate @ 5918]
Christian Hammond <chipx86@chipx86.com>
parents: 5507
diff changeset
1243 const char *old_group_name, const char *new_group_name)
5318
bd98232872a3 [gaim-migrate @ 5690]
Christian Hammond <chipx86@chipx86.com>
parents: 5309
diff changeset
1244 {
8808
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
1245 MsnSession *session;
9193
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
1246 MsnUserList *userlist;
9198
ab6636c5a136 [gaim-migrate @ 9993]
Christian Hammond <chipx86@chipx86.com>
parents: 9193
diff changeset
1247
8808
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
1248 session = gc->proto_data;
9193
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
1249 userlist = session->userlist;
5518
bf2a7a7b739d [gaim-migrate @ 5918]
Christian Hammond <chipx86@chipx86.com>
parents: 5507
diff changeset
1250
9193
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
1251 msn_userlist_move_buddy(userlist, who, old_group_name, new_group_name);
5318
bd98232872a3 [gaim-migrate @ 5690]
Christian Hammond <chipx86@chipx86.com>
parents: 5309
diff changeset
1252 }
bd98232872a3 [gaim-migrate @ 5690]
Christian Hammond <chipx86@chipx86.com>
parents: 5309
diff changeset
1253
bd98232872a3 [gaim-migrate @ 5690]
Christian Hammond <chipx86@chipx86.com>
parents: 5309
diff changeset
1254 static void
9285
7a8aa87164ae [gaim-migrate @ 10088]
Mark Doliner <mark@kingant.net>
parents: 9246
diff changeset
1255 msn_rename_group(GaimConnection *gc, const char *old_name,
7a8aa87164ae [gaim-migrate @ 10088]
Mark Doliner <mark@kingant.net>
parents: 9246
diff changeset
1256 GaimGroup *group, GList *moved_buddies)
5318
bd98232872a3 [gaim-migrate @ 5690]
Christian Hammond <chipx86@chipx86.com>
parents: 5309
diff changeset
1257 {
8808
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
1258 MsnSession *session;
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
1259 MsnCmdProc *cmdproc;
9193
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
1260 int old_gid;
9158
c30d81b4dd22 [gaim-migrate @ 9942]
Christian Hammond <chipx86@chipx86.com>
parents: 9092
diff changeset
1261 const char *enc_new_group_name;
5318
bd98232872a3 [gaim-migrate @ 5690]
Christian Hammond <chipx86@chipx86.com>
parents: 5309
diff changeset
1262
8808
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
1263 session = gc->proto_data;
9193
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
1264 cmdproc = session->notification->cmdproc;
9285
7a8aa87164ae [gaim-migrate @ 10088]
Mark Doliner <mark@kingant.net>
parents: 9246
diff changeset
1265 enc_new_group_name = gaim_url_encode(group->name);
8808
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
1266
9285
7a8aa87164ae [gaim-migrate @ 10088]
Mark Doliner <mark@kingant.net>
parents: 9246
diff changeset
1267 old_gid = msn_userlist_find_group_id(session->userlist, old_name);
9193
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
1268
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
1269 if (old_gid >= 0)
8808
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
1270 {
9193
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
1271 msn_cmdproc_send(cmdproc, "REG", "%d %s 0", old_gid,
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
1272 enc_new_group_name);
5318
bd98232872a3 [gaim-migrate @ 5690]
Christian Hammond <chipx86@chipx86.com>
parents: 5309
diff changeset
1273 }
8808
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
1274 else
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
1275 {
9158
c30d81b4dd22 [gaim-migrate @ 9942]
Christian Hammond <chipx86@chipx86.com>
parents: 9092
diff changeset
1276 msn_cmdproc_send(cmdproc, "ADG", "%s 0", enc_new_group_name);
5318
bd98232872a3 [gaim-migrate @ 5690]
Christian Hammond <chipx86@chipx86.com>
parents: 5309
diff changeset
1277 }
bd98232872a3 [gaim-migrate @ 5690]
Christian Hammond <chipx86@chipx86.com>
parents: 5309
diff changeset
1278 }
bd98232872a3 [gaim-migrate @ 5690]
Christian Hammond <chipx86@chipx86.com>
parents: 5309
diff changeset
1279
bd98232872a3 [gaim-migrate @ 5690]
Christian Hammond <chipx86@chipx86.com>
parents: 5309
diff changeset
1280 static void
6059
d8cd876e613e [gaim-migrate @ 6509]
Mark Doliner <mark@kingant.net>
parents: 6035
diff changeset
1281 msn_convo_closed(GaimConnection *gc, const char *who)
5309
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1282 {
8808
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
1283 MsnSession *session;
5309
e2e53316a21d [gaim-migrate @ 5681]
Christian Hammond <chipx86@chipx86.com>
parents: 5221
diff changeset
1284 MsnSwitchBoard *swboard;
10621
fe919915fceb [gaim-migrate @ 12090]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10602
diff changeset
1285 GaimConversation *conv;
6026
01dd6b652c22 [gaim-migrate @ 6476]
Christian Hammond <chipx86@chipx86.com>
parents: 6024
diff changeset
1286
8808
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
1287 session = gc->proto_data;
9158
c30d81b4dd22 [gaim-migrate @ 9942]
Christian Hammond <chipx86@chipx86.com>
parents: 9092
diff changeset
1288
10621
fe919915fceb [gaim-migrate @ 12090]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10602
diff changeset
1289 swboard = msn_session_find_swboard(session, who);
9193
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
1290
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
1291 /*
10602
f52ab405f1ab [gaim-migrate @ 12032]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10589
diff changeset
1292 * Don't perform an assertion here. If swboard is NULL, then the
9193
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
1293 * switchboard was either closed by the other party, or the person
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
1294 * is talking to himself.
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
1295 */
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
1296 if (swboard == NULL)
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
1297 return;
4349
0c68d402f59f [gaim-migrate @ 4614]
Nathan Walp <nwalp@pidgin.im>
parents: 4333
diff changeset
1298
10621
fe919915fceb [gaim-migrate @ 12090]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10602
diff changeset
1299 conv = swboard->conv;
fe919915fceb [gaim-migrate @ 12090]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10602
diff changeset
1300
10773
888d4c328be5 [gaim-migrate @ 12382]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10738
diff changeset
1301 msn_switchboard_release(swboard, MSN_SB_FLAG_IM);
10621
fe919915fceb [gaim-migrate @ 12090]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10602
diff changeset
1302
fe919915fceb [gaim-migrate @ 12090]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10602
diff changeset
1303 /* If other switchboards managed to associate themselves with this
fe919915fceb [gaim-migrate @ 12090]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10602
diff changeset
1304 * conv, make sure they know it's gone! */
fe919915fceb [gaim-migrate @ 12090]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10602
diff changeset
1305 if (conv != NULL)
fe919915fceb [gaim-migrate @ 12090]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10602
diff changeset
1306 {
fe919915fceb [gaim-migrate @ 12090]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10602
diff changeset
1307 while ((swboard = msn_session_find_swboard_with_conv(session, conv)) != NULL)
fe919915fceb [gaim-migrate @ 12090]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10602
diff changeset
1308 swboard->conv = NULL;
fe919915fceb [gaim-migrate @ 12090]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10602
diff changeset
1309 }
2597
2ced57c58653 [gaim-migrate @ 2610]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2591
diff changeset
1310 }
2ced57c58653 [gaim-migrate @ 2610]
Eric Warmenhoven <eric@warmenhoven.org>
parents: 2591
diff changeset
1311
6516
7c14b35bc984 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
1312 static void
7590
3a48ade4f510 [gaim-migrate @ 8208]
Christian Hammond <chipx86@chipx86.com>
parents: 7563
diff changeset
1313 msn_set_buddy_icon(GaimConnection *gc, const char *filename)
3a48ade4f510 [gaim-migrate @ 8208]
Christian Hammond <chipx86@chipx86.com>
parents: 7563
diff changeset
1314 {
9158
c30d81b4dd22 [gaim-migrate @ 9942]
Christian Hammond <chipx86@chipx86.com>
parents: 9092
diff changeset
1315 MsnSession *session;
c30d81b4dd22 [gaim-migrate @ 9942]
Christian Hammond <chipx86@chipx86.com>
parents: 9092
diff changeset
1316 MsnUser *user;
c30d81b4dd22 [gaim-migrate @ 9942]
Christian Hammond <chipx86@chipx86.com>
parents: 9092
diff changeset
1317
c30d81b4dd22 [gaim-migrate @ 9942]
Christian Hammond <chipx86@chipx86.com>
parents: 9092
diff changeset
1318 session = gc->proto_data;
c30d81b4dd22 [gaim-migrate @ 9942]
Christian Hammond <chipx86@chipx86.com>
parents: 9092
diff changeset
1319 user = session->user;
7590
3a48ade4f510 [gaim-migrate @ 8208]
Christian Hammond <chipx86@chipx86.com>
parents: 7563
diff changeset
1320
3a48ade4f510 [gaim-migrate @ 8208]
Christian Hammond <chipx86@chipx86.com>
parents: 7563
diff changeset
1321 msn_user_set_buddy_icon(user, filename);
3a48ade4f510 [gaim-migrate @ 8208]
Christian Hammond <chipx86@chipx86.com>
parents: 7563
diff changeset
1322
11992
c824e39db0e7 [gaim-migrate @ 14285]
Stu Tomlinson <stu@nosnilmot.com>
parents: 11920
diff changeset
1323 msn_change_status(session);
7590
3a48ade4f510 [gaim-migrate @ 8208]
Christian Hammond <chipx86@chipx86.com>
parents: 7563
diff changeset
1324 }
3a48ade4f510 [gaim-migrate @ 8208]
Christian Hammond <chipx86@chipx86.com>
parents: 7563
diff changeset
1325
3a48ade4f510 [gaim-migrate @ 8208]
Christian Hammond <chipx86@chipx86.com>
parents: 7563
diff changeset
1326 static void
9285
7a8aa87164ae [gaim-migrate @ 10088]
Mark Doliner <mark@kingant.net>
parents: 9246
diff changeset
1327 msn_remove_group(GaimConnection *gc, GaimGroup *group)
6885
66dd420d3d23 [gaim-migrate @ 7431]
Christian Hammond <chipx86@chipx86.com>
parents: 6859
diff changeset
1328 {
8808
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
1329 MsnSession *session;
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
1330 MsnCmdProc *cmdproc;
9193
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
1331 int group_id;
6885
66dd420d3d23 [gaim-migrate @ 7431]
Christian Hammond <chipx86@chipx86.com>
parents: 6859
diff changeset
1332
8808
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
1333 session = gc->proto_data;
9193
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
1334 cmdproc = session->notification->cmdproc;
8808
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
1335
9285
7a8aa87164ae [gaim-migrate @ 10088]
Mark Doliner <mark@kingant.net>
parents: 9246
diff changeset
1336 if ((group_id = msn_userlist_find_group_id(session->userlist, group->name)) >= 0)
6885
66dd420d3d23 [gaim-migrate @ 7431]
Christian Hammond <chipx86@chipx86.com>
parents: 6859
diff changeset
1337 {
9193
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
1338 msn_cmdproc_send(cmdproc, "RMG", "%d", group_id);
6885
66dd420d3d23 [gaim-migrate @ 7431]
Christian Hammond <chipx86@chipx86.com>
parents: 6859
diff changeset
1339 }
66dd420d3d23 [gaim-migrate @ 7431]
Christian Hammond <chipx86@chipx86.com>
parents: 6859
diff changeset
1340 }
66dd420d3d23 [gaim-migrate @ 7431]
Christian Hammond <chipx86@chipx86.com>
parents: 6859
diff changeset
1341
9243
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1342 static char *
10044
86a6d78b070b [gaim-migrate @ 11003]
Luke Schierer <lschiere@pidgin.im>
parents: 9967
diff changeset
1343 msn_tooltip_info_text(MsnGetInfoData *info_data)
86a6d78b070b [gaim-migrate @ 11003]
Luke Schierer <lschiere@pidgin.im>
parents: 9967
diff changeset
1344 {
86a6d78b070b [gaim-migrate @ 11003]
Luke Schierer <lschiere@pidgin.im>
parents: 9967
diff changeset
1345 GString *s;
9243
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1346 GaimBuddy *b;
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1347
10044
86a6d78b070b [gaim-migrate @ 11003]
Luke Schierer <lschiere@pidgin.im>
parents: 9967
diff changeset
1348 s = g_string_sized_new(80); /* wild guess */
86a6d78b070b [gaim-migrate @ 11003]
Luke Schierer <lschiere@pidgin.im>
parents: 9967
diff changeset
1349
9243
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1350 b = gaim_find_buddy(gaim_connection_get_account(info_data->gc),
10044
86a6d78b070b [gaim-migrate @ 11003]
Luke Schierer <lschiere@pidgin.im>
parents: 9967
diff changeset
1351 info_data->name);
9243
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1352
10044
86a6d78b070b [gaim-migrate @ 11003]
Luke Schierer <lschiere@pidgin.im>
parents: 9967
diff changeset
1353 if (b)
86a6d78b070b [gaim-migrate @ 11003]
Luke Schierer <lschiere@pidgin.im>
parents: 9967
diff changeset
1354 {
12970
ec9b92104904 [gaim-migrate @ 15323]
Richard Laager <rlaager@wiktel.com>
parents: 12948
diff changeset
1355 GString *str = g_string_new("");
ec9b92104904 [gaim-migrate @ 15323]
Richard Laager <rlaager@wiktel.com>
parents: 12948
diff changeset
1356 char *tmp;
10044
86a6d78b070b [gaim-migrate @ 11003]
Luke Schierer <lschiere@pidgin.im>
parents: 9967
diff changeset
1357
86a6d78b070b [gaim-migrate @ 11003]
Luke Schierer <lschiere@pidgin.im>
parents: 9967
diff changeset
1358 if (b->alias && b->alias[0])
86a6d78b070b [gaim-migrate @ 11003]
Luke Schierer <lschiere@pidgin.im>
parents: 9967
diff changeset
1359 {
9243
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1360 char *aliastext = g_markup_escape_text(b->alias, -1);
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1361 g_string_append_printf(s, _("<b>Alias:</b> %s<br>"), aliastext);
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1362 g_free(aliastext);
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1363 }
10044
86a6d78b070b [gaim-migrate @ 11003]
Luke Schierer <lschiere@pidgin.im>
parents: 9967
diff changeset
1364
86a6d78b070b [gaim-migrate @ 11003]
Luke Schierer <lschiere@pidgin.im>
parents: 9967
diff changeset
1365 if (b->server_alias)
86a6d78b070b [gaim-migrate @ 11003]
Luke Schierer <lschiere@pidgin.im>
parents: 9967
diff changeset
1366 {
9243
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1367 char *nicktext = g_markup_escape_text(b->server_alias, -1);
9510
2aed8d5cda1b [gaim-migrate @ 10337]
Tim Ringenbach <marv@pidgin.im>
parents: 9475
diff changeset
1368 g_string_append_printf(s, _("<b>%s:</b> "), _("Nickname"));
9684
fab73de5e494 [gaim-migrate @ 10536]
Mark Doliner <mark@kingant.net>
parents: 9569
diff changeset
1369 g_string_append_printf(s, "<font sml=\"msn\">%s</font><br>",
9243
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1370 nicktext);
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1371 g_free(nicktext);
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1372 }
10044
86a6d78b070b [gaim-migrate @ 11003]
Luke Schierer <lschiere@pidgin.im>
parents: 9967
diff changeset
1373
12970
ec9b92104904 [gaim-migrate @ 15323]
Richard Laager <rlaager@wiktel.com>
parents: 12948
diff changeset
1374 msn_tooltip_text(b, str, TRUE);
ec9b92104904 [gaim-migrate @ 15323]
Richard Laager <rlaager@wiktel.com>
parents: 12948
diff changeset
1375 tmp = gaim_strreplace((*str->str == '\n' ? str->str + 1 : str->str),
ec9b92104904 [gaim-migrate @ 15323]
Richard Laager <rlaager@wiktel.com>
parents: 12948
diff changeset
1376 "\n", "<br>");
ec9b92104904 [gaim-migrate @ 15323]
Richard Laager <rlaager@wiktel.com>
parents: 12948
diff changeset
1377 g_string_free(str, TRUE);
ec9b92104904 [gaim-migrate @ 15323]
Richard Laager <rlaager@wiktel.com>
parents: 12948
diff changeset
1378 g_string_append_printf(s, "%s<br>", tmp);
ec9b92104904 [gaim-migrate @ 15323]
Richard Laager <rlaager@wiktel.com>
parents: 12948
diff changeset
1379 g_free(tmp);
9243
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1380 }
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1381
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1382 return g_string_free(s, FALSE);
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1383 }
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1384
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1385 #if PHOTO_SUPPORT
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1386
10044
86a6d78b070b [gaim-migrate @ 11003]
Luke Schierer <lschiere@pidgin.im>
parents: 9967
diff changeset
1387 static char *
86a6d78b070b [gaim-migrate @ 11003]
Luke Schierer <lschiere@pidgin.im>
parents: 9967
diff changeset
1388 msn_get_photo_url(const char *url_text)
86a6d78b070b [gaim-migrate @ 11003]
Luke Schierer <lschiere@pidgin.im>
parents: 9967
diff changeset
1389 {
13390
9f95b44d561a [gaim-migrate @ 15763]
Stu Tomlinson <stu@nosnilmot.com>
parents: 13389
diff changeset
1390 char *p, *q;
9243
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1391
13390
9f95b44d561a [gaim-migrate @ 15763]
Stu Tomlinson <stu@nosnilmot.com>
parents: 13389
diff changeset
1392 if ((p = strstr(url_text, " contactparams:photopreauthurl=\"")) != NULL)
13389
b6772b3209c4 [gaim-migrate @ 15762]
Stu Tomlinson <stu@nosnilmot.com>
parents: 13296
diff changeset
1393 {
13390
9f95b44d561a [gaim-migrate @ 15763]
Stu Tomlinson <stu@nosnilmot.com>
parents: 13389
diff changeset
1394 p += strlen(" contactparams:photopreauthurl=\"");
13389
b6772b3209c4 [gaim-migrate @ 15762]
Stu Tomlinson <stu@nosnilmot.com>
parents: 13296
diff changeset
1395 }
9243
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1396
13390
9f95b44d561a [gaim-migrate @ 15763]
Stu Tomlinson <stu@nosnilmot.com>
parents: 13389
diff changeset
1397 if (p && (strncmp(p, "http://", 8) == 0) && ((q = strchr(p, '"')) != NULL))
9f95b44d561a [gaim-migrate @ 15763]
Stu Tomlinson <stu@nosnilmot.com>
parents: 13389
diff changeset
1398 return g_strndup(p, q - p);
13389
b6772b3209c4 [gaim-migrate @ 15762]
Stu Tomlinson <stu@nosnilmot.com>
parents: 13296
diff changeset
1399
13390
9f95b44d561a [gaim-migrate @ 15763]
Stu Tomlinson <stu@nosnilmot.com>
parents: 13389
diff changeset
1400 return NULL;
9243
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1401 }
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1402
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1403 static void msn_got_photo(void *data, const char *url_text, size_t len);
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1404
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1405 #endif
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1406
13389
b6772b3209c4 [gaim-migrate @ 15762]
Stu Tomlinson <stu@nosnilmot.com>
parents: 13296
diff changeset
1407 #if 0
13104
e1e5462b7d81 [gaim-migrate @ 15466]
Richard Laager <rlaager@wiktel.com>
parents: 13020
diff changeset
1408 static char *msn_info_date_reformat(const char *field, size_t len)
e1e5462b7d81 [gaim-migrate @ 15466]
Richard Laager <rlaager@wiktel.com>
parents: 13020
diff changeset
1409 {
e1e5462b7d81 [gaim-migrate @ 15466]
Richard Laager <rlaager@wiktel.com>
parents: 13020
diff changeset
1410 char *tmp = g_strndup(field, len);
13119
fcde3faa1f57 [gaim-migrate @ 15481]
Richard Laager <rlaager@wiktel.com>
parents: 13104
diff changeset
1411 time_t t = gaim_str_to_time(tmp, FALSE, NULL, NULL, NULL);
13104
e1e5462b7d81 [gaim-migrate @ 15466]
Richard Laager <rlaager@wiktel.com>
parents: 13020
diff changeset
1412
e1e5462b7d81 [gaim-migrate @ 15466]
Richard Laager <rlaager@wiktel.com>
parents: 13020
diff changeset
1413 g_free(tmp);
e1e5462b7d81 [gaim-migrate @ 15466]
Richard Laager <rlaager@wiktel.com>
parents: 13020
diff changeset
1414 return g_strdup(gaim_date_format_short(localtime(&t)));
e1e5462b7d81 [gaim-migrate @ 15466]
Richard Laager <rlaager@wiktel.com>
parents: 13020
diff changeset
1415 }
13389
b6772b3209c4 [gaim-migrate @ 15762]
Stu Tomlinson <stu@nosnilmot.com>
parents: 13296
diff changeset
1416 #endif
b6772b3209c4 [gaim-migrate @ 15762]
Stu Tomlinson <stu@nosnilmot.com>
parents: 13296
diff changeset
1417
b6772b3209c4 [gaim-migrate @ 15762]
Stu Tomlinson <stu@nosnilmot.com>
parents: 13296
diff changeset
1418 #define MSN_GOT_INFO_GET_FIELD(a, b) \
b6772b3209c4 [gaim-migrate @ 15762]
Stu Tomlinson <stu@nosnilmot.com>
parents: 13296
diff changeset
1419 found = gaim_markup_extract_info_field(stripped, stripped_len, s, \
b6772b3209c4 [gaim-migrate @ 15762]
Stu Tomlinson <stu@nosnilmot.com>
parents: 13296
diff changeset
1420 "\n" a "\t", 0, "\n", 0, "Undisclosed", b, 0, NULL, NULL); \
b6772b3209c4 [gaim-migrate @ 15762]
Stu Tomlinson <stu@nosnilmot.com>
parents: 13296
diff changeset
1421 if (found) \
b6772b3209c4 [gaim-migrate @ 15762]
Stu Tomlinson <stu@nosnilmot.com>
parents: 13296
diff changeset
1422 sect_info = TRUE;
13104
e1e5462b7d81 [gaim-migrate @ 15466]
Richard Laager <rlaager@wiktel.com>
parents: 13020
diff changeset
1423
6885
66dd420d3d23 [gaim-migrate @ 7431]
Christian Hammond <chipx86@chipx86.com>
parents: 6859
diff changeset
1424 static void
7094
2343c3aa1dec [gaim-migrate @ 7659]
Christian Hammond <chipx86@chipx86.com>
parents: 7062
diff changeset
1425 msn_got_info(void *data, const char *url_text, size_t len)
6516
7c14b35bc984 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
1426 {
7104
7700a28929bd [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1427 MsnGetInfoData *info_data = (MsnGetInfoData *)data;
6859
17514a2f976a [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1428 char *stripped, *p, *q;
6516
7c14b35bc984 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
1429 char buf[1024];
13544
46559ab11aed [gaim-migrate @ 15921]
Richard Laager <rlaager@wiktel.com>
parents: 13481
diff changeset
1430 char *tooltip_text;
6516
7c14b35bc984 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
1431 char *user_url = NULL;
6859
17514a2f976a [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1432 gboolean found;
7104
7700a28929bd [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1433 gboolean has_info = FALSE;
13389
b6772b3209c4 [gaim-migrate @ 15762]
Stu Tomlinson <stu@nosnilmot.com>
parents: 13296
diff changeset
1434 gboolean sect_info = FALSE;
9510
2aed8d5cda1b [gaim-migrate @ 10337]
Tim Ringenbach <marv@pidgin.im>
parents: 9475
diff changeset
1435 const char* title = NULL;
7094
2343c3aa1dec [gaim-migrate @ 7659]
Christian Hammond <chipx86@chipx86.com>
parents: 7062
diff changeset
1436 char *url_buffer;
13389
b6772b3209c4 [gaim-migrate @ 15762]
Stu Tomlinson <stu@nosnilmot.com>
parents: 13296
diff changeset
1437 char *personal = NULL;
b6772b3209c4 [gaim-migrate @ 15762]
Stu Tomlinson <stu@nosnilmot.com>
parents: 13296
diff changeset
1438 char *business = NULL;
b6772b3209c4 [gaim-migrate @ 15762]
Stu Tomlinson <stu@nosnilmot.com>
parents: 13296
diff changeset
1439 GString *s, *s2;
7675
66d9440db6ec [gaim-migrate @ 8319]
Luke Schierer <lschiere@pidgin.im>
parents: 7590
diff changeset
1440 int stripped_len;
9243
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1441 #if PHOTO_SUPPORT
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1442 char *photo_url_text = NULL;
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1443 MsnGetInfoStepTwoData *info2_data = NULL;
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1444 #endif
6516
7c14b35bc984 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
1445
7104
7700a28929bd [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1446 gaim_debug_info("msn", "In msn_got_info\n");
7700a28929bd [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1447
13479
90740e70af91 [gaim-migrate @ 15855]
Evan Schoenberg <evan.s@dreskin.net>
parents: 13390
diff changeset
1448 /* Make sure the connection is still valid */
90740e70af91 [gaim-migrate @ 15855]
Evan Schoenberg <evan.s@dreskin.net>
parents: 13390
diff changeset
1449 if (g_list_find(gaim_connections_get_all(), info_data->gc) == NULL)
90740e70af91 [gaim-migrate @ 15855]
Evan Schoenberg <evan.s@dreskin.net>
parents: 13390
diff changeset
1450 {
90740e70af91 [gaim-migrate @ 15855]
Evan Schoenberg <evan.s@dreskin.net>
parents: 13390
diff changeset
1451 gaim_debug_warning("msn", "invalid connection. ignoring buddy info.\n");
90740e70af91 [gaim-migrate @ 15855]
Evan Schoenberg <evan.s@dreskin.net>
parents: 13390
diff changeset
1452 g_free(info_data->name);
90740e70af91 [gaim-migrate @ 15855]
Evan Schoenberg <evan.s@dreskin.net>
parents: 13390
diff changeset
1453 g_free(info_data);
90740e70af91 [gaim-migrate @ 15855]
Evan Schoenberg <evan.s@dreskin.net>
parents: 13390
diff changeset
1454 return;
90740e70af91 [gaim-migrate @ 15855]
Evan Schoenberg <evan.s@dreskin.net>
parents: 13390
diff changeset
1455 }
90740e70af91 [gaim-migrate @ 15855]
Evan Schoenberg <evan.s@dreskin.net>
parents: 13390
diff changeset
1456
9243
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1457 tooltip_text = msn_tooltip_info_text(info_data);
9510
2aed8d5cda1b [gaim-migrate @ 10337]
Tim Ringenbach <marv@pidgin.im>
parents: 9475
diff changeset
1458 title = _("MSN Profile");
9243
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1459
7094
2343c3aa1dec [gaim-migrate @ 7659]
Christian Hammond <chipx86@chipx86.com>
parents: 7062
diff changeset
1460 if (url_text == NULL || strcmp(url_text, "") == 0)
6859
17514a2f976a [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1461 {
9243
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1462 g_snprintf(buf, 1024, "<html><body>%s<b>%s</b></body></html>",
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1463 tooltip_text, _("Error retrieving profile"));
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1464
11533
c9b815aeddc1 [gaim-migrate @ 13782]
Richard Laager <rlaager@wiktel.com>
parents: 11531
diff changeset
1465 gaim_notify_userinfo(info_data->gc, info_data->name, buf, NULL, NULL);
6859
17514a2f976a [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1466
9243
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1467 g_free(tooltip_text);
6516
7c14b35bc984 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
1468 return;
7c14b35bc984 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
1469 }
7c14b35bc984 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
1470
7094
2343c3aa1dec [gaim-migrate @ 7659]
Christian Hammond <chipx86@chipx86.com>
parents: 7062
diff changeset
1471 url_buffer = g_strdup(url_text);
2343c3aa1dec [gaim-migrate @ 7659]
Christian Hammond <chipx86@chipx86.com>
parents: 7062
diff changeset
1472
6859
17514a2f976a [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1473 /* If they have a homepage link, MSN masks it such that we need to
7095
c8bf2da398e3 [gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents: 7094
diff changeset
1474 * fetch the url out before gaim_markup_strip_html() nukes it */
13389
b6772b3209c4 [gaim-migrate @ 15762]
Stu Tomlinson <stu@nosnilmot.com>
parents: 13296
diff changeset
1475 /* I don't think this works with the new spaces profiles - Stu 3/2/06 */
6859
17514a2f976a [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1476 if ((p = strstr(url_text,
17514a2f976a [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1477 "Take a look at my </font><A class=viewDesc title=\"")) != NULL)
6516
7c14b35bc984 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
1478 {
7c14b35bc984 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
1479 p += 50;
6859
17514a2f976a [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1480
17514a2f976a [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1481 if ((q = strchr(p, '"')) != NULL)
17514a2f976a [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1482 user_url = g_strndup(p, q - p);
6516
7c14b35bc984 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
1483 }
7c14b35bc984 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
1484
6859
17514a2f976a [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1485 /*
7095
c8bf2da398e3 [gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents: 7094
diff changeset
1486 * gaim_markup_strip_html() doesn't strip out character entities like &nbsp;
6859
17514a2f976a [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1487 * and &#183;
17514a2f976a [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1488 */
7094
2343c3aa1dec [gaim-migrate @ 7659]
Christian Hammond <chipx86@chipx86.com>
parents: 7062
diff changeset
1489 while ((p = strstr(url_buffer, "&nbsp;")) != NULL)
6859
17514a2f976a [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1490 {
9243
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1491 *p = ' '; /* Turn &nbsp;'s into ordinary blanks */
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1492 p += 1;
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1493 memmove(p, p + 5, strlen(p + 5));
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1494 url_buffer[strlen(url_buffer) - 5] = '\0';
6516
7c14b35bc984 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
1495 }
7c14b35bc984 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
1496
7094
2343c3aa1dec [gaim-migrate @ 7659]
Christian Hammond <chipx86@chipx86.com>
parents: 7062
diff changeset
1497 while ((p = strstr(url_buffer, "&#183;")) != NULL)
6859
17514a2f976a [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1498 {
17514a2f976a [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1499 memmove(p, p + 6, strlen(p + 6));
7094
2343c3aa1dec [gaim-migrate @ 7659]
Christian Hammond <chipx86@chipx86.com>
parents: 7062
diff changeset
1500 url_buffer[strlen(url_buffer) - 6] = '\0';
6859
17514a2f976a [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1501 }
17514a2f976a [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1502
17514a2f976a [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1503 /* Nuke the nasty \r's that just get in the way */
11920
52f27ffe68a5 [gaim-migrate @ 14211]
Mark Doliner <mark@kingant.net>
parents: 11837
diff changeset
1504 gaim_str_strip_char(url_buffer, '\r');
6516
7c14b35bc984 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
1505
8735
92cbf9713795 [gaim-migrate @ 9490]
Christian Hammond <chipx86@chipx86.com>
parents: 8713
diff changeset
1506 /* MSN always puts in &#39; for apostrophes...replace them */
7094
2343c3aa1dec [gaim-migrate @ 7659]
Christian Hammond <chipx86@chipx86.com>
parents: 7062
diff changeset
1507 while ((p = strstr(url_buffer, "&#39;")) != NULL)
6859
17514a2f976a [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1508 {
6516
7c14b35bc984 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
1509 *p = '\'';
6859
17514a2f976a [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1510 memmove(p + 1, p + 5, strlen(p + 5));
7094
2343c3aa1dec [gaim-migrate @ 7659]
Christian Hammond <chipx86@chipx86.com>
parents: 7062
diff changeset
1511 url_buffer[strlen(url_buffer) - 4] = '\0';
6516
7c14b35bc984 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
1512 }
7c14b35bc984 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
1513
6859
17514a2f976a [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1514 /* Nuke the html, it's easier than trying to parse the horrid stuff */
7095
c8bf2da398e3 [gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents: 7094
diff changeset
1515 stripped = gaim_markup_strip_html(url_buffer);
7675
66d9440db6ec [gaim-migrate @ 8319]
Luke Schierer <lschiere@pidgin.im>
parents: 7590
diff changeset
1516 stripped_len = strlen(stripped);
6516
7c14b35bc984 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
1517
7104
7700a28929bd [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1518 gaim_debug_misc("msn", "stripped = %p\n", stripped);
7700a28929bd [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1519 gaim_debug_misc("msn", "url_buffer = %p\n", url_buffer);
7700a28929bd [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1520
7094
2343c3aa1dec [gaim-migrate @ 7659]
Christian Hammond <chipx86@chipx86.com>
parents: 7062
diff changeset
1521 /* Gonna re-use the memory we've already got for url_buffer */
7675
66d9440db6ec [gaim-migrate @ 8319]
Luke Schierer <lschiere@pidgin.im>
parents: 7590
diff changeset
1522 /* No we're not. */
66d9440db6ec [gaim-migrate @ 8319]
Luke Schierer <lschiere@pidgin.im>
parents: 7590
diff changeset
1523 s = g_string_sized_new(strlen(url_buffer));
13389
b6772b3209c4 [gaim-migrate @ 15762]
Stu Tomlinson <stu@nosnilmot.com>
parents: 13296
diff changeset
1524 s2 = g_string_sized_new(strlen(url_buffer));
6516
7c14b35bc984 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
1525
6859
17514a2f976a [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1526 /* Extract their Name and put it in */
13389
b6772b3209c4 [gaim-migrate @ 15762]
Stu Tomlinson <stu@nosnilmot.com>
parents: 13296
diff changeset
1527 MSN_GOT_INFO_GET_FIELD("Name", _("Name"))
7104
7700a28929bd [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1528
13389
b6772b3209c4 [gaim-migrate @ 15762]
Stu Tomlinson <stu@nosnilmot.com>
parents: 13296
diff changeset
1529 /* General */
13544
46559ab11aed [gaim-migrate @ 15921]
Richard Laager <rlaager@wiktel.com>
parents: 13481
diff changeset
1530 MSN_GOT_INFO_GET_FIELD("Nickname", _("Nickname"));
13389
b6772b3209c4 [gaim-migrate @ 15762]
Stu Tomlinson <stu@nosnilmot.com>
parents: 13296
diff changeset
1531 MSN_GOT_INFO_GET_FIELD("Age", _("Age"));
b6772b3209c4 [gaim-migrate @ 15762]
Stu Tomlinson <stu@nosnilmot.com>
parents: 13296
diff changeset
1532 MSN_GOT_INFO_GET_FIELD("Gender", _("Gender"));
b6772b3209c4 [gaim-migrate @ 15762]
Stu Tomlinson <stu@nosnilmot.com>
parents: 13296
diff changeset
1533 MSN_GOT_INFO_GET_FIELD("Occupation", _("Occupation"));
b6772b3209c4 [gaim-migrate @ 15762]
Stu Tomlinson <stu@nosnilmot.com>
parents: 13296
diff changeset
1534 MSN_GOT_INFO_GET_FIELD("Location", _("Location"));
6516
7c14b35bc984 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
1535
13389
b6772b3209c4 [gaim-migrate @ 15762]
Stu Tomlinson <stu@nosnilmot.com>
parents: 13296
diff changeset
1536 /* Extract their Interests and put it in */
7675
66d9440db6ec [gaim-migrate @ 8319]
Luke Schierer <lschiere@pidgin.im>
parents: 7590
diff changeset
1537 found = gaim_markup_extract_info_field(stripped, stripped_len, s,
13389
b6772b3209c4 [gaim-migrate @ 15762]
Stu Tomlinson <stu@nosnilmot.com>
parents: 13296
diff changeset
1538 "\nInterests\t", 0, " (/default.aspx?page=searchresults", 0,
b6772b3209c4 [gaim-migrate @ 15762]
Stu Tomlinson <stu@nosnilmot.com>
parents: 13296
diff changeset
1539 "Undisclosed", _("Hobbies and Interests") /* _("Interests") */,
13104
e1e5462b7d81 [gaim-migrate @ 15466]
Richard Laager <rlaager@wiktel.com>
parents: 13020
diff changeset
1540 0, NULL, NULL);
7104
7700a28929bd [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1541
7700a28929bd [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1542 if (found)
13389
b6772b3209c4 [gaim-migrate @ 15762]
Stu Tomlinson <stu@nosnilmot.com>
parents: 13296
diff changeset
1543 sect_info = TRUE;
b6772b3209c4 [gaim-migrate @ 15762]
Stu Tomlinson <stu@nosnilmot.com>
parents: 13296
diff changeset
1544
b6772b3209c4 [gaim-migrate @ 15762]
Stu Tomlinson <stu@nosnilmot.com>
parents: 13296
diff changeset
1545 MSN_GOT_INFO_GET_FIELD("More about me", _("A Little About Me"));
b6772b3209c4 [gaim-migrate @ 15762]
Stu Tomlinson <stu@nosnilmot.com>
parents: 13296
diff changeset
1546
b6772b3209c4 [gaim-migrate @ 15762]
Stu Tomlinson <stu@nosnilmot.com>
parents: 13296
diff changeset
1547 if (sect_info)
b6772b3209c4 [gaim-migrate @ 15762]
Stu Tomlinson <stu@nosnilmot.com>
parents: 13296
diff changeset
1548 {
13544
46559ab11aed [gaim-migrate @ 15921]
Richard Laager <rlaager@wiktel.com>
parents: 13481
diff changeset
1549 /* trim off the trailing "<br>\n" */
46559ab11aed [gaim-migrate @ 15921]
Richard Laager <rlaager@wiktel.com>
parents: 13481
diff changeset
1550 g_string_truncate(s, strlen(s->str) - 5);
46559ab11aed [gaim-migrate @ 15921]
Richard Laager <rlaager@wiktel.com>
parents: 13481
diff changeset
1551 g_string_append_printf(s2, _("%s<b>General</b><br>%s"),
46559ab11aed [gaim-migrate @ 15921]
Richard Laager <rlaager@wiktel.com>
parents: 13481
diff changeset
1552 (*tooltip_text) ? "<hr>" : "", s->str);
13389
b6772b3209c4 [gaim-migrate @ 15762]
Stu Tomlinson <stu@nosnilmot.com>
parents: 13296
diff changeset
1553 s = g_string_truncate(s, 0);
7104
7700a28929bd [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1554 has_info = TRUE;
13389
b6772b3209c4 [gaim-migrate @ 15762]
Stu Tomlinson <stu@nosnilmot.com>
parents: 13296
diff changeset
1555 sect_info = FALSE;
b6772b3209c4 [gaim-migrate @ 15762]
Stu Tomlinson <stu@nosnilmot.com>
parents: 13296
diff changeset
1556 }
6516
7c14b35bc984 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
1557
13389
b6772b3209c4 [gaim-migrate @ 15762]
Stu Tomlinson <stu@nosnilmot.com>
parents: 13296
diff changeset
1558
b6772b3209c4 [gaim-migrate @ 15762]
Stu Tomlinson <stu@nosnilmot.com>
parents: 13296
diff changeset
1559 /* Social */
b6772b3209c4 [gaim-migrate @ 15762]
Stu Tomlinson <stu@nosnilmot.com>
parents: 13296
diff changeset
1560 MSN_GOT_INFO_GET_FIELD("Marital status", _("Marital Status"));
13544
46559ab11aed [gaim-migrate @ 15921]
Richard Laager <rlaager@wiktel.com>
parents: 13481
diff changeset
1561 MSN_GOT_INFO_GET_FIELD("Interested in", _("Interests"));
46559ab11aed [gaim-migrate @ 15921]
Richard Laager <rlaager@wiktel.com>
parents: 13481
diff changeset
1562 MSN_GOT_INFO_GET_FIELD("Pets", _("Pets"));
46559ab11aed [gaim-migrate @ 15921]
Richard Laager <rlaager@wiktel.com>
parents: 13481
diff changeset
1563 MSN_GOT_INFO_GET_FIELD("Hometown", _("Hometown"));
46559ab11aed [gaim-migrate @ 15921]
Richard Laager <rlaager@wiktel.com>
parents: 13481
diff changeset
1564 MSN_GOT_INFO_GET_FIELD("Places lived", _("Places Lived"));
46559ab11aed [gaim-migrate @ 15921]
Richard Laager <rlaager@wiktel.com>
parents: 13481
diff changeset
1565 MSN_GOT_INFO_GET_FIELD("Fashion", _("Fashion"));
46559ab11aed [gaim-migrate @ 15921]
Richard Laager <rlaager@wiktel.com>
parents: 13481
diff changeset
1566 MSN_GOT_INFO_GET_FIELD("Humor", _("Humor"));
46559ab11aed [gaim-migrate @ 15921]
Richard Laager <rlaager@wiktel.com>
parents: 13481
diff changeset
1567 MSN_GOT_INFO_GET_FIELD("Music", _("Music"));
13389
b6772b3209c4 [gaim-migrate @ 15762]
Stu Tomlinson <stu@nosnilmot.com>
parents: 13296
diff changeset
1568 MSN_GOT_INFO_GET_FIELD("Favorite quote", _("Favorite Quote"));
b6772b3209c4 [gaim-migrate @ 15762]
Stu Tomlinson <stu@nosnilmot.com>
parents: 13296
diff changeset
1569
b6772b3209c4 [gaim-migrate @ 15762]
Stu Tomlinson <stu@nosnilmot.com>
parents: 13296
diff changeset
1570 if (sect_info)
b6772b3209c4 [gaim-migrate @ 15762]
Stu Tomlinson <stu@nosnilmot.com>
parents: 13296
diff changeset
1571 {
13544
46559ab11aed [gaim-migrate @ 15921]
Richard Laager <rlaager@wiktel.com>
parents: 13481
diff changeset
1572 g_string_append_printf(s2, _("%s<b>Social</b><br>%s"), has_info ? "<br><hr>" : "", s->str);
13389
b6772b3209c4 [gaim-migrate @ 15762]
Stu Tomlinson <stu@nosnilmot.com>
parents: 13296
diff changeset
1573 s = g_string_truncate(s, 0);
b6772b3209c4 [gaim-migrate @ 15762]
Stu Tomlinson <stu@nosnilmot.com>
parents: 13296
diff changeset
1574 has_info = TRUE;
b6772b3209c4 [gaim-migrate @ 15762]
Stu Tomlinson <stu@nosnilmot.com>
parents: 13296
diff changeset
1575 sect_info = FALSE;
b6772b3209c4 [gaim-migrate @ 15762]
Stu Tomlinson <stu@nosnilmot.com>
parents: 13296
diff changeset
1576 }
b6772b3209c4 [gaim-migrate @ 15762]
Stu Tomlinson <stu@nosnilmot.com>
parents: 13296
diff changeset
1577
b6772b3209c4 [gaim-migrate @ 15762]
Stu Tomlinson <stu@nosnilmot.com>
parents: 13296
diff changeset
1578 /* Contact Info */
b6772b3209c4 [gaim-migrate @ 15762]
Stu Tomlinson <stu@nosnilmot.com>
parents: 13296
diff changeset
1579 /* Personal */
13544
46559ab11aed [gaim-migrate @ 15921]
Richard Laager <rlaager@wiktel.com>
parents: 13481
diff changeset
1580 MSN_GOT_INFO_GET_FIELD("Name", _("Name"));
46559ab11aed [gaim-migrate @ 15921]
Richard Laager <rlaager@wiktel.com>
parents: 13481
diff changeset
1581 MSN_GOT_INFO_GET_FIELD("Significant other", _("Significant Other"));
46559ab11aed [gaim-migrate @ 15921]
Richard Laager <rlaager@wiktel.com>
parents: 13481
diff changeset
1582 MSN_GOT_INFO_GET_FIELD("Home phone", _("Home Phone"));
46559ab11aed [gaim-migrate @ 15921]
Richard Laager <rlaager@wiktel.com>
parents: 13481
diff changeset
1583 MSN_GOT_INFO_GET_FIELD("Home phone 2", _("Home Phone 2"));
46559ab11aed [gaim-migrate @ 15921]
Richard Laager <rlaager@wiktel.com>
parents: 13481
diff changeset
1584 MSN_GOT_INFO_GET_FIELD("Home address", _("Home Address"));
46559ab11aed [gaim-migrate @ 15921]
Richard Laager <rlaager@wiktel.com>
parents: 13481
diff changeset
1585 MSN_GOT_INFO_GET_FIELD("Personal Mobile", _("Personal Mobile"));
46559ab11aed [gaim-migrate @ 15921]
Richard Laager <rlaager@wiktel.com>
parents: 13481
diff changeset
1586 MSN_GOT_INFO_GET_FIELD("Home fax", _("Home Fax"));
46559ab11aed [gaim-migrate @ 15921]
Richard Laager <rlaager@wiktel.com>
parents: 13481
diff changeset
1587 MSN_GOT_INFO_GET_FIELD("Personal e-mail", _("Personal E-Mail"));
46559ab11aed [gaim-migrate @ 15921]
Richard Laager <rlaager@wiktel.com>
parents: 13481
diff changeset
1588 MSN_GOT_INFO_GET_FIELD("Personal IM", _("Personal IM"));
46559ab11aed [gaim-migrate @ 15921]
Richard Laager <rlaager@wiktel.com>
parents: 13481
diff changeset
1589 MSN_GOT_INFO_GET_FIELD("Birthday", _("Birthday"));
46559ab11aed [gaim-migrate @ 15921]
Richard Laager <rlaager@wiktel.com>
parents: 13481
diff changeset
1590 MSN_GOT_INFO_GET_FIELD("Anniversary", _("Anniversary"));
46559ab11aed [gaim-migrate @ 15921]
Richard Laager <rlaager@wiktel.com>
parents: 13481
diff changeset
1591 MSN_GOT_INFO_GET_FIELD("Notes", _("Notes"));
13389
b6772b3209c4 [gaim-migrate @ 15762]
Stu Tomlinson <stu@nosnilmot.com>
parents: 13296
diff changeset
1592
b6772b3209c4 [gaim-migrate @ 15762]
Stu Tomlinson <stu@nosnilmot.com>
parents: 13296
diff changeset
1593 if (sect_info)
b6772b3209c4 [gaim-migrate @ 15762]
Stu Tomlinson <stu@nosnilmot.com>
parents: 13296
diff changeset
1594 {
13544
46559ab11aed [gaim-migrate @ 15921]
Richard Laager <rlaager@wiktel.com>
parents: 13481
diff changeset
1595 personal = g_strdup_printf(_("<br><b>Personal</b><br>%s"), s->str);
13389
b6772b3209c4 [gaim-migrate @ 15762]
Stu Tomlinson <stu@nosnilmot.com>
parents: 13296
diff changeset
1596 s = g_string_truncate(s, 0);
b6772b3209c4 [gaim-migrate @ 15762]
Stu Tomlinson <stu@nosnilmot.com>
parents: 13296
diff changeset
1597 sect_info = FALSE;
b6772b3209c4 [gaim-migrate @ 15762]
Stu Tomlinson <stu@nosnilmot.com>
parents: 13296
diff changeset
1598 }
b6772b3209c4 [gaim-migrate @ 15762]
Stu Tomlinson <stu@nosnilmot.com>
parents: 13296
diff changeset
1599
b6772b3209c4 [gaim-migrate @ 15762]
Stu Tomlinson <stu@nosnilmot.com>
parents: 13296
diff changeset
1600 /* Business */
13544
46559ab11aed [gaim-migrate @ 15921]
Richard Laager <rlaager@wiktel.com>
parents: 13481
diff changeset
1601 MSN_GOT_INFO_GET_FIELD("Name", _("Name"));
46559ab11aed [gaim-migrate @ 15921]
Richard Laager <rlaager@wiktel.com>
parents: 13481
diff changeset
1602 MSN_GOT_INFO_GET_FIELD("Job title", _("Job Title"));
46559ab11aed [gaim-migrate @ 15921]
Richard Laager <rlaager@wiktel.com>
parents: 13481
diff changeset
1603 MSN_GOT_INFO_GET_FIELD("Company", _("Company"));
46559ab11aed [gaim-migrate @ 15921]
Richard Laager <rlaager@wiktel.com>
parents: 13481
diff changeset
1604 MSN_GOT_INFO_GET_FIELD("Department", _("Department"));
46559ab11aed [gaim-migrate @ 15921]
Richard Laager <rlaager@wiktel.com>
parents: 13481
diff changeset
1605 MSN_GOT_INFO_GET_FIELD("Profession", _("Profession"));
46559ab11aed [gaim-migrate @ 15921]
Richard Laager <rlaager@wiktel.com>
parents: 13481
diff changeset
1606 MSN_GOT_INFO_GET_FIELD("Work phone 1", _("Work Phone"));
46559ab11aed [gaim-migrate @ 15921]
Richard Laager <rlaager@wiktel.com>
parents: 13481
diff changeset
1607 MSN_GOT_INFO_GET_FIELD("Work phone 2", _("Work Phone 2"));
46559ab11aed [gaim-migrate @ 15921]
Richard Laager <rlaager@wiktel.com>
parents: 13481
diff changeset
1608 MSN_GOT_INFO_GET_FIELD("Work address", _("Work Address"));
46559ab11aed [gaim-migrate @ 15921]
Richard Laager <rlaager@wiktel.com>
parents: 13481
diff changeset
1609 MSN_GOT_INFO_GET_FIELD("Work mobile", _("Work Mobile"));
46559ab11aed [gaim-migrate @ 15921]
Richard Laager <rlaager@wiktel.com>
parents: 13481
diff changeset
1610 MSN_GOT_INFO_GET_FIELD("Work pager", _("Work Pager"));
46559ab11aed [gaim-migrate @ 15921]
Richard Laager <rlaager@wiktel.com>
parents: 13481
diff changeset
1611 MSN_GOT_INFO_GET_FIELD("Work fax", _("Work Fax"));
46559ab11aed [gaim-migrate @ 15921]
Richard Laager <rlaager@wiktel.com>
parents: 13481
diff changeset
1612 MSN_GOT_INFO_GET_FIELD("Work e-mail", _("Work E-Mail"));
46559ab11aed [gaim-migrate @ 15921]
Richard Laager <rlaager@wiktel.com>
parents: 13481
diff changeset
1613 MSN_GOT_INFO_GET_FIELD("Work IM", _("Work IM"));
46559ab11aed [gaim-migrate @ 15921]
Richard Laager <rlaager@wiktel.com>
parents: 13481
diff changeset
1614 MSN_GOT_INFO_GET_FIELD("Start date", _("Start Date"));
46559ab11aed [gaim-migrate @ 15921]
Richard Laager <rlaager@wiktel.com>
parents: 13481
diff changeset
1615 MSN_GOT_INFO_GET_FIELD("Notes", _("Notes"));
13389
b6772b3209c4 [gaim-migrate @ 15762]
Stu Tomlinson <stu@nosnilmot.com>
parents: 13296
diff changeset
1616
b6772b3209c4 [gaim-migrate @ 15762]
Stu Tomlinson <stu@nosnilmot.com>
parents: 13296
diff changeset
1617 if (sect_info)
b6772b3209c4 [gaim-migrate @ 15762]
Stu Tomlinson <stu@nosnilmot.com>
parents: 13296
diff changeset
1618 {
13544
46559ab11aed [gaim-migrate @ 15921]
Richard Laager <rlaager@wiktel.com>
parents: 13481
diff changeset
1619 business = g_strdup_printf(_("<br><b>Business</b><br>%s"), s->str);
13389
b6772b3209c4 [gaim-migrate @ 15762]
Stu Tomlinson <stu@nosnilmot.com>
parents: 13296
diff changeset
1620 s = g_string_truncate(s, 0);
b6772b3209c4 [gaim-migrate @ 15762]
Stu Tomlinson <stu@nosnilmot.com>
parents: 13296
diff changeset
1621 sect_info = FALSE;
b6772b3209c4 [gaim-migrate @ 15762]
Stu Tomlinson <stu@nosnilmot.com>
parents: 13296
diff changeset
1622 }
b6772b3209c4 [gaim-migrate @ 15762]
Stu Tomlinson <stu@nosnilmot.com>
parents: 13296
diff changeset
1623
b6772b3209c4 [gaim-migrate @ 15762]
Stu Tomlinson <stu@nosnilmot.com>
parents: 13296
diff changeset
1624 if ((personal != NULL) || (business != NULL))
b6772b3209c4 [gaim-migrate @ 15762]
Stu Tomlinson <stu@nosnilmot.com>
parents: 13296
diff changeset
1625 {
13544
46559ab11aed [gaim-migrate @ 15921]
Richard Laager <rlaager@wiktel.com>
parents: 13481
diff changeset
1626 /* trim off the trailing "<br>\n" */
46559ab11aed [gaim-migrate @ 15921]
Richard Laager <rlaager@wiktel.com>
parents: 13481
diff changeset
1627 g_string_truncate(s, strlen(s->str) - 5);
46559ab11aed [gaim-migrate @ 15921]
Richard Laager <rlaager@wiktel.com>
parents: 13481
diff changeset
1628
13389
b6772b3209c4 [gaim-migrate @ 15762]
Stu Tomlinson <stu@nosnilmot.com>
parents: 13296
diff changeset
1629 has_info = TRUE;
13544
46559ab11aed [gaim-migrate @ 15921]
Richard Laager <rlaager@wiktel.com>
parents: 13481
diff changeset
1630 g_string_append_printf(s2, _("<hr><b>Contact Info</b>%s%s"),
13389
b6772b3209c4 [gaim-migrate @ 15762]
Stu Tomlinson <stu@nosnilmot.com>
parents: 13296
diff changeset
1631 personal ? personal : "",
b6772b3209c4 [gaim-migrate @ 15762]
Stu Tomlinson <stu@nosnilmot.com>
parents: 13296
diff changeset
1632 business ? business : "");
b6772b3209c4 [gaim-migrate @ 15762]
Stu Tomlinson <stu@nosnilmot.com>
parents: 13296
diff changeset
1633 }
b6772b3209c4 [gaim-migrate @ 15762]
Stu Tomlinson <stu@nosnilmot.com>
parents: 13296
diff changeset
1634
b6772b3209c4 [gaim-migrate @ 15762]
Stu Tomlinson <stu@nosnilmot.com>
parents: 13296
diff changeset
1635 g_free(personal);
b6772b3209c4 [gaim-migrate @ 15762]
Stu Tomlinson <stu@nosnilmot.com>
parents: 13296
diff changeset
1636 g_free(business);
b6772b3209c4 [gaim-migrate @ 15762]
Stu Tomlinson <stu@nosnilmot.com>
parents: 13296
diff changeset
1637 g_string_free(s, TRUE);
b6772b3209c4 [gaim-migrate @ 15762]
Stu Tomlinson <stu@nosnilmot.com>
parents: 13296
diff changeset
1638 s = s2;
b6772b3209c4 [gaim-migrate @ 15762]
Stu Tomlinson <stu@nosnilmot.com>
parents: 13296
diff changeset
1639
b6772b3209c4 [gaim-migrate @ 15762]
Stu Tomlinson <stu@nosnilmot.com>
parents: 13296
diff changeset
1640 #if 0 /* these probably don't show up any more */
6859
17514a2f976a [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1641 /*
17514a2f976a [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1642 * The fields, 'A Little About Me', 'Favorite Things', 'Hobbies
17514a2f976a [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1643 * and Interests', 'Favorite Quote', and 'My Homepage' may or may
17514a2f976a [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1644 * not appear, in any combination. However, they do appear in
17514a2f976a [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1645 * certain order, so we can successively search to pin down the
17514a2f976a [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1646 * distinct values.
6516
7c14b35bc984 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
1647 */
7c14b35bc984 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
1648
6859
17514a2f976a [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1649 /* Check if they have A Little About Me */
7675
66d9440db6ec [gaim-migrate @ 8319]
Luke Schierer <lschiere@pidgin.im>
parents: 7590
diff changeset
1650 found = gaim_markup_extract_info_field(stripped, stripped_len, s,
9243
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1651 " A Little About Me \n\n", 0, "Favorite Things", '\n', NULL,
13104
e1e5462b7d81 [gaim-migrate @ 15466]
Richard Laager <rlaager@wiktel.com>
parents: 13020
diff changeset
1652 _("A Little About Me"), 0, NULL, NULL);
6516
7c14b35bc984 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
1653
6859
17514a2f976a [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1654 if (!found)
17514a2f976a [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1655 {
7675
66d9440db6ec [gaim-migrate @ 8319]
Luke Schierer <lschiere@pidgin.im>
parents: 7590
diff changeset
1656 found = gaim_markup_extract_info_field(stripped, stripped_len, s,
9243
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1657 " A Little About Me \n\n", 0, "Hobbies and Interests", '\n',
13104
e1e5462b7d81 [gaim-migrate @ 15466]
Richard Laager <rlaager@wiktel.com>
parents: 13020
diff changeset
1658 NULL, _("A Little About Me"), 0, NULL, NULL);
7095
c8bf2da398e3 [gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents: 7094
diff changeset
1659 }
c8bf2da398e3 [gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents: 7094
diff changeset
1660
c8bf2da398e3 [gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents: 7094
diff changeset
1661 if (!found)
c8bf2da398e3 [gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents: 7094
diff changeset
1662 {
7675
66d9440db6ec [gaim-migrate @ 8319]
Luke Schierer <lschiere@pidgin.im>
parents: 7590
diff changeset
1663 found = gaim_markup_extract_info_field(stripped, stripped_len, s,
9243
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1664 " A Little About Me \n\n", 0, "Favorite Quote", '\n', NULL,
13104
e1e5462b7d81 [gaim-migrate @ 15466]
Richard Laager <rlaager@wiktel.com>
parents: 13020
diff changeset
1665 _("A Little About Me"), 0, NULL, NULL);
6859
17514a2f976a [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1666 }
17514a2f976a [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1667
17514a2f976a [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1668 if (!found)
17514a2f976a [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1669 {
7675
66d9440db6ec [gaim-migrate @ 8319]
Luke Schierer <lschiere@pidgin.im>
parents: 7590
diff changeset
1670 found = gaim_markup_extract_info_field(stripped, stripped_len, s,
9243
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1671 " A Little About Me \n\n", 0, "My Homepage \n\nTake a look",
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1672 '\n',
13104
e1e5462b7d81 [gaim-migrate @ 15466]
Richard Laager <rlaager@wiktel.com>
parents: 13020
diff changeset
1673 NULL, _("A Little About Me"), 0, NULL, NULL);
6859
17514a2f976a [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1674 }
6516
7c14b35bc984 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
1675
6859
17514a2f976a [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1676 if (!found)
17514a2f976a [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1677 {
7675
66d9440db6ec [gaim-migrate @ 8319]
Luke Schierer <lschiere@pidgin.im>
parents: 7590
diff changeset
1678 gaim_markup_extract_info_field(stripped, stripped_len, s,
9243
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1679 " A Little About Me \n\n", 0, "last updated", '\n', NULL,
13104
e1e5462b7d81 [gaim-migrate @ 15466]
Richard Laager <rlaager@wiktel.com>
parents: 13020
diff changeset
1680 _("A Little About Me"), 0, NULL, NULL);
7095
c8bf2da398e3 [gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents: 7094
diff changeset
1681 }
c8bf2da398e3 [gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents: 7094
diff changeset
1682
7104
7700a28929bd [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1683 if (found)
7700a28929bd [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1684 has_info = TRUE;
7700a28929bd [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1685
7095
c8bf2da398e3 [gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents: 7094
diff changeset
1686 /* Check if they have Favorite Things */
7675
66d9440db6ec [gaim-migrate @ 8319]
Luke Schierer <lschiere@pidgin.im>
parents: 7590
diff changeset
1687 found = gaim_markup_extract_info_field(stripped, stripped_len, s,
9243
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1688 " Favorite Things \n\n", 0, "Hobbies and Interests", '\n', NULL,
13104
e1e5462b7d81 [gaim-migrate @ 15466]
Richard Laager <rlaager@wiktel.com>
parents: 13020
diff changeset
1689 _("Favorite Things"), 0, NULL, NULL);
7095
c8bf2da398e3 [gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents: 7094
diff changeset
1690
c8bf2da398e3 [gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents: 7094
diff changeset
1691 if (!found)
c8bf2da398e3 [gaim-migrate @ 7660]
Christian Hammond <chipx86@chipx86.com>
parents: 7094
diff changeset
1692 {
7675
66d9440db6ec [gaim-migrate @ 8319]
Luke Schierer <lschiere@pidgin.im>
parents: 7590
diff changeset
1693 found = gaim_markup_extract_info_field(stripped, stripped_len, s,
9243
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1694 " Favorite Things \n\n", 0, "Favorite Quote", '\n', NULL,
13104
e1e5462b7d81 [gaim-migrate @ 15466]
Richard Laager <rlaager@wiktel.com>
parents: 13020
diff changeset
1695 _("Favorite Things"), 0, NULL, NULL);
6859
17514a2f976a [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1696 }
17514a2f976a [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1697
17514a2f976a [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1698 if (!found)
17514a2f976a [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1699 {
7675
66d9440db6ec [gaim-migrate @ 8319]
Luke Schierer <lschiere@pidgin.im>
parents: 7590
diff changeset
1700 found = gaim_markup_extract_info_field(stripped, stripped_len, s,
9243
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1701 " Favorite Things \n\n", 0, "My Homepage \n\nTake a look", '\n',
13104
e1e5462b7d81 [gaim-migrate @ 15466]
Richard Laager <rlaager@wiktel.com>
parents: 13020
diff changeset
1702 NULL, _("Favorite Things"), 0, NULL, NULL);
6516
7c14b35bc984 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
1703 }
7c14b35bc984 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
1704
6859
17514a2f976a [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1705 if (!found)
17514a2f976a [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1706 {
7675
66d9440db6ec [gaim-migrate @ 8319]
Luke Schierer <lschiere@pidgin.im>
parents: 7590
diff changeset
1707 gaim_markup_extract_info_field(stripped, stripped_len, s,
9243
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1708 " Favorite Things \n\n", 0, "last updated", '\n', NULL,
13104
e1e5462b7d81 [gaim-migrate @ 15466]
Richard Laager <rlaager@wiktel.com>
parents: 13020
diff changeset
1709 _("Favorite Things"), 0, NULL, NULL);
6859
17514a2f976a [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1710 }
17514a2f976a [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1711
7104
7700a28929bd [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1712 if (found)
7700a28929bd [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1713 has_info = TRUE;
7700a28929bd [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1714
6859
17514a2f976a [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1715 /* Check if they have Hobbies and Interests */
7675
66d9440db6ec [gaim-migrate @ 8319]
Luke Schierer <lschiere@pidgin.im>
parents: 7590
diff changeset
1716 found = gaim_markup_extract_info_field(stripped, stripped_len, s,
9243
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1717 " Hobbies and Interests \n\n", 0, "Favorite Quote", '\n', NULL,
13104
e1e5462b7d81 [gaim-migrate @ 15466]
Richard Laager <rlaager@wiktel.com>
parents: 13020
diff changeset
1718 _("Hobbies and Interests"), 0, NULL, NULL);
6859
17514a2f976a [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1719
17514a2f976a [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1720 if (!found)
17514a2f976a [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1721 {
7675
66d9440db6ec [gaim-migrate @ 8319]
Luke Schierer <lschiere@pidgin.im>
parents: 7590
diff changeset
1722 found = gaim_markup_extract_info_field(stripped, stripped_len, s,
9243
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1723 " Hobbies and Interests \n\n", 0, "My Homepage \n\nTake a look",
13104
e1e5462b7d81 [gaim-migrate @ 15466]
Richard Laager <rlaager@wiktel.com>
parents: 13020
diff changeset
1724 '\n', NULL, _("Hobbies and Interests"), 0, NULL, NULL);
6859
17514a2f976a [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1725 }
17514a2f976a [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1726
17514a2f976a [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1727 if (!found)
17514a2f976a [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1728 {
7675
66d9440db6ec [gaim-migrate @ 8319]
Luke Schierer <lschiere@pidgin.im>
parents: 7590
diff changeset
1729 gaim_markup_extract_info_field(stripped, stripped_len, s,
9243
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1730 " Hobbies and Interests \n\n", 0, "last updated", '\n', NULL,
13104
e1e5462b7d81 [gaim-migrate @ 15466]
Richard Laager <rlaager@wiktel.com>
parents: 13020
diff changeset
1731 _("Hobbies and Interests"), 0, NULL, NULL);
6859
17514a2f976a [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1732 }
17514a2f976a [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1733
7104
7700a28929bd [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1734 if (found)
7700a28929bd [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1735 has_info = TRUE;
7700a28929bd [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1736
6859
17514a2f976a [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1737 /* Check if they have Favorite Quote */
7675
66d9440db6ec [gaim-migrate @ 8319]
Luke Schierer <lschiere@pidgin.im>
parents: 7590
diff changeset
1738 found = gaim_markup_extract_info_field(stripped, stripped_len, s,
9243
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1739 "Favorite Quote \n\n", 0, "My Homepage \n\nTake a look", '\n', NULL,
13104
e1e5462b7d81 [gaim-migrate @ 15466]
Richard Laager <rlaager@wiktel.com>
parents: 13020
diff changeset
1740 _("Favorite Quote"), 0, NULL, NULL);
6859
17514a2f976a [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1741
17514a2f976a [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1742 if (!found)
17514a2f976a [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1743 {
7675
66d9440db6ec [gaim-migrate @ 8319]
Luke Schierer <lschiere@pidgin.im>
parents: 7590
diff changeset
1744 gaim_markup_extract_info_field(stripped, stripped_len, s,
9243
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1745 "Favorite Quote \n\n", 0, "last updated", '\n', NULL,
13104
e1e5462b7d81 [gaim-migrate @ 15466]
Richard Laager <rlaager@wiktel.com>
parents: 13020
diff changeset
1746 _("Favorite Quote"), 0, NULL, NULL);
6859
17514a2f976a [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1747 }
17514a2f976a [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1748
7104
7700a28929bd [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1749 if (found)
7700a28929bd [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1750 has_info = TRUE;
7700a28929bd [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1751
6859
17514a2f976a [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1752 /* Extract the last updated date and put it in */
7675
66d9440db6ec [gaim-migrate @ 8319]
Luke Schierer <lschiere@pidgin.im>
parents: 7590
diff changeset
1753 found = gaim_markup_extract_info_field(stripped, stripped_len, s,
9243
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1754 " last updated:", 1, "\n", 0, NULL, _("Last Updated"), 0,
13104
e1e5462b7d81 [gaim-migrate @ 15466]
Richard Laager <rlaager@wiktel.com>
parents: 13020
diff changeset
1755 NULL, msn_info_date_reformat);
6859
17514a2f976a [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1756
7104
7700a28929bd [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1757 if (found)
7700a28929bd [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1758 has_info = TRUE;
13389
b6772b3209c4 [gaim-migrate @ 15762]
Stu Tomlinson <stu@nosnilmot.com>
parents: 13296
diff changeset
1759 #endif
7104
7700a28929bd [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1760
6859
17514a2f976a [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1761 /* If we were able to fetch a homepage url earlier, stick it in there */
17514a2f976a [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1762 if (user_url != NULL)
17514a2f976a [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1763 {
17514a2f976a [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1764 g_snprintf(buf, sizeof(buf),
17514a2f976a [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1765 "<b>%s:</b><br><a href=\"%s\">%s</a><br>\n",
17514a2f976a [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1766 _("Homepage"), user_url, user_url);
17514a2f976a [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1767
7675
66d9440db6ec [gaim-migrate @ 8319]
Luke Schierer <lschiere@pidgin.im>
parents: 7590
diff changeset
1768 g_string_append(s, buf);
7104
7700a28929bd [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1769
7700a28929bd [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1770 g_free(user_url);
7700a28929bd [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1771
7700a28929bd [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1772 has_info = TRUE;
6859
17514a2f976a [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1773 }
17514a2f976a [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1774
9510
2aed8d5cda1b [gaim-migrate @ 10337]
Tim Ringenbach <marv@pidgin.im>
parents: 9475
diff changeset
1775 if (!has_info)
2aed8d5cda1b [gaim-migrate @ 10337]
Tim Ringenbach <marv@pidgin.im>
parents: 9475
diff changeset
1776 {
2aed8d5cda1b [gaim-migrate @ 10337]
Tim Ringenbach <marv@pidgin.im>
parents: 9475
diff changeset
1777 /* MSN doesn't actually distinguish between "unknown member" and
2aed8d5cda1b [gaim-migrate @ 10337]
Tim Ringenbach <marv@pidgin.im>
parents: 9475
diff changeset
1778 * a known member with an empty profile. Try to explain this fact.
2aed8d5cda1b [gaim-migrate @ 10337]
Tim Ringenbach <marv@pidgin.im>
parents: 9475
diff changeset
1779 * Note that if we have a nonempty tooltip_text, we know the user
2aed8d5cda1b [gaim-migrate @ 10337]
Tim Ringenbach <marv@pidgin.im>
parents: 9475
diff changeset
1780 * exists.
2aed8d5cda1b [gaim-migrate @ 10337]
Tim Ringenbach <marv@pidgin.im>
parents: 9475
diff changeset
1781 */
13389
b6772b3209c4 [gaim-migrate @ 15762]
Stu Tomlinson <stu@nosnilmot.com>
parents: 13296
diff changeset
1782 /* This doesn't work with the new spaces profiles - Stu 3/2/06
9510
2aed8d5cda1b [gaim-migrate @ 10337]
Tim Ringenbach <marv@pidgin.im>
parents: 9475
diff changeset
1783 char *p = strstr(url_buffer, "Unknown Member </TITLE>");
13389
b6772b3209c4 [gaim-migrate @ 15762]
Stu Tomlinson <stu@nosnilmot.com>
parents: 13296
diff changeset
1784 * This might not work for long either ... */
b6772b3209c4 [gaim-migrate @ 15762]
Stu Tomlinson <stu@nosnilmot.com>
parents: 13296
diff changeset
1785 char *p = strstr(url_buffer, "form id=\"SpacesSearch\" name=\"SpacesSearch\"");
9510
2aed8d5cda1b [gaim-migrate @ 10337]
Tim Ringenbach <marv@pidgin.im>
parents: 9475
diff changeset
1786 GaimBuddy *b = gaim_find_buddy
2aed8d5cda1b [gaim-migrate @ 10337]
Tim Ringenbach <marv@pidgin.im>
parents: 9475
diff changeset
1787 (gaim_connection_get_account(info_data->gc), info_data->name);
2aed8d5cda1b [gaim-migrate @ 10337]
Tim Ringenbach <marv@pidgin.im>
parents: 9475
diff changeset
1788 g_string_append_printf(s, "<br><b>%s</b><br>%s<br><br>",
2aed8d5cda1b [gaim-migrate @ 10337]
Tim Ringenbach <marv@pidgin.im>
parents: 9475
diff changeset
1789 _("Error retrieving profile"),
2aed8d5cda1b [gaim-migrate @ 10337]
Tim Ringenbach <marv@pidgin.im>
parents: 9475
diff changeset
1790 ((p && b)?
2aed8d5cda1b [gaim-migrate @ 10337]
Tim Ringenbach <marv@pidgin.im>
parents: 9475
diff changeset
1791 _("The user has not created a public profile."):
2aed8d5cda1b [gaim-migrate @ 10337]
Tim Ringenbach <marv@pidgin.im>
parents: 9475
diff changeset
1792 p? _("MSN reported not being able to find the user's profile. "
2aed8d5cda1b [gaim-migrate @ 10337]
Tim Ringenbach <marv@pidgin.im>
parents: 9475
diff changeset
1793 "This either means that the user does not exist, "
2aed8d5cda1b [gaim-migrate @ 10337]
Tim Ringenbach <marv@pidgin.im>
parents: 9475
diff changeset
1794 "or that the user exists "
2aed8d5cda1b [gaim-migrate @ 10337]
Tim Ringenbach <marv@pidgin.im>
parents: 9475
diff changeset
1795 "but has not created a public profile."):
2aed8d5cda1b [gaim-migrate @ 10337]
Tim Ringenbach <marv@pidgin.im>
parents: 9475
diff changeset
1796 _("Gaim could not find " /* This should never happen */
2aed8d5cda1b [gaim-migrate @ 10337]
Tim Ringenbach <marv@pidgin.im>
parents: 9475
diff changeset
1797 "any information in the user's profile. "
2aed8d5cda1b [gaim-migrate @ 10337]
Tim Ringenbach <marv@pidgin.im>
parents: 9475
diff changeset
1798 "The user most likely does not exist.")));
9243
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1799 }
9510
2aed8d5cda1b [gaim-migrate @ 10337]
Tim Ringenbach <marv@pidgin.im>
parents: 9475
diff changeset
1800 /* put a link to the actual profile URL */
13544
46559ab11aed [gaim-migrate @ 15921]
Richard Laager <rlaager@wiktel.com>
parents: 13481
diff changeset
1801 g_string_append_printf(s, _("<hr><b>%s:</b> "), _("Profile URL"));
9510
2aed8d5cda1b [gaim-migrate @ 10337]
Tim Ringenbach <marv@pidgin.im>
parents: 9475
diff changeset
1802 g_string_append_printf(s, "<br><a href=\"%s%s\">%s%s</a><br>",
2aed8d5cda1b [gaim-migrate @ 10337]
Tim Ringenbach <marv@pidgin.im>
parents: 9475
diff changeset
1803 PROFILE_URL, info_data->name, PROFILE_URL, info_data->name);
2aed8d5cda1b [gaim-migrate @ 10337]
Tim Ringenbach <marv@pidgin.im>
parents: 9475
diff changeset
1804
6859
17514a2f976a [gaim-migrate @ 7404]
Christian Hammond <chipx86@chipx86.com>
parents: 6858
diff changeset
1805 /* Finish it off, and show it to them */
7675
66d9440db6ec [gaim-migrate @ 8319]
Luke Schierer <lschiere@pidgin.im>
parents: 7590
diff changeset
1806 g_string_append(s, "</body></html>\n");
7062
86ed8b2aa665 [gaim-migrate @ 7626]
Christian Hammond <chipx86@chipx86.com>
parents: 7015
diff changeset
1807
9243
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1808 #if PHOTO_SUPPORT
9569
8ba8477ca7b6 [gaim-migrate @ 10412]
Tim Ringenbach <marv@pidgin.im>
parents: 9558
diff changeset
1809 /* Find the URL to the photo; must be before the marshalling [Bug 994207] */
8ba8477ca7b6 [gaim-migrate @ 10412]
Tim Ringenbach <marv@pidgin.im>
parents: 9558
diff changeset
1810 photo_url_text = msn_get_photo_url(url_text);
9243
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1811
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1812 /* Marshall the existing state */
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1813 info2_data = g_malloc0(sizeof(MsnGetInfoStepTwoData));
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1814 info2_data->info_data = info_data;
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1815 info2_data->stripped = stripped;
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1816 info2_data->url_buffer = url_buffer;
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1817 info2_data->s = s;
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1818 info2_data->photo_url_text = photo_url_text;
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1819 info2_data->tooltip_text = tooltip_text;
9510
2aed8d5cda1b [gaim-migrate @ 10337]
Tim Ringenbach <marv@pidgin.im>
parents: 9475
diff changeset
1820 info2_data->title = title;
9243
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1821
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1822 /* Try to put the photo in there too, if there's one */
10044
86a6d78b070b [gaim-migrate @ 11003]
Luke Schierer <lschiere@pidgin.im>
parents: 9967
diff changeset
1823 if (photo_url_text)
86a6d78b070b [gaim-migrate @ 11003]
Luke Schierer <lschiere@pidgin.im>
parents: 9967
diff changeset
1824 {
9243
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1825 gaim_url_fetch(photo_url_text, FALSE, NULL, FALSE, msn_got_photo,
10044
86a6d78b070b [gaim-migrate @ 11003]
Luke Schierer <lschiere@pidgin.im>
parents: 9967
diff changeset
1826 info2_data);
86a6d78b070b [gaim-migrate @ 11003]
Luke Schierer <lschiere@pidgin.im>
parents: 9967
diff changeset
1827 }
86a6d78b070b [gaim-migrate @ 11003]
Luke Schierer <lschiere@pidgin.im>
parents: 9967
diff changeset
1828 else
86a6d78b070b [gaim-migrate @ 11003]
Luke Schierer <lschiere@pidgin.im>
parents: 9967
diff changeset
1829 {
9243
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1830 /* Emulate a callback */
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1831 msn_got_photo(info2_data, NULL, 0);
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1832 }
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1833 }
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1834
10044
86a6d78b070b [gaim-migrate @ 11003]
Luke Schierer <lschiere@pidgin.im>
parents: 9967
diff changeset
1835 static void
86a6d78b070b [gaim-migrate @ 11003]
Luke Schierer <lschiere@pidgin.im>
parents: 9967
diff changeset
1836 msn_got_photo(void *data, const char *url_text, size_t len)
9243
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1837 {
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1838 MsnGetInfoStepTwoData *info2_data = (MsnGetInfoStepTwoData *)data;
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1839 int id = -1;
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1840
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1841 /* Unmarshall the saved state */
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1842 MsnGetInfoData *info_data = info2_data->info_data;
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1843 char *stripped = info2_data->stripped;
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1844 char *url_buffer = info2_data->url_buffer;
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1845 GString *s = info2_data->s;
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1846 char *photo_url_text = info2_data->photo_url_text;
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1847 char *tooltip_text = info2_data->tooltip_text;
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1848
13479
90740e70af91 [gaim-migrate @ 15855]
Evan Schoenberg <evan.s@dreskin.net>
parents: 13390
diff changeset
1849 /* Make sure the connection is still valid if we got here by fetching a photo url */
90740e70af91 [gaim-migrate @ 15855]
Evan Schoenberg <evan.s@dreskin.net>
parents: 13390
diff changeset
1850 if (url_text &&
90740e70af91 [gaim-migrate @ 15855]
Evan Schoenberg <evan.s@dreskin.net>
parents: 13390
diff changeset
1851 g_list_find(gaim_connections_get_all(), info_data->gc) == NULL)
90740e70af91 [gaim-migrate @ 15855]
Evan Schoenberg <evan.s@dreskin.net>
parents: 13390
diff changeset
1852 {
90740e70af91 [gaim-migrate @ 15855]
Evan Schoenberg <evan.s@dreskin.net>
parents: 13390
diff changeset
1853 gaim_debug_warning("msn", "invalid connection. ignoring buddy photo info.\n");
90740e70af91 [gaim-migrate @ 15855]
Evan Schoenberg <evan.s@dreskin.net>
parents: 13390
diff changeset
1854 g_free(stripped);
90740e70af91 [gaim-migrate @ 15855]
Evan Schoenberg <evan.s@dreskin.net>
parents: 13390
diff changeset
1855 g_free(url_buffer);
90740e70af91 [gaim-migrate @ 15855]
Evan Schoenberg <evan.s@dreskin.net>
parents: 13390
diff changeset
1856 g_string_free(s, TRUE);
90740e70af91 [gaim-migrate @ 15855]
Evan Schoenberg <evan.s@dreskin.net>
parents: 13390
diff changeset
1857 g_free(tooltip_text);
90740e70af91 [gaim-migrate @ 15855]
Evan Schoenberg <evan.s@dreskin.net>
parents: 13390
diff changeset
1858 g_free(info_data->name);
90740e70af91 [gaim-migrate @ 15855]
Evan Schoenberg <evan.s@dreskin.net>
parents: 13390
diff changeset
1859 g_free(info_data);
90740e70af91 [gaim-migrate @ 15855]
Evan Schoenberg <evan.s@dreskin.net>
parents: 13390
diff changeset
1860 g_free(photo_url_text);
90740e70af91 [gaim-migrate @ 15855]
Evan Schoenberg <evan.s@dreskin.net>
parents: 13390
diff changeset
1861 g_free(info2_data);
13481
56898561b8a9 [gaim-migrate @ 15857]
Evan Schoenberg <evan.s@dreskin.net>
parents: 13479
diff changeset
1862
13479
90740e70af91 [gaim-migrate @ 15855]
Evan Schoenberg <evan.s@dreskin.net>
parents: 13390
diff changeset
1863 return;
90740e70af91 [gaim-migrate @ 15855]
Evan Schoenberg <evan.s@dreskin.net>
parents: 13390
diff changeset
1864 }
90740e70af91 [gaim-migrate @ 15855]
Evan Schoenberg <evan.s@dreskin.net>
parents: 13390
diff changeset
1865
9243
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1866 /* Try to put the photo in there too, if there's one and is readable */
10044
86a6d78b070b [gaim-migrate @ 11003]
Luke Schierer <lschiere@pidgin.im>
parents: 9967
diff changeset
1867 if (data && url_text && len != 0)
86a6d78b070b [gaim-migrate @ 11003]
Luke Schierer <lschiere@pidgin.im>
parents: 9967
diff changeset
1868 {
9243
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1869 if (strstr(url_text, "400 Bad Request")
10044
86a6d78b070b [gaim-migrate @ 11003]
Luke Schierer <lschiere@pidgin.im>
parents: 9967
diff changeset
1870 || strstr(url_text, "403 Forbidden")
86a6d78b070b [gaim-migrate @ 11003]
Luke Schierer <lschiere@pidgin.im>
parents: 9967
diff changeset
1871 || strstr(url_text, "404 Not Found"))
86a6d78b070b [gaim-migrate @ 11003]
Luke Schierer <lschiere@pidgin.im>
parents: 9967
diff changeset
1872 {
9243
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1873
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1874 gaim_debug_info("msn", "Error getting %s: %s\n",
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1875 photo_url_text, url_text);
10044
86a6d78b070b [gaim-migrate @ 11003]
Luke Schierer <lschiere@pidgin.im>
parents: 9967
diff changeset
1876 }
86a6d78b070b [gaim-migrate @ 11003]
Luke Schierer <lschiere@pidgin.im>
parents: 9967
diff changeset
1877 else
86a6d78b070b [gaim-migrate @ 11003]
Luke Schierer <lschiere@pidgin.im>
parents: 9967
diff changeset
1878 {
9243
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1879 char buf[1024];
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1880 gaim_debug_info("msn", "%s is %d bytes\n", photo_url_text, len);
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1881 id = gaim_imgstore_add(url_text, len, NULL);
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1882 g_snprintf(buf, sizeof(buf), "<img id=\"%d\"><br>", id);
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1883 g_string_prepend(s, buf);
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1884 }
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1885 }
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1886
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1887 /* We continue here from msn_got_info, as if nothing has happened */
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1888 #endif
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1889
9510
2aed8d5cda1b [gaim-migrate @ 10337]
Tim Ringenbach <marv@pidgin.im>
parents: 9475
diff changeset
1890 g_string_prepend(s, tooltip_text);
11533
c9b815aeddc1 [gaim-migrate @ 13782]
Richard Laager <rlaager@wiktel.com>
parents: 11531
diff changeset
1891 gaim_notify_userinfo(info_data->gc, info_data->name, s->str, NULL, NULL);
7062
86ed8b2aa665 [gaim-migrate @ 7626]
Christian Hammond <chipx86@chipx86.com>
parents: 7015
diff changeset
1892
6516
7c14b35bc984 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
1893 g_free(stripped);
7094
2343c3aa1dec [gaim-migrate @ 7659]
Christian Hammond <chipx86@chipx86.com>
parents: 7062
diff changeset
1894 g_free(url_buffer);
7675
66d9440db6ec [gaim-migrate @ 8319]
Luke Schierer <lschiere@pidgin.im>
parents: 7590
diff changeset
1895 g_string_free(s, TRUE);
9243
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1896 g_free(tooltip_text);
7104
7700a28929bd [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1897 g_free(info_data->name);
7700a28929bd [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1898 g_free(info_data);
9243
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1899 #if PHOTO_SUPPORT
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1900 g_free(photo_url_text);
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1901 g_free(info2_data);
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1902 if (id != -1)
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1903 gaim_imgstore_unref(id);
a9151be6fe1a [gaim-migrate @ 10042]
Tim Ringenbach <marv@pidgin.im>
parents: 9198
diff changeset
1904 #endif
6516
7c14b35bc984 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
1905 }
7c14b35bc984 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
1906
7c14b35bc984 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
1907 static void
7c14b35bc984 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
1908 msn_get_info(GaimConnection *gc, const char *name)
7c14b35bc984 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
1909 {
7104
7700a28929bd [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1910 MsnGetInfoData *data;
7700a28929bd [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1911 char *url;
7700a28929bd [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1912
7700a28929bd [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1913 data = g_new0(MsnGetInfoData, 1);
7700a28929bd [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1914 data->gc = gc;
7700a28929bd [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1915 data->name = g_strdup(name);
7700a28929bd [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1916
7700a28929bd [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1917 url = g_strdup_printf("%s%s", PROFILE_URL, name);
7700a28929bd [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1918
7094
2343c3aa1dec [gaim-migrate @ 7659]
Christian Hammond <chipx86@chipx86.com>
parents: 7062
diff changeset
1919 gaim_url_fetch(url, FALSE,
9158
c30d81b4dd22 [gaim-migrate @ 9942]
Christian Hammond <chipx86@chipx86.com>
parents: 9092
diff changeset
1920 "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)",
c30d81b4dd22 [gaim-migrate @ 9942]
Christian Hammond <chipx86@chipx86.com>
parents: 9092
diff changeset
1921 TRUE, msn_got_info, data);
7104
7700a28929bd [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1922
7700a28929bd [gaim-migrate @ 7669]
Christian Hammond <chipx86@chipx86.com>
parents: 7095
diff changeset
1923 g_free(url);
6516
7c14b35bc984 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
1924 }
7c14b35bc984 [gaim-migrate @ 7033]
Luke Schierer <lschiere@pidgin.im>
parents: 6378
diff changeset
1925
8808
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
1926 static gboolean msn_load(GaimPlugin *plugin)
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
1927 {
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
1928 msn_notification_init();
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
1929 msn_switchboard_init();
9193
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
1930 msn_sync_init();
8808
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
1931
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
1932 return TRUE;
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
1933 }
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
1934
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
1935 static gboolean msn_unload(GaimPlugin *plugin)
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
1936 {
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
1937 msn_notification_end();
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
1938 msn_switchboard_end();
9193
502707ca1836 [gaim-migrate @ 9988]
Christian Hammond <chipx86@chipx86.com>
parents: 9158
diff changeset
1939 msn_sync_end();
8808
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
1940
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
1941 return TRUE;
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
1942 }
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
1943
5205
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5191
diff changeset
1944 static GaimPluginProtocolInfo prpl_info =
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5191
diff changeset
1945 {
9308
b3bda982996b [gaim-migrate @ 10116]
Sean Egan <seanegan@gmail.com>
parents: 9290
diff changeset
1946 OPT_PROTO_MAIL_CHECK,
9475
7a65fdba750f [gaim-migrate @ 10300]
Luke Schierer <lschiere@pidgin.im>
parents: 9466
diff changeset
1947 NULL, /* user_splits */
7a65fdba750f [gaim-migrate @ 10300]
Luke Schierer <lschiere@pidgin.im>
parents: 9466
diff changeset
1948 NULL, /* protocol_options */
9555
a79e03ef63f6 [gaim-migrate @ 10391]
Sean Egan <seanegan@gmail.com>
parents: 9554
diff changeset
1949 {"png", 0, 0, 96, 96, GAIM_ICON_SCALE_SEND}, /* icon_spec */
9475
7a65fdba750f [gaim-migrate @ 10300]
Luke Schierer <lschiere@pidgin.im>
parents: 9466
diff changeset
1950 msn_list_icon, /* list_icon */
7a65fdba750f [gaim-migrate @ 10300]
Luke Schierer <lschiere@pidgin.im>
parents: 9466
diff changeset
1951 msn_list_emblems, /* list_emblems */
7a65fdba750f [gaim-migrate @ 10300]
Luke Schierer <lschiere@pidgin.im>
parents: 9466
diff changeset
1952 msn_status_text, /* status_text */
7a65fdba750f [gaim-migrate @ 10300]
Luke Schierer <lschiere@pidgin.im>
parents: 9466
diff changeset
1953 msn_tooltip_text, /* tooltip_text */
9951
42cdec4f639b [gaim-migrate @ 10847]
Nathan Walp <nwalp@pidgin.im>
parents: 9943
diff changeset
1954 msn_status_types, /* away_states */
42cdec4f639b [gaim-migrate @ 10847]
Nathan Walp <nwalp@pidgin.im>
parents: 9943
diff changeset
1955 msn_blist_node_menu, /* blist_node_menu */
9475
7a65fdba750f [gaim-migrate @ 10300]
Luke Schierer <lschiere@pidgin.im>
parents: 9466
diff changeset
1956 NULL, /* chat_info */
9754
4a8bf81b82ae [gaim-migrate @ 10621]
Luke Schierer <lschiere@pidgin.im>
parents: 9713
diff changeset
1957 NULL, /* chat_info_defaults */
9951
42cdec4f639b [gaim-migrate @ 10847]
Nathan Walp <nwalp@pidgin.im>
parents: 9943
diff changeset
1958 msn_login, /* login */
42cdec4f639b [gaim-migrate @ 10847]
Nathan Walp <nwalp@pidgin.im>
parents: 9943
diff changeset
1959 msn_close, /* close */
9475
7a65fdba750f [gaim-migrate @ 10300]
Luke Schierer <lschiere@pidgin.im>
parents: 9466
diff changeset
1960 msn_send_im, /* send_im */
7a65fdba750f [gaim-migrate @ 10300]
Luke Schierer <lschiere@pidgin.im>
parents: 9466
diff changeset
1961 NULL, /* set_info */
7a65fdba750f [gaim-migrate @ 10300]
Luke Schierer <lschiere@pidgin.im>
parents: 9466
diff changeset
1962 msn_send_typing, /* send_typing */
7a65fdba750f [gaim-migrate @ 10300]
Luke Schierer <lschiere@pidgin.im>
parents: 9466
diff changeset
1963 msn_get_info, /* get_info */
9967
2f153f8cdf81 [gaim-migrate @ 10877]
Luke Schierer <lschiere@pidgin.im>
parents: 9953
diff changeset
1964 msn_set_status, /* set_away */
9475
7a65fdba750f [gaim-migrate @ 10300]
Luke Schierer <lschiere@pidgin.im>
parents: 9466
diff changeset
1965 msn_set_idle, /* set_idle */
7a65fdba750f [gaim-migrate @ 10300]
Luke Schierer <lschiere@pidgin.im>
parents: 9466
diff changeset
1966 NULL, /* change_passwd */
7a65fdba750f [gaim-migrate @ 10300]
Luke Schierer <lschiere@pidgin.im>
parents: 9466
diff changeset
1967 msn_add_buddy, /* add_buddy */
7a65fdba750f [gaim-migrate @ 10300]
Luke Schierer <lschiere@pidgin.im>
parents: 9466
diff changeset
1968 NULL, /* add_buddies */
7a65fdba750f [gaim-migrate @ 10300]
Luke Schierer <lschiere@pidgin.im>
parents: 9466
diff changeset
1969 msn_rem_buddy, /* remove_buddy */
7a65fdba750f [gaim-migrate @ 10300]
Luke Schierer <lschiere@pidgin.im>
parents: 9466
diff changeset
1970 NULL, /* remove_buddies */
7a65fdba750f [gaim-migrate @ 10300]
Luke Schierer <lschiere@pidgin.im>
parents: 9466
diff changeset
1971 msn_add_permit, /* add_permit */
7a65fdba750f [gaim-migrate @ 10300]
Luke Schierer <lschiere@pidgin.im>
parents: 9466
diff changeset
1972 msn_add_deny, /* add_deny */
7a65fdba750f [gaim-migrate @ 10300]
Luke Schierer <lschiere@pidgin.im>
parents: 9466
diff changeset
1973 msn_rem_permit, /* rem_permit */
7a65fdba750f [gaim-migrate @ 10300]
Luke Schierer <lschiere@pidgin.im>
parents: 9466
diff changeset
1974 msn_rem_deny, /* rem_deny */
9951
42cdec4f639b [gaim-migrate @ 10847]
Nathan Walp <nwalp@pidgin.im>
parents: 9943
diff changeset
1975 msn_set_permit_deny, /* set_permit_deny */
9475
7a65fdba750f [gaim-migrate @ 10300]
Luke Schierer <lschiere@pidgin.im>
parents: 9466
diff changeset
1976 NULL, /* join_chat */
7a65fdba750f [gaim-migrate @ 10300]
Luke Schierer <lschiere@pidgin.im>
parents: 9466
diff changeset
1977 NULL, /* reject chat invite */
10463
9bed28273ec7 [gaim-migrate @ 11737]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10451
diff changeset
1978 NULL, /* get_chat_name */
9475
7a65fdba750f [gaim-migrate @ 10300]
Luke Schierer <lschiere@pidgin.im>
parents: 9466
diff changeset
1979 msn_chat_invite, /* chat_invite */
7a65fdba750f [gaim-migrate @ 10300]
Luke Schierer <lschiere@pidgin.im>
parents: 9466
diff changeset
1980 msn_chat_leave, /* chat_leave */
7a65fdba750f [gaim-migrate @ 10300]
Luke Schierer <lschiere@pidgin.im>
parents: 9466
diff changeset
1981 NULL, /* chat_whisper */
7a65fdba750f [gaim-migrate @ 10300]
Luke Schierer <lschiere@pidgin.im>
parents: 9466
diff changeset
1982 msn_chat_send, /* chat_send */
7a65fdba750f [gaim-migrate @ 10300]
Luke Schierer <lschiere@pidgin.im>
parents: 9466
diff changeset
1983 msn_keepalive, /* keepalive */
7a65fdba750f [gaim-migrate @ 10300]
Luke Schierer <lschiere@pidgin.im>
parents: 9466
diff changeset
1984 NULL, /* register_user */
7a65fdba750f [gaim-migrate @ 10300]
Luke Schierer <lschiere@pidgin.im>
parents: 9466
diff changeset
1985 NULL, /* get_cb_info */
7a65fdba750f [gaim-migrate @ 10300]
Luke Schierer <lschiere@pidgin.im>
parents: 9466
diff changeset
1986 NULL, /* get_cb_away */
7a65fdba750f [gaim-migrate @ 10300]
Luke Schierer <lschiere@pidgin.im>
parents: 9466
diff changeset
1987 NULL, /* alias_buddy */
7a65fdba750f [gaim-migrate @ 10300]
Luke Schierer <lschiere@pidgin.im>
parents: 9466
diff changeset
1988 msn_group_buddy, /* group_buddy */
7a65fdba750f [gaim-migrate @ 10300]
Luke Schierer <lschiere@pidgin.im>
parents: 9466
diff changeset
1989 msn_rename_group, /* rename_group */
7a65fdba750f [gaim-migrate @ 10300]
Luke Schierer <lschiere@pidgin.im>
parents: 9466
diff changeset
1990 NULL, /* buddy_free */
7a65fdba750f [gaim-migrate @ 10300]
Luke Schierer <lschiere@pidgin.im>
parents: 9466
diff changeset
1991 msn_convo_closed, /* convo_closed */
7a65fdba750f [gaim-migrate @ 10300]
Luke Schierer <lschiere@pidgin.im>
parents: 9466
diff changeset
1992 msn_normalize, /* normalize */
7a65fdba750f [gaim-migrate @ 10300]
Luke Schierer <lschiere@pidgin.im>
parents: 9466
diff changeset
1993 msn_set_buddy_icon, /* set_buddy_icon */
7a65fdba750f [gaim-migrate @ 10300]
Luke Schierer <lschiere@pidgin.im>
parents: 9466
diff changeset
1994 msn_remove_group, /* remove_group */
7a65fdba750f [gaim-migrate @ 10300]
Luke Schierer <lschiere@pidgin.im>
parents: 9466
diff changeset
1995 NULL, /* get_cb_real_name */
7a65fdba750f [gaim-migrate @ 10300]
Luke Schierer <lschiere@pidgin.im>
parents: 9466
diff changeset
1996 NULL, /* set_chat_topic */
7a65fdba750f [gaim-migrate @ 10300]
Luke Schierer <lschiere@pidgin.im>
parents: 9466
diff changeset
1997 NULL, /* find_blist_chat */
7a65fdba750f [gaim-migrate @ 10300]
Luke Schierer <lschiere@pidgin.im>
parents: 9466
diff changeset
1998 NULL, /* roomlist_get_list */
7a65fdba750f [gaim-migrate @ 10300]
Luke Schierer <lschiere@pidgin.im>
parents: 9466
diff changeset
1999 NULL, /* roomlist_cancel */
7a65fdba750f [gaim-migrate @ 10300]
Luke Schierer <lschiere@pidgin.im>
parents: 9466
diff changeset
2000 NULL, /* roomlist_expand_category */
10116
9f358a718f38 [gaim-migrate @ 11153]
Stu Tomlinson <stu@nosnilmot.com>
parents: 10102
diff changeset
2001 msn_can_receive_file, /* can_receive_file */
12143
cbebda5f019c [gaim-migrate @ 14444]
Richard Laager <rlaager@wiktel.com>
parents: 11992
diff changeset
2002 msn_send_file, /* send_file */
12600
e856f985a0b9 [gaim-migrate @ 14934]
Richard Laager <rlaager@wiktel.com>
parents: 12595
diff changeset
2003 msn_new_xfer, /* new_xfer */
12645
fc28451f5d96 [gaim-migrate @ 14983]
Richard Laager <rlaager@wiktel.com>
parents: 12600
diff changeset
2004 NULL, /* offline_message */
12600
e856f985a0b9 [gaim-migrate @ 14934]
Richard Laager <rlaager@wiktel.com>
parents: 12595
diff changeset
2005 NULL, /* whiteboard_prpl_ops */
5205
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5191
diff changeset
2006 };
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5191
diff changeset
2007
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5191
diff changeset
2008 static GaimPluginInfo info =
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5191
diff changeset
2009 {
9943
f8e395a054e2 [gaim-migrate @ 10835]
Nathan Walp <nwalp@pidgin.im>
parents: 9917
diff changeset
2010 GAIM_PLUGIN_MAGIC,
f8e395a054e2 [gaim-migrate @ 10835]
Nathan Walp <nwalp@pidgin.im>
parents: 9917
diff changeset
2011 GAIM_MAJOR_VERSION,
f8e395a054e2 [gaim-migrate @ 10835]
Nathan Walp <nwalp@pidgin.im>
parents: 9917
diff changeset
2012 GAIM_MINOR_VERSION,
5205
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5191
diff changeset
2013 GAIM_PLUGIN_PROTOCOL, /**< type */
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5191
diff changeset
2014 NULL, /**< ui_requirement */
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5191
diff changeset
2015 0, /**< flags */
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5191
diff changeset
2016 NULL, /**< dependencies */
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5191
diff changeset
2017 GAIM_PRIORITY_DEFAULT, /**< priority */
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5191
diff changeset
2018
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5191
diff changeset
2019 "prpl-msn", /**< id */
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5191
diff changeset
2020 "MSN", /**< name */
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5191
diff changeset
2021 VERSION, /**< version */
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5191
diff changeset
2022 /** summary */
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5191
diff changeset
2023 N_("MSN Protocol Plugin"),
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5191
diff changeset
2024 /** description */
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5191
diff changeset
2025 N_("MSN Protocol Plugin"),
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5191
diff changeset
2026 "Christian Hammond <chipx86@gnupdate.org>", /**< author */
6371
8f94cce8faa5 [gaim-migrate @ 6876]
Christian Hammond <chipx86@chipx86.com>
parents: 6228
diff changeset
2027 GAIM_WEBSITE, /**< homepage */
5205
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5191
diff changeset
2028
8808
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
2029 msn_load, /**< load */
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
2030 msn_unload, /**< unload */
5205
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5191
diff changeset
2031 NULL, /**< destroy */
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5191
diff changeset
2032
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5191
diff changeset
2033 NULL, /**< ui_info */
8808
bbd8cdaf0ad5 [gaim-migrate @ 9570]
Christian Hammond <chipx86@chipx86.com>
parents: 8749
diff changeset
2034 &prpl_info, /**< extra_info */
10487
659edfcac14e [gaim-migrate @ 11777]
Sean Egan <seanegan@gmail.com>
parents: 10481
diff changeset
2035 NULL, /**< prefs_info */
9015
67421e0dc497 [gaim-migrate @ 9791]
Luke Schierer <lschiere@pidgin.im>
parents: 8993
diff changeset
2036 msn_actions
5205
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5191
diff changeset
2037 };
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5191
diff changeset
2038
fefad67de2c7 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5191
diff changeset
2039 static void
5793
952710ac6635 [gaim-migrate @ 6218]
Christian Hammond <chipx86@chipx86.com>
parents: 5717
diff changeset
2040 init_plugin(GaimPlugin *plugin)
2086
424a40f12a6c [gaim-migrate @ 2096]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
2041 {
5638
0bdfa28c678e [gaim-migrate @ 6047]
Christian Hammond <chipx86@chipx86.com>
parents: 5626
diff changeset
2042 GaimAccountOption *option;
3572
bdd0bebd2d04 [gaim-migrate @ 3670]
Sean Egan <seanegan@gmail.com>
parents: 3538
diff changeset
2043
13705
2f7b356812bc [gaim-migrate @ 16108]
Richard Laager <rlaager@wiktel.com>
parents: 13634
diff changeset
2044 option = gaim_account_option_string_new(_("Server"), "server",
5638
0bdfa28c678e [gaim-migrate @ 6047]
Christian Hammond <chipx86@chipx86.com>
parents: 5626
diff changeset
2045 MSN_SERVER);
0bdfa28c678e [gaim-migrate @ 6047]
Christian Hammond <chipx86@chipx86.com>
parents: 5626
diff changeset
2046 prpl_info.protocol_options = g_list_append(prpl_info.protocol_options,
0bdfa28c678e [gaim-migrate @ 6047]
Christian Hammond <chipx86@chipx86.com>
parents: 5626
diff changeset
2047 option);
3572
bdd0bebd2d04 [gaim-migrate @ 3670]
Sean Egan <seanegan@gmail.com>
parents: 3538
diff changeset
2048
5638
0bdfa28c678e [gaim-migrate @ 6047]
Christian Hammond <chipx86@chipx86.com>
parents: 5626
diff changeset
2049 option = gaim_account_option_int_new(_("Port"), "port", 1863);
0bdfa28c678e [gaim-migrate @ 6047]
Christian Hammond <chipx86@chipx86.com>
parents: 5626
diff changeset
2050 prpl_info.protocol_options = g_list_append(prpl_info.protocol_options,
0bdfa28c678e [gaim-migrate @ 6047]
Christian Hammond <chipx86@chipx86.com>
parents: 5626
diff changeset
2051 option);
2086
424a40f12a6c [gaim-migrate @ 2096]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
2052
9158
c30d81b4dd22 [gaim-migrate @ 9942]
Christian Hammond <chipx86@chipx86.com>
parents: 9092
diff changeset
2053 option = gaim_account_option_bool_new(_("Use HTTP Method"),
c30d81b4dd22 [gaim-migrate @ 9942]
Christian Hammond <chipx86@chipx86.com>
parents: 9092
diff changeset
2054 "http_method", FALSE);
7288
ff9127038a5a [gaim-migrate @ 7869]
Christian Hammond <chipx86@chipx86.com>
parents: 7277
diff changeset
2055 prpl_info.protocol_options = g_list_append(prpl_info.protocol_options,
ff9127038a5a [gaim-migrate @ 7869]
Christian Hammond <chipx86@chipx86.com>
parents: 7277
diff changeset
2056 option);
ff9127038a5a [gaim-migrate @ 7869]
Christian Hammond <chipx86@chipx86.com>
parents: 7277
diff changeset
2057
12886
d8e8feac6cce [gaim-migrate @ 15238]
Stu Tomlinson <stu@nosnilmot.com>
parents: 12658
diff changeset
2058 option = gaim_account_option_bool_new(_("Show custom smileys"),
d8e8feac6cce [gaim-migrate @ 15238]
Stu Tomlinson <stu@nosnilmot.com>
parents: 12658
diff changeset
2059 "custom_smileys", TRUE);
d8e8feac6cce [gaim-migrate @ 15238]
Stu Tomlinson <stu@nosnilmot.com>
parents: 12658
diff changeset
2060 prpl_info.protocol_options = g_list_append(prpl_info.protocol_options,
d8e8feac6cce [gaim-migrate @ 15238]
Stu Tomlinson <stu@nosnilmot.com>
parents: 12658
diff changeset
2061 option);
d8e8feac6cce [gaim-migrate @ 15238]
Stu Tomlinson <stu@nosnilmot.com>
parents: 12658
diff changeset
2062
11321
95fa774d216d [gaim-migrate @ 13525]
Stu Tomlinson <stu@nosnilmot.com>
parents: 11257
diff changeset
2063 gaim_cmd_register("nudge", "", GAIM_CMD_P_PRPL,
95fa774d216d [gaim-migrate @ 13525]
Stu Tomlinson <stu@nosnilmot.com>
parents: 11257
diff changeset
2064 GAIM_CMD_FLAG_IM | GAIM_CMD_FLAG_PRPL_ONLY,
95fa774d216d [gaim-migrate @ 13525]
Stu Tomlinson <stu@nosnilmot.com>
parents: 11257
diff changeset
2065 "prpl-msn", msn_cmd_nudge,
12318
e346a085bb4f [gaim-migrate @ 14622]
Richard Laager <rlaager@wiktel.com>
parents: 12243
diff changeset
2066 _("nudge: nudge a user to get their attention"), NULL);
11321
95fa774d216d [gaim-migrate @ 13525]
Stu Tomlinson <stu@nosnilmot.com>
parents: 11257
diff changeset
2067
10487
659edfcac14e [gaim-migrate @ 11777]
Sean Egan <seanegan@gmail.com>
parents: 10481
diff changeset
2068 gaim_prefs_remove("/plugins/prpl/msn");
2086
424a40f12a6c [gaim-migrate @ 2096]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
2069 }
424a40f12a6c [gaim-migrate @ 2096]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
diff changeset
2070
5793
952710ac6635 [gaim-migrate @ 6218]
Christian Hammond <chipx86@chipx86.com>
parents: 5717
diff changeset
2071 GAIM_INIT_PLUGIN(msn, init_plugin, info);