}
/**
- * Returns contact ID for given user ID
+ * Return the user contact ID of a visitor for the given user ID they are visiting
*
* @param integer $uid User ID
- * @return integer Contact ID of visitor for given user ID
+ * @return integer
*/
public static function getRemoteContactID($uid)
{
$session = DI::session();
- if (empty($session->get('remote')[$uid])) {
- return 0;
+ if (!empty($session->get('remote')[$uid])) {
+ $remote = $session->get('remote')[$uid];
+ } else {
+ $remote = 0;
}
- return $session->get('remote')[$uid];
+ $local_user = !empty($session->get('authenticated')) ? $session->get('uid') : 0;
+
+ if (empty($remote) && ($local_user != $uid) && !empty($my_address = $session->get('my_address'))) {
+ $remote = Contact::getIdForURL($my_address, $uid, false);
+ }
+
+ return $remote;
}
/**