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

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

    +50

    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
    <?php
    		
    		$confs = array();
    		
    		$q = new WP_Query(array('post_type' => 'conference',
    					'posts_per_page' => -1,
    					'meta_key' => 'cd-conference-date-start',
    					'orderby' => 'meta_value_num',
    					'order' => 'DESC'
    					));
    		while($q->have_posts()): $q->the_post();
    		$confs[date("Y", get_post_meta($post->ID, 'cd-conference-date-start', true))][] = array('conf_title' => get_the_title(),
    												      'conf_date_start' => get_post_meta($post->ID, 'cd-conference-date-start', true),
    												      'conf_date_end' => get_post_meta($post->ID, 'cd-conference-date-end', true),
    												      'conf_link' => get_permalink(),
    												      'conf_city' => '', /* Город */
    												      'conf_icon' => '' /* Иконка */
    												      );
    		endwhile;
    
    		wp_reset_postdata();
    		
    		foreach($confs as $key => $value)
    		{
    		?>
                    <h1 class="year"><?=$key;?></h1>
    		<?php
    		//print_r($value);
    		?>
                    <div class="conferences">
    		  <?php foreach($value as $val)
    		  {
    		  //print_r($val);
    		  ?>
                      <div class="conf">
                        <div class="leftcol">
                          <a href="<?=$val["conf_link"];?>"><img src="<?=$val["conf_icon"];?>"></a>
                        </div>
                        <div class="rightcol">
                          <a href="<?=$val["conf_link"];?>"><h2><?=$val["conf_title"];?></h2></a>
                          <span class="date-place">
    			<?php
    			//setlocale(LC_TIME, "ru_RU");
    			if(date("m", $val["conf_date_start"]) == date("m", $val["conf_date_end"])) $confdays = date("j", $val["conf_date_start"])."-".date("j", $val["conf_date_end"])." ".mb_strtolower(strftime("%B", $val["conf_date_start"]));
    			else
    			{
    				$confdays = date("j", $val["conf_date_start"])." ".mb_strtolower(strftime("%B", $val["conf_date_start"]))." - ".date("j", $val["conf_date_end"])." ".mb_strtolower(strftime("%B", $val["conf_date_end"]));
    			}
    			?>
    			<?=$confdays;?>, <?=$val["conf_city"];?>
    		      </span>
                        </div>
                      </div>
    		  <?php
    		  }
    		  ?>
                    </div>
    		
    		<?php } ?>

    varg242, 23 Июня 2012

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

    +70

    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
    public boolean getOrgType() throws SIRException {
            int type = StoredProcedures.getOrgType(getOrgId());
            boolean result = true;
            try {
                if (type == 3 || type == 4) {
                    result = false;
                }
                return result;
            } catch (NumberFormatException e) {
                log.error(e.getMessage(), e);
                throw new SIRException(e.getMessage(), "Ошибка кода организации");
            } catch (Exception e) {
                log.error(e.getMessage(), e);
                throw new SIRException(e.getMessage(), "Ошибка кода организации");
            }
        }

    stalv, 15 Июня 2012

    Комментарии (12)
  4. Си / Говнокод #10612

    +140

    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
    code unsigned char strings[] = {
    '-','-','-','-','-','-',        'Ь','Л','O','P','А','П',        'Г','O','P','П',' ',' ',  // 1 ввод пароля для параметров                 1
    ' ',' ',' ',' ',' ',' ',        ' ',' ',' ',' ',' ',' ',        'Г','O','P','П',' ',' ',  // 2 ввод номера параметра                   2
    '-','-','-','-',' ',' ',        ' ',' ',' ',' ',' ',' ',        'Н','И','П',' ',' ',' ',  // 3 ввод пин-кода                           3
    ' ',' ',' ',' ',' ',' ',        '-','-','-','-','-','-',        'Л','P','A','П',' ',' ',  // 4 ввод пароля на калибровку              4
    'P','O','Б','I','Ъ','В',        'П',' ',' ',' ',' ',' ',        'P','8','O','П',' ',' ',  // 5 выбор канала калибровки                 5
    '-','-','-','-','-','-',        'Ь','Л','О','Р','А','П',        'И','P',' ',' ',' ',' ',  // 6 ввод пароля нач. инициализации          6
    't','r','A','t','S',' ',        '1','t','F','E','L',' ',        'И','Р',' ',' ',' ',' ',  // 7 инициализация сторон                    7
    '0','0','0',' ',' ',' ',        ' ',' ',' ',' ',' ',' ',        'H','4','У','Р',' ',' ',  // 8 ввод стоимости                          8
    ' ',' ',' ',' ',' ',' ',        '0','0','0',' ',' ',' ',        'H','4','У','P',' ',' ',  // 9 дозы                                    9
    ' ','П',' ',' ',' ','C',        'П','А','З',' ',' ',' ',        'И','Р',' ',' ',' ',' ',  // 10 завершение инициализации сторон         10
    'P','O','Б','I','Ъ','В',        ' ','П',' ',' ',' ','C',        'И','Р',' ',' ',' ',' ',  // 11 отображение канала для инициализации    11
    ' ',' ',' ',' ',' ',' ',        ' ',' ',' ',' ',' ',' ',        'Р','8','О','П',' ',' ',  // 12 ввод дозы для калибровки                12
    ' ',' ',' ',' ',' ',' ',        ' ',' ',' ',' ',' ',' ',        ' ',' ',' ',' ',' ',' ',  // 13 экно просмотра суммарника               13
    ' ',' ',' ',' ',' ',' ',        ' ',' ',' ',' ',' ',' ',        'Р','8','О','П',' ',' ',  // 14 просмотр весового коэффициента             14
    ' ',' ',' ',' ',' ',' ',        ' ',' ',' ',' ',' ',' ',        'Р','8','0','П',' ',' ',  // 15 просмотр пин-кода последней калибровки  15
    'A','3','O','d',' ',' ',        ' ',' ',' ',' ',' ',' ',        'Р','8','О','П',' ',' ',  // 16 ввод начальной дозы калибровки          16
    'C','O','P','Б','С',' ',        ' ',' ',' ',' ',' ',' ',        'И','Р',' ',' ',' ',' ',  // 17 запрос очистки всех привязок            17
    ' ',' ',' ',' ',' ','С',        ' ',' ',' ',' ',' ',' ',        'И','Р',' ',' ',' ',' ',  // 18 шаблон для ротации индикаторов          18
    'С','О','Р','П','А','З',        ' ',' ',' ',' ',' ',' ',        'Н','4','У','Р',' ',' ',  // 19 запрос подтверждения с ПК об отпуске на литры  19
    '1','-','С','А','Ч',' ',        '2','-','Б','О','С',' ',        '3','0','И','Р',' ',' ',  // 20 меню инициализации
    ' ',' ',' ',' ',' ',' ',        ' ',' ',' ',' ',' ',' ',        'С','А','Ч',' ',' ',' ',  // 21 меню редактирования даты времени        13
    };

    boolivar, 07 Июня 2012

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

    +167

    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
    var pic_jpg = /(\.jpg)$/ig;
    var pic_jpeg = /(\.jpeg)$/ig;
    var pic_png = /(\.png)$/ig;
    var pic_bmp = /(\.bmp)$/ig;
     var a = $("a");
    $.each(a, function (i, val) {
    		var src = $(val).attr("href");
    		if (src !== undefined) {
    				if (src.match(pic_jpg)) {
    						AppendImage(i, src, 'a');
    				}
    				if (src.match(pic_jpeg)) {
    						AppendImage(i, src, 'a');
    				}
    				if (src.match(pic_png)) {
    						AppendImage(i, src, 'a');
    				}
    				if (src.match(pic_bmp)) {
    						AppendImage(i, src, 'a');
    				}
    		}
    });

    DarkThinker, 06 Июня 2012

    Комментарии (12)
  6. 1C / Говнокод #10543

    −119

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    Если ПроверятьСкидкиРассчитаны И
            ИспользоватьАвтоматическиеСкидки И
            Не ДокументПродажи.СкидкиРассчитаны И
            ДокументПродажи.ХозяйственнаяОперация <> Перечисления.ХозяйственныеОперации.ПередачаНаКомиссию Тогда
        ПроверятьСкидкиРассчитаны = Истина;
    КонецЕсли;

    Управление торговлей (11-я редакция)

    Argonavt, 04 Июня 2012

    Комментарии (12)
  7. SQL / Говнокод #10433

    −118

    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
    SELECT x.org_spec_id, (
                    SELECT count(c.id) FROM customers c , government_customers_require gcr               
                    WHERE c.org_spec_id=x.org_spec_id AND gcr.customer_id=c.id                
                ) as bal_ins, 
                sum(x.type_b1) as type_b1, sum(x.type_b2) as type_b2, sum(x.type_b3) as type_b3, sum(x.bus_debit) as bus_debit,
                sum(x.gost_ac1) as gost_ac1, sum(x.gost_ac2) as gost_ac2, sum(x.nav_ac1) as nav_ac1, sum(x.nav_ac2) as nav_ac2,
                \'-\' as price1, \'-\' as price2, \'-\' as price3, \'-\' as price4, sum(x.scope_b1) as scope_b1,
                sum(x.scope_b2) as scope_b2, sum(x.scope_b3) as scope_b3, sum(x.scope_b4) as scope_b4, sum(x.scope_b5) as scope_b5,
                sum(x.scope_b6) as scope_b6, sum(x.add11) as add11, sum(x.add12) as add12, sum(x.add21) as add21, 
                sum(x.add22) as add22, sum(x.add23) as add23, sum(x.add31) as add31, sum(x.add32) as add32, sum(x.add33) as add33
                
                FROM (SELECT c.org_spec_id, b.id , c.id as bal_ins,
                case when bsd.id is not null then 1 else 0 end as bus_debit,
                case when bsd.id is null then case when bm.type_id = 1 then 1 else 0 end else 0 end as type_b1, 
                case when bsd.id is null then case when bm.type_id = 2 then 1 else 0 end else 0 end as type_b2, 
                case when bsd.id is null then case when bm.type_id = 3 then 1 else 0 end else 0 end as type_b3,            
                case when bsd.id is null AND bm.type_id = 1 then case when gst.accepted then 1 else 0 end else 0 end as gost_ac1,
                case when bsd.id is null AND bm.type_id = 1 then case when gst.accepted then 0 else 1 end else 0 end as gost_ac2,
                case when bsd.id is null AND bm.type_id = 1 then case when nav.id is not null then 1 else 0 end else 0 end as nav_ac1,
                case when bsd.id is null AND bm.type_id = 1 then case when nav.id is not null then 0 else 1 end else 0 end as nav_ac2,
                case when bsd.id is null AND b.scope_id = 2 then 1 else 0 end as scope_b1,
                case when bsd.id is null AND b.scope_id = 1 then 1 else 0 end as scope_b2,
                case when bsd.id is null AND b.scope_id = 3 then 1 else 0 end as scope_b3,
                case when bsd.id is null AND b.scope_id = 4 then 1 else 0 end as scope_b4,
                case when bsd.id is null AND b.scope_id = 6 then 1 else 0 end as scope_b5,
                case when bsd.id is null AND b.scope_id = 5 then 1 else 0 end as scope_b6,
                case when bsd.id is null then case when add1.id is not null then case when add1.selected_variant=\'on\' then 1 else 0 end else 1 end else 0 end as add11,
                case when bsd.id is null then case when add1.id is not null then case when add1.selected_variant=\'off\' then 1 else 0 end else 0 end else 0 end as add12,
                case when bsd.id is null then case when add2.id is not null then case when add2.selected_variant=\'on\' then 1 else 0 end else 0 end else 0 end as add21,
                case when bsd.id is null then case when add2.id is not null then case when add2.selected_variant=\'off\' then 1 else 0 end else 0 end else 0 end as add22,
                case when bsd.id is null then case when add2.id is not null then case when add2.selected_variant=\'no\' then 1 else 0 end else 1 end else 0 end as add23,
                case when bsd.id is null then case when add3.id is not null then case when add3.selected_variant=\'on\' then 1 else 0 end else 0 end else 0 end as add31,
                case when bsd.id is null then case when add3.id is not null then case when add3.selected_variant=\'off\' then 1 else 0 end else 0 end else 0 end as add32,
                case when bsd.id is null then case when add3.id is not null then case when add3.selected_variant=\'no\' then 1 else 0 end else 1 end else 0 end as add33

    asfalanaft, 29 Мая 2012

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

    +71

    1. 1
    2. 2
    3. 3
    $separator = '';
    for( $i = 0; $i < 136; $i++ ) { $separator .= '—'; }
    $sql_compile .= htmlspecialchars( $data ) . "\n" . $separator . "\n";

    Для вывода в html документе... Видимо <hr /> вдруг перестал работать.
    * Из ряда скорее извращений, нежели — «Г».

    nethak, 25 Мая 2012

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

    −28

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    template<typename T, int $1, int _2> struct Matrix
    {
        ...
        Vector<T, _2> vectors[$1];
    };

    HaskellGovno, 21 Мая 2012

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

    +161

    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
    function validate() {
                var at = document.getElementById("email").value.indexOf("@");
                var age = document.getElementById("age").value;
                var fname = document.getElementById("fname").value;
                submitOK = "true";
    
                if (fname.length > 10) {
                    alert("Имя не должно содержать более 10 знаков");
                    submitOK = "false";
                }
                if (isNaN(age) || age < 1 || age > 100) {
                    alert("Возраст должен быть от 1 до 100");
                    submitOK = "false";
                }
                if (at == -1) {
                    alert("Неправильный e-mail");
                    submitOK = "false";
                }
                if (submitOK == "false") {
                    return false;
                }
            }

    Джордж Буль в гробу перевернулся.

    Arigato, 14 Мая 2012

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

    −102

    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
    ВыборкаДетальныеЗаписи = Результат.Выбрать();
    	
    	Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
    		Продукт=ВыборкаДетальныеЗаписи.Продукт;
    		ЕдИзм=ВыборкаДетальныеЗаписи.ЕдИзмПродукта;
    		Количество=ВыборкаДетальныеЗаписи.КолвоПродукта;
    		Если Прав(ВыборкаДетальныеЗаписи.Продукт,6)="1/2 кг" ИЛИ 
    			Прав(ВыборкаДетальныеЗаписи.Продукт,5)="1/2кг"  ИЛИ 
    			Прав(ВыборкаДетальныеЗаписи.Продукт,6)="1\2 кг" ИЛИ
    			Прав(ВыборкаДетальныеЗаписи.Продукт,5)="1\2кг"  ИЛИ 
    			Прав(ВыборкаДетальныеЗаписи.Продукт,9)="(500  гр)"  ИЛИ 
    			Прав(ВыборкаДетальныеЗаписи.Продукт,5)="0,5кг" ИЛИ 
    			Прав(ВыборкаДетальныеЗаписи.Продукт,6)="(05кг)"   Тогда
    			Цена=Цена+ВыборкаДетальныеЗаписи.ЦенаПродукта/2;
    			
    		ИначеЕсли Прав(ВыборкаДетальныеЗаписи.Продукт,7)="1/2,5кг"  ИЛИ 
    			Прав(ВыборкаДетальныеЗаписи.Продукт,8)="(250 гр)" ИЛИ 
    			Прав(ВыборкаДетальныеЗаписи.Продукт,9)="(0,25 кг)" ИЛИ
    			Прав(ВыборкаДетальныеЗаписи.Продукт,6)="0,25кг"   Тогда
    			Цена=Цена+ВыборкаДетальныеЗаписи.ЦенаПродукта*0.25;
    		ИначеЕсли Прав(ВыборкаДетальныеЗаписи.Продукт,6)="1/4кг." ИЛИ 
    			Прав(ВыборкаДетальныеЗаписи.Продукт,5)="1/4кг"   ИЛИ 
    			Прав(ВыборкаДетальныеЗаписи.Продукт,6)="1/4 кг"  ИЛИ 
    			Прав(ВыборкаДетальныеЗаписи.Продукт,7)="1/4 кг."  ИЛИ 
    			Прав(ВыборкаДетальныеЗаписи.Продукт,5)="0,4кг"  ИЛИ 
    			Прав(ВыборкаДетальныеЗаписи.Продукт,3)="1/4"   Тогда
    			Цена=Цена+ВыборкаДетальныеЗаписи.ЦенаПродукта*0.4;
    		ИначеЕсли Прав(ВыборкаДетальныеЗаписи.Продукт,8)="0,085 кг"  ИЛИ 
    			Прав(ВыборкаДетальныеЗаписи.Продукт,9)="(0,085кг)"   Тогда
    			Цена=Цена+ВыборкаДетальныеЗаписи.ЦенаПродукта*0.085;
    		ИначеЕсли Прав(ВыборкаДетальныеЗаписи.Продукт,5)="0,7кг"  Тогда
    			Цена=Цена+ВыборкаДетальныеЗаписи.ЦенаПродукта*0.7;
    		ИначеЕсли Прав(ВыборкаДетальныеЗаписи.Продукт,8)="(100 гр)"  Тогда
    	        Цена=Цена+ВыборкаДетальныеЗаписи.ЦенаПродукта*0.1;
    		ИначеЕсли Прав(ВыборкаДетальныеЗаписи.Продукт,8)="(350 гр)"  ИЛИ
    			Прав(ВыборкаДетальныеЗаписи.Продукт,6)="350гр."  ИЛИ 
    			Прав(ВыборкаДетальныеЗаписи.Продукт,6)="0,35кг"  ИЛИ 
    			 Прав(ВыборкаДетальныеЗаписи.Продукт,7)="0,35 кг" Тогда
     	        Цена=Цена+ВыборкаДетальныеЗаписи.ЦенаПродукта*0.35;
    		ИначеЕсли Прав(ВыборкаДетальныеЗаписи.Продукт,8)="(450 гр)" ИЛИ
    			Прав(ВыборкаДетальныеЗаписи.Продукт,9)="(0,45 кг)" ИЛИ 
    			Прав(ВыборкаДетальныеЗаписи.Продукт,6)="0,45кг"  Тогда
                Цена=Цена+ВыборкаДетальныеЗаписи.ЦенаПродукта*0.45;
    		ИначеЕсли Прав(ВыборкаДетальныеЗаписи.Продукт,5)="1/3кг"  ИЛИ 
    			Прав(ВыборкаДетальныеЗаписи.Продукт,8)="(0,3 кг)" ИЛИ
    			Прав(ВыборкаДетальныеЗаписи.Продукт,5)="0,3кг"   Тогда
    		    Цена=Цена+ВыборкаДетальныеЗаписи.ЦенаПродукта*0.3;
    		ИначеЕсли Прав(ВыборкаДетальныеЗаписи.Продукт,8)="1\1,8 кг" ИЛИ 
    			Прав(ВыборкаДетальныеЗаписи.Продукт,8)="(0,18кг)"   Тогда
    			Цена=Цена+ВыборкаДетальныеЗаписи.ЦенаПродукта*0.18;
    		ИначеЕсли  Прав(ВыборкаДетальныеЗаписи.Продукт,8)="1/1,5 кг" Тогда
    			Цена=Цена+ВыборкаДетальныеЗаписи.ЦенаПродукта*0.15;
    		ИначеЕсли Прав(ВыборкаДетальныеЗаписи.Продукт,8)="(0,12кг)" Тогда 
    			Цена=Цена+ВыборкаДетальныеЗаписи.ЦенаПродукта*0.12;
    		ИначеЕсли Прав(ВыборкаДетальныеЗаписи.Продукт,7)="0,08 кг" Тогда 
    			Цена=Цена+ВыборкаДетальныеЗаписи.ЦенаПродукта*0.08;
    		ИначеЕсли Прав(ВыборкаДетальныеЗаписи.Продукт,7)="0,075кг" Тогда 
    			Цена=Цена+ВыборкаДетальныеЗаписи.ЦенаПродукта*0.75;
    		ИначеЕсли  Прав(ВыборкаДетальныеЗаписи.Продукт,6)="0,03кг" Тогда
    			Цена=Цена+ВыборкаДетальныеЗаписи.ЦенаПродукта*0.03;
    		ИначеЕсли  Прав(ВыборкаДетальныеЗаписи.Продукт,6)="0,23кг" Тогда
    			Цена=Цена+ВыборкаДетальныеЗаписи.ЦенаПродукта*0.23;
    	
    		Иначе
    			Цена=Цена+ВыборкаДетальныеЗаписи.ЦенаПродукта;
    		КонецЕсли;
    		
    	КонецЦикла;

    Отчет почему-то не всегда работал :)

    sipkin, 14 Мая 2012

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