diff --git a/CHANGELOG.md b/CHANGELOG.md index 16740997..896d1b20 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ **Merged pull requests:** - Release v2.1.5-2023.09 🎉 +- Prevent infinity user adding into group [\#292](https://github.com/torrentpier/torrentpier-lts/pull/292) ([belomaxorka](https://github.com/belomaxorka)) - Maked configurable email visibility for everybody [\#291](https://github.com/torrentpier/torrentpier-lts/pull/291) ([belomaxorka](https://github.com/belomaxorka)) - Corrected translations in topic templates [\#289](https://github.com/torrentpier/torrentpier-lts/pull/289) ([belomaxorka](https://github.com/belomaxorka)) - ACP: Changed extensions sorting [\#288](https://github.com/torrentpier/torrentpier-lts/pull/288) ([belomaxorka](https://github.com/belomaxorka)) diff --git a/group.php b/group.php index d77e75aa..547098d4 100644 --- a/group.php +++ b/group.php @@ -268,6 +268,21 @@ else bb_die($lang['COULD_NOT_ADD_USER']); } + // Prevent adding moderator + if ($row['user_id'] == $group_moderator) + { + bb_die(sprintf($lang['USER_IS_MOD_GROUP'], profile_url($row))); + } + + // Prevent infinity user adding into group + if ($is_member = DB()->fetch_row("SELECT user_id FROM ". BB_USER_GROUP ." WHERE group_id = $group_id AND user_id = ". $row['user_id'] ." LIMIT 1")) + { + if ($is_member['user_id']) + { + bb_die(sprintf($lang['USER_IS_MEMBER_GROUP'], profile_url($row))); + } + } + add_user_into_group($group_id, $row['user_id']); if ($bb_cfg['group_send_email']) diff --git a/library/language/en/main.php b/library/language/en/main.php index 2e3a07c9..6ff972c4 100644 --- a/library/language/en/main.php +++ b/library/language/en/main.php @@ -716,7 +716,8 @@ $lang['GROUP_REQUEST'] = 'A request to join your group has been made.'; $lang['GROUP_APPROVED'] = 'Your request has been approved.'; $lang['GROUP_ADDED'] = 'You have been added to this usergroup.'; $lang['ALREADY_MEMBER_GROUP'] = 'You are already a member of this group'; -$lang['USER_IS_MEMBER_GROUP'] = 'User is already a member of this group'; +$lang['USER_IS_MEMBER_GROUP'] = '%s is already a member of this group'; +$lang['USER_IS_MOD_GROUP'] = '%s is a moderator of this group'; $lang['GROUP_TYPE_UPDATED'] = 'Successfully updated group type.'; $lang['EFFECTIVE_DATE'] = 'Effective Date'; diff --git a/library/language/ru/main.php b/library/language/ru/main.php index c49d5c66..55a83fca 100644 --- a/library/language/ru/main.php +++ b/library/language/ru/main.php @@ -716,7 +716,8 @@ $lang['GROUP_REQUEST'] = 'Было подана просьба о вступле $lang['GROUP_APPROVED'] = 'Ваша просьба была удовлетворена.'; $lang['GROUP_ADDED'] = 'Вы были включены в группу'; $lang['ALREADY_MEMBER_GROUP'] = 'Вы уже являетесь членом этой группы'; -$lang['USER_IS_MEMBER_GROUP'] = 'Пользователь уже является членом этой группы'; +$lang['USER_IS_MEMBER_GROUP'] = 'Пользователь %s уже является членом этой группы'; +$lang['USER_IS_MOD_GROUP'] = 'Пользователь %s является модератором этой группы'; $lang['GROUP_TYPE_UPDATED'] = 'Тип группы успешно изменен'; $lang['EFFECTIVE_DATE'] = 'Дата вступления'; diff --git a/library/language/uk/main.php b/library/language/uk/main.php index 288b64aa..4357e321 100644 --- a/library/language/uk/main.php +++ b/library/language/uk/main.php @@ -716,7 +716,8 @@ $lang['GROUP_REQUEST'] = 'Було подано прохання про всту $lang['GROUP_APPROVED'] = 'Ваша прохання було задоволено.'; $lang['GROUP_ADDED'] = 'Ви були включені в групу'; $lang['ALREADY_MEMBER_GROUP'] = 'Ви вже є членом цієї групи'; -$lang['USER_IS_MEMBER_GROUP'] = 'Користувач вже є членом цієї групи'; +$lang['USER_IS_MEMBER_GROUP'] = 'Користувач %s вже є членом цієї групи'; +$lang['USER_IS_MOD_GROUP'] = 'Користувач % є модератором цієї групи'; $lang['GROUP_TYPE_UPDATED'] = 'Тип групи успішно змінено'; $lang['EFFECTIVE_DATE'] = 'Дата набрання';