X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FModel%2FUser.php;h=7ecf4a576c5405fdd16ce22f8a657e82e3400fe4;hb=HEAD;hp=ef49f45edab1012f9873678c473f2137542d960f;hpb=2b8642d2b5cacb8523af3b5df9da02f37bd859d7;p=friendica.git diff --git a/src/Model/User.php b/src/Model/User.php index ef49f45eda..7ecf4a576c 100644 --- a/src/Model/User.php +++ b/src/Model/User.php @@ -18,11 +18,11 @@ use Friendica\Core\Protocol; use Friendica\Core\System; use Friendica\Core\Worker; use Friendica\Database\DBA; -use Friendica\Model\Photo; use Friendica\Model\TwoFactor\AppSpecificPassword; use Friendica\Object\Image; use Friendica\Util\Crypto; use Friendica\Util\DateTimeFormat; +use Friendica\Util\Images; use Friendica\Util\Network; use Friendica\Util\Strings; use Friendica\Worker\Delivery; @@ -105,6 +105,27 @@ class User return DBA::selectFirst('user', $fields, ['uid' => $uid]); } + /** + * Returns a user record based on it's GUID + * + * @param string $guid The guid of the user + * @param array $fields The fields to retrieve + * @param bool $active True, if only active records are searched + * + * @return array|boolean User record if it exists, false otherwise + * @throws Exception + */ + public static function getByGuid(string $guid, array $fields = [], bool $active = true) + { + if ($active) { + $cond = ['guid' => $guid, 'account_expired' => false, 'account_removed' => false]; + } else { + $cond = ['guid' => $guid]; + } + + return DBA::selectFirst('user', $fields, $cond); + } + /** * @param string $nickname * @param array $fields @@ -170,7 +191,8 @@ class User `user`.`page-flags`, `user`.`account-type`, `user`.`prvnets`, - `user`.`account_removed` + `user`.`account_removed`, + `user`.`hidewall` FROM `contact` INNER JOIN `user` ON `user`.`uid` = `contact`.`uid` @@ -602,6 +624,7 @@ class User } } + /// @todo Check if this part is really needed. We should have fetched all this data in advance if (empty($username) || empty($email) || empty($nickname)) { if ($openid_url) { if (!Network::isUrlValid($openid_url)) { @@ -807,15 +830,15 @@ class User $filename = basename($photo); $img_str = Network::fetchUrl($photo, true); // guess mimetype from headers or filename - $type = Image::guessType($photo, true); + $type = Images::guessType($photo, true); $Image = new Image($img_str, $type); if ($Image->isValid()) { $Image->scaleToSquare(300); - $hash = Photo::newResource(); + $resource_id = Photo::newResource(); - $r = Photo::store($Image, $uid, 0, $hash, $filename, L10n::t('Profile Photos'), 4); + $r = Photo::store($Image, $uid, 0, $resource_id, $filename, L10n::t('Profile Photos'), 4); if ($r === false) { $photo_failure = true; @@ -823,7 +846,7 @@ class User $Image->scaleDown(80); - $r = Photo::store($Image, $uid, 0, $hash, $filename, L10n::t('Profile Photos'), 5); + $r = Photo::store($Image, $uid, 0, $resource_id, $filename, L10n::t('Profile Photos'), 5); if ($r === false) { $photo_failure = true; @@ -831,14 +854,14 @@ class User $Image->scaleDown(48); - $r = Photo::store($Image, $uid, 0, $hash, $filename, L10n::t('Profile Photos'), 6); + $r = Photo::store($Image, $uid, 0, $resource_id, $filename, L10n::t('Profile Photos'), 6); if ($r === false) { $photo_failure = true; } if (!$photo_failure) { - Photo::update(['profile' => 1], ['resource-id' => $hash]); + Photo::update(['profile' => 1], ['resource-id' => $resource_id]); } } }