]> git.mxchange.org Git - friendica.git/commitdiff
Make the system owner ready for Diaspora
authorMichael <heluecht@pirati.ca>
Thu, 5 Aug 2021 08:30:44 +0000 (08:30 +0000)
committerMichael <heluecht@pirati.ca>
Thu, 5 Aug 2021 08:30:44 +0000 (08:30 +0000)
src/Model/User.php
src/Module/Xrd.php

index 94e41387ba568dd3528e8ef57d9277fce51da1fe..55bbb8b84136dbf52182e0d5ebd7575b989c95ec 100644 (file)
@@ -157,8 +157,8 @@ class User
                $system['net-publish'] = false;
 
                // Ensure that the user contains data
-               $user = DBA::selectFirst('user', ['prvkey'], ['uid' => 0]);
-               if (empty($user['prvkey'])) {
+               $user = DBA::selectFirst('user', ['prvkey', 'guid'], ['uid' => 0]);
+               if (empty($user['prvkey']) || empty($user['guid'])) {
                        $fields = [
                                'username' => $system['name'],
                                'nickname' => $system['nick'],
@@ -167,12 +167,17 @@ class User
                                'prvkey' => $system['prvkey'],
                                'spubkey' => $system['spubkey'],
                                'sprvkey' => $system['sprvkey'],
+                               'guid' => System::createUUID(),
                                'verified' => true,
                                'page-flags' => User::PAGE_FLAGS_SOAPBOX,
                                'account-type' => User::ACCOUNT_TYPE_RELAY,
                        ];
 
                        DBA::update('user', $fields, ['uid' => 0]);
+
+                       $system['guid'] = $fields['guid'];
+               } else {
+                       $system['guid'] = $user['guid'];
                }
 
                return $system;
index 7e380946ff1192e10cc690d5a72fff830450b3d5..d2813cc270ae0d39c479bc79e9cb4cd348651aea 100644 (file)
@@ -130,6 +130,25 @@ class Xrd extends BaseModule
                                        'rel'      => 'http://ostatus.org/schema/1.0/subscribe',
                                        'template' => DI::baseUrl()->get() . '/follow?url={uri}',
                                ],
+                               [
+                                       'rel'  => ActivityNamespace::FEED,
+                                       'type' => 'application/atom+xml',
+                                       'href' => $owner['poll'] ?? DI::baseUrl()->get(),
+                               ],
+                               [
+                                       'rel'  => 'salmon',
+                                       'href' => DI::baseUrl()->get() . '/salmon/' . $owner['nickname'],
+                               ],
+                               [
+                                       'rel'  => 'http://microformats.org/profile/hcard',
+                                       'type' => 'text/html',
+                                       'href' => DI::baseUrl()->get() . '/hcard/' . $owner['nickname'],
+                               ],
+                               [
+                                       'rel'  => 'http://joindiaspora.com/seed_location',
+                                       'type' => 'text/html',
+                                       'href' => DI::baseUrl()->get(),
+                               ],
                        ]
                ];
                header('Access-Control-Allow-Origin: *');