feat: custom words blocked (#190)

* Update config.php

* Update validator.php

* Update config.php
This commit is contained in:
Gabriel Pedro 2022-07-30 16:53:19 -04:00 committed by slawkens
parent 0788dc8848
commit 3c3ddc4578
2 changed files with 24 additions and 4 deletions

View File

@ -314,5 +314,13 @@ $config = array(
'date_timezone' => 'Europe/Berlin', // more info at http://php.net/manual/en/timezones.php
'footer_show_load_time' => true, // display load time of the page in the footer
'npc' => array()
'npc' => array(),
// character name blocked
'character_name_blocked' => array(
'prefix' => array(),
'names' => array(),
'words' => array(),
),
);

View File

@ -246,8 +246,12 @@ class Validator
global $db, $config;
$name_lower = strtolower($name);
$custom_first_words_blocked = [];
if (isset($config['character_name_blocked']['prefix']) && $config['character_name_blocked']['prefix']) {
$custom_first_words_blocked = $config['character_name_blocked']['prefix'];
}
$first_words_blocked = array('admin ', 'administrator ', 'gm ', 'cm ', 'god ','tutor ', "'", '-');
$first_words_blocked = array_merge($custom_first_words_blocked, array('admin ', 'administrator ', 'gm ', 'cm ', 'god ','tutor ', "'", '-'));
foreach($first_words_blocked as $word)
{
if($word == substr($name_lower, 0, strlen($word))) {
@ -282,7 +286,11 @@ class Validator
return false;
}
$names_blocked = array('admin', 'administrator', 'gm', 'cm', 'god', 'tutor');
$custom_names_blocked = [];
if (isset($config['character_name_blocked']['names']) && $config['character_name_blocked']['names']) {
$custom_names_blocked = $config['character_name_blocked']['names'];
}
$names_blocked = array_merge($custom_names_blocked, array('admin', 'administrator', 'gm', 'cm', 'god', 'tutor'));
foreach($names_blocked as $word)
{
if($word == $name_lower) {
@ -291,7 +299,11 @@ class Validator
}
}
$words_blocked = array('admin', 'administrator', 'gamemaster', 'game master', 'game-master', "game'master", '--', "''","' ", " '", '- ', ' -', "-'", "'-", 'fuck', 'sux', 'suck', 'noob', 'tutor');
$custom_words_blocked = [];
if (isset($config['character_name_blocked']['words']) && $config['character_name_blocked']['words']) {
$custom_words_blocked = $config['character_name_blocked']['words'];
}
$words_blocked = array_merge($custom_words_blocked, array('admin', 'administrator', 'gamemaster', 'game master', 'game-master', "game'master", '--', "''","' ", " '", '- ', ' -', "-'", "'-", 'fuck', 'sux', 'suck', 'noob', 'tutor'));
foreach($words_blocked as $word)
{
if(!(strpos($name_lower, $word) === false)) {