intval($importer['uid'])
);
- if((count($r)) && (! $r[0]['hide-friends']) && (! $contact['hidden'])) {
+ if((count($r)) && (!$r[0]['hide-friends']) && (!$contact['hidden']) && intval(get_pconfig($importer['uid'],'system','post_newfriend'))) {
require_once('include/items.php');
$self = q("SELECT * FROM `contact` WHERE `self` = 1 AND `uid` = %d LIMIT 1",
$datarray['visible'] = ((strlen($body)) ? 1 : 0);
+ DiasporaFetchGuid($datarray);
$message_id = item_store($datarray);
return;
}
+function DiasporaFetchGuid($item) {
+ preg_replace_callback("&\[url=/posts/([^\[\]]*)\](.*)\[\/url\]&Usi",
+ function ($match) use ($item){
+ return(DiasporaFetchGuidSub($match, $item));
+ },$item["body"]);
+}
+
+function DiasporaFetchGuidSub($match, $item) {
+ $a = get_app();
+
+ $author = parse_url($item["author-link"]);
+ $authorserver = $author["scheme"]."://".$author["host"];
+
+ $owner = parse_url($item["owner-link"]);
+ $ownerserver = $owner["scheme"]."://".$owner["host"];
+
+ if (!diaspora_store_by_guid($match[1], $authorserver))
+ diaspora_store_by_guid($match[1], $ownerserver);
+}
+
function diaspora_store_by_guid($guid, $server) {
require_once("include/Contact.php");
+ logger("fetching item ".$guid." from ".$server, LOGGER_DEBUG);
+
$item = diaspora_fetch_message($guid, $server);
if (!$item)
dbesc($guid)
);
if(count($r))
- return true;
+ return $r[0]["id"];
$person = find_diaspora_person_by_handle($author);
$datarray = array();
-
$datarray['uid'] = 0;
$datarray['contact-id'] = get_contact($person['url'], 0);
$datarray['wall'] = 0;
$datarray['app'] = $app;
$datarray['visible'] = ((strlen($body)) ? 1 : 0);
+ DiasporaFetchGuid($datarray);
$message_id = item_store($datarray);
+ // To-Do:
+ // Looking if there is some subscribe mechanism in Diaspora to get all comments for this post
+
return $message_id;
}
$datarray2['owner-avatar'] = $datarray2['author-avatar'];
$datarray2['body'] = $body;
+ DiasporaFetchGuid($datarray2);
$message_id = item_store($datarray2);
logger("Store original item ".$orig_guid." under message id ".$message_id);
}
+ DiasporaFetchGuid($datarray);
$message_id = item_store($datarray);
return;
$datarray['app'] = 'Diaspora/Cubbi.es';
+ DiasporaFetchGuid($datarray);
$message_id = item_store($datarray);
//if($message_id) {
if(($parent_item['origin']) && (! $parent_author_signature))
$datarray['app'] = 'Diaspora';
+ DiasporaFetchGuid($datarray);
$message_id = item_store($datarray);
//if($message_id) {