mirror of
https://github.com/friendica/friendica
synced 2024-12-23 10:00:20 +00:00
Merge remote-tracking branch 'upstream/develop' into 1504-contact-update
Conflicts: mod/contacts.php
This commit is contained in:
commit
1058d055d1
15 changed files with 153 additions and 38 deletions
1
boot.php
1
boot.php
|
@ -1695,7 +1695,6 @@ if(! function_exists('profile_sidebar')) {
|
|||
if($a->theme['template_engine'] === 'internal')
|
||||
$location = template_escape($location);
|
||||
|
||||
|
||||
$tpl = get_markup_template('profile_vcard.tpl');
|
||||
$o .= replace_macros($tpl, array(
|
||||
'$profile' => $p,
|
||||
|
|
|
@ -78,19 +78,19 @@ function contact_selector($selname, $selclass, $preselected = false, $options) {
|
|||
if(x($options,'networks')) {
|
||||
switch($options['networks']) {
|
||||
case 'DFRN_ONLY':
|
||||
$networks = array('dfrn');
|
||||
$networks = array(NETWORK_DFRN);
|
||||
break;
|
||||
case 'PRIVATE':
|
||||
if(is_array($a->user) && $a->user['prvnets'])
|
||||
$networks = array('dfrn','mail','dspr');
|
||||
$networks = array(NETWORK_DFRN,NETWORK_MAIL,NETWORK_DIASPORA);
|
||||
else
|
||||
$networks = array('dfrn','face','mail', 'dspr');
|
||||
$networks = array(NETWORK_DFRN,NETWORK_FACEBOOK,NETWORK_MAIL, NETWORK_DIASPORA);
|
||||
break;
|
||||
case 'TWO_WAY':
|
||||
if(is_array($a->user) && $a->user['prvnets'])
|
||||
$networks = array('dfrn','mail','dspr');
|
||||
$networks = array(NETWORK_DFRN,NETWORK_MAIL,NETWORK_DIASPORA);
|
||||
else
|
||||
$networks = array('dfrn','face','mail','dspr','stat');
|
||||
$networks = array(NETWORK_DFRN,NETWORK_FACEBOOK,NETWORK_MAIL,NETWORK_DIASPORA,NETWORK_OSTATUS);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
@ -181,12 +181,12 @@ function contact_select($selname, $selclass, $preselected = false, $size = 4, $p
|
|||
$sql_extra .= sprintf(" AND `rel` = %d ", intval(CONTACT_IS_FRIEND));
|
||||
}
|
||||
|
||||
if($privmail) {
|
||||
$sql_extra .= " AND `network` IN ( 'dfrn', 'dspr' ) ";
|
||||
}
|
||||
elseif($privatenet) {
|
||||
$sql_extra .= " AND `network` IN ( 'dfrn', 'mail', 'face', 'dspr' ) ";
|
||||
}
|
||||
if($privmail)
|
||||
$sql_extra .= sprintf(" AND `network` IN ('%s' , '%s') ",
|
||||
NETWORK_DFRN, NETWORK_DIASPORA);
|
||||
elseif($privatenet)
|
||||
$sql_extra .= sprintf(" AND `network` IN ('%s' , '%s', '%s', '%s') ",
|
||||
NETWORK_DFRN, NETWORK_MAIL, NETWORK_FACEBOOK, NETWORK_DIASPORA);
|
||||
|
||||
$tabindex = ($tabindex > 0 ? "tabindex=\"$tabindex\"" : "");
|
||||
|
||||
|
|
|
@ -908,7 +908,7 @@ function like_puller($a,$item,&$arr,$mode) {
|
|||
|
||||
if((activity_match($item['verb'],$verb)) && ($item['id'] != $item['parent'])) {
|
||||
$url = $item['author-link'];
|
||||
if((local_user()) && (local_user() == $item['uid']) && ($item['network'] === 'dfrn') && (! $item['self']) && (link_compare($item['author-link'],$item['url']))) {
|
||||
if((local_user()) && (local_user() == $item['uid']) && ($item['network'] === NETWORK_DFRN) && (! $item['self']) && (link_compare($item['author-link'],$item['url']))) {
|
||||
$url = $a->get_baseurl(true) . '/redir/' . $item['contact-id'];
|
||||
$sparkle = ' class="sparkle" ';
|
||||
}
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
|
||||
function new_contact($uid,$url,$interactive = false) {
|
||||
|
||||
$result = array('success' => false,'message' => '');
|
||||
$result = array('cid' => -1, 'success' => false,'message' => '');
|
||||
|
||||
$a = get_app();
|
||||
|
||||
|
@ -208,7 +208,7 @@ function new_contact($uid,$url,$interactive = false) {
|
|||
|
||||
$contact = $r[0];
|
||||
$contact_id = $r[0]['id'];
|
||||
|
||||
$result['cid'] = $contact_id;
|
||||
|
||||
$g = q("select def_gid from user where uid = %d limit 1",
|
||||
intval($uid)
|
||||
|
|
|
@ -920,7 +920,7 @@ function micropro($contact, $redirect = false, $class = '', $textmode = false) {
|
|||
if($redirect) {
|
||||
$a = get_app();
|
||||
$redirect_url = $a->get_baseurl() . '/redir/' . $contact['id'];
|
||||
if(local_user() && ($contact['uid'] == local_user()) && ($contact['network'] === 'dfrn')) {
|
||||
if(local_user() && ($contact['uid'] == local_user()) && ($contact['network'] === NETWORK_DFRN)) {
|
||||
$redir = true;
|
||||
$url = $redirect_url;
|
||||
$sparkle = ' sparkle';
|
||||
|
|
|
@ -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" ';
|
||||
}
|
||||
|
|
|
@ -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)
|
||||
);
|
||||
}
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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
84
mod/follow.php
Normal file → Executable 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
|
||||
|
|
|
@ -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';
|
||||
}
|
||||
|
|
|
@ -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)) {
|
||||
|
|
|
@ -20,16 +20,27 @@
|
|||
</p>
|
||||
{{/if}}
|
||||
|
||||
{{if $request}}
|
||||
<form action="{{$request}}" method="post" />
|
||||
{{else}}
|
||||
<form action="dfrn_request/{{$nickname}}" method="post" />
|
||||
{{/if}}
|
||||
|
||||
{{if $photo}}
|
||||
<img src="{{$photo}}" alt="" id="dfrn-request-photo">
|
||||
{{/if}}
|
||||
|
||||
<div id="dfrn-request-url-wrapper" >
|
||||
<label id="dfrn-url-label" for="dfrn-url" >{{$your_address}}</label>
|
||||
{{if $myaddr}}
|
||||
{{$myaddr}}
|
||||
<input type="hidden" name="dfrn_url" id="dfrn-url" size="32" value="{{$myaddr|escape:'html'}}" />
|
||||
<input type="hidden" name="dfrn_url" id="dfrn-url" value="{{$myaddr|escape:'html'}}" />
|
||||
{{else}}
|
||||
<input type="text" name="dfrn_url" id="dfrn-url" size="32" value="{{$myaddr|escape:'html'}}" />
|
||||
{{/if}}
|
||||
{{if $url}}
|
||||
<input type="hidden" name="url" id="url" value="{{$url|escape:'html'}}" />
|
||||
{{/if}}
|
||||
<div id="dfrn-request-url-end"></div>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
|
||||
|
||||
<h1>{{$header}}</h1>
|
||||
|
||||
{{if $myaddr}}
|
||||
|
@ -19,7 +17,15 @@
|
|||
</p>
|
||||
{{/if}}
|
||||
|
||||
{{if $request}}
|
||||
<form action="{{$request}}" method="post" />
|
||||
{{else}}
|
||||
<form action="dfrn_request/{{$nickname}}" method="post" />
|
||||
{{/if}}
|
||||
|
||||
{{if $photo}}
|
||||
<img src="{{$photo}}" alt="" id="dfrn-request-photo">
|
||||
{{/if}}
|
||||
|
||||
<div id="dfrn-request-url-wrapper" >
|
||||
<label id="dfrn-url-label" for="dfrn-url" >{{$your_address}}</label>
|
||||
|
@ -29,6 +35,9 @@
|
|||
{{else}}
|
||||
<input type="text" name="dfrn_url" id="dfrn-url" size="32" value="{{$myaddr|escape:'html'}}" />
|
||||
{{/if}}
|
||||
{{if $url}}
|
||||
<input type="hidden" name="url" id="url" value="{{$url|escape:'html'}}" />
|
||||
{{/if}}
|
||||
<div id="dfrn-request-url-end"></div>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<div id="follow-sidebar" class="widget">
|
||||
<h3>{{$connect}}</h3>
|
||||
<div id="connect-desc">{{$desc}}</div>
|
||||
<form action="follow" method="post" >
|
||||
<form action="follow" method="get" >
|
||||
<input id="side-follow-url" type="text" name="url" value="{{$value|escape:'html'}}" size="24" placeholder="{{$hint|escape:'html'}}" title="{{$hint|escape:'html'}}" /><input id="side-follow-submit" type="submit" name="submit" value="{{$follow|escape:'html'}}" />
|
||||
</form>
|
||||
</div>
|
||||
|
|
Loading…
Reference in a new issue