Diaspora: Store the original XML and the object type.
This commit is contained in:
parent
dc182d508e
commit
0c752a2190
|
@ -833,11 +833,18 @@ function diaspora_post($importer,$xml,$msg) {
|
||||||
|
|
||||||
$body = diaspora2bb($xml->raw_message);
|
$body = diaspora2bb($xml->raw_message);
|
||||||
|
|
||||||
|
$datarray = array();
|
||||||
|
|
||||||
|
$datarray["object"] = json_encode($xml);
|
||||||
|
|
||||||
|
if($xml->photo->remote_photo_path AND $xml->photo->remote_photo_name)
|
||||||
|
$datarray["object-type"] = ACTIVITY_OBJ_PHOTO;
|
||||||
|
else {
|
||||||
|
$datarray['object-type'] = ACTIVITY_OBJ_NOTE;
|
||||||
// Add OEmbed and other information to the body
|
// Add OEmbed and other information to the body
|
||||||
if (!diaspora_is_redmatrix($contact['url']))
|
if (!diaspora_is_redmatrix($contact['url']))
|
||||||
$body = add_page_info_to_body($body, false, true);
|
$body = add_page_info_to_body($body, false, true);
|
||||||
|
}
|
||||||
$datarray = array();
|
|
||||||
|
|
||||||
$str_tags = '';
|
$str_tags = '';
|
||||||
|
|
||||||
|
@ -872,6 +879,9 @@ function diaspora_post($importer,$xml,$msg) {
|
||||||
$datarray['author-avatar'] = $contact['thumb'];
|
$datarray['author-avatar'] = $contact['thumb'];
|
||||||
$datarray['body'] = $body;
|
$datarray['body'] = $body;
|
||||||
$datarray['tag'] = $str_tags;
|
$datarray['tag'] = $str_tags;
|
||||||
|
if ($xml->provider_display_name)
|
||||||
|
$datarray["app"] = unxmlify($xml->provider_display_name);
|
||||||
|
else
|
||||||
$datarray['app'] = 'Diaspora';
|
$datarray['app'] = 'Diaspora';
|
||||||
|
|
||||||
// if empty content it might be a photo that hasn't arrived yet. If a photo arrives, we'll make it visible.
|
// if empty content it might be a photo that hasn't arrived yet. If a photo arrives, we'll make it visible.
|
||||||
|
@ -921,6 +931,8 @@ function diaspora_store_by_guid($guid, $server, $uid = 0) {
|
||||||
$author = $item["author"];
|
$author = $item["author"];
|
||||||
$guid = $item["guid"];
|
$guid = $item["guid"];
|
||||||
$private = $item["private"];
|
$private = $item["private"];
|
||||||
|
$object = $item["object"];
|
||||||
|
$objecttype = $item["object-type"];
|
||||||
|
|
||||||
$message_id = $author.':'.$guid;
|
$message_id = $author.':'.$guid;
|
||||||
$r = q("SELECT `id` FROM `item` WHERE `uid` = %d AND `uri` = '%s' AND `guid` = '%s' LIMIT 1",
|
$r = q("SELECT `id` FROM `item` WHERE `uid` = %d AND `uri` = '%s' AND `guid` = '%s' LIMIT 1",
|
||||||
|
@ -954,6 +966,8 @@ function diaspora_store_by_guid($guid, $server, $uid = 0) {
|
||||||
$datarray['tag'] = $str_tags;
|
$datarray['tag'] = $str_tags;
|
||||||
$datarray['app'] = $app;
|
$datarray['app'] = $app;
|
||||||
$datarray['visible'] = ((strlen($body)) ? 1 : 0);
|
$datarray['visible'] = ((strlen($body)) ? 1 : 0);
|
||||||
|
$datarray['object'] = $object;
|
||||||
|
$datarray['object-type'] = $objecttype;
|
||||||
|
|
||||||
if ($datarray['contact-id'] == 0)
|
if ($datarray['contact-id'] == 0)
|
||||||
return false;
|
return false;
|
||||||
|
@ -1001,11 +1015,14 @@ function diaspora_fetch_message($guid, $server, $level = 0) {
|
||||||
$item["guid"] = unxmlify($source_xml->post->status_message->guid);
|
$item["guid"] = unxmlify($source_xml->post->status_message->guid);
|
||||||
|
|
||||||
$item["private"] = (unxmlify($source_xml->post->status_message->public) == 'false');
|
$item["private"] = (unxmlify($source_xml->post->status_message->public) == 'false');
|
||||||
|
$item["object"] = json_encode($source_xml->post);
|
||||||
|
|
||||||
if(strlen($source_xml->post->asphoto->objectId) && ($source_xml->post->asphoto->objectId != 0) && ($source_xml->post->asphoto->image_url)) {
|
if(strlen($source_xml->post->asphoto->objectId) && ($source_xml->post->asphoto->objectId != 0) && ($source_xml->post->asphoto->image_url)) {
|
||||||
|
$item["object-type"] = ACTIVITY_OBJ_PHOTO;
|
||||||
$body = '[url=' . notags(unxmlify($source_xml->post->asphoto->image_url)) . '][img]' . notags(unxmlify($source_xml->post->asphoto->objectId)) . '[/img][/url]' . "\n";
|
$body = '[url=' . notags(unxmlify($source_xml->post->asphoto->image_url)) . '][img]' . notags(unxmlify($source_xml->post->asphoto->objectId)) . '[/img][/url]' . "\n";
|
||||||
$body = scale_external_images($body,false);
|
$body = scale_external_images($body,false);
|
||||||
} elseif($source_xml->post->asphoto->image_url) {
|
} elseif($source_xml->post->asphoto->image_url) {
|
||||||
|
$item["object-type"] = ACTIVITY_OBJ_PHOTO;
|
||||||
$body = '[img]' . notags(unxmlify($source_xml->post->asphoto->image_url)) . '[/img]' . "\n";
|
$body = '[img]' . notags(unxmlify($source_xml->post->asphoto->image_url)) . '[/img]' . "\n";
|
||||||
$body = scale_external_images($body);
|
$body = scale_external_images($body);
|
||||||
} elseif($source_xml->post->status_message) {
|
} elseif($source_xml->post->status_message) {
|
||||||
|
@ -1015,18 +1032,25 @@ function diaspora_fetch_message($guid, $server, $level = 0) {
|
||||||
if($source_xml->post->status_message->photo->remote_photo_path AND
|
if($source_xml->post->status_message->photo->remote_photo_path AND
|
||||||
$source_xml->post->status_message->photo->remote_photo_name) {
|
$source_xml->post->status_message->photo->remote_photo_name) {
|
||||||
|
|
||||||
|
$item["object-type"] = ACTIVITY_OBJ_PHOTO;
|
||||||
|
|
||||||
$remote_photo_path = notags(unxmlify($source_xml->post->status_message->photo->remote_photo_path));
|
$remote_photo_path = notags(unxmlify($source_xml->post->status_message->photo->remote_photo_path));
|
||||||
$remote_photo_name = notags(unxmlify($source_xml->post->status_message->photo->remote_photo_name));
|
$remote_photo_name = notags(unxmlify($source_xml->post->status_message->photo->remote_photo_name));
|
||||||
|
|
||||||
$body = '[img]'.$remote_photo_path.$remote_photo_name.'[/img]'."\n".$body;
|
$body = '[img]'.$remote_photo_path.$remote_photo_name.'[/img]'."\n".$body;
|
||||||
|
|
||||||
logger('embedded picture link found: '.$body, LOGGER_DEBUG);
|
logger('embedded picture link found: '.$body, LOGGER_DEBUG);
|
||||||
}
|
} else
|
||||||
|
$item["object-type"] = ACTIVITY_OBJ_NOTE;
|
||||||
|
|
||||||
$body = scale_external_images($body);
|
$body = scale_external_images($body);
|
||||||
|
|
||||||
// Add OEmbed and other information to the body
|
// Add OEmbed and other information to the body
|
||||||
|
// To-Do: It could be a repeated redmatrix item
|
||||||
|
// Then we shouldn't add further data to it
|
||||||
|
if ($item["object-type"] == ACTIVITY_OBJ_NOTE)
|
||||||
$body = add_page_info_to_body($body, false, true);
|
$body = add_page_info_to_body($body, false, true);
|
||||||
|
|
||||||
} elseif($source_xml->post->reshare) {
|
} elseif($source_xml->post->reshare) {
|
||||||
// Reshare of a reshare
|
// Reshare of a reshare
|
||||||
return diaspora_fetch_message($source_xml->post->reshare->root_guid, $server, ++$level);
|
return diaspora_fetch_message($source_xml->post->reshare->root_guid, $server, ++$level);
|
||||||
|
@ -1105,6 +1129,8 @@ function diaspora_reshare($importer,$xml,$msg) {
|
||||||
$orig_author = $r[0]["author-link"];
|
$orig_author = $r[0]["author-link"];
|
||||||
$create_original_post = ($body != "");
|
$create_original_post = ($body != "");
|
||||||
$orig_url = $a->get_baseurl()."/display/".$orig_guid;
|
$orig_url = $a->get_baseurl()."/display/".$orig_guid;
|
||||||
|
$object = $r[0]["object"];
|
||||||
|
$objecttype = $r[0]["object-type"];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1144,6 +1170,8 @@ function diaspora_reshare($importer,$xml,$msg) {
|
||||||
$orig_guid = $item["guid"];
|
$orig_guid = $item["guid"];
|
||||||
$create_original_post = ($body != "");
|
$create_original_post = ($body != "");
|
||||||
$orig_url = $a->get_baseurl()."/display/".$orig_guid;
|
$orig_url = $a->get_baseurl()."/display/".$orig_guid;
|
||||||
|
$object = $item["object"];
|
||||||
|
$objecttype = $item["object-type"];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1184,6 +1212,9 @@ function diaspora_reshare($importer,$xml,$msg) {
|
||||||
$datarray['body'] = $body;
|
$datarray['body'] = $body;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$datarray["object"] = json_encode($xml);
|
||||||
|
$datarray['object-type'] = $objecttype;
|
||||||
|
|
||||||
$datarray['tag'] = $str_tags;
|
$datarray['tag'] = $str_tags;
|
||||||
$datarray['app'] = $app;
|
$datarray['app'] = $app;
|
||||||
|
|
||||||
|
@ -1210,6 +1241,7 @@ function diaspora_reshare($importer,$xml,$msg) {
|
||||||
$datarray2['owner-link'] = $datarray2['author-link'];
|
$datarray2['owner-link'] = $datarray2['author-link'];
|
||||||
$datarray2['owner-avatar'] = $datarray2['author-avatar'];
|
$datarray2['owner-avatar'] = $datarray2['author-avatar'];
|
||||||
$datarray2['body'] = $body;
|
$datarray2['body'] = $body;
|
||||||
|
$datarray2["object"] = $object;
|
||||||
|
|
||||||
DiasporaFetchGuid($datarray2);
|
DiasporaFetchGuid($datarray2);
|
||||||
$message_id = item_store($datarray2);
|
$message_id = item_store($datarray2);
|
||||||
|
@ -1295,6 +1327,8 @@ function diaspora_asphoto($importer,$xml,$msg) {
|
||||||
$datarray['author-link'] = $contact['url'];
|
$datarray['author-link'] = $contact['url'];
|
||||||
$datarray['author-avatar'] = $contact['thumb'];
|
$datarray['author-avatar'] = $contact['thumb'];
|
||||||
$datarray['body'] = $body;
|
$datarray['body'] = $body;
|
||||||
|
$datarray["object"] = json_encode($xml);
|
||||||
|
$datarray['object-type'] = ACTIVITY_OBJ_PHOTO;
|
||||||
|
|
||||||
$datarray['app'] = 'Diaspora/Cubbi.es';
|
$datarray['app'] = 'Diaspora/Cubbi.es';
|
||||||
|
|
||||||
|
@ -1464,6 +1498,8 @@ function diaspora_comment($importer,$xml,$msg) {
|
||||||
$datarray['author-link'] = $person['url'];
|
$datarray['author-link'] = $person['url'];
|
||||||
$datarray['author-avatar'] = ((x($person,'thumb')) ? $person['thumb'] : $person['photo']);
|
$datarray['author-avatar'] = ((x($person,'thumb')) ? $person['thumb'] : $person['photo']);
|
||||||
$datarray['body'] = $body;
|
$datarray['body'] = $body;
|
||||||
|
$datarray["object"] = json_encode($xml);
|
||||||
|
$datarray["object-type"] = ACTIVITY_OBJ_COMMENT;
|
||||||
|
|
||||||
// We can't be certain what the original app is if the message is relayed.
|
// We can't be certain what the original app is if the message is relayed.
|
||||||
if(($parent_item['origin']) && (! $parent_author_signature))
|
if(($parent_item['origin']) && (! $parent_author_signature))
|
||||||
|
|
Loading…
Reference in a new issue