]> git.mxchange.org Git - friendica.git/commitdiff
Reworked contact relations between Friendica and Diaspora
authorMichael Vogel <icarus@dabo.de>
Sat, 10 Oct 2015 09:06:18 +0000 (11:06 +0200)
committerMichael Vogel <icarus@dabo.de>
Sat, 10 Oct 2015 09:06:18 +0000 (11:06 +0200)
include/conversation.php
include/diaspora.php
include/follow.php
mod/contacts.php
view/templates/contact_edit.tpl

index bbb0b921a344051b4668dfe1beac007a51a6a7f6..92afcaa1f6409057bc62f6dda392e697d78c48cf 100644 (file)
@@ -897,7 +897,8 @@ function item_photo_menu($item){
        if ($a->contacts[$clean_url]['network'] === NETWORK_DFRN)
                $menu[t("Poke")] = $poke_link;
 
-       if (($cid == 0) AND in_array($item['network'], array(NETWORK_DFRN, NETWORK_OSTATUS, NETWORK_DIASPORA)))
+       if (($cid == 0) AND
+               in_array($item['network'], array(NETWORK_DFRN, NETWORK_OSTATUS, NETWORK_DIASPORA)))
                $menu[t("Connect/Follow")] = $a->get_baseurl($ssl_state)."/follow?url=".urlencode($item['author-link']);
 
        $args = array('item' => $item, 'menu' => $menu);
index 61a0dfc3cf91d2c804aed06191c8c3b11700b28e..757cf1a6bade158c8a827da9f1a5ed72a7e5f340 100644 (file)
@@ -592,7 +592,7 @@ function diaspora_request($importer,$xml) {
                // perhaps we were already sharing with this person. Now they're sharing with us.
                // That makes us friends.
 
-               if($contact['rel'] == CONTACT_IS_FOLLOWER && !in_array($importer['page-flags'], array(PAGE_COMMUNITY, PAGE_SOAPBOX))) {
+               if($contact['rel'] == CONTACT_IS_FOLLOWER && in_array($importer['page-flags'], array(PAGE_FREELOVE))) {
                        q("UPDATE `contact` SET `rel` = %d, `writable` = 1 WHERE `id` = %d AND `uid` = %d",
                                intval(CONTACT_IS_FRIEND),
                                intval($contact['id']),
@@ -774,7 +774,7 @@ function diaspora_post_allow($importer,$contact, $is_comment = false) {
        // perhaps we were already sharing with this person. Now they're sharing with us.
        // That makes us friends.
        // Normally this should have handled by getting a request - but this could get lost
-       if($contact['rel'] == CONTACT_IS_FOLLOWER && !in_array($importer['page-flags'], array(PAGE_COMMUNITY, PAGE_SOAPBOX))) {
+       if($contact['rel'] == CONTACT_IS_FOLLOWER && in_array($importer['page-flags'], array(PAGE_FREELOVE))) {
                q("UPDATE `contact` SET `rel` = %d, `writable` = 1 WHERE `id` = %d AND `uid` = %d",
                        intval(CONTACT_IS_FRIEND),
                        intval($contact['id']),
index ca0228cc0f89542f3f66ae7531de0fe3c68e6329..21c05c8f3ef139062963dfbd05446b96f492d9a4 100644 (file)
@@ -154,11 +154,7 @@ function new_contact($uid,$url,$interactive = false) {
 
        $hidden = (($ret['network'] === NETWORK_MAIL) ? 1 : 0);
 
-       if($ret['network'] === NETWORK_MAIL) {
-               $writeable = 1;
-
-       }
-       if($ret['network'] === NETWORK_DIASPORA)
+       if(in_array($ret['network'], array(NETWORK_MAIL, NETWORK_DIASPORA)))
                $writeable = 1;
 
        // check if we already have a contact
@@ -215,9 +211,7 @@ function new_contact($uid,$url,$interactive = false) {
                        return $result;
                }
 
-               $new_relation = (($ret['network'] === NETWORK_MAIL) ? CONTACT_IS_FRIEND : CONTACT_IS_SHARING);
-               if($ret['network'] === NETWORK_DIASPORA)
-                       $new_relation = CONTACT_IS_FOLLOWER;
+               $new_relation = ((in_array($ret['network'], array(NETWORK_MAIL, NETWORK_DIASPORA))) ? CONTACT_IS_FRIEND : CONTACT_IS_SHARING);
 
                // create contact record
                $r = q("INSERT INTO `contact` ( `uid`, `created`, `url`, `nurl`, `addr`, `alias`, `batch`, `notify`, `poll`, `poco`, `name`, `nick`, `network`, `pubkey`, `rel`, `priority`,
index ee62bf3c9e77cf6966101cbe6274c644786901d4..c562c9822da0f0664476ab42567e11b222666986 100644 (file)
@@ -590,6 +590,10 @@ function contacts_content(&$a) {
                if ($contact['network'] == NETWORK_DFRN)
                        $profile_select = contact_profile_assign($contact['profile-id'],(($contact['network'] !== NETWORK_DFRN) ? true : false));
 
+               if (in_array($contact['network'], array(NETWORK_DIASPORA, NETWORK_OSTATUS)) AND
+                       ($contact['rel'] == CONTACT_IS_FOLLOWER))
+                       $follow = $a->get_baseurl(true)."/follow?url=".urlencode($contact["url"]);
+
                $o .= replace_macros($tpl, array(
                        '$header' => t('Contact Editor'),
                        '$tab_str' => $tab_str,
@@ -617,6 +621,8 @@ function contacts_content(&$a) {
                        '$updpub' => t('Update public posts'),
                        '$last_update' => $last_update,
                        '$udnow' => t('Update now'),
+                       '$follow' => $follow,
+                       '$follow_text' => t("Connect/Follow"),
                        '$profile_select' => $profile_select,
                        '$contact_id' => $contact['id'],
                        '$block_text' => (($contact['blocked']) ? t('Unblock') : t('Block') ),
index 06141081cb7797df3a5a70ee5f7071e4d92d6cf6..95e8e5d29acec265dcc76d3ec4aa06031529dd2f 100644 (file)
@@ -51,6 +51,9 @@
                                {{if $lblsuggest}}
                                        <li><a href="fsuggest/{{$contact_id}}" id="contact-edit-suggest">{{$lblsuggest}}</a></li>
                                {{/if}}
+                               {{if $follow}}
+                                       <li><div id="contact-edit-follow"><a href="{{$follow}}">{{$follow_text}}</a></div></li>
+                               {{/if}}
 
                        </ul>
                </div>