sforkowany z mirror/friendica
commit
a2607ea00a
|
@ -223,7 +223,7 @@ function dirfind_content(App $a, $prefix = "") {
|
|||
|
||||
$entry = [
|
||||
'alt_text' => $alt_text,
|
||||
'url' => Profile::zrl($jj->url),
|
||||
'url' => Profile::magicLink($jj->url),
|
||||
'itemurl' => $itemurl,
|
||||
'name' => htmlentities($jj->name),
|
||||
'thumb' => proxy_url($jj->photo, false, PROXY_SIZE_THUMB),
|
||||
|
|
|
@ -500,6 +500,8 @@ class Profile
|
|||
$p['photo'] = proxy_url($p['photo'], false, PROXY_SIZE_SMALL);
|
||||
}
|
||||
|
||||
$p['url'] = self::magicLink($p['url']);
|
||||
|
||||
$tpl = get_markup_template('profile_vcard.tpl');
|
||||
$o .= replace_macros($tpl, [
|
||||
'$profile' => $p,
|
||||
|
@ -1005,6 +1007,29 @@ class Profile
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Returns a magic link to authenticate remote visitors
|
||||
*
|
||||
* @param string $contact_url The address of the contact profile
|
||||
* @param integer $uid The user id, "local_user" is the default
|
||||
*
|
||||
* @return string with "redir" link
|
||||
*/
|
||||
public static function magicLink($contact_url, $uid = -1)
|
||||
{
|
||||
if ($uid == -1) {
|
||||
$uid = local_user();
|
||||
}
|
||||
$condition = ['pending' => false, 'uid' => $uid,
|
||||
'nurl' => normalise_link($contact_url),
|
||||
'network' => NETWORK_DFRN, 'self' => false];
|
||||
$contact = dba::selectFirst('contact', ['id'], $condition);
|
||||
if (DBM::is_result($contact)) {
|
||||
return System::baseUrl() . '/redir/' . $contact['id'];
|
||||
}
|
||||
return self::zrl($contact_url);
|
||||
}
|
||||
|
||||
public static function zrl($s, $force = false)
|
||||
{
|
||||
if (!strlen($s)) {
|
||||
|
|
Ładowanie…
Reference in New Issue