]> git.mxchange.org Git - friendica.git/blobdiff - src/Module/FollowConfirm.php
Merge pull request #12896 from HankG/mastodon-status-edit-fix-link-preview-changing
[friendica.git] / src / Module / FollowConfirm.php
index f4e4c5ebf9725282ba45317ad37c02d4620f09f2..733ffb33d932c263ae040a37317c47008ff98a2a 100644 (file)
@@ -1,19 +1,41 @@
 <?php
+/**
+ * @copyright Copyright (C) 2010-2023, the Friendica project
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program.  If not, see <https://www.gnu.org/licenses/>.
+ *
+ */
+
 namespace Friendica\Module;
 
 use Friendica\BaseModule;
 use Friendica\DI;
+use Friendica\Model\Contact;
 
 /**
  * Process follow request confirmations
  */
 class FollowConfirm extends BaseModule
 {
-       public static function post(array $parameters = [])
+       protected function post(array $request = [])
        {
-               $uid = local_user();
+               parent::post($request);
+               $uid = DI::userSession()->getLocalUserId();
                if (!$uid) {
-                       notice(DI::l10n()->t('Permission denied.'));
+                       DI::sysmsg()->addNotice(DI::l10n()->t('Permission denied.'));
                        return;
                }
 
@@ -21,12 +43,11 @@ class FollowConfirm extends BaseModule
                $duplex   = intval($_POST['duplex']     ?? 0);
                $hidden   = intval($_POST['hidden']     ?? 0);
 
-               $intro = DI::intro()->selectFirst(['id' => $intro_id, 'uid' => local_user()]);
-
-               $cid = $intro->{'contact-id'};
+               $intro = DI::intro()->selectOneById($intro_id, DI::userSession()->getLocalUserId());
 
-               $intro->confirm($duplex, $hidden);
+               Contact\Introduction::confirm($intro, $duplex, $hidden);
+               DI::intro()->delete($intro);
 
-               DI::baseUrl()->redirect('contact/' . intval($cid));
+               DI::baseUrl()->redirect('contact/' .  $intro->cid);
        }
 }