这个提交包含在:
WaitSpring 2024-04-17 16:53:15 +08:00
父节点 97c29672e7
当前提交 55a713bd1f
共有 1 个文件被更改,包括 42 次插入14 次删除

查看文件

@ -87,7 +87,7 @@ class PermissionsHook implements
{
// Mode2: confirmed by verification
$rnrsverified_mode2 =
$this->permissionManager->userHasRight($user, $this->config->get('RNRSConfirmedGroup'));
$this->userGroupManager->getUserGroups($user, $this->config->get('RNRSConfirmedGroup'));
if ($rnrsverified_mode2) {
return true;
@ -105,7 +105,7 @@ class PermissionsHook implements
{
// Mode3: in group(s) that exempted from verification
$rnrsverified_mode3 = (
$this->permissionManager->userHasRight($user, $this->config->get('RNRSExemptGroup')) ||
$this->userGroupManager->getUserGroups($user, $this->config->get('RNRSExemptGroup')) ||
in_array('rnrsverify-exempt', $this->permissionManager->getUserPermissions($user)) ||
in_array('bot', $this->permissionManager->getUserPermissions($user))
);
@ -127,6 +127,19 @@ class PermissionsHook implements
{
// Add Group
$this->userGroupManager->addUserToGroup($user, $added_group);
// // Add Add Log
// $oldGroups = $this->userGroupManager->getUserGroups($user); // previous groups
// $newGroups = array_merge($oldGroups, [$added_group]); // new groups
// $logEntry = new ManualLogEntry('rights', 'autopromote');
// $logEntry->setPerformer($user);
// $logEntry->setTarget($user->getUserPage());
// $logEntry->setParameters([
// '4::oldgroups' => $oldGroups,
// '5::newgroups' => $newGroups,
// ]);
// $logid = $logEntry->insert();
// $logEntry->publish($logid);
}
/**
@ -139,6 +152,21 @@ class PermissionsHook implements
{
// Remove Group
$this->userGroupManager->removeUserFromGroup($user, $removed_group);
// // Add Remove Log
// $oldGroups = $this->userGroupManager->getUserGroups($user); // previous groups
// $newGroups = array_intersect($oldGroups, [$removed_group]); // new groups
// if ($oldGroups !== $newGroups) {
// $logEntry = new ManualLogEntry('rights', 'autopromote');
// $logEntry->setPerformer($user);
// $logEntry->setTarget($user->getUserPage());
// $logEntry->setParameters([
// '4::oldgroups' => $oldGroups,
// '5::newgroups' => $newGroups,
// ]);
// $logid = $logEntry->insert();
// $logEntry->publish($logid);
// }
}
/**
@ -180,8 +208,8 @@ class PermissionsHook implements
if (
$rnrsverified_enabled_confirmed_group &&
$rnrsverified_enabled_exempt_group &&
in_array($this->config->get('RNRSConfirmedGroup'), $this->permissionManager->getUserPermissions($user)) &&
in_array($this->config->get('RNRSExemptGroup'), $this->permissionManager->getUserPermissions($user))
in_array($this->config->get('RNRSConfirmedGroup'), $this->userGroupManager->getUserGroups($user)) &&
in_array($this->config->get('RNRSExemptGroup'), $this->userGroupManager->getUserGroups($user))
) {
$this->removeGroup($user, $this->config->get('RNRSConfirmedGroup'));
}
@ -190,7 +218,7 @@ class PermissionsHook implements
// remove from exempted group
if (
$rnrsverified_enabled_exempt_group &&
in_array($this->config->get('RNRSExemptGroup'), $this->permissionManager->getUserPermissions($user))
in_array($this->config->get('RNRSExemptGroup'), $this->userGroupManager->getUserGroups($user))
) {
$this->removeGroup($user, $this->config->get('RNRSExemptGroup'));
}
@ -198,7 +226,7 @@ class PermissionsHook implements
// add to confirmed group
if (
$rnrsverified_enabled_confirmed_group &&
!in_array($this->config->get('RNRSConfirmedGroup'), $this->permissionManager->getUserPermissions($user))
!in_array($this->config->get('RNRSConfirmedGroup'), $this->userGroupManager->getUserGroups($user))
) {
$this->addGroup($user, $this->config->get('RNRSConfirmedGroup'));
}
@ -207,7 +235,7 @@ class PermissionsHook implements
// case 2: verified but not exempted
if (
$rnrsverified_enabled_confirmed_group &&
!in_array($this->config->get('RNRSConfirmedGroup'), $this->permissionManager->getUserPermissions($user))
!in_array($this->config->get('RNRSConfirmedGroup'), $this->userGroupManager->getUserGroups($user))
) {
// add to confirmed group
$this->addGroup($user, $this->config->get('RNRSConfirmedGroup'));
@ -219,7 +247,7 @@ class PermissionsHook implements
// case 3: exempted but not verified
if (
$rnrsverified_enabled_confirmed_group &&
in_array($this->config->get('RNRSConfirmedGroup'), $this->permissionManager->getUserPermissions($user))
in_array($this->config->get('RNRSConfirmedGroup'), $this->userGroupManager->getUserGroups($user))
) {
// remove from confirmed group
$this->removeGroup($user, $this->config->get('RNRSConfirmedGroup'));
@ -268,8 +296,8 @@ class PermissionsHook implements
if (
$rnrsverified_enabled_confirmed_group &&
$rnrsverified_enabled_exempt_group &&
in_array($this->config->get('RNRSConfirmedGroup'), $this->permissionManager->getUserPermissions($user)) &&
in_array($this->config->get('RNRSExemptGroup'), $this->permissionManager->getUserPermissions($user))
in_array($this->config->get('RNRSConfirmedGroup'), $this->userGroupManager->getUserGroups($user)) &&
in_array($this->config->get('RNRSExemptGroup'), $this->userGroupManager->getUserGroups($user))
) {
$this->removeGroup($user, $this->config->get('RNRSConfirmedGroup'));
}
@ -278,7 +306,7 @@ class PermissionsHook implements
// remove from exempted group
if (
$rnrsverified_enabled_exempt_group &&
in_array($this->config->get('RNRSExemptGroup'), $this->permissionManager->getUserPermissions($user))
in_array($this->config->get('RNRSExemptGroup'), $this->userGroupManager->getUserGroups($user))
) {
$this->removeGroup($user, $this->config->get('RNRSExemptGroup'));
}
@ -286,7 +314,7 @@ class PermissionsHook implements
// add to confirmed group
if (
$rnrsverified_enabled_confirmed_group &&
!in_array($this->config->get('RNRSConfirmedGroup'), $this->permissionManager->getUserPermissions($user))
!in_array($this->config->get('RNRSConfirmedGroup'), $this->userGroupManager->getUserGroups($user))
) {
$this->addGroup($user, $this->config->get('RNRSConfirmedGroup'));
}
@ -294,7 +322,7 @@ class PermissionsHook implements
// case 2: verified but not exempted
if (
$rnrsverified_enabled_confirmed_group &&
!in_array($this->config->get('RNRSConfirmedGroup'), $this->permissionManager->getUserPermissions($user))
!in_array($this->config->get('RNRSConfirmedGroup'), $this->userGroupManager->getUserGroups($user))
) {
// add to confirmed group
$this->addGroup($user, $this->config->get('RNRSConfirmedGroup'));
@ -305,7 +333,7 @@ class PermissionsHook implements
// case 3: exempted but not verified
if (
$rnrsverified_enabled_confirmed_group &&
in_array($this->config->get('RNRSConfirmedGroup'), $this->permissionManager->getUserPermissions($user))
in_array($this->config->get('RNRSConfirmedGroup'), $this->userGroupManager->getUserGroups($user))
) {
// remove from confirmed group
$this->removeGroup($user, $this->config->get('RNRSConfirmedGroup'));