function matrix_custom_calculation_callback in Matrix field 8.2
Same name and namespace in other branches
- 7.2 matrix.module \matrix_custom_calculation_callback()
Menu callback for matrix custom calculations
Return value
string.
File
- ./
matrix.module, line 917 - Contains matrix.module.
Code
function matrix_custom_calculation_callback() {
$callback = $_POST['callback'];
$data = explode(",", $_POST['data']);
$functions = \Drupal::moduleHandler()
->invokeAll('matrix_functions');
//ensure the callback is allowed
if (!in_array($callback, array_keys($functions['calculation']))) {
drupal_json_output(array(
'error' => t('Calcuation callback function not available'),
));
exit;
}
//ensure the data is safe
foreach ($data as $id => $d) {
$data[$id] = check_plain($d);
}
$result = call_user_func($callback, $data);
drupal_json_output(array(
'data' => check_plain($result),
));
exit;
}