Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- drupal_to_js($var) {
- switch (gettype($var)) {
- case 'boolean':
- return $var ? 'true' : 'false'; // Lowercase necessary!
- case 'integer':
- case 'double':
- return $var;
- case 'resource':
- case 'string':
- return '"' . str_replace(array("\r", "\n", "<", ">", "&"),
- array('\r', '\n', '\x3c', '\x3e', '\x26'),
- addslashes($var)) . '"';
- case 'array':
- // Arrays in JSON can't be associative. If the array is empty or if it
- // has sequential whole number keys starting with 0, it's not associative
- // so we can go ahead and convert it as an array.
- if (empty($var) || array_keys($var) === range(0, sizeof($var) - 1)) {
- $output = array();
- foreach ($var as $v) {
- $output[] = ny_drupal_to_js($v);
- }
- return '[ ' . implode(', ', $output) . ' ]';
- }
- // Otherwise, fall through to convert the array as an object.
- case 'object':
- $output = array();
- foreach ($var as $k => $v) {
- $output[] = ny_drupal_to_js(strval($k)) . ': ' . ny_drupal_to_js($v);
- }
- if (!$_GET[pp]) {
- return '{ ' . implode(', ', $output) . ' }';
- } else {
- return '{ ' . implode(', ', $output) . ' }'."\n";
- }
- default:
- return 'null';
- }
- }
Add Comment
Please, Sign In to add comment