]> git.mxchange.org Git - friendica.git/blobdiff - src/Model/Profile.php
Replace reference to post plink by author base URL
[friendica.git] / src / Model / Profile.php
index b30cca8a6e8568fa74cf4dabfbf1a4288ea08bd3..c1a350673e1bafe995bcec7719491f42fa6e0f80 100644 (file)
@@ -37,6 +37,7 @@ use Friendica\DI;
 use Friendica\Network\HTTPClient\Client\HttpClientAccept;
 use Friendica\Network\HTTPClient\Client\HttpClientOptions;
 use Friendica\Network\HTTPException;
+use Friendica\Network\HTTPException\InternalServerErrorException;
 use Friendica\Protocol\Activity;
 use Friendica\Protocol\Diaspora;
 use Friendica\Security\PermissionSet\Entity\PermissionSet;
@@ -93,10 +94,11 @@ class Profile
        /**
         * Update a profile entry and distribute the changes if needed
         *
-        * @param array $fields Profile fields to update
-        * @param integer $uid User id
+        * @param array   $fields Profile fields to update
+        * @param integer $uid    User id
         *
         * @return boolean Whether update was successful
+        * @throws \Exception
         */
        public static function update(array $fields, int $uid): bool
        {
@@ -116,10 +118,6 @@ class Profile
                        return false;
                }
 
-               if ($old_owner['name'] != $owner['name']) {
-                       User::update(['username' => $owner['name']], $uid);
-               }
-
                $profile_fields = ['postal-code', 'dob', 'prv_keywords', 'homepage'];
                foreach ($profile_fields as $field) {
                        if ($old_owner[$field] != $owner[$field]) {
@@ -334,7 +332,7 @@ class Profile
                if (!$local_user_is_self) {
                        if (!$visitor_is_authenticated) {
                                // Remote follow is only available for local profiles
-                               if (!empty($profile['nickname']) && strpos($profile_url, DI::baseUrl()) === 0) {
+                               if (!empty($profile['nickname']) && strpos($profile_url, (string)DI::baseUrl()) === 0) {
                                        $follow_link = 'profile/' . $profile['nickname'] . '/remote_follow';
                                }
                        } else {
@@ -640,13 +638,13 @@ class Profile
                                        $istoday = true;
                                }
 
-                               $title = strip_tags(html_entity_decode(BBCode::convertForUriId($rr['uri-id'], $rr['summary']), ENT_QUOTES, 'UTF-8'));
+                               $title = BBCode::toPlaintext($rr['summary'], false);
 
                                if (strlen($title) > 35) {
                                        $title = substr($title, 0, 32) . '... ';
                                }
 
-                               $description = substr(strip_tags(BBCode::convertForUriId($rr['uri-id'], $rr['desc'])), 0, 32) . '... ';
+                               $description = BBCode::toPlaintext($rr['desc'], false) . '... ';
                                if (!$description) {
                                        $description = DI::l10n()->t('[No description]');
                                }
@@ -795,14 +793,16 @@ class Profile
                $visitor = Contact::getById($cid);
 
                // Authenticate the visitor.
-               $_SESSION['authenticated'] = 1;
-               $_SESSION['visitor_id'] = $visitor['id'];
-               $_SESSION['visitor_handle'] = $visitor['addr'];
-               $_SESSION['visitor_home'] = $visitor['url'];
-               $_SESSION['my_url'] = $visitor['url'];
-               $_SESSION['remote_comment'] = $visitor['subscribe'];
-
-               DI::userSession()->setVisitorsContacts();
+               DI::userSession()->setMultiple([
+                       'authenticated'  => 1,
+                       'visitor_id'     => $visitor['id'],
+                       'visitor_handle' => $visitor['addr'],
+                       'visitor_home'   => $visitor['url'],
+                       'my_url'         => $visitor['url'],
+                       'remote_comment' => $visitor['subscribe'],
+               ]);
+
+               DI::userSession()->setVisitorsContacts($visitor['url']);
 
                $a->setContactId($visitor['id']);