Manually expand ACLs coming from non-permissionset tables

- Return early if parameter is empty in ACLFormatter->expand
- Address https://github.com/friendica/friendica/issues/10756#issuecomment-949049195
This commit is contained in:
Hypolite Petovan 2021-10-21 18:49:22 -04:00
parent b6faa0878a
commit 096dacf0fd
2 changed files with 6 additions and 2 deletions

View 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)) {

View 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 [];
}