]> git.mxchange.org Git - friendica.git/blobdiff - src/Model/User.php
Merge pull request #9638 from annando/bad-priority
[friendica.git] / src / Model / User.php
index 1959e95798681a558d80f28b28a340aed686b713..bcd555a0ec11c46a8b1bbc6cc858074c22b67c62 100644 (file)
@@ -41,6 +41,7 @@ use Friendica\Util\Crypto;
 use Friendica\Util\DateTimeFormat;
 use Friendica\Util\Images;
 use Friendica\Util\Network;
+use Friendica\Util\Proxy;
 use Friendica\Util\Strings;
 use Friendica\Worker\Delivery;
 use ImagickException;
@@ -144,6 +145,26 @@ class User
                $system['sprvkey'] = $system['uprvkey'] = $system['prvkey'];
                $system['spubkey'] = $system['upubkey'] = $system['pubkey'];
                $system['nickname'] = $system['nick'];
+
+               // Ensure that the user contains data
+               $user = DBA::selectFirst('user', ['prvkey'], ['uid' => 0]);
+               if (empty($user['prvkey'])) {
+                       $fields = [
+                               'username' => $system['name'],
+                               'nickname' => $system['nick'],
+                               'register_date' => $system['created'],
+                               'pubkey' => $system['pubkey'],
+                               'prvkey' => $system['prvkey'],
+                               'spubkey' => $system['spubkey'],
+                               'sprvkey' => $system['sprvkey'],
+                               'verified' => true,
+                               'page-flags' => User::PAGE_FLAGS_SOAPBOX,
+                               'account-type' => User::ACCOUNT_TYPE_RELAY,
+                       ];
+
+                       DBA::update('user', $fields, ['uid' => 0]);
+               }
+
                return $system;
        }
 
@@ -172,11 +193,12 @@ class User
                $system['name'] = 'System Account';
                $system['addr'] = $system_actor_name . '@' . DI::baseUrl()->getHostname();
                $system['nick'] = $system_actor_name;
-               $system['avatar'] = DI::baseUrl() . Contact::DEFAULT_AVATAR_PHOTO;
-               $system['photo'] = DI::baseUrl() . Contact::DEFAULT_AVATAR_PHOTO;
-               $system['thumb'] = DI::baseUrl() . Contact::DEFAULT_AVATAR_THUMB;
-               $system['micro'] = DI::baseUrl() . Contact::DEFAULT_AVATAR_MICRO;
                $system['url'] = DI::baseUrl() . '/friendica';
+
+               $system['avatar'] = $system['photo'] = Contact::getDefaultAvatar($system, Proxy::SIZE_SMALL);
+               $system['thumb'] = Contact::getDefaultAvatar($system, Proxy::SIZE_THUMB);
+               $system['micro'] = Contact::getDefaultAvatar($system, Proxy::SIZE_MICRO);
+
                $system['nurl'] = Strings::normaliseLink($system['url']);
                $system['pubkey'] = $keys['pubkey'];
                $system['prvkey'] = $keys['prvkey'];
@@ -244,7 +266,7 @@ class User
         */
        public static function getById($uid, array $fields = [])
        {
-               return DBA::selectFirst('user', $fields, ['uid' => $uid]);
+               return !empty($uid) ? DBA::selectFirst('user', $fields, ['uid' => $uid]) : [];
        }
 
        /**
@@ -539,7 +561,7 @@ class User
         * @return array
         * @throws HTTPException\NotFoundException
         */
-       private static function getAuthenticationInfo($user_info)
+       public static function getAuthenticationInfo($user_info)
        {
                $user = null;