From f6522658f6176e3f8d2eed3038f0ca7901970ff2 Mon Sep 17 00:00:00 2001 From: Michael Vogel Date: Wed, 22 Oct 2014 08:30:16 +0200 Subject: [PATCH] Using "remote self" to synchronize Frandiaca accounts --- include/items.php | 10 +++++++--- mod/crepair.php | 9 +++++++-- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/include/items.php b/include/items.php index 0d37fa1a6..1107553e8 100644 --- a/include/items.php +++ b/include/items.php @@ -2589,7 +2589,9 @@ function consume_feed($xml,$importer,&$contact, &$hub, $datedir = 0, $pass = 0) // Turn this into a wall post. if($contact['remote_self']) { - if ($contact['remote_self'] == 2) { + if ($contact['remote_self'] == 1) + $notify = (normalise_link($datarray['author-link']) == normalise_link($datarray['owner-link'])); + elseif ($contact['remote_self'] == 2) { $r = q("SELECT `id`,`url`,`name`,`photo`,`network` FROM `contact` WHERE `uid` = %d AND `self`", intval($importer['uid'])); if (count($r)) { $datarray['contact-id'] = $r[0]["id"]; @@ -2602,14 +2604,16 @@ function consume_feed($xml,$importer,&$contact, &$hub, $datedir = 0, $pass = 0) $datarray['author-link'] = $datarray['owner-link']; $datarray['author-avatar'] = $datarray['owner-avatar']; } + $notify = true; } if (!isset($datarray["app"]) OR ($datarray["app"] == "")) $datarray["app"] = network_to_name($contact['network']); - $notify = true; - if($contact['network'] === NETWORK_FEED) { + if ($contact['network'] === NETWORK_FEED) $datarray['private'] = 0; + elseif ($contact['network'] === NETWORK_DFRN) { + // To-Do: Neue GUID oder sowas } } else $notify = false; diff --git a/mod/crepair.php b/mod/crepair.php index d7eb14627..23f833c5b 100644 --- a/mod/crepair.php +++ b/mod/crepair.php @@ -152,9 +152,14 @@ function crepair_content(&$a) { // Disable remote self for everything except feeds. // There is an issue when you repeat an item from maybe twitter and you got comments from friendica and twitter // Problem is, you couldn't reply to both networks. - if ($contact['network'] != NETWORK_FEED) + if (!in_array($contact['network'], array(NETWORK_FEED, NETWORK_DFRN))) $allow_remote_self = false; + if ($contact['network'] == NETWORK_FEED) + $remote_self_options = array('0'=>t('No mirroring'), '1'=>t('Mirror as forwarded posting'), '2'=>t('Mirror as my own posting')); + elseif ($contact['network'] == NETWORK_DFRN) + $remote_self_options = array('0'=>t('No mirroring'), '1'=>t('Mirror as forwarded posting')); + $tpl = get_markup_template('crepair.tpl'); $o .= replace_macros($tpl, array( '$label_name' => t('Name'), @@ -168,7 +173,7 @@ function crepair_content(&$a) { '$label_photo' => t('New photo from this URL'), '$label_remote_self' => t('Remote Self'), '$allow_remote_self' => $allow_remote_self, - '$remote_self' => array('remote_self', t('Mirror postings from this contact'), $contact['remote_self'], t('Mark this contact as remote_self, this will cause friendica to repost new entries from this contact.'), array('0'=>t('No mirroring'), '1'=>t('Mirror as forwarded posting'), '2'=>t('Mirror as my own posting'))), + '$remote_self' => array('remote_self', t('Mirror postings from this contact'), $contact['remote_self'], t('Mark this contact as remote_self, this will cause friendica to repost new entries from this contact.'), $remote_self_options), '$contact_name' => $contact['name'], '$contact_nick' => $contact['nick'], '$contact_id' => $contact['id'],