1. Куча / Говнокод #2812

    +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
    20. 20
    LOCALE: UTF-8
    LANGUAGE: RUSSIAN
    
    ОТКРТЫАЯ ЛИЦЕНЗИЯ С ОТСУТСТВИЕМ ГАРАНТИЙ.
    ЭТА ЛИЦЕНЗИЯ НЕДЕЙСТВИТЕЛЬНА ПРИ ПЕРЕВОДЕ НА ДРУГИЕ ЯЗЫКИ.
    
    
    
    ПРИЛОЖЕНИЕ QUOTER
    
    
    Это приложение предоставляется конечному пользователю КАК ЕСТЬ без каких либо
    гарантий. Автор(ы) приложения снимают с себя любую ответственность, включая
    ответственность за неполадки, вызвавшие материальные/духовные потери.
    
    Конечному потребителю ЗАПРЕЩАЕТСЯ продавать приложение/его модификации, без
    согласия автора(ов).
    Конченому потребителю ЗАПРЕЩАЕТСЯ выдавать себя за автора(ов) приложения.
    
    Конченый потребитель ИМЕЕТ ПРАВО модифицировать приложение как ему вздумается.

    файл LICENSE.TXT в одном говнопроэкте

    danilissimus, 17 Марта 2010

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

    +167.6

    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
    <?php
    function daybefore($j){
    $day = date('d');
    $month = date('m');
    $year = date('Y');
    for ($i=0; $i<$j; $i++) { 
    if ($day==1) {
        if ($month == 1) {
            $day = 31;
            $month = 12;
            $year = $year - 1;
        } else {
            $month = $month - 1; 
            switch ($month) {
                case 01:
                    $maxdays=31;
                    break;
                case 02:
                    $a = $year / 4;
                    $b = ceil($a);
                    if ($a==$b){                
                         $maxdays=29;
                    } else {
                          $maxdays=28;
                    }
                    break;
                case 03:
                    $maxdays=31;
                    break;
                case 04:
                    $maxdays=30;
                    break;
                case 05:
                    $maxdays=31;
                    break;
                case 06:
                    $maxdays=30;
                    break;
                case 07:
                    $maxdays=31;
                    break;
                case 08:
                    $maxdays=31;
                    break;
                case 09:
                    $maxdays=30;
                    break;
                case 10:
                    $maxdays=31;
                    break;
                case 11:
                    $maxdays=30;
                    break;
                case 12:
                    $maxdays=31;
                    break;
            }
            $day = $maxdays;
            $year = $year;
        }
    } else {
        $day = $day - 1;
        $month = $month;
        $year = $year;
    }}
    return "$year-$month-$day";
    }
    echo daybefore(3);
    ?>

    Отсюда:
    http://php.net/manual/en/function.date.php

    hdkeeper, 17 Марта 2010

    Комментарии (12)
  3. Куча / Говнокод #2810

    +124.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
    varnamebegin // начало имени новой переменной
    a // имя новой переменной
    varnameend // конец имени новой переменной
    varvaluebegin // начало значения новой переменной
    newarray // новый массив
    varvalueend // конец значения новой переменной
    varcallbegin // начало имени вызываемой переменной
    a // имя вызываемой переменной
    varcallend // конец имени вызываемой переменной
    push // добавить элементы в массив
    lcobjectsbegin // начало области добавляемых элементов
    bg // начало значения элемента массива
    codedn // code — символ, d — префикс для цифр, n — спец-символ для цифры "0"
    end // конец значения элемента массива
    bg // начало значения элемента массива
    codedo // code — символ, d — префикс для цифр, n — спец-символ для цифры "1"
    end // конец значения элемента массива
    lcobjectsend // конец области добавляемых элементов
    functioninit // аналог ()

    Создание массива с содержимым [0, 1] на одном из эзотерических ЯП. Фишка в том, что убраны все знаки препинания, цифры и т.д., оставлены лишь прописные латинские буквы.
    Интересно, как на таком ЯП будет выглядеть полностью валидная проверка E-Mail (наподобии этой — ex-parrot.com/pdw/Mail-RFC822-Address.html) ?

    eval, 17 Марта 2010

    Комментарии (7)
  4. Java / Говнокод #2809

    +144.6

    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
    public class Main {
        public static void main(String[] args) {
        	f0();//this is call of f0() from line 4
        	f0();//this is call of f0() from line 4
        }
    
        public static void f0(){
        	System.out.println("hi, I am f0");
        	Exception e = new Exception();
        	if(e.getStackTrace()[1].getLineNumber()==3){
        		f1();
        	} else if(e.getStackTrace()[1].getLineNumber()==4){
    			f2();
        	} 
        }
        
    	public static void f1(){
    		System.out.println("hi, I am f1");
    	}
    
    	public static void f2(){
    		System.out.println("hi, I am f2");
    	}
    }

    вот кусочек, который выполняется по разному в зависимости от того с какой строчки в исходном коде он вызван. Сам сочинил.

    pcherkas, 17 Марта 2010

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

    +188.6

    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
    SELECT
    CONCAT('<td align=center><input type=Checkbox name=del[] value=', t1.id, '>') AS 'X'
    ,CONCAT('<td align=center>', t1.id) AS '\#'
    ,CONCAT('<td align=center><a href=index.php?func=$func&ptab=$ptab&pid=$pid&id=',  t1.id, '>', IF(t1.name<>'', t1.name, '<i>Pending...</i>'), '</a>') AS 'Transaction ID'
    ,CONCAT('<td><a href=index.php?func=user&id=',  t2.id, '>', CONCAT(t2.fname, ' ', t2.lname), '</a>') AS 'User'
    ,CONCAT('<td align=center><a href=index.php?func=answers&ptab=order_id&pid=',  t1.order_id, '>history</a>') AS 'Med'
    ,CONCAT('<td align=right>', t1.amt, ' ') AS 'Amount'
    ,CONCAT('<td align=center style=\"font-size: 10px;\" title=\"', t1.data_ord, '\">',  LEFT(t1.data_ord, 10)) AS 'Order date'
    ,CONCAT('<td align=center style=\"font-size: 10px;\">',  IF(t1.data_pay, LEFT(t1.data_pay, 10), '<b>Not paid</b>')) AS 'Pay date'
    ,CONCAT('<td align=center style=\"font-size: 10px;\">',  IF(t1.data_send, LEFT(t1.data_send, 10), '<b>Not sent</b>')) AS 'Send date'
    ,CONCAT('<td align=center><a href=index.php?func=items&ptab=$func&pid=',  t1.id, '>', sum(t3.quant), ' Items</a>') AS '# items'
    #,CONCAT('<td align=center><a href=index.php?func=answers&ptab=order_id&pid=',  t1.order_id, '>', count(t7.id), ' answ</a>') AS '# answ'
    ,CONCAT('<td align=center>', CASE WHEN (t1.sv_type=2) THEN \"Waiting\" WHEN (t1.sv_type=-2) THEN \"<font color=FF0000><b>Rejected</b></font>\" WHEN (t1.sv_type=-1) THEN \"<font color=FF0000>Declined</font>\" WHEN (data_send AND track_num2 <> '') THEN \"<b>Re-Done</b>\" WHEN (data_send) THEN \"<b>Done</b>\" WHEN (t1.sv_type=1) THEN \"<font color=008080>Ready to ship</font>\" WHEN (data_pay) THEN \"<font color=008000>Approved</font>\" WHEN (t1.err > 0) THEN \"<font color=FF0000>Failed</font>\" ELSE \"<font color=808080>Pending</font>\" END) AS 'Status'
    ,CONCAT('<td align=center style=\"font-size: 10px;\">',  t1.doctor) AS 'D'
    ,CONCAT('<td align=center style=\"font-size: 10px;\">',  t1.bonus) AS 'B'
    ,CONCAT('<td align=center style=\"font-size: 10px;\">',  t1.err) AS 'Err'
    ,CONCAT('<td align=center style=\"font-size: 10px;\">',  t1.sv_type) AS 'S#'
    ,CONCAT('<td align=center style=\"font-size: 10px;\">',  t1.pay) AS 'PM'
    ,CONCAT('<td align=center style=\"font-size: 10px;\">',  t1.partner) AS 'P'
    ,CONCAT('<td align=center style=\"font-size: 10px;\">',  MID(t6.url, 8)) AS 'Shop'
    ,CONCAT('<tr><td colspan=19 style=\"font-size: 10px;\"><a target=\"_blank\" href=\"',  t1.referer, '\"><b>URL Referrer</b>: ', LEFT(t1.referer, 150), '</a><tr><td colspan=19 bgcolor=55555>') AS ''
    
    FROM $func t1
     и т.д.

    Такой вот sql-запрос с html разметкой. А вы говорите MVC :)

    awax, 17 Марта 2010

    Комментарии (20)
  6. SQL / Говнокод #2807

    −144.2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    SELECT
        id, description_ru, description_en,
        FLOOR(LENGTH(TRIM(description_ru))/2+0.5) AS descr_ru,
        LENGTH(TRIM(description_en)) AS `descr_en`
    FROM items
    ORDER BY descr_ru desc;

    получает id, русское описание, английское описание, а потом размеры описаний
    и сортирует по размеру русского описания.
    база в UTF-8, поэтому размеры описаний в символах решил посчитать вот таким говноспособом...
    таблица >30 000 записей.
    Говнодиверсант какой-то :)

    alexgray, 16 Марта 2010

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

    +144

    1. 1
    2. 2
    3. 3
    4. 4
    if (mysql_num_rows($res)) {while($row = mysql_fetch_assoc($res)) {
       $aSingStat[] = $row;
       }
    }

    толи строчек жалко, толи решил обфусцыровать код для меньшей узнаваемости.
    написал уже б так: if (mysql_num_rows($res)) while($row = mysql_fetch_assoc($res)) $aSingStat[] = $row;
    Тогда б я вообще не парился и дропнул нафиг строчку.

    Андрюха, не пиши больше так!
    Вот пример как надо писать http://www.sergunik.name/?p=178

    Sergunik, 16 Марта 2010

    Комментарии (22)
  8. 1C / Говнокод #2805

    −133.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
    ТаблицаДоговоров = ДоговораМенеджера.Выгрузить();
    ТаблицаДоговоров.Свернуть("Договор");
    
    		
    ЗапросПоДоговорам = новый Запрос;
    ЗапросПоДоговорам.УстановитьПараметр("НаДату", Дата);
    ЗапросПоДоговорам.УстановитьПараметр("СписокДоговоров", ТаблицаДоговоров.ВыгрузитьКолонку("Договор"));
    
    ЗапросПоДоговорам.Текст = 
    "ВЫБРАТЬ
    |	ОтветственныеПоДоговорамСрезПоследних.Договор,
    |	ОтветственныеПоДоговорамСрезПоследних.Приложение,
    |	ОтветственныеПоДоговорамСрезПоследних.ВидОтветственного,
    |	ОтветственныеПоДоговорамСрезПоследних.Ответственный,
    |	СтатусыДоговоровСрезПоследних.Статус,
    |	ПриложенияДоговоровСрезПоследних.КонецПриложения
    |ИЗ
    |	РегистрСведений.ОтветственныеПоДоговорам.СрезПоследних(&НаДату, Договор В (&СписокДоговоров)) КАК ОтветственныеПоДоговорамСрезПоследних
    |		ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.СтатусыДоговоров.СрезПоследних(&НаДату, Договор В (&СписокДоговоров)) КАК СтатусыДоговоровСрезПоследних
    |		ПО ОтветственныеПоДоговорамСрезПоследних.Договор = СтатусыДоговоровСрезПоследних.Договор
    |			И ОтветственныеПоДоговорамСрезПоследних.Приложение = СтатусыДоговоровСрезПоследних.Приложение
    |		ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ПриложенияДоговоров.СрезПоследних КАК ПриложенияДоговоровСрезПоследних
    |		ПО ОтветственныеПоДоговорамСрезПоследних.Договор = ПриложенияДоговоровСрезПоследних.Договор
    |			И ОтветственныеПоДоговорамСрезПоследних.Приложение = ПриложенияДоговоровСрезПоследних.Приложение";
    ТаблицаДоговоровИСтатусов = ЗапросПоДоговорам.Выполнить().Выгрузить();

    так вот пишет наш ведущий программист. Зачем сворачивать???

    Sameccc, 16 Марта 2010

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

    −131.6

    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
    ТаблицаДоговоров = ДоговораМенеджера.Выгрузить();
    ТаблицаДоговоров.Свернуть("Договор");
    
    		
    ЗапросПоДоговорам = новый Запрос;
    ЗапросПоДоговорам.УстановитьПараметр("НаДату", Дата);
    ЗапросПоДоговорам.УстановитьПараметр("СписокДоговоров", ТаблицаДоговоров.ВыгрузитьКолонку("Договор"));
    
    ЗапросПоДоговорам.Текст = "ВЫБРАТЬ
    								  |	ОтветственныеПоДоговорамСрезПоследних.Договор,
    								  |	ОтветственныеПоДоговорамСрезПоследних.Приложение,
    								  |	ОтветственныеПоДоговорамСрезПоследних.ВидОтветственного,
    								  |	ОтветственныеПоДоговорамСрезПоследних.Ответственный,
    								  |	СтатусыДоговоровСрезПоследних.Статус,
    								  |	ПриложенияДоговоровСрезПоследних.КонецПриложения
    								  |ИЗ
    								  |	РегистрСведений.ОтветственныеПоДоговорам.СрезПоследних(&НаДату, Договор В (&СписокДоговоров)) КАК ОтветственныеПоДоговорамСрезПоследних
    								  |		ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.СтатусыДоговоров.СрезПоследних(&НаДату, Договор В (&СписокДоговоров)) КАК СтатусыДоговоровСрезПоследних
    								  |		ПО ОтветственныеПоДоговорамСрезПоследних.Договор = СтатусыДоговоровСрезПоследних.Договор
    								  |			И ОтветственныеПоДоговорамСрезПоследних.Приложение = СтатусыДоговоровСрезПоследних.Приложение
    								  |		ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ПриложенияДоговоров.СрезПоследних КАК ПриложенияДоговоровСрезПоследних
    								  |		ПО ОтветственныеПоДоговорамСрезПоследних.Договор = ПриложенияДоговоровСрезПоследних.Договор
    								  |			И ОтветственныеПоДоговорамСрезПоследних.Приложение = ПриложенияДоговоровСрезПоследних.Приложение";
    								  
    		
    		ТаблицаДоговоровИСтатусов = ЗапросПоДоговорам.Выполнить().Выгрузить();

    так вот пишет наш ведущий программист. Зачем сворачивать???

    Sameccc, 16 Марта 2010

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

    +105.4

    1. 001
    2. 002
    3. 003
    4. 004
    5. 005
    6. 006
    7. 007
    8. 008
    9. 009
    10. 010
    11. 011
    12. 012
    13. 013
    14. 014
    15. 015
    16. 016
    17. 017
    18. 018
    19. 019
    20. 020
    21. 021
    22. 022
    23. 023
    24. 024
    25. 025
    26. 026
    27. 027
    28. 028
    29. 029
    30. 030
    31. 031
    32. 032
    33. 033
    34. 034
    35. 035
    36. 036
    37. 037
    38. 038
    39. 039
    40. 040
    41. 041
    42. 042
    43. 043
    44. 044
    45. 045
    46. 046
    47. 047
    48. 048
    49. 049
    50. 050
    51. 051
    52. 052
    53. 053
    54. 054
    55. 055
    56. 056
    57. 057
    58. 058
    59. 059
    60. 060
    61. 061
    62. 062
    63. 063
    64. 064
    65. 065
    66. 066
    67. 067
    68. 068
    69. 069
    70. 070
    71. 071
    72. 072
    73. 073
    74. 074
    75. 075
    76. 076
    77. 077
    78. 078
    79. 079
    80. 080
    81. 081
    82. 082
    83. 083
    84. 084
    85. 085
    86. 086
    87. 087
    88. 088
    89. 089
    90. 090
    91. 091
    92. 092
    93. 093
    94. 094
    95. 095
    96. 096
    97. 097
    98. 098
    99. 099
    100. 100
    using System;
    using System.Data;
    using System.Configuration;
    using System.IO;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;
    
    using NPOI.HSSF.UserModel;
    using NPOI.HPSF;
    using NPOI.POIFS.FileSystem;
    
    public class GridViewExportUtil
    {
        static HSSFWorkbook hssfworkbook;
    
        static MemoryStream WriteToStream()
        {
            //Write the stream data of workbook to the root directory
            MemoryStream file = new MemoryStream();
            hssfworkbook.Write(file);
            return file;
        }
    
        static void InitializeWorkbook()
        {
            hssfworkbook = new HSSFWorkbook();
    
            ////create a entry of DocumentSummaryInformation
            DocumentSummaryInformation dsi = PropertySetFactory.CreateDocumentSummaryInformation();
            dsi.Company = "";
            hssfworkbook.DocumentSummaryInformation = dsi;
    
            ////create a entry of SummaryInformation
            SummaryInformation si = PropertySetFactory.CreateSummaryInformation();
            si.Subject = "";
            hssfworkbook.SummaryInformation = si;
        }
        /// <param name="fileName"></param>
        /// <param name="gv"></param>
        public static void Export(string fileName, GridView gv)
        {
            HttpContext.Current.Response.Clear();
            HttpContext.Current.Response.Cache.SetCacheability(HttpCacheability.NoCache);
            HttpContext.Current.Response.Charset = System.Text.Encoding.Unicode.EncodingName;
            HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.Unicode;
            HttpContext.Current.Response.BinaryWrite(System.Text.Encoding.Unicode.GetPreamble());
            HttpContext.Current.Response.ContentType = "application/vnd.ms-excel"; // NPOI
            HttpContext.Current.Response.AddHeader(
                 "content-disposition", string.Format(
                    "attachment; filename=Report.xls"));//, fileName)); // Need .XLS file
            HttpContext.Current.Response.Clear();
    
            InitializeWorkbook();
    
            HSSFSheet sheet1 = hssfworkbook.CreateSheet("Таблица");
            //sheet1.CreateRow(0).CreateCell(0).SetCellValue("Таблица");
    
            using (StringWriter sw = new StringWriter())
            {
                    //  Create a form to contain the grid
                    Table table = new Table();
                    //  add the header row to the table
                    if (gv.HeaderRow != null)
                    {
                        GridViewExportUtil.PrepareControlForExport(gv.HeaderRow);
                        table.Rows.Add(gv.HeaderRow);
                    }
                    //  add each of the data rows to the table
                    foreach (GridViewRow row in gv.Rows)
                    {
                        GridViewExportUtil.PrepareControlForExport(row);
                        table.Rows.Add(row);
                    }
                    //  add the footer row to the table
                    if (gv.FooterRow != null)
                    {
                        GridViewExportUtil.PrepareControlForExport(gv.FooterRow);
                        table.Rows.Add(gv.FooterRow);
                    }
    
                    sheet1.DisplayGridlines = true;
    
                    HSSFCellStyle style1 = hssfworkbook.CreateCellStyle();
                    style1.Alignment = HSSFCellStyle.ALIGN_CENTER;
    
                    sheet1.SetColumnWidth(0, 10000);
                    sheet1.SetColumnWidth(1, 5000);
                    sheet1.VerticallyCenter = true;
    
                    for (int j = 2; j < table.Rows[0].Cells.Count; j++)
                    {
                        sheet1.SetColumnWidth(j, 4000);
                        sheet1.SetDefaultColumnStyle(short.Parse(j.ToString()), style1);
                    }
    
                    double Temp=0;

    Nemerle, 16 Марта 2010

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