summaryrefslogtreecommitdiff
path: root/protocols/Facebook/src/server.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'protocols/Facebook/src/server.cpp')
-rw-r--r--protocols/Facebook/src/server.cpp19
1 files changed, 17 insertions, 2 deletions
diff --git a/protocols/Facebook/src/server.cpp b/protocols/Facebook/src/server.cpp
index bfd50e5f1c..8a0369014b 100644
--- a/protocols/Facebook/src/server.cpp
+++ b/protocols/Facebook/src/server.cpp
@@ -525,9 +525,24 @@ void FacebookProto::OnPublishPrivateMessage(const JSONNode &root)
continue;
const JSONNode &attach = (*nBody).at((json_index_t)0)["story_attachment"];
- szBody += "\r\n-----------------------------------\r\n";
+ szBody += "\r\n-----------------------------------";
+
+ CMStringA str = attach["url"].as_mstring();
+ if (!str.IsEmpty()) {
+ if (str.Left(8) == "fbrpc") {
+ int iStart = str.Find("target_url=");
+ if (iStart != 0) {
+ int iEnd = str.Find("&", iStart + 11);
+ if (iEnd == -1)
+ szBody.AppendFormat("\r\n\t%s: %s", TranslateU("URL"), str.c_str() + iStart);
+ else
+ szBody.AppendFormat("\r\n\t%s: %s", TranslateU("URL"), str.Mid(iStart, iEnd).c_str());
+ }
+ }
+ else szBody.AppendFormat("\r\n\t%s: %s", TranslateU("URL"), str.c_str());
+ }
- CMStringA str = attach["title"].as_mstring();
+ str = attach["title"].as_mstring();
if (!str.IsEmpty())
szBody.AppendFormat("\r\n\t%s: %s", TranslateU("Title"), str.c_str());