Merge pull request #4785 from annando/magiclink

The magic link is added at more places
2022.09-rc
Hypolite Petovan 2018-04-08 20:38:33 -04:00 zatwierdzone przez GitHub
commit a2607ea00a
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: 4AEE18F83AFDEB23
2 zmienionych plików z 26 dodań i 1 usunięć

Wyświetl plik

@ -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),

Wyświetl plik

@ -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)) {