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

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

    +81.4

    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
    /**
         * Метод определения валюты.
         * Черная магия и костыль.
         */
        private int getCurrencyId(int branch, int currency) {
            int result = 0;
            //branch_id in (4, 5, 11, 20, 26, 60, 61) - наши фирмы
            if (branch == 4 || branch == 5 || branch == 11 || branch == 20 ||
                branch == 26 || branch == 60 || branch == 61) {
                result = 1;
            } else {
                switch (currency) {
                    case 1: {//доллары
                        result = 2;
                        break;
                    }
                    case 2: {//йены
                        result = 3;
                        break;
                    }
                    case 3: {//евро
                        result = 4;
                        break;
                    }
                    case 4: {//рубли
                        result = 1;
                        break;
                    }
                }
            }
            return result;
        }

    zlob.jc, 27 Ноября 2009

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

    +155.6

    1. 1
    mpqw("INSERT INTO {$GLOBALS['conf']['db']['prefix']}chat_mess SET uid = (SELECT cu.id FROM {$GLOBALS['conf']['db'] 'prefix']}chat_user as cu WHERE cu.uid = {$GLOBALS['conf']['user']['uid']} AND cu.sess = '{$GLOBALS['conf']['user']['sess']}'), time = ".time().", mess = '".htmlspecialchars($_POST['mess'])."'");

    А еще там такие вот запросы
    разумеется в одну строчку и экранируется очень хорошо htmlspecialchars

    ivan.borzenkov, 27 Ноября 2009

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

    +157.5

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    if($conf['settings']['del_sess']){
    	$func = create_function('&$val, $key','$val = strtr(stripslashes($val), array("\\\\"=>"\", \'"\'=>""", "\'"=>"'"));');
    	array_walk ($get = $_GET, $func);
    	$post = $_POST;
    	if (isset($post['pass'])) $post['pass'] = 'hide';
    	if (isset($post['pass2'])) $post['pass2'] = 'hide';
    	array_walk ($post, $func);
    	array_walk ($files = $_FILES, $func);
    	array_walk ($server = $_SERVER, $func);
    	$request = serialize(array('$_POST'=>$post, '$_GET'=>$get, '$_FILES'=>$files, '$_SERVER'=>$server));
    }

    Вот так вот борются с magic_quotes

    ivan.borzenkov, 26 Ноября 2009

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

    +147.2

    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
    <? global $USER; $user_id = $USER->GetID(); ?>
            
            <?foreach($arResult["ITEMS"] as $arItem):?>
                <?if (intval($arItem['PROPERTIES']['PRIORITY_PLACEMENT']['VALUE_ENUM_ID']) > 0) $prior = true; else $prior = false; ?>
                <tr class="body_orders_list<?=(($prior)?' prior':'')?><?=$arItem['ACTIVE'] == 'Y'?'':' order-bad'?>">
                    <td class="name">
                        <a class="name" href="<?=$arItem["DETAIL_PAGE_URL"];?>"><?=$arItem["NAME"];?></a>
                        <div class="description"><?=truncate($arItem["DETAIL_TEXT"], 90, "...");?></div>
                        <strong><?=GetMessage("TYPE_WORK");?>:</strong> <?=$arItem["DISPLAY_PROPERTIES"]["TYPE_OF_WORK"]["DISPLAY_VALUE"];?><br />
                        <strong><?=GetMessage("SPECIALIZATION");?>:</strong> <?=$arItem["DISPLAY_PROPERTIES"]["EXPERTISE"]["DISPLAY_VALUE"];?><br />
                        <strong><?=GetMessage("CITY");?>:</strong> <?=$arItem["DISPLAY_PROPERTIES"]["CITY"]["DISPLAY_VALUE"];?><br />
                    <? if ($arItem["CREATED_BY"] == $user_id): ?>
                        <?if($arItem['ACTIVE'] == 'Y'):?>
                        <a id="element<?=$arItem['ID']?>" onclick="if(confirm('Вы уверены, что хотите снять с размещения заказ, без возможности восстановления?')){ deactivate_element(<?=$arItem['ID']?>); } return false;" href="#">Снять с размещения</a><br />
                        <a class="add_offer" href="#"><?=GetMessage("EDIT_ORDER");?></a><br /><br />
                        <a href="/services/priority.php?ord=<?=$arItem['ID']?>">Платное размещение</a>
                        <?else: echo showError('Заказ снят с размещения.'); endif;?>
                    <? else: ?>
                        <a class="add_offer" href="<?=$arItem["DETAIL_PAGE_URL"];?>"><?=GetMessage("ADD_PROPOSAL");?></a>
                    <? endif; ?>
                    </td>
                    <td class="date_create"><?=substr($arItem["DATE_CREATE"], 0, 10);?></td>
                    <td class="budget"><?=$arItem["DISPLAY_PROPERTIES"]["BUDGET"]["DISPLAY_VALUE"];?> <?=(strlen($arItem["DISPLAY_PROPERTIES"]["BUDGET"]["DISPLAY_VALUE"]) > 0)?'руб.':'';?></td>
                    <td class="offers"><a class="blue" href="<?=$arItem["DETAIL_PAGE_URL"];?>"><?=(strlen($arItem["PROPERTIES"]["FORUM_MESSAGE_CNT"]["VALUE"]) > 0 ? $arItem["PROPERTIES"]["FORUM_MESSAGE_CNT"]["VALUE"] : "0");?></a></td>
                    <td class="employer">
                    </td>
                </tr>
            <?endforeach;?>

    в продолжение говна номер 2120

    y6uTbIu_CMEXOM, 12 Ноября 2009

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

    +150.2

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    <?php 
    
    ...
    
    $markers = array("~");
    $newcode  = array("<br>");
    $output = str_replace($markers, $newcode, $source);
    
    ...
    
    ?>

    А вот так канадские кодеры заменяют функцию nl2br() в textarea
    =)

    Senya, 11 Ноября 2009

    Комментарии (3)
  7. C# / Говнокод #2127

    +131.2

    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
    public static DataTable DeserilazeDataTable(string schema, string data)
            {
                DataTable tbl = new DataTable();
                if (!string.IsNullOrEmpty(schema))
                    using (Stream stream = new MemoryStream())
                    {
                        byte[] bufer = GetBytes(schema);
    
                        stream.Write(bufer, 0, bufer.Length);
                        stream.Position = 0;
                        tbl.ReadXmlSchema(stream);
                    }
    
                if (!string.IsNullOrEmpty(data))
                    using (Stream stream = new MemoryStream())
                    {
                        byte[] bufer = GetBytes(data);
    
                        stream.Write(bufer, 0, bufer.Length);
                        stream.Position = 0;
                        tbl.ReadXml(stream);
                    }
    
                return tbl;
            }
    
     public static byte[] GetBytes(string str)
            {
                if (string.IsNullOrEmpty(str))
                    return new byte[0];
    
                char[] ch = str.ToCharArray();
                byte[] bufer = new byte[ch.Length];
                for (int i = 0; i < ch.Length; i++)
                    bufer[i] = (byte)ch[i];
    
                return bufer;
            }
    //также имеются методы для сериализации, работающие также
    public static string SerilazeDataTable(DataTable table)
    public static string SerilazeDataTableShame(DataTable table)
    public static string GetString(byte[] bufer)

    Вот такой десериализатор таблицы в Xml нашел в проэкте.

    sven47, 11 Ноября 2009

    Комментарии (3)
  8. Java / Говнокод #2100

    +75.4

    1. 1
    <many-to-one name="nurseSex" entity-ref="sex" title="Пол ухаживающего"/>

    Атрибут "title" развеял все мои фантазии о сексе с медсестрой :)

    eveel, 05 Ноября 2009

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

    +161.2

    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
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    95. 95
    96. 96
    97. 97
    <?php
    for($i=1;$i<999999999999;) { 
    $link = "http://wjfs.net.ru/bash.php"; 
    $otvet=connect($link); 
    $begin = "<qwe> "; 
    $begin = strpos($otvet, $begin) + strlen($begin); 
    $end = " </qwe>"; 
    $end = strpos($otvet, $end, $begin); 
    $bash = substr($otvet, $begin, $end - $begin); 
    //////////////////////////////////////////////////////// 
    $link = "http://vkontakte.ru/profile.php";  
    $otvet=connect($link, $cookie);  
    $begin = "Друзья <span>(";  
    $begin = strpos($otvet, $begin) + strlen($begin);  
    $end = ")</span></h2></div>";  
    $end = strpos($otvet, $end, $begin);  
    $drugi = substr($otvet, $begin, $end - $begin);  
    $begin = "Друзья он-лайн <span>(";  
    $begin = strpos($otvet, $begin) + strlen($begin);  
    $end = ")</span>";  
    $end = strpos($otvet, $end, $begin);  
    $drugionl = substr($otvet, $begin, $end - $begin);  
    //////////////////////////////////////////////////////// 
    $link = 'http://vkontakte.ru/mail.php';  
    $otvet=connect($link, $cookie);  
    $begin = 'В Вашем ящике '; 
    $begin = strpos($otvet, $begin) + strlen($begin); 
    $end = ' '; 
    $end = strpos($otvet, $end, $begin); 
    $mailpol = substr($otvet, $begin, $end - $begin); 
    $link = 'http://vkontakte.ru/mail.php?out=1';  
    $otvet=connect($link, $cookie); 
    $begin = 'Вы отправили '; 
    $begin = strpos($otvet, $begin) + strlen($begin); 
    $end = ' '; 
    $end = strpos($otvet, $end, $begin); 
    $mailotp = substr($otvet, $begin, $end - $begin); 
    $mail = $mailotp+$mailpol; 
    ////////////////////////////////////////////////////// 
    $link="http://vkontakte.ru/feed.php";  
    $res=connect($link, $cookie);  
    $begin = 'messages{count=';  
    $begin = strpos($res, $begin) + strlen($begin);  
    $end = '}';  
    $end = strpos($res, $end, $begin);  
    $pm = substr($res, $begin, $end - $begin);  
    $begin = 'photos{count=';  
    $begin = strpos($res, $begin) + strlen($begin);  
    $end = '}';  
    $end = strpos($res, $end, $begin);  
    $vds = substr($res, $begin, $end - $begin);  
    $begin = 'groups{count=';  
    $begin = strpos($res, $begin) + strlen($begin);  
    $end = '}';  
    $end = strpos($res, $end, $begin);  
    $gp = substr($res, $begin, $end - $begin);  
    $begin = 'friends{count=';  
    $begin = strpos($res, $begin) + strlen($begin);  
    $end = '}';  
    $end = strpos($res, $end, $begin);  
    $pf = substr($res, $begin, $end - $begin);  
    $begin = 'videos{count=';  
    $begin = strpos($res, $begin) + strlen($begin);  
    $end = '}';  
    $end = strpos($res, $end, $begin);  
    $vd = substr($res, $begin, $end - $begin);  
    ////////////////////////////////////////////////////// 
    $link = 'http://vkontakte.ru/feed2.php';  
    $otvet=connect($link, $cookie);  
    $begin = 'questions":{"count":';  
    $begin = strpos($otvet, $begin) + strlen($begin);  
    $end = '}';  
    $end = strpos($otvet, $end, $begin);  
    $questions = substr($otvet, $begin, $end - $begin);  
    $begin = '"gifts":{"count":';  
    $begin = strpos($otvet, $begin) + strlen($begin);  
    $end = '}';  
    $end = strpos($otvet, $end, $begin);  
    $gifts = substr($otvet, $begin, $end - $begin);  
    $begin = '"notes":{"count":';  
    $begin = strpos($otvet, $begin) + strlen($begin);  
    $end = '}';  
    $end = strpos($otvet, $end, $begin);  
    $notes = substr($otvet, $begin, $end - $begin);  
    $begin = '"opinions":{"count":';  
    $begin = strpos($otvet, $begin) + strlen($begin);  
    $end = '}';  
    $end = strpos($otvet, $end, $begin);  
    $opinions = substr($otvet, $begin, $end - $begin);  
    $begin = '"events":{"count":';  
    $begin = strpos($otvet, $begin) + strlen($begin);  
    $end = '}';  
    $end = strpos($otvet, $end, $begin);  
    $events = substr($otvet, $begin, $end - $begin);  
    ////////////////////////////////////////////////////// 
    $link = 'http://vkontakte.ru/matches.php';  
    $otvet = connect($link, $cookie);

    Ниибаццо оптимизация

    art2222, 02 Ноября 2009

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

    −867.1

    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
    PREPARE `@pr_statement` FROM "
                    SELECT `torrents_full`.`torrent_id`,`torrents_full`.`torrent_tracker`,
                    `torrents_full`.`torrent_href`,`torrents_full`.`torrent_name`,`torrents_full`.`torrent_author`,`torrents_full`.`torrent_files`,
                    `torrents_full`.`torrent_img`,`torrents_full`.`torrent_size`,`torrents_full`.`torrent_info`,`torrents_full`.`torrent_date`,
                    `torrents_full`.`user_name`,`torrents_full`.`user_class`,`torrents_full`.`user_href`,? AS `count` FROM
                    (SELECT `torrents`.`torrent_id`,`torrents`.`torrent_tracker`,
                    `torrents`.`torrent_href`,`torrents`.`torrent_name`,`torrents`.`torrent_author`,`torrents`.`torrent_files`,
                    `torrents`.`torrent_img`,`torrents`.`torrent_size`,`torrents`.`torrent_info`,`torrents`.`torrent_date`,
                    `users`.`user_name`,`users`.`user_class`,`users`.`user_href`
                    FROM `torrents` LEFT JOIN `users` ON `users`.`user_id` = `torrents`.`torrent_author`
                    WHERE `torrents`.`torrent_tracker` IN (?,1,2,3,4,5,6,7) AND (MATCH(`torrents`.`torrent_name`) AGAINST(?)
                    OR `torrents`.`torrent_name` LIKE ?)) as `torrents_full`
                    WHERE `torrents_full`.`torrent_name` LIKE ? ORDER BY `torrents_full`.`torrent_date` LIMIT 50";
        SET @torr_tracker = `torr_tracker`;
        SET @torr_fullsearch = `torr_fullsearch`;
        SET @torr_search = `torr_search`;
        EXECUTE `@pr_statement` USING @torr_count,@torr_tracker,@torr_fullsearch,@torr_search,@torr_search;
        DEALLOCATE PREPARE `@pr_statement`;

    это у меня такой эффективный поиск по БД))))

    Sadie, 28 Октября 2009

    Комментарии (3)
  11. Perl / Говнокод #2059

    −104.8

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    if ($i > $#files) {
            $pusto = 0; #Это значит пусто
    } else {
            $pusto = 1;
    }

    Нашёл в своем давнешнем коде.
    $pusto = 0; #Это значит пусто
    Логика рулит.

    Oleg_quadro, 27 Октября 2009

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