public function whitelist($type, $name = null)
{
if (is_array($type)) {
foreach ($type as $_type => $name) {
if (is_string($name) && $name && isset($this->whitelist[$_type])) {
$this->whitelist[$_type][$name] = true;
} else {
if (isset($this->whitelist[$_type]) && is_array($name)) {
foreach ($name as $_name) {
if (is_string($_name) && $_name) {
$this->whitelist[$_type][$_name] = true;
}
}
}
}
}
} else {
if (isset($this->whitelist[$type]) && is_array($name)) {
foreach ($name as $_name) {
if (is_string($_name) && $_name) {
$this->whitelist[$type][$_name] = true;
}
}
} else {
if (is_string($name) && $name && isset($this->whitelist[$type])) {
$this->whitelist[$type][$name] = true;
}
}
}
return $this;
}