1. PHP / Говнокод #9946

    +149

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    $USER_ID = $_GET['user_id']; 
          $API_METHOD = $_GET['method']; 
          
          $Errors = array('Error#001' => 'Undefined data in request!');
          
          switch($API_METHOD)
          {
            case 'get_user_name_by_id':
              echo EncodeJSON(UserAPI::GetUserNameByID($USER_ID));
              break;  
              
            case 'get_user_status_by_id':
              echo EncodeJSON(UserAPI::GetUserStatusByID($USER_ID));
              break;
                
            default:
              echo $Errors['Error#001'];
              break; 
          }
            class UserAPI //test
            {
               function GetUserNameByID($ID)
               {
                  $SqlQuery = mysql_query("SELECT displayname FROM engine4_users WHERE user_id='$ID'");
                  $Response = mysql_fetch_array($SqlQuery);
                  $Result = array('UserName'=>$Response['displayname']);
                  return $Result;
               }
               
               function GetUserStatusByID($ID)
               {
                  $SqlQuery = mysql_query("SELECT status FROM engine4_users WHERE user_id='$ID'");
                  $Response = mysql_fetch_array($SqlQuery);
                  $Result = array('UserStatus'=>$Response['status']);
                  return $Result; 
               }
            }
            
            function EncodeJSON($arr) {
            $parts = array();
            $is_list = false;
            
            if (!is_array($arr)) return;
            if (count($arr)<1) return '{}';
            $keys = array_keys($arr);
            $max_length = count($arr); 
                    
            if(($keys[0] == 0) and ($keys[$max_length] == $max_length)) {
                $is_list = true;
                for($i=0; $i<count($keys); $i++) { 
                    if($i != $keys[$i]) { 
                        $is_list = false; 
                        break;
                    }
                }
            }
            foreach($arr as $key=>$value) {
                if(is_array($value)) { 
                    if($is_list) $parts[] = array2json($value);
                    else $parts[] = '"' . $key . '":' . array2json($value);
                } else {
                    $str = '';
                    if(!$is_list) $str = '"' . $key . '":';
                    if(is_numeric($value)) $str .= $value; 
                    elseif($value === false) $str .= 'false'; 
                    elseif($value === true) $str .= 'true';
                    else $str .= '"' . addslashes($value) . '"';
                    $parts[] = $str;
                }
            }
            $json = implode(',',$parts);
            if($is_list) return '[' . $json . ']';
            return '{' . $json . '}';
        }

    Удивительное рядом.

    Запостил: Govnisti_Diavol, 14 Апреля 2012

    Комментарии (5) RSS

    • длиннота
      Ответить
    • [irony]погодите, ща смешное будет...[/irony]
      Ответить
    • Напоминает мои первые поделки... Вместо полезть в гугл и найти json_encode изобретаем свой велосипед. :)
      Ответить
      • интересно, а если бы он вместо EncodeJSON так и назвал бы json_encode, сколько бы он трахался с фаталом?
        Ответить
    • - Не знаю, вот пытаюсь отвлечься, а тут ты меня тискаешь, у меня все мысли спутались. А тут эти пацаны - вот разболтают в деревне - чем мы тут занимались.
      Ответить

    Добавить комментарий