From 52c4b8684bcbe9eea0b939a54ba7b142a7ee1308 Mon Sep 17 00:00:00 2001
From: Michael Vogel <icarus@dabo.de>
Date: Wed, 15 Jul 2015 08:16:41 +0200
Subject: [PATCH] OStatus: Support for "Favorite" (like)

---
 include/ostatus.php | 19 ++++++++++++++++++-
 1 file changed, 18 insertions(+), 1 deletion(-)

diff --git a/include/ostatus.php b/include/ostatus.php
index 53887d535..181b9e297 100644
--- a/include/ostatus.php
+++ b/include/ostatus.php
@@ -239,11 +239,13 @@ function ostatus_import($xml,$importer,&$contact, &$hub) {
 		// Delete a message
 		if ($item["verb"] == "qvitter-delete-notice") {
 			// ignore "Delete" messages (by now)
+			logger("Ignore delete message ".print_r($item, true));
 			continue;
 		}
 
 		if ($item["verb"] == ACTIVITY_JOIN) {
 			// ignore "Join" messages
+			logger("Ignore join message ".print_r($item, true));
 			continue;
 		}
 
@@ -258,10 +260,25 @@ function ostatus_import($xml,$importer,&$contact, &$hub) {
 		}
 
 		if ($item["verb"] == ACTIVITY_FAVORITE) {
-			// ignore "Favorite" messages
+			$orig_uri = $xpath->query("activity:object/atom:id", $entry)->item(0)->nodeValue;
+			logger("Favorite ".$orig_uri." ".print_r($item, true));
+
+		        $item["verb"] = ACTIVITY_LIKE;
+			$item["parent-uri"] = $orig_uri;
+			$item["gravity"] = GRAVITY_LIKE;
+		}
+
+		if ($item["verb"] == NAMESPACE_OSTATUS."/unfavorite") {
+			// Ignore "Unfavorite" message
+			logger("Ignore unfavorite message ".print_r($item, true));
 			continue;
 		}
 
+		// http://activitystrea.ms/schema/1.0/rsvp-yes
+		// http://activitystrea.ms/schema/1.0/share
+		if (!in_array($item["verb"], array(ACTIVITY_POST, ACTIVITY_LIKE)))
+			logger("Unhandled verb ".$item["verb"]." ".print_r($item, true));
+
 		$item["created"] = $xpath->query('atom:published/text()', $entry)->item(0)->nodeValue;
 		$item["edited"] = $xpath->query('atom:updated/text()', $entry)->item(0)->nodeValue;
 		$conversation = $xpath->query('ostatus:conversation/text()', $entry)->item(0)->nodeValue;