if (isset($metadata['on_change'])) {
foreach ($metadata['on_change'] as $callback) {
- call_user_func($callback, unserialize($dao->value), $value, $metadata);
+ call_user_func(
+ Civi\Core\Resolver::singleton()->get($callback),
+ unserialize($dao->value),
+ $value,
+ $metadata
+ );
}
}
return TRUE;
}
else {
- list($class, $fn) = explode('::', $fieldSpec['validate_callback']);
- if (!$class::$fn($value, $fieldSpec)) {
+ $cb = Civi\Core\Resolver::singleton()->get($fieldSpec['validate_callback']);
+ if (!call_user_func_array($cb, array(&$value, $fieldSpec))) {
throw new api_Exception("validation failed for {$fieldSpec['name']} = $value based on callback {$fieldSpec['validate_callback']}");
}
}