Merge remote-tracking branch 'upstream/develop' into 1504-contact-update

Conflicts:
	mod/contacts.php
This commit is contained in:
Michael Vogel 2015-04-12 09:59:28 +02:00
commit 1058d055d1
15 changed files with 153 additions and 38 deletions

View file

@ -35,7 +35,7 @@ function contacts_init(&$a) {
$vcard_widget = replace_macros(get_markup_template("vcard-widget.tpl"),array(
'$name' => $a->data['contact']['name'],
'$photo' => $a->data['contact']['photo'],
'$url' => ($a->data['contact']['network'] == 'dfrn') ? $a->get_baseurl()."/redir/".$a->data['contact']['id'] : $a->data['contact']['url']
'$url' => ($a->data['contact']['network'] == NETWORK_DFRN) ? $a->get_baseurl()."/redir/".$a->data['contact']['id'] : $a->data['contact']['url']
));
$follow_widget = '';
}
@ -745,7 +745,7 @@ function contacts_content(&$a) {
default:
break;
}
if(($rr['network'] === 'dfrn') && ($rr['rel'])) {
if(($rr['network'] === NETWORK_DFRN) && ($rr['rel'])) {
$url = "redir/{$rr['id']}";
$sparkle = ' class="sparkle" ';
}

View file

@ -340,7 +340,7 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
`pending` = 0,
`duplex` = %d,
`hidden` = %d,
`network` = 'dfrn' WHERE `id` = %d
`network` = '%s' WHERE `id` = %d
",
dbesc($photos[0]),
dbesc($photos[1]),
@ -351,6 +351,7 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
dbesc(datetime_convert()),
intval($duplex),
intval($hidden),
dbesc(NETWORK_DFRN),
intval($contact_id)
);
}

View file

@ -664,6 +664,21 @@ function dfrn_request_content(&$a) {
$dfrn_url = notags(trim(hex2bin($_GET['dfrn_url'])));
$aes_allow = (((x($_GET,'aes_allow')) && ($_GET['aes_allow'] == 1)) ? 1 : 0);
$confirm_key = (x($_GET,'confirm_key') ? $_GET['confirm_key'] : "");
// Checking fastlane for validity
if (x($_SESSION, "fastlane") AND (normalise_link($_SESSION["fastlane"]) == normalise_link($dfrn_url))) {
$_POST["dfrn_url"] = $dfrn_url;
$_POST["confirm_key"] = $confirm_key;
$_POST["localconfirm"] = 1;
$_POST["hidden-contact"] = 0;
$_POST["submit"] = t('Confirm');
dfrn_request_post($a);
killme();
return; // NOTREACHED
}
$tpl = get_markup_template("dfrn_req_confirm.tpl");
$o = replace_macros($tpl,array(
'$dfrn_url' => $dfrn_url,

View file

@ -193,11 +193,13 @@ function display_fetchauthor($a, $item) {
}
if (local_user()) {
if ($profiledata["network"] == NETWORK_DFRN) {
$connect = str_replace("/profile/", "/dfrn_request/", $profiledata["url"])."&addr=".bin2hex($a->get_baseurl()."/profile/".$a->user["nickname"]);
$profiledata["remoteconnect"] = $connect;
} elseif ($profiledata["network"] == NETWORK_DIASPORA)
$profiledata["remoteconnect"] = $a->get_baseurl()."/contacts?add=".GetProfileUsername($profiledata["url"], "", true);
if (in_array($profiledata["network"], array(NETWORK_DFRN, NETWORK_DIASPORA, NETWORK_OSTATUS)))
$profiledata["remoteconnect"] = $a->get_baseurl()."/follow?url=".urlencode($profiledata["url"]);
//if ($profiledata["network"] == NETWORK_DFRN) {
// $connect = str_replace("/profile/", "/dfrn_request/", $profiledata["url"])."&addr=".bin2hex($a->get_baseurl()."/profile/".$a->user["nickname"]);
// $profiledata["remoteconnect"] = $connect;
//} elseif ($profiledata["network"] == NETWORK_DIASPORA)
// $profiledata["remoteconnect"] = $a->get_baseurl()."/contacts?add=".GetProfileUsername($profiledata["url"], "", true);
} elseif ($profiledata["network"] == NETWORK_DFRN) {
$connect = str_replace("/profile/", "/dfrn_request/", $profiledata["url"]);
$profiledata["remoteconnect"] = $connect;

84
mod/follow.php Normal file → Executable file
View file

@ -3,7 +3,7 @@
require_once('include/Scrape.php');
require_once('include/follow.php');
function follow_init(&$a) {
function follow_content(&$a) {
if(! local_user()) {
notice( t('Permission denied.') . EOL);
@ -11,10 +11,85 @@ function follow_init(&$a) {
// NOTREACHED
}
$uid = local_user();
$url = notags(trim($_REQUEST['url']));
$r = q("SELECT `url` FROM `contact` WHERE `uid` = %d AND (`nurl` = '%s' OR `alias` = '%s' OR `alias` = '%s') LIMIT 1",
intval(local_user()), dbesc(normalise_link($url)), dbesc(normalise_link($url)), dbesc($url));
if ($r) {
notice(t('You already added this contact.').EOL);
goaway($_SESSION['return_url']);
// NOTREACHED
}
$ret = probe_url($url);
if($ret['network'] === NETWORK_DFRN) {
$request = $ret["request"];
$tpl = get_markup_template('dfrn_request.tpl');
} else {
$request = $a->get_baseurl()."/follow";
$tpl = get_markup_template('auto_request.tpl');
}
$r = q("SELECT `url` FROM `contact` WHERE `uid` = %d AND `self` LIMIT 1", intval($uid));
if (!$r) {
notice( t('Permission denied.') . EOL);
goaway($_SESSION['return_url']);
// NOTREACHED
}
$myaddr = $r[0]["url"];
// Makes the connection request for friendica contacts easier
$_SESSION["fastlane"] = $ret["url"];
$o = replace_macros($tpl,array(
'$header' => $ret["name"]." (".$ret["addr"].")",
'$photo' => $ret["photo"],
'$desc' => "",
'$pls_answer' => t('Please answer the following:'),
'$does_know_you' => array('knowyou', sprintf(t('Does %s know you?'),$ret["name"]), false, '', array(t('No'),t('Yes'))),
'$add_note' => t('Add a personal note:'),
'$page_desc' => "",
'$friendica' => "",
'$statusnet' => "",
'$diaspora' => "",
'$diasnote' => "",
'$your_address' => t('Your Identity Address:'),
'$invite_desc' => "",
'$emailnet' => "",
'$submit' => t('Submit Request'),
'$cancel' => t('Cancel'),
'$nickname' => "",
'$name' => $ret["name"],
'$url' => $ret["url"],
'$myaddr' => $myaddr,
'$request' => $request
));
return $o;
}
function follow_post(&$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);
@ -22,12 +97,13 @@ function follow_init(&$a) {
if($result['message'])
notice($result['message']);
goaway($return_url);
}
} elseif ($result['cid'])
goaway($a->get_baseurl().'/contacts/'.$result['cid']);
info( t('Contact added') . EOL);
info( t('Contact added').EOL);
if(strstr($return_url,'contacts'))
goaway($a->get_baseurl() . '/contacts/' . $contact_id);
goaway($a->get_baseurl().'/contacts/'.$contact_id);
goaway($return_url);
// NOTREACHED

View file

@ -1628,7 +1628,7 @@ function photos_content(&$a) {
if(local_user() && ($item['contact-uid'] == local_user())
&& ($item['network'] == 'dfrn') && (! $item['self'] )) {
&& ($item['network'] == NETWORK_DFRN) && (! $item['self'] )) {
$profile_url = $redirect_url;
$sparkle = ' sparkle';
}

View file

@ -37,7 +37,8 @@ function profperm_content(&$a) {
if(($a->argc > 2) && intval($a->argv[1]) && intval($a->argv[2])) {
$r = q("SELECT `id` FROM `contact` WHERE `blocked` = 0 AND `pending` = 0 AND `self` = 0
AND `network` = 'dfrn' AND `id` = %d AND `uid` = %d LIMIT 1",
AND `network` = '%s' AND `id` = %d AND `uid` = %d LIMIT 1",
dbesc(NETWORK_DFRN),
intval($a->argv[2]),
intval(local_user())
);
@ -130,10 +131,11 @@ function profperm_content(&$a) {
$o .= '<h3>' . t("All Contacts \x28with secure profile access\x29") . '</h3>';
$o .= '</div>';
$o .= '<div id="prof-all-contacts">';
$r = q("SELECT * FROM `contact` WHERE `uid` = %d AND `blocked` = 0 and `pending` = 0 and `self` = 0
AND `network` = 'dfrn' ORDER BY `name` ASC",
intval(local_user())
$r = q("SELECT * FROM `contact` WHERE `uid` = %d AND `blocked` = 0 and `pending` = 0 and `self` = 0
AND `network` = '%s' ORDER BY `name` ASC",
intval(local_user()),
dbesc(NETWORK_DFRN)
);
if(count($r)) {