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

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

    +159

    1. 1
    2. 2
    <button type="submit"  method="post" action="/vote-positive" class="like" name="<?=$model->numb_positive?>"></button>
                        <button type="submit"  method="post" action="vote-negative" class="dizlike" name="<?=$model->numb_positive?>"></button>

    Попытка обработать нажатие на кнопку - для системы рейтинга.

    qstd, 13 Марта 2015

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

    +159

    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
    jQuery('#btn-submit-calck').on('click',function () {
     var GDO = jQuery('#GDO').val().replace(',', '.');
     var GAZ = jQuery('#GAZ').val().replace(',', '.');
     var BENZIN = jQuery('#BENZIN').val().replace(',', '.');
     var ROZHOD = jQuery('#ROZHOD').val().replace(',', '.');
     var PROBEG = jQuery('#PROBEG').val().replace(',', '.');
     var RESULT = ((GDO * 100)/((BENZIN-GAZ*1.1)*ROZHOD*PROBEG));
     jQuery('#RESULTO').text(Math.round(RESULT));
     jQuery('#EKONOM').text(Math.round(((BENZIN-GAZ*1.1)*ROZHOD*PROBEG)/100));
     jQuery('#1GOD').text(Math.round((((BENZIN-GAZ*1.1)*ROZHOD*PROBEG)/100)*365));
     
     return false;
    });

    talam0nal, 13 Марта 2015

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

    +159

    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
    if (!isset($_GET['outbox']) and !isset($_GET['deleted']) and !isset($_GET['verification'])){
    				$res2 = mysql_query("SELECT l.* FROM letters l LEFT JOIN `customers` ct ON ct.id=l.from_user WHERE l.deleted<>1 AND ct.`Sex` = 'male' {$addon_sql} ORDER BY l.time_insert DESC");
    				for($arr=array(); $t = mysql_fetch_assoc($res2); $arr[]=$t);
    
    				smarty_put_var('zagolovok', 'Входящие письма');
    		}
    
    		if (isset($_GET['verification'])) {
    		$res2 = mysql_query("SELECT * FROM `letters` where `deleted` != 1 AND `checked` = 'N' {$addon_sql} order by `time_insert` DESC");
    		for($arr = array(); $t = mysql_fetch_assoc($res2); $arr[] = $t);
    
    		smarty_put_var('zagolovok', 'Ожидающие проверку');
    		}
    
    		if (isset($_GET['outbox'])) {
        	$res2 = mysql_query("SELECT l.* FROM `letters` l
    		    	LEFT JOIN `customers` ct ON ct.`id`=l.from_user
    		    	WHERE l.deleted != 1 AND ct.`Sex` = 'female' {$addon_sql}
    		    	ORDER BY l.time_insert DESC LIMIT 200");
    		    	for ($arr = array(); $t = mysql_fetch_assoc($res2); $arr[]=$t);
    
    		    	smarty_put_var('zagolovok', 'Исходящие письма');
    		}
    
    		    	if (isset($_GET['deleted'])){
        	$res2 = mysql_query("SELECT * FROM `letters` WHERE `deleted` = 1
    		    	{$addon_sql} ORDER BY `time_insert` DESC");
    		    	for($arr=array(); $t=mysql_fetch_assoc($res2); $arr[]=$t);
    
    		    	smarty_put_var('deleted', true);
    		    	smarty_put_var('zagolovok', 'Удаленные письма');
    		    	}
    
    		    	$letters = array_slice($arr, $first, $limit);
    
    		foreach ($letters as &$letter) {
    			$letter['from_user_details'] = Model_Table_Customers::model()
    				->fetchByPk($letter['from_user']);
    			$letter['to_user_details'] = Model_Table_Customers::model()
    				->fetchByPk($letter['to_user']);
    		}
    
    if (isset($_GET['outbox'])){smarty_put_var('pages', pages_admin("?module=admin_letters&outbox&page=", $arr, $page, $limit)); smarty_put_var('type', 'outbox');}
    elseif (isset($_GET['verification'])){smarty_put_var('pages', pages_admin("?module=admin_letters&verification&page=", $arr, $page, $limit)); smarty_put_var('type', 'verification');}
    elseif (isset($_GET['deleted'])){smarty_put_var('pages', pages_admin("?module=admin_letters&deleted&page=", $arr, $page, $limit)); smarty_put_var('type', 'deleted');}
    else {smarty_put_var('pages', pages_admin("?module=admin_letters&page=", $arr, $page, $limit)); smarty_put_var('type', '');}
    
    ...
    
    function pages_admin($link, $arr, $page, $vis)
    {
        $radius=4;
        $pages=floor(count($arr)/$vis);
        $return="";
        $str='<table cellpadding="0" cellspacing=3 border="0">
        <tr><td height=7></td></tr>
        <tr>';
    
        if ($pages > 1) {
            $first = 'First';
            $prev = 'Prev';
            $next = 'Next';
            $last = 'Last';
    
            if($page<$radius*2){
               .....
          трэшак в том же духе

    Очередной шедевр с сохранением авторского стиля и табуляции. Это подготовка для smarty представления таблицы с постраничной разбивкой. Возможны 4 типа писем - 4 вкладки. pages_admin() - возвращает пагинатор в виде готового html кода.

    Клиент жаловался, что страница сильно тормозит. Там более 150 000 писем. Я догадывался, что код можно чутка оптимизирвоать, но не думал, что существенно. А когда посмотрел вижу - п-ц ))) Интересно насколько получить ускорить?

    stechkh, 01 Марта 2015

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

    +159

    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
    public function get_from_text($text){ 
          foreach($text as $x){ 
            $a = array('A', '?', 'A', '?', '?', '?', '?', 'C', 'E', 'E', 'E', 'E', '?', '?', 'I', 'I', '?', '?', '?', '?', 'O', '?', '?', '?', 'U', '?', 'U', 'U', '?', '?', 'à', '?', 'â', '?', '?', '?', '?', 'ç', 'è', 'é', 'ê', 'ë', '?', '?', 'î', 'ï', '?', '?', '?', 'ô', '?', '?', '?', 'ù', '?', 'û', 'ü', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', 'Œ', 'œ', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', 'ƒ', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?'); 
            $b = array('A', 'A', 'A', 'A', 'A', 'A', 'AE', 'C', 'E', 'E', 'E', 'E', 'I', 'I', 'I', 'I', 'D', 'N', 'O', 'O', 'O', 'O', 'O', 'O', 'U', 'U', 'U', 'U', 'Y', 's', 'a', 'a', 'a', 'a', 'a', 'a', 'ae', 'c', 'e', 'e', 'e', 'e', 'i', 'i', 'i', 'i', 'n', 'o', 'o', 'o', 'o', 'o', 'o', 'u', 'u', 'u', 'u', 'y', 'y', 'A', 'a', 'A', 'a', 'A', 'a', 'C', 'c', 'C', 'c', 'C', 'c', 'C', 'c', 'D', 'd', 'D', 'd', 'E', 'e', 'E', 'e', 'E', 'e', 'E', 'e', 'E', 'e', 'G', 'g', 'G', 'g', 'G', 'g', 'G', 'g', 'H', 'h', 'H', 'h', 'I', 'i', 'I', 'i', 'I', 'i', 'I', 'i', 'I', 'i', 'IJ', 'ij', 'J', 'j', 'K', 'k', 'L', 'l', 'L', 'l', 'L', 'l', 'L', 'l', 'l', 'l', 'N', 'n', 'N', 'n', 'N', 'n', 'n', 'O', 'o', 'O', 'o', 'O', 'o', 'OE', 'oe', 'R', 'r', 'R', 'r', 'R', 'r', 'S', 's', 'S', 's', 'S', 's', 'S', 's', 'T', 't', 'T', 't', 'T', 't', 'U', 'u', 'U', 'u', 'U', 'u', 'U', 'u', 'U', 'u', 'U', 'u', 'W', 'w', 'Y', 'y', 'Y', 'Z', 'z', 'Z', 'z', 'Z', 'z', 's', 'f', 'O', 'o', 'U', 'u', 'A', 'a', 'I', 'i', 'O', 'o', 'U', 'u', 'U', 'u', 'U', 'u', 'U', 'u', 'U', 'u', 'A', 'a', 'AE', 'ae', 'O', 'o'); 
            $x= str_replace($a, $b, $x); 
            $x= str_replace("!", "", $x);$x= str_replace("@", "", $x);$x= str_replace("#", "", $x); 
            $x= str_replace("$", "", $x);$x= str_replace("%", "", $x);$x= str_replace("^", "", $x); 
            $x= str_replace("&", "", $x);$x= str_replace("*", "", $x);$x= str_replace("(", "", $x); 
            $x= str_replace(")", "", $x);$x= str_replace("-", "", $x);$x= str_replace("_", "", $x); 
            $x= str_replace("=", "", $x);$x= str_replace("+", "", $x);$x= str_replace("+", "", $x); 
            $x= str_replace("nbsp;", "", $x);$x= str_replace(";", "", $x);$x= str_replace(".", "", $x); 
            $x= str_replace("{", "", $x);$x= str_replace("[", "", $x);$x= str_replace("]", "", $x); 
            $x= str_replace("}", "", $x);$x= str_replace(":", "", $x);$x= str_replace("'", "", $x); 
            $x= str_replace("\"", "", $x);$x= str_replace(",", "", $x);$x= str_replace("<", "", $x); 
            $x= str_replace("\\", "", $x);$x= str_replace("?", "", $x);$x= str_replace(">", "", $x); 
            $x= str_replace("/0-9/", "", $x);$x= str_replace("?", "", $x);$x= str_replace(">", "", $x); 
            $x=trim(str_replace(range(0,9),'',$x));$x=explode(" ",$x); 
                    $vok[]=$x; 
          } 
          return $vok; 
    }

    http://www.phpclasses.org/package/8932-PHP-Filter-text-to-remove-non-SEO-friendly-characters.html#view_files/files/57793

    shilgen, 01 Марта 2015

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

    +159

    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
    <p>
                    <script>// <![CDATA[
                        if (navigator.appVersion.indexOf("Win") != -1) {
                            document.getElementById("windows").style.display = "inline";
                        } else if (navigator.appVersion.indexOf("Mac") != -1) {
                            document.getElementById("osx").style.display = "inline";
                        } else if (navigator.appVersion.indexOf("Linux") != -1) {
                            document.getElementById("linux").style.display = "inline";
                        } else {
                            document.getElementById("windows").style.display = "inline";
                            document.getElementById("osx").style.display = "inline";
                            document.getElementById("linux").style.display = "inline";
                        }
                        // ]]&gt;</script>
                </p>

    Недавно один Java-pазработчик не смог разобраться, как пофиксеть баг в WordPress и решил переписать наш корпоративный сайт на Java мотивируя это тем, что будет намного легче поддерживать и развивать новую ситсему. Что из этого получилось видно на наглядном примере js-кода в верстке.

    etual, 27 Февраля 2015

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

    +159

    1. 1
    if (strlen($PARAM)<=0) $PARAM = " class=\"inputselect\" ";

    Если длинна строки меньше нуля? Битрикс, ты серьёзно?

    Happinness_Cookie, 27 Февраля 2015

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

    +159

    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
    define([ "t5/core/dom" ], function(dom) {
    	return function() {
    		dom.scanner("select,input[type=text]", function(el) {
    			el.on("focus", function(e) {
    				var focusholder = this.findParent("form").find("input.focusholder");
    				if (focusholder.length)
    					focusholder[0].element.value = el.element.id;
    				el.element.select();
    			});
    		});
    		dom.scanner("select,input[type=text]", function(el) {
    			el.on("change", function(e) {
    				var form = this.findParent("form");
    				var submit = form.find("input[type=submit]");
    				if (submit.length)
    					submit[0].element.disabled = "disabled";
    				setTimeout(function() {form.trigger("submit");}, 1);
    			});
    		});
    		dom.scanner("input[type=checkbox],input[type=radio]", function(el) {
    			el.on("click", function(e) {
    				return this.findParent("form").trigger("submit");
    			});
    		});
    		dom.scanner("form", function(el) {
    			el.on("submit", function(e) {
    				var form=this;
    				setTimeout(function() {
    					var children = form.find("select,input[type=text],input[type=checkbox],input[type=radio]");
    					if (children.length)
    						for(var i=0;i<children.length;i++)
    							children[i].element.readOnly = "readOnly";
    					var submit = form.find("input[type=submit]");
    					if (submit.length)
    						submit[0].element.disabled = "disabled";
    				}, 1);
    			});
    		});
    		return dom;
    	};
    });

    код превращается, код превращается... в говно!

    Lure Of Chaos, 13 Февраля 2015

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

    +159

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    null != localStorage.getItem("lock") && "2" == localStorage.getItem("lock") &&
        ($(".up_link").css("bottom", 0), $(".popular").removeClass("open")),
        e.find(".door").on("click", function() {
            return "2" == localStorage.getItem("lock") ?
                ($(".up_link").css("bottom", 80), e.addClass("open"),
                    localStorage.setItem("lock", "1")) :
                ($(".up_link").css("bottom", 0), e.removeClass("open"),
                    localStorage.setItem("lock", "2")), !1
        });

    Пример кода с echo.msk.ru

    Vnr, 13 Февраля 2015

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

    +159

    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
    function build_period($crews){
    	global $start_time, $end_time, $memc;
    	cache_smens();
    	//Добавление смен и исключений
    	foreach ($crews as $k => $v){
    		$re1 = @$memc->get($v['ID']);
    		if (is_array($re1)){
    			foreach ($re1 as $v1){
    				$crews[$k]['sm'][] = $v1;
    			}
    		}
    		$re2 = get_exception($v);
    		foreach ($re2 as $v2){
    			$crews[$k]['sm'][] = $v2;
    		}
    	}
    
    	$flags = array();
    	foreach ($crews as $v){//Если есть смена
    		if (isset($v['sm'])){
    			$flags[$v['ID']] = array();
    			//Генерируем флаги
    			//Есть смена - false, иначе если эту минуту надо замерять - true
    			for ($i = $start_time; $i <= $end_time; $i = $i + (60)){
    				if (!isset($flags[$v['ID']][$i])){
    					$flags[$v['ID']][$i] = true;
    				}
    				foreach ($v['sm'] as $v1){
    					if ($i >= $v1['begin'] && $i <= $v1['end']){
    						$flags[$v['ID']][$i] = false;
    					}
    				}
    			}
    		}
    		else{
    			//Если смены нет забъем массив труями.
    			for ($i = $start_time; $i <= $end_time; $i = $i + (60)){
    				if (!isset($flags[$v['ID']][$i])){
    					$flags[$v['ID']][$i] = true;
    				}
    			}
    		}
    	}
    
    
    	$xor_per = array();
    	foreach ($flags as $k => $v){
    		$l1 = 0;
    		$l2 = 0;
    		foreach ($flags[$k] as $k1 => $v1){
    			/**
    			 * На основе флагов генерируем ключи старта - конца замера.
    			 *
    			 * Если не установлен предыдущий флаг или предыдущий флаг - смена
    			 *  и текущий флаг - True, смены нет, ставим отметку начала периода
    			 */
    			if ((!isset($flags[$k][$k1 - 60]) || !$flags[$k][$k1 - 60]) && $v1){
    				$xor_per[$k][$l1]['begin'] = $k1;
    				$l1++;
    			}
    			/**
    			 * Если следующий флаг false или неустановлен и текущий true
    			 * ставим отметку конца смены.
    			 */
    			if ((!isset($flags[$k][$k1 + 60]) || !$flags[$k][$k1 + 60]) && $v1){
    				/**
    				 * Если время в итерации равно времени конца суток
    				 *  укажем концом периода замера конец суток
    				 *  иначе нахерато добавим минуту
    				 */
    				$xor_per[$k][$l2]['end'] = $k1 == $end_time ? $end_time : $k1 + 60;
    				$l2++;
    			}
    		}
    
    		#need вкурить что я тут написал
    		if (isset($xor_per[$k])){
    			$crews[$k]['ps'] = $xor_per[$k];
    		}else{
    			//Если целые сутки смена
    			unset($crews[$k]);
    		}
    		unset($flags[$k]);
    	}
    
    	return $crews;
    }

    "Вот жопой чую, можно было сделать проще"

    Rijen, 12 Февраля 2015

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

    +159

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    function resort($a){
        $res=mysql_query("select * from image where id_gal='".$a."' order by position");
        for ($q=array(); $w=mysql_fetch_assoc($res); $q[]=$w);
        for ($i=0; $i<count($q); $i++){mysql_query("delete from image where id='".$q[$i]['id']."'");}
        for ($i=0; $i<count($q); $i++){
        static $e=1;
            $res="INSERT INTO `image` ( `id` , `id_gal` , `user_id`, `file` , `podp` , `position`, `status` )
                    VALUES ('".$q[$i]['id']."', '".$q[$i]['id_gal']."', '".$q[$i]['user_id']."', '".$q[$i]['file']."', '".$q[$i]['podp']."', '".($e++)."', '".$q[$i]['status']."')";
            mysql_query($res);
        }
    }

    Сортируем фото после удаления одного из них. Зачем то нужен непрерывный position

    stechkh, 07 Февраля 2015

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