]> git.mxchange.org Git - friendica.git/blobdiff - src/Util/Security.php
Merge pull request #7248 from nupplaphil/bugs/6916-fatal-network
[friendica.git] / src / Util / Security.php
index 11059c0bcf34edb0df1e551dbebae8953765afa9..1c934d6fe617c741d9d6b47316570ea2ebe7b74b 100644 (file)
@@ -9,9 +9,7 @@ use Friendica\BaseObject;
 use Friendica\Database\DBA;
 use Friendica\Model\Contact;
 use Friendica\Model\Group;
-use Friendica\Core\L10n;
-use Friendica\Model\PermissionSet;
-use Friendica\Core\System;
+use Friendica\Model\User;
 
 /**
  * Secures that User is allow to do requests
@@ -68,7 +66,7 @@ class Security extends BaseObject
                                        intval($cid),
                                        intval(Contact::SHARING),
                                        intval(Contact::FRIEND),
-                                       intval(Contact::PAGE_COMMUNITY)
+                                       intval(User::PAGE_FLAGS_COMMUNITY)
                                );
 
                                if (DBA::isResult($r)) {
@@ -122,9 +120,18 @@ class Security extends BaseObject
                         */
 
                        if (!$remote_verified) {
-                               if (DBA::exists('contact', ['id' => $remote_user, 'uid' => $owner_id, 'blocked' => false])) {
+                               $cid = 0;
+
+                               foreach (\Friendica\Core\Session::get('remote', []) as $visitor) {
+                                       if ($visitor['uid'] == $owner_id) {
+                                               $cid = $visitor['cid'];
+                                               break;
+                                       }
+                               }
+
+                               if ($cid && DBA::exists('contact', ['id' => $cid, 'uid' => $owner_id, 'blocked' => false])) {
                                        $remote_verified = true;
-                                       $groups = Group::getIdsByContactId($remote_user);
+                                       $groups = Group::getIdsByContactId($cid);
                                }
                        }
 
@@ -142,9 +149,9 @@ class Security extends BaseObject
                                          AND ( allow_cid REGEXP '<%d>' OR allow_gid REGEXP '%s' OR ( allow_cid = '' AND allow_gid = '') )
                                          )
                                        ",
-                                       intval($remote_user),
+                                       intval($cid),
                                        DBA::escape($gs),
-                                       intval($remote_user),
+                                       intval($cid),
                                        DBA::escape($gs)
                                );
                        }