public function __call($name, $arguments)
{
// allow hook to hijack magic methods
$column = elgg_trigger_plugin_hook('table_columns:call', $name, ['arguments' => $arguments]);
if ($column instanceof TableColumn) {
return $column;
}
if (elgg_language_key_exists("table_columns:fromView:{$name}")) {
array_unshift($arguments, $name);
return call_user_func_array([$this, 'fromView'], $arguments);
}
if (elgg_language_key_exists("table_columns:fromProperty:{$name}")) {
array_unshift($arguments, $name);
return call_user_func_array([$this, 'fromProperty'], $arguments);
}
if (elgg_language_key_exists("table_columns:fromMethod:{$name}")) {
array_unshift($arguments, $name);
return call_user_func_array([$this, 'fromMethod'], $arguments);
}
// empty column and error
_elgg_services()->logger->error(__CLASS__ . ": No method defined '{$name}'");
return new CallableColumn([Values::class, 'getNull'], '');
}