From 4ab77d519ebde5e380a75fb3f139f965867f1ed8 Mon Sep 17 00:00:00 2001 From: Szymon Tokarz Date: Wed, 6 Nov 2013 20:09:45 +0000 Subject: Gadu-Gadu protocol Adaptation for todays another gadu-gadu.pl avatars api changes - url http://api.gadu-gadu.pl/avatars/%d/0.xml now returns data at XML format again - url to avatar is now at "users/user/avatars/avatar/bigavatar" node (instead "users/user/avatars/avatar/originBigAvatar" node) git-svn-id: http://svn.miranda-ng.org/main/trunk@6811 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- protocols/Gadu-Gadu/src/avatar.cpp | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'protocols') diff --git a/protocols/Gadu-Gadu/src/avatar.cpp b/protocols/Gadu-Gadu/src/avatar.cpp index f0dd2ab105..7086aee901 100644 --- a/protocols/Gadu-Gadu/src/avatar.cpp +++ b/protocols/Gadu-Gadu/src/avatar.cpp @@ -80,20 +80,22 @@ bool GGPROTO::getAvatarFileInfo(uin_t uin, char **avatarurl, char **avatarts) return false; } - if (strncmp(resp->pData, "pData, "", 8) == 0) || (strncmp(resp->pData, "pData); HXML hXml = xi.parseString(xmlAction, 0, _T("result")); if (hXml != NULL) { HXML node = xi.getChildByPath(hXml, _T("users/user/avatars/avatar"), 0); const TCHAR *blank = (node != NULL) ? xi.getAttrValue(node, _T("blank")) : NULL; if (blank != NULL && _tcscmp(blank, _T("1"))) { - node = xi.getChildByPath(hXml, _T("users/user/avatars/avatar/originBigAvatar"), 0); - *avatarurl = node != NULL ? mir_t2a(xi.getText(node)) : NULL; - node = xi.getChildByPath(hXml, _T("users/user/avatars/avatar/timestamp"), 0); *avatarts = node != NULL ? mir_t2a(xi.getText(node)) : NULL; + node = xi.getChildByPath(hXml, _T("users/user/avatars/avatar/bigavatar"), 0); //new gg convention + if (node == NULL){ + node = xi.getChildByPath(hXml, _T("users/user/avatars/avatar/originBigAvatar"), 0); //old gg convention + } + *avatarurl = node != NULL ? mir_t2a(xi.getText(node)) : NULL; } xi.destroyNode(hXml); } @@ -101,7 +103,7 @@ bool GGPROTO::getAvatarFileInfo(uin_t uin, char **avatarurl, char **avatarts) } else if (strncmp(resp->pData, "{\"result\":", 10) == 0){ - //after 11.2013 this url returns json data + //if this url returns json data (11.2013 gg convention) JSONNODE *respJSON = json_parse(resp->pData); if (respJSON != NULL) { JSONNODE* respJSONavatars = json_get(json_get(json_get(json_get(respJSON, "result"), "users"), "user"), "avatars"); -- cgit v1.2.3