mirror of
https://github.com/friendica/friendica
synced 2025-04-26 15:10:11 +00:00
Fix for remote authentication when visiting contact's pages
This commit is contained in:
parent
5e79ad277a
commit
8fbe0d46e9
4 changed files with 47 additions and 59 deletions
|
@ -98,6 +98,29 @@ class Contact extends BaseObject
|
|||
* @}
|
||||
*/
|
||||
|
||||
/**
|
||||
* @brief Tests if the given contact is a follower
|
||||
*
|
||||
* @param int $cid Either public contact id or user's contact id
|
||||
* @param int $uid User ID
|
||||
*
|
||||
* @return boolean is the contact id a follower?
|
||||
*/
|
||||
public static function isFollower($cid, $uid)
|
||||
{
|
||||
if (self::isBlockedByUser($cid, $uid)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$cdata = self::getPublicAndUserContacID($cid, $uid);
|
||||
if (empty($cdata['user'])) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$condition = ['id' => $cdata['user'], 'rel' => [self::FOLLOWER, self::FRIEND]];
|
||||
return DBA::exists('contact', $condition);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Get the basepath for a given contact link
|
||||
* @todo Add functionality to store this value in the contact table
|
||||
|
@ -125,7 +148,7 @@ class Contact extends BaseObject
|
|||
*
|
||||
* @return array with public and user's contact id
|
||||
*/
|
||||
private static function getPublicAndUserContacID($cid, $uid)
|
||||
public static function getPublicAndUserContacID($cid, $uid)
|
||||
{
|
||||
if (empty($uid) || empty($cid)) {
|
||||
return [];
|
||||
|
@ -2054,6 +2077,10 @@ class Contact extends BaseObject
|
|||
*/
|
||||
public static function magicLink($contact_url, $url = '')
|
||||
{
|
||||
if (!local_user()) {
|
||||
return $url ?: $contact_url; // Equivalent to: ($url != '') ? $url : $contact_url;
|
||||
}
|
||||
|
||||
$cid = self::getIdForURL($contact_url, 0, true);
|
||||
if (empty($cid)) {
|
||||
return $url ?: $contact_url; // Equivalent to: ($url != '') ? $url : $contact_url;
|
||||
|
@ -2087,7 +2114,7 @@ class Contact extends BaseObject
|
|||
*/
|
||||
public static function magicLinkbyContact($contact, $url = '')
|
||||
{
|
||||
if ($contact['network'] != Protocol::DFRN) {
|
||||
if (!local_user() || ($contact['network'] != Protocol::DFRN)) {
|
||||
return $url ?: $contact['url']; // Equivalent to ($url != '') ? $url : $contact['url'];
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue