Ignore:
Timestamp:
Aug 28, 2007 9:02:22 PM (6 years ago)
Author:
till
Message:

+ added some comments
+ cs fixes

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/devel-vnext/program/include/rcube_shared.inc

    r660 r722  
    3131 
    3232 
     33/** 
     34 * @todo create class file 
     35 */ 
    3336 
    3437 
     
    301304 */ 
    302305function 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} 
    350354 
    351355/** 
     
    354358 */ 
    355359function array2js($arr, $type='') 
    356   { 
    357   return json_serialize($arr); 
    358   } 
     360{ 
     361    return json_serialize($arr); 
     362} 
    359363 
    360364 
     
    363367 */ 
    364368function 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} 
    374377 
    375378 
     
    378381 */ 
    379382function 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} 
    387392 
    388393 
Note: See TracChangeset for help on using the changeset viewer.