Fix #971. Add lowercase checking of Config.

This commit is contained in:
Michael Yoo 2013-12-14 16:06:28 +10:30
parent e2298d861c
commit 01e9ca7852
2 changed files with 33 additions and 8 deletions

View File

@ -21,9 +21,16 @@
class BanAPI{
private $server;
/*
* I would use PHPDoc Template here but PHPStorm does not recognise it. - @sekjun9878
*/
/** @var Config */
private $whitelist;
/** @var Config */
private $banned;
/** @var Config */
private $ops;
/** @var Config */
private $bannedIPs;
private $cmdWL = array();//Command WhiteList
function __construct(){
@ -349,10 +356,13 @@ class BanAPI{
public function isIPBanned($ip){
if($this->server->api->dhandle("api.ban.ip.check", $ip) === false){
return true;
}elseif($this->bannedIPs->exists($ip)){
}elseif($this->bannedIPs->exists($ip, true)){
return true;
}
return false;
else
{
return false;
}
}
/**
@ -364,10 +374,13 @@ class BanAPI{
$username = strtolower($username);
if($this->server->api->dhandle("api.ban.check", $username) === false){
return true;
}elseif($this->banned->exists($username)){
}elseif($this->banned->exists($username, true)){
return true;
}
return false;
else
{
return false;
}
}
/**
@ -381,7 +394,7 @@ class BanAPI{
return true;
}elseif($this->server->api->dhandle("api.ban.whitelist.check", $username) === false){
return true;
}elseif($this->whitelist->exists($username)){
}elseif($this->whitelist->exists($username, true)){
return true;
}
return false;

View File

@ -181,9 +181,21 @@ class Config{
public function setAll($v){
$this->config = $v;
}
public function exists($k){
return isset($this->config[$k]);
/**
* @param mixed $k
* @param bool $lowercase If set, searches Config in single-case / lowercase.
*
* @return boolean
*/
public function exists($k, $lowercase = false){
if($lowercase === true)://Take this ridiculously retarded IF formatting! - @sekjun98888877777778888888888888
$k = strtolower($k);//Convert requested key to lower
$array = array_change_key_case($this->config, CASE_LOWER);//Change all keys in array to lower
return isset($array[$k]);//Find $k in modified array
else:
return isset($this->config[$k]);
endif;
}
public function remove($k){