DefaultController.php in Matrix field 8.2
File
src/DefaultController.php
View source
<?php
namespace Drupal\matrix;
class DefaultController extends ControllerBase {
public function matrix_custom_calculation_callback() {
$callback = $_POST['callback'];
$data = explode(",", $_POST['data']);
$functions = \Drupal::moduleHandler()
->invokeAll('matrix_functions');
if (!in_array($callback, array_keys($functions['calculation']))) {
drupal_json_output([
'error' => t('Calcuation callback function not available'),
]);
exit;
}
foreach ($data as $id => $d) {
$data[$id] = check_plain($d);
}
$result = call_user_func($callback, $data);
drupal_json_output([
'data' => check_plain($result),
]);
exit;
}
}