optimize logic
这个提交包含在:
父节点
7e064b5354
当前提交
0729dee56f
|
@ -85,11 +85,9 @@ class PermissionsHook implements
|
|||
*/
|
||||
private function checkUserRights(UserIdentity $user)
|
||||
{
|
||||
// Mode2: has right to exempt from verification
|
||||
$rnrsverified_mode2 = (
|
||||
$this->permissionManager->userHasRight($user, $this->config->get('RNRSConfirmedGroup')) ||
|
||||
$this->permissionManager->userHasRight($user, $this->config->get('RNRSExemptGroup'))
|
||||
);
|
||||
// Mode2: confirmed by verification
|
||||
$rnrsverified_mode2 =
|
||||
$this->permissionManager->userHasRight($user, $this->config->get('RNRSConfirmedGroup'));
|
||||
|
||||
if ($rnrsverified_mode2) {
|
||||
return true;
|
||||
|
@ -107,7 +105,8 @@ class PermissionsHook implements
|
|||
{
|
||||
// Mode3: in group(s) that exempted from verification
|
||||
$rnrsverified_mode3 = (
|
||||
in_array($this->config->get('RNRSExemptGroup'), $this->permissionManager->getUserPermissions($user)) ||
|
||||
$this->permissionManager->userHasRight($user, $this->config->get('RNRSExemptGroup')) ||
|
||||
in_array('rnrsverify-exempt', $this->permissionManager->getUserPermissions($user)) ||
|
||||
in_array('bot', $this->permissionManager->getUserPermissions($user))
|
||||
);
|
||||
|
||||
|
@ -126,7 +125,7 @@ class PermissionsHook implements
|
|||
*/
|
||||
private function addGroupLog($user, $added_group)
|
||||
{
|
||||
$oldGroups = $this->permissionManager->getAllPermissions($user); // previous groups
|
||||
$oldGroups = $this->userGroupManager->getUserGroups($user); // previous groups
|
||||
$newGroups = array_merge($oldGroups, [$added_group]); // all groups
|
||||
$logEntry = new ManualLogEntry('rights', 'autopromote');
|
||||
$logEntry->setPerformer($user);
|
||||
|
@ -147,17 +146,23 @@ class PermissionsHook implements
|
|||
*/
|
||||
private function removeGroupLog($user, $removed_group)
|
||||
{
|
||||
$oldGroups = $this->permissionManager->getAllPermissions($user); // previous groups
|
||||
$newGroups = array_intersect($oldGroups, [$removed_group]); // all 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);
|
||||
$oldGroups = $this->userGroupManager->getUserGroups($user); // previous groups
|
||||
$newGroups = [...$oldGroups]; // all groups
|
||||
$key = array_search($removed_group, $newGroups);
|
||||
if ($key !== false) {
|
||||
array_splice($newGroups, $key, 1);
|
||||
}
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
正在加载...
在新工单中引用