]> git.mxchange.org Git - friendica.git/commitdiff
Manually expand ACLs coming from non-permissionset tables
authorHypolite Petovan <hypolite@mrpetovan.com>
Thu, 21 Oct 2021 22:49:22 +0000 (18:49 -0400)
committerHypolite Petovan <hypolite@mrpetovan.com>
Thu, 21 Oct 2021 22:56:43 +0000 (18:56 -0400)
- Return early if parameter is empty in ACLFormatter->expand
- Address https://github.com/friendica/friendica/issues/10756#issuecomment-949049195

src/Module/PermissionTooltip.php
src/Util/ACLFormatter.php

index df82574e927ea6544254ecd6e46f07e2a9e0d433..7599c2f060bdffb13942c2c9c58de5b3ddd0d611 100644 (file)
@@ -5,8 +5,8 @@ namespace Friendica\Module;
 use Friendica\Core\Hook;
 use Friendica\Database\DBA;
 use Friendica\DI;
-use Friendica\Model\Item;
 use Friendica\Model\Group;
+use Friendica\Model\Item;
 use Friendica\Model\Post;
 use Friendica\Network\HTTPException;
 
@@ -32,6 +32,10 @@ class PermissionTooltip extends \Friendica\BaseModule
                } else {
                        $fields = ['uid', 'allow_cid', 'allow_gid', 'deny_cid', 'deny_gid'];
                        $model = DBA::selectFirst($type, $fields, $condition);
+                       $model['allow_cid'] = DI::aclFormatter()->expand($model['allow_cid']);
+                       $model['allow_gid'] = DI::aclFormatter()->expand($model['allow_gid']);
+                       $model['deny_cid']  = DI::aclFormatter()->expand($model['deny_cid']);
+                       $model['deny_gid']  = DI::aclFormatter()->expand($model['deny_gid']);
                }
 
                if (!DBA::isResult($model)) {
index 352c914bcf54222953eefaebd243003b71531d1f..03aded38544f2914c8f91dbaf992560c5887ee2f 100644 (file)
@@ -38,7 +38,7 @@ final class ACLFormatter
        public function expand(string $acl_string = null)
        {
                // In case there is no ID list, return empty array (=> no ACL set)
-               if (!isset($acl_string)) {
+               if (empty($acl_string)) {
                        return [];
                }