public function __get($name)
{
$fieldnames = array_merge(array_keys($this->fields), array('module', 'type', 'severity'));
$filter = false;
if (!in_array($name, $fieldnames) && strpos($name, '_') !== false) {
$field_matches = implode('|', $fieldnames);
if (preg_match('/^(' . $field_matches . ')_(.+)$/', $name, $matches)) {
list($junk, $name, $filter) = $matches;
}
}
switch ($name) {
case 'module':
$out = $this->get_event_module();
break;
case 'type':
$out = $this->get_event_type();
break;
case 'severity':
$out = $this->get_event_severity();
break;
default:
$out = parent::__get($name);
break;
}
$out = Plugins::filter("logentry_{$name}", $out, $this);
if ($filter) {
$out = Plugins::filter("logentry_{$name}_{$filter}", $out, $this);
}
return $out;
}