You are here

function matrix_custom_calculation_callback in Matrix field 7.2

Same name and namespace in other branches
  1. 8.2 matrix.module \matrix_custom_calculation_callback()

Menu callback for matrix custom calculations

Return value

string.

1 string reference to 'matrix_custom_calculation_callback'
matrix_menu in ./matrix.module
Implementation of hook_menu()

File

./matrix.module, line 921

Code

function matrix_custom_calculation_callback() {
  $callback = $_POST['callback'];
  $data = explode(",", $_POST['data']);
  $functions = module_invoke_all('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;
}