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

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

    +165

    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
    <? foreach (  $menus as $menu  ){ ?>
         <li class="menu-item menu-item-type-post_type"><a href="<?=($menu->link) ?>"><?=desafelySqlStr($menu->name) ?></a>
         <?    $submenus = ggsql (  " select * from #__menu where parent=".$menu->id  ); 
         
         if (  count($submenus)>0  ){
          ?><ul class="sub-menu"><?
          foreach (  $submenus as $submenu){
           ?><li><a href="<?=($submenu->link) ?>"><?=desafelySqlStr($submenu->name) ?></a></li><?
          }
          ?><span></span></ul><?
         }
         ?></li>
        <? } ?>

    Друг устроился на работу верстальщиком, попросил помочь разобраться с этим кодом

    [12:56:24] nolka: чо за desafelySqlStr?
    [12:56:27] nolka: кто это писал?
    [12:56:37] anonymous: тут главный какой-то
    [12:56:41] anonymous: он все время это пишет
    [12:56:43] anonymous: а чего?
    [12:56:56] nolka: дать пезды ему за это и отправить на урановые рудники блять
    [12:57:08] anonymous: :) Почему?
    [12:57:28] nolka: ты сам щас ответишь себе на этот вопрос
    [12:57:33] nolka: тебе нравится такой код?
    [12:57:39] nolka: стиль кодинга такой
    [12:58:29] anonymous: еба еба тут а не код
    [12:58:37] anonymous: я уже с ума схожу за 3 дня

    nolka4, 15 Сентября 2010

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

    +165

    1. 1
    2. 2
    $res = explode(" ", $price);		
    $price = trim(str_replace(".", "", str_replace(",", "", substr(trim($res[0]), 0, strlen(trim($res[0])) - 2))));

    Изначально в переменной $price строка такого вида: 144.07 РУБ.
    Судя по всему автор хотел таким образом получить из нее целое значение

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

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

    +165

    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
    case  KEY_F9: {
    			if ( !strcmp( chlist->gettype(), "ethernet" ) ) {
    				/* Редактор канала Ethernet */
    				char buf[0x100];
    				chlist->gen_path_chan( CHANCONFDIR, "/m.cfg", buf );
    				//
    				tethcfgedit* edit = new tethcfgedit( getscr(), buf );
    				edit->layer = layer;
    				edit->Run();
    				delete edit;
    			} else if ( !strcmp( chlist->gettype(), "gprs" ) ) {
    				/* Редактор канала GPRS */
    				char buf[0x100];
    				chlist->gen_path_chan( CHANCONFDIR, "", buf );
    				//
    				tgprscfgedit* edit = new tgprscfgedit( getscr(), buf );
    				edit->layer = layer;
    				edit->Run();
    				delete edit;
    			} else if ( !strcmp( chlist->gettype(), "gsm" ) ) {
    				/* Редактор канала GSM */
    				char buf[0x100];
    				chlist->gen_path_chan( CHANCONFDIR, "", buf );
    				//
    				tgsmcfgedit* edit = new tgsmcfgedit( getscr(), buf );
    				edit->layer = layer;
    				edit->Run();
    				delete edit;
    			} else if ( !strcmp( chlist->gettype(), "gsppp" ) ) {
    				/* Редактор канала GS (пакетный) */
    				char buf[0x100];
    				chlist->gen_path_chan( CHANCONFDIR, "", buf );
    				//
    				tgspppcfgedit* edit = new tgspppcfgedit( getscr(), buf );
    				edit->layer = layer;
    				edit->Run();
    				delete edit;
    			} else if ( !strcmp( chlist->gettype(), "gs" ) ) {
    				/* Редактор канала GS (прямой) */
    				char buf[0x100];
    				chlist->gen_path_chan( CHANCONFDIR, "", buf );
    				//
    				tgscfgedit* edit = new tgscfgedit( getscr(), buf );
    				edit->layer = layer;
    				edit->Run();
    				delete edit;
    			} else if ( !strcmp( chlist->gettype(), "radio" ) ) {
    				/* Редактор канала радиомодема */
    				char buf[0x100];
    				chlist->gen_path_chan( CHANCONFDIR, "", buf );
    				//
    				tradiocfgedit* edit = new tradiocfgedit( getscr(), buf );
    				edit->layer = layer;
    				edit->Run();
    				delete edit;
    			} else if ( !strcmp( chlist->gettype(),"cbs" ) ) {
    				/* Редактор канала Ethernet */
    				char buf[0x100];
    				chlist->gen_path_chan( CHANCONFDIR,"",buf );
    				//
    				tcbscfgedit* edit=new tcbscfgedit( getscr(),buf );
    				edit->layer = layer;
    				edit->Run();
    				delete edit;
    			} else if ( !strcmp( chlist->gettype(), "ptsn" ) ) {
    				/* Редактор канала GSM */
    				char buf[0x100];
    				chlist->gen_path_chan( CHANCONFDIR, "", buf );
    				//
    				tptsncfgedit* edit = new tptsncfgedit( getscr(), buf );
    				edit->layer = layer;
    				edit->Run();
    				delete edit;
    			}
    ......

    Кусок case'a, где запускается редактор настроек соотвествующего канала связи. Код из одной встроенной железки.

    vollmond, 11 Сентября 2010

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

    +165

    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
    function urldecode(code) {
            code = escape(code);
            code = code.replace(/\+/g,' ');
            code = code.replace(/%21/g,'!');
            code = code.replace(/%22/g,'"');
            code = code.replace(/%23/g,'#');
            code = code.replace(/%24/g,'$');
            code = code.replace(/%2D/g,'-');
            code = code.replace(/%5E/g,'^');
            code = code.replace(/%26/g,'&');
            code = code.replace(/%B9/g,'№');
            code = code.replace(/%3B/g,';');
            code = code.replace(/%25/g,'%');
            code = code.replace(/%3A/g,':');
            code = code.replace(/%3F/g,'?');
            code = code.replace(/%28/g,'(');
            code = code.replace(/%29/g,')');
    
    		code = code.replace(/%BF/g,'ї');
    		code = code.replace(/%AF/g,'Ї');
    		code = code.replace(/%B3/g,'і');
    		code = code.replace(/%B2/g,'І');
    		code = code.replace(/%BA/g,'є');
    		code = code.replace(/%AA/g,'Є');
    
            code = code.replace(/%C0/g,'А');
    [от ^ до \/]
            code = code.replace(/%DF/g,'Я');
    
            code = code.replace(/%E0/g,'а');
    [аналогично]
            code = code.replace(/%FF/g,'я');
    
            return code;
    }

    http://informer.gismeteo.ru/getcode/js/decode.js
    -Они забыли массив!
    -Говнокодеры!

    ReallyBugMeNot, 08 Сентября 2010

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

    +165

    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
    class microTimer {
    	function start() {
    		global $starttime;
    		$mtime = microtime();
    		$mtime = explode( ' ', $mtime );
    		$mtime = $mtime[1] + $mtime[0];
    		$starttime = $mtime;
    	}
    	function stop() {
    		global $starttime;
    		$mtime = microtime();
    		$mtime = explode( ' ', $mtime );
    		$mtime = $mtime[1] + $mtime[0];
    		$endtime = $mtime;
    		$totaltime = round( ($endtime - $starttime), 5 );
    		return $totaltime;
    	}
    }

    DLE 9.0

    Morgan, 06 Сентября 2010

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

    +165

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    if ( p->m_p ) 
    {
          m_p = p->m_p;
    }
    else 
    {
          m_p = NULL;
    }

    Мля, ну а вдруг

    J0hnny, 02 Сентября 2010

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

    +165

    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
    if ($date_reg_2!="0000-00-00 00:00:00")
      	{
      	$start_date_array_2 = explode (" ",$date_reg_2);
      	$start_time_array_2 = explode (":",$start_date_array_2[1]);
      	$time_base_2 = $start_time_array_2[0].":".$start_time_array_2[1];
      	$request_date_start_2 = $start_date_array_2[0]." ".$time_base_2;
      	$request_time_start_2 = $time_base_2.":00";
      	}
      	 if($date_do_array[0]!="0000-00-00")
            {
            $request_date_start_2 = $date_do_array[0]." ".$time_do_array[0].":".$time_do_array[1];
            }
    	if (date("Y-m-d H:m")>$request_date_start_2)
    	{
    	if ($con_from_bill=='0') $color = "#FED0D0";
    	elseif ($time_online<$request_time_start_2&&$con_from_bill==0) $color = "#CAF0BC";
    	else if ($con_from_bill==1||$status==5) $color = "#CAF0BC";
    	else $color = "#FED0D0";
            }
            else
            {
            if ($date_perezvon_array[0]!='0000-00-00' && $perezvon=='0')$color = "#F6FC48";
            else $color = "#ffffff";
            
            }
            
             if ($date_do_array[0]!="0000-00-00") $time_base = $time_do_array[0].":".$time_do_array[1];
            else $time_base =$start_time_array[0].":".$start_time_array[1];
             if($date_do_array[0]!="0000-00-00" && $start_date_array[0]==$date[$w])
            {
            $color = "#D2EAFD";
            }
            else $color = $color;
            
             if (date("Y-m-d")>$day_today)
    	{
    	if ($con_from_bill=="0" && $status != 5) $color = "#F51F1F";
    	else $color = "#CAF0BC";
    	
    	}
    	else  $color= $color;
        
            $url_edit = "/start/incoming_info.php?callid=$callid&teamid=$teamid&from=from_connect";
        if ($date_do!="0000-00-00 00:00:00" && $date[$w]==$start_date_array[0])$ahref = "<a href=\"#\" class=\"hint\" onMouseover=\"showhint('$info_request', this, event, '250px')\"><span style=\"background-color:$color;font-size:8pt;font-family:arial,helvetica,sans serif;color: #969595;font-weight:normal;\">";
            else $ahref="<A HREF=\"javascript:;\" onClick=\"openHorWin('$url_edit')\" class=\"link_incoming\" style=\"background-color:$color;width:100%\"><span style=\"color:$text_color\">";
      if($status!="33" && $status!="34") $time_info = $time_info."<nobr>$ahref $time_base - $incoming </a></span><nobr><br>";
      	else
      	{				
    		
    		if ( $status == 34 && $cancel == 1 ) $color = "#FF8A42";
    		else if      ( $connect_poe == 0 )  $color = "#72AFFF";
    		else if ( $connect_poe == 1 )  $color = "#CAF0BC";
    		else      					   $color = "#FED0D0";
    		
    		if ( $status == "33" )
    	        $url_edit = "/start/psevdo.php?do=info&callid=$callid";
    		else
    			$url_edit = "/start/poe.php?callid=$callid";
    	
      	$start_date_array_33 = explode (" ",$date_reg_2);
      	$start_time_array_33 = explode (":",$start_date_array_33[1]);
      	$time_base_33 = $start_time_array_33[0].":".$start_time_array_33[1];
      	 $ahref="<A HREF=\"$url_edit\"   onClick=\"openHorWin2()\" target=\"displayWindow\"   class=\"link_incoming\" style=\"background-color:$color;width:100%;text-decoration:none;\"><span style=\"color:$text_color\">";
        	 $comments = substr($comments,0,20);
    		 $incoming = $incoming == "., -0" ? $comments : $incoming;
        	 $time_info = $time_info."<nobr>$ahref $time_base - $incoming</a></span><nobr><br>";
      	}
      	}

    Долго и упорно пытался вставить свой "если" в этот код никак не мог найти куда лучше его вставить :-D
    Люди не пишита так никогда, кому то потом придется в этом ковырятся...

    jackkum, 30 Августа 2010

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

    +165

    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
    <?php
    
    $luser=$this->get_authorized_user();
    if (!$luser) retuen -101;
    
    // ...
    
      if (!$lpwd) 
      {
       $db->disconnect();
       return -102;
      }
    
    // ...
    
     if (!is_array($array)){$db->disconnect();return -103;}
      
     if (0 == count($array)){$db->disconnect();return -104;}
    
    // ...
    
     if (!is_array($array)){$db->disconnect();return -105;}
      
     if (0 == count($array)){$db->disconnect();return -106;}

    орфография и правописание сохранены

    вот таких отрицательных "статусов" по всему проекту просто миллион. Только одному автору известно, что они значат.

    и работает это все с неправильно написанным "return" в первом блоке

    user654321, 23 Августа 2010

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

    +165

    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
    // Обновление надписи "Мои покупки"
    var file_f_basket = "/personal/cart/basket.php";
    
    //удаление пробелов, возврата каретки
    function trim(string)
    {
    	return string.replace(/(^\s+)|(\s+$)/g, "");
    }
    
    function BasketDeleteByID(id) {
    	BX.showWait();
    	jQuery.get(file_f_basket,{action:"DELETE",ID:id}, 
    	 function(data) 
    			{
    				if (trim(data) == "Success") 
    				{
    					var old = document.getElementById("record_" + id);
    					old.parentNode.removeChild(old);
    					SaleBasketUpdateTotal();
    				}
    				else if (trim(data) == "Empty")
    				{
    					var old = document.getElementById("goods");
    					old.parentNode.removeChild(old);
    					var old = document.getElementById("basket");
    					var mes = old.parentNode;
    					old.parentNode.removeChild(old);
    					var text = document.createTextNode("");
    					text.nodeValue = "Ваша корзина пуста.";
    					var elem = document.createElement("font");
    					elem.appendChild(text);
    					document.body.appendChild(elem);
    					elem.className="errortext";
    					mes.appendChild(elem);
    				}
    				
    				BasketUpdateLine();
    				BX.closeWait();
    				}
    				
    	);
    }
    function SaleBasketUpdateTotal() {
    
        var meForm   = document.getElementById('goods');
    
        var spanArray  = meForm.getElementsByTagName('span');
    
        var allSumm = 0;
    
        for (j = 0; j < spanArray.length; j++) {
            if (spanArray[j].className == "goodtotal")
               allSumm = allSumm + parseFloat(spanArray[j].innerHTML);
        }
    
        document.getElementById('total_sum').innerHTML = allSumm;
    }
    /*
     * Входные параметры функции:
     *    quant     - количество товара
     *    prise     - стоимость за единицу
     *    updElemId - идентификатор элемента, в котором требуется обновить данные (по конкретному товару)
     **/
     function SaleBasketUpdateTotalById(quant, price, updElemId)
     {
           
         var anum = /(^\d+$)|(^\d+\.\d+$)/;
         if (!anum.test(quant)) {
           
             alert('Введенное значение не является числом!');
             return;
         }
           
         goodSum = quant * price;
      
         document.getElementById(updElemId).innerHTML = goodSum;
    
    	 SaleBasketUpdateTotal();     
     }
     function isNumKeyPressed(_this,_event) {
    		if (!_event) _event = event;
    		var q = _this;
    		
    		if ((_event.keyCode > 8 || _event.keyCode < 57) & (_event.keyCode != 0)) return true;
    		if ((_event.charCode < 8 || _event.charCode > 57)) return false;
    		if (q.value.length >= 2) return false;	
    	}
    
    function BasketUpdateLine()
    {
    	jQuery.get(file_f_basket, {action: "COUNT"}, function(data)
    			{
    				if (parseInt(trim(data)) > 0 )
    					jQuery("#basket_line").html("<a href='/personal/cart/' class='basket-line'>Мои покупки (" + trim(data) + ")</a>");
    				else
    					jQuery("#basket_line").html("Мои покупки");
    			}
    	);

    Это мой гавнокодище... хыххы

    Ded_Maksim, 23 Августа 2010

    Комментарии (78)
  11. PHP / Говнокод #4065

    +165

    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
    <?php
    //...
     $GrabURL = "http://www.google.com/search?q=".$url."&sourceid=opera&num=100&ie=utf-8&oe=utf-8&start=".$page;
      $x=getfile($GrabURL); //автор сделал велосипед-аналог file_get_contents
      $handle = fopen("rip_google.txt","w+");
      fwrite($handle, $x);
      fclose($handle);
      $screen = file("rip_google.txt");
      $content = implode("",$screen);
      // вытягиваем линк
      preg_match_all("!\<h2 class=r\>\<a href=\"(http:.*?)[\"|&]!si" ,$content, $out1, PREG_PATTERN_ORDER);
    //...
    ?>

    Код из парсера гугла. Файл rip_google.txt больше реально нигде не используется. Так же порадовала комбинация строк 8-9.

    mr.The, 22 Августа 2010

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