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

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

    +1

    1. 1
    https://github.com/ruby/ruby/blob/trunk/parse.y

    Как распарсить Руби код.

    wvxvw, 25 Сентября 2017

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

    +2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    Lemma use_prop_equality : forall {X} (f : X -> Prop) a b,
        a = b -> f a -> f b.
    Proof.
      intros X f a b He Ha.
      destruct He. apply Ha.
    Qed.

    Тактика rewrite не нужна.

    CHayT, 12 Августа 2017

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

    −10

    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
    Функция РазностьДатВДнях(Дата1, Дата2, ВключаяГраницы = Истина)
    	
    	Результат = ?(ВключаяГраницы, 1, 0);
    	Если Дата1 < Дата2 Тогда
    		ТекущаяДата = НачалоДня(Дата1);
    		ДатаОкончания = НачалоДня(Дата2);
    	Иначе
    		ТекущаяДата = НачалоДня(Дата2);
    		ДатаОкончания = НачалоДня(Дата1);
    	КонецЕсли;
    	Пока ТекущаяДата < ДатаОкончания Цикл
    		ТекущаяДата = НачалоДня(ТекущаяДата + 24 * 60 * 60);
    		Результат = Результат + 1;
    	КонецЦикла;
    	Возврат Результат;
    
    КонецФункции

    можно тремя строками заменить:
    ДатаНачала = Мин(НачалоДня(Дата1), НачалоДня(Дата2));
    ДатаОкончания = Макс(НачалоДня(Дата1), НачалоДня(Дата2));
    Возврат ?(ВключаяГраницы, 1, 0) + (ДатаОкончания - ДатаНачала) / 86400

    noncode, 17 Апреля 2017

    Комментарии (14)
  5. 1C / Говнокод #20492

    −207

    1. 1
    https://www.youtube.com/watch?feature=player_embedded&v=fhWhb88GsL4

    3_14dar, 08 Августа 2016

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

    +3

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    $exceptionClass = '\yii\db\Exception';
    foreach ($this->exceptionMap as $error => $class) {
        if (strpos($e->getMessage(), $error) !== false) {
            $exceptionClass = $class;
        }
    }
    ...
    return new $exceptionClass($message, $errorInfo, (int) $e->getCode(), $e);

    Yii <3

    https://github.com/yiisoft/yii2/blob/master/framework/db/Schema.php#L625-L633

    Fike, 27 Июля 2016

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

    +7

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    function redirect($url)
    {
    	header('Location:'.$url);
    	echo '<script>document.location.href = \''.$url.'\';</script>';
    	exit;
    }

    eskrano, 24 Июля 2016

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

    −3

    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
    <?php
    
    if(!class_exists('avia_breadcrumb'))
    {
    	class avia_breadcrumb
    	{
    		var $options;
    
    	function __construct($options = ""){
    
    		$this->options = array( 	//change this array if you want another output scheme
    		'before' => '<span class="arrow"> ',
    		'after' => ' </span>',
    		'delimiter' => '&raquo;'
    		);
    
    		if(is_array($options))
    		{
    			$this->options = array_merge($this->options, $options);
    		}
    
    
    		$markup = $this->options['before'].$this->options['delimiter'].$this->options['after'];
    
    		global $post;
    		echo '<p class="breadcrumb"><span class="breadcrumb_info">'.__('You are here:','avia_framework').'</span> <a href="'.get_bloginfo('url').'">';
    			bloginfo('name');
    			echo "</a>";
    			if(!is_front_page()){echo $markup;}
    
    			$output = $this->simple_breadcrumb_case($post);
    
    			echo "<span class='current_crumb'>";
    			if ( is_page() || is_single()) {
    			the_title();
    			}else{
    			echo $output;
    			}
    			echo " </span></p>";
    		}
    
    		function simple_breadcrumb_case($der_post)
    		{
    			global $post;
    
    			$markup = $this->options['before'].$this->options['delimiter'].$this->options['after'];
    			if (is_page()){
    				 if($der_post->post_parent) {
    					 $my_query = get_post($der_post->post_parent);
    					 $this->simple_breadcrumb_case($my_query);
    					 $link = '<a href="';
    					 $link .= get_permalink($my_query->ID);
    					 $link .= '">';
    					 $link .= ''. get_the_title($my_query->ID) . '</a>'. $markup;
    					 echo $link;
    				  }
    			return;
    			}
    
    		if(is_single())
    		{
    			$category = get_the_category();
    			if (is_attachment()){
    
    				$my_query = get_post($der_post->post_parent);
    				$category = get_the_category($my_query->ID);
    
    				if(isset($category[0]))
    				{
    					$ID = $category[0]->cat_ID;
    					$parents = get_category_parents($ID, TRUE, $markup, FALSE );
    					if(!is_object($parents)) echo $parents;
    					previous_post_link("%link $markup");
    				}
    
    			}else{
    
    				$postType = get_post_type();
    
    				if($postType == 'post')
    				{
    					$ID = $category[0]->cat_ID;
    					echo get_category_parents($ID, TRUE, $markup, FALSE );
    				}
    				else if($postType == 'portfolio')
    				{
    					$terms = get_the_term_list( $post->ID, 'portfolio_entries', '', '$$$', '' );
    					$terms = explode('$$$',$terms);
    					echo $terms[0].$markup;
    
    				}
    			}
    		return;
    		}

    Собственно вся суть, 2а раза генерируются, смотрел в функшин где написан код, все чисто, но все равно 2а раза генерируется

    Получается грубо говоря:

    You here: Home / <b>Hello world</b> / %category% / <b>Hello world</b>

    Не могли бы помочь. Или куда смотреть, был бы благодарен.

    olee444, 21 Июля 2016

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

    +6

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    $redir_url = $_conf['www_patch'].str_replace("//////","/",$path[0]);
    	$redir_url = $_conf['www_patch'].str_replace("/////","/",$path[0]);
    	$redir_url = $_conf['www_patch'].str_replace("////","/",$path[0]);
    	$redir_url = $_conf['www_patch'].str_replace("///","/",$path[0]);
    	$redir_url = $_conf['www_patch'].str_replace("//","/",$path[0]);

    Ну ниасилили ребята регулярки...

    Lblss, 07 Июля 2016

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

    −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
    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
    99. 99
    <div class='min_content'>
    <?php
    $query_search = '`janr` LIKE "%'.$tip.'%" AND `xarakter_filma` LIKE "%'.$xar.'%" AND `detail_janr` LIKE "%'.$det.'%"';
      $num = 12;
    // Извлекаем из URL текущую страницу
        $page = (int)$_GET['page'];               
    // Определяем общее число сообщений в базе данных
    $count = "SELECT COUNT(*) FROM kino WHERE $query_search";
    $ardyunq = $db->query($count);
    $temp = $ardyunq->fetch(PDO::FETCH_NUM);;
    If ($temp[0] > 0)
    {  
    $tempcount = $temp[0];
    // Находим общее число страниц
    $total = (($tempcount - 1) / $num) + 1;
    $total =  intval($total);
    // Определяем начало сообщений для текущей страницы
    $page = intval($page);
    // Если значение $page меньше единицы или отрицательно
    // переходим на первую страницу
    // А если слишком большое, то переходим на последнюю
    if(empty($page) or $page < 0) $page = 1;
      if($page > $total) $page = $total;  
    // Вычисляем начиная с какого номера
    // следует выводить сообщения
    $start = $page * $num - $num;
    // Выбираем $num сообщений начиная с номера $start
    $qury_start_num = " LIMIT $start, $num"; 
    }  
        $query_search = '`janr` LIKE "%'.$tip.'%" AND `xarakter_filma` LIKE "%'.$xar.'%" AND `detail_janr` LIKE "%'.$det.'%"';
    $sql = "SELECT * FROM kino WHERE $query_search ORDER BY god DESC $qury_start_num";
    $result = $db->query($sql); 
    $rows = $result->fetch(PDO::FETCH_ASSOC);
    if(count($rows) > 0){
    while($row = $result->fetch(PDO::FETCH_ASSOC)) {
         echo "
    <div class='kino'>
    <div class='tkt'>
      <h2 class='namm'><a class='linka' href='index.film.php?id={$row['id']}'>{$row['title']}</a></h2>
      <p class='ab'><span class='tt'>Год:</span> {$row['god']}</p>
      <p class='ab'><span class='tt'>Страна:</span> {$row['country']}</p>
      <p class='ab'><span class='tt'>Жанр:</span> {$row['janr_text']}</p>
      <p class='ab'><span class='tt'>Режиссер:</span> {$row['rezhiser']}</p>
      <p class='ab'><span class='tt'>Краткое описание:</span></p>
      <div class='infoner'>{$row['mini_description']}</div>
      </div>  
     <div class='pick'>
    <a class='link1' href='index.film.php?id={$row['id']}'>{$row['images']}</a>
    <div class='ocenka'>
    <span class='rati'>IMDb :</span><span class='rat'> {$row['imdb']}</span></br>
    <span class='rati'>КиноПоиск :</span><span class='rat'> {$row['kinopoisk']}</span>
    </div>
    </div>
    </div> 
           ";     
    }
    }
    else{
        echo"
        <p class='no_result'>Нет результатов, попробуйте еще!!!</p>
        <div class=''><img src='/images/minion.jpg' /></div>    
        ";    
    };
    ?>
    <?php
    if ($page != 1){ $pstr_prev = '<li><a class="pstr-prev" href="index-search_select_dop.php?xar='."$xar".'&tip='."$tip".'&det='."$det".'&page='.($page - 1).'">&lt;</a></li>';}
    if ($page != $total) $pstr_next = '<li><a class="pstr-next" href="index-search_select_dop.php?xar='."$xar".'&tip='."$tip".'&det='."$det".'&page='.($page + 1).'">&gt;</a></li>';
    // Находим две ближайшие станицы с обоих краев, если они есть
    if($page - 3 > 0) $page3left = '<li><a href="index-search_select_dop.php?xar='."$xar".'&tip='."$tip".'&det='."$det".'&page='.($page - 3).'">'.($page - 3).'</a></li>';
    if($page - 2 > 0) $page2left = '<li><a href="index-search_select_dop.php?xar='."$xar".'&tip='."$tip".'&det='."$det".'&page='.($page - 2).'">'.($page - 2).'</a></li>';
    if($page - 1 > 0) $page1left = '<li><a href="index-search_select_dop.php?xar='."$xar".'&tip='."$tip".'&det='."$det".'&page='.($page - 1).'">'.($page - 1).'</a></li>';
    if($page + 6 <= $total) $page6right = '<li><a href="index-search_select_dop.php?xar='."$xar".'&tip='."$tip".'&det='."$det".'&page='.($page + 6).'">'.($page + 6).'</a></li>';
    if($page + 5 <= $total) $page5right = '<li><a href="index-search_select_dop.php?xar='."$xar".'&tip='."$tip".'&det='."$det".'&page='.($page + 5).'">'.($page + 5).'</a></li>';
    if($page + 4 <= $total) $page4right = '<li><a href="index-search_select_dop.php?xar='."$xar".'&tip='."$tip".'&det='."$det".'&page='.($page + 4).'">'.($page + 4).'</a></li>';
    if($page + 3 <= $total) $page3right = '<li><a href="index-search_select_dop.php?xar='."$xar".'&tip='."$tip".'&det='."$det".'&page='.($page + 3).'">'.($page + 3).'</a></li>';
    if($page + 2 <= $total) $page2right = '<li><a href="index-search_select_dop.php?xar='."$xar".'&tip='."$tip".'&det='."$det".'&page='.($page + 2).'">'.($page + 2).'</a></li>';
    if($page + 1 <= $total) $page1right = '<li><a href="index-search_select_dop.php?xar='."$xar".'&tip='."$tip".'&det='."$det".'&page='.($page + 1).'">'.($page + 1).'</a></li>';
    if ($page+7 < $total)
    {
        $strtotal = '<li><p class="nav-point">...</p></li><li><a href="index-search_select_dop.php?xar='."$xar".'&tip='."$tip".'&det='."$det".'&page='.$total.'">'.$total.'</a></li>';
    }else
    {
        $strtotal = ""; 
    }
    
    if ($total > 1)
    {
        echo '
        <div class="pstrnave">
        <ul style="margin-left: -11px;">
        ';
        echo $pstr_prev.$page3left.$page2left.$page1left."<li><a class='pstr-active' href='index-search_select_dop.php?xar='.$xar.'&tip='.$tip.'&det='.$det.'&page=".$page."'>".$page."</a></li>".$page1right.$page2right.$page3right.$page4right.$page5right.$page6right.$strtotal.$pstr_next;
        echo '
        </ul>
        </div>
        ';   
    }    
    ?>
    </div>

    оригинал - https://toster.ru/q/331671

    loki90, 27 Июня 2016

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

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    public function getAllParentCategories($category_id,&$parents = array()) {
    	$parent_id = $this->db->query("SELECT parent_id FROM " . DB_PREFIX . "category WHERE category_id = '" . (int)$category_id . "'")->row['parent_id'];
    	if ($parent_id == 0)
    		return $parents;
    	else {
    		$parents[] = $parent_id;
    		return $this->getAllParentCategories($parent_id,$parents);
    	}
    }

    рекурсивная функция с sql запросом, что может быть лучше?

    php73, 07 Июня 2016

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