filters: add option to log a message body in ip notes
This commit is contained in:
parent
8d0f1bf4ad
commit
29e71fa3ee
@ -9,6 +9,7 @@ defined('TINYBOARD') or exit;
|
|||||||
class Filter {
|
class Filter {
|
||||||
public $flood_check;
|
public $flood_check;
|
||||||
private $condition;
|
private $condition;
|
||||||
|
private $post;
|
||||||
|
|
||||||
public function __construct(array $arr) {
|
public function __construct(array $arr) {
|
||||||
foreach ($arr as $key => $value)
|
foreach ($arr as $key => $value)
|
||||||
@ -18,6 +19,8 @@ class Filter {
|
|||||||
public function match(array $post, $condition, $match) {
|
public function match(array $post, $condition, $match) {
|
||||||
$condition = strtolower($condition);
|
$condition = strtolower($condition);
|
||||||
|
|
||||||
|
$this->post = $post;
|
||||||
|
|
||||||
switch($condition) {
|
switch($condition) {
|
||||||
case 'custom':
|
case 'custom':
|
||||||
if (!is_callable($match))
|
if (!is_callable($match))
|
||||||
@ -125,9 +128,19 @@ class Filter {
|
|||||||
$this->expires = isset($this->expires) ? $this->expires : false;
|
$this->expires = isset($this->expires) ? $this->expires : false;
|
||||||
$this->reject = isset($this->reject) ? $this->reject : true;
|
$this->reject = isset($this->reject) ? $this->reject : true;
|
||||||
$this->all_boards = isset($this->all_boards) ? $this->all_boards : false;
|
$this->all_boards = isset($this->all_boards) ? $this->all_boards : false;
|
||||||
|
$this->add_note = isset($this->add_note) ? $this->add_note : false;
|
||||||
|
|
||||||
Bans::new_ban($_SERVER['REMOTE_ADDR'], $this->reason, $this->expires, $this->all_boards ? false : $board['uri'], -1);
|
Bans::new_ban($_SERVER['REMOTE_ADDR'], $this->reason, $this->expires, $this->all_boards ? false : $board['uri'], -1);
|
||||||
|
|
||||||
|
if ($this->add_note) {
|
||||||
|
$query = prepare('INSERT INTO ``ip_notes`` VALUES (NULL, :ip, :mod, :time, :body)');
|
||||||
|
$query->bindValue(':ip', $_SERVER['REMOTE_ADDR']);
|
||||||
|
$query->bindValue(':mod', -1);
|
||||||
|
$query->bindValue(':time', time());
|
||||||
|
$query->bindValue(':body', "Autoban message: ".$this->post['body']);
|
||||||
|
$query->execute() or error(db_error($query));
|
||||||
|
}
|
||||||
|
|
||||||
if ($this->reject) {
|
if ($this->reject) {
|
||||||
if (isset($this->message))
|
if (isset($this->message))
|
||||||
error($message);
|
error($message);
|
||||||
|
Loading…
Reference in New Issue
Block a user