]> git.mxchange.org Git - friendica.git/commitdiff
Add check_dead parameter to Item::enumeratePermissions
authorHypolite Petovan <hypolite@mrpetovan.com>
Sat, 17 Aug 2019 03:59:48 +0000 (23:59 -0400)
committerHypolite Petovan <hypolite@mrpetovan.com>
Sat, 17 Aug 2019 03:59:48 +0000 (23:59 -0400)
src/Model/Item.php

index f1983ddf22416d51f25d0344dad3b2627308f467..8ac88e96db30a9d00e8ca54d05442e1bab0dce93 100644 (file)
@@ -2881,13 +2881,20 @@ class Item extends BaseObject
                return ($recipients1 == $recipients2);
        }
 
-       // returns an array of contact-ids that are allowed to see this object
-       public static function enumeratePermissions(array $obj)
+       /**
+        * Returns an array of contact-ids that are allowed to see this object
+        *
+        * @param array $obj        Item array with at least uid, allow_cid, allow_gid, deny_cid and deny_gid
+        * @param bool  $check_dead Prunes unavailable contacts from the result
+        * @return array
+        * @throws \Exception
+        */
+       public static function enumeratePermissions(array $obj, bool $check_dead = false)
        {
                $allow_people = expand_acl($obj['allow_cid']);
-               $allow_groups = Group::expand($obj['uid'], expand_acl($obj['allow_gid']));
+               $allow_groups = Group::expand($obj['uid'], expand_acl($obj['allow_gid']), $check_dead);
                $deny_people  = expand_acl($obj['deny_cid']);
-               $deny_groups  = Group::expand($obj['uid'], expand_acl($obj['deny_gid']));
+               $deny_groups  = Group::expand($obj['uid'], expand_acl($obj['deny_gid']), $check_dead);
                $recipients   = array_unique(array_merge($allow_people, $allow_groups));
                $deny         = array_unique(array_merge($deny_people, $deny_groups));
                $recipients   = array_diff($recipients, $deny);