Changeset 722 in subversion for branches/devel-vnext/program/include/rcube_shared.inc
- Timestamp:
- Aug 28, 2007 9:02:22 PM (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/devel-vnext/program/include/rcube_shared.inc
r660 r722 31 31 32 32 33 /** 34 * @todo create class file 35 */ 33 36 34 37 … … 301 304 */ 302 305 function json_serialize($var) 303 { 304 if (is_object($var)) 305 $var = get_object_vars($var); 306 307 if (is_array($var)) 308 { 309 // empty array 310 if (!sizeof($var)) 311 return '[]'; 312 else 313 { 314 $keys_arr = array_keys($var); 315 $is_assoc = $have_numeric = 0; 316 317 for ($i=0; $i<sizeof($keys_arr); ++$i) 318 { 319 if (is_numeric($keys_arr[$i])) 320 $have_numeric = 1; 321 if (!is_numeric($keys_arr[$i]) || $keys_arr[$i] != $i) 322 $is_assoc = 1; 323 if ($is_assoc && $have_numeric) 324 break; 325 } 326 327 $brackets = $is_assoc ? '{}' : '[]'; 328 $pairs = array(); 329 330 foreach ($var as $key => $value) 331 { 332 // enclose key with quotes if it is not variable-name conform 333 if (!ereg("^[_a-zA-Z]{1}[_a-zA-Z0-9]*$", $key) /* || is_js_reserved_word($key) */) 334 $key = "'$key'"; 335 336 $pairs[] = sprintf("%s%s", $is_assoc ? "$key:" : '', json_serialize($value)); 337 } 338 339 return $brackets{0} . implode(',', $pairs) . $brackets{1}; 340 } 341 } 342 else if (is_numeric($var) && strval(intval($var)) === strval($var)) 343 return $var; 344 else if (is_bool($var)) 345 return $var ? '1' : '0'; 346 else 347 return "'" . rc_main::JQ($var) . "'"; 348 349 } 306 { 307 if (is_object($var)) { 308 $var = get_object_vars($var); 309 } 310 if (is_array($var)) { 311 // empty array 312 if (!sizeof($var)) { 313 return '[]'; 314 } 315 else { 316 $keys_arr = array_keys($var); 317 $is_assoc = $have_numeric = 0; 318 319 for ($i=0; $i<sizeof($keys_arr); ++$i) { 320 if (is_numeric($keys_arr[$i])) { 321 $have_numeric = 1; 322 } 323 if (!is_numeric($keys_arr[$i]) || $keys_arr[$i] != $i) { 324 $is_assoc = 1; 325 } 326 if ($is_assoc && $have_numeric) { 327 break; 328 } 329 } 330 331 $brackets = $is_assoc ? '{}' : '[]'; 332 $pairs = array(); 333 334 foreach ($var as $key => $value) { 335 // enclose key with quotes if it is not variable-name conform 336 if (!ereg("^[_a-zA-Z]{1}[_a-zA-Z0-9]*$", $key) /* || is_js_reserved_word($key) */) 337 $key = "'$key'"; 338 339 $pairs[] = sprintf("%s%s", $is_assoc ? "$key:" : '', json_serialize($value)); 340 } 341 return $brackets{0} . implode(',', $pairs) . $brackets{1}; 342 } 343 } 344 else if (is_numeric($var) && strval(intval($var)) === strval($var)) { 345 return $var; 346 } 347 else if (is_bool($var)) { 348 return $var ? '1' : '0'; 349 } 350 else { 351 return "'" . rc_main::JQ($var) . "'"; 352 } 353 } 350 354 351 355 /** … … 354 358 */ 355 359 function array2js($arr, $type='') 356 {357 return json_serialize($arr);358 }360 { 361 return json_serialize($arr); 362 } 359 363 360 364 … … 363 367 */ 364 368 function in_array_nocase($needle, $haystack) 365 { 366 foreach ($haystack as $value) 367 { 368 if (strtolower($needle)===strtolower($value)) 369 return TRUE; 370 } 371 372 return FALSE; 373 } 369 { 370 foreach ($haystack as $value) { 371 if (strtolower($needle)===strtolower($value)) { 372 return TRUE; 373 } 374 } 375 return FALSE; 376 } 374 377 375 378 … … 378 381 */ 379 382 function get_boolean($str) 380 { 381 $str = strtolower($str); 382 if(in_array($str, array('false', '0', 'no', 'nein', ''), TRUE)) 383 return FALSE; 384 else 385 return TRUE; 386 } 383 { 384 $str = strtolower($str); 385 if(in_array($str, array('false', '0', 'no', 'nein', ''), TRUE)) { 386 return FALSE; 387 } 388 else { 389 return TRUE; 390 } 391 } 387 392 388 393
Note: See TracChangeset
for help on using the changeset viewer.
