]> git.mxchange.org Git - friendica.git/commitdiff
move unfriend to standalone function for use in account removal
authorfriendica <info@friendica.com>
Tue, 24 Apr 2012 02:42:57 +0000 (19:42 -0700)
committerfriendica <info@friendica.com>
Tue, 24 Apr 2012 02:42:57 +0000 (19:42 -0700)
include/Contact.php
mod/contacts.php

index 9ba1e8ae5cbde3b9d068018a0d6ba9d3ce7cc599..537850e007400144028a13bf708d13030c9b03af 100644 (file)
@@ -73,6 +73,49 @@ function contact_remove($id) {
 }
 
 
+// sends an unfriend message. Does not remove the contact
+
+function terminate_friendship($user,$self,$contact) {
+
+
+       $a = get_app();
+
+       require_once('include/datetime.php');
+
+       if($contact['network'] === NETWORK_OSTATUS) {
+
+               $slap = replace_macros(get_markup_template('follow_slap.tpl'), array(
+                       '$name' => $user['username'],
+                       '$profile_page' => $a->get_baseurl() . '/profile/' . $user['nickname'],
+                       '$photo' => $self['photo'],
+                       '$thumb' => $self['thumb'],
+                       '$published' => datetime_convert('UTC','UTC', 'now', ATOM_TIME),
+                       '$item_id' => 'urn:X-dfrn:' . $a->get_hostname() . ':unfollow:' . random_string(),
+                       '$title' => '',
+                       '$type' => 'text',
+                       '$content' => t('stopped following'),
+                       '$nick' => $user['nickname'],
+                       '$verb' => 'http://ostatus.org/schema/1.0/unfollow', // ACTIVITY_UNFOLLOW,
+                       '$ostat_follow' => '' // '<as:verb>http://ostatus.org/schema/1.0/unfollow</as:verb>' . "\r\n"
+               ));
+
+               if((x($contact,'notify')) && (strlen($contact['notify']))) {
+                       require_once('include/salmon.php');
+                       slapper($user,$contact['notify'],$slap);
+               }
+       }
+       elseif($contact['network'] === NETWORK_DIASPORA) {
+               require_once('include/diaspora.php');
+               diaspora_unshare($user,$contact);
+       }
+       elseif($contact['network'] === NETWORK_DFRN) {
+               require_once('include/items.php');
+               dfrn_deliver($user,$contact,'placeholder', 1);
+       }
+
+}
+
+
 // Contact has refused to recognise us as a friend. We will start a countdown.
 // If they still don't recognise us in 32 days, the relationship is over,
 // and we won't waste any more time trying to communicate with them.
index 9d29d4bd1438ee091407a83bcabcb8f33a37d788..8670c0c800d94320037f65d64a2d6b59f860cbd6 100644 (file)
@@ -144,7 +144,7 @@ function contacts_content(&$a) {
                        goaway($a->get_baseurl(true) . '/contacts');
                        return; // NOTREACHED
                }
-
+               
                if($cmd === 'update') {
 
                        // pull feed and consume it, which should subscribe to the hub.
@@ -184,38 +184,9 @@ function contacts_content(&$a) {
 
                if($cmd === 'drop') {
 
-                       // create an unfollow slap
-
-                       if($orig_record[0]['network'] === NETWORK_OSTATUS) {
-                               $tpl = get_markup_template('follow_slap.tpl');
-                               $slap = replace_macros($tpl, array(
-                                       '$name' => $a->user['username'],
-                                       '$profile_page' => $a->get_baseurl() . '/profile/' . $a->user['nickname'],
-                                       '$photo' => $a->contact['photo'],
-                                       '$thumb' => $a->contact['thumb'],
-                                       '$published' => datetime_convert('UTC','UTC', 'now', ATOM_TIME),
-                                       '$item_id' => 'urn:X-dfrn:' . $a->get_hostname() . ':unfollow:' . random_string(),
-                                       '$title' => '',
-                                       '$type' => 'text',
-                                       '$content' => t('stopped following'),
-                                       '$nick' => $a->user['nickname'],
-                                       '$verb' => 'http://ostatus.org/schema/1.0/unfollow', // ACTIVITY_UNFOLLOW,
-                                       '$ostat_follow' => '' // '<as:verb>http://ostatus.org/schema/1.0/unfollow</as:verb>' . "\r\n"
-                               ));
-
-                               if((x($orig_record[0],'notify')) && (strlen($orig_record[0]['notify']))) {
-                                       require_once('include/salmon.php');
-                                       slapper($a->user,$orig_record[0]['notify'],$slap);
-                               }
-                       }
-                       elseif($orig_record[0]['network'] === NETWORK_DIASPORA) {
-                               require_once('include/diaspora.php');
-                               diaspora_unshare($a->user,$orig_record[0]);
-                       }
-                       elseif($orig_record[0]['network'] === NETWORK_DFRN) {
-                               require_once('include/items.php');
-                               dfrn_deliver($a->user,$orig_record[0],'placeholder', 1);
-                       }
+                       require_once('include/Contact.php');
+
+                       terminate_friendship($a->user,$a->contact,$orig_record[0]);
 
                        contact_remove($orig_record[0]['id']);
                        info( t('Contact has been removed.') . EOL );