X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=mod%2Ffollow.php;h=dd717aacd91ad99026513203a4ce6422cf069615;hb=c0e277cec84a3e26c95ac98a8b27246120030927;hp=95f95d024f728754ebcd5fbb5c174c1b3279d7ad;hpb=e839e3e1ec4b4a56ecf9886d8e29e07d6e5a798c;p=friendica.git diff --git a/mod/follow.php b/mod/follow.php index 95f95d024f..dd717aacd9 100755 --- a/mod/follow.php +++ b/mod/follow.php @@ -2,6 +2,7 @@ require_once('include/Scrape.php'); require_once('include/follow.php'); +require_once('include/contact_selectors.php'); function follow_content(&$a) { @@ -14,10 +15,12 @@ function follow_content(&$a) { $uid = local_user(); $url = notags(trim($_REQUEST['url'])); - $r = q("SELECT `url` FROM `contact` WHERE `uid` = %d AND + // There is a current issue. It seems as if you can't start following a Friendica that is following you + // With Diaspora this works - but Friendica is special, it seems ... + $r = q("SELECT `url` FROM `contact` WHERE `uid` = %d AND ((`rel` != %d) OR (`network` = '%s')) AND (`nurl` = '%s' OR `alias` = '%s' OR `alias` = '%s') AND `network` != '%s' LIMIT 1", - intval(local_user()), dbesc(normalise_link($url)), + intval(local_user()), dbesc(CONTACT_IS_FOLLOWER), dbesc(NETWORK_DFRN), dbesc(normalise_link($url)), dbesc(normalise_link($url)), dbesc($url), dbesc(NETWORK_STATUSNET)); if ($r) { @@ -28,6 +31,15 @@ function follow_content(&$a) { $ret = probe_url($url); + if ($ret["network"] == NETWORK_PHANTOM) { + notice( t("The network type couldn't be detected. Contact can't be added.") . EOL); + goaway($_SESSION['return_url']); + // NOTREACHED + } + + if ($ret["network"] == NETWORK_MAIL) + $ret["url"] = $ret["addr"]; + if($ret['network'] === NETWORK_DFRN) { $request = $ret["request"]; $tpl = get_markup_template('dfrn_request.tpl'); @@ -49,8 +61,15 @@ function follow_content(&$a) { // Makes the connection request for friendica contacts easier $_SESSION["fastlane"] = $ret["url"]; + $header = $ret["name"]; + + if ($ret["addr"] != "") + $header .= " <".$ret["addr"].">"; + + $header .= " (".network_to_name($ret['network']).")"; + $o = replace_macros($tpl,array( - '$header' => $ret["name"]." (".$ret["addr"].")", + '$header' => htmlentities($header), '$photo' => $ret["photo"], '$desc' => "", '$pls_answer' => t('Please answer the following:'),