1. PHP / Говнокод #18897

    +6

    1. 1
    http://habrahabr.ru/post/269199/

    "GUI" на "PHP", да еще и с компиляцией в ".exe". Ебанный стыд.
    Родина им дала плюсы, PyQt, java и дохуя чего еще — пиши! Пиши на нормальных языках, блядь! Не хочу, хочу жрать говно! Что такое? Это кодеры? Это кодеры? Суки, мудачьё — кодеры. PHP наустанавливали, говно жрут — пидоры, блядь, ёбаные…

    gost, 21 Октября 2015

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

    +2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    if(preg_match("/^([a-z0-9_\.-]+)@([a-z0-9_\.-]+)\.([a-z\.]{2,6})$/", urldecode($_POST['email']))){
        $email = urldecode($_POST['email']);
    }else{
        $email = '';
    }
    $email  = mysql_real_escape_string($email);
    $email  = strip_tags($email);

    Код на реальном проекте. Я когда увидел, расплакался от умиления.

    Troy, 21 Октября 2015

    Комментарии (31)
  3. 1C / Говнокод #18894

    −98

    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
    Если не ДанныеАкта.ФормироватьБухПроводку Тогда
    	Выборка = Результат[1].Выбрать();
    	Пока Выборка.Следующий() Цикл
    		СуммаВал = СуммаВал + Выборка.СуммаУслуги;
    		//тут делаем всякое с выборкой
    	КонецЦикла;
    КонецЕсли;
    
    Если ДанныеАкта.ФормироватьБухПроводку Тогда
    	//тут делаем движения по счетам БУ
    Иначе
    	тз = Результат[1].Выгрузить();
    	Для каждого стрТЗ Из тз Цикл
    		//тут делаем тоже, что и с выборкой, только теперь с таблицей значений О_о
    	КонецЦикла;
    КонецЕсли;

    Смотрю одно решение для страховых компаний, полностью на поддержке...

    HomoAlbus, 20 Октября 2015

    Комментарии (4)
  4. PHP / Говнокод #18890

    +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
    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
    function Show($aMenu, $level=0)
    	{
    		$scripts = '';
    
    		$bSubmenu = (isset($aMenu["items"]) && is_array($aMenu["items"]) && !empty($aMenu["items"])) || isset($aMenu["dynamic"]) && $aMenu["dynamic"] == true;
    		$bSectionActive = isset($aMenu["items_id"]) && (in_array($aMenu["items_id"], array_keys($this->aActiveSections)) || $this->IsSectionActive($aMenu["items_id"]));
    
    		$icon = isset($aMenu["icon"]) && $aMenu["icon"] <> ""
    			? '<span class="adm-submenu-item-link-icon '.$aMenu["icon"].'"></span>'
    //			: ($level < 1 ? '<span class="adm-submenu-item-link-icon" id="default_menu_icon"></span>' : '');
    			: '';
    		$id = 'menu_item_'.RandString(10);
    		?><div class="adm-sub-submenu-block<?=$level > 0 ? ' adm-submenu-level-'.($level+1) : ''?><?=$bSectionActive && isset($aMenu["items"]) && is_array($aMenu["items"]) && count($aMenu['items']) > 0 ? ' adm-sub-submenu-open' : ''?><?=$aMenu["_active"] ? ' adm-submenu-item-active' : ''?>"><?
    		?><div class="adm-submenu-item-name<?=!$bSubmenu ? ' adm-submenu-no-children' : ''?>" id="<?=$id?>" data-type="submenu-item"<?=isset($aMenu['fav_id']) ? ' data-fav-id="'.intval($aMenu['fav_id']).'"' : ''?>><?
    		$onclick = '';
    		if ($bSubmenu)
    		{
    			if(isset($aMenu["dynamic"]) && $aMenu["dynamic"] == true && (!$aMenu["items"] || count($aMenu["items"]) <= 0))
    			{
    				$onclick = "BX.adminMenu.toggleDynSection(".$this->_get_menu_item_width($level).", this.parentNode.parentNode, '".htmlspecialcharsbx(CUtil::JSEscape($aMenu["module_id"]))."', '".htmlspecialcharsbx(CUtil::JSEscape($aMenu["items_id"]))."', '".($level+1)."')";
    			}
    			elseif(!$aMenu["dynamic"] || !$bSectionActive || $aMenu['dynamic'] && $bSectionActive && isset($aMenu["items"]) && count($aMenu["items"]) > 0)
    			{
    				$onclick = "BX.adminMenu.toggleSection(this.parentNode.parentNode, '".htmlspecialcharsbx(CUtil::JSEscape($aMenu["items_id"]))."', '".($level+1)."')";
    			} //endif;
    		}
    
    		?><span class="adm-submenu-item-arrow"<?=$level > 0 ? ' style="width:'.$this->_get_menu_item_width($level).'px;"' : ''?><?=$onclick ? ' onclick="'.$onclick.'"' : ''?>><span class="adm-submenu-item-arrow-icon"></span></span><?
    
    		if(isset($aMenu["url"]) && $aMenu["url"] <> ""):
    			?><a class="adm-submenu-item-name-link<?=(isset($aMenu["readonly"]) && $aMenu["readonly"] == true? ' menutext-readonly':'')?>"<?=$level > 0 ? ' style="padding-left:'.$this->_get_menu_item_padding($level).'px;"' : ''?> href="<?=$aMenu["url"]?>"><?=$icon?><span class="adm-submenu-item-name-link-text"><?=$aMenu["text"]?></span></a><?
    		elseif ($bSubmenu):
    			if(isset($aMenu["dynamic"]) && $aMenu["dynamic"] == true && !$bSectionActive && (!$aMenu["items"] || count($aMenu["items"]) <= 0)):
    				?><a class="adm-submenu-item-name-link<?=(isset($aMenu["readonly"]) && $aMenu["readonly"] == true? ' menutext-readonly':'')?>"<?=$level > 0 ? ' style="padding-left:'.$this->_get_menu_item_padding($level).'px;"' : ''?> href="javascript:void(0)" onclick="BX.adminMenu.toggleDynSection(<?=$this->_get_menu_item_width($level)?>, this.parentNode.parentNode, '<?=htmlspecialcharsbx(CUtil::JSEscape($aMenu["module_id"]))?>', '<?=htmlspecialcharsbx(CUtil::JSEscape($aMenu["items_id"]))?>', '<?=$level+1?>')"><?=$icon?><span class="adm-submenu-item-name-link-text"><?=$aMenu["text"]?></span></a><?
    			elseif(!$aMenu["dynamic"] || !$bSectionActive || $aMenu['dynamic'] && $bSectionActive && isset($aMenu["items"]) && count($aMenu["items"]) > 0):
    				?><a class="adm-submenu-item-name-link<?=(isset($aMenu["readonly"]) && $aMenu["readonly"] == true? ' menutext-readonly':'')?>"<?=$level > 0 ? ' style="padding-left:'.$this->_get_menu_item_padding($level).'px;"' : ''?> href="javascript:void(0)" onclick="BX.adminMenu.toggleSection(this.parentNode.parentNode, '<?=htmlspecialcharsbx(CUtil::JSEscape($aMenu["items_id"]))?>', '<?=$level+1?>')"><?=$icon?><span class="adm-submenu-item-name-link-text"><?=$aMenu["text"]?></span></a><?
    			else:
    				?><span class="adm-submenu-item-name-link<?=(isset($aMenu["readonly"]) && $aMenu["readonly"] == true? ' menutext-readonly':'')?>"<?=$level > 0 ? ' style="padding-left:'.$this->_get_menu_item_padding($level).'px"' : ''?>><?=$icon?><span class="adm-submenu-item-name-link-text"><?=$aMenu["text"]?></span></span><?
    			endif;
    		else:
    			?><span class="adm-submenu-item-name-link<?=(isset($aMenu["readonly"]) && $aMenu["readonly"] == true? ' menutext-readonly':'')?>"<?=$level > 0 ? ' style="padding-left:'.$this->_get_menu_item_padding($level).'px"' : ''?>><?=$icon?><span class="adm-submenu-item-name-link-text"><?=$aMenu["text"]?></span></span><?
    		endif;
    		?></div><?
    
    		if(($bSubmenu || (isset($aMenu["dynamic"]) && $aMenu["dynamic"] == true)) && is_array($aMenu["items"]))
    		{
    			echo  "<div class=\"adm-sub-submenu-block-children\">";
    			foreach($aMenu["items"] as $submenu)
    			{
    				if($submenu)
    				{
    					$scripts .= $this->Show($submenu, $level+1);
    				}
    			}
    			echo "</div>";
    		}

    это между прочим метод класса CAdminPage административного интерфейса 1С Битрикс.
    Адская смесь всех вэб-технологий, от которой лопаются глаза!

    nik757, 20 Октября 2015

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

    +1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    <?php $this->widget('bootstrap.widgets.TbButton', array(
       'label' => 'Экспорт в Excel',
       'type' => 'primary',
       'url' => $this->createUrl('export'),
       'htmlOptions' => array(
       'target' => '_blank',
       'onclick' => 'jQuery(this).attr(\'href\', jQuery(this).attr(\'href\').replace(/(\?.*)?$/, \'?\' + jQuery(this).closest(\'form\').serialize()))',
       //'style' => 'float:right;',
       ),
    )); ?>

    Часто пытаюсь убедить людей, что Yii говно, но мои аргументы вечно парируют.
    Как может здоровому человеку прийти в голову идея изобрести столь долбоёбский инструмент?
    И ведь весь сраный Yii пропитан подобными высерами.

    creaturemyst, 19 Октября 2015

    Комментарии (44)
  6. JavaScript / Говнокод #18884

    +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
    function arraySearch(arr,val) {
    	for (var i=0; i<arr.length; i++){
    			if (arr[i] == val) {                    
    				return i;
    			}
    		}
       return 100;
    }
    
    if(parseInt(arraySearch(all_moods_images, change_smth)) != 100)
    {
        current_mood = change_smth;
        what_i_have_changed = "mood";
    }
    else if(parseInt(arraySearch(all_energetics_images, change_smth)) != 100)
    {
         current_energetic = change_smth;
         what_i_have_changed = "energy";
    }

    такой себе метод массива indexOf, вместо -1 возвращающий 100

    snayps, 17 Октября 2015

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

    +13

    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
    if(amount_listened >= 999999999999999999999999999)
    	{
    		soundManager.stopAll();
    		$("#left").remove();
    		$("#holder").remove();
    		//$('#banner_promo').hide();
    		$('#i_like_it_button_div').hide();
    		$('#skip_button_div').hide();
    		$('#not_new_button_div').hide();
    		$('#mood_in_the_center_of_circle').hide();
    		$('#energetic_in_the_center_of_circle').hide();
    		$('#top_mood_energy').hide();
    		$("#player_table").remove();
    		$("#mood_block").hide();
    		$("#energy_block").hide();
    		$("#myModal").modal('show');
    	}

    Это просто шикарно :)

    snayps, 17 Октября 2015

    Комментарии (0)
  8. JavaScript / Говнокод #18882

    +3

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    var all_energetics_images = new Array();
    all_energetics_images[0] = "calm";
    all_energetics_images[1] = "moderate";
    all_energetics_images[2] = "strong";
    all_energetics_images[3] = "hurricane";

    Источником для вдохновения стал один стартап в рунете, сложно было написать более чем в одну строку кода, автор сумел написать целым пять, есть подозрение, что платили не за рабочий функционал, а за строки кода

    snayps, 17 Октября 2015

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

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    <?php
    
    if ($this->user->is_phone == 1 OR $this->user->is_phone == true OR $this->user->is_phone == 'true') {
        $this->smarty->assign('is_phone', 1);
    } elseif ($this->user->is_phone == 0 OR $this->user->is_phone == false OR $this->user->is_phone == 'false') {
        $this->smarty->assign('is_phone', 0);
    }

    шедевр

    $is_phone принимает значения 0, 1 или null

    m0003r, 16 Октября 2015

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

    +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
    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
    /*дан набор целых чисел. задача: написать функцию.
     которая вернет наибольшее значение из ряда
     неделимое на заданное число. числитель указывается в виде
     порядкового номера, который равен позиции в этом же ряде.
     Позиция в ряде начинается с 1, не с 0.
     */
    do{
    	var prog="true";
    
    	var numlen, div,div0=1, nums=[], res=0, out=[];
    
    // выбор режима заполнения
    
    	var filling= confirm("Хотите заполнить числовой ряд автоматически?");
    
    	if (filling === true)
    	{   
    //определение длинны нового ряда
    	//с проверкой на нулевую длинну ряда
    	
    	do{	
    	var numlen=+((Math.random() * 10).toFixed(0)||10);
    	}
    	while(numlen===0);
    		alert("длинна числового ряда: " + numlen);
    		
    		// автоопределение данных нового ряда
    	for (numlenI = 0;numlenI < numlen;numlenI++)
    	{
    		nums[numlenI] = +((Math.random() * 10).toFixed(0)||"10");
    		alert(nums);
    	};
    
    	}
    	else  // ручное определение данных ряда
    	{
    // что будет. если нажать cancel?
    		nums= ((prompt("Введите новый ряд целых чисел")) || "1");
    		alert("длинна числового ряда: " + nums.length);
    	};
    
    	
    	/*варианты добавления: 
    	 1) добавить подциклы if с alert'ами в виде
    	 //вертикального меню
    	 
    	 */
    	//выбираем порядковый номер числителя с валидатором
    	do {
    		div0 = Number((prompt("Задайте порядковый номер числителя из ряда", 1))||1);
    		var control=0;
    		if(div0<1||div0>numlen||isNaN(div0)){
    			alert("Нужно ввести в пределах диапазона ряда");
    		}
    		else control=1;
    	}
    	while ( control===0);
    	// проверяем деление на ноль
    	do{
    		control=0;
    		
    		if(nums[div0-1]===0){
    			div0=+prompt("Задайте другой порядковый номер числителя");
    		}
    		else{
    		control=1;
    		div = (nums[div0 - 1]);
    		}
    		
    	}
    	while(control===0);
    	
    	
    	
    //заносим неделемы числа
    	alert(" числитель: " + div);
    	for (i = 0;i < nums.length;i++)
    	{
    		if (nums[i] % +div != 0)
    		{
    			out.push(+nums[i]);
    		}
    	};
    
    
    //вычисляем наибольшее значение с валидаторами
    
    res=Math.max.apply(null,out);
    	if(isNaN(res)){
    		alert(div);
    		alert("Делятся все числа \n или что-то пошло не так");
    	}
    	else alert("наибольшее неделимое число из ряда: " + res);
    	prog = confirm("хотите продолжить?");
    } while(prog === true);
    
    alert("Спасибо за тестирование программы 8-) ®©");

    Прошу обливать кодец критикой. Как уменьшить это ковно? Код писался намеренно без использования обьектов, функций и рег выражений. Вся лажа в процессе изучения.

    Neopolitan, 16 Октября 2015

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