mirror of
https://code.castopod.org/adaures/castopod.git
synced 2024-09-27 20:21:59 +02:00
fix(contributors): add dash to prevent deleting permissions from other podcast
fixes #310
This commit is contained in:
parent
1dde11f8e4
commit
5d2a2d49c4
@ -139,7 +139,7 @@ if (! function_exists('get_podcast_group')) {
|
||||
function get_podcast_group(User $user, int $podcastId, bool $removePrefix = true): ?string
|
||||
{
|
||||
$podcastGroups = array_filter($user->getGroups() ?? [], static function ($group) use ($podcastId): bool {
|
||||
return str_starts_with($group, "podcast#{$podcastId}");
|
||||
return str_starts_with($group, "podcast#{$podcastId}-");
|
||||
});
|
||||
|
||||
if ($podcastGroups === []) {
|
||||
@ -155,7 +155,7 @@ if (! function_exists('get_podcast_group')) {
|
||||
}
|
||||
|
||||
if ($removePrefix) {
|
||||
// strip the `podcast#{id}.` prefix when returning group
|
||||
// strip the `podcast#{id}-` prefix when returning group
|
||||
return substr((string) $podcastGroup, strlen('podcast#' . $podcastId . '-'));
|
||||
}
|
||||
|
||||
|
@ -35,7 +35,7 @@ class UserModel extends ShieldUserModel
|
||||
{
|
||||
return $this->select('users.*')
|
||||
->join('auth_groups_users', 'users.id = auth_groups_users.user_id')
|
||||
->like('auth_groups_users.group', "podcast#{$podcastId}")
|
||||
->like('auth_groups_users.group', "podcast#{$podcastId}-")
|
||||
->findAll();
|
||||
}
|
||||
|
||||
@ -44,7 +44,7 @@ class UserModel extends ShieldUserModel
|
||||
return $this->select('users.*')
|
||||
->join('auth_groups_users', 'users.id = auth_groups_users.user_id')
|
||||
->where('users.id', $contributorId)
|
||||
->like('auth_groups_users.group', "podcast#{$podcastId}")
|
||||
->like('auth_groups_users.group', "podcast#{$podcastId}-")
|
||||
->first();
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user