Don't auto-silence other users by IP by default
This commit is contained in:
parent
ba51a696d2
commit
b4dc060d75
@ -60,6 +60,14 @@ class RegisterThrottlePlugin extends Plugin
|
|||||||
*/
|
*/
|
||||||
public $silenced = true;
|
public $silenced = true;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Auto-silence all other users from the same registration_ip
|
||||||
|
* as the one being silenced. Caution: Many users may come from
|
||||||
|
* the same IP (even entire countries) without having any sort
|
||||||
|
* of relevant connection for moderation.
|
||||||
|
*/
|
||||||
|
public $auto_silence_by_ip = false;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Whether we're enabled; prevents recursion.
|
* Whether we're enabled; prevents recursion.
|
||||||
*/
|
*/
|
||||||
@ -300,15 +308,15 @@ class RegisterThrottlePlugin extends Plugin
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($role != Profile_role::SILENCED) {
|
if ($role !== Profile_role::SILENCED) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!$this->silenced) {
|
if (!$this->auto_silence_by_ip) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
$ri = Registration_ip::getKV('user_id', $profile->id);
|
$ri = Registration_ip::getKV('user_id', $profile->getID());
|
||||||
|
|
||||||
if (empty($ri)) {
|
if (empty($ri)) {
|
||||||
return true;
|
return true;
|
||||||
@ -317,13 +325,13 @@ class RegisterThrottlePlugin extends Plugin
|
|||||||
$ids = Registration_ip::usersByIP($ri->ipaddress);
|
$ids = Registration_ip::usersByIP($ri->ipaddress);
|
||||||
|
|
||||||
foreach ($ids as $id) {
|
foreach ($ids as $id) {
|
||||||
if ($id == $profile->id) {
|
if ($id == $profile->getID()) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
$other = Profile::getKV('id', $id);
|
try {
|
||||||
|
$other = Profile::getByID($id);
|
||||||
if (empty($other)) {
|
} catch (NoResultException $e) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -331,6 +339,11 @@ class RegisterThrottlePlugin extends Plugin
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 'enabled' here is used to prevent recursion, since
|
||||||
|
// we'll end up in this function again on ->silence()
|
||||||
|
// though I actually think it doesn't matter since we
|
||||||
|
// do this in onEndGrantRole and that means the above
|
||||||
|
// $other->isSilenced() test should've 'continue'd...
|
||||||
$old = self::$enabled;
|
$old = self::$enabled;
|
||||||
self::$enabled = false;
|
self::$enabled = false;
|
||||||
$other->silence();
|
$other->silence();
|
||||||
|
Loading…
Reference in New Issue
Block a user