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

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

    +151

    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
    <?php
    require_once ("../inc/core.php");
    require_once ("../inc/header.php");
    //
    require_once ("../inc/classAudioFile.php");
    require_once ("../inc/func.php");
    
    
    
    
    /// Форма загрузки файла
    if (!isset ($_POST['upload'])){
    echo '<form action="upload.php" method="post" enctype="multipart/form-data">';
    echo '<input type="file" name="fname"><br>';
    echo '<input type="submit" name="upload" value="Загрузить"><br></form>';
    }
    //
    $date = DATE ("Y-m-d");
    $scriptdir = "$siteurl/mp3/";
    $dir = "files/$date/";
    $tmpfilename = $_FILES['fname']['tmp_name'];
    $filename = $_FILES['fname']['name'];
    $nfilename = trans ("MixON.mobi_".$filename);
    $ext = explode (".",$filename);
    $size = $_FILES['fname']['size'];
    $adrfile = $dir.$nfilename;
    $mp3url = $scriptdir.$adrfile;
    //////////////
    
    if (!is_dir ("files/$date")) mkdir ("files/$date", 0770);
    
    
    if (isset($_POST['upload'])){
       if (count($ext) !=2) {
            echo "Файлы с двойным расширением запрещены. <br /> Должно быть так: <br /> filename.ext";
            exit;
        }
        if ($ext[1] != 'mp3' ){
            echo 'Разрешена загрузка только mp3 файлов.';
            exit;
        }
    if (file_exists ($tmpfilename)){
    copy ($tmpfilename, $adrfile);
    //// Получаем теги файла
    echo "Название файла: $filename <br />";
    $AF = new AudioFile;
    $AF->loadFile($adrfile);
    //$AF -> printSampleInfo();
    $channels = $AF -> wave_channels;
    $framerate = $AF -> wave_framerate;
    $byterate = $AF -> wave_byterate;
    $length = $AF -> wave_length;
    $title = $AF -> id3_title;
    $title = trim(iconv('windows-1251','UTF-8',$title));
    $artist = $AF -> id3_artist;
    $artist = trim (iconv('windows-1251','UTF-8',$artist));
    $album = $AF -> id3_album;
    $album = trim (iconv('windows-1251','UTF-8',$album));
    $year = $AF -> id3_year;
    $year = trim (iconv('windows-1251','UTF-8',$year));
    $genre = $AF -> id3_genre;
    $genre = trim (iconv('windows-1251','UTF-8',$genre));
    $comment = $AF -> id3_comment;
    $comment = trim (iconv('windows-1251','UTF-8',$comment));
    ///Выводим мп3 теги
    echo "Каналы: $channels <br /> Частота: $framerate <br /> Битрейт: $byterate <br /> ";
    echo "Продолжительность: ".date('i:s', mktime(0,0,round($length))). "мин. <br /> ";
    echo "Название: $title <br />";
    echo "Исполнитель: $artist <br />";
    echo "Стиль: $genre <br />";
    if ($album != null) echo "Альбом: $album <br />";
    if ($year != null) echo "Год: $year <br />";
    }// Если файл закачалься и удачно скопирован
    
    echo "<a href=\"http://$siteurl/$scriptdir/index.php?do=add\">Все верно</a>";
    $do = isset($_GET['do']) ? $_GET['do'] : '';
    switch ($do)
    {
        case 'admview':
    
    $sql = "INSERT INTO `files` ( `id` , `title` , `artist` , `genre` , `album` , `year` , `mp3url` )
    VALUES (
    '', '$title', '$artist', '$genre', '$album', '$year', '$mp3url'
    );";
    csql ($sql);
    mysql_query($sql);
    
    echo "<a href=\"http://$siteurl/$scriptdir/index.php?do=edit\">Нужно изменить</a>";
    
    }//switch do
    }// Если нажата кнопка
    require_once ("../inc/footer.php");
    ?>

    pivasyk, 25 Сентября 2009

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

    +60.3

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    void AcquireSomething(..., boost::shared_ptr<Something> out)
    {
      ...
      out.reset(new Something());
    }

    жесть

    g26g, 23 Сентября 2009

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

    +149.8

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    function getOffset(elem) {
        if (elem.getBoundingClientRect) {
            // "правильный" вариант
            return getOffsetRect(elem)
        } else {
            // пусть работает хоть как-то
            return getOffsetSum(elem)
        }
    }

    code_master, 16 Сентября 2009

    Комментарии (9)
  5. Pascal / Говнокод #1844

    +112.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
    procedure TForm1.Button2Click(Sender: TObject);
    var
    result  : Tdatetime;
    begin
    Result := EncodeDate(1970, 1, 1) + ((strtofloat(edit26.Text)+(strtofloat(edit2.Text)*3600)) / 86400); {86400=No. of secs. per day}
    
    edit23.Text := formatdatetime('d', Result);
    edit24.Text := formatdatetime('m', Result);
    edit25.Text := formatdatetime('yyyy', Result);
    edit27.Text := formatdatetime('h', Result);
    edit28.Text := formatdatetime('n', Result);
    edit29.Text := formatdatetime('s', Result);
    edit30.text := datetimetostr(result);
    form1.ActiveControl := edit30;
    end;
    
    
    procedure TForm1.Button3Click(Sender: TObject);
    var
      x,y      : extended;
    begin
    edit12.Text := formatdatetime('d', datetimepicker2.date);
    edit17.Text := formatdatetime('m', datetimepicker2.date);
    edit18.Text := formatdatetime('yyyy', datetimepicker2.date);
    x := (EncodeDate(strtoint(edit18.text), strtoint(edit17.text), strtoint(edit12.text)) - EncodeDate(1970, 1, 1)) * 86400 ;
    y := (strtoint(edit20.text)*3600) + (strtoint(edit21.text)*60) + strtoint(edit22.text);
    x := x+y-(strtofloat(edit1.Text)*3600);
    edit19.Text := floattostr(x);
    form1.ActiveControl := edit19;
    end;

    Особенно старательный ковнокодер, умудрился растянуть на 30 строк то, что реально заняло у меня 8.
    ну я не говорю еще про большую описательную часть его кода.

    gorky, 15 Сентября 2009

    Комментарии (9)
  6. Pascal / Говнокод #1841

    +68.6

    1. 1
    2. 2
    3. 3
    4. 4
    function isstring(str1,str2:string):boolean;
    begin
    result:=(AnsiPos(AnsiLowerCase(str1),AnsiLowerCase(str2))>0)
    end;

    Функция проверяет, содержит ли строка str2 строку str1 не учитывая регистр.
    Возвращает true, если содержит, в противном случае возвращает false.

    nikmihej, 14 Сентября 2009

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

    −176.1

    1. 1
    ДатаНачалаПериода = НачалоМесяца(Дата(Строка(Формат(ТекущийГод, "ЧГ=0")) + Строка(ТекущийМесяц) + "01"));

    Фрагмент кода от разработчиков конфигурации. Дело в том, что дату начала текущего месяца можно получить как НачалоМесяца(ТекущаяДата()). Даже если предположить, что переменные "ТекущийГод" и "ТекущийМесяц" содержат не актуальные значения (например, при перерасчете прошлых документов), достаточно выполнить НачалоМесяца(Дата(ТекущийГод, ТекущийМесяц, 1))

    polestnize, 08 Сентября 2009

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

    +158.9

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    static $badwords = array(
    ...
    '(?<=[_\d]) [гg]_?[оo]_?[вvb]_?[нnh]_?[оoаaяеeyу]', #говн[оаяеу]
    ...
    );

    самый дословный (мета-)говнокод.

    из censure.php -- Функция пытается определить наличие мата (нецензурных, матерных слов) в html-тексте.
    http://forum.dklab.ru/viewtopic.php?t=17146

    OlgaWolga, 05 Сентября 2009

    Комментарии (9)
  9. Pascal / Говнокод #1740

    +101.9

    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
    function DatePlusOneDay(Date: TDate): TDate;
    var
      Day, Month, Year: string;
    begin
      Day := Copy(DateToStr(Date), 1, 2);
      Month := Copy(DateToStr(Date), 4, 2);
      Year := Copy(DateToStr(Date), 7, 4);
      if frac(StrToFloat(Year) / 4) <> 0 then
        if (Month = '01') or (Month = '03') or (Month = '05') or (Month = '07') or (Month = '08') or (Month = '10') or (Month = '12') then
          if Day <> '31' then
            if StrToInt(Day) < 9 then Day := '0' + IntToStr(StrToInt(Day) + 1)
            else Day := IntToStr(StrToInt(Day) + 1)
          else
          begin
            Day := '01';
            if StrToInt(Month) < 9 then
              Month := '0' + IntToStr(StrToInt(Month) + 1)
            else
              if Month = '12' then
              begin
                Month := '01';
                Year := IntToStr(StrToInt(Year) + 1);
              end
              else Month := IntToStr(StrToInt(Month) + 1);
          end
        else
          if (Month = '04') or (Month = '06') or
          (Month = '09') or (Month = '11') then
            if Day <> '30' then
              if StrToInt(Day) < 9 then Day := '0' + IntToStr(StrToInt(Day) + 1)
              else Day := IntToStr(StrToInt(Day) + 1)
            else
            begin
              Day := '01';
              if StrToInt(Month) < 9 then Month := '0' + IntToStr(StrToInt(Month) + 1)
              else Month := IntToStr(StrToInt(Month) + 1);
            end
          else
            if Day <> '28' then
              if StrToInt(Day) < 9 then Day := '0' + IntToStr(StrToInt(Day) + 1)
              else Day := IntToStr(StrToInt(Day) + 1)
            else
            begin
              Day := '01';
              if StrToInt(Month) < 9 then Month := '0' + IntToStr(StrToInt(Month) + 1)
              else Month := IntToStr(StrToInt(Month) + 1);
            end
      else
        if (Month = '01') or (Month = '03') or (Month = '05') or (Month = '07') or (Month = '08') or (Month = '10') or (Month = '12') then
          if Day <> '31' then
            if StrToInt(Day) < 9 then Day := '0' + IntToStr(StrToInt(Day) + 1)
            else Day := IntToStr(StrToInt(Day) + 1)
          else
          begin
            Day := '01';
            if StrToInt(Month) < 9 then
              Month := '0' + IntToStr(StrToInt(Month) + 1)
            else
              if Month = '12' then
              begin
                Month := '01';
                Year := IntToStr(StrToInt(Year) + 1);
              end
              else
                Month := IntToStr(StrToInt(Month) + 1);
          end
        else
          if (Month = '04') or (Month = '06') or
          (Month = '09') or (Month = '11') then
            if Day <> '30' then
              if StrToInt(Day) < 9 then
                Day := '0' + IntToStr(StrToInt(Day) + 1)
              else
                Day := IntToStr(StrToInt(Day) + 1)
            else
            begin
              Day := '01';
              if StrToInt(Month) < 9 then
                Month := '0' + IntToStr(StrToInt(Month) + 1)
              else
                Month := IntToStr(StrToInt(Month) + 1);
            end
          else
            if Day <> '28' then
              if StrToInt(Day) < 9 then
                Day := '0' + IntToStr(StrToInt(Day) + 1)
              else
                Day := IntToStr(StrToInt(Day) + 1)
            else
            begin
              Day := '01';
              if StrToInt(Month) < 9 then
                Month := '0' + IntToStr(StrToInt(Month) + 1)
              else
                Month := IntToStr(StrToInt(Month) + 1);
            end;
      DatePlusOneDay := StrToDate(Day + '.' + Month + '.' + Year);
    end;

    Писалось, когда не знали о эквиваленте (Date + 1)

    SaNdMaN, 01 Сентября 2009

    Комментарии (9)
  10. JavaScript / Говнокод #1684

    +158.8

    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
    function h_circle_1_view() {
    	document.getElementById("circle_1").style.display = "block";
    	document.getElementById("circle_2").style.display = "none";
    	document.getElementById("circle_3").style.display = "none";
    	document.getElementById("circle_4").style.display = "none";
    	document.getElementById("circle_5").style.display = "none";
    	}
    	function h_circle_1_none() {
    	document.getElementById("circle_1").style.display = "none";
    	}
    	
    	function h_circle_2_view() {
    	document.getElementById("circle_1").style.display = "none";
    	document.getElementById("circle_2").style.display = "block";
    	document.getElementById("circle_3").style.display = "none";
    	document.getElementById("circle_4").style.display = "none";
    	document.getElementById("circle_5").style.display = "none";
    	}
    	function h_circle_2_none() {
    	document.getElementById("circle_2").style.display = "none";
    	}
    	
    	function h_circle_3_view() {
    	document.getElementById("circle_1").style.display = "none"; 
    	document.getElementById("circle_2").style.display = "none"; // прячем 1, 2
    	document.getElementById("circle_3").style.display = "block";	// показываем 3
    	document.getElementById("circle_4").style.display = "none";
    	document.getElementById("circle_5").style.display = "none";
    	}
    	function h_circle_3_none() {
    	document.getElementById("circle_3").style.display = "none";
    	}
    	
    	function h_circle_4_view() {
    	document.getElementById("circle_1").style.display = "none"; 
    	document.getElementById("circle_2").style.display = "none"; 
    	document.getElementById("circle_3").style.display = "none"; // прячем 1, 2
    	document.getElementById("circle_4").style.display = "block";	// показываем 3
    	document.getElementById("circle_5").style.display = "none";
    	}
    	function h_circle_4_none() {
    	document.getElementById("circle_4").style.display = "none";
    	}
    	
    	function h_circle_5_view() {
    	document.getElementById("circle_1").style.display = "none"; 
    	document.getElementById("circle_2").style.display = "none"; 
    	document.getElementById("circle_3").style.display = "none"; // прячем 1, 2
    	document.getElementById("circle_4").style.display = "none";	// показываем 3
    	document.getElementById("circle_5").style.display = "block";
    	}
    	function h_circle_5_none() {
    	document.getElementById("circle_5").style.display = "none";
    	}

    Натолкнулся вот при тестировании одного проекта

    Abductio, 25 Августа 2009

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

    +135.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
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    if ((Owner as Form1).ZakazdataGrid.Columns.Count == 0)
                {
                    (Owner as Form1).ZakazdataGrid.Columns.Add("KodTov", "");
                    (Owner as Form1).ZakazdataGrid.Columns.Add("NazvaTov", "Товар");
                    (Owner as Form1).ZakazdataGrid.Columns.Add("Kolvo", "Кол-во");
                    (Owner as Form1).ZakazdataGrid.Columns.Add("NazvaEd", "Ед.");
                    (Owner as Form1).ZakazdataGrid.Columns.Add("Suma", "Сумма");
                    (Owner as Form1).ZakazdataGrid.Columns.Add("KolEd", "");
                    (Owner as Form1).ZakazdataGrid.Columns.Add("Sostavnoy", "");
                    (Owner as Form1).ZakazdataGrid.Columns.Add("Sostav", "");
                    (Owner as Form1).ZakazdataGrid.Columns["Sostavnoy"].Visible = false;
                    (Owner as Form1).ZakazdataGrid.Columns["Sostav"].Visible = false;
                    (Owner as Form1).ZakazdataGrid.Columns["KodTov"].Visible = false;
                    (Owner as Form1).ZakazdataGrid.Columns["KolEd"].Visible = false;
                    (Owner as Form1).ZakazdataGrid.Columns["NazvaTov"].Width = (int)((Owner as Form1).ZakazdataGrid.Width * 0.5);
                    (Owner as Form1).ZakazdataGrid.Columns["NazvaTov"].SortMode = DataGridViewColumnSortMode.NotSortable;
                    (Owner as Form1).ZakazdataGrid.Columns["Kolvo"].Width = (int)((Owner as Form1).ZakazdataGrid.Width * 0.15);
                    (Owner as Form1).ZakazdataGrid.Columns["Kolvo"].SortMode = DataGridViewColumnSortMode.NotSortable;
                    (Owner as Form1).ZakazdataGrid.Columns["NazvaEd"].Width = (int)((Owner as Form1).ZakazdataGrid.Width * 0.15);
                    (Owner as Form1).ZakazdataGrid.Columns["NazvaEd"].SortMode = DataGridViewColumnSortMode.NotSortable;
                    (Owner as Form1).ZakazdataGrid.Columns["Suma"].Width = (int)((Owner as Form1).ZakazdataGrid.Width * 0.2);
                    (Owner as Form1).ZakazdataGrid.Columns["Suma"].SortMode = DataGridViewColumnSortMode.NotSortable;
                    (Owner as Form1).ZakazdataGrid.RowsDefaultCellStyle.Font = new Font("Times New Roman", FontSize - 5);
                    (Owner as Form1).ZakazdataGrid.ColumnHeadersDefaultCellStyle.Font = new Font("Times New Roman", FontSize - 5);
                    (Owner as Form1).ZakazdataGrid.AlternatingRowsDefaultCellStyle.BackColor = Color.PowderBlue;
                    (Owner as Form1).ZakazdataGrid.RowsDefaultCellStyle.BackColor = Color.LightSkyBlue;
                }

    Отсюда: http://sql.ru/forum/actualthread.aspx?tid=688754
    :-)

    VMcL, 21 Августа 2009

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