* @}
*/
+ private static $owner;
+
/**
* Returns true if a user record exists with the provided id
*
* @return integer user id
* @throws Exception
*/
- public static function getIdForURL($url)
+ public static function getIdForURL(string $url)
{
- $self = DBA::selectFirst('contact', ['uid'], ['nurl' => Strings::normaliseLink($url), 'self' => true]);
- if (!DBA::isResult($self)) {
- return false;
- } else {
+ $self = Contact::selectFirst(['uid'], ['self' => true, 'nurl' => Strings::normaliseLink($url)]);
+ if (!empty($self['uid'])) {
+ return $self['uid'];
+ }
+
+ $self = Contact::selectFirst(['uid'], ['self' => true, 'addr' => $url]);
+ if (!empty($self['uid'])) {
return $self['uid'];
}
+
+ $self = Contact::selectFirst(['uid'], ['self' => true, 'alias' => [$url, Strings::normaliseLink($url)]]);
+ if (!empty($self['uid'])) {
+ return $self['uid'];
+ }
+
+ return 0;
}
/**
* @return boolean|array
* @throws Exception
*/
- public static function getOwnerDataById($uid, $check_valid = true)
+ public static function getOwnerDataById(int $uid, bool $check_valid = true)
{
+ if (!empty(self::$owner[$uid])) {
+ return self::$owner[$uid];
+ }
+
$owner = DBA::selectFirst('owner-view', [], ['uid' => $uid]);
if (!DBA::isResult($owner)) {
if (!DBA::exists('user', ['uid' => $uid]) || !$check_valid) {
$owner = self::getOwnerDataById($uid, false);
}
+ self::$owner[$uid] = $owner;
return $owner;
}