function itoggle_ajax_callback in iToggle 7.2
Same name and namespace in other branches
- 7 itoggle.module \itoggle_ajax_callback()
Page callback. iToggle widget AJAX callback.
See also
1 string reference to 'itoggle_ajax_callback'
- itoggle_menu in ./
itoggle.module - Implements hook_menu().
File
- ./
itoggle.pages.inc, line 13 - iToggle ajax functions.
Code
function itoggle_ajax_callback() {
// Extract values from POST.
$token = filter_input(INPUT_POST, 'token');
$type = filter_input(INPUT_POST, 'type');
$bundle = filter_input(INPUT_POST, 'bundle');
$property = filter_input(INPUT_POST, 'property');
$id = filter_input(INPUT_POST, 'id');
$value = filter_input(INPUT_POST, 'value');
$scope = filter_input(INPUT_POST, 'scope');
// Generate token key.
$token_key = "itoggle_{$type}_{$property}_{$id}";
// Route request.
if (!empty($token) && drupal_valid_token($token, $token_key)) {
switch ($scope) {
case 'entity':
$ok = _itoggle_ajax_toggle_entity($type, $property, $id, $value);
break;
case 'field':
$ok = _itoggle_ajax_toggle_field($type, $bundle, $property, $id, $value);
break;
// Should never really get here.
case 'field-edit':
$ok = TRUE;
break;
}
}
else {
// Let $ok be NULL so we know the difference between FALSE (error) and
// undefined (invalid token).
$ok = NULL;
}
drupal_json_output(array(
'ok' => $ok,
));
exit;
}