optimize logic

这个提交包含在:
WaitSpring 2024-04-17 16:04:25 +08:00
父节点 b1c1c5de32
当前提交 848723db6c
共有 1 个文件被更改,包括 25 次插入18 次删除

查看文件

@ -123,8 +123,12 @@ class PermissionsHook implements
*
* @return void
*/
private function addGroupLog($user, $added_group)
private function addGroup($user, $added_group)
{
// Add Group
$this->userGroupManager->addUserToGroup($user, $this->config->get('RNRSConfirmedGroup'));
// Add Add Log
$oldGroups = $this->userGroupManager->getUserGroups($user); // previous groups
$newGroups = array_merge($oldGroups, [$added_group]); // all groups
$logEntry = new ManualLogEntry('rights', 'autopromote');
@ -144,9 +148,12 @@ class PermissionsHook implements
*
* @return void
*/
private function removeGroupLog($user, $removed_group)
private function removeGroup($user, $removed_group)
{
// Remove Group
$oldGroups = $this->userGroupManager->getUserGroups($user); // previous groups
// Add Remove Log
$newGroups = [...$oldGroups]; // all groups
$key = array_search($removed_group, $newGroups);
if ($key !== false) {
@ -204,20 +211,20 @@ class PermissionsHook implements
$rnrsverified_enabled_confirmed_group && $rnrsverified_enabled_exempt_group &&
in_array($this->config->get('RNRSExemptGroup'), $this->permissionManager->getUserPermissions($user))
) {
// remove from exempted group
if (
$rnrsverified_enabled_exempt_group &&
in_array($this->config->get('RNRSExemptGroup'), $this->permissionManager->getUserPermissions($user))
) {
$this->userGroupManager->removeUserFromGroup($user, $this->config->get('RNRSExemptGroup'));
$this->removeGroupLog($user, $this->config->get('RNRSExemptGroup'));
$this->removeGroup($user, $this->config->get('RNRSExemptGroup'));
}
// add to confirmed group
if (
$rnrsverified_enabled_confirmed_group &&
!in_array($this->config->get('RNRSConfirmedGroup'), $this->permissionManager->getUserPermissions($user))
) {
$this->userGroupManager->addUserToGroup($user, $this->config->get('RNRSConfirmedGroup'));
$this->addGroupLog($user, $this->config->get('RNRSConfirmedGroup'));
$this->addGroup($user, $this->config->get('RNRSConfirmedGroup'));
}
}
return true;
@ -227,8 +234,8 @@ class PermissionsHook implements
$rnrsverified_enabled_confirmed_group &&
!in_array($this->config->get('RNRSConfirmedGroup'), $this->permissionManager->getUserPermissions($user))
) {
$this->userGroupManager->addUserToGroup($user, $this->config->get('RNRSConfirmedGroup'));
$this->addGroupLog($user, $this->config->get('RNRSConfirmedGroup'));
// add to confirmed group
$this->addGroup($user, $this->config->get('RNRSConfirmedGroup'));
}
return true;
} else if (
@ -239,8 +246,8 @@ class PermissionsHook implements
$rnrsverified_enabled_confirmed_group &&
in_array($this->config->get('RNRSConfirmedGroup'), $this->permissionManager->getUserPermissions($user))
) {
$this->userGroupManager->removeUserFromGroup($user, $this->config->get('RNRSConfirmedGroup'));
$this->removeGroupLog($user, $this->config->get('RNRSExemptGroup'));
// remove from confirmed group
$this->removeGroup($user, $this->config->get('RNRSConfirmedGroup'));
}
return true;
} else if (
@ -286,20 +293,20 @@ class PermissionsHook implements
$rnrsverified_enabled_confirmed_group && $rnrsverified_enabled_exempt_group &&
in_array($this->config->get('RNRSExemptGroup'), $this->permissionManager->getUserPermissions($user))
) {
// remove from exempted group
if (
$rnrsverified_enabled_exempt_group &&
in_array($this->config->get('RNRSExemptGroup'), $this->permissionManager->getUserPermissions($user))
) {
$this->userGroupManager->removeUserFromGroup($user, $this->config->get('RNRSExemptGroup'));
$this->removeGroupLog($user, $this->config->get('RNRSExemptGroup'));
$this->removeGroup($user, $this->config->get('RNRSExemptGroup'));
}
// add to confirmed group
if (
$rnrsverified_enabled_confirmed_group &&
!in_array($this->config->get('RNRSConfirmedGroup'), $this->permissionManager->getUserPermissions($user))
) {
$this->userGroupManager->addUserToGroup($user, $this->config->get('RNRSConfirmedGroup'));
$this->addGroupLog($user, $this->config->get('RNRSConfirmedGroup'));
$this->addGroup($user, $this->config->get('RNRSConfirmedGroup'));
}
}
} else if (($rnrsverified_mode1 || $rnrsverified_mode2) && !$rnrsverified_mode3) {
@ -308,8 +315,8 @@ class PermissionsHook implements
$rnrsverified_enabled_confirmed_group &&
!in_array($this->config->get('RNRSConfirmedGroup'), $this->permissionManager->getUserPermissions($user))
) {
$this->userGroupManager->addUserToGroup($user, $this->config->get('RNRSConfirmedGroup'));
$this->addGroupLog($user, $this->config->get('RNRSConfirmedGroup'));
// add to confirmed group
$this->addGroup($user, $this->config->get('RNRSConfirmedGroup'));
}
} else if (
!($rnrsverified_mode1 || $rnrsverified_mode2) && $rnrsverified_mode3
@ -319,8 +326,8 @@ class PermissionsHook implements
$rnrsverified_enabled_confirmed_group &&
in_array($this->config->get('RNRSConfirmedGroup'), $this->permissionManager->getUserPermissions($user))
) {
$this->userGroupManager->removeUserFromGroup($user, $this->config->get('RNRSConfirmedGroup'));
$this->removeGroupLog($user, $this->config->get('RNRSExemptGroup'));
// remove from confirmed group
$this->removeGroup($user, $this->config->get('RNRSConfirmedGroup'));
}
}