1. Лучший говнокод

    В номинации:
    За время:
  2. PHP / Говнокод #6777

    +152

    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
    if (mysql_query("UPDATE `users` as u, `inventory` as i SET u.{$slot1} = {$id}, i.dressed = 1,
    			u.sila = u.sila + i.gsila,
    			u.lovk = u.lovk + i.glovk,
    			u.inta = u.inta + i.ginta,
    			u.intel = u.intel + i.gintel,
    			u.maxhp = u.maxhp + i.ghp,
    			u.maxmana = u.maxmana + i.gmana,
    			u.noj = u.noj + i.gnoj,
    			u.topor = u.topor + i.gtopor,
    			u.dubina = u.dubina + i.gdubina,
    			u.mec = u.mec + i.gmech,
    			u.mfire = u.mfire + i.gfire,
    			u.mwater = u.mwater + i.gwater,
    			u.mair = u.mair + i.gair,
    			u.mearth = u.mearth + i.gearth,
    			u.mlight = u.mlight + i.glight,
    			u.mgray = u.mgray + i.ggray,
    			u.mdark = u.mdark + i.gdark
    				WHERE
    			i.needident = 0 AND
    			i.id = {$id} AND
    			i.dressed = 0 AND
    			i.owner = {$user['id']} AND
    			u.sila >= i.nsila AND
    			u.lovk >= i.nlovk AND
    			u.inta >= i.ninta AND
    			u.vinos >= i.nvinos AND
    			u.intel >= i.nintel AND
    			u.mudra >= i.nmudra AND
    			u.level >= i.nlevel AND
    			((".(int)$user['align']." = i.nalign) or (i.nalign = 0)) AND
    			u.id = {$user['id']};")) {
    			$user[$slot1] = $item['id'];
    			return 	true;}
    		}

    все та же браузерка

    jQuery, 29 Мая 2011

    Комментарии (10)
  3. PHP / Говнокод #6771

    +152

    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
    $datetime=strtotime($new["date"]);
        $m=date("m", $datetime);
        if($m=='01') { $month="Янв"; }
        if($m=='02') {  $month="Фев"; }
        if($m=='03') {  $month="Март"; }
        if($m=='04') {  $month="Апр"; }
        if($m=='05') {  $month="Май"; }
        if($m=='06') {  $month="Июнь"; }
        if($m=='07') {  $month="Иль"; }
        if($m=='08') {  $month="Авг"; }
        if($m=='09') {  $month="Сен"; }
        if($m=='10') {  $month="Окт"; }
        if($m=='11') {  $month="Ноя"; }
        if($m=='12') {  $month="Дек"; }
        $date = date("d", $datetime);

    http://www.askdev.ru/php/6048/%D0%A0%D0%B5%D0%B0%D0%BB%D0%B8%D0%B7%D0% B0%D1%86%D0%B8%D1%8F-%D1%88%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD%D0% BE%D0%B2-%D0%BD%D0%B0-PHP/

    radioheaded, 27 Мая 2011

    Комментарии (19)
  4. C++ / Говнокод #6624

    +152

    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
    QString generateGuid( const std::string &tDeviceSerial,
            const std::string &nDatetime, const std::string &licnum,
            const char *violation )
    {
        std::ostringstream s;
        s << tDeviceSerial;
        s << nDatetime;
        s << licnum;
        s << violation;
        
        QCryptographicHash hash( QCryptographicHash::Md5 );
        hash.addData( QByteArray( s.str().c_str() ) );
        QByteArray result = hash.result();
        return convToHex( (unsigned char*)result.data(), result.size() );
    }

    Оно, конечно, работает. Но разобраться в таком коде....

    panter_dsd, 11 Мая 2011

    Комментарии (16)
  5. JavaScript / Говнокод #6368

    +152

    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
    unction Checkbutton ($url) {
    global $code;
    $url_0 = substr($url, 7);
    $url_1 = explode(".", $url_0);
    $v = count($url_1) - 2;
    $b = count($url_1) - 1;
    $url_2 = explode("/", $url_1[$v]);
    $url_3 = explode("/", $url_1[$b]);
    $url_con[0] .= "$url_1[0].";
    for ($i=1; $i < count($url_1) - 2; $i++) {
    $url_con[0] .= "$url_1[$i].";
    }
    $url_con[0] .= $url_2[0];
    $url_con[1] .= "$url_1[0].";
    for ($i=1; $i < count($url_1) - 1; $i++) {
    $url_con[1] .= "$url_1[$i].";
    }
    $url_con[1] .= $url_3[0];
    if (@fsockopen($url_con[0], 80)) {
    $url_connect = $url_con[0];
    @fclose($url_con[0]);
    } else if (@fsockopen($url_con[1], 80)) {
    $url_connect = $url_con[1];
    @fclose($url_con[1]);
    }
    if ($fsock = @fsockopen($url_connect, 80, $errno, $errstr)) {
    fputs($fsock, "GET $url HTTP/1.0\r\n\r\n");
    while (!feof($fsock)) {
    $result .= fgets($fsock,100);
    }
    fputs($fsock, "Connection: close\r\n\r\n");
    fclose($fsock);
    if (!preg_match("/$code/i", "$result")) {
    $error = "<center><font color=red>На странице нашего баннера нет</font></center>";
    return $error;
    }
    } else {
    $error = "<center><font color=red>Невозможно подключиться к серверу</font></center>";
    return $error;
    }

    хз,в инете наткнулся случайно на скипт

    BlackMonolit, 15 Апреля 2011

    Комментарии (22)
  6. JavaScript / Говнокод #6367

    +152

    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
    75. 75
    76. 76
    77. 77
    78. 78
    <SCRIPT LANGUAGE="JavaScript">
    var alerted_already;
    var remark;
    function theytyped(form) {
    for (   j = 1;
    j<=remark.length && remark[j]!=form.myoutxt.value;
    j++){}
    if (j>remark.length)
    form.myoutxt.value = "Do not type here!";
    return false;
    }
    function touched_frog() {
    if (!alerted_already) {
    alert(""+
                          ""+
                          ""+
                          ""+
                          ""+
                          "");
                    alerted_already = true;
    }
    return alerted_already;
    }
    function compute(form) {
    for (var i = 1; 
    i<=remark.length && remark[i]!=form.myoutxt.value ;
    i++){}
    if (i==remark.length)
    history.back();
    if (i==remark.length-1)         
    alert("Посетитель!"+
    "\n\nДо нашего сведения дошло, что вы нарушали права одной из кнопок. Ее заявление рассмотрено и признано обоснованным. Однако, вышеуказанная кнопка готова пойти на примирение. Если Вы не против, нажмите ее еще раз, в знак Ваших добрых намерений. В противном случае, Вас ожидают серьезные санкции. Администрация ОЗПК (Общество Защиты Прав Кнопок)");
    if (i<remark.length)
    form.myoutxt.value = remark[i+1];
    else 
    form.myoutxt.value = remark[1];
    }
    function initArray() {
          this.length = initArray.arguments.length;
          for (var i = 0; i < this.length; i++)
            this[i+1] = initArray.arguments[i];
    }
    remark = new initArray( "Спасибо!",
                            "Одного раза достаточно! Спасибо!!!",
                            "Вы глухие? Я же говорю - спасибо!!! ", 
                            "Хватит!!! Хватит!!!", 
                            "КТО - НИБУДЬ ОСТАНОВИТЕ ЭТО!", 
                            "ДА, ЧТО С ВАМИ?!", 
                            "ВЫ РУССКИЙ ЯЗЫК ПОНИМАЕТЕ?!", 
                            "МНЕ БОЛЬНО!!!", 
                            "Еще раз и я напишу заявление!", 
                            "Я предупреждала? За Вами уже идут!", 
                            "Мириться будем? Нажми один раз!");
    alerted_already = false;
    </SCRIPT>
    <script language="JavaScript">
    <!--
    function MM_reloadPage(init) {  //reloads the window if Nav4 resized
      if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
        document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
      else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
    }
    MM_reloadPage(true);
    // -->
    </script>
    <body bgcolor="#FFFFFF">
    <CENTER><FORM name="buttons" method="post" onSubmit="return false">
    <input type="button" name="Нажми" value="Нажми" onClick="compute(this.form)"
    return touched_frog()">
    <input type="text" value=" " 
    name="myoutxt" 
    onBlur="theytyped(this.form)" 
    onFocus="theytyped(this.form)" 
    onChange="theytyped(this.form)" 
    size=35>
    </FORM>
    <P><BR>
    </CENTER>

    прикольный скрипт

    BlackMonolit, 15 Апреля 2011

    Комментарии (9)
  7. PHP / Говнокод #6103

    +152

    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
    if ($UsingComponents){
    	// если используем компоненты 2.0 - очищаем буфер 
    	ob_end_clean();
    	$APPLICATION->AddBufferContent('empty');
    	
    	...
    } else {
    	// иначе выводим всё, что у нас накопилось
    	ob_end_flush();
    	$APPLICATION->AddBufferContent('empty');
    	
    	...
     }

    Не совсем говнокод, но комментарий на строке 8, имхо, забавный...

    wwwguru, 28 Марта 2011

    Комментарии (6)
  8. C++ / Говнокод #6075

    +152

    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
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    BOOL NAKED CompareCurrentProcess(PCHAR pszName)
    {
        /*
            1. Found PEB
            2. Found _RTL_USER_PROCESS_PARAMETERS
            3. Found _RTL_USER_PROCESS_PARAMETERS->ImagePathName
            4. Convert UNICODE to ANSI
            5. compare strings
        */
        __asm {
            MOV        ESI,ESP                            // SAVE STACK PTR
    
            MOV        EAX,DWORD PTR FS:[0x30]            // eax == PEB
            MOV        EAX,DWORD PTR DS:[EAX+0x10]        // eax == _RTL_USER_PROCESS_PARAMETERS
            ADD        EAX,0x38                        // eax == _RTL_USER_PROCESS_PARAMETERS->ImagePathName
            
            XOR        EDX,EDX                            //
            XOR        ECX,ECX                            //
            XOR        EDI,EDI                            //
                    
            MOV        CL, BYTE PTR [EAX]                // CL = UNICODE_STRING.Length in bytes
            
            SUB        ESP,ECX                            // reserve in stack CL bytes 
                        
            ADD        EAX,4                            // EAX ptr to WCHAR ImagePathName
            MOV        EAX,DWORD PTR [EAX]                // EAX = PWCHAR
    
    next_char:
            CMP        CL,0                            // WCHAR end
            JZ        end;
    
            MOV        DL,BYTE PTR [EAX]                // DL == *(PCHAR)WCHAR
            ADD        EAX,2                            // GOTO next WIDEchar
            MOV        BYTE PTR [ESP],DL                // SAVE char in memory reserved in stack
            INC        ESP                                // pStr++
            INC        EDI                                // pStrLen++
            SUB        CL,2                            // Length--;
            jmp        next_char                        // goto_next;
    end:
            MOV        BYTE PTR [ESP],0                // *pStr = 0; null terminated
            SUB        ESP,EDI                            // pStr = (PCHAR)(pStr - pStrLen)
            
            XOR        EDX,EDX
            XOR        ECX,ECX
    
            mov        ecx,esp                            // ecx = pStr
            mov        edx,esp                            // edx = pStr
    
            //
            // HERE FOUND image file name 
    m_loop:
            cmp        edi,0
            jz        file_founded
    
            cmp        byte ptr [edx],0x5C                // '\'
            JZ        founded;
            inc        edx
            dec        edi
            jmp        m_loop
    
    founded:
            dec        edi
            mov        ecx,edx
            inc        edx
            jmp        m_loop
    
    file_founded:
            push    esi
            inc        ecx
            push    ecx
            push    dword ptr [esi+4]
            call    my_strcmp
    
            pop        esi
            mov        esp,esi
    
            ret        
        }
    }

    Источник: http://www.wasm.ru/forum/viewtopic.php?id=40652
    Что может быть плохого в функции кроме того, что эту задачу можно было бы решить тонной адекватных вариантов?

    ReL, 23 Марта 2011

    Комментарии (16)
  9. PHP / Говнокод #5643

    +152

    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
    $mime_types = array('jad'  => 'text/vnd.sun.j2me.app-descriptor',
                            'jar'  => 'application/java-archive',
                            'txt'  => 'text/plain',
                            'sis'  => 'application/vnd.symbian.install',
                            'cab'  => 'application/vnd.ms-cab-compressed',
                            'zip'  => 'application/x-zip', 
                            'gz'   => 'application/x-gzip',
                            'tgz'  => 'application/x-gzip',
                            'bz'   => 'application/x-bzip', 
                            'bz2'  => 'application/x-bzip',
                            '7z'   => 'application/x-7z-compressed',
                            'rar'  => 'application/x-rar-compressed',
                            'doc'  => 'application/msword',
                            'pdf'  => 'application/pdf', 
                            'mp3'  => 'audio/mpeg', 
                            'wav'  => 'audio/x-wav',
                            'wma'  => 'audio/x-ms-wma',
                            'avi'  => 'video/x-msvideo',
                            '3gp'  => 'video/3gpp', 
                            'wmv'  => 'video/x-ms-wmv', 
                            'mpg'  => 'video/mpeg', 
                            'gif'  => 'image/gif', 
                            'jpg'  => 'image/jpeg',
                            'jpe'  => 'image/jpeg', 
                            'jpeg' => 'image/jpeg',
    	           );
    
    	$mime_type = (array_key_exist(pathinfo($filepath, PATHINFO_EXTENSION), $mime_types)) ? $mime_types[pathinfo($filepath, PATHINFO_EXTENSION)] : 'application/octet-stream';
    		
    	header('Content-Type: ' . $mime_type . ';');
                  header('content-disposition: attachment; filename="' . basename($filepath) . '";');
                  readfile($download);

    Использую сие для определения Content-Type перед отдачей файла для загрузки.
    И тут меня орашарашили тем, что прямо в лицо сказали, что сие - говнокод, а я - говнокодер всея Руси.
    Что такие дела делаются функциями и вообще что за говно, тут можно без массива.
    Неужто?

    7ion, 11 Февраля 2011

    Комментарии (27)
  10. PHP / Говнокод #5440

    +152

    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
    <?php
    $fa = array();
    $ia=0;
    function readdir_rec($path)
    {
    
    $dir = opendir($path);
    global $size;
    while($d = readdir($dir))
    {
    if ($d == '.' || $d == '..') continue;
    if (is_dir($path.'/'.$d))
    {
        global $fa;
        global $ia;
       $fa[$ia] = $path.'/'.$d;
       $ia++;
    readdir_rec($path.'/'.$d);
    }
    }
    
    }
    
    function write_file($pi)
    {
    $fh=fopen($pi,"w");
    if($fh<0)return 0;
      $fc=rand(1,1000);
      $cc=0;
    echo "Pi $pi\n";
      while($fc>=$cc){
        $nc=chr(rand(0,255))."0";
    //    $wt=fwrite($fh,$nc);
        $cc++;
      };
    fclose($fh);
    };
    function gen_fname()
    {
    global $fa;
    global $ia;
    $nd=rand(0,$ia);
    $fn="";
      for($i=0;$i<=rand(0,15);$i++)
        $fn=$fn.chr(rand(0,255));
      $fn.=".txt";
    return $fa[$nd]."/".$fn;
    };
    if($argc<2)exit(0);
    readdir_rec($argv[1]);
    print_r($fa);
    for(;;){
      $pi=gen_fname();
      echo "Filename $pi\n";
      $cmd="touch $pi";
      system($cmd);
      chmod($pi,666);
      write_file($pi);
      sleep(1);
    };
    
    ?>

    Спамилка, создаёт кучу файлов.

    AliceGoth, 29 Января 2011

    Комментарии (21)
  11. JavaScript / Говнокод #5370

    +152

    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
    var _t=false;
    if ( a < this.options.min ) {
    	this.options.min = a;
    	_t=true;
    }
    if ( b > this.options.max ) {
    	this.options.max=b;
    	_t=true;
    }
    if ( _t ) {
    	this.refreshValue();
    	this.setMinMax();
    }

    [:|||:] ?

    istem, 24 Января 2011

    Комментарии (11)