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

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

    +159

    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
    //если нашли аккаунт то проверяем если чары на аккаунте куда мы собираемся перенести персонажа
    connectdb("character");
    //для выяснения принадлежности аккаунта к той или иной фракции нам достаточно найти одного любого перса
    $query = "SELECT race FROM characters WHERE account='".$newacc['id']."' LIMIT 1";
    $tmp = @mysql_query($query);
    $newchar = @mysql_fetch_array($tmp);
    //сравниваем полученный резал перебором и если совпадение найдено ставим переменную в единицу
    //если переменная еденица значит аккаунт пренадлежит к фракции орды
    if($newchar['race']=='2' OR $newchar['race']=='5' OR $newchar['race']=='6' OR $newchar['race']=='8' OR $newchar['race']=='10') $orc=1;
    if($newchar['race']=='1' OR $newchar['race']=='3' OR $newchar['race']=='4' OR $newchar['race']=='7' OR $newchar['race']=='11') $all=1;
    //если поле раса пустое то акк тоже пустой и переносить можно
    if(empty($newchar['race'])){
    $orc=1;
    $all=1;
    }
    }
    $query = "SELECT race FROM characters WHERE name='".$charname."' AND account='".$remhash['id']."' ";
    $tmp = @mysql_query($query);
    $remacc = @mysql_fetch_array($tmp);
    //если перса не нашли- нах
    if(empty($remacc['race'])) error("You not have character with this name on your account");
    else{
    if($remacc['race']=='2' OR $remacc['race']=='5' OR $remacc['race']=='6' OR $remacc['race']=='8' OR $remacc['race']=='10') $orc2=1;
    if($remacc['race']=='1' OR $remacc['race']=='3' OR $remacc['race']=='4' OR $remacc['race']=='7' OR $remacc['race']=='11') $all2=1;
    //проверяем оба аккаунта на предмет принадлежания обоих к одной фракции если нет - нах
    if($orc!=$orc2 AND $all!=$all2) error("Accounts have differents faction");
    else{
    // если все ок меняем номер аккаунта у перса - тадам :D
    $query = "UPDATE characters SET account='".$newacc['id']."' WHERE name='".$charname."'";
    $tmp = @mysql_query($query);
    if(!$tmp) error("какая то жопа в последнем запросе");
    else{header("location: /index.php?do=worldofwarcraft_accountmanager&mode=transfer&change=ok");}
    }
    }
    mysql_close();
    }

    Синтаксис и орфография сохранены.

    mulder, 10 Октября 2010

    Комментарии (13)
  3. Pascal / Говнокод #4321

    +90

    1. 1
    2. 2
    if DirectoryExists(ExtractFilePath(Application.ExeName)+'Folder')=false then
    CreateDir(ExtractFilePath(Application.ExeName)+'Folder');

    Мартин, 09 Октября 2010

    Комментарии (13)
  4. JavaScript / Говнокод #4315

    +155

    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
    function ValidateTimeData(Dataset) {
    	var HoursVal = 0;
    	var MinutesVal = 0;
    	
    	//Забираем значения из формы
    	HoursVal = edtTaskHours.Value;
    	MinutesVal = edtTaskMinutes.Value;
    	
    	if ( HoursVal == 0 && MinutesVal == 0 ) {
    		ShowWarningDialog("Поля 'Время (часы)' и 'Время (минуты)' обязательны для заполнения");	
    		return false;
    	} else {
    		return true;
    	}
    	
    	//Присваиваем время
    	Dataset.Values('ActualDurationHours') = HoursVal;
    	Dataset.Values('ActualDurationMinutes') = MinutesVal;
    	
    	Dataset.Values('PayedHours') = HoursVal;
    	Dataset.Values('PayedMinutes') = MinutesVal;
    	
    	Dataset.Values('ConfirmHours') = HoursVal;
    	Dataset.Values('ConfirmMinutes') = MinutesVal;
    	
    	Dataset.Values('Duration') = HoursVal * 60 + MinutesVal;
    	Dataset.Values('ActualDuration') = HoursVal * 60 + MinutesVal;	
    }

    Я бы еще оооочень долго разбирался, почему значения не присваиваются, если бы не посмотрел повнимательнее в 13 строчку :)

    cyrill, 08 Октября 2010

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

    +167

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    // seen in real project
    
    class SomeClass extends AnotherClass {
        protected $_AnotherClass = null;
        
        public function __construct() {
            $this->_AnotherClass = new AnotherClass();
        }
    }

    Сочная вырезка из структуры классов.

    shizzard, 20 Сентября 2010

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

    +144

    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
    
    <?xml version='1.0' encoding='utf-8'?>
    <rss version="2.0">
       <channel>
          <title>behistory - живая история</title>
           <link>http://behistory.ru/</link>
           <lastBuildDate>Sun, 12 Sep 2010 13:17:59 +0300</lastBuildDate>
           <language>ru</language>
    
                  <item>
                    <title>О роли балтского субстрата в истории славянских племен верхнего Поднепровья</title>
                     <link>ololo</link>
                     <description>&lt;html&gt;
    &lt;p style=&quot;text-align: justify;&quot;&gt;В статье большое внимание уделяется роли балтов в истории славянских племен верхнего Днепра. Автор проводит тщательный анализ основных тезисов В.В. Седова, которые сводятся в своей основе к следующему - балтский субстрат был основным при образовании белорусской народности, т. е. при образовании трех летописных племен: кривичей, дреговичей и радимичей. В подтверждение этого он приводит целый ряд лингвистических, этнографических и археологических данных. Автор не согласна с данной позицией и оспаривает выводы В.В. Седова.&lt;/p&gt;
    &lt;/html&gt;</description>
    
                     <pubDate>2009-07-27 03:44:11</pubDate>
                  </item>
                  <item>

    aslikeyou, 12 Сентября 2010

    Комментарии (13)
  7. Pascal / Говнокод #4191

    +105

    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
    type
      THackImage = class(TGraphicControl)
      public
        property Canvas;
      end;
    
    procedure TColorPicker.ImageMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
    begin
      {$IFDEF HACKS}
      Assert(Sender is TImage, 'в Sender всегда передается экземпляр класса TImage');
      FSelectedColor := THackImage(Sender).Canvas.Pixels[X, Y];
      {$ELSE}
      (* то, что было лень писать сразу *)

    Говнистая работа с библиотекой VCL. Не притрагивался к проекту около года, потом загрузил и почти час втыкал, за каким этот грёбаный хак здесь нужен.

    bugmenot, 07 Сентября 2010

    Комментарии (13)
  8. PHP / Говнокод #4164

    +160

    1. 1
    2. 2
    3. 3
    if((string)(int)$url_code === (string)$url_code) { 
                  /*.... not relevant content */
           }

    mykola, 03 Сентября 2010

    Комментарии (13)
  9. C++ / Говнокод #4118

    +148

    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
    98. 98
    struct _elem
    {
        int x, y, z, num;
        bool r;
        long long square;
        void read(int i)
        {
            cin >> x >> y >> z;
            num = i;
            square = 0;
        }
    
        friend bool operator<(_elem a, _elem b)
        {
            if ( a.z == b.z)
            {
                return a.r == true;
            }
            else
            {
                return a.z < b.z;
            }
        }
    };
    
    _elem mas[500000];
    bool vis[500000];
    int main()
    {
        int N, W, L;
        cin >> N >> W >> L;
    
        for ( int i = 0; i < N; i++)
        {
            mas[i].read(i);
            mas[i].r = false;
            mas[i + N].read(i);
            mas[i + N].r = true;
            mas[i].square = mas[i + N].square = abs(mas[i].x - mas[i + N].x) * abs(mas[i].y - mas[i + N].y);
            vis[i] = vis[i + N] = false;
        }
    
        sort(mas, mas + 2 * N);
    
        long long square = 0;
        int count = 0;
        int min = -1;
        for ( int i = 0; i < 2 * N; i++)
        {
            if ( mas[i].r == false)
            {
                square += mas[i].square;
                count++;
            }
            else
            {
                square -= mas[i].square;
                count--;
            }
            if ( square == W * L)
            {
                if (min == -1 || count < min)
                {
                    min = count;
                }
            }
        }
       
        if ( min == -1)
        {
            cout << "NO" << endl;
        }
        else
        {
            cout << "YES" << endl;
            count = 0;
            square = 0;
            int i = 0;
            while (count != min || square != W * L)
            {
                if ( mas[i].r == false)
                {
                    square += mas[i].square;
                    count++;
                    vis[mas[i].num] = true;
                }
                else
                {
                    square -= mas[i].square;
                    count--;
                    vis[mas[i].num] = false;
                }
                i++;
            }
            cout << min << endl;
            }
         }
    }

    hromjo, 28 Августа 2010

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

    +160

    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
    <?php
    //Делаем массив
    $_verbose = array(
    "Вы не ввели слово которое хотите заменить!<br> 
    <form name='zadacha' action='2.php' method='post'>
    <b>То что вставить:</b><br>
    <input size='25'  maxlength='70' name='zamena'><br><br>
    <b>То что заменить:</b><br>
    <input size='25'  maxlength='70' name='slovo'><br>
    <input type='submit' name='text' value='Изменить' style='background-color: #ffc66d; font-family: Tahoma Courier New; font: bolder 12px ;cursor: hand; height: 18px; color: #000; padding: 10px 20px 10px 20px'> 
    </form>",
    "Вы не ввели слово которым будете изменять слово в документе!<br> 
    <form name='zadacha' action='2.php' method='post'>
    <b>То что вставить:</b><br>
    <input size='25'  maxlength='70' name='zamena'><br><br>
    <b>То что заменить:</b><br>
    <input size='25'  maxlength='70' name='slovo'><br>
    <input type='submit' name='text' value='Изменить' style='background-color: #ffc66d; font-family: Tahoma Courier New; font: bolder 12px ;cursor: hand; height: 18px; color: #000; padding: 10px 20px 10px 20px'> 
    </form>",);
    
    if(empty($_POST['slovo'])){
    echo $_verbose[0];
    exit;
    }
    
    if(empty($_POST['zamena'])){
    echo $_verbose[1];
    exit;
    }
    
    //Читаем файл из всех строчек в одну
    $text = file_get_contents("1.txt"); 
    //Меняем введеное из первой формы на второе 
    $text = str_replace($_POST['slovo'], $_POST['zamena'], $text); 
    // удаляем html и php тэги
    $text = strip_tags($text);
    // заменяем двойной пробел на одиночный
    $text = str_replace("  ", " ", $text);
    //удаляем пробелы с конца и начала
    $text = trim($text);
    //w - перезапись, a - дозапись
    $flag_rc = "w";
    //Открываем файл с параметром $flag_rc
    $rc_file = fopen("1.txt", $flag_rc); 
    // применяем функцию блокировки файла с флагом записи 
    flock($rc_file, LOCK_EX);
    // записываем в файл данные
    fputs($rc_file, "$text"); 
    // снимаем блокировку 
    flock($rc_file, LOCK_UN); 
    // закрываем дескриптор указывающий на файл 
    fclose($rc_file);
    // Показываем результат и выходим
    echo $text;
    
    exit;
    
    #########################################################
    #А вот строчка которую надо куда то пихнуть для проверки#
                                                            #
    #//Проверяем вписаны ли слова в свои формы              #
    #if(empty($_slovo)){                                    #
    #echo $_verbose[0];                                     #
    #exit;                                                  #
    #########################################################
    #if(empty($_zamena)){                                   #
    #echo $_verbose[1];                                     #
    #exit;                                                  #
    #########################################################
    ?>

    Этот говнокод - содержимое http://upwap.ru/993821 (первая ссылка, данная в ответ в копипасте ниже).
    Мобильный форум Wap-разработчиков хостинга kmx.ru

    Форум
    Тема: Куда пихнуть этот кусок пхп?
    Nelix 16.08.10 16:18
    Вобщем вот ссылка на этот скрипт в архиве: http://lastbastion.kmx.ru/Zamena.rar //// Этот скрипт меняет одно слово на другое в тхт доке, можете протестить, всё работает... Я решил сделать фильтр там, на то что бы если в форме нет ничего то выводилась ошиб
    Nelix 16.08.10 16:20
    ..ошибка и естественно выход, парметр emty , в архиве в коде его там найдете в комментах, и куда их пихнуть не знаю... либо ошибка выходит, либо не работает.. вчера написал в 3 раза больше код с ЭТИМИ же самыми проверками на запись в форме а седня не могу
    Nelix 16.08.10 16:22
    Посмотрите плиииззз и скажите что я не правильно делал там... весь день сижу над этой фигней:( гг
    stallon 16.08.10 17:41
    http://upwap.ru/993821 пароль kmx . С тебя пиво
    Nelix 16.08.10 18:12
    Работает))) Сочтемся как-нибудь) .пиво. а чем отличаются скобки квадратные от загнутых? Ну я имею ввиду не формой а в коде php, разница между ними есть какие надо использовать?
    Nelix 16.08.10 18:17
    Ая сча подумал и ещё вот так сделал: http://upwap.ru/993861 пароль kmx есть разница какая то в наших кодах? Работает одинаково совершенно...хм.. минусы плюсы? Если не сложно..
    stallon 16.08.10 18:40
    в фигурные скобки заключается условие какое-либо. в квадратные. много что
    stallon 16.08.10 18:53
    почитай о такой директиве как register_globals. мой код для рег_глобалс off, твой для рег_глобалс on. что нежелательно
    Nelix 17.08.10 15:27
    Почитал:) Но ничего не понял:( гг

    7ion, 23 Августа 2010

    Комментарии (13)
  11. C++ / Говнокод #3958

    +163

    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
    typedef char char_array_2 [2] ;
    typedef char char_array_3 [3] ;
    typedef char char_array_22[32];
    
    /* ... */
    
    if( 0 == (purpose          = new char_array_3[ dArraySize ]  ) )
    {
       ALLOC_ERROR();
    }
    
    if( 0 == (mode             = new char_array_3[ dArraySize ]  ) )
    {
       ALLOC_ERROR();
    }
    
    if( 0 == (state            = new char_array_2[ dArraySize ]  ) )
    {
       ALLOC_ERROR();
    }
    
    if( 0 == (referencedate    = new char_array_22[ dArraySize ] ) )
    {
       ALLOC_ERROR();
    }
    
    /* и еще десяток в таком же стиле */

    С++ в (болгарские) массы. и пусть только попробуют сказать что мы ошибок выделения памяти не обрабатываем.

    ЗЫ самый прикол что код который этой памятью пользуется 100% совместим с std::vector<std::string>. хотя я бы лично все строки в структуру загнал (и структуры в вектор) бо 10+ массивов это говно.

    Dummy00001, 12 Августа 2010

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