From 12d981da28a6a35dbdcd4d207dc4497f902f287d Mon Sep 17 00:00:00 2001 From: Sergey Bolhovskoy Date: Tue, 23 Dec 2014 10:52:55 +0000 Subject: VKontakte: fix formatting news fix wall_photo processing version bump git-svn-id: http://svn.miranda-ng.org/main/trunk@11594 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- protocols/VKontakte/src/version.h | 2 +- protocols/VKontakte/src/vk_feed.cpp | 23 +++++++++++++++-------- protocols/VKontakte/src/vk_proto.h | 2 +- 3 files changed, 17 insertions(+), 10 deletions(-) (limited to 'protocols') diff --git a/protocols/VKontakte/src/version.h b/protocols/VKontakte/src/version.h index e416a29a63..906031dc49 100644 --- a/protocols/VKontakte/src/version.h +++ b/protocols/VKontakte/src/version.h @@ -1,7 +1,7 @@ #define __MAJOR_VERSION 0 #define __MINOR_VERSION 1 #define __RELEASE_NUM 0 -#define __BUILD_NUM 34 +#define __BUILD_NUM 35 #include diff --git a/protocols/VKontakte/src/vk_feed.cpp b/protocols/VKontakte/src/vk_feed.cpp index 2284d37ace..0c9e4b54f8 100644 --- a/protocols/VKontakte/src/vk_feed.cpp +++ b/protocols/VKontakte/src/vk_feed.cpp @@ -159,9 +159,9 @@ CMString CVkProto::GetVkPhotoItem(JSONNODE *pPhoto) ////////////////////////////////////////////////////////////////////////////////////////////////////////// -CVKNewsItem* CVkProto::GetVkNewsItem(JSONNODE *pItem, OBJLIST &vkUsers) +CVKNewsItem* CVkProto::GetVkNewsItem(JSONNODE *pItem, OBJLIST &vkUsers, bool isRepost) { - debugLogA("CVkProto::GetVkNewsItem"); + //debugLogA("CVkProto::GetVkNewsItem"); bool bPostLink = true; CVKNewsItem *vkNewsItem = new CVKNewsItem(); if (pItem == NULL) @@ -180,6 +180,8 @@ CVKNewsItem* CVkProto::GetVkNewsItem(JSONNODE *pItem, OBJLIST &vkUs if (!tszText.IsEmpty()) tszText += _T("\n"); + debugLog(_T("CVkProto::GetVkNewsItem %d %d %s <%s>"), iSourceId, iPostId, vkNewsItem->tszType.GetBuffer(), tszText.GetBuffer()); + if (vkNewsItem->tszType == _T("photo_tag")){ bPostLink = false; JSONNODE *pPhotos = json_get(pItem, "photo_tags"); @@ -202,9 +204,12 @@ CVKNewsItem* CVkProto::GetVkNewsItem(JSONNODE *pItem, OBJLIST &vkUs for (size_t i = 0; (pPhotoItem = json_at(pPhotoItems, i)) != NULL; i++){ tszText += GetVkPhotoItem(pPhotoItem) + _T("\n"); if (i == 0 && vkNewsItem->tszType == _T("wall_photo")){ - iPostId = json_as_int(json_get(pPhotoItem, "post_id")); - bPostLink = true; - break; // Max 1 wall_photo + LONG iPhotoPostId = json_as_int(json_get(pPhotoItem, "post_id")); + if (iPhotoPostId){ + bPostLink = true; + iPostId = iPhotoPostId; + break; // max 1 wall_photo when photo post_id !=0 + } } } } @@ -213,7 +218,7 @@ CVKNewsItem* CVkProto::GetVkNewsItem(JSONNODE *pItem, OBJLIST &vkUs bPostLink = true; JSONNODE * pRepost = json_get(pItem, "copy_history"); if (pRepost) { - CVKNewsItem *vkRepost = GetVkNewsItem(json_at(pRepost, 0), vkUsers); + CVKNewsItem *vkRepost = GetVkNewsItem(json_at(pRepost, 0), vkUsers, true); vkRepost->tszText.Replace(_T("\n"), _T("\n\t")); tszText += vkRepost->tszText; tszText += _T("\n"); @@ -230,7 +235,7 @@ CVKNewsItem* CVkProto::GetVkNewsItem(JSONNODE *pItem, OBJLIST &vkUs CMString tszBBCIn = m_bBBCOnNews ? _T("[b]") : _T(""); CMString tszBBCOut = m_bBBCOnNews ? _T("[/b]") : _T(""); - if (iPostId) + if (!isRepost) tszResFormat = Translate("News from %s%s%s (%s)\n%s"); else { tszResFormat = Translate("\tRepost from %s%s%s (%s)\n%s"); @@ -246,6 +251,8 @@ CVKNewsItem* CVkProto::GetVkNewsItem(JSONNODE *pItem, OBJLIST &vkUs vkNewsItem->tszText.AppendFormat(TranslateT("\nNews link: %s"), vkNewsItem->tszLink.GetBuffer()); } + debugLog(_T("CVkProto::GetVkNewsItem %d %d <%s> <%s>"), iSourceId, iPostId, vkNewsItem->tszText.GetBuffer(), tszText.GetBuffer()); + return vkNewsItem; } @@ -415,7 +422,7 @@ void CVkProto::RetrieveUnreadNews(time_t tLastNewsTime) Push(new AsyncHttpRequest(this, REQUEST_GET, "/method/newsfeed.get.json", true, &CVkProto::OnReceiveUnreadNews) << INT_PARAM("count", 100) << INT_PARAM("return_banned", 0) - << INT_PARAM("max_photos", 100) + << INT_PARAM("max_photos", 5) << INT_PARAM("start_time", tLastNewsTime + 1) << CHAR_PARAM("filters", "post,photo,photo_tag,wall_photo") << VER_API); diff --git a/protocols/VKontakte/src/vk_proto.h b/protocols/VKontakte/src/vk_proto.h index 105e0115fe..757026b2b8 100644 --- a/protocols/VKontakte/src/vk_proto.h +++ b/protocols/VKontakte/src/vk_proto.h @@ -345,7 +345,7 @@ struct CVkProto : public PROTO void CreateVkUserInfoList(OBJLIST &vkUsers, JSONNODE *pResponse); CMString GetVkPhotoItem(JSONNODE *pPhotoItem); - CVKNewsItem* GetVkNewsItem(JSONNODE *pItem, OBJLIST &vkUsers); + CVKNewsItem* GetVkNewsItem(JSONNODE *pItem, OBJLIST &vkUsers, bool isRepost = false); CMString GetVkNotificationsItem(JSONNODE *pItem, OBJLIST &vkUsers, time_t &tDate); CMString GetVkFeedback(JSONNODE *pFeedback, VKObjType vkFeedbackType, OBJLIST &vkUsers, CVkUserInfo *vkUser); -- cgit v1.2.3