Guest User

Untitled

a guest
Apr 23rd, 2018
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.33 KB | None | 0 0
  1. drupal_to_js($var) {
  2.  
  3. switch (gettype($var)) {
  4. case 'boolean':
  5. return $var ? 'true' : 'false'; // Lowercase necessary!
  6. case 'integer':
  7. case 'double':
  8. return $var;
  9. case 'resource':
  10. case 'string':
  11. return '"' . str_replace(array("\r", "\n", "<", ">", "&"),
  12. array('\r', '\n', '\x3c', '\x3e', '\x26'),
  13. addslashes($var)) . '"';
  14. case 'array':
  15. // Arrays in JSON can't be associative. If the array is empty or if it
  16. // has sequential whole number keys starting with 0, it's not associative
  17. // so we can go ahead and convert it as an array.
  18. if (empty($var) || array_keys($var) === range(0, sizeof($var) - 1)) {
  19. $output = array();
  20. foreach ($var as $v) {
  21. $output[] = ny_drupal_to_js($v);
  22. }
  23. return '[ ' . implode(', ', $output) . ' ]';
  24. }
  25. // Otherwise, fall through to convert the array as an object.
  26. case 'object':
  27. $output = array();
  28. foreach ($var as $k => $v) {
  29. $output[] = ny_drupal_to_js(strval($k)) . ': ' . ny_drupal_to_js($v);
  30. }
  31. if (!$_GET[pp]) {
  32. return '{ ' . implode(', ', $output) . ' }';
  33. } else {
  34.  
  35. return '{ ' . implode(', ', $output) . ' }'."\n";
  36. }
  37. default:
  38. return 'null';
  39. }
  40. }
Add Comment
Please, Sign In to add comment