src/protocols/msn/msn.c

Fri, 23 Dec 2005 19:26:04 +0000

author
Sadrul Habib Chowdhury <sadrul@pidgin.im>
date
Fri, 23 Dec 2005 19:26:04 +0000
changeset 12645
a907ba243930
parent 12600
7ecd4441fdc7
child 12658
4aa7a873628d
permissions
-rw-r--r--

[gaim-migrate @ 14983]
SF Patch #1314512 from Sadrul (who has a patch for everything)

"This patch introduces a flag for protocol plugins that
support offline messages (like Y!M and ICQ). This was
encouraged by the following conversation:

<sadrul> should offline buddies be listed/enabled in
the send-to menu?

<rekkanoryo> i would think only for protocols that
support offline messaging, if it's indicated that the
buddy is offline

-- <snip> --

<Bleeter> sadrul: personally, I'd like to see a
'supports offline' flag of some description

<Bleeter> one could then redirect (via plugins) through
email or alternative methods

<Bleeter> just a thought

<Paco-Paco> yeah, that sounds like a reasonble thing to have

This patch uses this flag to disable the buddies in the
send-to menu who are offline and the protocol doesn't
support offline messages."

I made this make the label insensitive instead of the whole menuitem. This
should address SimGuy's concerns about inconsistency (i.e. you could create a
conversation with someone via the buddy list that you couldn't create via the
Send To menu). I also hacked up some voodoo to show the label as sensitive when
moused-over, as that looks better (given the label-insensitive thing is itself a
hack). I think this works quite well.

BUG NOTE:
This makes more obvious an existing bug. The Send To menu isn't updated when
buddies sign on or off or change status (at least under some circumstances).
We need to fix that anyway, so I'm not going to let it hold up this commit.
Switching tabs will clear it up. I'm thinking we just might want to build the
contents of that menu when it is selected. That would save us a mess of
inefficient signal callbacks that update the Send To menus in open windows all
the time.

AIM NOTE:
This assumes that AIM can't offline message. That's not strictly true. You can
message invisible users on AIM. However, by design, we can't tell when a user
is invisible without resorting to dirty hackery. In practice, this isn't a
problem, as you can still select the AIM user from the menu. And really, how
often will you be choosing the Invisible contact, rather than the user going
Invisible in the middle of a conversation or IMing you while they're Invisible?

JABBER NOTE:
This assumes that Jabber can always offline message. This isn't strictly true.
Sadrul said:

I have updated Jabber according to this link which seems to
talk about how to determine the existence offline-message
support in a server:
http://www.jabber.org/jeps/jep-0013.html#discover

However, jabber.org doesn't seem to send the required
info. So I am not sure about it.

He later said:

I talked to Nathan and he said offline message support is
mostly assumed for most jabber servers. GTalk doesn't yet
support it, but they are working on it. So I have made
jabber to always return TRUE.

If there is truly no way to detect offline messaging capability, then this is
an acceptable solution. We could special case Google Talk because of its
popularity, and remove that later. It's probably not worth it though.

MSN NOTE:
This assumes that MSN can never offline message. That's effectively true, but
to be technically correct, MSN can offline message if there's already a
switchboard conversation open with a user. We could write an offline_message
function in the MSN prpl to detect that, but it'd be of limited usefulness,
especially given that under most circumstances (where this might matter), the
switchboard connection will be closed almost immediately.


CVS NOTE:
I'm writing to share a tragic little story.

I have a PC that I use for Gaim development. One day, I was writing a commit
message on it, when all of a suddent it went berserk. The screen started
flashing, and the whole commit message just disappeared. All of it. And it was
a good commit message! I had to cram and rewrite it really quickly. Needless to
say, my rushed commit message wasn't nearly as good, and I blame the PC for that.

Seriously, though, what kind of version control system loses your commit
message on a broken connection to the server? Stupid!

committer: Richard Laager <rlaager@pidgin.im>

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

mercurial