]> git.mxchange.org Git - friendica.git/blobdiff - include/ostatus_conversation.php
Merge remote-tracking branch 'upstream/master'
[friendica.git] / include / ostatus_conversation.php
index c63acfadcdd4b0cb4cf07400e1efef08fdab8af0..ad90e3d3118c664861a753abb95a79465138717e 100644 (file)
@@ -44,6 +44,11 @@ function check_conversations() {
 function complete_conversation($itemid, $conversation_url, $only_add_conversation = false) {
        global $a;
 
+       if ($a->last_ostatus_conversation_url == $conversation_url)
+               return;
+
+       $a->last_ostatus_conversation_url = $conversation_url;
+
        //logger('complete_conversation: completing conversation url '.$conversation_url.' for id '.$itemid);
 
        $messages = q("SELECT `uid`, `parent`, `created` FROM `item` WHERE `id` = %d LIMIT 1", intval($itemid));
@@ -81,7 +86,9 @@ function complete_conversation($itemid, $conversation_url, $only_add_conversatio
        logger('complete_conversation: fetching conversation url '.$conv.' for '.$itemid);
 
        do {
-               $conv_as = file_get_contents($conv."?page=".$pageno);
+               $conv_as = fetch_url($conv."?page=".$pageno);
+               //$conv_as = fetch_url($conv."?page=".$pageno, false, 0, 10);
+               //$conv_as = file_get_contents($conv."?page=".$pageno);
                $conv_as = str_replace(',"statusnet:notice_info":', ',"statusnet_notice_info":', $conv_as);
                $conv_as = json_decode($conv_as);
 
@@ -100,6 +107,10 @@ function complete_conversation($itemid, $conversation_url, $only_add_conversatio
        $items = array_reverse($items);
 
        foreach ($items as $single_conv) {
+               // identi.ca just changed the format of the activity streams. This is a quick fix.
+               if (@is_string($single_conv->object->id))
+                       $single_conv->id = $single_conv->object->id;
+
                if (@!$single_conv->id AND $single_conv->provider->url AND $single_conv->statusnet_notice_info->local_id)
                        $single_conv->id = $single_conv->provider->url."notice/".$single_conv->statusnet_notice_info->local_id;
 
@@ -140,6 +151,7 @@ function complete_conversation($itemid, $conversation_url, $only_add_conversatio
                }
 
                $arr = array();
+               $arr["network"] = NETWORK_OSTATUS;
                $arr["uri"] = $single_conv->id;
                $arr["plink"] = $single_conv->id;
                $arr["uid"] = $message["uid"];