diff --git a/mod/follow.php b/mod/follow.php index 4f2b45e3b..a76a0f188 100644 --- a/mod/follow.php +++ b/mod/follow.php @@ -8,6 +8,47 @@ require_once 'include/follow.php'; require_once 'include/Contact.php'; require_once 'include/contact_selectors.php'; +function follow_post(App $a) { + + if (! local_user()) { + notice( t('Permission denied.') . EOL); + goaway($_SESSION['return_url']); + // NOTREACHED + } + + if ($_REQUEST['cancel']) { + goaway($_SESSION['return_url']); + } + + $uid = local_user(); + $url = notags(trim($_REQUEST['url'])); + $return_url = $_SESSION['return_url']; + + // Makes the connection request for friendica contacts easier + // This is just a precaution if maybe this page is called somewhere directly via POST + $_SESSION["fastlane"] = $url; + + $result = new_contact($uid,$url,true); + + if ($result['success'] == false) { + if ($result['message']) { + notice($result['message']); + } + goaway($return_url); + } elseif ($result['cid']) { + goaway(System::baseUrl().'/contacts/'.$result['cid']); + } + + info( t('Contact added').EOL); + + if (strstr($return_url,'contacts')) { + goaway(System::baseUrl().'/contacts/'.$contact_id); + } + + goaway($return_url); + // NOTREACHED +} + function follow_content(App $a) { if (! local_user()) { @@ -99,13 +140,6 @@ function follow_content(App $a) { $r[0]["about"] = ""; } - $header = $ret["name"]; - - if ($ret["addr"] != "") { - $header .= " <".$ret["addr"].">"; - } - - //$header .= " (".network_to_name($ret['network'], $ret['url']).")"; $header = t("Connect/Follow"); $o = replace_macros($tpl,array( @@ -154,44 +188,3 @@ function follow_content(App $a) { return $o; } - -function follow_post(App $a) { - - if (! local_user()) { - notice( t('Permission denied.') . EOL); - goaway($_SESSION['return_url']); - // NOTREACHED - } - - if ($_REQUEST['cancel']) { - goaway($_SESSION['return_url']); - } - - $uid = local_user(); - $url = notags(trim($_REQUEST['url'])); - $return_url = $_SESSION['return_url']; - - // Makes the connection request for friendica contacts easier - // This is just a precaution if maybe this page is called somewhere directly via POST - $_SESSION["fastlane"] = $url; - - $result = new_contact($uid,$url,true); - - if ($result['success'] == false) { - if ($result['message']) { - notice($result['message']); - } - goaway($return_url); - } elseif ($result['cid']) { - goaway(System::baseUrl().'/contacts/'.$result['cid']); - } - - info( t('Contact added').EOL); - - if (strstr($return_url,'contacts')) { - goaway(System::baseUrl().'/contacts/'.$contact_id); - } - - goaway($return_url); - // NOTREACHED -} diff --git a/mod/unfollow.php b/mod/unfollow.php index 9e2f38877..d0baf87c4 100644 --- a/mod/unfollow.php +++ b/mod/unfollow.php @@ -8,6 +8,49 @@ require_once 'include/follow.php'; require_once 'include/Contact.php'; require_once 'include/contact_selectors.php'; +function unfollow_post(App $a) { + + if (!local_user()) { + notice(t('Permission denied.') . EOL); + goaway($_SESSION['return_url']); + // NOTREACHED + } + + if ($_REQUEST['cancel']) { + goaway($_SESSION['return_url']); + } + + $uid = local_user(); + $url = notags(trim($_REQUEST['url'])); + $return_url = $_SESSION['return_url']; + + $condition = array("`uid` = ? AND `rel` = ? AND (`nurl` = ? OR `alias` = ? OR `alias` = ?) AND `network` != ?", + $uid, CONTACT_IS_FRIEND, normalise_link($url), + normalise_link($url), $url, NETWORK_STATUSNET); + $contact = dba::select('contact', array(), $condition, array('limit' => 1)); + + if (!dbm::is_result($contact)) { + notice(t("Contact wasn't found or can't be unfollowed.")); + } else { + if (in_array($contact['network'], array(NETWORK_OSTATUS))) { + $r = q("SELECT `contact`.*, `user`.* FROM `contact` INNER JOIN `user` ON `contact`.`uid` = `user`.`uid` + WHERE `user`.`uid` = %d AND `contact`.`self` LIMIT 1", + intval($uid) + ); + if (dbm::is_result($r)) { + $self = ""; // Unused parameter + terminate_friendship($r[0], $self, $contact); + } + } + dba::update('contact', array('rel' => CONTACT_IS_FOLLOWER), array('id' => $contact['id'])); + + info(t('Contact unfollowed').EOL); + goaway(System::baseUrl().'/contacts/'.$contact['id']); + } + goaway($return_url); + // NOTREACHED +} + function unfollow_content(App $a) { if (! local_user()) { @@ -54,12 +97,6 @@ function unfollow_content(App $a) { // Makes the connection request for friendica contacts easier $_SESSION["fastlane"] = $contact["url"]; - $header = $contact["name"]; - - if ($contact["addr"] != "") { - $header .= " <".$contact["addr"].">"; - } - $header = t("Disconnect/Unfollow"); $o = replace_macros($tpl,array( @@ -101,46 +138,3 @@ function unfollow_content(App $a) { return $o; } - -function unfollow_post(App $a) { - - if (!local_user()) { - notice(t('Permission denied.') . EOL); - goaway($_SESSION['return_url']); - // NOTREACHED - } - - if ($_REQUEST['cancel']) { - goaway($_SESSION['return_url']); - } - - $uid = local_user(); - $url = notags(trim($_REQUEST['url'])); - $return_url = $_SESSION['return_url']; - - $condition = array("`uid` = ? AND `rel` = ? AND (`nurl` = ? OR `alias` = ? OR `alias` = ?) AND `network` != ?", - $uid, CONTACT_IS_FRIEND, normalise_link($url), - normalise_link($url), $url, NETWORK_STATUSNET); - $contact = dba::select('contact', array(), $condition, array('limit' => 1)); - - if (!dbm::is_result($contact)) { - notice(t("Contact wasn't found or can't be unfollowed.")); - } else { - if (in_array($contact['network'], array(NETWORK_OSTATUS))) { - $r = q("SELECT `contact`.*, `user`.* FROM `contact` INNER JOIN `user` ON `contact`.`uid` = `user`.`uid` - WHERE `user`.`uid` = %d AND `contact`.`self` LIMIT 1", - intval($uid) - ); - if (dbm::is_result($r)) { - $self = ""; // Unused parameter - terminate_friendship($r[0], $self, $contact); - } - } - dba::update('contact', array('rel' => CONTACT_IS_FOLLOWER), array('id' => $contact['id'])); - - info(t('Contact unfollowed').EOL); - goaway(System::baseUrl().'/contacts/'.$contact['id']); - } - goaway($return_url); - // NOTREACHED -}